Structure COAUTHINFO (wtypesbase.h)

Contient les paramètres d’authentification utilisés lors de l’exécution d’une demande d’activation à distance de l’ordinateur client vers l’ordinateur serveur.

Syntaxe

typedef struct _COAUTHINFO {
  DWORD          dwAuthnSvc;
  DWORD          dwAuthzSvc;
  LPWSTR         pwszServerPrincName;
  DWORD          dwAuthnLevel;
  DWORD          dwImpersonationLevel;
  COAUTHIDENTITY *pAuthIdentityData;
  DWORD          dwCapabilities;
} COAUTHINFO;

Membres

dwAuthnSvc

Service d’authentification à utiliser. Pour obtenir la liste des valeurs, consultez Constantes de service d’authentification. Utilisez RPC_C_AUTHN_NONE si aucune authentification n’est requise. RPC_C_AUTHN_WINNT est la valeur par défaut et RPC_C_AUTHN_GSS_KERBEROS est également pris en charge.

dwAuthzSvc

Service d’autorisation à utiliser. Pour obtenir la liste des valeurs, consultez Constantes d’autorisation. Pour utiliser le service d’authentification NT, spécifiez RPC_C_AUTHZ_NONE.

pwszServerPrincName

Nom du principal du serveur à utiliser avec le service d’authentification. Si vous utilisez RPC_C_AUTHN_WINNT, le nom du principal doit être NULL.

dwAuthnLevel

Niveau d’authentification à utiliser. Pour obtenir la liste des valeurs, consultez Constantes de niveau d’authentification.

Depuis Windows Server 2003, les activations distantes utilisent le niveau d’authentification par défaut spécifié dans le paramètre dwAuthnLevelCoInitializeSecurity. Dans les versions précédentes de Windows, RPC_C_AUTHN_LEVEL_CONNECT était toujours utilisé pour le niveau de sécurité, sauf si un autre niveau était explicitement spécifié.

dwImpersonationLevel

Niveau d’emprunt d’identité à utiliser. Pour obtenir la liste des valeurs, consultez Constantes de niveau d’emprunt d’identité. Cette valeur doit être RPC_C_IMP_LEVEL_IMPERSONATE ou supérieure.

pAuthIdentityData

Pointeur vers une structure COAUTHIDENTITY qui établit une identité cliente non par défaut. Si ce paramètre a la valeur NULL, l’identité réelle du client est utilisée. Les valeurs des membres de la structure sont spécifiques au service d’authentification. Cette valeur doit être NULL si dwAuthnSvc ne spécifie pas le protocole d’authentification réseau NTLMSSP ou Kerberos comme service d’autorisation.

dwCapabilities

Indique les fonctionnalités supplémentaires de ce proxy. Actuellement, ce membre doit être EOAC_NONE (0x0) ou RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH (0x1). Utilisez RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH si Kerberos est requis.

Remarques

Si pAuthInfo dans COSERVERINFO est défini sur NULL, Snego sera utilisé pour négocier un service d’authentification qui fonctionnera entre le client et le serveur. Toutefois, une structure COAUTHINFO non NULL peut être spécifiée pour pAuthInfo afin de répondre à l’un des besoins suivants :

  • Pour spécifier une autre identité client pour les activations à distance de l’ordinateur. L’identité spécifiée sera utilisée pour l’autorisation de lancement case activée sur le serveur plutôt que pour l’identité cliente réelle.
  • Pour spécifier que Kerberos, plutôt que NTLMSSP, est utilisé pour l’activation à distance de l’ordinateur. Une identité de client non par défaut peut ou non être spécifiée.
  • Pour demander une activation non sécurisée.
  • Pour spécifier un service d’authentification propriétaire.
La spécification d’une structure COAUTHINFO permet aux activations DCOM de fonctionner correctement avec des fournisseurs de sécurité autres que NTLMSSP. Vous pouvez également spécifier des informations de sécurité supplémentaires utilisées lors des activations à distance pour l’interopérabilité avec d’autres implémentations de DCOM.

Si vous définissez dwAuthzSvc, pwszServerPrincName, dwImpersonationLevel ou dwCapabilities sur des valeurs incorrectes et que vous appelez CoGetClassObject ou CoCreateInstanceEx, ces fonctions ne retournent pas E_INVALIDARG ou une erreur similaire. Les valeurs par défaut sont utilisées à la place des valeurs incorrectes.

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]
En-tête wtypesbase.h (inclure WTypes.h)

Voir aussi

COSERVERINFO