Partager via


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 du 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 prise 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.

À compter de Windows Server 2003, les activations à distance utilisent le niveau d’authentification par défaut spécifié dans le paramètre CoInitializeSecuritydwAuthnLevel. Dans les versions précédentes de Windows, RPC_C_AUTHN_LEVEL_CONNECT a toujours été utilisé pour le niveau de sécurité, sauf si un autre niveau a été 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 définie. Si ce paramètre est 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 est utilisé comme service d’autorisation.

dwCapabilities

Indique des 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 coauthINFOnonNULL peut être spécifiée pour pAuthInfo pour répondre à l’un des besoins suivants :

  • Pour spécifier une identité cliente différente pour les activations à distance de l’ordinateur. L’identité spécifiée sera utilisée pour la vérification des autorisations de lancement sur le serveur plutôt que pour l’identité réelle du client.
  • Pour spécifier que Kerberos, plutôt que NTLMSSP, est utilisé pour l’activation à distance de l’ordinateur. Une identité cliente non définie 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 pendant les activations à distance pour l’interopérabilité avec d’autres implémentations de DCOM.

Si vous définissez dwAuthzSvc, pwszServerPrincName, dwImpersonationLevelou dwCapabilities aux valeurs incorrectes et appeler CoGetClassObject ou CoCreateInstanceEx, ces fonctions ne retournent pas E_INVALIDARG ou une erreur similaire. Les valeurs par défaut sont utilisées au lieu des valeurs incorrectes.

Exigences

Exigence Valeur
client minimum pris en charge Windows 2000 Professionnel [applications de bureau | Applications UWP]
serveur minimum pris en charge Windows 2000 Server [applications de bureau | Applications UWP]
d’en-tête wtypesbase.h (include WTypes.h)

Voir aussi

COSERVERINFO