Platform: Windows: Unicode safe

Compile and run correctly whether UNICODE and _UNICODE are defined or not
pull/32/head
Paul Hollinsky 2021-01-28 15:51:35 -05:00
parent 33a84bf8ce
commit 09a02ff420
2 changed files with 6 additions and 6 deletions

View File

@ -42,7 +42,7 @@ PCAPDLL::PCAPDLL()
} }
} }
#endif #endif
dll = LoadLibrary("wpcap.dll"); dll = LoadLibrary(TEXT("wpcap.dll"));
if(dll == NULL) { if(dll == NULL) {
closeDLL(); closeDLL();

View File

@ -24,13 +24,13 @@ bool Registry::EnumerateSubkeys(std::wstring path, std::vector<std::wstring>& su
if(!regKey.IsOpen()) if(!regKey.IsOpen())
return false; return false;
char className[MAX_PATH]; wchar_t className[MAX_PATH];
memset(className, 0, sizeof(className)); memset(className, 0, sizeof(className));
DWORD classNameLen = MAX_PATH; DWORD classNameLen = MAX_PATH;
DWORD subKeyCount = 0; DWORD subKeyCount = 0;
DWORD maxSubKeyLen, maxClassStringLen, valueCount, maxValueNameLen, maxValueDataLen, securityDescriptorLen; DWORD maxSubKeyLen, maxClassStringLen, valueCount, maxValueNameLen, maxValueDataLen, securityDescriptorLen;
FILETIME lastWriteTime; FILETIME lastWriteTime;
auto ret = RegQueryInfoKey( auto ret = RegQueryInfoKeyW(
regKey.GetKey(), regKey.GetKey(),
className, className,
&classNameLen, &classNameLen,
@ -50,11 +50,11 @@ bool Registry::EnumerateSubkeys(std::wstring path, std::vector<std::wstring>& su
subkeys.clear(); subkeys.clear();
for(DWORD i = 0; i < subKeyCount; i++) { for(DWORD i = 0; i < subKeyCount; i++) {
DWORD nameLen = MAX_PATH; DWORD nameLen = MAX_PATH;
char name[MAX_PATH]; wchar_t name[MAX_PATH];
memset(name, 0, sizeof(name)); memset(name, 0, sizeof(name));
ret = RegEnumKeyEx(regKey.GetKey(), i, name, &nameLen, nullptr, nullptr, nullptr, &lastWriteTime); ret = RegEnumKeyExW(regKey.GetKey(), i, name, &nameLen, nullptr, nullptr, nullptr, &lastWriteTime);
if(ret == ERROR_SUCCESS) if(ret == ERROR_SUCCESS)
subkeys.push_back(converter.from_bytes(name)); subkeys.push_back(name);
} }
return true; return true;
} }