Freigeben über


FltDeviceIoControlFile-Funktion (fltkernel.h)

FltDeviceIoControlFile sendet einen Steuercode 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 Instanzzeiger für den Aufrufer. Dieser Parameter ist erforderlich und kann nicht NULL-werden.

[in] FileObject

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

[in] IoControlCode

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

[in, optional] InputBuffer

Zeigen Sie 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 in Bytes bei InputBuffer-. Dieser Wert wird ignoriert, wenn InputBuffer-NULL-ist.

[out] OutputBuffer

Zeigen Sie 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 in Bytes bei OutputBuffer-. Dieser Wert wird ignoriert, wenn OutputBuffer-NULL-ist.

[out, optional] LengthReturned

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

Rückgabewert

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

Bemerkungen

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- Universal
Header- fltkernel.h (include Fltkernel.h)
Library FltMgr.lib
IRQL- PASSIVE_LEVEL

Siehe auch

FltFsControlFile-