BOOL SetDeviceID(HANDLE device,char *id){//
char data[2];
data[0]=0x02;
data[1]=0x27;
DWORD dwPtr=SetFilePointer(device,0x33,//distance
NULL,//
FILE_BEGIN);
if(dwPtr==INVALID_SET_FILE_POINTER) cout<<GetLastError()<<endl;
BOOL result=WriteFile(device,data,2,NULL,NULL);
//cout<<GetLastError()<<endl;
if(result==false)cout<<"Fail WRITE "<<endl;
return TRUE;
}
HANDLE GetDeviceHandle(char *path){
HANDLE handle= CreateFile(LPCSTR(path),
GENERIC_ALL,//
0,
NULL,
OPEN_EXISTING,
NULL,
NULL);
if(handle==INVALID_HANDLE_VALUE){
cout<<"fail to createfile()"<<endl;
exit(1);
}
else return handle;
}
這是我作品的一些代碼。爲什麼它失敗SetFilePointer()?
我要讀/寫,直接設備(USB)
上的ReadFile()的情況下,它是成功的。
不過,我曾試圖打電話給SetFilePointer
但是GetLastError函數返回87.這意味着無效的輸入
問題是什麼?在我的代碼
不久的CreateFile,ReadFile的是確定,但SetFilePointer和WriteFile失敗
什麼是'設備',你從哪裏得到它?你的代碼看起來沒有足夠的相關性和乾淨。 –
設備來自main() 請假設HANDLE參數有效。 我已經用ReadFile() – user1829967
檢查過這個值設備是一個驅動器? –