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가 TcpOffloadBytesTransferred인NET_BUFFER_LIST_INFO 매크로를 호출하여 이 작업을 수행합니다.
- 다음을 호출합니다. NdisAdvanceNetBufferDataStart 함수. NetBufferList 매개 변수는 오프로드 대상이 NdisTcpOffloadDisconnectComplete 함수에 전달하는 NET_BUFFER_LIST 구조와 연결된 NET_BUFFER 구조를 가리킵니다. DataOffsetDelta 매개 변수는 오프로드 대상에 의해 전송되고 원격 호스트에서 성공적으로 승인된 NET_BUFFER 구조의 데이터 바이트 수를 지정해야 합니다. FreeMdl 매개 변수는 NULL이어야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 유니버설 |
헤더 | ndischimney.h(Ndischimney.h 포함) |