Método IObjectContext::IsCallerInRole (comsvcs.h)

Indica se o chamador direto do objeto está em uma função especificada (diretamente ou como parte de um grupo).

Sintaxe

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

Parâmetros

[in] bstrRole

O nome da função.

[out] pfIsInRole

TRUE se o chamador estiver na função especificada; FALSE se não estiver. Esse parâmetro também será definido como TRUE se a segurança não estiver habilitada.

Valor retornado

Esse método pode retornar os valores a seguir.

Código de retorno Descrição
S_OK
A função especificada no parâmetro bstrRole é uma função reconhecida e o resultado booliano retornado no parâmetro pbIsInRole indica se o chamador está nessa função.
CONTEXT_E_ROLENOTFOUND
A função especificada no parâmetro bstrRole não existe.
E_INVALIDARG
Um ou mais dos argumentos passados não são válidos.
E_UNEXPECTED
Erro inesperado. Isso pode acontecer se um objeto passar seu ponteiro IObjectContext para outro objeto e o outro objeto chamar IsCallerInRole usando esse ponteiro. Um ponteiro IObjectContext não é válido fora do contexto do objeto que o obteve originalmente.

Comentários

Use esse método para determinar se o chamador direto do método em execução no momento está associado a uma função específica. Uma função é um nome simbólico que representa um usuário ou grupo de usuários que têm permissões de acesso específicas para todos os componentes em um determinado aplicativo COM+. Os desenvolvedores definem funções quando criam um componente e as funções são mapeadas para usuários ou grupos individuais no momento da implantação.

IsCallerInRole aplica-se somente ao chamador direto do método em execução no momento. (O chamador direto é o processo que chama o processo do servidor atual. Pode ser um processo de cliente base ou um processo de servidor.) IsCallerInRole não se aplica ao processo que iniciou a sequência de chamadas da qual o método atual foi chamado ou a outros chamadores nessa sequência.

Como IsCallerInRole retorna TRUE quando o objeto que o invoca está em execução no processo de um cliente, é uma boa ideia chamar IsSecurityEnabled antes de chamar IsCallerInRole. Se a segurança não estiver habilitada, IsCallerInRole não retornará um resultado preciso.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho comsvcs.h

Confira também

IObjectContext