Structure CREDENTIALW (wincred.h)
La structure CREDENTIAL contient des informations d’identification individuelles.
Syntaxe
typedef struct _CREDENTIALW {
DWORD Flags;
DWORD Type;
#if ...
wchar_t *TargetName;
#else
LPWSTR TargetName;
#endif
#if ...
wchar_t *Comment;
#else
LPWSTR Comment;
#endif
FILETIME LastWritten;
DWORD CredentialBlobSize;
LPBYTE CredentialBlob;
DWORD Persist;
DWORD AttributeCount;
PCREDENTIAL_ATTRIBUTEW Attributes;
#if ...
wchar_t *TargetAlias;
#else
LPWSTR TargetAlias;
#endif
#if ...
wchar_t *UserName;
#else
LPWSTR UserName;
#endif
} CREDENTIALW, *PCREDENTIALW;
Membres
Flags
Membre de bits qui identifie les caractéristiques des informations d’identification. Les bits non définis doivent être initialisés comme zéro et non modifiés pour permettre une amélioration future.
Type
Type des informations d’identification. Ce membre ne peut pas être modifié une fois les informations d’identification créées. Les valeurs suivantes sont valides.
TargetName
Nom des informations d’identification. Les membres TargetName et Type identifient de manière unique les informations d’identification. Ce membre ne peut pas être modifié une fois les informations d’identification créées. Au lieu de cela, les informations d’identification portant l’ancien nom doivent être supprimées et les informations d’identification portant le nouveau nom créé.
Si type est CRED_TYPE_DOMAIN_PASSWORD ou CRED_TYPE_DOMAIN_CERTIFICATE, ce membre identifie le serveur ou les serveurs auxquels les informations d’identification doivent être utilisées. Le membre est un nom de serveur NetBIOS ou DNS, un suffixe de nom d’hôte DNS qui contient un caractère générique, un nom de domaine NetBIOS ou DNS qui contient une séquence de caractères génériques ou un astérisque.
Si TargetName est un nom d’hôte DNS, le TargetAlias membre peut être le nom NetBIOS de l’hôte.
Si le TargetName est un suffixe de nom d’hôte DNS qui contient un caractère générique, l’étiquette la plus à gauche du nom d’hôte DNS est un astérisque (*), ce qui indique que le nom cible est n’importe quel serveur dont le nom se termine par le nom spécifié, par exemple *.microsoft.com.
Si l'TargetName est un nom de domaine qui contient une séquence de caractères génériques, la syntaxe est le nom de domaine suivi d’une barre oblique inverse et d’un astérisque (\*), qui indique que le nom cible est n’importe quel serveur membre du domaine nommé (ou domaine).
Si TargetName est un nom de domaine DNS qui contient une séquence de caractères génériques, le TargetAlias membre peut être un nom de domaine NetBIOS qui utilise une séquence générique pour le même domaine.
Si TargetName spécifie un partage DFS, par exemple, DfsRoot\DfsShare, ces informations d’identification correspondent au partage DFS spécifique et aux serveurs atteints via ce partage DFS.
Si TargetName est un astérisque unique (*), ces informations d’identification correspondent à n’importe quel nom de serveur.
Si TargetName est CRED_SESSION_WILDCARD_NAME, ces informations d’identification correspondent à n’importe quel nom de serveur. Ces informations d’identification correspondent avant un seul astérisque et ne sont valides que si persist est CRED_PERSIST_SESSION. Les informations d’identification peuvent être définies par les applications qui souhaitent remplacer temporairement les informations d’identification par défaut.
Ce membre ne peut pas dépasser CRED_MAX_DOMAIN_TARGET_NAME_LENGTH (337) caractères.
Si le type
Ce membre ne respecte pas la casse.
Comment
Commentaire de chaîne de l’utilisateur qui décrit ces informations d’identification. Ce membre ne peut pas dépasser CRED_MAX_STRING_LENGTH (256) caractères.
LastWritten
Heure, en temps universel coordonné (Heure de Greenwich), de la dernière modification des informations d’identification. Pour les opérations d’écriture, la valeur de ce membre est ignorée.
CredentialBlobSize
Taille, en octets, du membre credentialBlob . Ce membre ne peut pas être supérieur à CRED_MAX_CREDENTIAL_BLOB_SIZE (5*512) octets.
CredentialBlob
Données secrètes pour les informations d’identification. Le membre CredentialBlob peut être lu et écrit.
Si le membre Type est CRED_TYPE_DOMAIN_PASSWORD, ce membre contient le mot de passe Unicode en texte clair pour UserName. Les CredentialBlob et CredentialBlobSize membres n’incluent pas de caractère zéro de fin. En outre, pour CRED_TYPE_DOMAIN_PASSWORD, ce membre ne peut être lu que par les packages d’authentification.
Si le membre type de
Si le membre type
Les informations d’identification sont censées être portables. Les applications doivent s’assurer que les données dans CredentialBlob sont portables. L’application définit le byte-endian et l’alignement des données dans CredentialBlob.
Persist
Définit la persistance de ces informations d’identification. Ce membre peut être lu et écrit.
AttributeCount
Nombre d’attributs définis par l’application à associer aux informations d’identification. Ce membre peut être lu et écrit. Sa valeur ne peut pas être supérieure à CRED_MAX_ATTRIBUTES (64).
Attributes
Attributs définis par l’application associés aux informations d’identification. Ce membre peut être lu et écrit.
TargetAlias
Alias pour le membre TargetName
Si les informations d’identification Type sont CRED_TYPE_GENERIC, ce membre peut être nonNULL, mais le gestionnaire d’informations d’identification ignore le membre.
UserName
Nom d’utilisateur du compte utilisé pour se connecter à TargetName.
Si les informations d’identification Type sont CRED_TYPE_DOMAIN_PASSWORD, ce membre peut être un nom de domaine \UserName ou un UPN.
Si les informations d’identification Type sont CRED_TYPE_DOMAIN_CERTIFICATE, ce membre doit être une référence de certificat marshalée créée en appelant CredMarshalCredential avec un certificat CertCredential.
Si les informations d’identification Type sont CRED_TYPE_GENERIC, ce membre peut être nonNULL, mais le gestionnaire d’informations d’identification ignore le membre.
Ce membre ne peut pas dépasser CRED_MAX_USERNAME_LENGTH (513) caractères.
Remarques
Note
L’en-tête wincred.h définit CREDENTIAL en tant qu’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. Le mélange 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.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows XP [applications de bureau uniquement] |
serveur minimum pris en charge | Windows Server 2003 [applications de bureau uniquement] |
d’en-tête | wincred.h |