CoSetProxyBlanket
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 |