Funzione DsInheritSecurityIdentityA (ntdsapi.h)
La funzione DsInheritSecurityIdentity
Sintassi
NTDSAPI DWORD DsInheritSecurityIdentityA(
[in] HANDLE hDS,
[in] DWORD Flags,
[in] LPCSTR SrcPrincipal,
[in] LPCSTR DstPrincipal
);
Parametri
[in] hDS
Contiene un handle del servizio directory ottenuto dalla funzione DSBind o DSBindWithCred.
[in] Flags
Riservato per uso futuro. Deve essere zero.
[in] SrcPrincipal
Puntatore a una stringa con terminazione Null che specifica il nome di un'entità di sicurezza (utente o gruppo) nel dominio di origine. Questo nome è un nome SAM relativo al dominio.
[in] DstPrincipal
Puntatore a una stringa con terminazione Null che specifica il nome di un'entità di sicurezza (utente o gruppo) nel dominio di destinazione. Questo nome SAM relativo al dominio identifica l'entità il cui attributo sidHistory
Valore restituito
Restituisce un codice di errore RPC o di sistema, incluso quanto segue.
Osservazioni
Con le applicazioni di dominio di aggiornamento del sistema operativo, che si estendono sia su domini aggiornati che non aggiornati, possono avere entità di sicurezza all'interno e all'esterno della foresta per la stessa entità logica contemporaneamente.
Quando tutti i domini aggiornati sono stati aggiunti alla stessa foresta, DsInheritSecurityIdentity elimina gli oggetti duplicati assicurando al tempo stesso che gli oggetti rimanenti abbiano tutti i diritti di sicurezza e i privilegi appartenenti al rispettivo oggetto eliminato.
Implementazione di DsInheritSecurityIdentity:
- Verifica che SrcPrincipal e DstPrincipal si trovino nello stesso dominio.
- Verifica che il dominio sia scrivibile nel binding al server.
- Verifica che il controllo sia abilitato per il dominio.
- Verifica che il chiamante sia membro degli amministratori di dominio per il dominio.
- Verifica che il dominio sia in modalità nativa.
- Verifica che esista SrcPrincipal, che si tratti di un'entità di sicurezza e abbia letto il relativo oggetto Id e proprietà sidHistory.
- Verifica che esista DstPrincipal, che si tratti di un'entità di sicurezza e abbia letto determinate proprietà necessarie per il controllo e la verifica.
- Elimina SrcPrincipal nel database solo se viene eseguito il commit dell'intera operazione al completamento. Questa operazione ha esito negativo se il chiamante non dispone di diritti di eliminazione o se SrcPrincipal ha figli.
- Non riesce l'operazione se l'oggetto OggettoSid di SrcPrincipal o DstPrincipal è un SID noto.
- Aggiunge il
objectSid e il sidHistory (se presente) diSrcPrincipal alsidHistory diDstPrincipal . - Forza un evento di controllo e non riesce l'operazione se il controllo non riesce.
- Inserisce gli eventi nel log del servizio directory. Non confondere questa operazione con il log di controllo della sicurezza.
Nota
L'intestazione ntdsapi.h definisce DsInheritSecurityIdentity come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows Vista |
server minimo supportato | Windows Server 2008 |
piattaforma di destinazione | Finestre |
intestazione |
ntdsapi.h |
libreria |
Ntdsapi.lib |
dll | Ntdsapi.dll |