Condividi tramite


Funzione GetPrivateObjectSecurity (securitybaseapi.h)

La funzione GetPrivateObjectSecurity recupera informazioni dal descrittore di sicurezza di un oggetto privato.

Sintassi

BOOL GetPrivateObjectSecurity(
  [in]            PSECURITY_DESCRIPTOR ObjectDescriptor,
  [in]            SECURITY_INFORMATION SecurityInformation,
  [out, optional] PSECURITY_DESCRIPTOR ResultantDescriptor,
  [in]            DWORD                DescriptorLength,
  [out]           PDWORD               ReturnLength
);

Parametri

[in] ObjectDescriptor

Puntatore a una struttura SECURITY_DESCRIPTOR . Si tratta del descrittore di sicurezza da eseguire una query.

[in] SecurityInformation

Set di flag di bit che indicano le parti del descrittore di sicurezza da recuperare. Questo parametro può essere una combinazione dei flag SECURITY_INFORMATION bit.

[out, optional] ResultantDescriptor

Puntatore a un buffer che riceve una copia delle informazioni richieste dal descrittore di sicurezza specificato. La struttura SECURITY_DESCRIPTOR viene restituita in formato auto-relativo .

[in] DescriptorLength

Specifica le dimensioni, in byte, del buffer a cui punta il parametro ResultantDescriptor .

[out] ReturnLength

Puntatore a una variabile impostata su zero se il descrittore viene copiato correttamente. Se il buffer è troppo piccolo per il descrittore di sicurezza, questa variabile riceve il numero di byte necessari. Se il valore di questa variabile è maggiore del valore del parametro DescriptorLength quando la funzione restituisce, la funzione restituisce FALSE e nessuno del descrittore di sicurezza viene copiato nel buffer.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è diverso da zero.

Se la funzione ha esito negativo, il valore restituito è zero. Per informazioni dettagliate sull'errore, chiamare GetLastError.

Commenti

Questa funzione è progettata solo per l'uso da parte di gestione risorse. Per implementare la semantica del controllo di accesso standard per l'aggiornamento dei descrittori di sicurezza, un resource manager deve verificare che le condizioni seguenti vengano soddisfatte prima di chiamare GetPrivateObjectSecurity:

  • Se il proprietario dell'oggetto è impostato, il processo chiamante deve avere l'autorizzazione WRITE_OWNER o essere il proprietario dell'oggetto.
  • Se viene impostato l'elenco di controllo di accesso discrezionale dell'oggetto, il processo chiamante deve avere l'autorizzazione WRITE_DAC o essere il proprietario dell'oggetto.
  • Se viene impostato l'elenco di controllo di accesso al sistema dell'oggetto, è necessario abilitare il privilegio SE_SECURITY_NAME per il processo chiamante.
Se le condizioni precedenti non vengono soddisfatte, una chiamata a questa funzione non riesce, tuttavia, i criteri di accesso standard non vengono applicati.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione securitybaseapi.h (include Windows.h)
Libreria Advapi32.lib
DLL Advapi32.dll

Vedi anche

Funzioni di Controllo di accesso client/server

Panoramica Controllo di accesso client/server

CreatePrivateObjectSecurity

DestroyPrivateObjectSecurity

GetFileSecurity

GetKernelObjectSecurity

GetUserObjectSecurity

SECURITY_DESCRIPTOR

SECURITY_INFORMATION

SetPrivateObjectSecurity