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 |
---|---|
|
La commande s'est correctement terminée. |
|
Un ou plusieurs arguments ne sont pas valides. |
|
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) |