Função FltFsControlFile (fltkernel.h)
A rotina FltFsControlFile envia um código de controle diretamente para um sistema de arquivos ou driver de filtro do sistema de arquivos especificado, fazendo com que o driver correspondente execute a ação especificada.
Sintaxe
NTSTATUS FLTAPI FltFsControlFile(
[in] PFLT_INSTANCE Instance,
[in] PFILE_OBJECT FileObject,
[in] ULONG FsControlCode,
[in, optional] PVOID InputBuffer,
[in] ULONG InputBufferLength,
[out, optional] PVOID OutputBuffer,
[in] ULONG OutputBufferLength,
[out, optional] PULONG LengthReturned
);
Parâmetros
[in] Instance
Ponteiro de instância opaco para o chamador. Esse parâmetro é necessário e não pode ser NULL.
[in] FileObject
Ponteiro de objeto de arquivo para o arquivo ou diretório que é o destino dessa solicitação. Esse parâmetro é necessário e não pode ser NULL.
[in] FsControlCode
FSCTL_ códigoXXX que indica qual operação do sistema de arquivos deve ser executada. O valor desse parâmetro determina os formatos e os comprimentos necessários de InputBuffer e OutputBuffer e determina qual dos seguintes pares de parâmetros (InputBuffer e InputBufferLength, OutputBuffer e OutputBufferLength) é necessário.
[in, optional] InputBuffer
Ponteiro para um buffer de entrada alocado pelo chamador que contém informações específicas do dispositivo a serem fornecidas ao driver de destino. Se o parâmetro FsControlCode especificar uma operação que não requer dados de entrada, esse parâmetro será opcional e poderá ser NULL.
[in] InputBufferLength
Tamanho, em bytes, do buffer em InputBuffer. Esse valor será ignorado se InputBuffer for NULL.
[out, optional] OutputBuffer
Ponteiro para um buffer de saída alocado pelo chamador no qual as informações são retornadas do driver de destino. Se o parâmetro FsControlCode especificar uma operação que não requer dados de saída, esse parâmetro será opcional e poderá ser NULL.
[in] OutputBufferLength
Tamanho, em bytes, do buffer em OutputBuffer. Esse valor será ignorado se OutputBuffer for NULL.
[out, optional] LengthReturned
Ponteiro para uma variável alocada pelo chamador que recebe o tamanho, em bytes, das informações retornadas no buffer em OutputBuffer. Esse parâmetro é opcional e pode ser NULL.
Retornar valor
FltFsControlFile retorna STATUS_SUCCESS ou um valor NTSTATUS apropriado.
Comentários
Os drivers de minifiltro devem chamar essa rotina em vez de ZwFsControlFile.
Os seguintes códigos FSCTL estão documentados atualmente para drivers no modo kernel:
FSCTL_OPBATCH_ACK_CLOSE_PENDING
FSCTL_OPLOCK_BREAK_ACKNOWLEDGE
Para obter mais informações sobre os códigos FSCTL_XXX definidos pelo sistema, consulte a seção Comentários da entrada de referência para DeviceIoControl na documentação do SDK do Microsoft Windows.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Cabeçalho | fltkernel.h (inclua Fltkernel.h) |
Biblioteca | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | PASSIVE_LEVEL |