NdisOffloadTcpReceive 함수(ndischimney.h)

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

프로토콜 드라이버 또는 중간 드라이버는 NdisOffloadTcpReceive 함수를 호출하여 오프로드된 TCP 연결에 수신 요청(수신 버퍼)을 게시합니다.

구문

NDIS_STATUS NdisOffloadTcpReceive(
  [in] IN PNDIS_OFFLOAD_HANDLE NdisOffloadHandle,
  [in] IN PNET_BUFFER_LIST     NetBufferList
);

매개 변수

[in] NdisOffloadHandle

오프로드된 TCP 연결에 대한 호출자 컨텍스트의 NDIS_OFFLOAD_HANDLE 구조에 대한 핸들입니다. 자세한 내용은 중간 드라이버를 통해 오프로드된 상태를 참조합니다.

[in] NetBufferList

NET_BUFFER_LIST 구조체에 대한 포인터입니다. 이 구조체는 독립 실행형 구조체이거나 NET_BUFFER_LIST 구조체의 연결된 목록에서 첫 번째 구조체일 수 있습니다. 목록의 각 NET_BUFFER_LIST 구조체는 하나의 NET_BUFFER 구조를 설명합니다. NET_BUFFER 구조는 MDL(메모리 설명자 목록) 체인을 가리킵니다. NET_BUFFER_LIST 및 연결된 구조체는 물리적 메모리에 상주할 수 있도록 잠깁니다. 그러나 시스템 메모리에 매핑되지 않습니다.

반환 값

NdisOffloadTcpReceive 함수는 항상 NDIS_STATUS_PENDING 반환합니다. 수신 작업은 항상 비동기적으로 완료됩니다.

설명

에 대한 호출에 대한 응답 MiniportTcpOffloadReceive 함수는 중간 드라이버가 NdisOffloadTcpReceive 함수를 호출하여 수신 작업을 기본 중간 드라이버 또는 오프로드 대상으로 전파합니다. 자세한 내용은 I/O 작업 전파를 참조하세요.

NdisOffloadTcpReceive 함수에 중간 드라이버는 다음을 전달합니다.

  • 오프로드된 TCP 연결에 대한 중간 드라이버의 컨텍스트에 저장된 NDIS_OFFLOAD_HANDLE 구조를 참조하는 NdisOffloadHandle 함수입니다. 자세한 내용은 중간 드라이버를 통해 오프로드된 상태를 참조합니다.
  • NDIS가 중간 드라이버의 MiniportTcpOffloadReceive 함수에 전달한 것과 동일한 PNET_BUFFER_LIST 포인터입니다.
이후 기본 드라이버 또는 오프로드 대상이 NdisTcpOffloadReceiveComplete 함수를 호출하여 수신 작업을 완료하면 NDIS는 중간 드라이버의 ProtocolOffloadReceiveComplete 함수를 호출합니다. 그런 다음 중간 드라이버는 NdisTcpOffloadReceiveComplete 함수를 호출하여 전달 작업의 완료를 전파합니다.

요구 사항

요구 사항
대상 플랫폼 유니버설
헤더 ndischimney.h(Ndischimney.h 포함)
라이브러리 Ndis.lib

추가 정보

MiniportTcpOffloadReceive

NDIS_OFFLOAD_HANDLE

NET_BUFFER

NET_BUFFER_LIST

NdisTcpOffloadReceiveComplete ProtocolTcpOffloadReceiveComplete