Función CmSetCallbackObjectContext (wdm.h)

El CmSetCallbackObjectContext rutina asocia información de contexto nueva con un objeto de registro especificado y una rutina de devolución de llamada.

Sintaxis

C++
NTSTATUS CmSetCallbackObjectContext(
  [in, out]       PVOID          Object,
  [in]            PLARGE_INTEGER Cookie,
  [in]            PVOID          NewContext,
  [out, optional] PVOID          *OldContext
);

Parámetros

[in, out] Object

Puntero al objeto de clave del Registro para el que el controlador proporciona información de contexto. El controlador obtiene este puntero del miembro ResultObject de una de las siguientes estructuras:

[in] Cookie

Puntero a un valor de LARGE_INTEGER que identifica la rutina de devolución de llamada con la que asociar el contexto. La rutina CmRegisterCallbackEx proporcionó este valor al registrar la rutina de devolución de llamada.

[in] NewContext

Puntero a la información de contexto definida por el controlador.

[out, optional] OldContext

Puntero a una ubicación que recibe un puntero a la información de contexto que el controlador ha asociado previamente con el objeto y la cookie especificados. Este parámetro es opcional y se puede NULL.

Valor devuelto

cmSetCallbackObjectContext devuelve STATUS_SUCCESS u otro valor NTSTATUScon tipo.

Observaciones

La rutina CmSetCallbackObjectContext está disponible a partir de Windows Vista.

La rutina de RegistryCallback de un controlador puede llamar a CmSetCallbackObjectContext para cualquier objeto de clave del Registro después de que el objeto se haya creado o abierto (es decir, durante una notificación posterior para una operación de creación, una operación abierta o cualquier notificación posterior hasta la notificación previa del cierre del identificador).

Si un controlador llama a CmSetCallbackObjectContext , la rutina del controlador RegistryCallback recibirá una notificación RegNtCallbackObjectContextCleanup después de que se haya cerrado el identificador del objeto de clave o después de que el controlador llame a CmUnRegisterCallback para anular el registro de la rutina RegistryCallback. Cuando el RegistryCallback rutina recibe esta notificación, la rutina debe liberar los recursos asignados para el contexto del objeto.

Si se llama a CmSetCallbackObjectContext antes de notificación RegNtCallbackObjectContextCleanup, OldContext todavía se puede hacer referencia a RegistryCallback que recibe otra notificación. OldContext no debe liberarse antes de notificación regNtCallbackObjectContextCleanup.

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

Requisitos

Requisito Valor
cliente mínimo admitido Disponible a partir de Windows Vista.
de la plataforma de destino de Universal
encabezado de wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
biblioteca de NtosKrnl.lib
DLL de NtosKrnl.exe
irQL <= APC_LEVEL

Consulte también

CmRegisterCallbackEx

CmUnRegisterCallback

REG_CREATE_KEY_INFORMATION

REG_CREATE_KEY_INFORMATION_V1

registryCallback