Funzione RtlAbsoluteToSelfRelativeSD (ntifs.h)
La routine RtlAbsoluteToSelfRelativeSD crea un nuovo descrittore di sicurezza in formato auto-relativo usando un descrittore di sicurezza in formato assoluto come modello.
Sintassi
NTSYSAPI NTSTATUS RtlAbsoluteToSelfRelativeSD(
[in] PSECURITY_DESCRIPTOR AbsoluteSecurityDescriptor,
[out] PSECURITY_DESCRIPTOR SelfRelativeSecurityDescriptor,
[in, out] PULONG BufferLength
);
Parametri
[in] AbsoluteSecurityDescriptor
Puntatore a un buffer allocato dal chiamante che contiene una struttura SECURITY_DESCRIPTOR in formato assoluto. RtlAbsoluteToSelfRelativeSD crea una versione di questo descrittore di sicurezza in formato auto-relativo senza modificare l'originale.
[out] SelfRelativeSecurityDescriptor
Puntatore a un buffer allocato dal chiamante che riceve un descrittore di sicurezza in formato auto-relativo.
[in, out] BufferLength
Puntatore a una variabile allocata dal chiamante che specifica le dimensioni, in byte, del buffer a cui punta il parametro SelfRelativeSecurityDescriptor. Se il buffer non è sufficientemente grande da contenere il descrittore di sicurezza, RtlAbsoluteToSelfRelativeSD restituisce STATUS_BUFFER_TOO_SMALL e imposta questa variabile sulla dimensione minima richiesta.
Valore restituito
RtlAbsoluteToSelfRelativeSD restituisce STATUS_SUCCESS o un valore NTSTATUS appropriato, ad esempio uno dei seguenti:
Codice restituito | Descrizione |
---|---|
|
Il buffer a cui punta il parametro AbsoluteSecurityDescriptor non contiene una struttura SECURITY_DESCRIPTOR in formato assoluto. STATUS_BAD_DESCRIPTOR_FORMAT è un codice di errore. |
|
Il buffer a cui punta il parametro SelfRelativeSecurityDescriptor era troppo piccolo per contenere il descrittore di sicurezza in formato auto-relativo. STATUS_BUFFER_TOO_SMALL è un codice di errore. |
Osservazioni
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 self-relative, una struttura di SECURITY_DESCRIPTOR avvia sempre le informazioni, ma gli altri componenti del descrittore di sicurezza possono seguire la struttura SECURITY_DESCRIPTOR in qualsiasi ordine. Anziché 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 su un disco o trasmesso tramite un protocollo di comunicazione.
Per creare un nuovo descrittore di sicurezza in formato assoluto usando un descrittore di sicurezza in formato auto-relativo come modello, usare RtlSelfRelativeToAbsoluteSD.
Per altre informazioni sulla sicurezza e sul controllo di accesso, vedere la documentazione di Microsoft Windows SDK.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows Server 2003 SP1 |
piattaforma di destinazione | Universale |
intestazione | ntifs.h (include Ntifs.h) |
libreria | NtosKrnl.lib |
dll | NtosKrnl.exe (modalità kernel); Ntdll.dll (modalità utente) |
IRQL | <= APC_LEVEL |