Função IoRegisterFsRegistrationChange (ntifs.h)

A rotina IoRegisterFsRegistrationChange registra a rotina de notificação de um driver de filtro do sistema de arquivos a ser chamada sempre que um sistema de arquivos registra ou cancela o registro como um sistema de arquivos ativo.

Sintaxe

NTSTATUS IoRegisterFsRegistrationChange(
  [in] PDRIVER_OBJECT          DriverObject,
  [in] PDRIVER_FS_NOTIFICATION DriverNotificationRoutine
);

Parâmetros

[in] DriverObject

Ponteiro para o objeto driver do driver de filtro FS.

[in] DriverNotificationRoutine

Um ponteiro para a rotina de PDRIVER_FS_NOTIFICATION , que o sistema de arquivos chama quando registra ou cancela o registro.

Retornar valor

IoRegisterFsRegistrationChange retorna um valor NTSTATUS, como um dos seguintes.

Código de retorno Descrição
STATUS_SUCCESS A rotina de notificação foi registrada com êxito.
STATUS_INSUFFICIENT_RESOURCES Não foi possível alocar um pacote de notificação para a rotina de notificação.
STATUS_DEVICE_ALREADY_ATTACHED Consulte Observações.
STATUS_NOT_SUPPORTED Os drivers de filtro FS herdados são bloqueados pela política do sistema. Consulte Bloquear drivers de filtro do sistema de arquivos herdado para obter mais informações.

Comentários

IoRegisterFsRegistrationChange registra um driver de filtro FS a ser notificado sempre que um sistema de arquivos chama IoRegisterFileSystem ou IoUnregisterFileSystem.

Para parar de receber essas notificações, o driver de filtro deve chamar IoUnregisterFsRegistrationChange.

Quando um driver de filtro FS chama IoRegisterFsRegistrationChange, o sistema operacional chama sua rotina de notificação imediatamente para todos os sistemas de arquivos registrados no momento. (Um sistema de arquivos registrado é aquele que já foi chamado com êxito de IoRegisterFileSystem , mas ainda não chamou IoUnregisterFileSystem.) Como a rotina de notificação do chamador pode ser chamada antes mesmo de IoRegisterFsRegistrationChange retornar, um driver de filtro não deve chamar essa rotina até que tenha criado as estruturas de dados necessárias para processar essas notificações.

IoRegisterFsRegistrationChange ignora dispositivos RAW. Para obter informações sobre como anexar ao sistema de arquivos RAW pelo nome, consulte Anexando o objeto filter device ao objeto de dispositivo de destino.

IoRegisterFsRegistrationChange incrementa a contagem de referência no objeto de driver do driver de filtro.

IoRegisterFsRegistrationChange retornará STATUS_DEVICE_ALREADY_ATTACHED se as seguintes condições forem verdadeiras:

  • Um driver de filtro FS chamou IoRegisterFsRegistrationChange duas vezes seguidas sem chamar IoUnregisterFsRegistrationChange entre eles.
  • Esse driver de filtro FS passou os mesmos valores para DriverObject e DriverNotificationRoutine registrados na chamada anterior para IoRegisterFsRegistrationChange.
  • Nenhum outro drivers de filtro foi registrado desde a primeira chamada.

Requisitos

Requisito Valor
Plataforma de Destino Universal
Cabeçalho ntifs.h (inclua Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

Confira também

IoRegisterFileSystem

IoRegisterFsRegistrationChangeEx

IoUnregisterFileSystem

IoUnregisterFsRegistrationChange