Funzione MakeSelfRelativeSD (securitybaseapi.h)

La funzione MakeSelfRelativeSD crea un descrittore di sicurezza in formato auto-relativo usando un descrittore di sicurezza in formato assoluto come modello.

Sintassi

BOOL MakeSelfRelativeSD(
  [in]            PSECURITY_DESCRIPTOR pAbsoluteSecurityDescriptor,
  [out, optional] PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor,
  [in, out]       LPDWORD              lpdwBufferLength
);

Parametri

[in] pAbsoluteSecurityDescriptor

Puntatore a una struttura SECURITY_DESCRIPTOR in formato assoluto. La funzione crea una versione di questo descrittore di sicurezza in formato auto-relativo senza modificare l'originale.

[out, optional] pSelfRelativeSecurityDescriptor

Puntatore a un buffer che la funzione riempie con un descrittore di sicurezza in formato auto-relativo.

[in, out] lpdwBufferLength

Puntatore a una variabile che specifica le dimensioni del buffer a cui punta il parametro pSelfRelativeSD . Se il buffer non è sufficientemente grande per il descrittore di sicurezza, la funzione ha esito negativo e imposta questa variabile sulla dimensione minima richiesta.

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. I codici restituiti possibili includono, a titolo esemplificativo, quanto segue.

Codice/valore restituito Descrizione
ERROR_INSUFFICIENT_BUFFER
0x7A
Uno o più buffer sono troppo piccoli.

Commenti

Un descrittore di sicurezza in formato assoluto contiene puntatori alle informazioni contenute, anziché contenere le informazioni stesse. Un descrittore di sicurezza in formato auto-relativo contiene le informazioni in un blocco contiguo di memoria. In un descrittore di sicurezza auto-relativo, una struttura di SECURITY_DESCRIPTOR avvia sempre le informazioni, ma gli altri componenti del descrittore di sicurezza possono seguire la struttura in qualsiasi ordine. Invece di usare gli indirizzi di memoria, i componenti del descrittore di sicurezza vengono identificati da offset dall'inizio del descrittore di sicurezza. Questo formato è utile quando un descrittore di sicurezza deve essere archiviato in un disco floppy o trasmesso tramite un protocollo di comunicazione.

Un server che copia oggetti protetti in vari supporti può usare la funzione MakeSelfRelativeSD per creare un descrittore di sicurezza auto-relativo da un descrittore di sicurezza assoluto e la funzione MakeAbsoluteSD per creare un descrittore di sicurezza assoluto da un descrittore di sicurezza auto-relativo.

Requisiti

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

Vedi anche

Controllo di accesso di basso livello

Funzioni di Controllo di accesso di basso livello

MakeAbsoluteSD

SECURITY_DESCRIPTOR