FsRtlKernelFsControlFile-Funktion (ntifs.h)
Die FsRtlKernelFsControlFile--Funktion erstellt eine explizite FSCTL_XXX IRP, sendet sie nach unten, wartet synchron darauf, bis sie abgeschlossen ist, und gibt das Ergebnis zurück. Mit dieser Funktion kann der Aufrufer diese Aktion durch FileObject- anstelle von Handle ausführen.
Syntax
NTSTATUS FsRtlKernelFsControlFile(
[in] PFILE_OBJECT FileObject,
[in] ULONG FsControlCode,
[in] PVOID InputBuffer,
[in] ULONG InputBufferLength,
[out] PVOID OutputBuffer,
[out] ULONG OutputBufferLength,
[out] PULONG RetOutputBufferSize
);
Parameter
[in] FileObject
Zeigen Sie auf die FILE_OBJECT, um den Vorgang zu senden.
[in] FsControlCode
FSCTL_XXX Code, der angibt, welcher Dateisystemsteuerungsvorgang ausgeführt werden soll. Der Wert dieses Parameters bestimmt die Formate und die erforderlichen Längen des InputBuffer- und OutputBuffer-sowie welche der folgenden Parameterpaare erforderlich sind. Ausführliche Informationen zu den vom System definierten FSCTL_XXX-Codes finden Sie im Abschnitt "Hinweise" des Referenzeintrags für DeviceIoControl- in der Microsoft Windows SDK-Dokumentation.
[in] InputBuffer
Zeigen Sie auf einen vom Aufrufer zugewiesenen Eingabepuffer, der gerätespezifische Informationen enthält, die dem Zieltreiber zugewiesen werden sollen. Wenn FsControlCode- einen Vorgang angibt, der keine Eingabedaten erfordert, ist dieser Zeiger optional und kann NULL sein. Beachten Sie, dass dieser Puffer möglicherweise beim Zurückgeben geändert wird und der Aufrufer sich an diesen anpassen muss. Dies liegt daran, dass dieser Puffer zum Halten der Ausgabedaten verwendet werden kann.
[in] InputBufferLength
Länge des InputBuffer- in Byte.
[out] OutputBuffer
Zeigen Sie auf einen vom Aufrufer zugewiesenen Ausgabepuffer, in dem Informationen vom Zieltreiber zurückgegeben werden. Wenn FsControlCode einen Vorgang angibt, der keine Ausgabedaten erzeugt, ist dieser Zeiger optional und kann NULL sein.
[out] OutputBufferLength
Länge des OutputBuffer- in Byte.
[out] RetOutputBufferSize
Empfängt die Anzahl der tatsächlich geschriebenen (zurückgegebenen) Bytes im Ausgabepuffer.
Rückgabewert
FsRtlKernelFsControlFile gibt STATUS_SUCCESS oder einen entsprechenden NTSTATUS-Wert wie einen der folgenden zurück.
Wert | Bedeutung |
---|---|
STATUS_INSUFFICIENT_RESOURCES | Ein Poolzuweisungsfehler ist aufgetreten. |
STATUS_INVALID_PARAMETER | Ein ungültiger Parameter wurde bereitgestellt (z. B. ein ungültiger FileObject-). |
Bemerkungen
FsRtlKernelFsControlFile legt den IRP_MN_KERNEL_CALL Nebencode fest, der es ermöglicht, Vorgänge auszuführen, ohne volumeberechtigungen für bestimmte Vorgänge zu verwalten.
Bei dieser Funktion wird davon ausgegangen, dass alle an sie übergebenen Puffer Kernelmoduspuffer sind.
Anforderungen
Anforderung | Wert |
---|---|
Header- | ntifs.h |