다음을 통해 공유


SaferComputeTokenFromLevel 함수(winsafer.h)

SaferComputeTokenFromLevel 함수는 SAFER_LEVEL_HANDLE 지정된 제한을 사용하여 토큰을 제한합니다.

구문

BOOL SaferComputeTokenFromLevel(
  [in]                SAFER_LEVEL_HANDLE LevelHandle,
  [in, optional]      HANDLE             InAccessToken,
  [out]               PHANDLE            OutAccessToken,
  [in]                DWORD              dwFlags,
  [in, out, optional] LPVOID             lpReserved
);

매개 변수

[in] LevelHandle

입력 토큰에 대한 제한 사항이 포함된 SAFER_LEVEL_HANDLE. SAFER_LEVELID_FULLYTRUSTED 또는SAFER_LEVELID_DISALLOWED LevelId가 있는 핸들을 이 함수에 전달하지 마세요. 이는 SAFER_LEVELID_FULLYTRUSTED 무제한이며 SAFER_LEVELID_DISALLOWED 토큰을 포함하지 않기 때문입니다.

[in, optional] InAccessToken

제한할 토큰입니다. 이 매개 변수가 NULL이면 현재 스레드의 토큰이 사용됩니다. 현재 스레드에 토큰이 포함되어 있지 않으면 현재 프로세스의 토큰이 사용됩니다.

[out] OutAccessToken

결과 제한된 토큰입니다.

[in] dwFlags

메서드의 동작을 지정합니다. 값은 NULL 이거나 비트 OR 연산을 사용하여 결합된 다음 값 중 하나 이상이 될 수 있습니다.

의미
SAFER_TOKEN_NULL_IF_EQUAL
1(0x1)
OutAccessToken 매개 변수가 InAccessToken 매개 변수보다 더 제한적이지 않으면 OutAccessToken 매개 변수는 NULL을 반환합니다.
SAFER_TOKEN_COMPARE_ONLY
2(0x2)
InAccessToken 매개 변수로 지정된 토큰은 LevelHandle 매개 변수에 지정된 제한이 적용된 경우 생성되는 토큰과 비교됩니다. 제한된 토큰은 실제로 만들어지지 않습니다.

출력에서 lpReserved 매개 변수의 값은 비교 결과를 지정합니다.

SAFER_TOKEN_MAKE_INERT
4(0x4)
이 플래그를 설정하면 시스템에서 AppLocker 규칙을 검사 않거나 소프트웨어 제한 정책을 적용하지 않습니다. AppLocker의 경우 이 플래그는 실행 파일, Windows Installer, 스크립트 및 DLL의 네 가지 규칙 컬렉션 모두에 대한 검사를 사용하지 않도록 설정합니다.

설치 중에 추출된 DLL을 실행해야 하는 설치 프로그램을 만들 때 이 플래그를 설정합니다.

GetTokenInformation을 사용하여 이 플래그의 존재에 대한 토큰을 쿼리할 수 있습니다.

Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP: AppLocker는 지원되지 않습니다.

SAFER_TOKEN_WANT_FLAGS
8(0x8)
출력에서 lpReserved 매개 변수의 값은 제한된 토큰을 만드는 데 사용되는 플래그 집합을 지정합니다.

[in, out, optional] lpReserved

SAFER_TOKEN_COMPARE_ONLY 플래그가 설정된 경우 출력 시 이 매개 변수는 토큰 비교 결과를 지정합니다. 출력 값은 LPDWORD입니다. –1 값은 결과 토큰이 InAccessToken 매개 변수에 지정된 토큰보다 권한이 적다는 것을 나타냅니다.

SAFER_TOKEN_WANT_FLAGS 플래그가 설정되고 SAFER_TOKEN_COMPARE_ONLY 플래그가 설정되지 않은 경우 이 매개 변수는 제한된 토큰을 만드는 데 사용되는 플래그를 지정하는 LPDWORD 값입니다.

반환 값

함수가 성공하면 TRUE입니다. 그렇지 않으면 FALSE입니다. 확장 정보는 GetLastError를 호출합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 winsafer.h
라이브러리 Advapi32.lib
DLL Advapi32.dll
API 세트 ext-ms-win-advapi32-safer-l1-1-0(Windows 8 도입)