Fonction CredReadDomainCredentialsW (wincred.h)
La fonction CredReadDomainCredentials lit les informations d’identification de domaine à partir du jeu d’informations d’identification de l’utilisateur. Le jeu d’informations d’identification utilisé est celui associé à la session d’ouverture de session du jeton actuel. Le SID de l’utilisateur ne doit pas être désactivé pour le jeton.
Syntaxe
BOOL CredReadDomainCredentialsW(
[in] PCREDENTIAL_TARGET_INFORMATIONW TargetInfo,
[in] DWORD Flags,
[out] DWORD *Count,
[out] PCREDENTIALW **Credential
);
Paramètres
[in] TargetInfo
Informations de cible qui identifient le serveur cible. Au moins l’un des membres de nommage ne doit pas être NULL : NetbiosServerName, DnsServerName, NetbiosDomainName, DnsDomainName ou DnsTreeName.
[in] Flags
Indicateurs contrôlant le fonctionnement de la fonction.
L’indicateur suivant est défini :
CRED_CACHE_TARGET_INFORMATION
Mettez en cache l’objet TargetInfo pour une lecture ultérieure à l’aide de CredGetTargetInfo.
[out] Count
Nombre d’informations d’identification retournées dans le tableau Informations d’identification .
[out] Credential
Pointeur vers un tableau de pointeurs vers les informations d’identification. Les informations d’identification existantes les plus spécifiques correspondant à TargetInfo sont retournées. Si des informations d’identification de différents types (par exemple, CRED_TYPE_DOMAIN_PASSWORD et CRED_TYPE_DOMAIN_CERTIFICATE informations d’identification) existent, une de chaque type est retournée. Si une connexion devait être établie à la cible nommée, ces informations d’identification les plus spécifiques seraient utilisées.
Seuls les types d’informations d’identification spécifiés par TargetInfo. Le tableau CredTypes est retourné. Le tableau Credentials retourné est trié dans le même ordre que TargetInfo. Tableau CredTypes. Autrement dit, les packages d’authentification spécifient un type d’informations d’identification préféré en le spécifiant précédemment dans TargetInfo. Tableau CredTypes. Si TargetInfo. CredTypeCount est égal à zéro, le tableau Credentials est retourné dans l’ordre trié suivant :
- CRED_TYPE_DOMAIN_CERTIFICATE
- CRED_TYPE_DOMAIN_PASSWORD
La mémoire tampon retournée est un seul bloc alloué. Tous les pointeurs contenus dans la mémoire tampon sont des pointeurs vers des emplacements au sein de ce bloc alloué unique. La mémoire tampon retournée unique doit être libérée en appelant CredFree.
Valeur retournée
La fonction retourne TRUE en cas de réussite et FALSE en cas d’échec. La fonction GetLastError peut être appelée pour obtenir un code status plus spécifique. Les codes status suivants peuvent être retournés :
- ERROR_INVALID_PARAMETER
Aucun des paramètres de nommage n’a été spécifié.
- ERROR_NOT_FOUND
Aucune information d’identification ne correspond aux paramètres d’affectation de noms spécifiés.
- ERROR_NO_SUCH_LOGON_SESSION
La session d’ouverture de session n’existe pas ou aucun jeu d’informations d’identification n’est associé à cette session d’ouverture de session. Les sessions d’ouverture de session réseau n’ont pas d’ensemble d’informations d’identification associées.
- ERROR_INVALID_FLAGS
Un indicateur non valide a été spécifié pour le paramètre Flags .
Remarques
Cette fonction retourne les informations d’identification les plus spécifiques correspondant aux paramètres de nommage. Par instance, s’il existe des informations d’identification qui correspondent au nom du serveur cible et des informations d’identification qui correspondent au nom de domaine cible, seules les informations d’identification spécifiques au serveur sont retournées. Il s’agit des informations d’identification qui seraient utilisées.
La liste suivante spécifie l’ordre (du plus spécifique au moins spécifique) des informations d’identification retournées si plusieurs correspondent :
- Le nom de la cible d’informations d’identification se présente sous la forme <DfsRoot>\<DfsShare> et correspond exactement à TargetName.
- Correspondance exacte sur dnsServerName.
- Correspondance exacte sur netBIOSServerName.
- Correspondance exacte sur TargetName.
- Correspondance de DnsServerName avec les informations d’identification du serveur générique. Si plusieurs informations d’identification de serveur générique correspondent, les informations d’identification avec la valeur TargetName plus longue sont utilisées. Autrement dit, des informations d’identification pour *.example.microsoft.com sont utilisées à la place d’informations d’identification pour *.microsoft.com.
- Correspondance exacte du DnsDomainName à une information d’identification de domaine générique sous la forme <DnsDomainName>\*.
- Correspondance exacte de NetBIOSDomainName à une information d’identification de domaine générique sous la forme <NetBIOSDomainName>\*
- Informations d’identification nommées CRED_SESSION_WILDCARD_NAME.
- Informations d’identification nommées « * ».
Si la valeur du membre Type de la structure CREDENTIAL spécifiée par le paramètre Credentials est CRED_TYPE_DOMAIN_EXTENDED, un espace de noms doit être spécifié dans le nom cible. Cette fonction ne peut retourner qu’une seule information d’identification du type spécifié.
Cette fonction peut retourner plusieurs informations d’identification de ce type, mais CRED_TYPE_DOMAIN_EXTENDED ne peut pas être mélangé avec d’autres types dans le membre CredTypes de la structure CREDENTIAL_TARGET_INFORMATION spécifiée par le paramètre TargetInfo .
Notes
L’en-tête wincred.h définit CredReadDomainCredentials comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. La combinaison de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.
Configuration requise
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | wincred.h |
Bibliothèque | Advapi32.lib |
DLL | Advapi32.dll |