Fonction RxPrepareContextForReuse (rxcontx.h)
RxPrepareContextForReuse prépare une structure de données RX_CONTEXT pour la réutilisation en réinitialisant toutes les allocations et acquisitions spécifiques à l’opération qui ont été effectuées (le membre ReferenceCount de la structure RX_CONTEXT est défini sur zéro). Les paramètres obtenus à partir de l’IRP ne sont pas modifiés.
Syntaxe
void RxPrepareContextForReuse(
[in, out] IN OUT PRX_CONTEXT RxContext
);
Paramètres
[in, out] RxContext
Pointeur vers la structure RX_CONTEXT.
Valeur de retour
None
Remarques
La routine RxPrepareContextForReuse vérifie que plusieurs membres spécifiques à l’opération dans la structure RX_CONTEXT ont la valeur NULL avant de définir le membre ReferenceCount sur zéro. Ces tests spécifiques à l’opération qui doivent être remplis incluent les éléments suivants :
- Si le membre MajorFunction de l’IRP associé est IRP_MJ_CREATE, le membre Create.CanonicalNameBuffer doit avoir la valeur NULL.
- Si le membre MajorFunction de l’IRP associé est IRP_MJ_READ ou IRP_MJ_WRITE, les membres RxContextSerializationQLinks.Flink et RxContextSerializationQLinks.Blink doivent avoir la valeur NULL.
La routine RxPrepareContextForReuse ne serait normalement utilisée que par les pilotes de mini-redirecteurs réseau qui réinitialisent directement RX_CONTEXT structures.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | rxcontx.h (inclure Rxprocs.h rxcontx.h) |
IRQL | <= APC_LEVEL |
Voir aussi
RxDereferenceAndDeleteRxContext_Real
RxResumeBlockedOperations_Serially