Condividi tramite


Funzione FltFsControlFile (fltkernel.h)

La routine FltFsControlFile invia un codice di controllo direttamente a un file system o a un driver di filtro del file system specificato, causando l'esecuzione dell'azione specificata dal 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 a oggetti file per il file o la directory di destinazione della richiesta. Questo parametro è obbligatorio e non può essere NULL.

[in] FsControlCode

FSCTL_ codiceXXX che indica l'operazione del file system da eseguire. Il valore di questo parametro determina i formati e le lunghezze necessarie di InputBuffer e OutputBuffer e determina quali delle coppie di parametri seguenti (InputBuffer e InputBufferLength,OutputBuffer e OutputBufferLength) sono necessarie.

[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 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 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 OutputBuffer. Questo parametro è facoltativo e può essere NULL.

Valore restituito

FltFsControlFile restituisce STATUS_SUCCESS o un valore NTSTATUS appropriato.

Commenti

I driver minifilter devono chiamare questa routine anziché ZwFsControlFile.

I codici ODBCTL seguenti sono attualmente documentati per i driver in modalità kernel:

FSCTL_DELETE_REPARSE_POINT

FSCTL_GET_REPARSE_POINT

FSCTL_OPBATCH_ACK_CLOSE_PENDING

FSCTL_OPLOCK_BREAK_ACK_NO_2

FSCTL_OPLOCK_BREAK_ACKNOWLEDGE

FSCTL_OPLOCK_BREAK_NOTIFY

FSCTL_REQUEST_BATCH_OPLOCK

FSCTL_REQUEST_FILTER_OPLOCK

FSCTL_REQUEST_OPLOCK_LEVEL_1

FSCTL_REQUEST_OPLOCK_LEVEL_2

FSCTL_SET_REPARSE_POINT

Per altre informazioni sui codici FSCTL_XXX definiti dal sistema, vedere la sezione Osservazioni della voce di riferimento per DeviceIoControl nella documentazione di Microsoft Windows SDK.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione fltkernel.h (include Fltkernel.h)
Libreria FltMgr.lib
DLL Fltmgr.sys
IRQL PASSIVE_LEVEL

Vedi anche

FltDeviceIoControlFile

ZwFsControlFile