Condividi tramite


Classe CPrivateObjectSecurityDesc

Questa classe rappresenta un oggetto descrittore di sicurezza dell'oggetto privato.

Sintassi

class CPrivateObjectSecurityDesc : public CSecurityDesc

Membri

Costruttori pubblici

Nome Descrizione
CPrivateObjectSecurityDesc::CPrivateObjectSecurityDesc Costruttore.
CPrivateObjectSecurityDesc::~CPrivateObjectSecurityDesc Distruttore.

Metodi pubblici

Nome Descrizione
CPrivateObjectSecurityDesc::ConvertToAutoInherit Chiamare questo metodo per convertire un descrittore di sicurezza e i relativi elenchi di controllo di accesso (ACL) in un formato che supporta la propagazione automatica delle voci di controllo di accesso ereditabili.
CPrivateObjectSecurityDesc::Create Chiamare questo metodo per allocare e inizializzare un descrittore di sicurezza auto-relativo per l'oggetto privato creato dal gestore risorse chiamante.
CPrivateObjectSecurityDesc::Get Chiamare questo metodo per recuperare informazioni dal descrittore di sicurezza di un oggetto privato.
CPrivateObjectSecurityDesc::Set Chiamare questo metodo per modificare il descrittore di sicurezza di un oggetto privato.

Operatori

Operatore Descrizione
operator = Operatore di assegnazione.

Osservazioni:

Questa classe, derivata da CSecurityDesc, fornisce metodi per la creazione e la gestione del descrittore di sicurezza di un oggetto privato.

Per un'introduzione al modello di controllo di accesso in Windows, vedere Controllo di accesso in Windows SDK.

Gerarchia di ereditarietà

CSecurityDesc

CPrivateObjectSecurityDesc

Requisiti

Intestazione: atlsecurity.h

CPrivateObjectSecurityDesc::ConvertToAutoInherit

Chiamare questo metodo per convertire un descrittore di sicurezza e i relativi elenchi di controllo di accesso (ACL) in un formato che supporta la propagazione automatica delle voci di controllo di accesso ereditabili.

bool ConvertToAutoInherit(
    const CSecurityDesc* pParent,
    GUID* ObjectType,
    bool bIsDirectoryObject,
    PGENERIC_MAPPING GenericMapping) throw();

Parametri

pParent
Puntatore a un oggetto CSecurityDesc che fa riferimento al contenitore padre dell'oggetto . Se non è presente alcun contenitore padre, questo parametro è NULL.

ObjectType
Puntatore a una GUID struttura che identifica il tipo di oggetto associato all'oggetto corrente. Impostare ObjectType su NULL se l'oggetto non dispone di un GUID.

bIsDirectoryObject
Specifica se il nuovo oggetto può contenere altri oggetti. Un valore true indica che il nuovo oggetto è un contenitore. Un valore false indica che il nuovo oggetto non è un contenitore.

GenericMapping
Puntatore a una struttura GENERIC_MAPPING che specifica il mapping da ogni diritto generico a diritti specifici per l'oggetto.

Valore restituito

Restituisce true se l'operazione ha esito positivo, false in caso di esito negativo.

Osservazioni:

Questo metodo tenta di determinare se gli ACL nell'elenco di controllo di accesso discrezionale (DACL) e nell'elenco SACL (System Access Control List) del descrittore di sicurezza corrente sono stati ereditati dal descrittore di sicurezza padre. Chiama la funzione ConvertToAutoInheritPrivateObjectSecurity .

CPrivateObjectSecurityDesc::CPrivateObjectSecurityDesc

Costruttore.

CPrivateObjectSecurityDesc() throw();

Osservazioni:

Inizializza l'oggetto CPrivateObjectSecurityDesc.

CPrivateObjectSecurityDesc::~CPrivateObjectSecurityDesc

Distruttore.

~CPrivateObjectSecurityDesc() throw();

Osservazioni:

Il distruttore libera tutte le risorse allocate ed elimina il descrittore di sicurezza dell'oggetto privato.

CPrivateObjectSecurityDesc::Create

Chiamare questo metodo per allocare e inizializzare un descrittore di sicurezza auto-relativo per l'oggetto privato creato dal gestore risorse chiamante.

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();

Parametri

pParent
Puntatore a un oggetto CSecurityDesc che fa riferimento alla directory padre in cui viene creato un nuovo oggetto. Impostare su NULL se non è presente alcuna directory padre.

pCreator
Puntatore a un descrittore di sicurezza fornito dall'autore dell'oggetto. Se l'autore dell'oggetto non passa in modo esplicito le informazioni di sicurezza per il nuovo oggetto, impostare questo parametro su NULL.

bIsDirectoryObject
Specifica se il nuovo oggetto può contenere altri oggetti. Un valore true indica che il nuovo oggetto è un contenitore. Un valore false indica che il nuovo oggetto non è un contenitore.

Token
Riferimento all'oggetto CAccessToken per il processo client per conto del quale viene creato l'oggetto.

GenericMapping
Puntatore a una struttura GENERIC_MAPPING che specifica il mapping da ogni diritto generico a diritti specifici per l'oggetto.

ObjectType
Puntatore a una GUID struttura che identifica il tipo di oggetto associato all'oggetto corrente. Impostare ObjectType su NULL se l'oggetto non dispone di un GUID.

bIsContainerObject
Specifica se il nuovo oggetto può contenere altri oggetti. Un valore true indica che il nuovo oggetto è un contenitore. Un valore false indica che il nuovo oggetto non è un contenitore.

AutoInheritFlags
Set di flag di bit che controllano il modo in cui le voci di controllo di accesso (ACL) vengono ereditate da pParent. Per altri dettagli, vedere CreatePrivateObjectSecurityEx .

Valore restituito

Restituisce true se l'operazione ha esito positivo, false in caso di esito negativo.

Osservazioni:

Questo metodo chiama CreatePrivateObjectSercurity o CreatePrivateObjectSecurityEx.

Il secondo metodo consente di specificare il GUID del tipo di oggetto del nuovo oggetto o di controllare la modalità di ereditarietà degli ACL.

Nota

Un descrittore di sicurezza self-relative è un descrittore di sicurezza che archivia tutte le informazioni di sicurezza in un blocco contiguo di memoria.

CPrivateObjectSecurityDesc::Get

Chiamare questo metodo per recuperare informazioni dal descrittore di sicurezza di un oggetto privato.

bool Get(
    SECURITY_INFORMATION si,
    CSecurityDesc* pResult) const throw();

Parametri

si
Set di flag di bit che indicano le parti del descrittore di sicurezza da recuperare. Questo valore può essere una combinazione dei flag di bit edizione StandardCURITY_INFORMATION.

pResult
Puntatore a un oggetto CSecurityDesc che riceve una copia delle informazioni richieste dal descrittore di sicurezza specificato.

Valore restituito

Restituisce true se l'operazione ha esito positivo, false in caso di esito negativo.

Osservazioni:

Il descrittore di sicurezza è una struttura e i dati associati che contengono le informazioni di sicurezza per un oggetto a protezione diretta.

CPrivateObjectSecurityDesc::operator =

Operatore di assegnazione.

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

Parametri

rhs
Oggetto CPrivateObjectSecurityDesc da assegnare all'oggetto corrente.

Valore restituito

Restituisce l'oggetto aggiornato CPrivateObjectSecurityDesc .

CPrivateObjectSecurityDesc::Set

Chiamare questo metodo per modificare il descrittore di sicurezza di un oggetto privato.

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();

Parametri

si
Set di flag di bit che indicano le parti del descrittore di sicurezza da impostare. Questo valore può essere una combinazione dei flag di bit edizione StandardCURITY_INFORMATION.

Modifica
Puntatore a un oggetto CSecurityDesc . Le parti di questo descrittore di sicurezza indicate dal parametro si vengono applicate al descrittore di sicurezza dell'oggetto.

GenericMapping
Puntatore a una struttura GENERIC_MAPPING che specifica il mapping da ogni diritto generico a diritti specifici per l'oggetto.

Token
Riferimento all'oggetto CAccessToken per il processo client per conto del quale viene creato l'oggetto.

AutoInheritFlags
Set di flag di bit che controllano il modo in cui le voci di controllo di accesso (ACL) vengono ereditate da pParent. Per altri dettagli, vedere CreatePrivateObjectSecurityEx .

Valore restituito

Restituisce true se l'operazione ha esito positivo, false in caso di esito negativo.

Osservazioni:

Il secondo metodo consente di specificare il GUID del tipo di oggetto dell'oggetto o di controllare la modalità di ereditarietà degli ACL.

Vedi anche

edizione StandardCURITY_DESCRIPTOR
Cenni preliminari sulla classe
Funzioni globali di sicurezza
Classe CSecurityDesc