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.

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

Confira também

CmRegisterCallbackEx

CmUnRegisterCallback

REG_CREATE_KEY_INFORMATION

REG_CREATE_KEY_INFORMATION_V1

RegistryCallback