Składnia
#include <windows.h>
BOOL WINAPI AccessCheckByTypeResultListAndAuditAlarm(
LPCTSTR SubsystemName,
LPVOID HandleId,
LPCTSTR ObjectTypeName,
LPCTSTR ObjectName,
PSECURITY_DESCRIPTOR pSecurityDescriptor,
PSID PrincipalSelfSid,
DWORD DesiredAccess,
AUDIT_EVENT_TYPE AuditType,
DWORD Flags,
POBJECT_TYPE_LIST ObjectTypeList,
DWORD ObjectTypeListLength,
PGENERIC_MAPPING GenericMapping,
BOOL ObjectCreation,
LPDWORD GrantedAccess,
LPDWORD AccessStatusList,
LPBOOL pfGenerateOnClose
);
Argumenty
Łańcuchy znaków pojawiające się we wszystkich komunikatach audytów tworzonych przez tą funkcję są umieszczone w następujących argumentach:
Zwracana wartość
Jeśli funkcja zakończy się bez błędów, funkcja zwraca wartość niezerową, inaczej zero. Aby uzyskać rozszerzone informacje o błędach, wywołaj funkcję
GetLastError.
Dodatkowe informacje
Ta funkcja jest połączeniem funkcji
AccessCheckByTypeResultList oraz
AccessCheckAndAuditAlarm. Funkcja może sprawdzić uprawnienia klienta i pozwolić na dostęp lub odmówić dostępu do danego obiektu, całej hierarchii obiektów, ich ustawień oraz właściwości. Jeśli deskryptor zabezpieczeń zawiera listę kontroli dostępu do systemu (SACL) oraz wartości ACE pasujące do klienta, funkcja tworzy wszelkie niezbędne audyty w logu zdarzeń zabezpieczeń. Alarmy nie są obecnie wspierane. Tablica zawarta w argumencie
ObjectTypeList nie musi określać całego zdefniowanego obiektu. Zazwyczaj określa jego podzbiór, dla którego jest sprawdzany dostęp, na przykład aby sprawdzić dostęp do dwóch elementów z listy, należy przekazać jako argument listę z czterema elementami: przekazywany obiekt z priorytetem zero, ustawienia listy z priorytetem 1 i dwa elementy o priorytecie 2. Funkcja sprawdza ACE odpowiadające temu obiektowi i obiektom określającym ACE dla typów obiektów wymienionych w tablicy
ObjectTypeList. Funkcja ignoruje określone obiekty ACE znajdujące się poza tą listą. Ta funkcja tworzy komunikaty audytów w logu zdarzeń zabezpieczeń, jeśli przywilej
SE_AUDIT_NAME jest włączony dla wywoływanego procesu. System sprawdza ustawienie tego przywileju w podstawowym tokenie wywoływanego procesu, a nie w impersonowanym tokenie tego wątku. Gdy ten przywilej jest wyłączony oraz jeśli argument
Flags zawiera flagę
AUDIT_ALLOW_NO_PRIVILEGE, funkcja sprawdza dostęp bez tworzenia komunikatów audytów. Funkcja zakończy się niepowodzeniem, jeśli wywoływany wątek nie jest impersonowany przez klienta. Jeśli deskryptor zabezpieczeń nie zawiera własności i grup SID, funkcja ustawi błąd
ERROR_INVALID_SECURITY_DESCR.
Wymagania
Linki zewnętrzne
Wszystkie teksty są chronione prawami autorskimi. Kopiowanie lub rozpowszechnianie treści poza niniejszym serwisem
jest zabronione.
Powyższe ograniczenie nie dotyczy autora opracowania, któremu przysługuje prawo do rozpowszechniania własnego tekstu wedle własnego uznania.