RxPrepareContextForReuse function (rxcontx.h)
RxPrepareContextForReuse prepares an RX_CONTEXT data structure for reuse by resetting all of the operation-specific allocations and acquisitions that have been made (the ReferenceCount member to the RX_CONTEXT structure is set to zero). Parameters that have been obtained from the IRP are not modified.
Syntax
void RxPrepareContextForReuse(
[in, out] IN OUT PRX_CONTEXT RxContext
);
Parameters
[in, out] RxContext
A pointer to the RX_CONTEXT structure.
Return value
None
Remarks
The RxPrepareContextForReuse routine checks that several operation-specific members in the RX_CONTEXT structure are NULL before setting the ReferenceCount member to zero. These operation-specific tests that must be met include the following:
- If the MajorFunction member of the associated IRP is IRP_MJ_CREATE, then the Create.CanonicalNameBuffer member must be NULL.
- If the MajorFunction member of the associated IRP is IRP_MJ_READ or IRP_MJ_WRITE, then the RxContextSerializationQLinks.Flink and RxContextSerializationQLinks.Blink members must be NULL.
The RxPrepareContextForReuse routine would normally only be used by network mini-redirector drivers that reinitialize RX_CONTEXT structures directly.
Requirements
Requirement | Value |
---|---|
Target Platform | Desktop |
Header | rxcontx.h (include Rxprocs.h rxcontx.h) |
IRQL | <= APC_LEVEL |
See also
RxDereferenceAndDeleteRxContext_Real
RxResumeBlockedOperations_Serially