Partilhar via


Determinando se a segurança Role-Based está habilitada

Usando o métodoISecurityCallContext::IsSecurityEnableddisponível no objeto de contexto da chamada de segurança, você pode determinar se a segurança está habilitada para o objeto atual. Você deve chamar IsSecurityEnabled antes de usar ISecurityCallContext::IsCallerInRole para verificar a associação à função porque IsCallerInRole retorna True se a segurança não estiver habilitada.

Os desenvolvedores do Microsoft Visual Basic chamam GetSecurityCallContext para obter uma referência a um objetoSecurityCallContexte, em seguida, chamam IsSecurityEnabled , conforme mostrado no exemplo a seguir:

Dim objSecCallCtx As SecurityCallContext
Dim boolSecEn As Boolean
Set objSecCallCtx = GetSecurityCallContext()
boolSecEn = objSecCallCtx.IsSecurityEnabled()
 

Os desenvolvedores do Microsoft Visual C++ podem chamar ISecurityCallContext::IsSecurityEnabled chamando CoGetCallContext para obter um ponteiro para ISecurityCallContext e, em seguida, chamando IsSecurityEnabled. Segue-se um breve exemplo:

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;

Embora a maneira preferida de chamar IsSecurityEnabled seja usando o objeto de contexto de chamada de segurança, você também pode chamar IsSecurityEnabled através do contexto do objeto. (Consulte ObjectContext ou IObjectContext para obter mais informações.)

Acessando informações de contexto de chamada de segurança

Verificando a associação à função

Segurança de Componentes Programáticos