Estrutura COAUTHINFO (wtypesbase.h)

Contém as configurações de autenticação usadas ao fazer uma solicitação de ativação remota do computador cliente para o computador servidor.

Sintaxe

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

Membros

dwAuthnSvc

O serviço de autenticação a ser usado. Para obter uma lista de valores, consulte Constantes de serviço de autenticação. Use RPC_C_AUTHN_NONE se nenhuma autenticação for necessária. RPC_C_AUTHN_WINNT é o padrão e também há suporte para RPC_C_AUTHN_GSS_KERBEROS.

dwAuthzSvc

O serviço de autorização a ser usado. Para obter uma lista de valores, consulte Constantes de autorização. Para usar o serviço de autenticação NT, especifique RPC_C_AUTHZ_NONE.

pwszServerPrincName

O nome da entidade de segurança do servidor a ser usado com o serviço de autenticação. Se você estiver usando RPC_C_AUTHN_WINNT, o nome principal deverá ser NULL.

dwAuthnLevel

O nível de autenticação a ser usado. Para obter uma lista de valores, consulte Constantes de nível de autenticação.

A partir do Windows Server 2003, as ativações remotas usam o nível de autenticação padrão especificado no parâmetro CoInitializeSecuritydwAuthnLevel . Em versões anteriores do Windows, RPC_C_AUTHN_LEVEL_CONNECT sempre era usado para o nível de segurança, a menos que outro nível fosse especificado explicitamente.

dwImpersonationLevel

O nível de representação a ser usado. Para obter uma lista de valores, consulte Constantes de nível de representação. Esse valor deve ser RPC_C_IMP_LEVEL_IMPERSONATE ou superior.

pAuthIdentityData

Um ponteiro para uma estrutura COAUTHIDENTITY que estabelece uma identidade de cliente não padrão. Se esse parâmetro for NULL, a identidade real do cliente será usada. Os valores dos membros da estrutura são específicos do serviço de autenticação. Esse valor deverá ser NULL se dwAuthnSvc não especificar o protocolo de autenticação de rede NTLMSSP ou Kerberos usado como o serviço de autorização.

dwCapabilities

Indica recursos adicionais desse proxy. Atualmente, esse membro deve ser EOAC_NONE (0x0) ou RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH (0x1). Use RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH se Kerberos for necessário.

Comentários

Se pAuthInfo em COSERVERINFO estiver definido como NULL, o Snego será usado para negociar um serviço de autenticação que funcionará entre o cliente e o servidor. No entanto, uma estrutura COAUTHINFO não NULL pode ser especificada para pAuthInfo atender a qualquer uma das seguintes necessidades:

  • Para especificar uma identidade de cliente diferente para ativações remotas do computador. A identidade especificada será usada para a permissão de inicialização marcar no servidor em vez da identidade real do cliente.
  • Para especificar que Kerberos, em vez de NTLMSSP, é usado para ativação remota do computador. Uma identidade de cliente não padrão pode ou não ser especificada.
  • Para solicitar a ativação não seguro.
  • Para especificar um serviço de autenticação proprietário.
Especificar uma estrutura COAUTHINFO permite que as ativações de DCOM funcionem corretamente com provedores de segurança diferentes de NTLMSSP. Você também pode especificar informações de segurança adicionais usadas durante ativações remotas para interoperabilidade com implementações alternativas do DCOM.

Se você definir dwAuthzSvc, pwszServerPrincName, dwImpersonationLevel ou dwCapabilities para valores incorretos e chamar CoGetClassObject ou CoCreateInstanceEx, essas funções não retornarão E_INVALIDARG ou um erro semelhante. Os valores padrão são usados em vez dos valores incorretos.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows 2000 Server [aplicativos da área de trabalho | Aplicativos UWP]
Cabeçalho wtypesbase.h (inclua WTypes.h)

Confira também

COSERVERINFO