Compartir a través de


Método ISecurityCallContext::IsCallerInRole (comsvcs.h)

Determina si el autor de la llamada directa está en el rol especificado.

Sintaxis

HRESULT IsCallerInRole(
  [in]  BSTR         bstrRole,
  [out] VARIANT_BOOL *pfInRole
);

Parámetros

[in] bstrRole

Nombre del rol.

[out] pfInRole

TRUE si el autor de la llamada está en el rol especificado; False si no es así. Si el rol especificado no está definido para la aplicación, se devuelve FALSE . Este parámetro se establece en TRUE si la seguridad basada en roles no está habilitada.

Valor devuelto

Este método puede devolver los valores devueltos estándar E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED y E_FAIL, así como los siguientes valores.

Código devuelto Descripción
S_OK
El rol especificado en el parámetro bstrRole es un rol reconocido y el resultado booleano devuelto en el parámetro pfIsInRole indica si el autor de la llamada está en ese rol.
CONTEXT_E_ROLENOTFOUND
El rol especificado en el parámetro bstrRole no existe.

Comentarios

Use este método para limitar el acceso a secciones de código que no se deben ejecutar a menos que el autor de la llamada sea miembro del rol especificado. Los grupos y usuarios de Windows se asignan a los roles de una aplicación mediante la herramienta de administración servicios de componentes. Para obtener más información sobre los roles, vea Seguridad basada en roles.

IsCallerInRole solo se aplica al autor de la llamada directa del método que se está ejecutando actualmente. IsCallerInRole no se aplica a ningún otro llamador de la secuencia de llamadas desde la que se llamó al método actual. Sin embargo, puede obtener información sobre otros autores de llamada en la secuencia mediante el método de propiedad get_Item para obtener la propiedad Callers del objeto de contexto de llamada de seguridad.

Dado que IsCallerInRole es TRUE cuando la seguridad basada en roles no está habilitada, es recomendable llamar a IsSecurityEnabled antes de llamar a IsCallerInRole para asegurarse de que IsCallerInRole devuelve información útil.

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 comsvcs.h

Consulte también

ISecurityCallContext

Seguridad de componentes mediante programación

Seguridad basada en roles