Funzione CredWriteA (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 CredWriteA(
[in] PCREDENTIALA Credential,
[in] DWORD Flags
);
Parametri
[in] Credential
Puntatore alla struttura CREDENTIAL da scrivere.
[in] Flags
Flag che controllano l'operazione della funzione. 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/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. |
|
Alcuni campi non possono essere modificati 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 specificato per il parametro Flags . |
|
Il membro UserName della struttura delle credenziali 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 TargetName e Type. |
|
La credenziale CRED_TYPE_CERTIFICATE scritta richiede che il lettore di smart card sia disponibile. |
|
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. Il PIN viene invece 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 provider di servizi di configurazione definisce la durata del PIN. La maggior parte dei CSP scarica il PIN quando la smart card viene rimossa dal lettore di 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 della destinazione. Questa funzione non supporta la scrittura nei 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 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 |