Compartilhar via


Função FltPerformSynchronousIo (fltkernel.h)

Um driver de minifiltro chama FltPerformSynchronousIo para iniciar uma operação de E/S síncrona depois de chamar FltAllocateCallbackData para alocar uma estrutura de dados de retorno de chamada para a operação.

Sintaxe

VOID FLTAPI FltPerformSynchronousIo(
  [in, out] PFLT_CALLBACK_DATA CallbackData
);

Parâmetros

[in, out] CallbackData

Ponteiro para uma estrutura de dados de retorno de chamada (FLT_CALLBACK_DATA) alocada por uma chamada anterior para FltAllocateCallbackData. Esse parâmetro é necessário e não pode ser NULL. O chamador é responsável por liberar essa estrutura quando ela não for mais necessária chamando FltFreeCallbackData.

Retornar valor

Nenhum

Comentários

Um driver de minifiltro chama FltPerformSynchronousIo para iniciar uma operação de E/S síncrona.

Os drivers de minifiltro só podem iniciar operações de E/S baseadas em IRP. Eles não podem iniciar operações de retorno de chamada de E/S ou FSFilter (filtro do sistema de arquivos) rápidas.

FltPerformSynchronousIo envia a operação de E/S somente para as instâncias de driver de minifiltro anexadas abaixo da instância inicial (especificada no parâmetro Instance para FltAllocateCallbackData) e o sistema de arquivos. Os drivers de minifiltro anexados acima da instância especificada não recebem a operação de E/S.

Os drivers de minifiltro devem usar FltPerformSynchronousIo somente nos casos em que rotinas como as seguintes não podem ser usadas:

FltClose

FltCreateFile

FltQueryInformationFile

FltQueryVolumeInformation

FltReadFile

FltSetInformationFile

FltSetVolumeInformation

FltTagFile

FltUntagFile

FltWriteFile

Depois que FltPerformSynchronousIo retornar, o chamador poderá reemissar a operação de E/S chamando FltReissueSynchronousIo. Como alternativa, o chamador pode liberar a estrutura de dados de retorno de chamada (FLT_CALLBACK_DATA) chamando FltFreeCallbackData ou prepará-la para ser reutilizado chamando FltReuseCallbackData.

Requisitos

Requisito Valor
Plataforma de Destino Universal
Cabeçalho fltkernel.h (inclua Fltkernel.h)
Biblioteca FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

Confira também

FLT_CALLBACK_DATA

FltAllocateCallbackData

FltClose

FltCreateFile

FltFreeCallbackData

FltPerformAsynchronousIo

FltQueryInformationFile

FltQueryVolumeInformation

FltReadFile

FltReissueSynchronousIo

FltReuseCallbackData

FltSetInformationFile

FltSetVolumeInformation

FltTagFile

FltUntagFile

FltWriteFile