SetupDiGetDeviceProperty (setupapi)
Last changed: -109.42.113.142

.
Summary
The SetupDiGetDeviceProperty function retrieves a device instance property.

Vista and Windows 7 only. DEVPROPKEY

C# Signature:

    [DllImport("setupapi.dll", SetLastError = true)]
    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)]
    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);

VB Signature:

Declare Function SetupDiGetDeviceProperty Lib "setupapi.dll" (TODO) As TODO

User-Defined Types:

DEVPROPKEY

Alternative Managed API:

Do you know one? Please contribute it!

Notes:

None.

Tips & Tricks:

Property Keys are defined in devpkey.h

Sample Code:

http://stackoverflow.com/questions/4097000/how-do-i-disable-a-system-device-programatically

Documentation