NdisOffloadTcpSend 함수(ndischimney.h)

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

프로토콜 드라이버 또는 중간 드라이버는 NdisOffloadTcpSend 함수를 호출하여 오프로드된 TCP 연결에서 데이터를 전송합니다.

구문

NDIS_STATUS NdisOffloadTcpSend(
  [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(메모리 설명자 목록) 체인을 가리킵니다. MDL에는 전송할 데이터가 포함됩니다. NET_BUFFER_LIST 및 관련 구조체는 잠겨 있으므로 실제 메모리에 상주합니다. 그러나 시스템 메모리에 매핑되지 않습니다.

반환 값

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

설명

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

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

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

요구 사항

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

추가 정보

MiniportTcpOffloadSend

NDIS_OFFLOAD_HANDLE

NET_BUFFER

NET_BUFFER_LIST

NdisTcpOffloadSendComplete

ProtocolTcpOffloadSendComplete