Compartir a través de


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

Recupera información sobre el cliente que invocó uno de los métodos del servidor.

Sintaxis

HRESULT QueryBlanket(
  [out]     DWORD   *pAuthnSvc,
  [out]     DWORD   *pAuthzSvc,
  [out]     OLECHAR **pServerPrincName,
  [out]     DWORD   *pAuthnLevel,
  [out]     DWORD   *pImpLevel,
  [out]     void    **pPrivs,
  [in, out] DWORD   *pCapabilities
);

Parámetros

[out] pAuthnSvc

Puntero al servicio de autenticación actual. Este será un valor único tomado de la lista de constantes del servicio de autenticación. Si el autor de la llamada especifica NULL, no se recupera el servicio de autenticación actual.

[out] pAuthzSvc

Puntero a una variable que recibe el servicio de autorización actual. Este será un valor único de la lista de constantes de autorización. Si el autor de la llamada especifica NULL, no se recupera el servicio de autorización actual.

[out] pServerPrincName

Nombre principal actual. El autor de la llamada asignará la cadena mediante CoTaskMemAlloc y el autor de la llamada debe liberarla mediante CoTaskMemFree. De forma predeterminada, los nombres principales de Schannel estarán en el formato msstd. Se devolverá el formulario completo si EOAC_MAKE_FULLSIC se especifica en el parámetro pCapabilities . Para obtener más información sobre los formularios msstd y fullsic, vea Nombres principales. Si el autor de la llamada especifica NULL, no se recupera el nombre principal actual.

[out] pAuthnLevel

Puntero a una variable que recibe el nivel de autenticación actual. Este será un valor único tomado de la lista de constantes de nivel de autenticación. Si el autor de la llamada especifica NULL, no se recupera el nivel de autenticación actual.

[out] pImpLevel

Este parámetro debe ser NULL.

[out] pPrivs

Información de privilegios para la aplicación cliente. El formato de la estructura a la que hace referencia el identificador depende del servicio de autenticación. La aplicación no debe escribir ni liberar la memoria. La información solo es válida durante la llamada actual. Para NTLMSSP y Kerberos, se trata de una estructura SEC_WINNT_AUTH_IDENTITY o SEC_WINNT_AUTH_IDENTITY_EX . Para Schannel, se trata de una estructura de CERT_CONTEXT que representa el certificado del cliente. Si el cliente no tiene ningún certificado, se devuelve NULL . Si el autor de la llamada especifica NULL, no se recupera la información de privilegios actual.

[in, out] pCapabilities

Funcionalidades de la llamada. Para solicitar que el nombre de entidad de seguridad se devuelva en formato completo si Schannel es el servicio de autenticación, el autor de la llamada puede establecer la marca EOAC_MAKE_FULLSIC en este parámetro. Si el autor de la llamada especifica NULL, no se recuperan las funcionalidades actuales.

Valor devuelto

Este método puede devolver los valores devueltos estándar E_INVALIDARG, E_OUTOFMEMORY y S_OK.

Comentarios

El servidor usa QueryBlanket para averiguar el cliente que invocó uno de sus métodos. Para obtener un puntero a IServerSecurity para la llamada actual en el subproceso actual, llame a CoGetCallContext y especifique IID_IServerSecurity. Este puntero de interfaz solo se puede usar en el mismo apartamento que la llamada durante la llamada.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado objidl.h (incluir ObjIdl.h)

Consulte también

CoQueryClientBlanket

CoQueryProxyBlanket

IServerSecurity