NDK_FN_GET_CONNECTION_DATA 콜백 함수(ndkpi.h)
NdkGetConnectionData(NDK_FN_GET_CONNECTION_DATA) 함수는 읽기 제한 값과 피어에서 보낸 개인 데이터를 가져옵니다.
구문
NDK_FN_GET_CONNECTION_DATA NdkFnGetConnectionData;
NTSTATUS NdkFnGetConnectionData(
[in] NDK_CONNECTOR *pNdkConnector,
[out, optional] ULONG *pInboundReadLimit,
[out, optional] ULONG *pOutboundReadLimit,
PVOID pPrivateData,
ULONG *pPrivateDataLength
)
{...}
매개 변수
[in] pNdkConnector
NDK 커넥터 개체(NDK_CONNECTOR)에 대한 포인터입니다.
[out, optional] pInboundReadLimit
QP에서 허용하는 들어오는 진행 중인 읽기 작업의 최대 수가 이 위치에 반환됩니다.
[out, optional] pOutboundReadLimit
QP에서 허용하는 나가는 진행 중인 읽기 작업의 최대 수가 이 위치에 반환됩니다.
pPrivateData
반환되는 프라이빗 데이터에 대한 포인터입니다.
pPrivateDataLength
pPrivateData 매개 변수에 제공되는 개인 데이터의 길이(바이트)입니다.
반환 값
NdkGetConnectionData 함수는 다음 NTSTATUS 코드 중 하나를 반환합니다.
반환 코드 | 설명 |
---|---|
|
작업이 성공적으로 완료되었습니다. |
|
*pPrivateDataLength 매개 변수의 값은 연결 프라이빗 데이터를 보유하기에는 너무 작은 버퍼 크기를 지정했습니다. *pPrivateDataLength 는 필요한 크기로 업데이트됩니다. |
|
오류가 발생했습니다. |
설명
NdkGetConnectionData 함수는 연결, 수락 또는 거부 요청과 유효한 인바운드 및 아웃바운드 읽기 제한 값을 사용하여 피어에서 보낸 프라이빗 데이터를 가져옵니다. 이러한 값은 로컬 및 원격 피어의 요청된 값과 공급자의 최대 제한에서 파생됩니다.
활성 쪽에서 프라이빗 데이터와 유효한 IRD(인바운드 읽기 제한) 및 ORD(아웃바운드 읽기 제한) 값에 액세스하기 위해 NDK 소비자는 NDK_FN_CONNECT_EVENT_CALLBACK 함수에 전달된 커넥터 개체에 대해 NdkGetConnectionData를 호출할 수 있습니다.
수동 쪽에서 프라이빗 데이터와 유효 IRD 및 ORD 값에 액세스하기 위해 소비자는 NDK_FN_CONNECT 또는 NDK_FN_CONNECT_WITH_SHARED_ENDPOINT 성공적으로 완료된 커넥터 개체에 대해 NdkGetConnectionData를 호출할 수 있습니다. NDK 소비자는 수동 쪽의 NDK_FN_ACCEPT 함수 또는 활성 쪽의 NDK_FN_COMPLETE_CONNECT 함수를 호출한 후 이 함수를 호출하지 않습니다.
pPrivateData 매개 변수가 NULL이고 *pPrivateDataLength가 0인 경우 NDK 공급자는 STATUS_SUCCESS 반환하고 필요한 RDS(프라이빗 데이터 버퍼 크기)를 *pPrivateDataLength에 저장해야 합니다.
pPrivateData가 NULL이 아닌 경우 공급자는 pPrivateData의 버퍼에 프라이빗 데이터를 *pPrivateDataLength 또는 RDS(바이트)까지 복사해야 합니다.
*pPrivateDataLength가 RDS보다 크거나 같으면 공급자는 STATUS_SUCCESS 반환해야 합니다. 그렇지 않으면 공급자가 STATUS_BUFFER_TOO_SMALL 반환해야 합니다. 두 경우 모두 공급자는 반환하기 전에 *pPrivateDataLength에 RDS를 저장해야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | 지원되지 않음, NDIS 6.30 이상에서 지원됨 |
지원되는 최소 서버 | Windows Server 2012 |
대상 플랫폼 | Windows |
헤더 | ndkpi.h(Ndkpi.h 포함) |
IRQL | <=DISPATCH_LEVEL |