Partager via


RxCeAllocateIrpWithMDL, fonction (rxce.h)

RxCeAllocateIrpWithMDL alloue un IRP et l’associe à une liste de descripteurs de mémoire existante.

Syntaxe

PIRP RxCeAllocateIrpWithMDL(
  [in] IN CCHAR   StackSize,
  [in] IN BOOLEAN ChargeQuota,
  [in] IN PMDL    Buffer
);

Paramètres

[in] StackSize

Taille de pile à allouer pour l’IRP.

[in] ChargeQuota

Ce paramètre doit être défini sur FALSE par les pilotes intermédiaires. Cela peut être défini sur TRUE uniquement par les pilotes de niveau supérieur qui sont appelés dans le contexte du thread qui provient de la demande d’E/S pour laquelle le pilote alloue un autre IRP.

[in] Buffer

Pointeur vers la mémoire tampon qui contient la liste de descripteurs de mémoire à associer à cet IRP.

Valeur de retour

RxCeAllocateIrpWithMDL retourne un pointeur vers l’IRP en cas de réussite ou un pointeur NULL en cas d’erreur.

Remarques

L’objectif de RxCeAllocateIrpWithMDL est d’autoriser le débogage plus facile des fournisseurs d’intégration émis à d’autres composants, puis à bloquer. Les fournisseurs d’intégration émis à l’aide de RxCeAllocateIrpWithMDL sont mis en file d’attente vers une liste globale des IRPs conservées par RDBSS. Par conséquent, lorsqu’un RX_CONTEXT attend une fin d’envoi, il est possible de parcourir la liste globale pour trouver l’IRP en attente dans le transport.

Un IRP alloué avec une liste de descripteurs de mémoire associée allouée avec RxCeAllocateIrpWithMDL doit être libéré lorsque l’IRP est terminé à l’aide de RxCeFreeIrp.

IoAllocateIrp initialise automatiquement les membres de l’IRP et insère l’IRP dans une liste globale d’IRPs conservée par RDBSS. Si la mémoire du MDL à associer à l’IRP ne peut pas être allouée, l’IRP créé est libéré et RxCeAllocateIrpWithMD L retourne un pointeur NULL NULL indiquant l’échec.

Exigences

Exigence Valeur
client minimum pris en charge La routine RxCeAllocateIrpWithMDL est disponible uniquement sur Windows XP.
plateforme cible Bureau
d’en-tête rxce.h (include Rxce.h)
IRQL <= APC_LEVEL

Voir aussi

MDL

RxCeFreeIrp