다음을 통해 공유


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
IRP는 스트림 소켓에서 들어오는 연결을 기다리는 WSK 하위 시스템에 의해 큐에 대기되었습니다.
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