PFN_WSK_LISTEN 콜백 함수(wsk.h)

WskListen 함수를 사용하면 스트림 소켓이 소켓의 바인딩된 주소에서 들어오는 연결을 수신 대기할 수 있습니다.

구문

PFN_WSK_LISTEN PfnWskListen;

NTSTATUS PfnWskListen(
  [in]      PWSK_SOCKET Socket,
  [in, out] PIRP Irp
)
{...}

매개 변수

[in] Socket

들어오는 연결을 수신 대기하는 스트림 소켓의 소켓 개체를 지정하는 WSK_SOCKET 구조체에 대한 포인터입니다. 이 소켓은 이전에 WskBind를 호출하여 로컬 전송 주소에 바인딩되어 있어야 합니다.

[in, out] Irp

WSK 하위 시스템이 수신 대기 작업을 비동기적으로 완료하는 데 사용하는 호출자 할당 IRP에 대한 포인터입니다. WSK 함수에서 IRP를 사용하는 방법에 대한 자세한 내용은 Winsock 커널 함수에서 IRP 사용을 참조하세요.

반환 값

WskListen은 다음 NTSTATUS 코드 중 하나를 반환합니다.

반환 코드 설명
STATUS_SUCCESS
스트림 소켓이 들어오는 연결을 수신 대기했습니다. IRP는 성공 상태 완료됩니다.
STATUS_PENDING
스트림 소켓에서 들어오는 연결을 기다리는 WSK 하위 시스템에 의해 IRP가 큐에 대기되었습니다.
STATUS_FILE_FORCED_CLOSED
소켓이 더 이상 작동하지 않습니다. IRP는 실패 상태 완료됩니다. WSK 애플리케이션은 가능한 한 빨리 소켓을 닫기 위해 WskCloseSocket 함수를 호출해야 합니다.
기타 상태 코드
오류가 발생했습니다. IRP는 실패 상태 완료됩니다.

설명

WSK 애플리케이션은 WskBind 함수를 호출하여 애플리케이션이 이전에 로컬 전송 주소에 바인딩한 스트림 소켓에서만 WskListen 함수를 호출할 수 있습니다. 스트림 소켓에서 WskListen 이 성공적으로 호출되면 소켓은 수신 대기 소켓 흐름에 커밋되며 더 이상 연결 지향 소켓 함수를 호출할 수 없습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 10, 버전 1703
대상 플랫폼 유니버설
헤더 wsk.h(Wsk.h 포함)
IRQL <= DISPATCH_LEVEL

추가 정보

WSK_PROVIDER_STREAM_DISPATCH

WSK_SOCKET

WskAccept

WskBind

WskCloseSocket