Partager via


Fonction IoGetRequestorProcess (ntifs.h)

La routine IoGetRequestorProcess retourne un pointeur de processus pour le thread qui demandait à l’origine une opération d’E/S donnée.

Syntaxe

PEPROCESS IoGetRequestorProcess(
  [in] PIRP Irp
);

Paramètres

[in] Irp

Pointeur vers le paquet de demande d’E/S (IRP) pour l’opération d’E/S.

Valeur retournée

IoGetRequestorProcess retourne un pointeur de processus pour le thread qui a demandé l’opération d’E/S. Si l’IRP n’est associé à aucun thread, IoGetRequestorProcess retourne NULL.

Remarques

Regarder avec Windows Vista. IoGetRequestorProcess retourne un pointeur vers le processus auquel le thread est actuellement attaché. Pour les IRPs mis en file d’attente pour les objets de fichier, comme pour les E/S du port d’achèvement, IoGetRequestorProcess retourne un pointeur vers le processus d’émission. Si aucun thread n’est attaché, IoGetRequestorProcess retourne un pointeur vers le processus qui a créé le thread.

Sur Windows XP, IoGetRequestorProcess retourne un pointeur vers le processus auquel le thread est actuellement attaché.

Note Sur Windows XP, dans les cas où un IRP contient un thread non NULL mais n’a pas de thread attaché, IoGetRequestorProcess tente d’accéder aux informations de processus pour un thread non défini. Cela présente un bogue possible case activée condition si IoGetRequestorProcess est appelé sans gestion d’exception ou à un niveau trop élevé d’un IRQL.

 

Avant Windows XP, IoGetRequestorProcess retourne un pointeur vers le processus qui a créé le thread.

Un IRP est automatiquement associé à un thread s’il est émis par le gestionnaire d’E/S ou obtenu en appelant IoBuildAsynchronousFsdRequest, IoBuildSynchronousFsdRequest ou IoBuildDeviceIoControlRequest.

Pour plus d’informations sur l’utilisation de threads système et la gestion de la synchronisation dans un contexte de thread non linéaire, consultez Threads de pilotes, objets dispatcher et ressources.

Configuration requise

Condition requise Valeur
Plateforme cible Universal
En-tête ntifs.h (inclure Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

Voir aussi

IoBuildAsynchronousFsdRequest

IoBuildDeviceIoControlRequest

IoBuildSynchronousFsdRequest

IoGetRequestorProcessId