Funzione CredReadDomainCredentialsA (wincred.h)
La funzione CredReadDomainCredentials legge le credenziali di dominio dal set di credenziali dell'utente. Il set di credenziali usato è quello associato alla sessione di accesso del token corrente. Il token non deve avere disabilitato il SID dell'utente.
Sintassi
BOOL CredReadDomainCredentialsA(
[in] PCREDENTIAL_TARGET_INFORMATIONA TargetInfo,
[in] DWORD Flags,
[out] DWORD *Count,
[out] PCREDENTIALA **Credential
);
Parametri
[in] TargetInfo
Informazioni di destinazione che identificano il server di destinazione. Almeno uno dei membri di denominazione non deve essere NULL: NetbiosServerName, DnsServerName, NetbiosDomainName, DnsDomainName o DnsTreeName.
[in] Flags
Contrassegni che controllano l'operazione della funzione.
Il flag seguente è definito:
CRED_CACHE_TARGET_INFORMATION
Memorizzare nella cache TargetInfo per una lettura successiva usando CredGetTargetInfo.
[out] Count
Conteggio delle credenziali restituite nella matrice Credenziali .
[out] Credential
Puntatore a una matrice di puntatori alle credenziali. Viene restituita la credenziale esistente più specifica corrispondente a TargetInfo . Se esistono credenziali di vari tipi, ad esempio CRED_TYPE_DOMAIN_PASSWORD e credenziali di CRED_TYPE_DOMAIN_CERTIFICATE, viene restituito uno di ogni tipo. Se una connessione deve essere effettuata alla destinazione denominata, verrà usata questa credenziale più specifica.
Solo questi tipi di credenziali specificati da TargetInfo. La matrice CredTypes viene restituita. La matrice di credenziali restituita viene ordinata nello stesso ordine di TargetInfo. Matrice CredTypes. Ovvero, i pacchetti di autenticazione specificano un tipo di credenziale preferito specificandolo in precedenza in TargetInfo. Matrice CredTypes. Se TargetInfo. CredTypeCount è zero, la matrice Credenziali viene restituita nell'ordine ordinato seguente:
- CRED_TYPE_DOMAIN_CERTIFICATE
- CRED_TYPE_DOMAIN_PASSWORD
Il buffer restituito è un singolo blocco allocato. Tutti i puntatori contenuti nel buffer sono puntatori a posizioni all'interno di questo singolo blocco allocato. Il singolo buffer restituito deve essere liberato chiamando CredFree.
Valore restituito
La 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. È possibile restituire i codici di stato seguenti:
- ERROR_INVALID_PARAMETER
Nessuno dei parametri di denominazione è stato specificato.
- ERROR_NOT_FOUND
Non sono presenti credenziali corrispondenti ai parametri di denominazione specificati.
- ERROR_NO_SUCH_LOGON_SESSION
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.
- ERROR_INVALID_FLAGS
Flag non valido per il parametro Flags .
Commenti
Questa funzione restituisce le credenziali più specifiche corrispondenti ai parametri di denominazione. Ad esempio, se è presente una credenziale corrispondente al nome del server di destinazione e a una credenziale corrispondente al nome di dominio di destinazione, viene restituita solo la credenziale specifica del server. Questa è la credenziale che verrà usata.
L'elenco seguente specifica l'ordine (dalla più specifica alla specifica minima) delle credenziali restituite se più corrispondenze:
- Il nome di destinazione delle credenziali è del modulo <DfsRoot>\<DfsShare> ed è una corrispondenza esatta in TargetName.
- Corrispondenza esatta in DnsServerName.
- Corrispondenza esatta in NetBIOSServerName.
- Corrispondenza esatta in TargetName.
- Corrispondenza di DnsServerName a una credenziale del server con caratteri jolly. Se vengono usate più credenziali del server con caratteri jolly, viene usata la credenziale con targetName più lungo. Ovvero, viene usata una credenziale per *.example.microsoft.com anziché una credenziale per *.microsoft.com.
- Corrispondenza esatta di DnsDomainName a una credenziale di dominio con caratteri jolly del modulo <DnsDomainName>\*.
- Corrispondenza esatta del nome NetBIOSDomainName a una credenziale di dominio con caratteri jolly del modulo <NetBIOSDomainName>\*
- Credenziali denominate CRED_SESSION_WILDCARD_NAME.
- Credenziali denominate "*".
Se il valore del membro Type della struttura CREDENTIAL specificato dal parametroCredential è CRED_TYPE_DOMAIN_EXTENDED, è necessario specificare uno spazio dei nomi nel nome di destinazione. Questa funzione può restituire solo una credenziale del tipo specificato.
Questa funzione può restituire più credenziali di questo tipo, ma CRED_TYPE_DOMAIN_EXTENDED non può essere mista con altri tipi nel membro CredTypesdella struttura CREDENTIAL_TARGET_INFORMATION specificata dal parametro TargetInfo .
Nota
L'intestazione wincred.h definisce CredReadDomainCredentials 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 |
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: nel corso del 2024 verranno dismessi i problemi di GitHub come meccanismo di feedback per il contenuto e verranno sostituiti con un nuovo sistema di feedback. Per altre informazioni, vedere:Invia e visualizza il feedback per