Registrando informações de hardware
Para exibir informações úteis para o usuário e para obter assistência na depuração, um driver de miniporto de exibição deve definir determinadas informações de hardware no registro. Um driver de miniporto de exibição deve definir um tipo de chip, tipo DEC (conversor digital para analógico), tamanho da memória (do adaptador) e uma cadeia de caracteres para identificar o adaptador. Essas informações são mostradas pelo aplicativo Display no Painel de Controle. Normalmente, o driver define essas informações em sua função DxgkDdiAddDevice .
Para definir essas informações, o driver:
Chama a função IoOpenDeviceRegistryKey para abrir e obter um identificador para uma chave de software para armazenar informações específicas do driver. Nessa chamada, o driver especifica o sinalizador PLUGPLAY_REGKEY_DRIVER no parâmetro DevInstKeyType e o valor KEY_SET_VALUE, KEY_WRITE ou KEY_ALL_ACCESS no parâmetro DesiredAccess .
Chama a função ZwSetValueKey várias vezes para definir cada tipo de informação de hardware. Em cada chamada, o driver especifica, no parâmetro KeyHandle , o identificador de chave de software obtido de IoOpenDeviceRegistryKey.
A tabela a seguir descreve as informações que o driver deve registrar e fornece detalhes para os parâmetros ValueName e Data de ZwSetValueKey:
Informações para entrada Parâmetro ValueName Parâmetro de dados Tipo de chip
HardwareInformation.ChipType
Cadeia de caracteres terminada em nulo que contém o nome do chip
Tipo DAC
HardwareInformation.DacType
Cadeia de caracteres terminada em nulo que contém o nome ou identificador da DAC (ID)
Tamanho da memória
HardwareInformation.MemorySize
ULONG que contém, em megabytes, a quantidade de memória de vídeo no adaptador
ID do adaptador
HardwareInformation.AdapterString
Cadeia de caracteres terminada em nulo que contém o nome do adaptador
BIOS
HardwareInformation.BiosString
Cadeia de caracteres terminada em nulo que contém informações sobre o BIOS