%%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
LSA_HANDLE
LSTATUS
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 *
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
SESSION *
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
HCRYPTASN1MODULE
HCRYPTMSG
HCRYPTPROV
HCRYPTPROV_LEGACY
HCRYPTPROV_OR_NCRYPT_KEY_HANDLE
HMODULE
LONG
ULONG

%ptr

ASN1decoding_t
ASN1encoding_t
ASN1module_t
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_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_CHAIN_POLICY_PARA
PCERT_CHAIN_POLICY_STATUS
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

%%d3drm.dll

%long

D3DCOLOR

%float

D3DVALUE

%ptr

D3DRMMATRIX4D
LPD3DRMQUATERNION
LPD3DVECTOR

%void

void

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

GUID *
IUnknown *
LPDDENUMCALLBACKA
LPDDENUMCALLBACKEXA
LPDIRECTDRAW *
LPDIRECTDRAWCLIPPER *
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

PDNS_MESSAGE_BUFFER
PDNS_RECORD
PDNS_RECORD *
PDNS_RECORDA
PDNS_RECORDA *
PDNS_RECORDW
PDNS_RECORDW *
PDWORD
PHANDLE
PVOID
PVOID *

%str

PCSTR

%wstr

PCWSTR

%void

VOID

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

%%faultrep.dll

%long

BOOL
DWORD
EFaultRepRetVal

%ptr

LPEXCEPTION_POINTERS

%str

LPCSTR

%wstr

LPCWSTR

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

%long --pointer

DWORD_PTR

%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 *
POLYTEXTA *
POLYTEXTW *
PVOID
RECT *
RGBQUAD *
RGNDATA *
TEXTMETRICA *
TEXTMETRICW *
TRIVERTEX *
VOID **
WORD *
XFORM *
void *

%str

LPCSTR
LPSTR

%void

void

%wstr

LPCWSTR
LPWSTR

%%gdiplus.dll

%long

ARGB
BOOL
ColorAdjustType
ColorMatrixFlags
CompositingMode
CompositingQuality
EmfType
GpDashCap
GpDashStyle
GpFillMode
GpLineCap
GpLineJoin
GpMatrixOrder
GpStatus
GpUnit
GpWrapMode
GraphicsState
HDC
HENHMETAFILE
HMETAFILE
HWND
INT
InterpolationMode
LANGID
LinearGradientMode
PixelFormat
PixelOffsetMode
PROPID
SIZE_T
SmoothingMode
Status
StringAlignment
StringTrimming
TextRenderingHint
UINT
WrapMode

%long --pointer

ULONG_PTR

%float

REAL

%ptr

ARGB *
BitmapData *
BOOL *
BYTE *
CLSID *
ColorMatrix *
ColorPalette *
CompositingMode *
CompositingQuality *
DrawImageAbort
EncoderParameters *
GpBitmap *
GpBitmap **
GpBrush *
GpBrush **
GpBrushType *
GpCustomLineCap *
GpCustomLineCap **
GpDashStyle *
GpFillMode *
GpFont *
GpFont **
GpGraphics *
GpGraphics **
GpImage *
GpImage **
GpImageAttributes *
GpImageAttributes **
GpLineGradient *
GpLineGradient **
GpMatrix *
GpMatrix **
GpMetafile *
GpMetafile **
GpPath *
GpPath **
GpPathGradient *
GpPathGradient **
GpPathIterator *
GpPathIterator **
GpPen *
GpPen **
GpPoint *
GpPointF *
GpRect *
GpRectF *
GpSolidFill *
GpSolidFill **
GpStringFormat *
GpStringFormat **
GpTexture *
GpTexture **
GpUnit *
GraphicsState *
GUID *
ImageItemData *
ImageType *
INT *
InterpolationMode *
IStream *
IStream **
LOGFONTA *
LOGFONTW *
MetafileHeader *
PixelFormat *
PixelOffsetMode *
REAL *
RectF *
SmoothingMode *
StringAlignment *
StringTrimming *
TextRenderingHint *
UINT *
ULONG_PTR *
VOID *
WmfPlaceableFileHeader *
struct GdiplusStartupInput *
struct GdiplusStartupOutput *
void *

%wstr

WCHAR *

%void

void

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

HINSTANCE
HRESULT
HWND
UINT
int

%long --pointer

DWORD_PTR

%str

LPCSTR
LPSTR

%wstr

LPCWSTR

%%hid.dll

%ptr

LPGUID

%void

void

%%hlink.dll

%long

DWORD
HRESULT
HWND
ULONG

%ptr

IBindStatusCallback *
IDataObject *
IHlink *
IHlinkBrowseContext *
IHlinkFrame *
IHlinkSite *
IMoniker *
IUnknown *
LPBC
LPWSTR *
REFIID
ULONG *
void **

%wstr

LPCWSTR

%%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
LPWIN_CERTIFICATE
PCHAR *
PDWORD
PIMAGE_LOAD_CONFIG_DIRECTORY
PIMAGE_NT_HEADERS
PIMAGE_NT_HEADERS32
PIMAGEHLP_STATUS_ROUTINE
PLOADED_IMAGE
ULONG *
ULONG_PTR *

%str

PCSTR
PSTR
PCHAR

%wstr

PCWSTR

%void

VOID

%%imm32.dll

%long

BOOL
DWORD
HIMC
HKL
HIMCC
HWND
LONG
LPARAM
LRESULT
UINT
WPARAM

%ptr

LPCANDIDATEFORM
LPCANDIDATELIST
LPCOMPOSITIONFORM
LPCVOID
LPDWORD
LPINPUTCONTEXT
LPLOGFONTA
LPLOGFONTW
LPIMEMENUITEMINFOA
LPIMEMENUITEMINFOW
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
HEAP_INFORMATION_CLASS
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
ULONGLONG

%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
EXCEPTION_RECORD *
FARPROC
FARPROC *
FARPROC16
FILETIME *
FINDEX_INFO_LEVELS
FINDEX_SEARCH_OPS
GEO_ENUMPROC
GET_FILEEX_INFO_LEVELS
GUID *
HANDLE *
HMODULE *
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

%long

BOOL
DWORD

%ptr

LPMONITOREX
LPPRINTPROVIDOR

%wstr

LPWSTR

%%localui.dll

%ptr

PMONITORUI

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

%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

%%mprapi.dll

%long

BOOL

%wstr

LPWSTR

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

%%mscoree.dll

%long

BOOL
DWORD
HINSTANCE
HRESULT
__int32
int

%ptr

DWORD *
HMODULE *
IUnknown **
LPVOID
LPVOID *
PBYTE
REFCLSID
REFIID
PVOID
PVOID *
VOID *

%wstr

LPCWSTR
LPWSTR

%void

VOID
void

%%msdmo.dll

%long

DWORD
HRESULT
ULONG

%ptr

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

%wstr

LPCWSTR
WCHAR[80]

%%msg711.acm

%long

HDRVR
LPARAM
LRESULT
UINT

%long --pointer

DWORD_PTR

%%mshtml.dll

%long

BOOL
DWORD
HINSTANCE
HRESULT
HWND
INT

%ptr

IMoniker *
LPVOID *
REFCLSID
REFIID
VARIANT *

%str

LPSTR

%wstr

LPCWSTR
WCHAR *

%%msi.dll

%long

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

%ptr

DLLVERSIONINFO *
FILETIME *
HWND *
INSTALLSTATE *
INSTALLUI_HANDLERA
INSTALLUI_HANDLERW
LPBYTE
LPDWORD
LPINT
LPVOID
LPVOID *
LPWORD
MSIHANDLE *
MSIINSTALLCONTEXT *
PCCERT_CONTEXT *
PHKEY
PMSIFILEHASHINFO
PUINT
REFCLSID
REFIID

%str

CHAR[39]
LPCSTR
LPSTR
char *

%wstr

LPCWSTR
LPWSTR
WCHAR[39]

%%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
LCTYPE
LONG
MSVCRT_clock_t
MSVCRT_size_t
MSVCRT_time_t
MSVCRT_wchar_t
NTSTATUS
int
long
short
size_t
unsigned char
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__LDOUBLE *
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__stat64 *
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

%%nddeapi.dll

%long

DWORD
UINT

%str

LPSTR

%wstr

LPWSTR

%%netapi32.dll

%long

DSROLE_PRIMARY_DOMAIN_INFO_LEVEL
DWORD
NET_API_STATUS
UCHAR
ULONG

%ptr

GUID *
LPBYTE
LPBYTE *
LPDWORD
LPVOID
LPVOID *
LPWSTR *
PBROWSER_EMULATED_DOMAIN *
PBYTE *
PDOMAIN_CONTROLLER_INFOA *
PDOMAIN_CONTROLLER_INFOW *
PDWORD
PDWORD_PTR
PNCB
PNETSETUP_JOIN_STATUS
PSID
PVOID
PVOID *

%void

VOID

%str

LPCSTR

%wstr

LMCSTR
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
EVENT_INFORMATION_CLASS
FILE_INFORMATION_CLASS
FS_INFORMATION_CLASS
HANDLE
HMODULE
INT
IO_COMPLETION_INFORMATION_CLASS
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

%%ntoskrnl.exe

%long

BOOLEAN
DEVICE_TYPE
HANDLE
NTSTATUS
POOL_TYPE
SIZE_T
ULONG

%ptr

DEVICE_OBJECT *
DEVICE_OBJECT **
DRIVER_OBJECT *
LARGE_INTEGER *
PCLIENT_ID
PCREATE_PROCESS_NOTIFY_ROUTINE
PHANDLE
PKSTART_ROUTINE
PKTIMER
POBJECT_ATTRIBUTES
PVOID
ULONG *
UNICODE_STRING *
void *

%void

void

%%ntprint.dll

%long

BOOL
DWORD
HANDLE

%ptr

LPDWORD
LPVOID

%wstr

LPWSTR

%void

VOID

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

%%pdh.dll

%long

BOOLEAN
DWORD
HANDLE
LONG
PDH_HCOUNTER
PDH_HLOG
PDH_HQUERY
PDH_STATUS

%long --pointer

DWORD_PTR

%ptr

LONGLONG *
LPDWORD
PDH_HCOUNTER *
PDH_HQUERY *
PPDH_COUNTER_INFO_A
PPDH_COUNTER_INFO_W
PPDH_FMT_COUNTERVALUE
PPDH_RAW_COUNTER

%str

LPCSTR
LPSTR

%wstr

LPCWSTR
LPWSTR

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

%%printui.dll

%long

DWORD
HINSTANCE
HWND

%wstr

LPCWSTR

%void

void

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

DWORD
HRESULT
LONG

%ptr

LPVOID *
REFCLSID
REFIID

%str

LPSTR

%wstr

LPWSTR

%%query.dll

%long

HRESULT
ULONG

%ptr

CI_STATE *
ULONG *

%str

CHAR *

%wstr

WCHAR *

%%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 *
char **
twr_t *
twr_t **
unsigned char *
unsigned char **
void *
void **

%void

void

%str

RPC_CSTR
char *

%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

%%schannel.dll

%long

NTSTATUS
ULONG

%ptr

PSECPKG_FUNCTION_TABLE *
PSECPKG_USER_FUNCTION_TABLE *
PULONG

%%secur32.dll

%long

BOOLEAN
EXTENDED_NAME_FORMAT
HANDLE
NTSTATUS
SECURITY_LOGON_TYPE
SECURITY_STATUS
ULONG

%ptr

HANDLE *
PCredHandle
PCtxtHandle
PHANDLE
PLSA_OPERATIONAL_MODE
PLSA_STRING
PLUID
PLUID *
PNTSTATUS
PQUOTA_LIMITS
PSecBuffer
PSecBufferDesc
PSecPkgInfoA *
PSecPkgInfoW *
PSECURITY_LOGON_SESSION_DATA *
PSecurityFunctionTableA
PSecurityFunctionTableW
PTimeStamp
PTOKEN_GROUPS
PTOKEN_SOURCE
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
HSPFILELOG
HSPFILEQ
HSTRING_TABLE
HWND
INT
LogSeverity
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_DETSIG_CMPPROC
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
PSP_ORIGINAL_FILE_INFO_A
PSP_ORIGINAL_FILE_INFO_W
PCSTR *
PCWSTR *
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
HKEY
REGSAM

%wstr

LPCWSTR

%%shdocvw.dll

%long

BOOL
DWORD
HINSTANCE
HRESULT
HWND
int

%ptr

DLLVERSIONINFO *
LPVOID *
REFCLSID
REFIID

%str

LPCSTR
LPSTR

%void

void

%wstr

LPCWSTR

%%shell32.dll

%long

BOOL
COLORREF
DWORD
HANDLE
HBITMAP
HDROP
HICON
HIMAGELIST
HINSTANCE
HKEY
HMENU
HMODULE
HPSXA
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 *
IUnknown *
IUnknown **
LPBROWSEINFOA
LPBROWSEINFOW
LPBYTE
LPCITEMIDLIST
LPCITEMIDLIST *
LPCRECT
LPCSFV
LPCVOID
LPCVOID *
LPDATAOBJECT
LPDATAOBJECT *
LPDRAWITEMSTRUCT
LPDROPSOURCE
LPDROPTARGET
LPDWORD
LPENUMFORMATETC *
LPFNADDPROPSHEETPAGE
LPFNCREATEINSTANCE
LPFNFMCALLBACK
LPITEMIDLIST
LPITEMIDLIST *
LPITEMIDLIST **
LPLONG
LPMALLOC *
LPMEASUREITEMSTRUCT
LPPOINT
LPSECURITY_ATTRIBUTES
LPSHELLEXECUTEINFOA
LPSHELLEXECUTEINFOW
LPSHELLFLAGSTATE
LPSHELLFOLDER
LPSHELLSTATE
LPSHFILEOPSTRUCTA
LPSHFILEOPSTRUCTW
LPSHQUERYRBINFO
LPSTRRET
LPTPMPARAMS
LPUNKNOWN
LPVOID
LPVOID *
LPWORD
LPWSTR *
PAPPBARDATA
PHKEY
PNOTIFYICONDATAA
PNOTIFYICONDATAW
POINT *
REFCLSID
REFIID
SHChangeNotifyEntry *
SHFILEINFOA *
SHFILEINFOW *
int *
void *

%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 *
DATABLOCK_HEADER *
DISPPARAMS *
DLGPROC
DLLVERSIONINFO *
DWORD *
DWORD_PTR *
FDSA_info *
HICON *
HKEY *
HWND *
IBindCtx *
IConnectionPoint *
IConnectionPoint **
IDataObject *
IDropTarget *
IEnumIDList **
IFACE_INDEX_TBL *
IID *
IPropertyBag *
IShellFolder *
IStream *
IStream **
ITEMIDLIST *
IUnknown *
IUnknown **
LPBC
LPBROWSEINFOW
LPBYTE
LPCITEMIDLIST
LPCRECT
LPCSTR *
LPCVOID
LPCWSTR *
LPDBLIST
LPDBLIST *
LPDWORD
LPINT
LPITEMIDLIST
LPMSG
LPOPENFILENAMEW
LPPAGESETUPDLGW
LPPOLICYDATA
LPPRINTDLGW
LPSECURITY_ATTRIBUTES
LPSHELLEXECUTEINFOW
LPSHELLFOLDER
LPSHFILEOPSTRUCTW
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 *

%%spoolss.dll

%long

BOOL
DWORD
HANDLE

%ptr

LPBYTE
LPVOID
LPVOID *

%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

%%url.dll

%long

BOOL
DWORD
HRESULT
HWND
int

%str

LPCSTR
LPSTR

%%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
LPSTREAM *
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
HRAWINPUT
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
LONG_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 *
PRAWINPUT
PRAWINPUT *
PRAWINPUTDEVICE
PRAWINPUTDEVICELIST
PROPENUMPROCA
PROPENUMPROCEXA
PROPENUMPROCEXW
PROPENUMPROCW
PSECURITY_DESCRIPTOR
PSECURITY_INFORMATION
PSECURITY_QUALITY_OF_SERVICE
PTITLEBARINFO
PUINT
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

%%userenv.dll

%long

BOOL
DWORD
HANDLE

%ptr

DWORD *
LPDWORD
LPPROFILEINFOA
LPVOID *

%str

LPCSTR
LPSTR

%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

%%vdmdbg.dll

%long

DWORD
INT
LPARAM

%ptr

TASKENUMPROC

%%version.dll

%long

BOOL
DWORD

%ptr

LPCVOID
LPDWORD
LPVOID
LPVOID *
PUINT

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

%%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
HGLRC
HICON
HKL
HMONITOR
HPALETTE
HPBUFFERARB
HPEN
HRGN
HWND
INT
LONG
LPARAM
LRESULT
SHORT
UINT
WCHAR
Window
WPARAM
int

%ptr

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

%void

void

%str

LPCSTR

%wstr

LPCWSTR
LPWSTR

%%wing32.dll

%long

BOOL
COLORREF
HBITMAP
HBRUSH
HDC
HPALETTE
INT
UINT

%ptr

BITMAPINFO *
RGBQUAD *
void *
void **

%%winhttp.dll

%long

BOOL

%ptr

WINHTTP_CURRENT_USER_IE_PROXY_CONFIG *

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

DWORD *
DWORD_PTR *
FILETIME *
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_CONFIG_INFOA
LPINTERNET_CACHE_CONFIG_INFOW
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

%%winmm.dll

%long

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

%wstr

LPCWSTR
LPWSTR

%void

VOID

%%winnls32.dll

%long

BOOL
HWND

%%winscard.dll

%long

DWORD
LONG

%ptr

LPCVOID
LPSCARDCONTEXT

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

%str

LPCSTR
char *

%wstr

LPCWSTR
LPWSTR
PWSTR

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