Skip to content

Latest commit

 

History

History
231 lines (167 loc) · 6.33 KB

nc-ndkpi-ndk_fn_read.md

File metadata and controls

231 lines (167 loc) · 6.33 KB
UID title description old-location tech.root ms.date keywords ms.keywords req.header req.include-header req.target-type req.target-min-winverclnt req.target-min-winversvr req.kmdf-ver req.umdf-ver req.ddi-compliance req.unicode-ansi req.idl req.max-support req.namespace req.assembly req.type-library req.lib req.dll req.irql targetos req.typenames f1_keywords topic_type api_type api_location api_name
NC:ndkpi.NDK_FN_READ
NDK_FN_READ (ndkpi.h)
The NdkRead (NDK_FN_READ) function posts a read request on an NDK queue pair (QP).
netvista\ndk_fn_read.htm
netvista
05/02/2018
NDK_FN_READ callback function
NDK_FN_READ, NDK_FN_READ callback, NDK_OP_FLAG_DEFER, NDK_OP_FLAG_RDMA_READ_LOCAL_INVALIDATE, NDK_OP_FLAG_READ_FENCE, NDK_OP_FLAG_SILENT_SUCCESS, NdkRead, NdkRead callback function [Network Drivers Starting with Windows Vista], ndkpi/NdkRead, netvista.ndk_fn_read
ndkpi.h
Ndkpi.h
Windows
None supported,Supported in NDIS 6.30 and later.
Windows Server 2012
<=DISPATCH_LEVEL
Windows
NDK_FN_READ
ndkpi/NDK_FN_READ
APIRef
kbSyntax
UserDefined
ndkpi.h
NDK_FN_READ

NDK_FN_READ callback function

-description

The NdkRead (NDK_FN_READ) function posts a read request on an NDK queue pair (QP).

-parameters

-param pNdkQp [in]

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

-param RequestContext [in, optional]

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

-param pSgl

An array of SGE structures (NDK_SGE) that represent the buffers to place incoming data into.

-param nSge [in]

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

-param RemoteAddress [in]

A remote address to read from that is presented in the local host's byte order. The NDK consumer can add an offset to the remotely-provided value.

-param RemoteToken [in]

A remotely-provided memory token that is an opaque array of bytes from the NDK consumer.

-param Flags [in]

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

Value Meaning
NDK_OP_FLAG_SILENT_SUCCESS
0x00000001
Indicates the successful completion of this request does not generate a completion event in the outbound completion queue. However, requests that fail do generate an event 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_RDMA_READ_LOCAL_INVALIDATE
0x00000200
If this flag is set and the provider also reports NDK_ADAPTER_FLAG_RDMA_READ_LOCAL_INVALIDATE_SUPPORTED adapter capability in the NDK_ADAPTER_INFO structure, successful completion of the NdkRead function means that the first buffer specified in the pSgl parameter is invalidated. Unsuccessful completion leaves the buffer and token in an undefined state. This flag is ignored if the provider does not report NDK_ADAPTER_FLAG_RDMA_READ_LOCAL_INVALIDATE_SUPPORTED adapter capability in the NDK_ADAPTER_INFO structure.

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

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.

-returns

The NdkRead function returns one of the following NTSTATUS codes.

Return code Description
STATUS_SUCCESS
The request was posted successfully. A completion entry will be queued to the CQ when the work request is completed.
STATUS_CONNECTION_INVALID
The QP is not connected.
STATUS_REMOTE_RESOURCES
The request tried to read beyond the size of the remote memory.
Other status codes
An error occurred.

-remarks

NdkRead posts a read request on a queue pair (QP).

-see-also

NDKPI Deferred Processing Scheme

NDKPI Work Request Posting Requirements

NDK_ADAPTER_INFO

NDK_FN_ARM_CQ

NDK_QP

NDK_RESULT

NDK_SGE