Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Hasło nie zostało zweryfikowane
Niniejsze hasło zostało opracowane, jednak nie zostało ono zweryfikowane przez administrację serwisu. Jeżeli znalazłeś błędy merytoryczne w niniejszym dokumencie, prosimy o ich zgłoszenie na forum w dziale Znalezione błędy.
Opracował: jankowalski25
Biblioteki C/C++

AddAccessAllowedObjectAce

[funkcja] Dodaje wejście kontroli przyznania dostępu (ACE) na końcu uznanej listy kontroli dostępu (DACL).

Składnia

C/C++
#include <windows.h>

BOOL WINAPI AddAccessAllowedObjectAce(
PACL pAcl,
DWORD dwAceRevision,
DWORD AceFlags,
DWORD AccessMask,
GUID * ObjectTypeGuid,
GUID * InheritedObjectTypeGuid,
PSID pSid
);

Argumenty

ArgumentOpis
pAclWskaźnik do DACL.
dwAceRevisionOkreśla rodzaj modyfikacji przed zmianą DACL. Wartość tego argumentu może wynosić ACL_REVISION_DS (jeśli będzie mniejsza, funkcja automatycznie ją zamieni na wymienioną wartość).
AceFlagsFlagi określające dziedziczenie ACE. Funkcja umieszcza je w składowej AceFlags struktury ACE_HEADER nowego ACE. Wartość tego argumentu może być połączeniem poniższych stałych:
StałaObiekty dziedziczące
CONTAINER_INHERIT_ACEobiekty kontenerów
INHERIT_ONLY_ACEtylko obiekty potomne
INHERITED_ACEdowolne obiekty
NO_PROPAGATE_INHERIT_ACEbrak
OBJECT_INHERIT_ACEobiekty niebędące obiektami kontenerów
AccessMaskMaska z uprawnieniami dostępu do SID w formacie ACCESS_MASK.
ObjectTypeGuidWskaźnik do struktury GUID określającej typ obiektu, ustawienia lub właściwości chronione przez nowe ACE. jeśli wartość tego argumentu wynosi NULL, nowe ACE chroni obiekt, dla którego DACL jest przydzielony.
InheritedObjectTypeGuidWskaźnik do struktury GUID określającej typ obiektu mogącego dziedziczyć nowe ACE. Jeśli wartość tego argumentu nie wynosi NULL, tylko podane obiekty mogą dziedziczyć ACE, inaczej każdy typ obiektu potomnego może dziedziczyć ACE. W innym przypadku dziedziczenie jest równie dobrze określane przez wartość argumentu AceFlags.
pSidWskaźnik do SID.

Zwracana wartość

Jeśli funkcja zakończy się bez błędów, zwracana wartość jest niezerowa, inaczej zero. Aby uzyskać rozszerzone informacje o błędach, należy wywołać funkcję » WinAPIGetLastError, która może w tym przypadku zwrócić następujące wartości:
BłądZnaczenie
ERROR_ALLOTTED_SPACE_EXCEEDEDNowe ACE nie mieści się na ACL (potrzebny jest większy bufor).
ERROR_INVALID_ACLNieprawidłowa wartość ACL.
ERROR_INVALID_FLAGSNieprawidłowa wartość argumentu AceFlags.
ERROR_INVALID_SIDNieprawidłowa wartość SID.
ERROR_REVISION_MISMATCHNieprawidłowy rodzaj modyfikacji.
ERROR_SUCCESSNie wystąpiły żadne błędy.

Dodatkowe informacje

Ta funkcja dodaje ACE (w postaci struktury ACCESS_ALLOWED_OBJECT_ACE) na końcu listy DACL. Nowe ACE może przyznać dostęp do obiektu, do jego ustawień lub właściwości. Funkcja może być wykorzystana do dodawania ACE, które określają tylko typ obiektu lub obiekty potomne dziedziczące ACE. Jeśli wartość argumentu ObjectTypeGuid oraz InheritedObjectTypeGuid wynosi NULL, należy zamiast tej funkcji wywołać funkcję » WinAPIAddAccessAllowedAce. Takie działanie jest zalecane, ponieważ struktura ACCESS_ALLOWED_ACE jest mniejsza, niż struktura ACCESS_ALLOWED_OBJECT_ACE. Podmiot wywołujący musi zapewnić dodawanie ACE do DACL we właściwej kolejności.

Wymagania

Minimalny system klientaWindows XP (tylko aplikacje biurowe).
Minimalny system serweraWindows Server 2003 (tylko aplikacje biurowe).
NagłówekWinbase.h (dołącza Windows.h).
BibliotekaAdvapi32.lib
DLLAdvapi32.dll

Zagadnienia powiązane

AddAccessAllowedAceDodaje wejście kontroli przyznania dostępu (ACE) do listy kontroli dostępu (ACL). (funkcja)

Linki zewnętrzne