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 |
---|---|
|
El método se completó correctamente. |
|
Uno o varios argumentos no son válidos. |
|
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) |