RxPrepareContextForReuse 函数 (rxcontx.h)

RxPrepareContextForReuse 通过重置所做的所有特定于作的分配和购置(ReferenceCount 成员设置为 RX_CONTEXT 结构)来准备RX_CONTEXT数据结构以供重复使用)。 未修改从 IRP 获取的参数。

语法

void RxPrepareContextForReuse(
  [in, out] IN OUT PRX_CONTEXT RxContext
);

参数

[in, out] RxContext

指向RX_CONTEXT结构的指针。

返回值

没有

言论

RxPrepareContextForReuse 例程检查RX_CONTEXT结构中的多个特定于作的成员在将 ReferenceCount 成员设置为零之前是否 NULL。 必须满足这些特定于作的测试包括:

  • 如果关联的 IRP 的 MajorFunction 成员IRP_MJ_CREATE,则必须将 Create.CanonicalNameBuffer 成员 NULL
  • 如果关联的 IRP 的 MajorFunction 成员IRP_MJ_READ或IRP_MJ_WRITE,则 RxContextSerializationQLinks.FlinkRxContextSerializationQLinks.Blink 成员必须 NULL
如果未满足上述任一条件,RxPrepareContextForReuse 会导致系统在检查的生成时断言。

RxPrepareContextForReuse 例程通常仅由直接重新初始化RX_CONTEXT结构的网络微型重定向程序驱动程序使用。

要求

要求 价值
目标平台 桌面
标头 rxcontx.h (包括 Rxprocs.h rxcontx.h)
IRQL <= APC_LEVEL

另请参阅

RxCompleteRequest

RxCompleteRequest_Real

RxCreateRxContext

RxDereference

RxDereferenceAndDeleteRxContext_Real

RxInitializeContext

RxResumeBlockedOperations_Serially

__RxSynchronizeBlockingOperations

__RxSynchronizeBlockingOperationsMaybeDroppingFcbLock