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


Функция 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-файла сохраняется.
Если psQuotedRdnValue не имеет значенияquoted, выполняются следующие действия:
  • Пробелы в начале удаляются.
  • Конечный пробел сохраняется.
  • Экранированные не специальные символы возвращают ошибку.
  • Неэкранированные специальные символы возвращают ошибку.
  • Значения 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

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

Контроллер домена и функции управления репликацией

DsQuoteRdnValue