ReadBinaryData => Invalid data type |
尚未結案
|
blk5743
高階會員 發表:34 回覆:371 積分:236 註冊:2003-11-17 發送簡訊給我 |
if ( Registry->OpenKeyReadOnly("SYSTEM\\MountedDevices") == true ) { char BinData[1000],Device[15]; strcpy(Device,"\\DosDevices\\D:"); unsigned short BinSize=Registry->GetDataSize(Device); for ( Label = 'D'; Label < 'O'; Label++ ) { Device[12] = Label; ZeroMemory(BinData,sizeof(BinData)); Registry->ReadBinaryData(Device,BinData,BinSize); } }有時候會出現下圖 此裝置為光碟機,而且不是每次都會有問題 請問各位前輩有何看法 |
jow
尊榮會員 發表:66 回覆:751 積分:1253 註冊:2002-03-13 發送簡訊給我 |
if ( Registry->OpenKeyReadOnly("SYSTEM\\MountedDevices") == true ) { char BinData[1000],Device[15]; strcpy(Device,"\\DosDevices\\D:"); unsigned short BinSize=Registry->GetDataSize(Device); for ( Label = 'D'; Label < 'O'; Label ) { Device[12] = Label; ZeroMemory(&BinData,sizeof(BinData)); Registry->ReadBinaryData(Device,&BinData,BinSize); } } |
blk5743
高階會員 發表:34 回覆:371 積分:236 註冊:2003-11-17 發送簡訊給我 |
|
jow
尊榮會員 發表:66 回覆:751 積分:1253 註冊:2002-03-13 發送簡訊給我 |
|
jow
尊榮會員 發表:66 回覆:751 積分:1253 註冊:2002-03-13 發送簡訊給我 |
|
blk5743
高階會員 發表:34 回覆:371 積分:236 註冊:2003-11-17 發送簡訊給我 |
|
jow
尊榮會員 發表:66 回覆:751 積分:1253 註冊:2002-03-13 發送簡訊給我 |
我實作了一下, 發現如果 BinSize 小於 儲存在Registry中的資料數 就會發生這個問題,但是程式碼中有去Call GetDataSize(),那麼有可 能是當BinSize = -1時造成的.並且 BinSize=Registry->GetDataSize(Device); 應移到for loop 內應較為合理. unsigned short BinSize; strcpy(Device,"\\DosDevices\\D:"); Device[14]='\0'; for ( Label = 'D'; Label < 'O'; Label ) { if((BinSize=Registry->GetDataSize(Device))>-1) { Device[12] = Label; ZeroMemory(&BinData,sizeof(BinData)); Registry->ReadBinaryData(&Device,BinData,BinSize); } } |
jow
尊榮會員 發表:66 回覆:751 積分:1253 註冊:2002-03-13 發送簡訊給我 |
更正!
unsigned short BinSize; strcpy(Device,"\\DosDevices\\D:"); Device[14]='\0'; for ( Label = 'D'; Label < 'O'; Label ) { Device[12] = Label; ZeroMemory(&BinData,sizeof(BinData)); if((BinSize=Registry->GetDataSize(Device))>-1) Registry->ReadBinaryData(&Device,BinData,BinSize); }Sorry! 因手邊只有Delphi, 沒有BCB. |
blk5743
高階會員 發表:34 回覆:371 積分:236 註冊:2003-11-17 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |