Compartilhar via


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:

[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

Consulte também

CmRegisterCallbackEx

CmUnRegisterCallback

REG_CREATE_KEY_INFORMATION

REG_CREATE_KEY_INFORMATION_V1

RegistryCallback