Objetos de chave do Registro
O driver do sistema PortCls implementa a interface IRegistryKey para o benefício de drivers de miniporta. Um objeto IRegistryKey representa uma chave do Registro. Os drivers de miniport usam objetos de chave do Registro para fazer o seguinte:
Criar e excluir chaves do Registro
Enumerar chaves do Registro
Consultar e definir chaves do Registro
Ao consultar um objeto de chave do Registro para obter informações sobre uma entrada do Registro sob a chave especificada, a consulta pode gerar as informações em um dos três formatos, cada um dos quais usa uma estrutura de consulta de chave diferente. A tabela a seguir mostra os valores de enumeração KEY_INFORMATION_CLASS que indicam qual das três estruturas de consulta de chave é gerada pela consulta.
Valor KEY_INFORMATION_CLASS | Estrutura Key-Query |
---|---|
KeyBasicInformation |
|
KeyFullInformation |
|
KeyNodeInformation |
Para abrir uma chave do Registro existente ou criar uma nova chave do Registro, um driver de adaptador pode chamar a função PcNewRegistryKey e um driver de miniporto pode chamar o método IPort::NewRegistryKey do driver de porta. As duas chamadas são semelhantes, exceto que a função PcNewRegistryKey requer dois parâmetros adicionais, DeviceObject e SubDevice. Para obter mais informações, consulte PcNewRegistryKey.
Quando um driver de miniporta cria um novo objeto IRegistryKey , o objeto abre uma subchave existente ou cria uma nova subchave do Registro se nenhuma existir. Em ambos os casos, o objeto de chave do Registro armazena o identificador na chave. Quando esse objeto é liberado posteriormente e sua contagem de referência diminui para zero, o objeto fecha automaticamente seu identificador para a chave.
A interface IRegistryKey dá suporte aos seguintes métodos:
IRegistryKey::EnumerateValueKey