Метод IObjectContext::IsCallerInRole (comsvcs.h)
Указывает, находится ли прямой вызывающий объект в указанной роли (напрямую или в составе группы).
Синтаксис
HRESULT IsCallerInRole(
[in] BSTR bstrRole,
[out] BOOL *pfIsInRole
);
Параметры
[in] bstrRole
Имя роли.
[out] pfIsInRole
Значение TRUE , если вызывающий объект находится в указанной роли; Значение FALSE , если нет. Этот параметр также имеет значение TRUE , если безопасность не включена.
Возвращаемое значение
Этот метод может возвращать следующие значения.
Код возврата | Описание |
---|---|
|
Роль, указанная в параметре bstrRole , является распознанной ролью, а логическое значение, возвращаемое в параметре pbIsInRole , указывает, находится ли вызывающий объект в этой роли. |
|
Роль, указанная в параметре bstrRole , не существует. |
|
Один или несколько переданных аргументов являются недопустимыми. |
|
Произошла непредвиденная ошибка. Это может произойти, если один объект передает указатель IObjectContext другому объекту, а другой объект вызывает IsCallerInRole с помощью этого указателя. Указатель IObjectContext недопустим вне контекста объекта, который его первоначально получил. |
Комментарии
Этот метод используется для определения того, связан ли прямой вызывающий метод текущего выполняемого метода с определенной ролью. Роль — это символьное имя, представляющее пользователя или группу пользователей, имеющих определенные разрешения на доступ ко всем компонентам в данном приложении COM+. Разработчики определяют роли при создании компонента, а роли сопоставляются с отдельными пользователями или группами во время развертывания.
IsCallerInRole применяется только к непосредственному вызывающей объекту текущего выполняемого метода. (Прямой вызывающий объект — это процесс, вызывающий текущий серверный процесс. Это может быть базовый клиентский процесс или серверный процесс.) IsCallerInRole не применяется к процессу, который инициировал последовательность вызовов, из которой был вызван текущий метод, или к любым другим вызывающим объектам в этой последовательности.
Так как IsCallerInRole возвращает значение TRUE , когда объект, вызывающий его, выполняется в клиентском процессе, рекомендуется вызвать IsSecurityEnabled перед вызовомIsCallerInRole. Если безопасность не включена, IsCallerInRole не вернет точный результат.
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | comsvcs.h |