locked
关于DeviceIoControl的问题 RRS feed

  • 问题

  • 各位高手:

     我是在smartphone上調用程式,對SDIO儲存卡做資料寫入讀取,程式碼如下

    //creatFeile返回值沒有問題

    hDevice = CreateFile(_T("DSK1:"),
                  GENERIC_READ | GENERIC_WRITE,
               FILE_SHARE_READ | FILE_SHARE_WRITE,
                  NULL,
                  OPEN_EXISTING,
                  FILE_ATTRIBUTE_NORMAL,
                  NULL);

      if( hDevice == INVALID_HANDLE_VALUE ) // Open disk failure!!!
      {
       CloseHandle( hDevice );
       AfxMessageBox(_T("Create File Error"));
      }

    //下再是使用DeviceioControl對SDIO介面的儲存卡讀取時返回值沒有問題

    BOOL res;

     res=:Big SmileeviceIoControl(hDevice,
          IOCTL_DISK_READ,    //讀取
          &sg,sizeof(SG_REQ),
                            0,0,
          &dwNumReturned,
          (LPOVERLAPPED)NULL);

     

    //下再是使用DeviceioControl對SDIO介面的儲存卡寫入時返回值一值為0

    res=:Big SmileeviceIoControl(hDevice,
          IOCTL_DISK_WRITE,
          &sg,sizeof(SG_REQ),
                            0,0,
          &dwNumReturned,
          (LPOVERLAPPED)NULL);

     

    想請問各位高手我在其他SMARTPHONE返回值都沒問題但是在這台機器上返回值一值為FALSE

    我使用Getlasterror()的值也是0

     

     

     

    2008年11月15日 12:28

答案

  •  

    代码应该是没有问题的, 你可以尝试在该机器上试验时改变一下代码中的DSK1为其他的DSK号看看. 或者向生产商申请技术支持.

    Goodluck~

    2008年11月16日 6:31
    版主

全部回复

  •  

    代码应该是没有问题的, 你可以尝试在该机器上试验时改变一下代码中的DSK1为其他的DSK号看看. 或者向生产商申请技术支持.

    Goodluck~

    2008年11月16日 6:31
    版主
  •  

    謝謝板主

      我改了DISK3就可以,可以在請教為什麼DISK1也可以做讀出也沒問題

    2008年11月16日 17:13