Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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.