Поделиться через


SO_WSK_SECURITY

Параметр сокета SO_WSK_SECURITY позволяет приложению WSK либо применять дескриптор безопасности к сокету, либо извлекать кэшированную копию дескриптора безопасности сокета из сокета. Дескриптор безопасности управляет общим доступом к локальному транспортному адресу, к которому привязан сокет.

Этот параметр сокета применяется только к прослушивающим сокетам, сокетам датаграмм и сокетам, ориентированным на подключение.

Если приложение WSK использует этот параметр сокета для применения дескриптора безопасности к сокету, оно должно сделать это, прежде чем сокет будет привязан к локальному адресу транспорта.

Чтобы применить дескриптор безопасности к сокету, приложение WSK вызывает функцию WskControlSocket со следующими параметрами.

Параметр Значение

RequestType

WskSetOption

ControlCode

SO_WSK_SECURITY

Уровень

SOL_SOCKET

Размер входных данных

sizeof(PSECURITY_DESCRIPTOR)

InputBuffer

Указатель на переменную типа PSECURITY_DESCRIPTOR. Эта переменная должна содержать указатель на кэшированную копию дескриптора безопасности, полученного путем вызова функции WskControlClient с кодом элемента управления WSK_CACHE_SD .

OutputSize

0

OutputBuffer

NULL

OutputSizeReturned

NULL

Приложение WSK должно указывать указатель на IRP при вызове функции WskControlSocket , чтобы применить дескриптор безопасности к сокету.

Если приложение WSK использует этот параметр сокета для применения дескриптора безопасности к сокету, новый дескриптор безопасности заменяет любой дескриптор безопасности, который ранее применялся к сокету.

Приложение WSK не должно освобождать кэшированную копию дескриптора безопасности до завершения IRP.

Приложение WSK также может применить дескриптор безопасности к сокету при первоначальном создании сокета, указав указатель на кэшированную копию дескриптора безопасности в параметре SecurityDescriptor при вызове функции WskSocket или WskSocketConnect .

Если приложение WSK не применяет дескриптор безопасности к сокету, подсистема WSK использует дескриптор безопасности по умолчанию, который не разрешает совместное использование локального адреса транспорта.

Чтобы получить кэшированную копию дескриптора безопасности сокета из сокета, приложение WSK вызывает функцию WskControlSocket со следующими параметрами.

Параметр Значение

RequestType

WskGetOption

ControlCode

SO_WSK_SECURITY

Уровень

SOL_SOCKET

Размер входных данных

0

InputBuffer

NULL

OutputSize

sizeof(PSECURITY_DESCRIPTOR)

OutputBuffer

Указатель на переменную типа PSECURITY_DESCRIPTOR. Эта переменная получает указатель на кэшированную копию дескриптора безопасности сокета.

OutputSizeReturned

NULL

Приложение WSK должно указывать указатель на IRP при вызове функции WskControlSocket , чтобы получить кэшированную копию дескриптора безопасности сокета из сокета.

Приложение WSK должно вызывать функцию WskControlClient с кодом управления WSK_RELEASE_SD , чтобы освободить кэшированную копию дескриптора безопасности, когда она больше не нужна.

Дополнительные сведения см. на странице справочника по структуре SECURITY_DESCRIPTOR .

Требования

Версия

Доступно в Windows Vista и более поздних версиях операционных систем Windows.

Заголовок

Wsk.h (включая Wsk.h)