RtlUnicodeStringToAnsiString

Привет всем!
Программирую на Delphi. Имею такой код:
var
Name : PAnsiString;
us : PUnicodeString;
.......
begin
asm
mov eax, len
mov us.Length, eax
lea eax, buffer
mov us.buffer, eax
end;
us.MaximumLength := us.Length;
RtlUnicodeStringToAnsiString (Name, us, TRUE);
Этот код не работает :( Как мне правильно сделать преобразование?
Можно на C или ASM
Здравствуйте, nero!
Для преобразования строки из Unicode в ANSI можно использовать функцию
int WideCharToMultiByte(
UINT CodePage, // code page
DWORD dwFlags, // performance and mapping flags
LPCWSTR lpWideCharStr, // wide-character string
int cchWideChar, // number of chars in string.
LPSTR lpMultiByteStr, // buffer for new string
int cbMultiByte, // size of buffer
LPCSTR lpDefaultChar, // default for unmappable chars
LPBOOL lpUsedDefaultChar // set when default char used
);
вот таким образом:
WideCharToMultiByte(CP_ACP, NULL, wszStr, -1, szStr, uSize, NULL, NULL) ,
где
wszStr : указатель на unicode-строку
-1 : unicode-строка заканчивается нулевым символом (можно указать длину в
символах)
szStr : указатель на буфер для ansi-строки
uSize : длина буфера для ansi-строки
And remember - respect is everything.
AleX