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


Функция DsUnquoteRdnValueA (dsparse.h)

Функция DsUnquoteRdnValue — это вызов клиента, который преобразует указанное значение RDN обратно в неquoted 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

Количество символов в строке psQuotedRdn Value.

[in] psQuotedRdnValue

Значение RDN, которое может быть кавычек и экранировано.

[in, out] pcUnquotedRdnValueLength

Входное значение для этого аргумента — максимальная длина в символах psQuotedRdnValue.

Выходное значение для этого аргумента содержит следующие флаги.

ERROR_SUCCESS

Возвращается, если число символов соответствует строке, используемой в psQuotedRdnValue.

ERROR_BUFFER_OVERFLOW

Возвращается, если число символов не соответствует строке, используемой в psQuotedRdnValue.

[out] psUnquotedRdnValue

Преобразованное, неquoted значение RDN.

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

Следующий список содержит возможные значения, возвращаемые для функции DsUnquoteRdnValue.

Замечания

Если psQuotedRdnValue кавычек:

  • Удаляются начальные и конечные кавычки.
  • Пробел перед удалением первой кавычки.
  • Пробел, завершающий последнюю кавычку, удаляется.
  • Экраны удаляются, а символ после escape-файла сохраняется.
Следующие действия выполняются при отмене psQuotedRdnValue:
  • В начале пробела удаляется.
  • Конечная пробела хранится.
  • Экранированные не специальные символы возвращают ошибку.
  • Неискаченные специальные символы возвращают ошибку.
  • Значения RDN, начинающиеся с # (игнорируя начальный пробел), обрабатываются как значение BER, которое ранее было преобразовано в строку и преобразуется соответствующим образом.
  • Экранированные шестнадцатеричные цифры (\89) преобразуются в двоичный байт (0x89).
  • Экраны удаляются из экранированных специальных символов.
Следующие действия всегда выполняются:
  • Экранированные специальные символы не отображаются.
  • Входные и выходные значения RDN не являются значениями, завершающиеся null.

Заметка

Заголовок dsparse.h определяет DsUnquoteRdnValue как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows Vista
минимальный поддерживаемый сервер Windows Server 2008
целевая платформа Виндоус
заголовка dsparse.h (include Ntdsapi.h)
библиотеки Ntdsapi.lib
DLL Ntdsapi.dll

См. также

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

DsQuoteRdnValue