Aracılığıyla paylaş


CAcl Sınıfı

Bu sınıf, bir (erişim-denetim listesi) yapısı için sarmalayıcıdır ACL .

Önemli

Bu sınıf ve üyeleri Windows Çalışma Zamanı yürütülen uygulamalarda kullanılamaz.

Sözdizimi

class CAcl

Üyeler

Genel Tür Tanımları

Veri Akışı Adı Açıklama
CAcl::CAccessMaskArray ACCESS_MASKs dizisi.
CAcl::CAceFlagArray BYTEs dizisi.
CAcl::CAceTypeArray BYTEs dizisi.

Ortak Oluşturucular

Veri Akışı Adı Açıklama
CAcl::CAcl Oluşturucu.
CAcl::~CAcl Yok edici.

Genel Yöntemler

Veri Akışı Adı Açıklama
CAcl::GetAceCount Erişim denetimi girdisi (ACE) nesnelerinin sayısını döndürür.
CAcl::GetAclEntries Nesneden CAcl erişim denetimi listesi (ACL) girdilerini alır.
CAcl::GetAclEntry Nesnedeki bir girdi CAcl hakkındaki tüm bilgileri alır.
CAcl::GetLength ACL'nin uzunluğunu döndürür.
CAcl::GetPACL PACL (ACL işaretçisi) döndürür.
CAcl::IsEmpty CAcl Nesnesini girdiler için test eder.
CAcl::IsNull Nesnenin CAcl durumunu döndürür.
CAcl::RemoveAce Nesneden belirli bir ACE'yi (erişim denetimi girdisi CAcl ) kaldırır.
CAcl::RemoveAces Verilen CSidöğesine uygulanan tüm ACL'leri (erişim denetimi girdileri) öğesinden CAcl kaldırır.
CAcl::SetEmpty CAcl Nesneyi boş olarak işaretler.
CAcl::SetNull CAcl Nesneyi NULL olarak işaretler.

Ortak İşleçler

Veri Akışı Adı Açıklama
CAcl::operator const ACL * Bir nesneyi bir CAcl ACL yapıya dönüştürür.
CAcl::operator = Atama işleci.

Açıklamalar

Yapı ACL , bir ACL'nin (erişim denetimi listesi) üst bilgisidir. ACL, sıfır veya daha fazla ACL'nin (erişim denetimi girdileri) sıralı bir listesini içerir. ACL'deki tek tek ACL'ler 0 ile n-1 arasında numaralandırılır; burada n , ACL'deki ACL sayısıdır. Bir ACL'yi düzenlerken uygulama, dizini tarafından ACL içindeki bir erişim denetimi girdisine (ACE) başvurur.

İki ACL türü vardır:

  • Isteğe bağlı

  • Sistem

İsteğe bağlı bir ACL, bir nesnenin sahibi veya nesneye WRITE_DAC erişim izni verilen herkes tarafından denetlenilir. Belirli kullanıcıların ve grupların bir nesneye sahip olabileceği erişimi belirtir. Örneğin, bir dosyanın sahibi, hangi kullanıcıların ve grupların dosyaya erişebileceğini ve erişemeyeceğini denetlemek için isteğe bağlı bir ACL kullanabilir.

Bir nesne, sistem yöneticisi tarafından denetlenen bir sistem ACL'si biçiminde kendisiyle ilişkilendirilmiş sistem düzeyinde güvenlik bilgilerine de sahip olabilir. Sistem ACL'leri, sistem yöneticisinin bir nesneye erişim kazanma girişimlerini denetlemesine izin verebilir.

Daha fazla ayrıntı için Bkz . Windows SDK'sında ACL tartışması.

Windows'ta erişim denetimi modeline giriş için bkz . Windows SDK'sında Erişim Denetimi .

Gereksinimler

Üst bilgi: atlsecurity.h

CAcl::CAccessMaskArray

ACCESS_MASK nesneleri dizisi.

typedef CAtlArray<ACCESS_MASK> CAccessMaskArray;

Açıklamalar

Bu typedef, erişim denetimi girdilerinde (ACL) kullanılan erişim haklarını depolamak için kullanılabilecek dizi türünü belirtir.

CAcl::CAceFlagArray

BYTEs dizisi.

typedef CAtlArray<BYTE> CAceFlagArray;

Açıklamalar

Bu typedef, erişim denetimi girdisi (ACE) türüne özgü denetim bayraklarını tanımlamak için kullanılan dizi türünü belirtir. Olası bayrakların tam listesi için ACE_HEADER tanımına bakın.

CAcl::CAceTypeArray

BYTEs dizisi.

typedef CAtlArray<BYTE> CAceTypeArray;

Açıklamalar

Bu tür tanımı, ACCESS_ALLOWED_ACE_TYPE veya ACCESS_DENIED_ACE_TYPE gibi erişim denetimi girdisi (ACE) nesnelerinin doğasını tanımlamak için kullanılan dizi türünü belirtir. Olası türlerin tam listesi için ACE_HEADER tanımına bakın.

CAcl::CAcl

Oluşturucu.

CAcl() throw();
CAcl(const CAcl& rhs) throw(...);

Parametreler

Rhs
Varolan bir CAcl nesnesi.

Açıklamalar

Nesne CAcl isteğe bağlı olarak mevcut CAcl bir nesne kullanılarak oluşturulabilir.

CAcl::~CAcl

Yok edici.

virtual ~CAcl() throw();

Açıklamalar

Yıkıcı, nesnesi tarafından alınan tüm kaynakları serbesttir.

CAcl::GetAceCount

Erişim denetimi girdisi (ACE) nesnelerinin sayısını döndürür.

virtual UINT GetAceCount() const throw() = 0;

Dönüş Değeri

Nesnedeki CAcl ACE girdilerinin sayısını döndürür.

CAcl::GetAclEntries

Nesneden CAcl erişim denetimi listesi (ACL) girdilerini alır.

void GetAclEntries(
    CSid::CSidArray* pSids,
    CAccessMaskArray* pAccessMasks = NULL,
    CAceTypeArray* pAceTypes = NULL,
    CAceFlagArray* pAceFlags = NULL) const throw(...);

Parametreler

pSids
CSid nesneleri dizisinin işaretçisi.

pAccessMasks
Erişim maskeleri.

pAceTypes
Erişim denetimi girdisi (ACE) türleri.

pAceFlags
ACE bayrakları.

Açıklamalar

Bu yöntem, dizi parametrelerini nesnede yer alan her ACE nesnesinin CAcl ayrıntılarıyla doldurur. Belirli bir dizi için ayrıntılar gerekli olmadığında NULL kullanın.

Her dizinin içeriği birbirine karşılık gelir, yani dizinin ilk öğesi CAccessMaskArray dizideki CSidArray ilk öğeye karşılık gelir ve bu şekilde devam eder.

ACE türleri ve bayrakları hakkında daha fazla bilgi için bkz . ACE_HEADER .

CAcl::GetAclEntry

Erişim denetimi listesindeki (ACL) bir girdi hakkındaki tüm bilgileri alır.

void GetAclEntry(
    UINT nIndex,
    CSid* pSid,
    ACCESS_MASK* pMask = NULL,
    BYTE* pType = NULL,
    BYTE* pFlags = NULL,
    GUID* pObjectType = NULL,
    GUID* pInheritedObjectType = NULL) const throw(...);

Parametreler

nIndex
Alınacak ACL girdisine dizin oluşturun.

pSid
ACL girişinin uygulandığı CSid nesnesi.

pMask
Erişim verme veya reddetme izinlerini belirten maske.

pType
ACE türü.

pFlags
ACE bayrakları.

pObjectType
Nesne türü. Nesne türü ACE'de belirtilmezse veya ACE bir OBJECT ACE değilse, bu GUID_NULL olarak ayarlanır.

pInheritedObjectType
Devralınan nesne türü. Devralınan nesne türü ACE'de belirtilmezse veya ACE bir OBJECT ACE değilse, bu GUID_NULL olarak ayarlanır.

Açıklamalar

Bu yöntem tek bir ACE hakkındaki tüm bilgileri alır ve yalnızca CAcl::GetAclEntries tarafından kullanılabilir hale getirilmesinden daha fazla bilgi sağlar.

ACE türleri ve bayrakları hakkında daha fazla bilgi için bkz . ACE_HEADER .

CAcl::GetLength

Erişim denetimi listesinin (ACL) uzunluğunu döndürür.

UINT GetLength() const throw();

Dönüş Değeri

Yapıyı tutmak için gereken uzunluğu bayt cinsinden ACL döndürür.

CAcl::GetPACL

Erişim denetimi listesine (ACL) yönelik bir işaretçi döndürür.

const ACL* GetPACL() const throw(...);

Dönüş Değeri

Yapıya ACL bir işaretçi döndürür.

CAcl::IsEmpty

CAcl Nesnesini girdiler için test eder.

bool IsEmpty() const throw();

Açıklamalar

Nesne NULL değilse ve girdi içermiyorsa CAcl TRUE döndürür. Nesne NULL ise CAcl veya en az bir giriş içeriyorsa YANLIŞ döndürür.

CAcl::IsNull

Nesnenin CAcl durumunu döndürür.

bool IsNull() const throw();

Dönüş Değeri

Nesne NULL ise CAcl TRUE, aksi takdirde YANLIŞ döndürür.

CAcl::operator const ACL *

Nesneyi CAcl bir (erişim-denetim listesi) yapısına ACL dönüştürür.

operator const ACL *() const throw(...);

Açıklamalar

Yapının adresini ACL döndürür.

CAcl::operator =

Atama işleci.

CAcl& operator= (const CAcl& rhs) throw(...);

Parametreler

Rhs
CAcl Var olan nesneye atanacak.

Dönüş Değeri

Güncelleştirilmiş CAcl nesneye bir başvuru döndürür.

CAcl::RemoveAce

Nesneden belirli bir ACE'yi (erişim denetimi girdisi CAcl ) kaldırır.

void RemoveAce(UINT nIndex) throw();

Parametreler

nIndex
Kaldırılacak ACE girdisine dizin oluşturun.

Açıklamalar

Bu yöntem CAtlArray::RemoveAt dosyasından türetilir.

CAcl::RemoveAces

Verilen CSidöğesine uygulanan tüm ACL'leri (erişim denetimi girdileri) öğesinden CAcl kaldırır.

bool RemoveAces(const CSid& rSid) throw(...)

Parametreler

rSid
Bir nesneye CSid başvuru.

CAcl::SetEmpty

CAcl Nesneyi boş olarak işaretler.

void SetEmpty() throw();

Açıklamalar

CAcl boş veya NULL olarak ayarlanabilir: iki durum ayrıdır.

CAcl::SetNull

CAcl Nesneyi NULL olarak işaretler.

void SetNull() throw();

Açıklamalar

CAcl boş veya NULL olarak ayarlanabilir: iki durum ayrıdır.

Ayrıca bkz.

Sınıfa Genel Bakış
Güvenlik Genel İşlevleri