Condividi tramite


Metodo IObjectContext::IsCallerInRole (comsvcs.h)

Indica se il chiamante diretto dell'oggetto si trova in un ruolo specificato (direttamente o come parte di un gruppo).

Sintassi

HRESULT IsCallerInRole(
  [in]  BSTR bstrRole,
  [out] BOOL *pfIsInRole
);

Parametri

[in] bstrRole

Nome ruolo.

[out] pfIsInRole

TRUE se il chiamante è nel ruolo specificato; FALSE in caso contrario. Questo parametro è impostato anche su TRUE se la sicurezza non è abilitata.

Valore restituito

Questo metodo può restituire i valori seguenti.

Codice restituito Descrizione
S_OK
Il ruolo specificato nel parametro bstrRole è un ruolo riconosciuto e il risultato booleano restituito nel parametro pbIsInRole indica se il chiamante si trova in tale ruolo.
CONTEXT_E_ROLENOTFOUND
Il ruolo specificato nel parametro bstrRole non esiste.
E_INVALIDARG
Uno o più argomenti passati non sono validi.
E_UNEXPECTED
Si è verificato un errore imprevisto. Ciò può verificarsi se un oggetto passa il puntatore IObjectContext a un altro oggetto e l'altro oggetto chiama IsCallerInRole usando questo puntatore . Un puntatore IObjectContext non è valido al di fuori del contesto dell'oggetto che lo ha originariamente ottenuto.

Commenti

Questo metodo consente di determinare se il chiamante diretto del metodo attualmente in esecuzione è associato a un ruolo specifico. Un ruolo è un nome simbolico che rappresenta un utente o un gruppo di utenti che dispongono di autorizzazioni di accesso specifiche per tutti i componenti in una determinata applicazione COM+. Gli sviluppatori definiscono i ruoli quando creano un componente e i ruoli vengono mappati a singoli utenti o gruppi in fase di distribuzione.

IsCallerInRole si applica solo al chiamante diretto del metodo attualmente in esecuzione. Il chiamante diretto è il processo che chiama nel processo del server corrente. Può trattarsi di un processo client di base o di un processo server. IsCallerInRole non si applica al processo che ha avviato la sequenza di chiamata da cui è stato chiamato il metodo corrente o a qualsiasi altro chiamante in tale sequenza.

Poiché IsCallerInRole restituisceTRUE quando l'oggetto che lo richiama è in esecuzione nel processo di un client, è consigliabile chiamare IsSecurityEnabled prima di chiamare IsCallerInRole. Se la sicurezza non è abilitata, IsCallerInRole non restituirà un risultato accurato.

Requisiti

   
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione comsvcs.h

Vedi anche

IObjectContext