проблемы с RegQueryValueEx - PullRequest
       19

проблемы с RegQueryValueEx

0 голосов
/ 31 января 2012

взять лок по следующему коду

HKEY hKey = 0;
int code = RegOpenKey(HKEY_CURRENT_USER, subkey, &hKey); //code is ERROR_SUCCESS

char aBuf[255] = {0};
char bBuf[255] = {0};
DWORD dwType = REG_SZ;
DWORD dwBufSize = sizeof(bBuf);

int aCode = RegQueryValueEx(hKey, L"a", 0, &dwType, (BYTE*)aBuf, &dwBufSize);
int bCode = RegQueryValueEx(hKey, L"b", 0, &dwType, (BYTE*)bBuf, &dwBufSize);
//(*) here I have a breakpoint

В точке останова aBuf (а также bBuf) - это что-то вроде 'a' '\0' 'v' '\0' 'a' '\0' 'l' '\0' 'u' '\0' 'e' '\0'. Что я делаю не так?

Заранее спасибо!

Ответы [ 2 ]

5 голосов
/ 31 января 2012

Ваш код скомпилирован в UNICODE (о чем свидетельствует использование вами L "a"), поэтому результатом будет массив wchar_t, а не массив char.

1 голос
/ 31 января 2012

Похоже, у вас проблема с кодировкой UTF16. Расшифруйте строку как UTF16, и вы должны быть в порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...