Condividi tramite


Funzione CredMarshalCredentialA (wincred.h)

La funzione CredMarshalCredential trasforma una credenziale in una stringa di testo. Storicamente, molte funzioni, ad esempio NetUseAdd, accettano un nome di dominio, un nome utente e una password come credenziali. Queste funzioni non accettano certificati come credenziali. La funzione CredMarshalCredential converte tali credenziali in un modulo che può essere passato in queste API.

Le credenziali di cui è stato eseguito il marshalling devono essere passate come stringa di nome utente a qualsiasi API attualmente passata. Il nome di dominio, se applicabile, passato a tale API deve essere passato come null o vuoto. Per le credenziali del certificato, il PIN del certificato deve essere passato all'API come password.

Il chiamante non deve modificare o stampare le credenziali con marshalling. Il valore restituito può essere convertito liberamente tra i set di caratteri Unicode, ANSI e OEM. La stringa fa distinzione tra maiuscole e minuscole.

Sintassi

BOOL CredMarshalCredentialA(
  [in]  CRED_MARSHAL_TYPE CredType,
  [in]  PVOID             Credential,
  [out] LPSTR             *MarshaledCredential
);

Parametri

[in] CredType

Tipo di credenziale di cui effettuare il marshalling.

[in] Credential

Credenziali da sottoporre a marshalling.

Si tratta di uno dei valori CRED_MARSHAL_TYPE.

Se CredType è CertCredential, Credential punta a una struttura di CERT_CREDENTIAL_INFO.

Se CredType è UsernameTargetCredential, Credential punta a una struttura di USERNAME_TARGET_CREDENTIAL_INFO.

[out] MarshaledCredential

Puntatore a un nullstringa con terminazione contenente le credenziali con marshalling. Il chiamante deve liberare il buffer restituito usando CredFree.

Valore restituito

Questa funzione restituisce TRUE in caso di esito positivo e FALSE in caso di errore. È possibile chiamare la funzione GetLastError per ottenere un codice di stato più specifico. È possibile restituire il codice di stato seguente:

ERROR_INVALID_PARAMETER

CredType non è valido.

Osservazioni

Nota

L'intestazione wincred.h definisce CredMarshalCredential 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 XP [solo app desktop]
server minimo supportato Windows Server 2003 [solo app desktop]
piattaforma di destinazione Finestre
intestazione wincred.h
libreria Advapi32.lib
dll Advapi32.dll

Vedere anche

CERT_CREDENTIAL_INFO

CRED_MARSHAL_TYPE

CredFree

CredUnmarshalCredential

GetLastError

USERNAME_TARGET_CREDENTIAL_INFO