Função FsRtlRegisterFileSystemFilterCallbacks (ntifs.h)
Os drivers de filtro do sistema de arquivos e os sistemas de arquivos chamam a rotina FsRtlRegisterFileSystemFilterCallbacks para registrar rotinas de retorno de chamada de notificação a serem invocadas quando o sistema de arquivos subjacente executa determinadas operações.
Sintaxe
NTSTATUS FsRtlRegisterFileSystemFilterCallbacks(
[in] _DRIVER_OBJECT *FilterDriverObject,
[in] PFS_FILTER_CALLBACKS Callbacks
);
Parâmetros
[in] FilterDriverObject
Um ponteiro para o objeto de driver para o driver do sistema de arquivos ou filtro.
[in] Callbacks
Ponteiro para uma estrutura FS_FILTER_CALLBACKS que contém os pontos de entrada das rotinas de retorno de chamada de notificação fornecidas pelo chamador. Todos os pontos de entrada de retorno de chamada são opcionais e podem ser definidos como NULL.
Retornar valor
A rotina FsRtlRegisterFileSystemFilterCallbacks pode retornar um dos seguintes valores de status:
Código de retorno | Descrição |
---|---|
STATUS_SUCCESS | As rotinas de retorno de chamada foram registradas com êxito. |
STATUS_INSUFFICIENT_RESOURCES | FsRtlRegisterFileSystemFilterCallbacks encontrou uma falha de alocação de pool ao alocar memória para armazenar as informações de retorno de chamada. |
STATUS_FSFILTER_OP_COMPLETED_SUCCESSFULLY | FsRtlRegisterFileSystemFilterCallbacks concluiu com êxito uma operação FsFilter. |
STATUS_FILE_LOCKED_WITH_ONLY_READERS | O arquivo foi bloqueado e todos os usuários do arquivo só podem ler. |
STATUS_FILE_LOCKED_WITH_WRITERS | O arquivo foi bloqueado e pelo menos um usuário do arquivo pode gravar |
STATUS_INVALID_PARAMETER | Um dos parâmetros é inválido. |
Comentários
Os drivers de filtro do sistema de arquivos e do sistema de arquivos devem chamar FsRtlRegisterFileSystemFilterCallbacks da rotina DriverEntry do driver.
FsRtlRegisterFileSystemFilterCallbacks registra as rotinas de retorno de chamada de notificação especificadas no parâmetro Callbacks a serem invocadas quando solicitações para determinadas operações de arquivo são enviadas para o sistema de arquivos subjacente.
Os sistemas de arquivos chamam FsRtlRegisterFileSystemFilterCallbacks para definir o membro de retorno de chamada PreAcquireForSectionSynchronization da estrutura FS_FILTER_CALLBACKS em vez de usar o obsoleto AcquireFileForNtCreateSection.
As rotinas de retorno de chamada registradas por FsRtlRegisterFileSystemFilterCallbacks substituem as seguintes rotinas rápidas de retorno de chamada de E/S, que são obsoletas e não devem ser usadas por drivers de filtro do sistema de arquivos:
- AcquireForCcFlush
- AcquireFileForNtCreateSection
- AcquireForModWrite
- ReleaseForCcFlush
- ReleaseFileForNtCreateSection
- ReleaseForModWrite
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP |
Plataforma de Destino | Universal |
Cabeçalho | ntifs.h (inclua Ntifs.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |