PFN_WSK_DISCONNECT_EVENT 콜백 함수(wsk.h)

WskDisconnectEvent 이벤트 콜백 함수는 WSK 애플리케이션에 연결 지향 소켓의 연결이 원격 애플리케이션에 의해 연결이 끊어졌는지 알 수 있습니다.

구문

PFN_WSK_DISCONNECT_EVENT PfnWskDisconnectEvent;

NTSTATUS PfnWskDisconnectEvent(
  [in, optional] PVOID SocketContext,
  [in]           ULONG Flags
)
{...}

매개 변수

[in, optional] SocketContext

연결이 끊긴 연결 지향 소켓의 소켓 컨텍스트에 대한 포인터입니다. WSK 애플리케이션은 다음 방법 중 하나로 WSK 하위 시스템에 대한 이 포인터를 제공했습니다.

  • 소켓을 만들기 위해 WskSocket 함수를 호출했습니다.
  • 소켓을 만들기 위해 WskSocketConnect 함수를 호출했습니다.
  • 소켓을 들어오는 연결로 수락하기 위해 WskAccept 함수를 호출했습니다.
  • 소켓을 들어오는 연결로 수락하기 위해 WskAcceptEvent 이벤트 콜백 함수가 호출되었습니다.

[in] Flags

다음 플래그 조합의 비트 OR을 포함하는 ULONG 값입니다.

WSK_FLAG_ABORTIVE

원격 애플리케이션은 소켓의 중단된 연결 끊기를 수행했습니다. 이 플래그가 설정되지 않은 경우 원격 애플리케이션은 소켓의 정상적인 연결 끊기를 수행했습니다.

WSK_FLAG_AT_DISPATCH_LEVEL

IRQL = DISPATCH_LEVEL WskDisconnectEvent 이벤트 콜백 함수라는 WSK 하위 시스템입니다. 이 플래그가 설정되지 않은 경우 WSK 하위 시스템은 IRQL <= DISPATCH_LEVEL WskDisconnectEvent 이벤트 콜백 함수를 호출했을 수 있습니다.

반환 값

WSK 애플리케이션의 WskDisconnectEvent 이벤트 콜백 함수는 항상 STATUS_SUCCESS 반환해야 합니다.

설명

WSK 하위 시스템은 이전에 SO_WSK_EVENT_CALLBACK 소켓 옵션을 사용하여 이벤트 콜백 함수를 사용하도록 설정한 경우에만 연결 지향 소켓의 연결이 끊어진 경우 WSK 애플리케이션의 WskDisconnectEvent 이벤트 콜백 함수를 호출합니다. 소켓의 이벤트 콜백 함수를 사용하도록 설정하는 방법에 대한 자세한 내용은 이벤트 콜백 함수 사용 및 비활성화를 참조하세요.

원격 애플리케이션이 소켓의 정상적인 연결 끊기를 수행한 경우 소켓에서 더 이상 데이터가 수신되지 않습니다. 그러나 WSK 애플리케이션은 원격 애플리케이션에 의해 소켓이 완전히 닫히거나 WSK 애플리케이션이 소켓에서 WskDisconnect 함수 또는 WskCloseSocket 함수를 호출할 때까지 소켓으로 데이터를 보낼 수 있습니다.

원격 애플리케이션이 소켓의 중단 연결 끊기를 수행한 경우 소켓에서 더 이상 데이터를 받지 않으며 더 이상 데이터를 소켓으로 보낼 수 없습니다.

WSK 하위 시스템은 IRQL <= DISPATCH_LEVEL WSK 애플리케이션의 WskDisconnectEvent 이벤트 콜백 함수를 호출합니다.

WSK 애플리케이션의 WskDisconnectEvent 이벤트 콜백 함수는 WSK 완료 또는 이벤트 콜백 함수의 컨텍스트에서 다른 WSK 요청이 완료될 때까지 기다리지 않아야 합니다. 콜백은 다른 WSK 요청을 시작할 수 있지만(DISPATCH_LEVEL 시간이 너무 많이 소요되지 않는다고 가정) 콜백이 IRQL = PASSIVE_LEVEL 호출되는 경우에도 완료될 때까지 기다리지 않아야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다.
대상 플랫폼 Windows
헤더 wsk.h(Wsk.h 포함)
IRQL <= DISPATCH_LEVEL

추가 정보

WSK_CLIENT_CONNECTION_DISPATCH

WskAccept

WskAcceptEvent

WskCloseSocket

WskConnect

WskControlSocket

WskDisconnect

WskSocket

WskSocketConnect