Función CmCallbackGetKeyObjectID (wdm.h)

La rutina CmCallbackGetKeyObjectID recupera el identificador único y el nombre de objeto asociados a un objeto de clave del Registro especificado.

A partir de Windows 8, los controladores de filtro del Registro deben llamar a la rutina CmCallbackGetKeyObjectIDEx en lugar de CmCallbackGetKeyObjectID. Para obtener más información, vea la sección Comentarios a continuación.

Sintaxis

NTSTATUS CmCallbackGetKeyObjectID(
  [in]            PLARGE_INTEGER   Cookie,
  [in]            PVOID            Object,
  [out, optional] PULONG_PTR       ObjectID,
  [out, optional] PCUNICODE_STRING *ObjectName
);

Parámetros

[in] Cookie

Valor de cookie que el controlador obtuvo anteriormente llamando a la rutina CmRegisterCallback o CmRegisterCallbackEx .

[in] Object

Valor de puntero que la rutina de devolución de llamada RegistryCallback del controlador recibió en el miembro Object de una de las estructuras REG_XXX_KEY_INFORMATION .

Advertencia

En determinadas circunstancias, las estructuras de notificación de devolución de llamada del Registro pueden contener punteros de objeto no NULL no válidos. Los controladores de filtrado del Registro no deben pasar estos punteros a esta rutina. Para obtener más información, vea Punteros de objeto de clave no válidos en las notificaciones del Registro.

[out, optional] ObjectID

Puntero a una ubicación que recibe un puntero al identificador único que representa la clave del Registro que especifica Object . Este parámetro es opcional y puede ser NULL.

[out, optional] ObjectName

Puntero a una ubicación que recibe un puntero a una estructura de UNICODE_STRING . Esta estructura contiene el nombre de objeto del objeto de clave del Registro que especifica Object . El nombre del objeto es realmente el nombre de ruta de acceso completa de la clave del Registro que representa el objeto. El autor de la llamada no debe escribir en esta estructura de UNICODE_STRING ni liberarla. Este parámetro es opcional y puede ser NULL.

Valor devuelto

CmCallbackGetKeyObjectID devuelve STATUS_SUCCESS si la operación se realiza correctamente. Los valores devueltos de error posibles incluyen el siguiente código de estado.

Código devuelto Descripción
STATUS_INVALID_PARAMETER El parámetro Cookie o Object no es válido.

Comentarios

La rutina CmCallbackGetKeyObjectID está disponible a partir de Windows Vista. Una versión mejorada de esta rutina, CmCallbackGetKeyObjectIDEx, está disponible a partir de Windows 8. Los controladores que solo se ejecutan en Windows 8 y versiones posteriores de Windows deben llamar a CmCallbackGetKeyObjectIDEx en lugar de CmCallbackGetKeyObjectID.

Los controladores pueden usar CmCallbackGetKeyObjectID para obtener el identificador de clave del Registro, el nombre del objeto o ambos, proporcionando valores no NULL para los parámetros ObjectID o ObjectName .

Una vez que el controlador haya obtenido el identificador o el nombre, el identificador o el nombre es válido hasta que la rutina RegistryCallback del controlador reciba una notificación previa del cierre del identificador.

El controlador no debe modificar el nombre del objeto.

Si dos objetos de clave del Registro representan la misma clave del Registro, los identificadores de clave de ambos objetos son idénticos.

Para obtener más información sobre cmCallbackGetKeyObjectID y las operaciones de filtrado del registro, consulte Filtrado de llamadas al Registro.

Requisitos

Requisito Value
Plataforma de destino Universal
Encabezado wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Consulte también

CmCallbackGetKeyObjectIDEx

CmRegisterCallback

CmRegisterCallbackEx

RegistryCallback

UNICODE_STRING