Aracılığıyla paylaş


CSecurityDesc Sınıfı

Bu sınıf, yapısı için SECURITY_DESCRIPTOR bir sarmalayıcıdır.

Önemli

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

Sözdizimi

class CSecurityDesc

Üyeler

Ortak Oluşturucular

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

Genel Yöntemler

Veri Akışı Adı Açıklama
CSecurityDesc::FromString Dize biçimindeki bir güvenlik tanımlayıcıyı geçerli, işlevsel bir güvenlik tanımlayıcısına dönüştürür.
CSecurityDesc::GetControl Güvenlik tanımlayıcısından denetim bilgilerini alır.
CSecurityDesc::GetDacl Güvenlik tanımlayıcısından isteğe bağlı erişim denetimi listesi (DACL) bilgilerini alır.
CSecurityDesc::GetGroup Güvenlik tanımlayıcısından birincil grup bilgilerini alır.
CSecurityDesc::GetOwner Güvenlik tanımlayıcısından sahip bilgi dosyasını alır.
CSecurityDesc::GetPSECURITY_DESCRIPTOR Yapıya SECURITY_DESCRIPTOR bir işaretçi döndürür.
CSecurityDesc::GetSacl Güvenlik tanımlayıcısından sistem erişim denetimi listesi (SACL) bilgilerini alır.
CSecurityDesc::IsDaclAutoInherited DACL'nin otomatik yayılmayı destekleyecek şekilde yapılandırılıp yapılandırılmadığını belirler.
CSecurityDesc::IsDaclDefaulted Güvenlik tanımlayıcısının varsayılan DACL ile yapılandırılıp yapılandırılmadığını belirler.
CSecurityDesc::IsDaclPresent Güvenlik tanımlayıcısının bir DACL içerip içermediğini belirler.
CSecurityDesc::IsDaclProtected DACL'nin değişiklikleri önlemek için yapılandırılıp yapılandırılmadığını belirler.
CSecurityDesc::IsGroupDefaulted Güvenlik tanımlayıcısının grup güvenlik tanımlayıcısının (SID) varsayılan olarak ayarlandığını belirler.
CSecurityDesc::IsOwnerDefaulted Güvenlik tanımlayıcısının sahip SID'sinin varsayılan olarak ayarlandığını belirler.
CSecurityDesc::IsSaclAutoInherited SACL'nin otomatik yayılmayı destekleyecek şekilde yapılandırılıp yapılandırılmadığını belirler.
CSecurityDesc::IsSaclDefaulted Güvenlik tanımlayıcısının varsayılan SACL ile yapılandırılıp yapılandırılmadığını belirler.
CSecurityDesc::IsSaclPresent Güvenlik tanımlayıcısının bir SACL içerip içermediğini belirler.
CSecurityDesc::IsSaclProtected SACL'nin değişiklikleri önlemek için yapılandırılıp yapılandırılmadığını belirler.
CSecurityDesc::IsSelfRelative Güvenlik tanımlayıcısının kendi kendine göreli biçimde olup olmadığını belirler.
CSecurityDesc::MakeAbsolute Güvenlik tanımlayıcısını mutlak biçime dönüştürmek için bu yöntemi çağırın.
CSecurityDesc::MakeSelfRelative Güvenlik tanımlayıcısını kendi kendine göreli biçime dönüştürmek için bu yöntemi çağırın.
CSecurityDesc::SetControl Güvenlik tanımlayıcısının denetim bitlerini ayarlar.
CSecurityDesc::SetDacl DACL'de bilgileri ayarlar. Güvenlik tanımlayıcısında zaten bir DACL varsa, değiştirilir.
CSecurityDesc::SetGroup Mutlak biçimli bir güvenlik tanımlayıcısının birincil grup bilgilerini ayarlar ve zaten mevcut olan birincil grup bilgilerini değiştirir.
CSecurityDesc::SetOwner Mutlak biçimli bir güvenlik tanımlayıcısının sahip bilgilerini ayarlar ve zaten mevcut olan sahip bilgilerini değiştirir.
CSecurityDesc::SetSacl SACL'deki bilgileri ayarlar. Güvenlik tanımlayıcısında zaten bir SACL varsa, değiştirilir.
CSecurityDesc::ToString Güvenlik tanımlayıcısını dize biçimine dönüştürür.

Ortak İşleçler

Veri Akışı Adı Açıklama
CSecurityDesc::operator const SECURITY_DESCRIPTOR * Yapıya SECURITY_DESCRIPTOR bir işaretçi döndürür.
CSecurityDesc::operator = Atama işleci.

Açıklamalar

Yapı, SECURITY_DESCRIPTOR bir nesneyle ilişkili güvenlik bilgilerini içerir. Uygulamalar, bir nesnenin güvenlik durumunu ayarlamak ve sorgulamak için bu yapıyı kullanır. Ayrıca bkz. AtlGetSecurityDescriptor.

Uygulamalar yapıyı SECURITY_DESCRIPTOR doğrudan değiştirmemeli ve bunun yerine sağlanan sınıf yöntemlerini kullanmalıdır.

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

Gereksinimler

Üst bilgi: atlsecurity.h

CSecurityDesc::CSecurityDesc

Oluşturucu.

CSecurityDesc() throw();
CSecurityDesc(const CSecurityDesc& rhs) throw(... );
CSecurityDesc(const SECURITY_DESCRIPTOR& rhs) throw(...);

Parametreler

Rhs
Yeni CSecurityDesc CSecurityDesc nesneye atanacak nesne veya SECURITY_DESCRIPTOR yapı.

Açıklamalar

CSecurityDesc Nesnesi isteğe bağlı olarak bir SECURITY_DESCRIPTOR yapı veya önceden tanımlanmış CSecurityDesc bir nesne kullanılarak oluşturulabilir.

CSecurityDesc::~CSecurityDesc

Yok edici.

virtual ~CSecurityDesc() throw();

Açıklamalar

Yıkıcı, ayrılan tüm kaynakları boşaltıyor.

CSecurityDesc::FromString

Dize biçimindeki bir güvenlik tanımlayıcıyı geçerli, işlevsel bir güvenlik tanımlayıcısına dönüştürür.

bool FromString(LPCTSTR pstr) throw(...);

Parametreler

pstr
Dönüştürülecek dize biçimi güvenlik tanımlayıcısını içeren null olarak sonlandırılan bir dizenin işaretçisi.

Dönüş Değeri

Başarılı olduğunda true değerini döndürür. Hata durumunda bir özel durum oluşturur.

Açıklamalar

Dize, CSecurityDesc::ToString kullanılarak oluşturulabilir. Güvenlik tanımlayıcısını bir dizeye dönüştürmek depolamayı ve iletmeyi kolaylaştırır.

Bu yöntem ConvertStringSecurityDescriptorToSecurityDescriptor öğesini çağırır.

CSecurityDesc::GetControl

Güvenlik tanımlayıcısından denetim bilgilerini alır.

bool GetControl(SECURITY_DESCRIPTOR_CONTROL* psdc) const throw();

Parametreler

psdc
Güvenlik tanımlayıcısının denetim bilgilerini alan bir SECURITY_DESCRIPTOR_CONTROL yapıya yönelik işaretçi.

Dönüş Değeri

Yöntem başarılı olursa true, başarısız olursa false döndürür.

Açıklamalar

Bu yöntem GetSecurityDescriptorControl'i çağırır.

CSecurityDesc::GetDacl

Güvenlik tanımlayıcısından isteğe bağlı erişim denetimi listesi (DACL) bilgilerini alır.

bool GetDacl(
    CDacl* pDacl,
    bool* pbPresent = NULL,
    bool* pbDefaulted = NULL) const throw(...);

Parametreler

pDacl
CDacl Güvenlik tanımlayıcısının DACL'sinin bir kopyasının depolandığı yapıya yönelik işaretçi. İsteğe bağlı bir ACL varsa, yöntemi pDacl'i güvenlik tanımlayıcısının isteğe bağlı ACL'sinin adresine ayarlar. İsteğe bağlı bir ACL yoksa, hiçbir değer depolanmaz.

pbPresent
Belirtilen güvenlik tanımlayıcısında isteğe bağlı bir ACL'nin varlığını gösteren bir değer işaretçisi. Güvenlik tanımlayıcısı isteğe bağlı bir ACL içeriyorsa, bu parametre true olarak ayarlanır. Güvenlik tanımlayıcısı isteğe bağlı bir ACL içermiyorsa, bu parametre false olarak ayarlanır.

pbDefaulted
Güvenlik tanımlayıcısı için isteğe bağlı bir ACL varsa, yapıdaki SECURITY_DESCRIPTOR_CONTROL SE_DACL_DEFAULTED bayrağının değerine ayarlanmış bir bayrak işaretçisi. Bu bayrak true ise, isteğe bağlı ACL varsayılan bir mekanizma tarafından alınır; false ise, isteğe bağlı ACL bir kullanıcı tarafından açıkça belirtildi.

Dönüş Değeri

Yöntem başarılı olursa true, başarısız olursa false döndürür.

CSecurityDesc::GetGroup

Güvenlik tanımlayıcısından birincil grup bilgilerini alır.

bool GetGroup(
    CSid* pSid,
    bool* pbDefaulted = NULL) const throw(...);

Parametreler

pSid
CDacl'te depolanan grubun bir kopyasını alan bir CSid (güvenlik tanımlayıcısı) işaretçisi.

pbDefaulted
Yöntem döndürdüğünde yapıdaki SECURITY_DESCRIPTOR_CONTROL SE_GROUP_DEFAULTED bayrağının değerine ayarlanmış bir bayrak işaretçisi.

Dönüş Değeri

Yöntem başarılı olursa true, başarısız olursa false döndürür.

CSecurityDesc::GetOwner

Güvenlik tanımlayıcısından sahip bilgi dosyasını alır.

bool GetOwner(
    CSid* pSid,
    bool* pbDefaulted = NULL) const throw(...);

Parametreler

pSid
CDacl'te depolanan grubun bir kopyasını alan bir CSid (güvenlik tanımlayıcısı) işaretçisi.

pbDefaulted
Yöntem döndürdüğünde yapıdaki SECURITY_DESCRIPTOR_CONTROL SE_OWNER_DEFAULTED bayrağının değerine ayarlanmış bir bayrak işaretçisi.

Dönüş Değeri

Yöntem başarılı olursa true, başarısız olursa false döndürür.

CSecurityDesc::GetPSECURITY_DESCRIPTOR

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

const SECURITY_DESCRIPTOR* GetPSECURITY_DESCRIPTOR() const throw();

Dönüş Değeri

SECURITY_DESCRIPTOR yapısına bir işaretçi döndürür.

CSecurityDesc::GetSacl

Güvenlik tanımlayıcısından sistem erişim denetimi listesi (SACL) bilgilerini alır.

bool GetSacl(
    CSacl* pSacl,
    bool* pbPresent = NULL,
    bool* pbDefaulted = NULL) const throw(...);

Parametreler

pSacl
CSacl Güvenlik tanımlayıcısının SACL'sinin bir kopyasının depolandığı yapıya yönelik işaretçi. Bir sistem ACL'si varsa, yöntemi pSacl'i güvenlik tanımlayıcısının sistem ACL'sinin adresine ayarlar. Bir sistem ACL'si yoksa, hiçbir değer depolanmaz.

pbPresent
Belirtilen güvenlik tanımlayıcısında sistem ACL'sinin varlığını göstermek için yöntemin ayarlı olduğu bir bayrak işaretçisi. Güvenlik tanımlayıcısı bir sistem ACL'sini içeriyorsa, bu parametre true olarak ayarlanır. Güvenlik tanımlayıcısı bir sistem ACL'sini içermiyorsa, bu parametre false olarak ayarlanır.

pbDefaulted
Güvenlik tanımlayıcısı için bir sistem ACL'si varsa, yapıdaki SECURITY_DESCRIPTOR_CONTROL SE_SACL_DEFAULTED bayrağının değerine ayarlanmış bir bayrak işaretçisi.

Dönüş Değeri

Yöntem başarılı olursa true, başarısız olursa false döndürür.

CSecurityDesc::IsDaclAutoInherited

İsteğe bağlı erişim denetimi listesinin (DACL) otomatik yayılmayı destekleyecek şekilde yapılandırılıp yapılandırılmadığını belirler.

bool IsDaclAutoInherited() const throw();

Dönüş Değeri

Güvenlik tanımlayıcısı, devralınabilir erişim denetimi girdilerinin (ACL) var olan alt nesnelere otomatik olarak yayılmasını destekleyecek şekilde ayarlanmış bir DACL içeriyorsa true döndürür. Aksi halde Yanlış döndürür.

Açıklamalar

Sistem, nesne ve var olan alt nesneleri için otomatik devralma algoritmasını gerçekleştirdiğinde bu biti ayarlar.

CSecurityDesc::IsDaclDefaulted

Güvenlik tanımlayıcısının varsayılan isteğe bağlı erişim denetimi listesi (DACL) ile yapılandırılıp yapılandırılmadığını belirler.

bool IsDaclDefaulted() const throw();

Dönüş Değeri

Güvenlik tanımlayıcısı varsayılan bir DACL içeriyorsa true, aksi takdirde false döndürür.

Açıklamalar

Bu bayrak, erişim denetimi girdisi (ACE) devralma konusunda sistemin DACL'ye nasıl davranabileceğini etkileyebilir. Örneğin, bir nesnenin oluşturucusu bir DACL belirtmezse, nesne oluşturucunun erişim belirtecinden varsayılan DACL'yi alır. SE_DACL_PRESENT bayrağı ayarlanmadıysa sistem bu bayrağı yoksayar.

Bu bayrak, nesnedeki son DACL'nin nasıl hesaplandığını belirlemek için kullanılır ve güvenli hale getirilebilir nesnenin güvenlik tanımlayıcı denetiminde fiziksel olarak depolanmaz.

Bu bayrağı ayarlamak için CSecurityDesc::SetDacl yöntemini kullanın.

CSecurityDesc::IsDaclPresent

Güvenlik tanımlayıcısının isteğe bağlı erişim denetimi listesi (DACL) içerip içermediğini belirler.

bool IsDaclPresent() const throw();

Dönüş Değeri

Güvenlik tanımlayıcısı bir DACL içeriyorsa true, aksi takdirde false döndürür.

Açıklamalar

Bu bayrak ayarlanmazsa veya bu bayrak ayarlanırsa ve DACL NULL ise, güvenlik tanımlayıcısı herkese tam erişime izin verir.

Bu bayrak, güvenlik tanımlayıcısı güvenli hale getirilebilir bir nesneyle ilişkilendirilene kadar çağıran tarafından belirtilen güvenlik bilgilerini tutmak için kullanılır. Güvenlik tanımlayıcısı güvenli hale getirilebilir bir nesneyle ilişkilendirildikten sonra SE_DACL_PRESENT bayrağı her zaman güvenlik tanımlayıcı denetiminde ayarlanır.

Bu bayrağı ayarlamak için CSecurityDesc::SetDacl yöntemini kullanın.

CSecurityDesc::IsDaclProtected

İsteğe bağlı erişim denetimi listesinin (DACL) değişiklikleri önlemek için yapılandırılıp yapılandırılmadığını belirler.

bool IsDaclProtected() const throw();

Dönüş Değeri

DACL, güvenlik tanımlayıcısının devralınabilir erişim denetimi girdileri (ACL) tarafından değiştirilmesini engelleyecek şekilde yapılandırılmışsa true döndürür. Aksi halde Yanlış döndürür.

Açıklamalar

Bu bayrağı ayarlamak için CSecurityDesc::SetDacl yöntemini kullanın.

Bu yöntem, devralınabilir ACL'lerin otomatik olarak yayılmasını destekler.

CSecurityDesc::IsGroupDefaulted

Güvenlik tanımlayıcısının grup güvenlik tanımlayıcısının (SID) varsayılan olarak ayarlandığını belirler.

bool IsGroupDefaulted() const throw();

Dönüş Değeri

Güvenlik tanımlayıcısının grup SID'sini sağladığında, güvenlik tanımlayıcısının özgün sağlayıcısı yerine varsayılan bir mekanizmaysa true döndürür. Aksi halde Yanlış döndürür.

Açıklamalar

Bu bayrağı ayarlamak için CSecurityDesc::SetGroup yöntemini kullanın.

CSecurityDesc::IsOwnerDefaulted

Güvenlik tanımlayıcısının sahip güvenlik tanımlayıcısının (SID) varsayılan olarak ayarlandığını belirler.

bool IsOwnerDefaulted() const throw();

Dönüş Değeri

Güvenlik tanımlayıcısının sahip SID'sini sağladığında, güvenlik tanımlayıcısının özgün sağlayıcısı yerine varsayılan bir mekanizma varsa true döndürür. Aksi halde Yanlış döndürür.

Açıklamalar

Bu bayrağı ayarlamak için CSecurityDesc::SetOwner yöntemini kullanın.

CSecurityDesc::IsSaclAutoInherited

Sistem erişim denetimi listesinin (SACL) otomatik yayılmayı destekleyecek şekilde yapılandırılıp yapılandırılmadığını belirler.

bool IsSaclAutoInherited() const throw();

Dönüş Değeri

Güvenlik tanımlayıcısı devralınabilir erişim denetimi girdilerinin (ACL) var olan alt nesnelere otomatik olarak yayılmasını destekleyecek şekilde ayarlanmış bir SACL içeriyorsa true döndürür. Aksi halde Yanlış döndürür.

Açıklamalar

Sistem, nesne ve var olan alt nesneleri için otomatik devralma algoritmasını gerçekleştirdiğinde bu biti ayarlar.

CSecurityDesc::IsSaclDefaulted

Güvenlik tanımlayıcısının varsayılan sistem erişim denetimi listesi (SACL) ile yapılandırılıp yapılandırılmadığını belirler.

bool IsSaclDefaulted() const throw();

Dönüş Değeri

Güvenlik tanımlayıcısı varsayılan SACL içeriyorsa true, aksi takdirde false döndürür.

Açıklamalar

Bu bayrak, sistemin SACL'yi erişim denetimi girdisi (ACE) devralma konusunda nasıl ele alabileceğini etkileyebilir. SE_SACL_PRESENT bayrağı ayarlanmadıysa sistem bu bayrağı yoksayar.

Bu bayrağı ayarlamak için CSecurityDesc::SetSacl yöntemini kullanın.

CSecurityDesc::IsSaclPresent

Güvenlik tanımlayıcısının sistem erişim denetimi listesi (SACL) içerip içermediğini belirler.

bool IsSaclPresent() const throw();

Dönüş Değeri

Güvenlik tanımlayıcısı bir SACL içeriyorsa true, aksi takdirde false döndürür.

Açıklamalar

Bu bayrağı ayarlamak için CSecurityDesc::SetSacl yöntemini kullanın.

CSecurityDesc::IsSaclProtected

Sistem erişim denetimi listesinin (SACL) değişiklikleri önlemek için yapılandırılıp yapılandırılmadığını belirler.

bool IsSaclProtected() const throw();

Dönüş Değeri

SACL, güvenlik tanımlayıcısının devralınabilir erişim denetimi girdileri (ACL) tarafından değiştirilmesini engelleyecek şekilde yapılandırılmışsa true döndürür. Aksi halde Yanlış döndürür.

Açıklamalar

Bu bayrağı ayarlamak için CSecurityDesc::SetSacl yöntemini kullanın.

Bu yöntem, devralınabilir ACL'lerin otomatik olarak yayılmasını destekler.

CSecurityDesc::IsSelfRelative

Güvenlik tanımlayıcısının kendi kendine göreli biçimde olup olmadığını belirler.

bool IsSelfRelative() const throw();

Dönüş Değeri

Güvenlik tanımlayıcısı, tüm güvenlik bilgileri bitişik bir bellek bloğunda olacak şekilde kendi kendine göreli biçimdeyse true döndürür. Güvenlik tanımlayıcısı mutlak biçimdeyse false döndürür. Daha fazla bilgi için bkz . Mutlak ve Kendi Kendine Göreli Güvenlik Tanımlayıcıları.

CSecurityDesc::MakeAbsolute

Güvenlik tanımlayıcısını mutlak biçime dönüştürmek için bu yöntemi çağırın.

bool MakeAbsolute() throw(...);

Dönüş Değeri

Yöntem başarılı olursa true, aksi takdirde false döndürür.

Açıklamalar

Mutlak biçimdeki bir güvenlik tanımlayıcısı, bilgilerin kendisi yerine içerdiği bilgilerin işaretçilerini içerir. Kendi kendine göreli biçimdeki bir güvenlik tanımlayıcısı, bilgileri bitişik bir bellek bloğunda içerir. Kendi kendine göreli bir güvenlik tanımlayıcısında, bir SECURITY_DESCRIPTOR yapı her zaman bilgileri başlatır, ancak güvenlik tanımlayıcısının diğer bileşenleri herhangi bir sırada yapıyı izleyebilir. Bellek adreslerini kullanmak yerine, kendi kendine göreli güvenlik tanımlayıcısının bileşenleri, güvenlik tanımlayıcısının başından uzaklıklarla tanımlanır. Bu biçim, bir güvenlik tanımlayıcısının bir diskte depolanması veya iletişim protokolü yoluyla iletilmesi gerektiğinde kullanışlıdır. Daha fazla bilgi için bkz . Mutlak ve Kendi Kendine Göreli Güvenlik Tanımlayıcıları.

CSecurityDesc::MakeSelfRelative

Güvenlik tanımlayıcısını kendi kendine göreli biçime dönüştürmek için bu yöntemi çağırın.

bool MakeSelfRelative() throw(...);

Dönüş Değeri

Yöntem başarılı olursa true, aksi takdirde false döndürür.

Açıklamalar

Mutlak biçimdeki bir güvenlik tanımlayıcısı, bilgilerin kendisini içermek yerine içerdiği bilgilerin işaretçilerini içerir. Kendi kendine göreli biçimdeki bir güvenlik tanımlayıcısı, bilgileri bitişik bir bellek bloğunda içerir. Kendi kendine göreli bir güvenlik tanımlayıcısında, bir SECURITY_DESCRIPTOR yapı her zaman bilgileri başlatır, ancak güvenlik tanımlayıcısının diğer bileşenleri herhangi bir sırada yapıyı izleyebilir. Bellek adreslerini kullanmak yerine, güvenlik tanımlayıcısının bileşenleri güvenlik tanımlayıcısının başından uzaklıklarla tanımlanır. Bu biçim, bir güvenlik tanımlayıcısının bir diskte depolanması veya iletişim protokolü yoluyla iletilmesi gerektiğinde kullanışlıdır. Daha fazla bilgi için bkz . Mutlak ve Kendi Kendine Göreli Güvenlik Tanımlayıcıları.

CSecurityDesc::operator =

Atama işleci.

CSecurityDesc& operator= (const SECURITY_DESCRIPTOR& rhs) throw(...);
CSecurityDesc& operator= (const CSecurityDesc& rhs) throw(...);

Parametreler

Rhs
Nesneye SECURITY_DESCRIPTOR CSecurityDesc atanacak yapı veya CSecurityDesc nesne.

Dönüş Değeri

Güncelleştirilmiş CSecurityDesc nesneyi döndürür.

CSecurityDesc::operator const SECURITY_DESCRIPTOR *

Bir değeri yapıya bir işaretçiye dönüştürür SECURITY_DESCRIPTOR .

operator const SECURITY_DESCRIPTOR *() const throw();

CSecurityDesc::SetControl

Güvenlik tanımlayıcısının denetim bitlerini ayarlar.

bool SetControl(
    SECURITY_DESCRIPTOR_CONTROL ControlBitsOfInterest,
    SECURITY_DESCRIPTOR_CONTROL ControlBitsToSet) throw();

Parametreler

ControlBitsOfInterest
Ayarlanacağı denetim bitlerini gösteren bir SECURITY_DESCRIPTOR_CONTROL maskesi. Ayarlanabilen bayrakların listesi için bkz . SetSecurityDescriptorControl.

ControlBitsToSet
ControlBitsOfInterest maskesi tarafından belirtilen denetim bitleri için yeni değerleri gösteren SECURITY_DESCRIPTOR_CONTROL maskesi. Bu parametre, ControlBitsOfInterest parametresi için listelenen bayrakların bir bileşimi olabilir.

Dönüş Değeri

Başarılı olma durumunda true, aksi durumda false değerini döndürür.

Açıklamalar

Bu yöntem SetSecurityDescriptorControl'i çağırır.

CSecurityDesc::SetDacl

İsteğe bağlı erişim denetimi listesindeki (DACL) bilgileri ayarlar. Güvenlik tanımlayıcısında zaten bir DACL varsa, değiştirilir.

inline void SetDacl(
    bool bPresent = true,
    bool bDefaulted = false) throw(...);

inline void SetDacl(
    const CDacl& Dacl,
    bool bDefaulted = false) throw(...);

Parametreler

Dacl
Güvenlik tanımlayıcısı için DACL'yi belirten bir CDacl nesneye başvuru. Bu parametre NULL olmamalıdır. Güvenlik tanımlayıcısında NULL DACL ayarlamak için, yöntemin ilk biçimi bPresent false olarak ayarlanmış olarak kullanılmalıdır.

bÖnerli
Güvenlik tanımlayıcısında bir DACL'nin varlığını gösteren bir bayrak belirtir. Bu parametre true ise, yöntemi yapıda SECURITY_DESCRIPTOR_CONTROL SE_DACL_PRESENT bayrağını ayarlar ve Dacl ve bDefaulted parametrelerindeki değerleri kullanır. False ise, yöntemi SE_DACL_PRESENT bayrağını temizler ve bDefaulted yoksayılır.

bDefaulted
DACL'nin kaynağını gösteren bir bayrak belirtir. Bu bayrak true ise, DACL bazı varsayılan mekanizmalar tarafından alınmıştır. False ise, DACL bir kullanıcı tarafından açıkça belirtilmiştir. yöntemi bu değeri yapının SE_DACL_DEFAULTED bayrağında SECURITY_DESCRIPTOR_CONTROL depolar. Bu parametre belirtilmezse, SE_DACL_DEFAULTED bayrağı temizlenir.

Dönüş Değeri

Başarılı olma durumunda true, aksi durumda false değerini döndürür.

Açıklamalar

Boş ve var olmayan BIR DACL arasında önemli bir fark vardır. Bir DACL boş olduğunda, erişim denetimi girdisi içermez ve açıkça erişim hakkı verilmemiştir. Sonuç olarak, nesneye erişim örtük olarak reddedilir. Bir nesnenin DACL'i olmadığında, nesneye hiçbir koruma atanmamış olur ve herhangi bir erişim isteği verilir.

CSecurityDesc::SetGroup

Mutlak biçimli bir güvenlik tanımlayıcısının birincil grup bilgilerini ayarlar ve zaten mevcut olan birincil grup bilgilerini değiştirir.

bool SetGroup(const CSid& Sid, bool bDefaulted = false) throw(...);

Parametreler

Sıd
Güvenlik tanımlayıcısının yeni birincil grubu için bir CSid nesnesine başvuru. Bu parametre NULL olmamalıdır. Güvenlik tanımlayıcısı BIR DACL veya SACL'ye sahip değil olarak işaretlenebilir, ancak bir grubu ve sahibi olmalıdır, hatta bunlar NULL SID 'dir (özel bir anlamı olan yerleşik bir SID'dir).

bDefaulted
Birincil grup bilgilerinin varsayılan bir mekanizmadan türetilip türetildiğini gösterir. Bu değer true ise, varsayılan bilgilerdir ve yöntemi bu değeri yapıda SECURITY_DESCRIPTOR_CONTROL SE_GROUP_DEFAULTED bayrağı olarak depolar. Bu parametre sıfırsa, SE_GROUP_DEFAULTED bayrağı temizlenir.

Dönüş Değeri

Başarılı olma durumunda true, aksi durumda false değerini döndürür.

CSecurityDesc::SetOwner

Mutlak biçimli bir güvenlik tanımlayıcısının sahip bilgilerini ayarlar. Zaten mevcut olan sahip bilgilerinin yerini alır.

bool SetOwner(const CSid& Sid, bool bDefaulted = false) throw(...);

Parametreler

Sıd
Güvenlik tanımlayıcısının yeni birincil sahibi için CSid nesnesi. Bu parametre NULL olmamalıdır.

bDefaulted
Sahip bilgilerinin varsayılan bir mekanizmadan türetilip türetmediğini gösterir. Bu değer true ise, varsayılan bilgilerdir. yöntemi bu değeri yapıda SECURITY_DESCRIPTOR_CONTROL SE_OWNER_DEFAULTED bayrağı olarak depolar. Bu parametre sıfırsa, SE_OWNER_DEFAULTED bayrağı temizlenir.

Dönüş Değeri

Başarılı olma durumunda true, aksi durumda false değerini döndürür.

CSecurityDesc::SetSacl

Sistem erişim denetimi listesindeki (SACL) bilgileri ayarlar. Güvenlik tanımlayıcısında zaten bir SACL varsa, değiştirilir.

bool SetSacl(const CSacl& Sacl, bool bDefaulted = false) throw(...);

Parametreler

Sacl
Güvenlik tanımlayıcısı için SACL'yi belirten bir CSacl nesne işaretçisi. Bu parametre NULL olmamalıdır ve bir CSacl nesnesi olmalıdır. DACL'lerden farklı olarak, NULL ile boş bir SACL arasında bir fark yoktur, sacl nesneleri erişim haklarını belirtmediğinden, yalnızca denetim bilgilerini belirtir.

bDefaulted
SACL'nin kaynağını gösteren bir bayrak belirtir. Bu bayrak true ise, SACL bazı varsayılan mekanizmalar tarafından alınmıştır. False ise, SACL bir kullanıcı tarafından açıkça belirtilmiştir. yöntemi bu değeri yapının SE_SACL_DEFAULTED bayrağında SECURITY_DESCRIPTOR_CONTROL depolar. Bu parametre belirtilmezse, SE_SACL_DEFAULTED bayrağı temizlenir.

Dönüş Değeri

Başarılı olma durumunda true, aksi durumda false değerini döndürür.

CSecurityDesc::ToString

Güvenlik tanımlayıcısını dize biçimine dönüştürür.

bool ToString(
    CString* pstr, SECURITY_INFORMATION si = OWNER_SECURITY_INFORMATION |
    GROUP_SECURITY_INFORMATION | DACL_SECURITY_INFORMATION |
    SACL_SECURITY_INFORMATION) const throw(...);

Parametreler

pstr
Dize biçimi güvenlik tanımlayıcısını alacak null olarak sonlandırılan bir dizenin işaretçisi.

Si
Çıkış dizesine eklenecek güvenlik tanımlayıcısının bileşenlerini göstermek için SECURITY_INFORMATION bit bayraklarının bir bileşimini belirtir.

Dönüş Değeri

Başarılı olma durumunda true, aksi durumda false değerini döndürür.

Açıklamalar

Güvenlik tanımlayıcısı dize biçiminde olduğunda daha kolay depolanabilir veya iletilebilir. Dizeyi CSecurityDesc::FromString yeniden bir güvenlik tanımlayıcısına dönüştürmek için yöntemini kullanın.

si parametresi aşağıdaki SECURITY_INFORMATION bayraklarını içerebilir:

Değer Anlamı
OWNER_SECURITY_INFORMATION Sahibi dahil edin.
GROUP_SECURITY_INFORMATION Birincil grubu dahil edin.
DACL_SECURITY_INFORMATION DACL'yi ekleyin.
SACL_SECURITY_INFORMATION SACL'yi ekleyin.

DACL NULL ise ve SE_DACL_PRESENT denetim biti giriş güvenlik tanımlayıcısında ayarlanırsa, yöntem başarısız olur.

DACL NULL ise ve SE_DACL_PRESENT denetim biti giriş güvenlik tanımlayıcısında ayarlanmadıysa, sonuçta elde edilen güvenlik tanımlayıcı dizesinin D: bileşeni yoktur. Diğer ayrıntılar için bkz . Güvenlik Tanımlayıcısı Dize Biçimi .

Bu yöntem ConvertStringSecurityDescriptorToSecurityDescriptor öğesini çağırır.

Ayrıca bkz.

Güvenlik Örneği
SECURITY_DESCRIPTOR
Sınıfa Genel Bakış
Güvenlik Genel İşlevleri