Función CmSetCallbackObjectContext (wdm.h)

La rutina CmSetCallbackObjectContext asocia información de contexto nueva con un objeto del Registro y una rutina de devolución de llamada especificadas.

Sintaxis

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 anteriormente con el objeto y la cookie especificados. Este parámetro es opcional y puede ser NULL.

Valor devuelto

CmSetCallbackObjectContext devuelve STATUS_SUCCESS u otro valor con tipo NTSTATUS adecuado.

Comentarios

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

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

Si un controlador llama a CmSetCallbackObjectContext, la rutina RegistryCallback del controlador 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 la rutina RegistryCallback recibe esta notificación, la rutina debe liberar los recursos que haya asignado para el contexto del objeto.

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

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

Requisitos

   
Cliente mínimo compatible Disponible a partir de Windows Vista.
Plataforma de destino Universal
Header wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Consulte también

CmRegisterCallbackEx

CmUnRegisterCallback

REG_CREATE_KEY_INFORMATION

REG_CREATE_KEY_INFORMATION_V1

RegistryCallback