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, 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