Funzione CredPackAuthenticationBufferA (wincred.h)
La funzione credPackAuthenticationBuffer
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, AcquireCredentialsHandleo altre interfacce del provider di identità.
Sintassi
CREDUIAPI BOOL CredPackAuthenticationBufferA(
[in] DWORD dwFlags,
[in] LPSTR pszUserName,
[in] LPSTR 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\UserName
Per le identità online, se la credenziale è una password in testo non crittografato, il formato del nome utente è ProviderName\UserName. Se la credenziale è una struttura di SEC_WINNT_AUTH_IDENTITY_EX2, il nome utente è una stringa codificata che corrisponde all'output del parametro UserName di una chiamata di funzione a SspiEncodeAuthIdentityAsStrings.
Per o credenziali 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 nel ppszPackedCredentialsString output di una chiamata di funzione a SspiEncodeAuthIdentityAsStrings.
Per
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 pcbPackedCredential s.
[in, out] pcbPackedCredentials
Puntatore a un valore DWORD
Valore restituito
TRUE se la funzione ha esito positivo; in caso contrario, FALSE.
Per informazioni estese sull'errore, chiamare la funzione GetLastError
Codice restituito | Descrizione |
---|---|
|
Il buffer fornito da pPackedCredentials è troppo piccolo. |
Osservazioni
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 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 [solo app desktop] |
server minimo supportato | Windows Server 2008 [solo app desktop] |
piattaforma di destinazione | Finestre |
intestazione |
wincred.h |
libreria |
Credui.lib |
dll | Credui.dll |