Partager via


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

Voir aussi

CoInitializeSecurity

SOLE_AUTHENTICATION_SERVICE

Sécurité dans COM