Метод ISecurityCallContext::IsCallerInRole (comsvcs.h)
Определяет, находится ли прямой вызывающий объект в указанной роли.
Синтаксис
HRESULT IsCallerInRole(
[in] BSTR bstrRole,
[out] VARIANT_BOOL *pfInRole
);
Параметры
[in] bstrRole
Имя роли.
[out] pfInRole
ЗНАЧЕНИЕ TRUE , если вызывающий объект находится в указанной роли; False , если нет. Если указанная роль не определена для приложения, возвращается значение FALSE . Этот параметр имеет значение TRUE , если безопасность на основе ролей не включена.
Возвращаемое значение
Этот метод может возвращать стандартные возвращаемые значения E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED и E_FAIL, а также следующие значения.
Код возврата | Описание |
---|---|
|
Роль, указанная в параметре bstrRole , является распознанной ролью, а логический результат, возвращаемый в параметре pfIsInRole , указывает, находится ли вызывающий объект в этой роли. |
|
Роль, указанная в параметре bstrRole , не существует. |
Комментарии
Используйте этот метод, чтобы ограничить доступ к разделам кода, которые не должны выполняться, если вызывающий объект не является членом указанной роли. Группам и пользователям Windows назначаются роли приложения с помощью средства администрирования служб компонентов. Дополнительные сведения о ролях см. в разделе Безопасность на основе ролей.
IsCallerInRole применяется только к непосредственному вызывающму объекту выполняемого в данный момент метода. IsCallerInRole не применяется к другим вызывающим абонентам в последовательности вызовов, из которой был вызван текущий метод. Однако сведения о других вызывающих объектах в последовательности можно получить с помощью метода свойства get_Item , чтобы получить свойство Вызывающие объекты объекта контекста вызова безопасности.
Так как isCallerInRole имеет значение TRUE , если безопасность на основе ролей не включена, рекомендуется вызвать IsSecurityEnabled перед вызовом IsCallerInRole , чтобы убедиться, что IsCallerInRole возвращает полезные сведения.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | comsvcs.h |