Compartilhar via


Método ObjectContext::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] VARIANT_BOOL *pbInRole
);

Parâmetros

[in] bstrRole

O nome da função.

[out] pbInRole

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

Retornar valor

Esse método pode retornar os valores de retorno padrão E_INVALIDARG, E_OUTOFMEMORY e E_FAIL, bem como 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_UNEXPECTED
Ocorreu um erro inesperado. Isso pode acontecer se um objeto passar o ponteiro ObjectContext para outro objeto e o outro objeto chamar IsCallerInRole usando esse ponteiro. Um ponteiro ObjectContext 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 de chamada para o processo de 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 para qualquer outro chamador nessa sequência.

Como IsCallerInRole retorna TRUE quando o objeto que o invoca está sendo executado 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

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

Objectcontext