Vista and Windows 7 only. DEVPROPKEY
[DllImport("setupapi.dll", SetLastError = true)]
static extern unsafe bool SetupDiGetDevicePropertyW(
IntPtr deviceInfoSet,
ref SP_DEVINFO_DATA DeviceInfoData,
ref DEVPROPKEY propertyKey,
out UInt64 propertyType, // or Uint32 ?
IntPtr propertyBuffer, // or byte[]
Int32 propertyBufferSize,
out int requiredSize, // <----
UInt32 flags);
[DllImport("setupapi.dll", SetLastError = true)]
static extern unsafe bool SetupDiGetDevicePropertyW(
IntPtr deviceInfoSet,
ref SP_DEVINFO_DATA DeviceInfoData,
ref DEVPROPKEY propertyKey,
out UInt64 propertyType, // or Uint32 ?
IntPtr propertyBuffer, // or byte[]
Int32 propertyBufferSize,
int* requiredSize, <----
UInt32 flags);
[StructLayout(LayoutKind.Sequential, Pack = 1)]
public struct DEVPROPKEY
{
public DEVPROPGUID fmtid;
public DEVPROPID pid;
}
static void DEFINE_DEVPROPKEY(out DEVPROPKEY key, UInt32 l, UInt16 w1, UInt16 w2, Byte b1, Byte b2, Byte b3, Byte b4, Byte b5, Byte b6, Byte b7, Byte b8, DEVPROPID pid)
{
key.fmtid = new Guid(l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8);
key.pid = pid;
}
Declare Function SetupDiGetDeviceProperty Lib "setupapi.dll" (TODO) As TODO
Do you know one? Please contribute it!
None.
Property Keys are defined in devpkey.h (https://github.com/tpn/winsdk-10/blob/master/Include/10.0.16299.0/shared/devpkey.h)
http://stackoverflow.com/questions/4097000/how-do-i-disable-a-system-device-programatically