DEVPROPERTY structure

Describes a property for a software device.

Syntax

typedef struct _DEVPROPERTY {
  DEVPROPCOMPKEY CompKey;
  DEVPROPTYPE    Type;
  ULONG          BufferSize;
  PVOID          Buffer;
} DEVPROPERTY, *PDEVPROPERTY;

Members

  • CompKey
    A DEVPROPCOMPKEY structure that represents a compound key for a property.

  • Type
    A DEVPROPTYPE value that indicates the property type. Valid DEVPROPTYPE values are constructed from base DEVPROP_TYPE_ values, which may be modified by a logical OR with DEVPROP_TYPEMOD_ values, as appropriate.

    Here are possible DEVPROP_TYPE_ values:

    Value Meaning
    DEVPROP_TYPE_EMPTY 0x00000000

    Nothing, no property data

    DEVPROP_TYPE_NULL 0x00000001

    Null property data

    DEVPROP_TYPE_SBYTE 0x00000002

    8-bit signed int (SBYTE)

    DEVPROP_TYPE_BYTE 0x00000003

    8-bit unsigned int (BYTE)

    DEVPROP_TYPE_INT16 0x00000004

    16-bit signed int (SHORT)

    DEVPROP_TYPE_UINT16 0x00000005

    16-bit unsigned int (USHORT)

    DEVPROP_TYPE_INT32 0x00000006

    32-bit signed int (LONG)

    DEVPROP_TYPE_UINT32 0x00000007

    32-bit unsigned int (ULONG)

    DEVPROP_TYPE_INT64 0x00000008

    64-bit signed int (LONG64)

    DEVPROP_TYPE_UINT64 0x00000009

    64-bit unsigned int (ULONG64)

    DEVPROP_TYPE_FLOAT 0x0000000A

    32-bit floating-point (FLOAT)

    DEVPROP_TYPE_DOUBLE 0x0000000B

    64-bit floating-point (DOUBLE)

    DEVPROP_TYPE_DECIMAL 0x0000000C

    128-bit data (DECIMAL)

    DEVPROP_TYPE_GUID 0x0000000D

    128-bit unique identifier (GUID)

    DEVPROP_TYPE_CURRENCY 0x0000000E

    64 bit signed int currency value (CURRENCY)

    DEVPROP_TYPE_DATE 0x0000000F

    date (DATE)

    DEVPROP_TYPE_FILETIME 0x00000010

    file time (FILETIME)

    DEVPROP_TYPE_BOOLEAN 0x00000011

    8-bit boolean (DEVPROP_BOOLEAN)

    DEVPROP_TYPE_STRING 0x00000012

    Null-terminated string

    DEVPROP_TYPE_STRING_LIST DEVPROP_TYPE_STRING|DEVPROP_TYPEMOD_LIST

    Multi-sz string list

    DEVPROP_TYPE_SECURITY_DESCRIPTOR 0x00000013

    Self-relative binary SECURITY_DESCRIPTOR

    DEVPROP_TYPE_SECURITY_DESCRIPTOR_STRING 0x00000014

    Security descriptor string (SDDL format)

    DEVPROP_TYPE_DEVPROPKEY 0x00000015

    Device property key (DEVPROPKEY)

    DEVPROP_TYPE_DEVPROPTYPE 0x00000016

    Device property type (DEVPROPTYPE)

    DEVPROP_TYPE_BINARY DEVPROP_TYPE_BYTE|DEVPROP_TYPEMOD_ARRAY

    Custom binary data

    DEVPROP_TYPE_ERROR 0x00000017

    32-bit Win32 system error code

    DEVPROP_TYPE_NTSTATUS 0x00000018

    32-bit NTSTATUS code

    DEVPROP_TYPE_STRING_INDIRECT 0x00000019

    String resource (@[path\]<dllname>,-<strId>)

    Here are possible DEVPROP_TYPEMOD_ values:

    Value Meaning
    DEVPROP_TYPEMOD_ARRAY 0x00001000

    Array of fixed-sized data elements

    DEVPROP_TYPEMOD_LIST 0x00002000

    List of variable-sized data elements

  • BufferSize
    The size in bytes of the property in Buffer.

  • Buffer
    The buffer that contains the property info.

    This member can be a PBYTE type if MIDL_PASS is defined:

      #ifdef MIDL_PASS
            [size_is(BufferSize)] PBYTE Buffer;
        #else
            __field_bcount_opt(BufferSize) PVOID Buffer;
        #endif
    

Requirements

Header

Devpropdef.h (include Swdevice.h)

See also

SW_DEVICE_CREATE_INFO