NDK_FN_WRITE callback function

The NdkWrite (NDK_FN_WRITE) function posts a write request on an NDK queue pair (QP).

Syntax


NDK_FN_WRITE NdkWrite;

NTSTATUS NdkWrite(
  _In_     NDK_QP                         *pNdkQp,
  _In_opt_ PVOID                          RequestContext,
           _In_reads_(nSge) CONST NDK_SGE *pSgl,
  _In_     ULONG                          nSge,
  _In_     UINT64                         RemoteAddress,
  _In_     UINT32                         RemoteToken,
  _In_     ULONG                          Flags
)
{ ... }

Parameters

pNdkQp [in]

A pointer to an NDK queue pair (QP) object (NDK_QP).

RequestContext [in, optional]

A context value to be returned in the RequestContext member of the NDK_RESULT structure for this request.

pSgl

An array of SGE structures (NDK_SGE) that represent the buffers holding the data to write.

nSge [in]

The number of SGE structures in the array that is specified in the pSgl parameter.

RemoteAddress [in]

The remote address to write to, provided in the local host's byte order. The NDK consumer might have added an offset to the remotely-provided value.

RemoteToken [in]

The remotely-provided memory token, an opaque array of bytes from the NDK consumer.

Flags [in]

A bitwise OR of flags which specifies the operations that are allowed. The following flags are supported:

ValueMeaning
NDK_OP_FLAG_SILENT_SUCCESS
0x00000001

Indicates the successful completion of this request but does not generate a completion event in the outbound completion queue. However, requests that fail do generate a completion in the completion queue.

NDK_OP_FLAG_READ_FENCE
0x00000002

Indicates that all prior read requests must be complete before the hardware begins processing this request.

NDK_OP_FLAG_DEFER
0x00000200

Indicates to the NDK provider that it may defer indicating the request to hardware for processing. For more information about this flag, see NDKPI Deferred Processing Scheme.

Note  This flag is supported only in NDKPI 1.2 (Windows Server 2012 R2) and later.

 

Return value

The NdkWrite function returns one of the following NTSTATUS codes.

Return codeDescription
STATUS_SUCCESS

The request was posted successfully. A completion entry will be queued to the completion queue (CQ) when the work request is completed.

STATUS_CONNECTION_INVALID

The queue pair (QP) is not connected.

Other status codes

An error occurred.

 

Remarks

NdkWrite posts a write request on a queue pair (QP).

Requirements

Minimum supported client

None supported

Minimum supported server

Windows Server 2012

Target platform

Version

Supported in NDIS 6.30 and later.

Header

Ndkpi.h (include Ndkpi.h)

IRQL

<=DISPATCH_LEVEL

See also

NDK_QP
NDK_RESULT
NDK_SGE
NDKPI Deferred Processing Scheme
NDKPI Work Request Posting Requirements

 

 

Send comments about this topic to Microsoft

Show: