Funzione CredPackAuthenticationBufferW (wincred.h)
La funzione CredPackAuthenticationBuffer converte un nome utente e una password stringa in un buffer di autenticazione.
A partire da Windows 8 e Windows Server 2012, la funzione CredPackAuthenticationBuffer converte una credenziale di identità in un buffer di autenticazione, ovvero una struttura SEC_WINNT_AUTH_IDENTITY_EX2 . Questo buffer può essere passato a LsaLogonUser, AcquireCredentialsHandle o ad altre interfacce del provider di identità.
Sintassi
CREDUIAPI BOOL CredPackAuthenticationBufferW(
[in] DWORD dwFlags,
[in] LPWSTR pszUserName,
[in] LPWSTR pszPassword,
[out] PBYTE pPackedCredentials,
[in, out] DWORD *pcbPackedCredentials
);
Parametri
[in] dwFlags
Specifica la modalità di creazione del pacchetto delle credenziali. Può trattarsi di una combinazione dei flag seguenti.
Valore | Significato |
---|---|
|
Crittografa le credenziali in modo che possa essere decrittografata solo dai processi nella sessione di accesso del chiamante. |
|
Crittografa le credenziali in un buffer WOW. |
|
Crittografa le credenziali in un buffer CRED_GENERIC. |
|
Crittografa le credenziali di un'identità online in una struttura SEC_WINNT_AUTH_IDENTITY_EX2 . Se CRED_PACK_GENERIC_CREDENTIALS e CRED_PACK_ID_PROVIDER_CREDENTIALS non sono impostati, crittografa le credenziali in un buffer KERB_INTERACTIVE_LOGON.
Windows 7, Windows Server 2008 R2, Windows Vista, Windows Server 2008: Questo valore non è supportato. |
[in] pszUserName
Puntatore a una stringa con terminazione Null che specifica il nome utente da convertire. Per gli utenti di dominio, la stringa deve essere nel formato seguente:
Domainname\Nome utente
Per le identità online, se la credenziale è una password di testo non crittografato, il formato del nome utente è ProviderName UserName\. Se la credenziale è una struttura SEC_WINNT_AUTH_IDENTITY_EX2 , il nome utente è una stringa codificata che rappresenta l'output del parametro UserName di una chiamata di funzione a SspiEncodeAuthIdentityAsStrings.
Per le credenziali della smart card o del certificato, il nome utente è una stringa codificata che rappresenta l'output di una chiamata di funzione a CredMarshalCredential con l'opzione CertCredential.
Windows Server 2008 R2, Windows 7, Windows Server 2008 e Windows Vista: Le identità online non sono supportate.
[in] pszPassword
Puntatore a una stringa con terminazione Null che specifica la password da convertire.
Per SEC_WINNT_AUTH_IDENTITY_EX2 credenziali, la password è una stringa codificata che si trova nell'output ppszPackedCredentialsString di una chiamata di funzione a SspiEncodeAuthIdentityAsStrings.
Per le credenziali della smart card , si tratta del PIN della smart card .
Windows Server 2008 R2, Windows 7, Windows Server 2008 e Windows Vista: Le identità online non sono supportate.
[out] pPackedCredentials
Puntatore a una matrice di byte che, nell'output, riceve il buffer di autenticazione compresso. Questo parametro può essere NULL per ricevere le dimensioni del buffer necessarie nel parametro pcbPackedCredentials .
[in, out] pcbPackedCredentials
Puntatore a un valore DWORD che specifica le dimensioni, in byte, del buffer pPackedCredentials . Nell'output, se il buffer non è di dimensioni sufficienti, specifica le dimensioni richieste, in byte, del buffer pPackedCredentials .
Valore restituito
TRUE se la funzione ha esito positivo; in caso contrario, FALSE.
Per informazioni sugli errori estesi, chiamare la funzione GetLastError , che può restituire i codici di errore seguenti.
Codice restituito | Descrizione |
---|---|
|
Il buffer fornito da pPackedCredentials è troppo piccolo. |
Commenti
Nota
L'intestazione wincred.h definisce CredPackAuthenticationBuffer 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
Client minimo supportato | Windows Vista [solo app desktop] |
Server minimo supportato | Windows Server 2008 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | wincred.h |
Libreria | Credui.lib |
DLL | Credui.dll |