%%activeds.dll

%long

BOOL
DWORD
HRESULT
ULONG

%ptr

IADsContainer *
IEnumVARIANT *
IEnumVARIANT **
LPVOID
REFIID
ULONG *
VARIANT *
VOID **

%wstr

LPCWSTR

%%advapi32.dll

%long

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

%long --pointer

ULONG_PTR

%ptr

BYTE *
DWORD *
FILETIME *
GUID *
HANDLE *
HCRYPTHASH *
HCRYPTKEY *
HCRYPTPROV *
LPBOOL
LPBYTE
LPCGUID
LPCSTR *
LPCVOID
LPCWSTR *
LPDWORD
LPENUM_SERVICE_STATUSA
LPENUM_SERVICE_STATUSW
LPHANDLER_FUNCTION
LPHANDLER_FUNCTION_EX
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
LPSTARTUPINFOA
LPSTARTUPINFOW
LPSTR *
LPVOID
LPVOID *
LPWSTR *
MD4_CTX *
MD5_CTX *
PACCESS_MASK
PACL
PACL *
PACTRL_ACCESSW *
PACTRL_AUDITW *
PBOOL
PDWORD
PEXPLICIT_ACCESSA
PEXPLICIT_ACCESSA *
PEXPLICIT_ACCESSW
PEXPLICIT_ACCESSW *
PGENERIC_MAPPING
PHANDLE
PHKEY
PLSA_ENUMERATION_HANDLE
PLSA_HANDLE
PLSA_OBJECT_ATTRIBUTES
PLSA_REFERENCED_DOMAIN_LIST *
PLSA_TRANSLATED_NAME *
PLSA_TRANSLATED_SID *
PLSA_TRANSLATED_SID2 *
PLSA_UNICODE_STRING
PLSA_UNICODE_STRING *
PLUID
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
PTRUSTED_DOMAIN_AUTH_INFORMATION
PTRUSTED_DOMAIN_INFORMATION_EX
PTRUSTEEA
PTRUSTEEW
PUCHAR
PULONG
PVALENTA
PVALENTW
PVOID
PVOID *
SC_LOCK
SECURITY_ATTRIBUTES *
SERVICE_TABLE_ENTRYA *
SERVICE_TABLE_ENTRYW *
UNICODE_STRING *
WMIDPREQUEST
struct ustring *
unsigned char *

%str

LPCSTR
LPSTR

%void

VOID

%wstr

LPCWSTR
LPWSTR
WCHAR *

%%advpack.dll

%long

BOOL
DWORD
HINSTANCE
HKEY
HINF
HMODULE
HRESULT
HWND
INT

%ptr

CABINFOA *
CABINFOW *
HANDLE *
HINF *
LPDWORD
LPVOID
PDWORD
PERUSERSECTIONA *
PERUSERSECTIONW *
PVOID
SETUPCOMMAND_PARAMS *
STRTABLEA *
STRTABLEW *

%str

LPCSTR
LPSTR

%wstr

LPCWSTR
LPWSTR

%%amstream.dll

%long

HRESULT

%ptr

LPVOID *
REFCLSID
REFIID

%%atl.dll

%long

ATOM
BOOL
DWORD
HINSTANCE
HRESULT
HWND
LPARAM

%long --pointer

DWORD_PTR

%ptr

_ATL_INTMAP_ENTRY *
_ATL_MODULEW *
_ATL_OBJMAP_ENTRYW *
_ATL_TERMFUNC *
_ATL_WNDCLASSINFOW *
_AtlCreateWndData *
ATL_PROPMAP_ENTRY *
BSTR *
CLSID *
DLGPROC
IID *
IRegistrar *
IStream *
IStream **
ITypeLib **
IUnknown *
IUnknown **
LPDWORD
LPSTREAM
LPVOID *
REFCLSID
REFIID
SIZEL *
WNDPROC *
struct _ATL_REGMAP_ENTRY *
void *
void **

%str

LPCOLESTR
LPCSTR

%wstr

LPCWSTR

%void

void

%%avicap32.dll

%long

BOOL
DWORD
HWND
INT
WORD

%str

LPCSTR
LPSTR

%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
REFCLSID
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
void *

%str

LPCSTR
char *

%%capi2032.dll

%long

DWORD

%ptr

DWORD *
PVOID
PVOID *

%str

char *

%%cards.dll

%long

BOOL
DWORD
HDC
int

%ptr

int *

%void

void

%%cfgmgr32.dll

%long

CONFIGRET
ULONG

%ptr

LPVOID
ULONG *

%str

PCHAR
PCSTR

%%clusapi.dll

%long

DWORD

%ptr

LPDWORD

%wstr

LPCWSTR

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

%longlong

POINT

%ptr

CREATEMRULISTA *
CREATEMRULISTW *
DLLVERSIONINFO *
DPALOADPROC
DWORD_PTR *
HDPA *
HICON *
IMAGEINFO *
IMAGELISTDRAWPARAMS *
INITCOMMONCONTROLSEX *
INT *
IStream *
LPCOLORMAP
LPCPROPSHEETHEADERA
LPCPROPSHEETHEADERW
LPCPROPSHEETPAGEA
LPCPROPSHEETPAGEW
LPCRECT
LPCTBBUTTON
LPCVOID
LPINT
LPNMHDR
LPRECT
LPSCROLLINFO
LPSTR *
LPSTREAM
LPVOID
LPWSTR *
PFNDPACOMPARE
PFNDPAENUMCALLBACK
PFNDPAMERGE
PFNDSAENUMCALLBACK
POINT *
RECT *
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

%%compstui.dll

%long

BOOL
HWND
LONG
LPARAM

%long --pointer

ULONG_PTR

%ptr

LPDWORD
PFNPROPSHEETUI

%%credui.dll

%long

BOOL
DWORD
ULONG

%ptr

PBOOL
PCREDUI_INFOW
PCtxtHandle

%wstr

PCWSTR
PWSTR

%%crtdll.dll

%long

int
size_t
unsigned int

%ptr

char ***
int *
struct crtdll_stat *

%str

char *

%void

void

%%crypt32.dll

%long

ALG_ID
BOOL
DWORD
HANDLE
HCRYPTMSG
HCRYPTPROV
HCRYPTPROV_LEGACY
HCRYPTPROV_OR_NCRYPT_KEY_HANDLE
HMODULE
LONG
ULONG

%ptr

BOOL *
BYTE *
CERT_EXTENSION[]
CRYPT_ATTRIBUTE[]
CRYPT_OID_FUNC_ENTRY[]
CRYPTPROTECT_PROMPTSTRUCT *
DATA_BLOB *
DWORD *
GUID *
HCERTCHAINENGINE
HCERTCHAINENGINE *
HCERTSTORE
HCERTSTORE *
HCRYPTPROV_OR_NCRYPT_KEY_HANDLE *
HCRYPTKEY *
HCRYPTMSG *
HCRYPTOIDFUNCADDR
HCRYPTOIDFUNCADDR *
HCRYPTOIDFUNCSET
HLRUCACHE
HLRUCACHE *
LPCSTR *
LPCWSTR *
LPFILETIME
LPSTR *
LPVOID
LPWSTR *
PCCERT_CHAIN_CONTEXT *
PCCERT_CONTEXT
PCCERT_CONTEXT *
PCCRL_CONTEXT
PCCRL_CONTEXT *
PCCRYPT_OID_INFO
PCCTL_CONTEXT
PCCTL_CONTEXT *
PCERT_CHAIN_ENGINE_CONFIG
PCERT_CHAIN_PARA
PCERT_ENHKEY_USAGE
PCERT_EXTENSION
PCERT_EXTENSIONS
PCERT_INFO
PCERT_NAME_BLOB
PCERT_NAME_INFO
PCERT_PUBLIC_KEY_INFO
PCERT_RDN_ATTR
PCERT_RDN_VALUE_BLOB
PCMSG_STREAM_INFO
PCRL_ENTRY *
PCRL_INFO
PCRL_INFO[]
PCRYPT_ALGORITHM_IDENTIFIER
PCRYPT_ATTRIBUTE
PCRYPT_DECODE_PARA
PCRYPT_ENCODE_PARA
PCRYPT_INTEGER_BLOB
PCRYPT_KEY_PROV_INFO
PCRYPT_VERIFY_MESSAGE_PARA
PFN_CERT_ENUM_SYSTEM_STORE
PFN_CRYPT_ENUM_OID_INFO
PSYSTEMTIME
PVOID
SIP_ADD_NEWPROVIDER *
SIP_DISPATCH_INFO *
SIP_INDIRECT_DATA *
SIP_SUBJECTINFO *
int *
void *
void **

%str

LPCSTR
LPSTR

%void

VOID
void

%wstr

LPCWSTR
LPWSTR

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

DWORD *
IDirect3D8 *

%void

void

%%d3d9.dll

%long

BOOL
D3DCOLOR
DWORD
HRESULT
UINT
int

%ptr

IDirect3D9 *

%wstr

LPCWSTR

%void

void

%%d3dx8.dll

%long

DWORD
HFONT
HRESULT
UINT

%ptr

LPCVOID
LPD3DXBUFFER *
LPD3DXFONT *
LPDIRECT3DDEVICE8

%str

LPSTR

%%d3dxof.dll

%long

HRESULT

%ptr

LPDIRECTXFILE *
LPVOID *
REFCLSID
REFIID

%%dbghelp.dll

%long

BOOL
DWORD
HANDLE
HMODULE
HWND
IMAGEHLP_SYMBOL_TYPE_INFO
MINIDUMP_TYPE
ULONG
unsigned short

%longlong

DWORD64
ULONG64

%ptr

DWORD *
DWORD64 *
LPAPI_VERSION
LPEXT_API_VERSION
LPSTACKFRAME
LPSTACKFRAME64
PDWORD
PDWORD64
PENUMDIRTREE_CALLBACK
PENUMDIRTREE_CALLBACKW
PENUMLOADED_MODULES_CALLBACK
PENUMLOADED_MODULES_CALLBACK64
PENUMLOADED_MODULES_CALLBACKW64
PFIND_DEBUG_FILE_CALLBACK
PFIND_EXE_FILE_CALLBACK
PFIND_EXE_FILE_CALLBACKW
PFINDFILEINPATHCALLBACK
PFINDFILEINPATHCALLBACKW
PFUNCTION_TABLE_ACCESS_ROUTINE
PFUNCTION_TABLE_ACCESS_ROUTINE64
PGET_MODULE_BASE_ROUTINE
PGET_MODULE_BASE_ROUTINE64
PIMAGE_DEBUG_INFORMATION
PIMAGEHLP_CONTEXT
PIMAGEHLP_LINE
PIMAGEHLP_LINE64
PIMAGEHLP_LINEW64
PIMAGEHLP_MODULE
PIMAGEHLP_MODULEW
PIMAGEHLP_MODULE64
PIMAGEHLP_MODULEW64
PIMAGEHLP_STACK_FRAME
PIMAGEHLP_SYMBOL
PIMAGEHLP_SYMBOL64
PMINIDUMP_CALLBACK_INFORMATION
PMINIDUMP_DIRECTORY *
PMINIDUMP_EXCEPTION_INFORMATION
PMINIDUMP_USER_STREAM_INFORMATION
PMODLOAD_DATA
PREAD_PROCESS_MEMORY_ROUTINE
PREAD_PROCESS_MEMORY_ROUTINE64
PSTR *
PSYM_ENUMERATESYMBOLS_CALLBACK
PSYM_ENUMERATESYMBOLS_CALLBACKW
PSYM_ENUMLINES_CALLBACK
PSYM_ENUMMODULES_CALLBACK
PSYM_ENUMMODULES_CALLBACK64
PSYM_ENUMMODULES_CALLBACKW64
PSYM_ENUMSOURCEFILES_CALLBACK
PSYM_ENUMSYMBOLS_CALLBACK
PSYMBOL_FUNCENTRY_CALLBACK
PSYMBOL_FUNCENTRY_CALLBACK64
PSYMBOL_INFO
PSYMBOL_INFOW
PSYMBOL_REGISTERED_CALLBACK
PSYMBOL_REGISTERED_CALLBACK64
PTRANSLATE_ADDRESS_ROUTINE
PTRANSLATE_ADDRESS_ROUTINE64
PVOID
PVOID *
PWINDBG_EXTENSION_APIS
PWSTR *
ULONG *

%str

PCSTR
PSTR

%wstr

PCWSTR
PWSTR

%void

void

%%dciman32.dll

%long

HDC
int

%ptr

LPDCISURFACEINFO *

%void

void

%%ddraw.dll

%long

DWORD
HRESULT

%ptr

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

%%devenum.dll

%long

HRESULT

%ptr

LPVOID *
REFCLSID
REFIID


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

%%dnsapi.dll

%long

BOOL
DNS_CHARSET
DNS_CONFIG_TYPE
DNS_FREE_TYPE
DNS_NAME_FORMAT
DNS_STATUS
DWORD
HANDLE
WORD

%ptr

HANDLE *
PDNS_MESSAGE_BUFFER
PDNS_RECORD
PDNS_RECORD *
PDNS_RECORDA
PDNS_RECORDA *
PDNS_RECORDW
PDNS_RECORDW *
PDWORD
PVOID
PVOID *

%str

LPCSTR
LPSTR
PCSTR

%void

void

%wstr

LPCWSTR
LPWSTR
PCWSTR
PWSTR

%%dplayx.dll

%long

DWORD
HRESULT

%ptr

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

%%dpnet.dll

%long

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

LPVOID *
REFCLSID
REFIID

%%dwmapi.dll

%long

HRESULT

%ptr

BOOL *

%%dxdiagn.dll

%ptr

REFCLSID
REFIID

%%gdi32.dll

%long

BOOL
COLORREF
DWORD
HANDLE
HBITMAP
HBRUSH
HCOLORSPACE
HDC
HDC16
HENHMETAFILE
HFONT
HGDIOBJ
HGLOBAL
HGLRC
HMETAFILE
HPALETTE
HPEN
HPJOB16
HRGN
HRGN16
HWND
INT
INT16
LONG
LPARAM
UINT
ULONG
WORD
int

%float

FLOAT

%ptr

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

%str

LPCSTR
LPSTR

%void

void

%wstr

LPCWSTR
LPWSTR

%%glu32.dll

%double

double

%long

int

%ptr

void *

%str

char *

%void

void

%%glut32.dll

%double

double

%float

float

%long

int
unsigned int

%ptr

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

%void

void

%%gphoto2.ds

%long

TW_UINT16
TW_UINT32

%ptr

pTW_IDENTITY
TW_MEMREF

%%hhctrl.ocx

%long

DWORD
HINSTANCE
HRESULT
HWND
UINT
int

%str

LPCSTR
LPSTR

%wstr

LPCWSTR

%%hid.dll

%ptr

LPGUID

%void

void

%%iccvid.dll

%long

HDRVR
LPARAM
LRESULT
UINT

%long --pointer

DWORD_PTR

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

HDRVR
LPARAM
LRESULT
UINT

%long --pointer

DWORD_PTR

%%imagehlp.dll

%long

BOOL
DWORD
HANDLE
ULONG
WORD

%ptr

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

%str

PCSTR
PSTR
PCHAR

%wstr

PCWSTR

%void

VOID

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

%%inseng.dll

%long

BOOL

%ptr

LPVOID

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

%%kernel32.dll

%long

ATOM
BOOL
BOOL16
BYTE
CALID
CALTYPE
CHAR
COORD
DWORD
EXECUTION_STATE
GEOCLASS
GEOID
GEOTYPE
HANDLE
HANDLE16
HFILE
HFILE16
HGLOBAL
HGLOBAL16
HINSTANCE
HINSTANCE16
HLOCAL
HLOCAL16
HMODULE
HMODULE16
HRSRC
HRSRC16
HTASK16
HWND
INT
LANGID
LATENCY_TIME
LCID
LCTYPE
LGRPID
LONG
SIZE_T
UINT
UINT16
ULONG
WCHAR
WORD
WOW_HANDLE_TYPE
int

%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 *
FARPROC16
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 *
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
LPOFSTRUCT
LPOSVERSIONINFOEXA
LPOSVERSIONINFOEXW
LPOVERLAPPED
LPOVERLAPPED *
LPOVERLAPPED_COMPLETION_ROUTINE
LPPROCESS_HEAP_ENTRY
LPPROCESS_INFORMATION
LPPROCESSENTRY32
LPPROCESSENTRY32W
LPPROGRESS_ROUTINE
LPSECURITY_ATTRIBUTES
LPSMALL_RECT
LPSTARTUPINFOA
LPSTARTUPINFOW
LPSTR *
LPSYSTEM_INFO
LPSYSTEM_POWER_STATUS
LPSYSTEMTIME
LPTHREAD_START_ROUTINE
LPTHREADENTRY32
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
PDWORD_PTR
PEXCEPTION_POINTERS
PHANDLE
PHANDLER_ROUTINE
PINPUT_RECORD
PIO_COUNTERS
PLARGE_INTEGER
PMEMORY_BASIC_INFORMATION
PSIZE_T
PTIMERAPCROUTINE
PULARGE_INTEGER
PULONG_PTR
PVOID
SECURITY_ATTRIBUTES *
SEGPTR
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 *
struct ThunkDataCommon *
va_list
va_list *
void *

%str

LPCSTR
LPSTR
char *

%void

VOID
void

%wstr

LPCWSTR
LPWSTR
WCHAR *

%%localspl.dll

%ptr

LPMONITOREX

%wstr

LPWSTR

%%mapi32.dll

%long

BOOL
CMC_enum
CMC_return_code
CMC_session_id
DWORD
FLAGS
HRESULT
INT
LHANDLE
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 *
LPSRow
LPSRowSet
LPSTR *
LPSTREAM *
LPVOID
LPVOID *
LPWSTR *
PULONG
PUSHORT
PVOID
ULONG *
lpMapiMessage
void *

%str

LPCSTR
LPSTR

%void

VOID
void

%wstr

LPCWSTR
LPWSTR

%%mciavi32.dll

%long

HDRVR
LPARAM
LRESULT
UINT

%long --pointer

DWORD_PTR

%%mcicda.dll

%long

HDRVR
LPARAM
LRESULT
UINT

%long --pointer

DWORD_PTR

%%mciseq.dll

%long

HDRVR
LPARAM
LRESULT
UINT

%long --pointer

DWORD_PTR

%%mciwave.drv

%long

HDRVR
LPARAM
LRESULT
UINT

%long --pointer

DWORD_PTR

%%midimap.dll

%long

DWORD
HDRVR
LPARAM
LRESULT
UINT

%long --pointer

DWORD_PTR

%%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
LPCHANGEPWDINFOA
LPCHANGEPWDINFOW
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
LPARAM
LRESULT
UINT
WORD

%long --pointer

DWORD_PTR

%%msacm32.dll

%long

DWORD
HACMDRIVER
HACMDRIVERID
HACMOBJ
HACMSTREAM
HDRVR
HINSTANCE
LPARAM
LRESULT
MMRESULT
UINT

%long --pointer

DWORD_PTR

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

%ptr

DMO_MEDIA_TYPE *
DMO_MEDIA_TYPE **
DMO_PARTIAL_MEDIATYPE *
IEnumDMO **
REFCLSID
REFGUID
ULONG *

%wstr

LPCWSTR
WCHAR *

%%msg711.acm

%long

HDRVR
LPARAM
LRESULT
UINT

%long --pointer

DWORD_PTR

%%mshtml.dll

%long

BOOL
DWORD
HINSTANCE
HRESULT
INT

%ptr

LPVOID *
REFCLSID
REFIID

%str

LPSTR

%wstr

LPCWSTR

%%msi.dll

%long

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

%ptr

BYTE *
DLLVERSIONINFO *
DWORD *
FILETIME *
HWND *
INSTALLSTATE *
INSTALLUI_HANDLERA
INSTALLUI_HANDLERW
INT *
LPVOID
LPVOID *
MSIHANDLE *
PCCERT_CONTEXT *
PHKEY
PMSIFILEHASHINFO
REFCLSID
REFIID
UINT *
WORD *

%str

LPCSTR
LPSTR
char *

%wstr

LPCWSTR
LPWSTR

%%msimg32.dll

%void

void

%%msisys.ocx

%long

HRESULT

%ptr

LPVOID *
REFCLSID

%%msnet32.dll

%long

LONG

%ptr

LPVOID

%%msrle32.dll

%long

HDRVR
LPARAM
LRESULT
UINT

%long --pointer

DWORD_PTR

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

%long --pointer

MSVCRT_intptr_t
MSVCRT_uintptr_t

%longlong

__int64
unsigned __int64

%ptr

_INITTERMFUN *
EXCEPTION_REGISTRATION_RECORD *
EXCEPTION_REGISTRATION_RECORD **
MSVCRT___sighandler_t
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_time_t *
MSVCRT_unexpected_function
MSVCRT_wchar_t **
MSVCRT_wchar_t ***
MSVCRT_wint_t
PCONTEXT
PEXCEPTION_POINTERS
PEXCEPTION_RECORD
WCHAR **
WORD **
char **
char ***
cxx_exception_type *
double *
exception *
free_func_t
int (*)(void *, void *)
int *
long *
malloc_func_t
struct MSVCRT___JUMP_BUFFER *
struct MSVCRT__diskfree_t *
struct MSVCRT__exception *
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 *

%str

char *

%unknown

MSVCRT_div_t
MSVCRT_ldiv_t
struct MSVCRT__complex

%void

VOID
void

%wstr

MSVCRT_wchar_t *

%%msvcrt20.dll

%long

int

%ptr

WCHAR ***
char ***
int *

%void

void

%%msvcrtd.dll

%long

int
unsigned long

%ptr

int *
void *

%str

char *

%%msvfw32.dll

%long

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

%long --pointer

DWORD_PTR

%ptr

BOOL *
FARPROC
ICINFO *
LONG *
LPBITMAPINFO
LPBITMAPINFOHEADER
LPDRAWDIBTIME
LPDWORD
LPOPENFILENAMEA
LPOPENFILENAMEW
LPPALETTEENTRY
LPVOID
PCOMPVARS

%str

LPCSTR
LPSTR

%void

void

%wstr

LPCWSTR

%%msvidc32.dll

%long

HDRVR
LPARAM
LRESULT
UINT

%long --pointer

DWORD_PTR

%%mswsock.dll

%long

BOOL
DWORD
HANDLE
SOCKET

%ptr

LPDWORD
LPINT
LPOVERLAPPED
LPTRANSMIT_FILE_BUFFERS
PVOID
struct sockaddr **

%void

VOID
void

%%msxml3.dll

%long

HRESULT

%ptr

LPVOID *
REFCLSID
REFIID

%%netapi32.dll

%long

DSROLE_PRIMARY_DOMAIN_INFO_LEVEL
DWORD
NET_API_STATUS
UCHAR

%ptr

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

%void

VOID

%wstr

LMSTR
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
int
obj_handle_t
size_t
unsigned int

%long --pointer

ULONG_PTR

%longlong

DWORDLONG
LONGLONG
ULONGLONG

%ptr

ANSI_STRING *
BOOLEAN *
BYTE *
CLIENT_ID *
CONTEXT *
CURDIR *
DOS_PATHNAME_TYPE
DWORD *
EXCEPTION_RECORD *
EXCEPTION_REGISTRATION_RECORD *
EXCEPTION_REGISTRATION_RECORD **
FILE_BASIC_INFORMATION *
FILE_NETWORK_OPEN_INFORMATION *
GENERIC_MAPPING *
GUID *
HANDLE *
HMODULE *
IMAGE_NT_HEADERS *
IMAGE_RESOURCE_DATA_ENTRY *
IMAGE_RESOURCE_DATA_ENTRY **
IMAGE_RESOURCE_DIRECTORY **
IMAGE_SECTION_HEADER **
INT *
IO_STATUS_BLOCK *
LANGID *
LARGE_INTEGER *
LCID *
LDR_RESOURCE_INFO *
LPBYTE
LPCVOID
LPCVOID *
LPDWORD
LPRTL_RWLOCK
LPSTR *
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
PCRTL_BITMAP
PCSZ
PDEBUG_BUFFER
PDIRECTORY_BASIC_INFORMATION
PDWORD
PEB *
PEXCEPTION_RECORD
PGENERIC_MAPPING
PHANDLE
PIMAGE_NT_HEADERS
PIMAGE_SECTION_HEADER
PIO_APC_ROUTINE
PIO_STATUS_BLOCK
PKEY_MULTIPLE_VALUE_INFORMATION
PLARGE_INTEGER
PLDR_MODULE *
PLONG
PLPC_MESSAGE
PLPC_SECTION_READ
PLPC_SECTION_WRITE
PLUID
PLUID_AND_ATTRIBUTES
PNTAPCFUNC
POBJECT_ATTRIBUTES
PPRIVILEGE_SET
PRTL_BITMAP
PRTL_BITMAP_RUN
PRTL_HEAP_DEFINITION
PRTL_QUERY_REGISTRY_TABLE
PRTL_THREAD_START_ROUTINE
PRTL_USER_PROCESS_PARAMETERS
PRTL_WORK_ITEM_ROUTINE
PSECURITY_DESCRIPTOR
PSECURITY_DESCRIPTOR *
PSECURITY_DESCRIPTOR_CONTROL
PSECURITY_QUALITY_OF_SERVICE
PSID
PSID *
PSID_IDENTIFIER_AUTHORITY
PSLIST_ENTRY
PSLIST_HEADER
PSTRING
PSYSTEM_MODULE_INFORMATION
PTIME_FIELDS
PTIMER_APC_ROUTINE
PTOKEN_GROUPS
PTOKEN_PRIVILEGES
PULARGE_INTEGER
PULONG
PULONG_PTR
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_TIME_ZONE_INFORMATION *
RTL_USER_PROCESS_PARAMETERS *
RTL_USER_PROCESS_PARAMETERS **
SECURITY_DESCRIPTOR *
SIZE_T *
SLIST_HEADER *
STRING *
UINT *
ULONG *
ULONGLONG *
UNICODE_STRING *
USHORT *
VOID *
WCHAR **
char **
int *
int (*)(void *, void *)
obj_handle_t *
union cptable *
unsigned int *
va_list
va_list *
void *
void **
wine_signal_handler

%str

LPCSTR
LPSTR
PCHAR
char *

%void

VOID
void

%wstr

LPCWSTR
LPWSTR
PCWSTR
PWSTR
WCHAR *

%%ntdsapi.dll

%long

DWORD
USHORT

%ptr

DWORD *

%str

LPCSTR
LPSTR

%wstr

LPCWSTR
LPWSTR

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

%wstr

WCHAR *

%%odbccp32.dll

%long

BOOL
DWORD
HWND
LONG
SQLRETURN
UWORD
WORD
int

%ptr

DWORD *
LONG *
LPDWORD
UWORD *
WORD *

%str

LPCSTR
LPSTR

%wstr

LPCWSTR
LPWSTR

%%ole32.dll

%long

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

%ptr

BIND_OPTS *
CLIPFORMAT *
CLSID *
COSERVERINFO *
DVTARGETDEVICE *
DWORD *
FILETIME *
FMTID *
GUID *
HBITMAP *
HDC *
HENHMETAFILE *
HGLOBAL *
HMETAFILE *
HMETAFILEPICT *
HPALETTE *
HRESULT *
IChannelHook *
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
LPHANDLE
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
RPC_AUTHZ_HANDLE *
SNB
SNB *
SOLE_AUTHENTICATION_SERVICE *
STGMEDIUM *
STGOPTIONS *
ULONG *
WORD *
unsigned char *
void *
void **

%str

LPCOLESTR
LPOLESTR

%void

VOID
void

%wstr

BSTR
OLECHAR *
LPCWSTR
WCHAR *

%%oleacc.dll

%long

DWORD
HRESULT
HWND
LONG
WPARAM

%ptr

LPUNKNOWN
REFIID
void **

%%oleaut32.dll

%double

DATE
double

%float

float
FLOAT

%long

BOOL
BYTE
CALLCONV
DISPID
DWORD
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

%long --pointer

ULONG_PTR

%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
LPSAFEARRAY *
LPSTREAM
LPSYSTEMTIME
LPUNKNOWN
LPUNKNOWN *
LPVARIANT
LPVOID
LPVOID *
NUMPARSE *
OLECHAR **
REFCLSID
REFGUID
REFIID
SAFEARRAY *
SAFEARRAY **
SAFEARRAYBOUND *
SHORT *
UDATE *
UINT *
ULONG *
ULONG64 *
USHORT *
VARIANT *
VARIANT_BOOL *
VARIANTARG *
VARIANTARG **
VARTYPE *
VOID *
double *
float *
int *
signed char *
unsigned char *
void *
void **

%str

LPCOLESTR
LPCSTR
LPOLESTR

%void

void

%wstr

BSTR
OLECHAR *

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

%ptr

BOOL *
LHSERVER *
LHSERVERDOC *
LPOLESERVER
LPOLESERVERDOC

%str

LPCSTR

%%opengl32.dll

%double

GLclampd
GLdouble

%float

FLOAT

%long

BOOL
DWORD
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
PROC

%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

%%pstorec.dll

%long

DWORD
HRESULT

%ptr

IPStore **
PST_PROVIDERID *
void *

%%qcap.dll

%long

HRESULT

%ptr

LPVOID *
REFCLSID
REFIID

%%quartz.dll

%long

HRESULT
LONG

%ptr

LPVOID *
REFCLSID
REFIID

%%rasapi32.dll

%long

BOOL
DWORD
HANDLE
HRASCONN
HWND
RASPROJECTION
UINT

%ptr

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

%str

LPCSTR
LPSTR

%wstr

LPCWSTR
LPWSTR

%%riched20.dll

%long

HRESULT
HWND
LPARAM
LRESULT
UINT
WPARAM

%ptr

ITextHost *
IUnknown *
IUnknown **

%%riched32.dll

%long

HRESULT

%ptr

DLLVERSIONINFO *

%%rpcrt4.dll

%long

DWORD
HMODULE
HRESULT
HWND
LONG
RPC_BINDING_HANDLE
RPC_IF_HANDLE
RPC_STATUS
UINT
ULONG
XLAT_SIDE
int
size_t
unsigned char
unsigned int
unsigned short

%long --pointer

LONG_PTR

%ptr

CLSID *
CStdPSFactoryBuffer *
DWORD *
IRpcChannelBuffer *
IRpcStubBuffer *
LPPSFACTORYBUFFER
LPRPCCHANNELBUFFER
LPRPCPROXYBUFFER *
LPRPCSTUBBUFFER
LPTYPEINFO
LPUNKNOWN
LPVOID
LPVOID *
MIDL_STUB_MESSAGE *
NDR_CCONTEXT
NDR_CCONTEXT *
NDR_RUNDOWN
NDR_SCONTEXT
PFORMAT_STRING
PFULL_PTR_XLAT_TABLES
PMIDL_STUB_DESC
PMIDL_STUB_MESSAGE
PRPC_MESSAGE
PRPC_POLICY
PRPCOLEMESSAGE
PRPC_SYNTAX_IDENTIFIER
ProxyFileInfo **
REFCLSID
REFIID
RPC_AUTH_KEY_RETRIEVAL_FN
RPC_AUTH_IDENTITY_HANDLE
RPC_AUTH_IDENTITY_HANDLE *
RPC_BINDING_HANDLE *
RPC_BINDING_VECTOR *
RPC_BINDING_VECTOR **
RPC_BLOCKING_FN
RPC_CSTR *
RPC_EP_INQ_HANDLE *
RPC_IF_CALLBACK_FN *
RPC_IF_ID *
RPC_IF_ID_VECTOR **
RPC_MGR_EPV *
RPC_SECURITY_QOS *
RPC_STATUS *
RPC_SYNTAX_IDENTIFIER *
RPC_WSTR *
UUID *
UUID_VECTOR *
ULONG *
struct IRpcChannelBuffer *
struct IRpcStubBuffer *
twr_t *
twr_t **
unsigned char *
unsigned char **
void *
void **

%void

void

%str

RPC_CSTR

%wstr

RPC_WSTR

%%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
HANDLE
NTSTATUS
SECURITY_STATUS
ULONG

%ptr

HANDLE *
PCredHandle
PCtxtHandle
PHANDLE
PLUID
PNTSTATUS
PSecBuffer
PSecBufferDesc
PSecPkgInfoA *
PSecPkgInfoW *
PSecurityFunctionTableA
PSecurityFunctionTableW
PTimeStamp
PULONG
PVOID
PVOID *
SEC_GET_KEY_FN
ULONG *
void *
void **

%str

LPCSTR
LPSTR
SEC_CHAR *

%wstr

LPCWSTR
LPWSTR
SEC_WCHAR *

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

%%sfc_os.dll

%long

BOOL
HANDLE

%wstr

LPCWSTR

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

%long --pointer

DWORD_PTR

%longlong

POINT

%ptr

AUTO_SCROLL_DATA *
BOOL *
CABINETSTATE *
CLSID *
DLLVERSIONINFO *
DWORD *
FARPROC
FORMATETC *
HANDLE *
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
LONG
LPARAM
LRESULT
REGSAM
SHCONTF
SHREGDEL_FLAGS
SHREGENUM_FLAGS
UCHAR
UINT
ULONG
URLIS
WCHAR
WORD
WPARAM
char
int

%long --pointer

INT_PTR
DWORD_PTR

%longlong

LONGLONG

%ptr

BOOL *
BSTR *
CLSID *
DISPPARAMS *
DLGPROC
DLLVERSIONINFO *
DWORD *
DWORD_PTR *
FDSA_info *
HICON *
HKEY *
HWND *
IBindCtx *
IConnectionPoint *
IConnectionPoint **
IDataObject *
IDispatch **
IDropTarget *
IEnumIDList **
IFACE_INDEX_TBL *
IID *
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
PPOINTL
PSECURITY_DESCRIPTOR
PSHELL_USER_PERMISSION *
PVOID
PVOID *
REFCLSID
REFGUID
REFIID
SHFILEINFOW *
STRRET *
UINT *
ULARGE_INTEGER *
VARIANT *
VARIANTARG *
VOID *
WAITORTIMERCALLBACK
WNDCLASSA *
WNDCLASSW *
int *
unsigned char *
va_list
void *
void **

%str

LPCSTR
LPSTR

%struct16

CLSID

%void

VOID
void

%wstr

LPCWSTR
LPWSTR

%%snmpapi.dll

%void

VOID

%long

INT
UINT

%str

LPSTR

%ptr

AsnAny *
AsnObjectIdentifier *
AsnOctetString *
LPVOID
SnmpVarBind *
SnmpVarBindList *
UINT *

%%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
PARSEACTION
QUERYOPTION
UINT

%ptr

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

%str

LPCSTR
LPSTR

%void

void

%wstr

LPCWSTR
LPWSTR

%%user32.dll

%long

ACCESS_MASK
ATOM
BOOL
BYTE
CHAR
COLORREF
DWORD
HACCEL
HANDLE
HANDLE16
HBITMAP
HBRUSH
HCONV
HCONVLIST
HCURSOR
HDC
HDDEDATA
HDESK
HDEVNOTIFY
HDRVR16
HDWP
HFONT
HGLOBAL16
HHOOK
HICON
HINSTANCE
HINSTANCE16
HKL
HMENU
HMODULE
HMODULE16
HMONITOR
HRESULT
HRGN
HSZ
HTASK
HWINEVENTHOOK
HWINSTA
HWND
HWND16
INT
INT16
LONG
LPARAM
LRESULT
SHORT
UINT
UINT16
ULONG
WCHAR
WORD
WPARAM
WPARAM16
int

%long --pointer

INT_PTR
UINT_PTR
ULONG_PTR

%longlong

POINT

%ptr

BLENDFUNCTION *
BOOL *
COLORREF *
DESKTOPENUMPROCA
DESKTOPENUMPROCW
DLGPROC
DLGPROC16
DRAWSTATEPROC
DWORD *
GRAYSTRINGPROC
GUITHREADINFO *
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
PMENUBARINFO
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
SIZE *
TIMERPROC
TRACKMOUSEEVENT *
UINT *
WINDOWPLACEMENT *
WINEVENTPROC
WINSTAENUMPROCA
WINSTAENUMPROCW
WND *
WNDCLASSA *
WNDCLASSEXA *
WNDCLASSEXW *
WNDCLASSW *
WNDENUMPROC
WNDPROC
WNDPROC16
va_list

%str

LPCSTR
LPSTR

%void

VOID
void

%wstr

LPCWSTR
LPWSTR

%%usp10.dll

%long

BOOL
DWORD
HDC
HRESULT
LCID
UINT
WORD
int

%ptr

ABC *
BYTE *
GOFFSET *
RECT *
SCRIPT_ANALYSIS *
SCRIPT_CACHE *
SCRIPT_CONTROL *
SCRIPT_DIGITSUBSTITUTE *
SCRIPT_FONTPROPERTIES *
SCRIPT_ITEM *
SCRIPT_LOGATTR *
SCRIPT_PROPERTIES ***
SCRIPT_STATE *
SCRIPT_STRING_ANALYSIS
SCRIPT_STRING_ANALYSIS *
SCRIPT_TABDEF *
SCRIPT_VISATTR *
SIZE *
UINT *
WORD *
int *
LONG *
void *

%wstr

WCHAR *

%%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 *
PTHEMENAMES
ParseThemeIniFileProc
RECT *
SIZE *
TEXTMETRICW *
WORD *
int *

%str

char *

%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
LPARAM
LRESULT
UINT
WORD

%long --pointer

DWORD_PTR

%%wineaudioio.drv

%long

DWORD
HDRVR
LPARAM
LRESULT
UINT
WORD

%long --pointer

DWORD_PTR

%%winecoreaudio.drv

%long

DWORD
HDRVR
LPARAM
LRESULT
UINT
WORD

%long --pointer

DWORD_PTR

%%wined3d.dll

%long

UINT

%ptr

IUnknown *
IWineD3D *

%%winedos.dll

%long

BOOL
BYTE
DWORD
UINT
WORD
int

%ptr

LPVOID
UINT16 *
void *

%str

LPCSTR

%void

void

%%wineesd.drv

%long

DWORD
HDRVR
LPARAM
LRESULT
UINT
WORD

%long --pointer

DWORD_PTR

%%winejack.drv

%long

DWORD
HDRVR
LPARAM
LRESULT
UINT
WORD

%long --pointer

DWORD_PTR

%%winejoystick.drv

%long

HDRVR
LPARAM
LRESULT
UINT

%long --pointer

DWORD_PTR

%%winemp3.acm

%long

HDRVR
LPARAM
LRESULT
UINT

%long --pointer

DWORD_PTR

%%winenas.drv

%long

DWORD
HDRVR
LPARAM
LRESULT
UINT
WORD

%long --pointer

DWORD_PTR

%%wineoss.drv

%long

DWORD
HDRVR
LPARAM
LRESULT
UINT
WORD

%long --pointer

DWORD_PTR

%%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
HRGN
HWND
INT
LONG
UINT

%ptr

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

%wstr

LPCWSTR

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

GOPHER_ATTRIBUTE_ENUMERATORA
GOPHER_ATTRIBUTE_ENUMERATORW
GROUPID *
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

%void

void

%wstr

LPCWSTR
LPWSTR
PWSTR

%%winmm.dll

%long

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

%long --forbidden

HMMIO16
UINT16

%long --pointer

DWORD_PTR
UINT_PTR

%ptr

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

%str

LPCSTR
LPSTR

%void

void

%wstr

LPCWSTR
LPWSTR

%%winnls32.dll

%long

BOOL
HWND

%%winspool.drv

%long

BOOL
DWORD
HANDLE
HWND
INT
LONG
WORD

%ptr

DEVMODEW *
DOCINFOA *
DOCINFOW *
HANDLE *
LPBYTE
LPDEVMODEA
LPDEVMODEW
LPDWORD
LPPRINTER_DEFAULTSA
LPPRINTER_DEFAULTSW
LPVOID
LPVOID *
PBYTE
PDEVMODEA
PDEVMODEW
PDWORD
PPRINTER_NOTIFY_INFO

%str

LPCSTR
LPSTR

%wstr

LPCWSTR
LPWSTR

%%wintab32.dll

%long

BOOL
DWORD
HCTX
HMGR
HWND
HWTHOOK
LPARAM
LRESULT
UINT
WPARAM
int

%ptr

LPBYTE
LPINT
LPLOGCONTEXTA
LPLOGCONTEXTW
LPVOID
UINT *
WTENUMPROC

%str

LPSTR

%wstr

LPWSTR

%%wintrust.dll

%long

BOOL
DWORD
HANDLE
HCATADMIN
HCATINFO
HCRYPTPROV
HRESULT
HWND
LONG

%ptr

BYTE *
CRYPT_PROVIDER_DATA *
CRYPT_PROVIDER_FUNCTIONS *
CRYPT_PROVIDER_REGDEFUSAGE *
CRYPT_PROVIDER_SGNR *
CRYPT_REGISTER_ACTIONID *
CRYPTCATMEMBER *
DWORD *
GUID *
HCATADMIN *
HCATINFO *
LPVOID
PCCERT_CONTEXT
WINTRUST_DATA *

%str

char *

%wstr

LPWSTR

%void

void

%%wldap32.dll

%long

BOOLEAN
HANDLE
INT
UCHAR
ULONG
int

%ptr

BERVAL *
BerElement *
CHAR **
HANDLE *
LDAPControlA *
LDAPControlA **
LDAPControlW *
LDAPControlW **
LDAPModA *[]
LDAPModW *[]
PBERVAL *
PCHAR *
PCHAR **
PCHAR[]
PINT
PLDAP_VERSION_INFO
PLDAPControlA
PLDAPControlA *
PLDAPControlA **
PLDAPControlW
PLDAPControlW *
PLDAPControlW **
PLDAPSearch
PLDAPSortKeyA *
PLDAPSortKeyW *
PULONG
PWCHAR *
PWCHAR **
PWCHAR[]
ULONG *
WLDAP32_BerElement *
WLDAP32_BerElement **
WLDAP32_LDAP *
WLDAP32_LDAPMessage *
WLDAP32_LDAPMessage **
WLDAP32_LDAPVLVInfo *
int *
struct WLDAP32_berval *
struct WLDAP32_berval **
struct l_timeval *
void *

%str

CHAR *
LPCSTR
LPSTR
PCHAR

%void

void

%wstr

LPCWSTR
LPWSTR
PWCHAR

%%wnaspi32.dll

%long

BOOL
DWORD

%ptr

LPDWORD
LPSRB
PASPI32BUFF

%%wow32.dll

%long

BOOL
DWORD
HANDLE
WORD
WOW_HANDLE_TYPE

%ptr

LPLDT_ENTRY
LPVOID
PDWORD
PVOID
WORD *

%void

void

%%ws2_32.dll

%short

WS_u_short

%long

BOOL
DWORD
GROUP
HANDLE
HWND
INT
LONG
SOCKET
UINT
WORD
WS_socklen_t
WS_u_long
WSAESETSERVICEOP
WSAEVENT
int

%ptr

ADDRINFOW *
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
LPWSAQUERYSETA
LPWSAQUERYSETW
LPWSASERVICECLASSINFOA
LPWSASERVICECLASSINFOW
PADDRINFOW *
SOCKADDR *
WS_fd_set *
WS_u_long *
WS_u_short *
int *
struct WS_addrinfo *
struct WS_addrinfo **
struct WS_hostent *
struct WS_protoent *
struct WS_servent *
struct WS_sockaddr *
struct WS_timeval *

%str

LPCSTR
LPSTR
PCHAR
char *

%unknown

struct WS_in_addr

%void

void

%wstr

LPCWSTR
LPWSTR

%%wsock32.dll

%long

DWORD
INT
SOCKET
UINT

%ptr

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

%str

LPCSTR
LPSTR
char *

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

%str

LPSTR

%wstr

LPWSTR

%void

void
