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


перечисление ADS_ESCAPE_MODE_ENUM (iads.h)

Перечисление ADS_ESCAPE_MODE_ENUM указывает, как escape-символы отображаются в пути к каталогу.

Синтаксис

typedef enum __MIDL___MIDL_itf_ads_0001_0078_0004 {
  ADS_ESCAPEDMODE_DEFAULT = 1,
  ADS_ESCAPEDMODE_ON = 2,
  ADS_ESCAPEDMODE_OFF = 3,
  ADS_ESCAPEDMODE_OFF_EX = 4
} ADS_ESCAPE_MODE_ENUM;

Константы

 
ADS_ESCAPEDMODE_DEFAULT
Значение: 1
Escape-режим по умолчанию предоставляет удобный вариант для указания escape-режима. Он имеет эффект минимальной операции escape-операции, подходящей для выбранного формата. Таким образом, поведение по умолчанию зависит от значения, которое ADS_FORMAT_ENUM использует для получения путей к каталогу.










































Формат полученного путиЭкранированный режим по умолчанию
ADS_FORMAT_X500ADS_ESCAPEDMODE_ON
ADS_FORMAT_X500_NO_SERVERADS_ESCAPEDMODE_ON
ADS_FORMAT_WINDOWSADS_ESCAPEDMODE_ON
ADS_FORMAT_WINDOWS_NO_SERVERADS_ESCAPEDMODE_ON
ADS_FORMAT_X500_DNADS_ESCAPEDMODE_OFF
ADS_FORMAT_X500_PARENTADS_ESCAPEDMODE_OFF
ADS_FORMAT_WINDOWS_DNADS_ESCAPEDMODE_OFF
ADS_FORMAT_WINDOWS_PARENTADS_ESCAPEDMODE_OFF
ADS_FORMAT_LEAFADS_ESCAPEDMODE_ON
ADS_ESCAPEDMODE_ON
Значение: 2
Все специальные символы отображаются в escape-формате; например, "CN=date=yy/mm/dd,weekday" отображается как есть.
ADS_ESCAPEDMODE_OFF
Значение: 3
Специальные символы ADSI отображаются в неэкранированном формате; например, "CN=date=yy/mm/dd,weekday" отображается как "CN=date=yy/mm/dd,weekday".
ADS_ESCAPEDMODE_OFF_EX
Значение: 4
Специальные символы ADSI и LDAP отображаются в неэкранированном формате; например, "CN=date=yy/mm/dd,weekday" отображается как "CN=date=yy/mm/dd,weekday".

Комментарии

Специальные символы должны быть экранированы при использовании в любых непреднамеренных целях. Например, специальные символы LDAP, запятая (,) и знак равенства (=) предназначены как разделители полей в различаемом имени "CN=user,CN=users,DC=Fabrikam,DC=com". Если значение атрибута использует такие специальные символы, например "CN=users,last name=Smith", эти специальные символы должны быть экранированы, как показано ниже. Это гарантирует, что каталог, совместимый с LDAP, например Active Directory, правильно анализирует путь. Однако экранированная строка пути может показаться неудобовлимой для пользователя на экране. В этом случае можно задать ADS_ESCAPE_MODE_ENUM таким образом, чтобы путь отображался как неэкранированная строка "CN=users,last name=Smith".

Аналогичным образом специальный символ ADSI, знак косой черты (/), отделяет элементы, относящиеся к ADSI, "LDAP://server/CN=Jeff Smith,CN=Users,DC=Fabrikam,DC=com". Хотя он должен быть экранирован при использовании для любых других целей, например "LDAP://server/CN=Jeff Smith/California,CN=Users,DC=Fabrikam,DC=com". Вы можете выбрать ADS_ESCAPE_MODE_ENUM параметр для отображения этой экранируемой строки в доступной для человека форме: "LDAP://server/CN=Jeff Smith/California,CN=Users,DC=Fabrikam,DC=com".

В настоящее время знак косой черты (/) является единственным специальным символом ADSI. Экранирование и отмена экранирования ADSI применяется только к специальным символам ADSI. Операция не повлияет на специальные символы LDAP, то есть они не экранируются и не экранируются. Дополнительные сведения и список специальных символов, определенных LDAP, см. в разделе Специальные символы LDAP.

Чтобы отобразить неэкранированную строку пути, используйте интерфейс IADsPathname и его методы. Все остальные API-интерфейсы ADSI возвращают экранированную строку пути.

Чтобы получить правильное поведение, специальные символы LDAP должны быть экранированы перед экранированием специальных символов ADSI. Интерфейс IADsPathname будет экранировать символы в правильной последовательности.

Примечание Так как VBScript не может считывать данные из библиотеки типов, приложения Visual Basic Scripting Edition (VBScript) не распознают символьные символы, как константы, определенные выше. Вместо этого используйте числовые константы, чтобы задать соответствующие флаги в приложениях VBScript. Чтобы использовать символьные константы, напишите явные объявления таких констант, как показано здесь.
 

Требования

Требование Значение
Минимальная версия клиента Windows Vista
Минимальная версия сервера Windows Server 2008
Верхняя часть iads.h

См. также раздел

Перечисления ADSI

ADS_FORMAT_ENUM

IADsPathname

Путь к LDAP AD