SO_WSK_SECURITY
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 |
NULL |
OutputSizeReturned |
NULL |
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 |
NULL |
OutputSize |
sizeof(PSECURITY_DESCRIPTOR) |
OutputBuffer |
PSECURITY_DESCRIPTOR 형식의 변수에 대한 포인터입니다. 이 변수는 소켓의 보안 설명자의 캐시된 복사본에 대한 포인터를 받습니다. |
OutputSizeReturned |
NULL |
WSK 애플리케이션은 소켓에서 소켓의 보안 설명자의 캐시된 복사본을 검색하기 위해 WskControlSocket 함수를 호출할 때 IRP에 대한 포인터를 지정해야 합니다.
WSK 애플리케이션은 WSK_RELEASE_SD 제어 코드를 사용하여 WskControlClient 함수를 호출하여 더 이상 필요하지 않은 경우 보안 설명자의 캐시된 복사본을 해제해야 합니다.
자세한 내용은 SECURITY_DESCRIPTOR 구조에 대한 참조 페이지를 참조하세요.
요구 사항
Version |
Windows Vista 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다. |
헤더 |
Wsk.h(Wsk.h 포함) |