Compartir a través de


Función CmSetCallbackObjectContext (wdm.h)

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

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 estructuras siguientes:

[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 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 una vez 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 cerrar 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 asignados 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 liberarse antes de la notificación RegNtCallbackObjectContextCleanup .

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

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows Vista.
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

CmRegisterCallbackEx

CmUnRegisterCallback

REG_CREATE_KEY_INFORMATION

REG_CREATE_KEY_INFORMATION_V1

RegistryCallback