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 a queste API.

Le credenziali con marshalling devono essere passate come stringa 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 è distinzione tra maiuscole e minuscole.

Sintassi

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

Parametri

[in] CredType

Tipo delle credenziali da eseguire al marshalling.

[in] Credential

Credenziale per il marshalling.

Si tratta di uno dei valori CRED_MARSHAL_TYPE .

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

Se CredType è UsernameTargetCredential, le credenziali puntano a una struttura USERNAME_TARGET_CREDENTIAL_INFO .

[out] MarshaledCredential

Puntatore a una stringa con terminazione null 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. La funzione GetLastError può essere chiamata per ottenere un codice di stato più specifico. Il codice di stato seguente può essere restituito:

ERROR_INVALID_PARAMETER

CredType non è valido.

Commenti

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 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

Vedi anche

CERT_CREDENTIAL_INFO

CRED_MARSHAL_TYPE

CredFree

CredUnmarshalCredential

Getlasterror

USERNAME_TARGET_CREDENTIAL_INFO