我很难将值转换为 LPWSTR。我正在获取一个注册表值,并尝试将结果作为 LPWSTR 返回。使用 RegQueryValueExW 的注册表调用似乎适用于存储结果的各种类型,但我无法将它们中的任何一个转换回 LPWSTR。
LPWSTR value;
HKEY hKey;
long result = RegOpenKeyExW(HKEY_LOCAL_MACHINE, L"RegEntry1", 0, ACCESS|KEY_WOW64_32KEY, &hKey);
if (result == ERROR_SUCCESS)
{
//WCHAR buffer[512];
//TCHAR buffer[512];
LPWSTR buffer[512];
DWORD bufferSize = sizeof(buffer);
ULONG queryVal = 0;
queryVal = RegQueryValueExW(hKey, L"Path", 0, NULL, (LPBYTE)buffer, &bufferSize);
if (queryVal == ERROR_SUCCESS)
{
//Access violation error here; I need some type of conversion.
value = buffer;
}
}
到目前为止,我在这里读过的任何帖子都没有让我得到答案。C++ 不是我的主要开发语言。
更新:没有一个建议的答案对我有用。我找到了另一种方法来做我需要的事情。