NDK_FN_CREATE_MR callback function

The NdkCreateMr (NDK_FN_CREATE_MR) function creates an NDK memory region (MR) object.

Syntax

NDK_FN_CREATE_MR NdkFnCreateMr;

NTSTATUS NdkFnCreateMr(
  NDK_PD *pNdkPd,
  BOOLEAN FastRegister,
  NDK_FN_CREATE_COMPLETION CreateCompletion,
  PVOID RequestContext,
  NDK_MR **ppNdkMr
)
{...}

Parameters

*pNdkPd

A pointer to an NDK protection domain (PD) object (NDK_PD).

FastRegister

If TRUE, MR is for fast-register only. Otherwise, MR is for normal register only.

CreateCompletion

A pointer to an NdkCreateCompletion (NDK_FN_CREATE_COMPLETION) function that completes the creation of an NDK object.

RequestContext

A context value that the NDK provider passes back to the NdkCreateCompletion function that is specified in the CreateCompletion parameter.

**ppNdkMr

A pointer to the created MR object (NDK_MR) is returned in this location if request succeeds without returning STATUS_PENDING. If NdkCreateMr returns STATUS_PENDING, this parameter is ignored and the created object is returned with the callback that is specified in the CreateCompletion parameter.

Return Value

The NdkCreateMr function returns one of the following NTSTATUS codes.

Return code Description
STATUS_SUCCESS
The MR object was created successfully and returned with the *ppNdkMr parameter.
STATUS_PENDING
The operation is pending and will be completed later. The provider will call the function specified in the CreateCompletion parameter(NDK_FN_CREATE_COMPLETION) to complete the pending operation.
STATUS_INSUFFICIENT_RESOURCES
The request failed due to insufficient resources.
Important  The request can fail inline as well as asynchronously with this status code.
 
Other status codes
An error occurred.

Remarks

The NdkCreateMr function creates an NDK memory region (MR) object that can be used for memory registration and fast registration requests. If the function returns STATUS_SUCCESS, the created object is returned in the ppNdkMr parameter. If NdkCreateMr returns STATUS_PENDING, the created object is returned by the NdkCreateCompletion (NDK_FN_CREATE_COMPLETION) function that is specified in the CreateCompletion parameter.

Requirements

   
Minimum supported client None supported,Supported in NDIS 6.30 and later.
Minimum supported server Windows Server 2012
Target Platform Windows
Header ndkpi.h (include Ndkpi.h)
IRQL "<=DISPATCH_LEVEL"

See Also

NDKPI Object Lifetime Requirements

NDK_FN_CREATE_COMPLETION

NDK_MR

NDK_PD