26 сент. 2010 г.

TranslateName

Поддерживается на Windows Vista / XP / 2000Pro
Функция TranslateName преобразует имя объекта сервиса директории из одного формата в другой.
BOOLEAN TranslateName(
  LPCTSTR lpAccountName,
  EXTENDED_NAME_FORMAT AccountNameFormat,
  EXTENDED_NAME_FORMAT DesiredNameFormat,
  LPTSTR lpTranslatedName,
  PULONG nSize
   );
Параметры:

lpAccountName Адрес нульзаканчивающейся строки, содержащей преобразуемое имя.
AccountNameFormat Формат преобразуемого имени. Этот параметр является значением из перечисления EXTENDED_NAME_FORMAT.
DesiredNameFormat Формат преобразованного имени. Этот параметр является значением из перечисления EXTENDED_NAME_FORMAT. Он не может быть NameUnknown.
lpTranslatedName Адрес буфера, который получает преобразованное имя.
nSize Адрес переменной. На входе, переменная указывает размер буфера lpTranslatedName, в символах типа TCHAR. На выходе, эта переменная возвращает размер возвращенной строки, в символах типа TCHAR, учитывая нулевой завершающий символ.
Если буфер lpTranslatedName слишком мал для сохранения преобразованного имени, функция завершается с ошибкой и nSize содержит требуемый размер буфера.
Возвращаемые значения:
При успешном завершении функции, возвращается ненулевое значение.
При ошибке, возвращается ноль. Для получения дополнительной информации об ошибке, вызовите GetLastError.
Замечания:
TranslateName завершается с ошибкой, если не может связаться с активной директорией на контролере домена.
В программу нужно включить заголовочный файл "security.h".
Смотрите также:
DsCrackNames, EXTENDED_NAME_FORMAT