Funzione CredWriteW (wincred.h)
La funzione CredWrite crea una nuova credenziale o modifica una credenziale esistente nel set di credenziali dell'utente. La nuova credenziale è associata alla sessione di accesso del token corrente. Il token non deve avere disabilitato l'identificatore di sicurezza (SID) dell'utente.
Sintassi
BOOL CredWriteW(
[in] PCREDENTIALW Credential,
[in] DWORD Flags
);
Parametri
[in] Credential
Puntatore alla struttura CREDENTIAL da scrivere.
[in] Flags
Contrassegna che controlla l'operazione della funzione. Il flag seguente è definito.
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 della smart card durante la scrittura di una credenziale CRED_TYPE_CERTIFICATE.
Codice/valore restituito | Descrizione |
---|---|
|
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. |
|
Non è possibile modificare determinati campi in una credenziale esistente. Questo errore viene restituito se un campo non corrisponde al valore in un campo protetto delle credenziali esistenti. |
|
Valore non valido per il parametro Flags . |
|
Il membro UserName della struttura Credential passata non è valido. Per una descrizione della sintassi del nome utente valida, vedere la definizione di tale membro. |
|
CRED_PRESERVE_CREDENTIAL_BLOB è stato specificato e non esiste alcuna credenziale esistente con lo stesso nome di destinazione e tipo. |
|
La credenziale CRED_TYPE_CERTIFICATE scritta richiede che sia disponibile il lettore smart card. |
|
Una credenziale CRED_TYPE_CERTIFICATE scritta richiede l'inserimento della smart card. |
|
Il PIN errato è stato fornito per la scrittura delle credenziali CRED_TYPE_CERTIFICATE. |
Commenti
Questa funzione crea una credenziale se non esiste una credenziale con TargetName e Type specificati. Se esiste una credenziale con TargetName e Type specificati, la nuova credenziale specificata sostituisce quella esistente.
Quando questa funzione scrive una credenziale CRED_TYPE_CERTIFICATE, il membro Credential-CredentialBlob specifica il PIN che protegge la chiave privata del certificato specificato dal membro Credential-UserName>>. Gestione credenziali non gestisce il PIN. Invece, il PIN viene passato al provider di servizi di crittografia (CSP) indicato nel certificato per un uso successivo da parte del CSP e dei pacchetti di autenticazione. Il CSP definisce la durata del PIN. La maggior parte dei provider di servizi di rete scarica il PIN quando la rimozione della smart card dal lettore smart card.
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 di destinazione. Questa funzione non supporta la scrittura in nomi di destinazione contenenti caratteri jolly.
Nota
L'intestazione wincred.h definisce CredWrite come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.
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 |