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
NDK QP(큐 쌍) 개체(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_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 공급자에게 나타냅니다. 이 플래그에 대한 자세한 내용은 NDKPI 지연 처리 체계를 참조하세요.
참고 이 플래그는 NDKPI 1.2(Windows Server 2012 R2) 이상에서만 지원됩니다. |
반환 값
NdkRead 함수는 다음 NTSTATUS 코드 중 하나를 반환합니다.
| 반환 코드 | 설명 |
|---|---|
|
요청이 성공적으로 게시되었습니다. 작업 요청이 완료되면 완료 항목이 CQ에 큐에 대기됩니다. |
|
QP가 연결되지 않았습니다. |
|
요청이 원격 메모리 크기를 초과하여 읽으려고 했습니다. |
|
오류가 발생했습니다. |
설명
NdkRead 는 QP(큐 쌍)에 읽기 요청을 게시합니다.
요구 사항
| 지원되는 최소 클라이언트 | 지원되지 않음, NDIS 6.30 이상에서 지원됨 |
| 지원되는 최소 서버 | Windows Server 2012 |
| 대상 플랫폼 | Windows |
| 헤더 | ndkpi.h(Ndkpi.h 포함) |
| IRQL | <=DISPATCH_LEVEL |
참고 항목
피드백
다음에 대한 사용자 의견 제출 및 보기