다음을 통해 공유


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

참고 항목

SeAccessCheck

SeAccessCheckFromState