WSAStartup (Winsock ソケット プログラミング) 関数の詳細

WSAStartup 関数は Windows ソケット API の初期化関数であり、Windows ソケットの使用を開始するために利用します。

関数のプロトタイプは以下のとおりです。

int WSAStartup(
WORD      wVersionRequested,
LPWSADATA lpWSAData
);

パラメーターの説明:

  1. バージョン指定:一般、MAKEWORD(2, 2) でよい
  2. lpWSAData:Winsockの実装情報を格納するWSADATA構造体へのポインタ

関数が返す値:

  1. 関数の呼び出しが成功すると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関数の詳細な説明が参考になれば幸いです。

bannerAds