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

Confira também

FS_FILTER_CALLBACKS