ObjectOpenAuditAlarmA 함수(winbase.h)
ObjectOpenAuditAlarm 함수는 클라이언트 애플리케이션이 개체에 대한 액세스 권한을 얻거나 새 개체를 만들려고 할 때 감사 메시지를 생성합니다. 알람은 현재 지원되지 않습니다.
구문
BOOL ObjectOpenAuditAlarmA(
[in] LPCSTR SubsystemName,
[in] LPVOID HandleId,
[in] LPSTR ObjectTypeName,
[in, optional] LPSTR ObjectName,
[in] PSECURITY_DESCRIPTOR pSecurityDescriptor,
[in] HANDLE ClientToken,
[in] DWORD DesiredAccess,
[in] DWORD GrantedAccess,
[in, optional] PPRIVILEGE_SET Privileges,
[in] BOOL ObjectCreation,
[in] BOOL AccessGranted,
[out] LPBOOL GenerateOnClose
);
매개 변수
[in] SubsystemName
함수를 호출하는 하위 시스템의 이름을 지정하는 null로 끝나는 문자열에 대한 포인터입니다. 이 문자열은 함수가 생성하는 감사 메시지에 표시됩니다.
[in] HandleId
개체에 대한 클라이언트의 핸들을 나타내는 고유 값에 대한 포인터입니다. 액세스가 거부되면 이 매개 변수는 무시됩니다.
플랫폼 간 호환성을 위해 이 포인터에서 주소가 지정된 값은 sizeof(LPVOID) 바이트 길이여야 합니다.
[in] ObjectTypeName
클라이언트가 액세스를 요청하는 개체의 형식을 지정하는 null로 끝나는 문자열에 대한 포인터입니다. 이 문자열은 함수가 생성하는 감사 메시지에 표시됩니다.
[in, optional] ObjectName
클라이언트가 액세스를 요청하는 개체의 이름을 지정하는 null로 끝나는 문자열에 대한 포인터입니다. 이 문자열은 함수가 생성하는 감사 메시지에 표시됩니다.
[in] pSecurityDescriptor
액세스하는 개체의 SECURITY_DESCRIPTOR 구조체에 대한 포인터입니다.
[in] ClientToken
작업을 요청하는 클라이언트를 나타내는 액세스 토큰 을 식별합니다. 이 핸들은 클라이언트를 가장하는 스레드의 토큰을 열어 가져와야 합니다. TOKEN_QUERY 액세스를 위해 토큰을 열어야 합니다.
[in] DesiredAccess
원하는 액세스 마스크를 지정합니다. 이 마스크는 제네릭 액세스 권한이 없도록 MapGenericMask 함수에 의해 이전에 매핑되어 있어야 합니다.
[in] GrantedAccess
부여된 액세스 권한을 나타내는 액세스 마스크 를 지정합니다. 이 액세스 마스크는 GrantedAccess 매개 변수의 액세스 검사 함수 중 하나에서 설정한 값과 동일합니다. 액세스 검사 함수의 예로는 AccessCheckAndAuditAlarm 및 AccessCheck가 있습니다.
[in, optional] Privileges
액세스 시도에 필요한 권한 집합을 지정하는 PRIVILEGE_SET 구조체에 대한 포인터입니다. 이 매개 변수는 NULL일 수 있습니다.
[in] ObjectCreation
액세스 권한이 부여될 때 애플리케이션이 새 개체를 만드는지 여부를 결정하는 플래그를 지정합니다. 이 값이 TRUE이면 애플리케이션에서 새 개체를 만듭니다. FALSE이면 애플리케이션에서 기존 개체를 엽니다.
[in] AccessGranted
AccessCheck와 같은 액세스 검사 함수에 대한 이전 호출에서 액세스 권한이 부여되었는지 또는 거부되었는지 여부를 나타내는 플래그를 지정합니다. 액세스 권한이 부여된 경우 이 값은 TRUE입니다. 그렇지 않은 경우 FALSE입니다.
[out] GenerateOnClose
함수가 반환되는 경우 감사 생성 루틴에서 설정한 플래그에 대한 포인터입니다. 개체 핸들이 닫혀 있으면 이 값을 ObjectCloseAuditAlarm 함수에 전달해야 합니다.
반환 값
함수가 성공하면 반환 값이 0이 아닙니다.
함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.
설명
ObjectOpenAuditAlarm 함수를 사용하려면 호출 애플리케이션이 SE_AUDIT_NAME 권한을 사용하도록 설정해야 합니다. 이 권한에 대한 테스트는 스레드의 가장 토큰이 아니라 호출 프로세스의 기본토큰에 대해 항상 수행됩니다. 이렇게 하면 호출 프로세스에서 호출 중에 클라이언트를 가장할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | winbase.h(Windows.h 포함) |
라이브러리 | Advapi32.lib |
DLL | Advapi32.dll |