Składnia
#include <windows.h>
BOOL WINAPI AccessCheckByTypeAndAuditAlarm(
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,
LPBOOL AccessStatus,
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, należy wywołać funkcję
GetLastError.
Dodatkowe informacje
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. 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 wartość argumentu
PrincipalSelfSid oraz
ObjectTypeList wynosi
NULL, wartość argumentu
AuditType wynosi
AuditEventObjectAccess oraz wartość argumentu
Flags wynosi zero, funkcja działa w ten sam sposób jak funkcja
AccessCheckAndAuditAlarm. 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ą. Jednak wynik zwracany w argumencie
AccessStatus powoduje przyznanie dostępu do podzbioruy obiektów definiowanych w argumencie
ObjectTypeList, a nie do całego obiektu. 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
Zagadnienia powiązane
AccessCheckAndAuditAlarm | Określa, czy deskryptor zabezpieczeń zapewnia dostęp dla klienta impersonowanego przez wywoływany wątek. (funkcja) |
---|
Linki zewnętrzne