NDK_FN_READ callback function (ndkpi.h)
The NdkRead (NDK_FN_READ) function posts a read request on an NDK queue pair (QP).
Syntax
NDK_FN_READ NdkFnRead;
NTSTATUS NdkFnRead(
[in] NDK_QP *pNdkQp,
[in, optional] PVOID RequestContext,
const NDK_SGE *pSgl,
[in] ULONG nSge,
[in] UINT64 RemoteAddress,
[in] UINT32 RemoteToken,
[in] ULONG Flags
)
{...}
Parameters
[in] pNdkQp
A pointer to an NDK queue pair (QP) object (NDK_QP).
[in, optional] RequestContext
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 to place incoming data into.
[in] nSge
The number of SGE structures in the array that is specified in the pSgl parameter.
[in] RemoteAddress
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.
[in] RemoteToken
A remotely-provided memory token that is an opaque array of bytes from the NDK consumer.
[in] Flags
A bitwise OR of flags which specifies the operations that are allowed. The following flags are supported:
Value | Meaning |
---|---|
|
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. |
|
Indicates that all prior read requests must be complete before the hardware begins processing this request. |
|
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. |
|
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 NdkRead function returns one of the following NTSTATUS codes.
Return code | Description |
---|---|
|
The request was posted successfully. A completion entry will be queued to the CQ when the work request is completed. |
|
The QP is not connected. |
|
The request tried to read beyond the size of the remote memory. |
|
An error occurred. |
Remarks
NdkRead posts a read request on 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 Deferred Processing Scheme