SO_WSK_SECURITY ソケット オプションを使用すると、WSK アプリケーションは、ソケットにセキュリティ記述子を適用するか、ソケットからソケットのセキュリティ記述子のキャッシュされたコピーを取得できます。 セキュリティ記述子は、ソケットがバインドされているローカル トランスポート アドレスの共有を制御します。
このソケット オプションは、リッスン ソケット、データグラム ソケット、および接続指向ソケットにのみ適用されます。
WSK アプリケーションでこのソケット オプションを使用してソケットにセキュリティ記述子を適用する場合は、ソケットがローカル トランスポート アドレスにバインドされる前に、これを行う必要があります。
ソケットにセキュリティ記述子を適用するために、WSK アプリケーションは次のパラメーターを使用して WskControlSocket 関数を呼び出します。
パラメーター | 価値 |
---|---|
RequestType |
WskSetOption の |
ControlCode |
SO_WSK_SECURITY |
レベルの |
SOL_SOCKET |
InputSize |
sizeof(PSECURITY_DESCRIPTOR) |
InputBuffer の |
PSECURITY_DESCRIPTOR型指定された変数へのポインター。 この変数には、WSK_CACHE_SD コントロール コードを使用して wskControlClient関数呼び出すことによって取得されたセキュリティ記述子のキャッシュされたコピーへのポインターが含まれている必要があります。 |
OutputSize |
0 |
OutputBuffer の |
ヌル |
OutputSizeReturned の |
ヌル |
WSK アプリケーションは、セキュリティ記述子をソケットに適用するために、WskControlSocket 関数を呼び出すときに IRP へのポインターを指定する必要があります。
WSK アプリケーションでこのソケット オプションを使用してソケットにセキュリティ記述子を適用する場合、新しいセキュリティ記述子は、以前にソケットに適用されていたセキュリティ記述子を置き換えます。
WSK アプリケーションは、IRP が完了するまで、セキュリティ記述子のキャッシュされたコピーを解放しないでください。
WSK アプリケーションは、WskSocket または wskSocketConnect関数を呼び出すときに、SecurityDescriptor パラメーターでセキュリティ記述子のキャッシュされたコピーへのポインターを指定することによって、ソケットが最初に作成されたときにソケットにセキュリティ記述子を適用することもできます。
WSK アプリケーションがソケットにセキュリティ記述子を適用しない場合、WSK サブシステムはローカル トランスポート アドレスの共有を許可しない既定のセキュリティ記述子を使用します。
ソケットからソケットのセキュリティ記述子のキャッシュされたコピーを取得するために、WSK アプリケーションは次のパラメーターを使用して WskControlSocket 関数を呼び出します。
パラメーター | 価値 |
---|---|
RequestType |
WskGetOption の |
ControlCode |
SO_WSK_SECURITY |
レベルの |
SOL_SOCKET |
InputSize |
0 |
InputBuffer の |
ヌル |
OutputSize |
sizeof(PSECURITY_DESCRIPTOR) |
OutputBuffer の |
PSECURITY_DESCRIPTOR型指定された変数へのポインター。 この変数は、ソケットのセキュリティ記述子のキャッシュされたコピーへのポインターを受け取ります。 |
OutputSizeReturned の |
ヌル |
WSK アプリケーションは、ソケットからソケットのセキュリティ記述子のキャッシュされたコピーを取得するために、WskControlSocket 関数を呼び出すときに IRP へのポインターを指定する必要があります。
WSK アプリケーションは、WskControlClient 関数を WSK_RELEASE_SD コントロール コードと共に呼び出して、不要になったときにセキュリティ記述子のキャッシュされたコピーを解放する必要があります。
詳細については、SECURITY_DESCRIPTOR 構造のリファレンス ページを参照してください。
必要条件
バージョン |
Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。 |
ヘッダ |
Wsk.h (Wsk.h を含む) |