IoGetRequestorProcess-Funktion (ntifs.h)

Die IoGetRequestorProcess-Routine gibt einen Prozesszeiger für den Thread zurück, der ursprünglich einen bestimmten E/A-Vorgang angefordert hat.

Syntax

PEPROCESS IoGetRequestorProcess(
  [in] PIRP Irp
);

Parameter

[in] Irp

Ein Zeiger auf das E/A-Anforderungspaket (IRP) für den E/A-Vorgang.

Rückgabewert

IoGetRequestorProcess gibt einen Prozesszeiger für den Thread zurück, der den E/A-Vorgang angefordert hat. Wenn das IRP keinem Thread zugeordnet ist, gibt IoGetRequestorProcessNULL zurück.

Hinweise

Staring mit Windows Vista. IoGetRequestorProcess gibt einen Zeiger auf den Prozess zurück, an den der Thread derzeit angefügt ist. Für IRPs, die für Dateiobjekte in die Warteschlange eingereiht wurden, z. B. für Die Port-E/A-Vervollständigung, gibt IoGetRequestorProcess einen Zeiger auf den Ausgabeprozess zurück. Wenn kein Thread angefügt ist, gibt IoGetRequestorProcess einen Zeiger auf den Prozess zurück, der den Thread erstellt hat.

Unter Windows XP gibt IoGetRequestorProcess einen Zeiger auf den Prozess zurück, an den der Thread derzeit angefügt ist.

Hinweis Unter Windows XP versucht IoGetRequestorProcess in Fällen, in denen ein IRP einen Nicht-NULL-Thread enthält, aber keinen thread angefügt hat, auf die Prozessinformationen für einen nicht definierten Thread zuzugreifen. Dies stellt eine mögliche Fehlerprüfungsbedingung dar, wenn IoGetRequestorProcess ohne Ausnahmebehandlung oder bei zu hohem IRQL-Wert aufgerufen wird.

 

Vor Windows XP gibt IoGetRequestorProcess einen Zeiger auf den Prozess zurück, der den Thread erstellt hat.

Ein IRP wird automatisch einem Thread zugeordnet, wenn er vom E/A-Manager ausgegeben oder durch Aufrufen von IoBuildAsynchronousFsdRequest, IoBuildSynchronousFsdRequest oder IoBuildDeviceIoControlRequest abgerufen wird.

Weitere Informationen zum Verwenden von Systemthreads und zum Verwalten der Synchronisierung innerhalb eines nicht-untergeordneten Threadkontexts finden Sie unter Treiberthreads, Dispatcherobjekte und Ressourcen.

Anforderungen

Anforderung Wert
Zielplattform Universell
Header ntifs.h (include Ntifs.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

Weitere Informationen

IoBuildAsynchronfsdRequest

IoBuildDeviceIoControlRequest

IoBuildSynchronousFsdRequest

IoGetRequestorProcessId