+WINUSERAPI BOOL WINAPI WaitMessage(void);
+WINUSERAPI HWND WINAPI WindowFromDC(HDC hDC);
+WINUSERAPI HWND WINAPI WindowFromPoint(POINT);
+WINUSERAPI UINT WINAPI WinExec(LPCSTR,UINT);
+WINUSERAPI BOOL WINAPI WinHelpA(HWND,LPCSTR,UINT,DWORD);
+WINUSERAPI BOOL WINAPI WinHelpW(HWND,LPCWSTR,UINT,DWORD);
+WINUSERAPI int __cdecl wsprintfA(LPSTR,LPCSTR,...);
+WINUSERAPI int __cdecl wsprintfW(LPWSTR,LPCWSTR,...);
+WINUSERAPI int WINAPI wvsprintfA(LPSTR,LPCSTR,va_list arglist);
+WINUSERAPI int WINAPI wvsprintfW(LPWSTR,LPCWSTR,va_list arglist);
+
+WINUSERAPI BOOL WINAPI AllowSetForegroundWindow(DWORD);
+WINUSERAPI BOOL WINAPI LockSetForegroundWindow(UINT);
+
+DWORD WINAPI GetFileVersionInfoSizeA(LPCSTR,PDWORD);
+DWORD WINAPI GetFileVersionInfoSizeW(LPCWSTR,PDWORD);
+BOOL WINAPI GetFileVersionInfoA(LPCSTR,DWORD,DWORD,PVOID);
+BOOL WINAPI GetFileVersionInfoW(LPCWSTR,DWORD,DWORD,PVOID);
+DWORD WINAPI VerLanguageNameA(DWORD,LPSTR,DWORD);
+DWORD WINAPI VerLanguageNameW(DWORD,LPWSTR,DWORD);
+BOOL WINAPI VerQueryValueA(const LPVOID,LPSTR,LPVOID*,PUINT);
+BOOL WINAPI VerQueryValueW(const LPVOID,LPWSTR,LPVOID*,PUINT);
+
+LPWSTR * WINAPI CommandLineToArgvW(LPCWSTR,int*);
+void WINAPI DragAcceptFiles(HWND,BOOL);
+void WINAPI DragFinish(HDROP);
+UINT WINAPI DragQueryFileA(HDROP,UINT,LPSTR,UINT);
+UINT WINAPI DragQueryFileW(HDROP,UINT,LPWSTR,UINT);
+BOOL WINAPI DragQueryPoint(HDROP,LPPOINT);
+HICON WINAPI DuplicateIcon(HINSTANCE,HICON);
+HICON WINAPI ExtractAssociatedIconA(HINSTANCE,LPCSTR,PWORD);
+HICON WINAPI ExtractAssociatedIconW(HINSTANCE,LPCWSTR,PWORD);
+HICON WINAPI ExtractIconA(HINSTANCE,LPCSTR,UINT);
+HICON WINAPI ExtractIconW(HINSTANCE,LPCWSTR,UINT);
+UINT WINAPI ExtractIconExA(LPCSTR,int,HICON*,HICON*,UINT);
+UINT WINAPI ExtractIconExW(LPCWSTR,int,HICON*,HICON*,UINT);
+HINSTANCE WINAPI FindExecutableA(LPCSTR,LPCSTR,LPSTR);
+HINSTANCE WINAPI FindExecutableW(LPCWSTR,LPCWSTR,LPWSTR);
+UINT WINAPI SHAppBarMessage(DWORD,PAPPBARDATA);
+BOOL WINAPI Shell_NotifyIconA(DWORD,PNOTIFYICONDATAA);
+BOOL WINAPI Shell_NotifyIconW(DWORD,PNOTIFYICONDATAW);
+int WINAPI ShellAboutA(HWND,LPCSTR,LPCSTR,HICON);
+int WINAPI ShellAboutW(HWND,LPCWSTR,LPCWSTR,HICON);
+HINSTANCE WINAPI ShellExecuteA(HWND,LPCSTR,LPCSTR,LPCSTR,LPCSTR,INT);
+HINSTANCE WINAPI ShellExecuteW(HWND,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,INT);
+BOOL WINAPI ShellExecuteExA(LPSHELLEXECUTEINFOA);
+BOOL WINAPI ShellExecuteExW(LPSHELLEXECUTEINFOW);
+int WINAPI SHFileOperationA(LPSHFILEOPSTRUCTA);
+int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW);
+void WINAPI SHFreeNameMappings(HANDLE);
+DWORD WINAPI SHGetFileInfoA(LPCSTR,DWORD,SHFILEINFOA*,UINT,UINT);
+DWORD WINAPI SHGetFileInfoW(LPCWSTR,DWORD,SHFILEINFOW*,UINT,UINT);
+HRESULT WINAPI SHQueryRecycleBinA(LPCSTR, LPSHQUERYRBINFO);
+HRESULT WINAPI SHQueryRecycleBinW(LPCWSTR, LPSHQUERYRBINFO);
+HRESULT WINAPI SHEmptyRecycleBinA(HWND,LPCSTR,DWORD);
+HRESULT WINAPI SHEmptyRecycleBinW(HWND,LPCWSTR,DWORD);
+
+HRESULT WINAPI SHGetSpecialFolderLocation(HWND,int,LPITEMIDLIST*);
+HRESULT WINAPI SHGetFolderPathA(HWND,int,HANDLE,DWORD,LPSTR);
+HRESULT WINAPI SHGetFolderPathW(HWND,int,HANDLE,DWORD,LPWSTR);
+BOOL WINAPI SHGetPathFromIDListA(LPCITEMIDLIST,LPSTR);
+BOOL WINAPI SHGetPathFromIDListW(LPCITEMIDLIST,LPWSTR);
+
+WINBASEAPI LPSTR WINAPI lstrcatA(LPSTR,LPCSTR);
+WINBASEAPI LPWSTR WINAPI lstrcatW(LPWSTR,LPCWSTR);
+WINBASEAPI int WINAPI lstrcmpA(LPCSTR,LPCSTR);
+WINBASEAPI int WINAPI lstrcmpiA(LPCSTR,LPCSTR);
+WINBASEAPI int WINAPI lstrcmpiW( LPCWSTR,LPCWSTR);
+WINBASEAPI int WINAPI lstrcmpW(LPCWSTR,LPCWSTR);
+WINBASEAPI LPSTR WINAPI lstrcpyA(LPSTR,LPCSTR);
+WINBASEAPI LPSTR WINAPI lstrcpynA(LPSTR,LPCSTR,int);
+WINBASEAPI LPWSTR WINAPI lstrcpynW(LPWSTR,LPCWSTR,int);
+WINBASEAPI LPWSTR WINAPI lstrcpyW(LPWSTR,LPCWSTR);
+WINBASEAPI int WINAPI lstrlenA(LPCSTR);
+WINBASEAPI int WINAPI lstrlenW(LPCWSTR);
+
+// wingdi.h
+WINGDIAPI int WINAPI AbortDoc(HDC);
+WINGDIAPI BOOL WINAPI AbortPath(HDC);
+WINGDIAPI int WINAPI AddFontResourceA(LPCSTR);
+WINGDIAPI int WINAPI AddFontResourceW(LPCWSTR);
+WINGDIAPI HANDLE WINAPI AddFontMemResourceEx(PVOID,DWORD,PVOID,DWORD *);
+WINGDIAPI int WINAPI AddFontResourceExA(LPCSTR,DWORD,PVOID);
+WINGDIAPI int WINAPI AddFontResourceExW(LPCWSTR,DWORD,PVOID);
+WINGDIAPI BOOL WINAPI AngleArc(HDC,int,int,DWORD,FLOAT,FLOAT);
+WINGDIAPI BOOL WINAPI AnimatePalette(HPALETTE,UINT,UINT,const PALETTEENTRY*);
+WINGDIAPI BOOL WINAPI Arc(HDC,int,int,int,int,int,int,int,int);
+WINGDIAPI BOOL WINAPI ArcTo(HDC,int,int,int,int,int,int,int,int);
+WINGDIAPI BOOL WINAPI BeginPath(HDC);
+WINGDIAPI BOOL WINAPI BitBlt(HDC,int,int,int,int,HDC,int,int,DWORD);
+WINGDIAPI BOOL WINAPI CancelDC(HDC);
+WINGDIAPI BOOL WINAPI CheckColorsInGamut(HDC,PVOID,PVOID,DWORD);
+WINGDIAPI BOOL WINAPI Chord(HDC,int,int,int,int,int,int,int,int);
+WINGDIAPI int WINAPI ChoosePixelFormat(HDC,CONST PIXELFORMATDESCRIPTOR*);
+WINGDIAPI HENHMETAFILE WINAPI CloseEnhMetaFile(HDC);
+WINGDIAPI BOOL WINAPI CloseFigure(HDC);
+WINGDIAPI HMETAFILE WINAPI CloseMetaFile(HDC);
+WINGDIAPI BOOL WINAPI ColorCorrectPalette(HDC,HPALETTE,DWORD,DWORD);
+WINGDIAPI BOOL WINAPI ColorMatchToTarget(HDC,HDC,DWORD);
+WINGDIAPI int WINAPI CombineRgn(HRGN,HRGN,HRGN,int);
+WINGDIAPI BOOL WINAPI CombineTransform(LPXFORM,const XFORM*,const XFORM*);
+WINGDIAPI HENHMETAFILE WINAPI CopyEnhMetaFileA(HENHMETAFILE,LPCSTR);
+WINGDIAPI HENHMETAFILE WINAPI CopyEnhMetaFileW(HENHMETAFILE,LPCWSTR);
+WINGDIAPI HMETAFILE WINAPI CopyMetaFileA(HMETAFILE,LPCSTR);
+WINGDIAPI HMETAFILE WINAPI CopyMetaFileW(HMETAFILE,LPCWSTR);
+WINGDIAPI HBITMAP WINAPI CreateBitmap(int,int,UINT,UINT,LPCVOID);
+WINGDIAPI HBITMAP WINAPI CreateBitmapIndirect(const BITMAP*);
+WINGDIAPI HBRUSH WINAPI CreateBrushIndirect(const LOGBRUSH*);
+WINGDIAPI HCOLORSPACE WINAPI CreateColorSpaceA(LPLOGCOLORSPACEA);
+WINGDIAPI HCOLORSPACE WINAPI CreateColorSpaceW(LPLOGCOLORSPACEW);
+WINGDIAPI HBITMAP WINAPI CreateCompatibleBitmap(HDC,int,int);
+WINGDIAPI HDC WINAPI CreateCompatibleDC(HDC);
+WINGDIAPI HDC WINAPI CreateDCA(LPCSTR,LPCSTR,LPCSTR,const DEVMODEA*);
+WINGDIAPI HDC WINAPI CreateDCW(LPCWSTR,LPCWSTR,LPCWSTR,const DEVMODEW*);
+WINGDIAPI HBITMAP WINAPI CreateDIBitmap(HDC,const BITMAPINFOHEADER*,DWORD,LPCVOID,const BITMAPINFO*,UINT);
+WINGDIAPI HBRUSH WINAPI CreateDIBPatternBrush(HGLOBAL,UINT);
+WINGDIAPI HBRUSH WINAPI CreateDIBPatternBrushPt(LPCVOID,UINT);
+WINGDIAPI HBITMAP WINAPI CreateDIBSection(HDC,const BITMAPINFO*,UINT,void**,HANDLE,DWORD);
+WINGDIAPI HBITMAP WINAPI CreateDiscardableBitmap(HDC,int,int);
+WINGDIAPI HRGN WINAPI CreateEllipticRgn(int,int,int,int);
+WINGDIAPI HRGN WINAPI CreateEllipticRgnIndirect(LPCRECT);
+WINGDIAPI HDC WINAPI CreateEnhMetaFileA(HDC,LPCSTR,LPCRECT,LPCSTR);
+WINGDIAPI HDC WINAPI CreateEnhMetaFileW(HDC,LPCWSTR,LPCRECT,LPCWSTR);
+WINGDIAPI HFONT WINAPI CreateFontA(int,int,int,int,int,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPCSTR);
+WINGDIAPI HFONT WINAPI CreateFontW(int,int,int,int,int,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPCWSTR);
+WINGDIAPI HFONT WINAPI CreateFontIndirectA(const LOGFONTA*);
+WINGDIAPI HFONT WINAPI CreateFontIndirectW(const LOGFONTW*);
+WINGDIAPI HPALETTE WINAPI CreateHalftonePalette(HDC);
+WINGDIAPI HBRUSH WINAPI CreateHatchBrush(int,COLORREF);
+WINGDIAPI HDC WINAPI CreateICA(LPCSTR,LPCSTR,LPCSTR,const DEVMODEA*);
+WINGDIAPI HDC WINAPI CreateICW(LPCWSTR,LPCWSTR,LPCWSTR,const DEVMODEW*);
+WINGDIAPI HDC WINAPI CreateMetaFileA(LPCSTR);
+WINGDIAPI HDC WINAPI CreateMetaFileW(LPCWSTR);
+WINGDIAPI HPALETTE WINAPI CreatePalette(const LOGPALETTE*);
+WINGDIAPI HBRUSH WINAPI CreatePatternBrush(HBITMAP);
+WINGDIAPI HPEN WINAPI CreatePen(int,int,COLORREF);
+WINGDIAPI HPEN WINAPI CreatePenIndirect(const LOGPEN*);
+WINGDIAPI HRGN WINAPI CreatePolygonRgn(const POINT*,int,int);
+WINGDIAPI HRGN WINAPI CreatePolyPolygonRgn(const POINT*,const INT*,int,int);
+WINGDIAPI HRGN WINAPI CreateRectRgn(int,int,int,int);
+WINGDIAPI HRGN WINAPI CreateRectRgnIndirect(LPCRECT);
+WINGDIAPI HRGN WINAPI CreateRoundRectRgn(int,int,int,int,int,int);
+WINGDIAPI BOOL WINAPI CreateScalableFontResourceA(DWORD,LPCSTR,LPCSTR,LPCSTR);
+WINGDIAPI BOOL WINAPI CreateScalableFontResourceW(DWORD,LPCWSTR,LPCWSTR,LPCWSTR);
+WINGDIAPI HBRUSH WINAPI CreateSolidBrush(COLORREF);
+WINGDIAPI BOOL WINAPI DeleteColorSpace(HCOLORSPACE);
+WINGDIAPI BOOL WINAPI DeleteDC(HDC);
+WINGDIAPI BOOL WINAPI DeleteEnhMetaFile(HENHMETAFILE);
+WINGDIAPI BOOL WINAPI DeleteMetaFile(HMETAFILE);
+WINGDIAPI BOOL WINAPI DeleteObject(HGDIOBJ);
+WINGDIAPI int WINAPI DescribePixelFormat(HDC,int,UINT,LPPIXELFORMATDESCRIPTOR);
+WINGDIAPI DWORD WINAPI DeviceCapabilitiesA(LPCSTR,LPCSTR,WORD,LPSTR,const DEVMODEA*);
+WINGDIAPI DWORD WINAPI DeviceCapabilitiesW(LPCWSTR,LPCWSTR,WORD,LPWSTR,const DEVMODEW*);
+WINGDIAPI BOOL WINAPI DPtoLP(HDC,LPPOINT,int);
+WINGDIAPI int WINAPI DrawEscape(HDC,int,int,LPCSTR);
+WINGDIAPI BOOL WINAPI Ellipse(HDC,int,int,int,int);
+WINGDIAPI int WINAPI EndDoc(HDC);
+WINGDIAPI int WINAPI EndPage(HDC);
+WINGDIAPI BOOL WINAPI EndPath(HDC);
+WINGDIAPI BOOL WINAPI EnumEnhMetaFile(HDC,HENHMETAFILE,ENHMFENUMPROC,PVOID,LPCRECT);
+WINGDIAPI int WINAPI EnumFontFamiliesA(HDC,LPCSTR,FONTENUMPROCA,LPARAM);
+WINGDIAPI int WINAPI EnumFontFamiliesW(HDC,LPCWSTR,FONTENUMPROCW,LPARAM);
+WINGDIAPI int WINAPI EnumFontFamiliesExA(HDC,PLOGFONTA,FONTENUMPROCA,LPARAM,DWORD);
+WINGDIAPI int WINAPI EnumFontFamiliesExW(HDC,PLOGFONTW,FONTENUMPROCW,LPARAM,DWORD);
+WINGDIAPI int WINAPI EnumFontsA(HDC,LPCSTR,FONTENUMPROCA,LPARAM);
+WINGDIAPI int WINAPI EnumFontsW(HDC,LPCWSTR,FONTENUMPROCW,LPARAM);
+WINGDIAPI int WINAPI EnumICMProfilesA(HDC,ICMENUMPROCA,LPARAM);
+WINGDIAPI int WINAPI EnumICMProfilesW(HDC,ICMENUMPROCW,LPARAM);
+WINGDIAPI BOOL WINAPI EnumMetaFile(HDC,HMETAFILE,MFENUMPROC,LPARAM);
+WINGDIAPI int WINAPI EnumObjects(HDC,int,GOBJENUMPROC,LPARAM);
+WINGDIAPI BOOL WINAPI EqualRgn(HRGN,HRGN);
+WINGDIAPI int WINAPI Escape(HDC,int,int,LPCSTR,PVOID);
+WINGDIAPI int WINAPI ExcludeClipRect(HDC,int,int,int,int);
+WINGDIAPI int WINAPI ExcludeUpdateRgn(HDC,HWND);
+WINGDIAPI HPEN WINAPI ExtCreatePen(DWORD,DWORD,const LOGBRUSH*,DWORD,const DWORD*);
+WINGDIAPI HRGN WINAPI ExtCreateRegion(const XFORM*,DWORD,const RGNDATA*);
+WINGDIAPI int WINAPI ExtEscape(HDC,int,int,LPCSTR,int,LPSTR);
+WINGDIAPI BOOL WINAPI ExtFloodFill(HDC,int,int,COLORREF,UINT);
+WINGDIAPI int WINAPI ExtSelectClipRgn(HDC,HRGN,int);
+WINGDIAPI BOOL WINAPI ExtTextOutW(HDC,int,int,UINT,LPCRECT,LPCWSTR,UINT,const INT*);
+
+WINGDIAPI BOOL WINAPI ExtTextOutA(HDC,int,int,UINT,LPCRECT,LPCSTR,UINT,const INT*);
+WINGDIAPI BOOL WINAPI FillPath(HDC);
+WINGDIAPI int WINAPI FillRect(HDC,LPCRECT,HBRUSH);
+WINGDIAPI int WINAPI FillRgn(HDC,HRGN,HBRUSH);
+WINGDIAPI BOOL WINAPI FixBrushOrgEx(HDC,int,int,LPPOINT);
+WINGDIAPI BOOL WINAPI FlattenPath(HDC);
+WINGDIAPI BOOL WINAPI FloodFill(HDC,int,int,COLORREF);
+
+WINGDIAPI UINT WINAPI SetTextAlign(HDC,UINT);
+WINGDIAPI BOOL WINAPI GetTextMetricsA(HDC,LPTEXTMETRICA);
+WINGDIAPI BOOL WINAPI GetTextMetricsW(HDC,LPTEXTMETRICW);
+WINGDIAPI BOOL WINAPI GetViewportExtEx(HDC,LPSIZE);
+WINGDIAPI BOOL WINAPI GetViewportOrgEx(HDC,LPPOINT);
+WINGDIAPI BOOL WINAPI GetWindowExtEx(HDC,LPSIZE);
+WINGDIAPI BOOL WINAPI GetWindowOrgEx(HDC,LPPOINT);
+WINGDIAPI UINT WINAPI GetWinMetaFileBits(HENHMETAFILE,UINT,LPBYTE,INT,HDC);
+WINGDIAPI BOOL WINAPI GetWorldTransform(HDC,LPXFORM);
+WINGDIAPI BOOL WINAPI GdiComment(HDC,UINT,const BYTE*);
+WINGDIAPI BOOL WINAPI GdiFlush(void);
+WINGDIAPI DWORD WINAPI GdiGetBatchLimit(void);
+WINGDIAPI DWORD WINAPI GdiSetBatchLimit(DWORD);
+WINGDIAPI int WINAPI GetArcDirection(HDC);
+WINGDIAPI BOOL WINAPI GetAspectRatioFilterEx(HDC,LPSIZE);
+WINGDIAPI LONG WINAPI GetBitmapBits(HBITMAP,LONG,PVOID);
+WINGDIAPI BOOL WINAPI GetBitmapDimensionEx(HBITMAP,LPSIZE);
+WINGDIAPI COLORREF WINAPI GetBkColor(HDC);
+WINGDIAPI int WINAPI GetBkMode(HDC);
+WINGDIAPI UINT WINAPI GetBoundsRect(HDC,LPRECT,UINT);
+WINGDIAPI BOOL WINAPI GetBrushOrgEx(HDC,LPPOINT);
+WINGDIAPI BOOL WINAPI GetCharABCWidthsA(HDC,UINT,UINT,LPABC);
+WINGDIAPI BOOL WINAPI GetCharABCWidthsW(HDC,UINT,UINT,LPABC);
+WINGDIAPI BOOL WINAPI GetCharABCWidthsFloatA(HDC,UINT,UINT,LPABCFLOAT);
+WINGDIAPI BOOL WINAPI GetCharABCWidthsFloatW(HDC,UINT,UINT,LPABCFLOAT);
+WINGDIAPI DWORD WINAPI GetCharacterPlacementA(HDC,LPCSTR,int,int,LPGCP_RESULTSA,DWORD);
+WINGDIAPI DWORD WINAPI GetCharacterPlacementW(HDC,LPCWSTR,int,int,LPGCP_RESULTSW,DWORD);
+WINGDIAPI BOOL WINAPI GetCharWidth32A(HDC,UINT,UINT,LPINT);
+WINGDIAPI BOOL WINAPI GetCharWidth32W(HDC,UINT,UINT,LPINT);
+WINGDIAPI BOOL WINAPI GetCharWidthA(HDC,UINT,UINT,LPINT);
+WINGDIAPI BOOL WINAPI GetCharWidthW(HDC,UINT,UINT,LPINT);
+WINGDIAPI BOOL WINAPI GetCharWidthFloatA(HDC,UINT,UINT,PFLOAT);
+WINGDIAPI BOOL WINAPI GetCharWidthFloatW(HDC,UINT,UINT,PFLOAT);
+WINGDIAPI int WINAPI GetClipBox(HDC,LPRECT);
+WINGDIAPI int WINAPI GetClipRgn(HDC,HRGN);
+WINGDIAPI BOOL WINAPI GetColorAdjustment(HDC,LPCOLORADJUSTMENT);
+WINGDIAPI HANDLE WINAPI GetColorSpace(HDC);
+WINGDIAPI HGDIOBJ WINAPI GetCurrentObject(HDC,UINT);
+WINGDIAPI BOOL WINAPI GetCurrentPositionEx(HDC,LPPOINT);
+WINGDIAPI HCURSOR WINAPI GetCursor(void);
+WINGDIAPI COLORREF WINAPI GetDCBrushColor(HDC);
+WINGDIAPI COLORREF WINAPI GetDCPenColor(HDC);
+WINGDIAPI BOOL WINAPI GetDCOrgEx(HDC,LPPOINT);
+WINGDIAPI int WINAPI GetDeviceCaps(HDC,int);
+WINGDIAPI BOOL WINAPI GetDeviceGammaRamp(HDC,PVOID);
+WINGDIAPI UINT WINAPI GetDIBColorTable(HDC,UINT,UINT,RGBQUAD*);
+WINGDIAPI int WINAPI GetDIBits(HDC,HBITMAP,UINT,UINT,PVOID,LPBITMAPINFO,UINT);
+WINGDIAPI HENHMETAFILE WINAPI GetEnhMetaFileA(LPCSTR);
+WINGDIAPI HENHMETAFILE WINAPI GetEnhMetaFileW(LPCWSTR);
+WINGDIAPI UINT WINAPI GetEnhMetaFileBits(HENHMETAFILE,UINT,LPBYTE);
+WINGDIAPI UINT WINAPI GetEnhMetaFileDescriptionA(HENHMETAFILE,UINT,LPSTR);
+WINGDIAPI UINT WINAPI GetEnhMetaFileDescriptionW(HENHMETAFILE,UINT,LPWSTR);
+WINGDIAPI UINT WINAPI GetEnhMetaFileHeader(HENHMETAFILE,UINT,LPENHMETAHEADER);
+WINGDIAPI UINT WINAPI GetEnhMetaFilePaletteEntries(HENHMETAFILE,UINT,LPPALETTEENTRY);
+WINGDIAPI UINT WINAPI GetEnhMetaFilePixelFormat(HENHMETAFILE,DWORD,CONST PIXELFORMATDESCRIPTOR*);
+WINGDIAPI DWORD WINAPI GetFontData(HDC,DWORD,DWORD,PVOID,DWORD);
+WINGDIAPI DWORD WINAPI GetFontLanguageInfo(HDC);
+WINGDIAPI DWORD WINAPI GetGlyphOutlineA(HDC,UINT,UINT,LPGLYPHMETRICS,DWORD,PVOID,const MAT2*);
+WINGDIAPI DWORD WINAPI GetGlyphOutlineW(HDC,UINT,UINT,LPGLYPHMETRICS,DWORD,PVOID,const MAT2*);
+WINGDIAPI int WINAPI GetGraphicsMode(HDC);
+WINGDIAPI BOOL WINAPI GetICMProfileA(HDC,LPDWORD,LPSTR);
+WINGDIAPI BOOL WINAPI GetICMProfileW(HDC,LPDWORD,LPWSTR);
+WINGDIAPI DWORD WINAPI GetKerningPairsA(HDC,DWORD,LPKERNINGPAIR);
+WINGDIAPI DWORD WINAPI GetKerningPairsW(HDC,DWORD,LPKERNINGPAIR);
+WINGDIAPI BOOL WINAPI GetLogColorSpaceA(HCOLORSPACE,LPLOGCOLORSPACEA,DWORD);
+WINGDIAPI BOOL WINAPI GetLogColorSpaceW(HCOLORSPACE,LPLOGCOLORSPACEW,DWORD);
+WINGDIAPI int WINAPI GetMapMode(HDC);
+WINGDIAPI HMETAFILE WINAPI GetMetaFileA(LPCSTR);
+WINGDIAPI HMETAFILE WINAPI GetMetaFileW(LPCWSTR);
+WINGDIAPI UINT WINAPI GetMetaFileBitsEx(HMETAFILE,UINT,PVOID);
+WINGDIAPI int WINAPI GetMetaRgn(HDC,HRGN);
+WINGDIAPI BOOL WINAPI GetMiterLimit(HDC,PFLOAT);
+WINGDIAPI COLORREF WINAPI GetNearestColor(HDC,COLORREF);
+WINGDIAPI UINT WINAPI GetNearestPaletteIndex(HPALETTE,COLORREF);
+WINGDIAPI int WINAPI GetObjectA(HGDIOBJ,int,PVOID);
+WINGDIAPI int WINAPI GetObjectW(HGDIOBJ,int,PVOID);
+WINGDIAPI DWORD WINAPI GetObjectType(HGDIOBJ);
+WINGDIAPI UINT WINAPI GetOutlineTextMetricsA(HDC,UINT,LPOUTLINETEXTMETRICA);
+WINGDIAPI UINT WINAPI GetOutlineTextMetricsW(HDC,UINT,LPOUTLINETEXTMETRICW);
+WINGDIAPI UINT WINAPI GetPaletteEntries(HPALETTE,UINT,UINT,LPPALETTEENTRY);
+WINGDIAPI int WINAPI GetPath(HDC,LPPOINT,PBYTE,int);
+WINGDIAPI COLORREF WINAPI GetPixel(HDC,int,int);
+WINGDIAPI int WINAPI GetPixelFormat(HDC);
+WINGDIAPI int WINAPI GetPolyFillMode(HDC);
+WINGDIAPI BOOL WINAPI GetRasterizerCaps(LPRASTERIZER_STATUS,UINT);
+WINGDIAPI int WINAPI GetRandomRgn (HDC,HRGN,INT);
+WINGDIAPI DWORD WINAPI GetRegionData(HRGN,DWORD,LPRGNDATA);
+WINGDIAPI int WINAPI GetRgnBox(HRGN,LPRECT);
+WINGDIAPI int WINAPI GetROP2(HDC);
+WINGDIAPI HGDIOBJ WINAPI GetStockObject(int);
+WINGDIAPI int WINAPI GetStretchBltMode(HDC);
+WINGDIAPI UINT WINAPI GetSystemPaletteEntries(HDC,UINT,UINT,LPPALETTEENTRY);
+WINGDIAPI UINT WINAPI GetSystemPaletteUse(HDC);
+WINGDIAPI UINT WINAPI GetTextAlign(HDC);
+WINGDIAPI int WINAPI GetTextCharacterExtra(HDC);
+WINGDIAPI int WINAPI GetTextCharset(HDC);
+WINGDIAPI int WINAPI GetTextCharsetInfo(HDC,LPFONTSIGNATURE,DWORD);
+WINGDIAPI COLORREF WINAPI GetTextColor(HDC);
+WINGDIAPI BOOL WINAPI GetTextExtentExPointA(HDC,LPCSTR,int,int,LPINT,LPINT,LPSIZE);
+WINGDIAPI BOOL WINAPI GetTextExtentExPointW( HDC,LPCWSTR,int,int,LPINT,LPINT,LPSIZE );
+WINGDIAPI BOOL WINAPI GetTextExtentPointA(HDC,LPCSTR,int,LPSIZE);
+WINGDIAPI BOOL WINAPI GetTextExtentPointW(HDC,LPCWSTR,int,LPSIZE);
+WINGDIAPI BOOL WINAPI GetTextExtentExPointI(HDC, LPWORD, int, int, LPINT, LPINT, LPSIZE);
+WINGDIAPI BOOL WINAPI GetTextExtentPoint32A(HDC,LPCSTR,int,LPSIZE);
+WINGDIAPI BOOL WINAPI GetTextExtentPoint32W( HDC,LPCWSTR,int,LPSIZE);
+WINGDIAPI int WINAPI GetTextFaceA(HDC,int,LPSTR);
+WINGDIAPI int WINAPI GetTextFaceW(HDC,int,LPWSTR);
+WINGDIAPI int WINAPI IntersectClipRect(HDC,int,int,int,int);
+WINGDIAPI BOOL WINAPI InvertRgn(HDC,HRGN);
+WINGDIAPI BOOL WINAPI LineDDA(int,int,int,int,LINEDDAPROC,LPARAM);
+WINGDIAPI BOOL WINAPI LineTo(HDC,int,int);
+WINGDIAPI BOOL WINAPI LPtoDP(HDC,LPPOINT,int);
+WINGDIAPI BOOL WINAPI MaskBlt(HDC,int,int,int,int,HDC,int,int,HBITMAP,int,int,DWORD);
+WINGDIAPI BOOL WINAPI ModifyWorldTransform(HDC,const XFORM*,DWORD);
+WINGDIAPI BOOL WINAPI MoveToEx(HDC,int,int,LPPOINT);
+WINGDIAPI int WINAPI OffsetClipRgn(HDC,int,int);
+WINGDIAPI int WINAPI OffsetRgn(HRGN,int,int);
+WINGDIAPI BOOL WINAPI OffsetViewportOrgEx(HDC,int,int,LPPOINT);
+WINGDIAPI BOOL WINAPI OffsetWindowOrgEx(HDC,int,int,LPPOINT);
+WINGDIAPI BOOL WINAPI PaintRgn(HDC,HRGN);
+WINGDIAPI BOOL WINAPI PatBlt(HDC,int,int,int,int,DWORD);
+WINGDIAPI HRGN WINAPI PathToRegion(HDC);
+WINGDIAPI BOOL WINAPI Pie(HDC,int,int,int,int,int,int,int,int);
+WINGDIAPI BOOL WINAPI PlayEnhMetaFile(HDC,HENHMETAFILE,LPCRECT);
+WINGDIAPI BOOL WINAPI PlayEnhMetaFileRecord(HDC,LPHANDLETABLE,const ENHMETARECORD*,UINT);
+WINGDIAPI BOOL WINAPI PlayMetaFile(HDC,HMETAFILE);
+WINGDIAPI BOOL WINAPI PlayMetaFileRecord(HDC,LPHANDLETABLE,LPMETARECORD,UINT);
+WINGDIAPI BOOL WINAPI PlgBlt(HDC,const POINT*,HDC,int,int,int,int,HBITMAP,int,int);
+WINGDIAPI BOOL WINAPI PolyBezier(HDC,const POINT*,DWORD);
+WINGDIAPI BOOL WINAPI PolyBezierTo(HDC,const POINT*,DWORD);
+WINGDIAPI BOOL WINAPI PolyDraw(HDC,const POINT*,const BYTE*,int);
+WINGDIAPI BOOL WINAPI Polygon(HDC,const POINT*,int);
+WINGDIAPI BOOL WINAPI Polyline(HDC,const POINT*,int);
+WINGDIAPI BOOL WINAPI PolylineTo(HDC,const POINT*,DWORD);
+WINGDIAPI BOOL WINAPI PolyPolygon(HDC,const POINT*,const INT*,int);
+WINGDIAPI BOOL WINAPI PolyPolyline(HDC,const POINT*,const DWORD*,DWORD);
+WINGDIAPI BOOL WINAPI PolyTextOutA(HDC,const POLYTEXTA*,int);
+WINGDIAPI BOOL WINAPI PolyTextOutW(HDC,const POLYTEXTW*,int);
+WINGDIAPI BOOL WINAPI PtInRegion(HRGN,int,int);
+WINGDIAPI BOOL WINAPI PtVisible(HDC,int,int);
+WINGDIAPI UINT WINAPI RealizePalette(HDC);
+WINGDIAPI BOOL WINAPI Rectangle(HDC,int,int,int,int);
+WINGDIAPI BOOL WINAPI RectInRegion(HRGN,LPCRECT);
+WINGDIAPI BOOL WINAPI RectVisible(HDC,LPCRECT);
+WINGDIAPI BOOL WINAPI RemoveFontResourceA(LPCSTR);
+WINGDIAPI BOOL WINAPI RemoveFontResourceW(LPCWSTR);
+WINGDIAPI BOOL WINAPI RemoveFontMemResourceEx(HANDLE);
+WINGDIAPI BOOL WINAPI RemoveFontResourceExA(LPCSTR,DWORD,PVOID);
+WINGDIAPI BOOL WINAPI RemoveFontResourceExW(LPCWSTR,DWORD,PVOID);
+WINGDIAPI HDC WINAPI ResetDCA(HDC,const DEVMODEA*);
+WINGDIAPI HDC WINAPI ResetDCW(HDC,const DEVMODEW*);
+WINGDIAPI BOOL WINAPI ResizePalette(HPALETTE,UINT);
+WINGDIAPI BOOL WINAPI RestoreDC(HDC,int);
+WINGDIAPI BOOL WINAPI RoundRect(HDC,int,int,int,int,int,int);
+WINGDIAPI int WINAPI SaveDC(HDC);
+WINGDIAPI BOOL WINAPI ScaleViewportExtEx(HDC,int,int,int,int,LPSIZE);
+WINGDIAPI BOOL WINAPI ScaleWindowExtEx(HDC,int,int,int,int,LPSIZE);
+WINGDIAPI BOOL WINAPI SelectClipPath(HDC,int);
+WINGDIAPI int WINAPI SelectClipRgn(HDC,HRGN);
+WINGDIAPI HGDIOBJ WINAPI SelectObject(HDC,HGDIOBJ);
+WINGDIAPI HPALETTE WINAPI SelectPalette(HDC,HPALETTE,BOOL);
+WINGDIAPI int WINAPI SetAbortProc(HDC,ABORTPROC);
+WINGDIAPI int WINAPI SetArcDirection(HDC,int);
+WINGDIAPI LONG WINAPI SetBitmapBits(HBITMAP,DWORD,LPCVOID);
+WINGDIAPI BOOL WINAPI SetBitmapDimensionEx(HBITMAP,int,int,LPSIZE);
+WINGDIAPI COLORREF WINAPI SetBkColor(HDC,COLORREF);
+WINGDIAPI int WINAPI SetBkMode(HDC,int);
+WINGDIAPI UINT WINAPI SetBoundsRect(HDC,LPCRECT,UINT);
+WINGDIAPI BOOL WINAPI SetBrushOrgEx(HDC,int,int,LPPOINT);
+WINGDIAPI BOOL WINAPI SetColorAdjustment(HDC,const COLORADJUSTMENT*);
+WINGDIAPI BOOL WINAPI SetColorSpace(HDC,HCOLORSPACE);
+WINGDIAPI COLORREF WINAPI SetDCBrushColor(HDC,COLORREF);
+WINGDIAPI COLORREF WINAPI SetDCPenColor(HDC,COLORREF);
+WINGDIAPI BOOL WINAPI SetDeviceGammaRamp(HDC,PVOID);
+WINGDIAPI UINT WINAPI SetDIBColorTable(HDC,UINT,UINT,const RGBQUAD*);
+WINGDIAPI int WINAPI SetDIBits(HDC,HBITMAP,UINT,UINT,LPCVOID,const BITMAPINFO*,UINT);
+WINGDIAPI int WINAPI SetDIBitsToDevice(HDC,int,int,DWORD,DWORD,int,int,UINT,UINT,LPCVOID,const BITMAPINFO*,UINT);
+WINGDIAPI HENHMETAFILE WINAPI SetEnhMetaFileBits(UINT,const BYTE*);
+WINGDIAPI int WINAPI SetGraphicsMode(HDC,int);
+WINGDIAPI int WINAPI SetICMMode(HDC,int);
+WINGDIAPI BOOL WINAPI SetICMProfileA(HDC,LPSTR);
+WINGDIAPI BOOL WINAPI SetICMProfileW(HDC,LPWSTR);
+WINGDIAPI int WINAPI SetMapMode(HDC,int);
+WINGDIAPI DWORD WINAPI SetMapperFlags(HDC,DWORD);
+WINGDIAPI HMETAFILE WINAPI SetMetaFileBitsEx(UINT,const BYTE *);
+WINGDIAPI int WINAPI SetMetaRgn(HDC);
+WINGDIAPI BOOL WINAPI SetMiterLimit(HDC,FLOAT,PFLOAT);
+WINGDIAPI UINT WINAPI SetPaletteEntries(HPALETTE,UINT,UINT,const PALETTEENTRY*);
+WINGDIAPI COLORREF WINAPI SetPixel(HDC,int,int,COLORREF);
+WINGDIAPI BOOL WINAPI SetPixelFormat(HDC,int,const PIXELFORMATDESCRIPTOR*);
+WINGDIAPI BOOL WINAPI SetPixelV(HDC,int,int,COLORREF);
+WINGDIAPI int WINAPI SetPolyFillMode(HDC,int);
+WINGDIAPI BOOL WINAPI SetRectRgn(HRGN,int,int,int,int);
+WINGDIAPI int WINAPI SetROP2(HDC,int);
+WINGDIAPI int WINAPI SetStretchBltMode(HDC,int);
+WINGDIAPI UINT WINAPI SetSystemPaletteUse(HDC,UINT);
+WINGDIAPI UINT WINAPI SetTextAlign(HDC,UINT);
+WINGDIAPI int WINAPI SetTextCharacterExtra(HDC,int);
+WINGDIAPI COLORREF WINAPI SetTextColor(HDC,COLORREF);
+WINGDIAPI BOOL WINAPI SetTextJustification(HDC,int,int);
+WINGDIAPI BOOL WINAPI SetViewportExtEx(HDC,int,int,LPSIZE);
+WINGDIAPI BOOL WINAPI SetViewportOrgEx(HDC,int,int,LPPOINT);
+WINGDIAPI BOOL WINAPI SetWindowExtEx(HDC,int,int,LPSIZE);
+WINGDIAPI BOOL WINAPI SetWindowOrgEx(HDC,int,int,LPPOINT);
+WINGDIAPI HENHMETAFILE WINAPI SetWinMetaFileBits(UINT,const BYTE*,HDC,const METAFILEPICT*);
+WINGDIAPI BOOL WINAPI SetWorldTransform(HDC,const XFORM *);
+WINGDIAPI int WINAPI StartDocA(HDC,const DOCINFOA*);
+WINGDIAPI int WINAPI StartDocW(HDC,const DOCINFOW*);
+WINGDIAPI int WINAPI StartPage(HDC);
+WINGDIAPI BOOL WINAPI StretchBlt(HDC,int,int,int,int,HDC,int,int,int,int,DWORD);
+WINGDIAPI int WINAPI StretchDIBits(HDC,int,int,int,int,int,int,int,int,const VOID *,const BITMAPINFO *,UINT,DWORD);
+WINGDIAPI BOOL WINAPI StrokeAndFillPath(HDC);
+WINGDIAPI BOOL WINAPI StrokePath(HDC);
+WINGDIAPI BOOL WINAPI SwapBuffers(HDC);
+WINGDIAPI BOOL WINAPI TextOutA(HDC,int,int,LPCSTR,int);
+WINGDIAPI BOOL WINAPI TextOutW(HDC,int,int,LPCWSTR,int);
+WINGDIAPI BOOL WINAPI TranslateCharsetInfo(PDWORD,LPCHARSETINFO,DWORD);
+WINGDIAPI BOOL WINAPI UnrealizeObject(HGDIOBJ);
+WINGDIAPI BOOL WINAPI UpdateColors(HDC);
+WINGDIAPI BOOL WINAPI UpdateICMRegKeyA(DWORD,DWORD,LPSTR,UINT);
+WINGDIAPI BOOL WINAPI UpdateICMRegKeyW(DWORD,DWORD,LPWSTR,UINT);
+WINGDIAPI BOOL WINAPI WidenPath(HDC);
+WINGDIAPI BOOL WINAPI wglCopyContext(HGLRC,HGLRC,UINT);
+WINGDIAPI HGLRC WINAPI wglCreateContext(HDC);
+WINGDIAPI HGLRC WINAPI wglCreateLayerContext(HDC,int);
+WINGDIAPI BOOL WINAPI wglDeleteContext(HGLRC);
+WINGDIAPI BOOL WINAPI wglDescribeLayerPlane(HDC,int,int,UINT,LPLAYERPLANEDESCRIPTOR);
+WINGDIAPI HGLRC WINAPI wglGetCurrentContext(void);
+WINGDIAPI HDC WINAPI wglGetCurrentDC(void);
+WINGDIAPI int WINAPI wglGetLayerPaletteEntries(HDC,int,int,int,COLORREF*);
+WINGDIAPI PROC WINAPI wglGetProcAddress(LPCSTR);
+WINGDIAPI BOOL WINAPI wglMakeCurrent(HDC,HGLRC);
+WINGDIAPI BOOL WINAPI wglRealizeLayerPalette(HDC,int,BOOL);
+WINGDIAPI int WINAPI wglSetLayerPaletteEntries(HDC,int,int,int,const COLORREF*);
+WINGDIAPI BOOL WINAPI wglShareLists(HGLRC,HGLRC);
+WINGDIAPI BOOL WINAPI wglSwapLayerBuffers(HDC,UINT);
+WINGDIAPI BOOL WINAPI wglUseFontBitmapsA(HDC,DWORD,DWORD,DWORD);
+WINGDIAPI BOOL WINAPI wglUseFontBitmapsW(HDC,DWORD,DWORD,DWORD);
+WINGDIAPI BOOL WINAPI wglUseFontOutlinesA(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT);
+WINGDIAPI BOOL WINAPI wglUseFontOutlinesW(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT);
+
+HIMC WINAPI ImmAssociateContext(HWND,HIMC);
+LONG WINAPI ImmGetCompositionStringA(HIMC,DWORD,PVOID,DWORD);
+HIMC WINAPI ImmGetContext(HWND);
+BOOL WINAPI ImmSetCompositionStringA(HIMC,DWORD,LPCVOID,DWORD,LPCVOID,DWORD);
+BOOL WINAPI ImmReleaseContext(HWND,HIMC);
+
+WINADVAPI BOOL WINAPI AbortSystemShutdownA(LPCSTR);
+WINADVAPI BOOL WINAPI AbortSystemShutdownW(LPCWSTR);
+WINADVAPI BOOL WINAPI InitiateSystemShutdownA(LPSTR,LPSTR,DWORD,BOOL,BOOL);
+WINADVAPI BOOL WINAPI InitiateSystemShutdownW(LPWSTR,LPWSTR,DWORD,BOOL,BOOL);
+
+// advapi32 winreg.h
+WINADVAPI LONG WINAPI RegCloseKey(HKEY);
+WINADVAPI LONG WINAPI RegConnectRegistryA(LPCSTR,HKEY,PHKEY);
+WINADVAPI LONG WINAPI RegConnectRegistryW(LPCWSTR,HKEY,PHKEY);
+WINADVAPI LONG WINAPI RegCreateKeyA(HKEY,LPCSTR,PHKEY);
+WINADVAPI LONG WINAPI RegCreateKeyExA(HKEY,LPCSTR,DWORD,LPSTR,DWORD,REGSAM,LPSECURITY_ATTRIBUTES,PHKEY,PDWORD);
+WINADVAPI LONG WINAPI RegCreateKeyExW(HKEY,LPCWSTR,DWORD,LPWSTR,DWORD,REGSAM,LPSECURITY_ATTRIBUTES,PHKEY,PDWORD);
+WINADVAPI LONG WINAPI RegCreateKeyW(HKEY,LPCWSTR,PHKEY);
+WINADVAPI LONG WINAPI RegDeleteKeyA(HKEY,LPCSTR);
+WINADVAPI LONG WINAPI RegDeleteKeyW(HKEY,LPCWSTR);
+WINADVAPI LONG WINAPI RegDeleteKeyExA(HKEY,LPCSTR,REGSAM,DWORD);
+WINADVAPI LONG WINAPI RegDeleteKeyExW(HKEY,LPCWSTR,REGSAM,DWORD);
+WINADVAPI LONG WINAPI RegDeleteValueA(HKEY,LPCSTR);
+WINADVAPI LONG WINAPI RegDeleteValueW(HKEY,LPCWSTR);
+WINADVAPI LONG WINAPI RegEnumKeyA(HKEY,DWORD,LPSTR,DWORD);
+WINADVAPI LONG WINAPI RegEnumKeyW(HKEY,DWORD,LPWSTR,DWORD);
+WINADVAPI LONG WINAPI RegEnumKeyExA(HKEY,DWORD,LPSTR,PDWORD,PDWORD,LPSTR,PDWORD,PFILETIME);
+WINADVAPI LONG WINAPI RegEnumKeyExW(HKEY,DWORD,LPWSTR,PDWORD,PDWORD,LPWSTR,PDWORD,PFILETIME);
+WINADVAPI LONG WINAPI RegEnumValueA(HKEY,DWORD,LPSTR,PDWORD,PDWORD,PDWORD,LPBYTE,PDWORD);
+WINADVAPI LONG WINAPI RegEnumValueW(HKEY,DWORD,LPWSTR,PDWORD,PDWORD,PDWORD,LPBYTE,PDWORD);
+WINADVAPI LONG WINAPI RegFlushKey(HKEY);
+WINADVAPI LONG WINAPI RegGetKeySecurity(HKEY,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,PDWORD);
+WINADVAPI LONG WINAPI RegLoadKeyA(HKEY,LPCSTR,LPCSTR);
+WINADVAPI LONG WINAPI RegLoadKeyW(HKEY,LPCWSTR,LPCWSTR);
+WINADVAPI LONG WINAPI RegNotifyChangeKeyValue(HKEY,BOOL,DWORD,HANDLE,BOOL);
+WINADVAPI LONG WINAPI RegOpenKeyA(HKEY,LPCSTR,PHKEY);
+WINADVAPI LONG WINAPI RegOpenKeyExA(HKEY,LPCSTR,DWORD,REGSAM,PHKEY);
+WINADVAPI LONG WINAPI RegOpenKeyExW(HKEY,LPCWSTR,DWORD,REGSAM,PHKEY);
+WINADVAPI LONG WINAPI RegOpenKeyW(HKEY,LPCWSTR,PHKEY);
+WINADVAPI LONG WINAPI RegQueryInfoKeyA(HKEY,LPSTR,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PFILETIME);
+WINADVAPI LONG WINAPI RegQueryInfoKeyW(HKEY,LPWSTR,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PFILETIME);
+WINADVAPI LONG WINAPI RegQueryMultipleValuesA(HKEY,PVALENTA,DWORD,LPSTR,LPDWORD);
+WINADVAPI LONG WINAPI RegQueryMultipleValuesW(HKEY,PVALENTW,DWORD,LPWSTR,LPDWORD);
+WINADVAPI LONG WINAPI RegQueryValueA(HKEY,LPCSTR,LPSTR,PLONG);
+WINADVAPI LONG WINAPI RegQueryValueExA(HKEY,LPCSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
+WINADVAPI LONG WINAPI RegQueryValueExW(HKEY,LPCWSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
+WINADVAPI LONG WINAPI RegQueryValueW(HKEY,LPCWSTR,LPWSTR,PLONG);
+WINADVAPI LONG WINAPI RegReplaceKeyA(HKEY,LPCSTR,LPCSTR,LPCSTR);
+WINADVAPI LONG WINAPI RegReplaceKeyW(HKEY,LPCWSTR,LPCWSTR,LPCWSTR);
+WINADVAPI LONG WINAPI RegRestoreKeyA(HKEY,LPCSTR,DWORD);
+WINADVAPI LONG WINAPI RegRestoreKeyW(HKEY,LPCWSTR,DWORD);
+WINADVAPI LONG WINAPI RegSaveKeyA(HKEY,LPCSTR,LPSECURITY_ATTRIBUTES);
+WINADVAPI LONG WINAPI RegSaveKeyW(HKEY,LPCWSTR,LPSECURITY_ATTRIBUTES);
+WINADVAPI LONG WINAPI RegSetKeySecurity(HKEY,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
+WINADVAPI LONG WINAPI RegSetValueA(HKEY,LPCSTR,DWORD,LPCSTR,DWORD);
+WINADVAPI LONG WINAPI RegSetValueExA(HKEY,LPCSTR,DWORD,DWORD,const BYTE*,DWORD);
+WINADVAPI LONG WINAPI RegSetValueExW(HKEY,LPCWSTR,DWORD,DWORD,const BYTE*,DWORD);
+WINADVAPI LONG WINAPI RegSetValueW(HKEY,LPCWSTR,DWORD,LPCWSTR,DWORD);
+WINADVAPI LONG WINAPI RegUnLoadKeyA(HKEY,LPCSTR);
+WINADVAPI LONG WINAPI RegUnLoadKeyW(HKEY,LPCWSTR);
+
+// commctrl.h
+void WINAPI InitCommonControls(void);
+BOOL WINAPI InitCommonControlsEx(LPINITCOMMONCONTROLSEX);
+
+// commdlg.h
+BOOL WINAPI ChooseColorA(LPCHOOSECOLORA);
+BOOL WINAPI ChooseColorW(LPCHOOSECOLORW);
+BOOL WINAPI ChooseFontA(LPCHOOSEFONTA);
+BOOL WINAPI ChooseFontW(LPCHOOSEFONTW);
+DWORD WINAPI CommDlgExtendedError(void);
+HWND WINAPI FindTextA(LPFINDREPLACEA);
+HWND WINAPI FindTextW(LPFINDREPLACEW);
+short WINAPI GetFileTitleA(LPCSTR,LPSTR,WORD);
+short WINAPI GetFileTitleW(LPCWSTR,LPWSTR,WORD);
+BOOL WINAPI GetOpenFileNameA(LPOPENFILENAMEA);
+BOOL WINAPI GetOpenFileNameW(LPOPENFILENAMEW);
+BOOL WINAPI GetSaveFileNameA(LPOPENFILENAMEA);
+BOOL WINAPI GetSaveFileNameW(LPOPENFILENAMEW);
+BOOL WINAPI PageSetupDlgA(LPPAGESETUPDLGA);
+BOOL WINAPI PageSetupDlgW(LPPAGESETUPDLGW);
+BOOL WINAPI PrintDlgA(LPPRINTDLGA);
+BOOL WINAPI PrintDlgW(LPPRINTDLGW);
+HWND WINAPI ReplaceTextA(LPFINDREPLACEA);
+HWND WINAPI ReplaceTextW(LPFINDREPLACEW);
+HRESULT WINAPI PrintDlgExA(LPPRINTDLGEXA);
+HRESULT WINAPI PrintDlgExW(LPPRINTDLGEXW);
+
+// mmsystem.h
+LRESULT WINAPI CloseDriver(HDRVR,LONG,LONG);
+HDRVR WINAPI OpenDriver(LPCWSTR,LPCWSTR,LONG);
+LRESULT WINAPI SendDriverMessage(HDRVR,UINT,LONG,LONG);
+HMODULE WINAPI DrvGetModuleHandle(HDRVR);
+HMODULE WINAPI GetDriverModuleHandle(HDRVR);
+LRESULT WINAPI DefDriverProc(DWORD,HDRVR,UINT,LPARAM,LPARAM);
+UINT WINAPI mmsystemGetVersion(void);
+BOOL WINAPI sndPlaySoundA(LPCSTR,UINT);
+BOOL WINAPI sndPlaySoundW(LPCWSTR,UINT);
+BOOL WINAPI PlaySoundA(LPCSTR,HMODULE,DWORD);
+BOOL WINAPI PlaySoundW(LPCWSTR,HMODULE,DWORD);
+UINT WINAPI waveOutGetNumDevs(void);
+MMRESULT WINAPI waveOutGetDevCapsA(UINT,LPWAVEOUTCAPSA,UINT);
+MMRESULT WINAPI waveOutGetDevCapsW(UINT,LPWAVEOUTCAPSW,UINT);
+MMRESULT WINAPI waveOutGetVolume(HWAVEOUT,PDWORD);
+MMRESULT WINAPI waveOutSetVolume(HWAVEOUT,DWORD);
+MMRESULT WINAPI waveOutGetErrorTextA(MMRESULT,LPSTR,UINT);
+MMRESULT WINAPI waveOutGetErrorTextW(MMRESULT,LPWSTR,UINT);
+MMRESULT WINAPI waveOutOpen(LPHWAVEOUT,UINT,LPCWAVEFORMATEX,DWORD,DWORD,DWORD);
+MMRESULT WINAPI waveOutClose(HWAVEOUT);
+MMRESULT WINAPI waveOutPrepareHeader(HWAVEOUT,LPWAVEHDR,UINT);
+MMRESULT WINAPI waveOutUnprepareHeader(HWAVEOUT,LPWAVEHDR,UINT);
+MMRESULT WINAPI waveOutWrite(HWAVEOUT,LPWAVEHDR,UINT);
+MMRESULT WINAPI waveOutPause(HWAVEOUT);
+MMRESULT WINAPI waveOutRestart(HWAVEOUT);
+MMRESULT WINAPI waveOutReset(HWAVEOUT);
+MMRESULT WINAPI waveOutBreakLoop(HWAVEOUT);
+MMRESULT WINAPI waveOutGetPosition(HWAVEOUT,LPMMTIME,UINT);
+MMRESULT WINAPI waveOutGetPitch(HWAVEOUT,PDWORD);
+MMRESULT WINAPI waveOutSetPitch(HWAVEOUT,DWORD);
+MMRESULT WINAPI waveOutGetPlaybackRate(HWAVEOUT,PDWORD);
+MMRESULT WINAPI waveOutSetPlaybackRate(HWAVEOUT,DWORD);
+MMRESULT WINAPI waveOutGetID(HWAVEOUT,LPUINT);
+MMRESULT WINAPI waveOutMessage(HWAVEOUT,UINT,DWORD,DWORD);
+UINT WINAPI waveInGetNumDevs(void);
+MMRESULT WINAPI waveInGetDevCapsA(UINT,LPWAVEINCAPSA,UINT);
+MMRESULT WINAPI waveInGetDevCapsW(UINT,LPWAVEINCAPSW,UINT);
+MMRESULT WINAPI waveInGetErrorTextA(MMRESULT,LPSTR,UINT);
+MMRESULT WINAPI waveInGetErrorTextW(MMRESULT,LPWSTR,UINT);
+MMRESULT WINAPI waveInOpen(LPHWAVEIN,UINT,LPCWAVEFORMATEX,DWORD,DWORD,DWORD);
+MMRESULT WINAPI waveInClose(HWAVEIN);
+MMRESULT WINAPI waveInPrepareHeader(HWAVEIN,LPWAVEHDR,UINT);
+MMRESULT WINAPI waveInUnprepareHeader(HWAVEIN,LPWAVEHDR,UINT);
+MMRESULT WINAPI waveInAddBuffer(HWAVEIN,LPWAVEHDR,UINT);
+MMRESULT WINAPI waveInStart(HWAVEIN);
+MMRESULT WINAPI waveInStop(HWAVEIN);
+MMRESULT WINAPI waveInReset(HWAVEIN);
+MMRESULT WINAPI waveInGetPosition(HWAVEIN,LPMMTIME,UINT);
+MMRESULT WINAPI waveInGetID(HWAVEIN,LPUINT);
+MMRESULT WINAPI waveInMessage(HWAVEIN,UINT,DWORD,DWORD);
+UINT WINAPI mixerGetNumDevs(void);
+MMRESULT WINAPI mixerGetDevCapsA(UINT,LPMIXERCAPSA,UINT);
+MMRESULT WINAPI mixerGetDevCapsW(UINT,LPMIXERCAPSW,UINT);
+MMRESULT WINAPI mixerOpen(LPHMIXER,UINT,DWORD,DWORD,DWORD);
+MMRESULT WINAPI mixerClose(HMIXER);
+DWORD WINAPI mixerMessage(HMIXER,UINT,DWORD,DWORD);
+MMRESULT WINAPI mixerGetLineInfoA(HMIXEROBJ,LPMIXERLINEA,DWORD);
+MMRESULT WINAPI mixerGetLineInfoW(HMIXEROBJ,LPMIXERLINEW,DWORD);
+MMRESULT WINAPI mixerGetID(HMIXEROBJ,PUINT,DWORD);
+MMRESULT WINAPI mixerGetLineControlsA(HMIXEROBJ,LPMIXERLINECONTROLSA,DWORD);
+MMRESULT WINAPI mixerGetLineControlsW(HMIXEROBJ,LPMIXERLINECONTROLSW,DWORD);
+MMRESULT WINAPI mixerGetControlDetailsA(HMIXEROBJ,LPMIXERCONTROLDETAILS,DWORD);
+MMRESULT WINAPI mixerGetControlDetailsW(HMIXEROBJ,LPMIXERCONTROLDETAILS,DWORD);
+MMRESULT WINAPI mixerSetControlDetails(HMIXEROBJ,LPMIXERCONTROLDETAILS,DWORD);
+MMRESULT WINAPI timeGetSystemTime(LPMMTIME,UINT);
+DWORD WINAPI timeGetTime(void);
+MMRESULT WINAPI timeSetEvent(UINT,UINT,LPTIMECALLBACK,DWORD,UINT);
+MMRESULT WINAPI timeKillEvent(UINT);
+MMRESULT WINAPI timeGetDevCaps(LPTIMECAPS,UINT);
+MMRESULT WINAPI timeBeginPeriod(UINT);
+MMRESULT WINAPI timeEndPeriod(UINT);
+UINT WINAPI joyGetNumDevs(void);
+MMRESULT WINAPI joyGetDevCapsA(UINT,LPJOYCAPSA,UINT);
+MMRESULT WINAPI joyGetDevCapsW(UINT,LPJOYCAPSW,UINT);
+MMRESULT WINAPI joyGetPos(UINT,LPJOYINFO);
+MMRESULT WINAPI joyGetPosEx(UINT,LPJOYINFOEX);
+MMRESULT WINAPI joyGetThreshold(UINT,LPUINT);
+MMRESULT WINAPI joyReleaseCapture(UINT);
+MMRESULT WINAPI joySetCapture(HWND,UINT,UINT,BOOL);
+MMRESULT WINAPI joySetThreshold(UINT,UINT);
+
+// winsock2.h
+SOCKET PASCAL accept(SOCKET,struct sockaddr*,int*);
+int PASCAL bind(SOCKET,const struct sockaddr*,int);
+int PASCAL closesocket(SOCKET);
+int PASCAL connect(SOCKET,const struct sockaddr*,int);
+int PASCAL ioctlsocket(SOCKET,long,u_long *);
+int PASCAL getpeername(SOCKET,struct sockaddr*,int*);
+int PASCAL getsockname(SOCKET,struct sockaddr*,int*);
+int PASCAL getsockopt(SOCKET,int,int,char*,int*);
+unsigned long PASCAL inet_addr(const char*);
+// char * __stdcall inet_ntoa(struct in_addr);
+// hack: for now this will need a wrapper
+char * __stdcall inet_ntoa(int in_addr);
+int PASCAL listen(SOCKET,int);
+int PASCAL recv(SOCKET,char*,int,int);
+int PASCAL recvfrom(SOCKET,char*,int,int,struct sockaddr*,int*);
+int PASCAL send(SOCKET,const char*,int,int);
+int PASCAL sendto(SOCKET,const char*,int,int,const struct sockaddr*,int);
+int PASCAL setsockopt(SOCKET,int,int,const char*,int);
+int PASCAL shutdown(SOCKET,int);
+SOCKET PASCAL socket(int,int,int);
+struct hostent * PASCAL gethostbyaddr(const char*,int,int);
+struct hostent * PASCAL gethostbyname(const char*);
+struct servent * PASCAL getservbyport(int,const char*);
+struct servent * PASCAL getservbyname(const char*,const char*);
+struct protoent * PASCAL getprotobynumber(int);
+struct protoent * PASCAL getprotobyname(const char*);
+u_long PASCAL htonl(u_long);
+u_long PASCAL ntohl(u_long);
+u_short PASCAL htons(u_short);
+u_short PASCAL ntohs(u_short);
+int PASCAL select(int nfds,fd_set*,fd_set*,fd_set*,const struct timeval*);
+int PASCAL gethostname(char*,int);
+int PASCAL WSAStartup(WORD,LPWSADATA);
+int PASCAL WSACleanup(void);
+void PASCAL WSASetLastError(int);
+int PASCAL WSAGetLastError(void);
+HANDLE PASCAL WSAAsyncGetServByName(HWND,u_int,const char*,const char*,char*,int);
+HANDLE PASCAL WSAAsyncGetServByPort(HWND,u_int,int,const char*,char*,int);
+HANDLE PASCAL WSAAsyncGetProtoByName(HWND,u_int,const char*,char*,int);
+HANDLE PASCAL WSAAsyncGetProtoByNumber(HWND,u_int,int,char*,int);
+HANDLE PASCAL WSAAsyncGetHostByName(HWND,u_int,const char*,char*,int);
+HANDLE PASCAL WSAAsyncGetHostByAddr(HWND,u_int,const char*,int,int,char*,int);
+int PASCAL WSACancelAsyncRequest(HANDLE);
+int PASCAL WSAAsyncSelect(SOCKET,HWND,u_int,long);
+int PASCAL __WSAFDIsSet(SOCKET,fd_set*);
+
+// ole32 objbase.h
+DWORD __stdcall CoBuildVersion(void);
+HRESULT __stdcall CoInitialize(PVOID);
+HRESULT __stdcall CoInitializeEx(LPVOID,DWORD);
+void __stdcall CoUninitialize(void);
+HRESULT __stdcall CoCreateInstance(REFCLSID,LPUNKNOWN,DWORD,REFIID,PVOID*);
+HRESULT __stdcall CoCreateInstanceEx(REFCLSID,IUnknown*,DWORD,COSERVERINFO*,DWORD,MULTI_QI*);
+
+// tapi.h
+DWORD WINAPI lineAccept(HCALL,LPCSTR,DWORD);
+DWORD WINAPI lineAddProvider(LPCSTR,HWND,LPDWORD);
+DWORD WINAPI lineAddProviderA(LPCSTR,HWND,LPDWORD);
+DWORD WINAPI lineAddProviderW(LPCWSTR,HWND,LPDWORD);
+DWORD WINAPI lineAddToConference(HCALL,HCALL);
+DWORD WINAPI lineAnswer(HCALL,LPCSTR,DWORD);
+DWORD WINAPI lineBlindTransfer(HCALL,LPCSTR,DWORD);
+DWORD WINAPI lineClose(HLINE);
+DWORD WINAPI lineCompleteCall(HCALL,LPDWORD,DWORD,DWORD);
+DWORD WINAPI lineCompleteTransfer(HCALL,HCALL,LPHCALL,DWORD);
+DWORD WINAPI lineConfigDialog(DWORD,HWND,LPCSTR);
+DWORD WINAPI lineConfigDialogEdit(DWORD,HWND,LPCSTR,LPVOID const,DWORD,LPVARSTRING);
+DWORD WINAPI lineConfigProvider(HWND,DWORD);
+DWORD WINAPI lineDeallocateCall(HCALL);
+DWORD WINAPI lineDevSpecific(HLINE,DWORD,HCALL,LPVOID,DWORD);
+DWORD WINAPI lineDevSpecificFeature(HLINE,DWORD,LPVOID,DWORD);
+DWORD WINAPI lineDial(HCALL,LPCSTR,DWORD);
+DWORD WINAPI lineDrop(HCALL,LPCSTR,DWORD);
+DWORD WINAPI lineForward(HLINE,DWORD,DWORD,LPLINEFORWARDLIST,DWORD,LPHCALL,LPLINECALLPARAMS);
+DWORD WINAPI lineGatherDigits(HCALL,DWORD,LPSTR,DWORD,LPCSTR,DWORD,DWORD);
+DWORD WINAPI lineGenerateDigits(HCALL,DWORD,LPCSTR,DWORD);
+DWORD WINAPI lineGenerateTone(HCALL,DWORD,DWORD,DWORD,LPLINEGENERATETONE);
+DWORD WINAPI lineGetAddressCaps(HLINEAPP,DWORD,DWORD,DWORD,DWORD,LPLINEADDRESSCAPS);
+DWORD WINAPI lineGetAddressID(HLINE,LPDWORD,DWORD,LPCSTR,DWORD);
+DWORD WINAPI lineGetAddressStatus(HLINE,DWORD,LPLINEADDRESSSTATUS);
+DWORD WINAPI lineGetAppPriority(LPCSTR,DWORD,LPLINEEXTENSIONID const,DWORD,LPVARSTRING,LPDWORD);
+DWORD WINAPI lineGetCallInfo(HCALL,LPLINECALLINFO);
+DWORD WINAPI lineGetCallStatus(HCALL,LPLINECALLSTATUS);
+DWORD WINAPI lineGetConfRelatedCalls(HCALL,LPLINECALLLIST);
+DWORD WINAPI lineGetCountry(DWORD,DWORD,LPLINECOUNTRYLIST);
+DWORD WINAPI lineGetDevCaps(HLINEAPP,DWORD,DWORD,DWORD,LPLINEDEVCAPS);
+DWORD WINAPI lineGetDevCapsA(HLINEAPP,DWORD,DWORD,DWORD,LPLINEDEVCAPS);
+DWORD WINAPI lineGetDevCapsW(HLINEAPP,DWORD,DWORD,DWORD,LPLINEDEVCAPS);
+DWORD WINAPI lineGetDevConfig(DWORD,LPVARSTRING,LPCSTR);
+DWORD WINAPI lineGetID(HLINE,DWORD,HCALL,DWORD,LPVARSTRING,LPCSTR);
+DWORD WINAPI lineGetIDA(HLINE,DWORD,HCALL,DWORD,LPVARSTRING,LPCSTR);
+DWORD WINAPI lineGetIDW(HLINE,DWORD,HCALL,DWORD,LPVARSTRING,LPCWSTR);
+DWORD WINAPI lineGetIcon(DWORD,LPCSTR,HICON *);
+DWORD WINAPI lineGetLineDevStatus(HLINE,LPLINEDEVSTATUS);
+DWORD WINAPI lineGetNewCalls(HLINE,DWORD,DWORD,LPLINECALLLIST);
+DWORD WINAPI lineGetNumRings(HLINE,DWORD,LPDWORD);
+DWORD WINAPI lineGetProviderList(DWORD,LPLINEPROVIDERLIST);
+DWORD WINAPI lineGetProviderListA(DWORD,LPLINEPROVIDERLIST);
+DWORD WINAPI lineGetProviderListW(DWORD,LPLINEPROVIDERLIST);
+DWORD WINAPI lineGetRequest(HLINEAPP,DWORD,LPVOID);
+DWORD WINAPI lineGetStatusMessages(HLINE,LPDWORD,LPDWORD);
+DWORD WINAPI lineGetTranslateCaps(HLINEAPP,DWORD,LPLINETRANSLATECAPS);
+DWORD WINAPI lineHandoff(HCALL,LPCSTR,DWORD);
+DWORD WINAPI lineHold(HCALL);
+DWORD WINAPI lineInitialize(LPHLINEAPP,HINSTANCE,LINECALLBACK,LPCSTR,LPDWORD);
+LONG WINAPI lineInitializeExA(LPHLINEAPP,HINSTANCE,LINECALLBACK,LPCSTR,LPDWORD,LPDWORD,LPLINEINITIALIZEEXPARAMS);
+LONG WINAPI lineInitializeExW(LPHLINEAPP,HINSTANCE,LINECALLBACK,LPCWSTR,LPDWORD,LPDWORD,LPLINEINITIALIZEEXPARAMS);
+DWORD WINAPI lineMakeCall(HLINE,LPHCALL,LPCSTR,DWORD,LPLINECALLPARAMS);
+DWORD WINAPI lineMakeCallA(HLINE,LPHCALL,LPCSTR,DWORD,LPLINECALLPARAMS);
+DWORD WINAPI lineMakeCallW(HLINE,LPHCALL,LPCWSTR,DWORD,LPLINECALLPARAMS);
+DWORD WINAPI lineMonitorDigits(HCALL,DWORD);
+DWORD WINAPI lineMonitorMedia(HCALL,DWORD);
+DWORD WINAPI lineMonitorTones(HCALL,LPLINEMONITORTONE,DWORD);
+DWORD WINAPI lineNegotiateAPIVersion(HLINEAPP,DWORD,DWORD,DWORD,LPDWORD,LPLINEEXTENSIONID);
+DWORD WINAPI lineNegotiateExtVersion(HLINEAPP,DWORD,DWORD,DWORD,DWORD,LPDWORD);
+DWORD WINAPI lineOpen(HLINEAPP,DWORD,LPHLINE,DWORD,DWORD,DWORD,DWORD,DWORD,LPLINECALLPARAMS);
+DWORD WINAPI linePark(HCALL,DWORD,LPCSTR,LPVARSTRING);
+DWORD WINAPI linePickup(HLINE,DWORD,LPHCALL,LPCSTR,LPCSTR);
+DWORD WINAPI linePrepareAddToConference(HCALL,LPHCALL,LPLINECALLPARAMS);
+DWORD WINAPI lineRedirect(HCALL,LPCSTR,DWORD);
+DWORD WINAPI lineRegisterRequestRecipient(HLINEAPP,DWORD,DWORD,DWORD);
+DWORD WINAPI lineReleaseUserUserInfo(HCALL);
+DWORD WINAPI lineRemoveFromConference(HCALL);
+DWORD WINAPI lineRemoveProvider(DWORD,HWND);
+DWORD WINAPI lineSecureCall(HCALL);
+DWORD WINAPI lineSendUserUserInfo(HCALL,LPCSTR,DWORD);
+DWORD WINAPI lineSetAppPriority(LPCSTR,DWORD,LPLINEEXTENSIONID const,DWORD,LPCSTR,DWORD);
+DWORD WINAPI lineSetAppSpecific(HCALL,DWORD);
+DWORD WINAPI lineSetCallParams(HCALL,DWORD,DWORD,DWORD,LPLINEDIALPARAMS);
+DWORD WINAPI lineSetCallPrivilege(HCALL,DWORD);
+DWORD WINAPI lineSetCurrentLocation(HLINEAPP,DWORD);
+DWORD WINAPI lineSetDevConfig(DWORD,LPVOID,DWORD,LPCSTR);
+DWORD WINAPI lineSetMediaControl(HLINE,DWORD,HCALL,DWORD,LPLINEMEDIACONTROLDIGIT,DWORD,LPLINEMEDIACONTROLMEDIA,DWORD,LPLINEMEDIACONTROLTONE,DWORD,LPLINEMEDIACONTROLCALLSTATE,DWORD);
+DWORD WINAPI lineSetMediaMode(HCALL,DWORD);
+DWORD WINAPI lineSetNumRings(HLINE,DWORD,DWORD);
+DWORD WINAPI lineSetStatusMessages(HLINE,DWORD,DWORD);
+DWORD WINAPI lineSetTerminal(HLINE,DWORD,HCALL,DWORD,DWORD,DWORD,DWORD);
+DWORD WINAPI lineSetTollList(HLINEAPP,DWORD,LPCSTR,DWORD);
+DWORD WINAPI lineSetupConference(HCALL,HLINE,LPHCALL,LPHCALL,DWORD,LPLINECALLPARAMS);
+DWORD WINAPI lineSetupTransfer(HCALL,LPHCALL,LPLINECALLPARAMS);
+DWORD WINAPI lineShutdown(HLINEAPP);
+DWORD WINAPI lineSwapHold(HCALL,HCALL);
+DWORD WINAPI lineTranslateAddress(HLINEAPP,DWORD,DWORD,LPCSTR,DWORD,DWORD,LPLINETRANSLATEOUTPUT);
+DWORD WINAPI lineTranslateDialog(HLINEAPP,DWORD,DWORD,HWND,LPCSTR);
+DWORD WINAPI lineUncompleteCall(HLINE,DWORD);
+DWORD WINAPI lineUnHold(HCALL);
+DWORD WINAPI lineUnpark(HLINE,DWORD,LPHCALL,LPCSTR);
+
+DWORD WINAPI lineBlindTransferA(HCALL,LPCSTR,DWORD);
+DWORD WINAPI lineConfigDialogA(DWORD,HWND,LPCSTR);
+DWORD WINAPI lineConfigDialogEditA(DWORD,HWND,LPCSTR,LPVOID const,DWORD,LPVARSTRING);
+DWORD WINAPI lineDialA(HCALL,LPCSTR,DWORD);
+DWORD WINAPI lineForwardA(HLINE,DWORD,DWORD,LPLINEFORWARDLIST,DWORD,LPHCALL,LPLINECALLPARAMS);
+DWORD WINAPI lineGatherDigitsA(HCALL,DWORD,LPSTR,DWORD,LPCSTR,DWORD,DWORD);
+DWORD WINAPI lineGenerateDigitsA(HCALL,DWORD,LPCSTR,DWORD);
+DWORD WINAPI lineGetAddressCapsA(HLINEAPP,DWORD,DWORD,DWORD,DWORD,LPLINEADDRESSCAPS);
+DWORD WINAPI lineGetAddressIDA(HLINE,LPDWORD,DWORD,LPCSTR,DWORD);
+DWORD WINAPI lineGetAddressStatusA(HLINE,DWORD,LPLINEADDRESSSTATUS);
+DWORD WINAPI lineGetAppPriorityA(LPCSTR,DWORD,LPLINEEXTENSIONID const,DWORD,LPVARSTRING,LPDWORD);
+DWORD WINAPI lineGetCallInfoA(HCALL,LPLINECALLINFO);
+DWORD WINAPI lineGetCountryA(DWORD,DWORD,LPLINECOUNTRYLIST);
+DWORD WINAPI lineGetDevConfigA(DWORD,LPVARSTRING,LPCSTR);
+DWORD WINAPI lineGetIconA(DWORD,LPCSTR,HICON *);
+DWORD WINAPI lineGetLineDevStatusA(HLINE,LPLINEDEVSTATUS);
+DWORD WINAPI lineGetRequestA(HLINEAPP,DWORD,LPVOID);
+DWORD WINAPI lineGetTranslateCapsA(HLINEAPP,DWORD,LPLINETRANSLATECAPS);
+DWORD WINAPI lineHandoffA(HCALL,LPCSTR,DWORD);
+DWORD WINAPI lineOpenA(HLINEAPP,DWORD,LPHLINE,DWORD,DWORD,DWORD,DWORD,DWORD,LPLINECALLPARAMS);
+DWORD WINAPI lineParkA(HCALL,DWORD,LPCSTR,LPVARSTRING);
+DWORD WINAPI linePickupA(HLINE,DWORD,LPHCALL,LPCSTR,LPCSTR);
+DWORD WINAPI linePrepareAddToConferenceA(HCALL,LPHCALL,LPLINECALLPARAMS);
+DWORD WINAPI lineRedirectA(HCALL,LPCSTR,DWORD);
+DWORD WINAPI lineSetAppPriorityA(LPCSTR,DWORD,LPLINEEXTENSIONID const,DWORD,LPCSTR,DWORD);
+DWORD WINAPI lineSetDevConfigA(DWORD,LPVOID,DWORD,LPCSTR);
+DWORD WINAPI lineSetTollListA(HLINEAPP,DWORD,LPCSTR,DWORD);
+DWORD WINAPI lineSetupConferenceA(HCALL,HLINE,LPHCALL,LPHCALL,DWORD,LPLINECALLPARAMS);
+DWORD WINAPI lineSetupTransferA(HCALL,LPHCALL,LPLINECALLPARAMS);
+DWORD WINAPI lineTranslateAddressA(HLINEAPP,DWORD,DWORD,LPCSTR,DWORD,DWORD,LPLINETRANSLATEOUTPUT);
+DWORD WINAPI lineTranslateDialogA(HLINEAPP,DWORD,DWORD,HWND,LPCSTR);
+DWORD WINAPI lineUnhold(HCALL);
+DWORD WINAPI lineUnparkA(HLINE,DWORD,LPHCALL,LPCSTR);
+
+// ddraw.h dsound.h
+HRESULT WINAPI DirectDrawCreate(GUID *driver_guid, IDirectDraw **ddraw, IUnknown *outer);
+HRESULT WINAPI DirectDrawCreateEx(GUID *driver_guid, void **ddraw, REFIID interface_iid, IUnknown *outer);
+HRESULT WINAPI DirectDrawCreateClipper(DWORD flags, IDirectDrawClipper **clipper, IUnknown *outer);
+
+HRESULT WINAPI DirectSoundCreate(LPCGUID lpGUID,LPDIRECTSOUND *ppDS,LPUNKNOWN pUnkOuter);
+HRESULT WINAPI DirectSoundEnumerateA(LPDSENUMCALLBACKA, LPVOID);
+HRESULT WINAPI DirectSoundEnumerateW(LPDSENUMCALLBACKW, LPVOID);
+HRESULT WINAPI DirectSoundCreate8(LPCGUID lpGUID,LPDIRECTSOUND8 *ppDS8,LPUNKNOWN pUnkOuter);
+HRESULT WINAPI GetDeviceID(LPCGUID lpGuidSrc, LPGUID lpGuidDest);
+
+struct IUnknown {
+/*00*/ HRESULT (WINAPI *QueryInterface)(void *this, REFIID riid, void** ppvObject);
+/*04*/ ULONG (WINAPI *AddRef)(void *this);
+/*08*/ ULONG (WINAPI *Release)(void *this);
+};
+
+struct IDirectDraw {
+ // IUnknown methods
+/*00*/ HRESULT (WINAPI *QueryInterface)(void *this, REFIID riid, void** ppvObject);
+/*04*/ ULONG (WINAPI *AddRef)(void *this);
+/*08*/ ULONG (WINAPI *Release)(void *this);
+ // IDirectDraw methods
+/*0c*/ int (WINAPI *Compact)(void *this);
+/*10*/ int (WINAPI *CreateClipper)(void *this, DWORD dwFlags, LPDIRECTDRAWCLIPPER *lplpDDClipper, IUnknown *pUnkOuter);
+/*14*/ int (WINAPI *CreatePalette)(void *this, DWORD dwFlags, LPPALETTEENTRY lpColorTable, LPDIRECTDRAWPALETTE *lplpDDPalette, IUnknown *pUnkOuter); // 14
+/*18*/ int (WINAPI *CreateSurface)(void *this, LPDDSURFACEDESC lpDDSurfaceDesc, LPDIRECTDRAWSURFACE *lplpDDSurface, IUnknown *pUnkOuter);
+/*1c*/ int (WINAPI *DuplicateSurface)(void *this, LPDIRECTDRAWSURFACE lpDDSurface, LPDIRECTDRAWSURFACE *lplpDupDDSurface);
+/*20*/ int (WINAPI *EnumDisplayModes)(void *this, DWORD dwFlags, LPDDSURFACEDESC lpDDSurfaceDesc, LPVOID lpContext, LPDDENUMMODESCALLBACK lpEnumModesCallback);
+/*24*/ int (WINAPI *EnumSurfaces)(void *this, DWORD dwFlags, LPDDSURFACEDESC lpDDSD, LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpEnumSurfacesCallback);
+/*28*/ int (WINAPI *FlipToGDISurface)(void *this);
+/*2c*/ int (WINAPI *GetCaps_dd)(void *this, LPDDCAPS lpDDDriverCaps, LPDDCAPS lpDDHELCaps);
+/*30*/ int (WINAPI *GetDisplayMode)(void *this, LPDDSURFACEDESC lpDDSurfaceDesc);
+/*34*/ int (WINAPI *GetFourCCCodes)(void *this, LPDWORD lpNumCodes, LPDWORD lpCodes);
+/*38*/ int (WINAPI *GetGDISurface)(void *this, LPDIRECTDRAWSURFACE *lplpGDIDDSurface);
+/*3c*/ int (WINAPI *GetMonitorFrequency)(void *this, LPDWORD lpdwFrequency);
+/*40*/ int (WINAPI *GetScanLine)(void *this, LPDWORD lpdwScanLine);
+/*44*/ int (WINAPI *GetVerticalBlankStatus)(void *this, BOOL *lpbIsInVB);
+/*48*/ int (WINAPI *Initialize)(void *this, GUID *lpGUID);
+/*4c*/ int (WINAPI *RestoreDisplayMode)(void *this);
+/*50*/ int (WINAPI *SetCooperativeLevel)(void *this, HWND hWnd, DWORD dwFlags);
+/*54*/ int (WINAPI *SetDisplayMode)(void *this, DWORD dwWidth, DWORD dwHeight, DWORD dwBPP);
+/*58*/ int (WINAPI *WaitForVerticalBlank)(void *this, DWORD dwFlags, HANDLE hEvent);
+};
+
+struct IDirectDraw2 {
+ // IUnknown methods
+/*00*/ HRESULT (WINAPI *QueryInterface)(void *this, REFIID riid, void** ppvObject);
+/*04*/ ULONG (WINAPI *AddRef)(void *this);
+/*08*/ ULONG (WINAPI *Release)(void *this);
+ // IDirectDraw2 methods
+/*0c*/ int (WINAPI *Compact)(void *this);
+/*10*/ int (WINAPI *CreateClipper)(void *this, DWORD dwFlags, LPDIRECTDRAWCLIPPER *lplpDDClipper, IUnknown *pUnkOuter);
+/*14*/ int (WINAPI *CreatePalette)(void *this, DWORD dwFlags, LPPALETTEENTRY lpColorTable, LPDIRECTDRAWPALETTE *lplpDDPalette, IUnknown *pUnkOuter);
+/*18*/ int (WINAPI *CreateSurface)(void *this, LPDDSURFACEDESC lpDDSurfaceDesc, LPDIRECTDRAWSURFACE *lplpDDSurface, IUnknown *pUnkOuter);
+/*1c*/ int (WINAPI *DuplicateSurface)(void *this, LPDIRECTDRAWSURFACE lpDDSurface, LPDIRECTDRAWSURFACE *lplpDupDDSurface);
+/*20*/ int (WINAPI *EnumDisplayModes)(void *this, DWORD dwFlags, LPDDSURFACEDESC lpDDSurfaceDesc, LPVOID lpContext, LPDDENUMMODESCALLBACK lpEnumModesCallback);
+/*24*/ int (WINAPI *EnumSurfaces)(void *this, DWORD dwFlags, LPDDSURFACEDESC lpDDSD, LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpEnumSurfacesCallback);
+/*28*/ int (WINAPI *FlipToGDISurface)(void *this);
+/*2c*/ int (WINAPI *GetCaps_dd)(void *this, LPDDCAPS lpDDDriverCaps, LPDDCAPS lpDDHELCaps);
+/*30*/ int (WINAPI *GetDisplayMode)(void *this, LPDDSURFACEDESC lpDDSurfaceDesc);
+/*34*/ int (WINAPI *GetFourCCCodes)(void *this, LPDWORD lpNumCodes, LPDWORD lpCodes);
+/*38*/ int (WINAPI *GetGDISurface)(void *this, LPDIRECTDRAWSURFACE *lplpGDIDDSurface);
+/*3c*/ int (WINAPI *GetMonitorFrequency)(void *this, LPDWORD lpdwFrequency);
+/*40*/ int (WINAPI *GetScanLine)(void *this, LPDWORD lpdwScanLine);
+/*44*/ int (WINAPI *GetVerticalBlankStatus)(void *this, BOOL *lpbIsInVB);
+/*48*/ int (WINAPI *Initialize)(void *this, GUID *lpGUID);
+/*4c*/ int (WINAPI *RestoreDisplayMode)(void *this);
+/*50*/ int (WINAPI *SetCooperativeLevel)(void *this, HWND hWnd, DWORD dwFlags);
+/*54*/ int (WINAPI *SetDisplayMode)(void *this, DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwRefreshRate, DWORD dwFlags);
+/*58*/ int (WINAPI *WaitForVerticalBlank)(void *this, DWORD dwFlags, HANDLE hEvent);
+ // added in v2
+/*5c*/ int (WINAPI *GetAvailableVidMem)(void *this, LPDDSCAPS lpDDCaps, LPDWORD lpdwTotal, LPDWORD lpdwFree);
+};
+
+// LPDIRECTDRAWPALETTE
+struct IDirectDrawPalette {
+ // IUnknown methods
+/*00*/ HRESULT (WINAPI *QueryInterface)(void *this, REFIID riid, void** ppvObject);
+/*04*/ ULONG (WINAPI *AddRef)(void *this);
+/*08*/ ULONG (WINAPI *Release)(void *this);
+ // IDirectDrawPalette methods
+/*0c*/ int (WINAPI *GetCaps_ddp)(void *this, LPDWORD lpdwCaps);
+/*10*/ int (WINAPI *GetEntries)(void *this, DWORD dwFlags, DWORD dwBase, DWORD dwNumEntries, LPPALETTEENTRY lpEntries);
+/*14*/ int (WINAPI *Initialize)(void *this, LPDIRECTDRAW lpDD, DWORD dwFlags, LPPALETTEENTRY lpDDColorTable);
+/*18*/ int (WINAPI *SetEntries)(void *this, DWORD dwFlags, DWORD dwStartingEntry, DWORD dwCount, LPPALETTEENTRY lpEntries);
+};
+
+// LPDIRECTDRAWSURFACE
+struct IDirectDrawSurface {
+ // IUnknown methods
+/*00*/ HRESULT (WINAPI *QueryInterface)(void *this, REFIID riid, void** ppvObject);
+/*04*/ ULONG (WINAPI *AddRef)(void *this);
+/*08*/ ULONG (WINAPI *Release)(void *this);
+ // IDirectDrawSurface methods
+/*0c*/ int (WINAPI *AddAttachedSurface)(void *this, LPDIRECTDRAWSURFACE lpDDSAttachedSurface);
+/*10*/ int (WINAPI *AddOverlayDirtyRect)(void *this, LPRECT lpRect);
+/*14*/ int (WINAPI *Blt)(void *this, LPRECT lpDestRect, LPDIRECTDRAWSURFACE lpDDSrcSurface, LPRECT lpSrcRect, DWORD dwFlags, LPDDBLTFX lpDDBltFx);
+/*18*/ int (WINAPI *BltBatch)(void *this, LPDDBLTBATCH lpDDBltBatch, DWORD dwCount, DWORD dwFlags);
+/*1c*/ int (WINAPI *BltFast)(void *this, DWORD dwX, DWORD dwY, LPDIRECTDRAWSURFACE lpDDSrcSurface, LPRECT lpSrcRect, DWORD dwTrans);
+/*20*/ int (WINAPI *DeleteAttachedSurface)(void *this, DWORD dwFlags, LPDIRECTDRAWSURFACE lpDDSAttachedSurface);
+/*24*/ int (WINAPI *EnumAttachedSurfaces)(void *this, LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpEnumSurfacesCallback);
+/*28*/ int (WINAPI *EnumOverlayZOrders)(void *this, DWORD dwFlags, LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpfnCallback);
+/*2c*/ int (WINAPI *Flip)(void *this, LPDIRECTDRAWSURFACE lpDDSurfaceTargetOverride, DWORD dwFlags);
+/*30*/ int (WINAPI *GetAttachedSurface)(void *this, LPDDSCAPS lpDDSCaps, LPDIRECTDRAWSURFACE *lplpDDAttachedSurface);
+/*34*/ int (WINAPI *GetBltStatus)(void *this, DWORD dwFlags);
+/*38*/ int (WINAPI *GetCaps_dds)(void *this, LPDDSCAPS lpDDSCaps);
+/*3c*/ int (WINAPI *GetClipper)(void *this, LPDIRECTDRAWCLIPPER *lplpDDClipper);
+/*40*/ int (WINAPI *GetColorKey)(void *this, DWORD dwFlags, LPDDCOLORKEY lpDDColorKey);
+/*44*/ int (WINAPI *GetDC)(void *this, HDC *lphDC);
+/*48*/ int (WINAPI *GetFlipStatus)(void *this, DWORD dwFlags);
+/*4c*/ int (WINAPI *GetOverlayPosition)(void *this, LPLONG lplX, LPLONG lplY);
+/*50*/ int (WINAPI *GetPalette)(void *this, LPDIRECTDRAWPALETTE *lplpDDPalette);
+/*54*/ int (WINAPI *GetPixelFormat)(void *this, LPDDPIXELFORMAT lpDDPixelFormat);
+/*58*/ int (WINAPI *GetSurfaceDesc)(void *this, LPDDSURFACEDESC lpDDSurfaceDesc);
+/*5c*/ int (WINAPI *Initialize)(void *this, LPDIRECTDRAW lpDD, LPDDSURFACEDESC lpDDSurfaceDesc);
+/*60*/ int (WINAPI *IsLost)(void *this);
+/*64*/ int (WINAPI *Lock)(void *this, LPRECT lpDestRect, LPDDSURFACEDESC lpDDSurfaceDesc, DWORD dwFlags, HANDLE hEvent);
+/*68*/ int (WINAPI *ReleaseDC)(void *this, HDC hDC);
+/*6c*/ int (WINAPI *Restore)(void *this);
+/*70*/ int (WINAPI *SetClipper)(void *this, LPDIRECTDRAWCLIPPER lpDDClipper);
+/*74*/ int (WINAPI *SetColorKey)(void *this, DWORD dwFlags, LPDDCOLORKEY lpDDColorKey);
+/*78*/ int (WINAPI *SetOverlayPosition)(void *this, LONG lX, LONG lY);
+/*7c*/ int (WINAPI *SetPalette)(void *this, LPDIRECTDRAWPALETTE lpDDPalette);
+/*80*/ int (WINAPI *Unlock)(void *this, LPVOID lpSurfaceData);
+/*84*/ int (WINAPI *UpdateOverlay)(void *this, LPRECT lpSrcRect, LPDIRECTDRAWSURFACE lpDDDestSurface, LPRECT lpDestRect, DWORD dwFlags, LPDDOVERLAYFX lpDDOverlayFx);
+/*88*/ int (WINAPI *UpdateOverlayDisplay)(void *this, DWORD dwFlags);
+/*8c*/ int (WINAPI *UpdateOverlayZOrder)(void *this, DWORD dwFlags, LPDIRECTDRAWSURFACE lpDDSReference);
+};
+
+struct IDirectSound {
+ // IUnknown methods
+/*00*/ HRESULT (WINAPI *QueryInterface)(void *this, REFIID riid, void** ppvObject);
+/*04*/ ULONG (WINAPI *AddRef)(void *this);
+/*08*/ ULONG (WINAPI *Release)(void *this);
+ // IDirectSound methods
+/*0c*/ int (WINAPI *CreateSoundBuffer)(void *this, LPCDSBUFFERDESC lpcDSBufferDesc, LPLPDIRECTSOUNDBUFFER lplpDirectSoundBuffer, IUnknown *pUnkOuter);
+/*10*/ int (WINAPI *GetCaps_ds)(void *this, LPDSCAPS lpDSCaps);
+/*14*/ int (WINAPI *DuplicateSoundBuffer)(void *this, LPDIRECTSOUNDBUFFER lpDsbOriginal, LPLPDIRECTSOUNDBUFFER lplpDsbDuplicate);
+/*18*/ int (WINAPI *SetCooperativeLevel)(void *this, HWND hwnd, DWORD dwLevel);
+/*1c*/ int (WINAPI *Compact)(void *this);
+/*20*/ int (WINAPI *GetSpeakerConfig)(void *this, LPDWORD lpdwSpeakerConfig);
+/*24*/ int (WINAPI *SetSpeakerConfig)(void *this, DWORD dwSpeakerConfig);
+/*28*/ int (WINAPI *Initialize)(void *this, LPCGUID lpcGuid);
+};
+
+// LPLPDIRECTSOUNDBUFFER
+struct IDirectSoundBuffer {
+ // IUnknown methods
+/*00*/ HRESULT (WINAPI *QueryInterface)(void *this, REFIID riid, void** ppvObject);
+/*04*/ ULONG (WINAPI *AddRef)(void *this);
+/*08*/ ULONG (WINAPI *Release)(void *this);
+ // IDirectSoundBuffer methods
+/*0c*/ int (WINAPI *GetCaps_dsb)(void *this, LPDSBCAPS lpDSBufferCaps);
+/*10*/ int (WINAPI *GetCurrentPosition)(void *this, LPDWORD lpdwCurrentPlayCursor, LPDWORD lpdwCurrentWriteCursor);
+/*14*/ int (WINAPI *GetFormat)(void *this, LPWAVEFORMATEX lpwfxFormat, DWORD dwSizeAllocated, LPDWORD lpdwSizeWritten);
+/*18*/ int (WINAPI *GetVolume)(void *this, LPLONG lplVolume);
+/*1c*/ int (WINAPI *GetPan)(void *this, LPLONG lplpan);
+/*20*/ int (WINAPI *GetFrequency)(void *this, LPDWORD lpdwFrequency);
+/*24*/ int (WINAPI *GetStatus)(void *this, LPDWORD lpdwStatus);
+/*28*/ int (WINAPI *Initialize)(void *this, LPDIRECTSOUND lpDirectSound, LPCDSBUFFERDESC lpcDSBufferDesc);
+/*2c*/ int (WINAPI *Lock)(void *this, DWORD dwOffset, DWORD dwBytes, LPVOID *ppvAudioPtr1, LPDWORD pdwAudioBytes1, LPVOID *ppvAudioPtr2, LPDWORD pdwAudioBytes2, DWORD dwFlags);
+/*30*/ int (WINAPI *Play)(void *this, DWORD dwReserved1, DWORD dwReserved2, DWORD dwFlags);
+/*34*/ int (WINAPI *SetCurrentPosition)(void *this, DWORD dwNewPosition);
+/*38*/ int (WINAPI *SetFormat)(void *this, LPCWAVEFORMATEX lpcfxFormat);
+/*3c*/ int (WINAPI *SetVolume)(void *this, LONG lVolume);
+/*40*/ int (WINAPI *SetPan)(void *this, LONG lPan);
+/*44*/ int (WINAPI *SetFrequency)(void *this, DWORD dwFrequency);
+/*48*/ int (WINAPI *Stop)(void *this);
+/*4c*/ int (WINAPI *Unlock)(void *this, LPVOID pvAudioPtr1, DWORD dwAudioBytes1, LPVOID pvAudioPtr2, DWORD dwAudioPtr2);
+/*50*/ int (WINAPI *Restore)(void *this);
+};
+
+// 0x279AFA86,0x4981,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60
+struct IDirectSound3DBuffer {
+ // IUnknown methods
+/*00*/ HRESULT (WINAPI *QueryInterface)(void *this, REFIID riid, void** ppvObject);
+/*04*/ ULONG (WINAPI *AddRef)(void *this);
+/*08*/ ULONG (WINAPI *Release)(void *this);
+ // IDirectSound3DBuffer methods
+/*0c*/ int (WINAPI *GetAllParameters)(void *this, LPDS3DBUFFER lpDs3dBuffer);
+/*10*/ int (WINAPI *GetConeAngles)(void *this, LPDWORD lpdwInsideConeAngle, LPDWORD lpdwOutsideConeAngle);
+/*14*/ int (WINAPI *GetConeOrientation)(void *this, LPD3DVECTOR lpvOrientation);
+/*18*/ int (WINAPI *GetConeOutsideVolume)(void *this, LPLONG lplConeOutsideVolume);
+/*1c*/ int (WINAPI *GetMaxDistance)(void *this, LPD3DVALUE lpflMaxDistance);
+/*20*/ int (WINAPI *GetMinDistance)(void *this, LPD3DVALUE lpflMinDistance);
+/*24*/ int (WINAPI *GetMode)(void *this, LPDWORD lpwdMode);
+/*28*/ int (WINAPI *GetPosition)(void *this, LPD3DVECTOR lpvPosition);
+/*2c*/ int (WINAPI *GetVelocity)(void *this, LPD3DVECTOR lpvVelocity);
+/*30*/ int (WINAPI *SetAllParameters)(void *this, LPCDS3DBUFFER lpcDs3dBuffer, DWORD dwApply);
+/*34*/ int (WINAPI *SetConeAngles)(void *this, DWORD dwInsideConeAngle, DWORD dwOutsideConeAngle, DWORD dwApply);
+/*38*/ int (WINAPI *SetConeOrientation)(void *this, float x, float y, float z, DWORD dwApply);
+/*3c*/ int (WINAPI *SetConeOutsideVolume)(void *this, LONG lConeOutsideVolume, DWORD dwApply);
+/*40*/ int (WINAPI *SetMaxDistance)(void *this, float flMaxDistance, DWORD dwApply);
+/*44*/ int (WINAPI *SetMinDistance)(void *this, float flMinDistance, DWORD dwApply);
+/*48*/ int (WINAPI *SetMode)(void *this, DWORD dwMode, DWORD dwApply);
+/*4c*/ int (WINAPI *SetPosition)(void *this, float x, float y, float z, DWORD dwApply);
+/*50*/ int (WINAPI *SetVelocity)(void *this, float x, float y, float z, DWORD dwApply);
+};
+
+// 0x31EFAC30,0x515C,0x11D0,0xA9,0xAA,0x00,0xAA,0x00,0x61,0xBE,0x93
+struct IKsPropertySet {
+ // IUnknown methods
+/*00*/ HRESULT (WINAPI *QueryInterface)(void *this, REFIID riid, void** ppvObject);
+/*04*/ ULONG (WINAPI *AddRef)(void *this);
+/*08*/ ULONG (WINAPI *Release)(void *this);
+ // IKsPropertySet methods
+/*0c*/ int (WINAPI *Get_iks)(void *this, REFGUID rgid,ULONG x1,LPVOID p1,ULONG x2,LPVOID p2,ULONG x3,ULONG *px4);
+/*10*/ int (WINAPI *Set_iks)(void *this, REFGUID rgid,ULONG x1,LPVOID p1,ULONG x2,LPVOID p2,ULONG x3);
+/*14*/ int (WINAPI *QuerySupport_iks)(void *this, REFGUID rgid,ULONG x1,ULONG *px2);
+};
+
+// %s/ PURE;/;/
+// %s/STDMETHOD(\(.*\))(THIS_ /int (WINAPI *\1)(void *this, /
+// %s/\<D3DVALUE\>/float/g