NdisOffloadTcpDisconnect 함수(ndischimney.h)

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

프로토콜 또는 중간 드라이버는 NdisOffloadTcpDisconnect 함수를 호출하여 오프로드된 TCP 연결의 보내기 절반을 닫습니다. 또한 수행할 연결 끊김이 정상적인 연결 끊기인 경우 프로토콜 또는 중간 드라이버는 기본 오프로드 대상이 FIN 세그먼트를 보내기 전에 오프로드된 TCP 연결에서 전송해야 하는 애플리케이션 데이터를 제공할 수 있습니다.

구문

NDIS_STATUS NdisOffloadTcpDisconnect(
  [in] IN PNDIS_OFFLOAD_HANDLE NdisOffloadHandle,
  [in] IN PNET_BUFFER_LIST     NetBufferList,
  [in] IN ULONG                Flags
);

매개 변수

[in] NdisOffloadHandle

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

[in] NetBufferList

단일 NET_BUFFER_LIST 구조체에 대한 포인터입니다. 하나의 NET_BUFFER 구조체만 이 NET_BUFFER_LIST 구조체와 연결됩니다.

[in] Flags

다음 값 중 하나로 수행할 연결 끊기 유형입니다.

TCP_DISCONNECT_ABORTIVE_CLOSE

오프로드 대상이 RST 세그먼트를 전송하여 중단된 연결 끊기를 수행하게 지정합니다.

TCP_DISCONNECT_GRACEFUL_CLOSE

오프로드 대상이 FIN 세그먼트를 전송하여 정상적인 연결 끊기를 수행하도록 지정합니다.

반환 값

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

설명

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

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

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

요구 사항

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

추가 정보

MiniportTcpOffloadDisconnect

NDIS_OFFLOAD_HANDLE

NET_BUFFER

NET_BUFFER_LIST

NdisTcpOffloadDisconnectComplete ProtocolTcpOffloadDisconnectComplete