다음을 통해 공유


PFN_WSK_CONNECT 콜백 함수(wsk.h)

WskConnect 함수는 연결 지향 또는 스트림 소켓을 원격 전송 주소에 연결합니다.

구문

PFN_WSK_CONNECT PfnWskConnect;

NTSTATUS PfnWskConnect(
  [in]      PWSK_SOCKET Socket,
  [in]      PSOCKADDR RemoteAddress,
            ULONG Flags,
  [in, out] PIRP Irp
)
{...}

매개 변수

[in] Socket

원격 전송 주소에 연결된 소켓의 소켓 개체를 지정하는 WSK_SOCKET 구조체에 대한 포인터입니다.

[in] RemoteAddress

소켓을 연결할 원격 전송 주소를 지정하는 구조체에 대한 포인터입니다. 이 포인터는 WSK 애플리케이션이 소켓을 만들 때 지정한 주소 패밀리에 해당하는 특정 SOCKADDR 구조체 형식에 대한 포인터여야 합니다.

Flags

이 매개 변수는 시스템 사용을 위해 예약되어 있습니다. WSK 애플리케이션은 이 매개 변수를 0으로 설정해야 합니다.

[in, out] Irp

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

반환 값

WskConnect 는 다음 NTSTATUS 코드 중 하나를 반환합니다.

반환 코드 설명
STATUS_SUCCESS
소켓이 원격 전송 주소에 성공적으로 연결되었습니다. IRP는 성공 상태 완료됩니다.
STATUS_PENDING
WSK 하위 시스템이 소켓을 즉시 연결할 수 없습니다. WSK 하위 시스템은 소켓을 원격 전송 주소에 연결한 후 IRP를 완료합니다. 연결 작업의 상태 IRP의 IoStatus.Status 필드에 반환됩니다.
STATUS_FILE_FORCED_CLOSED
소켓이 더 이상 작동하지 않습니다. IRP는 실패 상태 완료됩니다. WSK 애플리케이션은 WskCloseSocket 함수를 호출하여 가능한 한 빨리 소켓을 닫아야 합니다.
기타 상태 코드
오류가 발생했습니다. IRP는 실패 상태 완료됩니다.

설명

WSK 애플리케이션은 WskBind 함수를 호출하여 애플리케이션이 이전에 로컬 전송 주소에 바인딩한 연결 지향 또는 스트림 소켓에서만 WskConnect 함수를 호출할 수 있습니다.

스트림 소켓의 경우 스트림 소켓에서 WskConnect 가 성공적으로 호출되면 소켓은 연결 지향 흐름에 커밋되며 더 이상 수신 대기 소켓 함수를 호출하지 않을 수 있습니다.

WSK 애플리케이션은 WskSocket 함수, WskBind 함수 및 WskConnect 함수를 호출하는 대신 WskSocketConnect 함수를 호출하여 단일 함수 호출에서 연결 지향 소켓을 만들고 바인딩하고 연결할 수 있습니다. WSK 애플리케이션이 소켓 옵션을 설정하거나 소켓을 바인딩하거나 연결하기 전에 I/O 컨트롤 작업을 실행해야 하는 경우가 아니면 WskSocketConnect 함수를 호출하는 것이 좋습니다.

요구 사항

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

추가 정보

SOCKADDR

WSK_PROVIDER_CONNECTION_DISPATCH WSK_PROVIDER_STREAM_DISPATCH

WSK_SOCKET

WskBind

WskCloseSocket

WskDisconnect

WskDisconnectEvent

WskSocket

WskSocketConnect