Condividi tramite


Funzione FltPerformSynchronousIo (fltkernel.h)

Un driver minifilter chiama FltPerformSynchronousIo per avviare un'operazione di I/O sincrona dopo aver chiamato FltAllocateCallbackData per allocare una struttura di dati di callback per l'operazione.

Sintassi

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

Parametri

[in, out] CallbackData

Puntatore a una struttura di dati di callback (FLT_CALLBACK_DATA) allocata da una chiamata precedente a FltAllocateCallbackData. Questo parametro è obbligatorio e non può essere NULL. Il chiamante è responsabile della liberazione di questa struttura quando non è più necessaria chiamando FltFreeCallbackData.

Valore restituito

Nessuno

Osservazioni

Un driver minifilter chiama FltPerformSynchronousIo per avviare un'operazione di I/O sincrona.

I driver minifiltro possono avviare solo operazioni di I/O basate su IRP. Non possono avviare operazioni di callback di I/O o file system veloci (FSFilter).

FltPerformSynchronousIo invia l'operazione di I/O solo alle istanze del driver minifilter collegate sotto l'istanza di avvio (specificata nel parametro Istanza di a FltAllocateCallbackData) e al file system. I driver minifilter collegati sopra l'istanza specificata non ricevono l'operazione di I/O.

I driver minifiltro devono usare FltPerformSynchronousIo solo nei casi in cui non è possibile usare routine come le seguenti:

FltClose

FltCreateFile

FltQueryInformationFile

FltQueryVolumeInformation

fltReadFile

FltSetInformationFile

FltSetVolumeInformation

FltTagFile

FltUntagFile

FltWriteFile

Dopo che fltPerformSynchronousIo restituisce, il chiamante può eseguire nuovamente l'operazione di I/O chiamando FltReissueSynchronousIo. In alternativa, il chiamante può liberare la struttura dei dati di callback (FLT_CALLBACK_DATA) chiamando FltFreeCallbackData o prepararla per essere riutilizzata chiamando FltReuseCallbackData.

Fabbisogno

Requisito Valore
piattaforma di destinazione Universale
intestazione fltkernel.h (include Fltkernel.h)
libreria FltMgr.lib
dll Fltmgr.sys
IRQL <= APC_LEVEL

Vedere anche

FLT_CALLBACK_DATA

FltAllocateCallbackData

FltClose

FltCreateFile

FltFreeCallbackData

FltPerformAsynchronousIo

FltQueryInformationFile

FltQueryVolumeInformation

fltReadFile

FltReissueSynchronousIo

FltReuseCallbackData

FltSetInformationFile

FltSetVolumeInformation

FltTagFile

FltUntagFile

FltWriteFile