Partager via


Fonction CoQueryClientBlanket (combaseapi.h)

Appelé par le serveur pour en savoir plus sur le client qui a appelé la méthode s’exécutant sur le thread actif. Il s’agit d’une fonction d’assistance pour IServerSecurity::QueryBlanket.

Syntaxe

HRESULT CoQueryClientBlanket(
  [out, optional]     DWORD            *pAuthnSvc,
  [out, optional]     DWORD            *pAuthzSvc,
  [out, optional]     LPOLESTR         *pServerPrincName,
  [out, optional]     DWORD            *pAuthnLevel,
  [out, optional]     DWORD            *pImpLevel,
  [out, optional]     RPC_AUTHZ_HANDLE *pPrivs,
  [in, out, optional] DWORD            *pCapabilities
);

Paramètres

[out, optional] pAuthnSvc

Pointeur vers une variable qui reçoit le service d’authentification actuel. Il s’agit d’une valeur unique extraite des constantes du service d’authentification. Si l’appelant spécifie NULL, le service d’authentification actuel n’est pas récupéré.

[out, optional] pAuthzSvc

Pointeur vers une variable qui reçoit le service d’autorisation actuel. Il s’agit d’une valeur unique extraite des constantes d’autorisation. Si l’appelant spécifie NULL, le service d’autorisation actuel n’est pas récupéré.

[out, optional] pServerPrincName

Nom du principal actuel. La chaîne est allouée par l’appelé à l’aide de CoTaskMemAlloc et doit être libérée par l’appelant à l’aide de CoTaskMemFree. Par défaut, les noms de principaux Schannel sont au format msstd. Le formulaire complet est retourné si EOAC_MAKE_FULLSIC est spécifié dans le paramètre pCapabilities . Pour plus d’informations sur les formulaires msstd et fullsic, consultez Noms principaux. Si l’appelant spécifie NULL, le nom du principal actuel n’est pas récupéré.

[out, optional] pAuthnLevel

Pointeur vers une variable qui reçoit le niveau d’authentification actuel. Il s’agit d’une valeur unique extraite des constantes de niveau d’authentification. Si l’appelant spécifie NULL, le niveau d’authentification actuel n’est pas récupéré.

[out, optional] pImpLevel

Ce paramètre doit avoir la valeur NULL.

[out, optional] pPrivs

Pointeur vers un handle qui reçoit les informations de privilège pour l’application cliente. Le format de la structure à laquelle le handle fait référence dépend du service d’authentification. L’application ne doit pas écrire ou libérer la mémoire. Les informations sont valides uniquement pendant la durée de l’appel en cours. Pour NTLMSSP et Kerberos, il s’agit d’une chaîne identifiant le principal du client. Pour Schannel, il s’agit d’une structure CERT_CONTEXT qui représente le certificat du client. Si le client n’a pas de certificat, null est retourné. Si l’appelant spécifie NULL, les informations de privilège actuelles ne sont pas récupérées. Voir RPC_AUTHZ_HANDLE.

[in, out, optional] pCapabilities

Pointeur pour retourner des indicateurs indiquant les fonctionnalités de l’appel. Pour demander que le nom principal soit retourné sous forme complète si Schannel est le service d’authentification, l’appelant peut définir l’indicateur EOAC_MAKE_FULLSIC dans ce paramètre. Si l’appelant spécifie NULL, les fonctionnalités actuelles ne sont pas récupérées.

Valeur retournée

Cette fonction peut retourner les valeurs de retour standard E_INVALIDARG, E_OUTOFMEMORY et S_OK.

Notes

CoQueryClientBlanket est appelé par le serveur pour obtenir des informations de sécurité sur le client qui a appelé la méthode s’exécutant sur le thread actif. Cette fonction encapsule la séquence suivante d’appels courants (gestion des erreurs exclue) :

    CoGetCallContext(IID_IServerSecurity, (void**)&pss);
    pss->QueryBlanket(pAuthnSvc, pAuthzSvc, pServerPrincName, 
                pAuthnLevel, pImpLevel, pPrivs, pCapabilities);
    pss->Release();

Cette séquence appelle CoGetCallContext pour obtenir un pointeur vers IServerSecurity et, avec le pointeur résultant, appelle IServerSecurity::QueryBlanket , puis libère le pointeur.

Spécifications

   
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

CoGetCallContext

CoQueryProxyBlanket

IServerSecurity::QueryBlanket

Sécurité dans COM