TCP_OFFLOAD_RECEIVE_INDICATE_HANDLER 콜백 함수(ndischimney.h)

[TCP 굴뚝 오프로드 기능은 더 이상 사용되지 않으며 사용하면 안 됩니다.]

NDIS는 프로토콜 드라이버 또는 중간 드라이버의 를 호출합니다. ProtocolTcpOffloadReceiveIndicate 함수는 기본 드라이버 또는 오프로드 대상에 의해 표시되는 수신된 데이터를 전달합니다.

구문

TCP_OFFLOAD_RECEIVE_INDICATE_HANDLER TcpOffloadReceiveIndicateHandler;

NDIS_STATUS TcpOffloadReceiveIndicateHandler(
  [in]  IN PVOID OffloadContext,
  [in]  IN PNET_BUFFER_LIST NetBufferList,
  [in]  IN NDIS_STATUS Status,
  [out] OUT PULONG BytesConsumed
)
{...}

매개 변수

[in] OffloadContext

표시가 이루어지는 TCP 연결에 대한 프로토콜 또는 중간 드라이버의 NDIS_OFFLOAD_HANDLE 구조에 대한 포인터입니다. 프로토콜 또는 중간 드라이버는 연결을 오프로드할 때 이 포인터를 NdisInitiateOffload 함수에 대한 입력 매개 변수로 제공했습니다.

[in] NetBufferList

NET_BUFFER_LIST 구조체에 대한 포인터입니다. 각 NET_BUFFER_LIST 구조체는 NET_BUFFER 구조의 목록을 설명합니다. 목록의 각 NET_BUFFER 구조는 MDL(메모리 설명자 목록) 체인에 매핑됩니다. MDL에는 수신된 데이터가 포함됩니다. MDL은 그대로 유지되도록 잠겨 있지만 시스템 메모리에 매핑되지 않습니다.

NetBufferList에 지정된 NET_BUFFER_LIST 구조체는 독립 실행형 구조체여야 하며 연결된 NET_BUFFER_LIST 구조체 목록의 첫 번째 구조체일 수 없습니다. 오프로드 대상은 오프로드 수신 표시에서 동일한 NET_BUFFER 필요한 만큼의 MDL을 연결하여 이 제한을 해결할 수 있습니다.

[in] Status

중간 드라이버는 호출할 때 이 상태 전파해야 합니다. NdisTcpOffloadReceiveHandler.

[out] BytesConsumed

클라이언트 애플리케이션에서 사용한 바이트 수를 수신하는 ULONG 형식 변수에 대한 포인터입니다.

반환 값

The ProtocolTcpOffloadReceiveIndicate 함수는 다음 값 중 하나를 반환할 수 있습니다.

반환 코드 설명
NDIS_STATUS_SUCCESS
클라이언트 애플리케이션은 표시된 모든 수신 데이터를 사용했습니다.
NDIS_STATUS_OFFLOAD_DATA_NOT_ACCEPTED
클라이언트 애플리케이션이 표시된 모든 수신 데이터를 거부했습니다.
NDIS_STATUS_OFFLOAD_DATA_PARTIALLY_ACCEPTED
클라이언트 애플리케이션은 표시된 수신 데이터의 하위 집합을 사용했습니다. 클라이언트 애플리케이션에서 사용한 데이터 양(바이트)은 BytesConsumed 매개 변수로 지정된 변수에 반환됩니다.

설명

오버리싱 드라이버 또는 호스트 스택에 표시를 전파하기 위해 중간 드라이버는 를 호출합니다. NdisTcpOffloadReceiveHandler 함수입니다. 중간 드라이버는 다음 매개 변수를 NdisTcpOffloadReceiveHandler 함수에 전달합니다.

  • 오프로드된 TCP 연결에 대한 컨텍스트에 저장된 오프로드 대상인 NdisOffloadHandle 입니다. 자세한 내용은 중간 드라이버를 통해 오프로드된 상태를 참조합니다.
  • NDIS가 중간 드라이버의 ProtocolTcpOffloadReceiveIndicate 함수에 전달한 NetBufferList 포인터입니다.
  • NDIS가 중간 드라이버의 ProtocolTcpOffloadReceiveIndicate 함수에 전달한 상태입니다.

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 ndischimney.h(Ndischimney.h 포함)

추가 정보

Mdl

NDIS_OFFLOAD_HANDLE

NET_BUFFER

NET_BUFFER_LIST

NdisInitiateOffload

NdisOffloadTcpReceiveReturn

NdisTcpOffloadReceiveHandler