Freigeben über


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 der IRP keinem Thread zugeordnet ist, gibt IoGetRequestorProcess-NULL-zurück.

Bemerkungen

Staring with 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 gestellt werden, z. B. für E/A des Abschlussports, gibt IoGetRequestorProcess einen Zeiger auf den Ausstellenprozess 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, in Fällen, in denen ein IRP einen Nicht-NULL-Thread enthält, aber keinen Thread angefügt hat, IoGetRequestorProcess versucht, auf die Prozessinformationen für einen nicht definierten Thread zuzugreifen. Dies stellt eine mögliche Fehlerüberprüfungsbedingung dar, wenn IoGetRequestorProcess- ohne Ausnahmebehandlung oder zu hoch eines IRQL 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 es vom I/O-Manager ausgegeben oder durch Aufrufen IoBuildAsynchronousFsdRequest, IoBuildSynchronousFsdRequestoder IoBuildDeviceIoControlRequestabgerufen wird.

Weitere Informationen zur Verwendung von Systemthreads und zum Verwalten der Synchronisierung innerhalb eines nichtbiträren Threadkontexts finden Sie unter Treiberthreads, Dispatcher-Objekte und Ressourcen.

Anforderungen

Anforderung Wert
Zielplattform- Universal
Header- ntifs.h (einschließlich Ntifs.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- <= DISPATCH_LEVEL

Siehe auch

IoBuildAsynchronousFsdRequest

IoBuildDeviceIoControlRequest

IoBuildSynchronousFsdRequest

IoGetRequestorProcessId-