Partager via


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

Récupère des informations sur le client qui a appelé l’une des méthodes du serveur.

Syntaxe

HRESULT QueryBlanket(
  [out]     DWORD   *pAuthnSvc,
  [out]     DWORD   *pAuthzSvc,
  [out]     OLECHAR **pServerPrincName,
  [out]     DWORD   *pAuthnLevel,
  [out]     DWORD   *pImpLevel,
  [out]     void    **pPrivs,
  [in, out] DWORD   *pCapabilities
);

Paramètres

[out] pAuthnSvc

Pointeur vers le service d’authentification actuel. Il s’agit d’une valeur unique extraite de la liste des constantes de service d’authentification. Si l’appelant spécifie NULL, le service d’authentification actuel n’est pas récupéré.

[out] pAuthzSvc

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

[out] 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] pAuthnLevel

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

[out] pImpLevel

Ce paramètre doit avoir la valeur NULL.

[out] pPrivs

Informations sur les privilèges de 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 ne sont valides que pendant la durée de l’appel en cours. Pour NTLMSSP et Kerberos, il s’agit d’une structure SEC_WINNT_AUTH_IDENTITY ou SEC_WINNT_AUTH_IDENTITY_EX . 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.

[in, out] pCapabilities

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 méthode peut retourner les valeurs de retour standard E_INVALIDARG, E_OUTOFMEMORY et S_OK.

Remarques

QueryBlanket est utilisé par le serveur pour connaître le client qui a appelé l’une de ses méthodes. Pour obtenir un pointeur vers IServerSecurity pour l’appel en cours sur le thread actif, appelez CoGetCallContext, en spécifiant IID_IServerSecurity. Ce pointeur d’interface ne peut être utilisé que dans le même appartement que l’appel pendant la durée de l’appel.

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 objidl.h (inclure ObjIdl.h)

Voir aussi

CoQueryClientBlanket

CoQueryProxyBlanket

IServerSecurity