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) |