다음을 통해 공유


NdisOffloadTcpForward 함수(ndischimney.h)

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

프로토콜 드라이버 또는 중간 드라이버는 NdisOffloadTcpForward 함수를 호출하여 승인되지 않은 수신된 TCP 세그먼트를 기본 드라이버 또는 오프로드 대상으로 전달합니다.

통사론

NDIS_STATUS NdisOffloadTcpForward(
  [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 구조와 연결된 MDL에는 오프로드 대상으로 전달되는 TCP 세그먼트가 하나만 포함됩니다. 첫 번째 MDL의 첫 번째 바이트는 TCP 헤더의 첫 번째 바이트입니다. NET_BUFFER_LIST 및 관련 구조체는 물리적 메모리에 계속 상주할 수 있도록 잠겨 있습니다. 그러나 시스템 메모리에 매핑되지 않습니다.

반환 값

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

발언

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

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

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

요구 사항

요구
대상 플랫폼 보편적
헤더 ndischimney.h(Ndischimney.h 포함)
라이브러리 Ndis.lib

참고 항목

MiniportTcpOffloadForward

NDIS_OFFLOAD_HANDLE

NET_BUFFER

NET_BUFFER_LIST

NdisTcpOffloadForwardComplete ProtocolTcpOffloadForwardComplete