Método IClientSecurity::QueryBlanket (objidl.h)
Recupera as informações de autenticação que o cliente usa para fazer chamadas no proxy especificado.
Sintaxe
HRESULT QueryBlanket(
[in] IUnknown *pProxy,
[out] DWORD *pAuthnSvc,
[out] DWORD *pAuthzSvc,
[out] OLECHAR **pServerPrincName,
[out] DWORD *pAuthnLevel,
[out] DWORD *pImpLevel,
[out] void **pAuthInfo,
[out] DWORD *pCapabilites
);
Parâmetros
[in] pProxy
Um ponteiro para o proxy. Esse parâmetro não pode ser NULL. Para obter mais informações, consulte a seção Comentários.
[out] pAuthnSvc
O serviço de autenticação atual. Esse será um único valor obtido da lista de constantes de serviço de autenticação. Esse parâmetro não pode ser NULL.
[out] pAuthzSvc
O serviço de autorização atual. Esse será um único valor obtido da lista de constantes de autorização. Esse parâmetro não pode ser NULL.
[out] pServerPrincName
O nome da entidade de segurança atual. A cadeia de caracteres será alocada pelo receptor usando a função CoTaskMemAlloc e deverá ser liberada pelo chamador usando a função CoTaskMemFree . Observe que o nome da entidade de segurança real é retornado. O sinalizador EOAC_MAKE_FULLSIC não é aceito para converter o nome prinicpal. Se o chamador especificar NULL, o nome da entidade de segurança atual não será recuperado.
[out] pAuthnLevel
O nível de autenticação atual. Esse será um único valor obtido da lista de constantes de nível de autenticação. Se esse parâmetro for NULL, o nível de autenticação atual não será recuperado.
[out] pImpLevel
O nível de representação atual. Esse será um único valor obtido da lista de constantes de nível de representação. Se esse parâmetro for NULL, o nível de representação atual não será recuperado.
[out] pAuthInfo
Um ponteiro para um identificador que indica a identidade do cliente que foi passado para a última chamada IClientSecurity::SetBlanket (ou o valor padrão). Os valores padrão só são válidos até que o proxy seja liberado. Se o chamador especificar NULL, a identidade do cliente não será recuperada.
O formato da estrutura à qual o identificador retornado se refere depende do serviço de autenticação. Para NTLMSSP e Kerberos, se o cliente especificar uma estrutura no parâmetro pAuthInfo para CoInitializeSecurity, esse valor será retornado. Para schannel, se um certificado para o cliente puder ser recuperado do gerenciador de certificados, esse valor será retornado aqui. Caso contrário, NULL será retornado. Como isso aponta para o valor em si e não é uma cópia, ele não deve ser manipulado ou liberado.
[out] pCapabilites
Os recursos do proxy. Esses sinalizadores são definidos na enumeração EOLE_AUTHENTICATION_CAPABILITIES . Se esse parâmetro for NULL, os sinalizadores de funcionalidade atuais não serão recuperados.
Retornar valor
Esse método pode retornar os valores a seguir.
Código de retorno | Descrição |
---|---|
|
O método foi concluído com sucesso. |
|
Um ou mais argumentos não são válidos. |
|
Não há memória suficiente para criar o buffer pServerPrincName . |
Comentários
QueryBlanket é chamado pelo cliente para recuperar as informações de autenticação que o COM usará em chamadas feitas do proxy de interface especificado. Com um ponteiro para uma interface no proxy, o cliente primeiro chamaria QueryInterface para um ponteiro para IClientSecurity; em seguida, com esse ponteiro, o cliente chamaria QueryBlanket, seguido por liberar o ponteiro. Essa sequência de chamadas é encapsulada na função auxiliar CoQueryProxyBlanket.
No pProxy, você passa um ponteiro de interface. No entanto, você não pode passar um ponteiro para uma interface que não usa um proxy. Portanto, você não pode passar um ponteiro para uma interface que tem o palavra-chave local em sua definição de interface, pois nenhum proxy é criado para essa interface. IUnknown é a exceção a essa regra.
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] |
Plataforma de Destino | Windows |
Cabeçalho | objidl.h (inclua ObjIdl.h) |