Fix warnings in 64bit.
diff --git a/dlls/commdlg/cdlg32.c b/dlls/commdlg/cdlg32.c
index 689db12..2f45eda 100644
--- a/dlls/commdlg/cdlg32.c
+++ b/dlls/commdlg/cdlg32.c
@@ -158,7 +158,7 @@
if (COMDLG32_TlsIndex == TLS_OUT_OF_INDEXES)
COMDLG32_TlsIndex = TlsAlloc();
if (COMDLG32_TlsIndex != TLS_OUT_OF_INDEXES)
- TlsSetValue(COMDLG32_TlsIndex, (void *)err);
+ TlsSetValue(COMDLG32_TlsIndex, (LPVOID)(DWORD_PTR)err);
else
FIXME("No Tls Space\n");
}
@@ -176,7 +176,7 @@
DWORD WINAPI CommDlgExtendedError(void)
{
if (COMDLG32_TlsIndex != TLS_OUT_OF_INDEXES)
- return (DWORD)TlsGetValue(COMDLG32_TlsIndex);
+ return (DWORD_PTR)TlsGetValue(COMDLG32_TlsIndex);
else
return 0; /* we never set an error, so there isn't one */
}
diff --git a/dlls/commdlg/colordlg.c b/dlls/commdlg/colordlg.c
index f892cc2..902de60 100644
--- a/dlls/commdlg/colordlg.c
+++ b/dlls/commdlg/colordlg.c
@@ -1303,7 +1303,7 @@
}
bRet = DialogBoxIndirectParamW(COMDLG32_hInstance, template, lpChCol->hwndOwner,
- ColorDlgProc, (DWORD)lpChCol);
+ ColorDlgProc, (LPARAM)lpChCol);
return bRet;
}
diff --git a/dlls/commdlg/filedlg.c b/dlls/commdlg/filedlg.c
index 8b2ac81..95b856f 100644
--- a/dlls/commdlg/filedlg.c
+++ b/dlls/commdlg/filedlg.c
@@ -1091,7 +1091,7 @@
stringId = 0;
}
lpdi->hinst = COMDLG32_hInstance;
- lpdi->lpszText = (LPSTR) stringId;
+ lpdi->lpszText = MAKEINTRESOURCEA(stringId);
}
return FALSE;
}
@@ -2378,7 +2378,7 @@
lpstrFilter = (LPWSTR) CBGetItemDataPtr(fodInfos->DlgInfos.hwndFileTypeCB,
nFilterIndexCB);
- if ((INT)lpstrFilter == CB_ERR) /* control is empty */
+ if ((INT_PTR)lpstrFilter == CB_ERR) /* control is empty */
lpstrFilter = NULL;
if(lpstrFilter)
@@ -2423,7 +2423,7 @@
lpstrFilter = (LPWSTR) CBGetItemDataPtr(fodInfos->DlgInfos.hwndFileTypeCB,
iItem);
- if((int)lpstrFilter != CB_ERR)
+ if((INT_PTR)lpstrFilter != CB_ERR)
{
DWORD len;
CharLowerW(lpstrFilter); /* lowercase */
diff --git a/dlls/commdlg/fontdlg.c b/dlls/commdlg/fontdlg.c
index 407ee3d..96894b5 100644
--- a/dlls/commdlg/fontdlg.c
+++ b/dlls/commdlg/fontdlg.c
@@ -670,7 +670,7 @@
if (lpcf->Flags & CF_INITTOLOGFONTSTRUCT)
{
/* look for fitting font name in combobox1 */
- j=SendDlgItemMessageW(hDlg,cmb1,CB_FINDSTRING,-1,(LONG)lpxx->lfFaceName);
+ j=SendDlgItemMessageW(hDlg,cmb1,CB_FINDSTRING,-1,(LPARAM)lpxx->lfFaceName);
if (j!=CB_ERR)
{
INT height = lpxx->lfHeight < 0 ? -lpxx->lfHeight :
@@ -699,7 +699,7 @@
}
if ((lpcf->Flags & CF_USESTYLE) && lpcf->lpszStyle)
{
- j=SendDlgItemMessageW(hDlg,cmb2,CB_FINDSTRING,-1,(LONG)lpcf->lpszStyle);
+ j=SendDlgItemMessageW(hDlg,cmb2,CB_FINDSTRING,-1,(LPARAM)lpcf->lpszStyle);
if (j!=CB_ERR)
{
j=SendDlgItemMessageW(hDlg,cmb2,CB_SETCURSEL,j,0);
diff --git a/dlls/commdlg/printdlg.c b/dlls/commdlg/printdlg.c
index c10e62d..7c5dd56 100644
--- a/dlls/commdlg/printdlg.c
+++ b/dlls/commdlg/printdlg.c
@@ -3157,7 +3157,7 @@
pda->curdlg.ptPaperSize.x = tmp;
}
} else
- WARN("GlobalLock(pda->pdlg.hDevMode) fail? hDevMode=%ld", (DWORD)pda->pdlg.hDevMode);
+ WARN("GlobalLock(pda->pdlg.hDevMode) fail? hDevMode=%p", pda->pdlg.hDevMode);
/* Drawing paper prev */
PRINTDLG_PS_ChangePaperPrev(pda);
return TRUE;
diff --git a/dlls/crypt32/encode.c b/dlls/crypt32/encode.c
index 121569f..877ffca 100644
--- a/dlls/crypt32/encode.c
+++ b/dlls/crypt32/encode.c
@@ -190,7 +190,7 @@
*/
if (!HIWORD(pszOID))
{
- snprintf(numericOID, sizeof(numericOID), "#%d", (int)pszOID);
+ snprintf(numericOID, sizeof(numericOID), "#%d", LOWORD(pszOID));
oid = numericOID;
}
else
diff --git a/dlls/crypt32/protectdata.c b/dlls/crypt32/protectdata.c
index ee9fd66..12b5ac3 100644
--- a/dlls/crypt32/protectdata.c
+++ b/dlls/crypt32/protectdata.c
@@ -132,7 +132,7 @@
#define TRACE_DATA_BLOB(blob) do { \
TRACE("%s cbData: %u\n", #blob ,(unsigned int)((blob)->cbData)); \
- TRACE("%s pbData @ 0x%x:%s\n", #blob ,(unsigned int)((blob)->pbData), \
+ TRACE("%s pbData @ %p:%s\n", #blob ,(blob)->pbData, \
hex_str((blob)->pbData, (blob)->cbData)); \
} while (0)
@@ -778,14 +778,14 @@
report(DATA_BLOB* pDataIn, DATA_BLOB* pOptionalEntropy,
CRYPTPROTECT_PROMPTSTRUCT* pPromptStruct, DWORD dwFlags)
{
- TRACE("pPromptStruct: 0x%x\n",(unsigned int)pPromptStruct);
+ TRACE("pPromptStruct: %p\n", pPromptStruct);
if (pPromptStruct)
{
TRACE(" cbSize: 0x%x\n",(unsigned int)pPromptStruct->cbSize);
TRACE(" dwPromptFlags: 0x%x\n",(unsigned int)pPromptStruct->dwPromptFlags);
- TRACE(" hwndApp: 0x%x\n",(unsigned int)pPromptStruct->hwndApp);
- TRACE(" szPrompt: 0x%x %s\n",
- (unsigned int)pPromptStruct->szPrompt,
+ TRACE(" hwndApp: %p\n", pPromptStruct->hwndApp);
+ TRACE(" szPrompt: %p %s\n",
+ pPromptStruct->szPrompt,
pPromptStruct->szPrompt ? debugstr_w(pPromptStruct->szPrompt)
: "");
}
@@ -855,7 +855,7 @@
/* debug: show our arguments */
report(pDataIn,pOptionalEntropy,pPromptStruct,dwFlags);
- TRACE("\tszDataDescr: 0x%x %s\n",(unsigned int)szDataDescr,
+ TRACE("\tszDataDescr: %p %s\n", szDataDescr,
szDataDescr ? debugstr_w(szDataDescr) : "");
/* Windows appears to create an empty szDataDescr instead of maintaining
@@ -1026,7 +1026,7 @@
/* debug: show our arguments */
report(pDataIn,pOptionalEntropy,pPromptStruct,dwFlags);
- TRACE("\tppszDataDescr: 0x%x\n",(unsigned int)ppszDataDescr);
+ TRACE("\tppszDataDescr: %p\n", ppszDataDescr);
/* take apart the opaque blob */
if (!unserialize(pDataIn, &protect_data))
diff --git a/dlls/shell32/brsfolder.c b/dlls/shell32/brsfolder.c
index 9d5b955..b4fdc48 100644
--- a/dlls/shell32/brsfolder.c
+++ b/dlls/shell32/brsfolder.c
@@ -316,7 +316,7 @@
HRESULT hr;
HWND hwnd = GetParent( info->hwndTreeView );
- TRACE("%p %p %x %p\n",lpsf, pidl, (INT)hParent, lpe);
+ TRACE("%p %p %p %p\n",lpsf, pidl, hParent, lpe);
/* No IEnumIDList -> No children */
if (!lpe) return;
diff --git a/dlls/shell32/control.c b/dlls/shell32/control.c
index 3f7a940..1335ac6 100644
--- a/dlls/shell32/control.c
+++ b/dlls/shell32/control.c
@@ -153,7 +153,7 @@
{
CPanel* panel = (CPanel*)cs->lpCreateParams;
- SetWindowLongA(hWnd, 0, (LPARAM)panel);
+ SetWindowLongPtrA(hWnd, 0, (LONG_PTR)panel);
panel->status = 0;
panel->hWnd = hWnd;
}
@@ -244,7 +244,7 @@
static LRESULT WINAPI Control_WndProc(HWND hWnd, UINT wMsg,
WPARAM lParam1, LPARAM lParam2)
{
- CPanel* panel = (CPanel*)GetWindowLongA(hWnd, 0);
+ CPanel* panel = (CPanel*)GetWindowLongPtrA(hWnd, 0);
if (panel || wMsg == WM_CREATE) {
switch (wMsg) {
diff --git a/dlls/shell32/dde.c b/dlls/shell32/dde.c
index 270ebaf..21ddfcc 100644
--- a/dlls/shell32/dde.c
+++ b/dlls/shell32/dde.c
@@ -104,16 +104,16 @@
switch (uType)
{
case XTYP_CONNECT:
- return (HDDEDATA)Dde_OnConnect(hsz1, hsz2);
+ return (HDDEDATA)(DWORD_PTR)Dde_OnConnect(hsz1, hsz2);
case XTYP_CONNECT_CONFIRM:
Dde_OnConnectConfirm(hconv, hsz1, hsz2);
return NULL;
case XTYP_WILDCONNECT:
- return (HDDEDATA)Dde_OnWildConnect(hsz1, hsz2);
+ return (HDDEDATA)(DWORD_PTR)Dde_OnWildConnect(hsz1, hsz2);
case XTYP_REQUEST:
return (HDDEDATA)Dde_OnRequest(uFmt, hconv, hsz1, hsz2);
case XTYP_EXECUTE:
- return (HDDEDATA)Dde_OnExecute(hconv, hsz1, hdata);
+ return (HDDEDATA)(DWORD_PTR)Dde_OnExecute(hconv, hsz1, hdata);
case XTYP_DISCONNECT:
Dde_OnDisconnect(hconv);
return NULL;
diff --git a/dlls/shell32/shell32_main.c b/dlls/shell32/shell32_main.c
index 80fd423..6dbc714 100644
--- a/dlls/shell32/shell32_main.c
+++ b/dlls/shell32/shell32_main.c
@@ -308,12 +308,13 @@
* SHGetFileInfoW [SHELL32.@]
*
*/
-DWORD WINAPI SHGetFileInfoW(LPCWSTR path,DWORD dwFileAttributes,
- SHFILEINFOW *psfi, UINT sizeofpsfi, UINT flags )
+DWORD_PTR WINAPI SHGetFileInfoW(LPCWSTR path,DWORD dwFileAttributes,
+ SHFILEINFOW *psfi, UINT sizeofpsfi, UINT flags )
{
WCHAR szLocation[MAX_PATH], szFullPath[MAX_PATH];
int iIndex;
- DWORD ret = TRUE, dwAttributes = 0;
+ DWORD_PTR ret = TRUE;
+ DWORD dwAttributes = 0;
IShellFolder * psfParent = NULL;
IExtractIconW * pei = NULL;
LPITEMIDLIST pidlLast = NULL, pidl = NULL;
@@ -557,9 +558,9 @@
if (ret)
{
if (flags & SHGFI_SMALLICON)
- ret = (DWORD) ShellSmallIconList;
+ ret = (DWORD_PTR) ShellSmallIconList;
else
- ret = (DWORD) ShellBigIconList;
+ ret = (DWORD_PTR) ShellBigIconList;
}
}
@@ -596,9 +597,9 @@
/*************************************************************************
* SHGetFileInfoA [SHELL32.@]
*/
-DWORD WINAPI SHGetFileInfoA(LPCSTR path,DWORD dwFileAttributes,
- SHFILEINFOA *psfi, UINT sizeofpsfi,
- UINT flags )
+DWORD_PTR WINAPI SHGetFileInfoA(LPCSTR path,DWORD dwFileAttributes,
+ SHFILEINFOA *psfi, UINT sizeofpsfi,
+ UINT flags )
{
INT len;
LPWSTR temppath;
@@ -706,7 +707,7 @@
{
ret = PrivateExtractIconsW(lpszFile, 0, cx, cy, NULL, NULL, 0, LR_DEFAULTCOLOR);
if (ret != 0xFFFFFFFF && ret)
- return (HICON)ret;
+ return (HICON)(UINT_PTR)ret;
return NULL;
}
else
diff --git a/dlls/shell32/shell32_main.h b/dlls/shell32/shell32_main.h
index 1dc8d5c..b334311 100644
--- a/dlls/shell32/shell32_main.h
+++ b/dlls/shell32/shell32_main.h
@@ -214,7 +214,7 @@
#define HINSTANCE_32(h16) ((HINSTANCE)(ULONG_PTR)(h16))
#define HINSTANCE_16(h32) (LOWORD(h32))
-typedef UINT (*SHELL_ExecuteW32)(const WCHAR *lpCmd, WCHAR *env, BOOL shWait,
+typedef UINT_PTR (*SHELL_ExecuteW32)(const WCHAR *lpCmd, WCHAR *env, BOOL shWait,
LPSHELLEXECUTEINFOW sei, LPSHELLEXECUTEINFOW sei_out);
BOOL WINAPI ShellExecuteExW32(LPSHELLEXECUTEINFOW sei, SHELL_ExecuteW32 execfunc);
diff --git a/dlls/shell32/shelllink.c b/dlls/shell32/shelllink.c
index 8d57805..4146782 100644
--- a/dlls/shell32/shelllink.c
+++ b/dlls/shell32/shelllink.c
@@ -2384,7 +2384,7 @@
}
static HRESULT WINAPI
-ShellLink_GetCommandString( IContextMenu* iface, UINT idCmd, UINT uType,
+ShellLink_GetCommandString( IContextMenu* iface, UINT_PTR idCmd, UINT uType,
UINT* pwReserved, LPSTR pszName, UINT cchMax )
{
IShellLinkImpl *This = impl_from_IContextMenu(iface);
diff --git a/dlls/shell32/shellord.c b/dlls/shell32/shellord.c
index a8e36b4..2fb50fa 100644
--- a/dlls/shell32/shellord.c
+++ b/dlls/shell32/shellord.c
@@ -355,16 +355,16 @@
va_start(args, uType);
/* wvsprintfA(buf,fmt, args); */
- TRACE("(%08lx,%08lx,%p,%p,%08x)\n",
- (DWORD)hInstance,(DWORD)hWnd,lpText,lpCaption,uType);
+ TRACE("(%p,%p,%p,%p,%08x)\n",
+ hInstance,hWnd,lpText,lpCaption,uType);
- if (!HIWORD(lpCaption))
- LoadStringW(hInstance, (DWORD)lpCaption, szTitle, sizeof(szTitle)/sizeof(szTitle[0]));
+ if (IS_INTRESOURCE(lpCaption))
+ LoadStringW(hInstance, LOWORD(lpCaption), szTitle, sizeof(szTitle)/sizeof(szTitle[0]));
else
pszTitle = lpCaption;
- if (!HIWORD(lpText))
- LoadStringW(hInstance, (DWORD)lpText, szText, sizeof(szText)/sizeof(szText[0]));
+ if (IS_INTRESOURCE(lpText))
+ LoadStringW(hInstance, LOWORD(lpText), szText, sizeof(szText)/sizeof(szText[0]));
else
pszText = lpText;
@@ -412,16 +412,16 @@
va_start(args, uType);
/* wvsprintfA(buf,fmt, args); */
- TRACE("(%08lx,%08lx,%p,%p,%08x)\n",
- (DWORD)hInstance,(DWORD)hWnd,lpText,lpCaption,uType);
+ TRACE("(%p,%p,%p,%p,%08x)\n",
+ hInstance,hWnd,lpText,lpCaption,uType);
- if (!HIWORD(lpCaption))
- LoadStringA(hInstance, (DWORD)lpCaption, szTitle, sizeof(szTitle));
+ if (IS_INTRESOURCE(lpCaption))
+ LoadStringA(hInstance, LOWORD(lpCaption), szTitle, sizeof(szTitle));
else
pszTitle = lpCaption;
- if (!HIWORD(lpText))
- LoadStringA(hInstance, (DWORD)lpText, szText, sizeof(szText));
+ if (IS_INTRESOURCE(lpText))
+ LoadStringA(hInstance, LOWORD(lpText), szText, sizeof(szText));
else
pszText = lpText;
@@ -1004,10 +1004,9 @@
* NOTES
* Sets the interface
*/
-HRESULT WINAPI SHSetInstanceExplorer (LPUNKNOWN lpUnknown)
+VOID WINAPI SHSetInstanceExplorer (LPUNKNOWN lpUnknown)
{ TRACE("%p\n", lpUnknown);
SHELL32_IExplorerInterface = lpUnknown;
- return (HRESULT) lpUnknown;
}
/*************************************************************************
* SHGetInstanceExplorer [SHELL32.@]
diff --git a/dlls/shell32/shellpath.c b/dlls/shell32/shellpath.c
index e81347f..4e3569d 100644
--- a/dlls/shell32/shellpath.c
+++ b/dlls/shell32/shellpath.c
@@ -1303,7 +1303,7 @@
IS_INTRESOURCE(CSIDL_Data[folder].szDefaultPath))
{
if (LoadStringW(shell32_hInstance,
- (UINT)CSIDL_Data[folder].szDefaultPath, resourcePath, MAX_PATH))
+ LOWORD(CSIDL_Data[folder].szDefaultPath), resourcePath, MAX_PATH))
{
hr = S_OK;
pDefaultPath = resourcePath;
diff --git a/dlls/shell32/shlexec.c b/dlls/shell32/shlexec.c
index 4159e26..00a32aa 100644
--- a/dlls/shell32/shlexec.c
+++ b/dlls/shell32/shlexec.c
@@ -334,12 +334,12 @@
* SHELL_ExecuteW [Internal]
*
*/
-static UINT SHELL_ExecuteW(const WCHAR *lpCmd, WCHAR *env, BOOL shWait,
+static UINT_PTR SHELL_ExecuteW(const WCHAR *lpCmd, WCHAR *env, BOOL shWait,
LPSHELLEXECUTEINFOW psei, LPSHELLEXECUTEINFOW psei_out)
{
STARTUPINFOW startup;
PROCESS_INFORMATION info;
- UINT retval = 31;
+ UINT_PTR retval = 31;
UINT gcdret = 0;
WCHAR curdir[MAX_PATH];
@@ -864,13 +864,13 @@
/*************************************************************************
* execute_from_key [Internal]
*/
-static UINT execute_from_key(LPWSTR key, LPCWSTR lpFile, WCHAR *env, LPCWSTR szCommandline,
+static UINT_PTR execute_from_key(LPWSTR key, LPCWSTR lpFile, WCHAR *env, LPCWSTR szCommandline,
SHELL_ExecuteW32 execfunc,
LPSHELLEXECUTEINFOW psei, LPSHELLEXECUTEINFOW psei_out)
{
WCHAR cmd[1024];
LONG cmdlen = sizeof(cmd);
- UINT retval = 31;
+ UINT_PTR retval = 31;
cmd[0] = '\0';
@@ -928,7 +928,7 @@
if (wDirectory) SHFree( wDirectory );
TRACE("returning %s\n", lpResult);
- return (HINSTANCE)retval;
+ return retval;
}
/*************************************************************************
@@ -936,7 +936,7 @@
*/
HINSTANCE WINAPI FindExecutableW(LPCWSTR lpFile, LPCWSTR lpDirectory, LPWSTR lpResult)
{
- UINT retval = 31; /* default - 'No association was found' */
+ UINT_PTR retval = 31; /* default - 'No association was found' */
WCHAR old_dir[1024];
TRACE("File %s, Dir %s\n",
@@ -989,7 +989,7 @@
WCHAR *env;
WCHAR lpstrProtocol[256];
LPCWSTR lpFile;
- UINT retval = 31;
+ UINT_PTR retval = 31;
WCHAR wcmd[1024];
WCHAR buffer[MAX_PATH];
const WCHAR* ext;
@@ -1337,7 +1337,7 @@
WCHAR lpstrTmpFile[256];
strcpyW(lpstrTmpFile, wHttp);
strcatW(lpstrTmpFile, lpFile);
- retval = (UINT)ShellExecuteW(sei_tmp.hwnd, sei_tmp.lpVerb, lpstrTmpFile, NULL, NULL, 0);
+ retval = (UINT_PTR)ShellExecuteW(sei_tmp.hwnd, sei_tmp.lpVerb, lpstrTmpFile, NULL, NULL, 0);
}
TRACE("retval %u\n", retval);
diff --git a/dlls/shell32/shlmenu.c b/dlls/shell32/shlmenu.c
index 527d8a2..99810dc 100644
--- a/dlls/shell32/shlmenu.c
+++ b/dlls/shell32/shlmenu.c
@@ -206,7 +206,7 @@
MenuInfo.cbSize = sizeof(MENUINFO);
MenuInfo.fMask = MIM_MENUDATA;
- MenuInfo.dwMenuData = (DWORD) lpFmMi;
+ MenuInfo.dwMenuData = (ULONG_PTR) lpFmMi;
SetMenuInfo (hMenuPopup, &MenuInfo);
FileMenu_AppendItemW (hmenu, sTemp, uID, iIcon, hMenuPopup, FM_DEFAULT_HEIGHT);
@@ -277,7 +277,7 @@
MenuInfo.cbSize = sizeof(MENUINFO);
MenuInfo.fMask = MIM_MENUDATA;
- MenuInfo.dwMenuData = (DWORD) menudata;
+ MenuInfo.dwMenuData = (ULONG_PTR) menudata;
SetMenuInfo (hMenu, &MenuInfo);
return hMenu;
@@ -342,7 +342,7 @@
myItem->iIconIndex = icon;
myItem->hMenu = hMenu;
mii.fMask = MIIM_DATA;
- mii.dwItemData = (DWORD) myItem;
+ mii.dwItemData = (ULONG_PTR) myItem;
}
if ( hMenuPopup )
diff --git a/dlls/shell32/shv_bg_cmenu.c b/dlls/shell32/shv_bg_cmenu.c
index 00518f6..669d080 100644
--- a/dlls/shell32/shv_bg_cmenu.c
+++ b/dlls/shell32/shv_bg_cmenu.c
@@ -400,7 +400,7 @@
*/
static HRESULT WINAPI ISVBgCm_fnGetCommandString(
IContextMenu2 *iface,
- UINT idCommand,
+ UINT_PTR idCommand,
UINT uFlags,
UINT* lpReserved,
LPSTR lpszName,
diff --git a/dlls/shell32/shv_item_cmenu.c b/dlls/shell32/shv_item_cmenu.c
index 985150d..60e94f4 100644
--- a/dlls/shell32/shv_item_cmenu.c
+++ b/dlls/shell32/shv_item_cmenu.c
@@ -452,7 +452,7 @@
*/
static HRESULT WINAPI ISvItemCm_fnGetCommandString(
IContextMenu2 *iface,
- UINT idCommand,
+ UINT_PTR idCommand,
UINT uFlags,
UINT* lpReserved,
LPSTR lpszName,
diff --git a/include/commctrl.h b/include/commctrl.h
index 0513823..fc756ee 100644
--- a/include/commctrl.h
+++ b/include/commctrl.h
@@ -2658,7 +2658,7 @@
#define TreeView_SetImageList(hwnd, himl, iImage) \
(HIMAGELIST)SNDMSGA((hwnd), TVM_SETIMAGELIST, iImage, \
- (LPARAM)(UINT)(HIMAGELIST)(himl))
+ (LPARAM)(HIMAGELIST)(himl))
#define TreeView_GetNextItem(hwnd, hitem, code) \
(HTREEITEM)SNDMSGA((hwnd), TVM_GETNEXTITEM, (WPARAM)code,\
@@ -2691,8 +2691,8 @@
#define TreeView_Select(hwnd, hitem, code) \
- (UINT)SNDMSGA((hwnd), TVM_SELECTITEM, (WPARAM)code, \
-(LPARAM)(UINT)(hitem))
+ (BOOL)SNDMSGA((hwnd), TVM_SELECTITEM, (WPARAM)(code), \
+(LPARAM)(HTREEITEM)(hitem))
#define TreeView_SelectItem(hwnd, hitem) \
@@ -3663,7 +3663,7 @@
#define ListView_SetBkColor(hwnd,clrBk) \
(BOOL)SNDMSGA((hwnd),LVM_SETBKCOLOR,0,(LPARAM)(COLORREF)(clrBk))
#define ListView_SetImageList(hwnd,himl,iImageList) \
- (HIMAGELIST)(UINT)SNDMSGA((hwnd),LVM_SETIMAGELIST,(WPARAM)(iImageList),(LPARAM)(UINT)(HIMAGELIST)(himl))
+ (HIMAGELIST)SNDMSGA((hwnd),LVM_SETIMAGELIST,(WPARAM)(iImageList),(LPARAM)(HIMAGELIST)(himl))
#define ListView_GetItemCount(hwnd) \
(INT)SNDMSGA((hwnd),LVM_GETITEMCOUNT,0,0L)
#define ListView_RedrawItems(hwnd,first,last) \
diff --git a/include/shellapi.h b/include/shellapi.h
index 3c93737..950eab9 100644
--- a/include/shellapi.h
+++ b/include/shellapi.h
@@ -146,8 +146,8 @@
DECL_WINELIB_TYPE_AW(SHFILEINFO)
-DWORD WINAPI SHGetFileInfoA(LPCSTR,DWORD,SHFILEINFOA*,UINT,UINT);
-DWORD WINAPI SHGetFileInfoW(LPCWSTR,DWORD,SHFILEINFOW*,UINT,UINT);
+DWORD_PTR WINAPI SHGetFileInfoA(LPCSTR,DWORD,SHFILEINFOA*,UINT,UINT);
+DWORD_PTR WINAPI SHGetFileInfoW(LPCWSTR,DWORD,SHFILEINFOW*,UINT,UINT);
#define SHGetFileInfo WINELIB_NAME_AW(SHGetFileInfo)
/******************************************
diff --git a/include/shobjidl.idl b/include/shobjidl.idl
index c460d86..ce98620 100644
--- a/include/shobjidl.idl
+++ b/include/shobjidl.idl
@@ -1033,7 +1033,7 @@
HRESULT InvokeCommand( [in] LPCMINVOKECOMMANDINFO lpici );
HRESULT GetCommandString(
- [in] UINT idCmd,
+ [in] UINT_PTR idCmd,
[in] UINT uType,
[out] UINT *pwReserved,
[out, size_is(cchMax)] LPSTR pszName,