FltDeviceIoControlFile-Funktion (fltkernel.h)

FltDeviceIoControlFile sendet einen Steuerungscode direkt an einen angegebenen Gerätetreiber, wodurch der entsprechende Treiber die angegebene Aktion ausführt.

Syntax

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
);

Parameter

[in] Instance

Undurchsichtiger instance Zeiger für den Aufrufer. Dieser Parameter ist erforderlich und darf nicht NULL sein.

[in] FileObject

Dateiobjektzeiger für die Datei oder das Gerät, das das Ziel dieser Anforderung ist. Dieser Parameter ist erforderlich und darf nicht NULL sein.

[in] IoControlCode

IOCTL_XXX-Code , der angibt, welcher Geräte-E/A-Vorgang ausgeführt werden soll. Der Wert dieses Parameters bestimmt die Formate und erforderlichen Längen von InputBuffer und OutputBuffer und bestimmt, welches der folgenden Parameterpaare (InputBuffer und InputBufferLength oder OutputBuffer und OutputBufferLength) erforderlich ist.

[in, optional] InputBuffer

Zeiger auf einen vom Aufrufer zugewiesenen Eingabepuffer, der gerätespezifische Informationen enthält, die dem Zieltreiber zugewiesen werden sollen. Wenn der IoControlCode-Parameter einen Vorgang angibt, der keine Eingabedaten erfordert, ist dieser Parameter optional und kann NULL sein.

[in] InputBufferLength

Größe des Puffers bei InputBuffer in Bytes. Dieser Wert wird ignoriert, wenn InputBufferNULL ist.

[out] OutputBuffer

Zeiger auf einen vom Aufrufer zugewiesenen Ausgabepuffer, in dem Informationen vom Zieltreiber zurückgegeben werden. Wenn der IoControlCode-Parameter einen Vorgang angibt, der keine Ausgabedaten erfordert, ist dieser Parameter optional und kann NULL sein.

[in] OutputBufferLength

Größe des Puffers bei OutputBuffer in Bytes. Dieser Wert wird ignoriert, wenn OutputBufferNULL ist.

[out, optional] LengthReturned

Zeiger auf eine vom Aufrufer zugewiesene Variable, die die Größe der im Puffer bei OutputBuffer zurückgegebenen Informationen in Bytes empfängt. Dieser Parameter ist optional und kann NULL sein.

Rückgabewert

FltDeviceIoControlFile gibt STATUS_SUCCESS oder einen entsprechenden NTSTATUS-Wert zurück.

Hinweise

Weitere Informationen zu den systemdefinierten IOCTL_XXX-Codes finden Sie im Abschnitt Hinweise des Referenzeintrags für DeviceIoControl in der Microsoft Windows SDK-Dokumentation.

Anforderungen

Anforderung Wert
Zielplattform Universell
Header fltkernel.h (include Fltkernel.h)
Bibliothek FltMgr.lib
IRQL PASSIVE_LEVEL

Weitere Informationen

FltFsControlFile