Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Используя метод ISecurityCallContext::IsSecurityEnabled, доступный из объекта контекста вызова безопасности, можно определить, включена ли безопасность для текущего объекта. Перед использованием ISecurityCallContext::IsCallerInRole, необходимо вызвать IsSecurityEnabled, так как IsCallerInRole возвращает значение True, если безопасность не включена.
Разработчики Microsoft Visual Basic вызывают GetSecurityCallContext, чтобы получить ссылку на объект SecurityCallContext, а затем вызвать IsSecurityEnabled, как показано в следующем примере:
Dim objSecCallCtx As SecurityCallContext
Dim boolSecEn As Boolean
Set objSecCallCtx = GetSecurityCallContext()
boolSecEn = objSecCallCtx.IsSecurityEnabled()
Разработчики Microsoft Visual C++ могут вызывать ISecurityCallContext::IsSecurityEnabled, вызывая CoGetCallContext, чтобы получить указатель на ISecurityCallContext, а затем вызвать IsSecurityEnabled. Ниже приведен краткий пример.
ISecurityCallContext* pSecCtx;
VARIANT_BOOL bIsEnabled;
HRESULT hr1 = CoGetCallContext(IID_ISecurityCallContext, (void**)&pSecCtx);
if (FAILED(hr1)) throw(hr1);
if (NULL == pSecCtx) {
// Display error message.
return E_FAIL;
}
HRESULT hr2 = pSecCtx->IsSecurityEnabled(&bIsEnabled);
return hr2;
Хотя предпочтительный способ вызова IsSecurityEnabled использует объект контекста вызова безопасности, можно также вызвать IsSecurityEnabled через контекст объекта. (Для получения дополнительной информации см. ObjectContext или IObjectContext.)
Связанные разделы