Compartir a través de


Objetos de clave del Registro

El controlador del sistema PortCls implementa la interfaz IRegistryKey para beneficiarse de los controladores de minipuerto. Un objeto IRegistryKey representa una clave del Registro. Los controladores de minipuerto usan objetos de clave del Registro para hacer lo siguiente:

  • Creación y eliminación de claves del Registro

  • Enumerar claves del Registro

  • Consulta y establecimiento de claves del Registro

Al consultar un objeto de clave del Registro para obtener información sobre una entrada del Registro bajo la clave especificada, la consulta puede generar la información en uno de los tres formatos, cada uno de los cuales usa una estructura de consulta de clave diferente. En la tabla siguiente se muestran los valores de enumeración KEY_INFORMATION_CLASS que indican cuál de las tres estructuras de consulta de clave genera la consulta.

valor de KEY_INFORMATION_CLASS estructura de Key-Query

KeyBasicInformation

KEY_BASIC_INFORMATION

KeyFullInformation

KEY_FULL_INFORMATION

KeyNodeInformation

KEY_NODE_INFORMATION

Para abrir una clave del Registro existente o crear una nueva clave del Registro, un controlador del adaptador puede llamar a la función PcNewRegistryKey y un controlador de minipuerto puede llamar al método IPort::NewRegistryKey del controlador del puerto. Las dos llamadas son similares, salvo que la función PcNewRegistryKey requiere dos parámetros adicionales, DeviceObject y SubDevice. Para obtener más información, vea PcNewRegistryKey.

Cuando un controlador de minipuerto crea un nuevo objeto IRegistryKey , el objeto abre una subclave existente o crea una nueva subclave del Registro si no existe ninguna. En cualquier caso, el objeto de clave del Registro almacena el identificador en la clave. Cuando ese objeto se libera más adelante y su recuento de referencias disminuye en cero, el objeto cierra automáticamente su identificador a la clave.

La interfaz IRegistryKey admite los métodos siguientes:

IRegistryKey::D eleteKey

IRegistryKey::EnumerateKey

IRegistryKey::EnumerateValueKey

IRegistryKey::NewSubKey

IRegistryKey::QueryKey

IRegistryKey::QueryRegistryValues

IRegistryKey::QueryValueKey

IRegistryKey::SetValueKey