RxCreateRxContext function (rxcontx.h)
RxCreateRxContext allocates a new RX_CONTEXT structure and initializes the data structure.
Syntax
PRX_CONTEXT RxCreateRxContext(
[in, optional] IN PIRP Irp,
[in] IN PRDBSS_DEVICE_OBJECT RxDeviceObject,
[in] IN ULONG InitialContextFlags
);
Parameters
[in, optional] Irp
A pointer to the IRP to be encapsulated by this RX_CONTEXT structure.
[in] RxDeviceObject
A pointer to the device object to which this RX_CONTEXT and IRP apply.
[in] InitialContextFlags
The set of initial values for the Flags member of the RX_CONTEXT data structure to be stored in the RX_CONTEXT structure. These initial values can be any combination of the following enumerations:
RX_CONTEXT_FLAG_WAIT
When this value is set, the IRP should be not be posted for later execution by the file system process, but should be waited on to complete.
RX_CONTEXT_FLAG_MUST_SUCCEED
When this value is set, the operation must succeed. This value is not currently used by RDBSS, but it may be used by network mini-redirector drivers.
RX_CONTEXT_FLAG_MUST_SUCCEED_NONBLOCKING
When this value is set, the operation must succeed for non-blocking operations. This value is not currently used by RDBSS, but it may be used by network mini-redirector drivers.
Return value
RxCreateRxContext returns a pointer to an allocated RX_CONTEXT data structure on success or a NULL pointer on failure.
Remarks
RxCreateRxContext calls RxInitializeContext to initialize the newly created RX_CONTEXT structure before returning.
RxCreateRxContext allocates non-paged pool memory when creating a new RX_CONTEXT data structure and sets the following value in the Flags member of the RX_CONTEXT:
When this value is set, the RX_CONTEXT structure was allocated from non-paged pool memory.
Requirements
Requirement | Value |
---|---|
Target Platform | Desktop |
Header | rxcontx.h (include Rxprocs.h rxcontx.h) |
IRQL | <= APC_LEVEL |
See also
RxDereferenceAndDeleteRxContext_Real
RxResumeBlockedOperations_Serially