Funzione FltFsControlFile (fltkernel.h)
La routine FltFsControlFile invia direttamente un codice di controllo a un file system o a un driver di filtro del file system specificato, causando l'esecuzione dell'azione specificata da parte del driver corrispondente.
Sintassi
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
);
Parametri
[in] Instance
Puntatore dell'istanza opaca per il chiamante. Questo parametro è obbligatorio e non può essere NULL.
[in] FileObject
Puntatore all'oggetto file per il file o la directory che rappresenta la destinazione di questa richiesta. Questo parametro è obbligatorio e non può essere NULL.
[in] FsControlCode
FSCTL_xxx codice che indica quale operazione del file system deve essere eseguita. Il valore di questo parametro determina i formati e le lunghezze necessarie del InputBuffer e OutputBuffere determina quali delle coppie di parametri seguenti (InputBuffer e InputBufferLength, OutputBuffer e OutputBufferLength).
[in, optional] InputBuffer
Puntatore a un buffer di input allocato dal chiamante che contiene informazioni specifiche del dispositivo da assegnare al driver di destinazione. Se il parametro FsControlCode specifica un'operazione che non richiede dati di input, questo parametro è facoltativo e può essere NULL.
[in] InputBufferLength
Dimensioni, in byte, del buffer in corrispondenza di InputBuffer. Questo valore viene ignorato se InputBuffer è NULL.
[out, optional] OutputBuffer
Puntatore a un buffer di output allocato dal chiamante in cui le informazioni vengono restituite dal driver di destinazione. Se il parametro FsControlCode specifica un'operazione che non richiede dati di output, questo parametro è facoltativo e può essere NULL.
[in] OutputBufferLength
Dimensioni, in byte, del buffer in corrispondenza di OutputBuffer. Questo valore viene ignorato se OutputBuffer è NULL.
[out, optional] LengthReturned
Puntatore a una variabile allocata dal chiamante che riceve le dimensioni, in byte, delle informazioni restituite nel buffer in corrispondenza di OutputBuffer. Questo parametro è facoltativo e può essere NULL.
Valore restituito
FltFsControlFile restituisce STATUS_SUCCESS o un valore NTSTATUS appropriato.
Osservazioni
I driver minifiltro devono chiamare questa routine anziché ZwFsControlFile.
I codici FSCTL seguenti sono attualmente documentati per i driver in modalità kernel:
FSCTL_OPBATCH_ACK_CLOSE_PENDING
FSCTL_OPLOCK_BREAK_ACKNOWLEDGE
Per altre informazioni sui codiciFSCTL_ definiti dal sistema, vedere la sezione Osservazioni della voce di riferimento per DeviceIoControl nella documentazione di Microsoft Windows SDK.
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Universale |
intestazione | fltkernel.h (include Fltkernel.h) |
libreria | FltMgr.lib |
dll | Fltmgr.sys |
IRQL | PASSIVE_LEVEL |