NDK_FN_INITIALIZE_FAST_REGISTER_MR callback function (ndkpi.h)

The NdkInitializeFastRegisterMr (NDK_FN_INITIALIZE_FAST_REGISTER_MR) function initializes an NDK memory region (MR) for fast registration.

Syntax

NDK_FN_INITIALIZE_FAST_REGISTER_MR NdkFnInitializeFastRegisterMr;

NTSTATUS NdkFnInitializeFastRegisterMr(
  [in]           NDK_MR *pNdkMr,
  [in]           ULONG AdapterPageCount,
  [in]           BOOLEAN RemoteAccess,
  [in]           NDK_FN_REQUEST_COMPLETION RequestCompletion,
  [in, optional] PVOID RequestContext
)
{...}

Parameters

[in] pNdkMr

A pointer to an NDK memory region (MR) object (NDK_MR).

[in] AdapterPageCount

The maximum number of adapter pages to support in this MR such that fast-register work requests with equal or a lower number of adapter pages can be supported.

[in] RemoteAccess

A BOOLEAN value that indicates if the MR must be initialized for remote access or not. An NDK consumer must set RemoteAccess to TRUE if the consumer will request remote access with the NdkFastRegister (NDK_FN_FAST_REGISTER) function.

[in] RequestCompletion

A pointer to a request completion callback routine NdkRequestCompletion (NDK_FN_REQUEST_COMPLETION).

[in, optional] RequestContext

A context value to pass to the Context parameter of the callback function that is specified in the RequestCompletion parameter.

Return value

The
NdkInitializeFastRegisterMr function returns one of the following NTSTATUS codes.

Return code Description
STATUS_SUCCESS
Initialization was completed successfully.
STATUS_PENDING
The operation is pending and will be completed later. The driver will call the specified RequestCompletion (NDK_FN_REQUEST_COMPLETION) function to complete the pending operation.
STATUS_IMPLEMENTATION_LIMIT
The request failed because the adapter does not support the requested AdapterPageCount.
Other status codes
An error occurred.

Remarks

NdkInitializeFastRegisterMr initializes an MR for fast registration. The NDK_MR object must be created with FastRegister parameter of the NdkCreateMr (NDK_FN_CREATE_MR) function set to TRUE.

You can make multiple calls to NdkInitializeFastRegisterMr, either in parallel or one after another.

After NdkInitializeFastRegisterMr returns, a fast register work request can be posted to a queue pair (QP).

Requirements

Requirement Value
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_MR

NDK_FN_FAST_REGISTER

NDK_FN_REQUEST_COMPLETION

NDK_MR