Funzione FltDeviceIoControlFile (fltkernel.h)

FltDeviceIoControlFile invia un codice di controllo direttamente a un driver di dispositivo specificato, causando l'esecuzione dell'azione specificata dal driver corrispondente.

Sintassi

NTSTATUS FLTAPI FltDeviceIoControlFile(
  [in]            PFLT_INSTANCE Instance,
  [in]            PFILE_OBJECT  FileObject,
  [in]            ULONG         IoControlCode,
  [in, optional]  PVOID         InputBuffer,
  [in]            ULONG         InputBufferLength,
  [out]           PVOID         OutputBuffer,
  [in]            ULONG         OutputBufferLength,
  [out, optional] PULONG        LengthReturned
);

Parametri

[in] Instance

Puntatore istanza opaca per il chiamante. Questo parametro è obbligatorio e non può essere NULL.

[in] FileObject

Puntatore a oggetti file per il file o il dispositivo che è la destinazione di questa richiesta. Questo parametro è obbligatorio e non può essere NULL.

[in] IoControlCode

IOCTL_XXX codice che indica quale operazione di I/O del dispositivo deve essere eseguita. Il valore di questo parametro determina i formati e le lunghezze necessarie dell'oggetto InputBuffer e OutputBuffer e determina quale delle coppie di parametri seguenti (InputBuffer e InputBufferLength o OutputBufferLength) sono necessarie.

[in, optional] InputBuffer

Puntatore a un buffer di input allocato dal chiamante che contiene informazioni specifiche del dispositivo da fornire al driver di destinazione. Se il parametro IoControlCode 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] OutputBuffer

Puntatore a un buffer di output allocato dal chiamante in cui vengono restituite informazioni dal driver di destinazione. Se il parametro IoControlCode 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

FltDeviceIoControlFile restituisce STATUS_SUCCESS o un valore NTSTATUS appropriato.

Commenti

Per altre informazioni sui codici IOCTL_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 (includere Fltkernel.h)
Libreria FltMgr.lib
IRQL PASSIVE_LEVEL

Vedi anche

FltFsControlFile