SO_KEEPALIVE ソケット オプションの状態は、キープアライブ パケットが接続指向ソケットで送信されるかどうかを決定します。 このソケット オプションは、リッスンしているソケットと接続指向のソケットにのみ適用されます。
このソケット オプションの状態を設定するために、WSK アプリケーションは次のパラメーターを使用して WskControlSocket 関数を呼び出します。
| パラメーター | 価値 |
|---|---|
RequestType |
WskSetOption の |
ControlCode |
SO_KEEPALIVE |
のレベル |
SOL_SOCKET |
InputSize |
sizeof(ULONG) |
InputBuffer の |
ソケット オプションの新しい状態の値を含む ULONG 型の変数へのポインター。
|
OutputSize |
0 |
OutputBuffer の |
NULL |
OutputSizeReturned の |
NULL |
このソケット オプションの状態を取得するために、WSK アプリケーションは、次のパラメーターを使用して WskControlSocket 関数を呼び出します。
| パラメーター | 価値 |
|---|---|
RequestType |
WskGetOption の |
ControlCode |
SO_KEEPALIVE |
のレベル |
SOL_SOCKET |
InputSize |
0 |
InputBuffer の |
NULL |
OutputSize |
sizeof(ULONG) |
OutputBuffer の |
ソケット オプションの状態の値を受け取る ULONG 型の変数へのポインター。
|
OutputSizeReturned の |
NULL |
WSK アプリケーションは、WskControlSocket 関数を呼び出して、SO_KEEPALIVE ソケット オプションの状態を設定または取得するときに、IRP へのポインターを指定する必要があります。
このソケット オプションの既定の状態は、キープアライブ パケットの送信が無効になっているということです。
このソケット オプションがリッスン ソケットで有効になっている場合、そのリッスン ソケットで受け入れられるすべての受信接続では、このソケット オプションが既定で有効になります。 WSK アプリケーションは、受け入れられたソケット WskControlSocket 関数を呼び出して、リッスンしているソケットから継承されたこのソケット オプションの状態をオーバーライドできます。
キープアライブ パケットは、基になるネットワーク トランスポートによって送信されます。 すべてのネットワーク トランスポートがキープアライブ パケットの送信をサポートしているわけではありません。
キープアライブ パケットの使用の詳細については、RFC 1122 、セクション 4.2.3.6、"TCP Keep-Alives"を参照してください。
必要条件
バージョン |
Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。 |
ヘッダ |
Ws2def.h (Wsk.h を含む) |