Método IAzApplication::InitializeClientContextFromStringSid (azroles.h)
O método InitializeClientContextFromStringSid obtém um ponteiro de objeto IAzClientContext do SID ( identificador de segurança ) especificado no formulário de texto.
Sintaxe
HRESULT InitializeClientContextFromStringSid(
[in] BSTR SidString,
[in] LONG lOptions,
[in, optional] VARIANT varReserved,
[out] IAzClientContext **ppClientContext
);
Parâmetros
[in] SidString
Uma cadeia de caracteres que contém a forma de texto do SID da entidade de segurança. Esse deve ser um SID de cadeia de caracteres válido que pode ser convertido pela função ConvertStringSidToSid .
[in] lOptions
Opções para a criação de contexto.
Se AZ_CLIENT_CONTEXT_SKIP_GROUP for especificado, o SID especificado no parâmetro SidString não será necessariamente uma conta de usuário válida. O SID será usado para criar o contexto sem validação. O contexto criado será sinalizado como tendo sido criado a partir de um SID, a cadeia de caracteres SID será armazenada no campo nome do cliente e o campo nome de domínio estará vazio. Os grupos de tokens não serão usados na criação do contexto do cliente. Não há suporte para grupos de consultas LDAP (Lightweight Directory Access Protocol) quando AZ_CLIENT_CONTEXT_SKIP_GROUP é especificado. Como a conta não é validada no Active Directory, as propriedades de informações do usuário do contexto do cliente, como UserSamCompat, não serão válidas e, quando acessadas, retornarão ERROR_INVALID_HANDLE. A propriedade RoleForAccessCheck e o método AccessCheck de IAzClientContext ainda podem ser usados para especificar uma função para verificação de acesso. O método GetRoles de IAzClientContext ainda pode ser usado para enumerar funções atribuídas ao contexto dentro de um escopo específico.
Se AZ_CLIENT_CONTEXT_SKIP_GROUP não for especificado, o SID deverá representar uma conta de usuário válida.
[in, optional] varReserved
Reservado para uso futuro. Esse parâmetro pode usar um dos valores a seguir:
- varReserved.vt == VT_ERROR e varReserved.scode == DISP_E_PARAMNOTFOUND
- varReserved.vt == VT_EMPTY
- varReserved.vt == VT_NULL
- varReserved.vt == VT_I4 e varReserved.lVal == 0
- varReserved.vt == VT_I2 e varReserved.iVal == 0
[out] ppClientContext
Um ponteiro para um ponteiro para o objeto IAzClientContext retornado.
Valor retornado
Se a função for bem-sucedida, a função retornará S_OK.
Se a função falhar, ela retornará um valor HRESULT que indica o erro. Para obter uma lista de códigos de erro comuns, consulte Valores HRESULT comuns.
Comentários
Se possível, chame a função InitializeClientContextFromToken em vez de InitializeClientContextFromStringSid. InitializeClientContextFromStringSid tenta recuperar as informações disponíveis em um token de logon em que o cliente realmente fez logon. Um token de logon real fornece mais informações, como o tipo de logon e as propriedades de logon, e reflete o comportamento do pacote de autenticação usado para o logon. O contexto do cliente criado por InitializeClientContextFromToken usa um token de logon e o contexto do cliente resultante é mais completo e preciso do que um contexto de cliente criado por InitializeClientContextFromStringSid.
Requisitos
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 |