SO_WSK_SECURITY

Die Option SO_WSK_SECURITY Sockets ermöglicht es einer WSK-Anwendung, entweder einen Sicherheitsdeskriptor auf einen Socket anzuwenden oder eine zwischengespeicherte Kopie des Sicherheitsdeskriptors eines Sockets aus einem Socket abzurufen. Der Sicherheitsdeskriptor steuert die Freigabe der lokalen Transportadresse, an die der Socket gebunden ist.

Diese Socketoption gilt nur für lauschende Sockets, Datagrammsockets und verbindungsorientierte Sockets.

Wenn eine WSK-Anwendung diese Socketoption verwendet, um einen Sicherheitsdeskriptor auf einen Socket anzuwenden, muss sie dies tun, bevor der Socket an eine lokale Transportadresse gebunden wird.

Um einen Sicherheitsdeskriptor auf einen Socket anzuwenden, ruft eine WSK-Anwendung die WskControlSocket-Funktion mit den folgenden Parametern auf.

Parameter Wert

Requesttype

WskSetOption

ControlCode

SO_WSK_SECURITY

Level

SOL_SOCKET

InputSize

sizeof(PSECURITY_DESCRIPTOR)

Inputbuffer

Ein Zeiger auf eine PSECURITY_DESCRIPTOR Typvariable. Diese Variable muss einen Zeiger auf eine zwischengespeicherte Kopie eines Sicherheitsdeskriptors enthalten, der durch Aufrufen der WskControlClient-Funktion mit dem WSK_CACHE_SD-Steuerelementcode abgerufen wurde.

OutputSize

0

OutputBuffer

NULL

OutputSizeReturned

NULL

Eine WSK-Anwendung muss beim Aufrufen der WskControlSocket-Funktion einen Zeiger auf einen IRP angeben, um einen Sicherheitsdeskriptor auf einen Socket anzuwenden.

Wenn eine WSK-Anwendung diese Socketoption verwendet, um einen Sicherheitsdeskriptor auf einen Socket anzuwenden, ersetzt der neue Sicherheitsdeskriptor alle Sicherheitsbeschreibungen, die zuvor auf den Socket angewendet wurden.

Eine WSK-Anwendung darf die zwischengespeicherte Kopie des Sicherheitsdeskriptors erst nach Abschluss des IRP freigeben.

Eine WSK-Anwendung kann auch einen Sicherheitsdeskriptor auf einen Socket anwenden, wenn der Socket anfänglich erstellt wird, indem beim Aufrufen der WskSocket- oder WskSocketConnect-Funktion ein Zeiger auf eine zwischengespeicherte Kopie eines Sicherheitsdeskriptors im SecurityDescriptor-Parameter angegeben wird.

Wenn eine WSK-Anwendung keinen Sicherheitsdeskriptor auf einen Socket anwendet, verwendet das WSK-Subsystem einen Standardsicherheitsdeskriptor, der die Freigabe der lokalen Transportadresse nicht zulässt.

Um eine zwischengespeicherte Kopie des Sicherheitsdeskriptors eines Sockets aus einem Socket abzurufen, ruft eine WSK-Anwendung die WskControlSocket-Funktion mit den folgenden Parametern auf.

Parameter Wert

Requesttype

WskGetOption

ControlCode

SO_WSK_SECURITY

Level

SOL_SOCKET

InputSize

0

Inputbuffer

NULL

OutputSize

sizeof(PSECURITY_DESCRIPTOR)

OutputBuffer

Ein Zeiger auf eine PSECURITY_DESCRIPTOR Typvariable. Diese Variable empfängt einen Zeiger auf eine zwischengespeicherte Kopie des Sicherheitsdeskriptors des Sockets.

OutputSizeReturned

NULL

Eine WSK-Anwendung muss beim Aufrufen der WskControlSocket-Funktion einen Zeiger auf einen IRP angeben, um eine zwischengespeicherte Kopie des Sicherheitsdeskriptors eines Sockets aus einem Socket abzurufen.

Eine WSK-Anwendung muss die WskControlClient-Funktion mit dem WSK_RELEASE_SD Steuercode aufrufen, um die zwischengespeicherte Kopie des Sicherheitsdeskriptors freizugeben, wenn sie nicht mehr benötigt wird.

Weitere Informationen finden Sie auf der Referenzseite für die SECURITY_DESCRIPTOR-Struktur .

Requirements (Anforderungen)

Version

Verfügbar in Windows Vista und höheren Versionen der Windows-Betriebssysteme.

Header

Wsk.h (einschließen von Wsk.h)