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

Indica si el autor de la llamada directa del objeto está en un rol especificado (ya sea directamente o como parte de un grupo).

Sintaxis

HRESULT IsCallerInRole(
  [in]  BSTR bstrRole,
  [out] BOOL *pfIsInRole
);

Parámetros

[in] bstrRole

Nombre del rol.

[out] pfIsInRole

TRUE si el autor de la llamada está en el rol especificado; False si no es así. Este parámetro también se establece en TRUE si la seguridad no está habilitada.

Valor devuelto

Este método puede devolver los valores siguientes.

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 pbIsInRole indica si el autor de la llamada está en ese rol.
CONTEXT_E_ROLENOTFOUND
El rol especificado en el parámetro bstrRole no existe.
E_INVALIDARG
Uno o varios de los argumentos pasados no son válidos.
E_UNEXPECTED
Se ha producido un error inesperado. Esto puede ocurrir si un objeto pasa su puntero IObjectContext a otro objeto y el otro objeto llama a IsCallerInRole mediante este puntero. Un puntero IObjectContext no es válido fuera del contexto del objeto que lo obtuvo originalmente.

Comentarios

Este método se usa para determinar si el autor de la llamada directa del método que se ejecuta actualmente está asociado a un rol específico. Un rol es un nombre simbólico que representa a un usuario o grupo de usuarios que tienen permisos de acceso específicos para todos los componentes de una aplicación COM+ determinada. Los desarrolladores definen roles cuando crean un componente y los roles se asignan a usuarios o grupos individuales en el momento de la implementación.

IsCallerInRole solo se aplica al autor de la llamada directa del método que se está ejecutando actualmente. (El llamador directo es el proceso que llama al proceso del servidor actual. Puede ser un proceso de cliente base o un proceso de servidor). IsCallerInRole no se aplica al proceso que inició la secuencia de llamadas desde la que se llamó al método actual o a cualquier otro llamador de esa secuencia.

Dado que IsCallerInRole devuelve TRUE cuando el objeto que lo invoca se está ejecutando en el proceso de un cliente, es recomendable llamar a IsSecurityEnabled antes de llamar a IsCallerInRole. Si la seguridad no está habilitada, IsCallerInRole no devolverá un resultado preciso.

Requisitos

   
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

IObjectContext