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.
Valor de retorno
CmSetCallbackObjectContext retorna STATUS_SUCCESS ou outro valor NTSTATUSapropriado.
Observações
A rotina de 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 de RegistryCallback do do driver receberá um RegNtCallbackObjectContextCleanup notificação depois que o identificador do objeto de chave tiver sido 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 de notificação RegNtCallbackObjectContextCleanup, OldContext ainda poderão ser referenciados por RegistryCallback, que recebe outra notificação. OldContext não deve ser liberado antes de notificação RegNtCallbackObjectContextCleanup.
Para obter mais informações sobre cmSetCallbackObjectContext e filtragem de operações de registro, consulte Filtrando chamadas de registro.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Disponível a partir do Windows Vista. |
da Plataforma de Destino | Universal |
cabeçalho | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
biblioteca | NtosKrnl.lib |
de DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |