LPWSPSENDDISCONNECT コールバック関数 (ws2spi.h)

LPWSPSendDisconnect 関数は、ソケットの接続の終了を開始し、切断データを送信します。

構文

LPWSPSENDDISCONNECT Lpwspsenddisconnect;

int Lpwspsenddisconnect(
  [in]  SOCKET s,
  [in]  LPWSABUF lpOutboundDisconnectData,
  [out] LPINT lpErrno
)
{...}

パラメーター

[in] s

ソケットを識別する記述子。

[in] lpOutboundDisconnectData

送信切断データへのポインター。

[out] lpErrno

エラー コードへのポインター。

戻り値

エラーが発生しない場合、 LPWSPSendDisconnect は 0 を返します。 それ以外の場合は、SOCKET_ERRORの値が返され、 lpErrno で特定のエラー コードを使用できます。

エラー コード 意味
WSAENETDOWN
ネットワーク サブシステムが失敗しました。
WSAENOPROTOOPT
パラメーター lpOutboundDisconnectData は null ではなく、切断データはサービス プロバイダーでサポートされていません。
WSAEINPROGRESS
Windows ソケット呼び出しのブロックが進行中であるか、サービス プロバイダーがコールバック関数を処理しています。
WSAENOTCONN
ソケットが接続されていません (接続指向ソケットのみ)。
WSAENOTSOCK
記述子はソケットではありません。
WSAEFAULT
lpOutboundDisconnectData パラメーターは、ユーザー アドレス空間の有効な部分に完全には含まれていません。

注釈

LPWSPSendDisconnect 関数は、接続指向ソケットで使用され、伝送を無効にし、接続の終了と切断データの転送 (ある場合) を開始します。

この関数が正常に発行されると、後続の送信は許可されません。

lpOutboundDisconnectData パラメーターは、null でない場合は、リモート パーティに送信される送信切断データを含むバッファーを指します。

LPWSPSendDisconnect はソケットを閉じず、LPWSPCloseSocket が呼び出されるまでソケットに接続されているリソースは解放されないことに注意してください。

注意

LPWSPSendDisconnect 関数は、ソケットのSO_LINGER設定に関係なくブロックしません。 Windows ソケット SPI クライアントは、切断後にソケットを再利用できることに依存しないようにする必要があります。 特に、Windows ソケット プロバイダーは、このようなソケットでの LPWSPConnect の使用をサポートする必要はありません。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
Header ws2spi.h

こちらもご覧ください

LPWSPConnect

LPWSPSocket