diff --git a/tools/winapi/win16.api b/tools/winapi/win16.api
index b7ce907924c82164ae0b360dfea6d7ac480c2103..82fcf030a0ad44b100b518572d565197c32acbce 100644
--- a/tools/winapi/win16.api
+++ b/tools/winapi/win16.api
@@ -10,10 +10,11 @@ ULONG
 
 %ptr
 
-IAVIFile *
+LPAVIFILEINFOA
 LPCLSID
 PAVIFILE
 PAVIFILE *
+PAVISTREAM
 PAVISTREAM *
 
 %str
@@ -312,10 +313,10 @@ LPBYTE
 LPCATCHBUF
 LPCVOID
 LPDWORD
-LPHKEY
 LPVOID
 OFSTRUCT *
 OSVERSIONINFO16 *
+PHKEY
 SECURITY_ATTRIBUTES *
 SEGINFO *
 SEGPTR *
@@ -774,11 +775,11 @@ HINF16 *
 LPBYTE
 LPDWORD
 LPEXPANDVTBL
-LPHKEY
 LPLOGDISKDESC
 LPLPDEVICE_INFO16
 LPVIRTNODE
 LPVOID
+PHKEY
 VIFPROC
 
 %str
@@ -817,7 +818,6 @@ LRESULT
 
 HICON16 *
 LPDWORD
-LPHKEY
 LPWORD
 POINT16 *
 
diff --git a/tools/winapi/win32.api b/tools/winapi/win32.api
index 38df567dd2641a0ce5a45cef0cd879cdc1f18d37..da816bcdb01ce4a53a8f1908bb3273d1fd7da522 100644
--- a/tools/winapi/win32.api
+++ b/tools/winapi/win32.api
@@ -45,7 +45,6 @@ LPDWORD
 LPENUM_SERVICE_STATUSA
 LPENUM_SERVICE_STATUSW
 LPHANDLER_FUNCTION
-LPHKEY
 LPHW_PROFILE_INFOA
 LPLONG
 LPSECURITY_ATTRIBUTES
@@ -97,54 +96,69 @@ LPWSTR
 %long
 
 BOOL
+DWORD
+HWND
 INT
 WORD
 
 %str
 
 LPSTR
+LPCSTR
 
 %wstr
 
+LPCWSTR
 LPWSTR
 
 %%avifil32.dll
 
 %long
 
+BOOL
 DWORD
 HRESULT
+HWND
+INT
 LONG
 UINT
 ULONG
 
 %ptr
 
-AVICOMPRESSOPTIONS *
-AVISTREAMINFOA *
-AVISTREAMINFOW *
 CLSID *
-IAVIFile *
-LONG *
+LPAVICOMPRESSOPTIONS *
+LPAVICOMPRESSOPTIONS
 LPAVIFILEINFOA
 LPAVIFILEINFOW
+LPAVISTREAMINFOA
+LPAVISTREAMINFOW
 LPBITMAPINFOHEADER
 LPCLSID
+LPLONG
+LPVOID *
 LPVOID
 PAVIFILE
 PAVIFILE *
 PAVISTREAM
 PAVISTREAM *
 PGETFRAME
+REFIID
 
 %str
 
 LPCSTR
+LPSTR
 
 %void
 
 void
 
+%wstr
+
+LPCWSTR
+LPWSTR
+
 %%comcat.dll
 
 %long
@@ -165,6 +179,7 @@ BOOL
 CHAR
 COLORREF
 DWORD
+DWORD_PTR
 HANDLE
 HBITMAP
 HDC
@@ -182,6 +197,7 @@ LANGID
 LPARAM
 LRESULT
 UINT
+UINT_PTR
 WORD
 WPARAM
 int
@@ -196,6 +212,7 @@ DLLVERSIONINFO *
 DPAENUMPROC
 DPALOADPROC
 DSAENUMPROC
+DWORD_PTR *
 HDPA *
 IMAGEINFO *
 IMAGELISTDRAWPARAMS *
@@ -225,6 +242,7 @@ PFNDPAMERGE
 POINT *
 RECT *
 SMOOTHSCROLLSTRUCT *
+SUBCLASSPROC
 TRACKMOUSEEVENT *
 UINT *
 
@@ -316,7 +334,9 @@ SIP_ADD_NEWPROVIDER *
 SIP_DISPATCH_INFO *
 
 %str
+
 LPCSTR
+LPSTR
 
 %wstr
 
@@ -331,7 +351,7 @@ UINT
 
 %ptr
 
-LPVOID
+IDirect3D8 *
 
 %%dciman32.dll
 
@@ -472,11 +492,9 @@ WORD
 BOOL16
 HDC16
 HMETAFILE16
-HPALETTE16
 HPJOB16
 HRGN16
 INT16
-UINT16
 int
 
 %ptr
@@ -756,6 +774,7 @@ LCTYPE
 LONG
 SIZE_T
 UINT
+ULONG
 WCHAR
 WORD
 WOW_HANDLE_TYPE
@@ -879,6 +898,7 @@ PHANDLER_ROUTINE
 PLARGE_INTEGER
 PLONG
 PSIZE_T
+PVOID
 PTIMERAPCROUTINE
 PULARGE_INTEGER
 SECURITY_ATTRIBUTES *
@@ -886,9 +906,9 @@ SIZE_T *
 SYSLEVEL *
 SYSLEVEL **
 SYSTEMTIME *
-TDB *
 TIMEFMT_ENUMPROCA
 TIMEFMT_ENUMPROCW
+WAITORTIMERCALLBACK
 WIN32_FIND_DATAA *
 WIN32_FIND_DATAW *
 WORD *
@@ -903,7 +923,6 @@ BUILTIN16_DESCRIPTOR *
 FARPROC16
 UINT16 *
 SEGPTR
-TEB *
 struct DPMI_segments *
 
 %str
@@ -1186,6 +1205,16 @@ CLSID *
 IID *
 void **
 
+%%msrle32.dll
+
+%long
+
+DWORD
+HDRVR
+LRESULT
+LPARAM
+UINT
+
 %%msvcrt.dll
 
 %double
@@ -1194,7 +1223,6 @@ double
 
 %long
 
-DWORD
 INT
 LONG
 MSVCRT_clock_t
@@ -1378,6 +1406,7 @@ DWORD
 FILE_INFORMATION_CLASS
 FS_INFORMATION_CLASS
 HANDLE
+HKEY
 HMODULE
 INT
 KEY_INFORMATION_CLASS
@@ -1421,7 +1450,6 @@ DWORD *
 EXCEPTION_FRAME *
 EXCEPTION_RECORD *
 HANDLE *
-HANDLERPROC
 IMAGE_NT_HEADERS *
 IMAGE_SECTION_HEADER **
 INT *
@@ -1449,6 +1477,7 @@ PEXCEPTION_FRAME
 PEXCEPTION_RECORD
 PGENERIC_MAPPING
 PHANDLE
+PHKEY
 PIMAGE_NT_HEADERS
 PIMAGE_SECTION_HEADER
 PIO_APC_ROUTINE
@@ -1994,30 +2023,58 @@ DLLVERSIONINFO *
 
 HMODULE
 HRESULT
+RPC_BINDING_HANDLE
 RPC_IF_HANDLE
 RPC_STATUS
 UINT
 ULONG
+int
+long
+size_t
+unsigned char
+unsigned int
+unsigned long
 unsigned short
 
+%long --pointer
+
+LONG_PTR
+
 %ptr
 
 CLSID *
 CStdPSFactoryBuffer *
+LPPSFACTORYBUFFER
+LPRPCCHANNELBUFFER
+LPRPCSTUBBUFFER
 LPSTR *
+LPUNKNOWN
 LPVOID
 LPVOID *
 LPWSTR *
+MIDL_STUB_MESSAGE *
+PFORMAT_STRING
+PMIDL_STUB_DESC
+PMIDL_STUB_MESSAGE * 
+PMIDL_STUB_MESSAGE
+PPSFACTORYBUFFER
+PRPC_MESSAGE
 PRPC_POLICY
+PRPCOLEMESSAGE
 ProxyFileInfo **
 REFCLSID
 REFIID
 RPC_AUTH_KEY_RETRIEVAL_FN
 RPC_BINDING_HANDLE *
+RPC_BINDING_VECTOR **
+RPC_BLOCKING_FN
 RPC_IF_CALLBACK_FN *
 RPC_MGR_EPV *
 RPC_STATUS *
 UUID *
+unsigned char *
+unsigned char **
+void *
 
 %str
 
@@ -2027,6 +2084,10 @@ LPSTR
 
 LPWSTR
 
+%void
+
+void
+
 %%serialui.dll
 
 %long
@@ -2072,6 +2133,7 @@ DWORD *
 GUID *
 INFCONTEXT *
 INT *
+LPGUID
 PBYTE
 PDWORD
 PSP_DEVICE_INTERFACE_DATA
@@ -2086,6 +2148,7 @@ PSTR
 PUINT
 PVOID
 UINT *
+void *
 
 %str
 
@@ -2098,6 +2161,10 @@ PWSTR
 
 void
 
+%wstr
+
+LPCWSTR
+
 %%shdocvw.dll
 
 %long
@@ -2180,7 +2247,6 @@ LPDWORD
 LPENUMFORMATETC *
 LPFNCREATEINSTANCE
 LPFNFMCALLBACK
-LPHKEY
 LPITEMIDLIST
 LPITEMIDLIST *
 LPMALLOC *
@@ -2205,6 +2271,7 @@ LPVOID *
 LPWORD
 LPWSTR *
 PAPPBARDATA
+PHKEY
 PNOTIFYICONDATAA
 PNOTIFYICONDATAW
 POINT *
@@ -2303,7 +2370,6 @@ LPCVOID
 LPCWSTR *
 LPDWORD
 LPDWORD *
-LPHWND
 LPINT
 LPITEMIDLIST
 LPOPENFILENAMEW
@@ -2324,6 +2390,7 @@ LPWSTR *
 OLECMD *
 OLECMDTEXT *
 PHUSKEY
+PHWND
 PLONG
 PSECURITY_DESCRIPTOR
 PVOID
@@ -2553,6 +2620,7 @@ BOOL
 BYTE
 CHAR
 COLORREF
+GUITHREADINFO *
 DWORD
 HACCEL
 HANDLE
@@ -2587,12 +2655,15 @@ LPARAM
 LRESULT
 SHORT
 UINT
-ULONG_PTR
 WCHAR
 WORD
 WPARAM
 int
 
+%long --pointer
+
+ULONG_PTR
+
 %long --extension
 
 BOOL16
@@ -2601,7 +2672,6 @@ HDRVR16
 HGLOBAL16
 HINSTANCE16
 HMODULE16
-HQUEUE16
 HTASK16
 HWND16
 INT16
@@ -2661,6 +2731,7 @@ MENUITEMINFOW *
 MONITORENUMPROC
 MSG *
 PAINTSTRUCT *
+PCOMBOBOXINFO
 PCURSORINFO
 PFNCALLBACK
 PICONINFO
@@ -2696,7 +2767,6 @@ va_list
 %ptr --extension
 
 DLGPROC16
-HOOKPROC16
 WND *
 WNDPROC16
 
@@ -2785,6 +2855,7 @@ WORD
 %long
 
 BOOL
+BYTE
 DWORD
 HANDLE
 UINT
@@ -2915,6 +2986,7 @@ LPINTERNET_CACHE_ENTRY_INFOW
 LPURL_COMPONENTSA
 LPVOID
 LPWIN32_FIND_DATAA
+LPWIN32_FIND_DATAW
 
 %str
 
@@ -2924,6 +2996,7 @@ LPSTR
 %wstr
 
 LPCWSTR
+LPWSTR
 
 %%winmm.dll