Compartilhar via


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 do 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 de Constantes do 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. Nas versões anteriores do Windows, RPC_C_AUTHN_LEVEL_CONNECT sempre foi usado para o nível de segurança, a menos que outro nível tenha sido 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 de 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 deve 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.

Observações

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 de COAUTHINFONULL nãopode ser especificada para pAuthInfo para 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 verificação de permissão de inicialização 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 seguras.
  • Para especificar um serviço de autenticação proprietário.
Especificar uma estrutura de COAUTHINFO permite que as ativações de DCOM funcionem corretamente com provedores de segurança diferentes do 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, dwImpersonationLevelou dwCapa as a valores incorretos e chamam CoGetClassObject ou CoCreateInstanceEx, essas funções não retornam E_INVALIDARG ou um erro semelhante. Os valores padrão são usados em vez dos valores incorretos.

Requisitos

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

Consulte também

COSERVERINFO