다음을 통해 공유


WSACOMPLETION 구조체(winsock2.h)

WSACOMPLETION 구조는 등록된 네임스페이스에 대한 I/O 컨트롤 호출에 대한 완료 알림 설정을 지정합니다.

구문

typedef struct _WSACOMPLETION {
  WSACOMPLETIONTYPE Type;
  union {
    struct {
      HWND   hWnd;
      UINT   uMsg;
      WPARAM context;
    } WindowMessage;
    struct {
      LPWSAOVERLAPPED lpOverlapped;
    } Event;
    struct {
      LPWSAOVERLAPPED                    lpOverlapped;
      LPWSAOVERLAPPED_COMPLETION_ROUTINE lpfnCompletionProc;
    } Apc;
    struct {
      LPWSAOVERLAPPED lpOverlapped;
      HANDLE          hPort;
      ULONG_PTR       Key;
    } Port;
  } Parameters;
} WSACOMPLETION, *PWSACOMPLETION, *LPWSACOMPLETION;

멤버

Type

형식: WSACOMPLETIONTYPE

필요한 완료 알림 유형입니다. 설명 부분을 참조하세요.

Parameters

콜백을 완료하는 데 필요한 매개 변수입니다. 매개 변수 조합 내의 구조체는 지정된 각 형식의 콜백을 완료하는 데 필요한 정보를 지정합니다. 예를 들어 Type을 NSP_NOTIFY_HWND 설정하면 WindowMessage 구조체를 채워야 합니다.

Parameters.WindowMessage

Parameters.WindowMessage.hWnd

형식: HWND Windows 핸들입니다.

Parameters.WindowMessage.uMsg

형식: UINT 메시지 핸들입니다.

Parameters.WindowMessage.context

형식: WPARAM 메시지 또는 핸들의 컨텍스트입니다.

Parameters.Event

Parameters.Event.lpOverlapped

형식: LPWSAOVERLAPPEDWSAOVERLAPPED 구조체에 대한 포인터입니다.

Parameters.Apc

Parameters.Apc.lpOverlapped

형식: LPWSAOVERLAPPEDWSAOVERLAPPED 구조체에 대한 포인터입니다.

Parameters.Apc.lpfnCompletionProc

형식: _In_opt_ LPWSAOVERLAPPED_COMPLETION_ROUTINE

애플리케이션에서 제공하는 완료 루틴에 대한 포인터입니다.

Parameters.Port

Parameters.Port.lpOverlapped

형식: LPWSAOVERLAPPEDWSAOVERLAPPED 구조체에 대한 포인터입니다.

Parameters.Port.hPort

형식: HANDLE 포트에 대한 핸들입니다.

Parameters.Port.Key

형식: ULONG_PTR 키에 대한 포인터입니다.

설명

WSACOMPLETION 구조를 사용하면 Type에 제공된 값에 따라 다음 형식으로 콜백을 제공할 수 있습니다.

콜백 형식 형식 값
폴링 NSP_NOTIFY_IMMEDIATELY
창 메시지 NSP_NOTIFY_HWND
이벤트 NSP_NOTIFY_EVENT
APC NSP_NOTIFY_APC
완료 포트 NSP_NOTIFY_PORT
 

차단 함수의 경우 WSACOMPLETION 구조를 null로 설정합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
머리글 winsock2.h

추가 정보

WSANSPIoctl