NDIS_TCP_OFFLOAD_DISCONNECT_COMPLETE 콜백 함수(ndischimney.h)

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

오프로드 대상은 NdisTcpOffloadDisconnectComplete 함수를 호출하여 에 대한 이전 호출로 시작된 연결 끊기 요청을 완료합니다.오프로드 대상의 MiniportTcpOffloadDisconnect 함수입니다.

구문

NDIS_TCP_OFFLOAD_DISCONNECT_COMPLETE NdisTcpOffloadDisconnectComplete;

void NdisTcpOffloadDisconnectComplete(
  [in] IN NDIS_HANDLE NdisMiniportHandle,
  [in] IN PNET_BUFFER_LIST NetBufferList
)
{...}

매개 변수

[in] NdisMiniportHandle

에 대한 이전 호출에서 오프로드 대상이 얻은 핸들입니다. NdisMRegisterMiniportDriver 함수.

[in] NetBufferList

단일 NET_BUFFER_LIST 구조체에 대한 포인터입니다. 오프로드 대상은 이 포인터를 에 대한 입력 매개 변수로 획득했습니다. MiniportTcpOffloadDisconnect 함수.

반환 값

없음

설명

중단 연결 끊기 완료

오프로드 대상이 중단된 연결 끊기를 실행한 경우 NdisTcpOffloadDisconnectComplete 함수를 호출하기 전에 다음을 수행해야 합니다.

  • NDIS_STATUS_REQUEST_ABORTED 상태 값으로 연결에서 미해결 송신 요청을 모두 완료합니다. 오프로드 대상은 이 상태 값을 연결된 목록에 있는 각 NET_BUFFER_LIST 구조체의 상태 멤버에 씁니다. NdisTcpOffloadSendComplete 함수.
  • NetBufferList 포인터가 가리키는 NET_BUFFER_LIST 구조체의 Status 멤버에 상태 값을 씁니다. NDIS_STATUS_SUCCESS 상태 값은 오프로드 대상이 RST 세그먼트를 성공적으로 전송했음을 나타냅니다. 허용되는 상태 값에 대한 설명은 NET_BUFFER_LIST.
정상 연결 끊기 완료

정상적인 연결 끊기 요청을 완료하기 전에 오프로드 대상은 다음을 수행해야 합니다.

  • 상태 값을 에 전달하는 NET_BUFFER_LIST 구조체의 Status 멤버에 씁니다. NdisTcpOffloadDisconnectComplete 함수:
    • NDIS_STATUS_SUCCESS 값은 FIN 세그먼트와 모든 사용자 데이터가 오프로드 대상에 의해 성공적으로 전송되었으며 원격 호스트에서도 승인되었음을 나타냅니다.
    • NDIS_STATUS_UPLOAD_IN_PROGRESS 값은 NdisMiniportHandle 에서 참조하는 TCP 연결이 업로드되고 있음을 나타냅니다.
    • NDIS_STATUS_REQUEST_ABORTED 값은 FIN 세그먼트 및/또는 사용자 데이터가 오프로드 대상에 의해 성공적으로 전송되고 원격 호스트에서 승인되지 않음을 나타냅니다. 호스트 스택은 결국 TCP 연결의 오프로드를 종료합니다.
  • 전송되고 성공적으로 승인된 사용자 데이터 바이트 수를 지정합니다. 오프로드 대상은 ID가 TcpOffloadBytesTransferredNET_BUFFER_LIST_INFO 매크로를 호출하여 이 작업을 수행합니다.
  • 다음을 호출합니다. NdisAdvanceNetBufferDataStart 함수. NetBufferList 매개 변수는 오프로드 대상이 NdisTcpOffloadDisconnectComplete 함수에 전달하는 NET_BUFFER_LIST 구조와 연결된 NET_BUFFER 구조를 가리킵니다. DataOffsetDelta 매개 변수는 오프로드 대상에 의해 전송되고 원격 호스트에서 성공적으로 승인된 NET_BUFFER 구조의 데이터 바이트 수를 지정해야 합니다. FreeMdl 매개 변수는 NULL이어야 합니다.
NdisTcpOffloadDisconnectComplete 함수는 NDIS가 오프로드 대상의 에 전달한 NET_BUFFER_LIST 구조체 및 연결된 구조만 반환합니다. MiniportTcpOffloadDisconnect 함수. NdisTcpOffloadDisconnectComplete 함수는 NDIS가 오프로드 대상의 에 대한 이전 호출에서 전달한 NET_BUFFER_LIST 구조를 반환할 수 없습니다. MiniportTcpOffloadSend 함수입니다.

요구 사항

요구 사항
대상 플랫폼 유니버설
헤더 ndischimney.h(Ndischimney.h 포함)

추가 정보

MiniportTcpOffloadDisconnect

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_INFO

NdisAdvanceNetBufferDataStart

NdisMRegisterMiniportDriver

NdisTcpOffloadSendComplete