%%advapi32.dll

%long

ACCESS_MASK
ACL_INFORMATION_CLASS
ALG_ID
BOOL
BYTE
DWORD
HANDLE
HCRYPTHASH
HCRYPTKEY
HCRYPTPROV
HKEY
LONG
NTSTATUS
POLICY_INFORMATION_CLASS
REGSAM
SC_HANDLE
SC_STATUS_TYPE
SE_OBJECT_TYPE
SECURITY_IMPERSONATION_LEVEL
SECURITY_INFORMATION
SERVICE_STATUS_HANDLE
TOKEN_INFORMATION_CLASS
ULONG
WORD

%long --extension

LSA_HANDLE

%ptr

BYTE *
DWORD *
FILETIME *
HANDLE *
HCRYPTHASH *
HCRYPTKEY *
HCRYPTPROV *
LPBOOL
LPBYTE
LPCSTR *
LPCWSTR *
LPDWORD
LPENUM_SERVICE_STATUSA
LPENUM_SERVICE_STATUSW
LPHANDLER_FUNCTION
LPHW_PROFILE_INFOA
LPLONG
LPQUERY_SERVICE_CONFIGA
LPQUERY_SERVICE_CONFIGW
LPSECURITY_ATTRIBUTES
LPSERVICE_STATUS
LPSERVICE_TABLE_ENTRYA
LPSERVICE_TABLE_ENTRYW
LPVOID
LPVOID *
LPWSTR *
PACL
PACL *
PACTRL_ACCESSW *
PACTRL_AUDITW *
PBOOL
PDWORD
PEXPLICIT_ACCESSA
PEXPLICIT_ACCESSA *
PEXPLICIT_ACCESSW
PEXPLICIT_ACCESSW *
PGENERIC_MAPPING
PHANDLE
PHKEY
PLSA_HANDLE
PLSA_OBJECT_ATTRIBUTES
PLSA_REFERENCED_DOMAIN_LIST *
PLSA_TRANSLATED_NAME *
PLSA_UNICODE_STRING
PLUID
POBJECT_TYPE_LIST
PPRIVILEGE_SET
PSECURITY_DESCRIPTOR
PSECURITY_DESCRIPTOR *
PSECURITY_DESCRIPTOR_CONTROL
PSID
PSID *
PSID_IDENTIFIER_AUTHORITY
PSID_NAME_USE
PTRUSTEEA
PTRUSTEEW
PUCHAR
PULONG
PVOID
PVOID *
PVALENTA
PVALENTW
SECURITY_ATTRIBUTES *
SECURITY_DESCRIPTOR *
WCHAR *

%str

LPCSTR
LPSTR

%void

VOID

%wstr

LPCWSTR
LPWSTR

%%amstream.dll

%long

DWORD
HRESULT

%ptr

LPVOID *
REFCLSID
REFIID

%%avicap32.dll

%long

BOOL
DWORD
HWND
INT
WORD

%str

LPSTR
LPCSTR

%wstr

LPCWSTR
LPWSTR

%%avifil32.dll

%long

BOOL
DWORD
HRESULT
HWND
INT
LONG
UINT
ULONG
int

%ptr

AVISAVECALLBACK
CLSID *
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

%%cabinet.dll

%long

BOOL
HFCI
HFDI
HRESULT
INT_PTR
TCOMP
USHORT
int

%ptr

DLLVERSIONINFO *
EXTRACTdest *
PCCAB
PERF
PFDICABINETINFO
PFNALLOC
PFNCLOSE
PFNFCIALLOC
PFNFCICLOSE
PFNFCIDELETE
PFNFCIFILEPLACED
PFNFCIFREE
PFNFCIGETNEXTCABINET
PFNFCIGETOPENINFO
PFNFCIGETTEMPFILE
PFNFCIOPEN
PFNFCIREAD
PFNFCISEEK
PFNFCISTATUS
PFNFCIWRITE
PFNFDIDECRYPT
PFNFDINOTIFY
PFNFREE
PFNOPEN
PFNREAD
PFNSEEK
PFNWRITE
char *
void *

%str

LPCSTR

%%capi2032.dll

%long

DWORD

%ptr

DWORD *
PVOID
PVOID *
char *

%%cards.dll

%long

BOOL
DWORD
HDC
int

%ptr

int *

%void

void

%%cfgmgr32.dll

%long

CONFIGRET
ULONG

%ptr

PCHAR

%str

PCSTR

%%comcat.dll

%long

HRESULT

%ptr

LPVOID *
REFCLSID
REFIID

%%comctl32.dll

%long

BOOL
COLORREF
DWORD
DWORD_PTR
HANDLE
HBITMAP
HDC
HDPA
HDSA
HICON
HIMAGELIST
HINSTANCE
HMENU
HPROPSHEETPAGE
HRESULT
HWND
INT
LANGID
LONG
LPARAM
LRESULT
UINT
UINT_PTR
WORD
WPARAM
int

%longlong

POINT

%ptr

DLLVERSIONINFO *
DPALOADPROC
DWORD_PTR *
HDPA *
IMAGEINFO *
IMAGELISTDRAWPARAMS *
INT *
IStream *
LPCOLORMAP
LPCPROPSHEETHEADERA
LPCPROPSHEETHEADERW
LPCPROPSHEETPAGEA
LPCPROPSHEETPAGEW
LPCREATEMRULISTA
LPCREATEMRULISTW
LPCTBBUTTON
LPCVOID
LPINITCOMMONCONTROLSEX
LPINT
LPNMHDR
LPRECT
LPSCROLLINFO
LPSTR *
LPSTREAM
LPVOID
LPWSTR *
PFNDPACOMPARE
PFNDPAENUMCALLBACK
PFNDPAMERGE
PFNDSAENUMCALLBACK
POINT *
SMOOTHSCROLLSTRUCT *
SUBCLASSPROC
TRACKMOUSEEVENT *
UINT *

%str

LPCSTR
LPSTR

%void

VOID
void

%wstr

LPCWSTR
LPWSTR

%%comdlg32.dll

%long

BOOL
DWORD
HRESULT
HWND
WORD
short

%ptr

LPCHOOSECOLORA
LPCHOOSECOLORW
LPCHOOSEFONTA
LPCHOOSEFONTW
LPFINDREPLACEA
LPFINDREPLACEW
LPOPENFILENAMEA
LPOPENFILENAMEW
LPPAGESETUPDLGA
LPPAGESETUPDLGW
LPPRINTDLGA
LPPRINTDLGW
LPVOID

%str

LPCSTR
LPSTR

%wstr

LPCWSTR
LPWSTR

%%crtdll.dll

%long

int
size_t
unsigned int

%ptr

char *
char ***
int *
struct crtdll_stat *

%void

void

%%crypt32.dll

%long

BOOL
DWORD
HANDLE
HCERTSTORE
HCRYPTPROV

%ptr

BYTE *
CRYPTPROTECT_PROMPTSTRUCT *
DATA_BLOB *
DWORD *
GUID *
PCCERT_CONTEXT
PCCRL_CONTEXT
PVOID
SIP_ADD_NEWPROVIDER *
SIP_DISPATCH_INFO *
void *

%str

LPCSTR

%wstr

LPCWSTR

%%ctl3d32.dll

%long

BOOL
DWORD
HBRUSH
HDC
HINSTANCE
HWND
LONG
LPARAM
LRESULT
UINT
WORD
WPARAM
int

%void

void

%%d3d8.dll

%long

BOOL
HRESULT
UINT

%ptr

IDirect3D8 *
LPVOID

%void

void

%%d3d9.dll

%long

HRESULT
UINT

%ptr

IDirect3D9 *

%%dbghelp.dll

%long

BOOL
DWORD
HANDLE
HMODULE
IMAGEHLP_SYMBOL_TYPE_INFO
ULONG
unsigned long

%ptr

DWORD *
LPAPI_VERSION
LPSTACKFRAME
LPVOID
PDWORD
PENUMLOADED_MODULES_CALLBACK
PFIND_DEBUG_FILE_CALLBACK
PFUNCTION_TABLE_ACCESS_ROUTINE
PGET_MODULE_BASE_ROUTINE
PIMAGE_DEBUG_INFORMATION
PIMAGEHLP_CONTEXT
PIMAGEHLP_LINE
PIMAGEHLP_MODULE
PIMAGEHLP_SYMBOL
PIMAGEHLP_STACK_FRAME
PREAD_PROCESS_MEMORY_ROUTINE
PSYM_ENUMERATESYMBOLS_CALLBACK
PSYM_ENUMMODULES_CALLBACK
PSYM_ENUMSOURCFILES_CALLBACK
PSYM_ENUMSYMBOLS_CALLBACK
PSYMBOL_REGISTERED_CALLBACK
PSYMBOL_INFO
PTRANSLATE_ADDRESS_ROUTINE
PVOID
char *
void *

%str

LPCSTR
LPSTR
PCSTR
PSTR

%%dciman32.dll

%long

HDC

%void

void

%%d3dx8.dll

%long

DWORD
HFONT
HRESULT
UINT

%ptr

LPD3DXBUFFER *
LPDIRECT3DDEVICE8
LPCVOID
LPD3DXFONT *

%str

LPSTR

%%ddraw.dll

%long

DWORD
HRESULT

%ptr

LPDDENUMCALLBACKA
LPDDENUMCALLBACKEXA
LPDDENUMCALLBACKEXW
LPDDENUMCALLBACKW
LPDIRECTDRAW *
LPDIRECTDRAWCLIPPER *
LPGUID
LPUNKNOWN
LPVOID
LPVOID *
REFCLSID
REFIID

%%devenum.dll

%long

HRESULT

%ptr

REFCLSID
REFIID
LPVOID *


%%dinput.dll

%long

DWORD
HINSTANCE
HRESULT

%ptr

LPDIRECTINPUTA *
LPDIRECTINPUTW *
LPUNKNOWN
LPVOID *
REFCLSID
REFIID

%%dinput8.dll

%long

DWORD
HINSTANCE
HRESULT

%ptr

LPUNKNOWN
LPVOID *
REFCLSID
REFIID

%%dmband.dll

%long

HRESULT

%ptr

LPVOID *
REFCLSID
REFIID

%%dmcompos.dll

%long

HRESULT

%ptr

LPVOID *
REFCLSID
REFIID

%%dmime.dll

%long

HRESULT

%ptr

LPVOID *
REFCLSID
REFIID

%%dmloader.dll

%long

HRESULT

%ptr

LPVOID *
REFCLSID
REFIID

%%dmscript.dll

%long

HRESULT

%ptr

LPVOID *
REFCLSID
REFIID

%%dmstyle.dll

%long

HRESULT

%ptr

LPVOID *
REFCLSID
REFIID

%%dmsynth.dll

%long

HRESULT

%ptr

LPVOID *
REFCLSID
REFIID

%%dmusic.dll

%long

HRESULT

%ptr

LPVOID *
REFCLSID
REFIID

%%dmusic32.dll

%long

HRESULT

%ptr

LPVOID

%%dplayx.dll

%long

DWORD
HRESULT

%ptr

IUnknown *
LPDIRECTPLAY2 *
LPDIRECTPLAYLOBBY *
LPDIRECTPLAYLOBBYA *
LPDPENUMDPCALLBACKA
LPDPENUMDPCALLBACKW
LPGUID
LPVOID
LPVOID *
REFCLSID
REFIID

%%dpnet.dll

%long

BOOL
HRESULT

%ptr

LPUNKNOWN
LPVOID *
REFCLSID
REFGUID
REFIID

%%dpnhpast.dll

%long

HRESULT

%ptr

LPVOID *
REFCLSID
REFIID

%%dsound.dll

%long

DWORD
HRESULT
HWND

%ptr

IUnknown *
LPCDSBUFFERDESC
LPCDSCBUFFERDESC
LPCGUID
LPDIRECTSOUND8 *
LPDIRECTSOUNDBUFFER8 *
LPDIRECTSOUNDCAPTURE *
LPDIRECTSOUNDCAPTUREBUFFER8 *
LPDIRECTSOUNDFULLDUPLEX *
LPDSENUMCALLBACKA
LPDSENUMCALLBACKW
LPGUID
LPUNKNOWN
LPVOID
LPVOID *
REFCLSID
REFIID

%%dswave

%long

HRESULT

%ptr

REFCLSID
REFIID
LPVOID *

%%dxdiagn.dll

%ptr

REFCLSID
REFIID

%%gdi32.dll

%long

BOOL
COLORREF
DWORD
FLOAT
HANDLE
HBITMAP
HBRUSH
HCOLORSPACE
HDC
HENHMETAFILE
HFONT
HGDIOBJ
HGLOBAL
HMETAFILE
HPALETTE
HPEN
HRGN
HWND
INT
LONG
LPARAM
UINT
ULONG
WORD

%long --extension

BOOL16
HDC16
HMETAFILE16
HPJOB16
HRGN16
INT16
int

%ptr

ABORTPROC
BITMAP *
BITMAPINFO *
BITMAPINFOHEADER *
BLENDFUNCTION
BYTE *
COLORADJUSTMENT *
DCHOOKPROC
DEVMODEA *
DEVMODEW *
DOCINFOA *
DOCINFOW *
DWORD *
ENHMETARECORD *
ENHMFENUMPROC
FONTENUMPROCA
FONTENUMPROCW
GCP_RESULTSA *
GCP_RESULTSW *
GOBJENUMPROC
HANDLETABLE *
ICMENUMPROCA     
ICMENUMPROCW
INT *
LINEDDAPROC
LOGBRUSH *
LOGFONTA *
LOGFONTW *
LOGPALETTE *
LOGPEN *
LPABC
LPABCFLOAT
LPBYTE
LPCHARSETINFO
LPCOLORADJUSTMENT
LPCVOID
LPDEVMODEA
LPDWORD
LPENHMETAHEADER
LPFONTSIGNATURE
LPGLYPHMETRICS
LPHANDLETABLE
LPINT
LPKERNINGPAIR
LPLOGCOLORSPACEA
LPLOGCOLORSPACEW
LPLOGFONTA
LPLOGFONTW
LPOUTLINETEXTMETRICA
LPOUTLINETEXTMETRICW
LPPALETTEENTRY
LPPIXELFORMATDESCRIPTOR
LPPOINT
LPRASTERIZER_STATUS
LPRECT
LPRGNDATA
LPSIZE
LPVOID
LPWORD
LPXFORM
MAT2 *
METAFILEPICT *
METARECORD *
MFENUMPROC
PALETTEENTRY *
PFLOAT
PIXELFORMATDESCRIPTOR *
POINT *
PPOLYTEXTA
PPOLYTEXTW
PVOID
RECT *
RGBQUAD *
RGNDATA *
TEXTMETRICA *
TEXTMETRICW *
TRIVERTEX *
WORD *
XFORM *
VOID **
void *

%ptr --extension

FARPROC16

%str

LPCSTR
LPSTR

%void

void

%wstr

LPCWSTR
LPWSTR

%%glu32.dll

%double

double

%long

int

%ptr

char *
void *

%void

void

%%glut32.dll

%double

double

%float

float

%long

int
unsigned int

%ptr

void (*)(int)
void *
void **

%void

void

%%hhctrl.ocx

%long

DWORD
HWND
UINT

%str

LPCSTR

%wstr

LPCWSTR

%%iccvid.dll

%long

DWORD
HDRVR
LONG
LRESULT
UINT

%%icmp.dll

%long

BOOL
DWORD
HANDLE
IPAddr
WORD

%ptr

LPVOID
PIP_OPTION_INFORMATION

%%ifsmgr.vxd

%long

BOOL
DWORD

%ptr

LPDWORD
LPOVERLAPPED
LPVOID

%%imaadp32.acm

%long

DWORD
HDRVR
LPARAM
LRESULT
UINT

%%imagehlp.dll

%long

BOOL
DWORD
HANDLE
ULONG
WORD

%ptr

DIGEST_FUNCTION
DIGEST_HANDLE
LPDWORD
LPSYSTEMTIME
LPVOID
PCHAR
PCHAR *
PDWORD
PIMAGEHLP_STATUS_ROUTINE
PIMAGE_LOAD_CONFIG_DIRECTORY
PIMAGE_NT_HEADERS
PLOADED_IMAGE
PWIN_CERTIFICATE
ULONG *

%str

LPSTR

%void

VOID

%wstr

LPWSTR

%%imm32.dll

%long

BOOL
DWORD
HIMC
HKL
HWND
LONG
LPARAM
LRESULT
UINT
WPARAM

%ptr

LPCANDIDATEFORM
LPCANDIDATELIST
LPCOMPOSITIONFORM
LPCVOID
LPDWORD
LPLOGFONTA
LPLOGFONTW
LPPOINT
LPSTYLEBUFA
LPSTYLEBUFW
LPVOID
REGISTERWORDENUMPROCA
REGISTERWORDENUMPROCW

%str

LPCSTR
LPSTR

%wstr

LPCWSTR
LPWSTR

%%iphlpapi.dll

%long

BOOL
DWORD
HANDLE
IPAddr
IPMask
UINT
ULONG

%ptr

HANDLE *
LPDWORD
LPOVERLAPPED
OVERLAPPED *
PDWORD
PFIXED_INFO
PHANDLE
PIP_ADAPTER_INDEX_MAP
PIP_ADAPTER_INFO
PIP_INTERFACE_INFO
PIP_PER_ADAPTER_INFO
PIP_UNIDIRECTIONAL_ADAPTER_ADDRESS
PMIB_ICMP
PMIB_IFROW
PMIB_IFTABLE
PMIB_IFTABLE *
PMIB_IPADDRTABLE
PMIB_IPADDRTABLE *
PMIB_IPFORWARDROW
PMIB_IPFORWARDTABLE
PMIB_IPFORWARDTABLE *
PMIB_IPNETROW
PMIB_IPNETTABLE
PMIB_IPNETTABLE *
PMIB_IPSTATS
PMIB_TCPROW
PMIB_TCPSTATS
PMIB_TCPTABLE
PMIB_TCPTABLE *
PMIB_UDPSTATS
PMIB_UDPTABLE
PMIB_UDPTABLE *
PULONG

%wstr

LPWSTR

%%joystick.drv

%long

DWORD
HDRVR
LONG

%%kernel32.dll

%long

ATOM
BOOL
BYTE
CALID
CALTYPE
CHAR
COORD
DWORD
EXECUTION_STATE
GEOCLASS
GEOID
HANDLE
HFILE
HGLOBAL
HINSTANCE
HLOCAL
HMODULE
HRSRC
HWND
INT
LANGID
LATENCY_TIME
LCID
LCTYPE
LONG
SIZE_T
UINT
ULONG
WCHAR
WORD
WOW_HANDLE_TYPE
int

%long --extension

BOOL16
HANDLE16
HFILE16
HGLOBAL16
HINSTANCE16
HLOCAL16
HMODULE16
HQUEUE16
HRSRC16
HTASK16
INT16
UINT16

%long --pointer

LONG_PTR
ULONG_PTR

%longlong

DWORDLONG

%ptr

BOOL *
BY_HANDLE_FILE_INFORMATION *
CALINFO_ENUMPROCA
CHAR_INFO *
CODEPAGE_ENUMPROCA
CODEPAGE_ENUMPROCW
COMPUTER_NAME_FORMAT
CONTEXT *
CONTEXT86 *
CRITICAL_SECTION *
CURRENCYFMTA *
CURRENCYFMTW *
DATEFMT_ENUMPROCA
DATEFMT_ENUMPROCW
DWORD *
ENUMRESLANGPROCA
ENUMRESLANGPROCW
ENUMRESNAMEPROCA
ENUMRESNAMEPROCW
ENUMRESTYPEPROCA
ENUMRESTYPEPROCW
FARPROC
FARPROC *
FILETIME *
FINDEX_INFO_LEVELS
FINDEX_SEARCH_OPS
GEO_ENUMPROC
GET_FILEEX_INFO_LEVELS
GUID *
HANDLE *
INPUT_RECORD *
LANGGROUPLOCALE_ENUMPROCA
LANGGROUPLOCALE_ENUMPROCW
LANGUAGEGROUP_ENUMPROCA
LANGUAGEGROUP_ENUMPROCW
LARGE_INTEGER *
LOCALE_ENUMPROCA
LOCALE_ENUMPROCW
LONG *
LGRPID
LPBOOL
LPBYTE
LPCHAR_INFO
LPCOMMCONFIG
LPCOMMPROP
LPCOMMTIMEOUTS
LPCOMSTAT
LPCONSOLE_CURSOR_INFO
LPCONSOLE_SCREEN_BUFFER_INFO
LPCPINFO
LPCPINFOEXA
LPCPINFOEXW
LPCVOID
LPDCB
LPDEBUG_EVENT
LPDWORD
LPFIBER_START_ROUTINE
LPFILETIME
LPHEAPLIST32
LPLDT_ENTRY
LPMEMORYSTATUS
LPMEMORYSTATUSEX
LPMODULEENTRY32
LPOSVERSIONINFOEXA
LPOSVERSIONINFOEXW
LPOVERLAPPED
LPOVERLAPPED *
LPOVERLAPPED_COMPLETION_ROUTINE
LPPROCESSENTRY32
LPPROCESS_HEAP_ENTRY
LPPROCESS_INFORMATION
LPPROGRESS_ROUTINE
LPSECURITY_ATTRIBUTES
LPSMALL_RECT
LPSTARTUPINFOA
LPSTARTUPINFOW
LPSTR *
LPSYSTEMTIME
LPSYSTEM_INFO
LPSYSTEM_POWER_STATUS
LPTHREADENTRY32
LPTHREAD_START_ROUTINE
LPTIME_ZONE_INFORMATION
LPTOP_LEVEL_EXCEPTION_FILTER
LPVOID
LPVOID *
LPWORD
LPWSTR *
NUMBERFMTA *
NUMBERFMTW *
OFSTRUCT *
OSVERSIONINFOA *
OSVERSIONINFOW *
PACTCTX_SECTION_KEYED_DATA
PAPCFUNC
PBOOL
PCACTCTXA
PCACTCTXW
PDWORD
PEXCEPTION_POINTERS
PHANDLE
PHANDLER_ROUTINE
PINPUT_RECORD
PIO_COUNTERS
PLARGE_INTEGER
PLONG
PMEMORY_BASIC_INFORMATION
PSIZE_T
PVOID
PTIMERAPCROUTINE
PULARGE_INTEGER
SECURITY_ATTRIBUTES *
SIZE_T *
SYSLEVEL *
SYSLEVEL **
SYSTEMTIME *
TIMEFMT_ENUMPROCA
TIMEFMT_ENUMPROCW
ULONG_PTR *
WAITORTIMERCALLBACK
WIN32_FIND_DATAA *
WIN32_FIND_DATAW *
WORD *
char *
struct ThunkDataCommon *
va_list
va_list *
void *

%ptr --extension

BUILTIN16_DESCRIPTOR *
FARPROC16
UINT16 *
SEGPTR

%str

LPCSTR
LPSTR

%void

VOID
void

%wstr

LPCWSTR
LPWSTR

%%lz32.dll

%long

HFILE
INT
LONG
WORD

%ptr

LPOFSTRUCT

%str

LPSTR

%void

void

%wstr

LPWSTR

%%mapi32.dll

%long

BOOL
CMC_enum
CMC_return_code
CMC_session_id
DWORD
FLAGS
HRESULT
INT
LONG
SCODE
ULONG
int

%long --ptr

ULONG_PTR

%longlong

FILETIME
LONGLONG

%ptr

ALLOCATEMORE *
CMC_buffer
CMC_extension *
LPALLOCATEBUFFER
LPFREEBUFFER
LPLHANDLE
LPMAPIADVISESINK
LPMAPIADVISESINK *
LPMAPISESSION *
LPSPropTagArray
LPSPropValue
LPSRowSet
LPSRow
LPSTR *
LPSTREAM *
LPVOID
LPVOID *
LPWSTR *
PULONG
PUSHORT
ULONG *
void *

%str

LPSTR

%void

VOID

%wstr

LPCWSTR
LPWSTR

%%mcianim.drv

%long

DWORD
HDRVR
LONG

%%mciavi.drv

%long

DWORD
HDRVR
LONG

%%mcicda.drv

%long

DWORD
HDRVR
LONG

%%mciseq.drv

%long

DWORD
HDRVR
LONG

%%mciwave.drv

%long

DWORD
HDRVR
LONG

%%midimap.drv

%long

DWORD
HDRVR
LONG
UINT

%%mmdevldr.vxd

%long

BOOL
DWORD

%ptr

LPDWORD
LPOVERLAPPED
LPVOID

%%monodebg.vxd

%long

BOOL
DWORD

%ptr

LPDWORD
LPOVERLAPPED
LPVOID

%%mpr.dll

%long

BOOL
BYTE
DWORD
HANDLE
HPROVIDER
HWND
INT
UINT
WORD
enum NOTIFYTYPE

%ptr

BOOL *
ENUMPASSWORDPROC
LPAUTHDLGSTRUCTA
LPBYTE
LPCONNECTDLGSTRUCTA
LPCONNECTDLGSTRUCTW
LPCSTR *
LPDISCDLGSTRUCTA
LPDISCDLGSTRUCTW
LPDWORD
LPHANDLE
LPNETCONNECTINFOSTRUCT
LPNETINFOSTRUCT
LPNETRESOURCEA
LPNETRESOURCEW
LPSTR *
LPVOID
LPWORD
LPWSTR *
NOTIFYCALLBACK
PHPROVIDER

%str

LPCSTR
LPSTR

%void

VOID

%wstr

LPCWSTR
LPWSTR

%%msacm.drv

%long

DWORD
HDRVR
LONG
UINT
WORD

%%msacm32.dll

%long

DWORD
HACMDRIVER
HACMDRIVERID
HACMOBJ
HACMSTREAM
HDRVR
HINSTANCE
LPARAM
LRESULT
MMRESULT
UINT

%ptr

ACMDRIVERENUMCB
ACMFILTERENUMCBA
ACMFILTERENUMCBW
ACMFILTERTAGENUMCBA
ACMFILTERTAGENUMCBW
ACMFORMATENUMCBA
ACMFORMATENUMCBW
ACMFORMATTAGENUMCBA
ACMFORMATTAGENUMCBW
LPDWORD
LPVOID
PACMDRIVERDETAILSA
PACMDRIVERDETAILSW
PACMFILTERCHOOSEA
PACMFILTERCHOOSEW
PACMFILTERDETAILSA
PACMFILTERDETAILSW
PACMFILTERTAGDETAILSA
PACMFILTERTAGDETAILSW
PACMFORMATCHOOSEA
PACMFORMATCHOOSEW
PACMFORMATDETAILSA
PACMFORMATDETAILSW
PACMFORMATTAGDETAILSA
PACMFORMATTAGDETAILSW
PACMSTREAMHEADER
PHACMDRIVER
PHACMDRIVERID
PHACMSTREAM
PWAVEFILTER
PWAVEFORMATEX

%%msacmmap.dll

%long

DWORD
HDRVR
LONG
UINT
WORD

%%msdmo.dll

%long

DWORD
HRESULT
unsigned long

%ptr

DMO_MEDIA_TYPE **
DMO_MEDIA_TYPE *
DMO_PARTIAL_MEDIATYPE *
IEnumDMO **
REFCLSID
REFGUID
WCHAR *
unsigned long *

%wstr

LPCWSTR

%%msg711.acm

%long

DWORD
HDRVR
LPARAM
LRESULT
UINT

%%mshtml

%long

BOOL
HINSTANCE
HRESULT
INT

%ptr

LPVOID *
REFCLSID
REFIID

%str

LPCSTR

%%msi.dll

%long

BOOL
DWORD
HINSTANCE
HRESULT
HWND
INSTALLSTATE
INSTALLUILEVEL
LANGID
MSICOLINFO
MSICONDITION
MSIHANDLE
UINT
WORD
int
unsigned int

%ptr

BYTE *
DLLVERSIONINFO *
DWORD *
FILETIME *
HWND *
INSTALLSTATE *
INT *
LPVOID *
MSIHANDLE *
PCCERT_CONTEXT *
REFCLSID
REFIID
UINT *
char *

%str

LPCSTR
LPSTR

%wstr

LPCWSTR
LPWSTR

%%msimg32.dll

%void

void

%%msisys.ocx

%long

HRESULT

%ptr

CLSID *
IID *
void **

%%msrle32.dll

%long

DWORD
HDRVR
LRESULT
LPARAM
UINT

%%msnet32

%long

LONG

%ptr

LPVOID

%%msvcrt.dll

%double

double

%long

DWORD
INT
LCID
LONG
MSVCRT_clock_t
MSVCRT_size_t
MSVCRT_time_t
MSVCRT_wchar_t
int
long
short
unsigned int
unsigned long
unsigned short int

%longlong

__int64
unsigned __int64

%ptr

MSVCRT__onexit_t
MSVCRT__onexit_t **
MSVCRT_EXCEPTION_FRAME *
MSVCRT_FILE *
MSVCRT_fpos_t *
MSVCRT_free_func
MSVCRT_malloc_func
MSVCRT_matherr_func
MSVCRT_new_handler_func
MSVCRT_sig_handler_func
MSVCRT_time_t *
MSVCRT_wchar_t *
MSVCRT_wchar_t **
MSVCRT_wchar_t ***
MSVCRT_wint_t
PCONTEXT
PEXCEPTION_REGISTRATION_RECORD
PEXCEPTION_REGISTRATION_RECORD *
PEXCEPTION_POINTERS
PEXCEPTION_RECORD
WCHAR **
WORD **
_HEAPINFO *
_INITTERMFUN *
_JUMP_BUFFER *
_se_translator_function
char *
char **
char ***
cxx_exception_type *
int (*)(void *, void *)
int *
struct MSVCRT__exception *
struct MSVCRT__diskfree_t *
struct MSVCRT__finddata_t *
struct MSVCRT__finddatai64_t *
struct MSVCRT__stat *
struct MSVCRT__stati64 *
struct MSVCRT__wfinddata_t *
struct MSVCRT__wfinddatai64_t *
struct MSVCRT_lconv *
struct MSVCRT_tm *
struct _timeb *
struct _utimbuf *
terminate_function
type_info *
unexpected_function
unsigned char *
unsigned int *
unsigned long *
va_list
void (*)(void)
void *

%ptr --extension

_beginthread_start_routine_t
_beginthreadex_start_routine_t

%unknown

MSVCRT_div_t
MSVCRT_ldiv_t
struct MSVCRT__complex

%void

VOID
void

%%msvcrtd.dll

%long

int
unsigned long

%ptr

char *
int *
void *

%%msvcrt20.dll

%long

int

%ptr

WCHAR ***
char ***
int *

%void

void

%%msvfw32.dll

%long

BOOL
DWORD
HANDLE
HDC
HDRAWDIB
HIC
HINSTANCE
HPALETTE
HWND
INT
LONG
LPARAM
LRESULT
UINT
WORD

%ptr

FARPROC
ICINFO *
LONG *
LPBITMAPINFO
LPBITMAPINFOHEADER
LPDWORD
LPOPENFILENAMEA
LPOPENFILENAMEW
LPVOID
PCOMPVARS

%str

LPCSTR
LPSTR

%void

void

%wstr

LPCWSTR

%%msvidc32.dll

%long

DWORD
HDRVR
LONG
LRESULT
UINT

%%mswsock.dll

%long

BOOL
DWORD
HANDLE
SOCKET

%ptr

LPDWORD
LPOVERLAPPED
LPTRANSMIT_FILE_BUFFERS
PVOID

%void

void

%%netapi32.dll

%long

DWORD
NET_API_STATUS
UCHAR

%ptr

LPBYTE
LPBYTE *
LPDWORD
LPVOID
LPVOID *
LPWSTR *
PBROWSER_EMULATED_DOMAIN *
PBYTE *
PDWORD
PNCB
PVOID *

%wstr

LPCWSTR
LPWSTR

%%newdev.dll

%long

BOOL
DWORD
HWND

%ptr

LPGUID
PBOOL
PDWORD

%str

LPCSTR

%wstr

LPCWSTR

%%ntdll.dll

%double

double

%long

ACCESS_MASK
ACL_INFORMATION_CLASS
BOOL
BOOLEAN
BYTE
CCHAR
CHAR
DWORD
FILE_INFORMATION_CLASS
FS_INFORMATION_CLASS
HANDLE
HKEY
HMODULE
INT
KEY_INFORMATION_CLASS
KEY_VALUE_INFORMATION_CLASS
LCID
LONG
MEMORY_INFORMATION_CLASS
NTSTATUS
OBJECT_INFORMATION_CLASS
PROCESSINFOCLASS
SECTION_INHERIT
SECURITY_IMPERSONATION_LEVEL
SECURITY_INFORMATION
SIZE_T
SYSTEM_INFORMATION_CLASS
THREADINFOCLASS
TIMER_TYPE
TOKEN_TYPE
UCHAR
UINT
ULONG
WCHAR
WORD
enum loadorder_type
int
long
unsigned int
unsigned long

%long --pointer

ULONG_PTR

%long --extension

obj_handle_t

%longlong

DWORDLONG
LONGLONG
ULONGLONG

%ptr

ANSI_STRING *
BOOLEAN *
CONTEXT *
CLIENT_ID *
CURDIR *
DOS_PATHNAME_TYPE
DWORD *
EXCEPTION_RECORD *
EXCEPTION_REGISTRATION_RECORD *
EXCEPTION_REGISTRATION_RECORD **
FILE_NETWORK_OPEN_INFORMATION *
FILE_BASIC_INFORMATION *
GENERIC_MAPPING *
GUID *
HANDLE *
HANDLERPROC
HMODULE *
IO_STATUS_BLOCK *
IMAGE_NT_HEADERS *
IMAGE_RESOURCE_DIRECTORY **
IMAGE_RESOURCE_DATA_ENTRY *
IMAGE_RESOURCE_DATA_ENTRY **
IMAGE_SECTION_HEADER **
INT *
LARGE_INTEGER *
LCID *
LDR_RESOURCE_INFO *
LPBYTE
LPCVOID
LPCVOID *
LPDWORD
LPDWORD *
LPRTL_RWLOCK
LPTIME_ZONE_INFORMATION
LPVOID
LPVOID *
LPWSTR *
LUID *
LUID_AND_ATTRIBUTES *
MESSAGE_RESOURCE_ENTRY **
OBJECT_ATTRIBUTES *
OEM_STRING *
PACCESS_MASK
PACE_HEADER
PACE_HEADER *
PACL
PACL *
PANSI_STRING
PBOOLEAN
PBYTE
PCANSI_STRING
PCHAR
PCRTL_BITMAP
PCSZ
PDEBUG_BUFFER
PDWORD
PEXCEPTION_RECORD
PGENERIC_MAPPING
PHANDLE
PHKEY
PIMAGE_NT_HEADERS
PIMAGE_SECTION_HEADER
PIO_APC_ROUTINE
PIO_STATUS_BLOCK
PLARGE_INTEGER
PLDR_MODULE *
PLPCMESSAGE
PLPCSECTIONINFO
PLPCSECTIONMAPINFO
PLUID
PLUID_AND_ATTRIBUTES
PNTAPCFUNC
POBJDIR_INFORMATION
POBJECT_ATTRIBUTES
PPRIVILEGE_SET
PRTL_BITMAP
PRTL_BITMAP_RUN
PRTL_HEAP_DEFINITION
PRTL_USER_PROCESS_PARAMETERS
PSECURITY_DESCRIPTOR
PSECURITY_DESCRIPTOR_CONTROL
PSID
PSID *
PSID_IDENTIFIER_AUTHORITY
PSTRING
PSYSTEM_MODULE_INFORMATION
PRTL_THREAD_START_ROUTINE
PTIMERAPCROUTINE
PTIME_FIELDS
PTOKEN_PRIVILEGES
PULONG
PUNICODE_STRING
PVECTORED_EXCEPTION_HANDLER
PVOID
PVOID *
PWSTR *
RTL_CRITICAL_SECTION *
RTL_USER_PROCESS_PARAMETERS *
RTL_USER_PROCESS_PARAMETERS **
RTL_OSVERSIONINFOEXW *
SECURITY_DESCRIPTOR *
SIZE_T *
STRING *
TEB *
TIME_ZONE_INFORMATION *
UINT *
ULONG *
ULONGLONG *
USHORT *
UNICODE_STRING *
VOID *
WCHAR **
union cptable *
va_list *
void *
void **
wine_signal_handler

%ptr --extension

WCHAR *
char *
enum fd_type *
int *
obj_handle_t *

%str

LPCSTR
LPSTR

%void

VOID
void

%wstr

LPCWSTR
LPWSTR
PCWSTR
PWSTR

%%odbc32.dll

%long

SQLHANDLE
SQLHDBC
SQLHDESC
SQLHENV
SQLHSTMT
SQLHWND
SQLINTEGER
SQLRETURN
SQLSMALLINT
SQLUINTEGER
SQLUSMALLINT

%ptr

SQLCHAR *
SQLHANDLE *
SQLHDBC *
SQLHENV *
SQLHSTMT *
SQLINTEGER *
SQLPOINTER
SQLPOINTER *
SQLSMALLINT *
SQLUINTEGER *
SQLUSMALLINT *

%%ole32.dll

%long

BOOL
CLIPFORMAT
DWORD
HACCEL
HANDLE
HGLOBAL
HICON
HINSTANCE
HMENU
HOLEMENU
HRESULT
HWND
INT
LONG
UINT
ULONG
int

%ptr

CLIPFORMAT *
CLSID *
COSERVERINFO *
DVTARGETDEVICE *
DWORD *
FILETIME *
GUID *
HGLOBAL *
ICreateErrorInfo **
IDataObject *
IDataObject **
IDropSource *
IErrorInfo *
IErrorInfo **
ILockBytes *
IMoniker *
IMoniker **
IPersistStream *
IStorage *
IStorage **
IStream *
IUnknown *
IUnknown **
LPBC
LPBC *
LPCLSID
LPCRECT
LPDATAADVISEHOLDER *
LPDATAOBJECT
LPDROPTARGET
LPDWORD
LPENUMFORMATETC *
LPENUMOLEVERB *
LPFORMATETC
LPLOCKBYTES *
LPMALLOC *
LPMALLOCSPY
LPMARSHAL *
LPMESSAGEFILTER
LPMESSAGEFILTER *
LPMONIKER
LPMONIKER *
LPMSG
LPOLEADVISEHOLDER *
LPOLECLIENTSITE
LPOLEINPLACEACTIVEOBJECT
LPOLEINPLACEFRAME
LPOLEINPLACEFRAMEINFO
LPOLEMENUGROUPWIDTHS
LPOLEOBJECT
LPOLESTR *
LPOLESTREAM
LPPERSISTSTORAGE
LPRUNNINGOBJECTTABLE *
LPSTORAGE
LPSTREAM
LPSTREAM *
LPUNKNOWN
LPUNKNOWN *
LPVOID
LPVOID *
MULTI_QI *
OLECHAR *
PROPVARIANT *
PSECURITY_DESCRIPTOR
REFCLSID
REFGUID
REFIID
SNB
SOLE_AUTHENTICATION_SERVICE *
STGMEDIUM *
STGOPTIONS *
ULONG *
WCHAR *
WORD *
void *
void **

%str

LPCOLESTR
LPOLESTR

%void

VOID
void

%%oleacc.dll

%long

DWORD
HRESULT
HWND
LONG
WPARAM

%ptr

LPUNKNOWN
REFIID
void **

%%oleaut32.dll

%float

float

%double

DATE
double

%long

BOOL
BYTE
CALLCONV
DISPID
DWORD
FLOAT
HCURSOR
HICON
HINSTANCE
HPALETTE
HRESULT
HWND
INT
LCID
LONG
OLE_COLOR
REGKIND
SHORT
SYSKIND
UINT
ULONG
USHORT
VARIANT_BOOL
VARTYPE
WORD
int
short
signed char
unsigned int
unsigned long

%longlong

CY
LONG64
ULONG64

%ptr

BSTR *
BYTE *
COLORREF *
CY *
DATE *
DECIMAL *
DISPID *
DISPPARAMS *
EXCEPINFO *
GUID *
ICreateTypeLib **
ICreateTypeLib2 **
IDispatch *
INTERFACEDATA *
IRecordInfo *
IRecordInfo **
ITypeInfo *
ITypeInfo **
ITypeLib *
ITypeLib **
IUnknown *
IUnknown **
LONG *
LONG64 *
LPBSTR
LPBYTE
LPCLSID
LPCUSTDATA
LPDWORD
LPFONTDESC
LPOCPFIPARAMS
LPPICTDESC
LPSTREAM
LPSYSTEMTIME
LPUNKNOWN
LPUNKNOWN *
LPVARIANT
LPVOID
LPVOID *
NUMPARSE *
OLECHAR *
OLECHAR **
REFCLSID
REFGUID
REFIID
SAFEARRAY *
SAFEARRAY **
SAFEARRAYBOUND *
SHORT *
UDATE *
UINT *
ULONG *
ULONG64 *
USHORT *
VARIANT *
VARIANTARG *
VARIANTARG **
VARIANT_BOOL *
VARTYPE *
VOID *
double *
float *
int *
signed char *
void *
void **
unsigned char *
unsigned long *


%str

LPCOLESTR
LPCSTR
LPOLESTR

%void

void

%wstr

BSTR

%%olecli32.dll

%long

BOOL
HDC
LHCLIENTDOC
LONG
OLECLIPFORMAT
OLEOPT_RENDER
OLESTATUS

%ptr

LHCLIENTDOC *
LONG *
LPOLECLIENT
LPOLEOBJECT
LPOLEOBJECT *

%str

LPCSTR

%%oledlg.dll

%long

BOOL
HMENU
HWND
INT
UINT
WORD

%ptr

HMENU *
LPOLEOBJECT
LPOLEUIBUSYA
LPOLEUIBUSYW
LPOLEUICHANGEICONA
LPOLEUICHANGEICONW
LPOLEUICHANGESOURCEA
LPOLEUICHANGESOURCEW
LPOLEUICONVERTA
LPOLEUICONVERTW
LPOLEUIEDITLINKSA
LPOLEUIEDITLINKSW
LPOLEUIINSERTOBJECTA
LPOLEUIINSERTOBJECTW
LPOLEUILINKCONTAINERA
LPOLEUILINKCONTAINERW
LPOLEUIOBJECTPROPSA
LPOLEUIOBJECTPROPSW
LPOLEUIPASTESPECIALA
LPOLEUIPASTESPECIALW
REFCLSID

%str

LPCSTR
LPSTR

%wstr

LPCWSTR
LPWSTR

%%olepro32.dll

%long

HRESULT

%ptr

LPVOID *
REFCLSID
REFIID

%%olesvr32.dll

%long

HINSTANCE
LHSERVER
LHSERVERDOC
OLESTATUS
OLE_SERVER_USE

%ptr

BOOL *
LHSERVER *
LHSERVERDOC *
LPOLESERVER
LPOLESERVERDOC

%str

LPCSTR

%%opengl32.dll

%double

GLclampd
GLdouble

%long

BOOL
DWORD
FLOAT
GLbitfield
GLboolean
GLbyte
GLclampf
GLenum
GLfloat
GLint
GLshort
GLsizei
GLubyte
GLuint
GLushort
HDC
HGLRC
UINT
int

%ptr

COLORREF *
GLboolean *
GLbyte *
GLclampf *
GLdouble *
GLfloat *
GLint *
GLshort *
GLubyte *
GLuint *
GLushort *
GLvoid *
GLvoid **
LPGLYPHMETRICSFLOAT
LPLAYERPLANEDESCRIPTOR
void *

%str

LPCSTR

%void

void

%%psapi.dll

%long

BOOL
DWORD
HANDLE
HMODULE

%ptr

DWORD *
HMODULE *
LPDWORD
LPMODULEINFO
LPVOID
LPVOID *
PPROCESS_MEMORY_COUNTERS
PPSAPI_WS_WATCH_INFORMATION

%str

LPSTR

%wstr

LPWSTR

%%qcap.dll

%long

HRESULT

%ptr

REFCLSID
REFIID
LPVOID *

%%quartz.dll

%long

DWORD
HRESULT

%ptr

REFCLSID
REFIID
LPVOID *

%%rasapi32.dll

%long

BOOL
DWORD
HRASCONN

%ptr

LPBOOL
LPBYTE
LPCSTR *
LPCWSTR *
LPDWORD
LPRASAUTODIALENTRYA
LPRASAUTODIALENTRYW
LPRASCONNA
LPRASCONNW
LPRASDEVINFOA
LPRASDEVINFOW
LPRASDIALPARAMSA
LPRASENTRYA
LPRASENTRYW
LPRASENTRYNAMEA
LPRASENTRYNAMEW
LPVOID

%str

LPCSTR

%wstr

LPCWSTR

%%riched32.dll

%long

HRESULT

%ptr

DLLVERSIONINFO *

%%rpcrt4.dll

%long

DWORD
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
LPUNKNOWN
LPVOID
LPVOID *
LPWSTR *
MIDL_STUB_MESSAGE *
PFORMAT_STRING
PMIDL_STUB_DESC
PMIDL_STUB_MESSAGE
PRPC_MESSAGE
PRPC_POLICY
PRPCOLEMESSAGE
ProxyFileInfo **
REFCLSID
REFIID
RPC_AUTH_KEY_RETRIEVAL_FN
RPC_BINDING_HANDLE *
RPC_BINDING_VECTOR *
RPC_BINDING_VECTOR **
RPC_BLOCKING_FN
RPC_IF_CALLBACK_FN *
RPC_MGR_EPV *
RPC_STATUS *
UUID *
UUID_VECTOR *
unsigned char *
unsigned char **
unsigned short *
unsigned short **
void *

%wstr

LPWSTR

%void

void

%%rsabase.dll

%long

ALG_ID
BOOL
DWORD
HCRYPTHASH
HCRYPTKEY
HCRYPTPROV
HRESULT

%ptr

BYTE *
DWORD *
HCRYPTHASH *
HCRYPTKEY *
HCRYPTPROV *

%str

LPSTR
PVTableProvStruc

%wstr

LPCWSTR

%%secur32.dll

%long

SECURITY_STATUS
ULONG
unsigned long

%ptr

HANDLE *
PCredHandle
PCtxtHandle
PLUID
PSecBuffer
PSecBufferDesc
PSecPkgInfoA *
PSecPkgInfoW *
PSecurityFunctionTableA
PSecurityFunctionTableW
PTimeStamp
PULONG
PVOID
SEC_CHAR *
SEC_GET_KEY_FN
SEC_WCHAR *
unsigned long *
void *
void **

%%serialui.dll

%long

BOOL
DWORD
HWND
LPARAM

%ptr

LPCOMMCONFIG
LPDEVICE_INFO
LPDWORD
LPFNADDPROPSHEETPAGE

%str

LPCSTR

%%setupapi.dll

%long

BOOL
DWORD
HANDLE
HDEVINFO
HDSKSPC
HINF
HINSTANCE
HKEY
HSPFILEQ
HWND
INT
LONG
REGSAM
UINT

%long --ptr

UINT_PTR

%ptr

BYTE *
GUID *
INFCONTEXT *
LONGLONG *
LPDWORD
LPCVOID
LPGUID
PBYTE
PDWORD
PINFCONTEXT
PINT
PSP_DEVICE_INTERFACE_DATA
PSP_DEVICE_INTERFACE_DETAIL_DATA_A
PSP_DEVICE_INTERFACE_DETAIL_DATA_W
PSP_DEVINFO_DATA
PSP_DEVINFO_LIST_DETAIL_DATA_A
PSP_DEVINFO_LIST_DETAIL_DATA_W
PSP_FILE_CALLBACK_A
PSP_FILE_CALLBACK_W
PSP_FILE_COPY_PARAMS_A
PSP_FILE_COPY_PARAMS_W
PSP_INF_INFORMATION
PSTR *
PUINT
PVOID
UINT *
void *

%str

LPCSTR
LPSTR
PCSTR
PSTR

%void

void

%wstr

LPCWSTR
LPWSTR
PCWSTR
PWSTR

%%shdocvw.dll

%long

BOOL
DWORD
HRESULT

%ptr

DLLVERSIONINFO *
LPVOID *
REFCLSID
REFIID

%wstr

LPCWSTR

%%shell32.dll

%long

BOOL
COLORREF
DWORD
HANDLE
HBITMAP
HDROP
HGLOBAL
HICON
HIMAGELIST
HINSTANCE
HKEY
HMENU
HMODULE
HRESULT
HWND
INT
LONG
LRESULT
RESTRICTIONS
UINT
ULONG
WORD
WPARAM
int

%longlong

POINT

%ptr

AUTO_SCROLL_DATA *
CABINETSTATE *
CLSID *
DLLVERSIONINFO *
DWORD *
FARPROC
FORMATETC *
HICON *
HIMAGELIST *
HWND *
IShellFolder *
IShellFolder **
IStream *
ITEMIDLIST *
LPBROWSEINFOA
LPBROWSEINFOW
LPBYTE
LPCITEMIDLIST
LPCITEMIDLIST *
LPCRECT
LPCSHELLFOLDERVIEWINFO
LPCVOID
LPCVOID *
LPDATAOBJECT
LPDATAOBJECT *
LPDRAWITEMSTRUCT
LPDROPSOURCE
LPDROPTARGET
LPDWORD
LPENUMFORMATETC *
LPFNCREATEINSTANCE
LPFNFMCALLBACK
LPITEMIDLIST
LPITEMIDLIST *
LPITEMIDLIST **
LPLONG
LPMALLOC *
LPMEASUREITEMSTRUCT
LPPOINT
LPSECURITY_ATTRIBUTES
LPSHELLEXECUTEINFOA
LPSHELLEXECUTEINFOW
LPSHELLFLAGSTATE
LPSHELLFOLDER
LPSHELLSTATE
LPSHELLVIEW *
LPSHFILEOPSTRUCTA
LPSHFILEOPSTRUCTW
LPSTRRET
LPTPMPARAMS
LPUNKNOWN
LPUNKNOWN *
LPVOID
LPVOID *
LPWORD
LPWSTR *
PAPPBARDATA
PHKEY
PNOTIFYICONDATAA
PNOTIFYICONDATAW
POINT *
REFCLSID
REFIID
SHChangeNotifyEntry *
SHFILEINFOA *
SHFILEINFOW *
int *

%str

LPCSTR
LPSTR

%void

VOID
void

%wstr

LPCWSTR
LPWSTR

%%shlwapi.dll

%long

ASSOCF
ASSOCKEY
ASSOCSTR
BOOL
COLORREF
DISPID
DWORD
HANDLE
HDC
HDROP
HICON
HINSTANCE
HKEY
HMENU
HMODULE
HPALETTE
HRESULT
HSHARED
HUSKEY
HWND
INT
LANGID
LONG
LPARAM
LRESULT
REGSAM
SHREGENUM_FLAGS
UCHAR
UINT
ULONG
URLIS
WCHAR
WORD
WPARAM
char
int

%long --ptr

INT_PTR

%longlong

LONGLONG

%ptr

BOOL *
BSTR *
CLSID *
DLGPROC
DLLVERSIONINFO *
DWORD *
HICON *
HKEY *
HWND *
IBindCtx *
IConnectionPoint *
IConnectionPoint **
IDispatch **
IFACE_INDEX_TBL *
IID *
INT *
IPropertyBag *
IShellFolder *
IStream *
IStream **
ITEMIDLIST *
IUnknown *
IUnknown **
LPBC
LPBROWSEINFOW
LPBYTE
LPCITEMIDLIST
LPCRECT
LPCSHLWAPI_CLIST
LPCSTR *
LPCVOID
LPCWSTR *
LPDWORD
LPINT
LPITEMIDLIST
LPOPENFILENAMEW
LPPAGESETUPDLGW
LPPOLICYDATA
LPPRINTDLGW
LPSECURITY_ATTRIBUTES
LPSHELLEXECUTEINFOW
LPSHFILEOPSTRUCTW
LPSHLWAPI_CLIST
LPSHLWAPI_CLIST *
LPSTR *
LPSTRRET
LPTHREAD_START_ROUTINE
LPUNKNOWN
LPVOID
LPVOID *
LPWORD
LPWSTR *
OLECMD *
OLECMDTEXT *
PHKEY
PHUSKEY
PLONG
PSECURITY_DESCRIPTOR
PVOID
RECT *
REFCLSID
REFGUID
REFIID
SHFILEINFOW *
STRRET *
UINT *
ULARGE_INTEGER *
VARIANT *
VOID *
WNDCLASSA *
int *
unsigned char *
va_list
void **

%ptr --extension

UNKNOWN_SHLWAPI_1 *
UNKNOWN_SHLWAPI_2 *
WNDCLASSW *

%str

LPCSTR
LPSTR

%struct16

CLSID

%void

VOID
void

%wstr

LPCWSTR
LPWSTR

%%sti.dll

%long

DWORD
HINSTANCE
HRESULT

%ptr

LPVOID

%%tapi32.dll

%long

DWORD
HCALL
HINSTANCE
HLINE
HLINEAPP
HPHONE
HPHONEAPP
HWND

%ptr

HICON *
LINECALLBACK
LPDWORD
LPHCALL
LPHLINE
LPHLINEAPP
LPHPHONE
LPHPHONEAPP
LPLINEADDRESSCAPS
LPLINEADDRESSSTATUS
LPLINECALLINFO
LPLINECALLLIST
LPLINECALLPARAMS
LPLINECALLSTATUS
LPLINECOUNTRYLIST
LPLINEDEVCAPS
LPLINEDEVSTATUS
LPLINEDIALPARAMS
LPLINEEXTENSIONID
LPLINEFORWARDLIST
LPLINEGENERATETONE
LPLINEMEDIACONTROLCALLSTATE
LPLINEMEDIACONTROLDIGIT
LPLINEMEDIACONTROLMEDIA
LPLINEMEDIACONTROLTONE
LPLINEMONITORTONE
LPLINEPROVIDERLIST
LPLINETRANSLATECAPS
LPLINETRANSLATEOUTPUT
LPPHONEBUTTONINFO
LPPHONECAPS
LPPHONEEXTENSIONID
LPPHONESTATUS
LPVARSTRING
LPVOID
PHONECALLBACK

%str

LPCSTR
LPSTR

%%ttydrv.dll

%long

BOOL
COLORREF
DWORD
HANDLE
HBITMAP
HDC
HFONT
HKL
HRGN
HWND
INT
LONG
SHORT
UINT
WCHAR
int

%ptr

BITMAPINFO *
CREATESTRUCTA *
DEVMODEW *
DWORD *
INT *
LPBYTE
LPCVOID
LPINT
LPPALETTEENTRY
LPPOINT
LPSIZE
LPTEXTMETRICW
POINT *
RECT *
TTYDRV_PDEVICE *
TTYDRV_PDEVICE **
WINDOWPOS *
struct tagCURSORICONINFO *
void *

%str

LPCSTR

%void

void

%wstr

LPCWSTR
LPWSTR

%%twain_32.dll

%long

TW_UINT16
TW_UINT32

%ptr

TW_MEMREF
pTW_IDENTITY

%%urlmon.dll

%long

BOOL
DWORD
HRESULT
QUERYOPTION
long

%ptr

BINDINFO *
DWORD *
IBindCtx *
IBindCtx **
IBindStatusCallback *
IBindStatusCallback **
IEnumFORMATETC *
IInternetSession **
IMoniker *
IMoniker **
LPBC
LPBINDSTATUSCALLBACK
LPWSTR *
LPUNKNOWN
LPVOID
LPVOID *
REFCLSID
REFIID

%str

LPCSTR

%void

void

%wstr

LPCWSTR
LPWSTR

%%user32.dll

%long

ATOM
BOOL
BYTE
CHAR
COLORREF
GUITHREADINFO *
DWORD
HACCEL
HANDLE
HBITMAP
HBRUSH
HCONV
HCONVLIST
HCURSOR
HDC
HDDEDATA
HDESK
HDEVNOTIFY
HDWP
HFONT
HHOOK
HICON
HINSTANCE
HKL
HMENU
HMODULE
HMONITOR
HRESULT
HRGN
HSZ
HTASK
HWINEVENTHOOK
HWINSTA
HWND
INT
LONG
LPARAM
LRESULT
SHORT
UINT
WCHAR
WORD
WPARAM
int

%long --pointer

INT_PTR
UINT_PTR
ULONG_PTR

%long --extension

HANDLE16
HDRVR16
HGLOBAL16
HINSTANCE16
HMODULE16
HWND16
INT16
UINT16
WPARAM16

%longlong

POINT

%ptr

BOOL *
COLORREF *
DLGPROC
DESKTOPENUMPROCA
DESKTOPENUMPROCW
DRAWSTATEPROC
DWORD *
GRAYSTRINGPROC
HANDLE *
HBRUSH *
HICON *
HKL *
HOOKPROC
HWND *
INT *
LPACCEL
LPBYTE
LPCDLGTEMPLATEA
LPCDLGTEMPLATEW
LPCMENUINFO
LPCVOID
LPDEVMODEA
LPDEVMODEW
LPDISPLAY_DEVICEA
LPDISPLAY_DEVICEW
LPDRAWTEXTPARAMS
LPDWORD
LPINPUT
LPINT
LPMENUINFO
LPMENUITEMINFOA
LPMENUITEMINFOW
LPMONITORINFO
LPMSG
LPMSGBOXPARAMSA
LPMSGBOXPARAMSW
LPPOINT
LPRECT
LPSCROLLINFO
LPSECURITY_ATTRIBUTES
LPTPMPARAMS
LPVOID
LPWORD
MENUITEMINFOA *
MENUITEMINFOW *
MONITORENUMPROC
MSG *
PAINTSTRUCT *
PCOMBOBOXINFO
PCONVCONTEXT
PCONVINFO
PCURSORINFO
PDWORD_PTR
PFLASHWINFO
PFNCALLBACK
PICONINFO
POINT *
PROPENUMPROCA
PROPENUMPROCEXA
PROPENUMPROCEXW
PROPENUMPROCW
PSECURITY_DESCRIPTOR
PSECURITY_INFORMATION
PSECURITY_QUALITY_OF_SERVICE
PTITLEBARINFO
PUINT_PTR
PVOID
PWINDOWINFO
RECT *
SCROLLINFO *
SECURITY_QUALITY_OF_SERVICE *
SENDASYNCPROC
TIMERPROC
TRACKMOUSEEVENT *
UINT *
WINDOWPLACEMENT *
WINEVENTPROC
WINSTAENUMPROCA
WINSTAENUMPROCW
WNDCLASSA *
WNDCLASSEXA *
WNDCLASSEXW *
WNDCLASSW *
WNDENUMPROC
WNDPROC
va_list

%ptr --extension

DLGPROC16
WND *
WNDPROC16

%str

LPCSTR
LPSTR

%void

VOID
void

%wstr

LPCWSTR
LPWSTR

%%uxtheme.dll

%long

BOOL
COLORREF
DWORD
HBRUSH
HDC
HIMAGELIST
HRESULT
HRGN
HTHEME
HTHEMEFILE
HWND
THEMESIZE
UINT
int

%longlong

POINT 

%ptr

BOOL *
COLORREF *
DTBGOPTS *
EnumThemeProc
HRGN *
HTHEMEFILE *
INTLIST *
LOGFONTW *
LPVOID
MARGINS *
POINT *
PROPERTYORIGIN *
ParseThemeIniFileProc
RECT *
SIZE *
TEXTMETRICW *
WORD *
char *
int *

%void

void

%wstr

LPCWSTR
LPWSTR

%%vdhcp.vxd

%long

BOOL
DWORD

%ptr

LPDWORD
LPOVERLAPPED
LPVOID

%%version.dll

%long

BOOL
DWORD
UINT

%ptr

LPDWORD
LPVOID
LPVOID *
UINT *

%str

LPCSTR
LPSTR

%wstr

LPCWSTR
LPWSTR

%%vmm.vxd

%long

DWORD

%%vnbt.vxd

%long

BOOL
DWORD

%ptr

LPDWORD
LPOVERLAPPED
LPVOID

%%vnetbios.vxd

%long

BOOL
DWORD

%ptr

LPDWORD
LPOVERLAPPED
LPVOID

%%vtdapi.vxd

%long

BOOL
DWORD

%ptr

LPDWORD
LPOVERLAPPED
LPVOID

%%vwin32.vxd

%long

BOOL
DWORD

%ptr

LPDWORD
LPOVERLAPPED
LPVOID

%%w32skrnl.dll

%long

HTASK16

%str

LPSTR

%%winealsa.drv

%long

DWORD
HDRVR
LONG
UINT
WORD

%%winearts.drv

%long

DWORD
HDRVR
LONG
UINT
WORD

%%wineaudioio.drv

%long

DWORD
HDRVR
LONG
UINT
WORD

%%wined3d.dll

%long

UINT

%ptr

IDirect3DImpl *

%%winedos.dll

%long

BYTE
DWORD
int

%str

LPCSTR

%void

void

%%winejack.drv

%long

DWORD
HDRVR
LONG
UINT
WORD

%%winemp3.acm

%long

DWORD
HDRVR
LPARAM
LRESULT
UINT

%%winenas.drv

%long

DWORD
HDRVR
LONG
WORD
UINT

%%wineoss.drv

%long

DWORD
HDRVR
LONG
UINT
WORD

%%wineps.dll

%long

BOOL
COLORREF
DWORD
HANDLE
HBITMAP
HBRUSH
HDC
HFONT
HPEN
HRGN
HWND
INT
LPARAM
UINT
WORD

%ptr

BITMAPINFO *
DEVMODEW *
DOCINFOA *
DWORD *
FONTENUMPROCW
INT *
LPCVOID
LPDEVMODEA
LPINT
LPLOGFONTW
LPSIZE
LPVOID
POINT *
PSDRV_PDEVICE *
PSDRV_PDEVICE **
RECT *
TEXTMETRICW *
void *

%str

LPCSTR
LPSTR

%void

void

%wstr

LPCWSTR

%%wininet.dll

%double

GROUPID

%long

BOOL
DWORD
HANDLE
HINTERNET
HRESULT
HWND
INTERNET_PORT
LONG

%longlong

FILETIME

%ptr

GOPHER_ATTRIBUTE_ENUMERATORA
GOPHER_ATTRIBUTE_ENUMERATORW
HANDLE *
INTERNET_STATUS_CALLBACK
LPBYTE
LPCSTR *
LPCVOID
LPCWSTR *
LPDWORD
LPGOPHER_FIND_DATAA
LPGOPHER_FIND_DATAW
LPINTERNET_BUFFERSA
LPINTERNET_BUFFERSW
LPINTERNET_CACHE_ENTRY_INFOA
LPINTERNET_CACHE_ENTRY_INFOW
LPURL_COMPONENTSA
LPURL_COMPONENTSW
LPVOID
LPVOID *
LPWIN32_FIND_DATAA
LPWIN32_FIND_DATAW
PVOID

%str

LPCSTR
LPSTR

%wstr

LPCWSTR
LPWSTR

%%winmm.dll

%long

BOOL
DWORD
FOURCC
HDRVR
HINSTANCE
HMIDIIN
HMIDIOUT
HMIDISTRM
HMIXER
HMIXEROBJ
HMMIO
HMODULE
HTASK
HWAVEIN
HWAVEOUT
HWND
INT
LONG
LPARAM
LRESULT
MCIERROR
MCIDEVICEID
MMRESULT
UINT

%long --ptr

DWORD_PTR
UINT_PTR

%long --forbidden

HMMIO16
UINT16

%ptr

DWORD *
HMIDIIN *
HMIDISTRM *
HPCSTR
HPSTR
HWAVEIN *
LPAUXCAPSA
LPAUXCAPSW
LPBYTE
LPDWORD
LPHMIXER
LPJOYCAPSA
LPJOYCAPSW
LPJOYINFO
LPJOYINFOEX
LPMIDIHDR
LPMIDIINCAPSA
LPMIDIINCAPSW
LPHMIDIOUT
LPMIDIOUTCAPSA
LPMIDIOUTCAPSW
LPMIXERCAPSA
LPMIXERCAPSW
LPMIXERCONTROLDETAILS
LPMIXERLINEA
LPMIXERLINECONTROLSA
LPMIXERLINECONTROLSW
LPMIXERLINEW
LPMMCKINFO
LPMMIOPROC
LPMMTIME
LPTIMECALLBACK
LPTIMECAPS
LPUINT
LPWAVEFORMATEX
LPWAVEHDR
LPWAVEINCAPSA
LPWAVEINCAPSW
LPHWAVEOUT
LPWAVEOUTCAPSA
LPWAVEOUTCAPSW
MIDIHDR *
MMCKINFO *
MMIOINFO *
UINT *
WAVEHDR *
WORD *
YIELDPROC

%str

LPCSTR
LPSTR

%wstr

LPCWSTR
LPWSTR

%%winnls32.dll

%long

BOOL
HWND

%%winspool.drv

%long

BOOL
DWORD
HANDLE
HWND
INT
LONG
WORD

%ptr

DEVMODEW *
HANDLE *
LPBYTE
LPDEVMODEA
LPDEVMODEW
LPDWORD
LPPRINTER_DEFAULTSA
LPPRINTER_DEFAULTSW
LPVOID
PBYTE
PDWORD

%str

LPCSTR
LPSTR

%wstr

LPCWSTR
LPWSTR

%%wintab32.dll

%long

BOOL
DWORD
LPARAM
LRESULT
HCTX
HMGR
HWND
HWTHOOK
UINT
WPARAM
int

%ptr

LPBYTE
LPINT
LPLOGCONTEXTA
LPLOGCONTEXTW
LPVOID
UINT *
WTENUMPROC

%str

LPSTR

%wstr

LPWSTR

%%wintrust.dll

%long

HWND
LONG

%ptr

GUID *
LPVOID

%%wnaspi32.dll

%long

BOOL
DWORD

%ptr

LPDWORD
LPSRB
PASPI32BUFF

%%ws2_32.dll

%long

BOOL
DWORD
GROUP
HANDLE
HWND
INT
LONG
SOCKET
UINT
WORD
WSAEVENT
int
long
u_long
u_short

%ptr

FARPROC
INT *
LPCONDITIONPROC
LPDWORD
LPGUID
LPHANDLE
LPINT
LPQOS
LPSOCKADDR
LPVOID
LPWPUPOSTMESSAGE
LPWSABUF
LPWSADATA
LPWSANETWORKEVENTS
LPWSAOVERLAPPED
LPWSAOVERLAPPED_COMPLETION_ROUTINE
LPWSAPROTOCOL_INFOA
LPWSAPROTOCOL_INFOW
LPWSASERVICECLASSINFOA
LPWSASERVICECLASSINFOW
LPWSAQUERYSETA
LPWSAQUERYSETW
WS_fd_set *
char *
int *
struct WS_hostent *
struct WS_protoent *
struct WS_servent *
struct WS_sockaddr *
struct WS_timeval *
u_long *
u_short *

%str

LPCSTR
LPSTR

%unknown

struct WS_in_addr

%void

void

%wstr

LPCWSTR

%%wsock32.dll

%long

DWORD
INT
SOCKET
UINT

%ptr

INT *
LPDWORD
LPGUID
LPINT
LPSERVICE_ASYNC_INFO
LPSERVICE_INFOA
LPSERVICE_INFOW
LPVOID
char *
struct netent *

%str

LPCSTR
LPSTR

%void

void

%wstr

LPWSTR

%%x11drv.dll

%long

BOOL
COLORREF
DWORD
HANDLE
HANDLE16
HBITMAP
HBRUSH
HDC
HFONT
HICON
HKL
HPALETTE
HPEN
HRGN
HWND
INT
LONG
LPARAM
SHORT
UINT
WCHAR
WPARAM
int

%ptr

BITMAPINFO *
BYTE *
CREATESTRUCTA *
CURSORICONINFO *
DEVMODEW *
DWORD *
FONTENUMPROCW
HANDLE *
HANDLE16 *
HKL *
INT *
LPBYTE
LPCVOID
LPDEVMODEW
LPINT
LPLOGFONTW
LPPALETTEENTRY
LPPOINT
LPRECT
LPSIZE
LPVOID
LPWTPACKET *
PIXELFORMATDESCRIPTOR *
POINT *
RECT *
RGBQUAD *
TEXTMETRICW *
WINDOWPOS *
X11DRV_PDEVICE *
X11DRV_PDEVICE **
VOID **
void *

%str

LPCSTR
LPSTR

%void

void

%wstr

LPCWSTR
LPWSTR
