DeviceIoControl返回false

时间:2010-01-15 16:06:45

标签: c# interop hardware

在我的C#代码中,DeviceIoControl返回false,句柄正确

DeviceIoControl(deviceHandle,
  IOCTL_STORAGE_GET_DEVICE_NUMBER,
  IntPtr.Zero,
  0,
  OutBuffPtr,//&psdn,
  OutBuffSize,
  ref dwBytesReturned,
   IntPtr.Zero);

2 个答案:

答案 0 :(得分:0)

此处不存在大量数据,但Marshal.GetLastWin32Error()应该为您提供更具体的错误信息。

答案 1 :(得分:0)

我确实尝试使用返回1的Marshal.GetLastWin32Error(),根据MSDN它意味着功能不正确。 在代码中我试图从kernel32.dll中的函数DeviceIoControl获取设备号从Intptr传递到大小为STORAGE_DEVICE_NUMBER(12字节)的缓冲区。

我走到了尽头。