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:
REG_OPEN_KEY_INFORMATION
REG_OPEN_KEY_INFORMATION_V1
[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 |