Condividi tramite


Metodo ObjectContext::IsCallerInRole (comsvcs.h)

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

Sintassi

HRESULT IsCallerInRole(
  [in]  BSTR         bstrRole,
  [out] VARIANT_BOOL *pbInRole
);

Parametri

[in] bstrRole

Nome ruolo.

[out] pbInRole

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 restituiti standard E_INVALIDARG, E_OUTOFMEMORY e E_FAIL, nonché 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_UNEXPECTED
Si è verificato un errore imprevisto. Ciò può verificarsi se un oggetto passa il puntatore ObjectContext a un altro oggetto e l'altro chiama IsCallerInRole usando questo puntatore . Un puntatore ObjectContext non è valido all'esterno del contesto dell'oggetto originariamente ottenuto.

Commenti

Usare questo metodo per 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 un'applicazione COM+ specificata. 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ò essere un processo client di base o un processo server. IsCallerInRole non si applica al processo che ha avviato la sequenza di chiamate da cui è stato chiamato o a qualsiasi altro chiamante in tale sequenza.

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

Requisiti

Requisito Valore
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

Objectcontext