線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1038
推到 Plurk!
推到 Facebook!

用IDE排線及USB 介面控制光碟機問題

尚未結案
Sarick
一般會員


發表:14
回覆:19
積分:6
註冊:2004-01-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-02-03 23:08:49 IP:218.174.xxx.xxx 未訂閱
     各位前輩,       小弟有一是想要請教,就是小弟用IDE排線及USB 介面控制光碟機可是USB正常但是用IDE確不正常,可是所有的中斷點結取的數值卻一模一樣,是不是有小弟沒有注意到的地方,謝謝各位前輩指點!!    程式如下 :    Ale Sarick            BYTE temp[512];         SCSI_PASS_THROUGH_DIRECT_WITH_BUFFER sptdwb;          char  bDeviceName[20];         char  j;         BOOL status = 0;         ULONG length = 0, returned = 0;            strcpy(bDeviceName,"?:");         bDeviceName[0] = DeviceID;                         strcpy(buffer,"\\\\.\\");                          strcat(buffer,bDeviceName);                         hSCSIDevice0 = CreateFile(TEXT(buffer), GENERIC_READ | GENERIC_WRITE,                                 FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING,0,                    NULL);                         if(hSCSIDevice0 != INVALID_HANDLE_VALUE)                          {                             ZeroMemory(&sptdwb, sizeof(SCSI_PASS_THROUGH_DIRECT));                             FillMemory(temp, sizeof(temp), 0x00);                                 FillMemory(sptdwb.ucSenseBuf, sizeof(sptdwb.ucSenseBuf), 0x00);                                sptdwb.sptd.Length = sizeof(SCSI_PASS_THROUGH_DIRECT);                               sptdwb.sptd.PathId = sptdwb.sptd.TargetId = sptdwb.sptd.Lun = 0;                             sptdwb.sptd.CdbLength = 12;                             sptdwb.sptd.DataIn = SCSI_IOCTL_DATA_IN;                              sptdwb.sptd.SenseInfoLength = 24;                             sptdwb.sptd.DataTransferLength = bufferL;                             sptdwb.sptd.TimeOutValue = 0xff;                             sptdwb.sptd.DataBuffer = temp;                             sptdwb.sptd.SenseInfoOffset =                                offsetof(SCSI_PASS_THROUGH_DIRECT_WITH_BUFFER,ucSenseBuf);                                sptdwb.sptd.Cdb[0] = CDB0;                                 sptdwb.sptd.Cdb[1] = CDB1;                 sptdwb.sptd.Cdb[2] = CDB2;                             sptdwb.sptd.Cdb[3] = CDB3;                                 sptdwb.sptd.Cdb[4] = CDB4;                                 sptdwb.sptd.Cdb[5] = CDB5;                                 sptdwb.sptd.Cdb[6] = CDB6;                                 sptdwb.sptd.Cdb[7] = CDB7;                                 sptdwb.sptd.Cdb[8] = CDB8;                                 sptdwb.sptd.Cdb[9] = CDB9;                                 sptdwb.sptd.Cdb[10] = CDB10;                                 sptdwb.sptd.Cdb[11] = CDB11;                                    length = sizeof(SCSI_PASS_THROUGH_DIRECT_WITH_BUFFER);                                    status = DeviceIoControl(hSCSIDevice0,                              IOCTL_SCSI_PASS_THROUGH_DIRECT,                              &sptdwb,                              length,                              &sptdwb,                              length,                              &returned,                              FALSE);< face='Arial'>
系統時間:2024-05-01 11:24:17
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!