Win32 API 日本語リファレンス
ホーム › Networking.WinSock › LPWPUOPENCURRENTTHREAD

LPWPUOPENCURRENTTHREAD

コールバック

シグネチャ

INT LPWPUOPENCURRENTTHREAD(
    WSATHREADID* lpThreadId,
    INT* lpErrno
);

パラメーター

フィールド型説明
lpThreadIdWSATHREADID*オーバーラップ関数に渡すことができる WSATHREADID 構造体へのポインターです。
lpErrnoINT*エラーコードへのポインターです。

公式ドキュメント

WPUOpenCurrentThread 関数は、レイヤードサービスプロバイダーでオーバーラップ関数と共に使用できる、現在のスレッドへのハンドルを開きます。これは、アプリケーション以外のスレッドからオーバーラップ I/O を開始しようとするレイヤードサービスプロバイダーでの使用を想定しています。

戻り値

エラーが発生しなかった場合、 WPUOpenCurrentThread は 0 を返します。それ以外の場合は SOCKET_ERROR を返し、具体的なエラーコードは lpErrno で取得できます。

エラーコード 意味
WSANOTINITIALISED
この関数を使用する前に、 WSPStartup の呼び出しが成功している必要があります。

解説(Remarks)

WPUOpenCurrentThread 関数は、 LPWSPSend や LPWSPRecv などのオーバーラップ関数に渡すことができる WSATHREADID 構造体へのポインターを提供します。上位層のいずれかでプライベートスレッドを使用するレイヤードサービスプロバイダーは、 WPUOpenCurrentThread を使用して、オーバーラップ関数を管理する下位層に WSATHREADID ポインターを渡します。

その後は、 LPWSPSend や LPWSPRecv などのオーバーラップ関数を、通常のサービスプロバイダーと同じように使用できます。

WPUOpenCurrentThread を呼び出すたびに、対応する WPUCloseThread の呼び出しが必要です。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)