RxCreateRxContext 函数 (rxcontx.h)

RxCreateRxContext 分配新的RX_CONTEXT结构并初始化数据结构。

语法

PRX_CONTEXT RxCreateRxContext(
  [in, optional] IN PIRP                 Irp,
  [in]           IN PRDBSS_DEVICE_OBJECT RxDeviceObject,
  [in]           IN ULONG                InitialContextFlags
);

参数

[in, optional] Irp

指向此RX_CONTEXT结构要封装的 IRP 的指针。

[in] RxDeviceObject

指向此RX_CONTEXT和 IRP 适用的设备对象的指针。

[in] InitialContextFlags

要存储在 RX_CONTEXT 结构中的 RX_CONTEXT 数据结构的 Flags 成员的初始值集。 这些初始值可以是以下枚举的任意组合:

RX_CONTEXT_FLAG_WAIT

设置此值后,文件系统进程不应发布 IRP 以供以后执行,但应等待完成。

RX_CONTEXT_FLAG_MUST_SUCCEED

设置此值后,操作必须成功。 RDBSS 当前未使用此值,但网络微型重定向程序驱动程序可以使用此值。

RX_CONTEXT_FLAG_MUST_SUCCEED_NONBLOCKING

设置此值后,非阻塞操作必须成功。 RDBSS 当前未使用此值,但网络微型重定向程序驱动程序可以使用此值。

返回值

RxCreateRxContext 在成功时返回指向分配RX_CONTEXT数据结构的指针,在失败时返回 NULL 指针。

注解

RxCreateRxContext 调用 RxInitializeContext 以在返回之前初始化新创建的 RX_CONTEXT 结构。

RxCreateRxContext 在创建新的RX_CONTEXT数据结构时分配非分页池内存,并在RX_CONTEXT的 Flags 成员中设置以下值:

设置此值时,RX_CONTEXT结构是从非分页池内存中分配的。

要求

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

另请参阅

RX_CONTEXT

RxCompleteRequest

RxCompleteRequest_Real

RxDereference

RxDereferenceAndDeleteRxContext_Real

RxInitializeContext

RxPrepareContextForReuse

RxResumeBlockedOperations_Serially

__RxSynchronizeBlockingOperations

__RxSynchronizeBlockingOperationsMaybeDroppingFcbLock