Fonction IoSetNextIrpStackLocation (wdm.h)
La routine IoSetNextIrpStackLocation définit l’emplacement de la pile IRP dans un IRP alloué par le pilote à celui de l’appelant.
Syntaxe
void IoSetNextIrpStackLocation(
[in, out] PIRP Irp
);
Paramètres
[in, out] Irp
Pointeur vers l’IRP dont l’emplacement de pile doit être défini.
Valeur de retour
None
Remarques
En général, cette routine est rarement utilisée par les conducteurs. Il est principalement utilisé par les pilotes qui nécessitent leur propre emplacement de pile dans un IRP qu’ils ont alloué, eux-mêmes, à envoyer à un autre pilote.
IoSetNextIrpStackLocation n’est généralement pas nécessaire, car :
- Le pilote a reçu l’IRP qu’il passe d’un autre pilote de niveau supérieur, et il possède donc déjà un emplacement de pile,
- Ou bien, le pilote a alloué l’IRP, mais n’a pas besoin de son propre emplacement de pile, car il peut conserver tout ce dont il a besoin dans un bloc de contexte dont l’adresse peut être passée à sa routine IoCompletion .
Un pilote ne peut pas appeler IoSetNextIrpStackLocation avec un IRP qu’il alloue en appelant IoBuildAsynchronousFsdRequest, IoBuildDeviceIoControlRequest ou IoBuildSynchronousFsdRequest.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible à partir de Windows 2000. |
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
IRQL | N’importe quel niveau |