%%activeds.dll

%long

BOOL
HRESULT
ULONG

%wstr

LPWSTR

%ptr

LPVOID
LPVOID *
LPVOID **
REFIID
ULONG *
VOID **

%%advapi32.dll

%long

ACCESS_MASK
ACCESS_MODE
ACL_INFORMATION_CLASS
ALG_ID
BOOL
BYTE
DWORD
HANDLE
HCRYPTHASH
HCRYPTKEY
HCRYPTPROV
HKEY
INT
LONG
NTSTATUS
POLICY_INFORMATION_CLASS
REGSAM
SC_HANDLE
SC_STATUS_TYPE
SE_OBJECT_TYPE
SECURITY_DESCRIPTOR_CONTROL
SECURITY_IMPERSONATION_LEVEL
SECURITY_INFORMATION
SERVICE_STATUS_HANDLE
TOKEN_INFORMATION_CLASS
TOKEN_TYPE
TRUSTEE_FORM
TRUSTEE_TYPE
UINT
ULONG
WORD
unsigned int

%long --extension

LSA_HANDLE

%ptr

BYTE *
DWORD *
FILETIME *
GUID *
HANDLE *
HCRYPTHASH *
HCRYPTKEY *
HCRYPTPROV *
LPBOOL
LPBYTE
LPCGUID
LPCSTR *
LPCVOID
LPCWSTR *
LPDWORD
LPENUM_SERVICE_STATUSA
LPENUM_SERVICE_STATUSW
LPHANDLER_FUNCTION
LPHW_PROFILE_INFOA
LPHW_PROFILE_INFOW
LPINT
LPLONG
LPPROCESS_INFORMATION
LPQUERY_SERVICE_CONFIGA
LPQUERY_SERVICE_CONFIGW
LPQUERY_SERVICE_LOCK_STATUSA
LPQUERY_SERVICE_LOCK_STATUSW
LPSECURITY_ATTRIBUTES
LPSERVICE_STATUS
LPSERVICE_TABLE_ENTRYA
LPSERVICE_TABLE_ENTRYW
LPSTARTUPINFOA
LPSTARTUPINFOW
LPSTR *
LPVOID
LPVOID *
LPWSTR *
MD4_CTX *
MD5_CTX *
PACCESS_MASK
PACL
PACL *
PACTRL_ACCESSW *
PACTRL_AUDITW *
PBOOL
PCHAR
PDWORD
PEXPLICIT_ACCESSA
PEXPLICIT_ACCESSA *
PEXPLICIT_ACCESS_A
PEXPLICIT_ACCESSW
PEXPLICIT_ACCESSW *
PEXPLICIT_ACCESS_W
PGENERIC_MAPPING
PHANDLE
PHKEY
PLSA_ENUMERATION_HANDLE
PLSA_HANDLE
PLSA_OBJECT_ATTRIBUTES
PLSA_REFERENCED_DOMAIN_LIST *
PLSA_TRANSLATED_NAME *
PLSA_TRANSLATED_SID *
PLSA_UNICODE_STRING
PLSA_UNICODE_STRING *
PLUID
PMENUBARINFO
POBJECT_TYPE_LIST
POBJECTS_AND_NAME_A
POBJECTS_AND_NAME_W
POBJECTS_AND_SID
PPRIVILEGE_SET
PSECURITY_DESCRIPTOR
PSECURITY_DESCRIPTOR *
PSECURITY_DESCRIPTOR_CONTROL
PSHA_CTX
PSID
PSID *
PSID_IDENTIFIER_AUTHORITY
PSID_NAME_USE
PTOKEN_GROUPS
PTRACE_GUID_REGISTRATION
PTRACEHANDLE
PTRUSTEEA
PTRUSTEE_A
PTRUSTEEW
PTRUSTEE_W
PUCHAR
PULONG
PVOID
PVOID *
PVALENTA
PVALENTW
RTL_TIME_ZONE_INFORMATION *
SC_LOCK
SECURITY_ATTRIBUTES *
WCHAR *
WMIDPREQUEST
unsigned char *

%str

LPCSTR
LPSTR

%void

VOID

%wstr

LPCWSTR
LPWSTR

%%advpack.dll

%long

BOOL
DWORD
HINSTANCE
HMODULE
HRESULT
HWND
INT

%ptr

HANDLE *
LPCSTRTABLE
LPDWORD
LPVOID
SETUPCOMMAND_PARAMS *

%str

LPCSTR
LPSTR

%void

void

%%amstream.dll

%long

DWORD
HRESULT

%ptr

LPVOID *
REFCLSID
REFIID

%%atl.dll

%long

BOOL
DWORD
HINSTANCE
HRESULT

%ptr

_ATL_INTMAP_ENTRY *
_ATL_MODULEA *
_ATL_MODULEW *
_ATL_OBJMAP_ENTRYA *
CLSID *
IID *
IRegistrar *
IStream *
IStream **
IUnknown *
IUnknown **
LPDWORD
LPVOID
LPVOID *
REFCLSID
REFIID
struct _ATL_REGMAP_ENTRY *

%str

LPCOLESTR

%%avicap32.dll

%long

BOOL
DWORD
HWND
INT
WORD

%str

LPSTR
LPCSTR

%wstr

LPCWSTR
LPWSTR

%%avifil32.dll

%long

BOOL
DWORD
HANDLE
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
TCOMP
USHORT
int

%long --pointer

INT_PTR

%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

LPVOID
PCHAR
ULONG *

%str

PCSTR

%%comcat.dll

%long

HRESULT

%ptr

LPVOID *
REFCLSID
REFIID

%%comctl32.dll

%long

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

%long --pointer

DWORD_PTR
UINT_PTR

%longlong

POINT

%ptr

DLLVERSIONINFO *
DPALOADPROC
DWORD_PTR *
HDPA *
HICON *
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 *
RGBQUAD *
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
LPPRINTDLGEXA
LPPRINTDLGEXW
LPPRINTDLGW

%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 *
LPWSTR *
PCCERT_CONTEXT
PCCRL_CONTEXT
PCCRL_CONTEXT *
PCRYPT_DECODE_PARA
PCRYPT_ENCODE_PARA
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

BOOL
HRESULT
UINT

%ptr

IDirect3D9 *
LPVOID

%%d3dxof.dll

%long

DWORD
HRESULT

%ptr

REFCLSID
REFIID
LPDIRECTXFILE *
LPVOID *

%%dbghelp.dll

%long

BOOL
DWORD
HANDLE
HMODULE
IMAGEHLP_SYMBOL_TYPE_INFO
MINIDUMP_TYPE
ULONG

%longlong

DWORD64
ULONG64

%ptr

DWORD64 *
LPAPI_VERSION
LPSTACKFRAME
LPVOID
PDWORD
PENUMDIRTREE_CALLBACK
PENUMLOADED_MODULES_CALLBACK
PFIND_DEBUG_FILE_CALLBACK
PFINDFILEINPATHCALLBACK
PFUNCTION_TABLE_ACCESS_ROUTINE
PGET_MODULE_BASE_ROUTINE
PIMAGE_DEBUG_INFORMATION
PIMAGEHLP_CONTEXT
PIMAGEHLP_LINE
PIMAGEHLP_MODULE
PIMAGEHLP_SYMBOL
PIMAGEHLP_STACK_FRAME
PMINIDUMP_CALLBACK_INFORMATION
PMINIDUMP_DIRECTORY *
PMINIDUMP_EXCEPTION_INFORMATION
PMINIDUMP_USER_STREAM_INFORMATION
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
ULONG *
char *
char **
void *
void **

%str

LPCSTR
LPSTR
PCSTR
PSTR

%%dciman32.dll

%long

HDC
int

%ptr

LPDCISURFACEINFO *

%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
LPDIRECTSOUND *
LPDIRECTSOUND8 *
LPDIRECTSOUNDBUFFER8 *
LPDIRECTSOUNDCAPTURE *
LPDIRECTSOUNDCAPTURE8 *
LPDIRECTSOUNDCAPTUREBUFFER8 *
LPDIRECTSOUNDFULLDUPLEX *
LPDSENUMCALLBACKA
LPDSENUMCALLBACKW
LPGUID
LPUNKNOWN
LPVOID
LPVOID *
REFCLSID
REFIID

%%dswave.dll

%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

HDC16
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
HMODULE
HRESULT
HWND
UINT
int

%str

LPCSTR
LPSTR

%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

%%itss.dll

%long

HRESULT

%ptr

LPVOID *
REFCLSID
REFIID

%%joystick.drv

%long

DWORD
HDRVR
LONG

%%kernel32.dll

%long

ATOM
BOOL
BYTE
CALID
CALTYPE
CHAR
COORD
DWORD
EXECUTION_STATE
GEOCLASS
GEOID
GEOTYPE
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

DWORD_PTR
LONG_PTR
ULONG_PTR

%longlong

DWORDLONG
LARGE_INTEGER

%ptr

BOOL *
BY_HANDLE_FILE_INFORMATION *
CALINFO_ENUMPROCA
CALINFO_ENUMPROCEXA
CALINFO_ENUMPROCEXW
CALINFO_ENUMPROCW
CHAR_INFO *
CODEPAGE_ENUMPROCA
CODEPAGE_ENUMPROCW
COMPUTER_NAME_FORMAT
CONTEXT *
CRITICAL_SECTION *
CURRENCYFMTA *
CURRENCYFMTW *
DATEFMT_ENUMPROCA
DATEFMT_ENUMPROCEXA
DATEFMT_ENUMPROCEXW
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 *
IMAGE_DOS_HEADER *
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
LPMODULEENTRY32W
LPOSVERSIONINFOEXA
LPOSVERSIONINFOEXW
LPOVERLAPPED
LPOVERLAPPED *
LPOVERLAPPED_COMPLETION_ROUTINE
LPPROCESSENTRY32
LPPROCESSENTRY32W
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
PULONG_PTR
PVOID
PTIMERAPCROUTINE
PULARGE_INTEGER
SECURITY_ATTRIBUTES *
SIZE_T *
SYSLEVEL *
SYSLEVEL **
SYSTEMTIME *
TIME_ZONE_INFORMATION *
TIMEFMT_ENUMPROCA
TIMEFMT_ENUMPROCW
UILANGUAGE_ENUMPROCA
UILANGUAGE_ENUMPROCW
ULONG_PTR *
WAITORTIMERCALLBACK
WIN32_FIND_DATAA *
WIN32_FIND_DATAW *
WORD *
char *
struct ThunkDataCommon *
va_list
va_list *
void *

%ptr --extension

FARPROC16
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
UINT
ULONG
int

%long --pointer

ULONG_PTR

%longlong

FILETIME
LONGLONG

%ptr

ALLOCATEBUFFER *
ALLOCATEMORE *
CMC_buffer
CMC_extension *
FREEBUFFER *
LPADRLIST
LPALLOCATEBUFFER
LPBYTE
LPCIID
LPENTRYLIST
LPFREEBUFFER
LPLHANDLE
LPMALLOC
LPMAPIADVISESINK
LPMAPIADVISESINK *
LPMAPINAMEID
LPMAPIPROP
LPMAPISESSION *
LPPROPDATA *
LPSPropTagArray
LPSPropValue
LPSPropValue *
LPSRowSet
LPSRow
LPSTR *
LPSTREAM *
LPVOID
LPVOID *
LPWSTR *
PULONG
PUSHORT
PVOID
ULONG *
void *

%str

LPCSTR
LPSTR

%void

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

%%mlang.dll

%long

DWORD
HRESULT
INT
LCID

%ptr

LPDWORD
LPINT
LPVOID *
REFCLSID
REFIID

%str

LPCSTR
LPSTR

%wstr

LPCWSTR
LPWSTR

%%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

%%mscms.dll

%long

BMFORMAT
BOOL
COLORTYPE
DWORD
HPROFILE
HTRANSFORM
LPARAM
TAGTYPE
ULONG

%ptr

LPBYTE
LPDWORD
LPLOGCOLORSPACEA
LPLOGCOLORSPACEW
PBMCALLBACKFN
PBOOL
PBYTE
PBYTE *
PCOLOR
PCOLOR_NAME
PDWORD
PENUMTYPEA
PENUMTYPEW
PHPROFILE
PNAMED_PROFILE_INFO
PPROFILE
PPROFILEHEADER
PTAGTYPE
PVOID

%str

PCSTR
PSTR

%wstr

LPCWSTR
LPWSTR
PCWSTR
PWSTR

%%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.dll

%long

BOOL
HINSTANCE
HRESULT
INT

%ptr

LPVOID *
REFCLSID
REFIID

%str

LPCSTR

%wstr

LPCWSTR

%%msi.dll

%long

BOOL
DWORD
HRESULT
HWND
INSTALLMESSAGE
INSTALLSTATE
INSTALLTYPE
INSTALLUILEVEL
INT
LANGID
MSICOLINFO
MSICONDITION
MSIHANDLE
MSIMODIFY
MSIRUNMODE
UINT
USERINFOSTATE
WORD
int
unsigned int

%ptr

BYTE *
DLLVERSIONINFO *
DWORD *
FILETIME *
HWND *
INSTALLUI_HANDLERA
INSTALLUI_HANDLERW
INSTALLSTATE *
INT *
LPVOID
LPVOID *
MSIHANDLE *
PCCERT_CONTEXT *
REFCLSID
REFIID
UINT *
WORD *
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.dll

%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
NTSTATUS
int
long
short
unsigned int
unsigned long
unsigned short int

%longlong

__int64
unsigned __int64

%ptr

EXCEPTION_REGISTRATION_RECORD *
EXCEPTION_REGISTRATION_RECORD **
MSVCRT__beginthread_start_routine_t
MSVCRT__beginthreadex_start_routine_t
MSVCRT__onexit_t
MSVCRT__onexit_t **
MSVCRT__se_translator_function
MSVCRT_EXCEPTION_FRAME *
MSVCRT_FILE *
MSVCRT_fpos_t *
MSVCRT_matherr_func
MSVCRT_new_handler_func
MSVCRT_terminate_function
MSVCRT_unexpected_function
MSVCRT_time_t *
MSVCRT_wchar_t *
MSVCRT_wchar_t **
MSVCRT_wchar_t ***
MSVCRT_wint_t
PCONTEXT
PEXCEPTION_POINTERS
PEXCEPTION_RECORD
WCHAR *
WCHAR **
WORD **
_INITTERMFUN *
char *
char **
char ***
cxx_exception_type *
exception *
free_func_t
int (*)(void *, void *)
int *
long *
malloc_func_t
struct MSVCRT___JUMP_BUFFER *
struct MSVCRT__exception *
struct MSVCRT__diskfree_t *
struct MSVCRT__finddata_t *
struct MSVCRT__finddatai64_t *
struct MSVCRT__heapinfo *
struct MSVCRT__stat *
struct MSVCRT__stati64 *
struct MSVCRT__timeb *
struct MSVCRT__utimbuf *
struct MSVCRT__wfinddata_t *
struct MSVCRT__wfinddatai64_t *
struct MSVCRT_lconv *
struct MSVCRT_tm *
type_info *
unsigned char *
unsigned int *
unsigned long *
va_list
void (*)(void)
void *
__sighandler_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
int

%ptr

BOOL *
FARPROC
ICINFO *
LONG *
LPBITMAPINFO
LPBITMAPINFOHEADER
LPDRAWDIBTIME
LPDWORD
LPPALETTEENTRY
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
PNETSETUP_JOIN_STATUS
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
ATOM_INFORMATION_CLASS
BOOL
BOOLEAN
BYTE
CCHAR
CHAR
DWORD
FILE_INFORMATION_CLASS
FS_INFORMATION_CLASS
HANDLE
HMODULE
INT
KEY_INFORMATION_CLASS
KEY_VALUE_INFORMATION_CLASS
KPROFILE_SOURCE
LANGID
LCID
LONG
MEMORY_INFORMATION_CLASS
MUTANT_INFORMATION_CLASS
NTSTATUS
OBJECT_INFORMATION_CLASS
POWER_ACTION
POWER_INFORMATION_LEVEL
PROCESSINFOCLASS
RTL_ATOM
SECTION_INFORMATION_CLASS
SECTION_INHERIT
SECURITY_IMPERSONATION_LEVEL
SECURITY_INFORMATION
SEMAPHORE_INFORMATION_CLASS
SHUTDOWN_ACTION
SIZE_T
SYSTEM_INFORMATION_CLASS
SYSTEM_POWER_STATE
THREADINFOCLASS
TIMER_INFORMATION_CLASS
TIMER_TYPE
TOKEN_INFORMATION_CLASS
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 *
HMODULE *
IO_STATUS_BLOCK *
IMAGE_NT_HEADERS *
IMAGE_RESOURCE_DIRECTORY **
IMAGE_RESOURCE_DATA_ENTRY *
IMAGE_RESOURCE_DATA_ENTRY **
IMAGE_SECTION_HEADER **
INT *
LANGID *
LARGE_INTEGER *
LCID *
LDR_RESOURCE_INFO *
LPBYTE
LPCVOID
LPCVOID *
LPDWORD
LPRTL_RWLOCK
LPSTR *
LPTIME_ZONE_INFORMATION
LPVOID
LPVOID *
LPWSTR *
LUID *
LUID_AND_ATTRIBUTES *
MESSAGE_RESOURCE_ENTRY **
NTSTATUS *
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
PIMAGE_NT_HEADERS
PIMAGE_SECTION_HEADER
PIO_APC_ROUTINE
PIO_STATUS_BLOCK
PLARGE_INTEGER
PLDR_MODULE *
PLONG
PLPC_MESSAGE
PLPC_SECTION_READ
PLPC_SECTION_WRITE
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
PSECURITY_QUALITY_OF_SERVICE
PSID
PSID *
PSID_IDENTIFIER_AUTHORITY
PSTRING
PSYSTEM_MODULE_INFORMATION
PRTL_QUERY_REGISTRY_TABLE
PRTL_THREAD_START_ROUTINE
PTIME_FIELDS
PTIMER_APC_ROUTINE
PTOKEN_GROUPS
PTOKEN_PRIVILEGES
PULARGE_INTEGER
PULONG
PUNICODE_STRING
PVECTORED_EXCEPTION_HANDLER
PVOID
PVOID *
PWSTR *
RTL_ATOM *
RTL_ATOM_TABLE
RTL_ATOM_TABLE *
RTL_CRITICAL_SECTION *
RTL_HANDLE *
RTL_HANDLE **
RTL_HANDLE_TABLE *
RTL_OSVERSIONINFOEXW *
RTL_USER_PROCESS_PARAMETERS *
RTL_USER_PROCESS_PARAMETERS **
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 *
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 *
WCHAR *

%%odbccp32.dll

%long

BOOL
DWORD
HWND
LONG
SQLRETURN
UWORD
WORD
int

%str

LPCSTR
LPSTR

%wstr

LPCWSTR
LPWSTR

%ptr

DWORD *
LONG *
LPDWORD
UWORD *
WORD *

%%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 *
FMTID *
GUID *
HGLOBAL *
HRESULT *
ICreateErrorInfo **
IDataObject *
IDataObject **
IDropSource *
IErrorInfo *
IErrorInfo **
ILockBytes *
IMoniker *
IMoniker **
IPersistStream *
IPropertySetStorage **
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 *
OLECHAR **
PROPVARIANT *
PSECURITY_DESCRIPTOR
REFCLSID
REFGUID
REFIID
SNB
SOLE_AUTHENTICATION_SERVICE *
STGMEDIUM *
STGOPTIONS *
ULONG *
WCHAR *
WORD *
void *
void **

%str

LPCOLESTR
LPOLESTR

%wstr

BSTR

%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

_LPOLEOBJECT
_LPOLEOBJECT *
LHCLIENTDOC *
LONG *
LPOLECLIENT

%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

%%powrprof.dll

%long

BOOLEAN
LPARAM
NTSTATUS
POWER_INFORMATION_LEVEL
UINT
ULONG

%ptr

PADMINISTRATOR_POWER_POLICY
PGLOBAL_POWER_POLICY
PMACHINE_PROCESSOR_POWER_POLICY
PPOWER_POLICY
PSYSTEM_POWER_CAPABILITIES
PUINT
PVOID
PWRSCHEMESENUMPROC

%wstr

LPWSTR

%%psapi.dll

%long

BOOL
DWORD
HANDLE
HMODULE

%ptr

DWORD *
HMODULE *
LPDWORD
LPMODULEINFO
LPVOID
LPVOID *
PENUM_PAGE_FILE_CALLBACKA
PENUM_PAGE_FILE_CALLBACKW
PPERFORMANCE_INFORMATION
PPROCESS_MEMORY_COUNTERS
PPSAPI_WS_WATCH_INFORMATION

%str

LPSTR

%wstr

LPWSTR

%%qcap.dll

%long

HRESULT

%ptr

REFCLSID
REFIID
LPVOID *

%%quartz.dll

%long

HRESULT
LONG

%ptr

REFCLSID
REFIID
LPVOID *

%%rasapi32.dll

%long

BOOL
DWORD
HANDLE
HRASCONN
HWND
RASPROJECTION
UINT

%ptr

LPBOOL
LPBYTE
LPCSTR *
LPCWSTR *
LPDWORD
LPHRASCONN
LPRASAUTODIALENTRYA
LPRASAUTODIALENTRYW
LPRASCONNA
LPRASCONNW
LPRASCONNSTATUSA
LPRASCONNSTATUSW
LPRASDEVINFOA
LPRASDEVINFOW
LPRASDIALEXTENSIONS
LPRASDIALPARAMSA
LPRASDIALPARAMSW
LPRASENTRYA
LPRASENTRYW
LPRASENTRYNAMEA
LPRASENTRYNAMEW
LPRASSUBENTRYA
LPRASSUBENTRYW
LPVOID

%str

LPCSTR
LPSTR

%wstr

LPCWSTR
LPWSTR

%%riched20.dll

%long

HRESULT
HWND
LPARAM
LRESULT
UINT
WPARAM

%ptr

IUnknown *
IUnknown **
void *

%void

void

%%riched32.dll

%long

HRESULT

%ptr

DLLVERSIONINFO *

%%rpcrt4.dll

%long

DWORD
HMODULE
HRESULT
HWND
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
LPRPCPROXYBUFFER *
LPRPCSTUBBUFFER
LPTYPEINFO
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

%%rsaenh.dll

%long

ALG_ID
BOOL
DWORD
HCRYPTHASH
HCRYPTKEY
HCRYPTPROV
HRESULT

%ptr

BYTE *
DWORD *
HCRYPTHASH *
HCRYPTKEY *
HCRYPTPROV *
PVTableProvStruc

%str

LPSTR

%wstr

LPCWSTR

%%secur32.dll

%long

BOOLEAN
EXTENDED_NAME_FORMAT
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 **

%str

LPSTR

%wstr

LPWSTR

%%sensapi.dll

%long

BOOL

%ptr

LPDWORD
LPQOCINFO

%str

LPCSTR

%wstr

LPCWSTR

%%serialui.dll

%long

BOOL
DWORD
HWND
LPARAM

%ptr

LPCOMMCONFIG
LPDEVICE_INFO
LPDWORD
LPFNADDPROPSHEETPAGE

%str

LPCSTR

%wstr

LPCWSTR

%%setupapi.dll

%long

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

%long --pointer

UINT_PTR

%ptr

BYTE *
GUID *
INFCONTEXT *
LONGLONG *
LPBYTE *
LPCVOID
LPDWORD
LPGUID
LPHANDLE
LPVOID
LPVOID *
LPWIN32_FIND_DATAW
LPWSTR *
PBYTE
PDWORD
PINFCONTEXT
PINT
PSECURITY_DESCRIPTOR
PSECURITY_DESCRIPTOR *
PSP_CLASSINSTALL_HEADER
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_DEVINSTALL_PARAMS_A
PSP_FILE_CALLBACK_A
PSP_FILE_CALLBACK_W
PSP_FILE_COPY_PARAMS_A
PSP_FILE_COPY_PARAMS_W
PSP_INF_INFORMATION
PSTR *
PUINT
PVOID
PWSTR *
UINT *
void *

%str

LPCSTR
LPSTR
PCSTR
PSTR

%void

VOID
void

%wstr

LPCWSTR
LPWSTR
PCWSTR
PWSTR

%%shdocvw.dll

%long

BOOL
DWORD
HINSTANCE
HRESULT
HWND
int

%ptr

DLLVERSIONINFO *
LPVOID *
REFCLSID
REFIID

%str

LPCSTR

%void

void

%wstr

LPCWSTR

%%shell32.dll

%long

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

%longlong

POINT

%ptr

AUTO_SCROLL_DATA *
BOOL *
CABINETSTATE *
CLSID *
DLLVERSIONINFO *
DWORD *
FARPROC
FORMATETC *
HICON *
HIMAGELIST *
HWND *
IShellFolder *
IShellFolder **
IShellView **
IStream *
ITEMIDLIST *
LPBROWSEINFOA
LPBROWSEINFOW
LPBYTE
LPCITEMIDLIST
LPCITEMIDLIST *
LPCRECT
LPCSFV
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
LPSHFILEOPSTRUCTA
LPSHFILEOPSTRUCTW
LPSHQUERYRBINFO
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
HUSKEY
HWND
INT
LANGID
LONG
LPARAM
LRESULT
REGSAM
SHREGDEL_FLAGS
SHREGENUM_FLAGS
UCHAR
UINT
ULONG
URLIS
WCHAR
WORD
WPARAM
char
int

%long --pointer

INT_PTR

%longlong

LONGLONG

%ptr

BOOL *
BSTR *
CLSID *
DLGPROC
DLLVERSIONINFO *
DWORD *
HICON *
HKEY *
HWND *
IBindCtx *
IConnectionPoint *
IConnectionPoint **
IDataObject *
IDispatch **
IDropTarget *
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
LPMSG
LPOPENFILENAMEW
LPPAGESETUPDLGW
LPPOLICYDATA
LPPRINTDLGW
LPSECURITY_ATTRIBUTES
LPSHELLEXECUTEINFOW
LPSHELLFOLDER
LPSHFILEOPSTRUCTW
LPSHLWAPI_CLIST
LPSHLWAPI_CLIST *
LPSTR *
LPSTRRET
LPTHREAD_START_ROUTINE
LPUNKNOWN
LPVOID
LPVOID *
LPWORD
LPWSTR *
OLECMD *
OLECMDTEXT *
PARSEDURLA *
PARSEDURLW *
PHKEY
PHUSKEY
PLONG
PPOINTL
PSECURITY_DESCRIPTOR
PVOID
PVOID *
RECT *
REFCLSID
REFGUID
REFIID
SHFILEINFOW *
STRRET *
UINT *
ULARGE_INTEGER *
VARIANT *
VOID *
WNDCLASSA *
int *
unsigned char *
va_list
void **

%ptr --extension

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

%%twain_32.dll

%long

TW_UINT16
TW_UINT32

%ptr

TW_MEMREF
pTW_IDENTITY

%%urlmon.dll

%long

BOOL
DWORD
HRESULT
HWND
QUERYOPTION

%ptr

BINDINFO *
DWORD *
IBindCtx *
IBindCtx **
IBindStatusCallback *
IBindStatusCallback **
IEnumFORMATETC *
IInternetSecurityManager **
IInternetSession **
IInternetZoneManager **
IMoniker *
IMoniker **
IServiceProvider *
IUnknown *
LPBC
LPBINDCTX
LPBINDSTATUSCALLBACK
LPSOFTDISTINFO
LPWSTR *
LPUNKNOWN
LPVOID
LPVOID *
QUERYCONTEXT *
REFCLSID
REFIID
uCLSSPEC *

%str

LPCSTR
LPSTR

%void

void

%wstr

LPCWSTR
LPWSTR

%%user32.dll

%long

ACCESS_MASK
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
ULONG
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
LPSCROLLBARINFO
LPSCROLLINFO
LPSECURITY_ATTRIBUTES
LPTPMPARAMS
LPVOID
LPWORD
MENUITEMINFOA *
MENUITEMINFOW *
MONITORENUMPROC
MSG *
PAINTSTRUCT *
PALTTABINFO
PCOMBOBOXINFO
PCONVCONTEXT
PCONVINFO
PCURSORINFO
PDWORD_PTR
PFLASHWINFO
PFNCALLBACK
PICONINFO
PLASTINPUTINFO
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

IUnknown *
IWineD3D *

%%winedos.dll

%long

BOOL
BYTE
DWORD
UINT
WORD
int

%ptr

LPVOID
UINT16 *
void *

%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.drv

%long

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

%ptr

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

%str

LPCSTR
LPSTR

%void

void

%wstr

LPCWSTR

%%winetty.drv

%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
LPVOID
POINT *
RECT *
TTYDRV_PDEVICE *
TTYDRV_PDEVICE **
WINDOWPOS *
struct tagCURSORICONINFO *
void *

%str

LPCSTR

%void

void

%wstr

LPCWSTR
LPWSTR

%%winex11.drv

%long

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

%ptr

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

%void

void

%wstr

LPCWSTR
LPWSTR

%%wininet.dll

%double

GROUPID

%long

BOOL
DWORD
HANDLE
HINSTANCE
HINTERNET
HRESULT
HWND
INTERNET_PORT
LONG
int
unsigned long

%long --pointer

DWORD_PTR

%longlong

FILETIME

%ptr

GROUPID *
GOPHER_ATTRIBUTE_ENUMERATORA
GOPHER_ATTRIBUTE_ENUMERATORW
HANDLE *
HINTERNET *
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
LPINTERNET_CACHE_GROUP_INFOA
LPINTERNET_CACHE_GROUP_INFOW
LPURL_COMPONENTSA
LPURL_COMPONENTSW
LPVOID
LPVOID *
LPWIN32_FIND_DATAA
LPWIN32_FIND_DATAW
PBYTE
PVOID
SYSTEMTIME *
unsigned long *

%str

LPCSTR
LPSTR

%wstr

LPCWSTR
LPWSTR
PWSTR

%void

void

%%winmm.dll

%long

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

%long --pointer

DWORD_PTR
UINT_PTR

%long --forbidden

HMMIO16
UINT16

%ptr

DWORD *
HANDLE *
HMIDIIN *
HMIDISTRM *
HPCSTR
HPSTR
HWAVEIN *
LPAUXCAPSA
LPAUXCAPSW
LPBYTE
LPCWAVEFORMATEX
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
LPTASKCALLBACK
LPWAVEHDR
LPWAVEINCAPSA
LPWAVEINCAPSW
LPHWAVEOUT
LPWAVEOUTCAPSA
LPWAVEOUTCAPSW
MIDIHDR *
MMCKINFO *
MMIOINFO *
UINT *
WAVEHDR *
WORD *
YIELDPROC

%str

LPCSTR
LPSTR

%wstr

LPCWSTR
LPWSTR

%void

void

%%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
LPVOID *
PBYTE
PDWORD
PDEVMODEA
PDEVMODEW
PPRINTER_NOTIFY_INFO

%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

BOOL
DWORD
HANDLE
HCATADMIN
HWND
LONG

%ptr

BYTE *
CRYPT_REGISTER_ACTIONID *
DWORD *
GUID *
HCATADMIN *
WINTRUST_DATA *

%void

void

%%wnaspi32.dll

%long

BOOL
DWORD

%ptr

LPDWORD
LPSRB
PASPI32BUFF

%%ws2_32.dll

%long

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

%ptr

FARPROC
INT *
LPCONDITIONPROC
LPDWORD
LPGUID
LPHANDLE
LPINT
LPQOS
LPSOCKADDR
LPVOID
LPWPUPOSTMESSAGE
LPWSABUF
LPWSADATA
LPWSANAMESPACE_INFOA
LPWSANAMESPACE_INFOW
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

%wstr

LPCWSTR
LPWSTR

%unknown

struct WS_in_addr

%void

void

%%wsock32.dll

%long

DWORD
INT
SOCKET
UINT

%ptr

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

%str

LPCSTR
LPSTR

%void

void

%wstr

LPWSTR

%%wtsapi32.dll

%long

BOOL
DWORD
HANDLE
WTS_INFO_CLASS

%ptr

DWORD *
LPSTR *
LPWSTR *
PVOID
PWTS_PROCESS_INFOA *
PWTS_PROCESS_INFOW *
PWTS_SESSION_INFOA *
PWTS_SESSION_INFOW *

%void

void
