RxPrepareContextForReuse 函数 (rxcontx.h)

RxPrepareContextForReuse 准备RX_CONTEXT数据结构以供重复使用,方法是将 (ReferenceCount 成员设置为零) RX_CONTEXT。 不会修改从 IRP 获取的参数。

语法

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

参数

[in, out] RxContext

指向RX_CONTEXT 结构的指针。

返回值

备注

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

  • 如果关联 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