Funzione CredWriteDomainCredentialsW (wincred.h)
La funzione CredWriteDomainCredentials scrive le credenziali di dominio nel set di credenziali dell'utente. Il set di credenziali usato è quello associato alla sessione di accesso del token corrente. Il token non deve avere il SID dell'utente disabilitato.
Sintassi
BOOL CredWriteDomainCredentialsW(
[in] PCREDENTIAL_TARGET_INFORMATIONW TargetInfo,
[in] PCREDENTIALW Credential,
[in] DWORD Flags
);
Parametri
[in] TargetInfo
Identifica il server di destinazione. Almeno uno dei membri di denominazione deve essere diverso da NULL e può essere NetbiosServerName, DnsServerName, NetbiosDomainName, DnsDomainName o DnsTreeName.
[in] Credential
Credenziali da scrivere.
La credenziale deve corrispondere a TargetInfo . Ad esempio, se TargetName è un nome DNS con caratteri jolly, il membro TargetName della credenziale deve essere un prefisso del membro DnsServerName da TargetInfo.
[in] Flags
Flag per controllare l'operazione dell'API. Viene definito il flag seguente.
Valore restituito
Se la funzione ha esito positivo, la funzione restituisce TRUE.
Se la funzione ha esito negativo, restituisce FALSE. Chiamare la funzione GetLastError per ottenere un codice di stato più specifico. È possibile restituire i codici di stato seguenti.
È possibile restituire altri errori di smart card durante la scrittura di una credenziale CRED_TYPE_CERTIFICATE.
Codice restituito | Descrizione |
---|---|
|
Uno o più parametri non sono validi. Nessuno dei parametri di denominazione è stato specificato oppure la credenziale specificata non ha impostato il membro Type su CRED_TYPE_DOMAIN_PASSWORD o CRED_TYPE_DOMAIN_CERTIFICATE oppure la credenziale non corrisponde a TargetInfo. |
|
La sessione di accesso non esiste o non esiste alcun set di credenziali associato a questa sessione di accesso. Le sessioni di accesso di rete non hanno un set di credenziali associato. |
|
Valore non valido specificato per il parametro Flags . |
|
Il membro UserName della struttura delle credenziali passata non è valido. Per una descrizione delle sintassi valide, vedere la definizione di tale membro. |
|
CRED_PRESERVE_CREDENTIAL_BLOB è stato specificato e non esiste alcuna credenziale esistente con lo stesso TargetName e Type. |
|
La credenziale CRED_TYPE_CERTIFICATE scritta richiede che il lettore di smart card sia disponibile. |
|
La credenziale scritta richiede l'inserimento della smart card. |
|
Il PIN errato è stato fornito per la scrittura delle credenziali CRED_TYPE_CERTIFICATE. |
Commenti
Quando questa funzione scrive una credenziale CRED_TYPE_CERTIFICATE, il membro Credential-CredentialBlob> specifica il PIN che protegge la chiave privata del certificato specificato da Credential-UserName>. Gestione credenziali non gestisce il PIN. Il PIN viene invece passato al CSP del certificato per usarlo successivamente dai pacchetti di autenticazione e CSP. Il provider di servizi di configurazione definisce la durata del PIN. Ad esempio, la maggior parte dei provider di servizi di configurazione scarica il PIN dopo la rimozione della smart card.
CredWriteDomainCredentials differisce da CredWrite in quanto gestisce le idioincrone delle credenziali del dominio (CRED_TYPE_DOMAIN_PASSWORD o CRED_TYPE_DOMAIN_CERTIFICATE). Le credenziali di dominio contengono più membri di destinazione.
Se il valore del membro Type della struttura CREDENTIAL specificato dal parametro Credential è CRED_TYPE_DOMAIN_EXTENDED, è necessario specificare uno spazio dei nomi nel nome della destinazione.
Nota
L'intestazione wincred.h definisce CredWriteDomainCredentials 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 che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.
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 | wincred.h |
Libreria | Advapi32.lib |
DLL | Advapi32.dll |