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 |