Поделиться через


Метод 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, а также следующие значения.

Код возврата Описание
S_OK
Роль, указанная в параметре bstrRole , является распознанной ролью, а логический результат, возвращаемый в параметре pfIsInRole , указывает, находится ли вызывающий объект в этой роли.
CONTEXT_E_ROLENOTFOUND
Роль, указанная в параметре bstrRole , не существует.

Комментарии

Используйте этот метод, чтобы ограничить доступ к разделам кода, которые не должны выполняться, если вызывающий объект не является членом указанной роли. Группам и пользователям Windows назначаются роли приложения с помощью средства администрирования служб компонентов. Дополнительные сведения о ролях см. в разделе Безопасность на основе ролей.

IsCallerInRole применяется только к непосредственному вызывающму объекту выполняемого в данный момент метода. IsCallerInRole не применяется к другим вызывающим абонентам в последовательности вызовов, из которой был вызван текущий метод. Однако сведения о других вызывающих объектах в последовательности можно получить с помощью метода свойства get_Item , чтобы получить свойство Вызывающие объекты объекта контекста вызова безопасности.

Так как isCallerInRole имеет значение TRUE , если безопасность на основе ролей не включена, рекомендуется вызвать IsSecurityEnabled перед вызовом IsCallerInRole , чтобы убедиться, что IsCallerInRole возвращает полезные сведения.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header comsvcs.h

См. также раздел

ISecurityCallContext

Безопасность программных компонентов

Безопасность на основе ролей