{
WNDPROC oldwndproc;
- oldwndproc = (WNDPROC)(LONG_PTR)GetWindowLongPtr(hwnd, GWL_USERDATA);
+ oldwndproc = (WNDPROC)(LONG_PTR)GetWindowLongPtr(hwnd, GWLP_USERDATA);
switch (uMsg)
{
}
}
- return CallWindowProc(oldwndproc, hwnd, uMsg, wParam, lParam);
+ return CallWindowProcW(oldwndproc, hwnd, uMsg, wParam, lParam);
}
/* subclass the edit control */
hwndValue = GetDlgItem(hwndDlg, IDC_VALUE_DATA);
- oldproc = (WNDPROC)(LONG_PTR)GetWindowLongPtr(hwndValue, GWL_WNDPROC);
- SetWindowLongPtr(hwndValue, GWL_USERDATA, (DWORD_PTR)oldproc);
- SetWindowLongPtr(hwndValue, GWL_WNDPROC, (DWORD_PTR)DwordEditSubclassProc);
+ oldproc = (WNDPROC)(LONG_PTR)GetWindowLongPtr(hwndValue, GWLP_WNDPROC);
+ SetWindowLongPtr(hwndValue, GWLP_USERDATA, (DWORD_PTR)oldproc);
+ SetWindowLongPtr(hwndValue, GWLP_WNDPROC, (DWORD_PTR)DwordEditSubclassProc);
if (editValueName && wcscmp(editValueName, L""))
{
HWND hwndLV;
WCHAR buffer[80];
- LVITEM item;
+ LVITEMW item;
INT iItem;
pFullDescriptor = &resourceValueData->List[fullResourceIndex];
if (lpnmlv->iItem != -1)
{
PCM_PARTIAL_RESOURCE_DESCRIPTOR pDescriptor;
- LVITEM item;
+ LVITEMW item;
item.mask = LVIF_PARAM;
item.iItem = lpnmlv->iItem;
{
PCM_FULL_RESOURCE_DESCRIPTOR pFullDescriptor;
WCHAR buffer[80];
- LVITEM item;
+ LVITEMW item;
ULONG i;
INT iItem;
}
/* create the destination subkey */
- lResult = RegCreateKeyExW(hDestKey, lpDestSubKey, 0, NULL, 0, KEY_WRITE, NULL,
+ lResult = RegCreateKeyExW(hDestKey, lpDestSubKey, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL,
&hDestSubKey, &dwDisposition);
if (lResult)
goto done;
if (!lpSrcSubKey)
return ERROR_INVALID_FUNCTION;
+ if (_wcsicmp(lpDestSubKey, lpSrcSubKey) == 0)
+ {
+ /* Destination name equals source name */
+ return ERROR_SUCCESS;
+ }
+
lResult = CopyKey(hDestKey, lpDestSubKey, hSrcKey, lpSrcSubKey);
if (lResult == ERROR_SUCCESS)
SHDeleteKey(hSrcKey, lpSrcSubKey);