C# DeviceIoControl返回false
在我的C代码中,DeviceIoControl返回false,句柄是正确的C# DeviceIoControl返回false,c#,interop,hardware,C#,Interop,Hardware,在我的C代码中,DeviceIoControl返回false,句柄是正确的 DeviceIoControl(deviceHandle, IOCTL_STORAGE_GET_DEVICE_NUMBER, IntPtr.Zero, 0, OutBuffPtr,//&psdn, OutBuffSize, ref dwBytesReturned, IntPtr.Zero); 这里没有太多的数据,但应该会提供更具体的错误信息。我确实尝试使用Marshal.GetLa
DeviceIoControl(deviceHandle,
IOCTL_STORAGE_GET_DEVICE_NUMBER,
IntPtr.Zero,
0,
OutBuffPtr,//&psdn,
OutBuffSize,
ref dwBytesReturned,
IntPtr.Zero);
这里没有太多的数据,但应该会提供更具体的错误信息。我确实尝试使用Marshal.GetLastWin32Error(),它返回1,根据MSDN,这意味着函数不正确。 在代码中,我试图从kernel32.dll中的函数DeviceIoControl获取将Intptr传递到大小为STORAGE_device_number(12字节)的缓冲区的设备号 我走到了死胡同