Что делать с этими старыми стилями? - PullRequest
0 голосов
/ 26 сентября 2018

Я получаю несколько предупреждений о "использовании старого стиля", от которых я хотел бы избавиться, но я недостаточно знаю об этом.

Редактировать: HKEY_CURRENT_USER действительноопределены в WinAPI, поэтому я оставлю это в покое.

(LPBYTE)&result: LPBYTE(&result) и reinterpret_cast<LPBYTE>(&result) работают, но я понятия не имею, является ли один из них эквивалентным.Так какой из этих трех я использую?

(const BYTE*)&value: reinterpret_cast<const BYTE*>(&value) работает, но опять то же самое.Так какой из этих двух я использую?

Еще немного контекста:

HKEY hKey;
std::string sResult = "";
if(regOpenKey(KEY_READ, &hKey))
{
    DWORD size=1024, type = REG_SZ;
    wchar_t result[MAX_PATH];
    if(RegQueryValueEx(hKey, key, nullptr, &type, (LPBYTE)&result, &size) == ERROR_SUCCESS)
        sResult = str_narrow(result);
}

RegCloseKey(hKey);

и:

HKEY hKey;
if(regOpenKey(KEY_ALL_ACCESS, &hKey))
{
    DWORD value = 1;
    RegSetValueEx(hKey, key, 0, REG_DWORD, (const BYTE*)&value, sizeof(value));
}

RegCloseKey(hKey);

Спасибо за любую помощь:)

1 Ответ

0 голосов
/ 26 сентября 2018

HKEY_CURRENT_USER определяется в WinAPI, поэтому оставьте его в покое.Это может измениться без предупреждения (хотя и маловероятно, но возможно).

(LPBYTE)&result: LPBYTE(&result) работает, но опять же, я понятия не имею, эквивалентно ли это.

Да, этотоже самое.

(const BYTE*)&value: reinterpret_cast<const BYTE*>(&value) работает, но опять то же самое.

Снова то же самое.

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