Vista and Windows 7 only. DEVPROPKEY
[DllImport("setupapi.dll", SetLastError=true)]
static extern TODO SetupDiGetDeviceProperty(TODO);
[DllImport("setupapi.dll", SetLastError = true)]
internal static extern unsafe bool SetupDiGetDevicePropertyW(
Enum_Handle deviceInfoSet,
ref SP_DEVINFO_DATA DeviceInfoData,
ref DEVPROPKEY propertyKey,
out UInt64 propertyType, // or Uint32 ?
IntPtr propertyBuffer,
Int32 propertyBufferSize,
out int requiredSize, // <----
UInt32 flags);
[DllImport("setupapi.dll", SetLastError = true)]
internal static extern unsafe bool SetupDiGetDevicePropertyW(
Enum_Handle deviceInfoSet,
ref SP_DEVINFO_DATA DeviceInfoData,
ref DEVPROPKEY propertyKey,
out UInt64 propertyType, // Uint32
IntPtr propertyBuffer,
Int32 propertyBufferSize,
int* requiredSize, <----
UInt32 flags);
// Device Property
[StructLayout(LayoutKind.Sequential)]
internal unsafe struct DEVPROPKEY
{
public Guid fmtid;
public UInt32 pid;
}
Declare Function SetupDiGetDeviceProperty Lib "setupapi.dll" (TODO) As TODO
None.
Do you know one? Please contribute it!
None.
Property Keys are defined in devpkey.h
http://stackoverflow.com/questions/4097000/how-do-i-disable-a-system-device-programatically