WSAStartup (Winsock ソケット プログラミング) 関数の詳細
WSAStartup 関数は Windows ソケット API の初期化関数であり、Windows ソケットの使用を開始するために利用します。
関数のプロトタイプは以下のとおりです。
int WSAStartup(
WORD wVersionRequested,
LPWSADATA lpWSAData
);
パラメーターの説明:
- バージョン指定:一般、MAKEWORD(2, 2) でよい
- lpWSAData:Winsockの実装情報を格納するWSADATA構造体へのポインタ
関数が返す値:
- 関数の呼び出しが成功すると0を返し、関数の呼び出しが失敗するとエラーコードを返します。
WSAStartup関数は、Winsockライブラリの初期化、Winsock.dllの読み込み、バージョンの検証を行います。他のWinsock関数は WSAStartup関数を呼び出してから使用してください。
WSAStartup関数を呼び出した後、WSAData構造体を通してWinsockの実装情報(Winsockのバージョン番号、記述等)を取得することができます。
WSAStartup関数が成功した後は、Winsockライブラリを使用しなくなったタイミングでWSACleanup関数でクリーンアップを行う必要があります。
以下にサンプルコードを示します。
#include <winsock2.h>
#include <ws2tcpip.h>
int main() {
WSADATA wsaData;
WORD wVersionRequested = MAKEWORD(2, 2);
int err;
// 初始化Winsock库
err = WSAStartup(wVersionRequested, &wsaData);
if (err != 0) {
printf("WSAStartup failed with error: %d\n", err);
return 1;
}
// 使用Winsock库
// 清理Winsock库
WSACleanup();
return 0;
}
上記のWSAStartup関数の詳細な説明が参考になれば幸いです。