Condividi tramite


Struttura COAUTHINFO (wtypesbase.h)

Contiene le impostazioni di autenticazione utilizzate durante l'esecuzione di una richiesta di attivazione remota dal computer client al computer server.

Sintassi

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

Membri

dwAuthnSvc

Servizio di autenticazione da usare. Per un elenco di valori, vedere costanti del servizio di autenticazione. Usare RPC_C_AUTHN_NONE se non è necessaria alcuna autenticazione. RPC_C_AUTHN_WINNT è il valore predefinito e RPC_C_AUTHN_GSS_KERBEROS è supportato anche.

dwAuthzSvc

Servizio di autorizzazione da usare. Per un elenco di valori, vedere Costanti di autorizzazione. Per usare il servizio di autenticazione NT, specificare RPC_C_AUTHZ_NONE.

pwszServerPrincName

Nome dell'entità server da usare con il servizio di autenticazione. Se si usa RPC_C_AUTHN_WINNT, il nome dell'entità deve essere NULL.

dwAuthnLevel

Livello di autenticazione da usare. Per un elenco di valori, vedere costanti livello di autenticazione.

A partire da Windows Server 2003, le attivazioni remote usano il livello di autenticazione predefinito specificato nel parametro CoInitializeSecuritydwAuthnLevel. Nelle versioni precedenti di Windows, RPC_C_AUTHN_LEVEL_CONNECT è sempre stato usato per il livello di sicurezza, a meno che non sia stato specificato in modo esplicito un altro livello.

dwImpersonationLevel

Livello di rappresentazione da utilizzare. Per un elenco di valori, vedere Costanti del livello di rappresentazione. Questo valore deve essere RPC_C_IMP_LEVEL_IMPERSONATE o superiore.

pAuthIdentityData

Puntatore a una struttura COAUTHIDENTITY che stabilisce un'identità client non predefinita. Se questo parametro è NULL, viene usata l'identità effettiva del client. I valori dei membri della struttura sono specifici del servizio di autenticazione. Questo valore deve essere NULL se dwAuthnSvc non specifica il protocollo di autenticazione di rete NTLMSSP o Kerberos viene usato come servizio di autorizzazione.

dwCapabilities

Indica funzionalità aggiuntive di questo proxy. Attualmente, questo membro deve essere EOAC_NONE (0x0) o RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH (0x1). Usare RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH se è necessario Kerberos.

Osservazioni

Se pAuthInfo in COSERVERINFO è impostato su NULL, Snego verrà usato per negoziare un servizio di autenticazione che funzionerà tra il client e il server. Tuttavia,è possibile specificare una struttura diNULLpAuthInfo per soddisfare una delle esigenze seguenti:

  • Per specificare un'identità client diversa per le attivazioni remote del computer. L'identità specificata verrà usata per il controllo delle autorizzazioni di avvio nel server anziché per l'identità client reale.
  • Per specificare che Kerberos, anziché NTLMSSP, viene usato per l'attivazione remota del computer. È possibile specificare o meno un'identità client non predefinita.
  • Per richiedere l'attivazione non protetta.
  • Per specificare un servizio di autenticazione proprietario.
Se si specifica una struttura COAUTHINFO, le attivazioni DCOM possono funzionare correttamente con provider di sicurezza diversi da NTLMSSP. È anche possibile specificare informazioni di sicurezza aggiuntive usate durante le attivazioni remote per l'interoperabilità con implementazioni alternative di DCOM.

Se si imposta dwAuthzSvc, pwszServerPrincName, dwImpersonationLevelo dwCapabilities a valori non corretti e chiamare CoGetClassObject o CoCreateInstanceEx, queste funzioni non restituiscono E_INVALIDARG o un errore simile. I valori predefiniti vengono usati anziché i valori non corretti.

Fabbisogno

Requisito Valore
client minimo supportato Windows 2000 Professional [app desktop | App UWP]
server minimo supportato Windows 2000 Server [app desktop | App UWP]
intestazione wtypesbase.h (include WTypes.h)

Vedere anche

COSERVERINFO