Compartilhar via


CoQueryProxyBlanket

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Essa função recupera o informações sobre autenticação o cliente usa para fazer chamadas no proxy especificado.

Syntax

HRESULT CoQueryProxyBlanket(
  IUnknown* pProxy,
  DWORD* pAuthnSvc,
  DWORD* pAuthzSvc,
  OLECHAR** pServerPrincName,
  DWORD* pAuthnLevel,
  DWORD* pImpLevel,
  RPC_AUTH_IDENTITY_HANDLE* ppAuthInfo,
  DWORD* pCapabilities
);

Parameters

  • pProxy
    [no] Ponteiro indicando o proxy para consulta. Para obter mais informações, consulte a seção " Comentários ".
  • pAuthnSvc
    [out] Ponteiro para um DWORD valor definindo o atual serviço autenticação. Esse será um único valor extraído a lista de RPC_C_AUTHN_XXX Constantes.

    Pode ser NULL, no qual maiúsculas e minúsculas o atual serviço autenticação não é recuperado.

  • pAuthzSvc
    [out] Ponteiro para um DWORD valor definindo o atual serviço autorização. Esse será um único valor extraído a lista de RPC_C_AUTHZ_XXX Constantes.

    Pode ser NULL, no qual maiúsculas e minúsculas o atual serviço autorização não é recuperado.

  • pServerPrincName
    [out] Ponteiro para o atual principal nome. O seqüência de caracteres serão alocada pelo receptor usando CoTaskMemAlloc e deve ser liberada pelo chamador usando CoTaskMemFree Quando eles são feitos com ele. Observe que o real principal nome é retornado. O sinalizador EOAC_MAKE_FULLSIC não é aceito para converter o principal nome.

    Pode ser NULL, no qual maiúsculas e minúsculas o principal nome não for recuperado.

  • pAuthnLevel
    [out] Ponteiro para um DWORD valor definindo o atual nível de autenticação. Esse será um único valor extraído a lista de RPC_C_AUTHN_LEVEL_XXX Constantes.

    Pode ser NULL, no qual maiúsculas e minúsculas o atual nível de autenticação não é recuperado.

  • pImpLevel
    [out] Ponteiro para um DWORD valor definindo o atual representação nível. Esse será um único valor extraído a lista de RPC_C_IMP_LEVEL_XXX Constantes.

    Pode ser NULL, no qual maiúsculas e minúsculas o atual representação nível não é recuperado. Ao usar NTLMSSP, esse valor pode ser RPC_IMP_LEVEL_IDENTIFY ou RPC_IMP_LEVEL_IMPERSONATE.

    Ao usar Kerberos, ele irá ser RPC_IMP_LEVEL_IDENTIFY, RPC_IMP_LEVEL_IMPERSONATE ou RPC_C_IMP_LEVEL_DELEGATE.

  • ppAuthInfo
    [out] Ponteiro para o valor ponteiro indicando a identidade do cliente que foi passado to the last IClientSecurity::SetBlanket chamar (ou o valor usar como padrão).

    Valores padrão são somente válido até que o proxy é lançada.

    Se nenhum SetBlanket chamar substituído em aberto de segurança de usar como padrão, e se o cliente especificou uma estrutura para o atual serviço autenticação in a pAuthInfo parâmetro para CoInitializeSecurity, que valor será retornado.

    Porque isso aponta para o valor próprio e não é um copiar, ele não deve ser manipulado ou liberado.

  • pCapabilities
    [out] Ponteiro para um DWORD dos sinalizadores indicando as capacidades do proxy.

    Pode ser NULL, no qual maiúsculas e minúsculas os sinalizadores não são recuperados.

Return Value

  • S_OK
    O sucesso.
  • E_INVALIDARG
    Um ou mais argumentos estão inválido.
  • E_OUTOFMEMORY
    Memória insuficiente para criar o pServerPrincName Saída-parâmetro.

Remarks

CoQueryProxyBlanket é chamado, o cliente para recuperar o informações sobre autenticação COM usará em chamadas feitas a partir de proxy especificado. Essa função encapsula a seguinte seqüência de comum chama (manipulação de erro excluídos).

pProxy->QueryInterface(IID_IClientSecurity, (void**)&pcs);
pcs->QueryBlanket(pProxy, pAuthnSvc, pAuthzSvc, pServerPrincName,
                 pAuthnLevel, pImpLevel, ppAuthInfo, pCapabilities);
pcs->Release();

Chama esta seqüência Falha de QueryInterface Sobre o proxy para get um ponteiro para IClientSecuritye com o ponteiro resultante, chamadas IClientSecurity::QueryBlankete depois libera o ponteiro.

Usa seu aplicativo pProxy Para transmitir qualquer proxy, such as um proxy obtido através um chamar para CoCreateInstance, CoUnmarshalInterface, ou para transmitir um ponteiro para qualquer interface. O aplicativo não pode transmitir um ponteiro para algo que não é um proxy. Portanto, ele não é possível transmitir um ponteiro para uma interface que possui o local palavra-chave em sua definição interface, porque nenhum proxy é criado para tal uma interface. Um ponteiro para IUnknown é a exceção a essa regra.

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