Método IAzClientContext::AccessCheck (azroles.h)

O método AccessCheck determina se o contexto do cliente atual tem permissão para executar as operações especificadas.

Sintaxe

HRESULT AccessCheck(
  [in]           BSTR    bstrObjectName,
  [in]           VARIANT varScopeNames,
  [in]           VARIANT varOperations,
  [in, optional] VARIANT varParameterNames,
  [in, optional] VARIANT varParameterValues,
  [in, optional] VARIANT varInterfaceNames,
  [in, optional] VARIANT varInterfaceFlags,
  [in, optional] VARIANT varInterfaces,
  [out]          VARIANT *pvarResults
);

Parâmetros

[in] bstrObjectName

O nome do objeto acessado. Essa cadeia de caracteres é usada em auditorias.

[in] varScopeNames

Uma variante que contém uma SAFEARRAY ou o objeto JScript Array . Cada elemento da matriz contém um VT_BSTR que contém o nome de um escopo que o objeto especificado pelo parâmetro bstrObjectName corresponde. A matriz pode conter apenas um elemento. Para usar o escopo de nível de aplicativo padrão, defina a primeira entrada na matriz como uma cadeia de caracteres vazia ("") ou VT_EMPTY ou passe VT_EMPTY para esse parâmetro.

[in] varOperations

As operações para as quais o acesso pelo contexto do cliente é verificado. Essa é uma variante que contém uma SAFEARRAY ou o objeto JScript Array . Cada elemento da matriz contém um VT_I2 ou VT_I4 que representa a propriedade OperationID de um objeto IAzOperation na política IAzApplication .

[in, optional] varParameterNames

Os nomes dos parâmetros disponíveis para regras de negócios (BizRules) por meio do método AzBizRuleContext::GetParameter . Essa é uma variante que contém uma SAFEARRAY ou o objeto JScript Array . Cada elemento da matriz contém um VT_BSTR que contém um nome de parâmetro. Essa matriz deve ser classificada em ordem alfabética pelo chamador; a ordem de classificação é definida por um VarCmp que diferencia maiúsculas de minúsculas. A ordem da matriz varParameterValues deve corresponder à ordem dessa matriz. O valor padrão é VT_NULL.

[in, optional] varParameterValues

Os valores dos parâmetros disponíveis para as regras de negócios (BizRules) por meio do método AzBizRuleContext::GetParameter . Essa é uma variante que contém uma SAFEARRAY ou o objeto JScript Array . Cada elemento da matriz contém um valor que corresponde a um elemento na matriz varParameterNames . O valor padrão é VT_NULL. As entradas na matriz podem conter qualquer tipo, exceto VT_UNKNOWN e VT_DISPATCH.

[in, optional] varInterfaceNames

Os nomes pelos quais as interfaces na matriz varInterfaces serão conhecidas em um script BizRule. Essa é uma variante que contém uma SAFEARRAY ou o objeto JScript Array . Cada elemento da matriz contém uma variante de cadeia de caracteres que contém um nome de interface. Esse método chama o método IActiveScript::AddNamedItem para cada entrada na matriz. O valor padrão é VT_NULL.

[in, optional] varInterfaceFlags

Sinalizadores que serão passados na chamada para IActiveScript::AddNamedItem. Essa é uma variante que contém uma SAFEARRAY ou o objeto JScript Array . Cada elemento da matriz contém um VT_I4. O sinalizador SCRIPTITEM_ISVISIBLE está implícito; o sinalizador SCRIPTITEM_ISPERSISTENT é ignorado. Cada entrada na matriz deve corresponder ao elemento correspondente na matriz varInterfaceNames . O valor padrão é VT_NULL.

[in, optional] varInterfaces

As interfaces IDispatch que serão disponibilizadas para o script BizRule. Essa é uma variante que contém uma SAFEARRAY ou o objeto JScript Array . Cada elemento da matriz contém uma interface IDispatch . Cada entrada na matriz deve corresponder ao elemento correspondente na matriz varInterfaceNames . O valor padrão é VT_NULL.

[out] pvarResults

Um ponteiro para um VARIANT usado para retornar um SAFEARRAY que contém os resultados do marcar de acesso. Cada elemento do SAFEARRAY é uma VARIANT do tipo VT_I4. Cada entrada na matriz corresponde ao elemento correspondente na matriz varOperations . Se o acesso a uma operação for concedido ao contexto do cliente, um valor de NO_ERROR será retornado no elemento correspondente na matriz pvarResults . Qualquer outro valor indica que o acesso a essa operação não é concedido. Um valor típico que indica que a falha é ERROR_ACCESS_DENIED.

No JScript, o SAFEARRAY retornado deve ser convertido no objeto JScript Array .

Retornar valor

Se o método for bem-sucedido, o método retornará NO_ERROR.

Se o método falhar, ele retornará um valor HRESULT que indica o status do método, não o resultado da marcar de acesso. Os possíveis valores incluem, mas sem limitação, aqueles na tabela a seguir. Para obter uma lista de códigos de erro comuns, consulte Valores HRESULT comuns.

Valor/código retornado Descrição
ERROR_FILE_CORRUPT
Esse código de erro poderá ser retornado se um repositório de autorização do Active Directory for usado e a administração do escopo tiver sido delegada. As definições de tarefa e função em um escopo delegado não podem ter BizRules. Se uma definição de tarefa ou função dentro de um escopo delegado contiver um BizRule (isso é possível se o repositório estiver corrompido), o método AccessCheck falhará.
OLESCRIPT_E_SYNTAX
O BizRule usado para avaliar o acesso contém um erro de sintaxe.

Comentários

Se a propriedade RoleForAccessCheck for definida no contexto do cliente, o método AccessCheck será executado somente nessa função.

Quando esse método é chamado, a associação ao grupo de aplicativos é adicionada ao contexto do cliente para que ele não precise ser recomputado para verificações de acesso subsequentes no mesmo contexto do cliente.

Esse método não pode ser chamado por um BizRule.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho azroles.h
Biblioteca Azroles.lib
DLL Azroles.dll
Redistribuível Pacote de Ferramentas de Administração do Windows Server 2003 no Windows XP