WSAStartup

WindowsAPI(Win32API) Advent Calendar 2015 23日目
WindowsAPI(Win32API) Advent Calendar 2015 - Adventar

前回までで、WinInetでHTTP通信などの簡易的なインターネットアクセスについては説明できた・・・。
より高度な、というか自由にネットワークを扱うには、ソケットを使う必要がある・・・。
Windowsにおけるソケットは"WinSock"と呼ばれる・・・。
WSAStartupは、その"WinSock"を初期化するWindowsAPI・・・。

WSAStartup function (Windows)
Geekなぺーじ:winsockプログラミング

WinSockを使うには、まず、

winsock2.hをインクルードし、

f:id:BG1:20151223110539p:plain

ws2_32.libをリンクする必要がある・・・。

WinSockの情報を格納するWSADATA構造体変数wsaDataを用意し、そのアドレスをWSAStartupの第2引数に・・・。
第1引数はMAKEWORDでWinSockのバージョンを指定する・・・。
WinSockにはいくつかバージョンがあるのだが、今回は新しめ(でもないが)の2.2を使う・・・。

戻り値が0でないなら初期化に成功ということ・・・。

WinSockを使い終わったらWSACleanupで終了処理をすること・・・。

WSAStartup success!
続行するには何かキーを押してください . . .

これでWinSockを使うことができる・・・。

Sample/WSAStartup.cpp at master · bg1bgst333/Sample · GitHub