Метод IAzApplication::InitializeClientContextFromStringSid (azroles.h)
Метод InitializeClientContextFromStringSid получает указатель объекта IAzClientContext из указанного идентификатора безопасности (SID) в текстовой форме.
Синтаксис
HRESULT InitializeClientContextFromStringSid(
[in] BSTR SidString,
[in] LONG lOptions,
[in, optional] VARIANT varReserved,
[out] IAzClientContext **ppClientContext
);
Параметры
[in] SidString
Строка, содержащая текстовую форму идентификатора безопасности субъекта безопасности. Это должен быть допустимый идентификатор безопасности строки, который может быть преобразован функцией ConvertStringSidToSid .
[in] lOptions
Параметры для создания контекста.
Если указан AZ_CLIENT_CONTEXT_SKIP_GROUP, идентификатор безопасности, указанный в параметре SidString , не обязательно является допустимой учетной записью пользователя. Идентификатор безопасности будет использоваться для создания контекста без проверки. Созданный контекст помечается как созданный из идентификатора безопасности, строка идентификатора безопасности будет сохранена в поле имени клиента, а поле доменного имени будет пустым. Группы маркеров не будут использоваться при создании контекста клиента. Группы запросов LDAP не поддерживаются при указании AZ_CLIENT_CONTEXT_SKIP_GROUP. Так как учетная запись не проверяется в Active Directory, свойства сведений о пользователях контекста клиента, такие как UserSamCompat, будут недопустимыми, и при доступе они будут возвращать ERROR_INVALID_HANDLE. Свойство RoleForAccessCheck и метод AccessCheckобъекта IAzClientContext по-прежнему можно использовать для указания роли для проверки доступа. Метод GetRolesIAzClientContext по-прежнему можно использовать для перечисления ролей, назначенных контексту в рамках определенного область.
Если AZ_CLIENT_CONTEXT_SKIP_GROUP не указан, идентификатор безопасности должен представлять действительную учетную запись пользователя.
[in, optional] varReserved
Зарезервировано для последующего использования. Этот параметр может иметь одно из следующих значений:
- varReserved.vt == VT_ERROR и varReserved.scode == DISP_E_PARAMNOTFOUND
- varReserved.vt == VT_EMPTY
- varReserved.vt == VT_NULL
- varReserved.vt == VT_I4 и varReserved.lVal == 0
- varReserved.vt == VT_I2 и varReserved.iVal == 0
[out] ppClientContext
Указатель на указатель на возвращенный объект IAzClientContext .
Возвращаемое значение
Если функция выполнена успешно, функция возвращает S_OK.
Если функция завершается сбоем, она возвращает значение HRESULT , указывающее на ошибку. Список распространенных кодов ошибок см. в разделе Общие значения HRESULT.
Комментарии
По возможности вызовите функцию InitializeClientContextFromToken вместо InitializeClientContextFromStringSid. Попытка InitializeClientContextFromStringSid получить сведения, доступные в маркере входа, фактически выполнила вход клиента. Фактический маркер входа предоставляет дополнительные сведения, такие как тип входа и свойства входа, а также отражает поведение пакета проверки подлинности, используемого для входа. Контекст клиента, созданный Методом InitializeClientContextFromToken , использует маркер входа, и полученный контекст клиента является более полным и точным, чем контекст клиента, созданный InitializeClientContextFromStringSid.
Требования
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | azroles.h |
Библиотека | Azroles.lib |
DLL | Azroles.dll |
Распространяемые компоненты | Пакет средств администрирования Windows Server 2003 в Windows XP |