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 |