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 |
另请参阅
RxDereferenceAndDeleteRxContext_Real
RxResumeBlockedOperations_Serially