Partilhar 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 é mais necessária chamando FltFreeCallbackData.

Valor de retorno

Nenhum

Observações

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 rápidas de retorno de chamada de E/S ou FSFilter (filtro do sistema de arquivos).

fltPerformSynchronousIo envia a operação de E/S somente para as instâncias de driver de minifiltro anexadas abaixo da instância de início (especificada no parâmetro da Instância 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 em casos em que rotinas como a seguinte não podem ser usadas:

FltClose

FltCreateFile

FltQueryInformationFile

FltQueryVolumeInformation

FltReadFile

FltSetInformationFile

FltSetVolumeInformation

FltTagFile

FltUntagFile

FltWriteFile

Depois que fltPerformSynchronousIo retorna, o chamador pode 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
da Plataforma de Destino Universal
cabeçalho fltkernel.h (inclua Fltkernel.h)
biblioteca FltMgr.lib
de DLL Fltmgr.sys
IRQL <= APC_LEVEL

Consulte também

FLT_CALLBACK_DATA

FltAllocateCallbackData

FltClose

FltCreateFile

FltFreeCallbackData

FltPerformAsynchronousIo

FltQueryInformationFile

FltQueryVolumeInformation

FltReadFile

FltReissueSynchronousIo

FltReuseCallbackData

FltSetInformationFile

FltSetVolumeInformation

FltTagFile

FltUntagFile

FltWriteFile