Функция DsUnquoteRdnValueA (dsparse.h)
Функция DsUnquoteRdnValue — это вызов клиента, который преобразует значение RDN в кавычках обратно в значение RDN без кавычек. Так как RDN изначально помещался в кавычки, так как он содержал символы, которые могут быть неправильно интерпретированы при внедрении в различающееся имя (DN), значение RDN без кавычек не следует отправлять как часть DN в службу каталогов с помощью различных API, таких как LDAP.
Синтаксис
DSPARSE DWORD DsUnquoteRdnValueA(
[in] DWORD cQuotedRdnValueLength,
[in] LPCCH psQuotedRdnValue,
[in, out] DWORD *pcUnquotedRdnValueLength,
[out] LPCH psUnquotedRdnValue
);
Параметры
[in] cQuotedRdnValueLength
Количество символов в строке psQuotedRdnValue .
[in] psQuotedRdnValue
Значение RDN, которое может быть заключено в кавычки и экранировано.
[in, out] pcUnquotedRdnValueLength
Входным значением для этого аргумента является максимальная длина psQuotedRdnValue в символах.
Выходное значение для этого аргумента включает следующие флаги.
ERROR_SUCCESS
Возвращается, если количество символов соответствует строке, используемой в psQuotedRdnValue.
ERROR_BUFFER_OVERFLOW
Возвращается, если количество символов не соответствует строке, используемой в psQuotedRdnValue.
[out] psUnquotedRdnValue
Преобразованное значение RDN без кавов.
Возвращаемое значение
В следующем списке содержатся возможные значения, возвращаемые для функции DsUnquoteRdnValue .
Комментарии
Если psQuotedRdnValue заключен в кавычки:
- Начальные и конечные кавычки удаляются.
- Пробел перед удалением первой кавычки.
- Пробел в конце последней кавычки удаляется.
- Escape-элементы удаляются, а символ после escape-файла сохраняется.
- Пробелы в начале удаляются.
- Конечный пробел сохраняется.
- Экранированные не специальные символы возвращают ошибку.
- Неэкранированные специальные символы возвращают ошибку.
- Значения RDN, начинающиеся с # (игнорируя пробелы в начале), обрабатываются как значение BER, которое ранее было преобразовано в строку, и преобразуется соответствующим образом.
- Экранированные шестнадцатеричные цифры (\89) преобразуются в двоичный байт (0x89).
- Escape-символы удаляются из экранированных специальных символов.
- Экранированные специальные символы неэкранированы.
- Входные и выходные значения RDN не являются значениями, завершающиеся null.
Примечание
Заголовок dsparse.h определяет DsUnquoteRdnValue в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Минимальная версия клиента | Windows Vista |
Минимальная версия сервера | Windows Server 2008 |
Целевая платформа | Windows |
Header | dsparse.h (включая Ntdsapi.h) |
Библиотека | Ntdsapi.lib |
DLL | Ntdsapi.dll |