diff --git a/dlls/atl/atl.c b/dlls/atl/atl.c index 8829987c6ac..358986d7a4c 100644 --- a/dlls/atl/atl.c +++ b/dlls/atl/atl.c @@ -213,7 +213,7 @@ HRESULT WINAPI AtlInternalQueryInterface(void* this, const _ATL_INTMAP_ENTRY* pE while (pEntries[i].pFunc != 0) { - TRACE("Trying entry %i (%s %i %p)\n",i,debugstr_guid(pEntries[i].piid), + TRACE("Trying entry %i (%s %lx %p)\n",i,debugstr_guid(pEntries[i].piid), pEntries[i].dw, pEntries[i].pFunc); if (!pEntries[i].piid || IsEqualGUID(iid,pEntries[i].piid)) diff --git a/dlls/atl/tests/module.c b/dlls/atl/tests/module.c index 192b23ef1e7..6250f9b2cb8 100644 --- a/dlls/atl/tests/module.c +++ b/dlls/atl/tests/module.c @@ -113,9 +113,9 @@ static void test_winmodule(void) ok(winmod.m_pCreateWndList == create_data+1, "winmod.m_pCreateWndList != create_data\n"); } -static DWORD cb_val; +static DWORD_PTR cb_val; -static void WINAPI term_callback(DWORD dw) +static void WINAPI term_callback(DWORD_PTR dw) { cb_val = dw; } @@ -123,33 +123,36 @@ static void WINAPI term_callback(DWORD dw) static void test_term(void) { _ATL_MODULEW test; + ULONG_PTR ex; HRESULT hres; + ex = (ULONG_PTR)-37; + test.cbSize = sizeof(_ATL_MODULEW); hres = AtlModuleInit(&test, NULL, NULL); - ok (hres == S_OK, "AtlModuleInit failed (0x%x).\n", (int)hres); + ok (hres == S_OK, "AtlModuleInit failed (0x%x).\n", hres); - hres = AtlModuleAddTermFunc(&test, term_callback, 0x22); - ok (hres == S_OK, "AtlModuleAddTermFunc failed (0x%x).\n", (int)hres); + hres = AtlModuleAddTermFunc(&test, term_callback, ex); + ok (hres == S_OK, "AtlModuleAddTermFunc failed (0x%x).\n", hres); cb_val = 0xdeadbeef; hres = AtlModuleTerm(&test); - ok (hres == S_OK, "AtlModuleTerm failed (0x%x).\n", (int)hres); - ok (cb_val == 0x22, "wrong callback value (0x%x).\n", (int)cb_val); + ok (hres == S_OK, "AtlModuleTerm failed (0x%x).\n", hres); + ok (cb_val == ex, "wrong callback value (0x%lx).\n", cb_val); test.cbSize = FIELD_OFFSET(_ATL_MODULEW, dwAtlBuildVer); hres = AtlModuleInit(&test, NULL, NULL); - ok (hres == S_OK, "AtlModuleInit failed (0x%x).\n", (int)hres); + ok (hres == S_OK, "AtlModuleInit failed (0x%x).\n", hres); hres = AtlModuleAddTermFunc(&test, term_callback, 0x23); - ok (hres == S_OK, "AtlModuleAddTermFunc failed (0x%x).\n", (int)hres); + ok (hres == S_OK, "AtlModuleAddTermFunc failed (0x%x).\n", hres); cb_val = 0xdeadbeef; hres = AtlModuleTerm(&test); - ok (hres == S_OK, "AtlModuleTerm failed (0x%x).\n", (int)hres); - ok (cb_val == 0xdeadbeef, "wrong callback value (0x%x).\n", (int)cb_val); + ok (hres == S_OK, "AtlModuleTerm failed (0x%x).\n", hres); + ok (cb_val == 0xdeadbeef, "wrong callback value (0x%lx).\n", cb_val); } START_TEST(module) diff --git a/include/atlbase.h b/include/atlbase.h index b8c4f65651f..ebf16748055 100644 --- a/include/atlbase.h +++ b/include/atlbase.h @@ -37,12 +37,12 @@ #endif typedef HRESULT (WINAPI _ATL_CREATORFUNC)(void* pv, REFIID riid, LPVOID* ppv); -typedef HRESULT (WINAPI _ATL_CREATORARGFUNC)(void* pv, REFIID riid, LPVOID* ppv, DWORD dw); -typedef HRESULT (WINAPI _ATL_MODULEFUNC)(DWORD dw); +typedef HRESULT (WINAPI _ATL_CREATORARGFUNC)(void* pv, REFIID riid, LPVOID* ppv, DWORD_PTR dw); +typedef HRESULT (WINAPI _ATL_MODULEFUNC)(DWORD_PTR dw); typedef LPCSTR (WINAPI _ATL_DESCRIPTIONFUNCA)(void); typedef LPCWSTR (WINAPI _ATL_DESCRIPTIONFUNCW)(void); typedef const struct _ATL_CATMAP_ENTRY* (_ATL_CATMAPFUNC)(void); -typedef void (WINAPI _ATL_TERMFUNC)(DWORD dw); +typedef void (WINAPI _ATL_TERMFUNC)(DWORD_PTR dw); typedef CRITICAL_SECTION CComCriticalSection; @@ -234,7 +234,7 @@ typedef _ATL_MODULEW _ATL_WIN_MODULE; typedef struct _ATL_INTMAP_ENTRY_TAG { const IID* piid; - DWORD dw; + DWORD_PTR dw; _ATL_CREATORARGFUNC* pFunc; } _ATL_INTMAP_ENTRY;