CPrivateObjectSecurityDesc – třída
Tato třída představuje objekt popisovače zabezpečení privátního objektu.
Syntaxe
class CPrivateObjectSecurityDesc : public CSecurityDesc
Členové
Veřejné konstruktory
Název | Popis |
---|---|
CPrivateObjectSecurityDesc::CPrivateObjectSecurityDesc | Konstruktor |
CPrivateObjectSecurityDesc::~CPrivateObjectSecurityDesc | Destruktor. |
Veřejné metody
Název | Popis |
---|---|
CPrivateObjectSecurityDesc::ConvertToAutoInherit | Voláním této metody převedete popisovač zabezpečení a jeho seznamy řízení přístupu (ACL) do formátu, který podporuje automatické šíření zděděných položek řízení přístupu (ACL). |
CPrivateObjectSecurityDesc::Create | Voláním této metody přidělte a inicializujete popisovač zabezpečení pro privátní objekt vytvořený volajícím správcem prostředků. |
CPrivateObjectSecurityDesc::Get | Voláním této metody načtěte informace z popisovače zabezpečení privátního objektu. |
CPrivateObjectSecurityDesc::Set | Voláním této metody lze upravit popisovač zabezpečení privátního objektu. |
Operátory
Operátor | Popis |
---|---|
operator = | Operátor přiřazení. |
Poznámky
Tato třída odvozená z CSecurityDesc poskytuje metody pro vytváření a správu popisovače zabezpečení privátního objektu.
Úvod k modelu řízení přístupu ve Windows najdete v tématu Řízení přístupu v sadě Windows SDK.
Hierarchie dědičnosti
CPrivateObjectSecurityDesc
Požadavky
Hlavička: atlsecurity.h
CPrivateObjectSecurityDesc::ConvertToAutoInherit
Voláním této metody převedete popisovač zabezpečení a jeho seznamy řízení přístupu (ACL) do formátu, který podporuje automatické šíření zděděných položek řízení přístupu (ACL).
bool ConvertToAutoInherit(
const CSecurityDesc* pParent,
GUID* ObjectType,
bool bIsDirectoryObject,
PGENERIC_MAPPING GenericMapping) throw();
Parametry
pParent
Ukazatel na objekt CSecurityDesc odkazující na nadřazený kontejner objektu. Pokud neexistuje nadřazený kontejner, má tento parametr hodnotu NULL.
ObjectType
Ukazatel na GUID
strukturu, která identifikuje typ objektu přidruženého k aktuálnímu objektu. Pokud objekt nemá identifikátor GUID, nastavte objectType na hodnotu NULL.
bIsDirectoryObject
Určuje, zda nový objekt může obsahovat jiné objekty. Hodnota true označuje, že nový objekt je kontejner. Hodnota false označuje, že nový objekt není kontejner.
Obecné mapování
Ukazatel na GENERIC_MAPPING strukturu, která určuje mapování z každého obecného práva na konkrétní práva objektu.
Návratová hodnota
Při úspěchu vrátí hodnotu true, při neúspěchu hodnotu false.
Poznámky
Tato metoda se pokusí zjistit, jestli byly seznamy řízení přístupu (DACL) a seznamu řízení přístupu (SACL) aktuálního popisovače zabezpečení zděděny z nadřazeného popisovače zabezpečení. Volá funkci ConvertToAutoInheritPrivateObjectSecurity.
CPrivateObjectSecurityDesc::CPrivateObjectSecurityDesc
Konstruktor
CPrivateObjectSecurityDesc() throw();
Poznámky
Inicializuje CPrivateObjectSecurityDesc
objekt.
CPrivateObjectSecurityDesc::~CPrivateObjectSecurityDesc
Destruktor.
~CPrivateObjectSecurityDesc() throw();
Poznámky
Destruktor uvolní všechny přidělené prostředky a odstraní popisovač zabezpečení privátního objektu.
CPrivateObjectSecurityDesc::Create
Voláním této metody přidělte a inicializujete popisovač zabezpečení pro privátní objekt vytvořený volajícím správcem prostředků.
bool Create(
const CSecurityDesc* pParent,
const CSecurityDesc* pCreator,
bool bIsDirectoryObject,
const CAccessToken& Token,
PGENERIC_MAPPING GenericMapping) throw();
bool Create(
const CSecurityDesc* pParent,
const CSecurityDesc* pCreator,
GUID* ObjectType,
bool bIsContainerObject,
ULONG AutoInheritFlags,
const CAccessToken& Token,
PGENERIC_MAPPING GenericMapping) throw();
Parametry
pParent
Ukazatel na objekt CSecurityDesc odkazující na nadřazený adresář, ve kterém se vytváří nový objekt. Pokud neexistuje nadřazený adresář, nastavte hodnotu NULL.
pCreator
Ukazatel na popisovač zabezpečení poskytnutý tvůrcem objektu. Pokud tvůrce objektu explicitně nepředává informace o zabezpečení pro nový objekt, nastavte tento parametr na HODNOTU NULL.
bIsDirectoryObject
Určuje, zda nový objekt může obsahovat jiné objekty. Hodnota true označuje, že nový objekt je kontejner. Hodnota false označuje, že nový objekt není kontejner.
Token
Odkaz na objekt CAccessToken pro proces klienta, jehož jménem se objekt vytváří.
Obecné mapování
Ukazatel na GENERIC_MAPPING strukturu, která určuje mapování z každého obecného práva na konkrétní práva objektu.
ObjectType
Ukazatel na GUID
strukturu, která identifikuje typ objektu přidruženého k aktuálnímu objektu. Pokud objekt nemá identifikátor GUID, nastavte objectType na hodnotu NULL.
bIsContainerObject
Určuje, zda nový objekt může obsahovat jiné objekty. Hodnota true označuje, že nový objekt je kontejner. Hodnota false označuje, že nový objekt není kontejner.
AutoInheritFlags
Sada bitových příznaků, které řídí, jak se položky řízení přístupu (ACL) dědí z pParentu. Další podrobnosti najdete v tématu CreatePrivateObjectSecurityEx .
Návratová hodnota
Při úspěchu vrátí hodnotu true, při neúspěchu hodnotu false.
Poznámky
Tato metoda volá CreatePrivateObjectSercurity nebo CreatePrivateObjectSecurityEx.
Druhá metoda umožňuje zadat identifikátor GUID typu objektu nového objektu nebo řízení způsobu dědění ACL.
Poznámka:
Popisovač zabezpečení relativní k sobě je popisovač zabezpečení, který ukládá všechny informace o zabezpečení do souvislého bloku paměti.
CPrivateObjectSecurityDesc::Get
Voláním této metody načtěte informace z popisovače zabezpečení privátního objektu.
bool Get(
SECURITY_INFORMATION si,
CSecurityDesc* pResult) const throw();
Parametry
si
Sada bitových příznaků, které označují části popisovače zabezpečení, které se mají načíst. Tato hodnota může být kombinací SECURITY_INFORMATION bitových příznaků.
pResult
Ukazatel na objekt CSecurityDesc , který obdrží kopii požadovaných informací ze zadaného popisovače zabezpečení.
Návratová hodnota
Při úspěchu vrátí hodnotu true, při neúspěchu hodnotu false.
Poznámky
Popisovač zabezpečení je struktura a přidružená data, která obsahují informace o zabezpečení zabezpečitelného objektu.
CPrivateObjectSecurityDesc::operator =
Operátor přiřazení.
CPrivateObjectSecurityDesc& operator= (const CPrivateObjectSecurityDesc& rhs) throw(...);
Parametry
rhs
Objekt CPrivateObjectSecurityDesc
, který chcete přiřadit aktuálnímu objektu.
Návratová hodnota
Vrátí aktualizovaný CPrivateObjectSecurityDesc
objekt.
CPrivateObjectSecurityDesc::Set
Voláním této metody lze upravit popisovač zabezpečení privátního objektu.
bool Set(
SECURITY_INFORMATION si,
const CSecurityDesc& Modification,
PGENERIC_MAPPING GenericMapping,
const CAccessToken& Token) throw();
bool Set(
SECURITY_INFORMATION si,
const CSecurityDesc& Modification,
ULONG AutoInheritFlags,
PGENERIC_MAPPING GenericMapping,
const CAccessToken& Token) throw();
Parametry
si
Sada bitových příznaků, které označují části popisovače zabezpečení, které se mají nastavit. Tato hodnota může být kombinací SECURITY_INFORMATION bitových příznaků.
Modifikace
Ukazatel na objekt CSecurityDesc . Části tohoto popisovače zabezpečení označené parametrem si se použijí na popisovač zabezpečení objektu.
Obecné mapování
Ukazatel na GENERIC_MAPPING strukturu, která určuje mapování z každého obecného práva na konkrétní práva objektu.
Token
Odkaz na objekt CAccessToken pro proces klienta, jehož jménem se objekt vytváří.
AutoInheritFlags
Sada bitových příznaků, které řídí, jak se položky řízení přístupu (ACL) dědí z pParentu. Další podrobnosti najdete v tématu CreatePrivateObjectSecurityEx .
Návratová hodnota
Při úspěchu vrátí hodnotu true, při neúspěchu hodnotu false.
Poznámky
Druhá metoda umožňuje zadat identifikátor GUID typu objektu objektu nebo řídit, jak jsou zděděny ACL.
Viz také
SECURITY_DESCRIPTOR
Přehled třídy
Globální funkce zabezpečení
CSecurityDesc – třída