Registering Hardware Information
To display useful information to the user and for assistance in debugging, a display miniport driver must set certain hardware information in the registry. A display miniport driver must set a chip type, digital-to-analog converter (DAC) type, memory size (of the adapter), and a string to identify the adapter. This information is shown by the Display application in Control Panel. Typically, the driver sets this information in its DxgkDdiAddDevice function.
To set this information, the driver:
Calls the IoOpenDeviceRegistryKey function to open and obtain a handle to a software key for storing driver-specific information. In this call, the driver specifies the PLUGPLAY_REGKEY_DRIVER flag in the DevInstKeyType parameter and the KEY_SET_VALUE, KEY_WRITE, or KEY_ALL_ACCESS value in the DesiredAccess parameter.
Calls the ZwSetValueKey function several times to set each type of hardware information. In each call, the driver specifies, in the KeyHandle parameter, the software-key handle that was obtained from IoOpenDeviceRegistryKey.
The following table describes the information that the driver must register and provides details for the ValueName and Data parameters of ZwSetValueKey:
Information for entry ValueName parameter Data parameter Chip type
HardwareInformation.ChipType
Null-terminated string that contains the chip name
DAC type
HardwareInformation.DacType
Null-terminated string that contains the DAC name or identifier (ID)
Memory size
HardwareInformation.MemorySize
ULONG that contains, in megabytes, the amount of video memory on the adapter
Adapter ID
HardwareInformation.AdapterString
Null-terminated string that contains the name of the adapter
BIOS
HardwareInformation.BiosString
Null-terminated string that contains information about the BIOS
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for