ソケット オプションと IOCTL
Windows Sockets 2 のソケット オプションの一部を次の表にまとめます。 詳細な情報は、セクション 4 の WSPGetSockOpt と WSPSetSockOpt にあります。 プロトコル固有のソケット オプションは他にも、プロトコル固有の付属書にあります。 Windows ソケットのソケット オプションの完全な一覧は Winsock リファレンスにあります。
Winsock Ioctl の一部の概要については、「Socket Ioctl Opcodes の概要」を参照してください。 Winsock IOCTL の完全な一覧は Winsock リファレンスにあります。
一般的なソケット オプションの概要
Winsock サービス プロバイダーは、これらのオプションをすべて認識し、(WSPGetSockOpt の場合) オプションごとに妥当な値を返す必要があります。 各オプションの既定値を次の表に示します。
値
Type
説明
既定値
Note
SO_ACCEPTCONN
BOOL
ソケットがリスニングしています。
WSPListen が実行されていない限りは FALSE。
SO_BROADCAST
BOOL
ソケットはブロードキャスト メッセージの送受信に合わせて構成されます。
FALSE
SO_DEBUG
BOOL
デバッグが有効です。
FALSE
(i)
SO_DONTLINGER
BOOL
true の場合、SO_LINGER オプションは無効になります。
TRUE
SO_DONTROUTE
BOOL
ルーティングが無効です 成功しますが AF_INET ソケットで無視されます。WSAENOPROTOOPT の AF_INET6 ソケットで失敗します。 ATM ソケットではサポートされていません (エラーが発生します)。
FALSE
(i)
SO_ERROR
int
エラーの状態を取得し、消去します。
0
SO_GROUP_ID
GROUP
予約済み。
NULL
取得のみ
SO_GROUP_PRIORITY
int
予約済み。
0
BOOL
キープアライブが送信されています。 ATM ソケットではサポートされていません (エラーが発生します)。
FALSE
(i)
SO_LINGER
構造体の残存
現在の残存オプションを返します。
l_onoff は 0 です
SO_MAX_MSG_SIZE
int
メッセージ ソケット タイプのメッセージの最大送信サイズ。 受信メッセージの最大サイズを決定するためのプロビジョニングはありません。 ストリーム指向ソケットには意味がありません。
実装依存
取得のみ
SO_OOBINLINE
BOOL
OOB データは通常のデータ ストリームで受信されています。
FALSE
SO_PROTOCOL_INFOW
構造体 WSAPROTOCOL_INFO
このソケットにバインドされているプロトコルのプロトコル情報の説明。
プロトコル依存
取得のみ
SO_RCVBUF
int
受信用に予約されたソケット別バッファー領域の合計。 これは SO_MAX_MSG_SIZE に関係なく、TCP 受信ウィンドウのサイズに必ずしも対応しません。
実装依存
(i)
SO_REUSEADDR
BOOL
このソケットがバインドされているアドレスは他のユーザーが使用できます。 ATM ソケットには適用されません。
FALSE
SO_SNDBUF
int
送信用に予約されたソケット別バッファー領域の合計。 これは SO_MAX_MSG_SIZE に関係なく、TCP 送信ウィンドウのサイズに必ずしも対応しません。
実装依存
(i)
SO_TYPE
int
ソケット タイプ (たとえば、SOCK_STREAM)。
ソケットを介して作成されます。
PVD_CONFIG
char FAR *
サービス プロバイダーの構成情報が含まれる不透明のデータ構造オブジェクト。
実装依存
TCP_NODELAY
BOOL
送信結合用の Nagle アルゴリズムを無効にします。
実装依存
(i) サービス プロバイダーは WSPSetSockOpt でこのオプションを通知なしで無視し、WSPGetSockOpt の定数値を返すか、WSPSetSockOpt の値を受け取り、WSPGetSockOpt で対応する値を返すが、その値はまったく使用されないことがあります。
関連トピック