atlbase.h: Fix some declarations on win64.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Puetz Kevin A 2020-02-03 22:06:49 +01:00 committed by Alexandre Julliard
parent 76b6bcbf98
commit 3043ab3e62
3 changed files with 19 additions and 16 deletions

View File

@ -213,7 +213,7 @@ HRESULT WINAPI AtlInternalQueryInterface(void* this, const _ATL_INTMAP_ENTRY* pE
while (pEntries[i].pFunc != 0) 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); pEntries[i].dw, pEntries[i].pFunc);
if (!pEntries[i].piid || IsEqualGUID(iid,pEntries[i].piid)) if (!pEntries[i].piid || IsEqualGUID(iid,pEntries[i].piid))

View File

@ -113,9 +113,9 @@ static void test_winmodule(void)
ok(winmod.m_pCreateWndList == create_data+1, "winmod.m_pCreateWndList != create_data\n"); 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; cb_val = dw;
} }
@ -123,33 +123,36 @@ static void WINAPI term_callback(DWORD dw)
static void test_term(void) static void test_term(void)
{ {
_ATL_MODULEW test; _ATL_MODULEW test;
ULONG_PTR ex;
HRESULT hres; HRESULT hres;
ex = (ULONG_PTR)-37;
test.cbSize = sizeof(_ATL_MODULEW); test.cbSize = sizeof(_ATL_MODULEW);
hres = AtlModuleInit(&test, NULL, NULL); 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); hres = AtlModuleAddTermFunc(&test, term_callback, ex);
ok (hres == S_OK, "AtlModuleAddTermFunc failed (0x%x).\n", (int)hres); ok (hres == S_OK, "AtlModuleAddTermFunc failed (0x%x).\n", hres);
cb_val = 0xdeadbeef; cb_val = 0xdeadbeef;
hres = AtlModuleTerm(&test); hres = AtlModuleTerm(&test);
ok (hres == S_OK, "AtlModuleTerm failed (0x%x).\n", (int)hres); ok (hres == S_OK, "AtlModuleTerm failed (0x%x).\n", hres);
ok (cb_val == 0x22, "wrong callback value (0x%x).\n", (int)cb_val); ok (cb_val == ex, "wrong callback value (0x%lx).\n", cb_val);
test.cbSize = FIELD_OFFSET(_ATL_MODULEW, dwAtlBuildVer); test.cbSize = FIELD_OFFSET(_ATL_MODULEW, dwAtlBuildVer);
hres = AtlModuleInit(&test, NULL, NULL); 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); 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; cb_val = 0xdeadbeef;
hres = AtlModuleTerm(&test); hres = AtlModuleTerm(&test);
ok (hres == S_OK, "AtlModuleTerm failed (0x%x).\n", (int)hres); ok (hres == S_OK, "AtlModuleTerm failed (0x%x).\n", hres);
ok (cb_val == 0xdeadbeef, "wrong callback value (0x%x).\n", (int)cb_val); ok (cb_val == 0xdeadbeef, "wrong callback value (0x%lx).\n", cb_val);
} }
START_TEST(module) START_TEST(module)

View File

@ -37,12 +37,12 @@
#endif #endif
typedef HRESULT (WINAPI _ATL_CREATORFUNC)(void* pv, REFIID riid, LPVOID* ppv); 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_CREATORARGFUNC)(void* pv, REFIID riid, LPVOID* ppv, DWORD_PTR dw);
typedef HRESULT (WINAPI _ATL_MODULEFUNC)(DWORD dw); typedef HRESULT (WINAPI _ATL_MODULEFUNC)(DWORD_PTR dw);
typedef LPCSTR (WINAPI _ATL_DESCRIPTIONFUNCA)(void); typedef LPCSTR (WINAPI _ATL_DESCRIPTIONFUNCA)(void);
typedef LPCWSTR (WINAPI _ATL_DESCRIPTIONFUNCW)(void); typedef LPCWSTR (WINAPI _ATL_DESCRIPTIONFUNCW)(void);
typedef const struct _ATL_CATMAP_ENTRY* (_ATL_CATMAPFUNC)(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; typedef CRITICAL_SECTION CComCriticalSection;
@ -234,7 +234,7 @@ typedef _ATL_MODULEW _ATL_WIN_MODULE;
typedef struct _ATL_INTMAP_ENTRY_TAG typedef struct _ATL_INTMAP_ENTRY_TAG
{ {
const IID* piid; const IID* piid;
DWORD dw; DWORD_PTR dw;
_ATL_CREATORARGFUNC* pFunc; _ATL_CREATORARGFUNC* pFunc;
} _ATL_INTMAP_ENTRY; } _ATL_INTMAP_ENTRY;