Поделиться через


Метод IAzAuthorizationStore::Initialize (azroles.h)

Метод Initialize инициализирует диспетчер авторизации.

Синтаксис

HRESULT Initialize(
  [in]           LONG    lFlags,
  [in]           BSTR    bstrPolicyURL,
  [in, optional] VARIANT varReserved
);

Параметры

[in] lFlags

Флаги, управляющие поведением инициализации. Этот параметр может принимать одно из указанных ниже значений.

Значение Значение
0 (0x0)
Хранилище авторизации открывается для использования методами Update и AccessCheck .
AZ_AZSTORE_FLAG_AUDIT_IS_CRITICAL
8 (0x8)
Вызывающее приложение должно иметь SE_AUDIT_PRIVILEGE; Если у приложения нет прав аудита, метод Initialize завершается ошибкой.
AZ_AZSTORE_FLAG_BATCH_UPDATE
4 (0x4)
Поставщик получает уведомление о том, что многие объекты будут изменены или созданы. Затем поставщик оптимизирует отправку изменений для повышения производительности. Используйте этот флаг, только если одновременно обновляются несколько дочерних объектов объекта AzAuthorizationStore , например во время установки или управляемого пакетного обновления.
AZ_AZSTORE_FLAG_CREATE
1 (0x1)
Система пытается создать хранилище политик, указанное параметром bstrPolicyURL .
AZ_AZSTORE_FLAG_MANAGE_STORE_ONLY
2 (0x2)
Существующее хранилище открывается для целей управления. Подпрограммы времени выполнения выполнять нельзя.
 

Если указан флаг AZ_AZSTORE_FLAG_CREATE:

  • Система попытается создать базовое хранилище политик, заданное параметром bstrPolicyURL .
  • Если указанное хранилище политик существует, метод Initialize завершится ошибкой с ERROR_ALREADY_EXISTS.
  • Чтобы сохранить все изменения, внесенные этим методом, необходимо вызвать метод Submit .
  • Метод UpdateCache завершится ошибкой, пока не будет вызван метод Submit . Базовое хранилище политик фактически создается при вызове метода Submit .
Если флаг AZ_AZSTORE_FLAG_CREATE не указан, система ожидает, что базовое хранилище политик будет существовать. Если хранилище не существует, метод Initialize завершится сбоем с ERROR_FILE_NOT_FOUND.

[in] bstrPolicyURL

Расположение постоянной копии базы данных политики авторизации.

Эта строка должна содержать префикс URL-адреса политики и расположение политики для конкретного поставщика. Диспетчер авторизации использует префикс поставщика для загрузки соответствующего поставщика. Хранилище загружается из расположения политики для конкретного поставщика. В префиксе URL-адреса политики пробелы не допускаются.

Префикс URL-адреса политики для хранилища Active Directory — msldap:. Общий формат URL-адреса выглядит следующим образом:

msldap://ServerName:Port//DistinguishedNameForTheStore

Имя сервера и порт являются необязательными. Если имя сервера не указано, используется контроллер домена по умолчанию. Если порт не указан, используется порт LDAP по умолчанию (LDAP_PORT, 389). Различающееся имя (DN) для хранилища начинается с относительного различающегося имени (RDN) объекта AzAuthorizationStore . Например, если RDN объекта AzAuthorizationStore — MyStore, а MyStore находится в подразделении с именем AzMan, возможный URL-адрес хранилища Active Directory выглядит следующим образом:

msldap:// MyServer/CN=MyStore,OU=AzMan,DC=MyDomain,DC=Fabrikam,DC=Com

Префикс URL-адреса политики для хранилища XML — msxml:. Общий формат URL-адреса хранилища XML такой же, как и для URL-адреса файла, как показано в следующих примерах:

  • msxml://c:/abc/test.xml
  • msxml://\\server\share\abc.xml
  • msxml://d|/dir1/dir2/abc.xml
  • msxml://c:/Documents%20and%20Settings/test%2exml
Обратите внимание, что в четвертом примере URL-адрес использует кодировку для пробелов (%20) и символов точки (%2e). Кроме того, традиционная нотация относительного пути не поддерживается в URL-адресах. Если указать msxml://abc.xml, URL-адрес указывает на файл в корне диска.
Примечание Если хранилище XML или SQL используется по сети, трафик не шифруется автоматически. IPsec можно использовать для шифрования данных авторизации при передаче. Для хранилища SQL также можно настроить подключение к открытой базе данных (ODBC) для использования шифрования. Сведения о настройке подключения ODBC см. в статье Включение шифрования после установки SQL Server (служебная программа сети).
 

[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

Возвращаемое значение

Если метод выполнен успешно, метод возвращает S_OK.

Если параметр bstrPolicyURL недопустим, метод возвращает HRESULT_FROM_WIN32(ERROR_INVALID_NAME).

Если метод завершается сбоем, он возвращает значение HRESULT , указывающее на ошибку. Список распространенных кодов ошибок см. в разделе Общие значения HRESULT.

Комментарии

Active Directory поддерживает секции приложений, которые также называются контекстами именования без домена. Эти секции используются в качестве расположения для программ для хранения данных приложений. Хранилище политик диспетчера авторизации не может быть создано или храниться в разделе приложения; Вместо этого используйте контейнер Program Data в качестве контейнера для хранилищ политик диспетчера авторизации Active Directory.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header azroles.h
Библиотека Azroles.lib
DLL Azroles.dll
Распространяемые компоненты Пакет средств администрирования Windows Server 2003 в Windows XP