CoQueryAuthenticationServices, fonction (combaseapi.h)
Récupère une liste des services d’authentification inscrits lors du processus appelé CoInitializeSecurity.
Syntaxe
HRESULT CoQueryAuthenticationServices(
[out] DWORD *pcAuthSvc,
[out] SOLE_AUTHENTICATION_SERVICE **asAuthSvc
);
Paramètres
[out] pcAuthSvc
Pointeur vers une variable qui reçoit le nombre d’entrées retournées dans le tableau asAuthSvc .
[out] asAuthSvc
Pointeur vers un tableau de structures SOLE_AUTHENTICATION_SERVICE . La liste est allouée via un appel à la fonction CoTaskMemAlloc . L’appelant doit libérer la liste lorsqu’il en a terminé en appelant la fonction CoTaskMemFree .
Valeur retournée
Cette fonction peut retourner les valeurs de retour standard E_INVALIDARG, E_OUTOFMEMORY et S_OK.
Remarques
CoQueryAuthenticationServices récupère une liste des services d’authentification actuellement inscrits. Si le processus appelle CoInitializeSecurity, il s’agit des services inscrits via cet appel. Si l’application ne l’appelle pas, CoInitializeSecurity est appelé automatiquement par COM, en inscrivant le package de sécurité par défaut, la première fois qu’une interface est marshalée ou non délimitée.
Cette fonction retourne uniquement les services d’authentification inscrits auprès de CoInitializeSecurity. Il ne retourne pas tous les services d’authentification installés sur l’ordinateur, mais EnumerateSecurityPackages le fait. CoQueryAuthenticationServices est principalement utile pour les marshaleurs personnalisés, afin de déterminer les noms principaux qu’une application peut utiliser.
Différents services d’authentification prennent en charge différents niveaux de sécurité. Par exemple, NTLMSSP ne prend pas en charge la délégation ou l’authentification mutuelle, contrairement à Kerberos. L’application est uniquement responsable de l’inscription des services d’authentification qui fournissent les fonctionnalités dont l’application a besoin. Cette fonction permet de déterminer quels services ont été inscrits auprès de CoInitializeSecurity.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | combaseapi.h (inclure Objbase.h) |
Bibliothèque | Ole32.lib |
DLL | Ole32.dll |