[PSDK][REACTOS] Fix definitions and usage of DWLP_MSGRESULT, DWLP_DLGPROC, and DWLP_USER

- Make sure the DWLP_* values are correct on _WIN64
- Don't use the DWL_* constants, they are not portable. Enforce this by removing them entirely from winuser.h
- Make sure Get/SetWindowLong*Ptr* is used and pointers are not truncated to LONG
This commit is contained in:
Timo Kreuzer 2018-02-27 22:48:32 +01:00
parent 6cdd1357d6
commit 0182dcd71b
35 changed files with 142 additions and 131 deletions

View file

@ -10,6 +10,10 @@
#ifndef _VFDLIB_H_
#define _VFDLIB_H_
#ifdef __REACTOS__
#define DWL_USER DWLP_USER
#endif
#define VFD_LIBRARY_FILENAME "vfd.dll"
#ifdef VFD_EMBED_DRIVER

View file

@ -35,7 +35,11 @@
//
// local functions
//
#ifndef __REACTOS__
static BOOL CALLBACK VfdPageDlgProc(
#else
static INT_PTR CALLBACK VfdPageDlgProc(
#endif
HWND hDlg,
UINT uMessage,
WPARAM wParam,
@ -76,7 +80,11 @@ UINT CALLBACK VfdPageCallback(
//
// property page dialog procedure
//
#ifndef __REACTOS__
BOOL CALLBACK VfdPageDlgProc(
#else
INT_PTR CALLBACK VfdPageDlgProc(
#endif
HWND hDlg,
UINT uMessage,
WPARAM wParam,
@ -87,7 +95,11 @@ BOOL CALLBACK VfdPageDlgProc(
switch (uMessage) {
case WM_INITDIALOG:
#ifndef __REACTOS__
SetWindowLong(hDlg, DWL_USER, lParam);
#else
SetWindowLongPtr(hDlg, DWLP_USER, lParam);
#endif
if (lParam) {
lpcs = (LPCVFDSHEXT)((LPPROPSHEETPAGE)lParam)->lParam;
@ -98,7 +110,11 @@ BOOL CALLBACK VfdPageDlgProc(
return TRUE;
case WM_COMMAND:
#ifndef __REACTOS__
psp = (LPPROPSHEETPAGE)GetWindowLong(hDlg, DWL_USER);
#else
psp = (LPPROPSHEETPAGE)GetWindowLongPtr(hDlg, DWLP_USER);
#endif
if (!psp) {
break;
@ -165,7 +181,11 @@ BOOL CALLBACK VfdPageDlgProc(
default:
if (uMessage == g_nNotifyMsg) {
#ifndef __REACTOS__
psp = (LPPROPSHEETPAGE)GetWindowLong(hDlg, DWL_USER);
#else
psp = (LPPROPSHEETPAGE)GetWindowLongPtr(hDlg, DWLP_USER);
#endif
if (!psp) {
break;