SeAccessCheckFromStateEx 함수(ntifs.h)
SeAccessCheckFromStateEx 요청된 액세스 권한을 보안 설명자와 선택적 개체 소유자로 보호되는 개체에 부여할 수 있는지 여부를 확인합니다.
통사론
BOOLEAN SeAccessCheckFromStateEx(
PSECURITY_DESCRIPTOR SecurityDescriptor,
PACCESS_TOKEN PrimaryToken,
PACCESS_TOKEN ClientToken,
ACCESS_MASK DesiredAccess,
ACCESS_MASK PreviouslyGrantedAccess,
PPRIVILEGE_SET *Privileges,
PGENERIC_MAPPING GenericMapping,
KPROCESSOR_MODE AccessMode,
PACCESS_MASK GrantedAccess,
PNTSTATUS AccessStatus
);
매개 변수
SecurityDescriptor
[in] 액세스되는 개체를 보호하는 보안 정보를 포함하는 SECURITY_DESCRIPTOR 구조체에 대한 포인터입니다.
PrimaryToken
[in] 기본 토큰에 대한 불투명 ACCESS_TOKEN 구조체에 대한 포인터입니다. 이 구조는 액세스 검사를 수행하는 데 필요한 토큰의 정보를 제공합니다.
ClientToken
[in_opt] 클라이언트 토큰에 대한 불투명 ACCESS_TOKEN 구조체에 대한 선택적 포인터입니다.
DesiredAccess
[in] 확인할 원하는 액세스 권한을 지정하는 ACCESS_MASK 값입니다.
PreviouslyGrantedAccess
[in] 사용자에게 이미 부여된 액세스 권한을 지정하는 ACCESS_MASK 값입니다. 예를 들어 권한을 보유한 결과입니다.
Privileges
[out] 액세스 유효성 검사의 일부로 사용된 모든 권한을 나타내기 위해 권한 집합이 반환되는 PRIVILEGE_SET 구조에 대한 포인터입니다.
GenericMapping
[in] 이 개체 형식과 연결된 GENERIC_MAPPING 구조체에 대한 포인터입니다.
AccessMode
[in] 검사에 사용할 프로세서 모드를 지정하는 KPROCESSOR_MODE 값입니다. AccessMode KernelMode 또는 UserMode 수 있습니다. 하위 수준 드라이버는 KernelMode 지정해야 합니다.
GrantedAccess
[out] 부여된 액세스를 나타내는 반환된 ACCESS_MASK 값에 대한 포인터입니다.
AccessStatus
[out] 액세스가 거부된 이유를 나타내기 위해 반환될 수 있는 NT 상태 값에 대한 포인터입니다. 비고를 참조하세요.
반환 값
SeAccessCheckFromStateEx 액세스가 허용되면 TRUE를 반환합니다. 액세스가 허용되지 않으면 FALSE를 반환합니다.
발언
SeAccessCheckFromStateEx 요청되는 액세스에 따라 다음 권한에 대한 테스트를 수행할 수 있습니다.
- SeTakeOwnershipPrivilege
- SeSecurityPrivilege
또한 이 루틴은 호출자가 WRITE_DAC 또는 READ_CONTROL 액세스 권한을 부여하기 위해 개체의 소유자인지 여부를 확인할 수 있습니다.
이 루틴이 FALSE를 반환하는 경우 호출자는 반환된 AccessStatus 반환 값으로 사용해야 합니다. 즉, 호출자는 STATUS_ACCESS_DENIED 반환 값 또는 다른 특정 STATUS_XXX 값의 하드 코딩을 피해야 합니다.
이 루틴은 DPC 수준에서 호출될 수 있으므로 페이지 가능하지 않아야 합니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 |
헤더 | ntifs.h |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |