Compartilhar via


CoSetProxyBlanket

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Essa função define o informações sobre autenticação que será usado para fazer chamadas no proxy especificado. Este é um função de ajuda para IClientSecurity::SetBlanket.

Syntax

HRESULT CoSetProxyBlanket(
  IUnknown* pProxy,
  DWORD dwAuthnSvc,
  DWORD dwAuthzSvc,
  WCHAR* pServerPrincName,
  DWORD dwAuthnLevel,
  DWORD dwImpLevel,
  RPC_AUTH_IDENTITY_HANDLE pAuthInfo,
  DWORD dwCapabilities
);

Parameters

  • pProxy
    [no] Indica o proxy definir.
  • dwAuthnSvc
    [no] Um único DWORD valor da lista de RPC_C_AUTHN_XXX Constantes indicando o serviço autenticação para usar. Ele pode ser RPC_C_AUTHN_NONE se nenhuma autenticação é exigido. Se RPC_C_AUTHN_DEFAULT for especificada, DCOM será escolher um seguinte serviço autenticação seu algoritmo de negociação Security blanket normal.
  • dwAuthzSvc
    [no] Um único DWORD valor da lista de RPC_C_AUTHZ_XXX Constantes indicando o serviço autorização para usar. Se RPC_C_AUTHZ_DEFAULT for especificada, DCOM será escolher um seguinte serviço autorização seu algoritmo de negociação Security blanket normal. Se você estiver usando NTLMSSP ou Kerberos para o serviço autenticação, use RPC_C_AUTHZ_NONE para serviço de autorização.
  • pServerPrincName
    [no] Ponteiro para uma seqüência de caracteres WCHAR que indica o principal servidor nome a ser usado com o serviço autenticação.

    Se COLE_DEFAULT_PRINCIPAL for especificada, DCOM será escolher um principal nome usando seu algoritmo de negociação Security blanket.

    Se usando Kerberos, esse valor não deve ser NULL. Ele deve ser o principal correto Nome do servidor ou o chamar falhará.

    Em geral, especificando NULL será não redefinir servidor principal nome em de proxy, em vez disso, a configuração anterior será mantida.

    Exercício cuidado ao usar NULL para pServerPrincName Ao selecionar um serviço de autenticação diferente para o proxy. Não há nenhuma garantia que o definido anteriormente principal nome será válido para o Authentication Service recém-selecionado.

  • dwAuthnLevel
    [no] Um único DWORD valor da lista de RPC_C_AUTHN_LEVEL_XXX Constantes indicando o nível de autenticação para usar.

    Se RPC_C_AUTHN_LEVEL_DEFAULT for especificada, DCOM será escolher um nível de autenticação seguinte seu algoritmo de negociação Security blanket normal.

    Se esse valor for nenhum, o serviço autenticação também deve ser Nenhum.

  • dwImpLevel
    [no] Um único DWORD valor da lista de RPC_C_IMP_LEVEL_XXX Constantes que indica a representação nível para usar.

    Se RPC_C_IMP_LEVEL_DEFAULT for especificada, DCOM será escolher uma representação nível seguinte seu algoritmo de negociação Security blanket normal.

    Se você estiver usando NTLMSSP, esse valor deve ser RPC_C_IMP_LEVEL_IMPERSONATE ou RPC_C_IMP_LEVEL_IDENTIFY.

  • pAuthInfo
    [no] Ponteiro para um valor RPC_AUTH_IDENTITY_HANDLE que estabelece a identidade do cliente. Este parâmetro não é usado para chamadas sobre a mesma máquina. É autenticação-serviço específico.

    Se NULL for especificada, DCOM usa o atual identidade proxy (que é o token de processo ou o símbolo de representação).

    Se o identificador se refere a uma estrutura, essa identidade será usada.

    O formato da estrutura referida pelo identificador depende de como o provedor de serviço de autenticação. Para NTLMSSP ou Kerberos, a estrutura é SEC_WINNT_AUTH_IDENTITY.

    O cliente deve garantir que a memória permanecerá válido e inalterado até que uma identidade diferente é definida no proxy ou todos os proxies sobre o objeto são lançados.

    Se COLE_DEFAULT_AUTHINFO for especificada, DCOM será escolher a informações sobre autenticação seguinte seu algoritmo de negociação Security blanket normal.

    CoSetProxyBlanket Retornará um erro se ambas as pAuthInfo está definida e um do disfarce sinalizadores são definidos no dwCapabilities.

  • dwCapabilities
    [no] A DWORD Definindo sinalizadores que especificar as capacidades desse proxy. Capacidade sinalizadores são definidos na enumeração EOLE_AUTHENTICATION_CAPABILITIES.

    EOAC_MUTUAL_AUTH é aceito, mas não tem nenhum efeito.

    EOAC_DEFAULT significa DCOM será escolher os recursos usando seu algoritmo de negociação Security blanket normal.

    EOAC_NONE indica que nenhuma funcionalidade sinalizadores são definidos.

    EOAC_STATIC_CLOAKING ou EOAC_DYNAMIC_CLOAKING pode ser definido se pAuthInfo não foi definida.

    Se qualquer funcionalidade sinalizadores diferente aqueles mencionados aqui são definidas, CoSetProxyBlanket Retornará um erro.

Return Value

  • S_OK
    O sucesso.
  • E_INVALIDARG
    Um ou mais argumentos é inválido.

Remarks

Define o informações sobre autenticação que será usado para fazer chamadas no proxy especificado.

O IClientSecurity::SetBlanket método e CoSetProxyBlanket função retornar um erro se o aplicativo define qualquer um do seguinte sinalizadores em Recursos:

  • EOAC_SECURE_REFS
  • EOAC_ACCESS_CONTROL
  • EOAC_APPID

Essa função encapsula a seguinte seqüência de comum chama (manipulação de erro excluídos).

    pProxy->QueryInterface(IID_IClientSecurity, (void**)&pcs);
    pcs->SetBlanket(pProxy, dwAuthnSvc, dwAuthzSvc, pServerPrincName, 
        dwAuthnLevel, dwImpLevel, pAuthInfo, dwCapabilities);
    pcs->Release();

Para obter mais informações sobre como usar essa função, consulte a seção Comentários das IClientSecurity::SetBlanket método.

Para determinar se a plataforma oferece suporte a essa função, consulte Determinando suporte COM APIs.

Requirements

Header objbase.h
Library ole32.lib
Windows Embedded CE Windows CE 3.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

COM Functions