Funzione SeSetSecurityDescriptorInfo (ntifs.h)
La routine SeSetSecurityDescriptorInfo imposta il descrittore di sicurezza di un oggetto.
Sintassi
NTSTATUS SeSetSecurityDescriptorInfo(
[in, optional] PVOID Object,
[in] PSECURITY_INFORMATION SecurityInformation,
PSECURITY_DESCRIPTOR ModificationDescriptor,
[in, out] PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor,
[in] POOL_TYPE PoolType,
[in] PGENERIC_MAPPING GenericMapping
);
Parametri
[in, optional] Object
Puntatore all'oggetto il cui descrittore di sicurezza deve essere impostato. Viene usato per aggiornare le informazioni sulla quota di sicurezza.
[in] SecurityInformation
Puntatore a una maschera di bit che specifica le informazioni di sicurezza da applicare all'oggetto. Può essere una combinazione di uno o più dei valori seguenti.
Valore | Significato |
---|---|
DACL_SECURITY_INFORMATION | Indica che è in corso l'impostazione dell'elenco DACL (Discretionary Access Control List) dell'oggetto. Richiede WRITE_DAC l'accesso. |
GROUP_SECURITY_INFORMATION | Indica che è in corso l'impostazione dell'identificatore di gruppo primario dell'oggetto. Richiede WRITE_OWNER l'accesso. |
OWNER_SECURITY_INFORMATION | Indica che è in corso l'impostazione dell'identificatore proprietario dell'oggetto. Richiede WRITE_OWNER l'accesso. |
SACL_SECURITY_INFORMATION | Indica che è in corso l'impostazione dell'elenco di controllo di accesso di sistema (SACL) dell'oggetto. Richiede ACCESS_SYSTEM_SECURITY l'accesso. |
ModificationDescriptor
Descrittore di sicurezza di input da applicare all'oggetto . Il chiamante di questa routine deve eseguire il probe e acquisire il descrittore di sicurezza passato prima di chiamare SeSetSecurityDescriptorInfo e rilasciarlo in seguito.
[in, out] ObjectsSecurityDescriptor
Puntatore a un puntatore al descrittore di sicurezza dell'oggetto. Il descrittore di sicurezza deve essere in formato auto-relativo. Il chiamante è responsabile della liberazione di questa struttura quando non è più necessaria.
[in] PoolType
Specifica il tipo di pool da usare per l'allocazione di un nuovo descrittore di sicurezza, che può essere uno dei seguenti:
- NonPagedPool
- PagedPool
- NonPagedPoolCacheAligned
- PagedPoolCacheAligned
In genere, un chiamante specifica PagedPool oppure NonPagedPool se si accederà al buffer in IRQL >= DISPATCH_LEVEL o in un contesto di thread arbitrario.
I tipi di pool NonPagedPoolMustSucceed e NonPagedPoolCacheAlignedMustS sono obsoleti e non devono più essere usati.
[in] GenericMapping
Puntatore a una struttura GENERIC_MAPPING che specifica il mapping di tipi di accesso generici a tipi di accesso specifici e standard per l'oggetto a cui si accede. Questa struttura di mapping dovrebbe essere sicura per l'accesso , ovvero acquisito, se necessario, prima di essere passato a questa routine.
Valore restituito
Codice restituito | Descrizione |
---|---|
STATUS_SUCCESS | Il descrittore di sicurezza dell'oggetto è stato modificato correttamente. |
STATUS_BAD_DESCRIPTOR_FORMAT | Il descrittore di sicurezza dell'oggetto specificato non era in formato auto-relativo. |
STATUS_NO_SECURITY_ON_OBJECT | L'oggetto non dispone di un descrittore di sicurezza. |
Commenti
SeSetSecurityDescriptorInfo modifica il descrittore di sicurezza esistente di un oggetto. Se l'oggetto non dispone di un descrittore di sicurezza, la chiamata a SeSetSecurityDescriptorInfo avrà esito negativo.
Per specificare se l'oggetto supporta l'ereditarietà automatica delle voci di controllo di accesso (ACE), usare SeSetSecurityDescriptorInfoEx.
Un descrittore di sicurezza può essere in forma assoluta o auto-relativa. In forma auto-relativa, tutti i membri della struttura si trovano contiguamente in memoria. In forma assoluta, la struttura contiene solo puntatori ai membri.
Per altre informazioni sulla sicurezza e sul controllo di accesso, vedere Modello di sicurezza di Windows per sviluppatori di driver e la documentazione su questi argomenti in Windows SDK.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Intestazione | ntifs.h (include Ntifs.h) |
Libreria | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
Vedi anche
RtlCreateSecurityDescriptorRelative