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 |