Partager via


Méthode IClientSecurity ::QueryBlanket (objidl.h)

Récupère les informations d’authentification que le client utilise pour effectuer des appels sur le proxy spécifié.

Syntaxe

HRESULT QueryBlanket(
  [in]  IUnknown *pProxy,
  [out] DWORD    *pAuthnSvc,
  [out] DWORD    *pAuthzSvc,
  [out] OLECHAR  **pServerPrincName,
  [out] DWORD    *pAuthnLevel,
  [out] DWORD    *pImpLevel,
  [out] void     **pAuthInfo,
  [out] DWORD    *pCapabilites
);

Paramètres

[in] pProxy

Pointeur vers le proxy. Ce paramètre ne peut pas être NULL. Pour plus d'informations, consultez la section Notes.

[out] pAuthnSvc

Service d’authentification actuel. Il s’agit d’une valeur unique extraite de la liste des constantes de service d’authentification. Ce paramètre ne peut pas être NULL.

[out] pAuthzSvc

Service d’autorisation actuel. Il s’agit d’une valeur unique extraite de la liste des constantes d’autorisation. Ce paramètre ne peut pas être NULL.

[out] pServerPrincName

Nom du principal actuel. La chaîne est allouée par l’appelé à l’aide de la fonction CoTaskMemAlloc et doit être libérée par l’appelant à l’aide de la fonction CoTaskMemFree . Notez que le nom de principal réel est retourné. L’indicateur EOAC_MAKE_FULLSIC n’est pas accepté pour convertir le nom prinicpal. Si l’appelant spécifie NULL, le nom du principal actuel n’est pas récupéré.

[out] pAuthnLevel

Niveau d’authentification actuel. Il s’agit d’une valeur unique extraite de la liste des constantes de niveau d’authentification. Si ce paramètre a la valeur NULL, le niveau d’authentification actuel n’est pas récupéré.

[out] pImpLevel

Niveau d’emprunt d’identité actuel. Il s’agit d’une valeur unique extraite de la liste des constantes de niveau d’emprunt d’identité. Si ce paramètre a la valeur NULL, le niveau d’emprunt d’identité actuel n’est pas récupéré.

[out] pAuthInfo

Pointeur vers un handle indiquant l’identité du client passé au dernier appel IClientSecurity ::SetBlanket (ou la valeur par défaut). Les valeurs par défaut ne sont valides que jusqu’à ce que le proxy soit libéré. Si l’appelant spécifie NULL, l’identité du client n’est pas récupérée.

Le format de la structure à laquelle le handle retourné fait référence dépend du service d’authentification. Pour NTLMSSP et Kerberos, si le client a spécifié une structure dans le paramètre pAuthInfo à CoInitializeSecurity, cette valeur est retournée. Pour Schannel, si un certificat pour le client peut être récupéré à partir du gestionnaire de certificats, cette valeur est retournée ici. Sinon, null est retourné. Étant donné que cela pointe vers la valeur elle-même et qu’il ne s’agit pas d’une copie, elle ne doit pas être manipulée ou libérée.

[out] pCapabilites

Fonctionnalités du proxy. Ces indicateurs sont définis dans l’énumération EOLE_AUTHENTICATION_CAPABILITIES . Si ce paramètre a la valeur NULL, les indicateurs de fonctionnalité actuels ne sont pas récupérés.

Valeur retournée

Cette méthode peut retourner les valeurs suivantes.

Code de retour Description
S_OK
La commande s'est correctement terminée.
E_INVALIDARG
Un ou plusieurs arguments ne sont pas valides.
E_OUTOFMEMORY
La mémoire est insuffisante pour créer la mémoire tampon pServerPrincName .

Remarques

QueryBlanket est appelé par le client pour récupérer les informations d’authentification que COM utilisera sur les appels effectués à partir du proxy d’interface spécifié. Avec un pointeur vers une interface sur le proxy, le client appelle d’abord QueryInterface pour un pointeur vers IClientSecurity ; Ensuite, avec ce pointeur, le client appelle QueryBlanket, puis libère le pointeur. Cette séquence d’appels est encapsulée dans la fonction d’assistance CoQueryProxyBlanket.

Dans pProxy, vous passez un pointeur d’interface. Toutefois, vous ne pouvez pas passer un pointeur vers une interface qui n’utilise pas de proxy. Par conséquent, vous ne pouvez pas passer un pointeur vers une interface qui a le mot clé local dans sa définition d’interface, car aucun proxy n’est créé pour une telle interface. IUnknown est l’exception à cette règle.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête objidl.h (inclure ObjIdl.h)

Voir aussi

CoQueryProxyBlanket

CoSetProxyBlanket

IClientSecurity