Função CmRegisterCallbackEx (wdm.h)

A rotina CmRegisterCallbackEx registra uma rotina RegistryCallback .

Sintaxe

NTSTATUS CmRegisterCallbackEx(
  [in]           PEX_CALLBACK_FUNCTION Function,
  [in]           PCUNICODE_STRING      Altitude,
  [in]           PVOID                 Driver,
  [in, optional] PVOID                 Context,
  [out]          PLARGE_INTEGER        Cookie,
                 PVOID                 Reserved
);

Parâmetros

[in] Function

Um ponteiro para a rotina RegistryCallback a ser registrada.

[in] Altitude

Um ponteiro para uma estrutura UNICODE_STRING . Essa estrutura deve conter uma cadeia de caracteres que representa a altitude do driver de minifiltro de chamada. Para obter mais informações, consulte Comentários.

[in] Driver

Um ponteiro para a estrutura DRIVER_OBJECT que representa o driver.

[in, optional] Context

Um valor definido pelo driver que o gerenciador de configurações passará como o parâmetro CallbackContext para a rotina RegistryCallback .

[out] Cookie

Um ponteiro para uma variável LARGE_INTEGER que recebe o valor que identifica a rotina de retorno de chamada. Quando você cancelar o registro da rotina de retorno de chamada, passe esse valor como o parâmetro Cookie para CmUnRegisterCallback.

Reserved

Esse parâmetro é reservado para uso futuro.

Retornar valor

CmRegisterCallbackEx retornará STATUS_SUCCESS se a operação for bem-sucedida. Caso contrário, essa rotina pode retornar um dos seguintes valores NTSTATUS :

Código de retorno Descrição
STATUS_FLT_INSTANCE_ALTITUDE_COLLISION
O driver de chamada ou outro driver já registrou uma rotina RegistryCallback para a altitude especificada.
STATUS_INSUFFICIENT_RESOURCES
Falha ao tentar alocar memória.

Comentários

A rotina CmRegisterCallbackEx está disponível a partir do Windows Vista.

Um driver pode chamar CmRegisterCallback ou CmRegisterCallbackEx para registrar uma rotina RegistryCallback , que é chamada sempre que um thread executa uma operação no registro.

O parâmetro Altitude define a posição do driver de minifiltro em relação a outros minifiltros na pilha de E/S quando o minifiltro é carregado. A alocação de altitudes para minifiltros é gerenciada pela Microsoft. Para obter mais informações sobre altitudes, consulte Grupos de pedidos de carga e altitudes para drivers de minifiltro.

Chame CmUnRegisterCallback para cancelar o registro de uma rotina de retorno de chamada registrada por CmRegisterCallbackEx .

Para obter mais informações sobre CmRegisterCallbackEx e filtragem de operações do Registro, consulte Filtrando chamadas de 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
Regras de conformidade da DDI HwStorPortProhibitedDDIs(storport), IrqlExApcLte2(wdm)

Confira também

CmRegisterCallback

CmUnRegisterCallback

DRIVER_OBJECT

RegistryCallback

UNICODE_STRING