Partager via


Fonction IoForwardIrpSynchronously (wdm.h)

La routine IoForwardIrpSynchronously envoie un IRP à un pilote spécifié et attend que ce pilote termine l’IRP.

Syntaxe

BOOLEAN IoForwardIrpSynchronously(
  [in] PDEVICE_OBJECT DeviceObject,
  [in] PIRP           Irp
);

Paramètres

[in] DeviceObject

Spécifie l’objet de périphérique du pilote auquel l’IRP est envoyé.

[in] Irp

Spécifie l’IRP à envoyer.

Valeur retournée

IoForwardIrpSynchronously retourne TRUE si l’IRP est envoyé avec succès. Sinon, il retourne FALSE.

Remarques

Utilisez la routine IoForwardIrpSynchronously pour transférer de manière synchrone l’IRP actuel vers le pilote suivant dans la pile. (Pour transférer de manière asynchrone l’IRP, utilisez les routines IoCopyCurrentIrpStackLocationToNext, IoCallDriver et IoSetCompletionRoutine .)

La routine IoForwardIrpSynchronously copie l’emplacement de pile actuel à l’emplacement de pile suivant. Cet emplacement de pile est ensuite utilisé comme emplacement de pile actuel par le pilote spécifié dans DeviceObject. Si aucun emplacement de pile suivant n’est disponible, la routine retourne FALSE. Si la routine retourne TRUE, l’IRP a été envoyé au pilote spécifié et ce pilote a terminé son traitement de cette IRP.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Windows XP et les versions ultérieures de Windows.
Plateforme cible Universal
En-tête wdm.h (inclure Wdm.h, Ntddk.h, Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL
Règles de conformité DDI PnpIrpCompletion(wdm)

Voir aussi

IoCallDriver

IoCopyCurrentIrpStackLocationToNext

IoSetCompletionRoutine