NDK_FN_READ 콜백 함수(ndkpi.h)

NdkRead(NDK_FN_READ) 함수는 NDK 큐 쌍(QP)에 읽기 요청을 게시합니다.

구문

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
)
{...}

매개 변수

[in] pNdkQp

QP(NDK 큐 쌍) 개체(NDK_QP)에 대한 포인터입니다.

[in, optional] RequestContext

이 요청에 대한 NDK_RESULT 구조의 RequestContext 멤버에 반환되는 컨텍스트 값입니다.

pSgl

들어오는 데이터를 배치할 버퍼를 나타내는 SGE 구조체(NDK_SGE)의 배열입니다.

[in] nSge

pSgl 매개 변수에 지정된 배열의 SGE 구조체 수입니다.

[in] RemoteAddress

에서 읽을 원격 주소는 로컬 호스트의 바이트 순서로 표시됩니다. NDK 소비자는 원격으로 제공된 값에 오프셋을 추가할 수 있습니다.

[in] RemoteToken

NDK 소비자의 불투명한 바이트 배열인 원격으로 제공되는 메모리 토큰입니다.

[in] Flags

허용되는 작업을 지정하는 플래그의 비트 OR입니다. 지원되는 플래그는 다음과 같습니다.

의미
NDK_OP_FLAG_SILENT_SUCCESS
0x00000001
이 요청을 성공적으로 완료해도 아웃바운드 완료 큐에서 완료 이벤트가 생성되지 않음을 나타냅니다. 그러나 실패한 요청은 완료 큐에서 이벤트를 생성합니다.
NDK_OP_FLAG_READ_FENCE
0x00000002
하드웨어가 이 요청 처리를 시작하기 전에 모든 이전 읽기 요청을 완료해야 했음을 나타냅니다.
NDK_OP_FLAG_RDMA_READ_LOCAL_INVALIDATE
0x00000200
이 플래그가 설정되고 공급자가 NDK_ADAPTER_INFO 구조에서NDK_ADAPTER_FLAG_RDMA_READ_LOCAL_INVALIDATE_SUPPORTED 어댑터 기능도 보고하는 경우 NdkRead 함수를 성공적으로 완료하면 pSgl 매개 변수에 지정된 첫 번째 버퍼가 무효화됩니다. 완료에 실패하면 버퍼와 토큰이 정의되지 않은 상태로 남습니다. 공급자가 NDK_ADAPTER_INFO 구조에서NDK_ADAPTER_FLAG_RDMA_READ_LOCAL_INVALIDATE_SUPPORTED 어댑터 기능을 보고하지 않으면 이 플래그는 무시됩니다.

참고 이 플래그는 NDKPI 1.2(Windows Server 2012 R2) 이상에서만 지원됩니다.

NDK_OP_FLAG_DEFER
0x00000200
처리를 위해 하드웨어에 대한 요청을 나타내는 것을 연기할 수 있음을 NDK 공급자에게 나타냅니다. 이 플래그에 대한 자세한 내용은 NDKPI 지연 처리 체계를 참조하세요.

참고 이 플래그는 NDKPI 1.2(Windows Server 2012 R2) 이상에서만 지원됩니다.

반환 값

NdkRead 함수는 다음 NTSTATUS 코드 중 하나를 반환합니다.

반환 코드 설명
STATUS_SUCCESS
요청이 성공적으로 게시되었습니다. 작업 요청이 완료되면 완료 항목이 CQ에 큐에 대기됩니다.
STATUS_CONNECTION_INVALID
QP가 연결되지 않았습니다.
STATUS_REMOTE_RESOURCES
요청이 원격 메모리 크기를 초과하여 읽으려고 했습니다.
기타 상태 코드
오류가 발생했습니다.

설명

NdkRead 는 QP(큐 쌍)에 읽기 요청을 게시합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 NDIS 6.30 이상에서는 지원되지 않습니다.
지원되는 최소 서버 Windows Server 2012
대상 플랫폼 Windows
헤더 ndkpi.h(Ndkpi.h 포함)
IRQL <=DISPATCH_LEVEL

추가 정보

NDKPI 지연 처리 체계

NDKPI 작업 요청 게시 요구 사항

NDK_ADAPTER_INFO

NDK_FN_ARM_CQ

NDK_QP

NDK_RESULT

NDK_SGE