ホーム › Networking.WinSock › LPWSPSENDDISCONNECT
LPWSPSENDDISCONNECT
コールバックシグネチャ
INT LPWSPSENDDISCONNECT(
SOCKET s,
WSABUF* lpOutboundDisconnectData,
INT* lpErrno
);パラメーター
| フィールド | 型 | 説明 |
|---|---|---|
| s | SOCKET | ソケットを識別する記述子。 |
| lpOutboundDisconnectData | WSABUF* | 送信する切断データへのポインター。 |
| lpErrno | INT* | エラーコードへのポインター。 |
公式ドキュメント
LPWSPSendDisconnect 関数は、ソケットの接続の終了処理を開始し、切断データを送信します。
戻り値
エラーが発生しなかった場合、LPWSPSendDisconnect は 0 を返します。それ以外の場合は SOCKET_ERROR が返され、固有のエラーコードが lpErrno に格納されます。
| エラーコード | 意味 |
|---|---|
| ネットワークサブシステムが機能しなくなりました。 | |
| lpOutboundDisconnectData パラメーターが null ではありませんが、切断データがサービスプロバイダーでサポートされていません。 | |
| ブロッキング Windows Sockets 呼び出しが進行中であるか、サービスプロバイダーがコールバック関数をまだ処理しています。 | |
| ソケットが接続されていません (コネクション型ソケットのみ)。 | |
| 記述子がソケットではありません。 | |
| lpOutboundDisconnectData パラメーターが、ユーザーアドレス空間の有効な部分に完全には含まれていません。 |
解説(Remarks)
LPWSPSendDisconnect 関数は、コネクション型ソケットで送信を無効にし、切断データがある場合はその送信を伴って接続の終了処理を開始するために使用します。
この関数が正常に発行された後は、以降の送信は許可されません。
lpOutboundDisconnectData パラメーターが null でない場合、このパラメーターはリモート側へ送信する切断データを格納したバッファーを指します。
LPWSPSendDisconnect はソケットを閉じないこと、および LPWSPCloseSocket が呼び出されるまでソケットに付随するリソースは解放されないことに注意してください。
メモ
LPWSPSendDisconnect 関数は、ソケットの SO_LINGER 設定に関係なくブロックしません。Windows Sockets SPI クライアントは、切断後のソケットを再利用できることを前提にしないでください。特に、Windows Sockets プロバイダーは、そのようなソケットに対する LPWSPConnect の使用をサポートする必要はありません。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)