Função CmSetCallbackObjectContext (wdm.h)
A rotina CmSetCallbackObjectContext associa novas informações de contexto a um objeto de registro especificado e uma rotina de retorno de chamada.
Sintaxe
NTSTATUS CmSetCallbackObjectContext(
[in, out] PVOID Object,
[in] PLARGE_INTEGER Cookie,
[in] PVOID NewContext,
[out, optional] PVOID *OldContext
);
Parâmetros
[in, out] Object
Um ponteiro para o objeto de chave do Registro para o qual o driver está fornecendo informações de contexto. O driver obtém esse ponteiro do membro ResultObject de uma das seguintes estruturas:
REG_OPEN_KEY_INFORMATION
REG_OPEN_KEY_INFORMATION_V1
[in] Cookie
Um ponteiro para um valor LARGE_INTEGER que identifica a rotina de retorno de chamada à qual associar o contexto. A rotina CmRegisterCallbackEx forneceu esse valor quando você registrou a rotina de retorno de chamada.
[in] NewContext
Um ponteiro para informações de contexto definidas pelo driver.
[out, optional] OldContext
Um ponteiro para um local que recebe um ponteiro para informações de contexto que o driver associou anteriormente ao objeto e cookie especificados. Esse parâmetro é opcional e pode ser NULL.
Retornar valor
CmSetCallbackObjectContext retorna STATUS_SUCCESS ou outro valor apropriado do tipo NTSTATUS.
Comentários
A rotina CmSetCallbackObjectContext está disponível a partir do Windows Vista.
A rotina RegistryCallback de um driver pode chamar CmSetCallbackObjectContext para qualquer objeto de chave do Registro depois que o objeto tiver sido criado ou aberto (ou seja, durante uma pós-notificação para uma operação de criação, uma operação aberta ou qualquer notificação subsequente até a pré-notificação de fechamento do identificador).
Se um driver chamar CmSetCallbackObjectContext, a rotina RegistryCallback do driver receberá uma notificação RegNtCallbackObjectContextCleanup depois que o identificador do objeto de chave for fechado ou depois que o driver chamar CmUnRegisterCallback para cancelar o registro da rotina RegistryCallback . Quando a rotina RegistryCallback recebe essa notificação, a rotina deve liberar todos os recursos alocados para o contexto do objeto.
Se CmSetCallbackObjectContext for chamado antes da notificação RegNtCallbackObjectContextCleanup , OldContext ainda poderá ser referenciado por RegistryCallback , que recebe outra notificação. OldContext não deve ser lançado antes da notificação RegNtCallbackObjectContextCleanup .
Para obter mais informações sobre CmSetCallbackObjectContext e filtragem de operações do Registro, consulte Filtrando chamadas do Registro.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível a partir do Windows Vista. |
Plataforma de Destino | Universal |
Cabeçalho | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |