diff --git a/include/winnt.h b/include/winnt.h index 9b460ad31ae..425528502b9 100644 --- a/include/winnt.h +++ b/include/winnt.h @@ -1958,7 +1958,7 @@ typedef struct _IMAGE_IMPORT_BY_NAME { typedef struct _IMAGE_THUNK_DATA { union { LPBYTE ForwarderString; - FARPROC Function; + PDWORD Function; DWORD Ordinal; PIMAGE_IMPORT_BY_NAME AddressOfData; } u1; diff --git a/loader/pe_image.c b/loader/pe_image.c index dae452362ae..74ab2f85aa5 100644 --- a/loader/pe_image.c +++ b/loader/pe_image.c @@ -311,24 +311,24 @@ DWORD fixup_imports( WINE_MODREF *wm ) int ordinal = IMAGE_ORDINAL(import_list->u1.Ordinal); TRACE("--- Ordinal %s,%d\n", name, ordinal); - thunk_list->u1.Function=MODULE_GetProcAddress( + thunk_list->u1.Function=(PDWORD)MODULE_GetProcAddress( wmImp->module, (LPCSTR)ordinal, TRUE ); if (!thunk_list->u1.Function) { ERR("No implementation for %s.%d, setting to 0xdeadbeef\n", name, ordinal); - thunk_list->u1.Function = (FARPROC)0xdeadbeef; + thunk_list->u1.Function = (PDWORD)0xdeadbeef; } } else { /* import by name */ pe_name = (PIMAGE_IMPORT_BY_NAME)RVA(import_list->u1.AddressOfData); TRACE("--- %s %s.%d\n", pe_name->Name, name, pe_name->Hint); - thunk_list->u1.Function=MODULE_GetProcAddress( + thunk_list->u1.Function=(PDWORD)MODULE_GetProcAddress( wmImp->module, pe_name->Name, TRUE ); if (!thunk_list->u1.Function) { ERR("No implementation for %s.%d(%s), setting to 0xdeadbeef\n", name,pe_name->Hint,pe_name->Name); - thunk_list->u1.Function = (FARPROC)0xdeadbeef; + thunk_list->u1.Function = (PDWORD)0xdeadbeef; } } import_list++; @@ -343,25 +343,25 @@ DWORD fixup_imports( WINE_MODREF *wm ) int ordinal = IMAGE_ORDINAL(thunk_list->u1.Ordinal); TRACE("--- Ordinal %s.%d\n",name,ordinal); - thunk_list->u1.Function=MODULE_GetProcAddress( + thunk_list->u1.Function=(PDWORD)MODULE_GetProcAddress( wmImp->module, (LPCSTR) ordinal, TRUE ); if (!thunk_list->u1.Function) { ERR("No implementation for %s.%d, setting to 0xdeadbeef\n", name,ordinal); - thunk_list->u1.Function = (FARPROC)0xdeadbeef; + thunk_list->u1.Function = (PDWORD)0xdeadbeef; } } else { pe_name=(PIMAGE_IMPORT_BY_NAME) RVA(thunk_list->u1.AddressOfData); TRACE("--- %s %s.%d\n", pe_name->Name,name,pe_name->Hint); - thunk_list->u1.Function=MODULE_GetProcAddress( + thunk_list->u1.Function=(PDWORD)MODULE_GetProcAddress( wmImp->module, pe_name->Name, TRUE ); if (!thunk_list->u1.Function) { ERR("No implementation for %s.%d(%s), setting to 0xdeadbeef\n", name, pe_name->Hint, pe_name->Name); - thunk_list->u1.Function = (FARPROC)0xdeadbeef; + thunk_list->u1.Function = (PDWORD)0xdeadbeef; } } thunk_list++;