Partilhar via


Função IoRegisterFsRegistrationChange (ntifs.h)

A rotina de IoRegisterFsRegistrationChange registra a rotina de notificação do 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 para o driver de filtro FS.

[in] DriverNotificationRoutine

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

Valor de retorno

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 Comentários.
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.

Observações

IoRegisterFsRegistrationChange registra um driver de filtro FS para 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 IoRegisterFileSystem, mas ainda não chamou IoUnregisterFileSystem.) Como a rotina de notificação do chamador pode ser chamada antes mesmo de IoRegisterFsRegistrationChange retorna, 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 no meio.
  • Esse driver de filtro FS passou os mesmos valores para o DriverObject e DriverNotificationRoutine que ele registrou na chamada anterior para IoRegisterFsRegistrationChange.
  • Nenhum outro drivers de filtro foi registrado desde a primeira chamada.

Requisitos

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

Consulte também

IoRegisterFileSystem

IoRegisterFsRegistrationChangeEx

IoUnregisterFileSystem

IoUnregisterFsRegistrationChange