DEVICE_REGISTRY_PROPERTY enumeration (wdm.h)

The DEVICE_REGISTRY_PROPERTY enumeration identifies device properties that are stored in the registry.

Syntax

typedef enum {
  DevicePropertyDeviceDescription,
  DevicePropertyHardwareID,
  DevicePropertyCompatibleIDs,
  DevicePropertyBootConfiguration,
  DevicePropertyBootConfigurationTranslated,
  DevicePropertyClassName,
  DevicePropertyClassGuid,
  DevicePropertyDriverKeyName,
  DevicePropertyManufacturer,
  DevicePropertyFriendlyName,
  DevicePropertyLocationInformation,
  DevicePropertyPhysicalDeviceObjectName,
  DevicePropertyBusTypeGuid,
  DevicePropertyLegacyBusType,
  DevicePropertyBusNumber,
  DevicePropertyEnumeratorName,
  DevicePropertyAddress,
  DevicePropertyUINumber,
  DevicePropertyInstallState,
  DevicePropertyRemovalPolicy,
  DevicePropertyResourceRequirements,
  DevicePropertyAllocatedResources,
  DevicePropertyContainerID
} DEVICE_REGISTRY_PROPERTY;

Constants

 
DevicePropertyDeviceDescription
String describing the device, such as "Microsoft PS/2 Port Mouse", typically defined by the manufacturer. Property type is a NULL-terminated WCHAR string.
DevicePropertyHardwareID
Hardware IDs provided by the device that identify the device. Property type is a REG_MULTI_SZ value.
DevicePropertyCompatibleIDs
Compatible IDs reported by the device. Property type is a REG_MULTI_SZ value.
DevicePropertyBootConfiguration
Hardware resources assigned to the device by the firmware, in raw form. Property type is a CM_RESOURCE_LIST structure.
DevicePropertyBootConfigurationTranslated
The hardware resources assigned to the device by the firmware, in translated form. Property type is a CM_RESOURCE_LIST structure.
DevicePropertyClassName
Name of the device's setup class, in text format. Property type is a NULL-terminated WCHAR string.
DevicePropertyClassGuid
GUID for the device's setup class. Property type is a NULL-terminated array of WCHAR.

The GUID in a string format as follows, where each "c" represents a hexadecimal character: {cccccccc-cccc-cccc-cccc-cccccccccccc}
DevicePropertyDriverKeyName
Name of the driver-specific registry key. Property type is a NULL-terminated WCHAR string.
DevicePropertyManufacturer
String identifying the manufacturer of the device. Property type is a NULL-terminated WCHAR string.
DevicePropertyFriendlyName
String that can be used to distinguish between two similar devices, typically defined by the class installer. Property type is a NULL-terminated WCHAR string.
DevicePropertyLocationInformation
Information about the device's location on the bus; the interpretation of this information is bus-specific. Property type is a NULL-terminated WCHAR string.
DevicePropertyPhysicalDeviceObjectName
Name of the PDO for this device. Property type is a NULL-terminated WCHAR string.
DevicePropertyBusTypeGuid
GUID for the bus that the device is connected to. The system-defined bus type GUIDs are listed in the Wdmguid.h header file. Property type is a GUID, which is a 16-byte structure that contains the GUID in binary form.
DevicePropertyLegacyBusType
Requests the bus type, such as PCIBus or PCMCIABus. Property type is an INTERFACE_TYPE enumeration value.
DevicePropertyBusNumber
Legacy bus number of the bus the device is connected to. Property type is a ULONG.
DevicePropertyEnumeratorName
Name of the enumerator for the device, such as "PCI" or "root". Property type is a NULL-terminated WCHAR string.
DevicePropertyAddress
Address of the device on the bus. Property type is a ULONG.

The interpretation of this address is bus-specific. The caller of this routine should call the routine again to request the DevicePropertyBusTypeGuid, or possibly the DevicePropertyLegacyBusType, so it can interpret the address. An address value of 0xFFFFFFFF indicates that the underlying bus driver did not supply a bus address for the device.

The following list describes the information certain bus drivers store for their child devices:

Bus Description
----- -------------
1394 Does not supply an address because the addresses are volatile. Defaults to 0xFFFFFFFF.
EISA Slot Number (0-F).
IDE For an IDE device, the address contains the target ID and LUN. For an IDE channel, the address is zero or one (0 = primary channel and 1 = secondary channel).
ISApnp Does not supply an address. Defaults to 0xFFFFFFFF.
PC Card (PCMCIA) The socket number (typically 0x00 or 0x40).
PCI The device number in the high word and the function number in the low word.
SCSI The target ID.
USB The port number.
DevicePropertyUINumber
Number associated with the device that can be displayed in the user interface. Property type is a ULONG value.

This number is typically a user-perceived slot number, such as a number printed next to the slot on the board, or some other number that makes locating the physical device easier for the user. If the device is on a bus that has no UI number convention, or if the bus driver for the device cannot determine the UI number, this value is 0xFFFFFFFF.
DevicePropertyInstallState
Device's installation state. Property type is a DEVICE_INSTALL_STATE enumeration value.
DevicePropertyRemovalPolicy
Device's current removal policy. The operating system uses this value as a hint to determine how the device is normally removed. Property type is a DEVICE_REMOVAL_POLICY enumeration value.
DevicePropertyResourceRequirements
DevicePropertyAllocatedResources
DevicePropertyContainerID

Requirements

Requirement Value
Header wdm.h (include Wdm.h, Ntddk.h, Ntifs.h, Wudfwdm.h)

See also

IoGetDeviceProperty