在我的C#代碼,DeviceIoControl的是返回false,手柄是正確的DeviceIoControl返回false
DeviceIoControl(deviceHandle,
IOCTL_STORAGE_GET_DEVICE_NUMBER,
IntPtr.Zero,
0,
OutBuffPtr,//&psdn,
OutBuffSize,
ref dwBytesReturned,
IntPtr.Zero);
在我的C#代碼,DeviceIoControl的是返回false,手柄是正確的DeviceIoControl返回false
DeviceIoControl(deviceHandle,
IOCTL_STORAGE_GET_DEVICE_NUMBER,
IntPtr.Zero,
0,
OutBuffPtr,//&psdn,
OutBuffSize,
ref dwBytesReturned,
IntPtr.Zero);
沒有大量的數據在這裏繼續下去,但Marshal.GetLastWin32Error()應該給你更具體的錯誤信息。
我嘗試使用Marshal.GetLastWin32Error()返回1,根據MSDN它意味着不正確的函數。 在代碼中,我試圖通過kernel32.dll中的函數DeviceIoControl將設備號傳遞給大小爲STORAGE_DEVICE_NUMBER(12個字節)的緩衝區。
我已經死了。
你有問題嗎? – Oded 2010-01-15 16:13:21