перечисление 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_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 будет экранировать символы в правильной последовательности.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista |
Минимальная версия сервера | Windows Server 2008 |
Верхняя часть | iads.h |