Compartir a través de


Método IClientSecurity::QueryBlanket (objidl.h)

Recupera la información de autenticación que usa el cliente para realizar llamadas en el proxy especificado.

Sintaxis

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

Puntero al proxy. Este parámetro no puede ser NULL. Para obtener más información, vea la sección Comentarios.

[out] pAuthnSvc

El servicio de autenticación actual. Se trata de un único valor tomado de la lista de constantes del servicio de autenticación. Este parámetro no puede ser NULL.

[out] pAuthzSvc

El servicio de autorización actual. Se trata de un único valor tomado de la lista de constantes de autorización. Este parámetro no puede ser NULL.

[out] pServerPrincName

Nombre principal actual. El autor de la llamada asignará la cadena mediante la función CoTaskMemAlloc y el autor de la llamada debe liberarla mediante la función CoTaskMemFree . Tenga en cuenta que se devuelve el nombre principal real. La marca EOAC_MAKE_FULLSIC no se acepta para convertir el nombre prinicpal. Si el autor de la llamada especifica NULL, no se recupera el nombre principal actual.

[out] pAuthnLevel

Nivel de autenticación actual. Se trata de un único valor tomado de la lista de constantes de nivel de autenticación. Si este parámetro es NULL, no se recupera el nivel de autenticación actual.

[out] pImpLevel

Nivel de suplantación actual. Se trata de un único valor tomado de la lista de constantes de nivel de suplantación. Si este parámetro es NULL, no se recupera el nivel de suplantación actual.

[out] pAuthInfo

Puntero a un identificador que indica la identidad del cliente que se pasó a la última llamada de IClientSecurity::SetBlanket (o el valor predeterminado). Los valores predeterminados solo son válidos hasta que se libere el proxy. Si el autor de la llamada especifica NULL, no se recupera la identidad del cliente.

El formato de la estructura a la que hace referencia el identificador devuelto depende del servicio de autenticación. Para NTLMSSP y Kerberos, si el cliente especificó una estructura en el parámetro pAuthInfo en CoInitializeSecurity, se devuelve ese valor. Para Schannel, si se puede recuperar un certificado para el cliente del administrador de certificados, ese valor se devuelve aquí. De lo contrario, se devuelve NULL . Dado que esto apunta al propio valor y no es una copia, no debe manipularse ni liberarse.

[out] pCapabilites

Funcionalidades del proxy. Estas marcas se definen en la enumeración EOLE_AUTHENTICATION_CAPABILITIES . Si este parámetro es NULL, no se recuperan las marcas de funcionalidad actuales.

Valor devuelto

Este método puede devolver los siguientes valores.

Código devuelto Descripción
S_OK
El método se completó correctamente.
E_INVALIDARG
Uno o varios argumentos no son válidos.
E_OUTOFMEMORY
No hay memoria suficiente para crear el búfer pServerPrincName .

Comentarios

El cliente llama a QueryBlanket para recuperar la información de autenticación COM que usará en las llamadas realizadas desde el proxy de interfaz especificado. Con un puntero a una interfaz en el proxy, el cliente llamaría primero a QueryInterface para un puntero a IClientSecurity; después, con este puntero, el cliente llamaría a QueryBlanket, seguido de liberar el puntero. Esta secuencia de llamadas se encapsula en la función auxiliar CoQueryProxyBlanket.

En pProxy, se pasa un puntero de interfaz. Sin embargo, no se puede pasar un puntero a una interfaz que no use un proxy. Por lo tanto, no se puede pasar un puntero a una interfaz que tenga la palabra clave local en su definición de interfaz, ya que no se crea ningún proxy para dicha interfaz. IUnknown es la excepción a esta regla.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows 2000 Server [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado objidl.h (incluya ObjIdl.h)

Consulte también

CoQueryProxyBlanket

CoSetProxyBlanket

IClientSecurity