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

See also

SW_DEVICE_CREATE_INFO