Compartir a través de


Método ObjectContext::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] VARIANT_BOOL *pbInRole
);

Parámetros

[in] bstrRole

Nombre del rol.

[out] pbInRole

TRUE si el autor de la llamada está en el rol especificado; FALSE en caso contrario. Este parámetro también se establece en TRUE si la seguridad no está habilitada.

Valor devuelto

Este método puede devolver los valores devueltos estándar E_INVALIDARG, E_OUTOFMEMORY 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 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_UNEXPECTED
Se produjo un error inesperado. Esto puede ocurrir si un objeto pasa su puntero ObjectContext a otro objeto y el otro objeto llama a IsCallerInRole mediante este puntero. Un puntero ObjectContext no es válido fuera del contexto del objeto que lo obtuvo originalmente.

Comentarios

Use este método para determinar si el autor de la llamada directa del método que se está ejecutando 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 ejecuta 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

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

Objectcontext