Biblioteki C/C++
AccessCheckByType
[funkcja] Określa, czy deskryptor zabezpieczeń zapewnia dostęp do danego elementu dla klienta.Składnia
#include <windows.h>
BOOL WINAPI AccessCheckByType(
PSECURITY_DESCRIPTOR pSecurityDescriptor,
PSID PrincipalSelfSid,
HANDLE ClientToken,
DWORD DesiredAccess,
POBJECT_TYPE_LIST ObjectTypeList,
DWORD ObjectTypeListLength,
PGENERIC_MAPPING GenericMapping,
PPRIVILEGE_SET PrivilegeSet,
LPDWORD PrivilegeSetLength,
LPDWORD GrantedAccess,
LPBOOL AccessStatus
);
Argumenty
Zwracana wartość
Jeśli funkcja zakończy się bez błędów, zwracana wartość jest niezerowa. Jeśli wystąpią błędy, zwracaną wartością jest zero. Aby uzyskać dodatkowe informacje o błędach, należy wywołać funkcję
GetLastError.
Dodatkowe informacje
Funkcja może sprawdzić dostęp klienta do całej hierarchii obiektów. Najczęściej programy serwera używają tej funkcji do sprawdzenia dostępu do prywatnego obiektu. Funkcja porównuje określony deskryptor zabezpieczeń z tokenem dostępu i sprawdza, czy dostęp zostanie przyznany. 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, które pasują do tego obiektu i określonych obiektów ACE dla typów obiektów wymienionych w tablicy
ObjectTypeList. Funkcja ignoruje obiekty ACE dla typów obiektów, które nie znajdują się w tablicy
ObjectTypeList, jednak wyniki zwracane w argumencie
AccessStatus powodują przyznanie dostępu do części obiektu definiowanego przez argument
ObjectTypeList, a nie przez całego obiektu. Jeśli wartość deskryptora zabezpieczeń DACL wynosi
NULL, wartość argumentu
AccessStatus wynosi
TRUE i powoduje, że klient uzyskuje żądany dostęp. Jeśli deskryptor zabezpieczeń nie zawiera właściciela i grup SID, funkcja kończy się niepowodzeniem i zwraca wartość
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.