diff options
author | Christopher Faylor <me@cgf.cx> | 2000-02-17 19:38:33 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2000-02-17 19:38:33 +0000 |
commit | 1fd5e000ace55b323124c7e556a7a864b972a5c4 (patch) | |
tree | dc4fcf1e5e22a040716ef92c496b8d94959b2baa /winsup/w32api/include | |
parent | 369d8a8fd5e887eca547bf34bccfdf755c9e5397 (diff) | |
download | cygnal-1fd5e000ace55b323124c7e556a7a864b972a5c4.tar.gz cygnal-1fd5e000ace55b323124c7e556a7a864b972a5c4.tar.bz2 cygnal-1fd5e000ace55b323124c7e556a7a864b972a5c4.zip |
import winsup-2000-02-17 snapshot
Diffstat (limited to 'winsup/w32api/include')
115 files changed, 36830 insertions, 0 deletions
diff --git a/winsup/w32api/include/basetyps.h b/winsup/w32api/include/basetyps.h new file mode 100644 index 000000000..0f2744c83 --- /dev/null +++ b/winsup/w32api/include/basetyps.h @@ -0,0 +1,137 @@ +#ifndef _BASETYPS_H +#define _BASETYPS_H + +#ifndef __OBJC__ +#ifdef __cplusplus +#define EXTERN_C extern "C" +#else +#define EXTERN_C extern +#endif +#define STDMETHODCALLTYPE __stdcall +#define STDMETHODVCALLTYPE __cdecl +#define STDAPICALLTYPE __stdcall +#define STDAPIVCALLTYPE __cdecl +#define STDAPI EXTERN_C HRESULT STDAPICALLTYPE +#define STDAPI_(t) EXTERN_C t STDAPICALLTYPE +#define STDMETHODIMP HRESULT STDMETHODCALLTYPE +#define STDMETHODIMP_(t) t STDMETHODCALLTYPE +#define STDAPIV EXTERN_C HRESULT STDAPIVCALLTYPE +#define STDAPIV_(t) EXTERN_C t STDAPIVCALLTYPE +#define STDMETHODIMPV HRESULT STDMETHODVCALLTYPE +#define STDMETHODIMPV_(t) t STDMETHODVCALLTYPE +#define interface struct +#if defined(__cplusplus) && !defined(CINTERFACE) +#define STDMETHOD(m) virtual HRESULT STDMETHODCALLTYPE m +#define STDMETHOD_(t,m) virtual t STDMETHODCALLTYPE m +#define PURE =0 +#define THIS_ +#define THIS void +#if defined(__GNUC__) && !defined(NOCOMATTRIBUTE) +#define DECLARE_INTERFACE(i) interface __attribute__((com_interface)) i +#define DECLARE_INTERFACE_(i,b) interface __attribute__((com_interface)) i : public b +#else +#define DECLARE_INTERFACE(i) interface i +#define DECLARE_INTERFACE_(i,b) interface i : public b +#endif +#else +#define STDMETHOD(m) HRESULT(STDMETHODCALLTYPE *m) +#define STDMETHOD_(t,m) t(STDMETHODCALLTYPE *m) +#define PURE +#define THIS_ INTERFACE *, +#define THIS INTERFACE * +#ifndef CONST_VTABLE +#define CONST_VTABLE +#endif +#define DECLARE_INTERFACE(i) \ +typedef interface i { CONST_VTABLE struct i##Vtbl *lpVtbl; } i; \ +typedef CONST_VTABLE struct i##Vtbl i##Vtbl; \ +CONST_VTABLE struct i##Vtbl +#define DECLARE_INTERFACE_(i,b) DECLARE_INTERFACE(i) +#endif +#define BEGIN_INTERFACE +#define END_INTERFACE + +#define FWD_DECL(i) typedef interface i i +#if defined(__cplusplus) && !defined(CINTERFACE) +#define IENUM_THIS(T) +#define IENUM_THIS_(T) +#else +#define IENUM_THIS(T) T* +#define IENUM_THIS_(T) T*, +#endif +#define DECLARE_ENUMERATOR_(I,T) \ +DECLARE_INTERFACE_(I,IUnknown) \ +{ \ + STDMETHOD(QueryInterface)(IENUM_THIS_(I) REFIID,PVOID*) PURE; \ + STDMETHOD_(ULONG,AddRef)(IENUM_THIS(I)) PURE; \ + STDMETHOD_(ULONG,Release)(IENUM_THIS(I)) PURE; \ + STDMETHOD(Next)(IENUM_THIS_(I) ULONG,T*,ULONG*) PURE; \ + STDMETHOD(Skip)(IENUM_THIS_(I) ULONG) PURE; \ + STDMETHOD(Reset)(IENUM_THIS(I)) PURE; \ + STDMETHOD(Clone)(IENUM_THIS_(I) I**) PURE; \ +} +#define DECLARE_ENUMERATOR(T) DECLARE_ENUMERATOR_(IEnum##T,T) + +#endif /* __OBJC__ */ + +#ifndef GUID_DEFINED +#define GUID_DEFINED +typedef struct _GUID +{ + unsigned long Data1; + unsigned short Data2; + unsigned short Data3; + unsigned char Data4[8]; +} GUID,*REFGUID,*LPGUID; +#endif /* GUID_DEFINED */ +#ifndef UUID_DEFINED +#define UUID_DEFINED +typedef GUID UUID; +#endif /* UUID_DEFINED */ +typedef GUID IID; +typedef GUID CLSID; +typedef CLSID *LPCLSID; +typedef IID *LPIID; +typedef IID *REFIID; +typedef CLSID *REFCLSID; +typedef GUID FMTID; +typedef FMTID *REFFMTID; +typedef unsigned long error_status_t; +#define uuid_t UUID +typedef unsigned long PROPID; + +#ifndef _REFGUID_DEFINED +#ifdef __cplusplus +#define REFGUID const GUID& +#define REFIID const IID& +#define REFCLSID const CLSID& +#else +#define REFGUID const GUID* const +#define REFIID const IID* const +#define REFCLSID const CLSID* const +#endif +#define _REFGUID_DEFINED +#define _REFGIID_DEFINED +#define _REFCLSID_DEFINED +#endif +#ifndef GUID_SECTION +#define GUID_SECTION ".text" +#endif +#ifdef __GNUC__ +#define GUID_SECT __attribute__ ((section (GUID_SECTION))) +#else +#define GUID_SECT +#endif +#if !defined(INITGUID) || (defined(INITGUID) && defined(__cplusplus)) +#define GUID_EXT EXTERN_C +#else +#define GUID_EXT +#endif +#ifdef INITGUID +#define DEFINE_GUID(n,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) GUID_EXT const GUID n GUID_SECT = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} +#define DEFINE_OLEGUID(n,l,w1,w2) DEFINE_GUID(n,l,w1,w2,0xC0,0,0,0,0,0,0,0x46) +#else +#define DEFINE_GUID(n,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) GUID_EXT const GUID n +#define DEFINE_OLEGUID(n,l,w1,w2) DEFINE_GUID(n,l,w1,w2,0xC0,0,0,0,0,0,0,0x46) +#endif +#endif diff --git a/winsup/w32api/include/cderr.h b/winsup/w32api/include/cderr.h new file mode 100644 index 000000000..f148fc4d3 --- /dev/null +++ b/winsup/w32api/include/cderr.h @@ -0,0 +1,40 @@ +#ifndef _CDERR_H +#define _CDERR_H +#define CDERR_DIALOGFAILURE 0xFFFF +#define CDERR_GENERALCODES 0x0000 +#define CDERR_STRUCTSIZE 0x0001 +#define CDERR_INITIALIZATION 0x0002 +#define CDERR_NOTEMPLATE 0x0003 +#define CDERR_NOHINSTANCE 0x0004 +#define CDERR_LOADSTRFAILURE 0x0005 +#define CDERR_FINDRESFAILURE 0x0006 +#define CDERR_LOADRESFAILURE 0x0007 +#define CDERR_LOCKRESFAILURE 0x0008 +#define CDERR_MEMALLOCFAILURE 0x0009 +#define CDERR_MEMLOCKFAILURE 0x000A +#define CDERR_NOHOOK 0x000B +#define CDERR_REGISTERMSGFAIL 0x000C +#define PDERR_PRINTERCODES 0x1000 +#define PDERR_SETUPFAILURE 0x1001 +#define PDERR_PARSEFAILURE 0x1002 +#define PDERR_RETDEFFAILURE 0x1003 +#define PDERR_LOADDRVFAILURE 0x1004 +#define PDERR_GETDEVMODEFAIL 0x1005 +#define PDERR_INITFAILURE 0x1006 +#define PDERR_NODEVICES 0x1007 +#define PDERR_NODEFAULTPRN 0x1008 +#define PDERR_DNDMMISMATCH 0x1009 +#define PDERR_CREATEICFAILURE 0x100A +#define PDERR_PRINTERNOTFOUND 0x100B +#define PDERR_DEFAULTDIFFERENT 0x100C +#define CFERR_CHOOSEFONTCODES 0x2000 +#define CFERR_NOFONTS 0x2001 +#define CFERR_MAXLESSTHANMIN 0x2002 +#define FNERR_FILENAMECODES 0x3000 +#define FNERR_SUBCLASSFAILURE 0x3001 +#define FNERR_INVALIDFILENAME 0x3002 +#define FNERR_BUFFERTOOSMALL 0x3003 +#define FRERR_FINDREPLACECODES 0x4000 +#define FRERR_BUFFERLENGTHZERO 0x4001 +#define CCERR_CHOOSECOLORCODES 0x5000 +#endif diff --git a/winsup/w32api/include/cguid.h b/winsup/w32api/include/cguid.h new file mode 100644 index 000000000..9f08f5a62 --- /dev/null +++ b/winsup/w32api/include/cguid.h @@ -0,0 +1,78 @@ +#ifndef _CGUID_H +#define _CGUID_H +#ifdef __cplusplus +extern "C" { +#endif +extern const IID GUID_NULL; +extern const IID IID_IRpcChannel; +extern const IID IID_IRpcStub; +extern const IID IID_IStubManager; +extern const IID IID_IRpcProxy; +extern const IID IID_IProxyManager; +extern const IID IID_IPSFactory; +extern const IID IID_IInternalMoniker; +extern const IID IID_IDfReserved1; +extern const IID IID_IDfReserved2; +extern const IID IID_IDfReserved3; +extern const CLSID CLSID_StdMarshal; +extern const IID IID_IStub; +extern const IID IID_IProxy; +extern const IID IID_IEnumGeneric; +extern const IID IID_IEnumHolder; +extern const IID IID_IEnumCallback; +extern const IID IID_IOleManager; +extern const IID IID_IOlePresObj; +extern const IID IID_IDebug; +extern const IID IID_IDebugStream; +extern const CLSID CLSID_PSGenObject; +extern const CLSID CLSID_PSClientSite; +extern const CLSID CLSID_PSClassObject; +extern const CLSID CLSID_PSInPlaceActive; +extern const CLSID CLSID_PSInPlaceFrame; +extern const CLSID CLSID_PSDragDrop; +extern const CLSID CLSID_PSBindCtx; +extern const CLSID CLSID_PSEnumerators; +extern const CLSID CLSID_StaticMetafile; +extern const CLSID CLSID_StaticDib; +extern const CLSID CID_CDfsVolume; +extern const CLSID CLSID_CCDFormKrnl; +extern const CLSID CLSID_CCDPropertyPage; +extern const CLSID CLSID_CCDFormDialog; +extern const CLSID CLSID_CCDCommandButton; +extern const CLSID CLSID_CCDComboBox; +extern const CLSID CLSID_CCDTextBox; +extern const CLSID CLSID_CCDCheckBox; +extern const CLSID CLSID_CCDLabel; +extern const CLSID CLSID_CCDOptionButton; +extern const CLSID CLSID_CCDListBox; +extern const CLSID CLSID_CCDScrollBar; +extern const CLSID CLSID_CCDGroupBox; +extern const CLSID CLSID_CCDGeneralPropertyPage; +extern const CLSID CLSID_CCDGenericPropertyPage; +extern const CLSID CLSID_CCDFontPropertyPage; +extern const CLSID CLSID_CCDColorPropertyPage; +extern const CLSID CLSID_CCDLabelPropertyPage; +extern const CLSID CLSID_CCDCheckBoxPropertyPage; +extern const CLSID CLSID_CCDTextBoxPropertyPage; +extern const CLSID CLSID_CCDOptionButtonPropertyPage; +extern const CLSID CLSID_CCDListBoxPropertyPage; +extern const CLSID CLSID_CCDCommandButtonPropertyPage; +extern const CLSID CLSID_CCDComboBoxPropertyPage; +extern const CLSID CLSID_CCDScrollBarPropertyPage; +extern const CLSID CLSID_CCDGroupBoxPropertyPage; +extern const CLSID CLSID_CCDXObjectPropertyPage; +extern const CLSID CLSID_CStdPropertyFrame; +extern const CLSID CLSID_CFormPropertyPage; +extern const CLSID CLSID_CGridPropertyPage; +extern const CLSID CLSID_CWSJArticlePage; +extern const CLSID CLSID_CSystemPage; +extern const CLSID CLSID_IdentityUnmarshal; +extern const CLSID CLSID_InProcFreeMarshaler; +extern const CLSID CLSID_Picture_Metafile; +extern const CLSID CLSID_Picture_EnhMetafile; +extern const CLSID CLSID_Picture_Dib; +extern const GUID GUID_TRISTATE; +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/commctrl.h b/winsup/w32api/include/commctrl.h new file mode 100644 index 000000000..359761f83 --- /dev/null +++ b/winsup/w32api/include/commctrl.h @@ -0,0 +1,2059 @@ +#ifndef _COMMCTRL_H +#define _COMMCTRL_H +#include <prsht.h> +#ifdef __cplusplus +extern "C" { +#endif +#ifndef _WIN32_IE +/* define _WIN32_IE if you really want it */ +#if 0 +#define _WIN32_IE 0x0300 +#endif +#endif + +#define DRAGLISTMSGSTRING TEXT("commctrl_DragListMsg") +#define ANIMATE_CLASSW L"SysAnimate32" +#define ANIMATE_CLASSA "SysAnimate32" +#define HOTKEY_CLASSA "msctls_hotkey32" +#define HOTKEY_CLASSW L"msctls_hotkey32" +#define PROGRESS_CLASSA "msctls_progress32" +#define PROGRESS_CLASSW L"msctls_progress32" +#define STATUSCLASSNAMEA "msctls_statusbar32" +#define STATUSCLASSNAMEW L"msctls_statusbar32" +#define TOOLBARCLASSNAMEW L"ToolbarWindow32" +#define TOOLBARCLASSNAMEA "ToolbarWindow32" +#define TOOLTIPS_CLASSW L"tooltips_class32" +#define TOOLTIPS_CLASSA "tooltips_class32" +#define TRACKBAR_CLASSA "msctls_trackbar32" +#define TRACKBAR_CLASSW L"msctls_trackbar32" +#define UPDOWN_CLASSA "msctls_updown32" +#define UPDOWN_CLASSW L"msctls_updown32" +#define WC_LISTVIEWA "SysListView32" +#define WC_LISTVIEWW L"SysListView32" +#define WC_TABCONTROLA "SysTabControl32" +#define WC_TABCONTROLW L"SysTabControl32" +#define WC_TREEVIEWA "SysTreeView32" +#define WC_TREEVIEWW L"SysTreeView32" +#define WC_HEADERA "SysHeader32" +#define WC_HEADERW L"SysHeader32" +#define DATETIMEPICK_CLASSW L"SysDateTimePick32" +#define DATETIMEPICK_CLASSA "SysDateTimePick32" +#define MONTHCAL_CLASSW L"SysMonthCal32" +#define MONTHCAL_CLASSA "SysMonthCal32" +#define REBARCLASSNAMEW L"ReBarWindow32" +#define REBARCLASSNAMEA "ReBarWindow32" +#define LVM_FIRST 0x1000 +#define TV_FIRST 0x1100 +#define HDM_FIRST 0x1200 +#define ACM_OPENA (WM_USER+100) +#define ACM_PLAY (WM_USER+101) +#define ACM_STOP (WM_USER+102) +#define ACM_OPENW (WM_USER+103) +#define ACN_START 1 +#define ACN_STOP 2 +#define DL_BEGINDRAG 1157 +#define DL_CANCELDRAG 1160 +#define DL_DRAGGING 1158 +#define DL_DROPPED 1159 +#define DL_CURSORSET 0 +#define DL_STOPCURSOR 1 +#define DL_COPYCURSOR 2 +#define DL_MOVECURSOR 3 +#define CCS_TOP 1 +#define CCS_NOMOVEY 2 +#define CCS_BOTTOM 3 +#define CCS_NORESIZE 4 +#define CCS_NOPARENTALIGN 8 +#define CCS_ADJUSTABLE 32 +#define CCS_NODIVIDER 64 +#if (_WIN32_IE >= 0x0300) +#define CCS_VERT 128 +#define CCS_LEFT 129 +#define CCS_NOMOVEX 130 +#define CCS_RIGHT 131 +#endif +#define CMB_MASKED 2 +#define MINSYSCOMMAND SC_SIZE +#define SBT_OWNERDRAW 0x1000 +#define SBT_NOBORDERS 256 +#define SBT_POPOUT 512 +#define SBT_RTLREADING 1024 +#define SB_SETTEXTA (WM_USER+1) +#define SB_SETTEXTW (WM_USER+11) +#define SB_GETTEXTA (WM_USER+2) +#define SB_GETTEXTW (WM_USER+13) +#define SB_GETTEXTLENGTHA (WM_USER+3) +#define SB_GETTEXTLENGTHW (WM_USER+12) +#define SB_SETPARTS (WM_USER+4) +#define SB_GETPARTS (WM_USER+6) +#define SB_GETBORDERS (WM_USER+7) +#define SB_SETMINHEIGHT (WM_USER+8) +#define SB_SIMPLE (WM_USER+9) +#define SB_GETRECT (WM_USER+10) +#define MSGF_COMMCTRL_BEGINDRAG 0x4200 +#define MSGF_COMMCTRL_SIZEHEADER 0x4201 +#define MSGF_COMMCTRL_DRAGSELECT 0x4202 +#define MSGF_COMMCTRL_TOOLBARCUST 0x4203 +#define ILC_COLOR 0 +#define ILC_COLOR4 4 +#define ILC_COLOR8 8 +#define ILC_COLOR16 16 +#define ILC_COLOR24 24 +#define ILC_COLOR32 32 +#define ILC_COLORDDB 254 +#define ILC_MASK 1 +#define ILC_PALETTE 2048 +#define ILD_BLEND25 2 +#define ILD_BLEND50 4 +#define ILD_SELECTED 4 +#define ILD_BLEND 4 +#define ILD_FOCUS 2 +#define ILD_MASK 16 +#define ILD_NORMAL 0 +#define ILD_TRANSPARENT 1 +#define HDS_HORZ 0 +#define HDS_BUTTONS 2 +#define HDS_HIDDEN 8 +#define NM_FIRST 0 +#define NM_LAST (-99) +#define LVN_FIRST (-100) +#define LVN_LAST (-199) +#define HDN_FIRST (-300) +#define HDN_LAST (-399) +#define TVN_FIRST (-400) +#define TVN_LAST (-499) +#define TTN_FIRST (-520) +#define TTN_LAST (-549) +#define TCN_FIRST (-550) +#define TCN_LAST (-580) +#define CDN_FIRST (-601) +#define CDN_LAST (-699) +#define TBN_FIRST (-700) +#define TBN_LAST (-720) +#define UDN_FIRST (-721) +#define UDN_LAST (-740) +#if (_WIN32_IE >= 0x0300) +#define RBN_FIRST (-831) +#define RBN_LAST (-859) +#define MCN_FIRST (-750) +#define MCN_LAST (-759) +#define DTN_FIRST (-760) +#define DTN_LAST (-799) +#define CBEN_FIRST (-800) +#define CBEN_LAST (-830) +#endif /* _WIN32_IE */ +#define HDI_WIDTH 1 +#define HDI_HEIGHT 1 +#define HDI_TEXT 2 +#define HDI_FORMAT 4 +#define HDI_LPARAM 8 +#define HDI_BITMAP 16 +#define HDF_LEFT 0 +#define HDF_RIGHT 1 +#define HDF_CENTER 2 +#define HDF_JUSTIFYMASK3 +#define HDF_RTLREADING 4 +#define HDF_OWNERDRAW 0x8000 +#define HDF_STRING 0x4000 +#define HDF_BITMAP 0x2000 +#define HDM_GETITEMCOUNT HDM_FIRST +#define HDM_INSERTITEMA (HDM_FIRST+1) +#define HDM_INSERTITEMW (HDM_FIRST+10) +#define HDM_DELETEITEM (HDM_FIRST+2) +#define HDM_GETITEMA (HDM_FIRST+3) +#define HDM_GETITEMW (HDM_FIRST+11) +#define HDM_SETITEMA (HDM_FIRST+4) +#define HDM_SETITEMW (HDM_FIRST+12) +#define HDM_LAYOUT (HDM_FIRST+5) +#define HHT_NOWHERE 1 +#define HHT_ONHEADER 2 +#define HHT_ONDIVIDER 4 +#define HHT_ONDIVOPEN 8 +#define HHT_ABOVE 256 +#define HHT_BELOW 512 +#define HHT_TORIGHT 1024 +#define HHT_TOLEFT 2048 +#define HDM_HITTEST (HDM_FIRST+6) +#define HDN_ITEMCHANGINGA (HDN_FIRST-0) +#define HDN_ITEMCHANGINGW (HDN_FIRST-20) +#define HDN_ITEMCHANGEDA (HDN_FIRST-1) +#define HDN_ITEMCHANGEDW (HDN_FIRST-21) +#define HDN_ITEMCLICKA (HDN_FIRST-2) +#define HDN_ITEMCLICKW (HDN_FIRST-22) +#define HDN_ITEMDBLCLICKA (HDN_FIRST-3) +#define HDN_ITEMDBLCLICKW (HDN_FIRST-23) +#define HDN_DIVIDERDBLCLICKA (HDN_FIRST-5) +#define HDN_DIVIDERDBLCLICKW (HDN_FIRST-25) +#define HDN_BEGINTRACKA (HDN_FIRST-6) +#define HDN_BEGINTRACKW (HDN_FIRST-26) +#define HDN_ENDTRACKA (HDN_FIRST-7) +#define HDN_ENDTRACKW (HDN_FIRST-27) +#define HDN_TRACKA (HDN_FIRST-8) +#define HDN_TRACKW (HDN_FIRST-28) +#define CMB_MASKED 2 +#define TBSTATE_CHECKED 1 +#define TBSTATE_PRESSED 2 +#define TBSTATE_ENABLED 4 +#define TBSTATE_HIDDEN 8 +#define TBSTATE_INDETERMINATE 16 +#define TBSTATE_WRAP 32 +#define TBSTYLE_BUTTON 0 +#define TBSTYLE_SEP 1 +#define TBSTYLE_CHECK 2 +#define TBSTYLE_GROUP 4 +#define TBSTYLE_CHECKGROUP (TBSTYLE_GROUP|TBSTYLE_CHECK) +#define TBSTYLE_TOOLTIPS 256 +#define TBSTYLE_WRAPABLE 512 +#define TBSTYLE_ALTDRAG 1024 +#define TB_ENABLEBUTTON (WM_USER+1) +#define TB_CHECKBUTTON (WM_USER+2) +#define TB_PRESSBUTTON (WM_USER+3) +#define TB_HIDEBUTTON (WM_USER+4) +#define TB_INDETERMINATE (WM_USER+5) +#define TB_ISBUTTONENABLED (WM_USER+9) +#define TB_ISBUTTONCHECKED (WM_USER+10) +#define TB_ISBUTTONPRESSED (WM_USER+11) +#define TB_ISBUTTONHIDDEN (WM_USER+12) +#define TB_ISBUTTONINDETERMINATE (WM_USER+13) +#define TB_SETSTATE (WM_USER+17) +#define TB_GETSTATE (WM_USER+18) +#define TB_ADDBITMAP (WM_USER+19) +#define HINST_COMMCTRL ((HINSTANCE)-1) +#define IDB_STD_SMALL_COLOR 0 +#define IDB_STD_LARGE_COLOR 1 +#define IDB_VIEW_SMALL_COLOR 4 +#define IDB_VIEW_LARGE_COLOR 5 +#define STD_CUT 0 +#define STD_COPY 1 +#define STD_PASTE 2 +#define STD_UNDO 3 +#define STD_REDOW 4 +#define STD_DELETE 5 +#define STD_FILENEW 6 +#define STD_FILEOPEN 7 +#define STD_FILESAVE 8 +#define STD_PRINTPRE 9 +#define STD_PROPERTIES 10 +#define STD_HELP 11 +#define STD_FIND 12 +#define STD_REPLACE 13 +#define STD_PRINT 14 +#define VIEW_LARGEICONS 0 +#define VIEW_SMALLICONS 1 +#define VIEW_LIST 2 +#define VIEW_DETAILS 3 +#define VIEW_SORTNAME 4 +#define VIEW_SORTSIZE 5 +#define VIEW_SORTDATE 6 +#define VIEW_SORTTYPE 7 +#define VIEW_PARENTFOLDER 8 +#define VIEW_NETCONNECT 9 +#define VIEW_NETDISCONNECT 10 +#define VIEW_NEWFOLDER 11 +#define TB_ADDBUTTONS (WM_USER+20) +#define TB_INSERTBUTTON (WM_USER+21) +#define TB_DELETEBUTTON (WM_USER+22) +#define TB_GETBUTTON (WM_USER+23) +#define TB_BUTTONCOUNT (WM_USER+24) +#define TB_COMMANDTOINDEX (WM_USER+25) +#define TB_SAVERESTOREA (WM_USER+26) +#define TB_SAVERESTOREW (WM_USER+76) +#define TB_CUSTOMIZE (WM_USER+27) +#define TB_ADDSTRINGA (WM_USER+28) +#define TB_ADDSTRINGW (WM_USER+77) +#define TB_GETITEMRECT (WM_USER+29) +#define TB_BUTTONSTRUCTSIZE (WM_USER+30) +#define TB_SETBUTTONSIZE (WM_USER+31) +#define TB_SETBITMAPSIZE (WM_USER+32) +#define TB_AUTOSIZE (WM_USER+33) +#define TB_GETTOOLTIPS (WM_USER+35) +#define TB_SETTOOLTIPS (WM_USER+36) +#define TB_SETPARENT (WM_USER+37) +#define TB_SETROWS (WM_USER+39) +#define TB_GETROWS (WM_USER+40) +#define TB_SETCMDID (WM_USER+42) +#define TB_CHANGEBITMAP (WM_USER+43) +#define TB_GETBITMAP (WM_USER+44) +#define TB_GETBUTTONTEXTA (WM_USER+45) +#define TB_GETBUTTONTEXTW (WM_USER+75) +#define TB_REPLACEBITMAP (WM_USER+46) +#define TBBF_LARGE 1 +#define TB_GETBITMAPFLAGS (WM_USER+41) +#define TBN_GETBUTTONINFOA (TBN_FIRST-0) +#define TBN_GETBUTTONINFOW (TBN_FIRST-20) +#define TBN_BEGINDRAG (TBN_FIRST-1) +#define TBN_ENDDRAG (TBN_FIRST-2) +#define TBN_BEGINADJUST (TBN_FIRST-3) +#define TBN_ENDADJUST (TBN_FIRST-4) +#define TBN_RESET (TBN_FIRST-5) +#define TBN_QUERYINSERT (TBN_FIRST-6) +#define TBN_QUERYDELETE (TBN_FIRST-7) +#define TBN_TOOLBARCHANGE (TBN_FIRST-8) +#define TBN_CUSTHELP (TBN_FIRST-9) +#define TTS_ALWAYSTIP 1 +#define TTS_NOPREFIX 2 +#define TTF_IDISHWND 1 +#define TTF_CENTERTIP 2 +#define TTF_RTLREADING 4 +#define TTF_SUBCLASS 16 +#define TTDT_AUTOMATIC 0 +#define TTDT_RESHOW 1 +#define TTDT_AUTOPOP 2 +#define TTDT_INITIAL 3 +#define TTM_ACTIVATE (WM_USER+1) +#define TTM_SETDELAYTIME (WM_USER+3) +#define TTM_ADDTOOLA (WM_USER+4) +#define TTM_ADDTOOLW (WM_USER+50) +#define TTM_DELTOOLA (WM_USER+5) +#define TTM_DELTOOLW (WM_USER+51) +#define TTM_NEWTOOLRECTA (WM_USER+6) +#define TTM_NEWTOOLRECTW (WM_USER+52) +#define TTM_RELAYEVENT (WM_USER+7) +#define TTM_GETTOOLINFOA (WM_USER+8) +#define TTM_GETTOOLINFOW (WM_USER+53) +#define TTM_SETTOOLINFOA (WM_USER+9) +#define TTM_SETTOOLINFOW (WM_USER+54) +#define TTM_HITTESTA (WM_USER+10) +#define TTM_HITTESTW (WM_USER+55) +#define TTM_GETTEXTA (WM_USER+11) +#define TTM_GETTEXTW (WM_USER+56) +#define TTM_UPDATETIPTEXTA (WM_USER+12) +#define TTM_UPDATETIPTEXTW (WM_USER+57) +#define TTM_GETTOOLCOUNT (WM_USER +13) +#define TTM_ENUMTOOLSA (WM_USER+14) +#define TTM_ENUMTOOLSW (WM_USER+58) +#define TTM_GETCURRENTTOOLA (WM_USER+15) +#define TTM_GETCURRENTTOOLW (WM_USER+59) +#define TTM_WINDOWFROMPOINT (WM_USER+16) +#if (_WIN32_IE >= 0x0300) +#define TTM_TRACKACTIVATE (WM_USER+17) +#define TTM_TRACKPOSITION (WM_USER+18) +#define TTM_SETTIPBKCOLOR (WM_USER+19) +#define TTM_SETTIPTEXTCOLOR (WM_USER+20) +#define TTM_GETDELAYTIME (WM_USER+21) +#define TTM_GETTIPBKCOLOR (WM_USER+22) +#define TTM_GETTIPTEXTCOLOR (WM_USER+23) +#define TTM_SETMAXTIPWIDTH (WM_USER+24) +#define TTM_GETMAXTIPWIDTH (WM_USER+25) +#define TTM_SETMARGIN (WM_USER+26) +#define TTM_GETMARGIN (WM_USER+27) +#define TTM_POP (WM_USER+28) +#endif /* _WIN32_IE */ +#if (_WIN32_IE >= 0x0400) /* IE4.0 ??? */ +#define TTM_UPDATE (WM_USER+29) +#endif +#define TTN_NEEDTEXTA (TTN_FIRST-0) +#define TTN_NEEDTEXTW (TTN_FIRST-10) +#define TTN_SHOW (TTN_FIRST-1) +#define TTN_POP (TTN_FIRST-2) +#define UD_MAXVAL 0x7fff +#define UD_MINVAL (-UD_MAXVAL) +#define UDN_DELTAPOS (UDN_FIRST-1) +#define UDS_WRAP 1 +#define UDS_SETBUDDYINT 2 +#define UDS_ALIGNRIGHT 4 +#define UDS_ALIGNLEFT 8 +#define UDS_AUTOBUDDY 16 +#define UDS_ARROWKEYS 32 +#define UDS_HORZ 64 +#define UDS_NOTHOUSANDS 128 +#define UDM_SETRANGE (WM_USER+101) +#define UDM_GETRANGE (WM_USER+102) +#define UDM_SETPOS (WM_USER+103) +#define UDM_GETPOS (WM_USER+104) +#define UDM_SETBUDDY (WM_USER+105) +#define UDM_GETBUDDY (WM_USER+106) +#define UDM_SETACCEL (WM_USER+107) +#define UDM_GETACCEL (WM_USER+108) +#define UDM_SETBASE (WM_USER+109) +#define UDM_GETBASE (WM_USER+110) +#define SB_SETTEXTA (WM_USER+1) +#define SB_SETTEXTW (WM_USER+11) +#define SB_GETTEXTA (WM_USER+2) +#define SB_GETTEXTW (WM_USER+13) +#define SB_GETTEXTLENGTHA (WM_USER+3) +#define SB_GETTEXTLENGTHW (WM_USER+12) +#define SB_SETPARTS (WM_USER+4) +#define SB_GETPARTS (WM_USER+6) +#define SB_GETBORDERS (WM_USER+7) +#define SB_SETMINHEIGHT (WM_USER+8) +#define SB_SIMPLE (WM_USER+9) +#define SB_GETRECT (WM_USER+10) +#define SBT_OWNERDRAW 0x1000 +#define SBT_NOBORDERS 256 +#define SBT_POPOUT 512 +#define SBT_RTLREADING 1024 +#define TBS_AUTOTICKS 1 +#define TBS_VERT 2 +#define TBS_HORZ 0 +#define TBS_TOP 4 +#define TBS_BOTTOM 0 +#define TBS_LEFT 4 +#define TBS_RIGHT 0 +#define TBS_BOTH 8 +#define TBS_NOTICKS 16 +#define TBS_ENABLESELRANGE 32 +#define TBS_FIXEDLENGTH 64 +#define TBS_NOTHUMB 128 +#define TBM_GETPOS (WM_USER) +#define TBM_GETRANGEMIN (WM_USER+1) +#define TBM_GETRANGEMAX (WM_USER+2) +#define TBM_GETTIC (WM_USER+3) +#define TBM_SETTIC (WM_USER+4) +#define TBM_SETPOS (WM_USER+5) +#define TBM_SETRANGE (WM_USER+6) +#define TBM_SETRANGEMIN (WM_USER+7) +#define TBM_SETRANGEMAX (WM_USER+8) +#define TBM_CLEARTICS (WM_USER+9) +#define TBM_SETSEL (WM_USER+10) +#define TBM_SETSELSTART (WM_USER+11) +#define TBM_SETSELEND (WM_USER+12) +#define TBM_GETPTICS (WM_USER+14) +#define TBM_GETTICPOS (WM_USER+15) +#define TBM_GETNUMTICS (WM_USER+16) +#define TBM_GETSELSTART (WM_USER+17) +#define TBM_GETSELEND (WM_USER+18) +#define TBM_CLEARSEL (WM_USER+19) +#define TBM_SETTICFREQ (WM_USER+20) +#define TBM_SETPAGESIZE (WM_USER+21) +#define TBM_GETPAGESIZE (WM_USER+22) +#define TBM_SETLINESIZE (WM_USER+23) +#define TBM_GETLINESIZE (WM_USER+24) +#define TBM_GETTHUMBRECT (WM_USER+25) +#define TBM_GETCHANNELRECT (WM_USER+26) +#define TBM_SETTHUMBLENGTH (WM_USER+27) +#define TBM_GETTHUMBLENGTH (WM_USER+28) +#define TB_LINEUP 0 +#define TB_LINEDOWN 1 +#define TB_PAGEUP 2 +#define TB_PAGEDOWN 3 +#define TB_THUMBPOSITION 4 +#define TB_THUMBTRACK 5 +#define TB_TOP 6 +#define TB_BOTTOM 7 +#define TB_ENDTRACK 8 +#define HOTKEYF_SHIFT 1 +#define HOTKEYF_CONTROL 2 +#define HOTKEYF_ALT 4 +#define HOTKEYF_EXT 8 +#define HKCOMB_NONE 1 +#define HKCOMB_S 2 +#define HKCOMB_C 4 +#define HKCOMB_A 8 +#define HKCOMB_SC 16 +#define HKCOMB_SA 32 +#define HKCOMB_CA 64 +#define HKCOMB_SCA 128 +#define HKM_SETHOTKEY (WM_USER+1) +#define HKM_GETHOTKEY (WM_USER+2) +#define HKM_SETRULES (WM_USER+3) +#define PBM_SETRANGE (WM_USER+1) +#define PBM_SETPOS (WM_USER+2) +#define PBM_DELTAPOS (WM_USER+3) +#define PBM_SETSTEP (WM_USER+4) +#define PBM_STEPIT (WM_USER+5) +#define PBM_SETRANGE32 1030 +#define PBM_GETRANGE 1031 +#define PBM_GETPOS 1032 +#define PBM_SETBARCOLOR 1033 +#define PBM_SETBKCOLOR CCM_SETBKCOLOR +#define PBS_SMOOTH 1 +#define PBS_VERTICAL 4 +#define LVS_ICON 0 +#define LVS_REPORT 1 +#define LVS_SMALLICON 2 +#define LVS_LIST 3 +#define LVS_TYPEMASK 3 +#define LVS_SINGLESEL 4 +#define LVS_SHOWSELALWAYS 8 +#define LVS_SORTASCENDING 16 +#define LVS_SORTDESCENDING 32 +#define LVS_SHAREIMAGELISTS 64 +#define LVS_NOLABELWRAP 128 +#define LVS_AUTOARRANGE 256 +#define LVS_EDITLABELS 512 +#define LVS_NOSCROLL 0x2000 +#define LVS_TYPESTYLEMASK 0xfc00 +#define LVS_ALIGNTOP 0 +#define LVS_ALIGNLEFT 0x800 +#define LVS_ALIGNMASK 0xc00 +#define LVS_OWNERDRAWFIXED 0x400 +#define LVS_NOCOLUMNHEADER 0x4000 +#define LVS_NOSORTHEADER 0x8000 +#define LVSIL_NORMAL 0 +#define LVSIL_SMALL 1 +#define LVSIL_STATE 2 +#define LVS_OWNERDATA 4096 +#define LVM_GETBKCOLOR LVM_FIRST +#define LVM_SETBKCOLOR (LVM_FIRST+1) +#define LVM_GETIMAGELIST (LVM_FIRST+2) +#define LVM_SETIMAGELIST (LVM_FIRST+3) +#define LVM_GETITEMCOUNT (LVM_FIRST+4) +#define LVIF_TEXT 1 +#define LVIF_IMAGE 2 +#define LVIF_PARAM 4 +#define LVIF_STATE 8 +#define LVIS_FOCUSED 1 +#define LVIS_SELECTED 2 +#define LVIS_CUT 4 +#define LVIS_DROPHILITED 8 +#define LVIS_OVERLAYMASK 0xF00 +#define LVIS_STATEIMAGEMASK 0xF000 +#define LPSTR_TEXTCALLBACKW ((LPWSTR)-1) +#define LPSTR_TEXTCALLBACKA ((LPSTR)-1) +#define I_IMAGECALLBACK (-1) +#define LVM_GETITEMA (LVM_FIRST+5) +#define LVM_GETITEMW (LVM_FIRST+75) +#define LVM_SETITEMA (LVM_FIRST+6) +#define LVM_SETITEMW (LVM_FIRST+76) +#define LVM_INSERTITEMA (LVM_FIRST+7) +#define LVM_INSERTITEMW (LVM_FIRST+77) +#define LVM_DELETEITEM (LVM_FIRST+8) +#define LVM_DELETEALLITEMS (LVM_FIRST+9) +#define LVM_GETCALLBACKMASK (LVM_FIRST+10) +#define LVM_SETCALLBACKMASK (LVM_FIRST+11) +#define LVNI_ALL 0 +#define LVNI_FOCUSED 1 +#define LVNI_SELECTED 2 +#define LVNI_CUT 4 +#define LVNI_DROPHILITED 8 +#define LVNI_ABOVE 256 +#define LVNI_BELOW 512 +#define LVNI_TOLEFT 1024 +#define LVNI_TORIGHT 2048 +#define LVM_GETNEXTITEM (LVM_FIRST+12) +#define LVFI_PARAM 1 +#define LVFI_STRING 2 +#define LVFI_PARTIAL 8 +#define LVFI_WRAP 32 +#define LVFI_NEARESTXY 64 +#define LVIF_DI_SETITEM 0x1000 +#define LVM_FINDITEMA (LVM_FIRST+13) +#define LVM_FINDITEMW (LVM_FIRST+83) +#define LVIR_BOUNDS 0 +#define LVIR_ICON 1 +#define LVIR_LABEL 2 +#define LVIR_SELECTBOUNDS 3 +#define LVM_GETITEMRECT (LVM_FIRST+14) +#define LVM_SETITEMPOSITION (LVM_FIRST+15) +#define LVM_GETITEMPOSITION (LVM_FIRST+16) +#define LVM_GETSTRINGWIDTHA (LVM_FIRST+17) +#define LVM_GETSTRINGWIDTHW (LVM_FIRST+87) +#define LVHT_NOWHERE 1 +#define LVHT_ONITEMICON 2 +#define LVHT_ONITEMLABEL 4 +#define LVHT_ONITEMSTATEICON 8 +#define LVHT_ONITEM (LVHT_ONITEMICON|LVHT_ONITEMLABEL|LVHT_ONITEMSTATEICON) +#define LVHT_ABOVE 8 +#define LVHT_BELOW 16 +#define LVHT_TORIGHT 32 +#define LVHT_TOLEFT 64 +#define LVM_HITTEST (LVM_FIRST+18) +#define LVM_ENSUREVISIBLE (LVM_FIRST+19) +#define LVM_SCROLL (LVM_FIRST+20) +#define LVM_REDRAWITEMS (LVM_FIRST+21) +#define LVA_DEFAULT 0 +#define LVA_ALIGNLEFT 1 +#define LVA_ALIGNTOP 2 +#define LVA_SNAPTOGRID 5 +#define LVM_ARRANGE (LVM_FIRST+22) +#define LVM_EDITLABELA (LVM_FIRST+23) +#define LVM_EDITLABELW (LVM_FIRST+118) +#define LVM_GETEDITCONTROL (LVM_FIRST+24) +#define LVCF_FMT 1 +#define LVCF_WIDTH 2 +#define LVCF_TEXT 4 +#define LVCF_SUBITEM 8 +#define LVCFMT_LEFT 0 +#define LVCFMT_RIGHT 1 +#define LVCFMT_CENTER 2 +#define LVCFMT_JUSTIFYMASK 3 +#define LVM_GETCOLUMNA (LVM_FIRST+25) +#define LVM_GETCOLUMNW (LVM_FIRST+95) +#define LVM_SETCOLUMNA (LVM_FIRST+26) +#define LVM_SETCOLUMNW (LVM_FIRST+96) +#define LVM_INSERTCOLUMNA (LVM_FIRST+27) +#define LVM_INSERTCOLUMNW (LVM_FIRST+97) +#define LVM_DELETECOLUMN (LVM_FIRST+28) +#define LVM_GETCOLUMNWIDTH (LVM_FIRST+29) +#define LVSCW_AUTOSIZE (-1) +#define LVSCW_AUTOSIZE_USEHEADER (-2) +#define LVM_SETCOLUMNWIDTH (LVM_FIRST+30) +#define LVM_CREATEDRAGIMAGE (LVM_FIRST+33) +#define LVM_GETVIEWRECT (LVM_FIRST+34) +#define LVM_GETTEXTCOLOR (LVM_FIRST+35) +#define LVM_SETTEXTCOLOR (LVM_FIRST+36) +#define LVM_GETTEXTBKCOLOR (LVM_FIRST+37) +#define LVM_SETTEXTBKCOLOR (LVM_FIRST+38) +#define LVM_GETTOPINDEX (LVM_FIRST+39) +#define LVM_GETCOUNTPERPAGE (LVM_FIRST+40) +#define LVM_GETORIGIN (LVM_FIRST+41) +#define LVM_GETORIGIN (LVM_FIRST+41) +#define LVM_UPDATE (LVM_FIRST+42) +#define LVM_SETITEMSTATE (LVM_FIRST+43) +#define LVM_GETITEMSTATE (LVM_FIRST+44) +#define LVM_GETITEMTEXTA (LVM_FIRST+45) +#define LVM_GETITEMTEXTW (LVM_FIRST+115) +#define LVM_SETITEMTEXTA (LVM_FIRST+46) +#define LVM_SETITEMTEXTW (LVM_FIRST+116) +#define LVM_SETITEMCOUNT (LVM_FIRST+47) +#define LVM_SORTITEMS (LVM_FIRST+48) +#define LVM_SETITEMPOSITION32 (LVM_FIRST+49) +#define LVM_GETSELECTEDCOUNT (LVM_FIRST+50) +#define LVM_GETITEMSPACING (LVM_FIRST+51) +#define LVM_GETISEARCHSTRINGA (LVM_FIRST+52) +#define LVM_GETISEARCHSTRINGW (LVM_FIRST+117) +#define LVN_ITEMCHANGING LVN_FIRST +#define LVN_ITEMCHANGED (LVN_FIRST-1) +#define LVN_INSERTITEM (LVN_FIRST-2) +#define LVN_DELETEITEM (LVN_FIRST-3) +#define LVN_DELETEALLITEMS (LVN_FIRST-4) +#define LVN_BEGINLABELEDITA (LVN_FIRST-5) +#define LVN_BEGINLABELEDITW (LVN_FIRST-75) +#define LVN_ENDLABELEDITA (LVN_FIRST-6) +#define LVN_ENDLABELEDITW (LVN_FIRST-76) +#define LVN_COLUMNCLICK (LVN_FIRST-8) +#define LVN_BEGINDRAG (LVN_FIRST-9) +#define LVN_BEGINRDRAG (LVN_FIRST-11) +#define LVN_GETDISPINFOA (LVN_FIRST-50) +#define LVN_GETDISPINFOW (LVN_FIRST-77) +#define LVN_SETDISPINFOA (LVN_FIRST-51) +#define LVN_SETDISPINFOW (LVN_FIRST-78) +#define LVN_KEYDOWN (LVN_FIRST-55) +#define TVS_HASBUTTONS 1 +#define TVS_HASLINES 2 +#define TVS_LINESATROOT 4 +#define TVS_EDITLABELS 8 +#define TVS_DISABLEDRAGDROP 16 +#define TVS_SHOWSELALWAYS 32 +#define TVIF_TEXT 1 +#define TVIF_IMAGE 2 +#define TVIF_PARAM 4 +#define TVIF_STATE 8 +#define TVIF_HANDLE 16 +#define TVIF_SELECTEDIMAGE 32 +#define TVIF_CHILDREN 64 +#define TVIS_FOCUSED 1 +#define TVIS_SELECTED 2 +#define TVIS_CUT 4 +#define TVIS_DROPHILITED 8 +#define TVIS_BOLD 16 +#define TVIS_EXPANDED 32 +#define TVIS_EXPANDEDONCE 64 +#define TVIS_OVERLAYMASK 0xF00 +#define TVIS_STATEIMAGEMASK 0xF000 +#define TVIS_USERMASK 0xF000 +#define I_CHILDRENCALLBACK (-1) +#define TVI_ROOT ((HTREEITEM)0xFFFF0000) +#define TVI_FIRST ((HTREEITEM)0xFFFF0001) +#define TVI_LAST ((HTREEITEM)0xFFFF0002) +#define TVI_SORT ((HTREEITEM)0xFFFF0003) +#define TVSIL_NORMAL 0 +#define TVSIL_STATE 2 +#define TVM_INSERTITEMA TV_FIRST +#define TVM_INSERTITEMW (TV_FIRST+50) +#define TVM_DELETEITEM (TV_FIRST+1) +#define TVM_EXPAND (TV_FIRST+2) +#define TVM_GETITEMRECT (TV_FIRST+4) +#define TVM_GETCOUNT (TV_FIRST+5) +#define TVM_GETINDENT (TV_FIRST+6) +#define TVM_SETINDENT (TV_FIRST+7) +#define TVM_GETIMAGELIST (TV_FIRST+8) +#define TVM_SETIMAGELIST (TV_FIRST+9) +#define TVM_GETNEXTITEM (TV_FIRST+10) +#define TVM_SELECTITEM (TV_FIRST+11) +#define TVM_GETITEMA (TV_FIRST+12) +#define TVM_GETITEMW (TV_FIRST+62) +#define TVM_SETITEMA (TV_FIRST+13) +#define TVM_SETITEMW (TV_FIRST+63) +#define TVM_EDITLABELA (TV_FIRST+14) +#define TVM_EDITLABELW (TV_FIRST+65) +#define TVM_GETEDITCONTROL (TV_FIRST+15) +#define TVM_GETVISIBLECOUNT (TV_FIRST+16) +#define TVM_HITTEST (TV_FIRST+17) +#define TVM_CREATEDRAGIMAGE (TV_FIRST+18) +#define TVM_SORTCHILDREN (TV_FIRST+19) +#define TVM_ENSUREVISIBLE (TV_FIRST+20) +#define TVM_SORTCHILDRENCB (TV_FIRST+21) +#define TVM_ENDEDITLABELNOW (TV_FIRST+22) +#define TVM_GETISEARCHSTRINGA (TV_FIRST+23) +#define TVM_GETISEARCHSTRINGW (TV_FIRST+64) +#define TVE_COLLAPSE 1 +#define TVE_EXPAND 2 +#define TVE_TOGGLE 3 +#define TVE_COLLAPSERESET 0x8000 +#define TVC_UNKNOWN 0 +#define TVC_BYMOUSE 1 +#define TVC_BYKEYBOARD 2 +#define TVGN_ROOT 0 +#define TVGN_NEXT 1 +#define TVGN_PREVIOUS 2 +#define TVGN_PARENT 3 +#define TVGN_CHILD 4 +#define TVGN_FIRSTVISIBLE 5 +#define TVGN_NEXTVISIBLE 6 +#define TVGN_PREVIOUSVISIBLE 7 +#define TVGN_DROPHILITE 8 +#define TVGN_CARET 9 +#define TVN_SELCHANGINGA (TVN_FIRST-1) +#define TVN_SELCHANGINGW (TVN_FIRST-50) +#define TVN_SELCHANGEDA (TVN_FIRST-2) +#define TVN_SELCHANGEDW (TVN_FIRST-51) +#define TVN_GETDISPINFOA (TVN_FIRST-3) +#define TVN_GETDISPINFOW (TVN_FIRST-52) +#define TVN_SETDISPINFOA (TVN_FIRST-4) +#define TVN_SETDISPINFOW (TVN_FIRST-53) +#define TVN_ITEMEXPANDINGA (TVN_FIRST-5) +#define TVN_ITEMEXPANDINGW (TVN_FIRST-54) +#define TVN_ITEMEXPANDEDA (TVN_FIRST-6) +#define TVN_ITEMEXPANDEDW (TVN_FIRST-55) +#define TVN_BEGINDRAGA (TVN_FIRST-7) +#define TVN_BEGINDRAGW (TVN_FIRST-56) +#define TVN_BEGINRDRAGA (TVN_FIRST-8) +#define TVN_BEGINRDRAGW (TVN_FIRST-57) +#define TVN_DELETEITEMA (TVN_FIRST-9) +#define TVN_DELETEITEMW (TVN_FIRST-58) +#define TVN_BEGINLABELEDITA (TVN_FIRST-10) +#define TVN_BEGINLABELEDITW (TVN_FIRST-59) +#define TVN_ENDLABELEDITA (TVN_FIRST-11) +#define TVN_ENDLABELEDITW (TVN_FIRST-60) +#define TVN_KEYDOWN (TVN_FIRST-12) +#define TVIF_DI_SETITEM 0x1000 +#define TVHT_NOWHERE 1 +#define TVHT_ONITEMICON 2 +#define TVHT_ONITEMLABEL 4 +#define TVHT_ONITEM (TVHT_ONITEMICON|TVHT_ONITEMLABEL|TVHT_ONITEMSTATEICON) +#define TVHT_ONITEMINDENT 8 +#define TVHT_ONITEMBUTTON 16 +#define TVHT_ONITEMRIGHT 32 +#define TVHT_ONITEMSTATEICON 64 +#define TVHT_ABOVE 256 +#define TVHT_BELOW 512 +#define TVHT_TORIGHT 1024 +#define TVHT_TOLEFT 2048 +#define TCHT_NOWHERE 1 +#define TCHT_ONITEMICON 2 +#define TCHT_ONITEMLABEL 4 +#define TCHT_ONITEM (TCHT_ONITEMICON|TCHT_ONITEMLABEL) +#define TCS_FORCEICONLEFT 16 +#define TCS_FORCELABELLEFT 32 +#define TCS_TABS 0 +#define TCS_BUTTONS 256 +#define TCS_SINGLELINE 0 +#define TCS_MULTILINE 512 +#define TCS_RIGHTJUSTIFY 0 +#define TCS_FIXEDWIDTH 1024 +#define TCS_RAGGEDRIGHT 2048 +#define TCS_FOCUSONBUTTONDOWN 0x1000 +#define TCS_OWNERDRAWFIXED 0x2000 +#define TCS_TOOLTIPS 0x4000 +#define TCS_FOCUSNEVER 0x8000 +#if (_WIN32_IE >= 0x0300) +#define TCS_BOTTOM 2 +#define TCS_RIGHT 2 +#define TCS_VERTICAL 128 +#endif +#define TCIF_TEXT 1 +#define TCIF_IMAGE 2 +#define TCIF_RTLREADING 4 +#define TCIF_PARAM 8 +#define TCM_FIRST 0x1300 +#define TCM_GETIMAGELIST (TCM_FIRST+2) +#define TCM_SETIMAGELIST (TCM_FIRST+3) +#define TCM_GETITEMCOUNT (TCM_FIRST+4) +#define TCM_GETITEMA (TCM_FIRST+5) +#define TCM_GETITEMW (TCM_FIRST+60) +#define TCM_SETITEMA (TCM_FIRST+6) +#define TCM_SETITEMW (TCM_FIRST+61) +#define TCM_INSERTITEMA (TCM_FIRST+7) +#define TCM_INSERTITEMW (TCM_FIRST+62) +#define TCM_DELETEITEM (TCM_FIRST+8) +#define TCM_DELETEALLITEMS (TCM_FIRST+9) +#define TCM_GETITEMRECT (TCM_FIRST+10) +#define TCM_GETCURSEL (TCM_FIRST+11) +#define TCM_SETCURSEL (TCM_FIRST+12) +#define TCM_HITTEST (TCM_FIRST+13) +#define TCM_SETITEMEXTRA (TCM_FIRST+14) +#define TCM_ADJUSTRECT (TCM_FIRST+40) +#define TCM_SETITEMSIZE (TCM_FIRST+41) +#define TCM_REMOVEIMAGE (TCM_FIRST+42) +#define TCM_SETPADDING (TCM_FIRST+43) +#define TCM_GETROWCOUNT (TCM_FIRST+44) +#define TCM_GETTOOLTIPS (TCM_FIRST+45) +#define TCM_SETTOOLTIPS (TCM_FIRST+46) +#define TCM_GETCURFOCUS (TCM_FIRST+47) +#define TCM_SETCURFOCUS (TCM_FIRST+48) +#define TCN_KEYDOWN TCN_FIRST +#define TCN_SELCHANGE (TCN_FIRST-1) +#define TCN_SELCHANGING (TCN_FIRST-2) +#define NM_OUTOFMEMORY (NM_FIRST-1) +#define NM_CLICK (NM_FIRST-2) +#define NM_DBLCLK (NM_FIRST-3) +#define NM_RETURN (NM_FIRST-4) +#define NM_RCLICK (NM_FIRST-5) +#define NM_RDBLCLK (NM_FIRST-6) +#define NM_SETFOCUS (NM_FIRST-7) +#define NM_KILLFOCUS (NM_FIRST-8) +#define NM_CUSTOMDRAW (NM_FIRST-12) +#define NM_HOVER (NM_FIRST-13) +#define NM_NCHITTEST (NM_FIRST-14) +#define NM_KEYDOWN (NM_FIRST-15) +#define NM_RELEASEDCAPTURE (NM_FIRST-16) +#define NM_SETCURSOR (NM_FIRST-17) +#define NM_CHAR (NM_FIRST-18) +#define SBARS_SIZEGRIP 256 +#define CCM_SETBKCOLOR 8193 +#define CCM_SETCOLORSCHEME 8194 +#define CCM_GETCOLORSCHEME 8195 +#define CCM_GETDROPTARGET 8196 +#define CCM_SETUNICODEFORMAT 8197 +#define CCM_GETUNICODEFORMAT 8198 +#define ICC_LISTVIEW_CLASSES 1 +#define ICC_TREEVIEW_CLASSES 2 +#define ICC_TAB_CLASSES 8 +#define ICC_UPDOWN_CLASS 16 +#define ICC_PROGRESS_CLASS 32 +#define ICC_HOTKEY_CLASS 64 +#define ICC_ANIMATE_CLASS 128 +#define ICC_WIN95_CLASSES 255 +#define ICC_DATE_CLASSES 256 +#define ICC_USEREX_CLASSES 512 +#define ICC_COOL_CLASSES 1024 +#if (_WIN32_IE >= 0x0400) +#define ICC_INTERNET_CLASSES 2048 +#define ICC_PAGESCROLLER_CLASS 4096 +#define ICC_NATIVEFNTCTL_CLASS 8192 +#define INFOTIPSIZE +#endif /* _WIN32_IE */ +#define GDTR_MIN 1 +#define GDTR_MAX 2 +#define GMR_VISIBLE 0 +#define GMR_DAYSTATE 1 +#define GDT_ERROR -1 +#define GDT_VALID 0 +#define GDT_NONE 1 +#define DTS_UPDOWN 1 +#define DTS_SHOWNONE 2 +#define DTS_SHORTDATEFORMAT 0 +#define DTS_LONGDATEFORMAT 4 +#define DTS_TIMEFORMAT 9 +#define DTS_APPCANPARSE 16 +#define DTS_RIGHTALIGN 32 +#define MCS_DAYSTATE 1 +#define MCS_MULTISELECT 2 +#define MCS_WEEKNUMBERS 4 +#define MCS_NOTODAY 8 +#define DTM_GETSYSTEMTIME 0x1001 +#define DTM_SETSYSTEMTIME 0x1002 +#define DTM_GETRANGE 0x1003 +#define DTM_SETRANGE 0x1004 +#define DTM_SETFORMATA 0x1005 +#define DTM_SETFORMATW 0x1050 +#define DTM_SETMCCOLOR 0x1006 +#define DTM_GETMCCOLOR 0x1007 +#define DTM_GETMONTHCAL 0x1008 +#define DTM_SETMCFONT 0x1009 +#define DTM_GETMCFONT 0x100a +#define DTN_USERSTRINGA (-758) +#define DTN_USERSTRINGW (-745) +#define DTN_WMKEYDOWNA (-757) +#define DTN_WMKEYDOWNW (-744) +#define DTN_FORMATA (-756) +#define DTN_FORMATW (-743) +#define DTN_FORMATQUERYA (-755) +#define DTN_FORMATQUERYW (-742) +#define DTN_DROPDOWN (-754) +#define DTN_CLOSEUP (-753) +#define DTN_DATETIMECHANGE (-759) +#define MCM_GETCURSEL 0x1001 +#define MCM_SETCURSEL 0x1002 +#define MCM_GETMAXSELCOUNT 0x1003 +#define MCM_SETMAXSELCOUNT 0x1004 +#define MCM_GETSELRANGE 0x1005 +#define MCM_SETSELRANGE 0x1006 +#define MCM_GETMONTHRANGE 0x1007 +#define MCM_SETDAYSTATE 0x1008 +#define MCM_GETMINREQRECT 0x1009 +#define MCM_SETCOLOR 0x100a +#define MCM_GETCOLOR 0x100b +#define MCM_SETTODAY 0x100c +#define MCM_GETTODAY 0x100d +#define MCM_HITTEST 0x100e +#define MCM_SETFIRSTDAYOFWEEK 0x100f +#define MCM_GETFIRSTDAYOFWEEK 0x1010 +#define MCM_GETRANGE 0x1011 +#define MCM_SETRANGE 0x1012 +#define MCM_GETMONTHDELTA 0x1013 +#define MCM_SETMONTHDELTA 0x1014 +#define MCN_SELCHANGE (-749) +#define MCN_GETDAYSTATE (-747) +#define MCN_SELECT (-746) +#define ODT_HEADER 100 +#define ODT_TAB 101 +#define ODT_LISTVIEW +#define SB_SETBKCOLOR 0x2001 +#if (_WIN32_IE >= 0x0300) +#define SB_ISSIMPLE 1038 +#endif +#define RBS_TOOLTIPS 256 +#define RBS_VARHEIGHT 512 +#define RBS_BANDBORDERS 1024 +#define RBS_FIXEDORDER 2048 +#define RBIM_IMAGELIST 1 +#define RB_SETCOLORSCHEME CCM_SETCOLORSCHEME +#define RB_GETCOLORSCHEME CCM_GETCOLORSCHEME +#define RBBS_BREAK 1 +#define RBBS_FIXEDSIZE 2 +#define RBBS_CHILDEDGE 4 +#define RBBS_HIDDEN 8 +#define RBBS_NOVERT 16 +#define RBBS_FIXEDBMP 32 +#define RBBIM_STYLE 1 +#define RBBIM_COLORS 2 +#define RBBIM_TEXT 4 +#define RBBIM_IMAGE 8 +#define RBBIM_CHILD 16 +#define RBBIM_CHILDSIZE 32 +#define RBBIM_SIZE 64 +#define RBBIM_BACKGROUND 128 +#define RBBIM_ID 256 +#define RB_INSERTBANDA (WM_USER+1) +#define RB_INSERTBANDW (WM_USER+10) +#define RB_DELETEBAND (WM_USER+2) +#define RB_GETBARINFO (WM_USER+3) +#define RB_SETBARINFO (WM_USER+4) +#define RB_GETBANDCOUNT (WM_USER+12) +#define RB_GETROWCOUNT (WM_USER+13) +#define RB_GETROWHEIGHT (WM_USER+14) +#define RB_SETBANDINFOA (WM_USER+6) +#define RB_SETBANDINFOW (WM_USER+11) +#define RB_SETPARENT (WM_USER+7) +#define RBN_HEIGHTCHANGE RBN_FIRST +#if (_WIN32_IE >= 0x0300) +#define LVN_ODCACHEHINT (LVN_FIRST-13) +#define LVN_ODFINDITEMA (LVN_FIRST-52) +#define LVN_ODFINDITEMW (LVN_FIRST-79) +#define LVN_ITEMACTIVATE (LVN_FIRST-14) +#define LVN_ODSTATECHANGED (LVN_FIRST-15) +#ifdef UNICODE +#define LVN_ODFINDITEM LVN_ODFINDITEMW +#else +#define LVN_ODFINDITEM LVN_ODFINDITEMA +#endif +#endif /* _WIN32_IE */ +#if (_WIN32_IE >= 0x0400) +#define UDM_SETRANGE32 1135 +#define UDM_GETRANGE32 1136 +#define SB_SETICON 1039 +#define SB_SETTIPTEXTA 1040 +#define SB_SETTIPTEXTW 1041 +#define SB_GETTIPTEXTA 1042 +#define SB_GETTIPTEXTW 1043 +#define SB_GETICON 1044 +#define SB_SETUNICODEFORMAT 0x2005 +#define SB_GETUNICODEFORMAT 0x2006 +#define RBS_REGISTERDROP 4096 +#define RBS_AUTOSIZE 8192 +#define RBS_VERTICALGRIPPER 16384 +#define RBS_DBLCLKTOGGLE 32768 +#define RBBS_VARIABLEHEIGHT 64 +#define RBBS_GRIPPERALWAYS 128 +#define RBBS_NOGRIPPER 256 +#define RBBIM_IDEALSIZE 512 +#define RBBIM_LPARAM 1024 +#define RBBIM_HEADERSIZE 2048 +#define RB_HITTEST (WM_USER+8) +#define RB_GETRECT (WM_USER+9) +#define RB_IDTOINDEX (WM_USER+16) +#define RB_GETTOOLTIPS (WM_USER+17) +#define RB_SETTOOLTIPS (WM_USER+18) +#define RB_SETBKCOLOR (WM_USER+19) +#define RB_GETBKCOLOR (WM_USER+20) +#define RB_SETTEXTCOLOR (WM_USER+21) +#define RB_GETTEXTCOLOR (WM_USER+22) +#define RB_SIZETORECT (WM_USER+23) +#define RB_BEGINDRAG (WM_USER+24) +#define RB_ENDDRAG (WM_USER+25) +#define RB_DRAGMOVE (WM_USER+26) +#define RB_GETBARHEIGHT (WM_USER+27) +#define RB_GETBANDINFOW (WM_USER+28) +#define RB_GETBANDINFOA (WM_USER+29) +#define RB_MINIMIZEBAND (WM_USER+30) +#define RB_MAXIMIZEBAND (WM_USER+31) +#define RB_GETDROPTARGET CCM_GETDROPTARGET +#define RB_GETBANDBORDERS (WM_USER+34) +#define RB_SHOWBAND (WM_USER+35) +#define RB_SETPALETTE (WM_USER+37) +#define RB_GETPALETTE (WM_USER+38) +#define RB_MOVEBAND (WM_USER+39) +#define RB_SETUNICODEFORMAT CCM_SETUNICODEFORMAT +#define RB_GETUNICODEFORMAT CCM_GETUNICODEFORMAT +#define RBN_GETOBJECT (RBN_FIRST-1) +#define RBN_LAYOUTCHANGED (RBN_FIRST-2) +#define RBN_AUTOSIZE (RBN_FIRST-3) +#define RBN_BEGINDRAG (RBN_FIRST-4) +#define RBN_ENDDRAG (RBN_FIRST-5) +#define RBN_DELETINGBAND (RBN_FIRST-6) +#define RBN_DELETEDBAND (RBN_FIRST-7) +#define RBN_CHILDSIZE (RBN_FIRST-8) +#define RBNM_ID 1 +#define RBNM_STYLE 2 +#define RBNM_LPARAM 4 +#define RBHT_NOWHERE 1 +#define RBHT_CAPTION 2 +#define RBHT_CLIENT 3 +#define RBHT_GRABBER 4 +#ifdef UNICODE +#define SB_SETTIPTEXT SB_SETTIPTEXTW +#define SB_GETTIPTEXT SB_GETTIPTEXTW +#define RB_GETBANDINFO RB_GETBANDINFOW +#else +#define SB_SETTIPTEXT SB_SETTIPTEXTA +#define SB_GETTIPTEXT SB_GETTIPTEXTA +#define RB_GETBANDINFO RB_GETBANDINFOA +#endif +#else +#define RB_GETBANDINFO (WM_USER+5) +#endif /* _WIN32_IE >= 0x0400 */ + +#ifndef RC_INVOKED +typedef struct _COLORMAP { + COLORREF from; + COLORREF to; +} COLORMAP,*LPCOLORMAP; +typedef struct { + UINT uNotification; + HWND hWnd; + POINT ptCursor; +} DRAGLISTINFO,*LPDRAGLISTINFO; +typedef struct _TBBUTTON { + int iBitmap; + int idCommand; + BYTE fsState; + BYTE fsStyle; + BYTE bReserved[2]; + DWORD dwData; + int iString; +} TBBUTTON,*PTBBUTTON,*LPTBBUTTON; +typedef const TBBUTTON *LPCTBBUTTON; +typedef struct { + NMHDR hdr; + int iItem; + TBBUTTON tbButton; + int cchText; + LPTSTR pszText; +} TBNOTIFY,*LPTBNOTIFY; +typedef struct { + HKEY hkr; + LPCTSTR pszSubKey; + LPCTSTR pszValueName; +} TBSAVEPARAMS; +typedef struct _IMAGEINFO { + HBITMAP hbmImage; + HBITMAP hbmMask; + int Unused1; + int Unused2; + RECT rcImage; +} IMAGEINFO; +DECLARE_HANDLE(HIMAGELIST); +typedef struct _HD_ITEMA { + UINT mask; + int cxy; + LPSTR pszText; + HBITMAP hbm; + int cchTextMax; + int fmt; + LPARAM lParam; +} HD_ITEMA; +typedef struct _HD_ITEMW { + UINT mask; + int cxy; + LPWSTR pszText; + HBITMAP hbm; + int cchTextMax; + int fmt; + LPARAM lParam; +} HD_ITEMW; +typedef struct _HD_LAYOUT { + RECT *prc; + WINDOWPOS *pwpos; +} HD_LAYOUT; +typedef struct _HD_HITTESTINFO { + POINT pt; + UINT flags; + int iItem; +} HD_HITTESTINFO; +typedef struct _HD_NOTIFYA { + NMHDR hdr; + int iItem; + int iButton; + HD_ITEMA *pitem; +} HD_NOTIFYA; +typedef struct _HD_NOTIFYW { + NMHDR hdr; + int iItem; + int iButton; + HD_ITEMW *pitem; +} HD_NOTIFYW; +/* FIXME: NMHEADER structure (base for all events of the comctl controls) + is the same as HD_NOTIFY depending on the value of _WIN32_IE macro. + I'm defining both for now. */ +typedef struct _NMHEADERA { + NMHDR hdr; + int iItem; + int iButton; + HD_ITEMA* pitem; +} NMHEADERA, *LPNMHEADERA; + +typedef struct _NMHEADERW { + NMHDR hdr; + int iItem; + int iButton; + HD_ITEMW* pitem; +} NMHEADERW, *LPNMHEADERW; +#ifdef UNICODE +#define NMHEADER NMHEADERW +#define LPNMHEADER LPNMHEADERW +#else +#define NMHEADER NMHEADERA +#define LPNMHEADER LPNMHEADERA +#endif +/* End FIXME. */ +typedef struct tagTBADDBITMAP { + HINSTANCE hInst; + UINT nID; +} TBADDBITMAP,*LPTBADDBITMAP; +typedef struct tagTBSAVEPARAMSA { + HKEY hkr; + LPCSTR pszSubKey; + LPCSTR pszValueName; +} TBSAVEPARAMSA; +typedef struct tagTBSAVEPARAMSW { + HKEY hkr; + LPCWSTR pszSubKey; + LPCWSTR pszValueName; +} TBSAVEPARAMSW; +typedef struct { + HINSTANCE hInstOld; + UINT nIDOld; + HINSTANCE hInstNew; + UINT nIDNew; + int nButtons; +} TBREPLACEBITMAP,*LPTBREPLACEBITMAP; +typedef struct tagTBNOTIFYA { + NMHDR hdr; + int iItem; + TBBUTTON tbButton; + int cchText; + LPSTR pszText; +} TBNOTIFYA,*LPTBNOTIFYA; +typedef struct tagTBNOTIFYW { + NMHDR hdr; + int iItem; + TBBUTTON tbButton; + int cchText; + LPWSTR pszText; +} TBNOTIFYW,*LPTBNOTIFYW; +typedef struct tagTOOLINFOA { + UINT cbSize; + UINT uFlags; + HWND hwnd; + UINT uId; + RECT rect; + HINSTANCE hinst; + LPSTR lpszText; +} TOOLINFOA,*PTOOLINFOA,*LPTOOLINFOA; +typedef struct tagTOOLINFOW { + UINT cbSize; + UINT uFlags; + HWND hwnd; + UINT uId; + RECT rect; + HINSTANCE hinst; + LPWSTR lpszText; +} TOOLINFOW,*PTOOLINFOW,*LPTOOLINFOW; +typedef struct _TT_HITTESTINFOA { + HWND hwnd; + POINT pt; + TOOLINFOA ti; +} TTHITTESTINFOA,*LPHITTESTINFOA; +typedef struct _TT_HITTESTINFOW { + HWND hwnd; + POINT pt; + TOOLINFOW ti; +} TTHITTESTINFOW,*LPHITTESTINFOW; +typedef struct tagTOOLTIPTEXTA { + NMHDR hdr; + LPSTR lpszText; + char szText[80]; + HINSTANCE hinst; + UINT uFlags; +} TOOLTIPTEXTA,*LPTOOLTIPTEXTA; +typedef struct tagTOOLTIPTEXTW { + NMHDR hdr; + LPWSTR lpszText; + WCHAR szText[80]; + HINSTANCE hinst; + UINT uFlags; +} TOOLTIPTEXTW,*LPTOOLTIPTEXTW; +typedef struct _UDACCEL { + UINT nSec; + UINT nInc; +} UDACCEL,*LPUDACCEL; +typedef struct _NM_UPDOWN { + NMHDR hdr; + int iPos; + int iDelta; +} NM_UPDOWN,*LPNM_UPDOWN; +typedef struct _LV_ITEMA { + UINT mask; + int iItem; + int iSubItem; + UINT state; + UINT stateMask; + LPSTR pszText; + int cchTextMax; + int iImage; + LPARAM lParam; +} LV_ITEMA; +typedef struct _LV_ITEMW { + UINT mask; + int iItem; + int iSubItem; + UINT state; + UINT stateMask; + LPWSTR pszText; + int cchTextMax; + int iImage; + LPARAM lParam; +} LV_ITEMW; +typedef struct _LV_FINDINFOA { + UINT flags; + LPCSTR psz; + LPARAM lParam; + POINT pt; + UINT vkDirection; +} LV_FINDINFOA; +typedef struct _LV_FINDINFOW { + UINT flags; + LPCWSTR psz; + LPARAM lParam; + POINT pt; + UINT vkDirection; +} LV_FINDINFOW; +typedef struct _LV_HITTESTINFO { + POINT pt; + UINT flags; + int iItem; +} LV_HITTESTINFO; +typedef struct _LV_COLUMNA { + UINT mask; + int fmt; + int cx; + LPSTR pszText; + int cchTextMax; + int iSubItem; +} LV_COLUMNA; +typedef struct _LV_COLUMNW { + UINT mask; + int fmt; + int cx; + LPWSTR pszText; + int cchTextMax; + int iSubItem; +} LV_COLUMNW; +typedef int(CALLBACK *PFNLVCOMPARE)(LPARAM,LPARAM,LPARAM); +typedef struct _NM_LISTVIEW { + NMHDR hdr; + int iItem; + int iSubItem; + UINT uNewState; + UINT uOldState; + UINT uChanged; + POINT ptAction; + LPARAM lParam; +} NM_LISTVIEW,*LPNM_LISTVIEW; +typedef struct _LV_DISPINFOA { + NMHDR hdr; + LV_ITEMA item; +} LV_DISPINFOA; +typedef struct _LV_DISPINFOW { + NMHDR hdr; + LV_ITEMW item; +} LV_DISPINFOW; +typedef struct _LV_KEYDOWN { + NMHDR hdr; + WORD wVKey; + UINT flags; +} LV_KEYDOWN; +DECLARE_HANDLE(HTREEITEM); +typedef struct _TV_ITEMA { + UINT mask; + HTREEITEM hItem; + UINT state; + UINT stateMask; + LPSTR pszText; + int cchTextMax; + int iImage; + int iSelectedImage; + int cChildren; + LPARAM lParam; +} TV_ITEMA,*LPTV_ITEMA; +typedef struct _TV_ITEMW { + UINT mask; + HTREEITEM hItem; + UINT state; + UINT stateMask; + LPWSTR pszText; + int cchTextMax; + int iImage; + int iSelectedImage; + int cChildren; + LPARAM lParam; +} TV_ITEMW,*LPTV_ITEMW; +typedef struct _TV_INSERTSTRUCTA { + HTREEITEM hParent; + HTREEITEM hInsertAfter; + TV_ITEMA item; +} TV_INSERTSTRUCTA,*LPTV_INSERTSTRUCTA; +typedef struct _TV_INSERTSTRUCTW { + HTREEITEM hParent; + HTREEITEM hInsertAfter; + TV_ITEMW item; +} TV_INSERTSTRUCTW,*LPTV_INSERTSTRUCTW; +typedef struct _TV_HITTESTINFO { + POINT pt; + UINT flags; + HTREEITEM hItem; +} TV_HITTESTINFO,*LPTV_HITTESTINFO; +typedef int(CALLBACK *PFNTVCOMPARE)(LPARAM,LPARAM,LPARAM); +typedef struct _TV_SORTCB { + HTREEITEM hParent; + PFNTVCOMPARE lpfnCompare; + LPARAM lParam; +} TV_SORTCB,*LPTV_SORTCB; +typedef struct _NM_TREEVIEWA { + NMHDR hdr; + UINT action; + TV_ITEMA itemOld; + TV_ITEMA itemNew; + POINT ptDrag; +} NM_TREEVIEWA,*LPNM_TREEVIEWA; +typedef struct _NM_TREEVIEWW { + NMHDR hdr; + UINT action; + TV_ITEMW itemOld; + TV_ITEMW itemNew; + POINT ptDrag; +} NM_TREEVIEWW,*LPNM_TREEVIEWW; +typedef struct _TV_DISPINFOA { + NMHDR hdr; + TV_ITEMA item; +} TV_DISPINFOA; +typedef struct _TV_DISPINFOW { + NMHDR hdr; + TV_ITEMW item; +} TV_DISPINFOW; +typedef struct _TV_KEYDOWN { + NMHDR hdr; + WORD wVKey; + UINT flags; +} TV_KEYDOWN; +typedef struct _TC_ITEMHEADERA { + UINT mask; + UINT lpReserved1; + UINT lpReserved2; + LPSTR pszText; + int cchTextMax; + int iImage; +} TC_ITEMHEADERA; +typedef struct _TC_ITEMHEADERW { + UINT mask; + UINT lpReserved1; + UINT lpReserved2; + LPWSTR pszText; + int cchTextMax; + int iImage; +} TC_ITEMHEADERW; +typedef struct _TC_ITEMA { + UINT mask; + UINT lpReserved1; + UINT lpReserved2; + LPSTR pszText; + int cchTextMax; + int iImage; + LPARAM lParam; +} TC_ITEMA; +typedef struct _TC_ITEMW { + UINT mask; + UINT lpReserved1; + UINT lpReserved2; + LPWSTR pszText; + int cchTextMax; + int iImage; + LPARAM lParam; +} TC_ITEMW; +typedef struct _TC_HITTESTINFO { + POINT pt; + UINT flags; +} TC_HITTESTINFO,*LPTC_HITTESTINFO; +typedef struct _TC_KEYDOWN { + NMHDR hdr; + WORD wVKey; + UINT flags; +} TC_KEYDOWN; +typedef struct tagINITCOMMONCONTROLSEX { + DWORD dwSize; + DWORD dwICC; +} INITCOMMONCONTROLSEX,*LPINITCOMMONCONTROLSEX; +typedef struct tagPBRANGE { + int iLow; + int iHigh; +} PBRANGE,*PPBRANGE; +typedef struct tagCOLORSCHEME { + DWORD dwSize; + COLORREF clrBtnHighlight; + COLORREF clrBtnShadow; +} COLORSCHEME,*LPCOLORSCHEME; +typedef struct tagTCITEM { + UINT mask; +#if (_WIN32_IE >= 0x0300) + DWORD dwState; + DWORD dwStateMask; +#else + UINT lpReserved1; + UINT lpReserved2; +#endif +#ifdef UNICODE + LPWSTR pszText; +#else + LPSTR pszText; +#endif + int cchTextMax; + int iImage; + LPARAM lParam; +} TCITEM,*LPTCITEM; +typedef struct tagMCHITTESTINFO { + UINT cbSize; + POINT pt; + UINT uHit; + SYSTEMTIME st; +}MCHITTESTINFO, *PMCHITTESTINFO; +typedef DWORD MONTHDAYSTATE; +typedef MONTHDAYSTATE *LPMONTHDAYSTATE; +typedef struct tagNMDAYSTATE { + NMHDR nmhdr; + SYSTEMTIME stStart; + int cDayState; + LPMONTHDAYSTATE prgDayState; +}NMDAYSTATE,*LPNMDAYSTATE; +typedef struct tagREBARINFO { + UINT cbSize; + UINT fMask; + HIMAGELIST himl; +} REBARINFO,*LPREBARINFO; +typedef struct tagREBARBANDINFOA { + UINT cbSize; + UINT fMask; + UINT fStyle; + COLORREF clrFore; + COLORREF clrBack; + LPSTR lpText; + UINT cch; + int iImage; + HWND hwndChild; + UINT cxMinChild; + UINT cyMinChild; + UINT cx; + HBITMAP hbmBack; + UINT wID; +#if (_WIN32_IE >= 0x0400) + UINT cyChild; + UINT cyMaxChild; + UINT cyIntegral; + UINT cxIdeal; + LPARAM lParam; + UINT cxHeader; +#endif +} REBARBANDINFOA,*LPREBARBANDINFOA; +typedef struct tagREBARBANDINFOW { + UINT cbSize; + UINT fMask; + UINT fStyle; + COLORREF clrFore; + COLORREF clrBack; + LPWSTR lpText; + UINT cch; + int iImage; + HWND hwndChild; + UINT cxMinChild; + UINT cyMinChild; + UINT cx; + HBITMAP hbmBack; + UINT wID; +#if (_WIN32_IE >= 0x0400) + UINT cyChild; + UINT cyMaxChild; + UINT cyIntegral; + UINT cxIdeal; + LPARAM lParam; + UINT cxHeader; +#endif +} REBARBANDINFOW,*LPREBARBANDINFOW; +typedef REBARBANDINFOA const *LPCREBARBANDINFOA; +typedef REBARBANDINFOW const *LPCREBARBANDINFOW; +#define REBARBANDINFOA_V3_SIZE CCSIZEOF_STRUCT(REBARBANDINFOA,wID) +#define REBARBANDINFOW_V3_SIZE CCSIZEOF_STRUCT(REBARBANDINFOW, wID) + +#if (_WIN32_IE >= 0x0300) +typedef struct tagTCHITTESTINFO { + POINT pt; + UINT flags; +} TCHITTESTINFO,*LPTCHITTESTINFO; +typedef struct tagIMAGELISTDRAWPARAMS { + DWORD cbSize; + HIMAGELIST himl; + int i; + HDC hdcDst; + int x; + int y; + int cx; + int cy; + int xBitmap; + int yBitmap; + COLORREF rgbBk; + COLORREF rgbFg; + UINT fStyle; + DWORD dwRop; +} IMAGELISTDRAWPARAMS,*LPIMAGELISTDRAWPARAMS; +#elif (_WIN32_IE >= 0x0400) +typedef struct tagNMREBARCHILDSIZE { + NMHDR hdr; + UINT uBand; + UINT wID; + RECT rcChild; + RECT rcBand; +} NMREBARCHILDSIZE,*LPNMREBARCHILDSIZE; +typedef struct tagNMREBAR { + NMHDR hdr; + DWORD dwMask; + UINT uBand; + UINT fStyle; + UINT wID; + LPARAM lParam; +} NMREBAR,*LPNMREBAR; +typedef struct tagNMRBAUTOSIZE { + NMHDR hdr; + BOOL fChanged; + RECT rcTarget; + RECT rcActual; +} NMRBAUTOSIZE,*LPNMRBAUTOSIZE; +typedef struct _RB_HITTESTINFO { + POINT pt; + UINT flags; + int iBand; +} RBHITTESTINFO,*LPRBHITTESTINFO; +#endif + +#define INDEXTOOVERLAYMASK(i) ((i)<<8) +#define INDEXTOSTATEIMAGEMASK(i) ((i)<<12) +#define HANDLE_WM_NOTIFY(h,w,l,f) (f)((h),(int)(w),(NMHDR*)(l)) +#define FORWARD_WM_NOTIFY(h,i,p,f) (LRESULT)(f)((h),WM_NOTIFY,(WPARAM)(int)(i),(LPARAM)(NMHDR*)(p)) +#define CCSIZEOF_STRUCT(n,m) (((int)((PBYTE)(&((s*)0)->m)-((PBYTE)((s*)0))))+sizeof(((s*)0)->m)) +#define Animate_Create(w,i,s,hI) CreateWindow(ANIMATE_CLASS,NULL,s,0,0,0,0,w,(HMENU)(i),hI,NULL) +#define Animate_Open(w,f) (BOOL)SendMessage(w,ACM_OPEN,0,(LPARAM)f) +#define Animate_Play(w,f,t,r) (BOOL)SendMessage(w,ACM_PLAY,(r),(LPARAM)MAKELONG(f,t)) +#define Animate_Stop(w) (BOOL)SendMessage(w,ACM_STOP,0,0) +#define Animate_Close(w) Animate_Open(w,NULL) +#define Animate_Seek(w,f) Animate_Play(w,f,f,1) +HBITMAP WINAPI CreateMappedBitmap(HINSTANCE,int,UINT,LPCOLORMAP,int); +HWND WINAPI CreateStatusWindowA(LONG,LPCSTR,HWND,UINT); +HWND WINAPI CreateStatusWindowW(LONG,LPCWSTR,HWND,UINT); +HWND WINAPI CreateToolbarEx(HWND,DWORD,UINT,int,HINSTANCE,UINT,LPCTBBUTTON,int,int,int,int,int,UINT); +HWND WINAPI CreateUpDownControl(DWORD,int,int,int,int,HWND,int,HINSTANCE,HWND,int,int,int); +#define DateTime_GetMonthCal(hwnd) SendMessage(hwnd, DTM_GETMONTHCAL, 0, 0) +#define DateTime_GetMonthCalColor(hwnd, icolor) SendMessage(hwnd, DTM_GETMONTHCAL, (WPARAM)icolor,0) +#define DateTime_GetMonthCalFont(hwnd) SendMessage(hwnd,DTM_GETMCFONT,0,0) +#define DateTime_GetRange(hwnd,lpsystimearray) SendMessage(hwnd,DTM_GETRANGE,0,(LPARAM)lpsystimearray) +#define DateTime_GetSystemTime(hwnd,lpsystime) SendMessage(hwnd,DTM_GETSYSTEMTIME,0,(LPARAM)lpsystime) +#define DateTime_SetFormat(hwnd,lpszformat) SendMessage(hwnd,DTM_SETFORMAT,0,(LPARAM)lpszformat) +#define DateTime_SetMonthCalColor(hwnd,icolor,clr) SendMessage(hwnd,DTM_SETMCCOLOR,(WPARAM)icolor,(LPARAM)clr) +#define DateTime_SetMonthCalFont(hwnd,hfont,lparam) SendMessage(hwnd,DTM_SETMCFONT,(WPARAM)hfont,(LPARAM)lparam) +#define DateTime_SetRange(hwnd,flags,lpsystimearray) SendMessage(hwnd,DTM_SETRANGE,(WPARAM)flags,(LPARAM)lpsystimearray) +#define DateTime_SetSystemTime(hwnd,flag,lpsystime) SendMessage(hwnd,DTM_SETSYSTEMTIME,(WPARAM)flag,(LPARAM)lpsystime) +void WINAPI DrawInsert(HWND,HWND,int); +void WINAPI DrawStatusTextA(HDC,LPRECT,LPCSTR,UINT); +void WINAPI DrawStatusTextW(HDC,LPRECT,LPCWSTR,UINT); +void WINAPI GetEffectiveClientRect(HWND,LPRECT,LPINT); +#define Header_GetItemCount(w) (int)SendMessage((w),HDM_GETITEMCOUNT,0,0) +#define Header_InsertItem(w,i,phdi) (int)SendMessage((w),HDM_INSERTITEM,(WPARAM)(int)(i),(LPARAM)(const HD_ITEM*)(phdi)) +#define Header_DeleteItem(w,i) (BOOL)SendMessage((w),HDM_DELETEITEM,(WPARAM)(int)(i),0) +#define Header_GetItem(w,i,phdi) (BOOL)SendMessage((w),HDM_GETITEM,(WPARAM)(int)(i),(LPARAM)(HD_ITEM*)(phdi)) +#define Header_SetItem(w,i,phdi) (BOOL)SendMessage((w),HDM_SETITEM,(WPARAM)(int)(i),(LPARAM)(const HD_ITEM*)(phdi)) +#define Header_Layout(w,l) (BOOL)SendMessage((w),HDM_LAYOUT,0,(LPARAM)(HD_LAYOUT*)(l)) +int WINAPI ImageList_Add(HIMAGELIST,HBITMAP,HBITMAP); +#define ImageList_AddIcon(l,i) ImageList_ReplaceIcon(l,-1,i) +int WINAPI ImageList_AddMasked(HIMAGELIST,HBITMAP,COLORREF); +BOOL WINAPI ImageList_BeginDrag(HIMAGELIST,int,int,int); +HIMAGELIST WINAPI ImageList_Create(int,int,UINT,int,int); +BOOL WINAPI ImageList_Destroy(HIMAGELIST); +BOOL WINAPI ImageList_DragEnter(HWND,int,int); +BOOL WINAPI ImageList_DragLeave(HWND); +BOOL WINAPI ImageList_DragMove(int,int); +BOOL WINAPI ImageList_DragShowNolock(BOOL); +BOOL WINAPI ImageList_Draw(HIMAGELIST,int,HDC,int,int,UINT); +BOOL WINAPI ImageList_DrawEx(HIMAGELIST,int,HDC,int,int,int,int,COLORREF,COLORREF,UINT); +void WINAPI ImageList_EndDrag(VOID); +#define ImageList_ExtractIcon(h,l,i) ImageList_GetIcon(l,i,0) +COLORREF WINAPI ImageList_GetBkColor(HIMAGELIST); +HIMAGELIST WINAPI ImageList_GetDragImage(LPPOINT,LPPOINT); +HICON WINAPI ImageList_GetIcon(HIMAGELIST,int,UINT); +BOOL WINAPI ImageList_GetIconSize(HIMAGELIST,int*,int*); +int WINAPI ImageList_GetImageCount(HIMAGELIST); +BOOL WINAPI ImageList_GetImageInfo(HIMAGELIST,int,IMAGEINFO*); +#define ImageList_LoadBitmap(h,l,x,G,M) ImageList_LoadImage(h,l,x,G,M,IMAGE_BITMAP,0) +HIMAGELIST WINAPI ImageList_LoadImageA(HINSTANCE,LPCSTR,int,int,COLORREF,UINT,UINT); +HIMAGELIST WINAPI ImageList_LoadImageW(HINSTANCE,LPCWSTR,int,int,COLORREF,UINT,UINT); +HIMAGELIST WINAPI ImageList_Merge(HIMAGELIST,int,HIMAGELIST,int,int,int); +BOOL WINAPI ImageList_Remove(HIMAGELIST,int); +#define ImageList_RemoveAll(l) ImageList_Remove(l,-1) +BOOL WINAPI ImageList_Replace(HIMAGELIST,int,HBITMAP,HBITMAP); +int WINAPI ImageList_ReplaceIcon(HIMAGELIST,int,HICON); +COLORREF WINAPI ImageList_SetBkColor(HIMAGELIST,COLORREF); +BOOL WINAPI ImageList_SetDragCursorImage(HIMAGELIST,int,int,int); +BOOL WINAPI ImageList_SetIconSize(HIMAGELIST,int,int); +BOOL WINAPI ImageList_SetOverlayImage(HIMAGELIST,int,int); +#ifdef _OBJIDL_H +HIMAGELIST WINAPI ImageList_Read(LPSTREAM); +BOOL WINAPI ImageList_Write(HIMAGELIST,LPSTREAM); +#endif +void WINAPI InitCommonControls(void); +BOOL WINAPI InitCommonControlsEx(LPINITCOMMONCONTROLSEX); +WINBOOL WINAPI ImageList_DragShowNolock(BOOL); +int WINAPI LBItemFromPt(HWND,POINT,BOOL); +#define ListView_GetBkColor(w) (COLORREF)SendMessage((w),LVM_GETBKCOLOR,0,0) +#define ListView_GetImageList(w,i) (HIMAGELIST)SendMessage((w),LVM_GETIMAGELIST,(i),0) +#define ListView_GetItemCount(w) (int)SendMessage((w),LVM_GETITEMCOUNT,0,0) +#define ListView_GetItem(w,i) (BOOL)SendMessage((w),LVM_GETITEM,0,(LPARAM)(i)) +#define ListView_SetBkColor(w,c) (BOOL)SendMessage((w),LVM_SETBKCOLOR,0,(LPARAM)c) +#define ListView_SetImageList(w,h,i) (HIMAGELIST)(UINT)SendMessage((w),LVM_SETIMAGELIST,(i),(LPARAM)(h)) +#define ListView_SetItem(w,i) (BOOL)SendMessage((w),LVM_SETITEM,0,(LPARAM)(const LV_ITEM*)(i)) +#define ListView_InsertItem(w,i) (int)SendMessage((w),LVM_INSERTITEM,0,(LPARAM)(const LV_ITEM*)(i)) +#define ListView_DeleteItem(w,i) (BOOL)SendMessage((w),LVM_DELETEITEM,i,0) +#define ListView_DeleteAllItems(w) (BOOL)SendMessage((w),LVM_DELETEALLITEMS,0,0) +#define ListView_GetCallbackMask(w) (BOOL)SendMessage((w),LVM_GETCALLBACKMASK,0,0) +#define ListView_SetCallbackMask(w,m) (BOOL)SendMessage((w),LVM_SETCALLBACKMASK,m,0) +#define ListView_GetNextItem(w,i,f) (int)SendMessage((w),LVM_GETNEXTITEM,i,MAKELPARAM((f),0)) +#define ListView_FindItem(w,i,p) (int)SendMessage((w), LVM_FINDITEM,i,(LPARAM)(const LV_FINDINFO*)(p)) +#define ListView_GetItemRect(w,i,p,c) (BOOL)SendMessage((w),LVM_GETITEMRECT,i,((p)?(((LPRECT)(p))->left=(c),(LPARAM)(LPRECT)(p)):0)) +#define ListView_SetItemPosition(w,i,x,y) (BOOL)SendMessage((w),LVM_SETITEMPOSITION,i,MAKELPARAM(x,y)) +#define ListView_GetItemPosition(w,i,p) (BOOL)SendMessage((w),LVM_GETITEMPOSITION,i,(LPARAM)p) +#define ListView_GetItemSpacing(w,f) (DWORD)SendMessage((w),LVM_GETITEMSPACING,f,0) +#define ListView_GetStringWidth(w,s) (int)SendMessage((w),LVM_GETSTRINGWIDTH,0,(LPARAM)s) +#define ListView_HitTest(w,p) (int)SendMessage((w),LVM_HITTEST,0,(LPARAM)(LV_HITTESTINFO*)(p)) +#define ListView_EnsureVisible(w,i,f) (BOOL)SendMessage((w),LVM_ENSUREVISIBLE,i,MAKELPARAM((f),0)) +#define ListView_Scroll(w,dx,dy) (BOOL)SendMessage((w),LVM_SCROLL,dx,dy) +#define ListView_RedrawItems(w,f,l) (BOOL)SendMessage((w),LVM_REDRAWITEMS,f,l) +#define ListView_Arrange(w,c) (BOOL)SendMessage((w),LVM_ARRANGE,c,0) +#define ListView_EditLabel(w,i) (HWND)SendMessage((w),LVM_EDITLABEL,i,0) +#define ListView_GetEditControl(w) (HWND)SendMessage((w),LVM_GETEDITCONTROL,0,0) +#define ListView_GetColumn(w,i,p) (BOOL)SendMessage((w),LVM_GETCOLUMN,i,(LPARAM)(LV_COLUMN*)(p)) +#define ListView_SetColumn(w,i,p) (BOOL)SendMessage((w),LVM_SETCOLUMN,i,(LPARAM)(const LV_COLUMN*)(p)) +#define ListView_InsertColumn(w,i,p) (int)SendMessage((w),LVM_INSERTCOLUMN,i,(LPARAM)(const LV_COLUMN*)(p)) +#define ListView_DeleteColumn(w,i) (BOOL)SendMessage((w),LVM_DELETECOLUMN,i,0) +#define ListView_GetColumnWidth(w,i) (int)SendMessage((w),LVM_GETCOLUMNWIDTH,i,0) +#define ListView_SetColumnWidth(w,i,x) (BOOL)SendMessage((w),LVM_SETCOLUMNWIDTH,i,MAKELPARAM((x),0)) +#define ListView_CreateDragImage(w,i,p) (HIMAGELIST)SendMessage((w),LVM_CREATEDRAGIMAGE,i,(LPARAM)(LPPOINT)(p)) +#define ListView_GetViewRect(w,p) (BOOL)SendMessage((w),LVM_GETVIEWRECT,0,(LPARAM)(LPRECT)(p)) +#define ListView_GetTextColor(w) (COLORREF)SendMessage((w),LVM_GETTEXTCOLOR,0,0) +#define ListView_SetTextColor(w,c) (BOOL)SendMessage((w),LVM_SETTEXTCOLOR,0,(LPARAM)(COLORREF)(c)) +#define ListView_GetTextBkColor(w) (COLORREF)SendMessage((w),LVM_GETTEXTBKCOLOR,0,0) +#define ListView_SetTextBkColor(w,c) (BOOL)SendMessage((w),LVM_SETTEXTBKCOLOR,0,(LPARAM)(COLORREF)(c)) +#define ListView_GetTopIndex(w) (int)SendMessage((w),LVM_GETTOPINDEX,0,0) +#define ListView_GetCountPerPage(w) (int)SendMessage((w),LVM_GETCOUNTPERPAGE,0,0) +#define ListView_GetOrigin(w,p) (BOOL)SendMessage((w),LVM_GETORIGIN,0,(LPARAM)(POINT*)(p)) +#define ListView_GetOrigin(w,p) (BOOL)SendMessage((w),LVM_GETORIGIN,0,(LPARAM)(POINT*)(p)) +#define ListView_Update(w,i) (BOOL)SendMessage((w),LVM_UPDATE,i,0) +#define ListView_SetItemState(w,i,d,m) \ +{ \ + LV_ITEM _lvi;\ + _lvi.stateMask=m;\ + _lvi.state=d;\ + SendMessage((w),LVM_SETITEMSTATE,i,(LPARAM)(LV_ITEM*)&_lvi);\ +} +#define ListView_GetItemState(w,i,m) (UINT)SendMessage((w),LVM_GETITEMSTATE,i,m) +#define ListView_GetItemText(w,i,iS,s,n) \ +{ \ + LV_ITEM _lvi;\ + _lvi.iSubItem=iS;\ + _lvi.cchTextMax=n;\ + _lvi.pszText=s;\ + SendMessage((w),LVM_GETITEMTEXT,i,(LPARAM)(LV_ITEM*)&_lvi);\ +} +#define ListView_SetItemText(w,i,iS,s) \ +{ \ + LV_ITEM _lvi;\ + _lvi.iSubItem=iS;\ + _lvi.pszText=s;\ + SendMessage((w),LVM_SETITEMTEXT,i,(LPARAM)(LV_ITEM*)&_lvi);\ +} +#define ListView_SetItemCount(w,n) SendMessage((w),LVM_SETITEMCOUNT,n,0) +#define ListView_SortItems(w,f,l) (BOOL)SendMessage((w),LVM_SORTITEMS,l,(LPARAM)f) +#define ListView_SetItemPosition32(w,i,x,y) \ +{ \ + POINT p={x,y}; \ + SendMessage((w),LVM_SETITEMPOSITION32,i,(LPARAM)&p);\ +} +#define ListView_GetSelectedCount(w) (UINT)SendMessage((w),LVM_GETSELECTEDCOUNT,0,0) + +BOOL WINAPI MakeDragList(HWND); +void WINAPI MenuHelp(UINT,WPARAM,LPARAM,HMENU,HINSTANCE,HWND,PUINT); +#define MonthCal_GetColor(hwnd,icolor) SendMessage(hwnd,MCM_GETCOLOR,(WPARAM)icolor,(LPARAM)0) +#define MonthCal_GetCurSel(hwnd,lpsystime) SendMessage(hwnd,MCM_GETCURSEL,0,(LPARAM)lpsystime) +#define MonthCal_GetFirstDayOfWeek(hwnd) SendMessage(hwnd,MCM_GETFIRSTDAYOFWEEK,0,0) +#define MonthCal_GetMaxSelCount(hwnd) SendMessage(hwnd,MCM_GETMAXSELCOUNT,0,0) +#define MonthCal_GetMaxTodayWidth(hwnd) SendMessage(hwnd,MCM_GETMAXTODAYWIDTH,0,0) +#define MonthCal_GetMinReqRect(hwnd,lpRectInfo) SendMessage(hwnd,MCM_GETMINREQRECT,0,(LPARAM)lpRectInfo) +#define MonthCal_GetMonthDelta(hwnd) SendMessage(hwnd,MCM_GETMONTHDELTA,0,0) +#define MonthCal_GetMonthRange(hwnd,flag,systimearray) SendMessage(hwnd,MCM_GETMONTHRANGE,(WPARAM)flag,(LPARAM)systimearray) +#define MonthCal_GetRange(hwnd,systimearray) SendMessage(hwnd,MCM_GETRANGE,0,(LPARAM)systimearray) +#define MonthCal_GetSelRange(hwnd,systimearray) SendMessage(hwnd,MCM_GETSELRANGE,0,(LPARAM)systimearray) +#define MonthCal_GetToday(hwnd,systime) SendMessage(hwnd,MCM_GETTODAY,0,(LPARAM)systime) +#define MonthCal_GetUnicodeFormat(hwnd) SendMessage(hwnd,MCM_GETUNICODEFORMAT,0,0) +#define MonthCal_HitTest(hwnd,pmchittest) SendMessage(hwnd,MCM_HITTEST,0,(LPARAM)pmchittest) +#define MonthCal_SetColor(hwnd,icolor,clr) SendMessage(hwnd,MCM_SETCOLOR,(WPARAM)icolor,(LPARAM)clr) +#define MonthCal_SetCurSel(hwnd,lpsystime) SendMessage(hwnd,MCM_SETCURSEL,0,(LPARAM)lpsystime) +#define MonthCal_SetDayState(hwnd,imonths,lpdatestatearray) SendMessage(hwnd,MCM_SETDAYSTATE,(WPARAM)imonths,(LPARAM)lpdatestatearray) +#define MonthCal_SetFirstDayOfWeek(hwnd,iday) SendMessage(hwnd,MCM_SETFIRSTDAYOFWEEK,0,(LPARAM)iday) +#define MonthCal_SetMaxSelCount(hwnd,imax) SendMessage(hwnd,MCM_SETMAXSELCOUNT,(WPARAM)imax,0) +#define MonthCal_SetMonthDelta(hwnd,idelta) SendMessage(hwnd,MCM_SETMONTHDELTA,(WPARAM)idelta,0) +#define MonthCal_SetRange(hwnd,whichlimit,systimearray) SendMessage(hwnd,MCM_SETRANGE,whichlimit,systimearray) +#define MonthCal_SetSelRange(hwnd,systimearray) SendMessage(hwnd,MCM_SETSELRANGE,0,(LPARAM)systimearray) +#define MonthCal_SetToday(hwnd,systime) SendMessage(hwnd,MCM_SETTODAY,0,(LPARAM)systime) +#define MonthCal_SetUnicodeFormat(hwnd,unicode) SendMessage(hwnd,MCM_SETUNICODEFORMAT,(WPARAM)unicode,0) +BOOL WINAPI ShowHideMenuCtl(HWND,UINT,PINT); +#define TabCtrl_GetItem(w,i,p) (BOOL)SendMessage((w),TCM_GETITEM,i,(LPARAM)(TC_ITEM*)(p)) +#define TabCtrl_SetItem(w,i,p) (BOOL)SendMessage((w),TCM_SETITEM,i,(LPARAM)(TC_ITEM*)(p)) +#define TabCtrl_InsertItem(w,i,p) (int)SendMessage((w),TCM_INSERTITEM,i,(LPARAM)(const TC_ITEM*)(p)) +#define TabCtrl_DeleteItem(w,i) (BOOL)SendMessage((w),TCM_DELETEITEM,i,0) +#define TabCtrl_DeleteAllItems(w) (BOOL)SendMessage((w),TCM_DELETEALLITEMS,0,0) +#define TabCtrl_GetItemRect(w,i,p) (BOOL)SendMessage((w),TCM_GETITEMRECT,i,(LPARAM)(LPRECT)(p)) +#define TabCtrl_GetCurSel(w) (int)SendMessage((w),TCM_GETCURSEL,0,0) +#define TabCtrl_SetCurSel(w,i) (int)SendMessage((w),TCM_SETCURSEL,i,0) +#define TabCtrl_HitTest(w,p) (int)SendMessage((w),TCM_HITTEST,0,(LPARAM)(TC_HITTESTINFO*)(p)) +#define TabCtrl_SetItemExtra(w,c) (BOOL)SendMessage((w),TCM_SETITEMEXTRA,c,0) +#define TabCtrl_AdjustRect(w,b,p) (int)SendMessage((w),TCM_ADJUSTRECT,b,(LPARAM)(LPRECT)p) +#define TabCtrl_SetItemSize(w,x,y) (DWORD)SendMessage((w),TCM_SETITEMSIZE,0,MAKELPARAM(x,y)) +#define TabCtrl_RemoveImage(w,i) (void)SendMessage((w),TCM_REMOVEIMAGE,i,0) +#define TabCtrl_SetPadding(w,x,y) (void)SendMessage((w),TCM_SETPADDING,0,MAKELPARAM(x,y)) +#define TabCtrl_GetRowCount(w) (int)SendMessage((w),TCM_GETROWCOUNT,0,0) +#define TabCtrl_GetToolTips(w) (HWND)SendMessage((w),TCM_GETTOOLTIPS,0,0) +#define TabCtrl_SetToolTips(w,t) (void)SendMessage((w),TCM_SETTOOLTIPS,(WPARAM)t,0) +#define TabCtrl_GetCurFocus(w) (int)SendMessage((w),TCM_GETCURFOCUS,0,0) +#define TabCtrl_SetCurFocus(w,i) (void)SendMessage((w),TCM_SETCURFOCUS,i,0) +#define TabCtrl_SetImageList(w,h) (HIMAGELIST)SendMessage((w),TCM_SETIMAGELIST,0,(LPARAM)(UINT)(h)) +#define TabCtrl_GetItemCount(w) (int)SendMessage((w),TCM_GETITEMCOUNT,0,0) +BOOL WINAPI _TrackMouseEvent(LPTRACKMOUSEEVENT); +#define TreeView_InsertItem(w,i) (HTREEITEM)SendMessage((w),TVM_INSERTITEM,0,(LPARAM)(LPTV_INSERTSTRUCT)(i)) +#define TreeView_DeleteItem(w,i) (BOOL)SendMessage((w),TVM_DELETEITEM,0,(LPARAM)(HTREEITEM)(i)) +#define TreeView_DeleteAllItems(w) (BOOL)SendMessage((w),TVM_DELETEITEM,0,(LPARAM)TVI_ROOT) +#define TreeView_Expand(w,i,c) (BOOL)SendMessage((w),TVM_EXPAND,c,(LPARAM)(HTREEITEM)(i)) +#define TreeView_GetItemRect(w,i,p,c) (*(HTREEITEM*)p=(i),(BOOL)SendMessage((w),TVM_GETITEMRECT,c,(LPARAM)(LPRECT)(p))) +#define TreeView_GetCount(w) (UINT)SendMessage((w),TVM_GETCOUNT,0,0) +#define TreeView_GetIndent(w) (UINT)SendMessage((w),TVM_GETINDENT,0,0) +#define TreeView_SetIndent(w,i) (BOOL)SendMessage((w),TVM_SETINDENT,indent,0) +#define TreeView_GetImageList(w,i) (HIMAGELIST)SendMessage((w),TVM_GETIMAGELIST,i,0) +#define TreeView_SetImageList(w,h,i) (HIMAGELIST)SendMessage((w),TVM_SETIMAGELIST,i,(LPARAM)(HIMAGELIST)(h)) +#define TreeView_GetNextItem(w,i,c) (HTREEITEM)SendMessage((w),TVM_GETNEXTITEM,c,(LPARAM)(HTREEITEM)(i)) +#define TreeView_GetChild(w,i) TreeView_GetNextItem(w,i,TVGN_CHILD) +#define TreeView_GetNextSibling(w,i) TreeView_GetNextItem(w,i,TVGN_NEXT) +#define TreeView_GetPrevSibling(w,i) TreeView_GetNextItem(w,i,TVGN_PREVIOUS) +#define TreeView_GetParent(w,i) TreeView_GetNextItem(w,i,TVGN_PARENT) +#define TreeView_GetFirstVisible(w) TreeView_GetNextItem(w,NULL,TVGN_FIRSTVISIBLE) +#define TreeView_GetNextVisible(w,i) TreeView_GetNextItem(w,i,TVGN_NEXTVISIBLE) +#define TreeView_GetPrevVisible(w,i) TreeView_GetNextItem(w,i,TVGN_PREVIOUSVISIBLE) +#define TreeView_GetSelection(w) TreeView_GetNextItem(w,NULL,TVGN_CARET) +#define TreeView_GetDropHilight(w) TreeView_GetNextItem(w,NULL,TVGN_DROPHILITE) +#define TreeView_GetRoot(w) TreeView_GetNextItem(w,NULL,TVGN_ROOT) +#define TreeView_Select(w,i,c) (HTREEITEM)SendMessage((w),TVM_SELECTITEM,c,(LPARAM)(HTREEITEM)(i)) +#define TreeView_SelectItem(w,i) TreeView_Select(w,i,TVGN_CARET) +#define TreeView_SelectDropTarget(w,i) TreeView_Select(w,i,TVGN_DROPHILITE) +#define TreeView_SelectSetFirstVisible(w,i) TreeView_Select(w,i,TVGN_FIRSTVISIBLE) +#define TreeView_GetItem(w,i) (BOOL)SendMessage((w),TVM_GETITEM,0,(LPARAM)(TV_ITEM*)(i)) +#define TreeView_SetItem(w,i) (BOOL)SendMessage((w),TVM_SETITEM,0,(LPARAM)(const TV_ITEM*)(i)) +#define TreeView_EditLabel(w,i) (HWND)SendMessage((w),TVM_EDITLABEL,0,(LPARAM)(HTREEITEM)(i)) +#define TreeView_GetEditControl(w) (HWND)SendMessage((w),TVM_GETEDITCONTROL,0,0) +#define TreeView_GetVisibleCount(w) (UINT)SendMessage((w),TVM_GETVISIBLECOUNT,0,0) +#define TreeView_HitTest(w,p) (HTREEITEM)SendMessage((w),TVM_HITTEST,0,(LPARAM)(LPTV_HITTESTINFO)(p)) +#define TreeView_CreateDragImage(w,i) (HIMAGELIST)SendMessage((w),TVM_CREATEDRAGIMAGE,0,(LPARAM)(HTREEITEM)(i)) +#define TreeView_SortChildren(w,i,r) (BOOL)SendMessage((w),TVM_SORTCHILDREN,r,(LPARAM)(HTREEITEM)(i)) +#define TreeView_EnsureVisible(w,i) (BOOL)SendMessage((w),TVM_ENSUREVISIBLE,0,(LPARAM)(HTREEITEM)(i)) +#define TreeView_SortChildrenCB(w,s,r) (BOOL)SendMessage((w),TVM_SORTCHILDRENCB,r,(LPARAM)(LPTV_SORTCB)(s)) +#define TreeView_EndEditLabelNow(w,f) (BOOL)SendMessage((w),TVM_ENDEDITLABELNOW,f,0) +#define TreeView_GetISearchString(w,s) (BOOL)SendMessage((w),TVM_GETISEARCHSTRING,0,(LPARAM)s) + +#if (_WIN32_IE >= 0x0300) +WINBOOL WINAPI ImageList_SetImageCount(HIMAGELIST,UINT); +WINBOOL WINAPI ImageList_Copy(HIMAGELIST,int,HIMAGELIST,int,UINT); +WINBOOL WINAPI ImageList_DrawIndirect(IMAGELISTDRAWPARAMS*); +#define TabCtrl_SetMinTabWidth(hwnd, x) SendMessage((hwnd), TCM_SETMINTABWIDTH, 0, x) +#define TabCtrl_DeselectAll(hwnd, fExcludeFocus) SendMessage((hwnd), TCM_DESELECTALL, fExcludeFocus, 0) +#endif +#if (_WIN32_IE >= 0x0400) +#define TabCtrl_HighlightItem(hwnd, i, fHighlight) SendMessage((hwnd), TCM_HIGHLIGHTITEM, (WPARAM)i, (LPARAM)MAKELONG (fHighlight, 0)) +#define TabCtrl_SetExtendedStyle(hwnd, dw) SendMessage((hwnd), TCM_SETEXTENDEDSTYLE, 0, dw) +#define TabCtrl_GetExtendedStyle(hwnd) SendMessage((hwnd), TCM_GETEXTENDEDSTYLE, 0, 0) +#define TabCtrl_SetUnicodeFormat(hwnd, fUnicode) SendMessage((hwnd), TCM_SETUNICODEFORMAT, (WPARAM)(fUnicode), 0) +#define TabCtrl_GetUnicodeFormat(hwnd) SendMessage((hwnd), TCM_GETUNICODEFORMAT, 0, 0) +#endif + +#ifdef UNICODE +#define ANIMATE_CLASS ANIMATE_CLASSW +#define HOTKEY_CLASS HOTKEY_CLASSW +#define PROGRESS_CLASS PROGRESS_CLASSW +#define STATUSCLASSNAME STATUSCLASSNAMEW +#define TOOLBARCLASSNAME TOOLBARCLASSNAMEW +#define TOOLTIPS_CLASS TOOLTIPS_CLASSW +#define TRACKBAR_CLASS TRACKBAR_CLASSW +#define UPDOWN_CLASS UPDOWN_CLASSW +#define WC_HEADER WC_HEADERW +#define WC_LISTVIEW WC_LISTVIEWW +#define WC_TABCONTROL WC_TABCONTROLW +#define WC_TREEVIEW WC_TREEVIEWW +typedef HD_ITEMW HD_ITEM; +typedef TOOLINFOW TOOLINFO,*PTOOLINFO,*LPTOOLINFO; +typedef TTHITTESTINFOW TTHITTESTINFO,*LPHITTESTINFO; +typedef TOOLTIPTEXTW TOOLTIPTEXT,*LPTOOLTIPTEXT; +typedef TV_ITEMW TV_ITEM,*LPTV_ITEM; +typedef TV_INSERTSTRUCTW TV_INSERTSTRUCT,*LPTV_INSERTSTRUCT; +typedef NM_TREEVIEWW NM_TREEVIEW,*LPNM_TREEVIEW; +#define ACM_OPEN ACM_OPENW +#define SB_GETTEXT SB_GETTEXTW +#define SB_SETTEXT SB_SETTEXTW +#define SB_GETTEXTLENGTH SB_GETTEXTLENGTHW +#define STATUSCLASSNAME STATUSCLASSNAMEW +#define WC_HEADER WC_HEADERW +#define HDM_INSERTITEM HDM_INSERTITEMW +#define HDM_GETITEM HDM_GETITEMW +#define HDM_SETITEM HDM_SETITEMW +#define HDN_ITEMCHANGING HDN_ITEMCHANGINGW +#define HDN_ITEMCHANGED HDN_ITEMCHANGEDW +#define HDN_ITEMCLICK HDN_ITEMCLICKW +#define HDN_ITEMDBLCLICK HDN_ITEMDBLCLICKW +#define HDN_DIVIDERDBLCLICK HDN_DIVIDERDBLCLICKW +#define HDN_BEGINTRACK HDN_BEGINTRACKW +#define HDN_ENDTRACK HDN_ENDTRACKW +#define HDN_TRACK HDN_TRACKW +#define HD_NOTIFY HD_NOTIFYW +#define TOOLBARCLASSNAME TOOLBARCLASSNAMEW +#define TBSAVEPARAMS TBSAVEPARAMSW +#define TB_GETBUTTONTEXT TB_GETBUTTONTEXTW +#define TB_SAVERESTORE TB_SAVERESTOREW +#define TB_ADDSTRING TB_ADDSTRINGW +#define TBN_GETBUTTONINFO TBN_GETBUTTONINFOW +#define TBNOTIFY TBNOTIFYW +#define LPTBNOTIFY LPTBNOTIFYW +#define TOOLTIPS_CLASS TOOLTIPS_CLASSW +#define TTM_ADDTOOL TTM_ADDTOOLW +#define TTM_DELTOOL TTM_DELTOOLW +#define TTM_NEWTOOLRECT TTM_NEWTOOLRECTW +#define TTM_GETTOOLINFO TTM_GETTOOLINFOW +#define TTM_SETTOOLINFO TTM_SETTOOLINFOW +#define TTM_HITTEST TTM_HITTESTW +#define TTM_GETTEXT TTM_GETTEXTW +#define TTM_UPDATETIPTEXT TTM_UPDATETIPTEXTW +#define TTM_ENUMTOOLS TTM_ENUMTOOLSW +#define TTM_GETCURRENTTOOL TTM_GETCURRENTTOOLW +#define TTN_NEEDTEXT TTN_NEEDTEXTW +#define SB_GETTEXT SB_GETTEXTW +#define SB_SETTEXT SB_SETTEXTW +#define SB_GETTEXTLENGTH SB_GETTEXTLENGTHW +#define TRACKBAR_CLASS TRACKBAR_CLASSW +#define UPDOWN_CLASS UPDOWN_CLASSW +#define PROGRESS_CLASS PROGRESS_CLASSW +#define HOTKEY_CLASS HOTKEY_CLASSW +#define WC_LISTVIEW WC_LISTVIEWW +#define LV_ITEM LV_ITEMW +#define LPSTR_TEXTCALLBACK LPSTR_TEXTCALLBACKW +#define LVM_GETITEM LVM_GETITEMW +#define LVM_SETITEM LVM_SETITEMW +#define LVM_INSERTITEM LVM_INSERTITEMW +#define LV_FINDINFO LV_FINDINFOW +#define LVM_FINDITEM LVM_FINDITEMW +#define LVM_GETSTRINGWIDTH LVM_GETSTRINGWIDTHW +#define LVM_EDITLABEL LVM_EDITLABELW +#define LV_COLUMN LV_COLUMNW +#define LVM_GETCOLUMN LVM_GETCOLUMNW +#define LVM_SETCOLUMN LVM_SETCOLUMNW +#define LVM_INSERTCOLUMN LVM_INSERTCOLUMNW +#define LVM_GETITEMTEXT LVM_GETITEMTEXTW +#define LVM_SETITEMTEXT LVM_SETITEMTEXTW +#define LVM_GETISEARCHSTRING LVM_GETISEARCHSTRINGW +#define LVN_BEGINLABELEDIT LVN_BEGINLABELEDITW +#define LVN_ENDLABELEDIT LVN_ENDLABELEDITW +#define LVN_GETDISPINFO LVN_GETDISPINFOW +#define LVN_SETDISPINFO LVN_SETDISPINFOW +#define LV_DISPINFO LV_DISPINFOW +#define WC_TREEVIEW WC_TREEVIEWW +#define TVM_INSERTITEM TVM_INSERTITEMW +#define TVM_GETITEM TVM_GETITEMW +#define TVM_SETITEM TVM_SETITEMW +#define TVM_EDITLABEL TVM_EDITLABELW +#define TVM_GETISEARCHSTRING TVM_GETISEARCHSTRINGW +#define TV_DISPINFO TV_DISPINFOW +#define TVN_SELCHANGING TVN_SELCHANGINGW +#define TVN_SELCHANGED TVN_SELCHANGEDW +#define TVN_GETDISPINFO TVN_GETDISPINFOW +#define TVN_SETDISPINFO TVN_SETDISPINFOW +#define TVN_ITEMEXPANDING TVN_ITEMEXPANDINGW +#define TVN_ITEMEXPANDED TVN_ITEMEXPANDEDW +#define TVN_BEGINDRAG TVN_BEGINDRAGW +#define TVN_BEGINRDRAG TVN_BEGINRDRAGW +#define TVN_DELETEITEM TVN_DELETEITEMW +#define TVN_BEGINLABELEDIT TVN_BEGINLABELEDITW +#define TVN_ENDLABELEDIT TVN_ENDLABELEDITW +#define WC_TABCONTROL WC_TABCONTROLW +#define TC_ITEMHEADER TC_ITEMHEADERW +#define TC_ITEM TC_ITEMW +#define TCM_GETITEM TCM_GETITEMW +#define TCM_SETITEM TCM_SETITEMW +#define TCM_INSERTITEM TCM_INSERTITEMW +#define CreateStatusWindow CreateStatusWindowW +#define DrawStatusText DrawStatusTextW +#define ImageList_LoadImage ImageList_LoadImageW +#define DTM_SETFORMAT DTM_SETFORMATW +#define DTN_USERSTRING DTN_USERSTRINGW +#define DTN_WMKEYDOWN DTN_WMKEYDOWNW +#define DTN_FORMAT DTN_FORMATW +#define DTN_FORMATQUERY DTN_FORMATQUERYW +#define DATETIMEPICK_CLASS DATETIMEPICK_CLASSW +#define MONTHCAL_CLASS MONTHCAL_CLASSW +#define REBARCLASSNAME REBARCLASSNAMEW +typedef REBARBANDINFOW REBARBANDINFO,*LPREBARBANDINFO; +#define LPCREBARBANDINFO LPCREBARBANDINFOW +#define REBARBANDINFO_V3_SIZE REBARBANDINFOW_V3_SIZE +#define RB_INSERTBAND RB_INSERTBANDW +#define RB_SETBANDINFO RB_SETBANDINFOW +#else +#define ANIMATE_CLASS ANIMATE_CLASSA +#define HOTKEY_CLASS HOTKEY_CLASSA +#define PROGRESS_CLASS PROGRESS_CLASSA +#define STATUSCLASSNAME STATUSCLASSNAMEA +#define TOOLBARCLASSNAME TOOLBARCLASSNAMEA +#define TOOLTIPS_CLASS TOOLTIPS_CLASSA +#define TRACKBAR_CLASS TRACKBAR_CLASSA +#define UPDOWN_CLASS UPDOWN_CLASSA +#define WC_HEADER WC_HEADERA +#define WC_LISTVIEW WC_LISTVIEWA +#define WC_TABCONTROL WC_TABCONTROLA +#define WC_TREEVIEW WC_TREEVIEWA +typedef HD_ITEMA HD_ITEM; +typedef TOOLINFOA TOOLINFO,*PTOOLINFO,*LPTOOLINFO; +typedef TTHITTESTINFOA TTHITTESTINFO,*LPHITTESTINFO; +typedef TOOLTIPTEXTA TOOLTIPTEXT,*LPTOOLTIPTEXT; +typedef TV_ITEMA TV_ITEM,*LPTV_ITEM; +typedef TV_INSERTSTRUCTA TV_INSERTSTRUCT,*LPTV_INSERTSTRUCT; +typedef NM_TREEVIEWA NM_TREEVIEW,*LPNM_TREEVIEW; +#define ACM_OPEN ACM_OPENA +#define SB_GETTEXT SB_GETTEXTA +#define SB_SETTEXT SB_SETTEXTA +#define SB_GETTEXTLENGTH SB_GETTEXTLENGTHA +#define HDM_INSERTITEM HDM_INSERTITEMA +#define HDM_GETITEM HDM_GETITEMA +#define HDM_SETITEM HDM_SETITEMA +#define HDN_ITEMCHANGING HDN_ITEMCHANGINGA +#define HDN_ITEMCHANGED HDN_ITEMCHANGEDA +#define HDN_ITEMCLICK HDN_ITEMCLICKA +#define HDN_ITEMDBLCLICK HDN_ITEMDBLCLICKA +#define HDN_DIVIDERDBLCLICK HDN_DIVIDERDBLCLICKA +#define HDN_BEGINTRACK HDN_BEGINTRACKA +#define HDN_ENDTRACK HDN_ENDTRACKA +#define HDN_TRACK HDN_TRACKA +#define HD_NOTIFY HD_NOTIFYA +#define TBSAVEPARAMS TBSAVEPARAMSA +#define TB_GETBUTTONTEXT TB_GETBUTTONTEXTA +#define TB_SAVERESTORE TB_SAVERESTOREA +#define TB_ADDSTRING TB_ADDSTRINGA +#define TBN_GETBUTTONINFO TBN_GETBUTTONINFOA +#define TBNOTIFY TBNOTIFYA +#define LPTBNOTIFY LPTBNOTIFYA +#define TTM_ADDTOOL TTM_ADDTOOLA +#define TTM_DELTOOL TTM_DELTOOLA +#define TTM_NEWTOOLRECT TTM_NEWTOOLRECTA +#define TTM_GETTOOLINFO TTM_GETTOOLINFOA +#define TTM_SETTOOLINFO TTM_SETTOOLINFOA +#define TTM_HITTEST TTM_HITTESTA +#define TTM_GETTEXT TTM_GETTEXTA +#define TTM_UPDATETIPTEXT TTM_UPDATETIPTEXTA +#define TTM_ENUMTOOLS TTM_ENUMTOOLSA +#define TTM_GETCURRENTTOOL TTM_GETCURRENTTOOLA +#define TTN_NEEDTEXT TTN_NEEDTEXTA +#define SB_GETTEXT SB_GETTEXTA +#define SB_SETTEXT SB_SETTEXTA +#define SB_GETTEXTLENGTH SB_GETTEXTLENGTHA +#define LV_ITEM LV_ITEMA +#define LPSTR_TEXTCALLBACK LPSTR_TEXTCALLBACKA +#define LVM_GETITEM LVM_GETITEMA +#define LVM_SETITEM LVM_SETITEMA +#define LVM_INSERTITEM LVM_INSERTITEMA +#define LV_FINDINFO LV_FINDINFOA +#define LVM_FINDITEM LVM_FINDITEMA +#define LVM_GETSTRINGWIDTH LVM_GETSTRINGWIDTHA +#define LVM_EDITLABEL LVM_EDITLABELA +#define LV_COLUMN LV_COLUMNA +#define LVM_GETCOLUMN LVM_GETCOLUMNA +#define LVM_SETCOLUMN LVM_SETCOLUMNA +#define LVM_INSERTCOLUMN LVM_INSERTCOLUMNA +#define LVM_GETITEMTEXT LVM_GETITEMTEXTA +#define LVM_SETITEMTEXT LVM_SETITEMTEXTA +#define LVM_GETISEARCHSTRING LVM_GETISEARCHSTRINGA +#define LVN_BEGINLABELEDIT LVN_BEGINLABELEDITA +#define LVN_ENDLABELEDIT LVN_ENDLABELEDITA +#define LVN_GETDISPINFO LVN_GETDISPINFOA +#define LVN_SETDISPINFO LVN_SETDISPINFOA +#define LV_DISPINFO LV_DISPINFOA +#define TVM_INSERTITEM TVM_INSERTITEMA +#define TVM_GETITEM TVM_GETITEMA +#define TVM_SETITEM TVM_SETITEMA +#define TVM_EDITLABEL TVM_EDITLABELA +#define TVM_GETISEARCHSTRING TVM_GETISEARCHSTRINGA +#define TV_DISPINFO TV_DISPINFOA +#define TVN_SELCHANGING TVN_SELCHANGINGA +#define TVN_SELCHANGED TVN_SELCHANGEDA +#define TVN_GETDISPINFO TVN_GETDISPINFOA +#define TVN_SETDISPINFO TVN_SETDISPINFOA +#define TVN_ITEMEXPANDING TVN_ITEMEXPANDINGA +#define TVN_ITEMEXPANDED TVN_ITEMEXPANDEDA +#define TVN_BEGINDRAG TVN_BEGINDRAGA +#define TVN_BEGINRDRAG TVN_BEGINRDRAGA +#define TVN_DELETEITEM TVN_DELETEITEMA +#define TVN_BEGINLABELEDIT TVN_BEGINLABELEDITA +#define TVN_ENDLABELEDIT TVN_ENDLABELEDITA +#define TC_ITEMHEADER TC_ITEMHEADERA +#define TC_ITEM TC_ITEMA +#define TCM_GETITEM TCM_GETITEMA +#define TCM_SETITEM TCM_SETITEMA +#define TCM_INSERTITEM TCM_INSERTITEMA +#define CreateStatusWindow CreateStatusWindowA +#define DrawStatusText DrawStatusTextA +#define ImageList_LoadImage ImageList_LoadImageA +#define DTM_SETFORMAT DTM_SETFORMATA +#define DTN_USERSTRING DTN_USERSTRINGA +#define DTN_WMKEYDOWN DTN_WMKEYDOWNA +#define DTN_FORMAT DTN_FORMATA +#define DTN_FORMATQUERY DTN_FORMATQUERYA +#define DATETIMEPICK_CLASS DATETIMEPICK_CLASSA +#define MONTHCAL_CLASS MONTHCAL_CLASSA +#define REBARCLASSNAME REBARCLASSNAMEA +typedef REBARBANDINFOA REBARBANDINFO,*LPREBARBANDINFO; +#define LPCREBARBANDINFO LPCREBARBANDINFOA +#define REBARBANDINFO_V3_SIZE REBARBANDINFOA_V3_SIZE +#define RB_INSERTBAND RB_INSERTBANDA +#define RB_SETBANDINFO RB_SETBANDINFOA +#endif +#endif + +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/commdlg.h b/winsup/w32api/include/commdlg.h new file mode 100644 index 000000000..4d56ec225 --- /dev/null +++ b/winsup/w32api/include/commdlg.h @@ -0,0 +1,503 @@ +#ifndef _COMMDLG_H +#define _COMMDLG_H +#ifdef __cplusplus +extern "C" { +#endif +#pragma pack(push,1) + +#define LBSELCHSTRINGA "commdlg_LBSelChangedNotify" +#define SHAREVISTRINGA "commdlg_ShareViolation" +#define FILEOKSTRINGA "commdlg_FileNameOK" +#define COLOROKSTRINGA "commdlg_ColorOK" +#define SETRGBSTRINGA "commdlg_SetRGBColor" +#define HELPMSGSTRINGA "commdlg_help" +#define FINDMSGSTRINGA "commdlg_FindReplace" +#define LBSELCHSTRINGW L"commdlg_LBSelChangedNotify" +#define SHAREVISTRINGW L"commdlg_ShareViolation" +#define FILEOKSTRINGW L"commdlg_FileNameOK" +#define COLOROKSTRINGW L"commdlg_ColorOK" +#define SETRGBSTRINGW L"commdlg_SetRGBColor" +#define HELPMSGSTRINGW L"commdlg_help" +#define FINDMSGSTRINGW L"commdlg_FindReplace" +#define CDN_FIRST (-601) +#define CDN_LAST (-699) +#define CDN_INITDONE CDN_FIRST +#define CDN_SELCHANGE (CDN_FIRST-1) +#define CDN_FOLDERCHANGE (CDN_FIRST-2) +#define CDN_SHAREVIOLATION (CDN_FIRST-3) +#define CDN_HELP (CDN_FIRST-4) +#define CDN_FILEOK (CDN_FIRST-5) +#define CDN_TYPECHANGE (CDN_FIRST-6) +#define CDM_FIRST (WM_USER+100) +#define CDM_LAST (WM_USER+200) +#define CDM_GETSPEC CDM_FIRST +#define CDM_GETFILEPATH (CDM_FIRST+1) +#define CDM_GETFOLDERPATH (CDM_FIRST+2) +#define CDM_GETFOLDERIDLIST (CDM_FIRST+3) +#define CDM_SETCONTROLTEXT (CDM_FIRST+4) +#define CDM_HIDECONTROL (CDM_FIRST+5) +#define CDM_SETDEFEXT (CDM_FIRST+6) +#define CC_RGBINIT 1 +#define CC_FULLOPEN 2 +#define CC_PREVENTFULLOPEN 4 +#define CC_SHOWHELP 8 +#define CC_ENABLEHOOK 16 +#define CC_ENABLETEMPLATE 32 +#define CC_ENABLETEMPLATEHANDLE 64 +#define CC_SOLIDCOLOR 128 +#define CC_ANYCOLOR 256 +#define CF_SCREENFONTS 1 +#define CF_PRINTERFONTS 2 +#define CF_BOTH 3 +#define CF_SHOWHELP 4 +#define CF_ENABLEHOOK 8 +#define CF_ENABLETEMPLATE 16 +#define CF_ENABLETEMPLATEHANDLE 32 +#define CF_INITTOLOGFONTSTRUCT 64 +#define CF_USESTYLE 128 +#define CF_EFFECTS 256 +#define CF_APPLY 512 +#define CF_ANSIONLY 1024 +#define CF_SCRIPTSONLY CF_ANSIONLY +#define CF_NOVECTORFONTS 2048 +#define CF_NOOEMFONTS 2048 +#define CF_NOSIMULATIONS 4096 +#define CF_LIMITSIZE 8192 +#define CF_FIXEDPITCHONLY 16384 +#define CF_WYSIWYG 32768 +#define CF_FORCEFONTEXIST 65536 +#define CF_SCALABLEONLY 131072 +#define CF_TTONLY 262144 +#define CF_NOFACESEL 524288 +#define CF_NOSTYLESEL 1048576 +#define CF_NOSIZESEL 2097152 +#define CF_SELECTSCRIPT 4194304 +#define CF_NOSCRIPTSEL 8388608 +#define CF_NOVERTFONTS 0x1000000 +#define SIMULATED_FONTTYPE 0x8000 +#define PRINTER_FONTTYPE 0x4000 +#define SCREEN_FONTTYPE 0x2000 +#define BOLD_FONTTYPE 0x100 +#define ITALIC_FONTTYPE 0x0200 +#define REGULAR_FONTTYPE 0x0400 +#define WM_CHOOSEFONT_GETLOGFONT (WM_USER+1) +#define WM_CHOOSEFONT_SETLOGFONT (WM_USER+101) +#define WM_CHOOSEFONT_SETFLAGS (WM_USER+102) +#define OFN_ALLOWMULTISELECT 512 +#define OFN_CREATEPROMPT 0x2000 +#define OFN_ENABLEHOOK 32 +#define OFN_ENABLETEMPLATE 64 +#define OFN_ENABLETEMPLATEHANDLE 128 +#define OFN_EXPLORER 0x80000 +#define OFN_EXTENSIONDIFFERENT 0x400 +#define OFN_FILEMUSTEXIST 0x1000 +#define OFN_HIDEREADONLY 4 +#define OFN_LONGNAMES 0x200000 +#define OFN_NOCHANGEDIR 8 +#define OFN_NODEREFERENCELINKS 0x100000 +#define OFN_NOLONGNAMES 0x40000 +#define OFN_NONETWORKBUTTON 0x20000 +#define OFN_NOREADONLYRETURN 0x8000 +#define OFN_NOTESTFILECREATE 0x10000 +#define OFN_NOVALIDATE 256 +#define OFN_OVERWRITEPROMPT 2 +#define OFN_PATHMUSTEXIST 0x800 +#define OFN_READONLY 1 +#define OFN_SHAREAWARE 0x4000 +#define OFN_SHOWHELP 16 +#define OFN_SHAREFALLTHROUGH 2 +#define OFN_SHARENOWARN 1 +#define OFN_SHAREWARN 0 +#define OFN_NODEREFERENCELINKS 0x100000 +#define FR_DIALOGTERM 64 +#define FR_DOWN 1 +#define FR_ENABLEHOOK 256 +#define FR_ENABLETEMPLATE 512 +#define FR_ENABLETEMPLATEHANDLE 0x2000 +#define FR_FINDNEXT 8 +#define FR_HIDEUPDOWN 0x4000 +#define FR_HIDEMATCHCASE 0x8000 +#define FR_HIDEWHOLEWORD 0x10000 +#define FR_MATCHCASE 4 +#define FR_NOMATCHCASE 0x800 +#define FR_NOUPDOWN 0x400 +#define FR_NOWHOLEWORD 4096 +#define FR_REPLACE 16 +#define FR_REPLACEALL 32 +#define FR_SHOWHELP 128 +#define FR_WHOLEWORD 2 +#define PD_ALLPAGES 0 +#define PD_SELECTION 1 +#define PD_PAGENUMS 2 +#define PD_NOSELECTION 4 +#define PD_NOPAGENUMS 8 +#define PD_COLLATE 16 +#define PD_PRINTTOFILE 32 +#define PD_PRINTSETUP 64 +#define PD_NOWARNING 128 +#define PD_RETURNDC 256 +#define PD_RETURNIC 512 +#define PD_RETURNDEFAULT 1024 +#define PD_SHOWHELP 2048 +#define PD_ENABLEPRINTHOOK 4096 +#define PD_ENABLESETUPHOOK 8192 +#define PD_ENABLEPRINTTEMPLATE 16384 +#define PD_ENABLESETUPTEMPLATE 32768 +#define PD_ENABLEPRINTTEMPLATEHANDLE 65536 +#define PD_ENABLESETUPTEMPLATEHANDLE 0x20000 +#define PD_USEDEVMODECOPIES 0x40000 +#define PD_USEDEVMODECOPIESANDCOLLATE 0x40000 +#define PD_DISABLEPRINTTOFILE 0x80000 +#define PD_HIDEPRINTTOFILE 0x100000 +#define PD_NONETWORKBUTTON 0x200000 +#define PSD_DEFAULTMINMARGINS 0 +#define PSD_INWININIINTLMEASURE 0 +#define PSD_MINMARGINS 1 +#define PSD_MARGINS 2 +#define PSD_INTHOUSANDTHSOFINCHES 4 +#define PSD_INHUNDREDTHSOFMILLIMETERS 8 +#define PSD_DISABLEMARGINS 16 +#define PSD_DISABLEPRINTER 32 +#define PSD_NOWARNING 128 +#define PSD_DISABLEORIENTATION 256 +#define PSD_DISABLEPAPER 512 +#define PSD_RETURNDEFAULT 1024 +#define PSD_SHOWHELP 2048 +#define PSD_ENABLEPAGESETUPHOOK 8192 +#define PSD_ENABLEPAGESETUPTEMPLATE 0x8000 +#define PSD_ENABLEPAGESETUPTEMPLATEHANDLE 0x20000 +#define PSD_ENABLEPAGEPAINTHOOK 0x40000 +#define PSD_DISABLEPAGEPAINTING 0x80000 +#define WM_PSD_PAGESETUPDLG WM_USER +#define WM_PSD_FULLPAGERECT (WM_USER+1) +#define WM_PSD_MINMARGINRECT (WM_USER+2) +#define WM_PSD_MARGINRECT (WM_USER+3) +#define WM_PSD_GREEKTEXTRECT (WM_USER+4) +#define WM_PSD_ENVSTAMPRECT (WM_USER+5) +#define WM_PSD_YAFULLPAGERECT (WM_USER+6) +#define CD_LBSELNOITEMS (-1) +#define CD_LBSELCHANGE 0 +#define CD_LBSELSUB 1 +#define CD_LBSELADD 2 +#define DN_DEFAULTPRN 1 + +#ifndef SNDMSG +#define SNDMSG SendMessage +#endif + +#define CommDlg_OpenSave_GetSpec(d,s,m) (int)SNDMSG(d,CDM_GETSPEC,m,(LPARAM)s) +#define CommDlg_OpenSave_GetSpecA CommDlg_OpenSave_GetSpec +#define CommDlg_OpenSave_GetSpecW CommDlg_OpenSave_GetSpec +#define CommDlg_OpenSave_GetFilePath(d,s,m) (int)SNDMSG(d,CDM_GETFILEPATH,m,(LPARAM)s) +#define CommDlg_OpenSave_GetFilePathA CommDlg_OpenSave_GetFilePath +#define CommDlg_OpenSave_GetFilePathW CommDlg_OpenSave_GetFilePath +#define CommDlg_OpenSave_GetFolderPath(d,s,m) (int)SendMessage(d,CDM_GETFOLDERPATH,m,(LPARAM)(LPSTR)s) +#define CommDlg_OpenSave_GetFolderPathA CommDlg_OpenSave_GetFolderPath +#define CommDlg_OpenSave_GetFolderPathW CommDlg_OpenSave_GetFolderPath +#define CommDlg_OpenSave_GetFolderIDList(d,i,m) (int)SendMessage(d,CDM_GETFOLDERIDLIST,m,(LPARAM)i) +#define CommDlg_OpenSave_SetControlText(d,i,t) (void)SendMessage(d,CDM_SETCONTROLTEXT,i,(LPARAM)t) +#define CommDlg_OpenSave_HideControl(d,i) (void)SendMessage(d,CDM_HIDECONTROL,i,0) +#define CommDlg_OpenSave_SetDefExt(d,e) (void)SendMessage(d,CDM_SETDEFEXT,0,(LPARAM)e) + +typedef UINT (APIENTRY *__CDHOOKPROC)(HWND,UINT,WPARAM,LPARAM); +typedef __CDHOOKPROC LPCCHOOKPROC; +typedef __CDHOOKPROC LPCFHOOKPROC; +typedef __CDHOOKPROC LPFRHOOKPROC; +typedef __CDHOOKPROC LPOFNHOOKPROC; +typedef __CDHOOKPROC LPPAGEPAINTHOOK; +typedef __CDHOOKPROC LPPAGESETUPHOOK; +typedef __CDHOOKPROC LPSETUPHOOKPROC; +typedef __CDHOOKPROC LPPRINTHOOKPROC; +typedef struct tagCHOOSECOLORA { + DWORD lStructSize; + HWND hwndOwner; + HWND hInstance; + COLORREF rgbResult; + COLORREF* lpCustColors; + DWORD Flags; + LPARAM lCustData; + LPCCHOOKPROC lpfnHook; + LPCSTR lpTemplateName; +} CHOOSECOLORA,*LPCHOOSECOLORA; +typedef struct tagCHOOSECOLORW { + DWORD lStructSize; + HWND hwndOwner; + HWND hInstance; + COLORREF rgbResult; + COLORREF* lpCustColors; + DWORD Flags; + LPARAM lCustData; + LPCCHOOKPROC lpfnHook; + LPCWSTR lpTemplateName; +} CHOOSECOLORW,*LPCHOOSECOLORW; +typedef struct tagCHOOSEFONTA { + DWORD lStructSize; + HWND hwndOwner; + HDC hDC; + LPLOGFONTA lpLogFont; + INT iPointSize; + DWORD Flags; + DWORD rgbColors; + LPARAM lCustData; + LPCFHOOKPROC lpfnHook; + LPCSTR lpTemplateName; + HINSTANCE hInstance; + LPSTR lpszStyle; + WORD nFontType; + WORD ___MISSING_ALIGNMENT__; + INT nSizeMin; + INT nSizeMax; +} CHOOSEFONTA,*LPCHOOSEFONTA; +typedef struct tagCHOOSEFONTW { + DWORD lStructSize; + HWND hwndOwner; + HDC hDC; + LPLOGFONTW lpLogFont; + INT iPointSize; + DWORD Flags; + DWORD rgbColors; + LPARAM lCustData; + LPCFHOOKPROC lpfnHook; + LPCWSTR lpTemplateName; + HINSTANCE hInstance; + LPWSTR lpszStyle; + WORD nFontType; + WORD ___MISSING_ALIGNMENT__; + INT nSizeMin; + INT nSizeMax; +} CHOOSEFONTW,*LPCHOOSEFONTW; +typedef struct tagDEVNAMES { + WORD wDriverOffset; + WORD wDeviceOffset; + WORD wOutputOffset; + WORD wDefault; +} DEVNAMES,*LPDEVNAMES; +typedef struct { + DWORD lStructSize; + HWND hwndOwner; + HINSTANCE hInstance; + DWORD Flags; + LPSTR lpstrFindWhat; + LPSTR lpstrReplaceWith; + WORD wFindWhatLen; + WORD wReplaceWithLen; + LPARAM lCustData; + LPFRHOOKPROC lpfnHook; + LPCSTR lpTemplateName; +} FINDREPLACEA,*LPFINDREPLACEA; +typedef struct { + DWORD lStructSize; + HWND hwndOwner; + HINSTANCE hInstance; + DWORD Flags; + LPWSTR lpstrFindWhat; + LPWSTR lpstrReplaceWith; + WORD wFindWhatLen; + WORD wReplaceWithLen; + LPARAM lCustData; + LPFRHOOKPROC lpfnHook; + LPCWSTR lpTemplateName; +} FINDREPLACEW,*LPFINDREPLACEW; +typedef struct tagOFNA { + DWORD lStructSize; + HWND hwndOwner; + HINSTANCE hInstance; + LPCSTR lpstrFilter; + LPSTR lpstrCustomFilter; + DWORD nMaxCustFilter; + DWORD nFilterIndex; + LPSTR lpstrFile; + DWORD nMaxFile; + LPSTR lpstrFileTitle; + DWORD nMaxFileTitle; + LPCSTR lpstrInitialDir; + LPCSTR lpstrTitle; + DWORD Flags; + WORD nFileOffset; + WORD nFileExtension; + LPCSTR lpstrDefExt; + DWORD lCustData; + LPOFNHOOKPROC lpfnHook; + LPCSTR lpTemplateName; +} OPENFILENAMEA,*LPOPENFILENAMEA; +typedef struct tagOFNW { + DWORD lStructSize; + HWND hwndOwner; + HINSTANCE hInstance; + LPCWSTR lpstrFilter; + LPWSTR lpstrCustomFilter; + DWORD nMaxCustFilter; + DWORD nFilterIndex; + LPWSTR lpstrFile; + DWORD nMaxFile; + LPWSTR lpstrFileTitle; + DWORD nMaxFileTitle; + LPCWSTR lpstrInitialDir; + LPCWSTR lpstrTitle; + DWORD Flags; + WORD nFileOffset; + WORD nFileExtension; + LPCWSTR lpstrDefExt; + DWORD lCustData; + LPOFNHOOKPROC lpfnHook; + LPCWSTR lpTemplateName; +} OPENFILENAMEW,*LPOPENFILENAMEW; +typedef struct _OFNOTIFYA { + NMHDR hdr; + LPOPENFILENAMEA lpOFN; + LPSTR pszFile; +} OFNOTIFYA,*LPOFNOTIFYA; +typedef struct _OFNOTIFYW { + NMHDR hdr; + LPOPENFILENAMEW lpOFN; + LPWSTR pszFile; +} OFNOTIFYW,*LPOFNOTIFYW; +typedef struct tagPSDA { + DWORD lStructSize; + HWND hwndOwner; + HGLOBAL hDevMode; + HGLOBAL hDevNames; + DWORD Flags; + POINT ptPaperSize; + RECT rtMinMargin; + RECT rtMargin; + HINSTANCE hInstance; + LPARAM lCustData; + LPPAGESETUPHOOK lpfnPageSetupHook; + LPPAGEPAINTHOOK lpfnPagePaintHook; + LPCSTR lpPageSetupTemplateName; + HGLOBAL hPageSetupTemplate; +} PAGESETUPDLGA,*LPPAGESETUPDLGA; +typedef struct tagPSDW { + DWORD lStructSize; + HWND hwndOwner; + HGLOBAL hDevMode; + HGLOBAL hDevNames; + DWORD Flags; + POINT ptPaperSize; + RECT rtMinMargin; + RECT rtMargin; + HINSTANCE hInstance; + LPARAM lCustData; + LPPAGESETUPHOOK lpfnPageSetupHook; + LPPAGEPAINTHOOK lpfnPagePaintHook; + LPCWSTR lpPageSetupTemplateName; + HGLOBAL hPageSetupTemplate; +} PAGESETUPDLGW,*LPPAGESETUPDLGW; +typedef struct tagPDA { + DWORD lStructSize; + HWND hwndOwner; + HANDLE hDevMode; + HANDLE hDevNames; + HDC hDC; + DWORD Flags; + WORD nFromPage; + WORD nToPage; + WORD nMinPage; + WORD nMaxPage; + WORD nCopies; + HINSTANCE hInstance; + DWORD lCustData; + LPPRINTHOOKPROC lpfnPrintHook; + LPSETUPHOOKPROC lpfnSetupHook; + LPCSTR lpPrintTemplateName; + LPCSTR lpSetupTemplateName; + HANDLE hPrintTemplate; + HANDLE hSetupTemplate; +} PRINTDLGA,*LPPRINTDLGA; +typedef struct tagPDW { + DWORD lStructSize; + HWND hwndOwner; + HANDLE hDevMode; + HANDLE hDevNames; + HDC hDC; + DWORD Flags; + WORD nFromPage; + WORD nToPage; + WORD nMinPage; + WORD nMaxPage; + WORD nCopies; + HINSTANCE hInstance; + DWORD lCustData; + LPPRINTHOOKPROC lpfnPrintHook; + LPSETUPHOOKPROC lpfnSetupHook; + LPCWSTR lpPrintTemplateName; + LPCWSTR lpSetupTemplateName; + HANDLE hPrintTemplate; + HANDLE hSetupTemplate; +} PRINTDLGW,*LPPRINTDLGW; + +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); + +#ifdef UNICODE +#define LBSELCHSTRING LBSELCHSTRINGW +#define SHAREVISTRING SHAREVISTRINGW +#define FILEOKSTRING FILEOKSTRINGW +#define COLOROKSTRING COLOROKSTRINGW +#define SETRGBSTRING SETRGBSTRINGW +#define HELPMSGSTRING HELPMSGSTRINGW +#define FINDMSGSTRING FINDMSGSTRINGW +typedef CHOOSECOLORW CHOOSECOLOR,*LPCHOOSECOLOR; +typedef CHOOSEFONTW CHOOSEFONT,*LPCHOOSEFONT; +typedef FINDREPLACEW FINDREPLACE,*LPFINDREPLACE; +typedef OPENFILENAMEW OPENFILENAME,*LPOPENFILENAME; +typedef OFNOTIFYW OFNOTIFY,*LPOFNOTIFY; +typedef PAGESETUPDLGW PAGESETUPDLG,*LPPAGESETUPDLG; +typedef PRINTDLGW PRINTDLG,*LPPRINTDLG; +#define ChooseColor ChooseColorW +#define ChooseFont ChooseFontW +#define FindText FindTextW +#define GetFileTitle GetFileTitleW +#define GetOpenFileName GetOpenFileNameW +#define GetSaveFileName GetSaveFileNameW +#define PageSetupDlg PageSetupDlgW +#define PrintDlg PrintDlgW +#define ReplaceText ReplaceTextW +#else +#define LBSELCHSTRING LBSELCHSTRINGA +#define SHAREVISTRING SHAREVISTRINGA +#define FILEOKSTRING FILEOKSTRINGA +#define COLOROKSTRING COLOROKSTRINGA +#define SETRGBSTRING SETRGBSTRINGA +#define HELPMSGSTRING HELPMSGSTRINGA +#define FINDMSGSTRING FINDMSGSTRINGA +typedef CHOOSECOLORA CHOOSECOLOR,*LPCHOOSECOLOR; +typedef CHOOSEFONTA CHOOSEFONT,*LPCHOOSEFONT; +typedef FINDREPLACEA FINDREPLACE,*LPFINDREPLACE; +typedef OPENFILENAMEA OPENFILENAME,*LPOPENFILENAME; +typedef OFNOTIFYA OFNOTIFY,*LPOFNOTIFY; +typedef PAGESETUPDLGA PAGESETUPDLG,*LPPAGESETUPDLG; +typedef PRINTDLGA PRINTDLG,*LPPRINTDLG; +#define ChooseColor ChooseColorA +#define ChooseFont ChooseFontA +#define FindText FindTextA +#define GetFileTitle GetFileTitleA +#define GetOpenFileName GetOpenFileNameA +#define GetSaveFileName GetSaveFileNameA +#define PageSetupDlg PageSetupDlgA +#define PrintDlg PrintDlgA +#define ReplaceText ReplaceTextA +#endif +#pragma pack(pop) +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/cpl.h b/winsup/w32api/include/cpl.h new file mode 100644 index 000000000..f5ce29d00 --- /dev/null +++ b/winsup/w32api/include/cpl.h @@ -0,0 +1,54 @@ +#ifndef _CPL_H +#define _CPL_H +#ifdef __cplusplus +extern "C" { +#endif +#define WM_CPL_LAUNCH (WM_USER+1000) +#define WM_CPL_LAUNCHED (WM_USER+1001) +#define CPL_DYNAMIC_RES 0 +#define CPL_INIT 1 +#define CPL_GETCOUNT 2 +#define CPL_INQUIRE 3 +#define CPL_SELECT 4 +#define CPL_DBLCLK 5 +#define CPL_STOP 6 +#define CPL_EXIT 7 +#define CPL_NEWINQUIRE 8 +#define CPL_STARTWPARMS 9 +#define CPL_SETUP 200 +typedef LONG(APIENTRY *APPLET_PROC)(HWND,UINT,LONG,LONG); +typedef struct tagCPLINFO { + int idIcon; + int idName; + int idInfo; + LONG lData; +} CPLINFO,*LPCPLINFO; +typedef struct tagNEWCPLINFOA { + DWORD dwSize; + DWORD dwFlags; + DWORD dwHelpContext; + LONG lData; + HICON hIcon; + CHAR szName[32]; + CHAR szInfo[64]; + CHAR szHelpFile[128]; +} NEWCPLINFOA,*LPNEWCPLINFOA; +typedef struct tagNEWCPLINFOW { + DWORD dwSize; + DWORD dwFlags; + DWORD dwHelpContext; + LONG lData; + HICON hIcon; + WCHAR szName[32]; + WCHAR szInfo[64]; + WCHAR szHelpFile[128]; +} NEWCPLINFOW,*LPNEWCPLINFOW; +#ifdef UNICODE +typedef NEWCPLINFOW NEWCPLINFO,*LPNEWCPLINFO; +#else +typedef NEWCPLINFOA NEWCPLINFO,*LPNEWCPLINFO; +#endif +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/cplext.h b/winsup/w32api/include/cplext.h new file mode 100644 index 000000000..8c2207d16 --- /dev/null +++ b/winsup/w32api/include/cplext.h @@ -0,0 +1,6 @@ +#ifndef _CPLEXT_H +#define _CPLEXT_H +#define CPLPAGE_MOUSE_BUTTONS 1 +#define CPLPAGE_MOUSE_PTRMOTION 2 +#define CPLPAGE_KEYBOARD_SPEED 1 +#endif diff --git a/winsup/w32api/include/custcntl.h b/winsup/w32api/include/custcntl.h new file mode 100644 index 000000000..8c3d463ab --- /dev/null +++ b/winsup/w32api/include/custcntl.h @@ -0,0 +1,98 @@ +#ifndef _CUSTCNTL_H +#define _CUSTCNTL_H +#ifdef __cplusplus +extern "C" { +#endif + +#define CCF_NOTEXT 1 +#define CCHCCCLASS 32 +#define CCHCCDESC 32 +#define CCHCCTEXT 256 + +typedef struct tagCCSTYLEA { + DWORD flStyle; + DWORD flExtStyle; + CHAR szText[CCHCCTEXT]; + LANGID lgid; + WORD wReserved1; +} CCSTYLEA,*LPCCSTYLEA; +typedef struct tagCCSTYLEW { + DWORD flStyle; + DWORD flExtStyle; + WCHAR szText[CCHCCTEXT]; + LANGID lgid; + WORD wReserved1; +} CCSTYLEW,*LPCCSTYLEW; +typedef struct tagCCSTYLEFLAGA { + DWORD flStyle; + DWORD flStyleMask; + LPSTR pszStyle; +} CCSTYLEFLAGA,*LPCCSTYLEFLAGA; +typedef struct tagCCSTYLEFLAGW { + DWORD flStyle; + DWORD flStyleMask; + LPWSTR pszStyle; +} CCSTYLEFLAGW,*LPCCSTYLEFLAGW; +typedef BOOL(CALLBACK* LPFNCCSTYLEA)(HWND,LPCCSTYLEA); +typedef INT(CALLBACK* LPFNCCSIZETOTEXTA)(DWORD,DWORD,HFONT,LPSTR); +typedef struct tagCCINFOA { + CHAR szClass[CCHCCCLASS]; + DWORD flOptions; + CHAR szDesc[CCHCCDESC]; + UINT cxDefault; + UINT cyDefault; + DWORD flStyleDefault; + DWORD flExtStyleDefault; + DWORD flCtrlTypeMask; + CHAR szTextDefault[CCHCCTEXT]; + INT cStyleFlags; + LPCCSTYLEFLAGA aStyleFlags; + LPFNCCSTYLEA lpfnStyle; + LPFNCCSIZETOTEXTA lpfnSizeToText; + DWORD dwReserved1; + DWORD dwReserved2; +} CCINFOA,*LPCCINFOA; +typedef UINT(CALLBACK* LPFNCCINFOA)(LPCCINFOA); +typedef BOOL(CALLBACK* LPFNCCSTYLEW)(HWND,LPCCSTYLEW); +typedef INT (CALLBACK* LPFNCCSIZETOTEXTW)(DWORD,DWORD,HFONT,LPWSTR); +typedef struct tagCCINFOW { + WCHAR szClass[CCHCCCLASS]; + DWORD flOptions; + WCHAR szDesc[CCHCCDESC]; + UINT cxDefault; + UINT cyDefault; + DWORD flStyleDefault; + DWORD flExtStyleDefault; + DWORD flCtrlTypeMask; + WCHAR szTextDefault[CCHCCTEXT]; + INT cStyleFlags; + LPCCSTYLEFLAGW aStyleFlags; + LPFNCCSTYLEW lpfnStyle; + LPFNCCSIZETOTEXTW lpfnSizeToText; + DWORD dwReserved1; + DWORD dwReserved2; +} CCINFOW,*LPCCINFOW; +typedef UINT(CALLBACK* LPFNCCINFOW)(LPCCINFOW); + +UINT CALLBACK CustomControlInfoA(LPCCINFOA acci); +UINT CALLBACK CustomControlInfoW(LPCCINFOW acci); + +#ifdef UNICODE +typedef CCSTYLEW CCSTYLE,*LPCCSTYLE; +typedef CCSTYLEFLAGW CCSTYLEFLAG,*LPCCSTYLEFLAG; +typedef CCINFOW CCINFO,*LPCCINFO; +#define LPFNCCSTYLE LPFNCCSTYLEW +#define LPFNCCSIZETOTEXT LPFNCCSIZETOTEXTW +#define LPFNCCINFO LPFNCCINFOW +#else +typedef CCSTYLEA CCSTYLE,*LPCCSTYLE; +typedef CCSTYLEFLAGA CCSTYLEFLAG,*LPCCSTYLEFLAG; +typedef CCINFOA CCINFO,*LPCCINFO; +#define LPFNCCSTYLE LPFNCCSTYLEA +#define LPFNCCSIZETOTEXT LPFNCCSIZETOTEXTA +#define LPFNCCINFO LPFNCCINFOA +#endif +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/dbt.h b/winsup/w32api/include/dbt.h new file mode 100644 index 000000000..071b0077b --- /dev/null +++ b/winsup/w32api/include/dbt.h @@ -0,0 +1,86 @@ +#ifndef _DBT_H +#define _DBT_H +#ifdef __cplusplus +extern "C" { +#endif +#define DBT_NO_DISK_SPACE 0x47 +#define DBT_CONFIGMGPRIVATE 0x7FFF +#define DBT_DEVICEARRIVAL 0x8000 +#define DBT_DEVICEQUERYREMOVE 0x8001 +#define DBT_DEVICEQUERYREMOVEFAILED 0x8002 +#define DBT_DEVICEREMOVEPENDING 0x8003 +#define DBT_DEVICEREMOVECOMPLETE 0x8004 +#define DBT_DEVICETYPESPECIFIC 0x8005 +#define DBT_DEVTYP_OEM 0 +#define DBT_DEVTYP_DEVNODE 1 +#define DBT_DEVTYP_VOLUME 2 +#define DBT_DEVTYP_PORT 3 +#define DBT_DEVTYP_NET 4 +#define DBT_APPYBEGIN 0 +#define DBT_APPYEND 1 +#define DBT_DEVNODES_CHANGED 7 +#define DBT_QUERYCHANGECONFIG 0x17 +#define DBT_CONFIGCHANGED 0x18 +#define DBT_CONFIGCHANGECANCELED 0x19 +#define DBT_MONITORCHANGE 0x1B +#define DBT_SHELLLOGGEDON 32 +#define DBT_CONFIGMGAPI32 34 +#define DBT_VXDINITCOMPLETE 35 +#define DBT_VOLLOCKQUERYLOCK 0x8041 +#define DBT_VOLLOCKLOCKTAKEN 0x8042 +#define DBT_VOLLOCKLOCKFAILED 0x8043 +#define DBT_VOLLOCKQUERYUNLOCK 0x8044 +#define DBT_VOLLOCKLOCKRELEASED 0x8045 +#define DBT_VOLLOCKUNLOCKFAILED 0x8046 +#define DBT_USERDEFINED 0xFFFF +#define DBTF_MEDIA 1 +#define DBTF_NET 2 +#define BSM_ALLCOMPONENTS 0 +#define BSM_VXDS 1 +#define BSM_NETDRIVER 2 +#define BSM_INSTALLABLEDRIVERS 4 +#define BSM_APPLICATIONS 8 +#define BSF_QUERY 1 +#define BSF_IGNORECURRENTTASK 2 +#define BSF_FLUSHDISK 4 +#define BSF_NOHANG 8 +#define BSF_POSTMESSAGE 16 +#define BSF_FORCEIFHUNG 32 +#define BSF_NOTIMEOUTIFNOTHUNG 64 +#define BSF_MSGSRV32ISOK_BIT 31 +#define BSF_MSGSRV32ISOK 0x80000000 + +typedef struct _DEV_BROADCAST_HDR { + DWORD dbch_size; + DWORD dbch_devicetype; + DWORD dbch_reserved; +} DEV_BROADCAST_HDR,*PDEV_BROADCAST_HDR; +typedef struct _DEV_BROADCAST_OEM { + DWORD dbco_size; + DWORD dbco_devicetype; + DWORD dbco_reserved; + DWORD dbco_identifier; + DWORD dbco_suppfunc; +} DEV_BROADCAST_OEM,*PDEV_BROADCAST_OEM; +typedef struct _DEV_BROADCAST_PORT { + DWORD dbcp_size; + DWORD dbcp_devicetype; + DWORD dbcp_reserved; + char dbcp_name[1]; +} DEV_BROADCAST_PORT,*PDEV_BROADCAST_PORT; +typedef struct _DEV_BROADCAST_USERDEFINED { + struct _DEV_BROADCAST_HDR dbud_dbh; + char dbud_szName[1]; +} DEV_BROADCAST_USERDEFINED; +typedef struct _DEV_BROADCAST_VOLUME { + DWORD dbcv_size; + DWORD dbcv_devicetype; + DWORD dbcv_reserved; + DWORD dbcv_unitmask; + WORD dbcv_flags; +} DEV_BROADCAST_VOLUME,*PDEV_BROADCAST_VOLUME; + +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/dde.h b/winsup/w32api/include/dde.h new file mode 100644 index 000000000..474f12691 --- /dev/null +++ b/winsup/w32api/include/dde.h @@ -0,0 +1,60 @@ +#ifndef _DDE_H +#define _DDE_H +#ifdef __cplusplus +extern "C" { +#endif +#define WM_DDE_FIRST 0x03E0 +#define WM_DDE_INITIATE (WM_DDE_FIRST) +#define WM_DDE_TERMINATE (WM_DDE_FIRST+1) +#define WM_DDE_ADVISE (WM_DDE_FIRST+2) +#define WM_DDE_UNADVISE (WM_DDE_FIRST+3) +#define WM_DDE_ACK (WM_DDE_FIRST+4) +#define WM_DDE_DATA (WM_DDE_FIRST+5) +#define WM_DDE_REQUEST (WM_DDE_FIRST+6) +#define WM_DDE_POKE (WM_DDE_FIRST+7) +#define WM_DDE_EXECUTE (WM_DDE_FIRST+8) +#define WM_DDE_LAST (WM_DDE_FIRST+8) + +#ifndef RC_INVOKED +typedef struct { + unsigned short bAppReturnCode:8,reserved:6,fBusy:1,fAck:1; +} DDEACK; +typedef struct { + unsigned short reserved:14,fDeferUpd:1,fAckReq:1; + short cfFormat; +} DDEADVISE; +typedef struct { + unsigned short unused:12,fResponse:1,fRelease:1,reserved:1,fAckReq:1; + short cfFormat; + BYTE Value[1]; +} DDEDATA; +typedef struct { + unsigned short unused:13,fRelease:1,fReserved:2; + short cfFormat; + BYTE Value[1]; +} DDEPOKE; +typedef struct { + unsigned short unused:13, + fRelease:1, + fDeferUpd:1, + fAckReq:1; + short cfFormat; +} DDELN; + +typedef struct { + unsigned short unused:12,fAck:1,fRelease:1,fReserved:1,fAckReq:1; + short cfFormat; + BYTE rgb[1]; +} DDEUP; +BOOL WINAPI DdeSetQualityOfService(HWND,const SECURITY_QUALITY_OF_SERVICE*,PSECURITY_QUALITY_OF_SERVICE); +BOOL WINAPI ImpersonateDdeClientWindow(HWND,HWND); +LONG WINAPI PackDDElParam(UINT,UINT,UINT); +BOOL WINAPI UnpackDDElParam(UINT,LONG,PUINT,PUINT); +BOOL WINAPI FreeDDElParam(UINT,LONG); +LONG WINAPI ReuseDDElParam(LONG,UINT,UINT,UINT,UINT); +#endif + +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/ddeml.h b/winsup/w32api/include/ddeml.h new file mode 100644 index 000000000..352783e34 --- /dev/null +++ b/winsup/w32api/include/ddeml.h @@ -0,0 +1,241 @@ +#ifndef _DDEML_H +#define _DDEML_H +#ifdef __cplusplus +extern "C" { +#endif + +#define EXPENTRY CALLBACK +#define CP_WINANSI 1004 +#define CP_WINUNICODE 1200 +#define XTYPF_NOBLOCK 2 +#define XTYPF_NODATA 4 +#define XTYPF_ACKREQ 8 +#define XCLASS_MASK 0xFC00 +#define XCLASS_BOOL 0x1000 +#define XCLASS_DATA 0x2000 +#define XCLASS_FLAGS 0x4000 +#define XCLASS_NOTIFICATION 0x8000 +#define XST_NULL 0 +#define XST_INCOMPLETE 1 +#define XST_CONNECTED 2 +#define XST_INIT1 3 +#define XST_INIT2 4 +#define XST_REQSENT 5 +#define XST_DATARCVD 6 +#define XST_POKESENT 7 +#define XST_POKEACKRCVD 8 +#define XST_EXECSENT 9 +#define XST_EXECACKRCVD 10 +#define XST_ADVSENT 11 +#define XST_UNADVSENT 12 +#define XST_ADVACKRCVD 13 +#define XST_UNADVACKRCVD 14 +#define XST_ADVDATASENT 15 +#define XST_ADVDATAACKRCVD 16 +#define XTYP_ERROR (XCLASS_NOTIFICATION|XTYPF_NOBLOCK) +#define XTYP_ADVDATA (16|XCLASS_FLAGS) +#define XTYP_ADVREQ (32|XCLASS_DATA|XTYPF_NOBLOCK) +#define XTYP_ADVSTART (0x30|XCLASS_BOOL) +#define XTYP_ADVSTOP (0x0040|XCLASS_NOTIFICATION) +#define XTYP_EXECUTE (0x0050|XCLASS_FLAGS) +#define XTYP_CONNECT (0x0060|XCLASS_BOOL|XTYPF_NOBLOCK) +#define XTYP_CONNECT_CONFIRM (0x0070|XCLASS_NOTIFICATION|XTYPF_NOBLOCK) +#define XTYP_XACT_COMPLETE (0x0080|XCLASS_NOTIFICATION) +#define XTYP_POKE (0x0090|XCLASS_FLAGS) +#define XTYP_REGISTER (0x00A0|XCLASS_NOTIFICATION|XTYPF_NOBLOCK) +#define XTYP_REQUEST (0x00B0|XCLASS_DATA) +#define XTYP_DISCONNECT (0x00C0|XCLASS_NOTIFICATION|XTYPF_NOBLOCK) +#define XTYP_UNREGISTER (0x00D0|XCLASS_NOTIFICATION|XTYPF_NOBLOCK) +#define XTYP_WILDCONNECT (0x00E0|XCLASS_DATA|XTYPF_NOBLOCK) +#define XTYP_MASK 0xF0 +#define XTYP_SHIFT 4 +#define TIMEOUT_ASYNC 0xFFFFFFFF +#define QID_SYNC 0xFFFFFFFF +#define ST_CONNECTED 1 +#define ST_ADVISE 2 +#define ST_ISLOCAL 4 +#define ST_BLOCKED 8 +#define ST_CLIENT 16 +#define ST_TERMINATED 32 +#define ST_INLIST 64 +#define ST_BLOCKNEXT 128 +#define ST_ISSELF 256 +#define CADV_LATEACK 0xFFFF +#define DMLERR_NO_ERROR 0 +#define DMLERR_FIRST 0x4000 +#define DMLERR_ADVACKTIMEOUT 0x4000 +#define DMLERR_BUSY 0x4001 +#define DMLERR_DATAACKTIMEOUT 0x4002 +#define DMLERR_DLL_NOT_INITIALIZED 0x4003 +#define DMLERR_DLL_USAGE 0x4004 +#define DMLERR_EXECACKTIMEOUT 0x4005 +#define DMLERR_INVALIDPARAMETER 0x4006 +#define DMLERR_LOW_MEMORY 0x4007 +#define DMLERR_MEMORY_ERROR 0x4008 +#define DMLERR_NOTPROCESSED 0x4009 +#define DMLERR_NO_CONV_ESTABLISHED 0x400a +#define DMLERR_POKEACKTIMEOUT 0x400b +#define DMLERR_POSTMSG_FAILED 0x400c +#define DMLERR_REENTRANCY 0x400d +#define DMLERR_SERVER_DIED 0x400e +#define DMLERR_SYS_ERROR 0x400f +#define DMLERR_UNADVACKTIMEOUT 0x4010 +#define DMLERR_UNFOUND_QUEUE_ID 0x4011 +#define DMLERR_LAST 0x4011 +#define DDE_FACK 0x8000 +#define DDE_FBUSY 0x4000 +#define DDE_FDEFERUPD 0x4000 +#define DDE_FACKREQ 0x8000 +#define DDE_FRELEASE 0x2000 +#define DDE_FREQUESTED 0x1000 +#define DDE_FAPPSTATUS 0x00ff +#define DDE_FNOTPROCESSED 0 +#define DDE_FACKRESERVED (~(DDE_FACK|DDE_FBUSY|DDE_FAPPSTATUS)) +#define DDE_FADVRESERVED (~(DDE_FACKREQ|DDE_FDEFERUPD)) +#define DDE_FDATRESERVED (~(DDE_FACKREQ|DDE_FRELEASE|DDE_FREQUESTED)) +#define DDE_FPOKRESERVED (~DDE_FRELEASE) +#define MSGF_DDEMGR 0x8001 +#define CBR_BLOCK ((HDDEDATA)0xffffffff) +#define CBF_FAIL_SELFCONNECTIONS 0x1000 +#define CBF_FAIL_CONNECTIONS 0x2000 +#define CBF_FAIL_ADVISES 0x4000 +#define CBF_FAIL_EXECUTES 0x8000 +#define CBF_FAIL_POKES 0x10000 +#define CBF_FAIL_REQUESTS 0x20000 +#define CBF_FAIL_ALLSVRXACTIONS 0x3f000 +#define CBF_SKIP_CONNECT_CONFIRMS 0x40000 +#define CBF_SKIP_REGISTRATIONS 0x80000 +#define CBF_SKIP_UNREGISTRATIONS 0x100000 +#define CBF_SKIP_DISCONNECTS 0x200000 +#define CBF_SKIP_ALLNOTIFICATIONS 0x3c0000 +#define APPCMD_CLIENTONLY 0x10L +#define APPCMD_FILTERINITS 0x20L +#define APPCMD_MASK 0xFF0L +#define APPCLASS_STANDARD 0 +#define APPCLASS_MASK 0xFL +#define EC_ENABLEALL 0 +#define EC_ENABLEONE ST_BLOCKNEXT +#define EC_DISABLE ST_BLOCKED +#define EC_QUERYWAITING 2 +#define DNS_REGISTER 1 +#define DNS_UNREGISTER 2 +#define DNS_FILTERON 4 +#define DNS_FILTEROFF 8 +#define HDATA_APPOWNED 1 +#define MAX_MONITORS 4 +#define APPCLASS_MONITOR 1L +#define XTYP_MONITOR (XCLASS_NOTIFICATION|XTYPF_NOBLOCK|0xF0) +#define MF_HSZ_INFO 0x1000000 +#define MF_SENDMSGS 0x2000000 +#define MF_POSTMSGS 0x4000000 +#define MF_CALLBACKS 0x8000000 +#define MF_ERRORS 0x10000000 +#define MF_LINKS 0x20000000 +#define MF_CONV 0x40000000 +#define MF_MASK 0xFF000000 + +DECLARE_HANDLE(HCONVLIST); +DECLARE_HANDLE(HCONV); +DECLARE_HANDLE(HSZ); +DECLARE_HANDLE(HDDEDATA); +typedef HDDEDATA CALLBACK FNCALLBACK(UINT,UINT,HCONV,HSZ,HSZ,HDDEDATA,DWORD,DWORD); +typedef HDDEDATA(CALLBACK *PFNCALLBACK)(UINT,UINT,HCONV,HSZ,HSZ,HDDEDATA,DWORD,DWORD); +typedef struct tagHSZPAIR { + HSZ hszSvc; + HSZ hszTopic; +} HSZPAIR, *PHSZPAIR; +typedef struct tagCONVCONTEXT { + UINT cb; + UINT wFlags; + UINT wCountryID; + int iCodePage; + DWORD dwLangID; + DWORD dwSecurity; + SECURITY_QUALITY_OF_SERVICE qos; +} CONVCONTEXT,*PCONVCONTEXT; +typedef struct tagCONVINFO { + DWORD cb; + DWORD hUser; + HCONV hConvPartner; + HSZ hszSvcPartner; + HSZ hszServiceReq; + HSZ hszTopic; + HSZ hszItem; + UINT wFmt; + UINT wType; + UINT wStatus; + UINT wConvst; + UINT wLastError; + HCONVLIST hConvList; + CONVCONTEXT ConvCtxt; + HWND hwnd; + HWND hwndPartner; +} CONVINFO,*PCONVINFO; +typedef struct tagDDEML_MSG_HOOK_DATA { + UINT uiLo; + UINT uiHi; + DWORD cbData; + DWORD Data[8]; +} DDEML_MSG_HOOK_DATA; + +BOOL WINAPI DdeAbandonTransaction(DWORD,HCONV,DWORD); +PBYTE WINAPI DdeAccessData(HDDEDATA,PDWORD); +HDDEDATA WINAPI DdeAddData(HDDEDATA,PBYTE,DWORD,DWORD); +HDDEDATA WINAPI DdeClientTransaction(PBYTE,DWORD,HCONV,HSZ,UINT,UINT,DWORD,PDWORD); +int WINAPI DdeCmpStringHandles(HSZ,HSZ); +HCONV WINAPI DdeConnect(DWORD,HSZ,HSZ,PCONVCONTEXT); +HCONVLIST WINAPI DdeConnectList(DWORD,HSZ,HSZ,HCONVLIST,PCONVCONTEXT); +HDDEDATA WINAPI DdeCreateDataHandle(DWORD,PBYTE,DWORD,DWORD,HSZ,UINT,UINT); +HSZ WINAPI DdeCreateStringHandleA(DWORD,LPSTR,int); +HSZ WINAPI DdeCreateStringHandleW(DWORD,LPWSTR,int); +BOOL WINAPI DdeDisconnect(HCONV); +BOOL WINAPI DdeDisconnectList(HCONVLIST); +BOOL WINAPI DdeEnableCallback(DWORD,HCONV,UINT); +BOOL WINAPI DdeFreeDataHandle(HDDEDATA); +BOOL WINAPI DdeFreeStringHandle(DWORD,HSZ); +DWORD WINAPI DdeGetData(HDDEDATA,PBYTE,DWORD,DWORD); +UINT WINAPI DdeGetLastError(DWORD); +BOOL WINAPI DdeImpersonateClient(HCONV); +UINT WINAPI DdeInitializeA(PDWORD,PFNCALLBACK,DWORD,DWORD); +UINT WINAPI DdeInitializeW(PDWORD,PFNCALLBACK,DWORD,DWORD); +BOOL WINAPI DdeKeepStringHandle(DWORD,HSZ); +HDDEDATA WINAPI DdeNameService(DWORD,HSZ,HSZ,UINT); +BOOL WINAPI DdePostAdvise(DWORD,HSZ,HSZ); +UINT WINAPI DdeQueryConvInfo(HCONV,DWORD,PCONVINFO); +HCONV WINAPI DdeQueryNextServer(HCONVLIST,HCONV); +DWORD WINAPI DdeQueryStringA(DWORD,HSZ,LPSTR,DWORD,int); +DWORD WINAPI DdeQueryStringW(DWORD,HSZ,LPWSTR,DWORD,int); +HCONV WINAPI DdeReconnect(HCONV); +BOOL WINAPI DdeSetUserHandle(HCONV,DWORD,DWORD); +BOOL WINAPI DdeUnaccessData(HDDEDATA); +BOOL WINAPI DdeUninitialize(DWORD); + +#ifdef UNICODE +#define SZDDESYS_TOPIC L"System" +#define SZDDESYS_ITEM_TOPICS L"Topics" +#define SZDDESYS_ITEM_SYSITEMS L"SysItems" +#define SZDDESYS_ITEM_RTNMSG L"ReturnMessage" +#define SZDDESYS_ITEM_STATUS L"Status" +#define SZDDESYS_ITEM_FORMATS L"Formats" +#define SZDDESYS_ITEM_HELP L"Help" +#define SZDDE_ITEM_ITEMLIST L"TopicItemList" +#define DdeCreateStringHandle DdeCreateStringHandleW +#define DdeInitialize DdeInitializeW +#define DdeQueryString DdeQueryStringW +#else +#define SZDDESYS_TOPIC "System" +#define SZDDESYS_ITEM_TOPICS "Topics" +#define SZDDESYS_ITEM_SYSITEMS "SysItems" +#define SZDDESYS_ITEM_RTNMSG "ReturnMessage" +#define SZDDESYS_ITEM_STATUS "Status" +#define SZDDESYS_ITEM_FORMATS "Formats" +#define SZDDESYS_ITEM_HELP "Help" +#define SZDDE_ITEM_ITEMLIST "TopicItemList" +#define DdeCreateStringHandle DdeCreateStringHandleA +#define DdeInitialize DdeInitializeA +#define DdeQueryString DdeQueryStringA +#endif +#ifdef __cplusplus +} +#endif +#endif /* _DDEML_H */ diff --git a/winsup/w32api/include/dlgs.h b/winsup/w32api/include/dlgs.h new file mode 100644 index 000000000..d26e19156 --- /dev/null +++ b/winsup/w32api/include/dlgs.h @@ -0,0 +1,182 @@ +#ifndef _DLGS_H +#define _DLGS_H +#ifdef __cplusplus +extern "C" { +#endif +#define FILEOPENORD 1536 +#define MULTIFILEOPENORD 1537 +#define PRINTDLGORD 1538 +#define PRNSETUPDLGORD 1539 +#define FINDDLGORD 1540 +#define REPLACEDLGORD 1541 +#define FONTDLGORD 1542 +#define FORMATDLGORD31 1543 +#define FORMATDLGORD30 1544 +#define PAGESETUPDLGORD 1546 +#define ctlFirst 0x400 +#define ctlLast 0x4ff +#define chx1 0x410 +#define chx2 0x411 +#define chx3 0x412 +#define chx4 0x413 +#define chx5 0x414 +#define chx6 0x415 +#define chx7 0x416 +#define chx8 0x417 +#define chx9 0x418 +#define chx10 0x419 +#define chx11 0x41a +#define chx12 0x41b +#define chx13 0x41c +#define chx14 0x41d +#define chx15 0x41e +#define chx16 0x41f +#define cmb1 0x470 +#define cmb2 0x471 +#define cmb3 0x472 +#define cmb4 0x473 +#define cmb5 0x474 +#define cmb6 0x475 +#define cmb7 0x476 +#define cmb8 0x477 +#define cmb9 0x478 +#define cmb10 0x479 +#define cmb11 0x47a +#define cmb12 0x47b +#define cmb13 0x47c +#define cmb14 0x47d +#define cmb15 0x47e +#define cmb16 0x47f +#define edt1 0x480 +#define edt2 0x481 +#define edt3 0x482 +#define edt4 0x483 +#define edt5 0x484 +#define edt6 0x485 +#define edt7 0x486 +#define edt8 0x487 +#define edt9 0x488 +#define edt10 0x489 +#define edt11 0x48a +#define edt12 0x48b +#define edt13 0x48c +#define edt14 0x48d +#define edt15 0x48e +#define edt16 0x48f +#define frm1 0x434 +#define frm2 0x435 +#define frm3 0x436 +#define frm4 0x437 +#define grp1 0x430 +#define grp2 0x431 +#define grp3 0x432 +#define grp4 0x433 +#define ico1 0x43c +#define ico2 0x43d +#define ico3 0x43e +#define ico4 0x43f +#define lst1 0x460 +#define lst2 0x461 +#define lst3 0x462 +#define lst4 0x463 +#define lst5 0x464 +#define lst6 0x465 +#define lst7 0x466 +#define lst8 0x467 +#define lst9 0x468 +#define lst10 0x469 +#define lst11 0x46a +#define lst12 0x46b +#define lst13 0x46c +#define lst14 0x46d +#define lst15 0x46e +#define lst16 0x46f +#define psh1 0x400 +#define psh2 0x401 +#define psh3 0x402 +#define psh4 0x403 +#define psh5 0x404 +#define psh6 0x405 +#define psh7 0x406 +#define psh8 0x407 +#define psh9 0x408 +#define psh10 0x409 +#define psh11 0x40a +#define psh12 0x40b +#define psh13 0x40c +#define psh14 0x40d +#define psh15 0x40e +#define pshHelp 0x40e +#define psh16 0x40f +#define rad1 0x420 +#define rad2 0x421 +#define rad3 0x422 +#define rad4 0x423 +#define rad5 0x424 +#define rad6 0x425 +#define rad7 0x426 +#define rad8 0x427 +#define rad9 0x428 +#define rad10 0x429 +#define rad11 0x42a +#define rad12 0x42b +#define rad13 0x42c +#define rad14 0x42d +#define rad15 0x42e +#define rad16 0x42f +#define rct1 0x438 +#define rct2 0x439 +#define rct3 0x43a +#define rct4 0x43b +#define scr1 0x490 +#define scr2 0x491 +#define scr3 0x492 +#define scr4 0x493 +#define scr5 0x494 +#define scr6 0x495 +#define scr7 0x496 +#define scr8 0x497 +#define stc1 0x440 +#define stc2 0x441 +#define stc3 0x442 +#define stc4 0x443 +#define stc5 0x444 +#define stc6 0x445 +#define stc7 0x446 +#define stc8 0x447 +#define stc9 0x448 +#define stc10 0x449 +#define stc11 0x44a +#define stc12 0x44b +#define stc13 0x44c +#define stc14 0x44d +#define stc15 0x44e +#define stc16 0x44f +#define stc17 0x450 +#define stc18 0x451 +#define stc19 0x452 +#define stc20 0x453 +#define stc21 0x454 +#define stc22 0x455 +#define stc23 0x456 +#define stc24 0x457 +#define stc25 0x458 +#define stc26 0x459 +#define stc27 0x45a +#define stc28 0x45b +#define stc29 0x45c +#define stc30 0x45d +#define stc31 0x45e +#define stc32 0x45f +#ifndef RC_INVOKED +typedef struct tagCRGB { + BYTE bRed; + BYTE bGreen; + BYTE bBlue; + BYTE bExtra; +} CRGB; +#endif +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/httpext.h b/winsup/w32api/include/httpext.h new file mode 100644 index 000000000..4b6f9e282 --- /dev/null +++ b/winsup/w32api/include/httpext.h @@ -0,0 +1,87 @@ +/* + httpext.h - Header for ISAPI extensions. + + This file is part of a free library for the Win32 API. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +*/ + +#ifndef _HTTPEXT_H +#define _HTTPEXT_H + +#include <windows.h> + +#ifdef __cplusplus +extern "C" { +#endif + +#define HSE_VERSION_MAJOR 2 +#define HSE_VERSION_MINOR 0 +#define HSE_LOG_BUFFER_LEN 80 +#define HSE_MAX_EXT_DLL_NAME_LEN 256 +#define HSE_STATUS_SUCCESS 1 +#define HSE_STATUS_SUCCESS_AND_KEEP_CONN 2 +#define HSE_STATUS_PENDING 3 +#define HSE_STATUS_ERROR 4 +#define HSE_REQ_BASE 0 +#define HSE_REQ_SEND_URL_REDIRECT_RESP 1 +#define HSE_REQ_SEND_URL 2 +#define HSE_REQ_SEND_RESPONSE_HEADER 3 +#define HSE_REQ_DONE_WITH_SESSION 4 +#define HSE_REQ_END_RESERVED 1000 +#define HSE_TERM_ADVISORY_UNLOAD 0x00000001 +#define HSE_TERM_MUST_UNLOAD 0x00000002 +#define HSE_IO_SYNC 0x00000001 +#define HSE_IO_ASYNC 0x00000002 +#define HSE_IO_DISCONNECT_AFTER_SEND 0x00000004 +#define HSE_IO_SEND_HEADERS 0x00000008 +typedef LPVOID HCONN; +typedef struct _HSE_VERSION_INFO { + DWORD dwExtensionVersion; + CHAR lpszExtensionDesc[HSE_MAX_EXT_DLL_NAME_LEN]; +} HSE_VERSION_INFO, *LPHSE_VERSION_INFO; +typedef struct _EXTENSION_CONTROL_BLOCK { + DWORD cbSize; + DWORD dwVersion; + HCONN ConnID; + DWORD dwHttpStatusCode; + CHAR lpszLogData[HSE_LOG_BUFFER_LEN]; + LPSTR lpszMethod; + LPSTR lpszQueryString; + LPSTR lpszPathInfo; + LPSTR lpszPathTranslated; + DWORD cbTotalBytes; + DWORD cbAvailable; + LPBYTE lpbData; + LPSTR lpszContentType; + BOOL (PASCAL *GetServerVariable)(HCONN,LPSTR,LPVOID,LPDWORD); + BOOL (PASCAL *WriteClient)(HCONN,LPVOID,LPDWORD,DWORD); + BOOL (PASCAL *ReadClient)(HCONN,LPVOID,LPDWORD); + BOOL (PASCAL *ServerSupportFunction)(HCONN,DWORD,LPVOID,LPDWORD,LPDWORD); +} EXTENSION_CONTROL_BLOCK, *LPEXTENSION_CONTROL_BLOCK; +typedef BOOL (PASCAL *PFN_GETEXTENSIONVERSION)(HSE_VERSION_INFO*); +typedef DWORD (PASCAL *PFN_HTTPEXTENSIONPROC)(EXTENSION_CONTROL_BLOCK*); +typedef BOOL (PASCAL *PFN_TERMINATEEXTENSION)(DWORD); +typedef VOID (PASCAL *PFN_HSE_IO_COMPLETION)(EXTENSION_CONTROL_BLOCK*,PVOID,DWORD,DWORD); +typedef struct _HSE_TF_INFO { + PFN_HSE_IO_COMPLETION pfnHseIO; + PVOID pContext; + HANDLE hFile; + LPCSTR pszStatusCode; + DWORD BytesToWrite; + DWORD Offset; + PVOID pHead; + DWORD HeadLength; + PVOID pTail; + DWORD TailLength; + DWORD dwFlags; +} HSE_TF_INFO, *LPHSE_TF_INFO; +BOOL PASCAL GetExtensionVersion(HSE_VERSION_INFO*); +DWORD PASCAL HttpExtensionProc(EXTENSION_CONTROL_BLOCK*); +BOOL PASCAL TerminateExtension(DWORD); +#ifdef __cplusplus +} +#endif +#endif /* _HTTPEXT_H */ diff --git a/winsup/w32api/include/imagehlp.h b/winsup/w32api/include/imagehlp.h new file mode 100644 index 000000000..2a3eb6f08 --- /dev/null +++ b/winsup/w32api/include/imagehlp.h @@ -0,0 +1,326 @@ +/* + imagehlp.h - Include file for IMAGEHLP.DLL APIs + + Written by Mumit Khan <khan@nanotech.wisc.edu> + + This file is part of a free library for the Win32 API. + + NOTE: This strictly does not belong in the Win32 API since it's + really part of Platform SDK. However,GDB needs it and we might + as well provide it here. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +*/ + +#ifndef _IMAGEHLP_H +#define _IMAGEHLP_H + +#ifdef __cplusplus +extern "C" { +#endif + +#define API_VERSION_NUMBER 7 +#define BIND_NO_BOUND_IMPORTS 0x00000001 +#define BIND_NO_UPDATE 0x00000002 +#define BIND_ALL_IMAGES 0x00000004 +#define BIND_CACHE_IMPORT_DLLS 0x00000008 +#define CBA_DEFERRED_SYMBOL_LOAD_START 1 +#define CBA_DEFERRED_SYMBOL_LOAD_COMPLETE 2 +#define CBA_DEFERRED_SYMBOL_LOAD_FAILURE 3 +#define CBA_SYMBOLS_UNLOADED 4 +#define CBA_DUPLICATE_SYMBOL 5 +#define CERT_PE_IMAGE_DIGEST_DEBUG_INFO 1 +#define CERT_PE_IMAGE_DIGEST_RESOURCES 2 +#define CERT_PE_IMAGE_DIGEST_ALL_IMPORT_INFO 4 +#define CERT_PE_IMAGE_DIGEST_NON_PE_INFO 8 +#define CERT_SECTION_TYPE_ANY 255 +#define CHECKSUM_SUCCESS 0 +#define CHECKSUM_OPEN_FAILURE 1 +#define CHECKSUM_MAP_FAILURE 2 +#define CHECKSUM_MAPVIEW_FAILURE 3 +#define CHECKSUM_UNICODE_FAILURE 4 +#define IMAGE_SEPARATION 65536 +#define SPLITSYM_REMOVE_PRIVATE 1 +#define SPLITSYM_EXTRACT_ALL 2 +#define SPLITSYM_SYMBOLPATH_IS_SRC 4 +#define SYMF_OMAP_GENERATED 1 +#define SYMF_OMAP_MODIFIED 2 +#define SYMOPT_CASE_INSENSITIVE 1 +#define SYMOPT_UNDNAME 2 +#define SYMOPT_DEFERRED_LOADS 4 +#define SYMOPT_NO_CPP 8 +#define SYMOPT_LOAD_LINES 16 +#define SYMOPT_OMAP_FIND_NEAREST 32 +#define UNDNAME_COMPLETE 0 +#define UNDNAME_NO_LEADING_UNDERSCORES 1 +#define UNDNAME_NO_MS_KEYWORDS 2 +#define UNDNAME_NO_FUNCTION_RETURNS 4 +#define UNDNAME_NO_ALLOCATION_MODEL 8 +#define UNDNAME_NO_ALLOCATION_LANGUAGE 16 +#define UNDNAME_NO_MS_THISTYPE 32 +#define UNDNAME_NO_CV_THISTYPE 64 +#define UNDNAME_NO_THISTYPE 96 +#define UNDNAME_NO_ACCESS_SPECIFIERS 128 +#define UNDNAME_NO_THROW_SIGNATURES 256 +#define UNDNAME_NO_MEMBER_TYPE 512 +#define UNDNAME_NO_RETURN_UDT_MODEL 1024 +#define UNDNAME_32_BIT_DECODE 2048 +#define UNDNAME_NAME_ONLY 4096 +#define UNDNAME_NO_ARGUMENTS 8192 +#define UNDNAME_NO_SPECIAL_SYMS 16384 + +#define _IMAGEHLPAPI DECLSPEC_IMPORT WINAPI + +#ifndef RC_INVOKED + +typedef enum _IMAGEHLP_STATUS_REASON { + BindOutOfMemory, + BindRvaToVaFailed, + BindNoRoomInImage, + BindImportModuleFailed, + BindImportProcedureFailed, + BindImportModule, + BindImportProcedure, + BindForwarder, + BindForwarderNOT, + BindImageModified, + BindExpandFileHeaders, + BindImageComplete, + BindMismatchedSymbols, + BindSymbolsNotUpdated +} IMAGEHLP_STATUS_REASON; +typedef BOOL(STDCALL*PIMAGEHLP_STATUS_ROUTINE)(IMAGEHLP_STATUS_REASON,LPSTR,LPSTR,ULONG,ULONG); +typedef struct _LOADED_IMAGE { + LPSTR ModuleName; + HANDLE hFile; + PUCHAR MappedAddress; + PIMAGE_NT_HEADERS FileHeader; + PIMAGE_SECTION_HEADER LastRvaSection; + ULONG NumberOfSections; + PIMAGE_SECTION_HEADER Sections; + ULONG Characteristics; + BOOLEAN fSystemImage; + BOOLEAN fDOSImage; + LIST_ENTRY Links; + ULONG SizeOfImage; +} LOADED_IMAGE,*PLOADED_IMAGE; +typedef struct _IMAGE_DEBUG_INFORMATION { + LIST_ENTRY List; + DWORD Size; + PVOID MappedBase; + USHORT Machine; + USHORT Characteristics; + DWORD CheckSum; + DWORD ImageBase; + DWORD SizeOfImage; + DWORD NumberOfSections; + PIMAGE_SECTION_HEADER Sections; + DWORD ExportedNamesSize; + LPSTR ExportedNames; + DWORD NumberOfFunctionTableEntries; + PIMAGE_FUNCTION_ENTRY FunctionTableEntries; + DWORD LowestFunctionStartingAddress; + DWORD HighestFunctionEndingAddress; + DWORD NumberOfFpoTableEntries; + PFPO_DATA FpoTableEntries; + DWORD SizeOfCoffSymbols; + PIMAGE_COFF_SYMBOLS_HEADER CoffSymbols; + DWORD SizeOfCodeViewSymbols; + PVOID CodeViewSymbols; + LPSTR ImageFilePath; + LPSTR ImageFileName; + LPSTR DebugFilePath; + DWORD TimeDateStamp; + BOOL RomImage; + PIMAGE_DEBUG_DIRECTORY DebugDirectory; + DWORD NumberOfDebugDirectories; + DWORD Reserved[3]; +} IMAGE_DEBUG_INFORMATION,*PIMAGE_DEBUG_INFORMATION; +typedef enum { + AddrMode1616, + AddrMode1632, + AddrModeReal, + AddrModeFlat +} ADDRESS_MODE; +typedef struct _tagADDRESS { + DWORD Offset; + WORD Segment; + ADDRESS_MODE Mode; +} ADDRESS,*LPADDRESS; +typedef struct _KDHELP { + DWORD Thread; + DWORD ThCallbackStack; + DWORD NextCallback; + DWORD FramePointer; + DWORD KiCallUserMode; + DWORD KeUserCallbackDispatcher; + DWORD SystemRangeStart; +} KDHELP,*PKDHELP; +typedef struct _tagSTACKFRAME { + ADDRESS AddrPC; + ADDRESS AddrReturn; + ADDRESS AddrFrame; + ADDRESS AddrStack; + LPVOID FuncTableEntry; + DWORD Params[4]; + BOOL Far; + BOOL Virtual; + DWORD Reserved[3]; + KDHELP KdHelp; +} STACKFRAME,*LPSTACKFRAME; +typedef BOOL(STDCALL*PREAD_PROCESS_MEMORY_ROUTINE)(HANDLE ,LPCVOID,LPVOID,DWORD,LPDWORD); +typedef LPVOID(STDCALL*PFUNCTION_TABLE_ACCESS_ROUTINE)(HANDLE,DWORD); +typedef DWORD(STDCALL*PGET_MODULE_BASE_ROUTINE)(HANDLE,DWORD); +typedef DWORD(STDCALL*PTRANSLATE_ADDRESS_ROUTINE)(HANDLE,HANDLE,LPADDRESS); +typedef struct API_VERSION { + USHORT MajorVersion; + USHORT MinorVersion; + USHORT Revision; + USHORT Reserved; +} API_VERSION,*LPAPI_VERSION; +typedef BOOL(CALLBACK*PSYM_ENUMMODULES_CALLBACK)(LPSTR,ULONG,PVOID); +typedef BOOL(CALLBACK*PSYM_ENUMSYMBOLS_CALLBACK)(LPSTR,ULONG,ULONG,PVOID); +typedef BOOL(CALLBACK*PENUMLOADED_MODULES_CALLBACK)(LPSTR,ULONG,ULONG,PVOID); +typedef BOOL(CALLBACK*PSYMBOL_REGISTERED_CALLBACK)(HANDLE,ULONG,PVOID,PVOID); +typedef enum { + SymNone, + SymCoff, + SymCv, + SymPdb, + SymExport, + SymDeferred, + SymSym +} SYM_TYPE; +typedef struct _IMAGEHLP_SYMBOL { + DWORD SizeOfStruct; + DWORD Address; + DWORD Size; + DWORD Flags; + DWORD MaxNameLength; + CHAR Name[1]; +} IMAGEHLP_SYMBOL,*PIMAGEHLP_SYMBOL; +typedef struct _IMAGEHLP_MODULE { + DWORD SizeOfStruct; + DWORD BaseOfImage; + DWORD ImageSize; + DWORD TimeDateStamp; + DWORD CheckSum; + DWORD NumSyms; + SYM_TYPE SymType; + CHAR ModuleName[32]; + CHAR ImageName[256]; + CHAR LoadedImageName[256]; +} IMAGEHLP_MODULE,*PIMAGEHLP_MODULE; +typedef struct _IMAGEHLP_LINE { + DWORD SizeOfStruct; + DWORD Key; + DWORD LineNumber; + PCHAR FileName; + DWORD Address; +} IMAGEHLP_LINE,*PIMAGEHLP_LINE; +typedef struct _IMAGEHLP_DEFERRED_SYMBOL_LOAD { + DWORD SizeOfStruct; + DWORD BaseOfImage; + DWORD CheckSum; + DWORD TimeDateStamp; + CHAR FileName[MAX_PATH]; + BOOLEAN Reparse; +} IMAGEHLP_DEFERRED_SYMBOL_LOAD,*PIMAGEHLP_DEFERRED_SYMBOL_LOAD; +typedef struct _IMAGEHLP_DUPLICATE_SYMBOL { + DWORD SizeOfStruct; + DWORD NumberOfDups; + PIMAGEHLP_SYMBOL Symbol; + ULONG SelectedSymbol; +} IMAGEHLP_DUPLICATE_SYMBOL,*PIMAGEHLP_DUPLICATE_SYMBOL; +typedef PVOID DIGEST_HANDLE; +typedef BOOL(WINAPI*DIGEST_FUNCTION)(DIGEST_HANDLE refdata,PBYTE pData,DWORD dwLength); + +PIMAGE_NT_HEADERS _IMAGEHLPAPI CheckSumMappedFile(LPVOID,DWORD,LPDWORD,LPDWORD); +DWORD _IMAGEHLPAPI MapFileAndCheckSumA(LPSTR,LPDWORD,LPDWORD); +DWORD _IMAGEHLPAPI MapFileAndCheckSumW(PWSTR,LPDWORD,LPDWORD); +BOOL _IMAGEHLPAPI TouchFileTimes(HANDLE,LPSYSTEMTIME); +BOOL _IMAGEHLPAPI SplitSymbols(LPSTR,LPSTR,LPSTR,DWORD); +HANDLE _IMAGEHLPAPI FindDebugInfoFile(LPSTR,LPSTR,LPSTR); +HANDLE _IMAGEHLPAPI FindExecutableImage(LPSTR,LPSTR,LPSTR); +BOOL _IMAGEHLPAPI UpdateDebugInfoFile(LPSTR,LPSTR,LPSTR,PIMAGE_NT_HEADERS); +BOOL _IMAGEHLPAPI UpdateDebugInfoFileEx(LPSTR,LPSTR,LPSTR,PIMAGE_NT_HEADERS,DWORD); +BOOL _IMAGEHLPAPI BindImage(IN LPSTR,IN LPSTR,IN LPSTR); +BOOL _IMAGEHLPAPI BindImageEx(IN DWORD,IN LPSTR,IN LPSTR,IN LPSTR,IN PIMAGEHLP_STATUS_ROUTINE); +BOOL _IMAGEHLPAPI ReBaseImage(IN LPSTR,IN LPSTR,IN BOOL, IN BOOL,IN BOOL, IN ULONG, OUT ULONG*, OUT ULONG*, OUT ULONG*, IN OUT ULONG*, IN ULONG); + +PLOADED_IMAGE _IMAGEHLPAPI ImageLoad(LPSTR,LPSTR); +BOOL _IMAGEHLPAPI ImageUnload(PLOADED_IMAGE); +PIMAGE_NT_HEADERS _IMAGEHLPAPI ImageNtHeader(IN PVOID); +PVOID _IMAGEHLPAPI ImageDirectoryEntryToData(IN PVOID,IN BOOLEAN,IN USHORT,OUT PULONG); +PIMAGE_SECTION_HEADER _IMAGEHLPAPI ImageRvaToSection(IN PIMAGE_NT_HEADERS,IN PVOID,IN ULONG); +PVOID _IMAGEHLPAPI ImageRvaToVa(IN PIMAGE_NT_HEADERS,IN PVOID,IN ULONG,IN OUT PIMAGE_SECTION_HEADER*); +BOOL _IMAGEHLPAPI MapAndLoad(LPSTR,LPSTR,PLOADED_IMAGE,BOOL,BOOL); +BOOL _IMAGEHLPAPI GetImageConfigInformation(PLOADED_IMAGE,PIMAGE_LOAD_CONFIG_DIRECTORY); +DWORD _IMAGEHLPAPI GetImageUnusedHeaderBytes(PLOADED_IMAGE,LPDWORD); +BOOL _IMAGEHLPAPI SetImageConfigInformation(PLOADED_IMAGE,PIMAGE_LOAD_CONFIG_DIRECTORY); +BOOL _IMAGEHLPAPI UnMapAndLoad(PLOADED_IMAGE); +PIMAGE_DEBUG_INFORMATION _IMAGEHLPAPI MapDebugInformation(HANDLE,LPSTR,LPSTR,DWORD); +BOOL _IMAGEHLPAPI UnmapDebugInformation(PIMAGE_DEBUG_INFORMATION); +HANDLE _IMAGEHLPAPI FindExecutableImage(LPSTR,LPSTR,LPSTR); +BOOL _IMAGEHLPAPI SearchTreeForFile(LPSTR,LPSTR,LPSTR); +BOOL _IMAGEHLPAPI MakeSureDirectoryPathExists(LPCSTR); +DWORD _IMAGEHLPAPI WINAPI UnDecorateSymbolName(LPCSTR,LPSTR,DWORD, DWORD); +BOOL +_IMAGEHLPAPI +StackWalk(DWORD,HANDLE,HANDLE,LPSTACKFRAME,LPVOID,PREAD_PROCESS_MEMORY_ROUTINE,PFUNCTION_TABLE_ACCESS_ROUTINE,PGET_MODULE_BASE_ROUTINE,PTRANSLATE_ADDRESS_ROUTINE); +LPAPI_VERSION _IMAGEHLPAPI ImagehlpApiVersion(VOID); +LPAPI_VERSION _IMAGEHLPAPI ImagehlpApiVersionEx(LPAPI_VERSION); +DWORD _IMAGEHLPAPI GetTimestampForLoadedLibrary(HMODULE); +BOOL _IMAGEHLPAPI RemovePrivateCvSymbolic(PCHAR,PCHAR*,ULONG*); +VOID _IMAGEHLPAPI RemoveRelocations(PCHAR); +DWORD _IMAGEHLPAPI SymSetOptions(IN DWORD); +DWORD _IMAGEHLPAPI SymGetOptions(VOID); +BOOL _IMAGEHLPAPI SymCleanup(IN HANDLE); +BOOL _IMAGEHLPAPI SymEnumerateModules(IN HANDLE,IN PSYM_ENUMMODULES_CALLBACK,IN PVOID); +BOOL _IMAGEHLPAPI SymEnumerateSymbols(IN HANDLE,IN DWORD,IN PSYM_ENUMSYMBOLS_CALLBACK,IN PVOID); +BOOL _IMAGEHLPAPI EnumerateLoadedModules(IN HANDLE,IN PENUMLOADED_MODULES_CALLBACK,IN PVOID); +LPVOID _IMAGEHLPAPI SymFunctionTableAccess(HANDLE,DWORD); +BOOL _IMAGEHLPAPI SymGetModuleInfo(IN HANDLE,IN DWORD,OUT PIMAGEHLP_MODULE); +DWORD _IMAGEHLPAPI SymGetModuleBase(IN HANDLE,IN DWORD); +BOOL _IMAGEHLPAPI SymGetSymFromAddr(IN HANDLE,IN DWORD,OUT PDWORD,OUT PIMAGEHLP_SYMBOL); +BOOL _IMAGEHLPAPI SymGetSymFromName(IN HANDLE,IN LPSTR,OUT PIMAGEHLP_SYMBOL); +BOOL _IMAGEHLPAPI SymGetSymNext(IN HANDLE,IN OUT PIMAGEHLP_SYMBOL); +BOOL _IMAGEHLPAPI SymGetSymPrev(IN HANDLE,IN OUT PIMAGEHLP_SYMBOL); +BOOL _IMAGEHLPAPI SymGetLineFromAddr(IN HANDLE,IN DWORD,OUT PDWORD,OUT PIMAGEHLP_LINE); +BOOL _IMAGEHLPAPI SymGetLineFromName(IN HANDLE,IN LPSTR,IN LPSTR,IN DWORD,OUT PLONG,IN OUT PIMAGEHLP_LINE); +BOOL _IMAGEHLPAPI SymGetLineNext(IN HANDLE,IN OUT PIMAGEHLP_LINE); +BOOL _IMAGEHLPAPI SymGetLinePrev(IN HANDLE,IN OUT PIMAGEHLP_LINE); +BOOL _IMAGEHLPAPI SymMatchFileName(IN LPSTR,IN LPSTR,OUT LPSTR*,OUT LPSTR*); +BOOL _IMAGEHLPAPI SymInitialize(IN HANDLE,IN LPSTR,IN BOOL); +BOOL _IMAGEHLPAPI SymGetSearchPath(IN HANDLE,OUT LPSTR,IN DWORD); +BOOL _IMAGEHLPAPI SymSetSearchPath(IN HANDLE,IN LPSTR); +BOOL _IMAGEHLPAPI SymLoadModule(IN HANDLE,IN HANDLE,IN PSTR,IN PSTR,IN DWORD,IN DWORD); +BOOL _IMAGEHLPAPI SymUnloadModule(IN HANDLE,IN DWORD); +BOOL _IMAGEHLPAPI SymUnDName(IN PIMAGEHLP_SYMBOL,OUT LPSTR,IN DWORD); +BOOL _IMAGEHLPAPI SymRegisterCallback(IN HANDLE,IN PSYMBOL_REGISTERED_CALLBACK,IN PVOID); +BOOL _IMAGEHLPAPI ImageGetDigestStream(IN HANDLE,IN DWORD,IN DIGEST_FUNCTION,IN DIGEST_HANDLE); +BOOL _IMAGEHLPAPI ImageAddCertificate(IN HANDLE,IN LPWIN_CERTIFICATE,OUT PDWORD); +BOOL _IMAGEHLPAPI ImageRemoveCertificate(IN HANDLE,IN DWORD); +BOOL _IMAGEHLPAPI ImageEnumerateCertificates(IN HANDLE,IN WORD,OUT PDWORD,IN OUT PDWORD OPTIONAL,IN OUT DWORD OPTIONAL); +BOOL _IMAGEHLPAPI ImageGetCertificateData(IN HANDLE,IN DWORD,OUT LPWIN_CERTIFICATE,IN OUT PDWORD); +BOOL _IMAGEHLPAPI ImageGetCertificateHeader(IN HANDLE,IN DWORD,IN OUT LPWIN_CERTIFICATE); +BOOL _IMAGEHLPAPI CopyPdb(CHAR const*,CHAR const*,BOOL); +BOOL _IMAGEHLPAPI RemovePrivateCvSymbolicEx(PCHAR,ULONG,PCHAR*,ULONG*); + +#endif /* RC_INVOKED */ + +#ifdef UNICODE +#define MapFileAndCheckSum MapFileAndCheckSumW +#else +#define MapFileAndCheckSum MapFileAndCheckSumA +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* _IMAGEHLP_H */ + diff --git a/winsup/w32api/include/imm.h b/winsup/w32api/include/imm.h new file mode 100644 index 000000000..30d97013c --- /dev/null +++ b/winsup/w32api/include/imm.h @@ -0,0 +1,420 @@ +#ifndef _IMM_H +#define _IMM_H +#ifdef __cplusplus +extern "C" { +#endif +#define WM_CONVERTREQUESTEX 0x108 +#define WM_IME_STARTCOMPOSITION 0x10D +#define WM_IME_ENDCOMPOSITION 0x10E +#define WM_IME_COMPOSITION 0x10F +#define WM_IME_KEYLAST 0x10F +#define WM_IME_SETCONTEXT 0x281 +#define WM_IME_NOTIFY 0x282 +#define WM_IME_CONTROL 0x283 +#define WM_IME_COMPOSITIONFULL 0x284 +#define WM_IME_SELECT 0x285 +#define WM_IME_CHAR 0x286 +#define WM_IME_KEYDOWN 0x290 +#define WM_IME_KEYUP 0x291 +#define IMC_GETCANDIDATEPOS 7 +#define IMC_SETCANDIDATEPOS 8 +#define IMC_GETCOMPOSITIONFONT 9 +#define IMC_SETCOMPOSITIONFONT 10 +#define IMC_GETCOMPOSITIONWINDOW 11 +#define IMC_SETCOMPOSITIONWINDOW 12 +#define IMC_GETSTATUSWINDOWPOS 15 +#define IMC_SETSTATUSWINDOWPOS 16 +#define IMC_CLOSESTATUSWINDOW 0x21 +#define IMC_OPENSTATUSWINDOW 0x22 +#define IMN_CLOSESTATUSWINDOW 1 +#define IMN_OPENSTATUSWINDOW 2 +#define IMN_CHANGECANDIDATE 3 +#define IMN_CLOSECANDIDATE 4 +#define IMN_OPENCANDIDATE 5 +#define IMN_SETCONVERSIONMODE 6 +#define IMN_SETSENTENCEMODE 7 +#define IMN_SETOPENSTATUS 8 +#define IMN_SETCANDIDATEPOS 9 +#define IMN_SETCOMPOSITIONFONT 10 +#define IMN_SETCOMPOSITIONWINDOW 11 +#define IMN_SETSTATUSWINDOWPOS 12 +#define IMN_GUIDELINE 13 +#define IMN_PRIVATE 14 +#define NI_OPENCANDIDATE 16 +#define NI_CLOSECANDIDATE 17 +#define NI_SELECTCANDIDATESTR 18 +#define NI_CHANGECANDIDATELIST 19 +#define NI_FINALIZECONVERSIONRESULT 20 +#define NI_COMPOSITIONSTR 21 +#define NI_SETCANDIDATE_PAGESTART 22 +#define NI_SETCANDIDATE_PAGESIZE 23 +#define NI_IMEMENUSELECTED 24 +#define ISC_SHOWUICANDIDATEWINDOW 1 +#define ISC_SHOWUICOMPOSITIONWINDOW 0x80000000 +#define ISC_SHOWUIGUIDELINE 0x40000000 +#define ISC_SHOWUIALLCANDIDATEWINDOW 15 +#define ISC_SHOWUIALL 0xC000000F +#define CPS_COMPLETE 1 +#define CPS_CONVERT 2 +#define CPS_REVERT 3 +#define CPS_CANCEL 4 +#define IME_CHOTKEY_IME_NONIME_TOGGLE 16 +#define IME_CHOTKEY_SHAPE_TOGGLE 17 +#define IME_CHOTKEY_SYMBOL_TOGGLE 18 +#define IME_JHOTKEY_CLOSE_OPEN 0x30 +#define IME_KHOTKEY_SHAPE_TOGGLE 0x50 +#define IME_KHOTKEY_HANJACONVERT 0x51 +#define IME_KHOTKEY_ENGLISH 0x52 +#define IME_THOTKEY_IME_NONIME_TOGGLE 0x70 +#define IME_THOTKEY_SHAPE_TOGGLE 0x71 +#define IME_THOTKEY_SYMBOL_TOGGLE 0x72 +#define IME_HOTKEY_DSWITCH_FIRST 256 +#define IME_HOTKEY_DSWITCH_LAST 0x11F +#define IME_ITHOTKEY_RESEND_RESULTSTR 512 +#define IME_ITHOTKEY_PREVIOUS_COMPOSITION 513 +#define IME_ITHOTKEY_UISTYLE_TOGGLE 514 +#define GCS_COMPREADSTR 1 +#define GCS_COMPREADATTR 2 +#define GCS_COMPREADCLAUSE 4 +#define GCS_COMPSTR 8 +#define GCS_COMPATTR 16 +#define GCS_COMPCLAUSE 32 +#define GCS_CURSORPOS 128 +#define GCS_DELTASTART 256 +#define GCS_RESULTREADSTR 512 +#define GCS_RESULTREADCLAUSE 1024 +#define GCS_RESULTSTR 2048 +#define GCS_RESULTCLAUSE 4096 +#define CS_INSERTCHAR 0x2000 +#define CS_NOMOVECARET 0x4000 +#define IMEVER_0310 0x3000A +#define IMEVER_0400 0x40000 +#define IME_PROP_AT_CARET 0x10000 +#define IME_PROP_SPECIAL_UI 0x20000 +#define IME_PROP_CANDLIST_START_FROM_1 0x40000 +#define IME_PROP_UNICODE 0x80000 +#define UI_CAP_2700 1 +#define UI_CAP_ROT90 2 +#define UI_CAP_ROTANY 4 +#define SCS_CAP_COMPSTR 1 +#define SCS_CAP_MAKEREAD 2 +#define SELECT_CAP_CONVERSION 1 +#define SELECT_CAP_SENTENCE 2 +#define GGL_LEVEL 1 +#define GGL_INDEX 2 +#define GGL_STRING 3 +#define GGL_PRIVATE 4 +#define GL_LEVEL_NOGUIDELINE 0 +#define GL_LEVEL_FATAL 1 +#define GL_LEVEL_ERROR 2 +#define GL_LEVEL_WARNING 3 +#define GL_LEVEL_INFORMATION 4 +#define GL_ID_UNKNOWN 0 +#define GL_ID_NOMODULE 1 +#define GL_ID_NODICTIONARY 16 +#define GL_ID_CANNOTSAVE 17 +#define GL_ID_NOCONVERT 32 +#define GL_ID_TYPINGERROR 33 +#define GL_ID_TOOMANYSTROKE 34 +#define GL_ID_READINGCONFLICT 35 +#define GL_ID_INPUTREADING 36 +#define GL_ID_INPUTRADICAL 37 +#define GL_ID_INPUTCODE 38 +#define GL_ID_INPUTSYMBOL 39 +#define GL_ID_CHOOSECANDIDATE 40 +#define GL_ID_REVERSECONVERSION 41 +#define GL_ID_PRIVATE_FIRST 0x8000 +#define GL_ID_PRIVATE_LAST 0xFFFF +#define IGP_GETIMEVERSION (DWORD)(-4) +#define IGP_PROPERTY 4 +#define IGP_CONVERSION 8 +#define IGP_SENTENCE 12 +#define IGP_UI 16 +#define IGP_SETCOMPSTR 0x14 +#define IGP_SELECT 0x18 +#define SCS_SETSTR (GCS_COMPREADSTR|GCS_COMPSTR) +#define SCS_CHANGEATTR (GCS_COMPREADATTR|GCS_COMPATTR) +#define SCS_CHANGECLAUSE (GCS_COMPREADCLAUSE|GCS_COMPCLAUSE) +#define ATTR_INPUT 0 +#define ATTR_TARGET_CONVERTED 1 +#define ATTR_CONVERTED 2 +#define ATTR_TARGET_NOTCONVERTED 3 +#define ATTR_INPUT_ERROR 4 +#define ATTR_FIXEDCONVERTED 5 +#define CFS_DEFAULT 0 +#define CFS_RECT 1 +#define CFS_POINT 2 +#define CFS_SCREEN 4 +#define CFS_FORCE_POSITION 32 +#define CFS_CANDIDATEPOS 64 +#define CFS_EXCLUDE 128 +#define GCL_CONVERSION 1 +#define GCL_REVERSECONVERSION 2 +#define GCL_REVERSE_LENGTH 3 +#define IME_CMODE_ALPHANUMERIC 0 +#define IME_CMODE_NATIVE 1 +#define IME_CMODE_CHINESE IME_CMODE_NATIVE +#define IME_CMODE_HANGEUL IME_CMODE_NATIVE +#define IME_CMODE_HANGUL IME_CMODE_NATIVE +#define IME_CMODE_JAPANESE IME_CMODE_NATIVE +#define IME_CMODE_KATAKANA 2 +#define IME_CMODE_LANGUAGE 3 +#define IME_CMODE_FULLSHAPE 8 +#define IME_CMODE_ROMAN 16 +#define IME_CMODE_CHARCODE 32 +#define IME_CMODE_HANJACONVERT 64 +#define IME_CMODE_SOFTKBD 128 +#define IME_CMODE_NOCONVERSION 256 +#define IME_CMODE_EUDC 512 +#define IME_CMODE_SYMBOL 1024 +#define IME_CMODE_FIXED 2048 +#define IME_SMODE_NONE 0 +#define IME_SMODE_PLAURALCLAUSE 1 +#define IME_SMODE_SINGLECONVERT 2 +#define IME_SMODE_AUTOMATIC 4 +#define IME_SMODE_PHRASEPREDICT 8 +#define IME_CAND_UNKNOWN 0 +#define IME_CAND_READ 1 +#define IME_CAND_CODE 2 +#define IME_CAND_MEANING 3 +#define IME_CAND_RADICAL 4 +#define IME_CAND_STROKE 5 +#define IMM_ERROR_NODATA (-1) +#define IMM_ERROR_GENERAL (-2) +#define IME_CONFIG_GENERAL 1 +#define IME_CONFIG_REGISTERWORD 2 +#define IME_CONFIG_SELECTDICTIONARY 3 +#define IME_ESC_QUERY_SUPPORT 3 +#define IME_ESC_RESERVED_FIRST 4 +#define IME_ESC_RESERVED_LAST 0x7FF +#define IME_ESC_PRIVATE_FIRST 0x800 +#define IME_ESC_PRIVATE_LAST 0xFFF +#define IME_ESC_SEQUENCE_TO_INTERNAL 0x1001 +#define IME_ESC_GET_EUDC_DICTIONARY 0x1003 +#define IME_ESC_SET_EUDC_DICTIONARY 0x1004 +#define IME_ESC_MAX_KEY 0x1005 +#define IME_ESC_IME_NAME 0x1006 +#define IME_ESC_SYNC_HOTKEY 0x1007 +#define IME_ESC_HANJA_MODE 0x1008 +#define IME_ESC_AUTOMATA 0x1009 +#define IME_REGWORD_STYLE_EUDC 1 +#define IME_REGWORD_STYLE_USER_FIRST 0x80000000 +#define IME_REGWORD_STYLE_USER_LAST 0xFFFFFFFF +#define SOFTKEYBOARD_TYPE_T1 1 +#define SOFTKEYBOARD_TYPE_C1 2 +#define IMEMENUITEM_STRING_SIZE 80 +#define MOD_ALT 1 +#define MOD_CONTROL 2 +#define MOD_SHIFT 4 +#define MOD_WIN 8 +#define MOD_IGNORE_ALL_MODIFIER 1024 +#define MOD_ON_KEYUP 2048 +#define MOD_RIGHT 16384 +#define MOD_LEFT 32768 +#define IACE_CHILDREN 1 +#define IACE_DEFAULT 16 +#define IACE_IGNORENOCONTEXT 32 +#define IGIMIF_RIGHTMENU 1 +#define IGIMII_CMODE 1 +#define IGIMII_SMODE 2 +#define IGIMII_CONFIGURE 4 +#define IGIMII_TOOLS 8 +#define IGIMII_HELP 16 +#define IGIMII_OTHER 32 +#define IGIMII_INPUTTOOLS 64 +#define IMFT_RADIOCHECK 1 +#define IMFT_SEPARATOR 2 +#define IMFT_SUBMENU 4 +#define IMFS_GRAYED MFS_GRAYED +#define IMFS_DISABLED MFS_DISABLED +#define IMFS_CHECKED MFS_CHECKED +#define IMFS_HILITE MFS_HILITE +#define IMFS_ENABLED MFS_ENABLED +#define IMFS_UNCHECKED MFS_UNCHECKED +#define IMFS_UNHILITE MFS_UNHILITE +#define IMFS_DEFAULT MFS_DEFAULT +#ifndef VK_PROCESSKEY +#define VK_PROCESSKEY 0x0E5 +#endif +#define STYLE_DESCRIPTION_SIZE 32 +typedef DWORD HIMC; +typedef DWORD HIMCC; +typedef HKL *LPHKL; +typedef struct tagCOMPOSITIONFORM { + DWORD dwStyle; + POINT ptCurrentPos; + RECT rcArea; +} COMPOSITIONFORM,*PCOMPOSITIONFORM,*LPCOMPOSITIONFORM; +typedef struct tagCANDIDATEFORM { + DWORD dwIndex; + DWORD dwStyle; + POINT ptCurrentPos; + RECT rcArea; +} CANDIDATEFORM,*PCANDIDATEFORM,*LPCANDIDATEFORM; +typedef struct tagCANDIDATELIST { + DWORD dwSize; + DWORD dwStyle; + DWORD dwCount; + DWORD dwSelection; + DWORD dwPageStart; + DWORD dwPageSize; + DWORD dwOffset[1]; +} CANDIDATELIST,*PCANDIDATELIST,*LPCANDIDATELIST; +typedef struct tagREGISTERWORDA { + LPSTR lpReading; + LPSTR lpWord; +} REGISTERWORDA,*PREGISTERWORDA,*LPREGISTERWORDA; +typedef struct tagREGISTERWORDW { + LPWSTR lpReading; + LPWSTR lpWord; +} REGISTERWORDW,*PREGISTERWORDW,*LPREGISTERWORDW; +typedef struct tagSTYLEBUFA { + DWORD dwStyle; + CHAR szDescription[STYLE_DESCRIPTION_SIZE]; +} STYLEBUFA,*PSTYLEBUFA,*LPSTYLEBUFA; +typedef struct tagSTYLEBUFW { + DWORD dwStyle; + WCHAR szDescription[STYLE_DESCRIPTION_SIZE]; +} STYLEBUFW,*PSTYLEBUFW,*LPSTYLEBUFW; +typedef struct tagIMEMENUITEMINFOA { + UINT cbSize; + UINT fType; + UINT fState; + UINT wID; + HBITMAP hbmpChecked; + HBITMAP hbmpUnchecked; + DWORD dwItemData; + CHAR szString[IMEMENUITEM_STRING_SIZE]; + HBITMAP hbmpItem; +} IMEMENUITEMINFOA,*PIMEMENUITEMINFOA,*LPIMEMENUITEMINFOA; +typedef struct tagIMEMENUITEMINFOW { + UINT cbSize; + UINT fType; + UINT fState; + UINT wID; + HBITMAP hbmpChecked; + HBITMAP hbmpUnchecked; + DWORD dwItemData; + WCHAR szString[IMEMENUITEM_STRING_SIZE]; + HBITMAP hbmpItem; +} IMEMENUITEMINFOW,*PIMEMENUITEMINFOW,*LPIMEMENUITEMINFOW; +typedef int (CALLBACK *REGISTERWORDENUMPROCA)(LPCSTR, DWORD, LPCSTR, LPVOID); +typedef int (CALLBACK *REGISTERWORDENUMPROCW)(LPCWSTR, DWORD, LPCWSTR, LPVOID); +#ifdef UNICODE +#define REGISTERWORDENUMPROC REGISTERWORDENUMPROCW +typedef REGISTERWORDW REGISTERWORD,*PREGISTERWORD,*LPREGISTERWORD; +typedef STYLEBUFW STYLEBUF,*PSTYLEBUF,*LPSTYLEBUF; +typedef IMEMENUITEMINFOW IMEMENUITEMINFO,*PIMEMENUITEMINFO,*LPIMEMENUITEMINFO; +#else +#define REGISTERWORDENUMPROC REGISTERWORDENUMPROCA +typedef REGISTERWORDA REGISTERWORD,*PREGISTERWORD,*LPREGISTERWORD; +typedef STYLEBUFA STYLEBUF,*PSTYLEBUF,*LPSTYLEBUF; +typedef IMEMENUITEMINFOA IMEMENUITEMINFO,*PIMEMENUITEMINFO,*LPIMEMENUITEMINFO; +#endif +HKL WINAPI ImmInstallIMEA(LPCSTR,LPCSTR); +HKL WINAPI ImmInstallIMEW(LPCWSTR,LPCWSTR); +HWND WINAPI ImmGetDefaultIMEWnd(HWND); +UINT WINAPI ImmGetDescriptionA(HKL,LPSTR,UINT); +UINT WINAPI ImmGetDescriptionW(HKL,LPWSTR,UINT); +UINT WINAPI ImmGetIMEFileNameA(HKL,LPSTR,UINT); +UINT WINAPI ImmGetIMEFileNameW(HKL,LPWSTR,UINT); +DWORD WINAPI ImmGetProperty(HKL,DWORD); +BOOL WINAPI ImmIsIME(HKL); +BOOL WINAPI ImmSimulateHotKey(HWND,DWORD); +HIMC WINAPI ImmCreateContext(void); +BOOL WINAPI ImmDestroyContext(HIMC); +HIMC WINAPI ImmGetContext(HWND); +BOOL WINAPI ImmReleaseContext(HWND,HIMC); +HIMC WINAPI ImmAssociateContext(HWND,HIMC); +LONG WINAPI ImmGetCompositionStringA(HIMC,DWORD,PVOID,DWORD); +LONG WINAPI ImmGetCompositionStringW(HIMC,DWORD,PVOID,DWORD); +BOOL WINAPI ImmSetCompositionStringA(HIMC,DWORD,PCVOID,DWORD,PCVOID,DWORD); +BOOL WINAPI ImmSetCompositionStringW(HIMC,DWORD,PCVOID,DWORD,PCVOID,DWORD); +DWORD WINAPI ImmGetCandidateListCountA(HIMC,PDWORD); +DWORD WINAPI ImmGetCandidateListCountW(HIMC,PDWORD); +DWORD WINAPI ImmGetCandidateListA(HIMC,DWORD,PCANDIDATELIST,DWORD); +DWORD WINAPI ImmGetCandidateListW(HIMC,DWORD,PCANDIDATELIST,DWORD); +DWORD WINAPI ImmGetGuideLineA(HIMC,DWORD,LPSTR,DWORD); +DWORD WINAPI ImmGetGuideLineW(HIMC,DWORD,LPWSTR,DWORD); +BOOL WINAPI ImmGetConversionStatus(HIMC,LPDWORD,PDWORD); +BOOL WINAPI ImmSetConversionStatus(HIMC,DWORD,DWORD); +BOOL WINAPI ImmGetOpenStatus(HIMC); +BOOL WINAPI ImmSetOpenStatus(HIMC,BOOL); +BOOL WINAPI ImmGetCompositionFontA(HIMC,LPLOGFONTA); +BOOL WINAPI ImmGetCompositionFontW(HIMC,LPLOGFONTW); +BOOL WINAPI ImmSetCompositionFontA(HIMC,LPLOGFONTA); +BOOL WINAPI ImmSetCompositionFontW(HIMC,LPLOGFONTW); +BOOL WINAPI ImmConfigureIMEA(HKL,HWND,DWORD,PVOID); +BOOL WINAPI ImmConfigureIMEW(HKL,HWND,DWORD,PVOID); +LRESULT WINAPI ImmEscapeA(HKL,HIMC,UINT,PVOID); +LRESULT WINAPI ImmEscapeW(HKL,HIMC,UINT,PVOID); +DWORD WINAPI ImmGetConversionListA(HKL,HIMC,LPCSTR,PCANDIDATELIST,DWORD,UINT); +DWORD WINAPI ImmGetConversionListW(HKL,HIMC,LPCWSTR,PCANDIDATELIST,DWORD,UINT); +BOOL WINAPI ImmNotifyIME(HIMC,DWORD,DWORD,DWORD); +BOOL WINAPI ImmGetStatusWindowPos(HIMC,LPPOINT); +BOOL WINAPI ImmSetStatusWindowPos(HIMC,LPPOINT); +BOOL WINAPI ImmGetCompositionWindow(HIMC,PCOMPOSITIONFORM); +BOOL WINAPI ImmSetCompositionWindow(HIMC,PCOMPOSITIONFORM); +BOOL WINAPI ImmGetCandidateWindow(HIMC,DWORD,PCANDIDATEFORM); +BOOL WINAPI ImmSetCandidateWindow(HIMC,PCANDIDATEFORM); +BOOL WINAPI ImmIsUIMessageA(HWND,UINT,WPARAM,LPARAM); +BOOL WINAPI ImmIsUIMessageW(HWND,UINT,WPARAM,LPARAM); +UINT WINAPI ImmGetVirtualKey(HWND); +BOOL WINAPI ImmRegisterWordA(HKL,LPCSTR,DWORD,LPCSTR); +BOOL WINAPI ImmRegisterWordW(HKL,LPCWSTR,DWORD,LPCWSTR); +BOOL WINAPI ImmUnregisterWordA(HKL,LPCSTR,DWORD,LPCSTR); +BOOL WINAPI ImmUnregisterWordW(HKL,LPCWSTR,DWORD,LPCWSTR); +UINT WINAPI ImmGetRegisterWordStyleA(HKL,UINT,PSTYLEBUFA); +UINT WINAPI ImmGetRegisterWordStyleW(HKL,UINT,PSTYLEBUFW); +UINT WINAPI ImmEnumRegisterWordA(HKL,REGISTERWORDENUMPROCA,LPCSTR,DWORD,LPCSTR,PVOID); +UINT WINAPI ImmEnumRegisterWordW(HKL,REGISTERWORDENUMPROCW,LPCWSTR,DWORD,LPCWSTR,PVOID); +BOOL WINAPI EnableEUDC(BOOL); +BOOL WINAPI ImmDisableIME(DWORD); +DWORD WINAPI ImmGetImeMenuItemsA(HIMC,DWORD,DWORD,LPIMEMENUITEMINFOA,LPIMEMENUITEMINFOA,DWORD); +DWORD WINAPI ImmGetImeMenuItemsW(HIMC,DWORD,DWORD,LPIMEMENUITEMINFOW,LPIMEMENUITEMINFOW,DWORD); + +#ifdef UNICODE +#define ImmEnumRegisterWord ImmEnumRegisterWordW +#define ImmGetRegisterWordStyle ImmGetRegisterWordStyleW +#define ImmUnregisterWord ImmUnregisterWordW +#define ImmRegisterWord ImmRegisterWordW +#define ImmInstallIME ImmInstallIMEW +#define ImmIsUIMessage ImmIsUIMessageW +#define ImmGetConversionList ImmGetConversionListW +#define ImmEscape ImmEscapeW +#define ImmConfigureIME ImmConfigureIMEW +#define ImmSetCompositionFont ImmSetCompositionFontW +#define ImmGetCompositionFont ImmGetCompositionFontW +#define ImmGetGuideLine ImmGetGuideLineW +#define ImmGetCandidateList ImmGetCandidateListW +#define ImmGetCandidateListCount ImmGetCandidateListCountW +#define ImmSetCompositionString ImmSetCompositionStringW +#define ImmGetCompositionString ImmGetCompositionStringW +#define ImmGetDescription ImmGetDescriptionW +#define ImmGetIMEFileName ImmGetIMEFileNameW +#define ImmGetImeMenuItems ImmGetImeMenuItemsW +#else +#define ImmEnumRegisterWord ImmEnumRegisterWordA +#define ImmGetRegisterWordStyle ImmGetRegisterWordStyleA +#define ImmUnregisterWord ImmUnregisterWordA +#define ImmRegisterWord ImmRegisterWordA +#define ImmInstallIME ImmInstallIMEA +#define ImmIsUIMessage ImmIsUIMessageA +#define ImmGetConversionList ImmGetConversionListA +#define ImmEscape ImmEscapeA +#define ImmConfigureIME ImmConfigureIMEA +#define ImmSetCompositionFont ImmSetCompositionFontA +#define ImmGetCompositionFont ImmGetCompositionFontA +#define ImmGetGuideLine ImmGetGuideLineA +#define ImmGetCandidateList ImmGetCandidateListA +#define ImmGetCandidateListCount ImmGetCandidateListCountA +#define ImmSetCompositionString ImmSetCompositionStringA +#define ImmGetCompositionString ImmGetCompositionStringA +#define ImmGetDescription ImmGetDescriptionA +#define ImmGetIMEFileName ImmGetIMEFileNameA +#define ImmGetImeMenuItems ImmGetImeMenuItemsW +#endif +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/initguid.h b/winsup/w32api/include/initguid.h new file mode 100644 index 000000000..08092a299 --- /dev/null +++ b/winsup/w32api/include/initguid.h @@ -0,0 +1,8 @@ +#ifndef _INITGUID_H +#define _INITGUID_H +#ifndef DEFINE_GUID +#include <basetyps.h> +#endif +#undef DEFINE_GUID +#define DEFINE_GUID(n,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) const GUID n GUID_SECT = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} +#endif diff --git a/winsup/w32api/include/intshcut.h b/winsup/w32api/include/intshcut.h new file mode 100644 index 000000000..a9d7ee008 --- /dev/null +++ b/winsup/w32api/include/intshcut.h @@ -0,0 +1,78 @@ +#ifndef _INTSHCUT_H +#define _INTSHCUT_H +#include <isguids.h> +#ifdef __cplusplus +extern "C" { +#endif +#define INTSHCUTAPI DECLSPEC_IMPORT +#define E_FLAGS MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x1000) +#define IS_E_EXEC_FAILED MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x2002) +#define URL_E_INVALID_SYNTAX MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x1001) +#define URL_E_UNREGISTERED_PROTOCOL MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x1002) +typedef enum iurl_seturl_flags { + IURL_SETURL_FL_GUESS_PROTOCOL=1, + IURL_SETURL_FL_USE_DEFAULT_PROTOCOL, + ALL_IURL_SETURL_FLAGS=(IURL_SETURL_FL_GUESS_PROTOCOL|IURL_SETURL_FL_USE_DEFAULT_PROTOCOL) +} IURL_SETURL_FLAGS; +typedef enum iurl_invokecommand_flags { + IURL_INVOKECOMMAND_FL_ALLOW_UI=1, + IURL_INVOKECOMMAND_FL_USE_DEFAULT_VERB, + ALL_IURL_INVOKECOMMAND_FLAGS=(IURL_INVOKECOMMAND_FL_ALLOW_UI|IURL_INVOKECOMMAND_FL_USE_DEFAULT_VERB) +} IURL_INVOKECOMMAND_FLAGS; +typedef enum translateurl_in_flags { + TRANSLATEURL_FL_GUESS_PROTOCOL=1, + TRANSLATEURL_FL_USE_DEFAULT_PROTOCOL, + ALL_TRANSLATEURL_FLAGS=(TRANSLATEURL_FL_GUESS_PROTOCOL|TRANSLATEURL_FL_USE_DEFAULT_PROTOCOL) +} TRANSLATEURL_IN_FLAGS; +typedef enum urlassociationdialog_in_flags { + URLASSOCDLG_FL_USE_DEFAULT_NAME=1, + URLASSOCDLG_FL_REGISTER_ASSOC, + ALL_URLASSOCDLG_FLAGS=(URLASSOCDLG_FL_USE_DEFAULT_NAME|URLASSOCDLG_FL_REGISTER_ASSOC) +} URLASSOCIATIONDIALOG_IN_FLAGS; +typedef enum mimeassociationdialog_in_flags { + MIMEASSOCDLG_FL_REGISTER_ASSOC=1, + ALL_MIMEASSOCDLG_FLAGS=MIMEASSOCDLG_FL_REGISTER_ASSOC +} MIMEASSOCIATIONDIALOG_IN_FLAGS; +typedef struct urlinvokecommandinfo { + DWORD dwcbSize; + DWORD dwFlags; + HWND hwndParent; + PCSTR pcszVerb; +} URLINVOKECOMMANDINFO,*PURLINVOKECOMMANDINFO; +typedef const URLINVOKECOMMANDINFO CURLINVOKECOMMANDINFO; +typedef const URLINVOKECOMMANDINFO *PCURLINVOKECOMMANDINFO; +#undef INTERFACE +#define INTERFACE IUniformResourceLocator +DECLARE_INTERFACE_(IUniformResourceLocator,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(SetURL)(THIS_ PCSTR,DWORD) PURE; + STDMETHOD(GetURL)(THIS_ PSTR*) PURE; + STDMETHOD(InvokeCommand)(THIS_ PURLINVOKECOMMANDINFO) PURE; +}; +typedef IUniformResourceLocator *PIUniformResourceLocator; +typedef const IUniformResourceLocator CIUniformResourceLocator; +typedef const IUniformResourceLocator *PCIUniformResourceLocator; + +BOOL WINAPI InetIsOffline(DWORD); +HRESULT WINAPI MIMEAssociationDialogA(HWND,DWORD,PCSTR,PCSTR,PSTR,UINT); +HRESULT WINAPI MIMEAssociationDialogW(HWND,DWORD,PCWSTR,PCWSTR,PWSTR,UINT); +HRESULT WINAPI TranslateURLA(PCSTR,DWORD,PSTR*); +HRESULT WINAPI TranslateURLW(PCWSTR,DWORD,PWSTR*); +HRESULT WINAPI URLAssociationDialogA(HWND,DWORD,PCSTR,PCSTR,PSTR,UINT); +HRESULT WINAPI URLAssociationDialogW(HWND,DWORD,PCWSTR,PCWSTR,PWSTR,UINT); +#ifdef UNICODE +#define TranslateURL TranslateURLW +#define MIMEAssociationDialog MIMEAssociationDialogW +#define URLAssociationDialog URLAssociationDialogW +#else +#define TranslateURL TranslateURLA +#define MIMEAssociationDialog MIMEAssociationDialogA +#define URLAssociationDialog URLAssociationDialogA +#endif +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/isguids.h b/winsup/w32api/include/isguids.h new file mode 100644 index 000000000..6518e66a6 --- /dev/null +++ b/winsup/w32api/include/isguids.h @@ -0,0 +1,11 @@ +#ifndef _ISGUID_H +#define _ISGUID_H +#ifdef __cplusplus +extern "C" { +#endif +extern const GUID CLSID_InternetShortcut; +extern const GUID IID_IUniformResourceLocator; +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/largeint.h b/winsup/w32api/include/largeint.h new file mode 100644 index 000000000..1e90de07d --- /dev/null +++ b/winsup/w32api/include/largeint.h @@ -0,0 +1,109 @@ +/* + largeint.h + + Header for 64 bit integer arithmetics library + + */ +#ifndef _LARGEINT_H +#define _LARGEINT_H + +#include <windows.h> + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef HAVE_INT64 +#define _toi (__int64) +#define _toui (unsigned __int64) +#else +#error "64 bit integers not supported" +#endif + +/* + We don't let the compiler see the prototypes if we are compiling the + library because if it does it will choke on conflicting types in the + prototypes. +*/ + +#if defined(LARGEINT_PROTOS) || defined(__COMPILING_LARGEINT) + +#ifndef __COMPILING_LARGEINT +/* addition/subtraction */ +LARGE_INTEGER WINAPI LargeIntegerAdd (LARGE_INTEGER, LARGE_INTEGER); +LARGE_INTEGER WINAPI LargeIntegerSubtract (LARGE_INTEGER, LARGE_INTEGER); + +/* bit operations */ +LARGE_INTEGER WINAPI LargeIntegerArithmeticShift (LARGE_INTEGER, int); +LARGE_INTEGER WINAPI LargeIntegerShiftLeft (LARGE_INTEGER, int); +LARGE_INTEGER WINAPI LargeIntegerShiftRight (LARGE_INTEGER, int); +LARGE_INTEGER WINAPI LargeIntegerNegate (LARGE_INTEGER); + +/* conversion */ +LARGE_INTEGER WINAPI ConvertLongToLargeInteger (LONG); +LARGE_INTEGER WINAPI ConvertUlongToLargeInteger (ULONG); + +/* multiplication */ +LARGE_INTEGER WINAPI EnlargedIntegerMultiply (LONG, LONG); +LARGE_INTEGER WINAPI EnlargedUnsignedMultiply (ULONG, ULONG); +LARGE_INTEGER WINAPI ExtendedIntegerMultiply (LARGE_INTEGER, LONG); +/* FIXME: is this not part of largeint? */ +LARGE_INTEGER WINAPI LargeIntegerMultiply (LARGE_INTEGER, LARGE_INTEGER); +#endif /* __COMPILING_LARGEINT */ + +#else + +#define LargeIntegerAdd(a,b) (LARGE_INTEGER)(_toi(a) + _toi(b)) +#define LargeIntegerSubtract(a,b) (LARGE_INTEGER)(_toi(a) - _toi(b)) +#define LargeIntegerRightShift(i,n) (LARGE_INTEGER)(_toi(i) >> (n)) +#define LargeIntegerArithmeticShift LargeIntegerRightShift +#define LargeIntegerLeftShift(i,n) (LARGE_INTEGER)(_toi(i) << (n)) +#define LargeIntegerNegate(i) (LARGE_INTEGER)(- _toi(i)) +#define EnlargedIntegerMultiply(a,b) (LARGE_INTEGER)(_toi(a) * _toi(b)) +#define EnlargedUnsignedMultiply(a,b) (LARGE_INTEGER)(_toui(a) * _toui(b)) +#define ExtendedIntegerMultiply(a,b) (LARGE_INTEGER)(_toi(a) * _toi(b)) +/* FIXME: should this exist */ +#define LargeIntegerMultiply(a,b) (LARGE_INTEGER)(_toi(a) * _toi(b)) +#define ConvertLongToLargeInteger(l) (LARGE_INTEGER)(_toi(l)) +#define ConvertUlongToLargeInteger(ul) (LARGE_INTEGER)(_toui(ul)) + +#endif /* LARGEINT_PROTOS || __COMPILING_LARGEINT */ + +#ifndef __COMPILING_LARGEINT +/* division; no macros of these because of multiple expansion */ +LARGE_INTEGER WINAPI LargeIntegerDivide (LARGE_INTEGER, LARGE_INTEGER, PLARGE_INTEGER); +ULONG WINAPI EnlargedUnsignedDivide (ULARGE_INTEGER, ULONG, PULONG); +LARGE_INTEGER WINAPI ExtendedLargeIntegerDivide (LARGE_INTEGER, ULONG, PULONG); +LARGE_INTEGER WINAPI ExtendedMagicDivide (LARGE_INTEGER, LARGE_INTEGER, int); +#endif /* __COMPILING_LARGEINT */ + +#define LargeIntegerAnd(dest, src, m) \ +{ \ + dest._STRUCT_NAME(u.)LowPart = s._STRUCT_NAME(u.)LowPart & m._STRUCT_NAME(u.)LowPart; \ + dest._STRUCT_NAME(u.)HighPart = s._STRUCT_NAME(u.)HighPart & m._STRUCT_NAME(u.)HighPart; \ +} + +/* comparision */ +#define LargeIntegerGreaterThan(a,b) (_toi(a) > _toi(b)) +#define LargeIntegerGreaterThanOrEqual(a,b) (_toi(a) >= _toi(b)) +#define LargeIntegerEqualTo(a,b) (_toi(a) == _toi(b)) +#define LargeIntegerNotEqualTo(a,b) (_toi(a) != _toi(b)) +#define LargeIntegerLessThan(a,b) (_toi(a) < _toi(b)) +#define LargeIntegerLessThanOrEqualTo(a,b) (_toi(a) <= _toi(b)) +#define LargeIntegerGreaterThanZero(a) (_toi(a) > 0) +#define LargeIntegerGreaterOrEqualToZero(a) ((a)._STRUCT_NAME(u.)HighPart > 0) +#define LargeIntegerEqualToZero(a) !((a)._STRUCT_NAME(u.)LowPart | (a)._STRUCT_NAME(u.)HighPart) +#define LargeIntegerNotEqualToZero(a) ((a)._STRUCT_NAME(u.)LowPart | (a)._STRUCT_NAME(u.)HighPart) +#define LargeIntegerLessThanZero(a) ((a)._STRUCT_NAME(u.)HighPart < 0) +#define LargeIntegerLessOrEqualToZero(a) (_toi(a) <= 0) + +#ifndef __COMPILING_LARGEINT +#undef _toi +#undef _toui +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* _LARGEINT_H */ diff --git a/winsup/w32api/include/lm.h b/winsup/w32api/include/lm.h new file mode 100644 index 000000000..d7a83558b --- /dev/null +++ b/winsup/w32api/include/lm.h @@ -0,0 +1,22 @@ +#ifndef _LM_H +#define _LM_H + +#include <lmcons.h> +#include <lmaccess.h> +#include <lmalert.h> +#include <lmat.h> +#include <lmaudit.h> +#include <lmchdev.h> +#include <lmconfig.h> +#include <lmmsg.h> +#include <lmshare.h> +#include <lmapibuf.h> +#include <lmremutl.h> +#include <lmrepl.h> +#include <lmuse.h> +#include <lmerrlog.h> +#include <lmsvc.h> +#include <lmwksta.h> +#include <lmstats.h> + +#endif diff --git a/winsup/w32api/include/lmaccess.h b/winsup/w32api/include/lmaccess.h new file mode 100644 index 000000000..8a7b9ba88 --- /dev/null +++ b/winsup/w32api/include/lmaccess.h @@ -0,0 +1,605 @@ +#ifndef _LMACCESS_H +#define _LMACCESS_H +#ifdef __cplusplus +extern "C" { +#endif +#include <lmcons.h> +#define GROUP_SPECIALGRP_USERS L"USERS" +#define GROUP_SPECIALGRP_ADMINS L"ADMINS" +#define GROUP_SPECIALGRP_GUESTS L"GUESTS" +#define GROUP_SPECIALGRP_LOCAL L"LOCAL" +#define ACCESS_LETTERS "RWCXDAP " +#define NETLOGON_CONTROL_QUERY 1 +#define NETLOGON_CONTROL_REPLICATE 2 +#define NETLOGON_CONTROL_SYNCHRONIZE 3 +#define NETLOGON_CONTROL_PDC_REPLICATE 4 +#define NETLOGON_CONTROL_REDISCOVER 5 +#define NETLOGON_CONTROL_TC_QUERY 6 +#define NETLOGON_CONTROL_BACKUP_CHANGE_LOG 65532 +#define NETLOGON_CONTROL_TRUNCATE_LOG 65533 +#define NETLOGON_CONTROL_SET_DBFLAG 65534 +#define NETLOGON_CONTROL_BREAKPOINT 65535 +#define UF_SCRIPT 1 +#define UF_ACCOUNTDISABLE 2 +#define UF_HOMEDIR_REQUIRED 8 +#define UF_LOCK 16 +#define UF_PASSWD_NOTREQD 32 +#define UF_PASSWD_CANT_CHANGE 64 +#define UF_TEMP_DUPLICATE_ACCOUNT 256 +#define UF_NORMAL_ACCOUNT 512 +#define UF_INTERDOMAIN_TRUST_ACCOUNT 2048 +#define UF_WORKSTATION_TRUST_ACCOUNT 4096 +#define UF_SERVER_TRUST_ACCOUNT 8192 +#define UF_MACHINE_ACCOUNT_MASK (UF_INTERDOMAIN_TRUST_ACCOUNT|UF_WORKSTATION_TRUST_ACCOUNT|UF_SERVER_TRUST_ACCOUNT) +#define UF_ACCOUNT_TYPE_MASK (UF_TEMP_DUPLICATE_ACCOUNT|UF_NORMAL_ACCOUNT|UF_INTERDOMAIN_TRUST_ACCOUNT|UF_WORKSTATION_TRUST_ACCOUNT|UF_SERVER_TRUST_ACCOUNT) +#define UF_DONT_EXPIRE_PASSWD 65536 +#define UF_SETTABLE_BITS (UF_SCRIPT|UF_ACCOUNTDISABLE|UF_LOCK|UF_HOMEDIR_REQUIRED|UF_PASSWD_NOTREQD|UF_PASSWD_CANT_CHANGE|UF_ACCOUNT_TYPE_MASK|UF_DONT_EXPIRE_PASSWD) +#define FILTER_TEMP_DUPLICATE_ACCOUNT 1 +#define FILTER_NORMAL_ACCOUNT 2 +#define FILTER_INTERDOMAIN_TRUST_ACCOUNT 8 +#define FILTER_WORKSTATION_TRUST_ACCOUNT 16 +#define FILTER_SERVER_TRUST_ACCOUNT 32 +#define LG_INCLUDE_INDIRECT 1 +#define AF_OP_PRINT 1 +#define AF_OP_COMM 2 +#define AF_OP_SERVER 4 +#define AF_OP_ACCOUNTS 8 +#define AF_SETTABLE_BITS (AF_OP_PRINT|AF_OP_COMM|AF_OP_SERVER|AF_OP_ACCOUNTS) +#define UAS_ROLE_STANDALONE 0 +#define UAS_ROLE_MEMBER 1 +#define UAS_ROLE_BACKUP 2 +#define UAS_ROLE_PRIMARY 3 +#define USER_NAME_PARMNUM 1 +#define USER_PASSWORD_PARMNUM 3 +#define USER_PASSWORD_AGE_PARMNUM 4 +#define USER_PRIV_PARMNUM 5 +#define USER_HOME_DIR_PARMNUM 6 +#define USER_COMMENT_PARMNUM 7 +#define USER_FLAGS_PARMNUM 8 +#define USER_SCRIPT_PATH_PARMNUM 9 +#define USER_AUTH_FLAGS_PARMNUM 10 +#define USER_FULL_NAME_PARMNUM 11 +#define USER_USR_COMMENT_PARMNUM 12 +#define USER_PARMS_PARMNUM 13 +#define USER_WORKSTATIONS_PARMNUM 14 +#define USER_LAST_LOGON_PARMNUM 15 +#define USER_LAST_LOGOFF_PARMNUM 16 +#define USER_ACCT_EXPIRES_PARMNUM 17 +#define USER_MAX_STORAGE_PARMNUM 18 +#define USER_UNITS_PER_WEEK_PARMNUM 19 +#define USER_LOGON_HOURS_PARMNUM 20 +#define USER_PAD_PW_COUNT_PARMNUM 21 +#define USER_NUM_LOGONS_PARMNUM 22 +#define USER_LOGON_SERVER_PARMNUM 23 +#define USER_COUNTRY_CODE_PARMNUM 24 +#define USER_CODE_PAGE_PARMNUM 25 +#define USER_PRIMARY_GROUP_PARMNUM 51 +#define USER_PROFILE 52 +#define USER_PROFILE_PARMNUM 52 +#define USER_HOME_DIR_DRIVE_PARMNUM 53 +#define USER_NAME_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_NAME_PARMNUM) +#define USER_PASSWORD_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_PASSWORD_PARMNUM) +#define USER_PASSWORD_AGE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_PASSWORD_AGE_PARMNUM) +#define USER_PRIV_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_PRIV_PARMNUM) +#define USER_HOME_DIR_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_HOME_DIR_PARMNUM) +#define USER_COMMENT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_COMMENT_PARMNUM) +#define USER_FLAGS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_FLAGS_PARMNUM) +#define USER_SCRIPT_PATH_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_SCRIPT_PATH_PARMNUM) +#define USER_AUTH_FLAGS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_AUTH_FLAGS_PARMNUM) +#define USER_FULL_NAME_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_FULL_NAME_PARMNUM) +#define USER_USR_COMMENT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_USR_COMMENT_PARMNUM) +#define USER_PARMS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_PARMS_PARMNUM) +#define USER_WORKSTATIONS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_WORKSTATIONS_PARMNUM) +#define USER_LAST_LOGON_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_LAST_LOGON_PARMNUM) +#define USER_LAST_LOGOFF_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_LAST_LOGOFF_PARMNUM) +#define USER_ACCT_EXPIRES_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_ACCT_EXPIRES_PARMNUM) +#define USER_MAX_STORAGE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_MAX_STORAGE_PARMNUM) +#define USER_UNITS_PER_WEEK_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_UNITS_PER_WEEK_PARMNUM) +#define USER_LOGON_HOURS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_LOGON_HOURS_PARMNUM) +#define USER_PAD_PW_COUNT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_PAD_PW_COUNT_PARMNUM) +#define USER_NUM_LOGONS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_NUM_LOGONS_PARMNUM) +#define USER_LOGON_SERVER_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_LOGON_SERVER_PARMNUM) +#define USER_COUNTRY_CODE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_COUNTRY_CODE_PARMNUM) +#define USER_CODE_PAGE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_CODE_PAGE_PARMNUM) +#define USER_PRIMARY_GROUP_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_PRIMARY_GROUP_PARMNUM) +#define USER_POSIX_ID_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_POSIX_ID_PARMNUM) +#define USER_HOME_DIR_DRIVE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_HOME_DIR_DRIVE_PARMNUM) +#define NULL_USERSETINFO_PASSWD " " +#define TIMEQ_FOREVER ((ULONG)-1) +#define USER_MAXSTORAGE_UNLIMITED ((ULONG)-1) +#define USER_NO_LOGOFF ((ULONG)-1L) +#define UNITS_PER_DAY 24 +#define UNITS_PER_WEEK 168 +#define USER_PRIV_MASK 3 +#define USER_PRIV_GUEST 0 +#define USER_PRIV_USER 1 +#define USER_PRIV_ADMIN 2 +#define MAX_PASSWD_LEN PWLEN +#define DEF_MIN_PWLEN 6 +#define DEF_PWUNIQUENESS 5 +#define DEF_MAX_PWHIST 8 +#define DEF_MAX_PWAGE TIMEQ_FOREVER +#define DEF_MIN_PWAGE 0 +#define DEF_FORCE_LOGOFF (ULONG)0xffffffff +#define DEF_MAX_BADPW 0 +#define ONE_DAY 86400 +#define VALIDATED_LOGON 0 +#define PASSWORD_EXPIRED 2 +#define NON_VALIDATED_LOGON 3 +#define VALID_LOGOFF 1 +#define MODALS_MIN_PASSWD_LEN_PARMNUM 1 +#define MODALS_MAX_PASSWD_AGE_PARMNUM 2 +#define MODALS_MIN_PASSWD_AGE_PARMNUM 3 +#define MODALS_FORCE_LOGOFF_PARMNUM 4 +#define MODALS_PASSWD_HIST_LEN_PARMNUM 5 +#define MODALS_ROLE_PARMNUM 6 +#define MODALS_PRIMARY_PARMNUM 7 +#define MODALS_DOMAIN_NAME_PARMNUM 8 +#define MODALS_DOMAIN_ID_PARMNUM 9 +#define MODALS_LOCKOUT_DURATION_PARMNUM 10 +#define MODALS_LOCKOUT_OBSERVATION_WINDOW_PARMNUM 11 +#define MODALS_LOCKOUT_THRESHOLD_PARMNUM 12 +#define MODALS_MIN_PASSWD_LEN_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+MODALS_MIN_PASSWD_LEN_PARMNUM) +#define MODALS_MAX_PASSWD_AGE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+MODALS_MAX_PASSWD_AGE_PARMNUM) +#define MODALS_MIN_PASSWD_AGE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+MODALS_MIN_PASSWD_AGE_PARMNUM) +#define MODALS_FORCE_LOGOFF_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+MODALS_FORCE_LOGOFF_PARMNUM) +#define MODALS_PASSWD_HIST_LEN_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+MODALS_PASSWD_HIST_LEN_PARMNUM) +#define MODALS_ROLE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+MODALS_ROLE_PARMNUM) +#define MODALS_PRIMARY_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+MODALS_PRIMARY_PARMNUM) +#define MODALS_DOMAIN_NAME_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+MODALS_DOMAIN_NAME_PARMNUM) +#define MODALS_DOMAIN_ID_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+MODALS_DOMAIN_ID_PARMNUM) +#define GROUPIDMASK 0x8000 +#define GROUP_ALL_PARMNUM 0 +#define GROUP_NAME_PARMNUM 1 +#define GROUP_COMMENT_PARMNUM 2 +#define GROUP_ATTRIBUTES_PARMNUM 3 +#define GROUP_ALL_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+GROUP_ALL_PARMNUM) +#define GROUP_NAME_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+GROUP_NAME_PARMNUM) +#define GROUP_COMMENT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+GROUP_COMMENT_PARMNUM) +#define GROUP_ATTRIBUTES_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+GROUP_ATTRIBUTES_PARMNUM) +#define GROUP_POSIX_ID_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+GROUP_POSIX_ID_PARMNUM) +#define LOCALGROUP_NAME_PARMNUM 1 +#define LOCALGROUP_COMMENT_PARMNUM 2 +#define MAXPERMENTRIES 64 +#define ACCESS_NONE 0 +#define ACCESS_ALL (ACCESS_READ|ACCESS_WRITE|ACCESS_CREATE|ACCESS_EXEC|ACCESS_DELETE|ACCESS_ATRIB|ACCESS_PERM) +#define ACCESS_READ 1 +#define ACCESS_WRITE 2 +#define ACCESS_CREATE 4 +#define ACCESS_EXEC 8 +#define ACCESS_DELETE 16 +#define ACCESS_ATRIB 32 +#define ACCESS_PERM 64 +#define ACCESS_GROUP 0x8000 +#define ACCESS_AUDIT 1 +#define ACCESS_SUCCESS_OPEN 16 +#define ACCESS_SUCCESS_WRITE 32 +#define ACCESS_SUCCESS_DELETE 64 +#define ACCESS_SUCCESS_ACL 128 +#define ACCESS_SUCCESS_MASK 240 +#define ACCESS_FAIL_OPEN 256 +#define ACCESS_FAIL_WRITE 512 +#define ACCESS_FAIL_DELETE 1024 +#define ACCESS_FAIL_ACL 2048 +#define ACCESS_FAIL_MASK 3840 +#define ACCESS_FAIL_SHIFT 4 +#define ACCESS_RESOURCE_NAME_PARMNUM 1 +#define ACCESS_ATTR_PARMNUM 2 +#define ACCESS_COUNT_PARMNUM 3 +#define ACCESS_ACCESS_LIST_PARMNUM 4 +#define ACCESS_RESOURCE_NAME_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+ACCESS_RESOURCE_NAME_PARMNUM) +#define ACCESS_ATTR_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+ACCESS_ATTR_PARMNUM) +#define ACCESS_COUNT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+ACCESS_COUNT_PARMNUM) +#define ACCESS_ACCESS_LIST_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+ACCESS_ACCESS_LIST_PARMNUM) +#define NETLOGON_REPLICATION_NEEDED 1 +#define NETLOGON_REPLICATION_IN_PROGRESS 2 +#define NETLOGON_FULL_SYNC_REPLICATION 4 +#define NETLOGON_REDO_NEEDED 8 + +typedef struct _USER_INFO_0 { LPWSTR usri0_name; }USER_INFO_0,*PUSER_INFO_0,*LPUSER_INFO_0; +typedef struct _USER_INFO_1 { + LPWSTR usri1_name; + LPWSTR usri1_password; + DWORD usri1_password_age; + DWORD usri1_priv; + LPWSTR usri1_home_dir; + LPWSTR usri1_comment; + DWORD usri1_flags; + LPWSTR usri1_script_path; +}USER_INFO_1,*PUSER_INFO_1,*LPUSER_INFO_1; +typedef struct _USER_INFO_2 { + LPWSTR usri2_name; + LPWSTR usri2_password; + DWORD usri2_password_age; + DWORD usri2_priv; + LPWSTR usri2_home_dir; + LPWSTR usri2_comment; + DWORD usri2_flags; + LPWSTR usri2_script_path; + DWORD usri2_auth_flags; + LPWSTR usri2_full_name; + LPWSTR usri2_usr_comment; + LPWSTR usri2_parms; + LPWSTR usri2_workstations; + DWORD usri2_last_logon; + DWORD usri2_last_logoff; + DWORD usri2_acct_expires; + DWORD usri2_max_storage; + DWORD usri2_units_per_week; + PBYTE usri2_logon_hours; + DWORD usri2_bad_pw_count; + DWORD usri2_num_logons; + LPWSTR usri2_logon_server; + DWORD usri2_country_code; + DWORD usri2_code_page; +}USER_INFO_2,*PUSER_INFO_2,*LPUSER_INFO_2; +typedef struct _USER_INFO_3 { + LPWSTR usri3_name; + LPWSTR usri3_password; + DWORD usri3_password_age; + DWORD usri3_priv; + LPWSTR usri3_home_dir; + LPWSTR usri3_comment; + DWORD usri3_flags; + LPWSTR usri3_script_path; + DWORD usri3_auth_flags; + LPWSTR usri3_full_name; + LPWSTR usri3_usr_comment; + LPWSTR usri3_parms; + LPWSTR usri3_workstations; + DWORD usri3_last_logon; + DWORD usri3_last_logoff; + DWORD usri3_acct_expires; + DWORD usri3_max_storage; + DWORD usri3_units_per_week; + PBYTE usri3_logon_hours; + DWORD usri3_bad_pw_count; + DWORD usri3_num_logons; + LPWSTR usri3_logon_server; + DWORD usri3_country_code; + DWORD usri3_code_page; + DWORD usri3_user_id; + DWORD usri3_primary_group_id; + LPWSTR usri3_profile; + LPWSTR usri3_home_dir_drive; + DWORD usri3_password_expired; +}USER_INFO_3,*PUSER_INFO_3,*LPUSER_INFO_3; +typedef struct _USER_INFO_10 { + LPWSTR usri10_name; + LPWSTR usri10_comment; + LPWSTR usri10_usr_comment; + LPWSTR usri10_full_name; +}USER_INFO_10,*PUSER_INFO_10,*LPUSER_INFO_10; +typedef struct _USER_INFO_11 { + LPWSTR usri11_name; + LPWSTR usri11_comment; + LPWSTR usri11_usr_comment; + LPWSTR usri11_full_name; + DWORD usri11_priv; + DWORD usri11_auth_flags; + DWORD usri11_password_age; + LPWSTR usri11_home_dir; + LPWSTR usri11_parms; + DWORD usri11_last_logon; + DWORD usri11_last_logoff; + DWORD usri11_bad_pw_count; + DWORD usri11_num_logons; + LPWSTR usri11_logon_server; + DWORD usri11_country_code; + LPWSTR usri11_workstations; + DWORD usri11_max_storage; + DWORD usri11_units_per_week; + PBYTE usri11_logon_hours; + DWORD usri11_code_page; +}USER_INFO_11,*PUSER_INFO_11,*LPUSER_INFO_11; +typedef struct _USER_INFO_20 { + LPWSTR usri20_name; + LPWSTR usri20_full_name; + LPWSTR usri20_comment; + DWORD usri20_flags; + DWORD usri20_user_id; +}USER_INFO_20,*PUSER_INFO_20,*LPUSER_INFO_20; +typedef struct _USER_INFO_21 { + BYTE usri21_password[ENCRYPTED_PWLEN]; +}USER_INFO_21,*PUSER_INFO_21,*LPUSER_INFO_21; +typedef struct _USER_INFO_22 { + LPWSTR usri22_name; + BYTE usri22_password[ENCRYPTED_PWLEN]; + DWORD usri22_password_age; + DWORD usri22_priv; + LPWSTR usri22_home_dir; + LPWSTR usri22_comment; + DWORD usri22_flags; + LPWSTR usri22_script_path; + DWORD usri22_auth_flags; + LPWSTR usri22_full_name; + LPWSTR usri22_usr_comment; + LPWSTR usri22_parms; + LPWSTR usri22_workstations; + DWORD usri22_last_logon; + DWORD usri22_last_logoff; + DWORD usri22_acct_expires; + DWORD usri22_max_storage; + DWORD usri22_units_per_week; + PBYTE usri22_logon_hours; + DWORD usri22_bad_pw_count; + DWORD usri22_num_logons; + LPWSTR usri22_logon_server; + DWORD usri22_country_code; + DWORD usri22_code_page; + }USER_INFO_22,*PUSER_INFO_22,*LPUSER_INFO_22; +typedef struct _USER_INFO_1003 { + LPWSTR usri1003_password; +} USER_INFO_1003,*PUSER_INFO_1003,*LPUSER_INFO_1003; +typedef struct _USER_INFO_1005 { + DWORD usri1005_priv; +} USER_INFO_1005,*PUSER_INFO_1005,*LPUSER_INFO_1005; +typedef struct _USER_INFO_1006 { + LPWSTR usri1006_home_dir; +} USER_INFO_1006,*PUSER_INFO_1006,*LPUSER_INFO_1006; +typedef struct _USER_INFO_1007 { + LPWSTR usri1007_comment; +} USER_INFO_1007,*PUSER_INFO_1007,*LPUSER_INFO_1007; +typedef struct _USER_INFO_1008 { + DWORD usri1008_flags; +} USER_INFO_1008,*PUSER_INFO_1008,*LPUSER_INFO_1008; +typedef struct _USER_INFO_1009 { + LPWSTR usri1009_script_path; +} USER_INFO_1009,*PUSER_INFO_1009,*LPUSER_INFO_1009; +typedef struct _USER_INFO_1010 { + DWORD usri1010_auth_flags; +} USER_INFO_1010,*PUSER_INFO_1010,*LPUSER_INFO_1010; +typedef struct _USER_INFO_1011 { + LPWSTR usri1011_full_name; +} USER_INFO_1011,*PUSER_INFO_1011,*LPUSER_INFO_1011; +typedef struct _USER_INFO_1012 { + LPWSTR usri1012_usr_comment; +} USER_INFO_1012,*PUSER_INFO_1012,*LPUSER_INFO_1012; +typedef struct _USER_INFO_1013 { + LPWSTR usri1013_parms; +} USER_INFO_1013,*PUSER_INFO_1013,*LPUSER_INFO_1013; +typedef struct _USER_INFO_1014 { + LPWSTR usri1014_workstations; +} USER_INFO_1014,*PUSER_INFO_1014,*LPUSER_INFO_1014; +typedef struct _USER_INFO_1017 { + DWORD usri1017_acct_expires; +} USER_INFO_1017,*PUSER_INFO_1017,*LPUSER_INFO_1017; +typedef struct _USER_INFO_1018 { + DWORD usri1018_max_storage; +} USER_INFO_1018,*PUSER_INFO_1018,*LPUSER_INFO_1018; +typedef struct _USER_INFO_1020 { + DWORD usri1020_units_per_week; + PBYTE usri1020_logon_hours; +} USER_INFO_1020,*PUSER_INFO_1020,*LPUSER_INFO_1020; +typedef struct _USER_INFO_1023 { + LPWSTR usri1023_logon_server; +} USER_INFO_1023,*PUSER_INFO_1023,*LPUSER_INFO_1023; +typedef struct _USER_INFO_1024 { + DWORD usri1024_country_code; +} USER_INFO_1024,*PUSER_INFO_1024,*LPUSER_INFO_1024; +typedef struct _USER_INFO_1025 { + DWORD usri1025_code_page; +} USER_INFO_1025,*PUSER_INFO_1025,*LPUSER_INFO_1025; +typedef struct _USER_INFO_1051 { + DWORD usri1051_primary_group_id; +} USER_INFO_1051,*PUSER_INFO_1051,*LPUSER_INFO_1051; +typedef struct _USER_INFO_1052 { + LPWSTR usri1052_profile; +} USER_INFO_1052,*PUSER_INFO_1052,*LPUSER_INFO_1052; +typedef struct _USER_INFO_1053 { + LPWSTR usri1053_home_dir_drive; +} USER_INFO_1053,*PUSER_INFO_1053,*LPUSER_INFO_1053; +typedef struct _USER_MODALS_INFO_0 { + DWORD usrmod0_min_passwd_len; + DWORD usrmod0_max_passwd_age; + DWORD usrmod0_min_passwd_age; + DWORD usrmod0_force_logoff; + DWORD usrmod0_password_hist_len; +}USER_MODALS_INFO_0,*PUSER_MODALS_INFO_0,*LPUSER_MODALS_INFO_0; +typedef struct _USER_MODALS_INFO_1 { + DWORD usrmod1_role; + LPWSTR usrmod1_primary; +}USER_MODALS_INFO_1,*PUSER_MODALS_INFO_1,*LPUSER_MODALS_INFO_1; +typedef struct _USER_MODALS_INFO_2 { + LPWSTR usrmod2_domain_name; + PSID usrmod2_domain_id; +}USER_MODALS_INFO_2,*PUSER_MODALS_INFO_2,*LPUSER_MODALS_INFO_2; +typedef struct _USER_MODALS_INFO_3 { + DWORD usrmod3_lockout_duration; + DWORD usrmod3_lockout_observation_window; + DWORD usrmod3_lockout_threshold; +}USER_MODALS_INFO_3,*PUSER_MODALS_INFO_3,*LPUSER_MODALS_INFO_3; +typedef struct _USER_MODALS_INFO_1001 { + DWORD usrmod1001_min_passwd_len; +} USER_MODALS_INFO_1001,*PUSER_MODALS_INFO_1001,*LPUSER_MODALS_INFO_1001; +typedef struct _USER_MODALS_INFO_1002 { + DWORD usrmod1002_max_passwd_age; +} USER_MODALS_INFO_1002,*PUSER_MODALS_INFO_1002,*LPUSER_MODALS_INFO_1002; +typedef struct _USER_MODALS_INFO_1003 { + DWORD usrmod1003_min_passwd_age; +} USER_MODALS_INFO_1003,*PUSER_MODALS_INFO_1003,*LPUSER_MODALS_INFO_1003; +typedef struct _USER_MODALS_INFO_1004 { + DWORD usrmod1004_force_logoff; +} USER_MODALS_INFO_1004,*PUSER_MODALS_INFO_1004,*LPUSER_MODALS_INFO_1004; +typedef struct _USER_MODALS_INFO_1005 { + DWORD usrmod1005_password_hist_len; +} USER_MODALS_INFO_1005,*PUSER_MODALS_INFO_1005,*LPUSER_MODALS_INFO_1005; +typedef struct _USER_MODALS_INFO_1006 { + DWORD usrmod1006_role; +} USER_MODALS_INFO_1006,*PUSER_MODALS_INFO_1006,*LPUSER_MODALS_INFO_1006; +typedef struct _USER_MODALS_INFO_1007 { + LPWSTR usrmod1007_primary; +} USER_MODALS_INFO_1007,*PUSER_MODALS_INFO_1007,*LPUSER_MODALS_INFO_1007; +typedef struct _GROUP_INFO_0 { + LPWSTR grpi0_name; +}GROUP_INFO_0,*PGROUP_INFO_0,*LPGROUP_INFO_0; +typedef struct _GROUP_INFO_1 { + LPWSTR grpi1_name; + LPWSTR grpi1_comment; +}GROUP_INFO_1,*PGROUP_INFO_1,*LPGROUP_INFO_1; +typedef struct _GROUP_INFO_2 { + LPWSTR grpi2_name; + LPWSTR grpi2_comment; + DWORD grpi2_group_id; + DWORD grpi2_attributes; +}GROUP_INFO_2,*PGROUP_INFO_2; +typedef struct _GROUP_INFO_1002 { + LPWSTR grpi1002_comment; +} GROUP_INFO_1002,*PGROUP_INFO_1002,*LPGROUP_INFO_1002; +typedef struct _GROUP_INFO_1005 { + DWORD grpi1005_attributes; +} GROUP_INFO_1005,*PGROUP_INFO_1005,*LPGROUP_INFO_1005; +typedef struct _GROUP_USERS_INFO_0 { + LPWSTR grui0_name; +} GROUP_USERS_INFO_0,*PGROUP_USERS_INFO_0,*LPGROUP_USERS_INFO_0; +typedef struct _GROUP_USERS_INFO_1 { + LPWSTR grui1_name; + DWORD grui1_attributes; +} GROUP_USERS_INFO_1,*PGROUP_USERS_INFO_1,*LPGROUP_USERS_INFO_1; +typedef struct _LOCALGROUP_INFO_0 { + LPWSTR lgrpi0_name; +}LOCALGROUP_INFO_0,*PLOCALGROUP_INFO_0,*LPLOCALGROUP_INFO_0; +typedef struct _LOCALGROUP_INFO_1 { + LPWSTR lgrpi1_name; + LPWSTR lgrpi1_comment; +}LOCALGROUP_INFO_1,*PLOCALGROUP_INFO_1,*LPLOCALGROUP_INFO_1; +typedef struct _LOCALGROUP_INFO_1002 { + LPWSTR lgrpi1002_comment; +}LOCALGROUP_INFO_1002,*PLOCALGROUP_INFO_1002,*LPLOCALGROUP_INFO_1002; +typedef struct _LOCALGROUP_MEMBERS_INFO_0 { + PSID lgrmi0_sid; +} LOCALGROUP_MEMBERS_INFO_0,*PLOCALGROUP_MEMBERS_INFO_0,*LPLOCALGROUP_MEMBERS_INFO_0; +typedef struct _LOCALGROUP_MEMBERS_INFO_1 { + PSID lgrmi1_sid; + SID_NAME_USE lgrmi1_sidusage; + LPWSTR lgrmi1_name; +} LOCALGROUP_MEMBERS_INFO_1,*PLOCALGROUP_MEMBERS_INFO_1,*LPLOCALGROUP_MEMBERS_INFO_1; +typedef struct _LOCALGROUP_MEMBERS_INFO_2 { + PSID lgrmi2_sid; + SID_NAME_USE lgrmi2_sidusage; + LPWSTR lgrmi2_domainandname; +} LOCALGROUP_MEMBERS_INFO_2,*PLOCALGROUP_MEMBERS_INFO_2,*LPLOCALGROUP_MEMBERS_INFO_2; +typedef struct _LOCALGROUP_MEMBERS_INFO_3 { + LPWSTR lgrmi3_domainandname; +} LOCALGROUP_MEMBERS_INFO_3,*PLOCALGROUP_MEMBERS_INFO_3, +*LPLOCALGROUP_MEMBERS_INFO_3; +typedef struct _LOCALGROUP_USERS_INFO_0 { + LPWSTR lgrui0_name; +} LOCALGROUP_USERS_INFO_0,*PLOCALGROUP_USERS_INFO_0,*LPLOCALGROUP_USERS_INFO_0; +typedef struct _NET_DISPLAY_USER { + LPWSTR usri1_name; + LPWSTR usri1_comment; + DWORD usri1_flags; + LPWSTR usri1_full_name; + DWORD usri1_user_id; + DWORD usri1_next_index; +} NET_DISPLAY_USER,*PNET_DISPLAY_USER; +typedef struct _NET_DISPLAY_MACHINE { + LPWSTR usri2_name; + LPWSTR usri2_comment; + DWORD usri2_flags; + DWORD usri2_user_id; + DWORD usri2_next_index; +} NET_DISPLAY_MACHINE,*PNET_DISPLAY_MACHINE; +typedef struct _NET_DISPLAY_GROUP { + LPWSTR grpi3_name; + LPWSTR grpi3_comment; + DWORD grpi3_group_id; + DWORD grpi3_attributes; + DWORD grpi3_next_index; +} NET_DISPLAY_GROUP,*PNET_DISPLAY_GROUP; +typedef struct _ACCESS_INFO_0 { + LPTSTR acc0_resource_name; +}ACCESS_INFO_0,*PACCESS_INFO_0,*LPACCESS_INFO_0; +typedef struct _ACCESS_INFO_1 { + LPTSTR acc1_resource_name; + DWORD acc1_attr; + DWORD acc1_count; +}ACCESS_INFO_1,*PACCESS_INFO_1,*LPACCESS_INFO_1; +typedef struct _ACCESS_INFO_1002 { + DWORD acc1002_attr; +} ACCESS_INFO_1002,*PACCESS_INFO_1002,*LPACCESS_INFO_1002; +typedef struct _ACCESS_LIST { + LPTSTR acl_ugname; + DWORD acl_access; +}ACCESS_LIST,*PACCESS_LIST,*LPACCESS_LIST; +typedef struct _NETLOGON_INFO_1 { + DWORD netlog1_flags; + NET_API_STATUS netlog1_pdc_connection_status; +} NETLOGON_INFO_1,*PNETLOGON_INFO_1; +typedef struct _NETLOGON_INFO_2 { + DWORD netlog2_flags; + NET_API_STATUS netlog2_pdc_connection_status; + LPWSTR netlog2_trusted_dc_name; + NET_API_STATUS netlog2_tc_connection_status; +} NETLOGON_INFO_2,*PNETLOGON_INFO_2; +typedef struct _NETLOGON_INFO_3 { + DWORD netlog3_flags; + DWORD netlog3_logon_attempts; + DWORD netlog3_reserved1; + DWORD netlog3_reserved2; + DWORD netlog3_reserved3; + DWORD netlog3_reserved4; + DWORD netlog3_reserved5; +} NETLOGON_INFO_3,*PNETLOGON_INFO_3; + +#if 0 +/* MS has these defined, but the RxNetAccessXX functions aren't documented nor do + they exist in any headers */ +#define NetAccessAdd RxNetAccessAdd +#define NetAccessEnum RxNetAccessEnum +#define NetAccessGetInfo RxNetAccessGetInfo +#define NetAccessSetInfo RxNetAccessSetInfo +#define NetAccessDel RxNetAccessDel +#define NetAccessGetUserPerms RxNetAccessGetUserPerms +/* These are obsolete */ +NET_API_STATUS WINAPI NetAccessAdd(LPTSTR,DWORD,PBYTE,PDWORD); +NET_API_STATUS WINAPI NetAccessEnum(LPTSTR,LPTSTR,DWORD,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); +NET_API_STATUS WINAPI NetAccessGetInfo(LPTSTR,LPTSTR,DWORD,PBYTE*); +NET_API_STATUS WINAPI NetAccessSetInfo(LPTSTR,LPTSTR,DWORD,PBYTE,PDWORD); +NET_API_STATUS WINAPI NetAccessDel(LPTSTR,LPTSTR); +NET_API_STATUS WINAPI NetAccessGetUserPerms(LPTSTR,LPTSTR,LPTSTR,PDWORD); +#endif + +NET_API_STATUS WINAPI NetUserAdd(LPWSTR,DWORD,PBYTE,PDWORD); +NET_API_STATUS WINAPI NetUserEnum(LPWSTR,DWORD,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); +NET_API_STATUS WINAPI NetUserGetInfo(LPWSTR,LPWSTR,DWORD,PBYTE*); +NET_API_STATUS WINAPI NetUserSetInfo(LPWSTR,LPWSTR,DWORD,PBYTE,PDWORD); +NET_API_STATUS WINAPI NetUserDel(LPWSTR,LPWSTR); +NET_API_STATUS WINAPI NetUserGetGroups(LPWSTR,LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD); +NET_API_STATUS WINAPI NetUserSetGroups(LPWSTR,LPWSTR,DWORD,PBYTE,DWORD); +NET_API_STATUS WINAPI NetUserGetLocalGroups(LPWSTR,LPWSTR,DWORD,DWORD,PBYTE*,DWORD,PDWORD,PDWORD); +NET_API_STATUS WINAPI NetUserModalsGet(LPWSTR,DWORD,PBYTE*); +NET_API_STATUS WINAPI NetUserModalsSet(LPWSTR,DWORD,PBYTE,PDWORD); +NET_API_STATUS WINAPI NetUserChangePassword(LPWSTR,LPWSTR,LPWSTR,LPWSTR); +NET_API_STATUS WINAPI NetGroupAdd(LPWSTR,DWORD,PBYTE,PDWORD); +NET_API_STATUS WINAPI NetGroupAddUser(LPWSTR,LPWSTR,LPWSTR); +NET_API_STATUS WINAPI NetGroupEnum(LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); +NET_API_STATUS WINAPI NetGroupGetInfo(LPWSTR,LPWSTR,DWORD,PBYTE*); +NET_API_STATUS WINAPI NetGroupSetInfo(LPWSTR,LPWSTR,DWORD,PBYTE,PDWORD); +NET_API_STATUS WINAPI NetGroupDel(LPWSTR,LPWSTR); +NET_API_STATUS WINAPI NetGroupDelUser(LPWSTR,LPWSTR,LPWSTR); +NET_API_STATUS WINAPI NetGroupGetUsers(LPWSTR,LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); +NET_API_STATUS WINAPI NetGroupSetUsers(LPWSTR,LPWSTR,DWORD,PBYTE,DWORD); +NET_API_STATUS WINAPI NetLocalGroupAdd(LPWSTR,DWORD,PBYTE,PDWORD); +NET_API_STATUS WINAPI NetLocalGroupAddMember(LPWSTR,LPWSTR,PSID); +NET_API_STATUS WINAPI NetLocalGroupEnum(LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); +NET_API_STATUS WINAPI NetLocalGroupGetInfo(LPWSTR,LPWSTR,DWORD,PBYTE*); +NET_API_STATUS WINAPI NetLocalGroupSetInfo(LPWSTR,LPWSTR,DWORD,PBYTE,PDWORD); +NET_API_STATUS WINAPI NetLocalGroupDel(LPWSTR,LPWSTR); +NET_API_STATUS WINAPI NetLocalGroupDelMember(LPWSTR,LPWSTR,PSID); +NET_API_STATUS WINAPI NetLocalGroupGetMembers(LPWSTR,LPWSTR,DWORD,PBYTE*,DWORD, +PDWORD,PDWORD,PDWORD); +NET_API_STATUS WINAPI NetLocalGroupSetMembers(LPWSTR,LPWSTR,DWORD,PBYTE,DWORD); +NET_API_STATUS WINAPI NetLocalGroupAddMembers(LPWSTR,LPWSTR,DWORD,PBYTE,DWORD); +NET_API_STATUS WINAPI NetLocalGroupDelMembers(LPWSTR,LPWSTR,DWORD,PBYTE,DWORD); +NET_API_STATUS WINAPI NetQueryDisplayInformation(LPWSTR,DWORD,DWORD,DWORD,DWORD,PDWORD,PVOID*); +NET_API_STATUS WINAPI NetGetDisplayInformationIndex(LPWSTR,DWORD,LPWSTR,PDWORD); +NET_API_STATUS WINAPI NetGetDCName(LPWSTR,LPWSTR,PBYTE*); +NET_API_STATUS WINAPI NetGetAnyDCName(LPWSTR,LPWSTR,PBYTE*); +NET_API_STATUS WINAPI I_NetLogonControl(LPWSTR,DWORD,DWORD,PBYTE*); +NET_API_STATUS WINAPI I_NetLogonControl2(LPWSTR,DWORD,DWORD,PBYTE,PBYTE*); +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/lmalert.h b/winsup/w32api/include/lmalert.h new file mode 100644 index 000000000..d4899bc30 --- /dev/null +++ b/winsup/w32api/include/lmalert.h @@ -0,0 +1,56 @@ +#ifndef _LMALERT_H +#define _LMALERT_H +#define ALERTER_MAILSLOT TEXT("\\\\.\\MAILSLOT\\Alerter") +#define ALERT_PRINT_EVENT TEXT("PRINTING") +#define ALERT_MESSAGE_EVENT TEXT("MESSAGE") +#define ALERT_ERRORLOG_EVENT TEXT("ERRORLOG") +#define ALERT_ADMIN_EVENT TEXT("ADMIN") +#define ALERT_USER_EVENT TEXT("USER") +#define ALERT_OTHER_INFO(x) ((PBYTE)(x)+sizeof(STD_ALERT)) +#define ALERT_VAR_DATA(p) ((PBYTE)(p)+sizeof(*p)) +#define PRJOB_QSTATUS 3 +#define PRJOB_DEVSTATUS 508 +#define PRJOB_COMPLETE 4 +#define PRJOB_INTERV 8 +#define PRJOB_ 16 +#define PRJOB_DESTOFFLINE 32 +#define PRJOB_DESTPAUSED 64 +#define PRJOB_NOTIFY 128 +#define PRJOB_DESTNOPAPER 256 +#define PRJOB_DELETED 32768 +#define PRJOB_QS_QUEUED 0 +#define PRJOB_QS_PAUSED 1 +#define PRJOB_QS_SPOOLING 2 +#define PRJOB_QS_PRINTING 3 +#ifdef __cplusplus +extern "C" { +#endif +typedef struct _ADMIN_OTHER_INFO { + DWORD alrtad_errcode; + DWORD alrtad_numstrings; +}ADMIN_OTHER_INFO,*PADMIN_OTHER_INFO,*LPADMIN_OTHER_INFO; +typedef struct _STD_ALERT { + DWORD alrt_timestamp; + TCHAR alrt_eventname[EVLEN+1]; + TCHAR alrt_servicename[SNLEN+1]; +}STD_ALERT,*PSTD_ALERT,*LPSTD_ALERT; +typedef struct _ERRLOG_OTHER_INFO { + DWORD alrter_errcode; + DWORD alrter_offset; +}ERRLOG_OTHER_INFO,*PERRLOG_OTHER_INFO,*LPERRLOG_OTHER_INFO; +typedef struct _PRINT_OTHER_INFO { + DWORD alrtpr_jobid; + DWORD alrtpr_status; + DWORD alrtpr_submitted; + DWORD alrtpr_size; +}PRINT_OTHER_INFO,*PPRINT_OTHER_INFO,*LPPRINT_OTHER_INFO; +typedef struct _USER_OTHER_INFO { + DWORD alrtus_errcode; + DWORD alrtus_numstrings; +}USER_OTHER_INFO,*PUSER_OTHER_INFO,*LPUSER_OTHER_INFO; +NET_API_STATUS WINAPI NetAlertRaise(LPCWSTR,PVOID,DWORD); +NET_API_STATUS WINAPI NetAlertRaiseEx(LPCWSTR,PVOID,DWORD,LPCWSTR); +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/lmapibuf.h b/winsup/w32api/include/lmapibuf.h new file mode 100644 index 000000000..2340d6d10 --- /dev/null +++ b/winsup/w32api/include/lmapibuf.h @@ -0,0 +1,14 @@ +#ifndef _LMAPIBUF_H +#define _LMAPIBUF_H +#ifdef __cplusplus +extern "C" { +#endif +NET_API_STATUS WINAPI NetApiBufferAllocate(DWORD,PVOID*); +NET_API_STATUS WINAPI NetApiBufferFree(PVOID); +NET_API_STATUS WINAPI NetApiBufferReallocate(PVOID,DWORD,PVOID*); +NET_API_STATUS WINAPI NetApiBufferSize(PVOID,PDWORD); +NET_API_STATUS WINAPI NetapipBufferAllocate(DWORD,PVOID*); +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/lmat.h b/winsup/w32api/include/lmat.h new file mode 100644 index 000000000..4d2cf8c11 --- /dev/null +++ b/winsup/w32api/include/lmat.h @@ -0,0 +1,35 @@ +#ifndef _LMAT_H +#define _LMAT_H +#ifdef __cplusplus +extern "C" { +#endif +#define JOB_RUN_PERIODICALLY 1 +#define JOB_EXEC_ERROR 2 +#define JOB_RUNS_TODAY 4 +#define JOB_ADD_CURRENT_DATE 8 +#define JOB_NONINTERACTIVE 16 +#define JOB_INPUT_FLAGS (JOB_RUN_PERIODICALLY|JOB_ADD_CURRENT_DATE|JOB_NONINTERACTIVE) +#define JOB_OUTPUT_FLAGS (JOB_RUN_PERIODICALLY|JOB_EXEC_ERROR|JOB_RUNS_TODAY|JOB_NONINTERACTIVE) +typedef struct _AT_ENUM { + DWORD JobId; + DWORD JobTime; + DWORD DaysOfMonth; + UCHAR DaysOfWeek; + UCHAR Flags; + LPWSTR Command; +} AT_ENUM,*PAT_ENUM,*LPAT_ENUM; +typedef struct _AT_INFO { + DWORD JobTime; + DWORD DaysOfMonth; + UCHAR DaysOfWeek; + UCHAR Flags; + LPWSTR Command; +} AT_INFO,*PAT_INFO,*LPAT_INFO; +NET_API_STATUS WINAPI NetScheduleJobAdd(LPWSTR,PBYTE,LPDWORD); +NET_API_STATUS WINAPI NetScheduleJobDel(LPWSTR,DWORD,DWORD); +NET_API_STATUS WINAPI NetScheduleJobEnum(LPWSTR,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); +NET_API_STATUS WINAPI NetScheduleJobGetInfo(LPWSTR,DWORD,PBYTE*); +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/lmaudit.h b/winsup/w32api/include/lmaudit.h new file mode 100644 index 000000000..1d944b2cb --- /dev/null +++ b/winsup/w32api/include/lmaudit.h @@ -0,0 +1,246 @@ +#ifndef _LMAUDIT_H +#define _LMAUDIT_H +#ifdef __cplusplus +extern "C" { +#endif +#define REVISED_AUDIT_ENTRY_STRUCT +#define LOGFLAGS_FORWARD 0 +#define LOGFLAGS_BACKWARD 1 +#define LOGFLAGS_SEEK 2 +#define ACTION_LOCKOUT 0 +#define ACTION_ADMINUNLOCK 1 +#define AE_GUEST 0 +#define AE_USER 1 +#define AE_ADMIN 2 +#define AE_NORMAL 0 +#define AE_USERLIMIT 0 +#define AE_GENERAL 0 +#define AE_ERROR 1 +#define AE_SESSDIS 1 +#define AE_BADPW 1 +#define AE_AUTODIS 2 +#define AE_UNSHARE 2 +#define AE_ADMINPRIVREQD 2 +#define AE_ADMINDIS 3 +#define AE_NOACCESSPERM 3 +#define AE_ACCRESTRICT 4 +#define AE_NORMAL_CLOSE 0 +#define AE_SES_CLOSE 1 +#define AE_ADMIN_CLOSE 2 +#define AE_LIM_UNKNOWN 0 +#define AE_LIM_LOGONHOURS 1 +#define AE_LIM_EXPIRED 2 +#define AE_LIM_INVAL_WKSTA 3 +#define AE_LIM_DISABLED 4 +#define AE_LIM_DELETED 5 +#define AE_MOD 0 +#define AE_DELETE 1 +#define AE_ADD 2 +#define AE_UAS_USER 0 +#define AE_UAS_GROUP 1 +#define AE_UAS_MODALS 2 +#define SVAUD_SERVICE 1 +#define SVAUD_GOODSESSLOGON 6 +#define SVAUD_BADSESSLOGON 24 +#define SVAUD_SESSLOGON (SVAUD_GOODSESSLOGON|SVAUD_BADSESSLOGON) +#define SVAUD_GOODNETLOGON 96 +#define SVAUD_BADNETLOGON 384 +#define SVAUD_NETLOGON (SVAUD_GOODNETLOGON|SVAUD_BADNETLOGON) +#define SVAUD_LOGON (SVAUD_NETLOGON|SVAUD_SESSLOGON) +#define SVAUD_GOODUSE 0x600 +#define SVAUD_BADUSE 0x1800 +#define SVAUD_USE (SVAUD_GOODUSE|SVAUD_BADUSE) +#define SVAUD_USERLIST 8192 +#define SVAUD_PERMISSIONS 16384 +#define SVAUD_RESOURCE 32768 +#define SVAUD_LOGONLIM 65536 +#define AA_AUDIT_ALL 1 +#define AA_A_OWNER 4 +#define AA_CLOSE 8 +#define AA_S_OPEN 16 +#define AA_S_WRITE 32 +#define AA_S_CREATE 32 +#define AA_S_DELETE 64 +#define AA_S_ACL 128 +#define AA_S_ALL 253 +#define AA_F_OPEN 256 +#define AA_F_WRITE 512 +#define AA_F_CREATE 512 +#define AA_F_DELETE 1024 +#define AA_F_ACL 2048 +#define AA_F_ALL (AA_F_OPEN|AA_F_WRITE|AA_F_DELETE|AA_F_ACL) +#define AA_A_OPEN 2048 +#define AA_A_WRITE 4096 +#define AA_A_CREATE 8192 +#define AA_A_DELETE 16384 +#define AA_A_ACL 32768 +#define AA_A_ALL (AA_F_OPEN|AA_F_WRITE|AA_F_DELETE|AA_F_ACL) +typedef struct _AUDIT_ENTRY { + DWORD ae_len; + DWORD ae_reserved; + DWORD ae_time; + DWORD ae_type; + DWORD ae_data_offset; + DWORD ae_data_size; +} AUDIT_ENTRY,*PAUDIT_ENTRY,*LPAUDIT_ENTRY; +typedef struct _HLOG { + DWORD time; + DWORD last_flags; + DWORD offset; + DWORD rec_offset; +} HLOG,*PHLOG,*LPHLOG; +typedef struct _AE_SRVSTATUS { + DWORD ae_sv_status; +} AE_SRVSTATUS,*PAE_SRVSTATUS,*LPAE_SRVSTATUS; +typedef struct _AE_SESSLOGON { + DWORD ae_so_compname; + DWORD ae_so_username; + DWORD ae_so_privilege; +} AE_SESSLOGON,*PAE_SESSLOGON,*LPAE_SESSLOGON; +typedef struct _AE_SESSLOGOFF { + DWORD ae_sf_compname; + DWORD ae_sf_username; + DWORD ae_sf_reason; +} AE_SESSLOGOFF,*PAE_SESSLOGOFF,*LPAE_SESSLOGOFF; +typedef struct _AE_SESSPWERR { + DWORD ae_sp_compname; + DWORD ae_sp_username; +} AE_SESSPWERR,*PAE_SESSPWERR,*LPAE_SESSPWERR; +typedef struct _AE_CONNSTART { + DWORD ae_ct_compname; + DWORD ae_ct_username; + DWORD ae_ct_netname; + DWORD ae_ct_connid; +} AE_CONNSTART,*PAE_CONNSTART,*LPAE_CONNSTART; +typedef struct _AE_CONNSTOP { + DWORD ae_cp_compname; + DWORD ae_cp_username; + DWORD ae_cp_netname; + DWORD ae_cp_connid; + DWORD ae_cp_reason; +} AE_CONNSTOP,*PAE_CONNSTOP,*LPAE_CONNSTOP; +typedef struct _AE_CONNREJ { + DWORD ae_cr_compname; + DWORD ae_cr_username; + DWORD ae_cr_netname; + DWORD ae_cr_reason; +} AE_CONNREJ,*PAE_CONNREJ,*LPAE_CONNREJ; +typedef struct _AE_RESACCESS { + DWORD ae_ra_compname; + DWORD ae_ra_username; + DWORD ae_ra_resname; + DWORD ae_ra_operation; + DWORD ae_ra_returncode; + DWORD ae_ra_restype; + DWORD ae_ra_fileid; +} AE_RESACCESS,*PAE_RESACCESS,*LPAE_RESACCESS; +typedef struct _AE_RESACCESSREJ { + DWORD ae_rr_compname; + DWORD ae_rr_username; + DWORD ae_rr_resname; + DWORD ae_rr_operation; +} AE_RESACCESSREJ,*PAE_RESACCESSREJ,*LPAE_RESACCESSREJ; +typedef struct _AE_CLOSEFILE { + DWORD ae_cf_compname; + DWORD ae_cf_username; + DWORD ae_cf_resname; + DWORD ae_cf_fileid; + DWORD ae_cf_duration; + DWORD ae_cf_reason; +} AE_CLOSEFILE,*PAE_CLOSEFILE,*LPAE_CLOSEFILE; +typedef struct _AE_SERVICESTAT { + DWORD ae_ss_compname; + DWORD ae_ss_username; + DWORD ae_ss_svcname; + DWORD ae_ss_status; + DWORD ae_ss_code; + DWORD ae_ss_text; + DWORD ae_ss_returnval; +} AE_SERVICESTAT,*PAE_SERVICESTAT,*LPAE_SERVICESTAT; +typedef struct _AE_ACLMOD { + DWORD ae_am_compname; + DWORD ae_am_username; + DWORD ae_am_resname; + DWORD ae_am_action; + DWORD ae_am_datalen; +} AE_ACLMOD,*PAE_ACLMOD,*LPAE_ACLMOD; +typedef struct _AE_UASMOD { + DWORD ae_um_compname; + DWORD ae_um_username; + DWORD ae_um_resname; + DWORD ae_um_rectype; + DWORD ae_um_action; + DWORD ae_um_datalen; +} AE_UASMOD,*PAE_UASMOD,*LPAE_UASMOD; +typedef struct _AE_NETLOGON { + DWORD ae_no_compname; + DWORD ae_no_username; + DWORD ae_no_privilege; + DWORD ae_no_authflags; +} AE_NETLOGON,*PAE_NETLOGON,*LPAE_NETLOGON; +typedef struct _AE_NETLOGOFF { + DWORD ae_nf_compname; + DWORD ae_nf_username; + DWORD ae_nf_reserved1; + DWORD ae_nf_reserved2; +} AE_NETLOGOFF,*PAE_NETLOGOFF,*LPAE_NETLOGOFF; +typedef struct _AE_ACCLIM { + DWORD ae_al_compname; + DWORD ae_al_username; + DWORD ae_al_resname; + DWORD ae_al_limit; +} AE_ACCLIM,*PAE_ACCLIM,*LPAE_ACCLIM; +typedef struct _AE_LOCKOUT { + DWORD ae_lk_compname; + DWORD ae_lk_username; + DWORD ae_lk_action; + DWORD ae_lk_bad_pw_count; +} AE_LOCKOUT,*PAE_LOCKOUT,*LPAE_LOCKOUT; +typedef struct _AE_GENERIC { + DWORD ae_ge_msgfile; + DWORD ae_ge_msgnum; + DWORD ae_ge_params; + DWORD ae_ge_param1; + DWORD ae_ge_param2; + DWORD ae_ge_param3; + DWORD ae_ge_param4; + DWORD ae_ge_param5; + DWORD ae_ge_param6; + DWORD ae_ge_param7; + DWORD ae_ge_param8; + DWORD ae_ge_param9; +} AE_GENERIC,*PAE_GENERIC,*LPAE_GENERIC; +NET_API_STATUS WINAPI NetAuditClear(LPCWSTR,LPCWSTR,LPCWSTR); +NET_API_STATUS WINAPI NetAuditRead(LPTSTR,LPTSTR,LPHLOG,DWORD,PDWORD,DWORD,DWORD,PBYTE*,DWORD,PDWORD,PDWORD); +NET_API_STATUS WINAPI NetAuditWrite(DWORD,PBYTE,DWORD,LPTSTR,PBYTE); + +/* These conflict with struct typedefs, why? */ +#define AE_SRVSTATUS 0 +#define AE_SESSLOGON 1 +#define AE_SESSLOGOFF 2 +#define AE_SESSPWERR 3 +#define AE_CONNSTART 4 +#define AE_CONNSTOP 5 +#define AE_CONNREJ 6 +#define AE_RESACCESS 7 +#define AE_RESACCESSREJ 8 +#define AE_CLOSEFILE 9 +#define AE_SERVICESTAT 11 +#define AE_ACLMOD 12 +#define AE_UASMOD 13 +#define AE_NETLOGON 14 +#define AE_NETLOGOFF 15 +#define AE_NETLOGDENIED 16 +#define AE_ACCLIMITEXCD 17 +#define AE_RESACCESS2 18 +#define AE_ACLMODFAIL 19 +#define AE_LOCKOUT 20 +#define AE_GENERIC_TYPE 21 +#define AE_SRVSTART 0 +#define AE_SRVPAUSED 1 +#define AE_SRVCONT 2 +#define AE_SRVSTOP 3 +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/lmbrowsr.h b/winsup/w32api/include/lmbrowsr.h new file mode 100644 index 000000000..85e40bbdb --- /dev/null +++ b/winsup/w32api/include/lmbrowsr.h @@ -0,0 +1,70 @@ +#ifndef _LMBROWSR_H +#define _LMBROWSR_H +#ifdef __cplusplus +extern "C" { +#endif +#define BROWSER_ROLE_PDC 1 +#define BROWSER_ROLE_BDC 2 +typedef struct _BROWSER_STATISTICS { + LARGE_INTEGER StatisticsStartTime; + LARGE_INTEGER NumberOfServerAnnouncements; + LARGE_INTEGER NumberOfDomainAnnouncements; + ULONG NumberOfElectionPackets; + ULONG NumberOfMailslotWrites; + ULONG NumberOfGetBrowserServerListRequests; + ULONG NumberOfServerEnumerations; + ULONG NumberOfDomainEnumerations; + ULONG NumberOfOtherEnumerations; + ULONG NumberOfMissedServerAnnouncements; + ULONG NumberOfMissedMailslotDatagrams; + ULONG NumberOfMissedGetBrowserServerListRequests; + ULONG NumberOfFailedServerAnnounceAllocations; + ULONG NumberOfFailedMailslotAllocations; + ULONG NumberOfFailedMailslotReceives; + ULONG NumberOfFailedMailslotWrites; + ULONG NumberOfFailedMailslotOpens; + ULONG NumberOfDuplicateMasterAnnouncements; +LARGE_INTEGER NumberOfIllegalDatagrams; +} BROWSER_STATISTICS,*PBROWSER_STATISTICS,*LPBROWSER_STATISTICS; +typedef struct _BROWSER_STATISTICS_100 { + LARGE_INTEGER StartTime; + LARGE_INTEGER NumberOfServerAnnouncements; + LARGE_INTEGER NumberOfDomainAnnouncements; + ULONG NumberOfElectionPackets; + ULONG NumberOfMailslotWrites; + ULONG NumberOfGetBrowserServerListRequests; + LARGE_INTEGER NumberOfIllegalDatagrams; +} BROWSER_STATISTICS_100,*PBROWSER_STATISTICS_100; +typedef struct _BROWSER_STATISTICS_101 { + LARGE_INTEGER StartTime; + LARGE_INTEGER NumberOfServerAnnouncements; + LARGE_INTEGER NumberOfDomainAnnouncements; + ULONG NumberOfElectionPackets; + ULONG NumberOfMailslotWrites; + ULONG NumberOfGetBrowserServerListRequests; + LARGE_INTEGER NumberOfIllegalDatagrams; + ULONG NumberOfMissedServerAnnouncements; + ULONG NumberOfMissedMailslotDatagrams; + ULONG NumberOfMissedGetBrowserServerListRequests; + ULONG NumberOfFailedServerAnnounceAllocations; + ULONG NumberOfFailedMailslotAllocations; + ULONG NumberOfFailedMailslotReceives; + ULONG NumberOfFailedMailslotWrites; + ULONG NumberOfFailedMailslotOpens; + ULONG NumberOfDuplicateMasterAnnouncements; +} BROWSER_STATISTICS_101,*PBROWSER_STATISTICS_101; + +NET_API_STATUS WINAPI I_BrowserServerEnum(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,DWORD,LPCWSTR,PDWORD); +NET_API_STATUS WINAPI I_BrowserServerEnumEx(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,DWORD,LPCWSTR,LPCWSTR); +NET_API_STATUS I_BrowserQueryEmulatedDomains(LPWSTR,PBYTE*,PDWORD); +NET_API_STATUS I_BrowserQueryOtherDomains(LPCWSTR,PBYTE*,PDWORD,PDWORD); +NET_API_STATUS I_BrowserResetNetlogonState(LPCWSTR); +NET_API_STATUS I_BrowserSetNetlogonState(LPWSTR,LPWSTR,LPWSTR,DWORD); +NET_API_STATUS I_BrowserQueryStatistics(LPCWSTR,LPBROWSER_STATISTICS*); +NET_API_STATUS I_BrowserResetStatistics(LPCWSTR); +WORD I_BrowserServerEnumForXactsrv(LPCWSTR,LPCWSTR,ULONG,USHORT,PVOID,WORD,DWORD,PDWORD,PDWORD,DWORD,LPCWSTR,LPCWSTR,PWORD); +NET_API_STATUS I_BrowserDebugTrace(PWCHAR,PCHAR); +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/lmchdev.h b/winsup/w32api/include/lmchdev.h new file mode 100644 index 000000000..c7a6814f7 --- /dev/null +++ b/winsup/w32api/include/lmchdev.h @@ -0,0 +1,57 @@ +#ifndef _LMCHDEV_H +#define _LMCHDEV_H +#ifdef __cplusplus +extern "C" { +#endif +#define CHARDEVQ_NO_REQUESTS (-1) +#define CHARDEV_CLOSE 0 +#define CHARDEVQ_MAX_PRIORITY 1 +#define CHARDEVQ_DEV_PARMNUM 1 +#define HANDLE_INFO_LEVEL_1 1 +#define HANDLE_CHARTIME_PARMNUM 1 +#define HANDLE_CHARCOUNT_PARMNUM 2 +#define CHARDEV_STAT_OPENED 2 +#define CHARDEVQ_PRIORITY_PARMNUM 2 +#define CHARDEVQ_DEVS_PARMNUM 3 +#define CHARDEV_STAT_ERROR 4 +#define CHARDEVQ_NUMUSERS_PARMNUM 4 +#define CHARDEVQ_NUMAHEAD_PARMNUM 5 +#define CHARDEVQ_DEF_PRIORITY 5 +#define CHARDEVQ_PRIORITY_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+CHARDEVQ_PRIORITY_PARMNUM) +#define CHARDEVQ_DEVS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+CHARDEVQ_DEVS_PARMNUM) +#define CHARDEVQ_MIN_PRIORITY 9 +typedef struct _CHARDEV_INFO_0 { LPWSTR ch0_dev; } CHARDEV_INFO_0,*PCHARDEV_INFO_0,*LPCHARDEV_INFO_0; +typedef struct _CHARDEV_INFO_1 { + LPWSTR ch1_dev; + DWORD ch1_status; + LPWSTR ch1_username; + DWORD ch1_time; +} CHARDEV_INFO_1,*PCHARDEV_INFO_1,*LPCHARDEV_INFO_1; +typedef struct _CHARDEVQ_INFO_0 { LPWSTR cq0_dev; } CHARDEVQ_INFO_0,*PCHARDEVQ_INFO_0,*LPCHARDEVQ_INFO_0; +typedef struct _CHARDEVQ_INFO_1 { + LPWSTR cq1_dev; + DWORD cq1_priority; + LPWSTR cq1_devs; + DWORD cq1_numusers; + DWORD cq1_numahead; +} CHARDEVQ_INFO_1,*PCHARDEVQ_INFO_1,*LPCHARDEVQ_INFO_1; +typedef struct _CHARDEVQ_INFO_1002 { DWORD cq1002_priority; } CHARDEVQ_INFO_1002,*PCHARDEVQ_INFO_1002,*LPCHARDEVQ_INFO_1002; +typedef struct _CHARDEVQ_INFO_1003 { LPWSTR cq1003_devs; } CHARDEVQ_INFO_1003,*PCHARDEVQ_INFO_1003,*LPCHARDEVQ_INFO_1003; +typedef struct _HANDLE_INFO_1 { + DWORD hdli1_chartime; + DWORD hdli1_charcount; +}HANDLE_INFO_1,*PHANDLE_INFO_1,*LPHANDLE_INFO_1; +NET_API_STATUS WINAPI NetCharDevEnum(LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); +NET_API_STATUS WINAPI NetCharDevGetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE*); +NET_API_STATUS WINAPI NetCharDevControl(LPCWSTR,LPCWSTR,DWORD); +NET_API_STATUS WINAPI NetCharDevQEnum(LPCWSTR,LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); +NET_API_STATUS WINAPI NetCharDevQGetInfo(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,PBYTE*); +NET_API_STATUS WINAPI NetCharDevQSetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE,PDWORD); +NET_API_STATUS WINAPI NetCharDevQPurge(LPCWSTR,LPCWSTR); +NET_API_STATUS WINAPI NetCharDevQPurgeSelf(LPCWSTR,LPCWSTR,LPCWSTR); +NET_API_STATUS WINAPI NetHandleGetInfo(HANDLE,DWORD,PBYTE*); +NET_API_STATUS WINAPI NetHandleSetInfo(HANDLE,DWORD,PBYTE,DWORD,PDWORD); +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/lmconfig.h b/winsup/w32api/include/lmconfig.h new file mode 100644 index 000000000..746a5ddc8 --- /dev/null +++ b/winsup/w32api/include/lmconfig.h @@ -0,0 +1,17 @@ +#ifndef _LMCONFIG_H +#define _LMCONFIG_H +#ifdef __cplusplus +extern "C" { +#endif +#define REVISED_CONFIG_APIS +typedef struct _CONFIG_INFO_0 { + LPWSTR cfgi0_key; + LPWSTR cfgi0_data; +} CONFIG_INFO_0,*PCONFIG_INFO_0,*LPCONFIG_INFO_0; +NET_API_STATUS WINAPI NetConfigGet(LPCWSTR,LPCWSTR,LPCWSTR,PBYTE*); +NET_API_STATUS WINAPI NetConfigGetAll(LPCWSTR,LPCWSTR,PBYTE*); +NET_API_STATUS WINAPI NetConfigSet(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,DWORD,PBYTE,DWORD); +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/lmcons.h b/winsup/w32api/include/lmcons.h new file mode 100644 index 000000000..6a0d1575a --- /dev/null +++ b/winsup/w32api/include/lmcons.h @@ -0,0 +1,60 @@ +#ifndef _LMCONS_H +#define _LMCONS_H +#define MESSAGE_FILENAME TEXT("NETMSG") +#define OS2MSG_FILENAME TEXT("BASE") +#define HELP_MSG_FILENAME TEXT("NETH") +#define NET_API_FUNCTION __stdcall +#define NET_API_STATUS DWORD +#define API_RET_TYPE NET_API_STATUS +#define MIN_LANMAN_MESSAGE_ID NERR_BASE +#define MAX_LANMAN_MESSAGE_ID 5799 +#define CNLEN 15 +#define DNLEN 15 +#define LM20_CNLEN 15 +#define LM20_DNLEN 15 +#define LM20_SNLEN 15 +#define LM20_STXTLEN 63 +#define LM20_UNCLEN (LM20_CNLEN+2) +#define LM20_NNLEN 12 +#define LM20_RMLEN (LM20_UNCLEN+1+LM20_NNLEN) +#define UNCLEN (CNLEN+2) +#define NNLEN 80 +#define RMLEN (UNCLEN+1+NNLEN) +#define SNLEN 80 +#define STXTLEN 256 +#define PATHLEN 256 +#define LM20_PATHLEN 256 +#define DEVLEN 80 +#define LM20_DEVLEN 8 +#define EVLEN 16 +#define UNLEN 256 +#define LM20_UNLEN 20 +#define GNLEN UNLEN +#define LM20_GNLEN LM20_UNLEN +#define PWLEN 256 +#define LM20_PWLEN 14 +#define SHPWLEN 8 +#define CLTYPE_LEN 12 +#define MAXCOMMENTSZ 256 +#define LM20_MAXCOMMENTSZ 48 +#define QNLEN NNLEN +#define LM20_QNLEN LM20_NNLEN +#define ALERTSZ 128 +#define MAXDEVENTRIES (sizeof(int)*8) +#define NETBIOS_NAME_LEN 16 +#define MAX_PREFERRED_LENGTH ((DWORD)-1) +#define CRYPT_KEY_LEN 7 +#define CRYPT_TXT_LEN 8 +#define ENCRYPTED_PWLEN 16 +#define SESSION_PWLEN 24 +#define SESSION_CRYPT_KLEN 21 +#define PARMNUM_ALL 0 +#define PARM_ERROR_UNKNOWN ((DWORD)-1) +#define PARM_ERROR_NONE 0 +#define PARMNUM_BASE_INFOLEVEL 1000 +#define PLATFORM_ID_DOS 300 +#define PLATFORM_ID_OS2 400 +#define PLATFORM_ID_NT 500 +#define PLATFORM_ID_OSF 600 +#define PLATFORM_ID_VMS 700 +#endif diff --git a/winsup/w32api/include/lmerr.h b/winsup/w32api/include/lmerr.h new file mode 100644 index 000000000..8400f983b --- /dev/null +++ b/winsup/w32api/include/lmerr.h @@ -0,0 +1,277 @@ +#ifndef _LMERR_H +#define _LMERR_H +#include <winerror.h> +#define NERR_Success 0 +#define NERR_BASE 2100 +#define NERR_NetNotStarted (NERR_BASE+2) +#define NERR_UnknownServer (NERR_BASE+3) +#define NERR_ShareMem (NERR_BASE+4) +#define NERR_NoNetworkResource (NERR_BASE+5) +#define NERR_RemoteOnly (NERR_BASE+6) +#define NERR_DevNotRedirected (NERR_BASE+7) +#define NERR_ServerNotStarted (NERR_BASE+14) +#define NERR_ItemNotFound (NERR_BASE+15) +#define NERR_UnknownDevDir (NERR_BASE+16) +#define NERR_RedirectedPath (NERR_BASE+17) +#define NERR_DuplicateShare (NERR_BASE+18) +#define NERR_NoRoom (NERR_BASE+19) +#define NERR_TooManyItems (NERR_BASE+21) +#define NERR_InvalidMaxUsers (NERR_BASE+22) +#define NERR_BufTooSmall (NERR_BASE+23) +#define NERR_RemoteErr (NERR_BASE+27) +#define NERR_LanmanIniError (NERR_BASE+31) +#define NERR_NetworkError (NERR_BASE+36) +#define NERR_WkstaInconsistentState (NERR_BASE+37) +#define NERR_WkstaNotStarted (NERR_BASE+38) +#define NERR_BrowserNotStarted (NERR_BASE+39) +#define NERR_InternalError (NERR_BASE+40) +#define NERR_BadTransactConfig (NERR_BASE+41) +#define NERR_InvalidAPI (NERR_BASE+42) +#define NERR_BadEventName (NERR_BASE+43) +#define NERR_DupNameReboot (NERR_BASE+44) +#define NERR_CfgCompNotFound (NERR_BASE+46) +#define NERR_CfgParamNotFound (NERR_BASE+47) +#define NERR_LineTooLong (NERR_BASE+49) +#define NERR_QNotFound (NERR_BASE+50) +#define NERR_JobNotFound (NERR_BASE+51) +#define NERR_DestNotFound (NERR_BASE+52) +#define NERR_DestExists (NERR_BASE+53) +#define NERR_QExists (NERR_BASE+54) +#define NERR_QNoRoom (NERR_BASE+55) +#define NERR_JobNoRoom (NERR_BASE+56) +#define NERR_DestNoRoom (NERR_BASE+57) +#define NERR_DestIdle (NERR_BASE+58) +#define NERR_DestInvalidOp (NERR_BASE+59) +#define NERR_ProcNoRespond (NERR_BASE+60) +#define NERR_SpoolerNotLoaded (NERR_BASE+61) +#define NERR_DestInvalidState (NERR_BASE+62) +#define NERR_QInvalidState (NERR_BASE+63) +#define NERR_JobInvalidState (NERR_BASE+64) +#define NERR_SpoolNoMemory (NERR_BASE+65) +#define NERR_DriverNotFound (NERR_BASE+66) +#define NERR_DataTypeInvalid (NERR_BASE+67) +#define NERR_ProcNotFound (NERR_BASE+68) +#define NERR_ServiceTableLocked (NERR_BASE+80) +#define NERR_ServiceTableFull (NERR_BASE+81) +#define NERR_ServiceInstalled (NERR_BASE+82) +#define NERR_ServiceEntryLocked (NERR_BASE+83) +#define NERR_ServiceNotInstalled (NERR_BASE+84) +#define NERR_BadServiceName (NERR_BASE+85) +#define NERR_ServiceCtlTimeout (NERR_BASE+86) +#define NERR_ServiceCtlBusy (NERR_BASE+87) +#define NERR_BadServiceProgName (NERR_BASE+88) +#define NERR_ServiceNotCtrl (NERR_BASE+89) +#define NERR_ServiceKillProc (NERR_BASE+90) +#define NERR_ServiceCtlNotValid (NERR_BASE+91) +#define NERR_NotInDispatchTbl (NERR_BASE+92) +#define NERR_BadControlRecv (NERR_BASE+93) +#define NERR_ServiceNotStarting (NERR_BASE+94) +#define NERR_AlreadyLoggedOn (NERR_BASE+100) +#define NERR_NotLoggedOn (NERR_BASE+101) +#define NERR_BadUsername (NERR_BASE+102) +#define NERR_BadPassword (NERR_BASE+103) +#define NERR_UnableToAddName_W (NERR_BASE+104) +#define NERR_UnableToAddName_F (NERR_BASE+105) +#define NERR_UnableToDelName_W (NERR_BASE+106) +#define NERR_UnableToDelName_F (NERR_BASE+107) +#define NERR_LogonsPaused (NERR_BASE+109) +#define NERR_LogonServerConflict (NERR_BASE+110) +#define NERR_LogonNoUserPath (NERR_BASE+111) +#define NERR_LogonScriptError (NERR_BASE+112) +#define NERR_StandaloneLogon (NERR_BASE+114) +#define NERR_LogonServerNotFound (NERR_BASE+115) +#define NERR_LogonDomainExists (NERR_BASE+116) +#define NERR_NonValidatedLogon (NERR_BASE+117) +#define NERR_ACFNotFound (NERR_BASE+119) +#define NERR_GroupNotFound (NERR_BASE+120) +#define NERR_UserNotFound (NERR_BASE+121) +#define NERR_ResourceNotFound (NERR_BASE+122) +#define NERR_GroupExists (NERR_BASE+123) +#define NERR_UserExists (NERR_BASE+124) +#define NERR_ResourceExists (NERR_BASE+125) +#define NERR_NotPrimary (NERR_BASE+126) +#define NERR_ACFNotLoaded (NERR_BASE+127) +#define NERR_ACFNoRoom (NERR_BASE+128) +#define NERR_ACFFileIOFail (NERR_BASE+129) +#define NERR_ACFTooManyLists (NERR_BASE+130) +#define NERR_UserLogon (NERR_BASE+131) +#define NERR_ACFNoParent (NERR_BASE+132) +#define NERR_CanNotGrowSegment (NERR_BASE+133) +#define NERR_SpeGroupOp (NERR_BASE+134) +#define NERR_NotInCache (NERR_BASE+135) +#define NERR_UserInGroup (NERR_BASE+136) +#define NERR_UserNotInGroup (NERR_BASE+137) +#define NERR_AccountUndefined (NERR_BASE+138) +#define NERR_AccountExpired (NERR_BASE+139) +#define NERR_InvalidWorkstation (NERR_BASE+140) +#define NERR_InvalidLogonHours (NERR_BASE+141) +#define NERR_PasswordExpired (NERR_BASE+142) +#define NERR_PasswordCantChange (NERR_BASE+143) +#define NERR_PasswordHistConflict (NERR_BASE+144) +#define NERR_PasswordTooShort (NERR_BASE+145) +#define NERR_PasswordTooRecent (NERR_BASE+146) +#define NERR_InvalidDatabase (NERR_BASE+147) +#define NERR_DatabaseUpToDate (NERR_BASE+148) +#define NERR_SyncRequired (NERR_BASE+149) +#define NERR_UseNotFound (NERR_BASE+150) +#define NERR_BadAsgType (NERR_BASE+151) +#define NERR_DeviceIsShared (NERR_BASE+152) +#define NERR_NoComputerName (NERR_BASE+170) +#define NERR_MsgAlreadyStarted (NERR_BASE+171) +#define NERR_MsgInitFailed (NERR_BASE+172) +#define NERR_NameNotFound (NERR_BASE+173) +#define NERR_AlreadyForwarded (NERR_BASE+174) +#define NERR_AddForwarded (NERR_BASE+175) +#define NERR_AlreadyExists (NERR_BASE+176) +#define NERR_TooManyNames (NERR_BASE+177) +#define NERR_DelComputerName (NERR_BASE+178) +#define NERR_LocalForward (NERR_BASE+179) +#define NERR_GrpMsgProcessor (NERR_BASE+180) +#define NERR_PausedRemote (NERR_BASE+181) +#define NERR_BadReceive (NERR_BASE+182) +#define NERR_NameInUse (NERR_BASE+183) +#define NERR_MsgNotStarted (NERR_BASE+184) +#define NERR_NotLocalName (NERR_BASE+185) +#define NERR_NoForwardName (NERR_BASE+186) +#define NERR_RemoteFull (NERR_BASE+187) +#define NERR_NameNotForwarded (NERR_BASE+188) +#define NERR_TruncatedBroadcast (NERR_BASE+189) +#define NERR_InvalidDevice (NERR_BASE+194) +#define NERR_WriteFault (NERR_BASE+195) +#define NERR_DuplicateName (NERR_BASE+197) +#define NERR_DeleteLater (NERR_BASE+198) +#define NERR_IncompleteDel (NERR_BASE+199) +#define NERR_MultipleNets (NERR_BASE+200) +#define NERR_NetNameNotFound (NERR_BASE+210) +#define NERR_DeviceNotShared (NERR_BASE+211) +#define NERR_ClientNameNotFound (NERR_BASE+212) +#define NERR_FileIdNotFound (NERR_BASE+214) +#define NERR_ExecFailure (NERR_BASE+215) +#define NERR_TmpFile (NERR_BASE+216) +#define NERR_TooMuchData (NERR_BASE+217) +#define NERR_DeviceShareConflict (NERR_BASE+218) +#define NERR_BrowserTableIncomplete (NERR_BASE+219) +#define NERR_NotLocalDomain (NERR_BASE+220) +#define NERR_DevInvalidOpCode (NERR_BASE+231) +#define NERR_DevNotFound (NERR_BASE+232) +#define NERR_DevNotOpen (NERR_BASE+233) +#define NERR_BadQueueDevString (NERR_BASE+234) +#define NERR_BadQueuePriority (NERR_BASE+235) +#define NERR_NoCommDevs (NERR_BASE+237) +#define NERR_QueueNotFound (NERR_BASE+238) +#define NERR_BadDevString (NERR_BASE+240) +#define NERR_BadDev (NERR_BASE+241) +#define NERR_InUseBySpooler (NERR_BASE+242) +#define NERR_CommDevInUse (NERR_BASE+243) +#define NERR_InvalidComputer (NERR_BASE+251) +#define NERR_MaxLenExceeded (NERR_BASE+254) +#define NERR_BadComponent (NERR_BASE+256) +#define NERR_CantType (NERR_BASE+257) +#define NERR_TooManyEntries (NERR_BASE+262) +#define NERR_ProfileFileTooBig (NERR_BASE+270) +#define NERR_ProfileOffset (NERR_BASE+271) +#define NERR_ProfileCleanup (NERR_BASE+272) +#define NERR_ProfileUnknownCmd (NERR_BASE+273) +#define NERR_ProfileLoadErr (NERR_BASE+274) +#define NERR_ProfileSaveErr (NERR_BASE+275) +#define NERR_LogOverflow (NERR_BASE+277) +#define NERR_LogFileChanged (NERR_BASE+278) +#define NERR_LogFileCorrupt (NERR_BASE+279) +#define NERR_SourceIsDir (NERR_BASE+280) +#define NERR_BadSource (NERR_BASE+281) +#define NERR_BadDest (NERR_BASE+282) +#define NERR_DifferentServers (NERR_BASE+283) +#define NERR_RunSrvPaused (NERR_BASE+285) +#define NERR_ErrCommRunSrv (NERR_BASE+289) +#define NERR_ErrorExecingGhost (NERR_BASE+291) +#define NERR_ShareNotFound (NERR_BASE+292) +#define NERR_InvalidLana (NERR_BASE+300) +#define NERR_OpenFiles (NERR_BASE+301) +#define NERR_ActiveConns (NERR_BASE+302) +#define NERR_BadPasswordCore (NERR_BASE+303) +#define NERR_DevInUse (NERR_BASE+304) +#define NERR_LocalDrive (NERR_BASE+305) +#define NERR_AlertExists (NERR_BASE+330) +#define NERR_TooManyAlerts (NERR_BASE+331) +#define NERR_NoSuchAlert (NERR_BASE+332) +#define NERR_BadRecipient (NERR_BASE+333) +#define NERR_AcctLimitExceeded (NERR_BASE+334) +#define NERR_InvalidLogSeek (NERR_BASE+340) +#define NERR_BadUasConfig (NERR_BASE+350) +#define NERR_InvalidUASOp (NERR_BASE+351) +#define NERR_LastAdmin (NERR_BASE+352) +#define NERR_DCNotFound (NERR_BASE+353) +#define NERR_LogonTrackingError (NERR_BASE+354) +#define NERR_NetlogonNotStarted (NERR_BASE+355) +#define NERR_CanNotGrowUASFile (NERR_BASE+356) +#define NERR_TimeDiffAtDC (NERR_BASE+357) +#define NERR_PasswordMismatch (NERR_BASE+358) +#define NERR_NoSuchServer (NERR_BASE+360) +#define NERR_NoSuchSession (NERR_BASE+361) +#define NERR_NoSuchConnection (NERR_BASE+362) +#define NERR_TooManyServers (NERR_BASE+363) +#define NERR_TooManySessions (NERR_BASE+364) +#define NERR_TooManyConnections (NERR_BASE+365) +#define NERR_TooManyFiles (NERR_BASE+366) +#define NERR_NoAlternateServers (NERR_BASE+367) +#define NERR_TryDownLevel (NERR_BASE+370) +#define NERR_UPSDriverNotStarted (NERR_BASE+380) +#define NERR_UPSInvalidConfig (NERR_BASE+381) +#define NERR_UPSInvalidCommPort (NERR_BASE+382) +#define NERR_UPSSignalAsserted (NERR_BASE+383) +#define NERR_UPSShutdownFailed (NERR_BASE+384) +#define NERR_BadDosRetCode (NERR_BASE+400) +#define NERR_ProgNeedsExtraMem (NERR_BASE+401) +#define NERR_BadDosFunction (NERR_BASE+402) +#define NERR_RemoteBootFailed (NERR_BASE+403) +#define NERR_BadFileCheckSum (NERR_BASE+404) +#define NERR_NoRplBootSystem (NERR_BASE+405) +#define NERR_RplLoadrNetBiosErr (NERR_BASE+406) +#define NERR_RplLoadrDiskErr (NERR_BASE+407) +#define NERR_ImageParamErr (NERR_BASE+408) +#define NERR_TooManyImageParams (NERR_BASE+409) +#define NERR_NonDosFloppyUsed (NERR_BASE+410) +#define NERR_RplBootRestart (NERR_BASE+411) +#define NERR_RplSrvrCallFailed (NERR_BASE+412) +#define NERR_CantConnectRplSrvr (NERR_BASE+413) +#define NERR_CantOpenImageFile (NERR_BASE+414) +#define NERR_CallingRplSrvr (NERR_BASE+415) +#define NERR_StartingRplBoot (NERR_BASE+416) +#define NERR_RplBootServiceTerm (NERR_BASE+417) +#define NERR_RplBootStartFailed (NERR_BASE+418) +#define NERR_RPL_CONNECTED (NERR_BASE+419) +#define NERR_BrowserConfiguredToNotRun (NERR_BASE+450) +#define NERR_RplNoAdaptersStarted (NERR_BASE+510) +#define NERR_RplBadRegistry (NERR_BASE+511) +#define NERR_RplBadDatabase (NERR_BASE+512) +#define NERR_RplRplfilesShare (NERR_BASE+513) +#define NERR_RplNotRplServer (NERR_BASE+514) +#define NERR_RplCannotEnum (NERR_BASE+515) +#define NERR_RplWkstaInfoCorrupted (NERR_BASE+516) +#define NERR_RplWkstaNotFound (NERR_BASE+517) +#define NERR_RplWkstaNameUnavailable (NERR_BASE+518) +#define NERR_RplProfileInfoCorrupted (NERR_BASE+519) +#define NERR_RplProfileNotFound (NERR_BASE+520) +#define NERR_RplProfileNameUnavailable (NERR_BASE+521) +#define NERR_RplProfileNotEmpty (NERR_BASE+522) +#define NERR_RplConfigInfoCorrupted (NERR_BASE+523) +#define NERR_RplConfigNotFound (NERR_BASE+524) +#define NERR_RplAdapterInfoCorrupted (NERR_BASE+525) +#define NERR_RplInternal (NERR_BASE+526) +#define NERR_RplVendorInfoCorrupted (NERR_BASE+527) +#define NERR_RplBootInfoCorrupted (NERR_BASE+528) +#define NERR_RplWkstaNeedsUserAcct (NERR_BASE+529) +#define NERR_RplNeedsRPLUSERAcct (NERR_BASE+530) +#define NERR_RplBootNotFound (NERR_BASE+531) +#define NERR_RplIncompatibleProfile (NERR_BASE+532) +#define NERR_RplAdapterNameUnavailable (NERR_BASE+533) +#define NERR_RplConfigNotEmpty (NERR_BASE+534) +#define NERR_RplBootInUse (NERR_BASE+535) +#define NERR_RplBackupDatabase (NERR_BASE+536) +#define NERR_RplAdapterNotFound (NERR_BASE+537) +#define NERR_RplVendorNotFound (NERR_BASE+538) +#define NERR_RplVendorNameUnavailable (NERR_BASE+539) +#define NERR_RplBootNameUnavailable (NERR_BASE+540) +#define NERR_RplConfigNameUnavailable (NERR_BASE+541) +#define MAX_NERR (NERR_BASE+899) +#endif diff --git a/winsup/w32api/include/lmerrlog.h b/winsup/w32api/include/lmerrlog.h new file mode 100644 index 000000000..7948af28f --- /dev/null +++ b/winsup/w32api/include/lmerrlog.h @@ -0,0 +1,207 @@ +#ifndef _LMERRLOG_H +#define _LMERRLOG_H +#ifdef __cplusplus +extern "C" { +#endif +#define ERRLOG_BASE 3100 +#define ERRLOG2_BASE 5700 +#define LOGFLAGS_FORWARD 0 +#define LOGFLAGS_BACKWARD 1 +#define LOGFLAGS_SEEK 2 +#define NELOG_Internal_Error ERRLOG_BASE +#define NELOG_Resource_Shortage (ERRLOG_BASE+1) +#define NELOG_Unable_To_Lock_Segment (ERRLOG_BASE+2) +#define NELOG_Unable_To_Unlock_Segment (ERRLOG_BASE+3) +#define NELOG_Uninstall_Service (ERRLOG_BASE+4) +#define NELOG_Init_Exec_Fail (ERRLOG_BASE+5) +#define NELOG_Ncb_Error (ERRLOG_BASE+6) +#define NELOG_Net_Not_Started (ERRLOG_BASE+7) +#define NELOG_Ioctl_Error (ERRLOG_BASE+8) +#define NELOG_System_Semaphore (ERRLOG_BASE+9) +#define NELOG_Init_OpenCreate_Err (ERRLOG_BASE+10) +#define NELOG_NetBios (ERRLOG_BASE+11) +#define NELOG_SMB_Illegal (ERRLOG_BASE+12) +#define NELOG_Service_Fail (ERRLOG_BASE+13) +#define NELOG_Entries_Lost (ERRLOG_BASE+14) +#define NELOG_Init_Seg_Overflow (ERRLOG_BASE+20) +#define NELOG_Srv_No_Mem_Grow (ERRLOG_BASE+21) +#define NELOG_Access_File_Bad (ERRLOG_BASE+22) +#define NELOG_Srvnet_Not_Started (ERRLOG_BASE+23) +#define NELOG_Init_Chardev_Err (ERRLOG_BASE+24) +#define NELOG_Remote_API (ERRLOG_BASE+25) +#define NELOG_Ncb_TooManyErr (ERRLOG_BASE+26) +#define NELOG_Mailslot_err (ERRLOG_BASE+27) +#define NELOG_ReleaseMem_Alert (ERRLOG_BASE+28) +#define NELOG_AT_cannot_write (ERRLOG_BASE+29) +#define NELOG_Cant_Make_Msg_File (ERRLOG_BASE+30) +#define NELOG_Exec_Netservr_NoMem (ERRLOG_BASE+31) +#define NELOG_Server_Lock_Failure (ERRLOG_BASE+32) +#define NELOG_Msg_Shutdown (ERRLOG_BASE+40) +#define NELOG_Msg_Sem_Shutdown (ERRLOG_BASE+41) +#define NELOG_Msg_Log_Err (ERRLOG_BASE+50) +#define NELOG_VIO_POPUP_ERR (ERRLOG_BASE+51) +#define NELOG_Msg_Unexpected_SMB_Type (ERRLOG_BASE+52) +#define NELOG_Wksta_Infoseg (ERRLOG_BASE+60) +#define NELOG_Wksta_Compname (ERRLOG_BASE+61) +#define NELOG_Wksta_BiosThreadFailure (ERRLOG_BASE+62) +#define NELOG_Wksta_IniSeg (ERRLOG_BASE+63) +#define NELOG_Wksta_HostTab_Full (ERRLOG_BASE+64) +#define NELOG_Wksta_Bad_Mailslot_SMB (ERRLOG_BASE+65) +#define NELOG_Wksta_UASInit (ERRLOG_BASE+66) +#define NELOG_Wksta_SSIRelogon (ERRLOG_BASE+67) +#define NELOG_Build_Name (ERRLOG_BASE+70) +#define NELOG_Name_Expansion (ERRLOG_BASE+71) +#define NELOG_Message_Send (ERRLOG_BASE+72) +#define NELOG_Mail_Slt_Err (ERRLOG_BASE+73) +#define NELOG_AT_cannot_read (ERRLOG_BASE+74) +#define NELOG_AT_sched_err (ERRLOG_BASE+75) +#define NELOG_AT_schedule_file_created (ERRLOG_BASE+76) +#define NELOG_Srvnet_NB_Open (ERRLOG_BASE+77) +#define NELOG_AT_Exec_Err (ERRLOG_BASE+78) +#define NELOG_Lazy_Write_Err (ERRLOG_BASE+80) +#define NELOG_HotFix (ERRLOG_BASE+81) +#define NELOG_HardErr_From_Server (ERRLOG_BASE+82) +#define NELOG_LocalSecFail1 (ERRLOG_BASE+83) +#define NELOG_LocalSecFail2 (ERRLOG_BASE+84) +#define NELOG_LocalSecFail3 (ERRLOG_BASE+85) +#define NELOG_LocalSecGeneralFail (ERRLOG_BASE+86) +#define NELOG_NetWkSta_Internal_Error (ERRLOG_BASE+90) +#define NELOG_NetWkSta_No_Resource (ERRLOG_BASE+91) +#define NELOG_NetWkSta_SMB_Err (ERRLOG_BASE+92) +#define NELOG_NetWkSta_VC_Err (ERRLOG_BASE+93) +#define NELOG_NetWkSta_Stuck_VC_Err (ERRLOG_BASE+94) +#define NELOG_NetWkSta_NCB_Err (ERRLOG_BASE+95) +#define NELOG_NetWkSta_Write_Behind_Err (ERRLOG_BASE+96) +#define NELOG_NetWkSta_Reset_Err (ERRLOG_BASE+97) +#define NELOG_NetWkSta_Too_Many (ERRLOG_BASE+98) +#define NELOG_Srv_Thread_Failure (ERRLOG_BASE+104) +#define NELOG_Srv_Close_Failure (ERRLOG_BASE+105) +#define NELOG_ReplUserCurDir (ERRLOG_BASE+106) +#define NELOG_ReplCannotMasterDir (ERRLOG_BASE+107) +#define NELOG_ReplUpdateError (ERRLOG_BASE+108) +#define NELOG_ReplLostMaster (ERRLOG_BASE+109) +#define NELOG_NetlogonAuthDCFail (ERRLOG_BASE+110) +#define NELOG_ReplLogonFailed (ERRLOG_BASE+111) +#define NELOG_ReplNetErr (ERRLOG_BASE+112) +#define NELOG_ReplMaxFiles (ERRLOG_BASE+113) +#define NELOG_ReplMaxTreeDepth (ERRLOG_BASE+114) +#define NELOG_ReplBadMsg (ERRLOG_BASE+115) +#define NELOG_ReplSysErr (ERRLOG_BASE+116) +#define NELOG_ReplUserLoged (ERRLOG_BASE+117) +#define NELOG_ReplBadImport (ERRLOG_BASE+118) +#define NELOG_ReplBadExport (ERRLOG_BASE+119) +#define NELOG_ReplSignalFileErr (ERRLOG_BASE+120) +#define NELOG_DiskFT (ERRLOG_BASE+121) +#define NELOG_ReplAccessDenied (ERRLOG_BASE+122) +#define NELOG_NetlogonFailedPrimary (ERRLOG_BASE+123) +#define NELOG_NetlogonPasswdSetFailed (ERRLOG_BASE+124) +#define NELOG_NetlogonTrackingError (ERRLOG_BASE+125) +#define NELOG_NetlogonSyncError (ERRLOG_BASE+126) +#define NELOG_UPS_PowerOut (ERRLOG_BASE+130) +#define NELOG_UPS_Shutdown (ERRLOG_BASE+131) +#define NELOG_UPS_CmdFileError (ERRLOG_BASE+132) +#define NELOG_UPS_CannotOpenDriver (ERRLOG_BASE+133) +#define NELOG_UPS_PowerBack (ERRLOG_BASE+134) +#define NELOG_UPS_CmdFileConfig (ERRLOG_BASE+135) +#define NELOG_UPS_CmdFileExec (ERRLOG_BASE+136) +#define NELOG_Missing_Parameter (ERRLOG_BASE+150) +#define NELOG_Invalid_Config_Line (ERRLOG_BASE+151) +#define NELOG_Invalid_Config_File (ERRLOG_BASE+152) +#define NELOG_File_Changed (ERRLOG_BASE+153) +#define NELOG_Files_Dont_Fit (ERRLOG_BASE+154) +#define NELOG_Wrong_DLL_Version (ERRLOG_BASE+155) +#define NELOG_Error_in_DLL (ERRLOG_BASE+156) +#define NELOG_System_Error (ERRLOG_BASE+157) +#define NELOG_FT_ErrLog_Too_Large (ERRLOG_BASE+158) +#define NELOG_FT_Update_In_Progress (ERRLOG_BASE+159) +#define NELOG_OEM_Code (ERRLOG_BASE+199) +#define NELOG_NetlogonSSIInitError ERRLOG2_BASE +#define NELOG_NetlogonFailedToUpdateTrustList (ERRLOG2_BASE+1) +#define NELOG_NetlogonFailedToAddRpcInterface (ERRLOG2_BASE+2) +#define NELOG_NetlogonFailedToReadMailslot (ERRLOG2_BASE+3) +#define NELOG_NetlogonFailedToRegisterSC (ERRLOG2_BASE+4) +#define NELOG_NetlogonChangeLogCorrupt (ERRLOG2_BASE+5) +#define NELOG_NetlogonFailedToCreateShare (ERRLOG2_BASE+6) +#define NELOG_NetlogonDownLevelLogonFailed (ERRLOG2_BASE+7) +#define NELOG_NetlogonDownLevelLogoffFailed (ERRLOG2_BASE+8) +#define NELOG_NetlogonNTLogonFailed (ERRLOG2_BASE+9) +#define NELOG_NetlogonNTLogoffFailed (ERRLOG2_BASE+10) +#define NELOG_NetlogonPartialSyncCallSuccess (ERRLOG2_BASE+11) +#define NELOG_NetlogonPartialSyncCallFailed (ERRLOG2_BASE+12) +#define NELOG_NetlogonFullSyncCallSuccess (ERRLOG2_BASE+13) +#define NELOG_NetlogonFullSyncCallFailed (ERRLOG2_BASE+14) +#define NELOG_NetlogonPartialSyncSuccess (ERRLOG2_BASE+15) +#define NELOG_NetlogonPartialSyncFailed (ERRLOG2_BASE+16) +#define NELOG_NetlogonFullSyncSuccess (ERRLOG2_BASE+17) +#define NELOG_NetlogonFullSyncFailed (ERRLOG2_BASE+18) +#define NELOG_NetlogonAuthNoDomainController (ERRLOG2_BASE+19) +#define NELOG_NetlogonAuthNoTrustLsaSecret (ERRLOG2_BASE+20) +#define NELOG_NetlogonAuthNoTrustSamAccount (ERRLOG2_BASE+21) +#define NELOG_NetlogonServerAuthFailed (ERRLOG2_BASE+22) +#define NELOG_NetlogonServerAuthNoTrustSamAccount (ERRLOG2_BASE+23) +#define NELOG_FailedToRegisterSC (ERRLOG2_BASE+24) +#define NELOG_FailedToSetServiceStatus (ERRLOG2_BASE+25) +#define NELOG_FailedToGetComputerName (ERRLOG2_BASE+26) +#define NELOG_DriverNotLoaded (ERRLOG2_BASE+27) +#define NELOG_NoTranportLoaded (ERRLOG2_BASE+28) +#define NELOG_NetlogonFailedDomainDelta (ERRLOG2_BASE+29) +#define NELOG_NetlogonFailedGlobalGroupDelta (ERRLOG2_BASE+30) +#define NELOG_NetlogonFailedLocalGroupDelta (ERRLOG2_BASE+31) +#define NELOG_NetlogonFailedUserDelta (ERRLOG2_BASE+32) +#define NELOG_NetlogonFailedPolicyDelta (ERRLOG2_BASE+33) +#define NELOG_NetlogonFailedTrustedDomainDelta (ERRLOG2_BASE+34) +#define NELOG_NetlogonFailedAccountDelta (ERRLOG2_BASE+35) +#define NELOG_NetlogonFailedSecretDelta (ERRLOG2_BASE+36) +#define NELOG_NetlogonSystemError (ERRLOG2_BASE+37) +#define NELOG_NetlogonDuplicateMachineAccounts (ERRLOG2_BASE+38) +#define NELOG_NetlogonTooManyGlobalGroups (ERRLOG2_BASE+39) +#define NELOG_NetlogonBrowserDriver (ERRLOG2_BASE+40) +#define NELOG_NetlogonAddNameFailure (ERRLOG2_BASE+41) +#define NELOG_RplMessages (ERRLOG2_BASE+42) +#define NELOG_RplXnsBoot (ERRLOG2_BASE+43) +#define NELOG_RplSystem (ERRLOG2_BASE+44) +#define NELOG_RplWkstaTimeout (ERRLOG2_BASE+45) +#define NELOG_RplWkstaFileOpen (ERRLOG2_BASE+46) +#define NELOG_RplWkstaFileRead (ERRLOG2_BASE+47) +#define NELOG_RplWkstaMemory (ERRLOG2_BASE+48) +#define NELOG_RplWkstaFileChecksum (ERRLOG2_BASE+49) +#define NELOG_RplWkstaFileLineCount (ERRLOG2_BASE+50) +#define NELOG_RplWkstaBbcFile (ERRLOG2_BASE+51) +#define NELOG_RplWkstaFileSize (ERRLOG2_BASE+52) +#define NELOG_RplWkstaInternal (ERRLOG2_BASE+53) +#define NELOG_RplWkstaWrongVersion (ERRLOG2_BASE+54) +#define NELOG_RplWkstaNetwork (ERRLOG2_BASE+55) +#define NELOG_RplAdapterResource (ERRLOG2_BASE+56) +#define NELOG_RplFileCopy (ERRLOG2_BASE+57) +#define NELOG_RplFileDelete (ERRLOG2_BASE+58) +#define NELOG_RplFilePerms (ERRLOG2_BASE+59) +#define NELOG_RplCheckConfigs (ERRLOG2_BASE+60) +#define NELOG_RplCreateProfiles (ERRLOG2_BASE+61) +#define NELOG_RplRegistry (ERRLOG2_BASE+62) +#define NELOG_RplReplaceRPLDISK (ERRLOG2_BASE+63) +#define NELOG_RplCheckSecurity (ERRLOG2_BASE+64) +#define NELOG_RplBackupDatabase (ERRLOG2_BASE+65) +#define NELOG_RplInitDatabase (ERRLOG2_BASE+66) +#define NELOG_RplRestoreDatabaseFailure (ERRLOG2_BASE+67) +#define NELOG_RplRestoreDatabaseSuccess (ERRLOG2_BASE+68) +#define NELOG_RplInitRestoredDatabase (ERRLOG2_BASE+69) +#define NELOG_NetlogonSessionTypeWrong (ERRLOG2_BASE+70) +#define REVISED_ERROR_LOG_STRUCT +typedef struct _ERROR_LOG { + DWORD el_len; + DWORD el_reserved; + DWORD el_time; + DWORD el_error; + LPWSTR el_name; + LPWSTR el_text; + LPBYTE el_data; + DWORD el_data_size; + DWORD el_nstrings; +} ERROR_LOG,*PERROR_LOG,*LPERROR_LOG; +NET_API_STATUS WINAPI NetErrorLogClear(LPCWSTR,LPCWSTR,LPBYTE); +NET_API_STATUS WINAPI NetErrorLogRead(LPCWSTR,LPWSTR,LPHLOG,DWORD,LPDWORD,DWORD,DWORD,LPBYTE*,DWORD,LPDWORD,LPDWORD); +NET_API_STATUS WINAPI NetErrorLogWrite(LPBYTE,DWORD,LPCWSTR,LPBYTE,DWORD,LPBYTE,DWORD,LPBYTE); +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/lmmsg.h b/winsup/w32api/include/lmmsg.h new file mode 100644 index 000000000..01689812e --- /dev/null +++ b/winsup/w32api/include/lmmsg.h @@ -0,0 +1,23 @@ +#ifndef _LMMSG_H +#define _LMMSG_H +#ifdef __cplusplus +extern "C" { +#endif +#define MSGNAME_NOT_FORWARDED 0 +#define MSGNAME_FORWARDED_TO 4 +#define MSGNAME_FORWARDED_FROM 16 +typedef struct _MSG_INFO_0 { LPWSTR msgi0_name; }MSG_INFO_0,*PMSG_INFO_0,*LPMSG_INFO_0; +typedef struct _MSG_INFO_1 { + LPWSTR msgi1_name; + DWORD msgi1_forward_flag; + LPWSTR msgi1_forward; +}MSG_INFO_1,*PMSG_INFO_1,*LPMSG_INFO_1; +NET_API_STATUS WINAPI NetMessageBufferSend(LPCWSTR,LPCWSTR,LPCWSTR,PBYTE,DWORD); +NET_API_STATUS WINAPI NetMessageNameAdd(LPCWSTR,LPCWSTR); +NET_API_STATUS WINAPI NetMessageNameDel(LPCWSTR,LPCWSTR); +NET_API_STATUS WINAPI NetMessageNameEnum(LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); +NET_API_STATUS WINAPI NetMessageNameGetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE*); +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/lmremutl.h b/winsup/w32api/include/lmremutl.h new file mode 100644 index 000000000..553bdbd5b --- /dev/null +++ b/winsup/w32api/include/lmremutl.h @@ -0,0 +1,41 @@ +#ifndef _LMREMUTL_H +#define _LMREMUTL_H +#ifdef __cplusplus +extern "C" { +#endif +#define SUPPORTS_REMOTE_ADMIN_PROTOCOL 2 +#define SUPPORTS_RPC 4 +#define SUPPORTS_SAM_PROTOCOL 8 +#define SUPPORTS_UNICODE 16 +#define SUPPORTS_LOCAL 32 +#define SUPPORTS_ANY 0xFFFFFFFF +#define NO_PERMISSION_REQUIRED 1 +#define ALLOCATE_RESPONSE 2 +#define USE_SPECIFIC_TRANSPORT 0x80000000 +#ifndef DESC_CHAR_UNICODE +typedef CHAR DESC_CHAR; +#else +typedef WCHAR DESC_CHAR; +#endif +typedef DESC_CHAR *LPDESC; +typedef struct _TIME_OF_DAY_INFO { + DWORD tod_elapsedt; + DWORD tod_msecs; + DWORD tod_hours; + DWORD tod_mins; + DWORD tod_secs; + DWORD tod_hunds; + LONG tod_timezone; + DWORD tod_tinterval; + DWORD tod_day; + DWORD tod_month; + DWORD tod_year; + DWORD tod_weekday; +} TIME_OF_DAY_INFO,*PTIME_OF_DAY_INFO,*LPTIME_OF_DAY_INFO; +NET_API_STATUS WINAPI NetRemoteTOD(LPCWSTR,PBYTE*); +NET_API_STATUS WINAPI NetRemoteComputerSupports(LPCWSTR,DWORD,PDWORD); +NET_API_STATUS RxRemoteApi(DWORD,LPCWSTR,LPDESC,LPDESC,LPDESC,LPDESC,LPDESC,LPDESC,LPDESC,DWORD,... ); +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/lmrepl.h b/winsup/w32api/include/lmrepl.h new file mode 100644 index 000000000..f0ca544a7 --- /dev/null +++ b/winsup/w32api/include/lmrepl.h @@ -0,0 +1,90 @@ +#ifndef _LMREPL_H +#define _LMREPL_H +#ifdef __cplusplus +extern "C" { +#endif +#define REPL_ROLE_EXPORT 1 +#define REPL_ROLE_IMPORT 2 +#define REPL_ROLE_BOTH 3 +#define REPL_INTERVAL_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+0) +#define REPL_PULSE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+1) +#define REPL_GUARDTIME_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+2) +#define REPL_RANDOM_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+3) +#define REPL_UNLOCK_NOFORCE 0 +#define REPL_UNLOCK_FORCE 1 +#define REPL_STATE_OK 0 +#define REPL_STATE_NO_MASTER 1 +#define REPL_STATE_NO_SYNC 2 +#define REPL_STATE_NEVER_REPLICATED 3 +#define REPL_INTEGRITY_FILE 1 +#define REPL_INTEGRITY_TREE 2 +#define REPL_EXTENT_FILE 1 +#define REPL_EXTENT_TREE 2 +#define REPL_EXPORT_INTEGRITY_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+0) +#define REPL_EXPORT_EXTENT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+1) +typedef struct _REPL_INFO_0 { + DWORD rp0_role; + LPWSTR rp0_exportpath; + LPWSTR rp0_exportlist; + LPWSTR rp0_importpath; + LPWSTR rp0_importlist; + LPWSTR rp0_logonusername; + DWORD rp0_interval; + DWORD rp0_pulse; + DWORD rp0_guardtime; + DWORD rp0_random; +} REPL_INFO_0,*PREPL_INFO_0,*LPREPL_INFO_0; +typedef struct _REPL_INFO_1000 { DWORD rp1000_interval; } REPL_INFO_1000,*PREPL_INFO_1000,*LPREPL_INFO_1000; +typedef struct _REPL_INFO_1001 { DWORD rp1001_pulse; } REPL_INFO_1001,*PREPL_INFO_1001,*LPREPL_INFO_1001; +typedef struct _REPL_INFO_1002 { DWORD rp1002_guardtime; } REPL_INFO_1002,*PREPL_INFO_1002,*LPREPL_INFO_1002; +typedef struct _REPL_INFO_1003 { DWORD rp1003_random; } REPL_INFO_1003,*PREPL_INFO_1003,*LPREPL_INFO_1003; + +NET_API_STATUS WINAPI NetReplGetInfo(LPCWSTR,DWORD,PBYTE*); +NET_API_STATUS WINAPI NetReplSetInfo(LPCWSTR,DWORD,PBYTE,PDWORD); +typedef struct _REPL_EDIR_INFO_0 { + LPWSTR rped0_dirname; +} REPL_EDIR_INFO_0,*PREPL_EDIR_INFO_0,*LPREPL_EDIR_INFO_0; +typedef struct _REPL_EDIR_INFO_1 { + LPWSTR rped1_dirname; + DWORD rped1_integrity; + DWORD rped1_extent; +} REPL_EDIR_INFO_1,*PREPL_EDIR_INFO_1,*LPREPL_EDIR_INFO_1; +typedef struct _REPL_EDIR_INFO_2 { + LPWSTR rped2_dirname; + DWORD rped2_integrity; + DWORD rped2_extent; + DWORD rped2_lockcount; + DWORD rped2_locktime; +} REPL_EDIR_INFO_2,*PREPL_EDIR_INFO_2,*LPREPL_EDIR_INFO_2; +typedef struct _REPL_EDIR_INFO_1000 { + DWORD rped1000_integrity; +} REPL_EDIR_INFO_1000,*PREPL_EDIR_INFO_1000,*LPREPL_EDIR_INFO_1000; +typedef struct _REPL_EDIR_INFO_1001 { + DWORD rped1001_extent; +} REPL_EDIR_INFO_1001,*PREPL_EDIR_INFO_1001,*LPREPL_EDIR_INFO_1001; +typedef struct _REPL_IDIR_INFO_0 { LPWSTR rpid0_dirname; } REPL_IDIR_INFO_0,*PREPL_IDIR_INFO_0,*LPREPL_IDIR_INFO_0; +typedef struct _REPL_IDIR_INFO_1 { + LPWSTR rpid1_dirname; + DWORD rpid1_state; + LPWSTR rpid1_mastername; + DWORD rpid1_last_update_time; + DWORD rpid1_lockcount; + DWORD rpid1_locktime; +} REPL_IDIR_INFO_1,*PREPL_IDIR_INFO_1,*LPREPL_IDIR_INFO_1; +NET_API_STATUS WINAPI NetReplExportDirAdd(LPCWSTR,DWORD,PBYTE,PDWORD); +NET_API_STATUS WINAPI NetReplExportDirDel(LPCWSTR,LPCWSTR); +NET_API_STATUS WINAPI NetReplExportDirEnum(LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); +NET_API_STATUS WINAPI NetReplExportDirGetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE*); +NET_API_STATUS WINAPI NetReplExportDirSetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE,PDWORD); +NET_API_STATUS WINAPI NetReplExportDirLock(LPCWSTR,LPCWSTR); +NET_API_STATUS WINAPI NetReplExportDirUnlock(LPCWSTR,LPCWSTR,DWORD); +NET_API_STATUS WINAPI NetReplImportDirAdd(LPCWSTR,DWORD,PBYTE,PDWORD); +NET_API_STATUS WINAPI NetReplImportDirDel(LPCWSTR,LPCWSTR); +NET_API_STATUS WINAPI NetReplImportDirEnum(LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); +NET_API_STATUS WINAPI NetReplImportDirGetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE*); +NET_API_STATUS WINAPI NetReplImportDirLock(LPCWSTR,LPCWSTR); +NET_API_STATUS WINAPI NetReplImportDirUnlock(LPCWSTR,LPCWSTR,DWORD); +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/lmserver.h b/winsup/w32api/include/lmserver.h new file mode 100644 index 000000000..0064d0baf --- /dev/null +++ b/winsup/w32api/include/lmserver.h @@ -0,0 +1,602 @@ +#ifndef _LMSERVER_H +#define _LMSERVER_H +#ifdef __cplusplus +extern "C" { +#endif +#include <winsvc.h> + +typedef struct _SERVER_INFO_100 { +DWORD sv100_platform_id; +LPTSTR sv100_name; +} SERVER_INFO_100,*PSERVER_INFO_100,*LPSERVER_INFO_100; +typedef struct _SERVER_INFO_101 { +DWORD sv101_platform_id; +LPTSTR sv101_name; +DWORD sv101_version_major; +DWORD sv101_version_minor; +DWORD sv101_type; +LPTSTR sv101_comment; +} SERVER_INFO_101,*PSERVER_INFO_101,*LPSERVER_INFO_101; +typedef struct _SERVER_INFO_102 { +DWORD sv102_platform_id; +LPTSTR sv102_name; +DWORD sv102_version_major; +DWORD sv102_version_minor; +DWORD sv102_type; +LPTSTR sv102_comment; +DWORD sv102_users; +LONG sv102_disc; +BOOL sv102_hidden; +DWORD sv102_announce; +DWORD sv102_anndelta; +DWORD sv102_licenses; +LPTSTR sv102_userpath; +} SERVER_INFO_102,*PSERVER_INFO_102,*LPSERVER_INFO_102; +typedef struct _SERVER_INFO_402 { +DWORD sv402_ulist_mtime; +DWORD sv402_glist_mtime; +DWORD sv402_alist_mtime; +LPTSTR sv402_alerts; +DWORD sv402_security; +DWORD sv402_numadmin; +DWORD sv402_lanmask; +LPTSTR sv402_guestacct; +DWORD sv402_chdevs; +DWORD sv402_chdevq; +DWORD sv402_chdevjobs; +DWORD sv402_connections; +DWORD sv402_shares; +DWORD sv402_openfiles; +DWORD sv402_sessopens; +DWORD sv402_sessvcs; +DWORD sv402_sessreqs; +DWORD sv402_opensearch; +DWORD sv402_activelocks; +DWORD sv402_numreqbuf; +DWORD sv402_sizreqbuf; +DWORD sv402_numbigbuf; +DWORD sv402_numfiletasks; +DWORD sv402_alertsched; +DWORD sv402_erroralert; +DWORD sv402_logonalert; +DWORD sv402_accessalert; +DWORD sv402_diskalert; +DWORD sv402_netioalert; +DWORD sv402_maxauditsz; +LPTSTR sv402_srvheuristics; +} SERVER_INFO_402,*PSERVER_INFO_402,*LPSERVER_INFO_402; +typedef struct _SERVER_INFO_403 { +DWORD sv403_ulist_mtime; +DWORD sv403_glist_mtime; +DWORD sv403_alist_mtime; +LPTSTR sv403_alerts; +DWORD sv403_security; +DWORD sv403_numadmin; +DWORD sv403_lanmask; +LPTSTR sv403_guestacct; +DWORD sv403_chdevs; +DWORD sv403_chdevq; +DWORD sv403_chdevjobs; +DWORD sv403_connections; +DWORD sv403_shares; +DWORD sv403_openfiles; +DWORD sv403_sessopens; +DWORD sv403_sessvcs; +DWORD sv403_sessreqs; +DWORD sv403_opensearch; +DWORD sv403_activelocks; +DWORD sv403_numreqbuf; +DWORD sv403_sizreqbuf; +DWORD sv403_numbigbuf; +DWORD sv403_numfiletasks; +DWORD sv403_alertsched; +DWORD sv403_erroralert; +DWORD sv403_logonalert; +DWORD sv403_accessalert; +DWORD sv403_diskalert; +DWORD sv403_netioalert; +DWORD sv403_maxauditsz; +LPTSTR sv403_srvheuristics; +DWORD sv403_auditedevents; +DWORD sv403_autoprofile; +LPTSTR sv403_autopath; +} SERVER_INFO_403,*PSERVER_INFO_403,*LPSERVER_INFO_403; +typedef struct _SERVER_INFO_502 { +DWORD sv502_sessopens; +DWORD sv502_sessvcs; +DWORD sv502_opensearch; +DWORD sv502_sizreqbuf; +DWORD sv502_initworkitems; +DWORD sv502_maxworkitems; +DWORD sv502_rawworkitems; +DWORD sv502_irpstacksize; +DWORD sv502_maxrawbuflen; +DWORD sv502_sessusers; +DWORD sv502_sessconns; +DWORD sv502_maxpagedmemoryusage; +DWORD sv502_maxnonpagedmemoryusage; +BOOL sv502_enablesoftcompat; +BOOL sv502_enableforcedlogoff; +BOOL sv502_timesource; +BOOL sv502_acceptdownlevelapis; +BOOL sv502_lmannounce; +} SERVER_INFO_502,*PSERVER_INFO_502,*LPSERVER_INFO_502; +typedef struct _SERVER_INFO_503 { +DWORD sv503_sessopens; +DWORD sv503_sessvcs; +DWORD sv503_opensearch; +DWORD sv503_sizreqbuf; +DWORD sv503_initworkitems; +DWORD sv503_maxworkitems; +DWORD sv503_rawworkitems; +DWORD sv503_irpstacksize; +DWORD sv503_maxrawbuflen; +DWORD sv503_sessusers; +DWORD sv503_sessconns; +DWORD sv503_maxpagedmemoryusage; +DWORD sv503_maxnonpagedmemoryusage; +BOOL sv503_enablesoftcompat; +BOOL sv503_enableforcedlogoff; +BOOL sv503_timesource; +BOOL sv503_acceptdownlevelapis; +BOOL sv503_lmannounce; +LPTSTR sv503_domain; +DWORD sv503_maxcopyreadlen; +DWORD sv503_maxcopywritelen; +DWORD sv503_minkeepsearch; +DWORD sv503_maxkeepsearch; +DWORD sv503_minkeepcomplsearch; +DWORD sv503_maxkeepcomplsearch; +DWORD sv503_threadcountadd; +DWORD sv503_numblockthreads; +DWORD sv503_scavtimeout; +DWORD sv503_minrcvqueue; +DWORD sv503_minfreeworkitems; +DWORD sv503_xactmemsize; +DWORD sv503_threadpriority; +DWORD sv503_maxmpxct; +DWORD sv503_oplockbreakwait; +DWORD sv503_oplockbreakresponsewait; +BOOL sv503_enableoplocks; +BOOL sv503_enableoplockforceclose; +BOOL sv503_enablefcbopens; +BOOL sv503_enableraw; +BOOL sv503_enablesharednetdrives; +DWORD sv503_minfreeconnections; +DWORD sv503_maxfreeconnections; +} SERVER_INFO_503,*PSERVER_INFO_503,*LPSERVER_INFO_503; +typedef struct _SERVER_INFO_599 { +DWORD sv599_sessopens; +DWORD sv599_sessvcs; +DWORD sv599_opensearch; +DWORD sv599_sizreqbuf; +DWORD sv599_initworkitems; +DWORD sv599_maxworkitems; +DWORD sv599_rawworkitems; +DWORD sv599_irpstacksize; +DWORD sv599_maxrawbuflen; +DWORD sv599_sessusers; +DWORD sv599_sessconns; +DWORD sv599_maxpagedmemoryusage; +DWORD sv599_maxnonpagedmemoryusage; +BOOL sv599_enablesoftcompat; +BOOL sv599_enableforcedlogoff; +BOOL sv599_timesource; +BOOL sv599_acceptdownlevelapis; +BOOL sv599_lmannounce; +LPTSTR sv599_domain; +DWORD sv599_maxcopyreadlen; +DWORD sv599_maxcopywritelen; +DWORD sv599_minkeepsearch; +DWORD sv599_maxkeepsearch; +DWORD sv599_minkeepcomplsearch; +DWORD sv599_maxkeepcomplsearch; +DWORD sv599_threadcountadd; +DWORD sv599_numblockthreads; +DWORD sv599_scavtimeout; +DWORD sv599_minrcvqueue; +DWORD sv599_minfreeworkitems; +DWORD sv599_xactmemsize; +DWORD sv599_threadpriority; +DWORD sv599_maxmpxct; +DWORD sv599_oplockbreakwait; +DWORD sv599_oplockbreakresponsewait; +BOOL sv599_enableoplocks; +BOOL sv599_enableoplockforceclose; +BOOL sv599_enablefcbopens; +BOOL sv599_enableraw; +BOOL sv599_enablesharednetdrives; +DWORD sv599_minfreeconnections; +DWORD sv599_maxfreeconnections; +DWORD sv599_initsesstable; +DWORD sv599_initconntable; +DWORD sv599_initfiletable; +DWORD sv599_initsearchtable; +DWORD sv599_alertschedule; +DWORD sv599_errorthreshold; +DWORD sv599_networkerrorthreshold; +DWORD sv599_diskspacethreshold; +DWORD sv599_reserved; +DWORD sv599_maxlinkdelay; +DWORD sv599_minlinkthroughput; +DWORD sv599_linkinfovalidtime; +DWORD sv599_scavqosinfoupdatetime; +DWORD sv599_maxworkitemidletime; +} SERVER_INFO_599,*PSERVER_INFO_599,*LPSERVER_INFO_599; +typedef struct _SERVER_INFO_598 { +DWORD sv598_maxrawworkitems; +DWORD sv598_maxthreadsperqueue; +DWORD sv598_producttype; +DWORD sv598_serversize; +DWORD sv598_connectionlessautodisc; +DWORD sv598_sharingviolationretries; +DWORD sv598_sharingviolationdelay; +DWORD sv598_maxglobalopensearch; +DWORD sv598_removeduplicatesearches; +DWORD sv598_lockviolationoffset; +DWORD sv598_lockviolationdelay; +DWORD sv598_mdlreadswitchover; +DWORD sv598_cachedopenlimit; +DWORD sv598_otherqueueaffinity; +BOOL sv598_restrictnullsessaccess; +BOOL sv598_enablewfw311directipx; +DWORD sv598_queuesamplesecs; +DWORD sv598_balancecount; +DWORD sv598_preferredaffinity; +DWORD sv598_maxfreerfcbs; +DWORD sv598_maxfreemfcbs; +DWORD sv598_maxfreelfcbs; +DWORD sv598_maxfreepagedpoolchunks; +DWORD sv598_minpagedpoolchunksize; +DWORD sv598_maxpagedpoolchunksize; +BOOL sv598_sendsfrompreferredprocessor; +} SERVER_INFO_598,*PSERVER_INFO_598,*LPSERVER_INFO_598; +typedef struct _SERVER_INFO_1005 {LPTSTR sv1005_comment; } SERVER_INFO_1005,*PSERVER_INFO_1005,*LPSERVER_INFO_1005; +typedef struct _SERVER_INFO_1107 { DWORD sv1107_users; } SERVER_INFO_1107,*PSERVER_INFO_1107,*LPSERVER_INFO_1107; +typedef struct _SERVER_INFO_1010 { LONG sv1010_disc; } SERVER_INFO_1010,*PSERVER_INFO_1010,*LPSERVER_INFO_1010; +typedef struct _SERVER_INFO_1016 { BOOL sv1016_hidden; } SERVER_INFO_1016,*PSERVER_INFO_1016,*LPSERVER_INFO_1016; +typedef struct _SERVER_INFO_1017 { DWORD sv1017_announce; } SERVER_INFO_1017,*PSERVER_INFO_1017,*LPSERVER_INFO_1017; +typedef struct _SERVER_INFO_1018 { DWORD sv1018_anndelta; } SERVER_INFO_1018,*PSERVER_INFO_1018,*LPSERVER_INFO_1018; +typedef struct _SERVER_INFO_1501 { DWORD sv1501_sessopens; } SERVER_INFO_1501,*PSERVER_INFO_1501,*LPSERVER_INFO_1501; +typedef struct _SERVER_INFO_1502 { DWORD sv1502_sessvcs; } SERVER_INFO_1502,*PSERVER_INFO_1502,*LPSERVER_INFO_1502; +typedef struct _SERVER_INFO_1503 { DWORD sv1503_opensearch; } SERVER_INFO_1503,*PSERVER_INFO_1503,*LPSERVER_INFO_1503; +typedef struct _SERVER_INFO_1506 { DWORD sv1506_maxworkitems; } SERVER_INFO_1506,*PSERVER_INFO_1506,*LPSERVER_INFO_1506; +typedef struct _SERVER_INFO_1509 { DWORD sv1509_maxrawbuflen; } SERVER_INFO_1509,*PSERVER_INFO_1509,*LPSERVER_INFO_1509; +typedef struct _SERVER_INFO_1510 { DWORD sv1510_sessusers; } SERVER_INFO_1510,*PSERVER_INFO_1510,*LPSERVER_INFO_1510; +typedef struct _SERVER_INFO_1511 { DWORD sv1511_sessconns; } SERVER_INFO_1511,*PSERVER_INFO_1511,*LPSERVER_INFO_1511; +typedef struct _SERVER_INFO_1512 { DWORD sv1512_maxnonpagedmemoryusage; } SERVER_INFO_1512,*PSERVER_INFO_1512,*LPSERVER_INFO_1512; +typedef struct _SERVER_INFO_1513 { DWORD sv1513_maxpagedmemoryusage; } SERVER_INFO_1513,*PSERVER_INFO_1513,*LPSERVER_INFO_1513; +typedef struct _SERVER_INFO_1514 { BOOL sv1514_enablesoftcompat; } SERVER_INFO_1514,*PSERVER_INFO_1514,*LPSERVER_INFO_1514; +typedef struct _SERVER_INFO_1515 { BOOL sv1515_enableforcedlogoff; } SERVER_INFO_1515,*PSERVER_INFO_1515,*LPSERVER_INFO_1515; +typedef struct _SERVER_INFO_1516 { BOOL sv1516_timesource; } SERVER_INFO_1516,*PSERVER_INFO_1516,*LPSERVER_INFO_1516; +typedef struct _SERVER_INFO_1518 { BOOL sv1518_lmannounce; } SERVER_INFO_1518,*PSERVER_INFO_1518,*LPSERVER_INFO_1518; +typedef struct _SERVER_INFO_1520 { DWORD sv1520_maxcopyreadlen; } SERVER_INFO_1520,*PSERVER_INFO_1520,*LPSERVER_INFO_1520; +typedef struct _SERVER_INFO_1521 { DWORD sv1521_maxcopywritelen; } SERVER_INFO_1521,*PSERVER_INFO_1521,*LPSERVER_INFO_1521; +typedef struct _SERVER_INFO_1522 { DWORD sv1522_minkeepsearch; } SERVER_INFO_1522,*PSERVER_INFO_1522,*LPSERVER_INFO_1522; +typedef struct _SERVER_INFO_1523 { DWORD sv1523_maxkeepsearch; } SERVER_INFO_1523,*PSERVER_INFO_1523,*LPSERVER_INFO_1523; +typedef struct _SERVER_INFO_1524 { DWORD sv1524_minkeepcomplsearch; } SERVER_INFO_1524,*PSERVER_INFO_1524,*LPSERVER_INFO_1524; +typedef struct _SERVER_INFO_1525 { DWORD sv1525_maxkeepcomplsearch; } SERVER_INFO_1525,*PSERVER_INFO_1525,*LPSERVER_INFO_1525; +typedef struct _SERVER_INFO_1528 { DWORD sv1528_scavtimeout; } SERVER_INFO_1528,*PSERVER_INFO_1528,*LPSERVER_INFO_1528; +typedef struct _SERVER_INFO_1529 { DWORD sv1529_minrcvqueue; } SERVER_INFO_1529,*PSERVER_INFO_1529,*LPSERVER_INFO_1529; +typedef struct _SERVER_INFO_1530 { DWORD sv1530_minfreeworkitems; } SERVER_INFO_1530,*PSERVER_INFO_1530,*LPSERVER_INFO_1530; +typedef struct _SERVER_INFO_1533 { DWORD sv1533_maxmpxct; } SERVER_INFO_1533,*PSERVER_INFO_1533,*LPSERVER_INFO_1533; +typedef struct _SERVER_INFO_1534 { DWORD sv1534_oplockbreakwait; } SERVER_INFO_1534,*PSERVER_INFO_1534,*LPSERVER_INFO_1534; +typedef struct _SERVER_INFO_1535 { DWORD sv1535_oplockbreakresponsewait; } SERVER_INFO_1535,*PSERVER_INFO_1535,*LPSERVER_INFO_1535; +typedef struct _SERVER_INFO_1536 { BOOL sv1536_enableoplocks; } SERVER_INFO_1536,*PSERVER_INFO_1536,*LPSERVER_INFO_1536; +typedef struct _SERVER_INFO_1537 { BOOL sv1537_enableoplockforceclose; } SERVER_INFO_1537,*PSERVER_INFO_1537,*LPSERVER_INFO_1537; +typedef struct _SERVER_INFO_1538 { BOOL sv1538_enablefcbopens; } SERVER_INFO_1538,*PSERVER_INFO_1538,*LPSERVER_INFO_1538; +typedef struct _SERVER_INFO_1539 { BOOL sv1539_enableraw; } SERVER_INFO_1539,*PSERVER_INFO_1539,*LPSERVER_INFO_1539; +typedef struct _SERVER_INFO_1540 { BOOL sv1540_enablesharednetdrives; } SERVER_INFO_1540,*PSERVER_INFO_1540,*LPSERVER_INFO_1540; +typedef struct _SERVER_INFO_1541 { BOOL sv1541_minfreeconnections; } SERVER_INFO_1541,*PSERVER_INFO_1541,*LPSERVER_INFO_1541; +typedef struct _SERVER_INFO_1542 { BOOL sv1542_maxfreeconnections; } SERVER_INFO_1542,*PSERVER_INFO_1542,*LPSERVER_INFO_1542; +typedef struct _SERVER_INFO_1543 { DWORD sv1543_initsesstable; } SERVER_INFO_1543,*PSERVER_INFO_1543,*LPSERVER_INFO_1543; +typedef struct _SERVER_INFO_1544 { DWORD sv1544_initconntable; } SERVER_INFO_1544,*PSERVER_INFO_1544,*LPSERVER_INFO_1544; +typedef struct _SERVER_INFO_1545 { DWORD sv1545_initfiletable; } SERVER_INFO_1545,*PSERVER_INFO_1545,*LPSERVER_INFO_1545; +typedef struct _SERVER_INFO_1546 { DWORD sv1546_initsearchtable; } SERVER_INFO_1546,*PSERVER_INFO_1546,*LPSERVER_INFO_1546; +typedef struct _SERVER_INFO_1547 { DWORD sv1547_alertschedule; } SERVER_INFO_1547,*PSERVER_INFO_1547,*LPSERVER_INFO_1547; +typedef struct _SERVER_INFO_1548 { DWORD sv1548_errorthreshold; } SERVER_INFO_1548,*PSERVER_INFO_1548,*LPSERVER_INFO_1548; +typedef struct _SERVER_INFO_1549 { DWORD sv1549_networkerrorthreshold; } SERVER_INFO_1549,*PSERVER_INFO_1549,*LPSERVER_INFO_1549; +typedef struct _SERVER_INFO_1550 { DWORD sv1550_diskspacethreshold; } SERVER_INFO_1550,*PSERVER_INFO_1550,*LPSERVER_INFO_1550; +typedef struct _SERVER_INFO_1552 { DWORD sv1552_maxlinkdelay; } SERVER_INFO_1552,*PSERVER_INFO_1552,*LPSERVER_INFO_1552; +typedef struct _SERVER_INFO_1553 { DWORD sv1553_minlinkthroughput; } SERVER_INFO_1553,*PSERVER_INFO_1553,*LPSERVER_INFO_1553; +typedef struct _SERVER_INFO_1554 { DWORD sv1554_linkinfovalidtime; } SERVER_INFO_1554,*PSERVER_INFO_1554,*LPSERVER_INFO_1554; +typedef struct _SERVER_INFO_1555 { DWORD sv1555_scavqosinfoupdatetime; } SERVER_INFO_1555,*PSERVER_INFO_1555,*LPSERVER_INFO_1555; +typedef struct _SERVER_INFO_1556 { DWORD sv1556_maxworkitemidletime; } SERVER_INFO_1556,*PSERVER_INFO_1556,*LPSERVER_INFO_1556; +typedef struct _SERVER_INFO_1557 { DWORD sv1557_maxrawworkitems; } SERVER_INFO_1557,*PSERVER_INFO_1557,*LPSERVER_INFO_1557; +typedef struct _SERVER_INFO_1560 { DWORD sv1560_producttype; } SERVER_INFO_1560,*PSERVER_INFO_1560,*LPSERVER_INFO_1560; +typedef struct _SERVER_INFO_1561 { DWORD sv1561_serversize; } SERVER_INFO_1561,*PSERVER_INFO_1561,*LPSERVER_INFO_1561; +typedef struct _SERVER_INFO_1562 { DWORD sv1562_connectionlessautodisc; } SERVER_INFO_1562,*PSERVER_INFO_1562,*LPSERVER_INFO_1562; +typedef struct _SERVER_INFO_1563 { DWORD sv1563_sharingviolationretries; } SERVER_INFO_1563,*PSERVER_INFO_1563,*LPSERVER_INFO_1563; +typedef struct _SERVER_INFO_1564 { DWORD sv1564_sharingviolationdelay; } SERVER_INFO_1564,*PSERVER_INFO_1564,*LPSERVER_INFO_1564; +typedef struct _SERVER_INFO_1565 { DWORD sv1565_maxglobalopensearch; } SERVER_INFO_1565,*PSERVER_INFO_1565,*LPSERVER_INFO_1565; +typedef struct _SERVER_INFO_1566 { BOOL sv1566_removeduplicatesearches; } SERVER_INFO_1566,*PSERVER_INFO_1566,*LPSERVER_INFO_1566; +typedef struct _SERVER_INFO_1567 { DWORD sv1567_lockviolationretries; } SERVER_INFO_1567,*PSERVER_INFO_1567,*LPSERVER_INFO_1567; +typedef struct _SERVER_INFO_1568 { DWORD sv1568_lockviolationoffset; } SERVER_INFO_1568,*PSERVER_INFO_1568,*LPSERVER_INFO_1568; +typedef struct _SERVER_INFO_1569 { DWORD sv1569_lockviolationdelay; } SERVER_INFO_1569,*PSERVER_INFO_1569,*LPSERVER_INFO_1569; +typedef struct _SERVER_INFO_1570 { DWORD sv1570_mdlreadswitchover; } SERVER_INFO_1570,*PSERVER_INFO_1570,*LPSERVER_INFO_1570; +typedef struct _SERVER_INFO_1571 { DWORD sv1571_cachedopenlimit; } SERVER_INFO_1571,*PSERVER_INFO_1571,*LPSERVER_INFO_1571; +typedef struct _SERVER_INFO_1572 { DWORD sv1572_criticalthreads; } SERVER_INFO_1572,*PSERVER_INFO_1572,*LPSERVER_INFO_1572; +typedef struct _SERVER_INFO_1573 { DWORD sv1573_restrictnullsessaccess; } SERVER_INFO_1573,*PSERVER_INFO_1573,*LPSERVER_INFO_1573; +typedef struct _SERVER_INFO_1574 { DWORD sv1574_enablewfw311directipx;} SERVER_INFO_1574,*PSERVER_INFO_1574,*LPSERVER_INFO_1574; +typedef struct _SERVER_INFO_1575 { DWORD sv1575_otherqueueaffinity; } SERVER_INFO_1575,*PSERVER_INFO_1575,*LPSERVER_INFO_1575; +typedef struct _SERVER_INFO_1576 { DWORD sv1576_queuesamplesecs; } SERVER_INFO_1576,*PSERVER_INFO_1576,*LPSERVER_INFO_1576; +typedef struct _SERVER_INFO_1577 { DWORD sv1577_balancecount; } SERVER_INFO_1577,*PSERVER_INFO_1577,*LPSERVER_INFO_1577; +typedef struct _SERVER_INFO_1578 { DWORD sv1578_preferredaffinity; } SERVER_INFO_1578,*PSERVER_INFO_1578,*LPSERVER_INFO_1578; +typedef struct _SERVER_INFO_1579 { DWORD sv1579_maxfreerfcbs; } SERVER_INFO_1579,*PSERVER_INFO_1579,*LPSERVER_INFO_1579; +typedef struct _SERVER_INFO_1580 { DWORD sv1580_maxfreemfcbs; } SERVER_INFO_1580,*PSERVER_INFO_1580,*LPSERVER_INFO_1580; +typedef struct _SERVER_INFO_1581 { DWORD sv1581_maxfreemlcbs; } SERVER_INFO_1581,*PSERVER_INFO_1581,*LPSERVER_INFO_1581; +typedef struct _SERVER_INFO_1582 { DWORD sv1582_maxfreepagedpoolchunks; } SERVER_INFO_1582,*PSERVER_INFO_1582,*LPSERVER_INFO_1582; +typedef struct _SERVER_INFO_1583 { DWORD sv1583_minpagedpoolchunksize; } SERVER_INFO_1583,*PSERVER_INFO_1583,*LPSERVER_INFO_1583; +typedef struct _SERVER_INFO_1584 { DWORD sv1584_maxpagedpoolchunksize; } SERVER_INFO_1584,*PSERVER_INFO_1584,*LPSERVER_INFO_1584; +typedef struct _SERVER_INFO_1585 { BOOL sv1585_sendsfrompreferredprocessor; } SERVER_INFO_1585,*PSERVER_INFO_1585,*LPSERVER_INFO_1585; +typedef struct _SERVER_INFO_1586 { BOOL sv1586_maxthreadsperqueue; } SERVER_INFO_1586,*PSERVER_INFO_1586,*LPSERVER_INFO_1586; +typedef struct _SERVER_TRANSPORT_INFO_0 { +DWORD svti0_numberofvcs; +LPTSTR svti0_transportname; +PBYTE svti0_transportaddress; +DWORD svti0_transportaddresslength; +LPTSTR svti0_networkaddress; +} SERVER_TRANSPORT_INFO_0,*PSERVER_TRANSPORT_INFO_0,*LPSERVER_TRANSPORT_INFO_0; + +NET_API_STATUS WINAPI NetServerEnum(LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,DWORD,LPCWSTR,PDWORD); +NET_API_STATUS WINAPI NetServerEnumEx(LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,DWORD,LPCWSTR,LPCWSTR); +NET_API_STATUS WINAPI NetServerGetInfo(LPTSTR,DWORD,PBYTE*); +NET_API_STATUS WINAPI NetServerSetInfo(LPTSTR,DWORD,PBYTE,PDWORD); +NET_API_STATUS NetServerSetInfoCommandLine(WORD,LPTSTR*); +NET_API_STATUS WINAPI NetServerDiskEnum(LPTSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); +NET_API_STATUS WINAPI NetServerComputerNameAdd(LPWSTR,LPWSTR,LPWSTR); +NET_API_STATUS WINAPI NetServerComputerNameDel(LPWSTR,LPWSTR); +NET_API_STATUS WINAPI NetServerTransportAdd(LPTSTR,DWORD,PBYTE); +NET_API_STATUS WINAPI NetServerTransportAddEx(LPTSTR,DWORD,PBYTE); +NET_API_STATUS WINAPI NetServerTransportDel(LPTSTR,DWORD,PBYTE); +NET_API_STATUS WINAPI NetServerTransportEnum(LPTSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); +BOOL SetServiceBits(SERVICE_STATUS_HANDLE,DWORD,BOOL,BOOL); + +#define SVI1_NUM_ELEMENTS 5 +#define SVI2_NUM_ELEMENTS 40 +#define SVI3_NUM_ELEMENTS 44 +#define SV_MAX_CMD_LEN PATHLEN +#define SW_AUTOPROF_LOAD_MASK 1 +#define SW_AUTOPROF_SAVE_MASK 2 +#define SV_MAX_SRV_HEUR_LEN 32 +#define SV_USERS_PER_LICENSE 5 +#define SV_PLATFORM_ID_OS2 400 +#define SV_PLATFORM_ID_NT 500 +#define MAJOR_VERSION_MASK 15 +#define SV_TYPE_WORKSTATION 1 +#define SV_TYPE_SERVER 2 +#define SV_TYPE_SQLSERVER 4 +#define SV_TYPE_DOMAIN_CTRL 8 +#define SV_TYPE_DOMAIN_BAKCTRL 16 +#define SV_TYPE_TIME_SOURCE 32 +#define SV_TYPE_AFP 64 +#define SV_TYPE_NOVELL 128 +#define SV_TYPE_DOMAIN_MEMBER 256 +#define SV_TYPE_PRINTQ_SERVER 512 +#define SV_TYPE_DIALIN_SERVER 1024 +#define SV_TYPE_XENIX_SERVER 2048 +#define SV_TYPE_SERVER_UNIX SV_TYPE_XENIX_SERVER +#define SV_TYPE_NT 4096 +#define SV_TYPE_WFW 8192 +#define SV_TYPE_SERVER_MFPN 16384 +#define SV_TYPE_SERVER_NT 32768 +#define SV_TYPE_POTENTIAL_BROWSER 65536 +#define SV_TYPE_BACKUP_BROWSER 0x20000 +#define SV_TYPE_MASTER_BROWSER 0x40000 +#define SV_TYPE_DOMAIN_MASTER 0x80000 +#define SV_TYPE_SERVER_OSF 0x100000 +#define SV_TYPE_SERVER_VMS 0x200000 +#define SV_TYPE_WINDOWS 0x400000 +#define SV_TYPE_ALTERNATE_XPORT 0x20000000 +#define SV_TYPE_LOCAL_LIST_ONLY 0x40000000 +#define SV_TYPE_DOMAIN_ENUM 0x80000000 +#define SV_TYPE_ALL 0xFFFFFFFF +#define SV_NODISC (-1) +#define SV_USERSECURITY 1 +#define SV_SHARESECURITY 0 +#define SV_HIDDEN 1 +#define SV_VISIBLE 0 +#define SV_PLATFORM_ID_PARMNUM 101 +#define SV_NAME_PARMNUM 102 +#define SV_VERSION_MAJOR_PARMNUM 103 +#define SV_VERSION_MINOR_PARMNUM 104 +#define SV_TYPE_PARMNUM 105 +#define SV_COMMENT_PARMNUM 5 +#define SV_USERS_PARMNUM 107 +#define SV_DISC_PARMNUM 10 +#define SV_HIDDEN_PARMNUM 16 +#define SV_ANNOUNCE_PARMNUM 17 +#define SV_ANNDELTA_PARMNUM 18 +#define SV_USERPATH_PARMNUM 112 +#define SV_ULIST_MTIME_PARMNUM 401 +#define SV_GLIST_MTIME_PARMNUM 402 +#define SV_ALIST_MTIME_PARMNUM 403 +#define SV_ALERTS_PARMNUM 11 +#define SV_SECURITY_PARMNUM 405 +#define SV_NUMADMIN_PARMNUM 406 +#define SV_LANMASK_PARMNUM 407 +#define SV_GUESTACC_PARMNUM 408 +#define SV_CHDEVQ_PARMNUM 410 +#define SV_CHDEVJOBS_PARMNUM 411 +#define SV_CONNECTIONS_PARMNUM 412 +#define SV_SHARES_PARMNUM 413 +#define SV_OPENFILES_PARMNUM 414 +#define SV_SESSREQS_PARMNUM 417 +#define SV_ACTIVELOCKS_PARMNUM 419 +#define SV_NUMREQBUF_PARMNUM 420 +#define SV_NUMBIGBUF_PARMNUM 422 +#define SV_NUMFILETASKS_PARMNUM 423 +#define SV_ALERTSCHED_PARMNUM 37 +#define SV_ERRORALERT_PARMNUM 38 +#define SV_LOGONALERT_PARMNUM 39 +#define SV_ACCESSALERT_PARMNUM 40 +#define SV_DISKALERT_PARMNUM 41 +#define SV_NETIOALERT_PARMNUM 42 +#define SV_MAXAUDITSZ_PARMNUM 43 +#define SV_SRVHEURISTICS_PARMNUM 431 +#define SV_SESSOPENS_PARMNUM 501 +#define SV_SESSVCS_PARMNUM 502 +#define SV_OPENSEARCH_PARMNUM 503 +#define SV_SIZREQBUF_PARMNUM 504 +#define SV_INITWORKITEMS_PARMNUM 505 +#define SV_MAXWORKITEMS_PARMNUM 506 +#define SV_RAWWORKITEMS_PARMNUM 507 +#define SV_IRPSTACKSIZE_PARMNUM 508 +#define SV_MAXRAWBUFLEN_PARMNUM 509 +#define SV_SESSUSERS_PARMNUM 510 +#define SV_SESSCONNS_PARMNUM 511 +#define SV_MAXNONPAGEDMEMORYUSAGE_PARMNUM 512 +#define SV_MAXPAGEDMEMORYUSAGE_PARMNUM 513 +#define SV_ENABLESOFTCOMPAT_PARMNUM 514 +#define SV_ENABLEFORCEDLOGOFF_PARMNUM 515 +#define SV_TIMESOURCE_PARMNUM 516 +#define SV_ACCEPTDOWNLEVELAPIS_PARMNUM 517 +#define SV_LMANNOUNCE_PARMNUM 518 +#define SV_DOMAIN_PARMNUM 519 +#define SV_MAXCOPYREADLEN_PARMNUM 520 +#define SV_MAXCOPYWRITELEN_PARMNUM 521 +#define SV_MINKEEPSEARCH_PARMNUM 522 +#define SV_MAXKEEPSEARCH_PARMNUM 523 +#define SV_MINKEEPCOMPLSEARCH_PARMNUM 524 +#define SV_MAXKEEPCOMPLSEARCH_PARMNUM 525 +#define SV_THREADCOUNTADD_PARMNUM 526 +#define SV_NUMBLOCKTHREADS_PARMNUM 527 +#define SV_SCAVTIMEOUT_PARMNUM 528 +#define SV_MINRCVQUEUE_PARMNUM 529 +#define SV_MINFREEWORKITEMS_PARMNUM 530 +#define SV_XACTMEMSIZE_PARMNUM 531 +#define SV_THREADPRIORITY_PARMNUM 532 +#define SV_MAXMPXCT_PARMNUM 533 +#define SV_OPLOCKBREAKWAIT_PARMNUM 534 +#define SV_OPLOCKBREAKRESPONSEWAIT_PARMNUM 535 +#define SV_ENABLEOPLOCKS_PARMNUM 536 +#define SV_ENABLEOPLOCKFORCECLOSE_PARMNUM 537 +#define SV_ENABLEFCBOPENS_PARMNUM 538 +#define SV_ENABLERAW_PARMNUM 539 +#define SV_ENABLESHAREDNETDRIVES_PARMNUM 540 +#define SV_MINFREECONNECTIONS_PARMNUM 541 +#define SV_MAXFREECONNECTIONS_PARMNUM 542 +#define SV_INITSESSTABLE_PARMNUM 543 +#define SV_INITCONNTABLE_PARMNUM 544 +#define SV_INITFILETABLE_PARMNUM 545 +#define SV_INITSEARCHTABLE_PARMNUM 546 +#define SV_ALERTSCHEDULE_PARMNUM 547 +#define SV_ERRORTHRESHOLD_PARMNUM 548 +#define SV_NETWORKERRORTHRESHOLD_PARMNUM 549 +#define SV_DISKSPACETHRESHOLD_PARMNUM 550 +#define SV_MAXLINKDELAY_PARMNUM 552 +#define SV_MINLINKTHROUGHPUT_PARMNUM 553 +#define SV_LINKINFOVALIDTIME_PARMNUM 554 +#define SV_SCAVQOSINFOUPDATETIME_PARMNUM 555 +#define SV_MAXWORKITEMIDLETIME_PARMNUM 556 +#define SV_MAXRAWWORKITEMS_PARMNUM 557 +#define SV_PRODUCTTYPE_PARMNUM 560 +#define SV_SERVERSIZE_PARMNUM 561 +#define SV_CONNECTIONLESSAUTODISC_PARMNUM 562 +#define SV_SHARINGVIOLATIONRETRIES_PARMNUM 563 +#define SV_SHARINGVIOLATIONDELAY_PARMNUM 564 +#define SV_MAXGLOBALOPENSEARCH_PARMNUM 565 +#define SV_REMOVEDUPLICATESEARCHES_PARMNUM 566 +#define SV_LOCKVIOLATIONRETRIES_PARMNUM 567 +#define SV_LOCKVIOLATIONOFFSET_PARMNUM 568 +#define SV_LOCKVIOLATIONDELAY_PARMNUM 569 +#define SV_MDLREADSWITCHOVER_PARMNUM 570 +#define SV_CACHEDOPENLIMIT_PARMNUM 571 +#define SV_CRITICALTHREADS_PARMNUM 572 +#define SV_RESTRICTNULLSESSACCESS_PARMNUM 573 +#define SV_ENABLEWFW311DIRECTIPX_PARMNUM 574 +#define SV_OTHERQUEUEAFFINITY_PARMNUM 575 +#define SV_QUEUESAMPLESECS_PARMNUM 576 +#define SV_BALANCECOUNT_PARMNUM 577 +#define SV_PREFERREDAFFINITY_PARMNUM 578 +#define SV_MAXFREERFCBS_PARMNUM 579 +#define SV_MAXFREEMFCBS_PARMNUM 580 +#define SV_MAXFREELFCBS_PARMNUM 581 +#define SV_MAXFREEPAGEDPOOLCHUNKS_PARMNUM 582 +#define SV_MINPAGEDPOOLCHUNKSIZE_PARMNUM 583 +#define SV_MAXPAGEDPOOLCHUNKSIZE_PARMNUM 584 +#define SV_SENDSFROMPREFERREDPROCESSOR_PARMNUM 585 +#define SV_MAXTHREADSPERQUEUE_PARMNUM 586 +#define SV_COMMENT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_COMMENT_PARMNUM) +#define SV_USERS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_USERS_PARMNUM) +#define SV_DISC_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_DISC_PARMNUM) +#define SV_HIDDEN_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_HIDDEN_PARMNUM) +#define SV_ANNOUNCE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_ANNOUNCE_PARMNUM) +#define SV_ANNDELTA_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_ANNDELTA_PARMNUM) +#define SV_SESSOPENS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_SESSOPENS_PARMNUM) +#define SV_SESSVCS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_SESSVCS_PARMNUM) +#define SV_OPENSEARCH_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_OPENSEARCH_PARMNUM) +#define SV_MAXWORKITEMS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXWORKITEMS_PARMNUM) +#define SV_MAXRAWBUFLEN_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXRAWBUFLEN_PARMNUM) +#define SV_SESSUSERS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_SESSUSERS_PARMNUM) +#define SV_SESSCONNS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_SESSCONNS_PARMNUM) +#define SV_MAXNONPAGEDMEMORYUSAGE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXNONPAGEDMEMORYUSAGE_PARMNUM) +#define SV_MAXPAGEDMEMORYUSAGE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXPAGEDMEMORYUSAGE_PARMNUM) +#define SV_ENABLESOFTCOMPAT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_ENABLESOFTCOMPAT_PARMNUM) +#define SV_ENABLEFORCEDLOGOFF_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_ENABLEFORCEDLOGOFF_PARMNUM) +#define SV_TIMESOURCE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_TIMESOURCE_PARMNUM) +#define SV_LMANNOUNCE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_LMANNOUNCE_PARMNUM) +#define SV_MAXCOPYREADLEN_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXCOPYREADLEN_PARMNUM) +#define SV_MAXCOPYWRITELEN_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXCOPYWRITELEN_PARMNUM) +#define SV_MINKEEPSEARCH_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MINKEEPSEARCH_PARMNUM) +#define SV_MAXKEEPSEARCH_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXKEEPSEARCH_PARMNUM) +#define SV_MINKEEPCOMPLSEARCH_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MINKEEPCOMPLSEARCH_PARMNUM) +#define SV_MAXKEEPCOMPLSEARCH_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXKEEPCOMPLSEARCH_PARMNUM) +#define SV_SCAVTIMEOUT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_SCAVTIMEOUT_PARMNUM) +#define SV_MINRCVQUEUE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MINRCVQUEUE_PARMNUM) +#define SV_MINFREEWORKITEMS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MINFREEWORKITEMS_PARMNUM) +#define SV_MAXMPXCT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXMPXCT_PARMNUM) +#define SV_OPLOCKBREAKWAIT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_OPLOCKBREAKWAIT_PARMNUM) +#define SV_OPLOCKBREAKRESPONSEWAIT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_OPLOCKBREAKRESPONSEWAIT_PARMNUM) +#define SV_ENABLEOPLOCKS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_ENABLEOPLOCKS_PARMNUM) +#define SV_ENABLEOPLOCKFORCECLOSE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_ENABLEOPLOCKFORCECLOSE_PARMNUM) +#define SV_ENABLEFCBOPENS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_ENABLEFCBOPENS_PARMNUM) +#define SV_ENABLERAW_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_ENABLERAW_PARMNUM) +#define SV_ENABLESHAREDNETDRIVES_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_ENABLESHAREDNETDRIVES_PARMNUM) +#define SV_MINFREECONNECTIONS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MINFREECONNECTIONS_PARMNUM) +#define SV_MAXFREECONNECTIONS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXFREECONNECTIONS_PARMNUM) +#define SV_INITSESSTABLE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_INITSESSTABLE_PARMNUM) +#define SV_INITCONNTABLE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_INITCONNTABLE_PARMNUM) +#define SV_INITFILETABLE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_INITFILETABLE_PARMNUM) +#define SV_INITSEARCHTABLE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_INITSEARCHTABLE_PARMNUM) +#define SV_ALERTSCHEDULE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_ALERTSCHEDULE_PARMNUM) +#define SV_ERRORTHRESHOLD_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_ERRORTHRESHOLD_PARMNUM) +#define SV_NETWORKERRORTHRESHOLD_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_NETWORKERRORTHRESHOLD_PARMNUM) +#define SV_DISKSPACETHRESHOLD_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_DISKSPACETHRESHOLD_PARMNUM) +#define SV_MAXLINKDELAY_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXLINKDELAY_PARMNUM) +#define SV_MINLINKTHROUGHPUT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MINLINKTHROUGHPUT_PARMNUM) +#define SV_LINKINFOVALIDTIME_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_LINKINFOVALIDTIME_PARMNUM) +#define SV_SCAVQOSINFOUPDATETIME_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_SCAVQOSINFOUPDATETIME_PARMNUM) +#define SV_MAXWORKITEMIDLETIME_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXWORKITEMIDLETIME_PARMNUM) +#define SV_MAXRAWWORKITEMS_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXRAWWORKITEMS_PARMNUM) +#define SV_PRODUCTTYPE_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_PRODUCTTYPE_PARMNUM) +#define SV_SERVERSIZE_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_SERVERSIZE_PARMNUM) +#define SV_CONNECTIONLESSAUTODISC_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_CONNECTIONLESSAUTODISC_PARMNUM) +#define SV_SHARINGVIOLATIONRETRIES_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_SHARINGVIOLATIONRETRIES_PARMNUM) +#define SV_SHARINGVIOLATIONDELAY_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_SHARINGVIOLATIONDELAY_PARMNUM) +#define SV_MAXGLOBALOPENSEARCH_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXGLOBALOPENSEARCH_PARMNUM) +#define SV_REMOVEDUPLICATESEARCHES_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_REMOVEDUPLICATESEARCHES_PARMNUM) +#define SV_LOCKVIOLATIONRETRIES_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_LOCKVIOLATIONRETRIES_PARMNUM) +#define SV_LOCKVIOLATIONOFFSET_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_LOCKVIOLATIONOFFSET_PARMNUM) +#define SV_LOCKVIOLATIONDELAY_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_LOCKVIOLATIONDELAY_PARMNUM) +#define SV_MDLREADSWITCHOVER_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_MDLREADSWITCHOVER_PARMNUM) +#define SV_CACHEDOPENLIMIT_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_CACHEDOPENLIMIT_PARMNUM) +#define SV_CRITICALTHREADS_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_CRITICALTHREADS_PARMNUM) +#define SV_RESTRICTNULLSESSACCESS_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_RESTRICTNULLSESSACCESS_PARMNUM) +#define SV_ENABLEWFW311DIRECTIPX_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_ENABLEWFW311DIRECTIPX_PARMNUM) +#define SV_OTHERQUEUEAFFINITY_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_OTHERQUEUEAFFINITY_PARMNUM) +#define SV_QUEUESAMPLESECS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_QUEUESAMPLESECS_PARMNUM) +#define SV_BALANCECOUNT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_BALANCECOUNT_PARMNUM) +#define SV_PREFERREDAFFINITY_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_PREFERREDAFFINITY_PARMNUM) +#define SV_MAXFREERFCBS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXFREERFCBS_PARMNUM) +#define SV_MAXFREEMFCBS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXFREEMFCBS_PARMNUM) +#define SV_MAXFREELFCBS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXFREELFCBS_PARMNUM) +#define SV_MAXFREEPAGEDPOOLCHUNKS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXFREEPAGEDPOOLCHUNKS_PARMNUM) +#define SV_MINPAGEDPOOLCHUNKSIZE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MINPAGEDPOOLCHUNKSIZE_PARMNUM) +#define SV_MAXPAGEDPOOLCHUNKSIZE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXPAGEDPOOLCHUNKSIZE_PARMNUM) +#define SV_SENDSFROMPREFERREDPROCESSOR_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_SENDSFROMPREFERREDPROCESSOR_PARMNUM) +#define SV_MAXTHREADSPERQUEUE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXTHREADSPERQUEUE_PARMNUM) +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/lmshare.h b/winsup/w32api/include/lmshare.h new file mode 100644 index 000000000..fa8f3b9aa --- /dev/null +++ b/winsup/w32api/include/lmshare.h @@ -0,0 +1,142 @@ +#ifndef _LMSHARE_H +#define _LMSHARE_H +#ifdef __cplusplus +extern "C" { +#endif +#define SHARE_NETNAME_PARMNUM 1 +#define SHARE_TYPE_PARMNUM 3 +#define SHARE_REMARK_PARMNUM 4 +#define SHARE_PERMISSIONS_PARMNUM 5 +#define SHARE_MAX_USES_PARMNUM 6 +#define SHARE_CURRENT_USES_PARMNUM 7 +#define SHARE_PATH_PARMNUM 8 +#define SHARE_PASSWD_PARMNUM 9 +#define SHARE_FILE_SD_PARMNUM 501 +#define SHARE_REMARK_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SHARE_REMARK_PARMNUM) +#define SHARE_MAX_USES_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SHARE_MAX_USES_PARMNUM) +#define SHARE_FILE_SD_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SHARE_FILE_SD_PARMNUM) +#define SHI1_NUM_ELEMENTS 4 +#define SHI2_NUM_ELEMENTS 10 +#define STYPE_DISKTREE 0 +#define STYPE_PRINTQ 1 +#define STYPE_DEVICE 2 +#define STYPE_IPC 3 +#define STYPE_DFS 100 +#define STYPE_SPECIAL 0x80000000 +#define SHI_USES_UNLIMITED (DWORD)(-1) +#define SESS_GUEST 1 +#define SESS_NOENCRYPTION 2 +#define SESI1_NUM_ELEMENTS 8 +#define SESI2_NUM_ELEMENTS 9 +#define PERM_FILE_READ 1 +#define PERM_FILE_WRITE 2 +#define PERM_FILE_CREATE 4 +typedef struct _FILE_INFO_2 { DWORD fi2_id;} FILE_INFO_2,*PFILE_INFO_2,*LPFILE_INFO_2; +typedef struct _FILE_INFO_3 { + DWORD fi3_id; + DWORD fi3_permissions; + DWORD fi3_num_locks; + LPTSTR fi3_pathname; + LPTSTR fi3_username; +} FILE_INFO_3,*PFILE_INFO_3,*LPFILE_INFO_3; +typedef struct _SHARE_INFO_0 { LPTSTR shi0_netname; } SHARE_INFO_0,*PSHARE_INFO_0,*LPSHARE_INFO_0; +typedef struct _SHARE_INFO_1 { + LPTSTR shi1_netname; + DWORD shi1_type; + LPTSTR shi1_remark; +} SHARE_INFO_1,*PSHARE_INFO_1,*LPSHARE_INFO_1; +typedef struct _SHARE_INFO_2 { + LPTSTR shi2_netname; + DWORD shi2_type; + LPTSTR shi2_remark; + DWORD shi2_permissions; + DWORD shi2_max_uses; + DWORD shi2_current_uses; + LPTSTR shi2_path; + LPTSTR shi2_passwd; +} SHARE_INFO_2,*PSHARE_INFO_2,*LPSHARE_INFO_2; +typedef struct _SHARE_INFO_502 { + LPTSTR shi502_netname; + DWORD shi502_type; + LPTSTR shi502_remark; + DWORD shi502_permissions; + DWORD shi502_max_uses; + DWORD shi502_current_uses; + LPTSTR shi502_path; + LPTSTR shi502_passwd; + DWORD shi502_reserved; + PSECURITY_DESCRIPTOR shi502_security_descriptor; +} SHARE_INFO_502,*PSHARE_INFO_502,*LPSHARE_INFO_502; +typedef struct _SHARE_INFO_1004 { + LPTSTR shi1004_remark; +} SHARE_INFO_1004,*PSHARE_INFO_1004,*LPSHARE_INFO_1004; +typedef struct _SHARE_INFO_1006 { + DWORD shi1006_max_uses; +} SHARE_INFO_1006,*PSHARE_INFO_1006,*LPSHARE_INFO_1006; +typedef struct _SHARE_INFO_1501 { + DWORD shi1501_reserved; + PSECURITY_DESCRIPTOR shi1501_security_descriptor; +} SHARE_INFO_1501,*PSHARE_INFO_1501,*LPSHARE_INFO_1501; +typedef struct _SESSION_INFO_0 { LPTSTR sesi0_cname; } SESSION_INFO_0,*PSESSION_INFO_0,*LPSESSION_INFO_0; +typedef struct _SESSION_INFO_1 { + LPTSTR sesi1_cname; + LPTSTR sesi1_username; + DWORD sesi1_num_opens; + DWORD sesi1_time; + DWORD sesi1_idle_time; + DWORD sesi1_user_flags; +} SESSION_INFO_1,*PSESSION_INFO_1,*LPSESSION_INFO_1; +typedef struct _SESSION_INFO_2 { + LPTSTR sesi2_cname; + LPTSTR sesi2_username; + DWORD sesi2_num_opens; + DWORD sesi2_time; + DWORD sesi2_idle_time; + DWORD sesi2_user_flags; + LPTSTR sesi2_cltype_name; +} SESSION_INFO_2,*PSESSION_INFO_2,*LPSESSION_INFO_2; +typedef struct _SESSION_INFO_10 { + LPTSTR sesi10_cname; + LPTSTR sesi10_username; + DWORD sesi10_time; + DWORD sesi10_idle_time; +} SESSION_INFO_10,*PSESSION_INFO_10,*LPSESSION_INFO_10; +typedef struct _SESSION_INFO_502 { + LPTSTR sesi502_cname; + LPTSTR sesi502_username; + DWORD sesi502_num_opens; + DWORD sesi502_time; + DWORD sesi502_idle_time; + DWORD sesi502_user_flags; + LPTSTR sesi502_cltype_name; + LPTSTR sesi502_transport; +} SESSION_INFO_502,*PSESSION_INFO_502,*LPSESSION_INFO_502; +typedef struct _CONNECTION_INFO_0 { DWORD coni0_id; } CONNECTION_INFO_0,*PCONNECTION_INFO_0,*LPCONNECTION_INFO_0; +typedef struct _CONNECTION_INFO_1 { + DWORD coni1_id; + DWORD coni1_type; + DWORD coni1_num_opens; + DWORD coni1_num_users; + DWORD coni1_time; + LPTSTR coni1_username; + LPTSTR coni1_netname; +} CONNECTION_INFO_1,*PCONNECTION_INFO_1,*LPCONNECTION_INFO_1; +NET_API_STATUS WINAPI NetShareAdd(LPTSTR,DWORD,PBYTE,PDWORD); +NET_API_STATUS WINAPI NetShareEnum(LPTSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); +NET_API_STATUS WINAPI NetShareEnumSticky(LPTSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD resume_handle); +NET_API_STATUS WINAPI NetShareGetInfo(LPTSTR,LPTSTR,DWORD,PBYTE*); +NET_API_STATUS WINAPI NetShareSetInfo(LPTSTR,LPTSTR,DWORD,PBYTE,PDWORD); +NET_API_STATUS WINAPI NetShareDel(LPTSTR,LPTSTR,DWORD); +NET_API_STATUS WINAPI NetShareDelSticky(LPTSTR,LPTSTR,DWORD); +NET_API_STATUS WINAPI NetShareCheck(LPTSTR,LPTSTR,PDWORD); +NET_API_STATUS WINAPI NetSessionEnum(LPTSTR,LPTSTR,LPTSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); +NET_API_STATUS WINAPI NetSessionDel(LPTSTR,LPTSTR,LPTSTR); +NET_API_STATUS WINAPI NetSessionGetInfo(LPTSTR,LPTSTR,LPTSTR,DWORD,PBYTE*); +NET_API_STATUS WINAPI NetConnectionEnum(LPTSTR,LPTSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); +NET_API_STATUS WINAPI NetFileClose(LPTSTR,DWORD); +NET_API_STATUS WINAPI NetFileEnum(LPTSTR,LPTSTR,LPTSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); +NET_API_STATUS WINAPI NetFileGetInfo(LPTSTR,DWORD,DWORD,PBYTE*); +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/lmsname.h b/winsup/w32api/include/lmsname.h new file mode 100644 index 000000000..2a0f42bcd --- /dev/null +++ b/winsup/w32api/include/lmsname.h @@ -0,0 +1,54 @@ +#ifndef _LMSNAME_H +#define _LMSNAME_H +#define SERVICE_WORKSTATION TEXT("LanmanWorkstation") +#define SERVICE_LM20_WORKSTATION TEXT("WORKSTATION") +#define WORKSTATION_DISPLAY_NAME TEXT("Workstation") +#define SERVICE_SERVER TEXT("LanmanServer") +#define SERVICE_LM20_SERVER TEXT("SERVER") +#define SERVER_DISPLAY_NAME TEXT("Server") +#define SERVICE_BROWSER TEXT("BROWSER") +#define SERVICE_LM20_BROWSER SERVICE_BROWSER +#define SERVICE_MESSENGER TEXT("MESSENGER") +#define SERVICE_LM20_MESSENGER SERVICE_MESSENGER +#define SERVICE_NETRUN TEXT("NETRUN") +#define SERVICE_LM20_NETRUN SERVICE_NETRUN +#define SERVICE_SPOOLER TEXT("SPOOLER") +#define SERVICE_LM20_SPOOLER SERVICE_SPOOLER +#define SERVICE_ALERTER TEXT("ALERTER") +#define SERVICE_LM20_ALERTER SERVICE_ALERTER +#define SERVICE_NETLOGON TEXT("NETLOGON") +#define SERVICE_LM20_NETLOGON SERVICE_NETLOGON +#define SERVICE_NETPOPUP TEXT("NETPOPUP") +#define SERVICE_LM20_NETPOPUP SERVICE_NETPOPUP +#define SERVICE_SQLSERVER TEXT("SQLSERVER") +#define SERVICE_LM20_SQLSERVER SERVICE_SQLSERVER +#define SERVICE_REPL TEXT("REPLICATOR") +#define SERVICE_LM20_REPL SERVICE_REPL +#define SERVICE_RIPL TEXT("REMOTEBOOT") +#define SERVICE_LM20_RIPL SERVICE_RIPL +#define SERVICE_TIMESOURCE TEXT("TIMESOURCE") +#define SERVICE_LM20_TIMESOURCE SERVICE_TIMESOURCE +#define SERVICE_AFP TEXT("AFP") +#define SERVICE_LM20_AFP SERVICE_AFP +#define SERVICE_UPS TEXT("UPS") +#define SERVICE_LM20_UPS SERVICE_UPS +#define SERVICE_XACTSRV TEXT("XACTSRV") +#define SERVICE_LM20_XACTSRV SERVICE_XACTSRV +#define SERVICE_TCPIP TEXT("TCPIP") +#define SERVICE_LM20_TCPIP SERVICE_TCPIP +#define SERVICE_NBT TEXT("NBT") +#define SERVICE_LM20_NBT SERVICE_NBT +#define SERVICE_LMHOSTS TEXT("LMHOSTS") +#define SERVICE_LM20_LMHOSTS SERVICE_LMHOSTS +#define SERVICE_TELNET TEXT("Telnet") +#define SERVICE_LM20_TELNET SERVICE_TELNET +#define SERVICE_SCHEDULE TEXT("Schedule") +#define SERVICE_LM20_SCHEDULE SERVICE_SCHEDULE +#define SERVICE_NTLMSSP TEXT("NtLmSsp") +#define SERVICE_DHCP TEXT("DHCP") +#define SERVICE_LM20_DHCP SERVICE_DHCP +#define SERVICE_NWSAP TEXT("NwSapAgent") +#define SERVICE_LM20_NWSAP SERVICE_NWSAP +#define NWSAP_DISPLAY_NAME TEXT("NW Sap Agent") +#define SERVICE_NWCS TEXT("NWCWorkstation") +#endif diff --git a/winsup/w32api/include/lmstats.h b/winsup/w32api/include/lmstats.h new file mode 100644 index 000000000..96bcedc3e --- /dev/null +++ b/winsup/w32api/include/lmstats.h @@ -0,0 +1,110 @@ +#ifndef _LMSTATS_H +#define _LMSTATS_H +#ifdef __cplusplus +extern "C" { +#endif +#define STATSOPT_CLR 1 +#define STATS_NO_VALUE ((ULONG)-1) +#define STATS_OVERFLOW ((ULONG)-2) +typedef struct _STAT_SERVER_0 { + DWORD sts0_start; + DWORD sts0_fopens; + DWORD sts0_devopens; + DWORD sts0_jobsqueued; + DWORD sts0_sopens; + DWORD sts0_stimedout; + DWORD sts0_serrorout; + DWORD sts0_pwerrors; + DWORD sts0_permerrors; + DWORD sts0_syserrors; + DWORD sts0_bytessent_low; + DWORD sts0_bytessent_high; + DWORD sts0_bytesrcvd_low; + DWORD sts0_bytesrcvd_high; + DWORD sts0_avresponse; + DWORD sts0_reqbufneed; + DWORD sts0_bigbufneed; +} STAT_SERVER_0,*PSTAT_SERVER_0,*LPSTAT_SERVER_0; +#ifdef LM20_WORKSTATION_STATISTICS +typedef struct _STAT_WORKSTATION_0 { + DWORD stw0_start; + DWORD stw0_numNCB_r; + DWORD stw0_numNCB_s; + DWORD stw0_numNCB_a; + DWORD stw0_fiNCB_r; + DWORD stw0_fiNCB_s; + DWORD stw0_fiNCB_a; + DWORD stw0_fcNCB_r; + DWORD stw0_fcNCB_s; + DWORD stw0_fcNCB_a; + DWORD stw0_sesstart; + DWORD stw0_sessfailcon; + DWORD stw0_sessbroke; + DWORD stw0_uses; + DWORD stw0_usefail; + DWORD stw0_autorec; + DWORD stw0_bytessent_r_lo; + DWORD stw0_bytessent_r_hi; + DWORD stw0_bytesrcvd_r_lo; + DWORD stw0_bytesrcvd_r_hi; + DWORD stw0_bytessent_s_lo; + DWORD stw0_bytessent_s_hi; + DWORD stw0_bytesrcvd_s_lo; + DWORD stw0_bytesrcvd_s_hi; + DWORD stw0_bytessent_a_lo; + DWORD stw0_bytessent_a_hi; + DWORD stw0_bytesrcvd_a_lo; + DWORD stw0_bytesrcvd_a_hi; + DWORD stw0_reqbufneed; + DWORD stw0_bigbufneed; +} STAT_WORKSTATION_0,*PSTAT_WORKSTATION_0,*LPSTAT_WORKSTATION_0; +#else +typedef struct _STAT_WORKSTATION_0 { + LARGE_INTEGER StatisticsStartTime; + LARGE_INTEGER BytesReceived; + LARGE_INTEGER SmbsReceived; + LARGE_INTEGER PagingReadBytesRequested; + LARGE_INTEGER NonPagingReadBytesRequested; + LARGE_INTEGER CacheReadBytesRequested; + LARGE_INTEGER NetworkReadBytesRequested; + LARGE_INTEGER BytesTransmitted; + LARGE_INTEGER SmbsTransmitted; + LARGE_INTEGER PagingWriteBytesRequested; + LARGE_INTEGER NonPagingWriteBytesRequested; + LARGE_INTEGER CacheWriteBytesRequested; + LARGE_INTEGER NetworkWriteBytesRequested; + DWORD InitiallyFailedOperations; + DWORD FailedCompletionOperations; + DWORD ReadOperations; + DWORD RandomReadOperations; + DWORD ReadSmbs; + DWORD LargeReadSmbs; + DWORD SmallReadSmbs; + DWORD WriteOperations; + DWORD RandomWriteOperations; + DWORD WriteSmbs; + DWORD LargeWriteSmbs; + DWORD SmallWriteSmbs; + DWORD RawReadsDenied; + DWORD RawWritesDenied; + DWORD NetworkErrors; + DWORD Sessions; + DWORD FailedSessions; + DWORD Reconnects; + DWORD CoreConnects; + DWORD Lanman20Connects; + DWORD Lanman21Connects; + DWORD LanmanNtConnects; + DWORD ServerDisconnects; + DWORD HungSessions; + DWORD UseCount; + DWORD FailedUseCount; + DWORD CurrentCommands; +} STAT_WORKSTATION_0,*PSTAT_WORKSTATION_0,*LPSTAT_WORKSTATION_0; +#endif + +NET_API_STATUS WINAPI NetStatisticsGet(LPTSTR,LPTSTR,DWORD,DWORD,PBYTE*); +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/lmsvc.h b/winsup/w32api/include/lmsvc.h new file mode 100644 index 000000000..a129bb0b4 --- /dev/null +++ b/winsup/w32api/include/lmsvc.h @@ -0,0 +1,130 @@ +#ifndef _LMSVC_H +#define _LMSVC_H +#ifdef __cplusplus +extern "C" { +#endif +#include <lmsname.h> +#define SERVICE_DOS_ENCRYPTION TEXT("ENCRYPT") +#define SERVICE_UNINSTALLED 0 +#define SERVICE_INSTALL_PENDING 1 +#define SERVICE_UNINSTALL_PENDING 2 +#define SERVICE_INSTALLED 3 +#define SERVICE_INSTALL_STATE 3 +#define SERVICE_PAUSE_STATE 18 +#define LM20_SERVICE_ACTIVE 0 +#define LM20_SERVICE_CONTINUE_PENDING 4 +#define LM20_SERVICE_PAUSE_PENDING 8 +#define LM20_SERVICE_PAUSED 18 +#define SERVICE_NOT_UNINSTALLABLE 0 +#define SERVICE_UNINSTALLABLE 16 +#define SERVICE_NOT_PAUSABLE 0 +#define SERVICE_PAUSABLE 32 +#define SERVICE_REDIR_PAUSED 0x700 +#define SERVICE_REDIR_DISK_PAUSED 256 +#define SERVICE_REDIR_PRINT_PAUSED 512 +#define SERVICE_REDIR_COMM_PAUSED 1024 +#define SERVICE_CTRL_INTERROGATE 0 +#define SERVICE_CTRL_PAUSE 1 +#define SERVICE_CTRL_CONTINUE 2 +#define SERVICE_CTRL_UNINSTALL 3 +#define SERVICE_CTRL_REDIR_DISK 1 +#define SERVICE_CTRL_REDIR_PRINT 2 +#define SERVICE_CTRL_REDIR_COMM 4 +#define SERVICE_IP_NO_HINT 0 +#define SERVICE_CCP_NO_HINT 0 +#define SERVICE_IP_QUERY_HINT 0x10000 +#define SERVICE_CCP_QUERY_HINT 0x10000 +#define SERVICE_IP_CHKPT_NUM 255 +#define SERVICE_CCP_CHKPT_NUM 255 +#define SERVICE_IP_WAIT_TIME 0xFF00 +#define SERVICE_CCP_WAIT_TIME 0xFF00 +#define SERVICE_IP_WAITTIME_SHIFT 8 +#define SERVICE_NTIP_WAITTIME_SHIFT 12 +#define UPPER_HINT_MASK 0xFF00 +#define LOWER_HINT_MASK 255 +#define UPPER_GET_HINT_MASK 0xFF00000 +#define LOWER_GET_HINT_MASK 0xFF00 +#define SERVICE_NT_MAXTIME 0xFFFF +#define SERVICE_RESRV_MASK 0x1FFFF +#define SERVICE_MAXTIME 255 +#define SERVICE_BASE 3050 +#define SERVICE_UIC_NORMAL 0 +#define SERVICE_UIC_BADPARMVAL (SERVICE_BASE+1) +#define SERVICE_UIC_MISSPARM (SERVICE_BASE+2) +#define SERVICE_UIC_UNKPARM (SERVICE_BASE+3) +#define SERVICE_UIC_RESOURCE (SERVICE_BASE+4) +#define SERVICE_UIC_CONFIG (SERVICE_BASE+5) +#define SERVICE_UIC_SYSTEM (SERVICE_BASE+6) +#define SERVICE_UIC_INTERNAL (SERVICE_BASE+7) +#define SERVICE_UIC_AMBIGPARM (SERVICE_BASE+8) +#define SERVICE_UIC_DUPPARM (SERVICE_BASE+9) +#define SERVICE_UIC_KILL (SERVICE_BASE+10) +#define SERVICE_UIC_EXEC (SERVICE_BASE+11) +#define SERVICE_UIC_SUBSERV (SERVICE_BASE+12) +#define SERVICE_UIC_CONFLPARM (SERVICE_BASE+13) +#define SERVICE_UIC_FILE (SERVICE_BASE+14) +#define SERVICE_UIC_M_NULL 0 +#define SERVICE_UIC_M_MEMORY (SERVICE_BASE+20) +#define SERVICE_UIC_M_DISK (SERVICE_BASE+21) +#define SERVICE_UIC_M_THREADS (SERVICE_BASE+22) +#define SERVICE_UIC_M_PROCESSES (SERVICE_BASE+23) +#define SERVICE_UIC_M_SECURITY (SERVICE_BASE+24) +#define SERVICE_UIC_M_LANROOT (SERVICE_BASE+25) +#define SERVICE_UIC_M_REDIR (SERVICE_BASE+26) +#define SERVICE_UIC_M_SERVER (SERVICE_BASE+27) +#define SERVICE_UIC_M_SEC_FILE_ERR (SERVICE_BASE+28) +#define SERVICE_UIC_M_FILES (SERVICE_BASE+29) +#define SERVICE_UIC_M_LOGS (SERVICE_BASE+30) +#define SERVICE_UIC_M_LANGROUP (SERVICE_BASE+31) +#define SERVICE_UIC_M_MSGNAME (SERVICE_BASE+32) +#define SERVICE_UIC_M_ANNOUNCE (SERVICE_BASE+33) +#define SERVICE_UIC_M_UAS (SERVICE_BASE+34) +#define SERVICE_UIC_M_SERVER_SEC_ERR (SERVICE_BASE+35) +#define SERVICE_UIC_M_WKSTA (SERVICE_BASE+37) +#define SERVICE_UIC_M_ERRLOG (SERVICE_BASE+38) +#define SERVICE_UIC_M_FILE_UW (SERVICE_BASE+39) +#define SERVICE_UIC_M_ADDPAK (SERVICE_BASE+40) +#define SERVICE_UIC_M_LAZY (SERVICE_BASE+41) +#define SERVICE_UIC_M_UAS_MACHINE_ACCT (SERVICE_BASE+42) +#define SERVICE_UIC_M_UAS_SERVERS_NMEMB (SERVICE_BASE+43) +#define SERVICE_UIC_M_UAS_SERVERS_NOGRP (SERVICE_BASE+44) +#define SERVICE_UIC_M_UAS_INVALID_ROLE (SERVICE_BASE+45) +#define SERVICE_UIC_M_NETLOGON_NO_DC (SERVICE_BASE+46) +#define SERVICE_UIC_M_NETLOGON_DC_CFLCT (SERVICE_BASE+47) +#define SERVICE_UIC_M_NETLOGON_AUTH (SERVICE_BASE+48) +#define SERVICE_UIC_M_UAS_PROLOG (SERVICE_BASE+49) +#define SERVICE2_BASE 5600 +#define SERVICE_UIC_M_NETLOGON_MPATH (SERVICE2_BASE+0) +#define SERVICE_UIC_M_LSA_MACHINE_ACCT (SERVICE2_BASE+1) +#define SERVICE_UIC_M_DATABASE_ERROR (SERVICE2_BASE+2) + +typedef struct _SERVICE_INFO_0 { LPWSTR svci0_name;} SERVICE_INFO_0,*PSERVICE_INFO_0,* LPSERVICE_INFO_0; +typedef struct _SERVICE_INFO_1 { + LPWSTR svci1_name; + DWORD svci1_status; + DWORD svci1_code; + DWORD svci1_pid; +} SERVICE_INFO_1,*PSERVICE_INFO_1,* LPSERVICE_INFO_1; +typedef struct _SERVICE_INFO_2 { + LPWSTR svci2_name; + DWORD svci2_status; + DWORD svci2_code; + DWORD svci2_pid; + LPWSTR svci2_text; + DWORD svci2_specific_error; + LPWSTR svci2_display_name; +} SERVICE_INFO_2,*PSERVICE_INFO_2,* LPSERVICE_INFO_2; + +NET_API_STATUS WINAPI NetServiceControl(LPCWSTR,LPCWSTR,DWORD,DWORD,PBYTE*); +NET_API_STATUS WINAPI NetServiceEnum(LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); +NET_API_STATUS WINAPI NetServiceGetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE*); +NET_API_STATUS WINAPI NetServiceInstall(LPCWSTR,LPCWSTR,DWORD,LPCWSTR*,PBYTE*); +#define SERVICE_IP_CODE(t,n) ((long)SERVICE_IP_QUERY_HINT|(long)(n|(t<<SERVICE_IP_WAITTIME_SHIFT))) +#define SERVICE_CCP_CODE(t,n) ((long)SERVICE_CCP_QUERY_HINT|(long)(n|(t<<SERVICE_IP_WAITTIME_SHIFT))) +#define SERVICE_UIC_CODE(c,m) ((long)(((long)c<<16)|(long)(USHORT)m)) +#define SERVICE_NT_CCP_CODE(t,n) (((long)SERVICE_CCP_QUERY_HINT)|((long)(n))|(((t)&LOWER_HINT_MASK)<<SERVICE_IP_WAITTIME_SHIFT)|(((t)&UPPER_HINT_MASK)<<SERVICE_NTIP_WAITTIME_SHIFT)) +#define SERVICE_NT_WAIT_GET(c) ((((c)&UPPER_GET_HINT_MASK)>>SERVICE_NTIP_WAITTIME_SHIFT)|(((c)&LOWER_GET_HINT_MASK)>>SERVICE_IP_WAITTIME_SHIFT)) +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/lmuse.h b/winsup/w32api/include/lmuse.h new file mode 100644 index 000000000..a10696813 --- /dev/null +++ b/winsup/w32api/include/lmuse.h @@ -0,0 +1,56 @@ +#ifndef _LMUSE_H +#define _LMUSE_H +#ifdef __cplusplus +extern "C" { +#endif +#include <lmuseflg.h> +#define USE_LOCAL_PARMNUM 1 +#define USE_REMOTE_PARMNUM 2 +#define USE_PASSWORD_PARMNUM 3 +#define USE_ASGTYPE_PARMNUM 4 +#define USE_USERNAME_PARMNUM 5 +#define USE_DOMAINNAME_PARMNUM 6 +#define USE_OK 0 +#define USE_PAUSED 1 +#define USE_SESSLOST 2 +#define USE_DISCONN 2 +#define USE_NETERR 3 +#define USE_CONN 4 +#define USE_RECONN 5 +#define USE_WILDCARD ((DWORD)-1) +#define USE_DISKDEV 0 +#define USE_SPOOLDEV 1 +#define USE_CHARDEV 2 +#define USE_IPC 3 +typedef struct _USE_INFO_0 { + LPTSTR ui0_local; + LPTSTR ui0_remote; +}USE_INFO_0,*PUSE_INFO_0,*LPUSE_INFO_0; +typedef struct _USE_INFO_1 { + LPTSTR ui1_local; + LPTSTR ui1_remote; + LPTSTR ui1_password; + DWORD ui1_status; + DWORD ui1_asg_type; + DWORD ui1_refcount; + DWORD ui1_usecount; +}USE_INFO_1,*PUSE_INFO_1,*LPUSE_INFO_1; +typedef struct _USE_INFO_2 { + LPTSTR ui2_local; + LPTSTR ui2_remote; + LPTSTR ui2_password; + DWORD ui2_status; + DWORD ui2_asg_type; + DWORD ui2_refcount; + DWORD ui2_usecount; + LPTSTR ui2_username; + LPTSTR ui2_domainname; +}USE_INFO_2,*PUSE_INFO_2,*LPUSE_INFO_2; +NET_API_STATUS WINAPI NetUseAdd(LPTSTR,DWORD,PBYTE,PDWORD); +NET_API_STATUS WINAPI NetUseDel(LPTSTR,LPTSTR,DWORD); +NET_API_STATUS WINAPI NetUseEnum(LPTSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); +NET_API_STATUS WINAPI NetUseGetInfo(LPTSTR,LPTSTR,DWORD,PBYTE*); +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/lmuseflg.h b/winsup/w32api/include/lmuseflg.h new file mode 100644 index 000000000..7984b1969 --- /dev/null +++ b/winsup/w32api/include/lmuseflg.h @@ -0,0 +1,6 @@ +#ifndef _LMUSEFLG_H +#define _LMUSEFLG_H +#define USE_NOFORCE 0 +#define USE_FORCE 1 +#define USE_LOTS_OF_FORCE 2 +#endif diff --git a/winsup/w32api/include/lmwksta.h b/winsup/w32api/include/lmwksta.h new file mode 100644 index 000000000..6538fc9d1 --- /dev/null +++ b/winsup/w32api/include/lmwksta.h @@ -0,0 +1,229 @@ +#ifndef _LMWKSTA_H +#define _LMWKSTA_H +#ifdef __cplusplus +extern "C" { +#endif +#include <lmuseflg.h> +#define WKSTA_PLATFORM_ID_PARMNUM 100 +#define WKSTA_COMPUTERNAME_PARMNUM 1 +#define WKSTA_LANGROUP_PARMNUM 2 +#define WKSTA_VER_MAJOR_PARMNUM 4 +#define WKSTA_VER_MINOR_PARMNUM 5 +#define WKSTA_LOGGED_ON_USERS_PARMNUM 6 +#define WKSTA_LANROOT_PARMNUM 7 +#define WKSTA_LOGON_DOMAIN_PARMNUM 8 +#define WKSTA_LOGON_SERVER_PARMNUM 9 +#define WKSTA_CHARWAIT_PARMNUM 10 +#define WKSTA_CHARTIME_PARMNUM 11 +#define WKSTA_CHARCOUNT_PARMNUM 12 +#define WKSTA_KEEPCONN_PARMNUM 13 +#define WKSTA_KEEPSEARCH_PARMNUM 14 +#define WKSTA_MAXCMDS_PARMNUM 15 +#define WKSTA_NUMWORKBUF_PARMNUM 16 +#define WKSTA_MAXWRKCACHE_PARMNUM 17 +#define WKSTA_SESSTIMEOUT_PARMNUM 18 +#define WKSTA_SIZERROR_PARMNUM 19 +#define WKSTA_NUMALERTS_PARMNUM 20 +#define WKSTA_NUMSERVICES_PARMNUM 21 +#define WKSTA_NUMCHARBUF_PARMNUM 22 +#define WKSTA_SIZCHARBUF_PARMNUM 23 +#define WKSTA_ERRLOGSZ_PARMNUM 27 +#define WKSTA_PRINTBUFTIME_PARMNUM 28 +#define WKSTA_SIZWORKBUF_PARMNUM 29 +#define WKSTA_MAILSLOTS_PARMNUM 30 +#define WKSTA_NUMDGRAMBUF_PARMNUM 31 +#define WKSTA_WRKHEURISTICS_PARMNUM 32 +#define WKSTA_MAXTHREADS_PARMNUM 33 +#define WKSTA_LOCKQUOTA_PARMNUM 41 +#define WKSTA_LOCKINCREMENT_PARMNUM 42 +#define WKSTA_LOCKMAXIMUM_PARMNUM 43 +#define WKSTA_PIPEINCREMENT_PARMNUM 44 +#define WKSTA_PIPEMAXIMUM_PARMNUM 45 +#define WKSTA_DORMANTFILELIMIT_PARMNUM 46 +#define WKSTA_CACHEFILETIMEOUT_PARMNUM 47 +#define WKSTA_USEOPPORTUNISTICLOCKING_PARMNUM 48 +#define WKSTA_USEUNLOCKBEHIND_PARMNUM 49 +#define WKSTA_USECLOSEBEHIND_PARMNUM 50 +#define WKSTA_BUFFERNAMEDPIPES_PARMNUM 51 +#define WKSTA_USELOCKANDREADANDUNLOCK_PARMNUM 52 +#define WKSTA_UTILIZENTCACHING_PARMNUM 53 +#define WKSTA_USERAWREAD_PARMNUM 54 +#define WKSTA_USERAWWRITE_PARMNUM 55 +#define WKSTA_USEWRITERAWWITHDATA_PARMNUM 56 +#define WKSTA_USEENCRYPTION_PARMNUM 57 +#define WKSTA_BUFFILESWITHDENYWRITE_PARMNUM 58 +#define WKSTA_BUFFERREADONLYFILES_PARMNUM 59 +#define WKSTA_FORCECORECREATEMODE_PARMNUM 60 +#define WKSTA_USE512BYTESMAXTRANSFER_PARMNUM 61 +#define WKSTA_READAHEADTHRUPUT_PARMNUM 62 +#define WKSTA_OTH_DOMAINS_PARMNUM 101 +#define TRANSPORT_QUALITYOFSERVICE_PARMNUM 201 +#define TRANSPORT_NAME_PARMNUM 202 + +typedef struct _WKSTA_INFO_100 { + DWORD wki100_platform_id; + LPWSTR wki100_computername; + LPWSTR wki100_langroup; + DWORD wki100_ver_major; + DWORD wki100_ver_minor; +}WKSTA_INFO_100,*PWKSTA_INFO_100,*LPWKSTA_INFO_100; +typedef struct _WKSTA_INFO_101 { + DWORD wki101_platform_id; + LPWSTR wki101_computername; + LPWSTR wki101_langroup; + DWORD wki101_ver_major; + DWORD wki101_ver_minor; + LPWSTR wki101_lanroot; +}WKSTA_INFO_101,*PWKSTA_INFO_101,*LPWKSTA_INFO_101; +typedef struct _WKSTA_INFO_102 { + DWORD wki102_platform_id; + LPWSTR wki102_computername; + LPWSTR wki102_langroup; + DWORD wki102_ver_major; + DWORD wki102_ver_minor; + LPWSTR wki102_lanroot; + DWORD wki102_logged_on_users; +}WKSTA_INFO_102,*PWKSTA_INFO_102,*LPWKSTA_INFO_102; +typedef struct _WKSTA_INFO_302{ + DWORD wki302_char_wait; + DWORD wki302_collection_time; + DWORD wki302_maximum_collection_count; + DWORD wki302_keep_conn; + DWORD wki302_keep_search; + DWORD wki302_max_cmds; + DWORD wki302_num_work_buf; + DWORD wki302_siz_work_buf; + DWORD wki302_max_wrk_cache; + DWORD wki302_sess_timeout; + DWORD wki302_siz_error; + DWORD wki302_num_alerts; + DWORD wki302_num_services; + DWORD wki302_errlog_sz; + DWORD wki302_print_buf_time; + DWORD wki302_num_char_buf; + DWORD wki302_siz_char_buf; + LPWSTR wki302_wrk_heuristics; + DWORD wki302_mailslots; + DWORD wki302_num_dgram_buf; +}WKSTA_INFO_302,*PWKSTA_INFO_302,*LPWKSTA_INFO_302; +typedef struct _WKSTA_INFO_402{ + DWORD wki402_char_wait; + DWORD wki402_collection_time; + DWORD wki402_maximum_collection_count; + DWORD wki402_keep_conn; + DWORD wki402_keep_search; + DWORD wki402_max_cmds; + DWORD wki402_num_work_buf; + DWORD wki402_siz_work_buf; + DWORD wki402_max_wrk_cache; + DWORD wki402_sess_timeout; + DWORD wki402_siz_error; + DWORD wki402_num_alerts; + DWORD wki402_num_services; + DWORD wki402_errlog_sz; + DWORD wki402_print_buf_time; + DWORD wki402_num_char_buf; + DWORD wki402_siz_char_buf; + LPWSTR wki402_wrk_heuristics; + DWORD wki402_mailslots; + DWORD wki402_num_dgram_buf; + DWORD wki402_max_threads; +}WKSTA_INFO_402,*PWKSTA_INFO_402,*LPWKSTA_INFO_402; +typedef struct _WKSTA_INFO_502{ + DWORD wki502_char_wait; + DWORD wki502_collection_time; + DWORD wki502_maximum_collection_count; + DWORD wki502_keep_conn; + DWORD wki502_max_cmds; + DWORD wki502_sess_timeout; + DWORD wki502_siz_char_buf; + DWORD wki502_max_threads; + DWORD wki502_lock_quota; + DWORD wki502_lock_increment; + DWORD wki502_lock_maximum; + DWORD wki502_pipe_increment; + DWORD wki502_pipe_maximum; + DWORD wki502_cache_file_timeout; + DWORD wki502_dormant_file_limit; + DWORD wki502_read_ahead_throughput; + DWORD wki502_num_mailslot_buffers; + DWORD wki502_num_srv_announce_buffers; + DWORD wki502_max_illegal_datagram_events; + DWORD wki502_illegal_datagram_event_reset_frequency; + BOOL wki502_log_election_packets; + BOOL wki502_use_opportunistic_locking; + BOOL wki502_use_unlock_behind; + BOOL wki502_use_close_behind; + BOOL wki502_buf_named_pipes; + BOOL wki502_use_lock_read_unlock; + BOOL wki502_utilize_nt_caching; + BOOL wki502_use_raw_read; + BOOL wki502_use_raw_write; + BOOL wki502_use_write_raw_data; + BOOL wki502_use_encryption; + BOOL wki502_buf_files_deny_write; + BOOL wki502_buf_read_only_files; + BOOL wki502_force_core_create_mode; + BOOL wki502_use_512_byte_max_transfer; +}WKSTA_INFO_502,*PWKSTA_INFO_502,*LPWKSTA_INFO_502; +typedef struct _WKSTA_INFO_1010 { DWORD wki1010_char_wait;} WKSTA_INFO_1010,*PWKSTA_INFO_1010,*LPWKSTA_INFO_1010; +typedef struct _WKSTA_INFO_1011 { DWORD wki1011_collection_time;} WKSTA_INFO_1011,*PWKSTA_INFO_1011,*LPWKSTA_INFO_1011; +typedef struct _WKSTA_INFO_1012 { DWORD wki1012_maximum_collection_count;} WKSTA_INFO_1012,*PWKSTA_INFO_1012,*LPWKSTA_INFO_1012; +typedef struct _WKSTA_INFO_1027 { DWORD wki1027_errlog_sz;} WKSTA_INFO_1027,*PWKSTA_INFO_1027,*LPWKSTA_INFO_1027; +typedef struct _WKSTA_INFO_1028 { DWORD wki1028_print_buf_time;} WKSTA_INFO_1028,*PWKSTA_INFO_1028,*LPWKSTA_INFO_1028; +typedef struct _WKSTA_INFO_1032 { DWORD wki1032_wrk_heuristics;} WKSTA_INFO_1032,*PWKSTA_INFO_1032,*LPWKSTA_INFO_1032; +typedef struct _WKSTA_INFO_1013 { DWORD wki1013_keep_conn;} WKSTA_INFO_1013,*PWKSTA_INFO_1013,*LPWKSTA_INFO_1013; +typedef struct _WKSTA_INFO_1018 { DWORD wki1018_sess_timeout;} WKSTA_INFO_1018,*PWKSTA_INFO_1018,*LPWKSTA_INFO_1018; +typedef struct _WKSTA_INFO_1023 { DWORD wki1023_siz_char_buf;} WKSTA_INFO_1023,*PWKSTA_INFO_1023,*LPWKSTA_INFO_1023; +typedef struct _WKSTA_INFO_1033 { DWORD wki1033_max_threads;} WKSTA_INFO_1033,*PWKSTA_INFO_1033,*LPWKSTA_INFO_1033; +typedef struct _WKSTA_INFO_1041 { DWORD wki1041_lock_quota;} WKSTA_INFO_1041,*PWKSTA_INFO_1041,*LPWKSTA_INFO_1041; +typedef struct _WKSTA_INFO_1042 { DWORD wki1042_lock_increment;} WKSTA_INFO_1042,*PWKSTA_INFO_1042,*LPWKSTA_INFO_1042; +typedef struct _WKSTA_INFO_1043 { DWORD wki1043_lock_maximum;} WKSTA_INFO_1043,*PWKSTA_INFO_1043,*LPWKSTA_INFO_1043; +typedef struct _WKSTA_INFO_1044 { DWORD wki1044_pipe_increment;} WKSTA_INFO_1044,*PWKSTA_INFO_1044,*LPWKSTA_INFO_1044; +typedef struct _WKSTA_INFO_1045 { DWORD wki1045_pipe_maximum;} WKSTA_INFO_1045,*PWKSTA_INFO_1045,*LPWKSTA_INFO_1045; +typedef struct _WKSTA_INFO_1046 { DWORD wki1046_dormant_file_limit;} WKSTA_INFO_1046,*PWKSTA_INFO_1046,*LPWKSTA_INFO_1046; +typedef struct _WKSTA_INFO_1047 { DWORD wki1047_cache_file_timeout;} WKSTA_INFO_1047,*PWKSTA_INFO_1047,*LPWKSTA_INFO_1047; +typedef struct _WKSTA_INFO_1048 { BOOL wki1048_use_opportunistic_locking;} WKSTA_INFO_1048,*PWKSTA_INFO_1048,*LPWKSTA_INFO_1048; +typedef struct _WKSTA_INFO_1049 { BOOL wki1049_use_unlock_behind;} WKSTA_INFO_1049,*PWKSTA_INFO_1049,*LPWKSTA_INFO_1049; +typedef struct _WKSTA_INFO_1050 { BOOL wki1050_use_close_behind;} WKSTA_INFO_1050,*PWKSTA_INFO_1050,*LPWKSTA_INFO_1050; +typedef struct _WKSTA_INFO_1051 { BOOL wki1051_buf_named_pipes;} WKSTA_INFO_1051,*PWKSTA_INFO_1051,*LPWKSTA_INFO_1051; +typedef struct _WKSTA_INFO_1052 { BOOL wki1052_use_lock_read_unlock;} WKSTA_INFO_1052,*PWKSTA_INFO_1052,*LPWKSTA_INFO_1052; +typedef struct _WKSTA_INFO_1053 { BOOL wki1053_utilize_nt_caching;} WKSTA_INFO_1053,*PWKSTA_INFO_1053,*LPWKSTA_INFO_1053; +typedef struct _WKSTA_INFO_1054 { BOOL wki1054_use_raw_read;} WKSTA_INFO_1054,*PWKSTA_INFO_1054,*LPWKSTA_INFO_1054; +typedef struct _WKSTA_INFO_1055 { BOOL wki1055_use_raw_write;} WKSTA_INFO_1055,*PWKSTA_INFO_1055,*LPWKSTA_INFO_1055; +typedef struct _WKSTA_INFO_1056 { BOOL wki1056_use_write_raw_data;} WKSTA_INFO_1056,*PWKSTA_INFO_1056,*LPWKSTA_INFO_1056; +typedef struct _WKSTA_INFO_1057 { BOOL wki1057_use_encryption;} WKSTA_INFO_1057,*PWKSTA_INFO_1057,*LPWKSTA_INFO_1057; +typedef struct _WKSTA_INFO_1058 { BOOL wki1058_buf_files_deny_write;} WKSTA_INFO_1058,*PWKSTA_INFO_1058,*LPWKSTA_INFO_1058; +typedef struct _WKSTA_INFO_1059 { BOOL wki1059_buf_read_only_files;} WKSTA_INFO_1059,*PWKSTA_INFO_1059,*LPWKSTA_INFO_1059; +typedef struct _WKSTA_INFO_1060 { BOOL wki1060_force_core_create_mode;} WKSTA_INFO_1060,*PWKSTA_INFO_1060,*LPWKSTA_INFO_1060; +typedef struct _WKSTA_INFO_1061 { BOOL wki1061_use_512_byte_max_transfer;} WKSTA_INFO_1061,*PWKSTA_INFO_1061,*LPWKSTA_INFO_1061; +typedef struct _WKSTA_INFO_1062 { DWORD wki1062_read_ahead_throughput;} WKSTA_INFO_1062,*PWKSTA_INFO_1062,*LPWKSTA_INFO_1062; +typedef struct _WKSTA_USER_INFO_0 { LPWSTR wkui0_username;}WKSTA_USER_INFO_0,*PWKSTA_USER_INFO_0,*LPWKSTA_USER_INFO_0; +typedef struct _WKSTA_USER_INFO_1 { + LPWSTR wkui1_username; + LPWSTR wkui1_logon_domain; + LPWSTR wkui1_oth_domains; + LPWSTR wkui1_logon_server; +}WKSTA_USER_INFO_1,*PWKSTA_USER_INFO_1,*LPWKSTA_USER_INFO_1; +typedef struct _WKSTA_USER_INFO_1101 { LPWSTR wkui1101_oth_domains;} WKSTA_USER_INFO_1101,*PWKSTA_USER_INFO_1101,*LPWKSTA_USER_INFO_1101; +typedef struct _WKSTA_TRANSPORT_INFO_0 { + DWORD wkti0_quality_of_service; + DWORD wkti0_number_of_vcs; + LPWSTR wkti0_transport_name; + LPWSTR wkti0_transport_address; + BOOL wkti0_wan_ish; +}WKSTA_TRANSPORT_INFO_0,*PWKSTA_TRANSPORT_INFO_0,*LPWKSTA_TRANSPORT_INFO_0; + +NET_API_STATUS WINAPI NetWkstaGetInfo(LPWSTR,DWORD,PBYTE*); +NET_API_STATUS WINAPI NetWkstaSetInfo(LPWSTR,DWORD,PBYTE,PDWORD); +NET_API_STATUS WINAPI NetWkstaUserGetInfo(LPWSTR,DWORD,PBYTE*); +NET_API_STATUS WINAPI NetWkstaUserSetInfo(LPWSTR,DWORD,PBYTE,PDWORD); +NET_API_STATUS WINAPI NetWkstaUserEnum(LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); +NET_API_STATUS WINAPI NetWkstaTransportAdd(LPWSTR,DWORD,PBYTE,PDWORD); +NET_API_STATUS WINAPI NetWkstaTransportDel(LPWSTR,LPWSTR,DWORD); +NET_API_STATUS WINAPI NetWkstaTransportEnum(LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/lzexpand.h b/winsup/w32api/include/lzexpand.h new file mode 100644 index 000000000..5c06d14e4 --- /dev/null +++ b/winsup/w32api/include/lzexpand.h @@ -0,0 +1,36 @@ +#ifndef _LZEXPAND_H +#define _LZEXPAND_H +#ifdef __cplusplus +extern "C" { +#endif +#define LZERROR_BADINHANDLE (-1) +#define LZERROR_BADOUTHANDLE (-2) +#define LZERROR_READ (-3) +#define LZERROR_WRITE (-4) +#define LZERROR_GLOBALLOC (-5) +#define LZERROR_GLOBLOCK (-6) +#define LZERROR_BADVALUE (-7) +#define LZERROR_UNKNOWNALG (-8) +LONG WINAPI CopyLZFile(INT,INT); +INT WINAPI GetExpandedNameA(LPSTR,LPSTR); +INT WINAPI GetExpandedNameW(LPWSTR,LPWSTR); +VOID APIENTRY LZClose(INT); +LONG APIENTRY LZCopy(INT,INT); +VOID WINAPI LZDone(VOID); +INT WINAPI LZInit(INT); +INT WINAPI LZOpenFileA(LPSTR,LPOFSTRUCT,WORD); +INT WINAPI LZOpenFileW(LPWSTR,LPOFSTRUCT,WORD); +INT WINAPI LZRead(INT,LPSTR,INT); +LONG WINAPI LZSeek(INT,LONG,INT); +INT WINAPI LZStart(VOID); +#ifdef UNICODE +#define GetExpandedName GetExpandedNameW +#define LZOpenFile LZOpenFileW +#else +#define GetExpandedName GetExpandedNameA +#define LZOpenFile LZOpenFileA +#endif +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/mciavi.h b/winsup/w32api/include/mciavi.h new file mode 100644 index 000000000..b56bb8f1c --- /dev/null +++ b/winsup/w32api/include/mciavi.h @@ -0,0 +1,21 @@ +#ifndef _MCIAVI_H +#define _MCIAVI_H +#define MCI_MCIAVI_PLAY_WINDOW 0x1000000 +#define MCI_MCIAVI_PLAY_FULLSCREEN 0x2000000 +#define MCI_MCIAVI_PLAY_FULLBY2 0x4000000 +#define MCI_AVI_STATUS_FRAMES_SKIPPED 0x8001 +#define MCI_AVI_STATUS_LAST_PLAY_SPEED 0x8002 +#define MCI_AVI_STATUS_AUDIO_BREAKS 0x8003 +#define MCI_AVI_SETVIDEO_DRAW_PROCEDURE 0x8000 +#define MCI_AVI_SETVIDEO_PALETTE_COLOR 0x8100 +#define MCI_AVI_SETVIDEO_PALETTE_HALFTONE 0x0000FFFF +#define MCIERR_AVI_OLDAVIFORMAT (MCIERR_CUSTOM_DRIVER_BASE+100) +#define MCIERR_AVI_NOTINTERLEAVED (MCIERR_CUSTOM_DRIVER_BASE+101) +#define MCIERR_AVI_NODISPDIB (MCIERR_CUSTOM_DRIVER_BASE+102) +#define MCIERR_AVI_CANTPLAYFULLSCREEN (MCIERR_CUSTOM_DRIVER_BASE+103) +#define MCIERR_AVI_TOOBIGFORVGA (MCIERR_CUSTOM_DRIVER_BASE+104) +#define MCIERR_AVI_NOCOMPRESSOR (MCIERR_CUSTOM_DRIVER_BASE+105) +#define MCIERR_AVI_DISPLAYERROR (MCIERR_CUSTOM_DRIVER_BASE+106) +#define MCIERR_AVI_AUDIOERROR (MCIERR_CUSTOM_DRIVER_BASE+107) +#define MCIERR_AVI_BADPALETTE (MCIERR_CUSTOM_DRIVER_BASE+108) +#endif diff --git a/winsup/w32api/include/mcx.h b/winsup/w32api/include/mcx.h new file mode 100644 index 000000000..facc6d595 --- /dev/null +++ b/winsup/w32api/include/mcx.h @@ -0,0 +1,73 @@ +#ifndef _MCX_H +#define _MCX_H +#ifdef __cplusplus +extern "C" { +#endif +#define DIALOPTION_BILLING 64 +#define DIALOPTION_QUIET 128 +#define DIALOPTION_DIALTONE 256 +#define MDMVOLFLAG_LOW 1 +#define MDMVOLFLAG_MEDIUM 2 +#define MDMVOLFLAG_HIGH 4 +#define MDMVOL_LOW 0 +#define MDMVOL_MEDIUM 1 +#define MDMVOL_HIGH 2 +#define MDMSPKRFLAG_OFF 1 +#define MDMSPKRFLAG_DIAL 2 +#define MDMSPKRFLAG_ON 4 +#define MDMSPKRFLAG_CALLSETUP 8 +#define MDMSPKR_OFF 0 +#define MDMSPKR_DIAL 1 +#define MDMSPKR_ON 2 +#define MDMSPKR_CALLSETUP 3 +#define MDM_COMPRESSION 1 +#define MDM_ERROR_CONTROL 2 +#define MDM_FORCED_EC 4 +#define MDM_CELLULAR 8 +#define MDM_FLOWCONTROL_HARD 16 +#define MDM_FLOWCONTROL_SOFT 32 +#define MDM_CCITT_OVERRIDE 64 +#define MDM_SPEED_ADJUST 128 +#define MDM_TONE_DIAL 256 +#define MDM_BLIND_DIAL 512 +#define MDM_V23_OVERRIDE 1024 +typedef struct _MODEMDEVCAPS { + DWORD dwActualSize; + DWORD dwRequiredSize; + DWORD dwDevSpecificOffset; + DWORD dwDevSpecificSize; + DWORD dwModemProviderVersion; + DWORD dwModemManufacturerOffset; + DWORD dwModemManufacturerSize; + DWORD dwModemModelOffset; + DWORD dwModemModelSize; + DWORD dwModemVersionOffset; + DWORD dwModemVersionSize; + DWORD dwDialOptions; + DWORD dwCallSetupFailTimer; + DWORD dwInactivityTimeout; + DWORD dwSpeakerVolume; + DWORD dwSpeakerMode; + DWORD dwModemOptions; + DWORD dwMaxDTERate; + DWORD dwMaxDCERate; + BYTE abVariablePortion[1]; +} MODEMDEVCAPS,*PMODEMDEVCAPS,*LPMODEMDEVCAPS; +typedef struct _MODEMSETTINGS { + DWORD dwActualSize; + DWORD dwRequiredSize; + DWORD dwDevSpecificOffset; + DWORD dwDevSpecificSize; + DWORD dwCallSetupFailTimer; + DWORD dwInactivityTimeout; + DWORD dwSpeakerVolume; + DWORD dwSpeakerMode; + DWORD dwPreferredModemOptions; + DWORD dwNegotiatedModemOptions; + DWORD dwNegotiatedDCERate; + BYTE abVariablePortion[1]; +} MODEMSETTINGS,*PMODEMSETTINGS,*LPMODEMSETTINGS; +#ifdef __cplusplus +} +#endif +#endif /* _MCX_H */ diff --git a/winsup/w32api/include/mmsystem.h b/winsup/w32api/include/mmsystem.h new file mode 100644 index 000000000..a35a78929 --- /dev/null +++ b/winsup/w32api/include/mmsystem.h @@ -0,0 +1,1933 @@ + +#ifndef _MMSYSTEM_H +#define _MMSYSTEM_H +#pragma pack(push,1) +#ifdef __cplusplus +extern "C" { +#endif +#define WINMMAPI DECLSPEC_IMPORT +#define _loadds +#define _huge +#define MAXPNAMELEN 32 +#define MAXERRORLENGTH 256 +#define MAX_JOYSTICKOEMVXDNAME 260 +#define _MMRESULT_ +#define TIME_MS 1 +#define TIME_SAMPLES 2 +#define TIME_BYTES 4 +#define TIME_SMPTE 8 +#define TIME_MIDI 16 +#define TIME_TICKS 32 +#define MAKEFOURCC(c0,c1,c2,c3) ((DWORD)(BYTE)(c0)|((DWORD)(BYTE)(c1)<<8)|((DWORD)(BYTE)(c2)<<16)|((DWORD)(BYTE)(c3)<<24)) +#define MM_JOY1MOVE 0x3A0 +#define MM_JOY2MOVE 0x3A1 +#define MM_JOY1ZMOVE 0x3A2 +#define MM_JOY2ZMOVE 0x3A3 +#define MM_JOY1BUTTONDOWN 0x3B5 +#define MM_JOY2BUTTONDOWN 0x3B6 +#define MM_JOY1BUTTONUP 0x3B7 +#define MM_JOY2BUTTONUP 0x3B8 +#define MM_MCINOTIFY 0x3B9 +#define MM_WOM_OPEN 0x3BB +#define MM_WOM_CLOSE 0x3BC +#define MM_WOM_DONE 0x3BD +#define MM_WIM_OPEN 0x3BE +#define MM_WIM_CLOSE 0x3BF +#define MM_WIM_DATA 0x3C0 +#define MM_MIM_OPEN 0x3C1 +#define MM_MIM_CLOSE 0x3C2 +#define MM_MIM_DATA 0x3C3 +#define MM_MIM_LONGDATA 0x3C4 +#define MM_MIM_ERROR 0x3C5 +#define MM_MIM_LONGERROR 0x3C6 +#define MM_MOM_OPEN 0x3C7 +#define MM_MOM_CLOSE 0x3C8 +#define MM_MOM_DONE 0x3C9 +#define MM_DRVM_OPEN 0x3D0 +#define MM_DRVM_CLOSE 0x3D1 +#define MM_DRVM_DATA 0x3D2 +#define MM_DRVM_ERROR 0x3D3 +#define MM_STREAM_OPEN 0x3D4 +#define MM_STREAM_CLOSE 0x3D5 +#define MM_STREAM_DONE 0x3D6 +#define MM_STREAM_ERROR 0x3D7 +#define MM_MOM_POSITIONCB 0x3CA +#define MM_MCISIGNAL 0x3CB +#define MM_MIM_MOREDATA 0x3CC +#define MM_MIXM_LINE_CHANGE 0x3D0 +#define MM_MIXM_CONTROL_CHANGE 0x3D1 +#define MMSYSERR_BASE 0 +#define WAVERR_BASE 32 +#define MIDIERR_BASE 64 +#define TIMERR_BASE 96 +#define JOYERR_BASE 160 +#define MCIERR_BASE 256 +#define MIXERR_BASE 1024 +#define MCI_STRING_OFFSET 512 +#define MCI_VD_OFFSET 1024 +#define MCI_CD_OFFSET 1088 +#define MCI_WAVE_OFFSET 1152 +#define MCI_SEQ_OFFSET 1216 +#define MMSYSERR_NOERROR 0 +#define MMSYSERR_ERROR (MMSYSERR_BASE+1) +#define MMSYSERR_BADDEVICEID (MMSYSERR_BASE+2) +#define MMSYSERR_NOTENABLED (MMSYSERR_BASE+3) +#define MMSYSERR_ALLOCATED (MMSYSERR_BASE+4) +#define MMSYSERR_INVALHANDLE (MMSYSERR_BASE+5) +#define MMSYSERR_NODRIVER (MMSYSERR_BASE+6) +#define MMSYSERR_NOMEM (MMSYSERR_BASE+7) +#define MMSYSERR_NOTSUPPORTED (MMSYSERR_BASE+8) +#define MMSYSERR_BADERRNUM (MMSYSERR_BASE+9) +#define MMSYSERR_INVALFLAG (MMSYSERR_BASE+10) +#define MMSYSERR_INVALPARAM (MMSYSERR_BASE+11) +#define MMSYSERR_HANDLEBUSY (MMSYSERR_BASE+12) +#define MMSYSERR_INVALIDALIAS (MMSYSERR_BASE+13) +#define MMSYSERR_BADDB (MMSYSERR_BASE+14) +#define MMSYSERR_KEYNOTFOUND (MMSYSERR_BASE+15) +#define MMSYSERR_READERROR (MMSYSERR_BASE+16) +#define MMSYSERR_WRITEERROR (MMSYSERR_BASE+17) +#define MMSYSERR_DELETEERROR (MMSYSERR_BASE+18) +#define MMSYSERR_VALNOTFOUND (MMSYSERR_BASE+19) +#define MMSYSERR_NODRIVERCB (MMSYSERR_BASE+20) +#define MMSYSERR_LASTERROR (MMSYSERR_BASE+20) +#define DRV_LOAD 1 +#define DRV_ENABLE 2 +#define DRV_OPEN 3 +#define DRV_CLOSE 4 +#define DRV_DISABLE 5 +#define DRV_FREE 6 +#define DRV_CONFIGURE 7 +#define DRV_QUERYCONFIGURE 8 +#define DRV_INSTALL 9 +#define DRV_REMOVE 10 +#define DRV_EXITSESSION 11 +#define DRV_POWER 15 +#define DRV_RESERVED 0x800 +#define DRV_USER 0x4000 +#define DRVCNF_CANCEL 0 +#define DRVCNF_OK 1 +#define DRVCNF_RESTART 2 +#define DRV_CANCEL DRVCNF_CANCEL +#define DRV_OK DRVCNF_OK +#define DRV_RESTART DRVCNF_RESTART +#define DRV_MCI_FIRST DRV_RESERVED +#define DRV_MCI_LAST (DRV_RESERVED+0xFFF) +#define CALLBACK_TYPEMASK 0x70000 +#define CALLBACK_NULL 0 +#define CALLBACK_WINDOW 0x10000 +#define CALLBACK_TASK 0x20000 +#define CALLBACK_FUNCTION 0x30000 +#define CALLBACK_THREAD CALLBACK_TASK +#define CALLBACK_EVENT 0x50000 +#define SND_SYNC 0 +#define SND_ASYNC 1 +#define SND_NODEFAULT 2 +#define SND_MEMORY 4 +#define SND_LOOP 8 +#define SND_NOSTOP 16 +#define SND_NOWAIT 0x2000 +#define SND_ALIAS 0x10000 +#define SND_ALIAS_ID 0x110000 +#define SND_FILENAME 0x20000 +#define SND_RESOURCE 0x40004 +#define SND_PURGE 0x40 +#define SND_APPLICATION 0x80 +#define SND_ALIAS_START 0 +#define sndAlias(c0,c1) (SND_ALIAS_START+(DWORD)(BYTE)(c0)|((DWORD)(BYTE)(c1)<<8)) +#define SND_ALIAS_SYSTEMASTERISK sndAlias('S','*') +#define SND_ALIAS_SYSTEMQUESTION sndAlias('S','?') +#define SND_ALIAS_SYSTEMHAND sndAlias('S','H') +#define SND_ALIAS_SYSTEMEXIT sndAlias('S','E') +#define SND_ALIAS_SYSTEMSTART sndAlias('S','S') +#define SND_ALIAS_SYSTEMWELCOME sndAlias('S','W') +#define SND_ALIAS_SYSTEMEXCLAMATION sndAlias('S','!') +#define SND_ALIAS_SYSTEMDEFAULT sndAlias('S','D') +#define WAVERR_BADFORMAT (WAVERR_BASE + 0) +#define WAVERR_STILLPLAYING (WAVERR_BASE + 1) +#define WAVERR_UNPREPARED (WAVERR_BASE + 2) +#define WAVERR_SYNC (WAVERR_BASE + 3) +#define WAVERR_LASTERROR (WAVERR_BASE + 3) +#define WOM_OPEN MM_WOM_OPEN +#define WOM_CLOSE MM_WOM_CLOSE +#define WOM_DONE MM_WOM_DONE +#define WIM_OPEN MM_WIM_OPEN +#define WIM_CLOSE MM_WIM_CLOSE +#define WIM_DATA MM_WIM_DATA +#define WAVE_MAPPER ((UINT)-1) +#define WAVE_FORMAT_QUERY 1 +#define WAVE_ALLOWSYNC 2 +#define WAVE_MAPPED 4 +#define WAVE_FORMAT_DIRECT 8 +#define WAVE_FORMAT_DIRECT_QUERY (WAVE_FORMAT_QUERY|WAVE_FORMAT_DIRECT) +#define WHDR_DONE 1 +#define WHDR_PREPARED 2 +#define WHDR_BEGINLOOP 4 +#define WHDR_ENDLOOP 8 +#define WHDR_INQUEUE 16 +#define WAVECAPS_PITCH 1 +#define WAVECAPS_PLAYBACKRATE 2 +#define WAVECAPS_VOLUME 4 +#define WAVECAPS_LRVOLUME 8 +#define WAVECAPS_SYNC 16 +#define WAVECAPS_SAMPLEACCURATE 32 +#define WAVECAPS_DIRECTSOUND 64 +#define WAVE_INVALIDFORMAT 0 +#define WAVE_FORMAT_1M08 1 +#define WAVE_FORMAT_1S08 2 +#define WAVE_FORMAT_1M16 4 +#define WAVE_FORMAT_1S16 8 +#define WAVE_FORMAT_2M08 16 +#define WAVE_FORMAT_2S08 32 +#define WAVE_FORMAT_2M16 64 +#define WAVE_FORMAT_2S16 128 +#define WAVE_FORMAT_4M08 256 +#define WAVE_FORMAT_4S08 512 +#define WAVE_FORMAT_4M16 1024 +#define WAVE_FORMAT_4S16 2048 +#define WAVE_FORMAT_PCM 1 +#define MIDIERR_UNPREPARED MIDIERR_BASE +#define MIDIERR_STILLPLAYING (MIDIERR_BASE+1) +#define MIDIERR_NOMAP (MIDIERR_BASE+2) +#define MIDIERR_NOTREADY (MIDIERR_BASE+3) +#define MIDIERR_NODEVICE (MIDIERR_BASE+4) +#define MIDIERR_INVALIDSETUP (MIDIERR_BASE+5) +#define MIDIERR_BADOPENMODE (MIDIERR_BASE+6) +#define MIDIERR_DONT_CONTINUE (MIDIERR_BASE+7) +#define MIDIERR_LASTERROR (MIDIERR_BASE+7) +#define MIDIPATCHSIZE 128 +#define MIM_OPEN MM_MIM_OPEN +#define MIM_CLOSE MM_MIM_CLOSE +#define MIM_DATA MM_MIM_DATA +#define MIM_LONGDATA MM_MIM_LONGDATA +#define MIM_ERROR MM_MIM_ERROR +#define MIM_LONGERROR MM_MIM_LONGERROR +#define MOM_OPEN MM_MOM_OPEN +#define MOM_CLOSE MM_MOM_CLOSE +#define MOM_DONE MM_MOM_DONE +#define MIM_MOREDATA MM_MIM_MOREDATA +#define MOM_POSITIONCB MM_MOM_POSITIONCB +#define MIDIMAPPER ((UINT)-1) +#define MIDI_MAPPER ((UINT)-1) +#define MIDI_IO_STATUS 32 +#define MIDI_CACHE_ALL 1 +#define MIDI_CACHE_BESTFIT 2 +#define MIDI_CACHE_QUERY 3 +#define MIDI_UNCACHE 4 +#define MOD_MIDIPORT 1 +#define MOD_SYNTH 2 +#define MOD_SQSYNTH 3 +#define MOD_FMSYNTH 4 +#define MOD_MAPPER 5 +#define MIDICAPS_VOLUME 1 +#define MIDICAPS_LRVOLUME 2 +#define MIDICAPS_CACHE 4 +#define MIDICAPS_STREAM 8 +#define MHDR_DONE 1 +#define MHDR_PREPARED 2 +#define MHDR_INQUEUE 4 +#define MHDR_ISSTRM 8 +#define MEVT_F_SHORT 0 +#define MEVT_F_LONG 0x80000000 +#define MEVT_F_CALLBACK 0x40000000 +#define MEVT_EVENTTYPE(x) ((BYTE)(((x)>>24)&0xFF)) +#define MEVT_EVENTPARM(x) ((DWORD)((x)&0xFFFFFFL)) +#define MEVT_SHORTMSG 0 +#define MEVT_TEMPO 1 +#define MEVT_NOP 2 +#define MEVT_LONGMSG ((BYTE)0x80) +#define MEVT_COMMENT ((BYTE)0x82) +#define MEVT_VERSION ((BYTE)0x84) +#define MIDISTRM_ERROR (-2) +#define MIDIPROP_SET 0x80000000 +#define MIDIPROP_GET 0x40000000 +#define MIDIPROP_TIMEDIV 1 +#define MIDIPROP_TEMPO 2 +#define AUX_MAPPER ((UINT)-1) +#define AUXCAPS_CDAUDIO 1 +#define AUXCAPS_AUXIN 2 +#define AUXCAPS_VOLUME 1 +#define AUXCAPS_LRVOLUME 2 +#define MIXER_SHORT_NAME_CHARS 16 +#define MIXER_LONG_NAME_CHARS 64 +#define MIXERR_INVALLINE MIXERR_BASE +#define MIXERR_INVALCONTROL (MIXERR_BASE+1) +#define MIXERR_INVALVALUE (MIXERR_BASE+2) +#define MIXERR_LASTERROR (MIXERR_BASE+2) +#define MIXER_OBJECTF_HANDLE 0x80000000 +#define MIXER_OBJECTF_MIXER 0 +#define MIXER_OBJECTF_HMIXER (MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIXER) +#define MIXER_OBJECTF_WAVEOUT 0x10000000 +#define MIXER_OBJECTF_HWAVEOUT (MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_WAVEOUT) +#define MIXER_OBJECTF_WAVEIN 0x20000000 +#define MIXER_OBJECTF_HWAVEIN (MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_WAVEIN) +#define MIXER_OBJECTF_MIDIOUT 0x30000000 +#define MIXER_OBJECTF_HMIDIOUT (MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIDIOUT) +#define MIXER_OBJECTF_MIDIIN 0x40000000 +#define MIXER_OBJECTF_HMIDIIN (MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIDIIN) +#define MIXER_OBJECTF_AUX 0x50000000 +#define MIXERLINE_LINEF_ACTIVE 1 +#define MIXERLINE_LINEF_DISCONNECTED 0x8000 +#define MIXERLINE_LINEF_SOURCE 0x80000000 +#define MIXERLINE_COMPONENTTYPE_DST_FIRST 0 +#define MIXERLINE_COMPONENTTYPE_DST_UNDEFINED MIXERLINE_COMPONENTTYPE_DST_FIRST +#define MIXERLINE_COMPONENTTYPE_DST_DIGITAL (MIXERLINE_COMPONENTTYPE_DST_FIRST+1) +#define MIXERLINE_COMPONENTTYPE_DST_LINE (MIXERLINE_COMPONENTTYPE_DST_FIRST+2) +#define MIXERLINE_COMPONENTTYPE_DST_MONITOR (MIXERLINE_COMPONENTTYPE_DST_FIRST+3) +#define MIXERLINE_COMPONENTTYPE_DST_SPEAKERS (MIXERLINE_COMPONENTTYPE_DST_FIRST+4) +#define MIXERLINE_COMPONENTTYPE_DST_HEADPHONES (MIXERLINE_COMPONENTTYPE_DST_FIRST+5) +#define MIXERLINE_COMPONENTTYPE_DST_TELEPHONE (MIXERLINE_COMPONENTTYPE_DST_FIRST+6) +#define MIXERLINE_COMPONENTTYPE_DST_WAVEIN (MIXERLINE_COMPONENTTYPE_DST_FIRST+7) +#define MIXERLINE_COMPONENTTYPE_DST_VOICEIN (MIXERLINE_COMPONENTTYPE_DST_FIRST+8) +#define MIXERLINE_COMPONENTTYPE_DST_LAST (MIXERLINE_COMPONENTTYPE_DST_FIRST+8) +#define MIXERLINE_COMPONENTTYPE_SRC_FIRST 0x1000 +#define MIXERLINE_COMPONENTTYPE_SRC_UNDEFINED MIXERLINE_COMPONENTTYPE_SRC_FIRST +#define MIXERLINE_COMPONENTTYPE_SRC_DIGITAL (MIXERLINE_COMPONENTTYPE_SRC_FIRST+1) +#define MIXERLINE_COMPONENTTYPE_SRC_LINE (MIXERLINE_COMPONENTTYPE_SRC_FIRST+2) +#define MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE (MIXERLINE_COMPONENTTYPE_SRC_FIRST+3) +#define MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER (MIXERLINE_COMPONENTTYPE_SRC_FIRST+4) +#define MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC (MIXERLINE_COMPONENTTYPE_SRC_FIRST+5) +#define MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE (MIXERLINE_COMPONENTTYPE_SRC_FIRST+6) +#define MIXERLINE_COMPONENTTYPE_SRC_PCSPEAKER (MIXERLINE_COMPONENTTYPE_SRC_FIRST+7) +#define MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT (MIXERLINE_COMPONENTTYPE_SRC_FIRST+8) +#define MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY (MIXERLINE_COMPONENTTYPE_SRC_FIRST+9) +#define MIXERLINE_COMPONENTTYPE_SRC_ANALOG (MIXERLINE_COMPONENTTYPE_SRC_FIRST+10) +#define MIXERLINE_COMPONENTTYPE_SRC_LAST (MIXERLINE_COMPONENTTYPE_SRC_FIRST+10) +#define MIXERLINE_TARGETTYPE_UNDEFINED 0 +#define MIXERLINE_TARGETTYPE_WAVEOUT 1 +#define MIXERLINE_TARGETTYPE_WAVEIN 2 +#define MIXERLINE_TARGETTYPE_MIDIOUT 3 +#define MIXERLINE_TARGETTYPE_MIDIIN 4 +#define MIXERLINE_TARGETTYPE_AUX 5 +#define MIXER_GETLINEINFOF_DESTINATION 0 +#define MIXER_GETLINEINFOF_SOURCE 1 +#define MIXER_GETLINEINFOF_LINEID 2 +#define MIXER_GETLINEINFOF_COMPONENTTYPE 3 +#define MIXER_GETLINEINFOF_TARGETTYPE 4 +#define MIXER_GETLINEINFOF_QUERYMASK 15 +#define MIXERCONTROL_CONTROLF_UNIFORM 1 +#define MIXERCONTROL_CONTROLF_MULTIPLE 1 +#define MIXERCONTROL_CONTROLF_DISABLED 0x80000000 +#define MIXERCONTROL_CT_CLASS_MASK 0xF0000000 +#define MIXERCONTROL_CT_CLASS_CUSTOM 0 +#define MIXERCONTROL_CT_CLASS_METER 0x10000000 +#define MIXERCONTROL_CT_CLASS_SWITCH 0x20000000 +#define MIXERCONTROL_CT_CLASS_NUMBER 0x30000000 +#define MIXERCONTROL_CT_CLASS_SLIDER 0x40000000 +#define MIXERCONTROL_CT_CLASS_FADER 0x50000000 +#define MIXERCONTROL_CT_CLASS_TIME 0x60000000 +#define MIXERCONTROL_CT_CLASS_LIST 0x70000000 +#define MIXERCONTROL_CT_SUBCLASS_MASK 0xF000000 +#define MIXERCONTROL_CT_SC_SWITCH_BOOLEAN 0 +#define MIXERCONTROL_CT_SC_SWITCH_BUTTON 0x1000000 +#define MIXERCONTROL_CT_SC_METER_POLLED 0 +#define MIXERCONTROL_CT_SC_TIME_MICROSECS 0 +#define MIXERCONTROL_CT_SC_TIME_MILLISECS 0x1000000 +#define MIXERCONTROL_CT_SC_LIST_SINGLE 0 +#define MIXERCONTROL_CT_SC_LIST_MULTIPLE 0x1000000 +#define MIXERCONTROL_CT_UNITS_MASK 0xFF0000 +#define MIXERCONTROL_CT_UNITS_CUSTOM 0 +#define MIXERCONTROL_CT_UNITS_BOOLEAN 0x10000 +#define MIXERCONTROL_CT_UNITS_SIGNED 0x20000 +#define MIXERCONTROL_CT_UNITS_UNSIGNED 0x30000 +#define MIXERCONTROL_CT_UNITS_DECIBELS 0x40000 +#define MIXERCONTROL_CT_UNITS_PERCENT 0x50000 +#define MIXERCONTROL_CONTROLTYPE_CUSTOM (MIXERCONTROL_CT_CLASS_CUSTOM|MIXERCONTROL_CT_UNITS_CUSTOM) +#define MIXERCONTROL_CONTROLTYPE_BOOLEANMETER (MIXERCONTROL_CT_CLASS_METER|MIXERCONTROL_CT_SC_METER_POLLED|MIXERCONTROL_CT_UNITS_BOOLEAN) +#define MIXERCONTROL_CONTROLTYPE_SIGNEDMETER (MIXERCONTROL_CT_CLASS_METER|MIXERCONTROL_CT_SC_METER_POLLED|MIXERCONTROL_CT_UNITS_SIGNED) +#define MIXERCONTROL_CONTROLTYPE_PEAKMETER (MIXERCONTROL_CONTROLTYPE_SIGNEDMETER+1) +#define MIXERCONTROL_CONTROLTYPE_UNSIGNEDMETER (MIXERCONTROL_CT_CLASS_METER|MIXERCONTROL_CT_SC_METER_POLLED|MIXERCONTROL_CT_UNITS_UNSIGNED) +#define MIXERCONTROL_CONTROLTYPE_BOOLEAN (MIXERCONTROL_CT_CLASS_SWITCH|MIXERCONTROL_CT_SC_SWITCH_BOOLEAN|MIXERCONTROL_CT_UNITS_BOOLEAN) +#define MIXERCONTROL_CONTROLTYPE_ONOFF (MIXERCONTROL_CONTROLTYPE_BOOLEAN+1) +#define MIXERCONTROL_CONTROLTYPE_MUTE (MIXERCONTROL_CONTROLTYPE_BOOLEAN+2) +#define MIXERCONTROL_CONTROLTYPE_MONO (MIXERCONTROL_CONTROLTYPE_BOOLEAN+3) +#define MIXERCONTROL_CONTROLTYPE_LOUDNESS (MIXERCONTROL_CONTROLTYPE_BOOLEAN+4) +#define MIXERCONTROL_CONTROLTYPE_STEREOENH (MIXERCONTROL_CONTROLTYPE_BOOLEAN+5) +#define MIXERCONTROL_CONTROLTYPE_BUTTON (MIXERCONTROL_CT_CLASS_SWITCH|MIXERCONTROL_CT_SC_SWITCH_BUTTON|MIXERCONTROL_CT_UNITS_BOOLEAN) +#define MIXERCONTROL_CONTROLTYPE_DECIBELS (MIXERCONTROL_CT_CLASS_NUMBER|MIXERCONTROL_CT_UNITS_DECIBELS) +#define MIXERCONTROL_CONTROLTYPE_SIGNED (MIXERCONTROL_CT_CLASS_NUMBER|MIXERCONTROL_CT_UNITS_SIGNED) +#define MIXERCONTROL_CONTROLTYPE_UNSIGNED (MIXERCONTROL_CT_CLASS_NUMBER|MIXERCONTROL_CT_UNITS_UNSIGNED) +#define MIXERCONTROL_CONTROLTYPE_PERCENT (MIXERCONTROL_CT_CLASS_NUMBER|MIXERCONTROL_CT_UNITS_PERCENT) +#define MIXERCONTROL_CONTROLTYPE_SLIDER (MIXERCONTROL_CT_CLASS_SLIDER|MIXERCONTROL_CT_UNITS_SIGNED) +#define MIXERCONTROL_CONTROLTYPE_PAN (MIXERCONTROL_CONTROLTYPE_SLIDER+1) +#define MIXERCONTROL_CONTROLTYPE_QSOUNDPAN (MIXERCONTROL_CONTROLTYPE_SLIDER+2) +#define MIXERCONTROL_CONTROLTYPE_FADER (MIXERCONTROL_CT_CLASS_FADER|MIXERCONTROL_CT_UNITS_UNSIGNED) +#define MIXERCONTROL_CONTROLTYPE_VOLUME (MIXERCONTROL_CONTROLTYPE_FADER+1) +#define MIXERCONTROL_CONTROLTYPE_BASS (MIXERCONTROL_CONTROLTYPE_FADER+2) +#define MIXERCONTROL_CONTROLTYPE_TREBLE (MIXERCONTROL_CONTROLTYPE_FADER+3) +#define MIXERCONTROL_CONTROLTYPE_EQUALIZER (MIXERCONTROL_CONTROLTYPE_FADER+4) +#define MIXERCONTROL_CONTROLTYPE_SINGLESELECT (MIXERCONTROL_CT_CLASS_LIST|MIXERCONTROL_CT_SC_LIST_SINGLE|MIXERCONTROL_CT_UNITS_BOOLEAN) +#define MIXERCONTROL_CONTROLTYPE_MUX (MIXERCONTROL_CONTROLTYPE_SINGLESELECT+1) +#define MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT (MIXERCONTROL_CT_CLASS_LIST|MIXERCONTROL_CT_SC_LIST_MULTIPLE|MIXERCONTROL_CT_UNITS_BOOLEAN) +#define MIXERCONTROL_CONTROLTYPE_MIXER (MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT+1) +#define MIXERCONTROL_CONTROLTYPE_MICROTIME (MIXERCONTROL_CT_CLASS_TIME|MIXERCONTROL_CT_SC_TIME_MICROSECS|MIXERCONTROL_CT_UNITS_UNSIGNED) +#define MIXERCONTROL_CONTROLTYPE_MILLITIME (MIXERCONTROL_CT_CLASS_TIME|MIXERCONTROL_CT_SC_TIME_MILLISECS|MIXERCONTROL_CT_UNITS_UNSIGNED) +#define MIXER_GETLINECONTROLSF_ALL 0 +#define MIXER_GETLINECONTROLSF_ONEBYID 1 +#define MIXER_GETLINECONTROLSF_ONEBYTYPE 2 +#define MIXER_GETLINECONTROLSF_QUERYMASK 15 +#define MIXER_GETCONTROLDETAILSF_VALUE 0 +#define MIXER_GETCONTROLDETAILSF_LISTTEXT 1 +#define MIXER_GETCONTROLDETAILSF_QUERYMASK 15 +#define MIXER_SETCONTROLDETAILSF_VALUE 0 +#define MIXER_SETCONTROLDETAILSF_CUSTOM 1 +#define MIXER_SETCONTROLDETAILSF_QUERYMASK 15 +#define TIMERR_NOERROR 0 +#define TIMERR_NOCANDO (TIMERR_BASE+1) +#define TIMERR_STRUCT (TIMERR_BASE+33) +#define TIME_ONESHOT 0 +#define TIME_PERIODIC 1 +#define TIME_CALLBACK_FUNCTION 0 +#define TIME_CALLBACK_EVENT_SET 16 +#define TIME_CALLBACK_EVENT_PULSE 32 +#define JOYERR_NOERROR (0) +#define JOYERR_PARMS (JOYERR_BASE+5) +#define JOYERR_NOCANDO (JOYERR_BASE+6) +#define JOYERR_UNPLUGGED (JOYERR_BASE+7) +#define JOY_BUTTON1 1 +#define JOY_BUTTON2 2 +#define JOY_BUTTON3 4 +#define JOY_BUTTON4 8 +#define JOY_BUTTON1CHG 256 +#define JOY_BUTTON2CHG 512 +#define JOY_BUTTON3CHG 1024 +#define JOY_BUTTON4CHG 2048 +#define JOY_BUTTON5 257 +#define JOY_BUTTON6 513 +#define JOY_BUTTON7 1025 +#define JOY_BUTTON8 2049 +#define JOY_BUTTON9 256 +#define JOY_BUTTON10 512 +#define JOY_BUTTON11 1024 +#define JOY_BUTTON12 2048 +#define JOY_BUTTON13 4096 +#define JOY_BUTTON14 8192 +#define JOY_BUTTON15 16384 +#define JOY_BUTTON16 32768 +#define JOY_BUTTON17 65536 +#define JOY_BUTTON18 0x20000 +#define JOY_BUTTON19 0x40000 +#define JOY_BUTTON20 0x80000 +#define JOY_BUTTON21 0x100000 +#define JOY_BUTTON22 0x200000 +#define JOY_BUTTON23 0x400000 +#define JOY_BUTTON24 0x800000 +#define JOY_BUTTON25 0x1000000 +#define JOY_BUTTON26 0x2000000 +#define JOY_BUTTON27 0x4000000 +#define JOY_BUTTON28 0x8000000 +#define JOY_BUTTON29 0x10000000 +#define JOY_BUTTON30 0x20000000 +#define JOY_BUTTON31 0x40000000 +#define JOY_BUTTON32 0x80000000 +#define JOY_POVCENTERED ((WORD)-1) +#define JOY_POVFORWARD 0 +#define JOY_POVRIGHT 9000 +#define JOY_POVBACKWARD 18000 +#define JOY_POVLEFT 27000 +#define JOY_RETURNX 1 +#define JOY_RETURNY 2 +#define JOY_RETURNZ 4l +#define JOY_RETURNR 8 +#define JOY_RETURNU 16 +#define JOY_RETURNV 32 +#define JOY_RETURNPOV 64 +#define JOY_RETURNBUTTONS 128 +#define JOY_RETURNRAWDATA 256 +#define JOY_RETURNPOVCTS 512 +#define JOY_RETURNCENTERED 1024 +#define JOY_USEDEADZONE 2048 +#define JOY_RETURNALL (JOY_RETURNX|JOY_RETURNY|JOY_RETURNZ|JOY_RETURNR|JOY_RETURNU|JOY_RETURNV|JOY_RETURNPOV|JOY_RETURNBUTTONS) +#define JOY_CAL_READALWAYS 0x10000 +#define JOY_CAL_READXYONLY 0x20000 +#define JOY_CAL_READ3 0x40000 +#define JOY_CAL_READ4 0x80000 +#define JOY_CAL_READXONLY 0x100000 +#define JOY_CAL_READYONLY 0x200000 +#define JOY_CAL_READ5 0x400000 +#define JOY_CAL_READ6 0x800000 +#define JOY_CAL_READZONLY 0x1000000 +#define JOY_CAL_READRONLY 0x2000000 +#define JOY_CAL_READUONLY 0x4000000 +#define JOY_CAL_READVONLY 0x8000000 +#define JOYSTICKID1 0 +#define JOYSTICKID2 1 +#define JOYCAPS_HASZ 1 +#define JOYCAPS_HASR 2 +#define JOYCAPS_HASU 4 +#define JOYCAPS_HASV 8 +#define JOYCAPS_HASPOV 16 +#define JOYCAPS_POV4DIR 32 +#define JOYCAPS_POVCTS 64 +#define MMIOERR_BASE 256 +#define MMIOERR_FILENOTFOUND (MMIOERR_BASE+1) +#define MMIOERR_OUTOFMEMORY (MMIOERR_BASE+2) +#define MMIOERR_CANNOTOPEN (MMIOERR_BASE+3) +#define MMIOERR_CANNOTCLOSE (MMIOERR_BASE+4) +#define MMIOERR_CANNOTREAD (MMIOERR_BASE+5) +#define MMIOERR_CANNOTWRITE (MMIOERR_BASE+6) +#define MMIOERR_CANNOTSEEK (MMIOERR_BASE+7) +#define MMIOERR_CANNOTEXPAND (MMIOERR_BASE+8) +#define MMIOERR_CHUNKNOTFOUND (MMIOERR_BASE+9) +#define MMIOERR_UNBUFFERED (MMIOERR_BASE+10) +#define MMIOERR_PATHNOTFOUND (MMIOERR_BASE+11) +#define MMIOERR_ACCESSDENIED (MMIOERR_BASE+12) +#define MMIOERR_SHARINGVIOLATION (MMIOERR_BASE+13) +#define MMIOERR_NETWORKERROR (MMIOERR_BASE+14) +#define MMIOERR_TOOMANYOPENFILES (MMIOERR_BASE+15) +#define MMIOERR_INVALIDFILE (MMIOERR_BASE+16) +#define CFSEPCHAR '+' +#define MMIO_RWMODE 3 +#define MMIO_SHAREMODE 0x70 +#define MMIO_CREATE 0x1000 +#define MMIO_PARSE 256 +#define MMIO_DELETE 512 +#define MMIO_EXIST 0x4000 +#define MMIO_ALLOCBUF 0x10000 +#define MMIO_GETTEMP 0x20000 +#define MMIO_DIRTY 0x10000000 +#define MMIO_READ 0 +#define MMIO_WRITE 1 +#define MMIO_READWRITE 2 +#define MMIO_COMPAT 0 +#define MMIO_EXCLUSIVE 16 +#define MMIO_DENYWRITE 32 +#define MMIO_DENYREAD 0x30 +#define MMIO_DENYNONE 64 +#define MMIO_FHOPEN 16 +#define MMIO_EMPTYBUF 16 +#define MMIO_TOUPPER 16 +#define MMIO_INSTALLPROC 0x10000 +#define MMIO_GLOBALPROC 0x10000000 +#define MMIO_REMOVEPROC 0x20000 +#define MMIO_UNICODEPROC 0x1000000 +#define MMIO_FINDPROC 0x40000 +#define MMIO_FINDCHUNK 16 +#define MMIO_FINDRIFF 32 +#define MMIO_FINDLIST 64 +#define MMIO_CREATERIFF 32 +#define MMIO_CREATELIST 64 +#define MMIOM_READ MMIO_READ +#define MMIOM_WRITE MMIO_WRITE +#define MMIOM_SEEK 2 +#define MMIOM_OPEN 3 +#define MMIOM_CLOSE 4 +#define MMIOM_WRITEFLUSH 5 +#define MMIOM_RENAME 6 +#define MMIOM_USER 0x8000 +#define FOURCC_RIFF mmioFOURCC('R', 'I', 'F', 'F') +#define FOURCC_LIST mmioFOURCC('L', 'I', 'S', 'T') +#define FOURCC_DOS mmioFOURCC('D', 'O', 'S', ' ') +#define FOURCC_MEM mmioFOURCC('M', 'E', 'M', ' ') +#define MMIO_DEFAULTBUFFER 8192 +#define mmioFOURCC(c0,c1,c2,c3) MAKEFOURCC(c0,c1,c2,c3) +#define MCIERR_INVALID_DEVICE_ID (MCIERR_BASE+1) +#define MCIERR_UNRECOGNIZED_KEYWORD (MCIERR_BASE+3) +#define MCIERR_UNRECOGNIZED_COMMAND (MCIERR_BASE+5) +#define MCIERR_HARDWARE (MCIERR_BASE+6) +#define MCIERR_INVALID_DEVICE_NAME (MCIERR_BASE+7) +#define MCIERR_OUT_OF_MEMORY (MCIERR_BASE+8) +#define MCIERR_DEVICE_OPEN (MCIERR_BASE+9) +#define MCIERR_CANNOT_LOAD_DRIVER (MCIERR_BASE+10) +#define MCIERR_MISSING_COMMAND_STRING (MCIERR_BASE+11) +#define MCIERR_PARAM_OVERFLOW (MCIERR_BASE+12) +#define MCIERR_MISSING_STRING_ARGUMENT (MCIERR_BASE+13) +#define MCIERR_BAD_INTEGER (MCIERR_BASE+14) +#define MCIERR_PARSER_INTERNAL (MCIERR_BASE+15) +#define MCIERR_DRIVER_INTERNAL (MCIERR_BASE+16) +#define MCIERR_MISSING_PARAMETER (MCIERR_BASE+17) +#define MCIERR_UNSUPPORTED_FUNCTION (MCIERR_BASE+18) +#define MCIERR_FILE_NOT_FOUND (MCIERR_BASE+19) +#define MCIERR_DEVICE_NOT_READY (MCIERR_BASE+20) +#define MCIERR_INTERNAL (MCIERR_BASE+21) +#define MCIERR_DRIVER (MCIERR_BASE+22) +#define MCIERR_CANNOT_USE_ALL (MCIERR_BASE+23) +#define MCIERR_MULTIPLE (MCIERR_BASE+24) +#define MCIERR_EXTENSION_NOT_FOUND (MCIERR_BASE+25) +#define MCIERR_OUTOFRANGE (MCIERR_BASE+26) +#define MCIERR_FLAGS_NOT_COMPATIBLE (MCIERR_BASE+28) +#define MCIERR_FILE_NOT_SAVED (MCIERR_BASE+30) +#define MCIERR_DEVICE_TYPE_REQUIRED (MCIERR_BASE+31) +#define MCIERR_DEVICE_LOCKED (MCIERR_BASE+32) +#define MCIERR_DUPLICATE_ALIAS (MCIERR_BASE+33) +#define MCIERR_BAD_CONSTANT (MCIERR_BASE+34) +#define MCIERR_MUST_USE_SHAREABLE (MCIERR_BASE+35) +#define MCIERR_MISSING_DEVICE_NAME (MCIERR_BASE+36) +#define MCIERR_BAD_TIME_FORMAT (MCIERR_BASE+37) +#define MCIERR_NO_CLOSING_QUOTE (MCIERR_BASE+38) +#define MCIERR_DUPLICATE_FLAGS (MCIERR_BASE+39) +#define MCIERR_INVALID_FILE (MCIERR_BASE+40) +#define MCIERR_NULL_PARAMETER_BLOCK (MCIERR_BASE+41) +#define MCIERR_UNNAMED_RESOURCE (MCIERR_BASE+42) +#define MCIERR_NEW_REQUIRES_ALIAS (MCIERR_BASE+43) +#define MCIERR_NOTIFY_ON_AUTO_OPEN (MCIERR_BASE+44) +#define MCIERR_NO_ELEMENT_ALLOWED (MCIERR_BASE+45) +#define MCIERR_NONAPPLICABLE_FUNCTION (MCIERR_BASE+46) +#define MCIERR_ILLEGAL_FOR_AUTO_OPEN (MCIERR_BASE+47) +#define MCIERR_FILENAME_REQUIRED (MCIERR_BASE+48) +#define MCIERR_EXTRA_CHARACTERS (MCIERR_BASE+49) +#define MCIERR_DEVICE_NOT_INSTALLED (MCIERR_BASE+50) +#define MCIERR_GET_CD (MCIERR_BASE+51) +#define MCIERR_SET_CD (MCIERR_BASE+52) +#define MCIERR_SET_DRIVE (MCIERR_BASE+53) +#define MCIERR_DEVICE_LENGTH (MCIERR_BASE+54) +#define MCIERR_DEVICE_ORD_LENGTH (MCIERR_BASE+55) +#define MCIERR_NO_INTEGER (MCIERR_BASE+56) +#define MCIERR_WAVE_OUTPUTSINUSE (MCIERR_BASE+64) +#define MCIERR_WAVE_SETOUTPUTINUSE (MCIERR_BASE+65) +#define MCIERR_WAVE_INPUTSINUSE (MCIERR_BASE+66) +#define MCIERR_WAVE_SETINPUTINUSE (MCIERR_BASE+67) +#define MCIERR_WAVE_OUTPUTUNSPECIFIED (MCIERR_BASE+68) +#define MCIERR_WAVE_INPUTUNSPECIFIED (MCIERR_BASE+69) +#define MCIERR_WAVE_OUTPUTSUNSUITABLE (MCIERR_BASE+70) +#define MCIERR_WAVE_SETOUTPUTUNSUITABLE (MCIERR_BASE+71) +#define MCIERR_WAVE_INPUTSUNSUITABLE (MCIERR_BASE+72) +#define MCIERR_WAVE_SETINPUTUNSUITABLE (MCIERR_BASE+73) +#define MCIERR_SEQ_DIV_INCOMPATIBLE (MCIERR_BASE+80) +#define MCIERR_SEQ_PORT_INUSE (MCIERR_BASE+81) +#define MCIERR_SEQ_PORT_NONEXISTENT (MCIERR_BASE+82) +#define MCIERR_SEQ_PORT_MAPNODEVICE (MCIERR_BASE+83) +#define MCIERR_SEQ_PORT_MISCERROR (MCIERR_BASE+84) +#define MCIERR_SEQ_TIMER (MCIERR_BASE+85) +#define MCIERR_SEQ_PORTUNSPECIFIED (MCIERR_BASE+86) +#define MCIERR_SEQ_NOMIDIPRESENT (MCIERR_BASE+87) +#define MCIERR_NO_WINDOW (MCIERR_BASE+90) +#define MCIERR_CREATEWINDOW (MCIERR_BASE+91) +#define MCIERR_FILE_READ (MCIERR_BASE+92) +#define MCIERR_FILE_WRITE (MCIERR_BASE+93) +#define MCIERR_NO_IDENTITY (MCIERR_BASE+94) +#define MCIERR_CUSTOM_DRIVER_BASE (MCIERR_BASE+256) +#define MCI_FIRST DRV_MCI_FIRST +#define MCI_OPEN 0x803 +#define MCI_CLOSE 0x804 +#define MCI_ESCAPE 0x805 +#define MCI_PLAY 0x806 +#define MCI_SEEK 0x807 +#define MCI_STOP 0x808 +#define MCI_PAUSE 0x809 +#define MCI_INFO 0x80A +#define MCI_GETDEVCAPS 0x80B +#define MCI_SPIN 0x80C +#define MCI_SET 0x80D +#define MCI_STEP 0x80E +#define MCI_RECORD 0x80F +#define MCI_SYSINFO 0x810 +#define MCI_BREAK 0x811 +#define MCI_SAVE 0x813 +#define MCI_STATUS 0x814 +#define MCI_CUE 0x830 +#define MCI_REALIZE 0x840 +#define MCI_WINDOW 0x841 +#define MCI_PUT 0x842 +#define MCI_WHERE 0x843 +#define MCI_FREEZE 0x844 +#define MCI_UNFREEZE 0x845 +#define MCI_LOAD 0x850 +#define MCI_CUT 0x851 +#define MCI_COPY 0x852 +#define MCI_PASTE 0x853 +#define MCI_UPDATE 0x854 +#define MCI_RESUME 0x855 +#define MCI_DELETE 0x856 +#define MCI_USER_MESSAGES (DRV_MCI_FIRST+0x400) +#define MCI_LAST 0xFFF +#define MCI_ALL_DEVICE_ID ((MCIDEVICEID)-1) +#define MCI_DEVTYPE_VCR 513 +#define MCI_DEVTYPE_VIDEODISC 514 +#define MCI_DEVTYPE_OVERLAY 515 +#define MCI_DEVTYPE_CD_AUDIO 516 +#define MCI_DEVTYPE_DAT 517 +#define MCI_DEVTYPE_SCANNER 518 +#define MCI_DEVTYPE_ANIMATION 519 +#define MCI_DEVTYPE_DIGITAL_VIDEO 520 +#define MCI_DEVTYPE_OTHER 521 +#define MCI_DEVTYPE_WAVEFORM_AUDIO 522 +#define MCI_DEVTYPE_SEQUENCER 523 +#define MCI_DEVTYPE_FIRST MCI_DEVTYPE_VCR +#define MCI_DEVTYPE_LAST MCI_DEVTYPE_SEQUENCER +#define MCI_DEVTYPE_FIRST_USER 0x1000 +#define MCI_MODE_NOT_READY (MCI_STRING_OFFSET+12) +#define MCI_MODE_STOP (MCI_STRING_OFFSET+13) +#define MCI_MODE_PLAY (MCI_STRING_OFFSET+14) +#define MCI_MODE_RECORD (MCI_STRING_OFFSET+15) +#define MCI_MODE_SEEK (MCI_STRING_OFFSET+16) +#define MCI_MODE_PAUSE (MCI_STRING_OFFSET+17) +#define MCI_MODE_OPEN (MCI_STRING_OFFSET+18) +#define MCI_FORMAT_MILLISECONDS 0 +#define MCI_FORMAT_HMS 1 +#define MCI_FORMAT_MSF 2 +#define MCI_FORMAT_FRAMES 3 +#define MCI_FORMAT_SMPTE_24 4 +#define MCI_FORMAT_SMPTE_25 5 +#define MCI_FORMAT_SMPTE_30 6 +#define MCI_FORMAT_SMPTE_30DROP 7 +#define MCI_FORMAT_BYTES 8 +#define MCI_FORMAT_SAMPLES 9 +#define MCI_FORMAT_TMSF 10 +#define MCI_MSF_MINUTE(t) ((BYTE)(t)) +#define MCI_MSF_SECOND(t) ((BYTE)(((WORD)(t))>>8)) +#define MCI_MSF_FRAME(t) ((BYTE)((t)>>16)) +#define MCI_MAKE_MSF(m,s,f) ((DWORD)(((BYTE)(m)|((WORD)(s)<<8))|(((DWORD)(BYTE)(f))<<16))) +#define MCI_TMSF_TRACK(t) ((BYTE)(t)) +#define MCI_TMSF_MINUTE(t) ((BYTE)(((WORD)(t))>>8)) +#define MCI_TMSF_SECOND(t) ((BYTE)((t)>>16)) +#define MCI_TMSF_FRAME(t) ((BYTE)((t)>>24)) +#define MCI_MAKE_TMSF(t,m,s,f) ((DWORD)(((BYTE)(t)|((WORD)(m)<<8))|(((DWORD)(BYTE)(s)|((WORD)(f)<<8))<<16))) +#define MCI_HMS_HOUR(t) ((BYTE)(t)) +#define MCI_HMS_MINUTE(t) ((BYTE)(((WORD)(t))>>8)) +#define MCI_HMS_SECOND(t) ((BYTE)((t)>>16)) +#define MCI_MAKE_HMS(h,m,s) ((DWORD)(((BYTE)(h)|((WORD)(m)<<8))|(((DWORD)(BYTE)(s))<<16))) +#define MCI_NOTIFY_SUCCESSFUL 1 +#define MCI_NOTIFY_SUPERSEDED 2 +#define MCI_NOTIFY_ABORTED 4 +#define MCI_NOTIFY_FAILURE 8 +#define MCI_NOTIFY 1 +#define MCI_WAIT 2 +#define MCI_FROM 4 +#define MCI_TO 8 +#define MCI_TRACK 16 +#define MCI_OPEN_SHAREABLE 256 +#define MCI_OPEN_ELEMENT 512 +#define MCI_OPEN_ALIAS 1024 +#define MCI_OPEN_ELEMENT_ID 2048 +#define MCI_OPEN_TYPE_ID 0x1000 +#define MCI_OPEN_TYPE 0x2000 +#define MCI_SEEK_TO_START 256 +#define MCI_SEEK_TO_END 512 +#define MCI_STATUS_ITEM 256 +#define MCI_STATUS_START 512 +#define MCI_STATUS_LENGTH 1 +#define MCI_STATUS_POSITION 2 +#define MCI_STATUS_NUMBER_OF_TRACKS 3 +#define MCI_STATUS_MODE 4 +#define MCI_STATUS_MEDIA_PRESENT 5 +#define MCI_STATUS_TIME_FORMAT 6 +#define MCI_STATUS_READY 7 +#define MCI_STATUS_CURRENT_TRACK 8 +#define MCI_INFO_PRODUCT 256 +#define MCI_INFO_FILE 512 +#define MCI_INFO_MEDIA_UPC 1024 +#define MCI_INFO_MEDIA_IDENTITY 2048 +#define MCI_INFO_NAME 0x1000 +#define MCI_INFO_COPYRIGHT 0x2000 +#define MCI_GETDEVCAPS_ITEM 256 +#define MCI_GETDEVCAPS_CAN_RECORD 1 +#define MCI_GETDEVCAPS_HAS_AUDIO 2 +#define MCI_GETDEVCAPS_HAS_VIDEO 3 +#define MCI_GETDEVCAPS_DEVICE_TYPE 4 +#define MCI_GETDEVCAPS_USES_FILES 5 +#define MCI_GETDEVCAPS_COMPOUND_DEVICE 6 +#define MCI_GETDEVCAPS_CAN_EJECT 7 +#define MCI_GETDEVCAPS_CAN_PLAY 8 +#define MCI_GETDEVCAPS_CAN_SAVE 9 +#define MCI_SYSINFO_QUANTITY 256 +#define MCI_SYSINFO_OPEN 512 +#define MCI_SYSINFO_NAME 1024 +#define MCI_SYSINFO_INSTALLNAME 2048 +#define MCI_SET_DOOR_OPEN 256 +#define MCI_SET_DOOR_CLOSED 512 +#define MCI_SET_TIME_FORMAT 1024 +#define MCI_SET_AUDIO 2048 +#define MCI_SET_VIDEO 0x1000 +#define MCI_SET_ON 0x2000 +#define MCI_SET_OFF 0x4000 +#define MCI_SET_AUDIO_ALL 0 +#define MCI_SET_AUDIO_LEFT 1 +#define MCI_SET_AUDIO_RIGHT 2 +#define MCI_BREAK_KEY 256 +#define MCI_BREAK_HWND 512 +#define MCI_BREAK_OFF 1024 +#define MCI_RECORD_INSERT 256 +#define MCI_RECORD_OVERWRITE 512 +#define MCI_SAVE_FILE 256 +#define MCI_LOAD_FILE 256 +#define MCI_VD_MODE_PARK (MCI_VD_OFFSET+1) +#define MCI_VD_MEDIA_CLV (MCI_VD_OFFSET+2) +#define MCI_VD_MEDIA_CAV (MCI_VD_OFFSET+3) +#define MCI_VD_MEDIA_OTHER (MCI_VD_OFFSET+4) +#define MCI_VD_FORMAT_TRACK 0x4001 +#define MCI_VD_PLAY_REVERSE 0x10000 +#define MCI_VD_PLAY_FAST 0x20000 +#define MCI_VD_PLAY_SPEED 0x40000 +#define MCI_VD_PLAY_SCAN 0x80000 +#define MCI_VD_PLAY_SLOW 0x100000 +#define MCI_VD_SEEK_REVERSE 0x10000 +#define MCI_VD_STATUS_SPEED 0x4002 +#define MCI_VD_STATUS_FORWARD 0x4003 +#define MCI_VD_STATUS_MEDIA_TYPE 0x4004 +#define MCI_VD_STATUS_SIDE 0x4005 +#define MCI_VD_STATUS_DISC_SIZE 0x4006 +#define MCI_VD_GETDEVCAPS_CLV 0x10000 +#define MCI_VD_GETDEVCAPS_CAV 0x20000 +#define MCI_VD_SPIN_UP 0x10000 +#define MCI_VD_SPIN_DOWN 0x20000 +#define MCI_VD_GETDEVCAPS_CAN_REVERSE 0x4002 +#define MCI_VD_GETDEVCAPS_FAST_RATE 0x4003 +#define MCI_VD_GETDEVCAPS_SLOW_RATE 0x4004 +#define MCI_VD_GETDEVCAPS_NORMAL_RATE 0x4005 +#define MCI_VD_STEP_FRAMES 0x10000 +#define MCI_VD_STEP_REVERSE 0x20000 +#define MCI_VD_ESCAPE_STRING 256 +#define MCI_CDA_STATUS_TYPE_TRACK 0x4001 +#define MCI_CDA_TRACK_AUDIO MCI_CD_OFFSET +#define MCI_CDA_TRACK_OTHER (MCI_CD_OFFSET+1) +#define MCI_WAVE_PCM MCI_WAVE_OFFSET +#define MCI_WAVE_MAPPER (MCI_WAVE_OFFSET+1) +#define MCI_WAVE_OPEN_BUFFER 0x10000 +#define MCI_WAVE_SET_FORMATTAG 0x10000 +#define MCI_WAVE_SET_CHANNELS 0x20000 +#define MCI_WAVE_SET_SAMPLESPERSEC 0x40000 +#define MCI_WAVE_SET_AVGBYTESPERSEC 0x80000 +#define MCI_WAVE_SET_BLOCKALIGN 0x100000 +#define MCI_WAVE_SET_BITSPERSAMPLE 0x200000 +#define MCI_WAVE_INPUT 0x400000 +#define MCI_WAVE_OUTPUT 0x800000 +#define MCI_WAVE_STATUS_FORMATTAG 0x4001 +#define MCI_WAVE_STATUS_CHANNELS 0x4002 +#define MCI_WAVE_STATUS_SAMPLESPERSEC 0x4003 +#define MCI_WAVE_STATUS_AVGBYTESPERSEC 0x4004 +#define MCI_WAVE_STATUS_BLOCKALIGN 0x4005 +#define MCI_WAVE_STATUS_BITSPERSAMPLE 0x4006 +#define MCI_WAVE_STATUS_LEVEL 0x4007 +#define MCI_WAVE_SET_ANYINPUT 0x4000000 +#define MCI_WAVE_SET_ANYOUTPUT 0x8000000 +#define MCI_WAVE_GETDEVCAPS_INPUTS 0x4001 +#define MCI_WAVE_GETDEVCAPS_OUTPUTS 0x4002 +#define MCI_SEQ_DIV_PPQN MCI_SEQ_OFFSET +#define MCI_SEQ_DIV_SMPTE_24 (MCI_SEQ_OFFSET+1) +#define MCI_SEQ_DIV_SMPTE_25 (MCI_SEQ_OFFSET+2) +#define MCI_SEQ_DIV_SMPTE_30DROP (MCI_SEQ_OFFSET+3) +#define MCI_SEQ_DIV_SMPTE_30 (MCI_SEQ_OFFSET+4) +#define MCI_SEQ_FORMAT_SONGPTR 0x4001 +#define MCI_SEQ_FILE 0x4002 +#define MCI_SEQ_MIDI 0x4003 +#define MCI_SEQ_SMPTE 0x4004 +#define MCI_SEQ_NONE 65533 +#define MCI_SEQ_MAPPER 65535 +#define MCI_SEQ_STATUS_TEMPO 0x4002 +#define MCI_SEQ_STATUS_PORT 0x4003 +#define MCI_SEQ_STATUS_SLAVE 0x4007 +#define MCI_SEQ_STATUS_MASTER 0x4008 +#define MCI_SEQ_STATUS_OFFSET 0x4009 +#define MCI_SEQ_STATUS_DIVTYPE 0x400A +#define MCI_SEQ_STATUS_NAME 0x400B +#define MCI_SEQ_STATUS_COPYRIGHT 0x400C +#define MCI_SEQ_SET_TEMPO 0x10000 +#define MCI_SEQ_SET_PORT 0x20000 +#define MCI_SEQ_SET_SLAVE 0x40000 +#define MCI_SEQ_SET_MASTER 0x80000 +#define MCI_SEQ_SET_OFFSET 0x1000000 +#define MCI_ANIM_OPEN_WS 0x10000 +#define MCI_ANIM_OPEN_PARENT 0x20000 +#define MCI_ANIM_OPEN_NOSTATIC 0x40000 +#define MCI_ANIM_PLAY_SPEED 0x10000 +#define MCI_ANIM_PLAY_REVERSE 0x20000 +#define MCI_ANIM_PLAY_FAST 0x40000 +#define MCI_ANIM_PLAY_SLOW 0x80000 +#define MCI_ANIM_PLAY_SCAN 0x100000 +#define MCI_ANIM_STEP_REVERSE 0x10000 +#define MCI_ANIM_STEP_FRAMES 0x20000 +#define MCI_ANIM_STATUS_SPEED 0x4001 +#define MCI_ANIM_STATUS_FORWARD 0x4002 +#define MCI_ANIM_STATUS_HWND 0x4003 +#define MCI_ANIM_STATUS_HPAL 0x4004 +#define MCI_ANIM_STATUS_STRETCH 0x4005 +#define MCI_ANIM_INFO_TEXT 0x10000 +#define MCI_ANIM_GETDEVCAPS_CAN_REVERSE 0x4001 +#define MCI_ANIM_GETDEVCAPS_FAST_RATE 0x4002 +#define MCI_ANIM_GETDEVCAPS_SLOW_RATE 0x4003 +#define MCI_ANIM_GETDEVCAPS_NORMAL_RATE 0x4004 +#define MCI_ANIM_GETDEVCAPS_PALETTES 0x4006 +#define MCI_ANIM_GETDEVCAPS_CAN_STRETCH 0x4007 +#define MCI_ANIM_GETDEVCAPS_MAX_WINDOWS 0x4008 +#define MCI_ANIM_REALIZE_NORM 0x10000 +#define MCI_ANIM_REALIZE_BKGD 0x20000 +#define MCI_ANIM_WINDOW_HWND 0x10000 +#define MCI_ANIM_WINDOW_STATE 0x40000 +#define MCI_ANIM_WINDOW_TEXT 0x80000 +#define MCI_ANIM_WINDOW_ENABLE_STRETCH 0x100000 +#define MCI_ANIM_WINDOW_DISABLE_STRETCH 0x200000 +#define MCI_ANIM_WINDOW_DEFAULT 0xL +#define MCI_ANIM_RECT 0x10000 +#define MCI_ANIM_PUT_SOURCE 0x20000 +#define MCI_ANIM_PUT_DESTINATION 0x40000 +#define MCI_ANIM_WHERE_SOURCE 0x20000 +#define MCI_ANIM_WHERE_DESTINATION 0x40000 +#define MCI_ANIM_UPDATE_HDC 0x20000 +#define MCI_OVLY_OPEN_WS 0x10000 +#define MCI_OVLY_OPEN_PARENT 0x20000 +#define MCI_OVLY_STATUS_HWND 0x4001 +#define MCI_OVLY_STATUS_STRETCH 0x4002 +#define MCI_OVLY_INFO_TEXT 0x10000 +#define MCI_OVLY_GETDEVCAPS_CAN_STRETCH 0x4001 +#define MCI_OVLY_GETDEVCAPS_CAN_FREEZE 0x4002 +#define MCI_OVLY_GETDEVCAPS_MAX_WINDOWS 0x4003 +#define MCI_OVLY_WINDOW_HWND 0x10000 +#define MCI_OVLY_WINDOW_STATE 0x40000 +#define MCI_OVLY_WINDOW_TEXT 0x80000 +#define MCI_OVLY_WINDOW_ENABLE_STRETCH 0x100000 +#define MCI_OVLY_WINDOW_DISABLE_STRETCH 0x200000 +#define MCI_OVLY_WINDOW_DEFAULT 0xL +#define MCI_OVLY_RECT 0x10000 +#define MCI_OVLY_PUT_SOURCE 0x20000 +#define MCI_OVLY_PUT_DESTINATION 0x40000 +#define MCI_OVLY_PUT_FRAME 0x80000 +#define MCI_OVLY_PUT_VIDEO 0x100000 +#define MCI_OVLY_WHERE_SOURCE 0x20000 +#define MCI_OVLY_WHERE_DESTINATION 0x40000 +#define MCI_OVLY_WHERE_FRAME 0x80000 +#define MCI_OVLY_WHERE_VIDEO 0x100000 +#define NEWTRANSPARENT 3 +#define QUERYROPSUPPORT 40 +#define SELECTDIB 41 +#define DIBINDEX(n) MAKELONG((n),0x10FF) +#define SC_SCREENSAVE 0xF140 +#define CAPS1 94 +#define C1_TRANSPARENT 1 +#ifndef SEEK_SET +#define SEEK_SET 0 +#endif +#ifndef SEEK_CUR +#define SEEK_CUR 1 +#endif +#ifndef SEEK_END +#define SEEK_END 2 +#endif + +typedef DWORD MCIERROR; +typedef UINT MCIDEVICEID; +typedef UINT(CALLBACK *YIELDPROC)(MCIDEVICEID,DWORD); +typedef UINT MMVERSION; +typedef UINT MMRESULT; +typedef struct mmtime_tag { + UINT wType; + union { + DWORD ms; + DWORD sample; + DWORD cb; + DWORD ticks; + struct { + BYTE hour; + BYTE min; + BYTE sec; + BYTE frame; + BYTE fps; + BYTE dummy; + BYTE pad[2]; + } smpte; + struct { + DWORD songptrpos; + } midi; + } u; +} MMTIME,*PMMTIME,*LPMMTIME; +DECLARE_HANDLE(HDRVR); +typedef struct tagDRVCONFIGINFO { + DWORD dwDCISize; + LPCWSTR lpszDCISectionName; + LPCWSTR lpszDCIAliasName; +} DRVCONFIGINFO,*PDRVCONFIGINFO,*LPDRVCONFIGINFO; +typedef struct DRVCONFIGINFOEX { + DWORD dwDCISize; + LPCWSTR lpszDCISectionName; + LPCWSTR lpszDCIAliasName; + DWORD dnDevNode; +} DRVCONFIGINFOEX,*PDRVCONFIGINFOEX,*LPDRVCONFIGINFOEX; +typedef LRESULT(CALLBACK* DRIVERPROC)(DWORD,HDRVR,UINT,LPARAM,LPARAM); +typedef void (CALLBACK DRVCALLBACK)(HDRVR,UINT,DWORD,DWORD,DWORD); +typedef DRVCALLBACK *LPDRVCALLBACK; +typedef DRVCALLBACK *PDRVCALLBACK; +DECLARE_HANDLE(HWAVE); +DECLARE_HANDLE(HWAVEIN); +DECLARE_HANDLE(HWAVEOUT); +typedef HWAVEIN *LPHWAVEIN; +typedef HWAVEOUT *LPHWAVEOUT; +typedef DRVCALLBACK WAVECALLBACK; +typedef WAVECALLBACK *LPWAVECALLBACK; +typedef struct wavehdr_tag { + LPSTR lpData; + DWORD dwBufferLength; + DWORD dwBytesRecorded; + DWORD dwUser; + DWORD dwFlags; + DWORD dwLoops; + struct wavehdr_tag *lpNext; + DWORD reserved; +} WAVEHDR,*PWAVEHDR,*LPWAVEHDR; +typedef struct tagWAVEOUTCAPSA { + WORD wMid; + WORD wPid; + MMVERSION vDriverVersion; + CHAR szPname[MAXPNAMELEN]; + DWORD dwFormats; + WORD wChannels; + WORD wReserved1; + DWORD dwSupport; +} WAVEOUTCAPSA,*PWAVEOUTCAPSA,*LPWAVEOUTCAPSA; +typedef struct tagWAVEOUTCAPSW { + WORD wMid; + WORD wPid; + MMVERSION vDriverVersion; + WCHAR szPname[MAXPNAMELEN]; + DWORD dwFormats; + WORD wChannels; + WORD wReserved1; + DWORD dwSupport; +} WAVEOUTCAPSW,*PWAVEOUTCAPSW,*LPWAVEOUTCAPSW; +typedef struct tagWAVEINCAPSA { + WORD wMid; + WORD wPid; + MMVERSION vDriverVersion; + CHAR szPname[MAXPNAMELEN]; + DWORD dwFormats; + WORD wChannels; + WORD wReserved1; +} WAVEINCAPSA,*PWAVEINCAPSA,*LPWAVEINCAPSA; +typedef struct tagWAVEINCAPSW { + WORD wMid; + WORD wPid; + MMVERSION vDriverVersion; + WCHAR szPname[MAXPNAMELEN]; + DWORD dwFormats; + WORD wChannels; + WORD wReserved1; +} WAVEINCAPSW,*PWAVEINCAPSW,*LPWAVEINCAPSW; +typedef struct waveformat_tag { + WORD wFormatTag; + WORD nChannels; + DWORD nSamplesPerSec; + DWORD nAvgBytesPerSec; + WORD nBlockAlign; +} WAVEFORMAT,*PWAVEFORMAT,*LPWAVEFORMAT; +typedef struct pcmwaveformat_tag { + WAVEFORMAT wf; + WORD wBitsPerSample; +} PCMWAVEFORMAT, *PPCMWAVEFORMAT,*LPPCMWAVEFORMAT; +#ifndef _WAVEFORMATEX_ +#define _WAVEFORMATEX_ +typedef struct tWAVEFORMATEX { + WORD wFormatTag; + WORD nChannels; + DWORD nSamplesPerSec; + DWORD nAvgBytesPerSec; + WORD nBlockAlign; + WORD wBitsPerSample; + WORD cbSize; +} WAVEFORMATEX,*PWAVEFORMATEX,*LPWAVEFORMATEX; +typedef const WAVEFORMATEX *LPCWAVEFORMATEX; +#endif +DECLARE_HANDLE(HMIDI); +DECLARE_HANDLE(HMIDIIN); +DECLARE_HANDLE(HMIDIOUT); +DECLARE_HANDLE(HMIDISTRM); +typedef HMIDI *LPHMIDI; +typedef HMIDIIN *LPHMIDIIN; +typedef HMIDIOUT *LPHMIDIOUT; +typedef HMIDISTRM *LPHMIDISTRM; +typedef DRVCALLBACK MIDICALLBACK; +typedef MIDICALLBACK *LPMIDICALLBACK; +typedef WORD PATCHARRAY[MIDIPATCHSIZE]; +typedef WORD *LPPATCHARRAY; +typedef WORD KEYARRAY[MIDIPATCHSIZE]; +typedef WORD *LPKEYARRAY; +typedef struct tagMIDIOUTCAPSA { + WORD wMid; + WORD wPid; + MMVERSION vDriverVersion; + CHAR szPname[MAXPNAMELEN]; + WORD wTechnology; + WORD wVoices; + WORD wNotes; + WORD wChannelMask; + DWORD dwSupport; +} MIDIOUTCAPSA,*PMIDIOUTCAPSA,*LPMIDIOUTCAPSA; +typedef struct tagMIDIOUTCAPSW { + WORD wMid; + WORD wPid; + MMVERSION vDriverVersion; + WCHAR szPname[MAXPNAMELEN]; + WORD wTechnology; + WORD wVoices; + WORD wNotes; + WORD wChannelMask; + DWORD dwSupport; +} MIDIOUTCAPSW,*PMIDIOUTCAPSW,*LPMIDIOUTCAPSW; +typedef struct tagMIDIINCAPSA { + WORD wMid; + WORD wPid; + MMVERSION vDriverVersion; + CHAR szPname[MAXPNAMELEN]; + DWORD dwSupport; +} MIDIINCAPSA,*PMIDIINCAPSA,*LPMIDIINCAPSA; +typedef struct tagMIDIINCAPSW { + WORD wMid; + WORD wPid; + MMVERSION vDriverVersion; + WCHAR szPname[MAXPNAMELEN]; + DWORD dwSupport; +} MIDIINCAPSW,*PMIDIINCAPSW,*NPMIDIINCAPSW,*LPMIDIINCAPSW; +typedef struct midihdr_tag { + LPSTR lpData; + DWORD dwBufferLength; + DWORD dwBytesRecorded; + DWORD dwUser; + DWORD dwFlags; + struct midihdr_tag *lpNext; + DWORD reserved; + DWORD dwOffset; + DWORD dwReserved[8]; +} MIDIHDR,*PMIDIHDR,*LPMIDIHDR; +typedef struct midievent_tag { + DWORD dwDeltaTime; + DWORD dwStreamID; + DWORD dwEvent; + DWORD dwParms[1]; +} MIDIEVENT; +typedef struct midistrmbuffver_tag { + DWORD dwVersion; + DWORD dwMid; + DWORD dwOEMVersion; +} MIDISTRMBUFFVER; +typedef struct midiproptimediv_tag { + DWORD cbStruct; + DWORD dwTimeDiv; +} MIDIPROPTIMEDIV,*LPMIDIPROPTIMEDIV; +typedef struct midiproptempo_tag { + DWORD cbStruct; + DWORD dwTempo; +} MIDIPROPTEMPO,*LPMIDIPROPTEMPO; +typedef struct tagAUXCAPSA { + WORD wMid; + WORD wPid; + MMVERSION vDriverVersion; + CHAR szPname[MAXPNAMELEN]; + WORD wTechnology; + WORD wReserved1; + DWORD dwSupport; +} AUXCAPSA,*PAUXCAPSA,*LPAUXCAPSA; +typedef struct tagAUXCAPSW { + WORD wMid; + WORD wPid; + MMVERSION vDriverVersion; + WCHAR szPname[MAXPNAMELEN]; + WORD wTechnology; + WORD wReserved1; + DWORD dwSupport; +} AUXCAPSW,*PAUXCAPSW,*LPAUXCAPSW; +DECLARE_HANDLE(HMIXEROBJ); +typedef HMIXEROBJ *LPHMIXEROBJ; +DECLARE_HANDLE(HMIXER); +typedef HMIXER *LPHMIXER; +typedef struct tagMIXERCAPSA { + WORD wMid; + WORD wPid; + MMVERSION vDriverVersion; + CHAR szPname[MAXPNAMELEN]; + DWORD fdwSupport; + DWORD cDestinations; +} MIXERCAPSA,*PMIXERCAPSA,*LPMIXERCAPSA; +typedef struct tagMIXERCAPSW { + WORD wMid; + WORD wPid; + MMVERSION vDriverVersion; + WCHAR szPname[MAXPNAMELEN]; + DWORD fdwSupport; + DWORD cDestinations; +} MIXERCAPSW,*PMIXERCAPSW,*LPMIXERCAPSW; +typedef struct tagMIXERLINEA { + DWORD cbStruct; + DWORD dwDestination; + DWORD dwSource; + DWORD dwLineID; + DWORD fdwLine; + DWORD dwUser; + DWORD dwComponentType; + DWORD cChannels; + DWORD cConnections; + DWORD cControls; + CHAR szShortName[MIXER_SHORT_NAME_CHARS]; + CHAR szName[MIXER_LONG_NAME_CHARS]; + struct { + DWORD dwType; + DWORD dwDeviceID; + WORD wMid; + WORD wPid; + MMVERSION vDriverVersion; + CHAR szPname[MAXPNAMELEN]; + } Target; +} MIXERLINEA,*PMIXERLINEA,*LPMIXERLINEA; +typedef struct tagMIXERLINEW { + DWORD cbStruct; + DWORD dwDestination; + DWORD dwSource; + DWORD dwLineID; + DWORD fdwLine; + DWORD dwUser; + DWORD dwComponentType; + DWORD cChannels; + DWORD cConnections; + DWORD cControls; + WCHAR szShortName[MIXER_SHORT_NAME_CHARS]; + WCHAR szName[MIXER_LONG_NAME_CHARS]; + struct { + DWORD dwType; + DWORD dwDeviceID; + WORD wMid; + WORD wPid; + MMVERSION vDriverVersion; + WCHAR szPname[MAXPNAMELEN]; + } Target; +} MIXERLINEW,*PMIXERLINEW,*LPMIXERLINEW; +typedef struct tagMIXERCONTROLA { + DWORD cbStruct; + DWORD dwControlID; + DWORD dwControlType; + DWORD fdwControl; + DWORD cMultipleItems; + CHAR szShortName[MIXER_SHORT_NAME_CHARS]; + CHAR szName[MIXER_LONG_NAME_CHARS]; + union { + struct { + LONG lMinimum; + LONG lMaximum; + }_STRUCT_NAME(s); + struct { + DWORD dwMinimum; + DWORD dwMaximum; + }_STRUCT_NAME(s1); + DWORD dwReserved[6]; + } Bounds; + union { + DWORD cSteps; + DWORD cbCustomData; + DWORD dwReserved[6]; + } Metrics; +} MIXERCONTROLA,*PMIXERCONTROLA,*LPMIXERCONTROLA; +typedef struct tagMIXERCONTROLW { + DWORD cbStruct; + DWORD dwControlID; + DWORD dwControlType; + DWORD fdwControl; + DWORD cMultipleItems; + WCHAR szShortName[MIXER_SHORT_NAME_CHARS]; + WCHAR szName[MIXER_LONG_NAME_CHARS]; + union { + struct { + LONG lMinimum; + LONG lMaximum; + }_STRUCT_NAME(s); + struct { + DWORD dwMinimum; + DWORD dwMaximum; + }_STRUCT_NAME(s1); + DWORD dwReserved[6]; + } Bounds; + union { + DWORD cSteps; + DWORD cbCustomData; + DWORD dwReserved[6]; + } Metrics; +} MIXERCONTROLW,*PMIXERCONTROLW,*LPMIXERCONTROLW; +typedef struct tagMIXERLINECONTROLSA { + DWORD cbStruct; + DWORD dwLineID; + union { + DWORD dwControlID; + DWORD dwControlType; + } DUMMYUNIONNAME; + DWORD cControls; + DWORD cbmxctrl; + LPMIXERCONTROLA pamxctrl; +} MIXERLINECONTROLSA,*PMIXERLINECONTROLSA,*LPMIXERLINECONTROLSA; +typedef struct tagMIXERLINECONTROLSW { + DWORD cbStruct; + DWORD dwLineID; + union { + DWORD dwControlID; + DWORD dwControlType; + } DUMMYUNIONNAME; + DWORD cControls; + DWORD cbmxctrl; + LPMIXERCONTROLW pamxctrl; +} MIXERLINECONTROLSW,*PMIXERLINECONTROLSW,*LPMIXERLINECONTROLSW; +typedef struct tMIXERCONTROLDETAILS { + DWORD cbStruct; + DWORD dwControlID; + DWORD cChannels; + union { + HWND hwndOwner; + DWORD cMultipleItems; + } DUMMYUNIONNAME; + DWORD cbDetails; + PVOID paDetails; +} MIXERCONTROLDETAILS,*PMIXERCONTROLDETAILS,*LPMIXERCONTROLDETAILS; +typedef struct tagMIXERCONTROLDETAILS_LISTTEXTA { + DWORD dwParam1; + DWORD dwParam2; + CHAR szName[MIXER_LONG_NAME_CHARS]; +} MIXERCONTROLDETAILS_LISTTEXTA,*PMIXERCONTROLDETAILS_LISTTEXTA,*LPMIXERCONTROLDETAILS_LISTTEXTA; +typedef struct tagMIXERCONTROLDETAILS_LISTTEXTW { + DWORD dwParam1; + DWORD dwParam2; + WCHAR szName[MIXER_LONG_NAME_CHARS]; +} MIXERCONTROLDETAILS_LISTTEXTW,*PMIXERCONTROLDETAILS_LISTTEXTW,*LPMIXERCONTROLDETAILS_LISTTEXTW; +typedef struct tMIXERCONTROLDETAILS_BOOLEAN { + LONG fValue; +} MIXERCONTROLDETAILS_BOOLEAN,*PMIXERCONTROLDETAILS_BOOLEAN,*LPMIXERCONTROLDETAILS_BOOLEAN; +typedef struct tMIXERCONTROLDETAILS_SIGNED { + LONG lValue; +} MIXERCONTROLDETAILS_SIGNED,*PMIXERCONTROLDETAILS_SIGNED,*LPMIXERCONTROLDETAILS_SIGNED; +typedef struct tMIXERCONTROLDETAILS_UNSIGNED { + DWORD dwValue; +} MIXERCONTROLDETAILS_UNSIGNED,*PMIXERCONTROLDETAILS_UNSIGNED,*LPMIXERCONTROLDETAILS_UNSIGNED; +typedef void(CALLBACK TIMECALLBACK)(UINT,UINT,DWORD,DWORD,DWORD); +typedef TIMECALLBACK *LPTIMECALLBACK; +typedef struct timecaps_tag { + UINT wPeriodMin; + UINT wPeriodMax; +} TIMECAPS,*PTIMECAPS,*LPTIMECAPS; +typedef struct tagJOYCAPSA { + WORD wMid; + WORD wPid; + CHAR szPname[MAXPNAMELEN]; + UINT wXmin; + UINT wXmax; + UINT wYmin; + UINT wYmax; + UINT wZmin; + UINT wZmax; + UINT wNumButtons; + UINT wPeriodMin; + UINT wPeriodMax; + UINT wRmin; + UINT wRmax; + UINT wUmin; + UINT wUmax; + UINT wVmin; + UINT wVmax; + UINT wCaps; + UINT wMaxAxes; + UINT wNumAxes; + UINT wMaxButtons; + CHAR szRegKey[MAXPNAMELEN]; + CHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME]; +} JOYCAPSA,*PJOYCAPSA,*LPJOYCAPSA; +typedef struct tagJOYCAPSW { + WORD wMid; + WORD wPid; + WCHAR szPname[MAXPNAMELEN]; + UINT wXmin; + UINT wXmax; + UINT wYmin; + UINT wYmax; + UINT wZmin; + UINT wZmax; + UINT wNumButtons; + UINT wPeriodMin; + UINT wPeriodMax; + UINT wRmin; + UINT wRmax; + UINT wUmin; + UINT wUmax; + UINT wVmin; + UINT wVmax; + UINT wCaps; + UINT wMaxAxes; + UINT wNumAxes; + UINT wMaxButtons; + WCHAR szRegKey[MAXPNAMELEN]; + WCHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME]; +} JOYCAPSW,*PJOYCAPSW,*LPJOYCAPSW; +typedef struct joyinfo_tag { + UINT wXpos; + UINT wYpos; + UINT wZpos; + UINT wButtons; +} JOYINFO,*PJOYINFO,*LPJOYINFO; +typedef struct joyinfoex_tag { + DWORD dwSize; + DWORD dwFlags; + DWORD dwXpos; + DWORD dwYpos; + DWORD dwZpos; + DWORD dwRpos; + DWORD dwUpos; + DWORD dwVpos; + DWORD dwButtons; + DWORD dwButtonNumber; + DWORD dwPOV; + DWORD dwReserved1; + DWORD dwReserved2; +} JOYINFOEX,*PJOYINFOEX,*LPJOYINFOEX; +typedef DWORD FOURCC; +typedef char *HPSTR; +DECLARE_HANDLE(HMMIO); +typedef LRESULT (CALLBACK MMIOPROC)(LPSTR,UINT,LPARAM,LPARAM); +typedef MMIOPROC *LPMMIOPROC; +typedef struct _MMIOINFO { + DWORD dwFlags; + FOURCC fccIOProc; + LPMMIOPROC pIOProc; + UINT wErrorRet; + HTASK htask; + LONG cchBuffer; + HPSTR pchBuffer; + HPSTR pchNext; + HPSTR pchEndRead; + HPSTR pchEndWrite; + LONG lBufOffset; + LONG lDiskOffset; + DWORD adwInfo[3]; + DWORD dwReserved1; + DWORD dwReserved2; + HMMIO hmmio; +} MMIOINFO,*PMMIOINFO,*LPMMIOINFO; +typedef const MMIOINFO *LPCMMIOINFO; +typedef struct _MMCKINFO { + FOURCC ckid; + DWORD cksize; + FOURCC fccType; + DWORD dwDataOffset; + DWORD dwFlags; +} MMCKINFO,*PMMCKINFO,*LPMMCKINFO; +typedef const MMCKINFO *LPCMMCKINFO; +typedef struct tagMCI_GENERIC_PARMS { + DWORD dwCallback; +} MCI_GENERIC_PARMS,*PMCI_GENERIC_PARMS,*LPMCI_GENERIC_PARMS; +typedef struct tagMCI_OPEN_PARMSA { + DWORD dwCallback; + MCIDEVICEID wDeviceID; + LPCSTR lpstrDeviceType; + LPCSTR lpstrElementName; + LPCSTR lpstrAlias; +} MCI_OPEN_PARMSA,*PMCI_OPEN_PARMSA,*LPMCI_OPEN_PARMSA; +typedef struct tagMCI_OPEN_PARMSW { + DWORD dwCallback; + MCIDEVICEID wDeviceID; + LPCWSTR lpstrDeviceType; + LPCWSTR lpstrElementName; + LPCWSTR lpstrAlias; +} MCI_OPEN_PARMSW,*PMCI_OPEN_PARMSW,*LPMCI_OPEN_PARMSW; +typedef struct tagMCI_PLAY_PARMS { + DWORD dwCallback; + DWORD dwFrom; + DWORD dwTo; +} MCI_PLAY_PARMS,*PMCI_PLAY_PARMS,*LPMCI_PLAY_PARMS; +typedef struct tagMCI_SEEK_PARMS { + DWORD dwCallback; + DWORD dwTo; +} MCI_SEEK_PARMS, *PMCI_SEEK_PARMS,*LPMCI_SEEK_PARMS; +typedef struct tagMCI_STATUS_PARMS { + DWORD dwCallback; + DWORD dwReturn; + DWORD dwItem; + DWORD dwTrack; +} MCI_STATUS_PARMS,*PMCI_STATUS_PARMS,*LPMCI_STATUS_PARMS; +typedef struct tagMCI_INFO_PARMSA { + DWORD dwCallback; + LPSTR lpstrReturn; + DWORD dwRetSize; +} MCI_INFO_PARMSA,*LPMCI_INFO_PARMSA; +typedef struct tagMCI_INFO_PARMSW { + DWORD dwCallback; + LPWSTR lpstrReturn; + DWORD dwRetSize; +} MCI_INFO_PARMSW,*LPMCI_INFO_PARMSW; +typedef struct tagMCI_GETDEVCAPS_PARMS { + DWORD dwCallback; + DWORD dwReturn; + DWORD dwItem; +} MCI_GETDEVCAPS_PARMS,*PMCI_GETDEVCAPS_PARMS,*LPMCI_GETDEVCAPS_PARMS; +typedef struct tagMCI_SYSINFO_PARMSA { + DWORD dwCallback; + LPSTR lpstrReturn; + DWORD dwRetSize; + DWORD dwNumber; + UINT wDeviceType; +} MCI_SYSINFO_PARMSA,*PMCI_SYSINFO_PARMSA,*LPMCI_SYSINFO_PARMSA; +typedef struct tagMCI_SYSINFO_PARMSW { + DWORD dwCallback; + LPWSTR lpstrReturn; + DWORD dwRetSize; + DWORD dwNumber; + UINT wDeviceType; +} MCI_SYSINFO_PARMSW,*PMCI_SYSINFO_PARMSW,*LPMCI_SYSINFO_PARMSW; +typedef struct tagMCI_SET_PARMS { + DWORD dwCallback; + DWORD dwTimeFormat; + DWORD dwAudio; +} MCI_SET_PARMS,*PMCI_SET_PARMS,*LPMCI_SET_PARMS; +typedef struct tagMCI_BREAK_PARMS { + DWORD dwCallback; + int nVirtKey; + HWND hwndBreak; +} MCI_BREAK_PARMS,*PMCI_BREAK_PARMS,*LPMCI_BREAK_PARMS; +typedef struct tagMCI_SAVE_PARMSA { + DWORD dwCallback; + LPCSTR lpfilename; +} MCI_SAVE_PARMSA,*PMCI_SAVE_PARMSA,*LPMCI_SAVE_PARMSA; +typedef struct tagMCI_SAVE_PARMSW { + DWORD dwCallback; + LPCWSTR lpfilename; +} MCI_SAVE_PARMSW,*PMCI_SAVE_PARMSW,*LPMCI_SAVE_PARMSW; +typedef struct tagMCI_LOAD_PARMSA { + DWORD dwCallback; + LPCSTR lpfilename; +} MCI_LOAD_PARMSA,*PMCI_LOAD_PARMSA,*LPMCI_LOAD_PARMSA; +typedef struct tagMCI_LOAD_PARMSW { + DWORD dwCallback; + LPCWSTR lpfilename; +} MCI_LOAD_PARMSW,*PMCI_LOAD_PARMSW,*LPMCI_LOAD_PARMSW; +typedef struct tagMCI_RECORD_PARMS { + DWORD dwCallback; + DWORD dwFrom; + DWORD dwTo; +} MCI_RECORD_PARMS,*LPMCI_RECORD_PARMS; +typedef struct tagMCI_VD_PLAY_PARMS { + DWORD dwCallback; + DWORD dwFrom; + DWORD dwTo; + DWORD dwSpeed; +} MCI_VD_PLAY_PARMS,*PMCI_VD_PLAY_PARMS,*LPMCI_VD_PLAY_PARMS; +typedef struct tagMCI_VD_STEP_PARMS { + DWORD dwCallback; + DWORD dwFrames; +} MCI_VD_STEP_PARMS,*PMCI_VD_STEP_PARMS,*LPMCI_VD_STEP_PARMS; +typedef struct tagMCI_VD_ESCAPE_PARMSA { + DWORD dwCallback; + LPCSTR lpstrCommand; +} MCI_VD_ESCAPE_PARMSA,*PMCI_VD_ESCAPE_PARMSA,*LPMCI_VD_ESCAPE_PARMSA; +typedef struct tagMCI_VD_ESCAPE_PARMSW { + DWORD dwCallback; + LPCWSTR lpstrCommand; +} MCI_VD_ESCAPE_PARMSW,*PMCI_VD_ESCAPE_PARMSW,*LPMCI_VD_ESCAPE_PARMSW; +typedef struct tagMCI_WAVE_OPEN_PARMSA { + DWORD dwCallback; + MCIDEVICEID wDeviceID; + LPCSTR lpstrDeviceType; + LPCSTR lpstrElementName; + LPCSTR lpstrAlias; + DWORD dwBufferSeconds; +} MCI_WAVE_OPEN_PARMSA,*PMCI_WAVE_OPEN_PARMSA,*LPMCI_WAVE_OPEN_PARMSA; +typedef struct tagMCI_WAVE_OPEN_PARMSW { + DWORD dwCallback; + MCIDEVICEID wDeviceID; + LPCWSTR lpstrDeviceType; + LPCWSTR lpstrElementName; + LPCWSTR lpstrAlias; + DWORD dwBufferSeconds; +} MCI_WAVE_OPEN_PARMSW,*PMCI_WAVE_OPEN_PARMSW,*LPMCI_WAVE_OPEN_PARMSW; +typedef struct tagMCI_WAVE_DELETE_PARMS { + DWORD dwCallback; + DWORD dwFrom; + DWORD dwTo; +} MCI_WAVE_DELETE_PARMS, *PMCI_WAVE_DELETE_PARMS,*LPMCI_WAVE_DELETE_PARMS; +typedef struct tagMCI_WAVE_SET_PARMS { + DWORD dwCallback; + DWORD dwTimeFormat; + DWORD dwAudio; + UINT wInput; + UINT wOutput; + WORD wFormatTag; + WORD wReserved2; + WORD nChannels; + WORD wReserved3; + DWORD nSamplesPerSec; + DWORD nAvgBytesPerSec; + WORD nBlockAlign; + WORD wReserved4; + WORD wBitsPerSample; + WORD wReserved5; +} MCI_WAVE_SET_PARMS,*PMCI_WAVE_SET_PARMS,*LPMCI_WAVE_SET_PARMS; + +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); +#define OutputDebugStr OutputDebugString +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 midiOutGetNumDevs(void); +MMRESULT WINAPI midiStreamOpen(LPHMIDISTRM,LPUINT,DWORD,DWORD,DWORD,DWORD); +MMRESULT WINAPI midiStreamClose(HMIDISTRM); +MMRESULT WINAPI midiStreamProperty(HMIDISTRM,LPBYTE,DWORD); +MMRESULT WINAPI midiStreamPosition(HMIDISTRM,LPMMTIME,UINT); +MMRESULT WINAPI midiStreamOut(HMIDISTRM,LPMIDIHDR,UINT); +MMRESULT WINAPI midiStreamPause(HMIDISTRM); +MMRESULT WINAPI midiStreamRestart(HMIDISTRM); +MMRESULT WINAPI midiStreamStop(HMIDISTRM); +MMRESULT WINAPI midiConnect(HMIDI,HMIDIOUT,PVOID); +MMRESULT WINAPI midiDisconnect(HMIDI,HMIDIOUT,PVOID); +MMRESULT WINAPI midiOutGetDevCapsA(UINT,LPMIDIOUTCAPSA,UINT); +MMRESULT WINAPI midiOutGetDevCapsW(UINT,LPMIDIOUTCAPSW,UINT); +MMRESULT WINAPI midiOutGetVolume(HMIDIOUT,PDWORD); +MMRESULT WINAPI midiOutSetVolume(HMIDIOUT,DWORD); +MMRESULT WINAPI midiOutGetErrorTextA(MMRESULT,LPSTR,UINT); +MMRESULT WINAPI midiOutGetErrorTextW(MMRESULT,LPWSTR,UINT); +MMRESULT WINAPI midiOutOpen(LPHMIDIOUT,UINT,DWORD,DWORD,DWORD); +MMRESULT WINAPI midiOutClose(HMIDIOUT); +MMRESULT WINAPI midiOutPrepareHeader(HMIDIOUT,LPMIDIHDR,UINT); +MMRESULT WINAPI midiOutUnprepareHeader(HMIDIOUT,LPMIDIHDR,UINT); +MMRESULT WINAPI midiOutShortMsg(HMIDIOUT,DWORD); +MMRESULT WINAPI midiOutLongMsg(HMIDIOUT,LPMIDIHDR,UINT); +MMRESULT WINAPI midiOutReset(HMIDIOUT); +MMRESULT WINAPI midiOutCachePatches(HMIDIOUT,UINT,LPWORD,UINT); +MMRESULT WINAPI midiOutCacheDrumPatches(HMIDIOUT,UINT,LPWORD,UINT); +MMRESULT WINAPI midiOutGetID(HMIDIOUT,LPUINT); +MMRESULT WINAPI midiOutMessage(HMIDIOUT,UINT,DWORD,DWORD); +UINT WINAPI midiInGetNumDevs(void); +MMRESULT WINAPI midiInGetDevCapsA(UINT,LPMIDIINCAPSA,UINT); +MMRESULT WINAPI midiInGetDevCapsW(UINT,LPMIDIINCAPSW,UINT); +MMRESULT WINAPI midiInGetErrorTextA(MMRESULT,LPSTR,UINT); +MMRESULT WINAPI midiInGetErrorTextW(MMRESULT,LPWSTR,UINT); +MMRESULT WINAPI midiInOpen(LPHMIDIIN,UINT,DWORD,DWORD,DWORD); +MMRESULT WINAPI midiInClose(HMIDIIN); +MMRESULT WINAPI midiInPrepareHeader(HMIDIIN,LPMIDIHDR,UINT); +MMRESULT WINAPI midiInUnprepareHeader(HMIDIIN,LPMIDIHDR,UINT); +MMRESULT WINAPI midiInAddBuffer(HMIDIIN,LPMIDIHDR,UINT); +MMRESULT WINAPI midiInStart(HMIDIIN); +MMRESULT WINAPI midiInStop(HMIDIIN); +MMRESULT WINAPI midiInReset(HMIDIIN); +MMRESULT WINAPI midiInGetID(HMIDIIN,LPUINT); +MMRESULT WINAPI midiInMessage(HMIDIIN,UINT,DWORD,DWORD); +UINT WINAPI auxGetNumDevs(void); +MMRESULT WINAPI auxGetDevCapsA(UINT,LPAUXCAPSA,UINT); +MMRESULT WINAPI auxGetDevCapsW(UINT,LPAUXCAPSW,UINT); +MMRESULT WINAPI auxSetVolume(UINT,DWORD); +MMRESULT WINAPI auxGetVolume(UINT,PDWORD); +MMRESULT WINAPI auxOutMessage(UINT,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); +FOURCC WINAPI mmioStringToFOURCCA(LPCSTR,UINT); +FOURCC WINAPI mmioStringToFOURCCW(LPCWSTR,UINT); +LPMMIOPROC WINAPI mmioInstallIOProcA(FOURCC,LPMMIOPROC,DWORD); +LPMMIOPROC WINAPI mmioInstallIOProcW(FOURCC,LPMMIOPROC,DWORD); +HMMIO WINAPI mmioOpenA(LPSTR,LPMMIOINFO,DWORD); +HMMIO WINAPI mmioOpenW(LPWSTR,LPMMIOINFO,DWORD); +MMRESULT WINAPI mmioRenameA(LPCSTR,LPCSTR,LPCMMIOINFO,DWORD); +MMRESULT WINAPI mmioRenameW(LPCWSTR,LPCWSTR,LPCMMIOINFO,DWORD); +MMRESULT WINAPI mmioClose(HMMIO,UINT); +LONG WINAPI mmioRead(HMMIO,HPSTR,LONG); +LONG WINAPI mmioWrite(HMMIO,LPCSTR,LONG); +LONG WINAPI mmioSeek(HMMIO,LONG,int); +MMRESULT WINAPI mmioGetInfo(HMMIO,LPMMIOINFO,UINT); +MMRESULT WINAPI mmioSetInfo(HMMIO,LPCMMIOINFO,UINT); +MMRESULT WINAPI mmioSetBuffer(HMMIO,LPSTR,LONG,UINT); +MMRESULT WINAPI mmioFlush(HMMIO,UINT); +MMRESULT WINAPI mmioAdvance(HMMIO,LPMMIOINFO,UINT); +LRESULT WINAPI mmioSendMessage(HMMIO,UINT,LPARAM,LPARAM); +MMRESULT WINAPI mmioDescend(HMMIO,LPMMCKINFO,const MMCKINFO*,UINT); +MMRESULT WINAPI mmioAscend(HMMIO,LPMMCKINFO,UINT); +MMRESULT WINAPI mmioCreateChunk(HMMIO,LPMMCKINFO,UINT); +MCIERROR WINAPI mciSendCommandA(MCIDEVICEID,UINT,DWORD,DWORD); +MCIERROR WINAPI mciSendCommandW(MCIDEVICEID,UINT,DWORD,DWORD); +MCIERROR WINAPI mciSendStringA(LPCSTR,LPSTR,UINT,HWND); +MCIERROR WINAPI mciSendStringW(LPCWSTR,LPWSTR,UINT,HWND); +MCIDEVICEID WINAPI mciGetDeviceIDA(LPCSTR); +MCIDEVICEID WINAPI mciGetDeviceIDW(LPCWSTR); +MCIDEVICEID WINAPI mciGetDeviceIDFromElementIDA(DWORD,LPCSTR); +MCIDEVICEID WINAPI mciGetDeviceIDFromElementIDW(DWORD,LPCWSTR); +BOOL WINAPI mciGetErrorStringA(MCIERROR,LPSTR,UINT); +BOOL WINAPI mciGetErrorStringW(MCIERROR,LPWSTR,UINT); +BOOL WINAPI mciSetYieldProc(MCIDEVICEID,YIELDPROC,DWORD); +HTASK WINAPI mciGetCreatorTask(MCIDEVICEID); +YIELDPROC WINAPI mciGetYieldProc(MCIDEVICEID,PDWORD); + +typedef struct tagMCI_SEQ_SET_PARMS { + DWORD dwCallback; + DWORD dwTimeFormat; + DWORD dwAudio; + DWORD dwTempo; + DWORD dwPort; + DWORD dwSlave; + DWORD dwMaster; + DWORD dwOffset; +} MCI_SEQ_SET_PARMS,*PMCI_SEQ_SET_PARMS,*LPMCI_SEQ_SET_PARMS; +typedef struct tagMCI_ANIM_OPEN_PARMSA { + DWORD dwCallback; + MCIDEVICEID wDeviceID; + LPCSTR lpstrDeviceType; + LPCSTR lpstrElementName; + LPCSTR lpstrAlias; + DWORD dwStyle; + HWND hWndParent; +} MCI_ANIM_OPEN_PARMSA,*PMCI_ANIM_OPEN_PARMSA,*LPMCI_ANIM_OPEN_PARMSA; +typedef struct tagMCI_ANIM_OPEN_PARMSW { + DWORD dwCallback; + MCIDEVICEID wDeviceID; + LPCWSTR lpstrDeviceType; + LPCWSTR lpstrElementName; + LPCWSTR lpstrAlias; + DWORD dwStyle; + HWND hWndParent; +} MCI_ANIM_OPEN_PARMSW,*PMCI_ANIM_OPEN_PARMSW,*LPMCI_ANIM_OPEN_PARMSW; +typedef struct tagMCI_ANIM_PLAY_PARMS { + DWORD dwCallback; + DWORD dwFrom; + DWORD dwTo; + DWORD dwSpeed; +} MCI_ANIM_PLAY_PARMS,*PMCI_ANIM_PLAY_PARMS,*LPMCI_ANIM_PLAY_PARMS; +typedef struct tagMCI_ANIM_STEP_PARMS { + DWORD dwCallback; + DWORD dwFrames; +} MCI_ANIM_STEP_PARMS,*PMCI_ANIM_STEP_PARMS,*LPMCI_ANIM_STEP_PARMS; +typedef struct tagMCI_ANIM_WINDOW_PARMSA { + DWORD dwCallback; + HWND hWnd; + UINT nCmdShow; + LPCSTR lpstrText; +} MCI_ANIM_WINDOW_PARMSA,*PMCI_ANIM_WINDOW_PARMSA,*LPMCI_ANIM_WINDOW_PARMSA; +typedef struct tagMCI_ANIM_WINDOW_PARMSW { + DWORD dwCallback; + HWND hWnd; + UINT nCmdShow; + LPCWSTR lpstrText; +} MCI_ANIM_WINDOW_PARMSW,*PMCI_ANIM_WINDOW_PARMSW,*LPMCI_ANIM_WINDOW_PARMSW; +typedef struct tagMCI_ANIM_RECT_PARMS { + DWORD dwCallback; +#ifdef MCI_USE_OFFEXT + POINT ptOffset; + POINT ptExtent; +#else + RECT rc; +#endif +} MCI_ANIM_RECT_PARMS,*PMCI_ANIM_RECT_PARMS,*LPMCI_ANIM_RECT_PARMS; +typedef struct tagMCI_ANIM_UPDATE_PARMS { + DWORD dwCallback; + RECT rc; + HDC hDC; +} MCI_ANIM_UPDATE_PARMS,*PMCI_ANIM_UPDATE_PARMS,*LPMCI_ANIM_UPDATE_PARMS; +typedef struct tagMCI_OVLY_OPEN_PARMSA { + DWORD dwCallback; + MCIDEVICEID wDeviceID; + LPCSTR lpstrDeviceType; + LPCSTR lpstrElementName; + LPCSTR lpstrAlias; + DWORD dwStyle; + HWND hWndParent; +} MCI_OVLY_OPEN_PARMSA,*PMCI_OVLY_OPEN_PARMSA,*LPMCI_OVLY_OPEN_PARMSA; +typedef struct tagMCI_OVLY_OPEN_PARMSW { + DWORD dwCallback; + MCIDEVICEID wDeviceID; + LPCWSTR lpstrDeviceType; + LPCWSTR lpstrElementName; + LPCWSTR lpstrAlias; + DWORD dwStyle; + HWND hWndParent; +} MCI_OVLY_OPEN_PARMSW,*PMCI_OVLY_OPEN_PARMSW,*LPMCI_OVLY_OPEN_PARMSW; +typedef struct tagMCI_OVLY_WINDOW_PARMSA { + DWORD dwCallback; + HWND hWnd; + UINT nCmdShow; + LPCSTR lpstrText; +} MCI_OVLY_WINDOW_PARMSA,*PMCI_OVLY_WINDOW_PARMSA,*LPMCI_OVLY_WINDOW_PARMSA; +typedef struct tagMCI_OVLY_WINDOW_PARMSW { + DWORD dwCallback; + HWND hWnd; + UINT nCmdShow; + LPCWSTR lpstrText; +} MCI_OVLY_WINDOW_PARMSW,*PMCI_OVLY_WINDOW_PARMSW,*LPMCI_OVLY_WINDOW_PARMSW; +typedef struct tagMCI_OVLY_RECT_PARMS { + DWORD dwCallback; +#ifdef MCI_USE_OFFEXT + POINT ptOffset; + POINT ptExtent; +#else + RECT rc; +#endif +} MCI_OVLY_RECT_PARMS,*PMCI_OVLY_RECT_PARMS,*LPMCI_OVLY_RECT_PARMS; +typedef struct tagMCI_OVLY_SAVE_PARMSA { + DWORD dwCallback; + LPCSTR lpfilename; + RECT rc; +} MCI_OVLY_SAVE_PARMSA,*PMCI_OVLY_SAVE_PARMSA,*LPMCI_OVLY_SAVE_PARMSA; +typedef struct tagMCI_OVLY_SAVE_PARMSW { + DWORD dwCallback; + LPCWSTR lpfilename; + RECT rc; +} MCI_OVLY_SAVE_PARMSW,*PMCI_OVLY_SAVE_PARMSW,*LPMCI_OVLY_SAVE_PARMSW; +typedef struct tagMCI_OVLY_LOAD_PARMSA { + DWORD dwCallback; + LPCSTR lpfilename; + RECT rc; +} MCI_OVLY_LOAD_PARMSA,*PMCI_OVLY_LOAD_PARMSA,*LPMCI_OVLY_LOAD_PARMSA; +typedef struct tagMCI_OVLY_LOAD_PARMSW { + DWORD dwCallback; + LPCWSTR lpfilename; + RECT rc; +} MCI_OVLY_LOAD_PARMSW,*PMCI_OVLY_LOAD_PARMSW,*LPMCI_OVLY_LOAD_PARMSW; + +#ifdef UNICODE +typedef WAVEOUTCAPSW WAVEOUTCAPS,*PWAVEOUTCAPS,*LPWAVEOUTCAPS; +typedef WAVEINCAPSW WAVEINCAPS,*PWAVEINCAPS,*LPWAVEINCAPS; +typedef MIDIOUTCAPSW MIDIOUTCAPS,*PMIDIOUTCAPS,*LPMIDIOUTCAPS; +typedef MIDIINCAPSW MIDIINCAPS,*PMIDIINCAPS,*LPMIDIINCAPS; +typedef AUXCAPSW AUXCAPS,*PAUXCAPS,*LPAUXCAPS; +typedef MIXERCAPSW MIXERCAPS,*PMIXERCAPS,*LPMIXERCAPS; +typedef MIXERLINEW MIXERLINE,*PMIXERLINE,*LPMIXERLINE; +typedef MIXERCONTROLA MIXERCONTROL,*PMIXERCONTROL,*LPMIXERCONTROL; +typedef MIXERLINECONTROLSW MIXERLINECONTROLS,*PMIXERLINECONTROLS,*LPMIXERLINECONTROLS; +typedef MIXERCONTROLDETAILS_LISTTEXTW MIXERCONTROLDETAILS_LISTTEXT,*PMIXERCONTROLDETAILS_LISTTEXT,*LPMIXERCONTROLDETAILS_LISTTEXT; +typedef JOYCAPSW JOYCAPS,*PJOYCAPS,*LPJOYCAPS; +typedef MCI_OPEN_PARMSW MCI_OPEN_PARMS,*PMCI_OPEN_PARMS,*LPMCI_OPEN_PARMS; +typedef MCI_INFO_PARMSW MCI_INFO_PARMS,*LPMCI_INFO_PARMS; +typedef MCI_SYSINFO_PARMSW MCI_SYSINFO_PARMS,*PMCI_SYSINFO_PARMS,*LPMCI_SYSINFO_PARMS; +typedef MCI_SAVE_PARMSW MCI_SAVE_PARMS,*PMCI_SAVE_PARMS,*LPMCI_SAVE_PARMS; +typedef MCI_LOAD_PARMSW MCI_LOAD_PARMS,*PMCI_LOAD_PARMS,*LPMCI_LOAD_PARMS; +typedef MCI_VD_ESCAPE_PARMSW MCI_VD_ESCAPE_PARMS,*PMCI_VD_ESCAPE_PARMS,*LPMCI_VD_ESCAPE_PARMS; +typedef MCI_WAVE_OPEN_PARMSW MCI_WAVE_OPEN_PARMS,*PMCI_WAVE_OPEN_PARMS,*LPMCI_WAVE_OPEN_PARMS; +typedef MCI_ANIM_OPEN_PARMSW MCI_ANIM_OPEN_PARMS,*PMCI_ANIM_OPEN_PARMS,*LPMCI_ANIM_OPEN_PARMS; +typedef MCI_ANIM_WINDOW_PARMSW MCI_ANIM_WINDOW_PARMS,*PMCI_ANIM_WINDOW_PARMS,*LPMCI_ANIM_WINDOW_PARMS; +typedef MCI_OVLY_OPEN_PARMSW MCI_OVLY_OPEN_PARMS,*PMCI_OVLY_OPEN_PARMS,*LPMCI_OVLY_OPEN_PARMS; +typedef MCI_OVLY_WINDOW_PARMSW MCI_OVLY_WINDOW_PARMS,*PMCI_OVLY_WINDOW_PARMS,*LPMCI_OVLY_WINDOW_PARMS; +typedef MCI_OVLY_SAVE_PARMSW MCI_OVLY_SAVE_PARMS,*PMCI_OVLY_SAVE_PARMS,*LPMCI_OVLY_SAVE_PARMS; +#define sndPlaySound sndPlaySoundW +#define PlaySound PlaySoundW +#define waveOutGetDevCaps waveOutGetDevCapsW +#define waveOutGetErrorText waveOutGetErrorTextW +#define waveInGetDevCaps waveInGetDevCapsW +#define waveInGetErrorText waveInGetErrorTextW +#define midiOutGetDevCaps midiOutGetDevCapsW +#define midiOutGetErrorText midiOutGetErrorTextW +#define midiInGetDevCaps midiInGetDevCapsW +#define midiInGetErrorText midiInGetErrorTextW +#define auxGetDevCaps auxGetDevCapsW +#define mixerGetDevCaps mixerGetDevCapsW +#define mixerGetLineInfo mixerGetLineInfoW +#define mixerGetLineControls mixerGetLineControlsW +#define mixerGetControlDetails mixerGetControlDetailsW +#define joyGetDevCaps joyGetDevCapsW +#define mmioInstallIOProc mmioInstallIOProcW +#define mmioStringToFOURCC mmioStringToFOURCCW +#define mmioOpen mmioOpenW +#define mmioRename mmioRenameW +#define mciSendCommand mciSendCommandW +#define mciSendString mciSendStringW +#define mciGetDeviceID mciGetDeviceIDW +#define mciGetDeviceIDFromElementID mciGetDeviceIDFromElementIDW +#define mciGetErrorString mciGetErrorStringW +#else +typedef WAVEOUTCAPSA WAVEOUTCAPS,*PWAVEOUTCAPS,*LPWAVEOUTCAPS; +typedef WAVEINCAPSA WAVEINCAPS,*PWAVEINCAPS,*LPWAVEINCAPS; +typedef MIDIOUTCAPSA MIDIOUTCAPS,*PMIDIOUTCAPS,*LPMIDIOUTCAPS; +typedef MIDIINCAPSA MIDIINCAPS,*PMIDIINCAPS,*LPMIDIINCAPS; +typedef AUXCAPSA AUXCAPS,*PAUXCAPS,*LPAUXCAPS; +typedef MIXERCAPSA MIXERCAPS,*PMIXERCAPS,*LPMIXERCAPS; +typedef MIXERLINEA MIXERLINE,*PMIXERLINE,*LPMIXERLINE; +typedef MIXERCONTROLA MIXERCONTROL,*PMIXERCONTROL,*LPMIXERCONTROL; +typedef MIXERLINECONTROLSA MIXERLINECONTROLS,*PMIXERLINECONTROLS,*LPMIXERLINECONTROLS; +typedef MIXERCONTROLDETAILS_LISTTEXTA MIXERCONTROLDETAILS_LISTTEXT,*PMIXERCONTROLDETAILS_LISTTEXT,*LPMIXERCONTROLDETAILS_LISTTEXT; +typedef JOYCAPSA JOYCAPS,*PJOYCAPS,*LPJOYCAPS; +typedef MCI_OPEN_PARMSA MCI_OPEN_PARMS,*PMCI_OPEN_PARMS,*LPMCI_OPEN_PARMS; +typedef MCI_INFO_PARMSA MCI_INFO_PARMS,*LPMCI_INFO_PARMS; +typedef MCI_SYSINFO_PARMSA MCI_SYSINFO_PARMS,*PMCI_SYSINFO_PARMS,*LPMCI_SYSINFO_PARMS; +typedef MCI_SAVE_PARMSA MCI_SAVE_PARMS,*PMCI_SAVE_PARMS,*LPMCI_SAVE_PARMS; +typedef MCI_LOAD_PARMSA MCI_LOAD_PARMS,*PMCI_LOAD_PARMS,*LPMCI_LOAD_PARMS; +typedef MCI_VD_ESCAPE_PARMSA MCI_VD_ESCAPE_PARMS,*PMCI_VD_ESCAPE_PARMS,*LPMCI_VD_ESCAPE_PARMS; +typedef MCI_WAVE_OPEN_PARMSA MCI_WAVE_OPEN_PARMS,*PMCI_WAVE_OPEN_PARMS,*LPMCI_WAVE_OPEN_PARMS; +typedef MCI_ANIM_OPEN_PARMSA MCI_ANIM_OPEN_PARMS,*PMCI_ANIM_OPEN_PARMS,*LPMCI_ANIM_OPEN_PARMS; +typedef MCI_ANIM_WINDOW_PARMSA MCI_ANIM_WINDOW_PARMS,*PMCI_ANIM_WINDOW_PARMS,*LPMCI_ANIM_WINDOW_PARMS; +typedef MCI_OVLY_OPEN_PARMSA MCI_OVLY_OPEN_PARMS,*PMCI_OVLY_OPEN_PARMS,*LPMCI_OVLY_OPEN_PARMS; +typedef MCI_OVLY_WINDOW_PARMSA MCI_OVLY_WINDOW_PARMS,*PMCI_OVLY_WINDOW_PARMS,*LPMCI_OVLY_WINDOW_PARMS; +typedef MCI_OVLY_SAVE_PARMSA MCI_OVLY_SAVE_PARMS,*PMCI_OVLY_SAVE_PARMS,*LPMCI_OVLY_SAVE_PARMS; +#define sndPlaySound sndPlaySoundA +#define PlaySound PlaySoundA +#define waveOutGetDevCaps waveOutGetDevCapsA +#define waveOutGetErrorText waveOutGetErrorTextA +#define waveInGetDevCaps waveInGetDevCapsA +#define waveInGetErrorText waveInGetErrorTextA +#define midiOutGetDevCaps midiOutGetDevCapsA +#define midiOutGetErrorText midiOutGetErrorTextA +#define midiInGetDevCaps midiInGetDevCapsA +#define midiInGetErrorText midiInGetErrorTextA +#define auxGetDevCaps auxGetDevCapsA +#define mixerGetDevCaps mixerGetDevCapsA +#define mixerGetLineInfo mixerGetLineInfoA +#define mixerGetLineControls mixerGetLineControlsA +#define mixerGetControlDetails mixerGetControlDetailsA +#define joyGetDevCaps joyGetDevCapsA +#define mmioInstallIOProc mmioInstallIOProcA +#define mmioStringToFOURCC mmioStringToFOURCCA +#define mmioOpen mmioOpenA +#define mmioRename mmioRenameA +#define mciSendCommand mciSendCommandA +#define mciSendString mciSendStringA +#define mciGetDeviceID mciGetDeviceIDA +#define mciGetDeviceIDFromElementID mciGetDeviceIDFromElementIDA +#define mciGetErrorString mciGetErrorStringA +#endif +#ifdef __cplusplus +} +#endif +#pragma pack(pop) +#endif diff --git a/winsup/w32api/include/nb30.h b/winsup/w32api/include/nb30.h new file mode 100644 index 000000000..c12b94355 --- /dev/null +++ b/winsup/w32api/include/nb30.h @@ -0,0 +1,182 @@ +#ifndef _NB30_H +#define _NB30_H +#ifdef __cplusplus +extern "C" { +#endif +#define NCBNAMSZ 16 +#define MAX_LANA 254 +#define NAME_FLAGS_MASK 0x87 +#define GROUP_NAME 0x80 +#define UNIQUE_NAME 0x00 +#define REGISTERING 0x00 +#define REGISTERED 0x04 +#define DEREGISTERED 0x05 +#define DUPLICATE 0x06 +#define DUPLICATE_DEREG 0x07 +#define LISTEN_OUTSTANDING 0x01 +#define CALL_PENDING 0x02 +#define SESSION_ESTABLISHED 0x03 +#define HANGUP_PENDING 0x04 +#define HANGUP_COMPLETE 0x05 +#define SESSION_ABORTED 0x06 +#define ALL_TRANSPORTS "M\0\0\0" +#define MS_NBF "MNBF" +#define NCBCALL 0x10 +#define NCBLISTEN 0x11 +#define NCBHANGUP 0x12 +#define NCBSEND 0x14 +#define NCBRECV 0x15 +#define NCBRECVANY 0x16 +#define NCBCHAINSEND 0x17 +#define NCBDGSEND 0x20 +#define NCBDGRECV 0x21 +#define NCBDGSENDBC 0x22 +#define NCBDGRECVBC 0x23 +#define NCBADDNAME 0x30 +#define NCBDELNAME 0x31 +#define NCBRESET 0x32 +#define NCBASTAT 0x33 +#define NCBSSTAT 0x34 +#define NCBCANCEL 0x35 +#define NCBADDGRNAME 0x36 +#define NCBENUM 0x37 +#define NCBUNLINK 0x70 +#define NCBSENDNA 0x71 +#define NCBCHAINSENDNA 0x72 +#define NCBLANSTALERT 0x73 +#define NCBACTION 0x77 +#define NCBFINDNAME 0x78 +#define NCBTRACE 0x79 +#define ASYNCH 0x80 +#define NRC_GOODRET 0x00 +#define NRC_BUFLEN 0x01 +#define NRC_ILLCMD 0x03 +#define NRC_CMDTMO 0x05 +#define NRC_INCOMP 0x06 +#define NRC_BADDR 0x07 +#define NRC_SNUMOUT 0x08 +#define NRC_NORES 0x09 +#define NRC_SCLOSED 0x0a +#define NRC_CMDCAN 0x0b +#define NRC_DUPNAME 0x0d +#define NRC_NAMTFUL 0x0e +#define NRC_ACTSES 0x0f +#define NRC_LOCTFUL 0x11 +#define NRC_REMTFUL 0x12 +#define NRC_ILLNN 0x13 +#define NRC_NOCALL 0x14 +#define NRC_NOWILD 0x15 +#define NRC_INUSE 0x16 +#define NRC_NAMERR 0x17 +#define NRC_SABORT 0x18 +#define NRC_NAMCONF 0x19 +#define NRC_IFBUSY 0x21 +#define NRC_TOOMANY 0x22 +#define NRC_BRIDGE 0x23 +#define NRC_CANOCCR 0x24 +#define NRC_CANCEL 0x26 +#define NRC_DUPENV 0x30 +#define NRC_ENVNOTDEF 0x34 +#define NRC_OSRESNOTAV 0x35 +#define NRC_MAXAPPS 0x36 +#define NRC_NOSAPS 0x37 +#define NRC_NORESOURCES 0x38 +#define NRC_INVADDRESS 0x39 +#define NRC_INVDDID 0x3B +#define NRC_LOCKFAIL 0x3C +#define NRC_OPENERR 0x3f +#define NRC_SYSTEM 0x40 +#define NRC_PENDING 0xff +#define NCB_POST void CALLBACK +typedef struct _ACTION_HEADER { + ULONG transport_id; + USHORT action_code; + USHORT reserved; +} ACTION_HEADER,*PACTION_HEADER; +typedef struct _ADAPTER_STATUS { + UCHAR adapter_address[6]; + UCHAR rev_major; + UCHAR reserved0; + UCHAR adapter_type; + UCHAR rev_minor; + WORD duration; + WORD frmr_recv; + WORD frmr_xmit; + WORD iframe_recv_err; + WORD xmit_aborts; + DWORD xmit_success; + DWORD recv_success; + WORD iframe_xmit_err; + WORD recv_buff_unavail; + WORD t1_timeouts; + WORD ti_timeouts; + DWORD reserved1; + WORD free_ncbs; + WORD max_cfg_ncbs; + WORD max_ncbs; + WORD xmit_buf_unavail; + WORD max_dgram_size; + WORD pending_sess; + WORD max_cfg_sess; + WORD max_sess; + WORD max_sess_pkt_size; + WORD name_count; +} ADAPTER_STATUS,*PADAPTER_STATUS; +typedef struct _FIND_NAME_BUFFER { + UCHAR length; + UCHAR access_control; + UCHAR frame_control; + UCHAR destination_addr[6]; + UCHAR source_addr[6]; + UCHAR routing_info[18]; +} FIND_NAME_BUFFER,*PFIND_NAME_BUFFER; +typedef struct _FIND_NAME_HEADER { + WORD node_count; + UCHAR reserved; + UCHAR unique_group; +} FIND_NAME_HEADER,*PFIND_NAME_HEADER; +typedef struct _LANA_ENUM { + UCHAR length; + UCHAR lana[MAX_LANA+1]; +} LANA_ENUM,*PLANA_ENUM; +typedef struct _NAME_BUFFER { + UCHAR name[NCBNAMSZ]; + UCHAR name_num; + UCHAR name_flags; +} NAME_BUFFER,*PNAME_BUFFER; +typedef struct _NCB { + UCHAR ncb_command; + UCHAR ncb_retcode; + UCHAR ncb_lsn; + UCHAR ncb_num; + PUCHAR ncb_buffer; + WORD ncb_length; + UCHAR ncb_callname[NCBNAMSZ]; + UCHAR ncb_name[NCBNAMSZ]; + UCHAR ncb_rto; + UCHAR ncb_sto; + void (CALLBACK *ncb_post)(struct _NCB*); + UCHAR ncb_lana_num; + UCHAR ncb_cmd_cplt; + UCHAR ncb_reserve[10]; + HANDLE ncb_event; +} NCB,*PNCB; +typedef struct _SESSION_BUFFER { + UCHAR lsn; + UCHAR state; + UCHAR local_name[NCBNAMSZ]; + UCHAR remote_name[NCBNAMSZ]; + UCHAR rcvs_outstanding; + UCHAR sends_outstanding; +} SESSION_BUFFER,*PSESSION_BUFFER; +typedef struct _SESSION_HEADER { + UCHAR sess_name; + UCHAR num_sess; + UCHAR rcv_dg_outstanding; + UCHAR rcv_any_outstanding; +} SESSION_HEADER,*PSESSION_HEADER; +UCHAR WINAPI Netbios(PNCB); +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/nddeapi.h b/winsup/w32api/include/nddeapi.h new file mode 100644 index 000000000..a4dc03bcf --- /dev/null +++ b/winsup/w32api/include/nddeapi.h @@ -0,0 +1,127 @@ +#ifndef _NDDEAPI_H +#define _NDDEAPI_H +#ifdef __cplusplus +extern "C" { +#endif +#define CNLEN 15 +#define UNCLEN 17 +#define SEP_CHAR ',' +#define BAR_CHAR "|" +#define SEP_WCHAR L',' +#define BAR_WCHAR L"|" +#define NDDE_NO_ERROR 0 +#define NDDE_ACCESS_DENIED 1 +#define NDDE_BUF_TOO_SMALL 2 +#define NDDE_ERROR_MORE_DATA 3 +#define NDDE_INVALID_SERVER 4 +#define NDDE_INVALID_SHARE 5 +#define NDDE_INVALID_PARAMETER 6 +#define NDDE_INVALID_LEVEL 7 +#define NDDE_INVALID_PASSWORD 8 +#define NDDE_INVALID_ITEMNAME 9 +#define NDDE_INVALID_TOPIC 10 +#define NDDE_INTERNAL_ERROR 11 +#define NDDE_OUT_OF_MEMORY 12 +#define NDDE_INVALID_APPNAME 13 +#define NDDE_NOT_IMPLEMENTED 14 +#define NDDE_SHARE_ALREADY_EXIST 15 +#define NDDE_SHARE_NOT_EXIST 16 +#define NDDE_INVALID_FILENAME 17 +#define NDDE_NOT_RUNNING 18 +#define NDDE_INVALID_WINDOW 19 +#define NDDE_INVALID_SESSION 20 +#define NDDE_INVALID_ITEM_LIST 21 +#define NDDE_SHARE_DATA_CORRUPTED 22 +#define NDDE_REGISTRY_ERROR 23 +#define NDDE_CANT_ACCESS_SERVER 24 +#define NDDE_INVALID_SPECIAL_COMMAND 25 +#define NDDE_INVALID_SECURITY_DESC 26 +#define NDDE_TRUST_SHARE_FAIL 27 +#define MAX_NDDESHARENAME 256 +#define MAX_DOMAINNAME 15 +#define MAX_USERNAME 15 +#define MAX_APPNAME 255 +#define MAX_TOPICNAME 255 +#define MAX_ITEMNAME 255 +#define NDDEF_NOPASSWORDPROMPT 0x0001 +#define NDDEF_NOCACHELOOKUP 0x0002 +#define NDDEF_STRIP_NDDE 0x0004 +#define SHARE_TYPE_OLD 0x01 +#define SHARE_TYPE_NEW 0x02 +#define SHARE_TYPE_STATIC 0x04 +#define NDDE_TRUST_SHARE_START 0x80000000L +#define NDDE_TRUST_SHARE_INIT 0x40000000L +#define NDDE_TRUST_SHARE_DEL 0x20000000L +#define NDDE_TRUST_CMD_SHOW 0x10000000L +#define NDDE_CMD_SHOW_MASK 0x0000FFFFL +struct NDdeShareInfo_tag { + LONG lRevision; + LPTSTR lpszShareName; + LONG lShareType; + LPTSTR lpszAppTopicList; + LONG fSharedFlag; + LONG fService; + LONG fStartAppFlag; + LONG nCmdShow; + LONG qModifyId[2]; + LONG cNumItems; + LPTSTR lpszItemList; +} NDDESHAREINFO,*PNDDESHAREINFO; + +UINT WINAPI NDdeGetErrorStringA(UINT,LPSTR,DWORD); +UINT WINAPI NDdeGetErrorStringW(UINT,LPWSTR,DWORD); +UINT WINAPI NDdeGetShareSecurityA(LPSTR,LPSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD); +UINT WINAPI NDdeGetShareSecurityW(LPWSTR,LPWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD); +UINT WINAPI NDdeGetTrustedShareA(LPSTR,LPSTR,PDWORD,PDWORD,PDWORD); +UINT WINAPI NDdeGetTrustedShareW(LPWSTR,LPWSTR,PDWORD,PDWORD,PDWORD); +BOOL WINAPI NDdeIsValidShareNameA(LPSTR); +BOOL WINAPI NDdeIsValidShareNameW(LPWSTR); +BOOL WINAPI NDdeIsValidAppTopicListA(LPSTR); +BOOL WINAPI NDdeIsValidAppTopicListW(LPWSTR); +UINT WINAPI NDdeSetShareSecurityA(LPSTR,LPSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR); +UINT WINAPI NDdeSetShareSecurityW(LPWSTR,LPWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR); +UINT WINAPI NDdeSetTrustedShareA(LPSTR,LPSTR,DWORD); +UINT WINAPI NDdeSetTrustedShareW(LPWSTR,LPWSTR,DWORD); +UINT WINAPI NDdeShareAddA(LPSTR,UINT,PSECURITY_DESCRIPTOR,PBYTE,DWORD); +UINT WINAPI NDdeShareAddW(LPWSTR,UINT,PSECURITY_DESCRIPTOR,PBYTE,DWORD); +UINT WINAPI NDdeShareDelA(LPSTR,LPSTR,UINT); +UINT WINAPI NDdeShareDelW(LPWSTR,LPWSTR,UINT); +UINT WINAPI NDdeShareEnumA(LPSTR,UINT,PBYTE,DWORD,PDWORD,PDWORD); +UINT WINAPI NDdeShareEnumW(LPWSTR,UINT,PBYTE,DWORD,PDWORD,PDWORD); +UINT WINAPI NDdeShareGetInfoA(LPSTR,LPSTR,UINT,PBYTE,DWORD,PDWORD,PWORD); +UINT WINAPI NDdeShareGetInfoW(LPWSTR,LPWSTR,UINT,PBYTE,DWORD,PDWORD,PWORD); +UINT WINAPI NDdeShareSetInfoA(LPSTR,LPSTR,UINT,PBYTE,DWORD,WORD); +UINT WINAPI NDdeShareSetInfoW(LPWSTR,LPWSTR,UINT,PBYTE,DWORD,WORD); +UINT WINAPI NDdeTrustedShareEnumA(LPSTR,UINT,PBYTE,DWORD,PDWORD,PDWORD); +UINT WINAPI NDdeTrustedShareEnumW(LPWSTR,UINT,PBYTE,DWORD,PDWORD,PDWORD); +#ifdef UNICODE +#define NDdeShareAdd NDdeShareAddW +#define NDdeShareDel NDdeShareDelW +#define NDdeSetShareSecurity NDdeSetShareSecurityW +#define NDdeGetShareSecurity NDdeGetShareSecurityW +#define NDdeShareEnum NDdeShareEnumW +#define NDdeShareGetInfo NDdeShareGetInfoW +#define NDdeShareSetInfo NDdeShareSetInfoW +#define NDdeGetErrorString NDdeGetErrorStringW +#define NDdeSetTrustedShare NDdeSetTrustedShareW +#define NDdeGetTrustedShare NDdeGetTrustedShareW +#define NDdeTrustedShareEnum NDdeTrustedShareEnumW +#else +#define NDdeShareAdd NDdeShareAddA +#define NDdeShareDel NDdeShareDelA +#define NDdeSetShareSecurity NDdeSetShareSecurityA +#define NDdeGetShareSecurity NDdeGetShareSecurityA +#define NDdeShareEnum NDdeShareEnumA +#define NDdeShareGetInfo NDdeShareGetInfoA +#define NDdeShareSetInfo NDdeShareSetInfoA +#define NDdeGetErrorString NDdeGetErrorStringA +#define NDdeIsValidShareName NDdeIsValidShareNameA +#define NDdeIsValidAppTopicList NDdeIsValidAppTopicListA +#define NDdeSetTrustedShare NDdeSetTrustedShareA +#define NDdeGetTrustedShare NDdeGetTrustedShareA +#define NDdeTrustedShareEnum NDdeTrustedShareEnumA +#endif +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/nspapi.h b/winsup/w32api/include/nspapi.h new file mode 100644 index 000000000..97dde1639 --- /dev/null +++ b/winsup/w32api/include/nspapi.h @@ -0,0 +1,19 @@ +#ifndef _NSPAPI_H +#define _NSPAPI_H +#ifdef __cplusplus +extern "C" { +#endif +typedef struct _SOCKET_ADDRESS { + LPSOCKADDR lpSockaddr; + INT iSockaddrLength; +} SOCKET_ADDRESS,*PSOCKET_ADDRESS,*LPSOCKET_ADDRESS; +typedef struct _CSADDR_INFO { + SOCKET_ADDRESS LocalAddr; + SOCKET_ADDRESS RemoteAddr; + INT iSocketType; + INT iProtocol; +} CSADDR_INFO,*PCSADDR_INFO,*LPCSADDR_INFO; +#ifdef __cplusplus +} +#endif +#endif /* _NSPAPI_H */ diff --git a/winsup/w32api/include/oaidl.h b/winsup/w32api/include/oaidl.h new file mode 100644 index 000000000..cc0e932a5 --- /dev/null +++ b/winsup/w32api/include/oaidl.h @@ -0,0 +1,513 @@ +#ifndef _OAIDL_H +#define _OAIDL_H +#ifdef __cplusplus +extern "C" { +#endif +#ifdef NONAMELESSUNION +#define __VARIANT_NAME_1 n1 +#define __VARIANT_NAME_2 n2 +#define __VARIANT_NAME_3 n3 +#define __VARIANT_NAME_4 n4 +#else +#define __tagVARIANT +#define __VARIANT_NAME_1 +#define __VARIANT_NAME_2 +#define __VARIANT_NAME_3 +#define __VARIANT_NAME_4 +#endif +#define DISPID_UNKNOWN (-1) +#define DISPID_VALUE (0) +#define DISPID_PROPERTYPUT (-3) +#define DISPID_NEWENUM (-4) +#define DISPID_EVALUATE (-5) +#define DISPID_CONSTRUCTOR (-6) +#define DISPID_DESTRUCTOR (-7) +#define DISPID_COLLECT (-8) +#define FADF_AUTO (1) +#define FADF_STATIC (2) +#define FADF_EMBEDDED (4) +#define FADF_FIXEDSIZE (16) +#define FADF_BSTR (256) +#define FADF_UNKNOWN (512) +#define FADF_DISPATCH (1024) +#define FADF_VARIANT (2048) +#define FADF_RESERVED (0xf0e8) +#define PARAMFLAG_NONE (0) +#define PARAMFLAG_FIN (1) +#define PARAMFLAG_FOUT (2) +#define PARAMFLAG_FLCID (4) +#define PARAMFLAG_FRETVAL (8) +#define PARAMFLAG_FOPT (16) +#define PARAMFLAG_FHASDEFAULT (32) +#define IDLFLAG_NONE PARAMFLAG_NONE +#define IDLFLAG_FIN PARAMFLAG_FIN +#define IDLFLAG_FOUT PARAMFLAG_FOUT +#define IDLFLAG_FLCID PARAMFLAG_FLCID +#define IDLFLAG_FRETVAL PARAMFLAG_FRETVAL +#define IMPLTYPEFLAG_FDEFAULT 1 +#define IMPLTYPEFLAG_FSOURCE 2 +#define IMPLTYPEFLAG_FRESTRICTED 4 +#define IMPLTYPEFLAG_FDEFAULTVTABLE 8 + +typedef interface ITypeLib *LPTYPELIB; +typedef interface ICreateTypeInfo *LPCREATETYPEINFO; +typedef interface ICreateTypeInfo2 *LPCREATETYPEINFO2; +typedef interface ICreateTypeLib *LPCREATETYPELIB; +typedef interface ICreateTypeLib2 *LPCREATETYPELIB2; +typedef interface ITypeComp *LPTYPECOMP; +typedef interface ITypeInfo *LPTYPEINFO; +typedef interface IErrorInfo *LPERRORINFO; +typedef interface IDispatch *LPDISPATCH; +typedef interface IEnumVARIANT *LPENUMVARIANT; +typedef interface ICreateErrorInfo *LPCREATEERRORINFO; + +extern const IID IID_ITypeLib; +extern const IID IID_ICreateTypeInfo; +extern const IID IID_ICreateTypeInfo2; +extern const IID IID_ICreateTypeLib; +extern const IID IID_ICreateTypeLib2; +extern const IID IID_ITypeInfo; +extern const IID IID_IErrorInfo; +extern const IID IID_IDispatch; +extern const IID IID_IEnumVARIANT; +extern const IID IID_ICreateErrorInfo; +extern const GUID IID_ISupportErrorInfo; + +typedef enum tagSYSKIND { + SYS_WIN16,SYS_WIN32,SYS_MAC +} SYSKIND; +typedef enum tagLIBFLAGS { + LIBFLAG_FRESTRICTED=1,LIBFLAG_FCONTROL=2,LIBFLAG_FHIDDEN=4, + LIBFLAG_FHASDISKIMAGE=8 +} LIBFLAGS; +typedef struct tagTLIBATTR { + GUID guid; + LCID lcid; + SYSKIND syskind; + WORD wMajorVerNum; + WORD wMinorVerNum; + WORD wLibFlags; +} TLIBATTR,*LPTLIBATTR; +typedef CY CURRENCY; +typedef struct tagSAFEARRAYBOUND { + ULONG cElements; + LONG lLbound; +}SAFEARRAYBOUND,*LPSAFEARRAYBOUND; +typedef struct _wireSAFEARR_BSTR +{ + ULONG Size; + wireBSTR *aBstr; +}SAFEARR_BSTR; +typedef struct _wireSAFEARR_UNKNOWN { + ULONG Size; + IUnknown **apUnknown; +}SAFEARR_UNKNOWN; +typedef struct _wireSAFEARR_DISPATCH { + ULONG Size; + LPDISPATCH *apDispatch; +}SAFEARR_DISPATCH; +typedef struct _wireSAFEARR_VARIANT { + ULONG Size; + struct _wireVARIANT *aVariant; +}SAFEARR_VARIANT; +typedef enum tagSF_TYPE { + SF_ERROR=VT_ERROR, + SF_I1=VT_I1, + SF_I2=VT_I2, + SF_I4=VT_I4, + SF_I8=VT_I8, + SF_BSTR=VT_BSTR, + SF_UNKNOWN=VT_UNKNOWN, + SF_DISPATCH=VT_DISPATCH, + SF_VARIANT=VT_VARIANT +}SF_TYPE; +typedef struct _wireSAFEARRAY_UNION { + ULONG sfType; + union { + SAFEARR_BSTR BstrStr; + SAFEARR_UNKNOWN UnknownStr; + SAFEARR_DISPATCH DispatchStr; + SAFEARR_VARIANT VariantStr; + BYTE_SIZEDARR ByteStr; + WORD_SIZEDARR WordStr; + DWORD_SIZEDARR LongStr; + HYPER_SIZEDARR HyperStr; + }u; +}SAFEARRAYUNION; +typedef struct _wireSAFEARRAY { + USHORT cDims; + USHORT fFeatures; + ULONG cbElements; + ULONG cLocks; + SAFEARRAYUNION uArrayStructs; + SAFEARRAYBOUND rgsabound[1]; +}*wireSAFEARRAY; +typedef wireSAFEARRAY *wirePSAFEARRAY; +typedef struct tagSAFEARRAY { + USHORT cDims; + USHORT fFeatures; + ULONG cbElements; + ULONG cLocks; + PVOID pvData; + SAFEARRAYBOUND rgsabound[1]; +}SAFEARRAY,*LPSAFEARRAY; +typedef struct tagVARIANT { + union { + struct __tagVARIANT { + VARTYPE vt; + WORD wReserved1; + WORD wReserved2; + WORD wReserved3; + union { + long lVal; + unsigned char bVal; + short iVal; + float fltVal; + double dblVal; + VARIANT_BOOL boolVal; + SCODE scode; + CY cyVal; + DATE date; + BSTR bstrVal; + IUnknown *punkVal; + LPDISPATCH pdispVal; + SAFEARRAY *parray; + unsigned char *pbVal; + short *piVal; + long *plVal; + float *pfltVal; + double *pdblVal; + VARIANT_BOOL *pboolVal; + SCODE *pscode; + CY *pcyVal; + DATE *pdate; + BSTR *pbstrVal; + IUnknown **ppunkVal; + LPDISPATCH *ppdispVal; + SAFEARRAY **pparray; + struct tagVARIANT *pvarVal; + void *byref; + CHAR cVal; + USHORT uiVal; + ULONG ulVal; + INT intVal; + UINT uintVal; + DECIMAL *pdecVal; + CHAR *pcVal; + USHORT *puiVal; + ULONG *pulVal; + INT *pintVal; + UINT *puintVal; + struct { + PVOID pvRecord; + struct IRecordInfo *pRecInfo; + } __VARIANT_NAME_4; + } __VARIANT_NAME_3; + } __VARIANT_NAME_2; + DECIMAL decVal; + } __VARIANT_NAME_1; +} VARIANT,*LPVARIANT; +typedef VARIANT VARIANTARG; +typedef VARIANT *LPVARIANTARG; +typedef struct _wireVARIANT { + DWORD clSize; + DWORD rpcReserved; + USHORT vt; + USHORT wReserved1; + USHORT wReserved2; + USHORT wReserved3; + union { + LONG lVal; + BYTE bVal; + SHORT iVal; + FLOAT fltVal; + DOUBLE dblVal; + VARIANT_BOOL boolVal; + SCODE scode; + CY cyVal; + DATE date; + wireBSTR bstrVal; + IUnknown *punkVal; + LPDISPATCH pdispVal; + wireSAFEARRAY parray; + BYTE *pbVal; + SHORT *piVal; + LONG *plVal; + FLOAT *pfltVal; + DOUBLE *pdblVal; + VARIANT_BOOL *pboolVal; + SCODE *pscode; + CY *pcyVal; + DATE *pdate; + wireBSTR *pbstrVal; + IUnknown **ppunkVal; + LPDISPATCH *ppdispVal; + wireSAFEARRAY *pparray; + struct _wireVARIANT *pvarVal; + CHAR cVal; + USHORT uiVal; + ULONG ulVal; + INT intVal; + UINT uintVal; + DECIMAL decVal; + DECIMAL *pdecVal; + CHAR *pcVal; + USHORT *puiVal; + ULONG *pulVal; + INT *pintVal; + UINT *puintVal; + } DUMMYUNIONNAME; +} wireVARIANT; +typedef LONG DISPID; +typedef DISPID MEMBERID; +typedef DWORD HREFTYPE; +typedef enum tagTYPEKIND { + TKIND_ENUM,TKIND_RECORD,TKIND_MODULE,TKIND_INTERFACE,TKIND_DISPATCH, + TKIND_COCLASS,TKIND_ALIAS,TKIND_UNION,TKIND_MAX +}TYPEKIND; +typedef struct tagTYPEDESC { + union { + struct tagTYPEDESC *lptdesc; + struct tagARRAYDESC *lpadesc; + HREFTYPE hreftype; + } DUMMYUNIONNAME; + VARTYPE vt; +}TYPEDESC; +typedef struct tagARRAYDESC { + TYPEDESC tdescElem; + USHORT cDims; + SAFEARRAYBOUND rgbounds[1]; +}ARRAYDESC; +typedef struct tagPARAMDESCEX { + ULONG cBytes; + VARIANTARG varDefaultValue; +}PARAMDESCEX,*LPPARAMDESCEX; +typedef struct tagPARAMDESC { + LPPARAMDESCEX pparamdescex; + USHORT wParamFlags; +}PARAMDESC,*LPPARAMDESC; +typedef struct tagIDLDESC { + ULONG dwReserved; + USHORT wIDLFlags; +}IDLDESC,*LPIDLDESC; +typedef struct tagELEMDESC { + TYPEDESC tdesc; + union { + IDLDESC idldesc; + PARAMDESC paramdesc; + } DUMMYUNIONNAME; +} ELEMDESC,*LPELEMDESC; +typedef struct tagTYPEATTR { + GUID guid; + LCID lcid; + DWORD dwReserved; + MEMBERID memidConstructor; + MEMBERID memidDestructor; + LPOLESTR lpstrSchema; + ULONG cbSizeInstance; + TYPEKIND typekind; + WORD cFuncs; + WORD cVars; + WORD cImplTypes; + WORD cbSizeVft; + WORD cbAlignment; + WORD wTypeFlags; + WORD wMajorVerNum; + WORD wMinorVerNum; + TYPEDESC tdescAlias; + IDLDESC idldescType; +}TYPEATTR,*LPTYPEATTR; +typedef struct tagDISPPARAMS { + VARIANTARG *rgvarg; + DISPID *rgdispidNamedArgs; + UINT cArgs; + UINT cNamedArgs; +}DISPPARAMS; +typedef struct tagEXCEPINFO { + WORD wCode; + WORD wReserved; + BSTR bstrSource; + BSTR bstrDescription; + BSTR bstrHelpFile; + DWORD dwHelpContext; + PVOID pvReserved; + HRESULT(__stdcall * pfnDeferredFillIn)(struct tagEXCEPINFO*); + SCODE scode; +} EXCEPINFO,*LPEXCEPINFO; +typedef enum tagCALLCONV { + CC_FASTCALL,CC_CDECL,CC_MSCPASCAL,CC_PASCAL=CC_MSCPASCAL, + CC_MACPASCAL,CC_STDCALL,CC_FPFASTCALL,CC_SYSCALL,CC_MPWCDECL, + CC_MPWPASCAL,CC_MAX=CC_MPWPASCAL +}CALLCONV; +typedef enum tagFUNCKIND { + FUNC_VIRTUAL,FUNC_PUREVIRTUAL,FUNC_NONVIRTUAL, + FUNC_STATIC,FUNC_DISPATCH +}FUNCKIND; +typedef enum tagINVOKEKIND { + INVOKE_FUNC=1,INVOKE_PROPERTYGET,INVOKE_PROPERTYPUT=4, + INVOKE_PROPERTYPUTREF=8 +}INVOKEKIND; +typedef struct tagFUNCDESC { + MEMBERID memid; + SCODE *lprgscode; + ELEMDESC *lprgelemdescParam; + FUNCKIND funckind; + INVOKEKIND invkind; + CALLCONV callconv; + SHORT cParams; + SHORT cParamsOpt; + SHORT oVft; + SHORT cScodes; + ELEMDESC elemdescFunc; + WORD wFuncFlags; +}FUNCDESC,*LPFUNCDESC; +typedef enum tagVARKIND { + VAR_PERINSTANCE,VAR_STATIC,VAR_CONST,VAR_DISPATCH +} VARKIND; +typedef struct tagVARDESC { + MEMBERID memid; + LPOLESTR lpstrSchema; + union { + ULONG oInst; + VARIANT *lpvarValue; + } DUMMYUNIONNAME; + ELEMDESC elemdescVar; + WORD wVarFlags; + VARKIND varkind; +} VARDESC,*LPVARDESC; +typedef enum tagTYPEFLAGS { + TYPEFLAG_FAPPOBJECT=1,TYPEFLAG_FCANCREATE=2,TYPEFLAG_FLICENSED=4, + TYPEFLAG_FPREDECLID=8,TYPEFLAG_FHIDDEN=16,TYPEFLAG_FCONTROL=32, + TYPEFLAG_FDUAL=64,TYPEFLAG_FNONEXTENSIBLE=128, + TYPEFLAG_FOLEAUTOMATION=256,TYPEFLAG_FRESTRICTED=512, + TYPEFLAG_FAGGREGATABLE=1024,TYPEFLAG_FREPLACEABLE=2048, + TYPEFLAG_FDISPATCHABLE=4096,TYPEFLAG_FREVERSEBIND=8192 +} TYPEFLAGS; +typedef enum tagFUNCFLAGS { + FUNCFLAG_FRESTRICTED=1,FUNCFLAG_FSOURCE=2,FUNCFLAG_FBINDABLE=4, + FUNCFLAG_FREQUESTEDIT=8,FUNCFLAG_FDISPLAYBIND=16,FUNCFLAG_FDEFAULTBIND=32, + FUNCFLAG_FHIDDEN=64,FUNCFLAG_FUSESGETLASTERROR=128,FUNCFLAG_FDEFAULTCOLLELEM=256, + FUNCFLAG_FUIDEFAULT=512,FUNCFLAG_FNONBROWSABLE=1024,FUNCFLAG_FREPLACEABLE=2048, + FUNCFLAG_FIMMEDIATEBIND=4096 +} FUNCFLAGS; +typedef enum tagVARFLAGS { + VARFLAG_FREADONLY=1,VARFLAG_FSOURCE=2,VARFLAG_FBINDABLE=4,VARFLAG_FREQUESTEDIT=8, + VARFLAG_FDISPLAYBIND=16,VARFLAG_FDEFAULTBIND=32,VARFLAG_FHIDDEN=64,VARFLAG_FRESTRICTED=128, + VARFLAG_FDEFAULTCOLLELEM=256,VARFLAG_FUIDEFAULT=512,VARFLAG_FNONBROWSABLE=1024, + VARFLAG_FREPLACEABLE=2048,VARFLAG_FIMMEDIATEBIND=4096 +} VARFLAGS; +typedef struct tagCLEANLOCALSTORAGE { + IUnknown *pInterface; + PVOID pStorage; + DWORD flags; +} CLEANLOCALSTORAGE; +typedef struct tagCUSTDATAITEM { + GUID guid; + VARIANTARG varValue; +} CUSTDATAITEM,*LPCUSTDATAITEM; +typedef struct tagCUSTDATA { + DWORD cCustData; + LPCUSTDATAITEM prgCustData; +} CUSTDATA,*LPCUSTDATA; + +typedef enum tagDESCKIND { + DESCKIND_NONE=0,DESCKIND_FUNCDESC=DESCKIND_NONE+1, + DESCKIND_VARDESC=DESCKIND_FUNCDESC+1,DESCKIND_TYPECOMP=DESCKIND_VARDESC+1, + DESCKIND_IMPLICITAPPOBJ=DESCKIND_TYPECOMP+1, + DESCKIND_MAX=DESCKIND_IMPLICITAPPOBJ+1 +} DESCKIND; + +typedef union tagBINDPTR { + LPFUNCDESC lpfuncdesc; + LPVARDESC lpvardesc; + LPTYPECOMP lptcomp; +} BINDPTR,*LPBINDPTR; + +#undef INTERFACE +#define INTERFACE IDispatch +DECLARE_INTERFACE_(IDispatch,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE; + STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE; + STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE; + STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE; +}; + +#undef INTERFACE +#define INTERFACE IEnumVARIANT +DECLARE_INTERFACE_(IEnumVARIANT,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(Next)(THIS_ ULONG,VARIANT*,ULONG*) PURE; + STDMETHOD(Skip)(THIS_ ULONG) PURE; + STDMETHOD(Reset)(THIS) PURE; + STDMETHOD(Clone)(THIS_ IEnumVARIANT**) PURE; +}; + +#undef INTERFACE +#define INTERFACE ITypeComp +DECLARE_INTERFACE_(ITypeComp,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(Bind)(THIS_ LPOLESTR,ULONG,WORD,LPTYPEINFO*,DESCKIND*,LPBINDPTR) PURE; + STDMETHOD(BindType)(THIS_ LPOLESTR,ULONG,LPTYPEINFO*,LPTYPECOMP*) PURE; +}; + +#undef INTERFACE +#define INTERFACE ITypeInfo +DECLARE_INTERFACE_(ITypeInfo,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetTypeAttr)(THIS_ LPTYPEATTR*) PURE; + STDMETHOD(GetTypeComp)(THIS_ LPTYPECOMP*) PURE; + STDMETHOD(GetFuncDesc)(THIS_ UINT,LPFUNCDESC*) PURE; + STDMETHOD(GetVarDesc)(THIS_ UINT,LPVARDESC*) PURE; + STDMETHOD(GetNames)(THIS_ MEMBERID,BSTR*,UINT,UINT*) PURE; + STDMETHOD(GetRefTypeOfImplType)(THIS_ UINT,HREFTYPE*) PURE; + STDMETHOD(GetImplTypeFlags)(THIS_ UINT,INT*) PURE; + STDMETHOD(GetIDsOfNames)(THIS_ LPOLESTR*,UINT,MEMBERID*) PURE; + STDMETHOD(Invoke)(THIS_ PVOID,MEMBERID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE; + STDMETHOD(GetDocumentation)(THIS_ MEMBERID,BSTR*,BSTR*,DWORD*,BSTR*) PURE; + STDMETHOD(GetDllEntry)(THIS_ MEMBERID,INVOKEKIND,BSTR*,BSTR*,WORD*) PURE; + STDMETHOD(GetRefTypeInfo)(THIS_ HREFTYPE,LPTYPEINFO*) PURE; + STDMETHOD(AddressOfMember)(THIS_ MEMBERID,INVOKEKIND,PVOID*) PURE; + STDMETHOD(CreateInstance)(THIS_ LPUNKNOWN,REFIID,PVOID*) PURE; + STDMETHOD(GetMops)(THIS_ MEMBERID,BSTR*) PURE; + STDMETHOD(GetContainingTypeLib)(THIS_ LPTYPELIB*,UINT*) PURE; + STDMETHOD_(void,ReleaseTypeAttr)(THIS_ LPTYPEATTR) PURE; + STDMETHOD_(void,ReleaseFuncDesc)(THIS_ LPFUNCDESC) PURE; + STDMETHOD_(void,ReleaseVarDesc)(THIS_ LPVARDESC) PURE; +}; + +#undef INTERFACE +#define INTERFACE ITypeLib +DECLARE_INTERFACE_(ITypeLib,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD_(UINT,GetTypeInfoCount)(THIS) PURE; + STDMETHOD(GetTypeInfo)(THIS_ UINT,ITypeInfo**) PURE; + STDMETHOD(GetTypeInfoType)(THIS_ UINT,TYPEKIND*) PURE; + STDMETHOD(GetTypeInfoOfGuid)(THIS_ REFGUID,ITypeInfo**) PURE; + STDMETHOD(GetLibAttr)(THIS_ TLIBATTR**) PURE; + STDMETHOD(GetTypeComp)(THIS_ ITypeComp*) PURE; + STDMETHOD(GetDocumentation)(THIS_ INT,BSTR*,BSTR*,DWORD*,BSTR*) PURE; + STDMETHOD(IsName)(THIS_ LPOLESTR,ULONG,BOOL*) PURE; + STDMETHOD(FindName)(THIS_ LPOLESTR,ULONG,ITypeInfo**,MEMBERID*,USHORT*) PURE; + STDMETHOD_(void,ReleaseTLibAttr)(THIS_ TLIBATTR*) PURE; +}; + +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/objbase.h b/winsup/w32api/include/objbase.h new file mode 100644 index 000000000..5e83ad5ae --- /dev/null +++ b/winsup/w32api/include/objbase.h @@ -0,0 +1,151 @@ +#ifndef _OBJBASE_H +#define _OBJBASE_H +#include <rpc.h> +#include <rpcndr.h> +#include <stdlib.h> +#pragma pack(push,8) +#include <basetyps.h> + +#define WINOLEAPI STDAPI +#define WINOLEAPI_(type) STDAPI_(type) +#define FARSTRUCT +#define HUGEP +#define LISet32(li,v) ((li).HighPart=(v)<0?-1:0,(li).LowPart=(v)) +#define ULISet32(li,v) ((li).HighPart=0,(li).LowPart=(v)) +#define CLSCTX_ALL (CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER|CLSCTX_LOCAL_SERVER) +#define CLSCTX_INPROC (CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER) +#define CLSCTX_SERVER (CLSCTX_INPROC_SERVER|CLSCTX_LOCAL_SERVER|CLSCTX_REMOTE_SERVER) +#define MARSHALINTERFACE_MIN 500 +#define CWCSTORAGENAME 32 +#define STGM_DIRECT 0 +#define STGM_TRANSACTED 0x10000L +#define STGM_SIMPLE 0x8000000L +#define STGM_READ 0 +#define STGM_WRITE 1 +#define STGM_READWRITE 2 +#define STGM_SHARE_DENY_NONE 0x40 +#define STGM_SHARE_DENY_READ 0x30 +#define STGM_SHARE_DENY_WRITE 0x20 +#define STGM_SHARE_EXCLUSIVE 0x10 +#define STGM_PRIORITY 0x40000L +#define STGM_DELETEONRELEASE 0x4000000 +#define STGM_NOSCRATCH 0x100000 +#define STGM_CREATE 0x1000 +#define STGM_CONVERT 0x20000 +#define STGM_FAILIFTHERE 0 +#define CWCSTORAGENAME 32 +#define ASYNC_MODE_COMPATIBILITY 1 +#define ASYNC_MODE_DEFAULT 0 +#define STGTY_REPEAT 256 +#define STG_TOEND 0xFFFFFFFF +#define STG_LAYOUT_SEQUENTIAL 0 +#define STG_LAYOUT_INTERLEAVED 1 +typedef enum tagREGCLS { + REGCLS_SINGLEUSE = 0, + REGCLS_MULTIPLEUSE = 1, + REGCLS_MULTI_SEPARATE = 2 +} REGCLS; +#include <wtypes.h> +#include <unknwn.h> +#include <objidl.h> + +#ifdef __cplusplus +inline BOOL IsEqualGUID(REFGUID rguid1, REFGUID rguid2) + { return !memcmp(&rguid1, &rguid2, sizeof(GUID)); } +inline BOOL operator==(const GUID& guidOne, const GUID& guidOther) + { return !memcmp(&guidOne,&guidOther,sizeof(GUID)); } +inline BOOL operator!=(const GUID& g1, const GUID& g2) + { return !(g1 == g2); } +#else +#define IsEqualGUID(rguid1, rguid2) (!memcmp(rguid1, rguid2, sizeof(GUID))) +#endif +#define IsEqualIID(id1,id2) IsEqualGUID(id1,id2) +#define IsEqualCLSID(id1,id2) IsEqualGUID(id1,id2) +#include <cguid.h> + +typedef enum tagCOINIT { + COINIT_APARTMENTTHREADED = 0x2, + COINIT_MULTITHREADED = 0x0, + COINIT_DISABLE_OLE1DDE = 0x4, + COINIT_SPEED_OVER_MEMORY = 0x8, +} COINIT; + +WINOLEAPI_(DWORD) CoBuildVersion(void); +WINOLEAPI CoInitialize(PVOID); +WINOLEAPI_(void) CoUninitialize(void); +WINOLEAPI CoGetMalloc(DWORD,LPMALLOC*); +WINOLEAPI_(DWORD) CoGetCurrentProcess(void); +WINOLEAPI CoRegisterMallocSpy(LPMALLOCSPY); +WINOLEAPI CoRevokeMallocSpy(void); +WINOLEAPI CoCreateStandardMalloc(DWORD,IMalloc**); +#if DBG == 1 +WINOLEAPI_(ULONG) DebugCoGetRpcFault(void); +WINOLEAPI_(void) DebugCoSetRpcFault(ULONG); +#endif +WINOLEAPI CoGetClassObject(REFCLSID,DWORD,PVOID,REFIID,PVOID*); +WINOLEAPI CoRegisterClassObject(REFCLSID,LPUNKNOWN,DWORD,DWORD,PDWORD); +WINOLEAPI CoRevokeClassObject(DWORD); +WINOLEAPI CoGetMarshalSizeMax(ULONG*,REFIID,LPUNKNOWN,DWORD,PVOID,DWORD); +WINOLEAPI CoMarshalInterface(LPSTREAM,REFIID,LPUNKNOWN,DWORD,PVOID,DWORD); +WINOLEAPI CoUnmarshalInterface(LPSTREAM,REFIID,PVOID*); +WINOLEAPI CoMarshalHresult(LPSTREAM,HRESULT); +WINOLEAPI CoUnmarshalHresult(LPSTREAM,HRESULT*); +WINOLEAPI CoReleaseMarshalData(LPSTREAM); +WINOLEAPI CoDisconnectObject(LPUNKNOWN,DWORD); +WINOLEAPI CoLockObjectExternal(LPUNKNOWN,BOOL,BOOL); +WINOLEAPI CoGetStandardMarshal(REFIID,LPUNKNOWN,DWORD,PVOID,DWORD,LPMARSHAL*); +WINOLEAPI_(BOOL) CoIsHandlerConnected(LPUNKNOWN); +WINOLEAPI_(BOOL) CoHasStrongExternalConnections(LPUNKNOWN); +WINOLEAPI CoMarshalInterThreadInterfaceInStream(REFIID,LPUNKNOWN,LPSTREAM*); +WINOLEAPI CoGetInterfaceAndReleaseStream(LPSTREAM,REFIID,PVOID*); +WINOLEAPI CoCreateFreeThreadedMarshaler(LPUNKNOWN,LPUNKNOWN*); +WINOLEAPI_(HINSTANCE) CoLoadLibrary(LPOLESTR,BOOL); +WINOLEAPI_(void) CoFreeLibrary(HINSTANCE); +WINOLEAPI_(void) CoFreeAllLibraries(void); +WINOLEAPI_(void) CoFreeUnusedLibraries(void); +WINOLEAPI CoCreateInstance(REFCLSID,LPUNKNOWN,DWORD,REFIID,PVOID*); +WINOLEAPI StringFromCLSID(REFCLSID,LPOLESTR*); +WINOLEAPI CLSIDFromString(LPOLESTR,LPCLSID); +WINOLEAPI StringFromIID(REFIID,LPOLESTR*); +WINOLEAPI IIDFromString(LPOLESTR,LPIID); +WINOLEAPI_(BOOL) CoIsOle1Class(REFCLSID); +WINOLEAPI ProgIDFromCLSID(REFCLSID,LPOLESTR*); +WINOLEAPI CLSIDFromProgID(LPCOLESTR,LPCLSID); +WINOLEAPI_(int) StringFromGUID2(REFGUID,LPOLESTR,int); +WINOLEAPI CoCreateGuid(GUID*); +WINOLEAPI_(BOOL) CoFileTimeToDosDateTime(FILETIME*,LPWORD,LPWORD); +WINOLEAPI_(BOOL) CoDosDateTimeToFileTime(WORD,WORD,FILETIME*); +WINOLEAPI CoFileTimeNow(FILETIME*); +WINOLEAPI CoRegisterMessageFilter(LPMESSAGEFILTER,LPMESSAGEFILTER*); +WINOLEAPI CoGetTreatAsClass(REFCLSID,LPCLSID); +WINOLEAPI CoTreatAsClass(REFCLSID,REFCLSID); +typedef HRESULT (STDAPICALLTYPE *LPFNGETCLASSOBJECT)(REFCLSID,REFIID,PVOID*); +typedef HRESULT (STDAPICALLTYPE *LPFNCANUNLOADNOW)(void); +STDAPI DllGetClassObject(REFCLSID,REFIID,PVOID*); +STDAPI DllCanUnloadNow(void); +WINOLEAPI_(PVOID) CoTaskMemAlloc(ULONG); +WINOLEAPI_(PVOID) CoTaskMemRealloc(PVOID,ULONG); +WINOLEAPI_(void) CoTaskMemFree(PVOID); +WINOLEAPI CreateDataAdviseHolder(LPDATAADVISEHOLDER*); +WINOLEAPI CreateDataCache(LPUNKNOWN,REFCLSID,REFIID,PVOID*); +WINOLEAPI StgCreateDocfile(const OLECHAR*,DWORD,DWORD,IStorage**); +WINOLEAPI StgCreateDocfileOnILockBytes(ILockBytes*,DWORD,DWORD,IStorage**); +WINOLEAPI StgOpenStorage(const OLECHAR*,IStorage*,DWORD,SNB,DWORD,IStorage**); +WINOLEAPI StgOpenStorageOnILockBytes(ILockBytes*,IStorage*,DWORD,SNB,DWORD,IStorage**); +WINOLEAPI StgIsStorageFile(const OLECHAR*); +WINOLEAPI StgIsStorageILockBytes(ILockBytes*); +WINOLEAPI StgSetTimes(OLECHAR const*,FILETIME const*,FILETIME const*,FILETIME const*); +WINOLEAPI BindMoniker(LPMONIKER,DWORD,REFIID,PVOID*); +WINOLEAPI MkParseDisplayName(LPBC,LPCOLESTR,ULONG*,LPMONIKER*); +WINOLEAPI MonikerRelativePathTo(LPMONIKER,LPMONIKER,LPMONIKER*,BOOL); +WINOLEAPI MonikerCommonPrefixWith(LPMONIKER,LPMONIKER,LPMONIKER*); +WINOLEAPI CreateBindCtx(DWORD,LPBC*); +WINOLEAPI CreateGenericComposite(LPMONIKER,LPMONIKER,LPMONIKER*); +WINOLEAPI GetClassFile (LPCOLESTR,CLSID*); +WINOLEAPI CreateFileMoniker(LPCOLESTR,LPMONIKER*); +WINOLEAPI CreateItemMoniker(LPCOLESTR,LPCOLESTR,LPMONIKER*); +WINOLEAPI CreateAntiMoniker(LPMONIKER*); +WINOLEAPI CreatePointerMoniker(LPUNKNOWN,LPMONIKER*); +WINOLEAPI GetRunningObjectTable(DWORD,LPRUNNINGOBJECTTABLE*); +#pragma pack(pop) +#endif diff --git a/winsup/w32api/include/objfwd.h b/winsup/w32api/include/objfwd.h new file mode 100644 index 000000000..ce567b6d9 --- /dev/null +++ b/winsup/w32api/include/objfwd.h @@ -0,0 +1,51 @@ +#ifndef _OBJFWD_H +#define _OBJFWD_H +#ifdef __cplusplus +extern "C" { +#endif +typedef interface IMoniker *LPMONIKER; +typedef interface IStream *LPSTREAM; +typedef interface IMarshal *LPMARSHAL; +typedef interface IMalloc *LPMALLOC; +typedef interface IMallocSpy *LPMALLOCSPY; +typedef interface IMessageFilter *LPMESSAGEFILTER; +typedef interface IPersist *LPPERSIST; +typedef interface IPersistStream *LPPERSISTSTREAM; +typedef interface IRunningObjectTable *LPRUNNINGOBJECTTABLE; +typedef interface IBindCtx *LPBINDCTX,*LPBC; +typedef interface IAdviseSink *LPADVISESINK; +typedef interface IAdviseSink2 *LPADVISESINK2; +typedef interface IDataObject *LPDATAOBJECT; +typedef interface IDataAdviseHolder *LPDATAADVISEHOLDER; +typedef interface IEnumMoniker *LPENUMMONIKER; +typedef interface IEnumFORMATETC *LPENUMFORMATETC; +typedef interface IEnumSTATDATA *LPENUMSTATDATA; +typedef interface IEnumSTATSTG *LPENUMSTATSTG; +typedef interface IEnumSTATPROPSTG LPENUMSTATPROPSTG; +typedef interface IEnumString *LPENUMSTRING; +typedef interface IEnumUnknown *LPENUMUNKNOWN; +typedef interface IStorage *LPSTORAGE; +typedef interface IPersistStorage *LPPERSISTSTORAGE; +typedef interface ILockBytes *LPLOCKBYTES; +typedef interface IStdMarshalInfo *LPSTDMARSHALINFO; +typedef interface IExternalConnection *LPEXTERNALCONNECTION; +typedef interface IRunnableObject *LPRUNNABLEOBJECT; +typedef interface IROTData *LPROTDATA; +typedef interface IPersistFile *LPPERSISTFILE; +typedef interface IRootStorage *LPROOTSTORAGE; +typedef interface IRpcChannelBuffer *LPRPCCHANNELBUFFER; +typedef interface IRpcProxyBuffer *LPRPCPROXYBUFFER; +typedef interface IRpcStubBuffer *LPRPCSTUBBUFFER; +typedef interface IPropertyStorage *LPPROPERTYSTORAGE; +typedef interface IEnumSTATPROPSETSTG *LPENUMSTATPROPSETSTG; +typedef interface IPropertySetStorage *LPPROPERTYSETSTORAGE; +typedef interface IClientSecurity *LPCLIENTSECURITY; +typedef interface IServerSecurity *LPSERVERSECURITY; +typedef interface IClassActivator *LPCLASSACTIVATOR; +typedef interface IFillLockBytes *LPFILLLOCKBYTES; +typedef interface IProgressNotify *LPPROGRESSNOTIFY; +typedef interface ILayoutStorage *LPLAYOUTSTORAGE; +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/objidl.h b/winsup/w32api/include/objidl.h new file mode 100644 index 000000000..4c8eb07fc --- /dev/null +++ b/winsup/w32api/include/objidl.h @@ -0,0 +1,1660 @@ +#ifndef _OBJIDL_H +#define _OBJIDL_H + +#include <objfwd.h> + +typedef struct tagSTATSTG { + LPOLESTR pwcsName; + DWORD type; + ULARGE_INTEGER cbSize; + FILETIME mtime; + FILETIME ctime; + FILETIME atime; + DWORD grfMode; + DWORD grfLocksSupported; + CLSID clsid; + DWORD grfStateBits; + DWORD reserved; +} STATSTG; +typedef enum tagSTGTY { + STGTY_STORAGE=1, + STGTY_STREAM, + STGTY_LOCKBYTES, + STGTY_PROPERTY +} STGTY; +typedef enum tagSTREAM_SEEK { + STREAM_SEEK_SET, + STREAM_SEEK_CUR, + STREAM_SEEK_END +} STREAM_SEEK; +typedef struct tagINTERFACEINFO { + LPUNKNOWN pUnk; + IID iid; + WORD wMethod; +} INTERFACEINFO,*LPINTERFACEINFO; +typedef enum tagCALLTYPE { + CALLTYPE_TOPLEVEL=1, + CALLTYPE_NESTED, + CALLTYPE_ASYNC, + CALLTYPE_TOPLEVEL_CALLPENDING, + CALLTYPE_ASYNC_CALLPENDING +} CALLTYPE; +typedef enum tagPENDINGTYPE { + PENDINGTYPE_TOPLEVEL=1, + PENDINGTYPE_NESTED +} PENDINGTYPE; +typedef enum tagPENDINGMSG { + PENDINGMSG_CANCELCALL=0, + PENDINGMSG_WAITNOPROCESS, + PENDINGMSG_WAITDEFPROCESS +} PENDINGMSG; +typedef OLECHAR **SNB; +typedef enum tagDATADIR { + DATADIR_GET=1, + DATADIR_SET +} DATADIR; +typedef WORD CLIPFORMAT,*LPCLIPFORMAT; +typedef struct tagDVTARGETDEVICE { + DWORD tdSize; + WORD tdDriverNameOffset; + WORD tdDeviceNameOffset; + WORD tdPortNameOffset; + WORD tdExtDevmodeOffset; + BYTE tdData[1]; +} DVTARGETDEVICE; +typedef struct tagFORMATETC { + CLIPFORMAT cfFormat; + DVTARGETDEVICE*ptd; + DWORD dwAspect; + LONG lindex; + DWORD tymed; +} FORMATETC,*LPFORMATETC; +typedef struct tagRemSTGMEDIUM { + DWORD tymed; + DWORD dwHandleType; + ULONG pData; + unsigned long pUnkForRelease; + unsigned long cbData; + BYTE data[1]; +} RemSTGMEDIUM; +typedef struct tagHLITEM { + ULONG uHLID; + LPWSTR pwzFriendlyName; +} HLITEM; +typedef struct tagSTATDATA { + FORMATETC formatetc; + DWORD grfAdvf; + struct IAdviseSink *pAdvSink; + DWORD dwConnection; +} STATDATA; +typedef struct tagSTATPROPSETSTG { + FMTID fmtid; + CLSID clsid; + DWORD grfFlags; + FILETIME mtime; + FILETIME ctime; + FILETIME atime; +} STATPROPSETSTG; +typedef enum tagEXTCONN { + EXTCONN_STRONG=1, + EXTCONN_WEAK=2, + EXTCONN_CALLABLE=4 +} EXTCONN; +typedef struct tagMULTI_QI { + const IID *pIID; + IUnknown *pItf; + HRESULT hr; +} MULTI_QI; +typedef struct _AUTH_IDENTITY { + USHORT *User; + ULONG UserLength; + USHORT *Domain; + ULONG DomainLength; + USHORT *Password; + ULONG PasswordLength; + ULONG Flags; +} AUTH_IDENTITY; +typedef struct _COAUTHINFO{ + DWORD dwAuthnSvc; + DWORD dwAuthzSvc; + LPWSTR pwszServerPrincName; + DWORD dwAuthnLevel; + DWORD dwImpersonationLevel; + AUTH_IDENTITY *pAuthIdentityData; + DWORD dwCapabilities; +} COAUTHINFO; +typedef struct _COSERVERINFO { + DWORD dwReserved1; + LPWSTR pwszName; + COAUTHINFO *pAuthInfo; + DWORD dwReserved2; +} COSERVERINFO; +typedef struct tagBIND_OPTS { + DWORD cbStruct; + DWORD grfFlags; + DWORD grfMode; + DWORD dwTickCountDeadline; +} BIND_OPTS,*LPBIND_OPTS; +typedef struct tagBIND_OPTS2 { + DWORD cbStruct; + DWORD grfFlags; + DWORD grfMode; + DWORD dwTickCountDeadline; + DWORD dwTrackFlags; + DWORD dwClassContext; + LCID locale; + COSERVERINFO *pServerInfo; +} BIND_OPTS2,*LPBIND_OPTS2; +typedef enum tagBIND_FLAGS { + BIND_MAYBOTHERUSER=1, + BIND_JUSTTESTEXISTENCE +} BIND_FLAGS; +typedef struct tagSTGMEDIUM { + DWORD tymed; + union { + HBITMAP hBitmap; + PVOID hMetaFilePict; + HENHMETAFILE hEnhMetaFile; + HGLOBAL hGlobal; + LPCSTR lpszFileName; + LPSTREAM pstm; + LPSTORAGE pstg; + } DUMMYUNIONNAME; + LPUNKNOWN pUnkForRelease; +} STGMEDIUM,*LPSTGMEDIUM; +typedef enum tagLOCKTYPE { + LOCK_WRITE=1, + LOCK_EXCLUSIVE=2, + LOCK_ONLYONCE=4 +} LOCKTYPE; +typedef unsigned long RPCOLEDATAREP; +typedef struct tagRPCOLEMESSAGE { + PVOID reserved1; + RPCOLEDATAREP dataRepresentation; + PVOID Buffer; + ULONG cbBuffer; + ULONG iMethod; + PVOID reserved2[5]; + ULONG rpcFlags; +} RPCOLEMESSAGE; +typedef enum tagMKSYS { + MKSYS_NONE, + MKSYS_GENERICCOMPOSITE, + MKSYS_FILEMONIKER, + MKSYS_ANTIMONIKER, + MKSYS_ITEMMONIKER, + MKSYS_POINTERMONIKER +} MKSYS; +typedef enum tagMKREDUCE { + MKRREDUCE_ALL, + MKRREDUCE_ONE=196608, + MKRREDUCE_TOUSER=131072, + MKRREDUCE_THROUGHUSER=65536 +} MKRREDUCE; +typedef struct tagRemSNB { + unsigned long ulCntStr; + unsigned long ulCntChar; + OLECHAR rgString[1]; +} RemSNB; +typedef enum tagADVF { + ADVF_NODATA=1,ADVF_PRIMEFIRST=2,ADVF_ONLYONCE=4,ADVF_DATAONSTOP=64, + ADVFCACHE_NOHANDLER=8,ADVFCACHE_FORCEBUILTIN=16,ADVFCACHE_ONSAVE=32 +} ADVF; +typedef enum tagTYMED { + TYMED_HGLOBAL=1,TYMED_FILE=2,TYMED_ISTREAM=4,TYMED_ISTORAGE=8, + TYMED_GDI=16,TYMED_MFPICT=32,TYMED_ENHMF=64,TYMED_NULL=0 +} TYMED; +typedef enum tagSERVERCALL { + SERVERCALL_ISHANDLED,SERVERCALL_REJECTED,SERVERCALL_RETRYLATER +} SERVERCALL; +typedef struct tagCAUB { + ULONG cElems; + unsigned char *pElems; +}CAUB; +typedef struct tagCAI { + ULONG cElems; + short *pElems; +}CAI; +typedef struct tagCAUI { + ULONG cElems; + USHORT *pElems; +}CAUI; +typedef struct tagCAL { + ULONG cElems; + long *pElems; +}CAL; +typedef struct tagCAUL { + ULONG cElems; + ULONG *pElems; +}CAUL; +typedef struct tagCAFLT { + ULONG cElems; + float *pElems; +}CAFLT; +typedef struct tagCADBL { + ULONG cElems; + double *pElems; +}CADBL; +typedef struct tagCACY { + ULONG cElems; + CY *pElems; +}CACY; +typedef struct tagCADATE { + ULONG cElems; + DATE *pElems; +}CADATE; +typedef struct tagCABSTR { + ULONG cElems; + BSTR *pElems; +}CABSTR; +typedef struct tagCABSTRBLOB { + ULONG cElems; + BSTRBLOB *pElems; +}CABSTRBLOB; +typedef struct tagCABOOL { + ULONG cElems; + VARIANT_BOOL *pElems; +}CABOOL; +typedef struct tagCASCODE { + ULONG cElems; + SCODE *pElems; +}CASCODE; +typedef struct tagCAH { + ULONG cElems; + LARGE_INTEGER *pElems; +}CAH; +typedef struct tagCAUH { + ULONG cElems; + ULARGE_INTEGER *pElems; +}CAUH; +typedef struct tagCALPSTR { + ULONG cElems; + LPSTR *pElems; +}CALPSTR; +typedef struct tagCALPWSTR { + ULONG cElems; + LPWSTR *pElems; +}CALPWSTR; +typedef struct tagCAFILETIME { + ULONG cElems; + FILETIME *pElems; +}CAFILETIME; +typedef struct tagCACLIPDATA { + ULONG cElems; + CLIPDATA *pElems; +}CACLIPDATA; +typedef struct tagCACLSID { + ULONG cElems; + CLSID *pElems; +}CACLSID; +typedef struct tagPROPVARIANT *LPPROPVARIANT; +typedef struct tagCAPROPVARIANT { + ULONG cElems; + LPPROPVARIANT pElems; +}CAPROPVARIANT; +typedef struct tagPROPVARIANT { + VARTYPE vt; + WORD wReserved1; + WORD wReserved2; + WORD wReserved3; + union { + UCHAR bVal; + short iVal; + USHORT uiVal; + VARIANT_BOOL boolVal; +#ifndef __cplusplus + _VARIANT_BOOL bool; +#endif + long lVal; + ULONG ulVal; + float fltVal; + SCODE scode; + LARGE_INTEGER hVal; + ULARGE_INTEGER uhVal; + double dblVal; + CY cyVal; + DATE date; + FILETIME filetime; + CLSID *puuid; + BLOB blob; + CLIPDATA *pclipdata; + LPSTREAM pStream; + LPSTORAGE pStorage; + BSTR bstrVal; + BSTRBLOB bstrblobVal; + LPSTR pszVal; + LPWSTR pwszVal; + CAUB caub; + CAI cai; + CAUI caui; + CABOOL cabool; + CAL cal; + CAUL caul; + CAFLT caflt; + CASCODE cascode; + CAH cah; + CAUH cauh; + CADBL cadbl; + CACY cacy; + CADATE cadate; + CAFILETIME cafiletime; + CACLSID cauuid; + CACLIPDATA caclipdata; + CABSTR cabstr; + CABSTRBLOB cabstrblob; + CALPSTR calpstr; + CALPWSTR calpwstr; + CAPROPVARIANT capropvar; + } DUMMYUNIONNAME; +} PROPVARIANT; +typedef struct tagPROPSPEC { + ULONG ulKind; + union { + PROPID propid; + LPOLESTR lpwstr; + } DUMMYUNIONNAME; +}PROPSPEC; +typedef struct tagSTATPROPSTG { + LPOLESTR lpwstrName; + PROPID propid; + VARTYPE vt; +} STATPROPSTG; +typedef enum PROPSETFLAG { + PROPSETFLAG_DEFAULT,PROPSETFLAG_NONSIMPLE,PROPSETFLAG_ANSI, + PROPSETFLAG_UNBUFFERED=4 +} PROPSETFLAG; +typedef struct tagSTORAGELAYOUT { + DWORD LayoutType; + OLECHAR* pwcsElementName; + LARGE_INTEGER cOffset; + LARGE_INTEGER cBytes; +} STORAGELAYOUT; +DECLARE_ENUMERATOR(FORMATETC); +DECLARE_ENUMERATOR(HLITEM); +DECLARE_ENUMERATOR(STATDATA); +DECLARE_ENUMERATOR(STATPROPSETSTG); +DECLARE_ENUMERATOR(STATPROPSTG); +DECLARE_ENUMERATOR(STATSTG); +DECLARE_ENUMERATOR_(IEnumString,LPOLESTR); +DECLARE_ENUMERATOR_(IEnumMoniker,interface IMoniker); +DECLARE_ENUMERATOR_(IEnumUnknown,IUnknown*); + +EXTERN_C const IID IID_ISequentialStream; +#undef INTERFACE +#define INTERFACE ISequentialStream +DECLARE_INTERFACE_(ISequentialStream,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(Read)(THIS_ void*,ULONG,ULONG*) PURE; + STDMETHOD(Write)(THIS_ void const*,ULONG,ULONG*) PURE; +}; + +EXTERN_C const IID IID_IStream; +#undef INTERFACE +#define INTERFACE IStream +DECLARE_INTERFACE_(IStream,ISequentialStream) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(Read)(THIS_ void*,ULONG,ULONG*) PURE; + STDMETHOD(Write)(THIS_ void const*,ULONG,ULONG*) PURE; + STDMETHOD(Seek)(THIS_ LARGE_INTEGER,DWORD,ULARGE_INTEGER*) PURE; + STDMETHOD(SetSize)(THIS_ ULARGE_INTEGER) PURE; + STDMETHOD(CopyTo)(THIS_ IStream*,ULARGE_INTEGER,ULARGE_INTEGER*,ULARGE_INTEGER*) PURE; + STDMETHOD(Commit)(THIS_ DWORD) PURE; + STDMETHOD(Revert)(THIS) PURE; + STDMETHOD(LockRegion)(THIS_ ULARGE_INTEGER,ULARGE_INTEGER,DWORD) PURE; + STDMETHOD(UnlockRegion)(THIS_ ULARGE_INTEGER,ULARGE_INTEGER,DWORD) PURE; + STDMETHOD(Stat)(THIS_ STATSTG*,DWORD) PURE; + STDMETHOD(Clone)(THIS_ LPSTREAM*) PURE; +}; + +EXTERN_C const IID IID_IMarshal; +#undef INTERFACE +#define INTERFACE IMarshal +DECLARE_INTERFACE_(IMarshal,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetUnmarshalClass) (THIS_ REFIID,DWORD,PVOID,DWORD,CLSID) PURE; + STDMETHOD(GetMarshalSizeMax) (THIS_ REFIID,DWORD,PVOID,DWORD,PDWORD) PURE; + STDMETHOD(MarshalInterface) (THIS_ REFIID,DWORD,DWORD) PURE; + STDMETHOD(UnmarshalInterface) (THIS_ IStream*,void**) PURE; + STDMETHOD(ReleaseMarshalData) (THIS_ IStream*) PURE; + STDMETHOD(DisconnectObject) (THIS_ DWORD) PURE; +}; + +EXTERN_C const IID IID_IStdMarshalInfo; +#undef INTERFACE +#define INTERFACE IStdMarshalInfo +DECLARE_INTERFACE_(IStdMarshalInfo,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetClassForHandler)(THIS_ DWORD,PVOID,CLSID*) PURE; +}; + +EXTERN_C const IID IID_IMalloc; +#undef INTERFACE +#define INTERFACE IMalloc +DECLARE_INTERFACE_(IMalloc,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD_(void*,Alloc)(THIS_ ULONG) PURE; + STDMETHOD_(void,ReAlloc)(THIS_ void*) PURE; + STDMETHOD_(void*,Free)(THIS_ void*) PURE; + STDMETHOD_(ULONG,GetSize)(THIS_ void*) PURE; + STDMETHOD_(int,DidAlloc)(THIS_ void*) PURE; + STDMETHOD_(void,HeapMinimize)(THIS) PURE; +}; + +EXTERN_C const IID IID_IMallocSpy; +#undef INTERFACE +#define INTERFACE IMallocSpy +DECLARE_INTERFACE_(IMallocSpy,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD_(ULONG,PreAlloc)(THIS_ ULONG) PURE; + STDMETHOD_(void*,PostAlloc)(THIS_ void*) PURE; + STDMETHOD_(void*,PreFree)(THIS_ void*,BOOL) PURE; + STDMETHOD_(void,PostFree)(THIS_ BOOL) PURE; + STDMETHOD_(ULONG,PreRealloc)(THIS_ void*,ULONG,void*) PURE; + STDMETHOD_(void*,PostRealloc)(THIS_ void*,BOOL) PURE; + STDMETHOD_(void*,PreGetSize)(THIS_ void*,BOOL) PURE; + STDMETHOD_(ULONG,PostGetSize)(THIS_ ULONG,BOOL) PURE; + STDMETHOD_(void*,PreDidAlloc)(THIS_ void*,BOOL) PURE; + STDMETHOD_(int,PostDidAlloc)(THIS_ void*,BOOL,int) PURE; + STDMETHOD_(void,PreHeapMinimize)(THIS) PURE; + STDMETHOD_(void,PostHeapMinimize)(THIS) PURE; +}; + +EXTERN_C const IID IID_IMessageFilter; +#undef INTERFACE +#define INTERFACE IMessageFilter +DECLARE_INTERFACE_(IMessageFilter,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD_(DWORD,HandleInComingCall)(THIS_ DWORD,HTASK,DWORD,LPINTERFACEINFO) PURE; + STDMETHOD_(DWORD,RetryRejectedCall)(THIS_ HTASK,DWORD,DWORD) PURE; + STDMETHOD_(DWORD,MessagePending)(THIS_ HTASK,DWORD,DWORD) PURE; +}; + +EXTERN_C const IID IID_IPersist; +#undef INTERFACE +#define INTERFACE IPersist +DECLARE_INTERFACE_(IPersist,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetClassID)(THIS_ LPCLSID) PURE; +}; + +EXTERN_C const IID IID_IPersistStream; +#undef INTERFACE +#define INTERFACE IPersistStream +DECLARE_INTERFACE_(IPersistStream,IPersist) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetClassID)(THIS_ CLSID*) PURE; + STDMETHOD(IsDirty)(THIS) PURE; + STDMETHOD(Load)(THIS_ IStream*) PURE; + STDMETHOD(Save)(THIS_ IStream*,BOOL) PURE; + STDMETHOD(GetSizeMax)(THIS_ PULARGE_INTEGER) PURE; +}; + +EXTERN_C const IID IID_IRunningObjectTable; +#undef INTERFACE +#define INTERFACE IRunningObjectTable +DECLARE_INTERFACE_(IRunningObjectTable,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(Register)(THIS_ LPUNKNOWN,LPMONIKER,PDWORD) PURE; + STDMETHOD(Revoke)(THIS_ DWORD) PURE; + STDMETHOD(IsRunning)(THIS_ LPMONIKER) PURE; + STDMETHOD(GetObject)(THIS_ LPMONIKER,LPUNKNOWN*) PURE; + STDMETHOD(NoteChangeTime)(THIS_ DWORD,LPFILETIME) PURE; + STDMETHOD(GetTimeOfLastChange)(THIS_ LPMONIKER,LPFILETIME) PURE; + STDMETHOD(EnumRunning)(THIS_ IEnumMoniker**) PURE; +}; + +EXTERN_C const IID IID_IBindCtx; +#undef INTERFACE +#define INTERFACE IBindCtx +DECLARE_INTERFACE_(IBindCtx,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(RegisterObjectBound)(THIS_ LPUNKNOWN) PURE; + STDMETHOD(RevokeObjectBound)(THIS_ LPUNKNOWN) PURE; + STDMETHOD(ReleaseBoundObjects)(THIS) PURE; + STDMETHOD(SetBindOptions)(THIS_ LPBIND_OPTS) PURE; + STDMETHOD(GetBindOptions)(THIS_ LPBIND_OPTS) PURE; + STDMETHOD(GetRunningObjectTable)(THIS_ IRunningObjectTable**) PURE; + STDMETHOD(RegisterObjectParam)(THIS_ LPOLESTR,IUnknown*) PURE; + STDMETHOD(GetObjectParam)(THIS_ LPOLESTR,IUnknown**) PURE; + STDMETHOD(EnumObjectParam)(THIS_ IEnumString**) PURE; + STDMETHOD(RevokeObjectParam)(THIS_ LPOLESTR) PURE; +}; + +EXTERN_C const IID IID_IPersistStream; +#undef INTERFACE +#define INTERFACE IMoniker +DECLARE_INTERFACE_(IMoniker,IPersistStream) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetClassID)(THIS_ CLSID*) PURE; + STDMETHOD(IsDirty)(THIS) PURE; + STDMETHOD(Load)(THIS_ IStream*) PURE; + STDMETHOD(Save)(THIS_ IStream*,BOOL) PURE; + STDMETHOD(GetSizeMax)(THIS_ PULARGE_INTEGER) PURE; + STDMETHOD(BindToObject)(THIS_ IBindCtx*,IMoniker*,REFIID,PVOID*) PURE; + STDMETHOD(BindToStorage)(THIS_ IBindCtx*,IMoniker*,REFIID,PVOID*) PURE; + STDMETHOD(Reduce)(THIS_ IBindCtx*,DWORD,IMoniker**,IMoniker**) PURE; + STDMETHOD(ComposeWith)(THIS_ IMoniker*,BOOL,IMoniker**) PURE; + STDMETHOD(Enum)(THIS_ BOOL,IEnumMoniker**) PURE; + STDMETHOD(IsEqual)(THIS_ IMoniker*) PURE; + STDMETHOD(Hash)(THIS_ PDWORD) PURE; + STDMETHOD(IsRunning)(THIS_ IBindCtx*,IMoniker*,IMoniker*) PURE; + STDMETHOD(GetTimeOfLastChange)(THIS_ IBindCtx*,IMoniker*,LPFILETIME) PURE; + STDMETHOD(Inverse)(THIS_ IMoniker**) PURE; + STDMETHOD(CommonPrefixWith)(THIS_ IMoniker*,IMoniker**) PURE; + STDMETHOD(RelativePathTo)(THIS_ IMoniker*,IMoniker**) PURE; + STDMETHOD(GetDisplayName)(THIS_ IBindCtx*,IMoniker*,LPOLESTR*) PURE; + STDMETHOD(ParseDisplayName)(THIS_ IBindCtx*,IMoniker*,LPOLESTR,ULONG*,IMoniker**) PURE; + STDMETHOD(IsSystemMoniker)(THIS_ PDWORD) PURE; +}; + +EXTERN_C const IID IID_IPersistStorage; +#undef INTERFACE +#define INTERFACE IPersistStorage +DECLARE_INTERFACE_(IPersistStorage,IPersist) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetClassID)(THIS_ CLSID) PURE; + STDMETHOD(IsDirty)(THIS) PURE; + STDMETHOD(InitNew)(THIS_ LPSTORAGE) PURE; + STDMETHOD(Load)(THIS_ LPSTORAGE) PURE; + STDMETHOD(Save)(THIS_ LPSTORAGE,BOOL) PURE; + STDMETHOD(SaveCompleted)(THIS_ LPSTORAGE) PURE; + STDMETHOD(HandsOffStorage)(THIS) PURE; +}; + +EXTERN_C const IID IID_IPersistFile; +#undef INTERFACE +#define INTERFACE IPersistFile +DECLARE_INTERFACE_(IPersistFile,IPersist) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetClassID)(THIS_ CLSID) PURE; + STDMETHOD(IsDirty)(THIS) PURE; + STDMETHOD(Load)(THIS_ LPCOLESTR,DWORD) PURE; + STDMETHOD(Save)(THIS_ LPCOLESTR,BOOL) PURE; + STDMETHOD(SaveCompleted)(THIS_ LPCOLESTR) PURE; + STDMETHOD(GetCurFile)(THIS_ LPOLESTR*) PURE; +}; + +EXTERN_C const IID IID_IAdviseSink; +#undef INTERFACE +#define INTERFACE IAdviseSink +DECLARE_INTERFACE_(IAdviseSink,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD_(void,OnDataChange)(THIS_ FORMATETC*,STGMEDIUM*) PURE; + STDMETHOD_(void,OnViewChange)(THIS_ DWORD,LONG) PURE; + STDMETHOD_(void,OnRename)(THIS_ IMoniker*) PURE; + STDMETHOD_(void,OnSave)(THIS) PURE; + STDMETHOD_(void,OnClose)(THIS) PURE; +}; + +EXTERN_C const IID IID_IAdviseSink2; +#undef INTERFACE +#define INTERFACE IAdviseSink2 +DECLARE_INTERFACE_(IAdviseSink2,IAdviseSink) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD_(void,OnDataChange)(THIS_ FORMATETC*,STGMEDIUM*) PURE; + STDMETHOD_(void,OnViewChange)(THIS_ DWORD,LONG) PURE; + STDMETHOD_(void,OnRename)(THIS_ IMoniker*) PURE; + STDMETHOD_(void,OnSave)(THIS) PURE; + STDMETHOD_(void,OnClose)(THIS) PURE; + STDMETHOD_(void,OnLinkSrcChange)(THIS_ IMoniker*); +}; + +EXTERN_C const IID IID_IDataObject; +#undef INTERFACE +#define INTERFACE IDataObject +DECLARE_INTERFACE_(IDataObject,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetData)(THIS_ FORMATETC*,STGMEDIUM*) PURE; + STDMETHOD(GetDataHere)(THIS_ FORMATETC*,STGMEDIUM*) PURE; + STDMETHOD(QueryGetData)(THIS_ FORMATETC*) PURE; + STDMETHOD(GetCanonicalFormatEtc)(THIS_ FORMATETC*,FORMATETC*) PURE; + STDMETHOD(SetData)(THIS_ FORMATETC*,STGMEDIUM*,BOOL) PURE; + STDMETHOD(EnumFormatEtc)(THIS_ DWORD,IEnumFORMATETC**) PURE; + STDMETHOD(DAdvise)(THIS_ FORMATETC*,DWORD,IAdviseSink*,PDWORD) PURE; + STDMETHOD(DUnadvise)(THIS_ DWORD) PURE; + STDMETHOD(EnumDAdvise)(THIS_ IEnumSTATDATA**) PURE; +}; + +EXTERN_C const IID IID_IDataAdviseHolder; +#undef INTERFACE +#define INTERFACE IDataAdviseHolder +DECLARE_INTERFACE_(IDataAdviseHolder,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(Advise)(THIS_ IDataObject*,FORMATETC*,DWORD,IAdviseSink*,PDWORD) PURE; + STDMETHOD(Unadvise)(THIS_ DWORD) PURE; + STDMETHOD(EnumAdvise)(THIS_ IEnumSTATDATA**) PURE; + STDMETHOD(SendOnDataChange)(THIS_ IDataObject*,DWORD,DWORD) PURE; +}; + +EXTERN_C const IID IID_IStorage; +#undef INTERFACE +#define INTERFACE IStorage +DECLARE_INTERFACE_(IStorage,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(CreateStream)(THIS_ LPCWSTR,DWORD,DWORD,DWORD,IStream**) PURE; + STDMETHOD(OpenStream)(THIS_ LPCWSTR,PVOID,DWORD,DWORD,IStream**) PURE; + STDMETHOD(CreateStorage)(THIS_ LPCWSTR,DWORD,DWORD,DWORD,IStorage**) PURE; + STDMETHOD(OpenStorage)(THIS_ LPCWSTR,IStorage*,DWORD,SNB,DWORD,IStorage**) PURE; + STDMETHOD(CopyTo)(THIS_ DWORD,IID const*,SNB,IStorage*) PURE; + STDMETHOD(MoveElementTo)(THIS_ LPCWSTR,IStorage*,LPCWSTR,DWORD) PURE; + STDMETHOD(Commit)(THIS_ DWORD) PURE; + STDMETHOD(Revert)(THIS) PURE; + STDMETHOD(EnumElements)(THIS_ DWORD,PVOID,DWORD,IEnumSTATSTG**) PURE; + STDMETHOD(DestroyElement)(THIS_ LPCWSTR) PURE; + STDMETHOD(RenameElement)(THIS_ LPCWSTR,LPCWSTR) PURE; + STDMETHOD(SetElementTimes)(THIS_ LPCWSTR,FILETIME const*,FILETIME const*,FILETIME const*) PURE; + STDMETHOD(SetClass)(THIS_ REFCLSID) PURE; + STDMETHOD(SetStateBits)(THIS_ DWORD,DWORD) PURE; + STDMETHOD(Stat)(THIS_ STATSTG*,DWORD) PURE; +}; + +EXTERN_C const IID IID_IRootStorage; +#undef INTERFACE +#define INTERFACE IRootStorage +DECLARE_INTERFACE_(IRootStorage,IPersist) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(SwitchToFile)(THIS_ LPOLESTR) PURE; +}; + +EXTERN_C const IID IID_IRpcChannelBuffer; +#undef INTERFACE +#define INTERFACE IRpcChannelBuffer +DECLARE_INTERFACE_(IRpcChannelBuffer,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetBuffer)(THIS_ RPCOLEMESSAGE*,REFIID) PURE; + STDMETHOD(SendReceive)(THIS_ RPCOLEMESSAGE*,PULONG) PURE; + STDMETHOD(FreeBuffer)(THIS_ RPCOLEMESSAGE*) PURE; + STDMETHOD(GetDestCtx)(THIS_ PDWORD,PVOID*) PURE; + STDMETHOD(IsConnected)(THIS) PURE; +}; + +EXTERN_C const IID IID_IRpcProxyBuffer; +#undef INTERFACE +#define INTERFACE IRpcProxyBuffer +DECLARE_INTERFACE_(IRpcProxyBuffer,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(Connect)(THIS_ IRpcChannelBuffer*) PURE; + STDMETHOD_(void,Disconnect)(THIS) PURE; + +}; + +EXTERN_C const IID IID_IRpcStubBuffer; +#undef INTERFACE +#define INTERFACE IRpcStubBuffer +DECLARE_INTERFACE_(IRpcStubBuffer,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(Connect)(THIS_ LPUNKNOWN) PURE; + STDMETHOD_(void,Disconnect)(THIS) PURE; + STDMETHOD(Invoke)(THIS_ RPCOLEMESSAGE*,LPRPCSTUBBUFFER) PURE; + STDMETHOD_(LPRPCSTUBBUFFER,IsIIDSupported)(THIS_ REFIID) PURE; + STDMETHOD_(ULONG,CountRefs)(THIS) PURE; + STDMETHOD(DebugServerQueryInterface)(THIS_ PVOID*) PURE; + STDMETHOD(DebugServerRelease)(THIS_ PVOID) PURE; +}; + +EXTERN_C const IID IID_IPSFactoryBuffer; +#undef INTERFACE +#define INTERFACE IPSFactoryBuffer +DECLARE_INTERFACE_(IPSFactoryBuffer,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(CreateProxy)(THIS_ LPUNKNOWN,REFIID,LPRPCPROXYBUFFER*,PVOID*) PURE; + STDMETHOD(CreateStub)(THIS_ REFIID,LPUNKNOWN,LPRPCSTUBBUFFER*) PURE; +}; + +EXTERN_C const IID IID_ILockBytes; +#undef INTERFACE +#define INTERFACE ILockBytes +DECLARE_INTERFACE_(ILockBytes,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(ReadAt)(THIS_ ULARGE_INTEGER,PVOID,ULONG,ULONG*) PURE; + STDMETHOD(WriteAt)(THIS_ ULARGE_INTEGER,PCVOID,ULONG,ULONG*) PURE; + STDMETHOD(Flush)(THIS) PURE; + STDMETHOD(SetSize)(THIS_ ULARGE_INTEGER) PURE; + STDMETHOD(LockRegion)(THIS_ ULARGE_INTEGER,ULARGE_INTEGER,DWORD) PURE; + STDMETHOD(UnlockRegion)(THIS_ ULARGE_INTEGER,ULARGE_INTEGER,DWORD) PURE; + STDMETHOD(Stat)(THIS_ STATSTG*,DWORD) PURE; +}; + +EXTERN_C const IID IID_IExternalConnection; +#undef INTERFACE +#define INTERFACE IExternalConnection +DECLARE_INTERFACE_(IExternalConnection,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(AddConnection)(THIS_ DWORD,DWORD) PURE; + STDMETHOD(ReleaseConnection)(THIS_ DWORD,DWORD,BOOL) PURE; +}; + +EXTERN_C const IID IID_IRunnableObject; +#undef INTERFACE +#define INTERFACE IRunnableObject +DECLARE_INTERFACE_(IRunnableObject,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetRunningClass)(THIS_ LPCLSID) PURE; + STDMETHOD(Run)(THIS_ LPBC) PURE; + STDMETHOD_(BOOL,IsRunning)(THIS) PURE; + STDMETHOD(LockRunning)(THIS_ BOOL,BOOL) PURE; + STDMETHOD(SetContainedObject)(THIS_ BOOL) PURE; +}; + +EXTERN_C const IID IID_IROTData; +#undef INTERFACE +#define INTERFACE IROTData +DECLARE_INTERFACE_(IROTData,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetComparisonData)(THIS_ PVOID,ULONG,PULONG) PURE; +}; + +EXTERN_C const IID IID_IChannelHook; +#undef INTERFACE +#define INTERFACE IChannelHook +DECLARE_INTERFACE_(IChannelHook,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD_(void,ClientGetSize)(THIS_ REFGUID,REFIID,PULONG) PURE; + STDMETHOD_(void,ClientFillBuffer)(THIS_ REFGUID,REFIID,PULONG,PVOID) PURE; + STDMETHOD_(void,ClientNotify)(THIS_ REFGUID,REFIID,ULONG,PVOID,DWORD,HRESULT) PURE; + STDMETHOD_(void,ServerNotify)(THIS_ REFGUID,REFIID,ULONG,PVOID,DWORD) PURE; + STDMETHOD_(void,ServerGetSize)(THIS_ REFGUID,REFIID,HRESULT,PULONG) PURE; + STDMETHOD_(void,ServerFillBuffer)(THIS_ REFGUID,REFIID,PULONG,PVOID,HRESULT) PURE; +}; + +EXTERN_C const IID IID_IPropertyStorage; +#undef INTERFACE +#define INTERFACE IPropertyStorage +DECLARE_INTERFACE_(IPropertyStorage,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(ReadMultiple)(THIS_ ULONG,PROPSPEC const*,PROPVARIANT*) PURE; + STDMETHOD(WriteMultiple)(THIS_ ULONG,PROPSPEC const*,PROPVARIANT*,PROPID) PURE; + STDMETHOD(DeleteMultiple)(THIS_ ULONG,PROPSPEC const*) PURE; + STDMETHOD(ReadPropertyNames)(THIS_ ULONG,PROPID const*,LPWSTR*) PURE; + STDMETHOD(WritePropertyNames)(THIS_ ULONG,PROPID const*,LPWSTR const*) PURE; + STDMETHOD(DeletePropertyNames)(THIS_ ULONG,PROPID const*) PURE; + STDMETHOD(SetClass)(THIS_ REFCLSID) PURE; + STDMETHOD(Commit)(THIS_ DWORD) PURE; + STDMETHOD(Revert)(THIS) PURE; + STDMETHOD(Enum)(THIS_ IEnumSTATPROPSTG**) PURE; + STDMETHOD(Stat)(THIS_ STATPROPSTG*) PURE; + STDMETHOD(SetTimes)(THIS_ FILETIME const*,FILETIME const*,FILETIME const*) PURE; +}; + +EXTERN_C const IID IID_IPropertySetStorage; +#undef INTERFACE +#define INTERFACE IPropertySetStorage +DECLARE_INTERFACE_(IPropertySetStorage,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(Create)(THIS_ REFFMTID,CLSID*,DWORD,DWORD,LPPROPERTYSTORAGE*) PURE; + STDMETHOD(Open)(THIS_ REFFMTID,DWORD,LPPROPERTYSTORAGE*) PURE; + STDMETHOD(Delete)(THIS_ REFFMTID) PURE; + STDMETHOD(Enum)(THIS_ IEnumSTATPROPSETSTG**) PURE; +}; + +EXTERN_C const IID IID_IClientSecurity; +#undef INTERFACE +#define INTERFACE IClientSecurity +DECLARE_INTERFACE_(IClientSecurity,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(QueryBlanket)(THIS_ PVOID,PDWORD,PDWORD,OLECHAR**,PDWORD,PDWORD,RPC_AUTH_IDENTITY_HANDLE**,PDWORD*) PURE; + STDMETHOD(SetBlanket)(THIS_ PVOID,DWORD,DWORD,LPWSTR,DWORD,DWORD,RPC_AUTH_IDENTITY_HANDLE*,DWORD) PURE; + STDMETHOD(CopyProxy)(THIS_ LPUNKNOWN,LPUNKNOWN*) PURE; +}; + +EXTERN_C const IID IID_IServerSecurity; +#undef INTERFACE +#define INTERFACE IServerSecurity +DECLARE_INTERFACE_(IServerSecurity,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(QueryBlanket)(THIS_ PDWORD,PDWORD,OLECHAR**,PDWORD,PDWORD,RPC_AUTHZ_HANDLE*,PDWORD*) PURE; + STDMETHOD(ImpersonateClient)(THIS) PURE; + STDMETHOD(RevertToSelf)(THIS) PURE; + STDMETHOD(IsImpersonating)(THIS) PURE; +}; + +EXTERN_C const IID IID_IClassActivator; +#undef INTERFACE +#define INTERFACE IClassActivator +DECLARE_INTERFACE_(IClassActivator,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetClassObject)(THIS_ REFCLSID,DWORD,LCID,REFIID,PVOID*) PURE; +}; + +EXTERN_C const IID IID_IFillLockBytes; +#undef INTERFACE +#define INTERFACE IFillLockBytes +DECLARE_INTERFACE_(IFillLockBytes,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(FillAppend)(THIS_ void const*,ULONG,PULONG) PURE; + STDMETHOD(FillAt)(THIS_ ULARGE_INTEGER,void const*,ULONG,PULONG) PURE; + STDMETHOD(SetFillSize)(THIS_ ULARGE_INTEGER) PURE; + STDMETHOD(Terminate)(THIS_ BOOL) PURE; +}; + +EXTERN_C const IID IID_IProgressNotify; +#undef INTERFACE +#define INTERFACE IProgressNotify +DECLARE_INTERFACE_(IProgressNotify,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(OnProgress)(THIS_ DWORD,DWORD,BOOL,BOOL) PURE; +}; + +EXTERN_C const IID IID_ILayoutStorage; +#undef INTERFACE +#define INTERFACE ILayoutStorage +DECLARE_INTERFACE_(ILayoutStorage,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(LayoutScript)(THIS_ STORAGELAYOUT*,DWORD,DWORD) PURE; + STDMETHOD(BeginMonitor)(THIS) PURE; + STDMETHOD(EndMonitor)(THIS) PURE; + STDMETHOD(ReLayoutDocfile)(THIS_ OLECHAR*) PURE; +}; + +HRESULT STDMETHODCALLTYPE IMarshal_GetUnmarshalClass_Proxy(IMarshal*,REFIID,void*,DWORD,void*,DWORD,CLSID*); +void STDMETHODCALLTYPE IMarshal_GetUnmarshalClass_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IMarshal_GetMarshalSizeMax_Proxy(IMarshal*,REFIID,void*,DWORD,void*,DWORD,DWORD*); +void STDMETHODCALLTYPE IMarshal_GetMarshalSizeMax_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IMarshal_MarshalInterface_Proxy(IMarshal*,IStream*,REFIID,void*,DWORD,void*,DWORD); +void STDMETHODCALLTYPE IMarshal_MarshalInterface_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IMarshal_UnmarshalInterface_Proxy(IMarshal*,IStream*,REFIID,void**); +void STDMETHODCALLTYPE IMarshal_UnmarshalInterface_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IMarshal_ReleaseMarshalData_Proxy(IMarshal*,IStream*); +void STDMETHODCALLTYPE IMarshal_ReleaseMarshalData_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IMarshal_DisconnectObject_Proxy(IMarshal*,DWORD); +void STDMETHODCALLTYPE IMarshal_DisconnectObject_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +void* STDMETHODCALLTYPE IMalloc_Alloc_Proxy(IMalloc*,ULONG); +void STDMETHODCALLTYPE IMalloc_Alloc_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +void* STDMETHODCALLTYPE IMalloc_Realloc_Proxy(IMalloc*,void*,ULONG); +void STDMETHODCALLTYPE IMalloc_Realloc_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +void STDMETHODCALLTYPE IMalloc_Free_Proxy(IMalloc*,void*); +void STDMETHODCALLTYPE IMalloc_Free_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +ULONG STDMETHODCALLTYPE IMalloc_GetSize_Proxy(IMalloc*,void*); +void STDMETHODCALLTYPE IMalloc_GetSize_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +int STDMETHODCALLTYPE IMalloc_DidAlloc_Proxy(IMalloc*,void*); +void STDMETHODCALLTYPE IMalloc_DidAlloc_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +void STDMETHODCALLTYPE IMalloc_HeapMinimize_Proxy(IMalloc*); +void STDMETHODCALLTYPE IMalloc_HeapMinimize_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +ULONG STDMETHODCALLTYPE IMallocSpy_PreAlloc_Proxy(IMallocSpy*,ULONG cbRequest); +void STDMETHODCALLTYPE IMallocSpy_PreAlloc_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +void* STDMETHODCALLTYPE IMallocSpy_PostAlloc_Proxy(IMallocSpy*,void*); +void STDMETHODCALLTYPE IMallocSpy_PostAlloc_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +void* STDMETHODCALLTYPE IMallocSpy_PreFree_Proxy(IMallocSpy*,void*,BOOL); +void STDMETHODCALLTYPE IMallocSpy_PreFree_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +void STDMETHODCALLTYPE IMallocSpy_PostFree_Proxy(IMallocSpy*,BOOL); +void STDMETHODCALLTYPE IMallocSpy_PostFree_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +ULONG STDMETHODCALLTYPE IMallocSpy_PreRealloc_Proxy(IMallocSpy*,void*,ULONG,void**,BOOL); +void STDMETHODCALLTYPE IMallocSpy_PreRealloc_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +void* STDMETHODCALLTYPE IMallocSpy_PostRealloc_Proxy(IMallocSpy*,void*,BOOL); +void STDMETHODCALLTYPE IMallocSpy_PostRealloc_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +void* STDMETHODCALLTYPE IMallocSpy_PreGetSize_Proxy(IMallocSpy*,void*,BOOL); +void STDMETHODCALLTYPE IMallocSpy_PreGetSize_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +ULONG STDMETHODCALLTYPE IMallocSpy_PostGetSize_Proxy(IMallocSpy*,ULONG,BOOL); +void STDMETHODCALLTYPE IMallocSpy_PostGetSize_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +void* STDMETHODCALLTYPE IMallocSpy_PreDidAlloc_Proxy(IMallocSpy*,void*,BOOL); +void STDMETHODCALLTYPE IMallocSpy_PreDidAlloc_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +int STDMETHODCALLTYPE IMallocSpy_PostDidAlloc_Proxy(IMallocSpy*,void*,BOOL,int); +void STDMETHODCALLTYPE IMallocSpy_PostDidAlloc_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +void STDMETHODCALLTYPE IMallocSpy_PreHeapMinimize_Proxy(IMallocSpy* ); +void STDMETHODCALLTYPE IMallocSpy_PreHeapMinimize_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +void STDMETHODCALLTYPE IMallocSpy_PostHeapMinimize_Proxy(IMallocSpy*); +void STDMETHODCALLTYPE IMallocSpy_PostHeapMinimize_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IStdMarshalInfo_GetClassForHandler_Proxy(IStdMarshalInfo*,DWORD,void*,CLSID*); +void STDMETHODCALLTYPE IStdMarshalInfo_GetClassForHandler_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +DWORD STDMETHODCALLTYPE IExternalConnection_AddConnection_Proxy(IExternalConnection*,DWORD,DWORD); +void STDMETHODCALLTYPE IExternalConnection_AddConnection_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +DWORD STDMETHODCALLTYPE IExternalConnection_ReleaseConnection_Proxy(IExternalConnection*,DWORD,DWORD,BOOL); +void STDMETHODCALLTYPE IExternalConnection_ReleaseConnection_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IEnumUnknown_RemoteNext_Proxy(IEnumUnknown*,ULONG,IUnknown**,ULONG*); +void STDMETHODCALLTYPE IEnumUnknown_RemoteNext_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IEnumUnknown_Skip_Proxy(IEnumUnknown*,ULONG); +void STDMETHODCALLTYPE IEnumUnknown_Skip_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IEnumUnknown_Reset_Proxy(IEnumUnknown* ); +void STDMETHODCALLTYPE IEnumUnknown_Reset_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IEnumUnknown_Clone_Proxy(IEnumUnknown*,IEnumUnknown**); +void STDMETHODCALLTYPE IEnumUnknown_Clone_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IBindCtx_RegisterObjectBound_Proxy(IBindCtx*,IUnknown*punk); +void STDMETHODCALLTYPE IBindCtx_RegisterObjectBound_Stub(IRpcStubBuffer*,IRpcChannelBuffer*_pRpcChannelBuffer,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IBindCtx_RevokeObjectBound_Proxy(IBindCtx*,IUnknown*punk); +void STDMETHODCALLTYPE IBindCtx_RevokeObjectBound_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IBindCtx_ReleaseBoundObjects_Proxy(IBindCtx*); +void STDMETHODCALLTYPE IBindCtx_ReleaseBoundObjects_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IBindCtx_SetBindOptions_Proxy(IBindCtx*,BIND_OPTS*); +void STDMETHODCALLTYPE IBindCtx_SetBindOptions_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IBindCtx_GetBindOptions_Proxy(IBindCtx*,BIND_OPTS*pbindopts); +void STDMETHODCALLTYPE IBindCtx_GetBindOptions_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IBindCtx_GetRunningObjectTable_Proxy(IBindCtx*,IRunningObjectTable**); +void STDMETHODCALLTYPE IBindCtx_GetRunningObjectTable_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IBindCtx_RegisterObjectParam_Proxy(IBindCtx*,LPCSTR,IUnknown*); +void STDMETHODCALLTYPE IBindCtx_RegisterObjectParam_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IBindCtx_GetObjectParam_Proxy(IBindCtx*,LPCSTR,IUnknown**); +void STDMETHODCALLTYPE IBindCtx_GetObjectParam_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IBindCtx_EnumObjectParam_Proxy(IBindCtx*,IEnumString**); +void STDMETHODCALLTYPE IBindCtx_EnumObjectParam_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IBindCtx_RevokeObjectParam_Proxy(IBindCtx*,LPCSTR); +void STDMETHODCALLTYPE IBindCtx_RevokeObjectParam_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IEnumMoniker_RemoteNext_Proxy(IEnumMoniker*,ULONG,IMoniker**,ULONG*); +void STDMETHODCALLTYPE IEnumMoniker_RemoteNext_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IEnumMoniker_Skip_Proxy(IEnumMoniker*,ULONG); +void STDMETHODCALLTYPE IEnumMoniker_Skip_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IEnumMoniker_Reset_Proxy(IEnumMoniker*); +void STDMETHODCALLTYPE IEnumMoniker_Reset_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IEnumMoniker_Clone_Proxy(IEnumMoniker*,IEnumMoniker**); +void STDMETHODCALLTYPE IEnumMoniker_Clone_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IRunnableObject_GetRunningClass_Proxy(IRunnableObject*,LPCLSID); +void STDMETHODCALLTYPE IRunnableObject_GetRunningClass_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IRunnableObject_Run_Proxy(IRunnableObject*,LPBINDCTX); +void STDMETHODCALLTYPE IRunnableObject_Run_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +BOOL STDMETHODCALLTYPE IRunnableObject_IsRunning_Proxy(IRunnableObject*); +void STDMETHODCALLTYPE IRunnableObject_IsRunning_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IRunnableObject_LockRunning_Proxy(IRunnableObject*,BOOL,BOOL); +void STDMETHODCALLTYPE IRunnableObject_LockRunning_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IRunnableObject_SetContainedObject_Proxy(IRunnableObject*,BOOL); +void STDMETHODCALLTYPE IRunnableObject_SetContainedObject_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IRunningObjectTable_Register_Proxy(IRunningObjectTable*,DWORD,IUnknown*,IMoniker*,DWORD*); +void STDMETHODCALLTYPE IRunningObjectTable_Register_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IRunningObjectTable_Revoke_Proxy(IRunningObjectTable*,DWORD); +void STDMETHODCALLTYPE IRunningObjectTable_Revoke_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IRunningObjectTable_IsRunning_Proxy(IRunningObjectTable*,IMoniker*); +void STDMETHODCALLTYPE IRunningObjectTable_IsRunning_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IRunningObjectTable_GetObject_Proxy(IRunningObjectTable*,IMoniker*,IUnknown**); +void STDMETHODCALLTYPE IRunningObjectTable_GetObject_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IRunningObjectTable_NoteChangeTime_Proxy(IRunningObjectTable*,DWORD,FILETIME*); +void STDMETHODCALLTYPE IRunningObjectTable_NoteChangeTime_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IRunningObjectTable_GetTimeOfLastChange_Proxy(IRunningObjectTable*,IMoniker*,FILETIME*); +void STDMETHODCALLTYPE IRunningObjectTable_GetTimeOfLastChange_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IRunningObjectTable_EnumRunning_Proxy(IRunningObjectTable*,IEnumMoniker**); +void STDMETHODCALLTYPE IRunningObjectTable_EnumRunning_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IPersist_GetClassID_Proxy(IPersist*,CLSID*); +void STDMETHODCALLTYPE IPersist_GetClassID_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IPersistStream_IsDirty_Proxy(IPersistStream*); +void STDMETHODCALLTYPE IPersistStream_IsDirty_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IPersistStream_Load_Proxy(IPersistStream*,IStream*); +void STDMETHODCALLTYPE IPersistStream_Load_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IPersistStream_Save_Proxy(IPersistStream*,IStream*,BOOL); +void STDMETHODCALLTYPE IPersistStream_Save_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IPersistStream_GetSizeMax_Proxy(IPersistStream*,ULARGE_INTEGER*); +void STDMETHODCALLTYPE IPersistStream_GetSizeMax_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IMoniker_RemoteBindToObject_Proxy(IMoniker*,IBindCtx*,IMoniker*,REFIID,IUnknown**); +void STDMETHODCALLTYPE IMoniker_RemoteBindToObject_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IMoniker_RemoteBindToStorage_Proxy(IMoniker*,IBindCtx*,IMoniker*,REFIID,IUnknown**); +void STDMETHODCALLTYPE IMoniker_RemoteBindToStorage_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IMoniker_Reduce_Proxy(IMoniker*,IBindCtx*,DWORD,IMoniker**,IMoniker**); +void STDMETHODCALLTYPE IMoniker_Reduce_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IMoniker_ComposeWith_Proxy(IMoniker*,IMoniker*,BOOL,IMoniker**); +void STDMETHODCALLTYPE IMoniker_ComposeWith_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IMoniker_Enum_Proxy(IMoniker*,BOOL,IEnumMoniker**); +void STDMETHODCALLTYPE IMoniker_Enum_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IMoniker_IsEqual_Proxy(IMoniker*,IMoniker*); +void STDMETHODCALLTYPE IMoniker_IsEqual_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IMoniker_Hash_Proxy(IMoniker*,DWORD*); +void STDMETHODCALLTYPE IMoniker_Hash_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IMoniker_IsRunning_Proxy(IMoniker*,IBindCtx*,IMoniker*,IMoniker*); +void STDMETHODCALLTYPE IMoniker_IsRunning_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IMoniker_GetTimeOfLastChange_Proxy(IMoniker*,IBindCtx*,IMoniker*,FILETIME*); +void STDMETHODCALLTYPE IMoniker_GetTimeOfLastChange_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IMoniker_Inverse_Proxy(IMoniker*,IMoniker**); +void STDMETHODCALLTYPE IMoniker_Inverse_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IMoniker_CommonPrefixWith_Proxy(IMoniker*,IMoniker*,IMoniker**); +void STDMETHODCALLTYPE IMoniker_CommonPrefixWith_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IMoniker_RelativePathTo_Proxy(IMoniker*,IMoniker*,IMoniker**); +void STDMETHODCALLTYPE IMoniker_RelativePathTo_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IMoniker_GetDisplayName_Proxy(IMoniker*,IBindCtx*,IMoniker*,LPCSTR*); +void STDMETHODCALLTYPE IMoniker_GetDisplayName_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IMoniker_ParseDisplayName_Proxy(IMoniker*,IBindCtx*,IMoniker*,LPCSTR,ULONG*,IMoniker**); +void STDMETHODCALLTYPE IMoniker_ParseDisplayName_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IMoniker_IsSystemMoniker_Proxy(IMoniker*,DWORD*); +void STDMETHODCALLTYPE IMoniker_IsSystemMoniker_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IROTData_GetComparisonData_Proxy(IROTData*,BYTE*,ULONG cbMax,ULONG*); +void STDMETHODCALLTYPE IROTData_GetComparisonData_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IEnumString_RemoteNext_Proxy(IEnumString*,ULONG,LPCSTR*rgelt,ULONG*); +void STDMETHODCALLTYPE IEnumString_RemoteNext_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IEnumString_Skip_Proxy(IEnumString*,ULONG); +void STDMETHODCALLTYPE IEnumString_Skip_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IEnumString_Reset_Proxy(IEnumString*); +void STDMETHODCALLTYPE IEnumString_Reset_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IEnumString_Clone_Proxy(IEnumString*,IEnumString**); +void STDMETHODCALLTYPE IEnumString_Clone_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IStream_RemoteRead_Proxy(IStream*,BYTE*,ULONG,ULONG*); +void STDMETHODCALLTYPE IStream_RemoteRead_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IStream_RemoteWrite_Proxy(IStream*,BYTE*pv,ULONG,ULONG*); +void STDMETHODCALLTYPE IStream_RemoteWrite_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IStream_RemoteSeek_Proxy(IStream*,LARGE_INTEGER,DWORD,ULARGE_INTEGER*); +void STDMETHODCALLTYPE IStream_RemoteSeek_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IStream_SetSize_Proxy(IStream*,ULARGE_INTEGER); +void STDMETHODCALLTYPE IStream_SetSize_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IStream_RemoteCopyTo_Proxy(IStream*,IStream*,ULARGE_INTEGER,ULARGE_INTEGER*,ULARGE_INTEGER*); +void STDMETHODCALLTYPE IStream_RemoteCopyTo_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IStream_Commit_Proxy(IStream*,DWORD); +void STDMETHODCALLTYPE IStream_Commit_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IStream_Revert_Proxy(IStream*); +void STDMETHODCALLTYPE IStream_Revert_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IStream_LockRegion_Proxy(IStream*,ULARGE_INTEGER,ULARGE_INTEGER,DWORD); +void STDMETHODCALLTYPE IStream_LockRegion_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IStream_UnlockRegion_Proxy(IStream*,ULARGE_INTEGER,ULARGE_INTEGER,DWORD); +void STDMETHODCALLTYPE IStream_UnlockRegion_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IStream_Stat_Proxy(IStream*,STATSTG*,DWORD); +void STDMETHODCALLTYPE IStream_Stat_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IStream_Clone_Proxy(IStream*,IStream**); +void STDMETHODCALLTYPE IStream_Clone_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IEnumSTATSTG_RemoteNext_Proxy(IEnumSTATSTG*,ULONG,STATSTG*,ULONG*); +void STDMETHODCALLTYPE IEnumSTATSTG_RemoteNext_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IEnumSTATSTG_Skip_Proxy(IEnumSTATSTG*,ULONG celt); +void STDMETHODCALLTYPE IEnumSTATSTG_Skip_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IEnumSTATSTG_Reset_Proxy(IEnumSTATSTG*); +void STDMETHODCALLTYPE IEnumSTATSTG_Reset_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IEnumSTATSTG_Clone_Proxy(IEnumSTATSTG*,IEnumSTATSTG**); +void STDMETHODCALLTYPE IEnumSTATSTG_Clone_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IStorage_CreateStream_Proxy(IStorage*,OLECHAR*,DWORD,DWORD,DWORD,IStream**); +void STDMETHODCALLTYPE IStorage_CreateStream_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IStorage_RemoteOpenStream_Proxy(IStorage*,const OLECHAR*,unsigned long,BYTE*,DWORD,DWORD,IStream**); +void STDMETHODCALLTYPE IStorage_RemoteOpenStream_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IStorage_CreateStorage_Proxy(IStorage*,OLECHAR*,DWORD,DWORD,DWORD,IStorage**); +void STDMETHODCALLTYPE IStorage_CreateStorage_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IStorage_OpenStorage_Proxy(IStorage*,OLECHAR*,IStorage*,DWORD,SNB,DWORD,IStorage**); +void STDMETHODCALLTYPE IStorage_OpenStorage_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IStorage_CopyTo_Proxy(IStorage*,DWORD,const IID*,SNB,IStorage*); +void STDMETHODCALLTYPE IStorage_CopyTo_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IStorage_MoveElementTo_Proxy(IStorage*,const OLECHAR*,IStorage*,const OLECHAR*,DWORD); +void STDMETHODCALLTYPE IStorage_MoveElementTo_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IStorage_Commit_Proxy(IStorage*,DWORD); +void STDMETHODCALLTYPE IStorage_Commit_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IStorage_Revert_Proxy(IStorage*); +void STDMETHODCALLTYPE IStorage_Revert_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IStorage_RemoteEnumElements_Proxy(IStorage*,DWORD,unsigned long,BYTE*,DWORD,IEnumSTATSTG**); +void STDMETHODCALLTYPE IStorage_RemoteEnumElements_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IStorage_DestroyElement_Proxy(IStorage*,OLECHAR*); +void STDMETHODCALLTYPE IStorage_DestroyElement_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IStorage_RenameElement_Proxy(IStorage*,const OLECHAR*,const OLECHAR*); +void STDMETHODCALLTYPE IStorage_RenameElement_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IStorage_SetElementTimes_Proxy(IStorage*,const OLECHAR*,const FILETIME*,const FILETIME*,const FILETIME*); +void STDMETHODCALLTYPE IStorage_SetElementTimes_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IStorage_SetClass_Proxy(IStorage*,REFCLSID); +void STDMETHODCALLTYPE IStorage_SetClass_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IStorage_SetStateBits_Proxy(IStorage*,DWORD,DWORD); +void STDMETHODCALLTYPE IStorage_SetStateBits_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IStorage_Stat_Proxy(IStorage*,STATSTG*,DWORD); +void STDMETHODCALLTYPE IStorage_Stat_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IPersistFile_IsDirty_Proxy(IPersistFile*); +void STDMETHODCALLTYPE IPersistFile_IsDirty_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IPersistFile_Load_Proxy(IPersistFile*,LPCOLESTR,DWORD); +void STDMETHODCALLTYPE IPersistFile_Load_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IPersistFile_Save_Proxy(IPersistFile*,LPCOLESTR pszFileName,BOOL); +void STDMETHODCALLTYPE IPersistFile_Save_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IPersistFile_SaveCompleted_Proxy(IPersistFile*,LPCOLESTR); +void STDMETHODCALLTYPE IPersistFile_SaveCompleted_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IPersistFile_GetCurFile_Proxy(IPersistFile*,LPCSTR*); +void STDMETHODCALLTYPE IPersistFile_GetCurFile_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IPersistStorage_IsDirty_Proxy(IPersistStorage*); +void STDMETHODCALLTYPE IPersistStorage_IsDirty_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IPersistStorage_InitNew_Proxy(IPersistStorage*,IStorage*); +void STDMETHODCALLTYPE IPersistStorage_InitNew_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IPersistStorage_Load_Proxy(IPersistStorage*,IStorage*); +void STDMETHODCALLTYPE IPersistStorage_Load_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IPersistStorage_Save_Proxy(IPersistStorage*,IStorage*,BOOL); +void STDMETHODCALLTYPE IPersistStorage_Save_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IPersistStorage_SaveCompleted_Proxy(IPersistStorage*,IStorage*); +void STDMETHODCALLTYPE IPersistStorage_SaveCompleted_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IPersistStorage_HandsOffStorage_Proxy(IPersistStorage*); +void STDMETHODCALLTYPE IPersistStorage_HandsOffStorage_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE ILockBytes_RemoteReadAt_Proxy(ILockBytes*,ULARGE_INTEGER,BYTE*,ULONG,ULONG*); +void STDMETHODCALLTYPE ILockBytes_RemoteReadAt_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE ILockBytes_RemoteWriteAt_Proxy(ILockBytes*,ULARGE_INTEGER,BYTE*pv,ULONG,ULONG*); +void STDMETHODCALLTYPE ILockBytes_RemoteWriteAt_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE ILockBytes_Flush_Proxy(ILockBytes*); +void STDMETHODCALLTYPE ILockBytes_Flush_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE ILockBytes_SetSize_Proxy(ILockBytes*,ULARGE_INTEGER); +void STDMETHODCALLTYPE ILockBytes_SetSize_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE ILockBytes_LockRegion_Proxy(ILockBytes*,ULARGE_INTEGER,ULARGE_INTEGER,DWORD); +void STDMETHODCALLTYPE ILockBytes_LockRegion_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE ILockBytes_UnlockRegion_Proxy(ILockBytes*,ULARGE_INTEGER,ULARGE_INTEGER,DWORD); +void STDMETHODCALLTYPE ILockBytes_UnlockRegion_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE ILockBytes_Stat_Proxy(ILockBytes*,STATSTG*,DWORD); +void STDMETHODCALLTYPE ILockBytes_Stat_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IEnumFORMATETC_RemoteNext_Proxy(IEnumFORMATETC*,ULONG,FORMATETC*,ULONG*); +void STDMETHODCALLTYPE IEnumFORMATETC_RemoteNext_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IEnumFORMATETC_Skip_Proxy(IEnumFORMATETC*,ULONG); +void STDMETHODCALLTYPE IEnumFORMATETC_Skip_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IEnumFORMATETC_Reset_Proxy(IEnumFORMATETC*); +void STDMETHODCALLTYPE IEnumFORMATETC_Reset_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IEnumFORMATETC_Clone_Proxy(IEnumFORMATETC*,IEnumFORMATETC**); +void STDMETHODCALLTYPE IEnumFORMATETC_Clone_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IEnumFORMATETC_Next_Proxy(IEnumFORMATETC*,ULONG,FORMATETC*,ULONG*); +HRESULT STDMETHODCALLTYPE IEnumFORMATETC_Next_Stub(IEnumFORMATETC*,ULONG,FORMATETC*,ULONG*); +HRESULT STDMETHODCALLTYPE IEnumSTATDATA_RemoteNext_Proxy(IEnumSTATDATA*,ULONG,STATDATA*,ULONG*); +void STDMETHODCALLTYPE IEnumSTATDATA_RemoteNext_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IEnumSTATDATA_Skip_Proxy(IEnumSTATDATA*,ULONG); +void STDMETHODCALLTYPE IEnumSTATDATA_Skip_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IEnumSTATDATA_Reset_Proxy(IEnumSTATDATA*); +void STDMETHODCALLTYPE IEnumSTATDATA_Reset_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IEnumSTATDATA_Clone_Proxy(IEnumSTATDATA*,IEnumSTATDATA**); +void STDMETHODCALLTYPE IEnumSTATDATA_Clone_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IEnumSTATDATA_Next_Proxy(IEnumSTATDATA*,ULONG,STATDATA*,ULONG*); +HRESULT STDMETHODCALLTYPE IEnumSTATDATA_Next_Stub(IEnumSTATDATA*,ULONG,STATDATA*,ULONG*); +HRESULT STDMETHODCALLTYPE IRootStorage_SwitchToFile_Proxy(IRootStorage*,LPCSTR); +void STDMETHODCALLTYPE IRootStorage_SwitchToFile_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +void STDMETHODCALLTYPE IAdviseSink_RemoteOnDataChange_Proxy(IAdviseSink*,FORMATETC*,RemSTGMEDIUM*); +void STDMETHODCALLTYPE IAdviseSink_RemoteOnDataChange_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +void STDMETHODCALLTYPE IAdviseSink_RemoteOnViewChange_Proxy(IAdviseSink*,DWORD,LONG); +void STDMETHODCALLTYPE IAdviseSink_RemoteOnViewChange_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +void STDMETHODCALLTYPE IAdviseSink_RemoteOnRename_Proxy(IAdviseSink*,IMoniker*); +void STDMETHODCALLTYPE IAdviseSink_RemoteOnRename_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +void STDMETHODCALLTYPE IAdviseSink_RemoteOnSave_Proxy(IAdviseSink*); +void STDMETHODCALLTYPE IAdviseSink_RemoteOnSave_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IAdviseSink_RemoteOnClose_Proxy(IAdviseSink*); +void STDMETHODCALLTYPE IAdviseSink_RemoteOnClose_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +void STDMETHODCALLTYPE IAdviseSink_OnDataChange_Proxy(IAdviseSink*,FORMATETC*,STGMEDIUM*); +void STDMETHODCALLTYPE IAdviseSink_OnDataChange_Stub(IAdviseSink*,FORMATETC*,RemSTGMEDIUM*); +void STDMETHODCALLTYPE IAdviseSink_OnViewChange_Proxy(IAdviseSink*,DWORD,LONG); +void STDMETHODCALLTYPE IAdviseSink_OnViewChange_Stub(IAdviseSink*,DWORD,LONG); +void STDMETHODCALLTYPE IAdviseSink_OnRename_Proxy(IAdviseSink*,IMoniker*); +void STDMETHODCALLTYPE IAdviseSink_OnRename_Stub(IAdviseSink*,IMoniker*); +void STDMETHODCALLTYPE IAdviseSink_OnSave_Proxy(IAdviseSink*); +void STDMETHODCALLTYPE IAdviseSink_OnSave_Stub(IAdviseSink*); +void STDMETHODCALLTYPE IAdviseSink_OnClose_Proxy(IAdviseSink*); +HRESULT STDMETHODCALLTYPE IAdviseSink_OnClose_Stub(IAdviseSink*); +void STDMETHODCALLTYPE IAdviseSink2_RemoteOnLinkSrcChange_Proxy(IAdviseSink2*,IMoniker*); +void STDMETHODCALLTYPE IAdviseSink2_RemoteOnLinkSrcChange_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +void STDMETHODCALLTYPE IAdviseSink2_OnLinkSrcChange_Proxy(IAdviseSink2*,IMoniker*); +void STDMETHODCALLTYPE IAdviseSink2_OnLinkSrcChange_Stub(IAdviseSink2*,IMoniker*); +HRESULT STDMETHODCALLTYPE IDataObject_RemoteGetData_Proxy(IDataObject*,FORMATETC*,RemSTGMEDIUM**); +void STDMETHODCALLTYPE IDataObject_RemoteGetData_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IDataObject_RemoteGetDataHere_Proxy(IDataObject*,FORMATETC*,RemSTGMEDIUM**); +void STDMETHODCALLTYPE IDataObject_RemoteGetDataHere_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IDataObject_QueryGetData_Proxy(IDataObject*,FORMATETC*); +void STDMETHODCALLTYPE IDataObject_QueryGetData_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IDataObject_GetCanonicalFormatEtc_Proxy(IDataObject*,FORMATETC*,FORMATETC*); +void STDMETHODCALLTYPE IDataObject_GetCanonicalFormatEtc_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IDataObject_RemoteSetData_Proxy(IDataObject*,FORMATETC*,RemSTGMEDIUM*,BOOL); +void STDMETHODCALLTYPE IDataObject_RemoteSetData_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IDataObject_EnumFormatEtc_Proxy(IDataObject*,DWORD,IEnumFORMATETC**); +void STDMETHODCALLTYPE IDataObject_EnumFormatEtc_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IDataObject_DAdvise_Proxy(IDataObject*,FORMATETC*,DWORD,IAdviseSink*,DWORD*); +void STDMETHODCALLTYPE IDataObject_DAdvise_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IDataObject_DUnadvise_Proxy(IDataObject*,DWORD); +void STDMETHODCALLTYPE IDataObject_DUnadvise_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IDataObject_EnumDAdvise_Proxy(IDataObject*,IEnumSTATDATA**); +void STDMETHODCALLTYPE IDataObject_EnumDAdvise_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IDataObject_GetData_Proxy(IDataObject*,FORMATETC*,STGMEDIUM*); +HRESULT STDMETHODCALLTYPE IDataObject_GetData_Stub(IDataObject*,FORMATETC*,RemSTGMEDIUM**); +HRESULT STDMETHODCALLTYPE IDataObject_GetDataHere_Proxy(IDataObject*,FORMATETC*,STGMEDIUM*); +HRESULT STDMETHODCALLTYPE IDataObject_GetDataHere_Stub(IDataObject*,FORMATETC*,RemSTGMEDIUM**); +HRESULT STDMETHODCALLTYPE IDataObject_SetData_Proxy(IDataObject*,FORMATETC*,STGMEDIUM*,BOOL); +HRESULT STDMETHODCALLTYPE IDataObject_SetData_Stub(IDataObject*,FORMATETC*,RemSTGMEDIUM*,BOOL); +HRESULT STDMETHODCALLTYPE IDataAdviseHolder_Advise_Proxy(IDataAdviseHolder*,IDataObject*,FORMATETC*,DWORD,IAdviseSink*,DWORD*); +void STDMETHODCALLTYPE IDataAdviseHolder_Advise_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IDataAdviseHolder_Unadvise_Proxy(IDataAdviseHolder*,DWORD); +void STDMETHODCALLTYPE IDataAdviseHolder_Unadvise_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IDataAdviseHolder_EnumAdvise_Proxy(IDataAdviseHolder*,IEnumSTATDATA**); +void STDMETHODCALLTYPE IDataAdviseHolder_EnumAdvise_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IDataAdviseHolder_SendOnDataChange_Proxy(IDataAdviseHolder*,IDataObject*,DWORD,DWORD); +void STDMETHODCALLTYPE IDataAdviseHolder_SendOnDataChange_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +DWORD STDMETHODCALLTYPE IMessageFilter_HandleInComingCall_Proxy(IMessageFilter*,DWORD,HTASK,DWORD,LPINTERFACEINFO); +void STDMETHODCALLTYPE IMessageFilter_HandleInComingCall_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +DWORD STDMETHODCALLTYPE IMessageFilter_RetryRejectedCall_Proxy(IMessageFilter*,HTASK,DWORD,DWORD); +void STDMETHODCALLTYPE IMessageFilter_RetryRejectedCall_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +DWORD STDMETHODCALLTYPE IMessageFilter_MessagePending_Proxy(IMessageFilter*,HTASK,DWORD,DWORD); +void STDMETHODCALLTYPE IMessageFilter_MessagePending_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IRpcChannelBuffer_GetBuffer_Proxy(IRpcChannelBuffer*,RPCOLEMESSAGE*,REFIID); +void STDMETHODCALLTYPE IRpcChannelBuffer_GetBuffer_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IRpcChannelBuffer_SendReceive_Proxy(IRpcChannelBuffer*,RPCOLEMESSAGE*,ULONG*); +void STDMETHODCALLTYPE IRpcChannelBuffer_SendReceive_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IRpcChannelBuffer_FreeBuffer_Proxy(IRpcChannelBuffer*,RPCOLEMESSAGE*); +void STDMETHODCALLTYPE IRpcChannelBuffer_FreeBuffer_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IRpcChannelBuffer_GetDestCtx_Proxy(IRpcChannelBuffer*,DWORD*,void**); +void STDMETHODCALLTYPE IRpcChannelBuffer_GetDestCtx_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IRpcChannelBuffer_IsConnected_Proxy(IRpcChannelBuffer*); +void STDMETHODCALLTYPE IRpcChannelBuffer_IsConnected_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IRpcProxyBuffer_Connect_Proxy(IRpcProxyBuffer*,IRpcChannelBuffer*pRpcChannelBuffer); +void STDMETHODCALLTYPE IRpcProxyBuffer_Connect_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +void STDMETHODCALLTYPE IRpcProxyBuffer_Disconnect_Proxy(IRpcProxyBuffer*); +void STDMETHODCALLTYPE IRpcProxyBuffer_Disconnect_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IRpcStubBuffer_Connect_Proxy(IRpcStubBuffer*,IUnknown*); +void STDMETHODCALLTYPE IRpcStubBuffer_Connect_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +void STDMETHODCALLTYPE IRpcStubBuffer_Disconnect_Proxy(IRpcStubBuffer*); +void STDMETHODCALLTYPE IRpcStubBuffer_Disconnect_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IRpcStubBuffer_Invoke_Proxy(IRpcStubBuffer*,RPCOLEMESSAGE*,IRpcChannelBuffer*); +void STDMETHODCALLTYPE IRpcStubBuffer_Invoke_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +IRpcStubBuffer*STDMETHODCALLTYPE IRpcStubBuffer_IsIIDSupported_Proxy(IRpcStubBuffer*,REFIID); +void STDMETHODCALLTYPE IRpcStubBuffer_IsIIDSupported_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +ULONG STDMETHODCALLTYPE IRpcStubBuffer_CountRefs_Proxy(IRpcStubBuffer*); +void STDMETHODCALLTYPE IRpcStubBuffer_CountRefs_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IRpcStubBuffer_DebugServerQueryInterface_Proxy(IRpcStubBuffer*,void**); +void STDMETHODCALLTYPE IRpcStubBuffer_DebugServerQueryInterface_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +void STDMETHODCALLTYPE IRpcStubBuffer_DebugServerRelease_Proxy(IRpcStubBuffer*,void*); +void STDMETHODCALLTYPE IRpcStubBuffer_DebugServerRelease_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IPSFactoryBuffer_CreateProxy_Proxy(IPSFactoryBuffer*,IUnknown*,REFIID,IRpcProxyBuffer**,void**); +void STDMETHODCALLTYPE IPSFactoryBuffer_CreateProxy_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IPSFactoryBuffer_CreateStub_Proxy(IPSFactoryBuffer*,REFIID,IUnknown*,IRpcStubBuffer**); +void STDMETHODCALLTYPE IPSFactoryBuffer_CreateStub_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD); +void STDMETHODCALLTYPE SNB_to_xmit(SNB*,RemSNB**); +void STDMETHODCALLTYPE SNB_from_xmit(RemSNB*,SNB*); +void STDMETHODCALLTYPE SNB_free_inst(SNB*); +void STDMETHODCALLTYPE SNB_free_xmit(RemSNB*); +HRESULT STDMETHODCALLTYPE IEnumUnknown_Next_Proxy(IEnumUnknown*,ULONG,IUnknown**,ULONG*); +HRESULT STDMETHODCALLTYPE IEnumUnknown_Next_Stub(IEnumUnknown*,ULONG,IUnknown**,ULONG*); +HRESULT STDMETHODCALLTYPE IEnumMoniker_Next_Proxy(IEnumMoniker*,ULONG,IMoniker**,ULONG*); +HRESULT STDMETHODCALLTYPE IEnumMoniker_Next_Stub(IEnumMoniker*,ULONG,IMoniker**,ULONG*); +HRESULT STDMETHODCALLTYPE IMoniker_BindToObject_Proxy(IMoniker*,IBindCtx*,IMoniker*,REFIID,void**); +HRESULT STDMETHODCALLTYPE IMoniker_BindToObject_Stub(IMoniker*,IBindCtx*,IMoniker*,REFIID,IUnknown**); +HRESULT STDMETHODCALLTYPE IMoniker_BindToStorage_Proxy(IMoniker*,IBindCtx*,IMoniker*,REFIID,void**); +HRESULT STDMETHODCALLTYPE IMoniker_BindToStorage_Stub(IMoniker*,IBindCtx*,IMoniker*,REFIID,IUnknown**); +HRESULT STDMETHODCALLTYPE IEnumString_Next_Proxy(IEnumString*,ULONG,LPCSTR*,ULONG*); +HRESULT STDMETHODCALLTYPE IEnumString_Next_Stub(IEnumString*,ULONG,LPCSTR*,ULONG*); +HRESULT STDMETHODCALLTYPE IStream_Read_Proxy(IStream*,void*,ULONG,ULONG*); +HRESULT STDMETHODCALLTYPE IStream_Read_Stub(IStream*,BYTE*,ULONG,ULONG*); +HRESULT STDMETHODCALLTYPE IStream_Write_Proxy(IStream*,void*,ULONG,ULONG*); +HRESULT STDMETHODCALLTYPE IStream_Write_Stub(IStream*,BYTE*,ULONG,ULONG*); +HRESULT STDMETHODCALLTYPE IStream_Seek_Proxy(IStream*,LARGE_INTEGER,DWORD,ULARGE_INTEGER*); +HRESULT STDMETHODCALLTYPE IStream_Seek_Stub(IStream*,LARGE_INTEGER,DWORD,ULARGE_INTEGER*); +HRESULT STDMETHODCALLTYPE IStream_CopyTo_Proxy(IStream*,IStream*,ULARGE_INTEGER,ULARGE_INTEGER*,ULARGE_INTEGER*); +HRESULT STDMETHODCALLTYPE IStream_CopyTo_Stub(IStream*,IStream*,ULARGE_INTEGER,ULARGE_INTEGER*,ULARGE_INTEGER*); +HRESULT STDMETHODCALLTYPE IEnumSTATSTG_Next_Proxy(IEnumSTATSTG*,ULONG,STATSTG*,ULONG*); +HRESULT STDMETHODCALLTYPE IEnumSTATSTG_Next_Stub(IEnumSTATSTG*,ULONG,STATSTG*,ULONG*); +HRESULT STDMETHODCALLTYPE IStorage_OpenStream_Proxy(IStorage*,OLECHAR*,void*,DWORD,DWORD,IStream**); +HRESULT STDMETHODCALLTYPE IStorage_OpenStream_Stub(IStorage*,OLECHAR*,unsigned long,BYTE*,DWORD,DWORD,IStream** ); +HRESULT STDMETHODCALLTYPE IStorage_EnumElements_Proxy(IStorage*,DWORD,void*,DWORD,IEnumSTATSTG**); +HRESULT STDMETHODCALLTYPE IStorage_EnumElements_Stub(IStorage*,DWORD,unsigned long,BYTE*,DWORD,IEnumSTATSTG**); +HRESULT STDMETHODCALLTYPE ILockBytes_ReadAt_Proxy(ILockBytes*,ULARGE_INTEGER,void*,ULONG,ULONG*); +HRESULT STDMETHODCALLTYPE ILockBytes_ReadAt_Stub(ILockBytes*,ULARGE_INTEGER,BYTE*,ULONG,ULONG*); +HRESULT STDMETHODCALLTYPE ILockBytes_WriteAt_Proxy(ILockBytes*,ULARGE_INTEGER,const void*,ULONG,ULONG*); +HRESULT STDMETHODCALLTYPE ILockBytes_WriteAt_Stub(ILockBytes*,ULARGE_INTEGER,BYTE*,ULONG,ULONG*); +#ifdef COBJMACROS +#define IMarshal_QueryInterface(T,r,p) (T)->lpVtbl->QueryInterface(T,r,p) +#define IMarshal_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IMarshal_Release(This) (This)->lpVtbl->Release(This) +#define IMarshal_GetUnmarshalClass(T,r,pv,dw,pvD,m,pC) (T)->lpVtbl->GetUnmarshalClass(T,r,pv,dw,pvD,m,pC) +#define IMarshal_GetMarshalSizeMax(T,r,pv,dw,pD,m,p) (T)->lpVtbl->GetMarshalSizeMax(T,r,pv,dw,pD,m,p) +#define IMarshal_MarshalInterface(T,p,r,pv,dw,pvD,m) (T)->lpVtbl->MarshalInterface(T,p,r,pv,dw,pv,m) +#define IMarshal_UnmarshalInterface(T,p,r,pp) (T)->lpVtbl->UnmarshalInterface(T,p,r,pp) +#define IMarshal_ReleaseMarshalData(T,p) (T)->lpVtbl->ReleaseMarshalData(T,p) +#define IMarshal_DisconnectObject(T,d) (T)->lpVtbl->DisconnectObject(T,d) +#define IMalloc_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IMalloc_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IMalloc_Release(This) (This)->lpVtbl->Release(This) +#define IMalloc_Alloc(This,cb) (This)->lpVtbl->Alloc(This,cb) +#define IMalloc_Realloc(This,pv,cb) (This)->lpVtbl->Realloc(This,pv,cb) +#define IMalloc_Free(This,pv) (This)->lpVtbl->Free(This,pv) +#define IMalloc_GetSize(This,pv) (This)->lpVtbl->GetSize(This,pv) +#define IMalloc_DidAlloc(This,pv) (This)->lpVtbl->DidAlloc(This,pv) +#define IMalloc_HeapMinimize(This) (This)->lpVtbl->HeapMinimize(This) +#define IMallocSpy_QueryInterface(T,r,p) (T)->lpVtbl->QueryInterface(T,r,p) +#define IMallocSpy_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IMallocSpy_Release(This) (This)->lpVtbl->Release(This) +#define IMallocSpy_PreAlloc(T,c) (T)->lpVtbl->PreAlloc(T,c) +#define IMallocSpy_PostAlloc(This,p) (This)->lpVtbl->PostAlloc(This,p) +#define IMallocSpy_PreFree(This,p,f) (This)->lpVtbl->PreFree(This,p,f) +#define IMallocSpy_PostFree(This,fSpyed) (This)->lpVtbl->PostFree(This,fSpyed) +#define IMallocSpy_PreRealloc(T,p,c,pp,f) (T)->lpVtbl->PreRealloc(T,p,c,pp,f) +#define IMallocSpy_PostRealloc(T,p,f) (T)->lpVtbl->PostRealloc(T,p,f) +#define IMallocSpy_PreGetSize(This,p,f) (This)->lpVtbl->PreGetSize(This,p,f) +#define IMallocSpy_PostGetSize(This,cbActual,fSpyed) (This)->lpVtbl->PostGetSize(This,cbActual,fSpyed) +#define IMallocSpy_PreDidAlloc(This,pRequest,fSpyed) (This)->lpVtbl->PreDidAlloc(This,pRequest,fSpyed) +#define IMallocSpy_PostDidAlloc(This,pRequest,fSpyed,fActual) (This)->lpVtbl->PostDidAlloc(This,pRequest,fSpyed,fActual) +#define IMallocSpy_PreHeapMinimize(T) (T)->lpVtbl->PreHeapMinimize(T) +#define IMallocSpy_PostHeapMinimize(T) (T)->lpVtbl->PostHeapMinimize(T) +#define IStdMarshalInfo_QueryInterface(T,r,p) (This)->lpVtbl->QueryInterface(T,r,p) +#define IStdMarshalInfo_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IStdMarshalInfo_Release(This) (This)->lpVtbl->Release(This) +#define IStdMarshalInfo_GetClassForHandler(This,D,p,C) (This)->lpVtbl->GetClassForHandler(This,D,p,C) +#define IExternalConnection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IExternalConnection_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IExternalConnection_Release(This) (This)->lpVtbl->Release(This) +#define IExternalConnection_AddConnection(T,e,r) (T)->lpVtbl->AddConnection(T,e,r) +#define IExternalConnection_ReleaseConnection(This,e,r,f) (This)->lpVtbl->ReleaseConnection(This,e,r,f) +#define IEnumUnknown_QueryInterface(T,r,p) (This)->lpVtbl->QueryInterface(T,r,p) +#define IEnumUnknown_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnumUnknown_Release(This) (This)->lpVtbl->Release(This) +#define IEnumUnknown_Next(This,celt,rgelt,p) (This)->lpVtbl->Next(This,celt,rgelt,p) +#define IEnumUnknown_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) +#define IEnumUnknown_Reset(This) (This)->lpVtbl->Reset(This) +#define IEnumUnknown_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum) +#define IBindCtx_QueryInterface(T,r,p) (T)->lpVtbl->QueryInterface(T,r,p) +#define IBindCtx_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IBindCtx_Release(This) (This)->lpVtbl->Release(This) +#define IBindCtx_RegisterObjectBound(T,p) (T)->lpVtbl->RegisterObjectBound(T,p) +#define IBindCtx_RevokeObjectBound(T,p) (T)->lpVtbl->RevokeObjectBound(T,p) +#define IBindCtx_ReleaseBoundObjects(T) (T)->lpVtbl->ReleaseBoundObjects(T) +#define IBindCtx_SetBindOptions(T,p) (T)->lpVtbl->SetBindOptions(T,p) +#define IBindCtx_GetBindOptions(This,pbindopts) (This)->lpVtbl->GetBindOptions(This,pbindopts) +#define IBindCtx_GetRunningObjectTable(This,pprot) (This)->lpVtbl->GetRunningObjectTable(This,pprot) +#define IBindCtx_RegisterObjectParam(This,pszKey,punk) (This)->lpVtbl->RegisterObjectParam(This,pszKey,punk) +#define IBindCtx_GetObjectParam(This,pszKey,ppunk) (This)->lpVtbl->GetObjectParam(This,pszKey,ppunk) +#define IBindCtx_EnumObjectParam(This,ppenum) (This)->lpVtbl->EnumObjectParam(This,ppenum) +#define IBindCtx_RevokeObjectParam(This,pszKey) (This)->lpVtbl->RevokeObjectParam(This,pszKey) +#define IEnumMoniker_QueryInterface(T,r,p) (T)->lpVtbl->QueryInterface(T,r,p) +#define IEnumMoniker_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnumMoniker_Release(This) (This)->lpVtbl->Release(This) +#define IEnumMoniker_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched) +#define IEnumMoniker_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) +#define IEnumMoniker_Reset(This) (This)->lpVtbl->Reset(This) +#define IEnumMoniker_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum) +#define IRunnableObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IRunnableObject_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IRunnableObject_Release(This) (This)->lpVtbl->Release(This) +#define IRunnableObject_GetRunningClass(This,lpClsid) (This)->lpVtbl->GetRunningClass(This,lpClsid) +#define IRunnableObject_Run(This,pbc) (This)->lpVtbl->Run(This,pbc) +#define IRunnableObject_IsRunning(This) (This)->lpVtbl->IsRunning(This) +#define IRunnableObject_LockRunning(This,fLock,fLastUnlockCloses) (This)->lpVtbl->LockRunning(This,fLock,fLastUnlockCloses) +#define IRunnableObject_SetContainedObject(This,fContained) (This)->lpVtbl->SetContainedObject(This,fContained) +#define IRunningObjectTable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IRunningObjectTable_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IRunningObjectTable_Release(This) (This)->lpVtbl->Release(This) +#define IRunningObjectTable_Register(This,grfFlags,punkObject,pmkObjectName,pdwRegister) (This)->lpVtbl->Register(This,grfFlags,punkObject,pmkObjectName,pdwRegister) +#define IRunningObjectTable_Revoke(This,dwRegister) (This)->lpVtbl->Revoke(This,dwRegister) +#define IRunningObjectTable_IsRunning(This,pmkObjectName) (This)->lpVtbl->IsRunning(This,pmkObjectName) +#define IRunningObjectTable_GetObject(This,pmkObjectName,ppunkObject) (This)->lpVtbl->GetObject(This,pmkObjectName,ppunkObject) +#define IRunningObjectTable_NoteChangeTime(This,dwRegister,pfiletime) (This)->lpVtbl->NoteChangeTime(This,dwRegister,pfiletime) +#define IRunningObjectTable_GetTimeOfLastChange(This,pmkObjectName,pfiletime) (This)->lpVtbl->GetTimeOfLastChange(This,pmkObjectName,pfiletime) +#define IRunningObjectTable_EnumRunning(This,ppenumMoniker) (This)->lpVtbl->EnumRunning(This,ppenumMoniker) +#define IPersist_QueryInterface(T,r,p) (T)->lpVtbl->QueryInterface(T,r,p) +#define IPersist_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IPersist_Release(This) (This)->lpVtbl->Release(This) +#define IPersist_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) +#define IPersistStream_QueryInterface(T,r,p) (T)->lpVtbl->QueryInterface(T,r,p) +#define IPersistStream_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IPersistStream_Release(This) (This)->lpVtbl->Release(This) +#define IPersistStream_GetClassID(T,p) (T)->lpVtbl->GetClassID(T,p) +#define IPersistStream_IsDirty(This) (This)->lpVtbl->IsDirty(This) +#define IPersistStream_Load(This,pStm) (This)->lpVtbl->Load(This,pStm) +#define IPersistStream_Save(T,p,f) (T)->lpVtbl->Save(T,p,f) +#define IPersistStream_GetSizeMax(T,p) (T)->lpVtbl->GetSizeMax(T,p) +#define IMoniker_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IMoniker_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IMoniker_Release(This) (This)->lpVtbl->Release(This) +#define IMoniker_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) +#define IMoniker_IsDirty(This) (This)->lpVtbl->IsDirty(This) +#define IMoniker_Load(This,pStm) (This)->lpVtbl->Load(This,pStm) +#define IMoniker_Save(This,pStm,fClearDirty) (This)->lpVtbl->Save(This,pStm,fClearDirty) +#define IMoniker_GetSizeMax(This,pcbSize) (This)->lpVtbl->GetSizeMax(This,pcbSize) +#define IMoniker_BindToObject(T,p,pm,r,pp) (T)->lpVtbl->BindToObject(T,p,pm,r,pp) +#define IMoniker_BindToStorage(This,pbc,pmkToLeft,riid,ppvObj) (This)->lpVtbl->BindToStorage(This,pbc,pmkToLeft,riid,ppvObj) +#define IMoniker_Reduce(This,pbc,dwReduceHowFar,ppmkToLeft,ppmkReduced) (This)->lpVtbl->Reduce(This,pbc,dwReduceHowFar,ppmkToLeft,ppmkReduced) +#define IMoniker_ComposeWith(This,pmkRight,fOnlyIfNotGeneric,ppmkComposite) (This)->lpVtbl->ComposeWith(This,pmkRight,fOnlyIfNotGeneric,ppmkComposite) +#define IMoniker_Enum(T,f,pp) (T)->lpVtbl->Enum(T,f,pp) +#define IMoniker_IsEqual(This,p) (This)->lpVtbl->IsEqual(This,p) +#define IMoniker_Hash(This,pdwHash) (This)->lpVtbl->Hash(This,pdwHash) +#define IMoniker_IsRunning(T,pbc,Left,N) (T)->lpVtbl->IsRunning(T,pbc,Left,N) +#define IMoniker_GetTimeOfLastChange(This,pbc,pmkToLeft,pFileTime) (This)->lpVtbl->GetTimeOfLastChange(This,pbc,pmkToLeft,pFileTime) +#define IMoniker_Inverse(This,ppmk) (This)->lpVtbl->Inverse(This,ppmk) +#define IMoniker_CommonPrefixWith(This,pmkOther,ppmkPrefix) (This)->lpVtbl->CommonPrefixWith(This,pmkOther,ppmkPrefix) +#define IMoniker_RelativePathTo(This,pmkOther,ppmkRelPath) (This)->lpVtbl->RelativePathTo(This,pmkOther,ppmkRelPath) +#define IMoniker_GetDisplayName(This,pbc,pmkToLeft,ppszDisplayName) (This)->lpVtbl->GetDisplayName(This,pbc,pmkToLeft,ppszDisplayName) +#define IMoniker_ParseDisplayName(This,pbc,pmkToLeft,pszDisplayName,pchEaten,ppmkOut) (This)->lpVtbl->ParseDisplayName(This,pbc,pmkToLeft,pszDisplayName,pchEaten,ppmkOut) +#define IMoniker_IsSystemMoniker(This,pdwMksys) (This)->lpVtbl->IsSystemMoniker(This,pdwMksys) +#define IROTData_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IROTData_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IROTData_Release(This) (This)->lpVtbl->Release(This) +#define IROTData_GetComparisonData(This,pbData,cbMax,pcbData) (This)->lpVtbl->GetComparisonData(This,pbData,cbMax,pcbData) +#define IEnumString_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEnumString_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnumString_Release(This) (This)->lpVtbl->Release(This) +#define IEnumString_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched) +#define IEnumString_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) +#define IEnumString_Reset(This) (This)->lpVtbl->Reset(This) +#define IEnumString_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum) +#define IStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IStream_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IStream_Release(This) (This)->lpVtbl->Release(This) +#define IStream_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead) +#define IStream_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten) +#define IStream_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition) +#define IStream_SetSize(This,libNewSize) (This)->lpVtbl->SetSize(This,libNewSize) +#define IStream_CopyTo(This,pstm,cb,pcbRead,pcbWritten) (This)->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten) +#define IStream_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags) +#define IStream_Revert(This) (This)->lpVtbl->Revert(This) +#define IStream_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType) +#define IStream_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType) +#define IStream_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag) +#define IStream_Clone(This,ppstm) (This)->lpVtbl->Clone(This,ppstm) +#define IEnumSTATSTG_QueryInterface(T,r,p) (T)->lpVtbl->QueryInterface(T,r,p) +#define IEnumSTATSTG_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnumSTATSTG_Release(This) (This)->lpVtbl->Release(This) +#define IEnumSTATSTG_Next(T,c,r,p) (T)->lpVtbl->Next(T,c,r,p) +#define IEnumSTATSTG_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) +#define IEnumSTATSTG_Reset(This) (This)->lpVtbl->Reset(This) +#define IEnumSTATSTG_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum) +#define IStorage_QueryInterface(T,r,p) (T)->lpVtbl->QueryInterface(T,r,p) +#define IStorage_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IStorage_Release(This) (This)->lpVtbl->Release(This) +#define IStorage_CreateStream(T,p,g,r1,r2,pp) (T)->lpVtbl->CreateStream(T,p,g,r1,r2,pp) +#define IStorage_OpenStream(T,p,r1,g,r2,pp) (T)->lpVtbl->OpenStream(T,p,r1,g,r2,pp) +#define IStorage_CreateStorage(T,p,g,d,r2,pp) (This)->lpVtbl->CreateStorage(T,p,g,d,r2,pp) +#define IStorage_OpenStorage(This,pwcsName,pstgPriority,grfMode,snbExclude,reserved,ppstg) (This)->lpVtbl->OpenStorage(This,pwcsName,pstgPriority,grfMode,snbExclude,reserved,ppstg) +#define IStorage_CopyTo(This,ciidExclude,rgiidExclude,snbExclude,pstgDest) (This)->lpVtbl->CopyTo(This,ciidExclude,rgiidExclude,snbExclude,pstgDest) +#define IStorage_MoveElementTo(This,pwcsName,pstgDest,pwcsNewName,grfFlags) (This)->lpVtbl->MoveElementTo(This,pwcsName,pstgDest,pwcsNewName,grfFlags) +#define IStorage_Commit(This,g) (This)->lpVtbl->Commit(This,g) +#define IStorage_Revert(This) (This)->lpVtbl->Revert(This) +#define IStorage_EnumElements(This,reserved1,reserved2,reserved3,ppenum) (This)->lpVtbl->EnumElements(This,reserved1,reserved2,reserved3,ppenum) +#define IStorage_DestroyElement(This,pwcsName) (This)->lpVtbl->DestroyElement(This,pwcsName) +#define IStorage_RenameElement(This,pwcsOldName,pwcsNewName) (This)->lpVtbl->RenameElement(This,pwcsOldName,pwcsNewName) +#define IStorage_SetElementTimes(This,pwcsName,pctime,patime,pmtime) (This)->lpVtbl->SetElementTimes(This,pwcsName,pctime,patime,pmtime) +#define IStorage_SetClass(This,clsid) (This)->lpVtbl->SetClass(This,clsid) +#define IStorage_SetStateBits(This,grfStateBits,grfMask) (This)->lpVtbl->SetStateBits(This,grfStateBits,grfMask) +#define IStorage_Stat(This,p,g) (This)->lpVtbl->Stat(This,p,g) +#define IPersistFile_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IPersistFile_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IPersistFile_Release(This) (This)->lpVtbl->Release(This) +#define IPersistFile_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) +#define IPersistFile_IsDirty(This) (This)->lpVtbl->IsDirty(This) +#define IPersistFile_Load(This,pszFileName,dwMode) (This)->lpVtbl->Load(This,pszFileName,dwMode) +#define IPersistFile_Save(This,pszFileName,fRemember) (This)->lpVtbl->Save(This,pszFileName,fRemember) +#define IPersistFile_SaveCompleted(This,pszFileName) (This)->lpVtbl->SaveCompleted(This,pszFileName) +#define IPersistFile_GetCurFile(This,ppszFileName) (This)->lpVtbl->GetCurFile(This,ppszFileName) +#define IPersistStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IPersistStorage_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IPersistStorage_Release(This) (This)->lpVtbl->Release(This) +#define IPersistStorage_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) +#define IPersistStorage_IsDirty(This) (This)->lpVtbl->IsDirty(This) +#define IPersistStorage_InitNew(This,pStg) (This)->lpVtbl->InitNew(This,pStg) +#define IPersistStorage_Load(This,pStg) (This)->lpVtbl->Load(This,pStg) +#define IPersistStorage_Save(This,pStgSave,fSameAsLoad) (This)->lpVtbl->Save(This,pStgSave,fSameAsLoad) +#define IPersistStorage_SaveCompleted(This,pStgNew) (This)->lpVtbl->SaveCompleted(This,pStgNew) +#define IPersistStorage_HandsOffStorage(This) (This)->lpVtbl->HandsOffStorage(This) +#define ILockBytes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ILockBytes_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ILockBytes_Release(This) (This)->lpVtbl->Release(This) +#define ILockBytes_ReadAt(This,ulOffset,pv,cb,pcbRead) (This)->lpVtbl->ReadAt(This,ulOffset,pv,cb,pcbRead) +#define ILockBytes_WriteAt(This,ulOffset,pv,cb,pcbWritten) (This)->lpVtbl->WriteAt(This,ulOffset,pv,cb,pcbWritten) +#define ILockBytes_Flush(This) (This)->lpVtbl->Flush(This) +#define ILockBytes_SetSize(This,cb) (This)->lpVtbl->SetSize(This,cb) +#define ILockBytes_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType) +#define ILockBytes_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType) +#define ILockBytes_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag) +#define IEnumFORMATETC_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEnumFORMATETC_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnumFORMATETC_Release(This) (This)->lpVtbl->Release(This) +#define IEnumFORMATETC_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched) +#define IEnumFORMATETC_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) +#define IEnumFORMATETC_Reset(This) (This)->lpVtbl->Reset(This) +#define IEnumFORMATETC_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum) +#define IEnumSTATDATA_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEnumSTATDATA_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnumSTATDATA_Release(This) (This)->lpVtbl->Release(This) +#define IEnumSTATDATA_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched) +#define IEnumSTATDATA_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) +#define IEnumSTATDATA_Reset(This) (This)->lpVtbl->Reset(This) +#define IEnumSTATDATA_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum) +#define IRootStorage_QueryInterface(T,r,O) (T)->lpVtbl->QueryInterface(T,r,O) +#define IRootStorage_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IRootStorage_Release(This) (This)->lpVtbl->Release(This) +#define IRootStorage_SwitchToFile(This,pszFile) (This)->lpVtbl->SwitchToFile(This,pszFile) +#define IAdviseSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IAdviseSink_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IAdviseSink_Release(This) (This)->lpVtbl->Release(This) +#define IAdviseSink_OnDataChange(This,pFormatetc,pStgmed) (This)->lpVtbl->OnDataChange(This,pFormatetc,pStgmed) +#define IAdviseSink_OnViewChange(This,dwAspect,lindex) (This)->lpVtbl->OnViewChange(This,dwAspect,lindex) +#define IAdviseSink_OnRename(This,pmk) (This)->lpVtbl->OnRename(This,pmk) +#define IAdviseSink_OnSave(This) (This)->lpVtbl->OnSave(This) +#define IAdviseSink_OnClose(This) (This)->lpVtbl->OnClose(This) +#define IAdviseSink2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IAdviseSink2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IAdviseSink2_Release(This) (This)->lpVtbl->Release(This) +#define IAdviseSink2_OnDataChange(This,pFormatetc,pStgmed) (This)->lpVtbl->OnDataChange(This,pFormatetc,pStgmed) +#define IAdviseSink2_OnViewChange(This,dwAspect,lindex) (This)->lpVtbl->OnViewChange(This,dwAspect,lindex) +#define IAdviseSink2_OnRename(This,pmk) (This)->lpVtbl->OnRename(This,pmk) +#define IAdviseSink2_OnSave(This) (This)->lpVtbl->OnSave(This) +#define IAdviseSink2_OnClose(This) (This)->lpVtbl->OnClose(This) +#define IAdviseSink2_OnLinkSrcChange(This,pmk) (This)->lpVtbl->OnLinkSrcChange(This,pmk) +#define IDataObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDataObject_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDataObject_Release(This) (This)->lpVtbl->Release(This) +#define IDataObject_GetData(This,pformatetcIn,pmedium) (This)->lpVtbl->GetData(This,pformatetcIn,pmedium) +#define IDataObject_GetDataHere(This,pformatetc,pmedium) (This)->lpVtbl->GetDataHere(This,pformatetc,pmedium) +#define IDataObject_QueryGetData(This,pformatetc) (This)->lpVtbl->QueryGetData(This,pformatetc) +#define IDataObject_GetCanonicalFormatEtc(This,pformatectIn,pformatetcOut) (This)->lpVtbl->GetCanonicalFormatEtc(This,pformatectIn,pformatetcOut) +#define IDataObject_SetData(This,pformatetc,pmedium,fRelease) (This)->lpVtbl->SetData(This,pformatetc,pmedium,fRelease) +#define IDataObject_EnumFormatEtc(This,dwDirection,ppenumFormatEtc) (This)->lpVtbl->EnumFormatEtc(This,dwDirection,ppenumFormatEtc) +#define IDataObject_DAdvise(This,pformatetc,advf,pAdvSink,pdwConnection) (This)->lpVtbl->DAdvise(This,pformatetc,advf,pAdvSink,pdwConnection) +#define IDataObject_DUnadvise(This,dwConnection) (This)->lpVtbl->DUnadvise(This,dwConnection) +#define IDataObject_EnumDAdvise(This,ppenumAdvise) (This)->lpVtbl->EnumDAdvise(This,ppenumAdvise) +#define IDataAdviseHolder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDataAdviseHolder_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDataAdviseHolder_Release(This) (This)->lpVtbl->Release(This) +#define IDataAdviseHolder_Advise(This,pDataObject,pFetc,advf,pAdvise,pdwConnection) (This)->lpVtbl->Advise(This,pDataObject,pFetc,advf,pAdvise,pdwConnection) +#define IDataAdviseHolder_Unadvise(This,dwConnection) (This)->lpVtbl->Unadvise(This,dwConnection) +#define IDataAdviseHolder_EnumAdvise(This,ppenumAdvise) (This)->lpVtbl->EnumAdvise(This,ppenumAdvise) +#define IDataAdviseHolder_SendOnDataChange(This,pDataObject,dwReserved,advf) (This)->lpVtbl->SendOnDataChange(This,pDataObject,dwReserved,advf) +#define IMessageFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IMessageFilter_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IMessageFilter_Release(This) (This)->lpVtbl->Release(This) +#define IMessageFilter_HandleInComingCall(T,d,h,dw,lp) (T)->lpVtbl->HandleInComingCall(T,d,h,dw,lp) +#define IMessageFilter_RetryRejectedCall(s,C,T,R) (s)->lpVtbl->RetryRejectedCall(s,C,T,R) +#define IMessageFilter_MessagePending(s,C,T,P) (s)->lpVtbl->MessagePending(This,C,T,P) +#define IRpcChannelBuffer_QueryInterface(T,r,p) (T)->lpVtbl->QueryInterface(T,r,p) +#define IRpcChannelBuffer_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IRpcChannelBuffer_Release(This) (This)->lpVtbl->Release(This) +#define IRpcChannelBuffer_GetBuffer(This,pMessage,riid) (This)->lpVtbl->GetBuffer(This,pMessage,riid) +#define IRpcChannelBuffer_SendReceive(T,p,pS) (T)->lpVtbl->SendReceive(T,p,pS) +#define IRpcChannelBuffer_FreeBuffer(T,p) (T)->lpVtbl->FreeBuffer(T,p) +#define IRpcChannelBuffer_GetDestCtx(This,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext) +#define IRpcChannelBuffer_IsConnected(This) (This)->lpVtbl->IsConnected(This) +#define IRpcProxyBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IRpcProxyBuffer_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IRpcProxyBuffer_Release(This) (This)->lpVtbl->Release(This) +#define IRpcProxyBuffer_Connect(This,pRpcChannelBuffer) (This)->lpVtbl->Connect(This,pRpcChannelBuffer) +#define IRpcProxyBuffer_Disconnect(This) (This)->lpVtbl->Disconnect(This) +#define IRpcStubBuffer_QueryInterface(T,r,pp) (T)->lpVtbl->QueryInterface(T,r,pp) +#define IRpcStubBuffer_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IRpcStubBuffer_Release(This) (This)->lpVtbl->Release(This) +#define IRpcStubBuffer_Connect(This,p) (This)->lpVtbl->Connect(This,p) +#define IRpcStubBuffer_Disconnect(This) (This)->lpVtbl->Disconnect(This) +#define IRpcStubBuffer_Invoke(T,_prpcmsg,_p) (T)->lpVtbl->Invoke(This,_prpcmsg,_p) +#define IRpcStubBuffer_IsIIDSupported(T,d) (T)->lpVtbl->IsIIDSupported(T,d) +#define IRpcStubBuffer_CountRefs(This) (This)->lpVtbl->CountRefs(This) +#define IRpcStubBuffer_DebugServerQueryInterface(T,p) (T)->lpVtbl->DebugServerQueryInterface(T,p) +#define IRpcStubBuffer_DebugServerRelease(T,p) (T)->lpVtbl->DebugServerRelease(T,p) +#define IPSFactoryBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IPSFactoryBuffer_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IPSFactoryBuffer_Release(This) (This)->lpVtbl->Release(This) +#define IPSFactoryBuffer_CreateProxy(T,U,r,P,p) (T)->lpVtbl->CreateProxy(T,U,r,P,p) +#define IPSFactoryBuffer_CreateStub(T,r,U,p) (T)->lpVtbl->CreateStub(T,r,U,p) +#endif /* COBJMACROS */ + +#endif diff --git a/winsup/w32api/include/ocidl.h b/winsup/w32api/include/ocidl.h new file mode 100644 index 000000000..2618d841d --- /dev/null +++ b/winsup/w32api/include/ocidl.h @@ -0,0 +1,7 @@ +#ifndef _OCIDL_H +#define _OCIDL_H + +#include <ole2.h> +#include <olectl.h> + +#endif diff --git a/winsup/w32api/include/ole.h b/winsup/w32api/include/ole.h new file mode 100644 index 000000000..1aa3f0245 --- /dev/null +++ b/winsup/w32api/include/ole.h @@ -0,0 +1,304 @@ +#ifndef _OLE_H +#define _OLE_H +#ifdef __cplusplus +extern "C" { +#endif +#ifdef STRICT +#define OLE_LPCSTR LPCSTR +#define OLE_CONST const +#else +#define OLE_LPCSTR LPSTR +#define OLE_CONST +#endif +#define LRESULT LONG +#define HGLOBAL HANDLE +#define OT_LINK 1L +#define OT_EMBEDDED 2L +#define OT_STATIC 3L +#define OLEVERB_PRIMARY 0 +#define OF_SET 1 +#define OF_GET 2 +#define OF_HANDLER 4 + +typedef struct _OLETARGETDEVICE { + USHORT otdDeviceNameOffset; + USHORT otdDriverNameOffset; + USHORT otdPortNameOffset; + USHORT otdExtDevmodeOffset; + USHORT otdExtDevmodeSize; + USHORT otdEnvironmentOffset; + USHORT otdEnvironmentSize; + BYTE otdData[1]; +} OLETARGETDEVICE; +typedef OLETARGETDEVICE *LPOLETARGETDEVICE; +typedef enum { +OLE_OK, +OLE_WAIT_FOR_RELEASE, +OLE_BUSY, +OLE_ERROR_PROTECT_ONLY, +OLE_ERROR_MEMORY, +OLE_ERROR_STREAM, +OLE_ERROR_STATIC, +OLE_ERROR_BLANK, +OLE_ERROR_DRAW, +OLE_ERROR_METAFILE, +OLE_ERROR_ABORT, +OLE_ERROR_CLIPBOARD, +OLE_ERROR_FORMAT, +OLE_ERROR_OBJECT, +OLE_ERROR_OPTION, +OLE_ERROR_PROTOCOL, +OLE_ERROR_ADDRESS, +OLE_ERROR_NOT_EQUAL, +OLE_ERROR_HANDLE, +OLE_ERROR_GENERIC, +OLE_ERROR_CLASS, +OLE_ERROR_SYNTAX, +OLE_ERROR_DATATYPE, +OLE_ERROR_PALETTE, +OLE_ERROR_NOT_LINK, +OLE_ERROR_NOT_EMPTY, +OLE_ERROR_SIZE, +OLE_ERROR_DRIVE, +OLE_ERROR_NETWORK, +OLE_ERROR_NAME, +OLE_ERROR_TEMPLATE, +OLE_ERROR_NEW, +OLE_ERROR_EDIT, +OLE_ERROR_OPEN, +OLE_ERROR_NOT_OPEN, +OLE_ERROR_LAUNCH, +OLE_ERROR_COMM, +OLE_ERROR_TERMINATE, +OLE_ERROR_COMMAND, +OLE_ERROR_SHOW, +OLE_ERROR_DOVERB, +OLE_ERROR_ADVISE_NATIVE, +OLE_ERROR_ADVISE_PICT, +OLE_ERROR_ADVISE_RENAME, +OLE_ERROR_POKE_NATIVE, +OLE_ERROR_REQUEST_NATIVE, +OLE_ERROR_REQUEST_PICT, +OLE_ERROR_SERVER_BLOCKED, +OLE_ERROR_REGISTRATION, +OLE_ERROR_ALREADY_REGISTERED, +OLE_ERROR_TASK, +OLE_ERROR_OUTOFDATE, +OLE_ERROR_CANT_UPDATE_CLIENT, +OLE_ERROR_UPDATE, +OLE_ERROR_SETDATA_FORMAT, +OLE_ERROR_STATIC_FROM_OTHER_OS, +OLE_ERROR_FILE_VER, +OLE_WARN_DELETE_DATA = 1000 +} OLESTATUS; +typedef enum { + OLE_CHANGED, + OLE_SAVED, + OLE_CLOSED, + OLE_RENAMED, + OLE_QUERY_PAINT, + OLE_RELEASE, + OLE_QUERY_RETRY +} OLE_NOTIFICATION; +typedef enum { + OLE_NONE, + OLE_DELETE, + OLE_LNKPASTE, + OLE_EMBPASTE, + OLE_SHOW, + OLE_RUN, + OLE_ACTIVATE, + OLE_UPDATE, + OLE_CLOSE, + OLE_RECONNECT, + OLE_SETUPDATEOPTIONS, + OLE_SERVERUNLAUNCH, + OLE_LOADFROMSTREAM, + OLE_SETDATA, + OLE_REQUESTDATA, + OLE_OTHER, + OLE_CREATE, + OLE_CREATEFROMTEMPLATE, + OLE_CREATELINKFROMFILE, + OLE_COPYFROMLNK, + OLE_CREATEFROMFILE, + OLE_CREATEINVISIBLE +} OLE_RELEASE_METHOD; +typedef enum { + olerender_none, + olerender_draw, + olerender_format + } OLEOPT_RENDER; +typedef WORD OLECLIPFORMAT; +typedef enum { + oleupdate_always, + oleupdate_onsave, +#ifdef OLE_INTERNAL + oleupdate_oncall, + oleupdate_onclose +#else + oleupdate_oncall +#endif +} OLEOPT_UPDATE; +typedef HANDLE HOBJECT; +typedef LONG LHSERVER; +typedef LONG LHCLIENTDOC; +typedef LONG LHSERVERDOC; +typedef struct _OLEOBJECT *LPOLEOBJECT; +typedef struct _OLESTREAM *LPOLESTREAM; +typedef struct _OLECLIENT *LPOLECLIENT; +typedef struct _OLEOBJECTVTBL { + void *(CALLBACK* QueryProtocol)(LPOLEOBJECT,OLE_LPCSTR); + OLESTATUS (CALLBACK* Release)(LPOLEOBJECT); + OLESTATUS (CALLBACK* Show)(LPOLEOBJECT,BOOL); + OLESTATUS (CALLBACK* DoVerb)(LPOLEOBJECT,UINT,BOOL,BOOL); + OLESTATUS (CALLBACK* GetData)(LPOLEOBJECT,OLECLIPFORMAT,HANDLE*); + OLESTATUS (CALLBACK* SetData)(LPOLEOBJECT,OLECLIPFORMAT,HANDLE); + OLESTATUS (CALLBACK* SetTargetDevice)(LPOLEOBJECT,HGLOBAL); + OLESTATUS (CALLBACK* SetBounds)(LPOLEOBJECT,OLE_CONST RECT*); + OLECLIPFORMAT (CALLBACK* EnumFormats)(LPOLEOBJECT,OLECLIPFORMAT); + OLESTATUS (CALLBACK* SetColorScheme)(LPOLEOBJECT,OLE_CONST LOGPALETTE*); +#ifndef SERVERONLY + OLESTATUS (CALLBACK* Delete)(LPOLEOBJECT); + OLESTATUS (CALLBACK* SetHostNames)(LPOLEOBJECT,OLE_LPCSTR,OLE_LPCSTR); + OLESTATUS (CALLBACK* SaveToStream)(LPOLEOBJECT,LPOLESTREAM); + OLESTATUS (CALLBACK* Clone)(LPOLEOBJECT,LPOLECLIENT,LHCLIENTDOC,OLE_LPCSTR,LPOLEOBJECT*); + OLESTATUS (CALLBACK* CopyFromLink)(LPOLEOBJECT,LPOLECLIENT,LHCLIENTDOC,OLE_LPCSTR,LPOLEOBJECT*); + OLESTATUS (CALLBACK* Equal)(LPOLEOBJECT,LPOLEOBJECT); + OLESTATUS (CALLBACK* CopyToClipboard)(LPOLEOBJECT); + OLESTATUS (CALLBACK* Draw)(LPOLEOBJECT,HDC,OLE_CONST RECT*,OLE_CONST RECT*,HDC); + OLESTATUS (CALLBACK* Activate)(LPOLEOBJECT,UINT,BOOL,BOOL,HWND,OLE_CONST RECT*); + OLESTATUS (CALLBACK* Execute)(LPOLEOBJECT,HGLOBAL,UINT); + OLESTATUS (CALLBACK* Close)(LPOLEOBJECT); + OLESTATUS (CALLBACK* Update)(LPOLEOBJECT); + OLESTATUS (CALLBACK* Reconnect)(LPOLEOBJECT); + OLESTATUS (CALLBACK* ObjectConvert)(LPOLEOBJECT,OLE_LPCSTR,LPOLECLIENT,LHCLIENTDOC,OLE_LPCSTR,LPOLEOBJECT*); + OLESTATUS (CALLBACK* GetLinkUpdateOptions)(LPOLEOBJECT,OLEOPT_UPDATE*); + OLESTATUS (CALLBACK* SetLinkUpdateOptions)(LPOLEOBJECT,OLEOPT_UPDATE); + OLESTATUS (CALLBACK* Rename)(LPOLEOBJECT,OLE_LPCSTR); + OLESTATUS (CALLBACK* QueryName)(LPOLEOBJECT,LPSTR,UINT*); + OLESTATUS (CALLBACK* QueryType)(LPOLEOBJECT,LONG*); + OLESTATUS (CALLBACK* QueryBounds)(LPOLEOBJECT,RECT*); + OLESTATUS (CALLBACK* QuerySize)(LPOLEOBJECT,DWORD*); + OLESTATUS (CALLBACK* QueryOpen)(LPOLEOBJECT); + OLESTATUS (CALLBACK* QueryOutOfDate)(LPOLEOBJECT); + OLESTATUS (CALLBACK* QueryReleaseStatus)(LPOLEOBJECT); + OLESTATUS (CALLBACK* QueryReleaseError)(LPOLEOBJECT); + OLE_RELEASE_METHOD (CALLBACK* QueryReleaseMethod)(LPOLEOBJECT); + OLESTATUS (CALLBACK* RequestData)(LPOLEOBJECT,OLECLIPFORMAT); + OLESTATUS (CALLBACK* ObjectLong)(LPOLEOBJECT,UINT,LONG*); + OLESTATUS (CALLBACK* ChangeData)(LPOLEOBJECT,HANDLE,LPOLECLIENT,BOOL); +#endif +} OLEOBJECTVTBL; +typedef OLEOBJECTVTBL*LPOLEOBJECTVTBL; +#ifndef OLE_INTERNAL +typedef struct _OLEOBJECT { LPOLEOBJECTVTBL lpvtbl; } OLEOBJECT; +#endif +typedef struct _OLECLIENTVTBL { int (CALLBACK* CallBack)(LPOLECLIENT,OLE_NOTIFICATION,LPOLEOBJECT); } OLECLIENTVTBL; +typedef OLECLIENTVTBL *LPOLECLIENTVTBL; +typedef struct _OLECLIENT { LPOLECLIENTVTBL lpvtbl; } OLECLIENT; +typedef struct _OLESTREAMVTBL { + DWORD (CALLBACK* Get)(LPOLESTREAM,void*,DWORD); + DWORD (CALLBACK* Put)(LPOLESTREAM,OLE_CONST void*,DWORD); +} OLESTREAMVTBL; +typedef OLESTREAMVTBL *LPOLESTREAMVTBL; +typedef struct _OLESTREAM { LPOLESTREAMVTBL lpstbl; } OLESTREAM; +typedef enum { + OLE_SERVER_MULTI, + OLE_SERVER_SINGLE +} OLE_SERVER_USE; +typedef struct _OLESERVER *LPOLESERVER; +typedef struct _OLESERVERDOC *LPOLESERVERDOC; +typedef struct _OLESERVERVTBL { + OLESTATUS (CALLBACK* Open)(LPOLESERVER,LHSERVERDOC,OLE_LPCSTR,LPOLESERVERDOC*); + OLESTATUS (CALLBACK* Create)(LPOLESERVER,LHSERVERDOC,OLE_LPCSTR,OLE_LPCSTR,LPOLESERVERDOC*); + OLESTATUS (CALLBACK* CreateFromTemplate)(LPOLESERVER,LHSERVERDOC,OLE_LPCSTR,OLE_LPCSTR,OLE_LPCSTR,LPOLESERVERDOC*); + OLESTATUS (CALLBACK* Edit)(LPOLESERVER,LHSERVERDOC,OLE_LPCSTR,OLE_LPCSTR,LPOLESERVERDOC*); + OLESTATUS (CALLBACK* Exit)(LPOLESERVER); + OLESTATUS (CALLBACK* Release)(LPOLESERVER); + OLESTATUS (CALLBACK* Execute)(LPOLESERVER,HGLOBAL); +} OLESERVERVTBL; +typedef OLESERVERVTBL *LPOLESERVERVTBL; +typedef struct _OLESERVER { LPOLESERVERVTBL lpvtbl; } OLESERVER; +typedef struct _OLESERVERDOCVTBL { + OLESTATUS (CALLBACK* Save)(LPOLESERVERDOC); + OLESTATUS (CALLBACK* Close)(LPOLESERVERDOC); + OLESTATUS (CALLBACK* SetHostNames)(LPOLESERVERDOC,OLE_LPCSTR,OLE_LPCSTR); + OLESTATUS (CALLBACK* SetDocDimensions)(LPOLESERVERDOC,OLE_CONST RECT*); + OLESTATUS (CALLBACK* GetObject)(LPOLESERVERDOC,OLE_LPCSTR,LPOLEOBJECT*,LPOLECLIENT); + OLESTATUS (CALLBACK* Release)(LPOLESERVERDOC); + OLESTATUS (CALLBACK* SetColorScheme)(LPOLESERVERDOC,OLE_CONST LOGPALETTE*); + OLESTATUS (CALLBACK* Execute)(LPOLESERVERDOC,HGLOBAL); +} OLESERVERDOCVTBL; +typedef OLESERVERDOCVTBL *LPOLESERVERDOCVTBL; +typedef struct _OLESERVERDOC { LPOLESERVERDOCVTBL lpvtbl; } OLESERVERDOC; +OLESTATUS WINAPI OleDelete(LPOLEOBJECT); +OLESTATUS WINAPI OleRelease(LPOLEOBJECT); +OLESTATUS WINAPI OleSaveToStream(LPOLEOBJECT,LPOLESTREAM); +OLESTATUS WINAPI OleEqual(LPOLEOBJECT,LPOLEOBJECT ); +OLESTATUS WINAPI OleCopyToClipboard(LPOLEOBJECT); +OLESTATUS WINAPI OleSetHostNames(LPOLEOBJECT,LPCSTR,LPCSTR); +OLESTATUS WINAPI OleSetTargetDevice(LPOLEOBJECT,HGLOBAL); +OLESTATUS WINAPI OleSetBounds(LPOLEOBJECT,LPCRECT); +OLESTATUS WINAPI OleSetColorScheme(LPOLEOBJECT,const LOGPALETTE*); +OLESTATUS WINAPI OleQueryBounds(LPOLEOBJECT,RECT*); +OLESTATUS WINAPI OleQuerySize(LPOLEOBJECT,DWORD*); +OLESTATUS WINAPI OleDraw(LPOLEOBJECT,HDC,LPCRECT,LPCRECT,HDC); +OLESTATUS WINAPI OleQueryOpen(LPOLEOBJECT); +OLESTATUS WINAPI OleActivate(LPOLEOBJECT,UINT,BOOL,BOOL,HWND,LPCRECT); +OLESTATUS WINAPI OleExecute(LPOLEOBJECT,HGLOBAL,UINT); +OLESTATUS WINAPI OleClose(LPOLEOBJECT); +OLESTATUS WINAPI OleUpdate(LPOLEOBJECT); +OLESTATUS WINAPI OleReconnect(LPOLEOBJECT); +OLESTATUS WINAPI OleGetLinkUpdateOptions(LPOLEOBJECT,OLEOPT_UPDATE*); +OLESTATUS WINAPI OleSetLinkUpdateOptions(LPOLEOBJECT,OLEOPT_UPDATE); +void *WINAPI OleQueryProtocol(LPOLEOBJECT,LPCSTR); +OLESTATUS WINAPI OleQueryReleaseStatus(LPOLEOBJECT); +OLESTATUS WINAPI OleQueryReleaseError(LPOLEOBJECT); +OLE_RELEASE_METHOD WINAPI OleQueryReleaseMethod(LPOLEOBJECT); +OLESTATUS WINAPI OleQueryType(LPOLEOBJECT,LONG*); +DWORD WINAPI OleQueryClientVersion(void); +DWORD WINAPI OleQueryServerVersion(void); +OLECLIPFORMAT WINAPI OleEnumFormats(LPOLEOBJECT,OLECLIPFORMAT); +OLESTATUS WINAPI OleGetData(LPOLEOBJECT,OLECLIPFORMAT,HANDLE*); +OLESTATUS WINAPI OleSetData(LPOLEOBJECT,OLECLIPFORMAT,HANDLE); +OLESTATUS WINAPI OleQueryOutOfDate(LPOLEOBJECT); +OLESTATUS WINAPI OleRequestData(LPOLEOBJECT,OLECLIPFORMAT); +OLESTATUS WINAPI OleQueryLinkFromClip(LPCSTR,OLEOPT_RENDER,OLECLIPFORMAT); +OLESTATUS WINAPI OleQueryCreateFromClip(LPCSTR,OLEOPT_RENDER,OLECLIPFORMAT); +OLESTATUS WINAPI OleCreateFromClip(LPCSTR,LPOLECLIENT,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*,OLEOPT_RENDER,OLECLIPFORMAT); +OLESTATUS WINAPI OleCreateLinkFromClip(LPCSTR,LPOLECLIENT,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*,OLEOPT_RENDER,OLECLIPFORMAT); +OLESTATUS WINAPI OleCreateFromFile(LPCSTR,LPOLECLIENT,LPCSTR,LPCSTR,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*,OLEOPT_RENDER,OLECLIPFORMAT); +OLESTATUS WINAPI OleCreateLinkFromFile(LPCSTR,LPOLECLIENT,LPCSTR,LPCSTR,LPCSTR,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*,OLEOPT_RENDER,OLECLIPFORMAT); +OLESTATUS WINAPI OleLoadFromStream(LPOLESTREAM,LPCSTR,LPOLECLIENT,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*); +OLESTATUS WINAPI OleCreate(LPCSTR,LPOLECLIENT,LPCSTR,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*,OLEOPT_RENDER,OLECLIPFORMAT); +OLESTATUS WINAPI OleCreateInvisible(LPCSTR,LPOLECLIENT,LPCSTR,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*,OLEOPT_RENDER,OLECLIPFORMAT,BOOL); +OLESTATUS WINAPI OleCreateFromTemplate(LPCSTR,LPOLECLIENT,LPCSTR,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*,OLEOPT_RENDER,OLECLIPFORMAT); +OLESTATUS WINAPI OleClone(LPOLEOBJECT,LPOLECLIENT,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*); +OLESTATUS WINAPI OleCopyFromLink(LPOLEOBJECT,LPCSTR,LPOLECLIENT,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*); +OLESTATUS WINAPI OleObjectConvert(LPOLEOBJECT,LPCSTR,LPOLECLIENT,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*); +OLESTATUS WINAPI OleRename(LPOLEOBJECT,LPCSTR); +OLESTATUS WINAPI OleQueryName(LPOLEOBJECT,LPSTR,UINT*); +OLESTATUS WINAPI OleRevokeObject(LPOLECLIENT); +BOOL WINAPI OleIsDcMeta(HDC); +OLESTATUS WINAPI OleRegisterClientDoc(LPCSTR,LPCSTR,LONG,LHCLIENTDOC*); +OLESTATUS WINAPI OleRevokeClientDoc(LHCLIENTDOC); +OLESTATUS WINAPI OleRenameClientDoc(LHCLIENTDOC,LPCSTR); +OLESTATUS WINAPI OleRevertClientDoc(LHCLIENTDOC); +OLESTATUS WINAPI OleSavedClientDoc(LHCLIENTDOC); +OLESTATUS WINAPI OleEnumObjects(LHCLIENTDOC,LPOLEOBJECT*); +OLESTATUS WINAPI OleRegisterServer(LPCSTR,LPOLESERVER,LHSERVER*,HINSTANCE,OLE_SERVER_USE); +OLESTATUS WINAPI OleRevokeServer(LHSERVER); +OLESTATUS WINAPI OleBlockServer(LHSERVER); +OLESTATUS WINAPI OleUnblockServer(LHSERVER,BOOL*); +OLESTATUS WINAPI OleLockServer(LPOLEOBJECT,LHSERVER*); +OLESTATUS WINAPI OleUnlockServer(LHSERVER); +OLESTATUS WINAPI OleRegisterServerDoc(LHSERVER,LPCSTR,LPOLESERVERDOC,LHSERVERDOC*); +OLESTATUS WINAPI OleRevokeServerDoc(LHSERVERDOC); +OLESTATUS WINAPI OleRenameServerDoc(LHSERVERDOC,LPCSTR); +OLESTATUS WINAPI OleRevertServerDoc(LHSERVERDOC); +OLESTATUS WINAPI OleSavedServerDoc(LHSERVERDOC); +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/ole2.h b/winsup/w32api/include/ole2.h new file mode 100644 index 000000000..0f5aa71fe --- /dev/null +++ b/winsup/w32api/include/ole2.h @@ -0,0 +1,106 @@ +#ifndef _OLE2_H +#define _OLE2_H +#pragma pack(push,8) +#include <winerror.h> +#include <objbase.h> +#include <olectlid.h> +#include <oleauto.h> + +#ifdef __cplusplus +extern "C" { +#endif +#define E_DRAW VIEW_E_DRAW +#define DATA_E_FORMATETC DV_E_FORMATETC +#define OLEIVERB_PRIMARY (0L) +#define OLEIVERB_SHOW (-1L) +#define OLEIVERB_OPEN (-2L) +#define OLEIVERB_HIDE (-3L) +#define OLEIVERB_UIACTIVATE (-4L) +#define OLEIVERB_INPLACEACTIVATE (-5L) +#define OLEIVERB_DISCARDUNDOSTATE (-6L) +#define EMBDHLP_INPROC_HANDLER 0x0000L +#define EMBDHLP_INPROC_SERVER 0x0001L +#define EMBDHLP_CREATENOW 0x00000000L +#define EMBDHLP_DELAYCREATE 0x00010000L +#include <oleidl.h> + +typedef struct _OLESTREAMVTBL *LPOLESTREAMVTBL; +typedef struct _OLESTREAM { + LPOLESTREAMVTBL lpstbl; +} OLESTREAM,*LPOLESTREAM; +typedef struct _OLESTREAMVTBL { + DWORD (CALLBACK* Get)(LPOLESTREAM,void*,DWORD); + DWORD (CALLBACK* Put)(LPOLESTREAM,const void*,DWORD); +} OLESTREAMVTBL; + +WINOLEAPI CreateDataAdviseHolder(LPDATAADVISEHOLDER*); +WINOLEAPI_(DWORD) OleBuildVersion(void); +WINOLEAPI ReadClassStg(LPSTORAGE,CLSID*); +WINOLEAPI WriteClassStg(LPSTORAGE,REFCLSID); +WINOLEAPI ReadClassStm(LPSTREAM,CLSID*); +WINOLEAPI WriteClassStm(LPSTREAM,REFCLSID); +WINOLEAPI WriteFmtUserTypeStg(LPSTORAGE,CLIPFORMAT,LPOLESTR); +WINOLEAPI ReadFmtUserTypeStg(LPSTORAGE,CLIPFORMAT*,LPOLESTR*); +WINOLEAPI OleInitialize(PVOID); +WINOLEAPI_(void) OleUninitialize(void); +WINOLEAPI OleQueryLinkFromData(LPDATAOBJECT); +WINOLEAPI OleQueryCreateFromData(LPDATAOBJECT); +WINOLEAPI OleCreate(REFCLSID,REFIID,DWORD,LPFORMATETC,LPOLECLIENTSITE,LPSTORAGE,PVOID*); +WINOLEAPI OleCreateFromData(LPDATAOBJECT,REFIID,DWORD,LPFORMATETC,LPOLECLIENTSITE,LPSTORAGE,PVOID*); +WINOLEAPI OleCreateLinkFromData(LPDATAOBJECT,REFIID,DWORD,LPFORMATETC,LPOLECLIENTSITE,LPSTORAGE,PVOID*); +WINOLEAPI OleCreateStaticFromData(LPDATAOBJECT,REFIID,DWORD,LPFORMATETC,LPOLECLIENTSITE,LPSTORAGE,PVOID*); +WINOLEAPI OleCreateLink(LPMONIKER,REFIID,DWORD,LPFORMATETC,LPOLECLIENTSITE,LPSTORAGE,PVOID*); +WINOLEAPI OleCreateLinkToFile(LPCOLESTR,REFIID,DWORD,LPFORMATETC,LPOLECLIENTSITE,LPSTORAGE,PVOID*); +WINOLEAPI OleCreateFromFile(REFCLSID,LPCOLESTR,REFIID,DWORD,LPFORMATETC,LPOLECLIENTSITE,LPSTORAGE,PVOID*); +WINOLEAPI OleLoad(LPSTORAGE,REFIID,LPOLECLIENTSITE,PVOID*); +WINOLEAPI OleSave(LPPERSISTSTORAGE,LPSTORAGE,BOOL); +WINOLEAPI OleLoadFromStream(LPSTREAM,REFIID,PVOID*); +WINOLEAPI OleSaveToStream(LPPERSISTSTREAM,LPSTREAM); +WINOLEAPI OleSetContainedObject(LPUNKNOWN,BOOL); +WINOLEAPI OleNoteObjectVisible(LPUNKNOWN,BOOL); +WINOLEAPI RegisterDragDrop(HWND,LPDROPTARGET); +WINOLEAPI RevokeDragDrop(HWND); +WINOLEAPI DoDragDrop(LPDATAOBJECT,LPDROPSOURCE,DWORD,PDWORD); +WINOLEAPI OleSetClipboard(LPDATAOBJECT); +WINOLEAPI OleGetClipboard(LPDATAOBJECT*); +WINOLEAPI OleFlushClipboard(void); +WINOLEAPI OleIsCurrentClipboard(LPDATAOBJECT); +WINOLEAPI_(HOLEMENU) OleCreateMenuDescriptor(HMENU,LPOLEMENUGROUPWIDTHS); +WINOLEAPI OleSetMenuDescriptor(HOLEMENU,HWND,HWND,LPOLEINPLACEFRAME,LPOLEINPLACEACTIVEOBJECT); +WINOLEAPI OleDestroyMenuDescriptor(HOLEMENU); +WINOLEAPI OleTranslateAccelerator(LPOLEINPLACEFRAME,LPOLEINPLACEFRAMEINFO,LPMSG); +WINOLEAPI_(HANDLE) OleDuplicateData(HANDLE,CLIPFORMAT,UINT); +WINOLEAPI OleDraw(LPUNKNOWN,DWORD,HDC,LPCRECT); +WINOLEAPI OleRun(LPUNKNOWN); +WINOLEAPI_(BOOL) OleIsRunning(LPOLEOBJECT); +WINOLEAPI OleLockRunning(LPUNKNOWN,BOOL,BOOL); +WINOLEAPI_(void) ReleaseStgMedium(LPSTGMEDIUM); +WINOLEAPI CreateOleAdviseHolder(LPOLEADVISEHOLDER*); +WINOLEAPI OleCreateDefaultHandler(REFCLSID,LPUNKNOWN,REFIID,PVOID*); +WINOLEAPI OleCreateEmbeddingHelper(REFCLSID,LPUNKNOWN,DWORD,LPCLASSFACTORY,REFIID,PVOID*); +WINOLEAPI_(BOOL) IsAccelerator(HACCEL,int,LPMSG,WORD*); +WINOLEAPI_(HGLOBAL) OleGetIconOfFile(LPOLESTR,BOOL); +WINOLEAPI_(HGLOBAL) OleGetIconOfClass(REFCLSID,LPOLESTR,BOOL); +WINOLEAPI_(HGLOBAL) OleMetafilePictFromIconAndLabel(HICON,LPOLESTR,LPOLESTR,UINT); +WINOLEAPI OleRegGetUserType(REFCLSID,DWORD,LPOLESTR*); +WINOLEAPI OleRegGetMiscStatus(REFCLSID,DWORD,DWORD*); +WINOLEAPI OleRegEnumFormatEtc (REFCLSID,DWORD,LPENUMFORMATETC*); +WINOLEAPI OleRegEnumVerbs (REFCLSID,LPENUMOLEVERB*); +WINOLEAPI OleConvertOLESTREAMToIStorage(LPOLESTREAM,LPSTORAGE,const DVTARGETDEVICE*); +WINOLEAPI OleConvertIStorageToOLESTREAM(LPSTORAGE,LPOLESTREAM); +WINOLEAPI GetHGlobalFromILockBytes(LPLOCKBYTES,HGLOBAL*); +WINOLEAPI CreateILockBytesOnHGlobal(HGLOBAL,BOOL,LPLOCKBYTES*); +WINOLEAPI GetHGlobalFromStream(LPSTREAM,HGLOBAL*); +WINOLEAPI CreateStreamOnHGlobal(HGLOBAL,BOOL,LPSTREAM*); +WINOLEAPI OleDoAutoConvert(LPSTORAGE,LPCLSID); +WINOLEAPI OleGetAutoConvert(REFCLSID,LPCLSID); +WINOLEAPI OleSetAutoConvert(REFCLSID,REFCLSID); +WINOLEAPI GetConvertStg(LPSTORAGE); +WINOLEAPI SetConvertStg(LPSTORAGE,BOOL); +WINOLEAPI OleConvertIStorageToOLESTREAMEx(LPSTORAGE,CLIPFORMAT,LONG,LONG,DWORD,LPSTGMEDIUM,LPOLESTREAM); +WINOLEAPI OleConvertOLESTREAMToIStorageEx(LPOLESTREAM,LPSTORAGE,CLIPFORMAT*,LONG*,LONG*,DWORD*,LPSTGMEDIUM); +#ifdef __cplusplus +} +#endif +#pragma pack(pop) +#endif diff --git a/winsup/w32api/include/ole2ver.h b/winsup/w32api/include/ole2ver.h new file mode 100644 index 000000000..c7741dc19 --- /dev/null +++ b/winsup/w32api/include/ole2ver.h @@ -0,0 +1,5 @@ +#ifndef _OLE2VER_H +#define _OLE2VER_H +#define rmm 23 +#define rup 639 +#endif diff --git a/winsup/w32api/include/oleauto.h b/winsup/w32api/include/oleauto.h new file mode 100644 index 000000000..1b60e267d --- /dev/null +++ b/winsup/w32api/include/oleauto.h @@ -0,0 +1,252 @@ +#ifndef _OLEAUTO_H +#define _OLEAUTO_H +#pragma pack(push,8) +#define WINOLEAUTAPI STDAPI +#define WINOLEAUTAPI_(type) STDAPI_(type) +#define STDOLE_MAJORVERNUM 1 +#define STDOLE_MINORVERNUM 0 +#define STDOLE_LCID 0 +#define VARIANT_NOVALUEPROP 1 +#define VAR_TIMEVALUEONLY 0x0001 +#define VAR_DATEVALUEONLY 0x0002 +#define MEMBERID_NIL DISPID_UNKNOWN +#define ID_DEFAULTINST (-2) +#define DISPATCH_METHOD 1 +#define DISPATCH_PROPERTYGET 2 +#define DISPATCH_PROPERTYPUT 4 +#define DISPATCH_PROPERTYPUTREF 8 +#define LHashValOfName(l,n) LHashValOfNameSys(SYS_WIN32,l,n) +#define WHashValOfLHashVal(h) ((unsigned short)(0x0000ffff&(h))) +#define IsHashValCompatible(h1,h2) ((BOOL)((0x00ff0000&(h1))==(0x00ff0000&(h2)))) +#define ACTIVEOBJECT_STRONG 0 +#define ACTIVEOBJECT_WEAK 1 +#ifdef NONAMELESSUNION +#define V_UNION(X,Y) ((X)->u.Y) +#else +#define V_UNION(X,Y) ((X)->Y) +#endif +#ifdef __cplusplus +#define V_BOOL(X) V_UNION(X,boolVal) +#else +#define V_BOOL(X) V_UNION(X,bool) +#endif +#define V_VT(X) ((X)->vt) +#define V_ISBYREF(X) (V_VT(X)&VT_BYREF) +#define V_ISARRAY(X) (V_VT(X)&VT_ARRAY) +#define V_ISVECTOR(X) (V_VT(X)&VT_VECTOR) +#define V_NONE(X) V_I2(X) +#define V_UI1(X) V_UNION(X,bVal) +#define V_UI1REF(X) V_UNION(X,pbVal) +#define V_I2(X) V_UNION(X,iVal) +#define V_I2REF(X) V_UNION(X,piVal) +#define V_I4(X) V_UNION(X,lVal) +#define V_I4REF(X) V_UNION(X,plVal) +#define V_I8(X) V_UNION(X,hVal) +#define V_I8REF(X) V_UNION(X,phVal) +#define V_R4(X) V_UNION(X,fltVal) +#define V_R4REF(X) V_UNION(X,pfltVal) +#define V_R8(X) V_UNION(X,dblVal) +#define V_R8REF(X) V_UNION(X,pdblVal) +#define V_CY(X) V_UNION(X,cyVal) +#define V_CYREF(X) V_UNION(X,pcyVal) +#define V_DATE(X) V_UNION(X,date) +#define V_DATEREF(X) V_UNION(X,pdate) +#define V_BSTR(X) V_UNION(X,bstrVal) +#define V_BSTRREF(X) V_UNION(X,pbstrVal) +#define V_DISPATCH(X) V_UNION(X,pdispVal) +#define V_DISPATCHREF(X) V_UNION(X,ppdispVal) +#define V_ERROR(X) V_UNION(X,scode) +#define V_ERRORREF(X) V_UNION(X,pscode) +#define V_BOOLREF(X) V_UNION(X,pboolVal) +#define V_UNKNOWN(X) V_UNION(X,punkVal) +#define V_UNKNOWNREF(X) V_UNION(X,ppunkVal) +#define V_VARIANTREF(X) V_UNION(X,pvarVal) +#define V_LPSTR(X) V_UNION(X,pszVal) +#define V_LPSTRREF(X) V_UNION(X,ppszVal) +#define V_LPWSTR(X) V_UNION(X,pwszVal) +#define V_LPWSTRREF(X) V_UNION(X,ppwszVal) +#define V_FILETIME(X) V_UNION(X,filetime) +#define V_FILETIMEREF(X) V_UNION(X,pfiletime) +#define V_BLOB(X) V_UNION(X,blob) +#define V_UUID(X) V_UNION(X,puuid) +#define V_CLSID(X) V_UNION(X,puuid) +#define V_ARRAY(X) V_UNION(X,parray) +#define V_ARRAYREF(X) V_UNION(X,pparray) +#define V_BYREF(X) V_UNION(X,byref) +#define V_DECIMAL(X) V_UNION(X,decVal) +#define V_DECIMALREF(X) V_UNION(X,pdecVal) + +#include <oaidl.h> + +typedef enum tagREGKIND { + REGKIND_DEFAULT, + REGKIND_REGISTER, + REGKIND_NONE +} REGKIND; +typedef struct tagPARAMDATA { + OLECHAR *szName; + VARTYPE vt; +} PARAMDATA,*LPPARAMDATA; +typedef struct tagMETHODDATA { + OLECHAR *szName; + PARAMDATA *ppdata; + DISPID dispid; + UINT iMeth; + CALLCONV cc; + UINT cArgs; + WORD wFlags; + VARTYPE vtReturn; +} METHODDATA,*LPMETHODDATA; +typedef struct tagINTERFACEDATA { + METHODDATA *pmethdata; + UINT cMembers; +} INTERFACEDATA,*LPINTERFACEDATA; + +WINOLEAUTAPI_(BSTR) SysAllocString(const OLECHAR*); +WINOLEAUTAPI_(int) SysReAllocString(BSTR*,const OLECHAR*); +WINOLEAUTAPI_(BSTR) SysAllocStringLen(const OLECHAR*,unsigned int); +WINOLEAUTAPI_(int) SysReAllocStringLen(BSTR*,const OLECHAR*,unsigned int); +WINOLEAUTAPI_(void) SysFreeString(BSTR); +WINOLEAUTAPI_(unsigned int) SysStringLen(BSTR); +WINOLEAUTAPI_(unsigned int) SysStringByteLen(BSTR); +WINOLEAUTAPI_(BSTR) SysAllocStringByteLen(const char*,unsigned int); +WINOLEAUTAPI_(int) DosDateTimeToVariantTime(unsigned short,unsigned short,double*); +WINOLEAUTAPI_(int) VariantTimeToDosDateTime(double,unsigned short*,unsigned short*); +WINOLEAUTAPI_(int) VariantTimeToSystemTime(double,LPSYSTEMTIME); +WINOLEAUTAPI SafeArrayAllocDescriptor(unsigned int,SAFEARRAY**); +WINOLEAUTAPI SafeArrayAllocData(SAFEARRAY*); +WINOLEAUTAPI_(SAFEARRAY*) SafeArrayCreate(VARTYPE,unsigned int,SAFEARRAYBOUND*); +WINOLEAUTAPI SafeArrayDestroyDescriptor(SAFEARRAY*); +WINOLEAUTAPI SafeArrayDestroyData(SAFEARRAY*); +WINOLEAUTAPI SafeArrayDestroy(SAFEARRAY*); +WINOLEAUTAPI SafeArrayRedim(SAFEARRAY*,SAFEARRAYBOUND*); +WINOLEAUTAPI_(unsigned int) SafeArrayGetDim(SAFEARRAY*); +WINOLEAUTAPI_(unsigned int) SafeArrayGetElemsize(SAFEARRAY*); +WINOLEAUTAPI SafeArrayGetUBound(SAFEARRAY*,unsigned int,long*); +WINOLEAUTAPI SafeArrayGetLBound(SAFEARRAY*,unsigned int,long*); +WINOLEAUTAPI SafeArrayLock(SAFEARRAY*); +WINOLEAUTAPI SafeArrayUnlock(SAFEARRAY*); +WINOLEAUTAPI SafeArrayAccessData(SAFEARRAY*,void**); +WINOLEAUTAPI SafeArrayUnaccessData(SAFEARRAY*); +WINOLEAUTAPI SafeArrayGetElement(SAFEARRAY*,long*,void*); +WINOLEAUTAPI SafeArrayPutElement(SAFEARRAY*,long*,void*); +WINOLEAUTAPI SafeArrayCopy(SAFEARRAY*,SAFEARRAY**); +WINOLEAUTAPI SafeArrayPtrOfIndex(SAFEARRAY*,long*,void**); +WINOLEAUTAPI_(SAFEARRAY*) SafeArrayCreateVector(VARTYPE,LONG,UINT); +WINOLEAUTAPI_(void) VariantInit(VARIANTARG*); +WINOLEAUTAPI VariantClear(VARIANTARG*); +WINOLEAUTAPI VariantCopy(VARIANTARG*,VARIANTARG*); +WINOLEAUTAPI VariantCopyInd(VARIANT*,VARIANTARG*); +WINOLEAUTAPI VariantChangeType(VARIANTARG*,VARIANTARG*,unsigned short,VARTYPE); +WINOLEAUTAPI VariantChangeTypeEx(VARIANTARG*,VARIANTARG*,LCID,unsigned short,VARTYPE); +WINOLEAUTAPI VarUI1FromI2(short,unsigned char*); +WINOLEAUTAPI VarUI1FromI4(long,unsigned char*); +WINOLEAUTAPI VarUI1FromR4(float,unsigned char*); +WINOLEAUTAPI VarUI1FromR8(double,unsigned char*); +WINOLEAUTAPI VarUI1FromCy(CY,unsigned char*); +WINOLEAUTAPI VarUI1FromDate(DATE,unsigned char*); +WINOLEAUTAPI VarUI1FromStr(OLECHAR*,LCID,unsigned long,unsigned char*); +WINOLEAUTAPI VarUI1FromDisp(LPDISPATCH*,LCID,unsigned char*); +WINOLEAUTAPI VarUI1FromBool(VARIANT_BOOL,unsigned char*); +WINOLEAUTAPI VarI2FromUI1(unsigned char,short*); +WINOLEAUTAPI VarI2FromI4(long,short*); +WINOLEAUTAPI VarI2FromR4(float,short*); +WINOLEAUTAPI VarI2FromR8(double,short*); +WINOLEAUTAPI VarI2FromCy(CY cyIn,short*); +WINOLEAUTAPI VarI2FromDate(DATE,short*); +WINOLEAUTAPI VarI2FromStr(OLECHAR*,LCID,unsigned long,short*); +WINOLEAUTAPI VarI2FromDisp(LPDISPATCH*,LCID,short*); +WINOLEAUTAPI VarI2FromBool(VARIANT_BOOL,short*); +WINOLEAUTAPI VarI4FromUI1(unsigned char,long*); +WINOLEAUTAPI VarI4FromI2(short,long*); +WINOLEAUTAPI VarI4FromR4(float,long*); +WINOLEAUTAPI VarI4FromR8(double,long*); +WINOLEAUTAPI VarI4FromCy(CY,long*); +WINOLEAUTAPI VarI4FromDate(DATE,long*); +WINOLEAUTAPI VarI4FromStr(OLECHAR*,LCID,unsigned long,long*); +WINOLEAUTAPI VarI4FromDisp(LPDISPATCH*,LCID,long*); +WINOLEAUTAPI VarI4FromBool(VARIANT_BOOL,long*); +WINOLEAUTAPI VarR4FromUI1(unsigned char,float*); +WINOLEAUTAPI VarR4FromI2(short,float*); +WINOLEAUTAPI VarR4FromI4(long,float*); +WINOLEAUTAPI VarR4FromR8(double,float*); +WINOLEAUTAPI VarR4FromCy(CY,float*); +WINOLEAUTAPI VarR4FromDate(DATE,float*); +WINOLEAUTAPI VarR4FromStr(OLECHAR*,LCID,unsigned long,float*); +WINOLEAUTAPI VarR4FromDisp(LPDISPATCH*,LCID,float*); +WINOLEAUTAPI VarR4FromBool(VARIANT_BOOL,float*); +WINOLEAUTAPI VarR8FromUI1(unsigned char,double*); +WINOLEAUTAPI VarR8FromI2(short,double*); +WINOLEAUTAPI VarR8FromI4(long,double*); +WINOLEAUTAPI VarR8FromR4(float,double*); +WINOLEAUTAPI VarR8FromCy(CY,double*); +WINOLEAUTAPI VarR8FromDate(DATE,double*); +WINOLEAUTAPI VarR8FromStr(OLECHAR*,LCID,unsigned long,double*); +WINOLEAUTAPI VarR8FromDisp(LPDISPATCH*,LCID,double*); +WINOLEAUTAPI VarR8FromBool(VARIANT_BOOL,double*); +WINOLEAUTAPI VarDateFromUI1(unsigned char,DATE*); +WINOLEAUTAPI VarDateFromI2(short,DATE*); +WINOLEAUTAPI VarDateFromI4(long,DATE*); +WINOLEAUTAPI VarDateFromR4(float,DATE*); +WINOLEAUTAPI VarDateFromR8(double,DATE*); +WINOLEAUTAPI VarDateFromCy(CY,DATE*); +WINOLEAUTAPI VarDateFromStr(OLECHAR*,LCID,unsigned long,DATE*); +WINOLEAUTAPI VarDateFromDisp(LPDISPATCH*,LCID,DATE*); +WINOLEAUTAPI VarDateFromBool(VARIANT_BOOL,DATE*); +WINOLEAUTAPI VarCyFromUI1(unsigned char,CY*); +WINOLEAUTAPI VarCyFromI2(short,CY*); +WINOLEAUTAPI VarCyFromI4(long,CY*); +WINOLEAUTAPI VarCyFromR4(float,CY*); +WINOLEAUTAPI VarCyFromR8(double,CY*); +WINOLEAUTAPI VarCyFromDate(DATE,CY*); +WINOLEAUTAPI VarCyFromStr(OLECHAR*,LCID,unsigned long,CY*); +WINOLEAUTAPI VarCyFromDisp(LPDISPATCH*,LCID,CY*); +WINOLEAUTAPI VarCyFromBool(VARIANT_BOOL,CY*); +WINOLEAUTAPI VarBstrFromUI1(unsigned char,LCID,unsigned long,BSTR*); +WINOLEAUTAPI VarBstrFromI2(short,LCID,unsigned long,BSTR*); +WINOLEAUTAPI VarBstrFromI4(long,LCID,unsigned long,BSTR*); +WINOLEAUTAPI VarBstrFromR4(float,LCID,unsigned long,BSTR*); +WINOLEAUTAPI VarBstrFromR8(double,LCID,unsigned long,BSTR*); +WINOLEAUTAPI VarBstrFromCy(CY,LCID,unsigned long,BSTR*); +WINOLEAUTAPI VarBstrFromDate(DATE,LCID,unsigned long,BSTR*); +WINOLEAUTAPI VarBstrFromDisp(LPDISPATCH*,LCID,unsigned long,BSTR*); +WINOLEAUTAPI VarBstrFromBool(VARIANT_BOOL,LCID,unsigned long,BSTR*); +WINOLEAUTAPI VarBoolFromUI1(unsigned char,VARIANT_BOOL*); +WINOLEAUTAPI VarBoolFromI2(short,VARIANT_BOOL*); +WINOLEAUTAPI VarBoolFromI4(long,VARIANT_BOOL*); +WINOLEAUTAPI VarBoolFromR4(float,VARIANT_BOOL*); +WINOLEAUTAPI VarBoolFromR8(double,VARIANT_BOOL*); +WINOLEAUTAPI VarBoolFromDate(DATE,VARIANT_BOOL*); +WINOLEAUTAPI VarBoolFromCy(CY,VARIANT_BOOL*); +WINOLEAUTAPI VarBoolFromStr(OLECHAR*,LCID,unsigned long,VARIANT_BOOL*); +WINOLEAUTAPI VarBoolFromDisp(LPDISPATCH*,LCID,VARIANT_BOOL*); +WINOLEAUTAPI_(ULONG) LHashValOfNameSysA(SYSKIND,LCID,const char*); +WINOLEAUTAPI_(ULONG) LHashValOfNameSys(SYSKIND,LCID,const OLECHAR*); +WINOLEAUTAPI LoadTypeLib(const OLECHAR*,LPTYPELIB*); +WINOLEAUTAPI LoadTypeLibEx(LPCOLESTR,REGKIND,LPTYPELIB*); +WINOLEAUTAPI LoadRegTypeLib(REFGUID,WORD,WORD,LCID,LPTYPELIB*); +WINOLEAUTAPI QueryPathOfRegTypeLib(REFGUID,unsigned short,unsigned short,LCID,LPBSTR); +WINOLEAUTAPI RegisterTypeLib(LPTYPELIB,OLECHAR*,OLECHAR*); +WINOLEAUTAPI DeregisterTypeLib(REFGUID,WORD,WORD,LCID); +WINOLEAUTAPI CreateTypeLib(SYSKIND,const OLECHAR*,LPCREATETYPELIB*); +WINOLEAUTAPI DispGetParam(DISPPARAMS*,UINT,VARTYPE,VARIANT*,UINT*); +WINOLEAUTAPI DispGetIDsOfNames(LPTYPEINFO,OLECHAR**,UINT,DISPID*); +WINOLEAUTAPI DispInvoke(void*,LPTYPEINFO,DISPID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*); +WINOLEAUTAPI CreateDispTypeInfo(INTERFACEDATA*,LCID,LPTYPEINFO*); +WINOLEAUTAPI CreateStdDispatch(IUnknown*,void*,LPTYPEINFO,IUnknown**); +WINOLEAUTAPI RegisterActiveObject(IUnknown*,REFCLSID,DWORD,DWORD*); +WINOLEAUTAPI RevokeActiveObject(DWORD,void*); +WINOLEAUTAPI GetActiveObject(REFCLSID,void*,IUnknown**); +WINOLEAUTAPI SetErrorInfo(unsigned long,LPERRORINFO); +WINOLEAUTAPI GetErrorInfo(unsigned long,LPERRORINFO*); +WINOLEAUTAPI CreateErrorInfo(LPCREATEERRORINFO*); +WINOLEAUTAPI_(unsigned long) OaBuildVersion(void); +WINOLEAUTAPI VectorFromBstr (BSTR, SAFEARRAY **); +WINOLEAUTAPI BstrFromVector (SAFEARRAY *, BSTR *); + +WINOLEAUTAPI VarAdd(LPVARIANT, LPVARIANT, LPVARIANT); +WINOLEAUTAPI VarSub(LPVARIANT, LPVARIANT, LPVARIANT); +WINOLEAUTAPI VarMul(LPVARIANT, LPVARIANT, LPVARIANT); +WINOLEAUTAPI VarDiv(LPVARIANT, LPVARIANT, LPVARIANT); +#pragma pack(pop) +#endif diff --git a/winsup/w32api/include/olectl.h b/winsup/w32api/include/olectl.h new file mode 100644 index 000000000..97ea9f40d --- /dev/null +++ b/winsup/w32api/include/olectl.h @@ -0,0 +1,721 @@ +#ifndef _OLECTL_H +#define _OLECTL_H +#ifdef __cplusplus +extern "C" { +#endif + +#include <olectlid.h> + +#define STD_CTL_SCODE(n) MAKE_SCODE(SEVERITY_ERROR,FACILITY_CONTROL,n) +#define CTL_E_ILLEGALFUNCTIONCALL STD_CTL_SCODE(5) +#define CTL_E_OVERFLOW STD_CTL_SCODE(6) +#define CTL_E_OUTOFMEMORY STD_CTL_SCODE(7) +#define CTL_E_DIVISIONBYZERO STD_CTL_SCODE(11) +#define CTL_E_OUTOFSTRINGSPACE STD_CTL_SCODE(14) +#define CTL_E_OUTOFSTACKSPACE STD_CTL_SCODE(28) +#define CTL_E_BADFILENAMEORNUMBER STD_CTL_SCODE(52) +#define CTL_E_FILENOTFOUND STD_CTL_SCODE(53) +#define CTL_E_BADFILEMODE STD_CTL_SCODE(54) +#define CTL_E_FILEALREADYOPEN STD_CTL_SCODE(55) +#define CTL_E_DEVICEIOERROR STD_CTL_SCODE(57) +#define CTL_E_FILEALREADYEXISTS STD_CTL_SCODE(58) +#define CTL_E_BADRECORDLENGTH STD_CTL_SCODE(59) +#define CTL_E_DISKFULL STD_CTL_SCODE(61) +#define CTL_E_BADRECORDNUMBER STD_CTL_SCODE(63) +#define CTL_E_BADFILENAME STD_CTL_SCODE(64) +#define CTL_E_TOOMANYFILES STD_CTL_SCODE(67) +#define CTL_E_DEVICEUNAVAILABLE STD_CTL_SCODE(68) +#define CTL_E_PERMISSIONDENIED STD_CTL_SCODE(70) +#define CTL_E_DISKNOTREADY STD_CTL_SCODE(71) +#define CTL_E_PATHFILEACCESSERROR STD_CTL_SCODE(75) +#define CTL_E_PATHNOTFOUND STD_CTL_SCODE(76) +#define CTL_E_INVALIDPATTERNSTRING STD_CTL_SCODE(93) +#define CTL_E_INVALIDUSEOFNULL STD_CTL_SCODE(94) +#define CTL_E_INVALIDFILEFORMAT STD_CTL_SCODE(321) +#define CTL_E_INVALIDPROPERTYVALUE STD_CTL_SCODE(380) +#define CTL_E_INVALIDPROPERTYARRAYINDEX STD_CTL_SCODE(381) +#define CTL_E_SETNOTSUPPORTEDATRUNTIME STD_CTL_SCODE(382) +#define CTL_E_SETNOTSUPPORTED STD_CTL_SCODE(383) +#define CTL_E_NEEDPROPERTYARRAYINDEX STD_CTL_SCODE(385) +#define CTL_E_SETNOTPERMITTED STD_CTL_SCODE(387) +#define CTL_E_GETNOTSUPPORTEDATRUNTIME STD_CTL_SCODE(393) +#define CTL_E_GETNOTSUPPORTED STD_CTL_SCODE(394) +#define CTL_E_PROPERTYNOTFOUND STD_CTL_SCODE(422) +#define CTL_E_INVALIDCLIPBOARDFORMAT STD_CTL_SCODE(460) +#define CTL_E_INVALIDPICTURE STD_CTL_SCODE(481) +#define CTL_E_PRINTERERROR STD_CTL_SCODE(482) +#define CTL_E_CANTSAVEFILETOTEMP STD_CTL_SCODE(735) +#define CTL_E_SEARCHTEXTNOTFOUND STD_CTL_SCODE(744) +#define CTL_E_REPLACEMENTSTOOLONG STD_CTL_SCODE(746) +#define CUSTOM_CTL_SCODE(n) MAKE_SCODE(SEVERITY_ERROR,FACILITY_CONTROL,n) +#define CTL_E_CUSTOM_FIRST CUSTOM_CTL_SCODE(600) +#define CLASS_E_NOTLICENSED (CLASSFACTORY_E_FIRST+2) +#define CONNECT_E_FIRST MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x200) +#define CONNECT_E_LAST MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x20F) +#define CONNECT_S_FIRST MAKE_SCODE(SEVERITY_SUCCESS,FACILITY_ITF,0x200) +#define CONNECT_S_LAST MAKE_SCODE(SEVERITY_SUCCESS,FACILITY_ITF,0x20F) +#define CONNECT_E_NOCONNECTION (CONNECT_E_FIRST+0) +#define CONNECT_E_ADVISELIMIT (CONNECT_E_FIRST+1) +#define CONNECT_E_CANNOTCONNECT (CONNECT_E_FIRST+2) +#define CONNECT_E_OVERRIDDEN (CONNECT_E_FIRST+3) +#define SELFREG_E_FIRST MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x200) +#define SELFREG_E_LAST MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x20F) +#define SELFREG_S_FIRST MAKE_SCODE(SEVERITY_SUCCESS,FACILITY_ITF,0x200) +#define SELFREG_S_LAST MAKE_SCODE(SEVERITY_SUCCESS,FACILITY_ITF,0x20F) +#define SELFREG_E_TYPELIB (SELFREG_E_FIRST+0) +#define SELFREG_E_CLASS (SELFREG_E_FIRST+1) +#define PERPROP_E_FIRST MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x200) +#define PERPROP_E_LAST MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x20F) +#define PERPROP_S_FIRST MAKE_SCODE(SEVERITY_SUCCESS,FACILITY_ITF,0x200) +#define PERPROP_S_LAST MAKE_SCODE(SEVERITY_SUCCESS,FACILITY_ITF,0x20F) +#define PERPROP_E_NOPAGEAVAILABLE PERPROP_E_FIRST +#define OLEMISC_RECOMPOSEONRESIZE 0x1 +#define OLEMISC_ONLYICONIC 0x2 +#define OLEMISC_INSERTNOTREPLACE 0x4 +#define OLEMISC_STATIC 0x8 +#define OLEMISC_CANTLINKINSIDE 0x10 +#define OLEMISC_CANLINKBYOLE1 0x20 +#define OLEMISC_ISLINKOBJECT 0x40 +#define OLEMISC_INSIDEOUT 0x80 +#define OLEMISC_ACTIVATEWHENVISIBLE 0x100 +#define OLEMISC_RENDERINGISDEVICEINDEPENDENT 0x200 +#define OLEMISC_INVISIBLEATRUNTIME 0x400 +#define OLEMISC_ALWAYSRUN 0x800 +#define OLEMISC_ACTSLIKEBUTTON 0x1000 +#define OLEMISC_ACTSLIKELABEL 0x2000 +#define OLEMISC_NOUIACTIVATE 0x4000 +#define OLEMISC_ALIGNABLE 0x8000 +#define OLEMISC_SIMPLEFRAME 0x10000 +#define OLEMISC_SETCLIENTSITEFIRST 0x20000 +#define OLEMISC_IMEMODE 0x40000 +#define OLEMISC_IGNOREACTIVATEWHENVISIBLE 0x80000 +#define OLEMISC_WANTSTOMENUMERGE 0x100000 +#define OLEMISC_SUPPORTSMULTILEVELUNDO 0x200000 +#define OLEIVERB_PROPERTIES (-7) +#define VT_STREAMED_PROPSET 73 +#define VT_STORED_PROPSET 74 +#define VT_BLOB_PROPSET 75 +#define VT_VERBOSE_ENUM 76 +#define VT_COLOR VT_I4 +#define VT_XPOS_PIXELS VT_I4 +#define VT_YPOS_PIXELS VT_I4 +#define VT_XSIZE_PIXELS VT_I4 +#define VT_YSIZE_PIXELS VT_I4 +#define VT_XPOS_HIMETRIC VT_I4 +#define VT_YPOS_HIMETRIC VT_I4 +#define VT_XSIZE_HIMETRIC VT_I4 +#define VT_YSIZE_HIMETRIC VT_I4 +#define VT_TRISTATE VT_I2 +#define VT_OPTEXCLUSIVE VT_BOOL +#define VT_FONT VT_DISPATCH +#define VT_PICTURE VT_DISPATCH +#define VT_HANDLE VT_I4 +#define OCM__BASE (WM_USER+0x1c00) +#define OCM_COMMAND (OCM__BASE+WM_COMMAND) +#define OCM_CTLCOLORBTN (OCM__BASE+WM_CTLCOLORBTN) +#define OCM_CTLCOLOREDIT (OCM__BASE+WM_CTLCOLOREDIT) +#define OCM_CTLCOLORDLG (OCM__BASE+WM_CTLCOLORDLG) +#define OCM_CTLCOLORLISTBOX (OCM__BASE+WM_CTLCOLORLISTBOX) +#define OCM_CTLCOLORMSGBOX (OCM__BASE+WM_CTLCOLORMSGBOX) +#define OCM_CTLCOLORSCROLLBAR (OCM__BASE+WM_CTLCOLORSCROLLBAR) +#define OCM_CTLCOLORSTATIC (OCM__BASE+WM_CTLCOLORSTATIC) +#define OCM_DRAWITEM (OCM__BASE+WM_DRAWITEM) +#define OCM_MEASUREITEM (OCM__BASE+WM_MEASUREITEM) +#define OCM_DELETEITEM (OCM__BASE+WM_DELETEITEM) +#define OCM_VKEYTOITEM (OCM__BASE+WM_VKEYTOITEM) +#define OCM_CHARTOITEM (OCM__BASE+WM_CHARTOITEM) +#define OCM_COMPAREITEM (OCM__BASE+WM_COMPAREITEM) +#define OCM_HSCROLL (OCM__BASE+WM_HSCROLL) +#define OCM_VSCROLL (OCM__BASE+WM_VSCROLL) +#define OCM_PARENTNOTIFY (OCM__BASE+WM_PARENTNOTIFY) +#define OCM_NOTIFY (OCM__BASE+WM_NOTIFY) +#define CTRLINFO_EATS_RETURN 1 +#define CTRLINFO_EATS_ESCAPE 2 +#define XFORMCOORDS_POSITION 1 +#define XFORMCOORDS_SIZE 2 +#define XFORMCOORDS_HIMETRICTOCONTAINER 4 +#define XFORMCOORDS_CONTAINERTOHIMETRIC 8 +#define GUIDKIND_DEFAULT_SOURCE_DISP_IID 1 +#define PROPPAGESTATUS_DIRTY 1 +#define PROPPAGESTATUS_VALIDATE 2 +#define FONTSIZE(n) {n##0000,0} +#define PICTURE_SCALABLE 1 +#define PICTURE_TRANSPARENT 2 +#define PICTYPE_UNINITIALIZED (-1) +#define PICTYPE_NONE 0 +#define PICTYPE_BITMAP 1 +#define PICTYPE_METAFILE 2 +#define PICTYPE_ICON 3 +#define PICTYPE_ENHMETAFILE 4 +#define DISPID_AUTOSIZE (-500) +#define DISPID_BACKCOLOR (-501) +#define DISPID_BACKSTYLE (-502) +#define DISPID_BORDERCOLOR (-503) +#define DISPID_BORDERSTYLE (-504) +#define DISPID_BORDERWIDTH (-505) +#define DISPID_DRAWMODE (-507) +#define DISPID_DRAWSTYLE (-508) +#define DISPID_DRAWWIDTH (-509) +#define DISPID_FILLCOLOR (-510) +#define DISPID_FILLSTYLE (-511) +#define DISPID_FONT (-512) +#define DISPID_FORECOLOR (-513) +#define DISPID_ENABLED (-514) +#define DISPID_HWND (-515) +#define DISPID_TABSTOP (-516) +#define DISPID_TEXT (-517) +#define DISPID_CAPTION (-518) +#define DISPID_BORDERVISIBLE (-519) +#define DISPID_APPEARANCE (-520) +#define DISPID_REFRESH (-550) +#define DISPID_DOCLICK (-551) +#define DISPID_ABOUTBOX (-552) +#define DISPID_CLICK (-600) +#define DISPID_DBLCLICK (-601) +#define DISPID_KEYDOWN (-602) +#define DISPID_KEYPRESS (-603) +#define DISPID_KEYUP (-604) +#define DISPID_MOUSEDOWN (-605) +#define DISPID_MOUSEMOVE (-606) +#define DISPID_MOUSEUP (-607) +#define DISPID_ERROREVENT (-608) +#define DISPID_AMBIENT_BACKCOLOR (-701) +#define DISPID_AMBIENT_DISPLAYNAME (-702) +#define DISPID_AMBIENT_FONT (-703) +#define DISPID_AMBIENT_FORECOLOR (-704) +#define DISPID_AMBIENT_LOCALEID (-705) +#define DISPID_AMBIENT_MESSAGEREFLECT (-706) +#define DISPID_AMBIENT_SCALEUNITS (-707) +#define DISPID_AMBIENT_TEXTALIGN (-708) +#define DISPID_AMBIENT_USERMODE (-709) +#define DISPID_AMBIENT_UIDEAD (-710) +#define DISPID_AMBIENT_SHOWGRABHANDLES (-711) +#define DISPID_AMBIENT_SHOWHATCHING (-712) +#define DISPID_AMBIENT_DISPLAYASDEFAULT (-713) +#define DISPID_AMBIENT_SUPPORTSMNEMONICS (-714) +#define DISPID_AMBIENT_AUTOCLIP (-715) +#define DISPID_AMBIENT_APPEARANCE (-716) +#define DISPID_FONT_NAME 0 +#define DISPID_FONT_SIZE 2 +#define DISPID_FONT_BOLD 3 +#define DISPID_FONT_ITALIC 4 +#define DISPID_FONT_UNDER 5 +#define DISPID_FONT_STRIKE 6 +#define DISPID_FONT_WEIGHT 7 +#define DISPID_FONT_CHARSET 8 +#define DISPID_PICT_HANDLE 0 +#define DISPID_PICT_HPAL 2 +#define DISPID_PICT_TYPE 3 +#define DISPID_PICT_WIDTH 4 +#define DISPID_PICT_HEIGHT 5 +#define DISPID_PICT_RENDER 6 + +#pragma pack(push,8) +#ifndef OLE2ANSI +typedef TEXTMETRICW TEXTMETRICOLE; +#else +typedef TEXTMETRIC TEXTMETRICOLE; +#endif +typedef TEXTMETRICOLE *LPTEXTMETRICOLE; +typedef interface IOleControl *LPOLECONTROL; +typedef interface IOleControlSite *LPOLECONTROLSITE; +typedef interface ISimpleFrameSite *LPSIMPLEFRAMESITE; +typedef interface IErrorLog *LPERRORLOG; +typedef interface IPropertyBag *LPPROPERTYBAG; +typedef interface IPersistPropertyBag *LPPERSISTPROPERTYBAG; +typedef interface IPersistStreamInit *LPPERSISTSTREAMINIT; +typedef interface IPersistMemory *LPPERSISTMEMORY; +typedef interface IPropertyNotifySink* LPPROPERTYNOTIFYSINK; +typedef interface IProvideClassInfo *LPPROVIDECLASSINFO; +typedef interface IProvideClassInfo2 *LPPROVIDECLASSINFO2; +typedef interface IConnectionPointContainer *LPCONNECTIONPOINTCONTAINER; +typedef interface IEnumConnectionPoints *LPENUMCONNECTIONPOINTS; +typedef interface IConnectionPoint *LPCONNECTIONPOINT; +typedef interface IEnumConnections *LPENUMCONNECTIONS; +typedef interface IClassFactory2 *LPCLASSFACTORY2; +typedef interface ISpecifyPropertyPages *LPSPECIFYPROPERTYPAGES; +typedef interface IPerPropertyBrowsing *LPPERPROPERTYBROWSING; +typedef interface IPropertyPageSite *LPPROPERTYPAGESITE; +typedef interface IPropertyPage *LPPROPERTYPAGE; +typedef interface IPropertyPage2 *LPPROPERTYPAGE2; +typedef interface IFont *LPFONT; +typedef interface IFontDisp *LPFONTDISP; +typedef interface IPicture *LPPICTURE; +typedef interface IPictureDisp *LPPICTUREDISP; +typedef DWORD OLE_COLOR; +typedef long OLE_XPOS_PIXELS; +typedef long OLE_YPOS_PIXELS; +typedef long OLE_XSIZE_PIXELS; +typedef long OLE_YSIZE_PIXELS; +typedef long OLE_XPOS_HIMETRIC; +typedef long OLE_YPOS_HIMETRIC; +typedef long OLE_XSIZE_HIMETRIC; +typedef long OLE_YSIZE_HIMETRIC; +typedef float OLE_XPOS_CONTAINER; +typedef float OLE_YPOS_CONTAINER; +typedef float OLE_XSIZE_CONTAINER; +typedef float OLE_YSIZE_CONTAINER; +typedef VARIANT_BOOL OLE_OPTEXCLUSIVE; +typedef VARIANT_BOOL OLE_CANCELBOOL; +typedef VARIANT_BOOL OLE_ENABLEDEFAULTBOOL; +typedef UINT OLE_HANDLE; +typedef enum { triUnchecked,triChecked1,triGray } OLE_TRISTATE; +typedef struct tagPOINTF { + float x; + float y; +} POINTF,*LPPOINTF; +typedef struct tagCONTROLINFO { + ULONG cb; + HACCEL hAccel; + USHORT cAccel; + DWORD dwFlags; +} CONTROLINFO,*LPCONTROLINFO; +typedef struct tagCONNECTDATA { + LPUNKNOWN pUnk; + DWORD dwCookie; +} CONNECTDATA,*LPCONNECTDATA; +typedef struct tagLICINFO { + long cbLicInfo; + BOOL fRuntimeKeyAvail; + BOOL fLicVerified; +} LICINFO,*LPLICINFO; +typedef struct tagCAUUID { + ULONG cElems; + GUID *pElems; +} CAUUID,*LPCAUUID; +typedef struct tagCALPOLESTR { + ULONG cElems; + LPOLESTR *pElems; +} CALPOLESTR,*LPCALPOLESTR; +typedef struct tagCADWORD { + ULONG cElems; + DWORD *pElems; +} CADWORD,*LPCADWORD; +typedef struct tagOCPFIPARAMS { + ULONG cbStructSize; + HWND hWndOwner; + int x; + int y; + LPCOLESTR lpszCaption; + ULONG cObjects; + LPUNKNOWN *lplpUnk; + ULONG cPages; + CLSID *lpPages; + LCID lcid; + DISPID dispidInitialProperty; +} OCPFIPARAMS,*LPOCPFIPARAMS; +typedef struct tagPROPPAGEINFO { + size_t cb; + LPOLESTR pszTitle; + SIZE size; + LPOLESTR pszDocString; + LPOLESTR pszHelpFile; + DWORD dwHelpContext; +} PROPPAGEINFO,*LPPROPPAGEINFO; +typedef struct tagFONTDESC { + UINT cbSizeofstruct; + LPOLESTR lpstrName; + CY cySize; + SHORT sWeight; + SHORT sCharset; + BOOL fItalic; + BOOL fUnderline; + BOOL fStrikethrough; +} FONTDESC,*LPFONTDESC; +typedef struct tagPICTDESC { + UINT cbSizeofstruct; + UINT picType; + union { + struct { + HBITMAP hbitmap; + HPALETTE hpal; + } bmp; + struct { + HMETAFILE hmeta; + int xExt; + int yExt; + } wmf; + struct { + HICON hicon; + } icon; + struct { + HENHMETAFILE hemf; + } emf; + } DUMMYUNIONNAME; +} PICTDESC,*LPPICTDESC; + +EXTERN_C const IID IID_IOleControl; +#undef INTERFACE +#define INTERFACE IOleControl +DECLARE_INTERFACE_(IOleControl,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetControlInfo)(THIS_ LPCONTROLINFO) PURE; + STDMETHOD(OnMnemonic)(THIS_ LPMSG) PURE; + STDMETHOD(OnAmbientPropertyChange)(THIS_ DISPID) PURE; + STDMETHOD(FreezeEvents)(THIS_ BOOL) PURE; +}; +EXTERN_C const IID IID_IOleControlSite; +#undef INTERFACE +#define INTERFACE IOleControlSite +DECLARE_INTERFACE_(IOleControlSite,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(OnControlInfoChanged)(THIS) PURE; + STDMETHOD(LockInPlaceActive)(THIS_ BOOL) PURE; + STDMETHOD(GetExtendedControl)(THIS_ LPDISPATCH*) PURE; + STDMETHOD(TransformCoords)(THIS_ POINTL*,POINTF*,DWORD) PURE; + STDMETHOD(TranslateAccelerator)(THIS_ LPMSG,DWORD) PURE; + STDMETHOD(OnFocus)(THIS_ BOOL) PURE; + STDMETHOD(ShowPropertyFrame)(THIS) PURE; +}; +EXTERN_C const IID IID_ISimpleFrameSite; +#undef INTERFACE +#define INTERFACE ISimpleFrameSite +DECLARE_INTERFACE_(ISimpleFrameSite,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(PreMessageFilter)(THIS_ HWND,UINT,WPARAM,LPARAM,LRESULT*,PDWORD) PURE; + STDMETHOD(PostMessageFilter)(THIS_ HWND,UINT,WPARAM,LPARAM,LRESULT*,DWORD) PURE; +}; +EXTERN_C const IID IID_IErrorLog; +#undef INTERFACE +#define INTERFACE IErrorLog +DECLARE_INTERFACE_(IErrorLog,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(AddError)(THIS_ LPCOLESTR,LPEXCEPINFO) PURE; +}; +EXTERN_C const IID IID_IPropertyBag; +#undef INTERFACE +#define INTERFACE IPropertyBag +DECLARE_INTERFACE_(IPropertyBag,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(Read)(THIS_ LPCOLESTR,LPVARIANT,LPERRORLOG) PURE; + STDMETHOD(Write)(THIS_ LPCOLESTR,LPVARIANT) PURE; +}; +EXTERN_C const IID IID_IPersistPropertyBag; +#undef INTERFACE +#define INTERFACE IPersistPropertyBag +DECLARE_INTERFACE_(IPersistPropertyBag,IPersist) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetClassID)(THIS_ LPCLSID) PURE; + STDMETHOD(InitNew)(THIS) PURE; + STDMETHOD(Load)(THIS_ LPPROPERTYBAG,LPERRORLOG) PURE; + STDMETHOD(Save)(THIS_ LPPROPERTYBAG,BOOL,BOOL) PURE; +}; +EXTERN_C const IID IID_IPersistStreamInit; +#undef INTERFACE +#define INTERFACE IPersistStreamInit +DECLARE_INTERFACE_(IPersistStreamInit,IPersist) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetClassID)(THIS_ LPCLSID) PURE; + STDMETHOD(IsDirty)(THIS) PURE; + STDMETHOD(Load)(THIS_ LPSTREAM) PURE; + STDMETHOD(Save)(THIS_ LPSTREAM,BOOL) PURE; + STDMETHOD(GetSizeMax)(THIS_ PULARGE_INTEGER) PURE; + STDMETHOD(InitNew)(THIS) PURE; +}; +EXTERN_C const IID IID_IPersistMemory; +#undef INTERFACE +#define INTERFACE IPersistMemory +DECLARE_INTERFACE_(IPersistMemory,IPersist) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetClassID)(THIS_ LPCLSID) PURE; + STDMETHOD(IsDirty)(THIS) PURE; + STDMETHOD(Load)(THIS_ PVOID,ULONG) PURE; + STDMETHOD(Save)(THIS_ PVOID,BOOL,ULONG) PURE; + STDMETHOD(GetSizeMax)(THIS_ PULONG) PURE; + STDMETHOD(InitNew)(THIS) PURE; +}; +EXTERN_C const IID IID_IPropertyNotifySink; +#undef INTERFACE +#define INTERFACE IPropertyNotifySink +DECLARE_INTERFACE_(IPropertyNotifySink,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(OnChanged)(THIS_ DISPID) PURE; + STDMETHOD(OnRequestEdit)(THIS_ DISPID) PURE; +}; +EXTERN_C const IID IID_IProvideClassInfo; +#undef INTERFACE +#define INTERFACE IProvideClassInfo +DECLARE_INTERFACE_(IProvideClassInfo,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetClassInfo)(THIS_ LPTYPEINFO*) PURE; +}; +EXTERN_C const IID IID_IProvideClassInfo2; +#undef INTERFACE +#define INTERFACE IProvideClassInfo2 +DECLARE_INTERFACE_(IProvideClassInfo2,IProvideClassInfo) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetClassInfo)(THIS_ LPTYPEINFO*) PURE; + STDMETHOD(GetGUID)(THIS_ DWORD,GUID*) PURE; +}; +EXTERN_C const IID IID_IConnectionPointContainer; +#undef INTERFACE +#define INTERFACE IConnectionPointContainer +DECLARE_INTERFACE_(IConnectionPointContainer,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(EnumConnectionPoints)(THIS_ LPENUMCONNECTIONPOINTS*) PURE; + STDMETHOD(FindConnectionPoint)(THIS_ REFIID,LPCONNECTIONPOINT*) PURE; +}; +EXTERN_C const IID IID_IEnumConnectionPoints; +#undef INTERFACE +#define INTERFACE IEnumConnectionPoints +DECLARE_INTERFACE_(IEnumConnectionPoints,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(Next)(THIS_ ULONG,LPCONNECTIONPOINT*,ULONG*) PURE; + STDMETHOD(Skip)(THIS_ ULONG) PURE; + STDMETHOD(Reset)(THIS) PURE; + STDMETHOD(Clone)(THIS_ LPENUMCONNECTIONPOINTS*) PURE; +}; +EXTERN_C const IID IID_IConnectionPoint; +#undef INTERFACE +#define INTERFACE IConnectionPoint +DECLARE_INTERFACE_(IConnectionPoint,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetConnectionInterface)(THIS_ IID*) PURE; + STDMETHOD(GetConnectionPointContainer)(THIS_ IConnectionPointContainer**) PURE; + STDMETHOD(Advise)(THIS_ LPUNKNOWN,PDWORD) PURE; + STDMETHOD(Unadvise)(THIS_ DWORD) PURE; + STDMETHOD(EnumConnections)(THIS_ LPENUMCONNECTIONS*) PURE; +}; +EXTERN_C const IID IID_IEnumConnections; +#undef INTERFACE +#define INTERFACE IEnumConnections +DECLARE_INTERFACE_(IEnumConnections,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(Next)(THIS_ ULONG,LPCONNECTDATA,PULONG) PURE; + STDMETHOD(Skip)(THIS_ ULONG) PURE; + STDMETHOD(Reset)(THIS) PURE; + STDMETHOD(Clone)(THIS_ LPENUMCONNECTIONS*) PURE; +}; +EXTERN_C const IID IID_IClassFactory2; +#undef INTERFACE +#define INTERFACE IClassFactory2 +DECLARE_INTERFACE_(IClassFactory2,IClassFactory) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(CreateInstance)(THIS_ LPUNKNOWN,REFIID,PVOID*) PURE; + STDMETHOD(LockServer)(THIS_ BOOL) PURE; + STDMETHOD(GetLicInfo)(THIS_ LPLICINFO) PURE; + STDMETHOD(RequestLicKey)(THIS_ DWORD,BSTR*) PURE; + STDMETHOD(CreateInstanceLic)(THIS_ LPUNKNOWN,LPUNKNOWN,REFIID,BSTR,PVOID*) PURE; +}; +EXTERN_C const IID IID_ISpecifyPropertyPages; +#undef INTERFACE +#define INTERFACE ISpecifyPropertyPages +DECLARE_INTERFACE_(ISpecifyPropertyPages,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetPages)(THIS_ CAUUID*) PURE; +}; +EXTERN_C const IID IID_IPerPropertyBrowsing; +#undef INTERFACE +#define INTERFACE IPerPropertyBrowsing +DECLARE_INTERFACE_(IPerPropertyBrowsing,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetDisplayString)(THIS_ DISPID,BSTR*) PURE; + STDMETHOD(MapPropertyToPage)(THIS_ DISPID,LPCLSID) PURE; + STDMETHOD(GetPredefinedStrings)(THIS_ DISPID,CALPOLESTR*,CADWORD*) PURE; + STDMETHOD(GetPredefinedValue)(THIS_ DISPID,DWORD,VARIANT*) PURE; +}; +EXTERN_C const IID IID_IPropertyPageSite; +#undef INTERFACE +#define INTERFACE IPropertyPageSite +DECLARE_INTERFACE_(IPropertyPageSite,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(OnStatusChange)(THIS_ DWORD) PURE; + STDMETHOD(GetLocaleID)(THIS_ LCID*) PURE; + STDMETHOD(GetPageContainer)(THIS_ LPUNKNOWN*) PURE; + STDMETHOD(TranslateAccelerator)(THIS_ LPMSG) PURE; +}; +EXTERN_C const IID IID_IPropertyPage; +#undef INTERFACE +#define INTERFACE IPropertyPage +DECLARE_INTERFACE_(IPropertyPage,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(SetPageSite)(THIS_ LPPROPERTYPAGESITE) PURE; + STDMETHOD(Activate)(THIS_ HWND,LPCRECT,BOOL) PURE; + STDMETHOD(Deactivate)(THIS) PURE; + STDMETHOD(GetPageInfo)(THIS_ LPPROPPAGEINFO) PURE; + STDMETHOD(SetObjects)(THIS_ ULONG,LPUNKNOWN*) PURE; + STDMETHOD(Show)(THIS_ UINT) PURE; + STDMETHOD(Move)(THIS_ LPCRECT) PURE; + STDMETHOD(IsPageDirty)(THIS) PURE; + STDMETHOD(Apply)(THIS) PURE; + STDMETHOD(Help)(THIS_ LPCOLESTR) PURE; + STDMETHOD(TranslateAccelerator)(THIS_ LPMSG) PURE; +}; +EXTERN_C const IID IID_IPropertyPage2; +#undef INTERFACE +#define INTERFACE IPropertyPage2 +DECLARE_INTERFACE_(IPropertyPage2,IPropertyPage) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(SetPageSite)(THIS_ LPPROPERTYPAGESITE) PURE; + STDMETHOD(Activate)(THIS_ HWND,LPCRECT,BOOL) PURE; + STDMETHOD(Deactivate)(THIS) PURE; + STDMETHOD(GetPageInfo)(THIS_ LPPROPPAGEINFO) PURE; + STDMETHOD(SetObjects)(THIS_ ULONG,LPUNKNOWN*) PURE; + STDMETHOD(Show)(THIS_ UINT) PURE; + STDMETHOD(Move)(THIS_ LPCRECT) PURE; + STDMETHOD(IsPageDirty)(THIS) PURE; + STDMETHOD(Apply)(THIS) PURE; + STDMETHOD(Help)(THIS_ LPCOLESTR) PURE; + STDMETHOD(TranslateAccelerator)(THIS_ LPMSG) PURE; + STDMETHOD(EditProperty)(THIS_ DISPID) PURE; +}; +EXTERN_C const IID IID_IFont; +#undef INTERFACE +#define INTERFACE IFont +DECLARE_INTERFACE_(IFont,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(get_Name)(THIS_ BSTR*) PURE; + STDMETHOD(put_Name)(THIS_ BSTR) PURE; + STDMETHOD(get_Size)(THIS_ CY*) PURE; + STDMETHOD(put_Size)(THIS_ CY) PURE; + STDMETHOD(get_Bold)(THIS_ BOOL*) PURE; + STDMETHOD(put_Bold)(THIS_ BOOL) PURE; + STDMETHOD(get_Italic)(THIS_ BOOL*) PURE; + STDMETHOD(put_Italic)(THIS_ BOOL) PURE; + STDMETHOD(get_Underline)(THIS_ BOOL*) PURE; + STDMETHOD(put_Underline)(THIS_ BOOL) PURE; + STDMETHOD(get_Strikethrough)(THIS_ BOOL*) PURE; + STDMETHOD(put_Strikethrough)(THIS_ BOOL) PURE; + STDMETHOD(get_Weight)(THIS_ short*) PURE; + STDMETHOD(put_Weight)(THIS_ short) PURE; + STDMETHOD(get_Charset)(THIS_ short*) PURE; + STDMETHOD(put_Charset)(THIS_ short) PURE; + STDMETHOD(get_hFont)(THIS_ HFONT*) PURE; + STDMETHOD(Clone)(THIS_ IFont**) PURE; + STDMETHOD(IsEqual)(THIS_ IFont*) PURE; + STDMETHOD(SetRatio)(THIS_ long,long) PURE; + STDMETHOD(QueryTextMetrics)(THIS_ LPTEXTMETRICOLE) PURE; + STDMETHOD(AddRefHfont)(THIS_ HFONT) PURE; + STDMETHOD(ReleaseHfont)(THIS_ HFONT) PURE; + STDMETHOD(SetHdc)(THIS_ HDC) PURE; +}; +EXTERN_C const IID IID_IFontDisp; +#undef INTERFACE +#define INTERFACE IFontDisp +DECLARE_INTERFACE_(IFontDisp,IDispatch) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE; + STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE; + STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE; + STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE; +}; +EXTERN_C const IID IID_IPicture; +#undef INTERFACE +#define INTERFACE IPicture +DECLARE_INTERFACE_(IPicture,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(get_Handle)(THIS_ OLE_HANDLE*) PURE; + STDMETHOD(get_hPal)(THIS_ OLE_HANDLE*) PURE; + STDMETHOD(get_Type)(THIS_ short*) PURE; + STDMETHOD(get_Width)(THIS_ OLE_XSIZE_HIMETRIC*) PURE; + STDMETHOD(get_Height)(THIS_ OLE_YSIZE_HIMETRIC*) PURE; + STDMETHOD(Render)(THIS_ HDC,long,long,long,long,OLE_XPOS_HIMETRIC,OLE_YPOS_HIMETRIC,OLE_XSIZE_HIMETRIC,OLE_YSIZE_HIMETRIC,LPCRECT) PURE; + STDMETHOD(set_hPal)(THIS_ OLE_HANDLE) PURE; + STDMETHOD(get_CurDC)(THIS_ HDC*) PURE; + STDMETHOD(SelectPicture)(THIS_ HDC,HDC*,OLE_HANDLE*) PURE; + STDMETHOD(get_KeepOriginalFormat)(THIS_ BOOL*) PURE; + STDMETHOD(put_KeepOriginalFormat)(THIS_ BOOL) PURE; + STDMETHOD(PictureChanged)(THIS) PURE; + STDMETHOD(SaveAsFile)(THIS_ LPSTREAM,BOOL,LONG*) PURE; + STDMETHOD(get_Attributes)(THIS_ PDWORD) PURE; +}; +EXTERN_C const IID IID_IPictureDisp; +#undef INTERFACE +#define INTERFACE IPictureDisp +DECLARE_INTERFACE_(IPictureDisp,IDispatch) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE; + STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE; + STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE; + STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE; +}; +#pragma pack(pop) + +STDAPI DllRegisterServer(void); +STDAPI DllUnregisterServer(void); +STDAPI OleCreateFontIndirect(LPFONTDESC,REFIID,PVOID*); +STDAPI OleCreatePictureIndirect(LPPICTDESC,REFIID,BOOL,PVOID*); +STDAPI OleCreatePropertyFrame(HWND,UINT,UINT,LPCOLESTR,ULONG,LPUNKNOWN*,ULONG,LPCLSID,LCID,DWORD,PVOID); +STDAPI OleCreatePropertyFrameIndirect(LPOCPFIPARAMS); +STDAPI_(HCURSOR) OleIconToCursor(HINSTANCE,HICON); +STDAPI OleLoadPicture(LPSTREAM,LONG,BOOL,REFIID,PVOID*); +STDAPI OleTranslateColor(OLE_COLOR,HPALETTE,COLORREF*); +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/olectlid.h b/winsup/w32api/include/olectlid.h new file mode 100644 index 000000000..2aefe9718 --- /dev/null +++ b/winsup/w32api/include/olectlid.h @@ -0,0 +1,109 @@ +#ifndef _OLECTLID_H +#define _OLECTLID_H +#ifdef __cplusplus +extern "C" { +#endif + +extern const GUID IID_IDispatch; +extern const GUID IID_IPropertyNotifySink; +extern const GUID IID_IClassFactory2; +extern const GUID IID_IProvideClassInfo; +extern const GUID IID_IProvideClassInfo2; +extern const GUID IID_IConnectionPointContainer; +extern const GUID IID_IEnumConnectionPoints; +extern const GUID IID_IConnectionPoint; +extern const GUID IID_IEnumConnections; +extern const GUID IID_IOleControl; +extern const GUID IID_IOleControlSite; +extern const GUID IID_ISimpleFrameSite; +extern const GUID IID_IPersistStreamInit; +extern const GUID IID_IPersistMemory; +extern const GUID IID_IPersistPropertyBag; +extern const GUID IID_IPropertyBag; +extern const GUID IID_IErrorLog; +extern const GUID IID_IPropertyFrame; +extern const GUID IID_ISpecifyPropertyPages; +extern const GUID IID_IPerPropertyBrowsing; +extern const GUID IID_IPropertyPageSite; +extern const GUID IID_IPropertyPage; +extern const GUID IID_IPropertyPage2; +extern const GUID CLSID_CFontPropPage; +extern const GUID CLSID_CColorPropPage; +extern const GUID CLSID_CPicturePropPage; +extern const GUID CLSID_PersistPropset; +extern const GUID CLSID_ConvertVBX; +extern const GUID CLSID_StdFont; +extern const GUID CLSID_StdPicture; +extern const GUID IID_IFont; +extern const GUID IID_IFontDisp; +extern const GUID IID_IPicture; +extern const GUID IID_IPictureDisp; +extern const GUID GUID_HIMETRIC; +extern const GUID GUID_COLOR; +extern const GUID GUID_XPOSPIXEL; +extern const GUID GUID_YPOSPIXEL; +extern const GUID GUID_XSIZEPIXEL; +extern const GUID GUID_YSIZEPIXEL; +extern const GUID GUID_XPOS; +extern const GUID GUID_YPOS; +extern const GUID GUID_XSIZE; +extern const GUID GUID_YSIZE; +extern const GUID GUID_TRISTATE; +extern const GUID GUID_OPTIONVALUEEXCLUSIVE; +extern const GUID GUID_CHECKVALUEEXCLUSIVE; +extern const GUID GUID_FONTNAME; +extern const GUID GUID_FONTSIZE; +extern const GUID GUID_FONTBOLD; +extern const GUID GUID_FONTITALIC; +extern const GUID GUID_FONTUNDERSCORE; +extern const GUID GUID_FONTSTRIKETHROUGH; +extern const GUID GUID_HANDLE; +extern const GUID IID_IEnumUnknown; +extern const GUID IID_IEnumString; +extern const GUID IID_IEnumMoniker; +extern const GUID IID_IEnumFORMATETC; +extern const GUID IID_IEnumOLEVERB; +extern const GUID IID_IEnumSTATDATA; +extern const GUID IID_IEnumGeneric; +extern const GUID IID_IEnumHolder; +extern const GUID IID_IEnumCallback; +extern const GUID IID_IPersistStream; +extern const GUID IID_IPersistStorage; +extern const GUID IID_IPersistFile; +extern const GUID IID_IPersist; +extern const GUID IID_IViewObject; +extern const GUID IID_IDataObject; +extern const GUID IID_IAdviseSink; +extern const GUID IID_IDataAdviseHolder; +extern const GUID IID_IOleAdviseHolder; +extern const GUID IID_IOleObject; +extern const GUID IID_IOleInPlaceObject; +extern const GUID IID_IOleWindow; +extern const GUID IID_IOleInPlaceUIWindow; +extern const GUID IID_IOleInPlaceFrame; +extern const GUID IID_IOleInPlaceActiveObject; +extern const GUID IID_IOleClientSite; +extern const GUID IID_IOleInPlaceSite; +extern const GUID IID_IParseDisplayName; +extern const GUID IID_IOleContainer; +extern const GUID IID_IOleItemContainer; +extern const GUID IID_IOleLink; +extern const GUID IID_IOleCache; +extern const GUID IID_IOleManager; +extern const GUID IID_IOlePresObj; +extern const GUID IID_IDropSource; +extern const GUID IID_IDropTarget; +extern const GUID IID_IDebug; +extern const GUID IID_IDebugStream; +extern const GUID IID_IAdviseSink2; +extern const GUID IID_IRunnableObject; +extern const GUID IID_IViewObject2; +extern const GUID IID_IOleCache2; +extern const GUID IID_IOleCacheControl; +extern const GUID CLSID_Picture_Metafile; +extern const GUID CLSID_Picture_Dib; + +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/oledlg.h b/winsup/w32api/include/oledlg.h new file mode 100644 index 000000000..24cfd4bc2 --- /dev/null +++ b/winsup/w32api/include/oledlg.h @@ -0,0 +1,931 @@ +#ifndef _OLEDLG_H +#define _OLEDLG_H +#ifdef __cplusplus +extern "C" { +#endif +#include <windows.h> +#include <shellapi.h> +#include <commdlg.h> +#include <ole2.h> +#include <string.h> +/* #include <tchar.h> */ +#include <dlgs.h> +#include <prsht.h> +#define PS_MAXLINKTYPES 8 +#define OLESTDDELIM TEXT("\\") +#define SZOLEUI_MSG_HELP TEXT("OLEUI_MSG_HELP") +#define SZOLEUI_MSG_ENDDIALOG TEXT("OLEUI_MSG_ENDDIALOG") +#define SZOLEUI_MSG_BROWSE TEXT("OLEUI_MSG_BROWSE") +#define SZOLEUI_MSG_CHANGEICON TEXT("OLEUI_MSG_CHANGEICON") +#define SZOLEUI_MSG_CLOSEBUSYDIALOG TEXT("OLEUI_MSG_CLOSEBUSYDIALOG") +#define SZOLEUI_MSG_CONVERT TEXT("OLEUI_MSG_CONVERT") +#define SZOLEUI_MSG_CHANGESOURCE TEXT("OLEUI_MSG_CHANGESOURCE") +#define SZOLEUI_MSG_ADDCONTROL TEXT("OLEUI_MSG_ADDCONTROL") +#define SZOLEUI_MSG_BROWSE_OFN TEXT("OLEUI_MSG_BROWSE_OFN") +#define PROP_HWND_CHGICONDLG TEXT("HWND_CIDLG") +#define IDC_OLEUIHELP 99 +#define IDC_IO_CREATENEW 2100 +#define IDC_IO_CREATEFROMFILE 2101 +#define IDC_IO_LINKFILE 2102 +#define IDC_IO_OBJECTTYPELIST 2103 +#define IDC_IO_DISPLAYASICON 2104 +#define IDC_IO_CHANGEICON 2105 +#define IDC_IO_FILE 2106 +#define IDC_IO_FILEDISPLAY 2107 +#define IDC_IO_RESULTIMAGE 2108 +#define IDC_IO_RESULTTEXT 2109 +#define IDC_IO_ICONDISPLAY 2110 +#define IDC_IO_OBJECTTYPETEXT 2111 +#define IDC_IO_FILETEXT 2112 +#define IDC_IO_FILETYPE 2113 +#define IDC_IO_INSERTCONTROL 2114 +#define IDC_IO_ADDCONTROL 2115 +#define IDC_IO_CONTROLTYPELIST 2116 +#define IDC_PS_PASTE 500 +#define IDC_PS_PASTELINK 501 +#define IDC_PS_SOURCETEXT 502 +#define IDC_PS_PASTELIST 503 +#define IDC_PS_PASTELINKLIST 504 +#define IDC_PS_DISPLAYLIST 505 +#define IDC_PS_DISPLAYASICON 506 +#define IDC_PS_ICONDISPLAY 507 +#define IDC_PS_CHANGEICON 508 +#define IDC_PS_RESULTIMAGE 509 +#define IDC_PS_RESULTTEXT 510 +#define IDC_CI_GROUP 120 +#define IDC_CI_CURRENT 121 +#define IDC_CI_CURRENTICON 122 +#define IDC_CI_DEFAULT 123 +#define IDC_CI_DEFAULTICON 124 +#define IDC_CI_FROMFILE 125 +#define IDC_CI_FROMFILEEDIT 126 +#define IDC_CI_ICONLIST 127 +#define IDC_CI_LABEL 128 +#define IDC_CI_LABELEDIT 129 +#define IDC_CI_BROWSE 130 +#define IDC_CI_ICONDISPLAY 131 +#define IDC_CV_OBJECTTYPE 150 +#define IDC_CV_DISPLAYASICON 152 +#define IDC_CV_CHANGEICON 153 +#define IDC_CV_ACTIVATELIST 154 +#define IDC_CV_CONVERTTO 155 +#define IDC_CV_ACTIVATEAS 156 +#define IDC_CV_RESULTTEXT 157 +#define IDC_CV_CONVERTLIST 158 +#define IDC_CV_ICONDISPLAY 165 +#define IDC_EL_CHANGESOURCE 201 +#define IDC_EL_AUTOMATIC 202 +#define IDC_EL_CANCELLINK 209 +#define IDC_EL_UPDATENOW 210 +#define IDC_EL_OPENSOURCE 211 +#define IDC_EL_MANUAL 212 +#define IDC_EL_LINKSOURCE 216 +#define IDC_EL_LINKTYPE 217 +#define IDC_EL_LINKSLISTBOX 206 +#define IDC_EL_COL1 220 +#define IDC_EL_COL2 221 +#define IDC_EL_COL3 222 +#define IDC_BZ_RETRY 600 +#define IDC_BZ_ICON 601 +#define IDC_BZ_MESSAGE1 602 +#define IDC_BZ_SWITCHTO 604 +#define IDC_UL_METER 1029 +#define IDC_UL_STOP 1030 +#define IDC_UL_PERCENT 1031 +#define IDC_UL_PROGRESS 1032 +#define IDC_PU_LINKS 900 +#define IDC_PU_TEXT 901 +#define IDC_PU_CONVERT 902 +#define IDC_PU_ICON 908 +#define IDC_GP_OBJECTNAME 1009 +#define IDC_GP_OBJECTTYPE 1010 +#define IDC_GP_OBJECTSIZE 1011 +#define IDC_GP_CONVERT 1013 +#define IDC_GP_OBJECTICON 1014 +#define IDC_GP_OBJECTLOCATION 1022 +#define IDC_VP_PERCENT 1000 +#define IDC_VP_CHANGEICON 1001 +#define IDC_VP_EDITABLE 1002 +#define IDC_VP_ASICON 1003 +#define IDC_VP_RELATIVE 1005 +#define IDC_VP_SPIN 1006 +#define IDC_VP_SCALETXT 1034 +#define IDC_VP_ICONDISPLAY 1021 +#define IDC_VP_RESULTIMAGE 1033 +#define IDC_LP_OPENSOURCE 1006 +#define IDC_LP_UPDATENOW 1007 +#define IDC_LP_BREAKLINK 1008 +#define IDC_LP_LINKSOURCE 1012 +#define IDC_LP_CHANGESOURCE 1015 +#define IDC_LP_AUTOMATIC 1016 +#define IDC_LP_MANUAL 1017 +#define IDC_LP_DATE 1018 +#define IDC_LP_TIME 1019 +#define IDD_INSERTOBJECT 1000 +#define IDD_CHANGEICON 1001 +#define IDD_CONVERT 1002 +#define IDD_PASTESPECIAL 1003 +#define IDD_EDITLINKS 1004 +#define IDD_BUSY 1006 +#define IDD_UPDATELINKS 1007 +#define IDD_CHANGESOURCE 1009 +#define IDD_INSERTFILEBROWSE 1010 +#define IDD_CHANGEICONBROWSE 1011 +#define IDD_CONVERTONLY 1012 +#define IDD_CHANGESOURCE4 1013 +#define IDD_GNRLPROPS 1100 +#define IDD_VIEWPROPS 1101 +#define IDD_LINKPROPS 1102 +#define IDD_CANNOTUPDATELINK 1008 +#define IDD_LINKSOURCEUNAVAILABLE 1020 +#define IDD_SERVERNOTFOUND 1023 +#define IDD_OUTOFMEMORY 1024 +#define IDD_SERVERNOTREGW 1021 +#define IDD_LINKTYPECHANGEDW 1022 +#define IDD_SERVERNOTREGA 1025 +#define IDD_LINKTYPECHANGEDA 1026 +#define ID_BROWSE_CHANGEICON 1 +#define ID_BROWSE_INSERTFILE 2 +#define ID_BROWSE_ADDCONTROL 3 +#define ID_BROWSE_CHANGESOURCE 4 +#define OLEUI_FALSE 0 +#define OLEUI_SUCCESS 1 +#define OLEUI_OK 1 +#define OLEUI_CANCEL 2 +#define OLEUI_ERR_STANDARDMIN 100 +#define OLEUI_ERR_STRUCTURENULL 101 +#define OLEUI_ERR_STRUCTUREINVALID 102 +#define OLEUI_ERR_CBSTRUCTINCORRECT 103 +#define OLEUI_ERR_HWNDOWNERINVALID 104 +#define OLEUI_ERR_LPSZCAPTIONINVALID 105 +#define OLEUI_ERR_LPFNHOOKINVALID 106 +#define OLEUI_ERR_HINSTANCEINVALID 107 +#define OLEUI_ERR_LPSZTEMPLATEINVALID 108 +#define OLEUI_ERR_HRESOURCEINVALID 109 +#define OLEUI_ERR_FINDTEMPLATEFAILURE 110 +#define OLEUI_ERR_LOADTEMPLATEFAILURE 111 +#define OLEUI_ERR_DIALOGFAILURE 112 +#define OLEUI_ERR_LOCALMEMALLOC 113 +#define OLEUI_ERR_GLOBALMEMALLOC 114 +#define OLEUI_ERR_LOADSTRING 115 +#define OLEUI_ERR_OLEMEMALLOC 116 +#define OLEUI_ERR_STANDARDMAX 116 +#define OPF_OBJECTISLINK 1 +#define OPF_NOFILLDEFAULT 2 +#define OPF_SHOWHELP 4 +#define OPF_DISABLECONVERT 8 +#define OLEUI_OPERR_SUBPROPNULL OLEUI_ERR_STANDARDMAX +#define OLEUI_OPERR_SUBPROPINVALID (OLEUI_ERR_STANDARDMAX+1) +#define OLEUI_OPERR_PROPSHEETNULL (OLEUI_ERR_STANDARDMAX+2) +#define OLEUI_OPERR_PROPSHEETINVALID (OLEUI_ERR_STANDARDMAX+3) +#define OLEUI_OPERR_SUPPROP (OLEUI_ERR_STANDARDMAX+4) +#define OLEUI_OPERR_PROPSINVALID (OLEUI_ERR_STANDARDMAX+5) +#define OLEUI_OPERR_PAGESINCORRECT (OLEUI_ERR_STANDARDMAX+6) +#define OLEUI_OPERR_INVALIDPAGES (OLEUI_ERR_STANDARDMAX+7) +#define OLEUI_OPERR_NOTSUPPORTED (OLEUI_ERR_STANDARDMAX+8) +#define OLEUI_OPERR_DLGPROCNOTNULL (OLEUI_ERR_STANDARDMAX+9) +#define OLEUI_OPERR_LPARAMNOTZERO (OLEUI_ERR_STANDARDMAX+10) +#define OLEUI_GPERR_STRINGINVALID (OLEUI_ERR_STANDARDMAX+11) +#define OLEUI_GPERR_CLASSIDINVALID (OLEUI_ERR_STANDARDMAX+12) +#define OLEUI_GPERR_LPCLSIDEXCLUDEINVALID (OLEUI_ERR_STANDARDMAX+13) +#define OLEUI_GPERR_CBFORMATINVALID (OLEUI_ERR_STANDARDMAX+14) +#define OLEUI_VPERR_METAPICTINVALID (OLEUI_ERR_STANDARDMAX+15) +#define OLEUI_VPERR_DVASPECTINVALID (OLEUI_ERR_STANDARDMAX+16) +#define OLEUI_LPERR_LINKCNTRNULL (OLEUI_ERR_STANDARDMAX+17) +#define OLEUI_LPERR_LINKCNTRINVALID (OLEUI_ERR_STANDARDMAX+18) +#define OLEUI_OPERR_PROPERTYSHEET (OLEUI_ERR_STANDARDMAX+19) +#define OLEUI_OPERR_OBJINFOINVALID (OLEUI_ERR_STANDARDMAX+20) +#define OLEUI_OPERR_LINKINFOINVALID (OLEUI_ERR_STANDARDMAX+21) +#define OLEUI_QUERY_GETCLASSID 65280 +#define OLEUI_QUERY_LINKBROKEN 65281 +#define IOF_SHOWHELP 1 +#define IOF_SELECTCREATENEW 2 +#define IOF_SELECTCREATEFROMFILE 4 +#define IOF_CHECKLINK 8 +#define IOF_CHECKDISPLAYASICON 16 +#define IOF_CREATENEWOBJECT 32 +#define IOF_CREATEFILEOBJECT 64 +#define IOF_CREATELINKOBJECT 128 +#define IOF_DISABLELINK 256 +#define IOF_VERIFYSERVERSEXIST 512 +#define IOF_DISABLEDISPLAYASICON 1024 +#define IOF_HIDECHANGEICON 2048 +#define IOF_SHOWINSERTCONTROL 4096 +#define IOF_SELECTCREATECONTROL 8192 +#define OLEUI_IOERR_LPSZFILEINVALID OLEUI_ERR_STANDARDMAX +#define OLEUI_IOERR_LPSZLABELINVALID (OLEUI_ERR_STANDARDMAX+1) +#define OLEUI_IOERR_HICONINVALID (OLEUI_ERR_STANDARDMAX+2) +#define OLEUI_IOERR_LPFORMATETCINVALID (OLEUI_ERR_STANDARDMAX+3) +#define OLEUI_IOERR_PPVOBJINVALID (OLEUI_ERR_STANDARDMAX+4) +#define OLEUI_IOERR_LPIOLECLIENTSITEINVALID (OLEUI_ERR_STANDARDMAX+5) +#define OLEUI_IOERR_LPISTORAGEINVALID (OLEUI_ERR_STANDARDMAX+6) +#define OLEUI_IOERR_SCODEHASERROR (OLEUI_ERR_STANDARDMAX+7) +#define OLEUI_IOERR_LPCLSIDEXCLUDEINVALID (OLEUI_ERR_STANDARDMAX+8) +#define OLEUI_IOERR_CCHFILEINVALID (OLEUI_ERR_STANDARDMAX+9) +#define PSF_SHOWHELP 1 +#define PSF_SELECTPASTE 2 +#define PSF_SELECTPASTELINK 4 +#define PSF_CHECKDISPLAYASICON 8 +#define PSF_DISABLEDISPLAYASICON 16 +#define PSF_HIDECHANGEICON 32 +#define PSF_STAYONCLIPBOARDCHANGE 64 +#define PSF_NOREFRESHDATAOBJECT 128 +#define OLEUI_IOERR_SRCDATAOBJECTINVALID OLEUI_ERR_STANDARDMAX +#define OLEUI_IOERR_ARRPASTEENTRIESINVALID (OLEUI_ERR_STANDARDMAX+1) +#define OLEUI_IOERR_ARRLINKTYPESINVALID (OLEUI_ERR_STANDARDMAX+2) +#define OLEUI_PSERR_CLIPBOARDCHANGED (OLEUI_ERR_STANDARDMAX+3) +#define OLEUI_PSERR_GETCLIPBOARDFAILED (OLEUI_ERR_STANDARDMAX+4) +#define OLEUI_ELERR_LINKCNTRNULL OLEUI_ERR_STANDARDMAX +#define OLEUI_ELERR_LINKCNTRINVALID (OLEUI_ERR_STANDARDMAX+1) +#define ELF_SHOWHELP 1 +#define ELF_DISABLEUPDATENOW 2 +#define ELF_DISABLEOPENSOURCE 4 +#define ELF_DISABLECHANGESOURCE 8 +#define ELF_DISABLECANCELLINK 16 +#define CIF_SHOWHELP 1 +#define CIF_SELECTCURRENT 2 +#define CIF_SELECTDEFAULT 4 +#define CIF_SELECTFROMFILE 8 +#define CIF_USEICONEXE 16 +#define OLEUI_CIERR_MUSTHAVECLSID OLEUI_ERR_STANDARDMAX +#define OLEUI_CIERR_MUSTHAVECURRENTMETAFILE (OLEUI_ERR_STANDARDMAX+1) +#define OLEUI_CIERR_SZICONEXEINVALID (OLEUI_ERR_STANDARDMAX+2) +#define CF_SHOWHELPBUTTON 1 +#define CF_SETCONVERTDEFAULT 2 +#define CF_SETACTIVATEDEFAULT 4 +#define CF_SELECTCONVERTTO 8 +#define CF_SELECTACTIVATEAS 16 +#define CF_DISABLEDISPLAYASICON 32 +#define CF_DISABLEACTIVATEAS 64 +#define CF_HIDECHANGEICON 128 +#define CF_CONVERTONLY 256 +#define OLEUI_CTERR_CLASSIDINVALID (OLEUI_ERR_STANDARDMAX+1) +#define OLEUI_CTERR_DVASPECTINVALID (OLEUI_ERR_STANDARDMAX+2) +#define OLEUI_CTERR_CBFORMATINVALID (OLEUI_ERR_STANDARDMAX+3) +#define OLEUI_CTERR_HMETAPICTINVALID (OLEUI_ERR_STANDARDMAX+4) +#define OLEUI_CTERR_STRINGINVALID (OLEUI_ERR_STANDARDMAX+5) +#define BZ_DISABLECANCELBUTTON 1 +#define BZ_DISABLESWITCHTOBUTTON 2 +#define BZ_DISABLERETRYBUTTON 4 +#define BZ_NOTRESPONDINGDIALOG 8 +#define OLEUI_BZERR_HTASKINVALID OLEUI_ERR_STANDARDMAX +#define OLEUI_BZ_SWITCHTOSELECTED (OLEUI_ERR_STANDARDMAX+1) +#define OLEUI_BZ_RETRYSELECTED (OLEUI_ERR_STANDARDMAX+2) +#define OLEUI_BZ_CALLUNBLOCKED (OLEUI_ERR_STANDARDMAX+3) +#define CSF_SHOWHELP 1 +#define CSF_VALIDSOURCE 2 +#define CSF_ONLYGETSOURCE 4 +#define CSF_EXPLORER 8 +#define OLEUI_CSERR_LINKCNTRNULL OLEUI_ERR_STANDARDMAX +#define OLEUI_CSERR_LINKCNTRINVALID (OLEUI_ERR_STANDARDMAX+1) +#define OLEUI_CSERR_FROMNOTNULL (OLEUI_ERR_STANDARDMAX+2) +#define OLEUI_CSERR_TONOTNULL (OLEUI_ERR_STANDARDMAX+3) +#define OLEUI_CSERR_SOURCENULL (OLEUI_ERR_STANDARDMAX+4) +#define OLEUI_CSERR_SOURCEINVALID (OLEUI_ERR_STANDARDMAX+5) +#define OLEUI_CSERR_SOURCEPARSERROR (OLEUI_ERR_STANDARDMAX+6) +#define OLEUI_CSERR_SOURCEPARSEERROR (OLEUI_ERR_STANDARDMAX+7) +#define VPF_SELECTRELATIVE 1 +#define VPF_DISABLERELATIVE 2 +#define VPF_DISABLESCALE 4 + +#ifndef RC_INVOKED +#pragma pack(push, 8) +typedef UINT (CALLBACK *LPFNOLEUIHOOK)(HWND, UINT, WPARAM, LPARAM); +typedef struct tagOLEUIINSERTOBJECTW { + DWORD cbStruct; + DWORD dwFlags; + HWND hWndOwner; + LPCWSTR lpszCaption; + LPFNOLEUIHOOK lpfnHook; + LPARAM lCustData; + HINSTANCE hInstance; + LPCWSTR lpszTemplate; + HRSRC hResource; + CLSID clsid; + LPWSTR lpszFile; + UINT cchFile; + UINT cClsidExclude; + LPCLSID lpClsidExclude; + IID iid; + DWORD oleRender; + LPFORMATETC lpFormatEtc; + LPOLECLIENTSITE lpIOleClientSite; + LPSTORAGE lpIStorage; + PVOID *ppvObj; + SCODE sc; + HGLOBAL hMetaPict; +} OLEUIINSERTOBJECTW,*POLEUIINSERTOBJECTW,*LPOLEUIINSERTOBJECTW; +typedef struct tagOLEUIINSERTOBJECTA { + DWORD cbStruct; + DWORD dwFlags; + HWND hWndOwner; + LPCSTR lpszCaption; + LPFNOLEUIHOOK lpfnHook; + LPARAM lCustData; + HINSTANCE hInstance; + LPCSTR lpszTemplate; + HRSRC hResource; + CLSID clsid; + LPSTR lpszFile; + UINT cchFile; + UINT cClsidExclude; + LPCLSID lpClsidExclude; + IID iid; + DWORD oleRender; + LPFORMATETC lpFormatEtc; + LPOLECLIENTSITE lpIOleClientSite; + LPSTORAGE lpIStorage; + PVOID *ppvObj; + SCODE sc; + HGLOBAL hMetaPict; +} OLEUIINSERTOBJECTA,*POLEUIINSERTOBJECTA,*LPOLEUIINSERTOBJECTA; +STDAPI_(UINT) OleUIInsertObjectW(LPOLEUIINSERTOBJECTW); +STDAPI_(UINT) OleUIInsertObjectA(LPOLEUIINSERTOBJECTA); +typedef enum tagOLEUIPASTEFLAG { + OLEUIPASTE_PASTEONLY, + OLEUIPASTE_LINKTYPE1, + OLEUIPASTE_LINKTYPE2, + OLEUIPASTE_LINKTYPE3=4, + OLEUIPASTE_LINKTYPE4=8, + OLEUIPASTE_LINKTYPE5=16, + OLEUIPASTE_LINKTYPE6=32, + OLEUIPASTE_LINKTYPE7=64, + OLEUIPASTE_LINKTYPE8=128, + OLEUIPASTE_PASTE=512, + OLEUIPASTE_LINKANYTYPE=1024, + OLEUIPASTE_ENABLEICON=2048, +} OLEUIPASTEFLAG; +typedef struct tagOLEUIPASTEENTRYW { + FORMATETC fmtetc; + LPCWSTR lpstrFormatName; + LPCWSTR lpstrResultText; + DWORD dwFlags; + DWORD dwScratchSpace; +} OLEUIPASTEENTRYW,*POLEUIPASTEENTRYW,*LPOLEUIPASTEENTRYW; +typedef struct tagOLEUIPASTEENTRYA { + FORMATETC fmtetc; + LPCSTR lpstrFormatName; + LPCSTR lpstrResultText; + DWORD dwFlags; + DWORD dwScratchSpace; +} OLEUIPASTEENTRYA,*POLEUIPASTEENTRYA,*LPOLEUIPASTEENTRYA; +typedef struct tagOLEUIPASTESPECIALW { + DWORD cbStruct; + DWORD dwFlags; + HWND hWndOwner; + LPCWSTR lpszCaption; + LPFNOLEUIHOOK lpfnHook; + LPARAM lCustData; + HINSTANCE hInstance; + LPCWSTR lpszTemplate; + HRSRC hResource; + LPDATAOBJECT lpSrcDataObj; + LPOLEUIPASTEENTRYW arrPasteEntries; + int cPasteEntries; + UINT *arrLinkTypes; + int cLinkTypes; + UINT cClsidExclude; + LPCLSID lpClsidExclude; + int nSelectedIndex; + BOOL fLink; + HGLOBAL hMetaPict; + SIZEL sizel; +} OLEUIPASTESPECIALW,*POLEUIPASTESPECIALW,*LPOLEUIPASTESPECIALW; +typedef struct tagOLEUIPASTESPECIALA { + DWORD cbStruct; + DWORD dwFlags; + HWND hWndOwner; + LPCSTR lpszCaption; + LPFNOLEUIHOOK lpfnHook; + LPARAM lCustData; + HINSTANCE hInstance; + LPCSTR lpszTemplate; + HRSRC hResource; + LPDATAOBJECT lpSrcDataObj; + LPOLEUIPASTEENTRYA arrPasteEntries; + int cPasteEntries; + UINT *arrLinkTypes; + int cLinkTypes; + UINT cClsidExclude; + LPCLSID lpClsidExclude; + int nSelectedIndex; + BOOL fLink; + HGLOBAL hMetaPict; + SIZEL sizel; +} OLEUIPASTESPECIALA,*POLEUIPASTESPECIALA,*LPOLEUIPASTESPECIALA; +#undef INTERFACE +#define INTERFACE IOleUILinkContainerW +DECLARE_INTERFACE_(IOleUILinkContainerW, IUnknown) +{ + STDMETHOD(QueryInterface) (THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef) (THIS) PURE; + STDMETHOD_(ULONG,Release) (THIS) PURE; + STDMETHOD_(DWORD,GetNextLink) (THIS_ DWORD dwLink) PURE; + STDMETHOD(SetLinkUpdateOptions) (THIS_ DWORD,DWORD) PURE; + STDMETHOD(GetLinkUpdateOptions) (THIS_ DWORD,PDWORD) PURE; + STDMETHOD(SetLinkSource) (THIS_ DWORD, LPWSTR,ULONG,PULONG,BOOL) PURE; + STDMETHOD(GetLinkSource) (THIS_ DWORD,LPWSTR*,PULONG,LPWSTR*,LPWSTR*,BOOL*,BOOL*) PURE; + STDMETHOD(OpenLinkSource) (THIS_ DWORD) PURE; + STDMETHOD(UpdateLink) (THIS_ DWORD,BOOL,BOOL) PURE; + STDMETHOD(CancelLink) (THIS_ DWORD) PURE; +}; +typedef IOleUILinkContainerW *LPOLEUILINKCONTAINERW; +#undef INTERFACE +#define INTERFACE IOleUILinkContainerA +DECLARE_INTERFACE_(IOleUILinkContainerA, IUnknown) +{ + STDMETHOD(QueryInterface) (THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef) (THIS) PURE; + STDMETHOD_(ULONG,Release) (THIS) PURE; + STDMETHOD_(DWORD,GetNextLink) (THIS_ DWORD) PURE; + STDMETHOD(SetLinkUpdateOptions) (THIS_ DWORD,DWORD) PURE; + STDMETHOD(GetLinkUpdateOptions) (THIS_ DWORD,PDWORD) PURE; + STDMETHOD(SetLinkSource) (THIS_ DWORD, LPSTR,ULONG,PULONG,BOOL) PURE; + STDMETHOD(GetLinkSource) (THIS_ DWORD,LPSTR*,PULONG,LPSTR*,LPSTR*,BOOL*,BOOL*) PURE; + STDMETHOD(OpenLinkSource) (THIS_ DWORD) PURE; + STDMETHOD(UpdateLink) (THIS_ DWORD,BOOL,BOOL) PURE; + STDMETHOD(CancelLink) (THIS_ DWORD) PURE; +}; +typedef IOleUILinkContainerA *LPOLEUILINKCONTAINERA; +typedef struct tagOLEUIEDITLINKSW { + DWORD cbStruct; + DWORD dwFlags; + HWND hWndOwner; + LPCWSTR lpszCaption; + LPFNOLEUIHOOK lpfnHook; + LPARAM lCustData; + HINSTANCE hInstance; + LPCWSTR lpszTemplate; + HRSRC hResource; + LPOLEUILINKCONTAINERW lpOleUILinkContainer; +} OLEUIEDITLINKSW,*POLEUIEDITLINKSW,*LPOLEUIEDITLINKSW; +typedef struct tagOLEUIEDITLINKSA { + DWORD cbStruct; + DWORD dwFlags; + HWND hWndOwner; + LPCSTR lpszCaption; + LPFNOLEUIHOOK lpfnHook; + LPARAM lCustData; + HINSTANCE hInstance; + LPCSTR lpszTemplate; + HRSRC hResource; + LPOLEUILINKCONTAINERA lpOleUILinkContainer; +} OLEUIEDITLINKSA,*POLEUIEDITLINKSA,*LPOLEUIEDITLINKSA; +typedef struct tagOLEUICHANGEICONW { + DWORD cbStruct; + DWORD dwFlags; + HWND hWndOwner; + LPCWSTR lpszCaption; + LPFNOLEUIHOOK lpfnHook; + LPARAM lCustData; + HINSTANCE hInstance; + LPCWSTR lpszTemplate; + HRSRC hResource; + HGLOBAL hMetaPict; + CLSID clsid; + WCHAR szIconExe[MAX_PATH]; + int cchIconExe; +} OLEUICHANGEICONW,*POLEUICHANGEICONW,*LPOLEUICHANGEICONW; +typedef struct tagOLEUICHANGEICONA { + DWORD cbStruct; + DWORD dwFlags; + HWND hWndOwner; + LPCSTR lpszCaption; + LPFNOLEUIHOOK lpfnHook; + LPARAM lCustData; + HINSTANCE hInstance; + LPCSTR lpszTemplate; + HRSRC hResource; + HGLOBAL hMetaPict; + CLSID clsid; + CHAR szIconExe[MAX_PATH]; + int cchIconExe; +} OLEUICHANGEICONA,*POLEUICHANGEICONA,*LPOLEUICHANGEICONA; +typedef struct tagOLEUICONVERTW { + DWORD cbStruct; + DWORD dwFlags; + HWND hWndOwner; + LPCWSTR lpszCaption; + LPFNOLEUIHOOK lpfnHook; + LPARAM lCustData; + HINSTANCE hInstance; + LPCWSTR lpszTemplate; + HRSRC hResource; + CLSID clsid; + CLSID clsidConvertDefault; + CLSID clsidActivateDefault; + CLSID clsidNew; + DWORD dvAspect; + WORD wFormat; + BOOL fIsLinkedObject; + HGLOBAL hMetaPict; + LPWSTR lpszUserType; + BOOL fObjectsIconChanged; + LPWSTR lpszDefLabel; + UINT cClsidExclude; + LPCLSID lpClsidExclude; +} OLEUICONVERTW,*POLEUICONVERTW,*LPOLEUICONVERTW; +typedef struct tagOLEUICONVERTA { + DWORD cbStruct; + DWORD dwFlags; + HWND hWndOwner; + LPCSTR lpszCaption; + LPFNOLEUIHOOK lpfnHook; + LPARAM lCustData; + HINSTANCE hInstance; + LPCSTR lpszTemplate; + HRSRC hResource; + CLSID clsid; + CLSID clsidConvertDefault; + CLSID clsidActivateDefault; + CLSID clsidNew; + DWORD dvAspect; + WORD wFormat; + BOOL fIsLinkedObject; + HGLOBAL hMetaPict; + LPSTR lpszUserType; + BOOL fObjectsIconChanged; + LPSTR lpszDefLabel; + UINT cClsidExclude; + LPCLSID lpClsidExclude; +} OLEUICONVERTA,*POLEUICONVERTA,*LPOLEUICONVERTA; +typedef struct tagOLEUIBUSYW { + DWORD cbStruct; + DWORD dwFlags; + HWND hWndOwner; + LPCWSTR lpszCaption; + LPFNOLEUIHOOK lpfnHook; + LPARAM lCustData; + HINSTANCE hInstance; + LPCWSTR lpszTemplate; + HRSRC hResource; + HTASK hTask; + HWND *lphWndDialog; +} OLEUIBUSYW,*POLEUIBUSYW,*LPOLEUIBUSYW; +typedef struct tagOLEUIBUSYA { + DWORD cbStruct; + DWORD dwFlags; + HWND hWndOwner; + LPCSTR lpszCaption; + LPFNOLEUIHOOK lpfnHook; + LPARAM lCustData; + HINSTANCE hInstance; + LPCSTR lpszTemplate; + HRSRC hResource; + HTASK hTask; + HWND *lphWndDialog; +} OLEUIBUSYA,*POLEUIBUSYA,*LPOLEUIBUSYA; +typedef struct tagOLEUICHANGESOURCEW { + DWORD cbStruct; + DWORD dwFlags; + HWND hWndOwner; + LPCWSTR lpszCaption; + LPFNOLEUIHOOK lpfnHook; + LPARAM lCustData; + HINSTANCE hInstance; + LPCWSTR lpszTemplate; + HRSRC hResource; + OPENFILENAMEW* lpOFN; + DWORD dwReserved1[4]; + LPOLEUILINKCONTAINERW lpOleUILinkContainer; + DWORD dwLink; + LPWSTR lpszDisplayName; + ULONG nFileLength; + LPWSTR lpszFrom; + LPWSTR lpszTo; +} OLEUICHANGESOURCEW,*POLEUICHANGESOURCEW,*LPOLEUICHANGESOURCEW; +typedef struct tagOLEUICHANGESOURCEA { + DWORD cbStruct; + DWORD dwFlags; + HWND hWndOwner; + LPCSTR lpszCaption; + LPFNOLEUIHOOK lpfnHook; + LPARAM lCustData; + HINSTANCE hInstance; + LPCSTR lpszTemplate; + HRSRC hResource; + OPENFILENAMEA *lpOFN; + DWORD dwReserved1[4]; + LPOLEUILINKCONTAINERA lpOleUILinkContainer; + DWORD dwLink; + LPSTR lpszDisplayName; + ULONG nFileLength; + LPSTR lpszFrom; + LPSTR lpszTo; +} OLEUICHANGESOURCEA,*POLEUICHANGESOURCEA,*LPOLEUICHANGESOURCEA; +#undef INTERFACE +#define INTERFACE IOleUIObjInfoW +DECLARE_INTERFACE_(IOleUIObjInfoW, IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetObjectInfo)(THIS_ DWORD,PDWORD,LPWSTR*,LPWSTR*,LPWSTR*,LPWSTR*) PURE; + STDMETHOD(GetConvertInfo)(THIS_ DWORD,CLSID*,PWORD,CLSID*,LPCLSID*,UINT*) PURE; + STDMETHOD(ConvertObject)(THIS_ DWORD,REFCLSID) PURE; + STDMETHOD(GetViewInfo)(THIS_ DWORD,HGLOBAL*,PDWORD,int*) PURE; + STDMETHOD(SetViewInfo)(THIS_ DWORD,HGLOBAL,DWORD,int,BOOL) PURE; +}; +typedef IOleUIObjInfoW *LPOLEUIOBJINFOW; +#undef INTERFACE +#define INTERFACE IOleUIObjInfoA +DECLARE_INTERFACE_(IOleUIObjInfoA, IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetObjectInfo)(THIS_ DWORD,PDWORD,LPSTR*,LPSTR*,LPSTR*,LPSTR*) PURE; + STDMETHOD(GetConvertInfo)(THIS_ DWORD,CLSID*,PWORD,CLSID*,LPCLSID*,UINT*) PURE; + STDMETHOD(ConvertObject)(THIS_ DWORD,REFCLSID) PURE; + STDMETHOD(GetViewInfo)(THIS_ DWORD,HGLOBAL*,PDWORD,int*) PURE; + STDMETHOD(SetViewInfo)(THIS_ DWORD,HGLOBAL,DWORD,int,BOOL) PURE; +}; +typedef IOleUIObjInfoA *LPOLEUIOBJINFOA; +#undef INTERFACE +#define INTERFACE IOleUILinkInfoW +DECLARE_INTERFACE_(IOleUILinkInfoW, IOleUILinkContainerW) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD) PURE; + STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD,DWORD) PURE; + STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD,DWORD*) PURE; + STDMETHOD(SetLinkSource)(THIS_ DWORD,LPWSTR,ULONG,PULONG,BOOL) PURE; + STDMETHOD(GetLinkSource)(THIS_ DWORD,LPWSTR*,PULONG,LPWSTR*,LPWSTR*,BOOL*,BOOL*) PURE; + STDMETHOD(OpenLinkSource)(THIS_ DWORD) PURE; + STDMETHOD(UpdateLink)(THIS_ DWORD,BOOL,BOOL) PURE; + STDMETHOD(CancelLink)(THIS_ DWORD) PURE; + STDMETHOD(GetLastUpdate)(THIS_ DWORD,FILETIME*) PURE; +}; +typedef IOleUILinkInfoW *LPOLEUILINKINFOW; +#undef INTERFACE +#define INTERFACE IOleUILinkInfoA +DECLARE_INTERFACE_(IOleUILinkInfoA, IOleUILinkContainerA) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD) PURE; + STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD,DWORD) PURE; + STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD,DWORD*) PURE; + STDMETHOD(SetLinkSource)(THIS_ DWORD,LPSTR,ULONG,PULONG,BOOL) PURE; + STDMETHOD(GetLinkSource)(THIS_ DWORD,LPSTR*,PULONG,LPSTR*,LPSTR*,BOOL*,BOOL*) PURE; + STDMETHOD(OpenLinkSource)(THIS_ DWORD) PURE; + STDMETHOD(UpdateLink)(THIS_ DWORD,BOOL,BOOL) PURE; + STDMETHOD(CancelLink)(THIS_ DWORD) PURE; + STDMETHOD(GetLastUpdate)(THIS_ DWORD,FILETIME*) PURE; +}; +typedef IOleUILinkInfoA* LPOLEUILINKINFOA; +struct tagOLEUIOBJECTPROPSW; +struct tagOLEUIOBJECTPROPSA; +typedef struct tagOLEUIGNRLPROPSW { + DWORD cbStruct; + DWORD dwFlags; + DWORD dwReserved1[2]; + LPFNOLEUIHOOK lpfnHook; + LPARAM lCustData; + DWORD dwReserved2[3]; + struct tagOLEUIOBJECTPROPSW* lpOP; +} OLEUIGNRLPROPSW,*POLEUIGNRLPROPSW,*LPOLEUIGNRLPROPSW; +typedef struct tagOLEUIGNRLPROPSA { + DWORD cbStruct; + DWORD dwFlags; + DWORD dwReserved1[2]; + LPFNOLEUIHOOK lpfnHook; + LPARAM lCustData; + DWORD dwReserved2[3]; + struct tagOLEUIOBJECTPROPSA* lpOP; +} OLEUIGNRLPROPSA,*POLEUIGNRLPROPSA,*LPOLEUIGNRLPROPSA; +typedef struct tagOLEUIVIEWPROPSW { + DWORD cbStruct; + DWORD dwFlags; + DWORD dwReserved1[2]; + LPFNOLEUIHOOK lpfnHook; + LPARAM lCustData; + DWORD dwReserved2[3]; + struct tagOLEUIOBJECTPROPSW* lpOP; + int nScaleMin; + int nScaleMax; +} OLEUIVIEWPROPSW,*POLEUIVIEWPROPSW,*LPOLEUIVIEWPROPSW; +typedef struct tagOLEUIVIEWPROPSA { + DWORD cbStruct; + DWORD dwFlags; + DWORD dwReserved1[2]; + LPFNOLEUIHOOK lpfnHook; + LPARAM lCustData; + DWORD dwReserved2[3]; + struct tagOLEUIOBJECTPROPSA *lpOP; + int nScaleMin; + int nScaleMax; +} OLEUIVIEWPROPSA,*POLEUIVIEWPROPSA,*LPOLEUIVIEWPROPSA; +typedef struct tagOLEUILINKPROPSW { + DWORD cbStruct; + DWORD dwFlags; + DWORD dwReserved1[2]; + LPFNOLEUIHOOK lpfnHook; + LPARAM lCustData; + DWORD dwReserved2[3]; + struct tagOLEUIOBJECTPROPSW *lpOP; +} OLEUILINKPROPSW, *POLEUILINKPROPSW,* LPOLEUILINKPROPSW; +typedef struct tagOLEUILINKPROPSA { + DWORD cbStruct; + DWORD dwFlags; + DWORD dwReserved1[2]; + LPFNOLEUIHOOK lpfnHook; + LPARAM lCustData; + DWORD dwReserved2[3]; + struct tagOLEUIOBJECTPROPSA* lpOP; +} OLEUILINKPROPSA,*POLEUILINKPROPSA,*LPOLEUILINKPROPSA; +typedef struct tagOLEUIOBJECTPROPSW { + DWORD cbStruct; + DWORD dwFlags; + LPPROPSHEETHEADERW lpPS; + DWORD dwObject; + LPOLEUIOBJINFOW lpObjInfo; + DWORD dwLink; + LPOLEUILINKINFOW lpLinkInfo; + LPOLEUIGNRLPROPSW lpGP; + LPOLEUIVIEWPROPSW lpVP; + LPOLEUILINKPROPSW lpLP; +} OLEUIOBJECTPROPSW,*POLEUIOBJECTPROPSW,*LPOLEUIOBJECTPROPSW; +typedef struct tagOLEUIOBJECTPROPSA { + DWORD cbStruct; + DWORD dwFlags; + LPPROPSHEETHEADERA lpPS; + DWORD dwObject; + LPOLEUIOBJINFOA lpObjInfo; + DWORD dwLink; + LPOLEUILINKINFOA lpLinkInfo; + LPOLEUIGNRLPROPSA lpGP; + LPOLEUIVIEWPROPSA lpVP; + LPOLEUILINKPROPSA lpLP; +} OLEUIOBJECTPROPSA,*POLEUIOBJECTPROPSA,*LPOLEUIOBJECTPROPSA; + +STDAPI_(BOOL) OleUIAddVerbMenuW(LPOLEOBJECT,LPCWSTR,HMENU,UINT,UINT,UINT,BOOL,UINT,HMENU*); +STDAPI_(BOOL) OleUIAddVerbMenuA(LPOLEOBJECT,LPCSTR,HMENU,UINT,UINT,UINT,BOOL,UINT,HMENU*); +STDAPI_(UINT) OleUIBusyW(LPOLEUIBUSYW); +STDAPI_(UINT) OleUIBusyA(LPOLEUIBUSYA); +STDAPI_(BOOL) OleUICanConvertOrActivateAs(REFCLSID,BOOL,WORD); +STDAPI_(UINT) OleUIChangeIconW(LPOLEUICHANGEICONW); +STDAPI_(UINT) OleUIChangeIconA(LPOLEUICHANGEICONA); +STDAPI_(UINT) OleUIChangeSourceW(LPOLEUICHANGESOURCEW); +STDAPI_(UINT) OleUIChangeSourceA(LPOLEUICHANGESOURCEA); +STDAPI_(UINT) OleUIConvertW(LPOLEUICONVERTW); +STDAPI_(UINT) OleUIConvertA(LPOLEUICONVERTA); +STDAPI_(UINT) OleUIEditLinksW(LPOLEUIEDITLINKSW); +STDAPI_(UINT) OleUIEditLinksA(LPOLEUIEDITLINKSA); +STDAPI_(UINT) OleUIObjectPropertiesW(LPOLEUIOBJECTPROPSW); +STDAPI_(UINT) OleUIObjectPropertiesA(LPOLEUIOBJECTPROPSA); +STDAPI_(UINT) OleUIPasteSpecialW(LPOLEUIPASTESPECIALW); +STDAPI_(UINT) OleUIPasteSpecialA(LPOLEUIPASTESPECIALA); +int OleUIPromptUserW(int,HWND,...); +int OleUIPromptUserA(int,HWND,...); +STDAPI_(BOOL) OleUIUpdateLinksW(LPOLEUILINKCONTAINERW,HWND,LPWSTR,int); +STDAPI_(BOOL) OleUIUpdateLinksA(LPOLEUILINKCONTAINERA,HWND,LPSTR,int); + +#ifdef UNICODE +#define IDD_SERVERNOTREG IDD_SERVERNOTREGW +#define IDD_LINKTYPECHANGED IDD_LINKTYPECHANGEDW +#define OleUIUpdateLinks OleUIUpdateLinksW +#define OleUIAddVerbMenu OleUIAddVerbMenuW +#define tagOLEUIOBJECTPROPS tagOLEUIOBJECTPROPSW +#define OLEUIOBJECTPROPS OLEUIOBJECTPROPSW +#define POLEUIOBJECTPROPS POLEUIOBJECTPROPSW +#define LPOLEUIOBJECTPROPS LPOLEUIOBJECTPROPSW +#define OleUIObjectProperties OleUIObjectPropertiesW +#define tagOLEUIINSERTOBJECT tagOLEUIINSERTOBJECTW +#define OLEUIINSERTOBJECT OLEUIINSERTOBJECTW +#define POLEUIINSERTOBJECT POLEUIINSERTOBJECTW +#define LPOLEUIINSERTOBJECT LPOLEUIINSERTOBJECTW +#define OleUIInsertObject OleUIInsertObjectW +#define OleUIPromptUser OleUIPromptUserW +#define tagOLEUIPASTEENTRY tagOLEUIPASTEENTRYW +#define OLEUIPASTEENTRY OLEUIPASTEENTRYW +#define POLEUIPASTEENTRY POLEUIPASTEENTRYW +#define LPOLEUIPASTEENTRY LPOLEUIPASTEENTRYW +#define tagOLEUIPASTESPECIAL tagOLEUIPASTESPECIALW +#define OLEUIPASTESPECIAL OLEUIPASTESPECIALW +#define POLEUIPASTESPECIAL POLEUIPASTESPECIALW +#define LPOLEUIPASTESPECIAL LPOLEUIPASTESPECIALW +#define OleUIPasteSpecial OleUIPasteSpecialW +#define IOleUILinkContainer IOleUILinkContainerW +#define LPOLEUILINKCONTAINER LPOLEUILINKCONTAINERW +#define tagOLEUIEDITLINKS tagOLEUIEDITLINKSW +#define OLEUIEDITLINKS OLEUIEDITLINKSW +#define POLEUIEDITLINKS POLEUIEDITLINKSW +#define LPOLEUIEDITLINKS LPOLEUIEDITLINKSW +#define OleUIEditLinks OleUIEditLinksW +#define tagOLEUICHANGEICON tagOLEUICHANGEICONW +#define OLEUICHANGEICON OLEUICHANGEICONW +#define POLEUICHANGEICON POLEUICHANGEICONW +#define LPOLEUICHANGEICON LPOLEUICHANGEICONW +#define OleUIChangeIcon OleUIChangeIconW +#define tagOLEUICONVERT tagOLEUICONVERTW +#define OLEUICONVERT OLEUICONVERTW +#define POLEUICONVERT POLEUICONVERTW +#define LPOLEUICONVERT LPOLEUICONVERTW +#define OleUIConvert OleUIConvertW +#define tagOLEUIBUSY tagOLEUIBUSYW +#define OLEUIBUSY OLEUIBUSYW +#define POLEUIBUSY POLEUIBUSYW +#define LPOLEUIBUSY LPOLEUIBUSYW +#define OleUIBusy OleUIBusyW +#define tagOLEUICHANGESOURCE tagOLEUICHANGESOURCEW +#define OLEUICHANGESOURCE OLEUICHANGESOURCEW +#define POLEUICHANGESOURCE POLEUICHANGESOURCEW +#define LPOLEUICHANGESOURCE LPOLEUICHANGESOURCEW +#define OleUIChangeSource OleUIChangeSourceW +#define IOleUIObjInfo IOleUIObjInfoW +#define LPOLEUIOBJINFO LPOLEUIOBJINFOW +#define IOleUILinkInfo IOleUILinkInfoW +#define IOleUILinkInfoVtbl IOleUILinkInfoWVtbl +#define LPOLEUILINKINFO LPOLEUILINKINFOW +#define tagOLEUIGNRLPROPS tagOLEUIGNRLPROPSW +#define OLEUIGNRLPROPS OLEUIGNRLPROPSW +#define POLEUIGNRLPROPS POLEUIGNRLPROPSW +#define LPOLEUIGNRLPROPS LPOLEUIGNRLPROPSW +#define tagOLEUIVIEWPROPS tagOLEUIVIEWPROPSW +#define OLEUIVIEWPROPS OLEUIVIEWPROPSW +#define POLEUIVIEWPROPS POLEUIVIEWPROPSW +#define LPOLEUIVIEWPROPS LPOLEUIVIEWPROPSW +#define tagOLEUILINKPROPS tagOLEUILINKPROPSW +#define OLEUILINKPROPS OLEUILINKPROPSW +#define POLEUILINKPROPS POLEUILINKPROPSW +#define LPOLEUILINKPROPS LPOLEUILINKPROPSW +#else +#define IDD_SERVERNOTREG IDD_SERVERNOTREGA +#define IDD_LINKTYPECHANGED IDD_LINKTYPECHANGEDA +#define OleUIUpdateLinks OleUIUpdateLinksA +#define OleUIAddVerbMenu OleUIAddVerbMenuA +#define tagOLEUIOBJECTPROPS tagOLEUIOBJECTPROPSA +#define OLEUIOBJECTPROPS OLEUIOBJECTPROPSA +#define POLEUIOBJECTPROPS POLEUIOBJECTPROPSA +#define LPOLEUIOBJECTPROPS LPOLEUIOBJECTPROPSA +#define OleUIObjectProperties OleUIObjectPropertiesA +#define tagOLEUIINSERTOBJECT tagOLEUIINSERTOBJECTA +#define OLEUIINSERTOBJECT OLEUIINSERTOBJECTA +#define POLEUIINSERTOBJECT POLEUIINSERTOBJECTA +#define LPOLEUIINSERTOBJECT LPOLEUIINSERTOBJECTA +#define OleUIInsertObject OleUIInsertObjectA +#define OleUIPromptUser OleUIPromptUserA +#define tagOLEUIPASTEENTRY tagOLEUIPASTEENTRYA +#define OLEUIPASTEENTRY OLEUIPASTEENTRYA +#define POLEUIPASTEENTRY POLEUIPASTEENTRYA +#define LPOLEUIPASTEENTRY LPOLEUIPASTEENTRYA +#define tagOLEUIPASTESPECIAL tagOLEUIPASTESPECIALA +#define OLEUIPASTESPECIAL OLEUIPASTESPECIALA +#define POLEUIPASTESPECIAL POLEUIPASTESPECIALA +#define LPOLEUIPASTESPECIAL LPOLEUIPASTESPECIALA +#define OleUIPasteSpecial OleUIPasteSpecialA +#define IOleUILinkContainer IOleUILinkContainerA +#define LPOLEUILINKCONTAINER LPOLEUILINKCONTAINERA +#define tagOLEUIEDITLINKS tagOLEUIEDITLINKSA +#define OLEUIEDITLINKS OLEUIEDITLINKSA +#define POLEUIEDITLINKS POLEUIEDITLINKSA +#define LPOLEUIEDITLINKS LPOLEUIEDITLINKSA +#define OleUIEditLinks OleUIEditLinksA +#define tagOLEUICHANGEICON tagOLEUICHANGEICONA +#define OLEUICHANGEICON OLEUICHANGEICONA +#define POLEUICHANGEICON POLEUICHANGEICONA +#define LPOLEUICHANGEICON LPOLEUICHANGEICONA +#define OleUIChangeIcon OleUIChangeIconA +#define tagOLEUICONVERT tagOLEUICONVERTA +#define OLEUICONVERT OLEUICONVERTA +#define POLEUICONVERT POLEUICONVERTA +#define LPOLEUICONVERT LPOLEUICONVERTA +#define OleUIConvert OleUIConvertA +#define tagOLEUIBUSY tagOLEUIBUSYA +#define OLEUIBUSY OLEUIBUSYA +#define POLEUIBUSY POLEUIBUSYA +#define LPOLEUIBUSY LPOLEUIBUSYA +#define OleUIBusy OleUIBusyA +#define tagOLEUICHANGESOURCE tagOLEUICHANGESOURCEA +#define OLEUICHANGESOURCE OLEUICHANGESOURCEA +#define POLEUICHANGESOURCE POLEUICHANGESOURCEA +#define LPOLEUICHANGESOURCE LPOLEUICHANGESOURCEA +#define OleUIChangeSource OleUIChangeSourceA +#define IOleUIObjInfo IOleUIObjInfoA +#define LPOLEUIOBJINFO LPOLEUIOBJINFOA +#define IOleUILinkInfo IOleUILinkInfoA +#define IOleUILinkInfoVtbl IOleUILinkInfoAVtbl +#define LPOLEUILINKINFO LPOLEUILINKINFOA +#define tagOLEUIGNRLPROPS tagOLEUIGNRLPROPSA +#define OLEUIGNRLPROPS OLEUIGNRLPROPSA +#define POLEUIGNRLPROPS POLEUIGNRLPROPSA +#define LPOLEUIGNRLPROPS LPOLEUIGNRLPROPSA +#define tagOLEUIVIEWPROPS tagOLEUIVIEWPROPSA +#define OLEUIVIEWPROPS OLEUIVIEWPROPSA +#define POLEUIVIEWPROPS POLEUIVIEWPROPSA +#define LPOLEUIVIEWPROPS LPOLEUIVIEWPROPSA +#define tagOLEUILINKPROPS tagOLEUILINKPROPSA +#define OLEUILINKPROPS OLEUILINKPROPSA +#define POLEUILINKPROPS POLEUILINKPROPSA +#define LPOLEUILINKPROPS LPOLEUILINKPROPSA +#endif +#pragma pack(pop) +#endif +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/oleidl.h b/winsup/w32api/include/oleidl.h new file mode 100644 index 000000000..e6b951f1d --- /dev/null +++ b/winsup/w32api/include/oleidl.h @@ -0,0 +1,320 @@ +#ifndef _OLEIDL_H +#define _OLEIDL_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include <objfwd.h> +typedef interface IParseDisplayname *LPPARSEDISPLAYNAME; +typedef interface IOleContainer *LPOLECONTAINER; +typedef interface IOleClientSite *LPOLECLIENTSITE; +typedef interface IOleObject *LPOLEOBJECT; +typedef interface IDropTarget *LPDROPTARGET; +typedef interface IDropSource *LPDROPSOURCE; +typedef interface IEnumOleDocumentViews *LPENUMOLEDOCUMENTVIEWS; +typedef interface IEnumOleUndoUnits *LPENUMOLEUNDOUNITS; +typedef interface IEnumOLEVERB *LPENUMOLEVERB; +typedef interface IOleWindow *LPOLEWINDOW; +typedef interface IOleInPlaceUIWindow *LPOLEINPLACEUIWINDOW; +typedef interface IOleInPlaceActiveObject *LPOLEINPLACEACTIVEOBJECT; +typedef interface IOleInPlaceFrame *LPOLEINPLACEFRAME; +typedef interface IOleAdviseHolder *LPOLEADVISEHOLDER; +typedef interface IViewObject *LPVIEWOBJECT; +typedef interface IViewObject2 *LPVIEWOBJECT2; + +typedef enum tagOLEWHICHMK { + OLEWHICHMK_CONTAINER=1, + OLEWHICHMK_OBJREL, + OLEWHICHMK_OBJFULL +} OLEWHICHMK; +typedef enum tagOLEGETMONIKER { + OLEGETMONIKER_ONLYIFTHERE=1, + OLEGETMONIKER_FORCEASSIGN, + OLEGETMONIKER_UNASSIGN, + OLEGETMONIKER_TEMPFORUSER +} OLEGETMONIKER; +typedef enum tagDROPEFFECT { + DROPEFFECT_NONE=0, + DROPEFFECT_COPY=1, + DROPEFFECT_MOVE=2, + DROPEFFECT_LINK=4, + DROPEFFECT_SCROLL=0x80000000 +} DROPEFFECT; +typedef struct tagOleMenuGroupWidths { + LONG width[6]; +} OLEMENUGROUPWIDTHS,*LPOLEMENUGROUPWIDTHS; +typedef HGLOBAL HOLEMENU; +typedef enum tagOLECLOSE { + OLECLOSE_SAVEIFDIRTY, + OLECLOSE_NOSAVE, + OLECLOSE_PROMPTSAVE +} OLECLOSE; +typedef struct tagOLEVERB { + LONG lVerb; + LPWSTR lpszVerbName; + DWORD fuFlags; + DWORD grfAttribs; +} OLEVERB,*LPOLEVERB; +typedef RECT BORDERWIDTHS; +typedef LPRECT LPBORDERWIDTHS; +typedef LPCRECT LPCBORDERWIDTHS; +typedef struct tagOIFI { + UINT cb; + BOOL fMDIApp; + HWND hwndFrame; + HACCEL haccel; + UINT cAccelEntries; +}OLEINPLACEFRAMEINFO,*LPOLEINPLACEFRAMEINFO; + +/*DECLARE_ENUMERATOR_(IEnumOleDocumentViews,IOleDocumentView);*/ +DECLARE_ENUMERATOR(OLEVERB); +typedef IEnumOLEVERB IEnumOleVerb; + +EXTERN_C const IID IID_IParseDisplayName; +#undef INTERFACE +#define INTERFACE IParseDisplayName +DECLARE_INTERFACE_(IParseDisplayName,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(ParseDisplayName)(THIS_ IBindCtx*,LPOLESTR,ULONG*,IMoniker**) PURE; +}; + +EXTERN_C const IID IID_IOleContainer; +#undef INTERFACE +#define INTERFACE IOleContainer +DECLARE_INTERFACE_(IOleContainer,IParseDisplayName) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(ParseDisplayName)(THIS_ IBindCtx*,LPOLESTR,ULONG*,IMoniker**) PURE; + STDMETHOD(EnumObjects)(THIS_ DWORD,IEnumUnknown**) PURE; + STDMETHOD(LockContainer)(THIS_ BOOL) PURE; +}; + +EXTERN_C const IID IID_IOleClientSite; +#undef INTERFACE +#define INTERFACE IOleClientSite +DECLARE_INTERFACE_(IOleClientSite,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(SaveObject)(THIS) PURE; + STDMETHOD(GetMoniker)(THIS_ DWORD,DWORD,LPMONIKER*) PURE; + STDMETHOD(GetContainer)(THIS_ LPOLECONTAINER*) PURE; + STDMETHOD(ShowObject)(THIS) PURE; + STDMETHOD(OnShowWindow)(THIS_ BOOL) PURE; + STDMETHOD(RequestNewObjectLayout)(THIS) PURE; +}; + +EXTERN_C const IID IID_IOleObject; +#undef INTERFACE +#define INTERFACE IOleObject +DECLARE_INTERFACE_(IOleObject,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(SetClientSite)(THIS_ LPOLECLIENTSITE) PURE; + STDMETHOD(GetClientSite)(THIS_ LPOLECLIENTSITE*) PURE; + STDMETHOD(SetHostNames)(THIS_ LPCOLESTR,LPCOLESTR) PURE; + STDMETHOD(Close)(THIS_ DWORD) PURE; + STDMETHOD(SetMoniker)(THIS_ DWORD,LPMONIKER) PURE; + STDMETHOD(GetMoniker)(THIS_ DWORD,DWORD,LPMONIKER*) PURE; + STDMETHOD(InitFromData)(THIS_ LPDATAOBJECT,BOOL,DWORD) PURE; + STDMETHOD(GetClipboardData)(THIS_ DWORD,LPDATAOBJECT*) PURE; + STDMETHOD(DoVerb)(THIS_ LONG,LPMSG,LPOLECLIENTSITE,LONG,HWND,LPCRECT) PURE; + STDMETHOD(EnumVerbs)(THIS_ LPENUMOLEVERB*) PURE; + STDMETHOD(Update)(THIS) PURE; + STDMETHOD(IsUpToDate)(THIS) PURE; + STDMETHOD(GetUserClassID)(THIS_ LPCLSID) PURE; + STDMETHOD(GetUserType)(THIS_ DWORD,LPOLESTR) PURE; + STDMETHOD(SetExtent)(THIS_ DWORD,SIZEL*) PURE; + STDMETHOD(GetExtent)(THIS_ DWORD,SIZEL*) PURE; + STDMETHOD(Advise)(THIS_ LPADVISESINK,PDWORD) PURE; + STDMETHOD(Unadvise)(THIS_ DWORD) PURE; + STDMETHOD(EnumAdvise)(THIS_ LPENUMSTATDATA*) PURE; + STDMETHOD(GetMiscStatus)(THIS_ DWORD,PDWORD) PURE; + STDMETHOD(SetColorScheme)(THIS_ LPLOGPALETTE) PURE; +}; + +EXTERN_C const IID IID_IOleWindow; +#undef INTERFACE +#define INTERFACE IOleWindow +DECLARE_INTERFACE_(IOleWindow,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetWindow)(THIS_ HWND*) PURE; + STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE; +}; + +EXTERN_C const IID IID_IOleInPlaceUIWindow; +#undef INTERFACE +#define INTERFACE IOleInPlaceUIWindow +DECLARE_INTERFACE_(IOleInPlaceUIWindow,IOleWindow) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetWindow)(THIS_ HWND*) PURE; + STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE; + STDMETHOD(GetBorder)(THIS_ LPRECT) PURE; + STDMETHOD(RequestBorderSpace)(THIS_ LPCBORDERWIDTHS) PURE; + STDMETHOD(SetBorderSpace)(THIS_ LPCBORDERWIDTHS) PURE; + STDMETHOD(SetActiveObject)(THIS_ LPOLEINPLACEACTIVEOBJECT,LPCOLESTR) PURE; +}; + +EXTERN_C const IID IID_IOleInPlaceActiveObject; +#undef INTERFACE +#define INTERFACE IOleInPlaceActiveObject +DECLARE_INTERFACE_(IOleInPlaceActiveObject,IOleWindow) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetWindow)(THIS_ HWND*) PURE; + STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE; + STDMETHOD(TranslateAccelerator)(THIS_ LPMSG) PURE; + STDMETHOD(OnFrameWindowActivate)(THIS_ BOOL) PURE; + STDMETHOD(OnDocWindowActivate)(THIS_ BOOL) PURE; + STDMETHOD(ResizeBorder)(THIS_ LPCRECT,LPOLEINPLACEUIWINDOW,BOOL) PURE; + STDMETHOD(EnableModeless)(THIS_ BOOL) PURE; +}; + +EXTERN_C const IID IID_IOleInPlaceFrame; +#undef INTERFACE +#define INTERFACE IOleInPlaceFrame +DECLARE_INTERFACE_(IOleInPlaceFrame,IOleInPlaceUIWindow) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetWindow)(THIS_ HWND*) PURE; + STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE; + STDMETHOD(GetBorder)(THIS_ LPRECT) PURE; + STDMETHOD(RequestBorderSpace)(THIS_ LPCBORDERWIDTHS) PURE; + STDMETHOD(SetBorderSpace)(THIS_ LPCBORDERWIDTHS) PURE; + STDMETHOD(SetActiveObject)(THIS_ LPOLEINPLACEACTIVEOBJECT,LPCOLESTR) PURE; + STDMETHOD(InsertMenus)(THIS_ HMENU,LPOLEMENUGROUPWIDTHS) PURE; + STDMETHOD(SetMenu)(THIS_ HMENU,HOLEMENU,HWND) PURE; + STDMETHOD(RemoveMenus)(THIS_ HMENU) PURE; + STDMETHOD(SetStatusText)(THIS_ LPCOLESTR) PURE; + STDMETHOD(EnableModeless)(THIS_ BOOL) PURE; + STDMETHOD(TranslateAccelerator)(THIS_ LPMSG,WORD) PURE; +}; + +EXTERN_C const IID IID_IOleAdviseHolder; +#undef INTERFACE +#define INTERFACE IOleAdviseHolder +DECLARE_INTERFACE_(IOleAdviseHolder,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(Advise)(THIS_ LPADVISESINK,PDWORD) PURE; + STDMETHOD(Unadvise)(THIS_ DWORD) PURE; + STDMETHOD(EnumAdvise)(THIS_ LPENUMSTATDATA*) PURE; + STDMETHOD(SendOnRename)(THIS_ LPMONIKER) PURE; + STDMETHOD(SendOnSave)(THIS) PURE; + STDMETHOD(SendOnClose)(THIS) PURE; +}; + +EXTERN_C const IID IID_IDropSource; +#undef INTERFACE +#define INTERFACE IDropSource +DECLARE_INTERFACE_(IDropSource,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(QueryContinueDrag)(THIS_ BOOL,DWORD) PURE; + STDMETHOD(GiveFeedback)(THIS_ DWORD) PURE; +}; + +EXTERN_C const IID IID_IDropTarget; +#undef INTERFACE +#define INTERFACE IDropTarget +DECLARE_INTERFACE_(IDropTarget,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(DragEnter)(THIS_ LPDATAOBJECT,DWORD,POINTL,PDWORD) PURE; + STDMETHOD(DragOver)(THIS_ DWORD,POINTL,PDWORD) PURE; + STDMETHOD(DragLeave)(THIS) PURE; + STDMETHOD(Drop)(THIS_ LPDATAOBJECT,DWORD,POINTL,PDWORD) PURE; +}; + +typedef BOOL(CALLBACK *__IView_pfncont)(DWORD); +EXTERN_C const IID IID_IViewObject; +#undef INTERFACE +#define INTERFACE IViewObject +DECLARE_INTERFACE_(IViewObject,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(Draw)(THIS_ DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,HDC,LPCRECTL,LPCRECTL,__IView_pfncont pfnContinue,DWORD) PURE; + STDMETHOD(GetColorSet)(THIS_ DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,LPLOGPALETTE*) PURE; + STDMETHOD(Freeze)(THIS_ DWORD,LONG,PVOID,PDWORD) PURE; + STDMETHOD(Unfreeze)(THIS_ DWORD) PURE; + STDMETHOD(SetAdvise)(THIS_ DWORD,DWORD,IAdviseSink*) PURE; + STDMETHOD(GetAdvise)(THIS_ PDWORD,PDWORD,IAdviseSink**) PURE; +}; + +EXTERN_C const IID IID_IViewObject2; +#undef INTERFACE +#define INTERFACE IViewObject2 +DECLARE_INTERFACE_(IViewObject2,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(Draw)(THIS_ DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,HDC,LPCRECTL,LPCRECTL,__IView_pfncont pfnContinue,DWORD) PURE; + STDMETHOD(GetColorSet)(THIS_ DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,LPLOGPALETTE*) PURE; + STDMETHOD(Freeze)(THIS_ DWORD,LONG,PVOID,PDWORD) PURE; + STDMETHOD(Unfreeze)(THIS_ DWORD) PURE; + STDMETHOD(SetAdvise)(THIS_ DWORD,DWORD,IAdviseSink*) PURE; + STDMETHOD(GetAdvise)(THIS_ PDWORD,PDWORD,IAdviseSink**) PURE; + STDMETHOD(GetExtent)(THIS_ DWORD,DWORD,DVTARGETDEVICE*,LPSIZEL) PURE; +}; + +EXTERN_C const IID IID_ISupportErrorInfo; +#undef INTERFACE +#define INTERFACE ISupportErrorInfo +DECLARE_INTERFACE_(ISupportErrorInfo, IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(InterfaceSupportsErrorInfo)(THIS_ REFIID) PURE; + +}; + +EXTERN_C const IID IID_IErrorInfo; +#undef INTERFACE +#define INTERFACE IErrorInfo +DECLARE_INTERFACE_(IErrorInfo, IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + + STDMETHOD(GetGUID)(THIS_ REFIID) PURE; + STDMETHOD(GetSource)(THIS_ BSTR*) PURE; + STDMETHOD(GetDescription)(THIS_ BSTR*) PURE; + STDMETHOD(GetHelpContext)(THIS_ DWORD*) PURE; + + }; + +#ifdef __cplusplus +} +#endif +#endif + diff --git a/winsup/w32api/include/pbt.h b/winsup/w32api/include/pbt.h new file mode 100644 index 000000000..fba11e3d0 --- /dev/null +++ b/winsup/w32api/include/pbt.h @@ -0,0 +1,16 @@ +#ifndef _PBT_H +#define _PBT_H +#define PBT_APMQUERYSUSPEND 0 +#define PBT_APMQUERYSTANDBY 1 +#define PBT_APMQUERYSUSPENDFAILED 2 +#define PBT_APMQUERYSTANDBYFAILED 3 +#define PBT_APMSUSPEND 4 +#define PBT_APMSTANDBY 5 +#define PBT_APMRESUMECRITICAL 6 +#define PBT_APMRESUMESUSPEND 8 +#define PBT_APMRESUMESTANDBY 8 +#define PBTF_APMRESUMEFROMFAILURE 1 +#define PBT_APMBATTERYLOW 9 +#define PBT_APMPOWERSTATUSCHANGE 10 +#define PBT_APMOEMEVENT 11 +#endif diff --git a/winsup/w32api/include/poppack.h b/winsup/w32api/include/poppack.h new file mode 100644 index 000000000..bb04d4524 --- /dev/null +++ b/winsup/w32api/include/poppack.h @@ -0,0 +1,3 @@ +#ifndef RC_INVOKED +#pragma pack(pop) +#endif diff --git a/winsup/w32api/include/prsht.h b/winsup/w32api/include/prsht.h new file mode 100644 index 000000000..8b2ab2de2 --- /dev/null +++ b/winsup/w32api/include/prsht.h @@ -0,0 +1,244 @@ +#ifndef _PRSHT_H +#define _PRSHT_H +#ifdef __cplusplus +extern "C" { +#endif + +#define MAXPROPPAGES 100 +#define PSP_DEFAULT 0 +#define PSP_DLGINDIRECT 1 +#define PSP_USEHICON 2 +#define PSP_USEICONID 4 +#define PSP_USETITLE 8 +#define PSP_RTLREADING 16 +#define PSP_HASHELP 32 +#define PSP_USEREFPARENT 64 +#define PSP_USECALLBACK 128 +#define PSPCB_RELEASE 1 +#define PSPCB_CREATE 2 +#define PSH_DEFAULT 0 +#define PSH_PROPTITLE 1 +#define PSH_USEHICON 2 +#define PSH_USEICONID 4 +#define PSH_PROPSHEETPAGE 8 +#define PSH_WIZARD 32 +#define PSH_USEPSTARTPAGE 64 +#define PSH_NOAPPLYNOW 128 +#define PSH_USECALLBACK 256 +#define PSH_HASHELP 512 +#define PSH_MODELESS 1024 +#define PSH_RTLREADING 2048 +#define PSCB_INITIALIZED 1 +#define PSCB_PRECREATE 2 +#define PSM_GETTABCONTROL 1140 +#define PSM_GETCURRENTPAGEHWND 1142 +#define PSM_ISDIALOGMESSAGE 1141 +#define PSM_PRESSBUTTON 1137 +#define PSM_SETCURSELID 1138 +#define PSM_SETFINISHTEXTW 1145 +#define PSM_SETFINISHTEXTA 1139 +#define PSN_FIRST (-200) +#define PSN_LAST (-299) +#define PSN_APPLY (-202) +#define PSN_HELP (-205) +#define PSN_KILLACTIVE (-201) +#define PSN_QUERYCANCEL (-209) +#define PSN_RESET (-203) +#define PSN_SETACTIVE (-200) +#define PSN_WIZBACK (-206) +#define PSN_WIZFINISH (-208) +#define PSN_WIZNEXT (-207) +#define PSNRET_NOERROR 0 +#define PSNRET_INVALID 1 +#define PSNRET_INVALID_NOCHANGEPAGE 2 +#define ID_PSRESTARTWINDOWS 2 +#define ID_PSREBOOTSYSTEM 3 +#define WIZ_CXDLG 276 +#define WIZ_CYDLG 140 +#define WIZ_CXBMP 80 +#define WIZ_BODYX 92 +#define WIZ_BODYCX 184 +#define PROP_SM_CXDLG 212 +#define PROP_SM_CYDLG 188 +#define PROP_MED_CXDLG 227 +#define PROP_MED_CYDLG 215 +#define PROP_LG_CXDLG 252 +#define PROP_LG_CYDLG 218 +#define PSBTN_MAX 6 +#define PSBTN_BACK 0 +#define PSBTN_NEXT 1 +#define PSBTN_FINISH 2 +#define PSBTN_OK 3 +#define PSBTN_APPLYNOW 4 +#define PSBTN_CANCEL 5 +#define PSBTN_HELP 6 +#define PSWIZB_BACK 1 +#define PSWIZB_NEXT 2 +#define PSWIZB_FINISH 4 +#define PSWIZB_DISABLEDFINISH 8 +#define PSM_SETWIZBUTTONS (WM_USER+112) +#define PSM_APPLY (WM_USER+110) +#define PSM_UNCHANGED (WM_USER+109) +#define PSM_QUERYSIBLINGS (WM_USER+108) +#define PSM_CANCELTOCLOSE (WM_USER+107) +#define PSM_REBOOTSYSTEM (WM_USER+106) +#define PSM_RESTARTWINDOWS (WM_USER+105) +#define PSM_CHANGED (WM_USER+104) +#define PSM_ADDPAGE (WM_USER+103) +#define PSM_REMOVEPAGE (WM_USER+102) +#define PSM_SETCURSEL (WM_USER+101) +#define PSM_SETTITLEA (WM_USER+111) +#define PSM_SETTITLEW (WM_USER+120) + +#ifndef RC_INVOKED + +#pragma pack(push,8) +typedef struct _PROPSHEETPAGEA { + DWORD dwSize; + DWORD dwFlags; + HINSTANCE hInstance; + union { + LPCSTR pszTemplate; + LPCDLGTEMPLATE pResource; + } DUMMYUNIONNAME; + union { + HICON hIcon; + LPCSTR pszIcon; + } DUMMYUNIONNAME2; + LPCSTR pszTitle; + DLGPROC pfnDlgProc; + LPARAM lParam; + UINT(CALLBACK *pfnCallback)(HWND,UINT,struct _PROPSHEETPAGEA*); + UINT *pcRefParent; +} PROPSHEETPAGEA,*LPPROPSHEETPAGEA; +typedef const PROPSHEETPAGEA *LPCPROPSHEETPAGEA; +typedef struct _PROPSHEETPAGEW { + DWORD dwSize; + DWORD dwFlags; + HINSTANCE hInstance; + union { + LPCWSTR pszTemplate; + LPCDLGTEMPLATE pResource; + } DUMMYUNIONNAME; + union { + HICON hIcon; + LPCWSTR pszIcon; + } DUMMYUNIONNAME2; + LPCWSTR pszTitle; + DLGPROC pfnDlgProc; + LPARAM lParam; + UINT(CALLBACK *pfnCallback)(HWND,UINT,struct _PROPSHEETPAGEW*); + UINT *pcRefParent; +} PROPSHEETPAGEW,*LPPROPSHEETPAGEW; +typedef const PROPSHEETPAGEA *LPCPROPSHEETPAGEW; +typedef UINT(CALLBACK *LPFNPSPCALLBACKA)(HWND,UINT,LPPROPSHEETPAGEA); +typedef UINT(CALLBACK *LPFNPSPCALLBACKW)(HWND,UINT,LPPROPSHEETPAGEW); +typedef int(CALLBACK *PFNPROPSHEETCALLBACK)(HWND,UINT,LPARAM); +DECLARE_HANDLE(HPROPSHEETPAGE); +typedef struct _PROPSHEETHEADERA { + DWORD dwSize; + DWORD dwFlags; + HWND hwndParent; + HINSTANCE hInstance; + union { + HICON hIcon; + LPCSTR pszIcon; + }DUMMYUNIONNAME; + LPCSTR pszCaption; + UINT nPages; + union { + UINT nStartPage; + LPCSTR pStartPage; + }DUMMYUNIONNAME2; + union { + LPCPROPSHEETPAGEA ppsp; + HPROPSHEETPAGE *phpage; + }DUMMYUNIONNAME3; + PFNPROPSHEETCALLBACK pfnCallback; +} PROPSHEETHEADERA,*LPPROPSHEETHEADERA; +typedef const PROPSHEETHEADERA *LPCPROPSHEETHEADERA; +typedef struct _PROPSHEETHEADERW { + DWORD dwSize; + DWORD dwFlags; + HWND hwndParent; + HINSTANCE hInstance; + union { + HICON hIcon; + LPCWSTR pszIcon; + }DUMMYUNIONNAME; + LPCWSTR pszCaption; + UINT nPages; + union { + UINT nStartPage; + LPCWSTR pStartPage; + }DUMMYUNIONNAME2; + union { + LPCPROPSHEETPAGEW ppsp; + HPROPSHEETPAGE *phpage; + }DUMMYUNIONNAME3; + PFNPROPSHEETCALLBACK pfnCallback; +} PROPSHEETHEADERW,*LPPROPSHEETHEADERW; +typedef const PROPSHEETHEADERW *LPCPROPSHEETHEADERW; +typedef BOOL(CALLBACK *LPFNADDPROPSHEETPAGE)(HPROPSHEETPAGE,LPARAM); +typedef BOOL(CALLBACK *LPFNADDPROPSHEETPAGES)(LPVOID,LPFNADDPROPSHEETPAGE,LPARAM); +typedef struct _PSHNOTIFY { + NMHDR hdr; + LPARAM lParam; +} PSHNOTIFY,*LPPSHNOTIFY; + +#pragma pack(pop) + +HPROPSHEETPAGE WINAPI CreatePropertySheetPageA(LPCPROPSHEETPAGEA); +HPROPSHEETPAGE WINAPI CreatePropertySheetPageW(LPCPROPSHEETPAGEW); +BOOL WINAPI DestroyPropertySheetPage(HPROPSHEETPAGE); +int WINAPI PropertySheetA(LPCPROPSHEETHEADERA); +int WINAPI PropertySheetW(LPCPROPSHEETHEADERW); +#define PropSheet_AddPage(d,p) SendMessage(d,PSM_ADDPAGE,0,(LPARAM)p) +#define PropSheet_Apply(d) SendMessage(d,PSM_APPLY,0,0) +#define PropSheet_CancelToClose(d) SendMessage(d,PSM_CANCELTOCLOSE,0,0) +#define PropSheet_Changed(d,w) SendMessage(d,PSM_CHANGED,(WPARAM)w,0) +#define PropSheet_GetCurrentPageHwnd(d) (HWND)SendMessage(d,PSM_GETCURRENTPAGEHWND,0,0) +#define PropSheet_GetTabControl(d) (HWND)SendMessage(d,PSM_GETTABCONTROL,0,0) +#define PropSheet_IsDialogMessage(d,m) (BOOL)SendMessage(d,PSM_ISDIALOGMESSAGE,0,(LPARAM)m) +#define PropSheet_PressButton(d,i) SendMessage(d,PSM_PRESSBUTTON,i,0) +#define PropSheet_QuerySiblings(d,w,l) SendMessage(d,PSM_QUERYSIBLINGS,w,l) +#define PropSheet_RebootSystem(d) SendMessage(d,PSM_REBOOTSYSTEM,0,0) +#define PropSheet_RemovePage(d,i,p) SendMessage(d,PSM_REMOVEPAGE,i,(LPARAM)p) +#define PropSheet_RestartWindows(d) SendMessage(d,PSM_RESTARTWINDOWS,0,0) +#define PropSheet_SetCurSel(d,p,i) SendMessage(d,PSM_SETCURSEL,i,(LPARAM)p) +#define PropSheet_SetCurSelByID(d,i) SendMessage(d,PSM_SETCURSELID,0,i) +#define PropSheet_SetFinishText(d,s) SendMessage(d,PSM_SETFINISHTEXT,0,(LPARAM)s) +#define PropSheet_SetTitle(d,w,s) SendMessage(d,PSM_SETTITLE,w,(LPARAM)s) +#define PropSheet_SetWizButtons(d,f) PostMessage(d,PSM_SETWIZBUTTONS,0,(LPARAM)f) +#define PropSheet_UnChanged(d,w) SendMessage(d,PSM_UNCHANGED,(WPARAM)w,0) +#endif + +#ifdef UNICODE +#define LPFNPSPCALLBACK LPFNPSPCALLBACKW +#define PROPSHEETPAGE PROPSHEETPAGEW +#define LPPROPSHEETPAGE LPPROPSHEETPAGEW +#define LPCPROPSHEETPAGE LPCPROPSHEETPAGEW +#define PROPSHEETHEADER PROPSHEETHEADERW +#define LPPROPSHEETHEADER LPPROPSHEETHEADERW +#define LPCPROPSHEETHEADER LPCPROPSHEETHEADERW +#define PSM_SETTITLE PSM_SETTITLEW +#define PSM_SETFINISHTEXT PSM_SETFINISHTEXTW +#define CreatePropertySheetPage CreatePropertySheetPageW +#define PropertySheet PropertySheetW +#else +#define LPFNPSPCALLBACK LPFNPSPCALLBACKA +#define PROPSHEETPAGE PROPSHEETPAGEA +#define LPPROPSHEETPAGE LPPROPSHEETPAGEA +#define LPCPROPSHEETPAGE LPCPROPSHEETPAGEA +#define PROPSHEETHEADER PROPSHEETHEADERA +#define LPPROPSHEETHEADER LPPROPSHEETHEADERA +#define LPCPROPSHEETHEADER LPCPROPSHEETHEADERA +#define PSM_SETTITLE PSM_SETTITLEA +#define PSM_SETFINISHTEXT PSM_SETFINISHTEXTA +#define CreatePropertySheetPage CreatePropertySheetPageA +#define PropertySheet PropertySheetA +#endif +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/psapi.h b/winsup/w32api/include/psapi.h new file mode 100644 index 000000000..4c4827382 --- /dev/null +++ b/winsup/w32api/include/psapi.h @@ -0,0 +1,92 @@ +/* + psapi.h - Include file for PSAPI.DLL APIs + + Written by Mumit Khan <khan@nanotech.wisc.edu> + + This file is part of a free library for the Win32 API. + + NOTE: This strictly does not belong in the Win32 API since it's + really part of Platform SDK. However,GDB needs it and we might + as well provide it here. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +*/ +#ifndef _PSAPI_H +#define _PSAPI_H + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef RC_INVOKED + +typedef struct _MODULEINFO { + LPVOID lpBaseOfDll; + DWORD SizeOfImage; + LPVOID EntryPoint; +} MODULEINFO,*LPMODULEINFO; + +typedef struct _PSAPI_WS_WATCH_INFORMATION { + LPVOID FaultingPc; + LPVOID FaultingVa; +} PSAPI_WS_WATCH_INFORMATION,*PPSAPI_WS_WATCH_INFORMATION; + +typedef struct _PROCESS_MEMORY_COUNTERS { + DWORD cb; + DWORD PageFaultCount; + DWORD PeakWorkingSetSize; + DWORD WorkingSetSize; + DWORD QuotaPeakPagedPoolUsage; + DWORD QuotaPagedPoolUsage; + DWORD QuotaPeakNonPagedPoolUsage; + DWORD QuotaNonPagedPoolUsage; + DWORD PagefileUsage; + DWORD PeakPagefileUsage; +} PROCESS_MEMORY_COUNTERS,*PPROCESS_MEMORY_COUNTERS; + +/* Grouped by application,not in alphabetical order. */ +BOOL WINAPI EnumProcesses(DWORD *,DWORD,DWORD *); +BOOL WINAPI EnumProcessModules(HANDLE,HMODULE *,DWORD,LPDWORD); +DWORD WINAPI GetModuleBaseNameA(HANDLE,HMODULE,LPSTR,DWORD); +DWORD WINAPI GetModuleBaseNameW(HANDLE,HMODULE,LPWSTR,DWORD); +DWORD WINAPI GetModuleFileNameExA(HANDLE,HMODULE,LPSTR,DWORD); +DWORD WINAPI GetModuleFileNameExW(HANDLE,HMODULE,LPWSTR,DWORD); +BOOL WINAPI GetModuleInformation(HANDLE,HMODULE,LPMODULEINFO,DWORD); +BOOL WINAPI EmptyWorkingSet(HANDLE); +BOOL WINAPI QueryWorkingSet(HANDLE,PVOID,DWORD); +BOOL WINAPI InitializeProcessForWsWatch(HANDLE); +BOOL WINAPI GetWsChanges(HANDLE,PPSAPI_WS_WATCH_INFORMATION,DWORD); +DWORD WINAPI GetMappedFileNameW(HANDLE,LPVOID,LPWSTR,DWORD); +DWORD WINAPI GetMappedFileNameA(HANDLE,LPVOID,LPSTR,DWORD); +BOOL WINAPI EnumDeviceDrivers(LPVOID *,DWORD,LPDWORD); +DWORD WINAPI GetDeviceDriverBaseNameA(LPVOID,LPSTR,DWORD); +DWORD WINAPI GetDeviceDriverBaseNameW(LPVOID,LPWSTR,DWORD); +DWORD WINAPI GetDeviceDriverFileNameA(LPVOID,LPSTR,DWORD); +DWORD WINAPI GetDeviceDriverFileNameW(LPVOID,LPWSTR,DWORD); +BOOL WINAPI GetProcessMemoryInfo(HANDLE,PPROCESS_MEMORY_COUNTERS,DWORD); + +#endif /* not RC_INVOKED */ + +#ifdef UNICODE +#define GetModuleBaseName GetModuleBaseNameW +#define GetModuleFileNameEx GetModuleFileNameExW +#define GetMappedFilenameEx GetMappedFilenameExW +#define GetDeviceDriverBaseName GetDeviceDriverBaseNameW +#define GetDeviceDriverFileName GetDeviceDriverFileNameW +#else +#define GetModuleBaseName GetModuleBaseNameA +#define GetModuleFileNameEx GetModuleFileNameExA +#define GetMappedFilenameEx GetMappedFilenameExA +#define GetDeviceDriverBaseName GetDeviceDriverBaseNameA +#define GetDeviceDriverFileName GetDeviceDriverFileNameA +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* _PSAPI_H */ + diff --git a/winsup/w32api/include/pshpack1.h b/winsup/w32api/include/pshpack1.h new file mode 100644 index 000000000..3cbcf238b --- /dev/null +++ b/winsup/w32api/include/pshpack1.h @@ -0,0 +1,3 @@ +#ifndef RC_INVOKED +#pragma pack(push,1) +#endif diff --git a/winsup/w32api/include/pshpack2.h b/winsup/w32api/include/pshpack2.h new file mode 100644 index 000000000..4d88e004e --- /dev/null +++ b/winsup/w32api/include/pshpack2.h @@ -0,0 +1,3 @@ +#ifndef RC_INVOKED +#pragma pack(push,2) +#endif diff --git a/winsup/w32api/include/pshpack4.h b/winsup/w32api/include/pshpack4.h new file mode 100644 index 000000000..c1c3cf959 --- /dev/null +++ b/winsup/w32api/include/pshpack4.h @@ -0,0 +1,3 @@ +#ifndef RC_INVOKED +#pragma pack(push,4) +#endif diff --git a/winsup/w32api/include/pshpack8.h b/winsup/w32api/include/pshpack8.h new file mode 100644 index 000000000..f0c4539b9 --- /dev/null +++ b/winsup/w32api/include/pshpack8.h @@ -0,0 +1,3 @@ +#ifndef RC_INVOKED +#pragma pack(push,8) +#endif diff --git a/winsup/w32api/include/rapi.h b/winsup/w32api/include/rapi.h new file mode 100644 index 000000000..9d63d06a9 --- /dev/null +++ b/winsup/w32api/include/rapi.h @@ -0,0 +1,64 @@ +/* + rapi.h - main header file for the RAPI API + + Copyright 1999 Cygnus Solutions. + + This file is part of Cygwin. + + This software is a copyrighted work licensed under the terms of the + Cygwin license. Please consult the file "CYGWIN_LICENSE" for + details. +*/ + +#ifndef _RAPI_H +#define _RAPI_H + +typedef struct IRAPIStream +{ + struct IRAPIStreamVtbl * lpVtbl; +} IRAPIStream; + +typedef struct IRAPIStreamVtbl IRAPIStreamVtbl; + +typedef enum tagRAPISTREAMFLAG +{ + STREAM_TIMEOUT_READ +} RAPISTREAMFLAG; + +struct IRAPIStreamVtbl +{ + HRESULT (__stdcall * SetRapiStat)( IRAPIStream * This, RAPISTREAMFLAG Flag, DWORD dwValue) ; + HRESULT (__stdcall * GetRapiStat)( IRAPIStream * This, RAPISTREAMFLAG Flag, DWORD *pdwValue) ; +}; + +// RAPI extension on Windows CE (e.g., MyFunctionFOO) called via CeRapiInvoke should be declared as: +// EXTERN_C RAPIEXT MyFunctionFOO; +typedef HRESULT (STDAPICALLTYPE RAPIEXT)( + DWORD cbInput, // [IN] + BYTE *pInput, // [IN] + DWORD *pcbOutput, // [OUT] + BYTE **ppOutput, // [OUT] + IRAPIStream *pIRAPIStream // [IN] + ); + +typedef struct _RAPIINIT +{ + DWORD cbSize; + HANDLE heRapiInit; + HRESULT hrRapiInit; +} RAPIINIT; + +STDAPI CeRapiInit(); +STDAPI CeRapiInitEx(RAPIINIT*); +STDAPI_(BOOL) CeCreateProcess(LPCWSTR, LPCWSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, + BOOL, DWORD, LPVOID, LPWSTR, LPSTARTUPINFO, LPPROCESS_INFORMATION); +STDAPI CeRapiUninit(); + +STDAPI_(BOOL) CeWriteFile(HANDLE, LPCVOID, DWORD, LPDWORD, LPOVERLAPPED); +STDAPI_(HANDLE) CeCreateFile(LPCWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, DWORD, HANDLE); +STDAPI_(BOOL) CeCreateDirectory(LPCWSTR, LPSECURITY_ATTRIBUTES); +STDAPI_(DWORD) CeGetLastError(void); +STDAPI_(BOOL) CeGetFileTime(HANDLE, LPFILETIME, LPFILETIME, LPFILETIME); +STDAPI_(BOOL) CeCloseHandle(HANDLE); + +#endif /* _RAPI_H */ diff --git a/winsup/w32api/include/regstr.h b/winsup/w32api/include/regstr.h new file mode 100644 index 000000000..bec0a97a1 --- /dev/null +++ b/winsup/w32api/include/regstr.h @@ -0,0 +1,763 @@ +#ifndef _REGSTR_H +#define _REGSTR_H +#ifdef __cplusplus +extern "C" { +#endif +#define REGSTR_KEY_CLASS TEXT("Class") +#define REGSTR_KEY_CONFIG TEXT("Config") +#define REGSTR_KEY_ENUM TEXT("Enum") +#define REGSTR_KEY_ROOTENUM TEXT("Root") +#define REGSTR_KEY_BIOSENUM TEXT("BIOS") +#define REGSTR_KEY_PCMCIAENUM TEXT("PCMCIA") +#define REGSTR_KEY_PCIENUM TEXT("PCI") +#define REGSTR_KEY_LOGCONFIG TEXT("LogConfig") +#define REGSTR_KEY_SYSTEMBOARD TEXT("*PNP0C01") +#define REGSTR_KEY_APM TEXT("*PNP0C05") +#define REGSTR_KEY_INIUPDATE TEXT("IniUpdate") +#define REG_KEY_INSTDEV TEXT("Installed") +#define REGSTR_KEY_DOSOPTCDROM TEXT("CD-ROM") +#define REGSTR_KEY_DOSOPTMOUSE TEXT("MOUSE") +#define REGSTR_DEFAULT_INSTANCE TEXT("0000") +#define REGSTR_PATH_MOTHERBOARD REGSTR_KEY_SYSTEMBOARD TEXT("\\" REGSTR_DEFAULT_INSTANCE +#define REGSTR_PATH_SETUP TEXT("Software\\Microsoft\\Windows\\CurrentVersion") +#define REGSTR_PATH_PIFCONVERT TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\PIFConvert") +#define REGSTR_PATH_MSDOSOPTS TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\MS-DOSOptions") +#define REGSTR_PATH_MSDOSEMU TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\MS-DOS Emulation") +#define REGSTR_PATH_NEWDOSBOX TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\MS-DOS Emulation\\AppCompat") +#define REGSTR_PATH_RUNONCE TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\RunOnce") +#define REGSTR_PATH_RUN TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Run") +#define REGSTR_PATH_RUNSERVICESONCE TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\RunServicesOnce") +#define REGSTR_PATH_RUNSERVICES TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\RunServices") +#define REGSTR_PATH_EXPLORER TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer") +#define REGSTR_PATH_DETECT TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Detect") +#define REGSTR_PATH_APPPATHS TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\App Paths") +#define REGSTR_PATH_UNINSTALL TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall") +#define REGSTR_PATH_REALMODENET TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Network\\Real Mode Net") +#define REGSTR_PATH_NETEQUIV TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Network\\Equivalent") +#define REGSTR_PATH_CVNETWORK TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Network") +#define REGSTR_PATH_IDCONFIGDB TEXT("System\\CurrentControlSet\\Control\\IDConfigDB") +#define REGSTR_PATH_CLASS TEXT("System\\CurrentControlSet\\Services\\Class") +#define REGSTR_PATH_DISPLAYSETTINGS TEXT("Display\\Settings") +#define REGSTR_PATH_FONTS TEXT("Display\\Fonts") +#define REGSTR_PATH_ENUM TEXT("Enum") +#define REGSTR_PATH_ROOT TEXT("Enum\\Root") +#define REGSTR_PATH_SERVICES TEXT("System\\CurrentControlSet\\Services") +#define REGSTR_PATH_VXD TEXT("System\\CurrentControlSet\\Services\\VxD") +#define REGSTR_PATH_IOS TEXT("System\\CurrentControlSet\\Services\\VxD\\IOS") +#define REGSTR_PATH_VMM TEXT("System\\CurrentControlSet\\Services\\VxD\\VMM") +#define REGSTR_PATH_VPOWERD TEXT("System\\CurrentControlSet\\Services\\VxD\\VPOWERD") +#define REGSTR_PATH_VNETSUP TEXT("System\\CurrentControlSet\\Services\\VxD\\VNETSUP") +#define REGSTR_PATH_NWREDIR TEXT("System\\CurrentControlSet\\Services\\VxD\\NWREDIR") +#define REGSTR_PATH_NCPSERVER TEXT("System\\CurrentControlSet\\Services\\NcpServer\\Parameters") +#define REGSTR_PATH_IOARB TEXT("System\\CurrentControlSet\\Services\\Arbitrators\\IOArb") +#define REGSTR_PATH_ADDRARB TEXT("System\\CurrentControlSet\\Services\\Arbitrators\\AddrArb") +#define REGSTR_PATH_DMAARB TEXT("System\\CurrentControlSet\\Services\\Arbitrators\\DMAArb") +#define REGSTR_PATH_IRQARB TEXT("System\\CurrentControlSet\\Services\\Arbitrators\\IRQArb") +#define REGSTR_PATH_CODEPAGE TEXT("System\\CurrentControlSet\\Control\\Nls\\Codepage") +#define REGSTR_PATH_FILESYSTEM TEXT("System\\CurrentControlSet\\Control\\FileSystem") +#define REGSTR_PATH_FILESYSTEM_NOVOLTRACK TEXT("System\\CurrentControlSet\\Control\\FileSystem\\NoVolTrack") +#define REGSTR_PATH_CDFS TEXT("System\\CurrentControlSet\\Control\\FileSystem\\CDFS") +#define REGSTR_PATH_WINBOOT TEXT("System\\CurrentControlSet\\Control\\WinBoot") +#define REGSTR_PATH_INSTALLEDFILES TEXT("System\\CurrentControlSet\\Control\\InstalledFiles") +#define REGSTR_PATH_VMM32FILES TEXT("System\\CurrentControlSet\\Control\\VMM32Files") +#define REGSTR_MAX_VALUE_LENGTH 256 +#define REGSTR_VAL_BITSPERPIXEL TEXT("BitsPerPixel") +#define REGSTR_VAL_RESOLUTION TEXT("Resolution") +#define REGSTR_VAL_DPILOGICALX TEXT("DPILogicalX") +#define REGSTR_VAL_DPILOGICALY TEXT("DPILogicalY") +#define REGSTR_VAL_DPIPHYSICALX TEXT("DPIPhysicalX") +#define REGSTR_VAL_DPIPHYSICALY TEXT("DPIPhysicalY") +#define REGSTR_VAL_REFRESHRATE TEXT("RefreshRate") +#define REGSTR_VAL_DISPLAYFLAGS TEXT("DisplayFlags") +#define REGSTR_PATH_CONTROLPANEL TEXT("Control Panel") +#define REGSTR_PATH_CONTROLSFOLDER TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Controls Folder") +#define REGSTR_VAL_DOSCP TEXT("OEMCP") +#define REGSTR_VAL_WINCP TEXT("ACP") +#define REGSTR_PATH_DYNA_ENUM TEXT("Config Manager\\Enum") +#define REGSTR_VAL_HARDWARE_KEY TEXT("HardWareKey") +#define REGSTR_VAL_ALLOCATION TEXT("Allocation") +#define REGSTR_VAL_PROBLEM TEXT("Problem") +#define REGSTR_VAL_STATUS TEXT("Status") +#define REGSTR_VAL_DONTUSEMEM TEXT("DontAllocLastMem") +#define REGSTR_VAL_SYSTEMROOT TEXT("SystemRoot") +#define REGSTR_VAL_BOOTCOUNT TEXT("BootCount") +#define REGSTR_VAL_REALNETSTART TEXT("RealNetStart") +#define REGSTR_VAL_MEDIA TEXT("MediaPath") +#define REGSTR_VAL_CONFIG TEXT("ConfigPath") +#define REGSTR_VAL_DEVICEPATH TEXT("DevicePath") +#define REGSTR_VAL_SRCPATH TEXT("SourcePath") +#define REGSTR_VAL_OLDWINDIR TEXT("OldWinDir") +#define REGSTR_VAL_SETUPFLAGS TEXT("SetupFlags") +#define REGSTR_VAL_REGOWNER TEXT("RegisteredOwner") +#define REGSTR_VAL_REGORGANIZATION TEXT("RegisteredOrganization") +#define REGSTR_VAL_LICENSINGINFO TEXT("LicensingInfo") +#define REGSTR_VAL_OLDMSDOSVER TEXT("OldMSDOSVer") +#define REGSTR_VAL_FIRSTINSTALLDATETIME TEXT("FirstInstallDateTime") +#define REGSTR_VAL_INSTALLTYPE TEXT("InstallType") +#define REGSTR_VAL_WRAPPER TEXT("Wrapper") +#define IT_COMPACT 0 +#define IT_TYPICAL 1 +#define IT_PORTABLE 2 +#define IT_CUSTOM 3 +#define REGSTR_KEY_SETUP TEXT("\\Setup") +#define REGSTR_VAL_BOOTDIR TEXT("BootDir") +#define REGSTR_VAL_WINBOOTDIR TEXT("WinbootDir") +#define REGSTR_VAL_WINDIR TEXT("WinDir") +#define REGSTR_VAL_APPINSTPATH TEXT("AppInstallPath") +#define REGSTR_PATH_EBD REGSTR_PATH_SETUP REGSTR_KEY_SETUP TEXT("\\EBD") +#define REGSTR_KEY_EBDFILESLOCAL TEXT("EBDFilesLocale") +#define REGSTR_KEY_EBDFILESKEYBOARD TEXT("EBDFilesKeyboard") +#define REGSTR_KEY_EBDAUTOEXECBATLOCAL TEXT("EBDAutoexecBatLocale") +#define REGSTR_KEY_EBDAUTOEXECBATKEYBOARD TEXT("EBDAutoexecBatKeyboard") +#define REGSTR_KEY_EBDCONFIGSYSLOCAL TEXT("EBDConfigSysLocale") +#define REGSTR_KEY_EBDCONFIGSYSKEYBOARD TEXT("EBDConfigSysKeyboard") +#define REGSTR_VAL_MSDOSMODE TEXT("MSDOSMode") +#define REGSTR_VAL_MSDOSMODEDISCARD TEXT("Discard") +#define REGSTR_VAL_DOSOPTGLOBALFLAGS TEXT("GlobalFlags") +#define DOSOPTGF_DEFCLEAN 1 +#define REGSTR_VAL_DOSOPTFLAGS TEXT("Flags") +#define REGSTR_VAL_OPTORDER TEXT("Order") +#define REGSTR_VAL_CONFIGSYS TEXT("Config.Sys") +#define REGSTR_VAL_AUTOEXEC TEXT("Autoexec.Bat") +#define REGSTR_VAL_STDDOSOPTION TEXT("StdOption") +#define REGSTR_VAL_DOSOPTTIP TEXT("TipText") +#define DOSOPTF_DEFAULT 1 +#define DOSOPTF_SUPPORTED 2 +#define DOSOPTF_ALWAYSUSE 4 +#define DOSOPTF_USESPMODE 8 +#define DOSOPTF_PROVIDESUMB 16 +#define DOSOPTF_NEEDSETUP 32 +#define DOSOPTF_INDOSSTART 64 +#define DOSOPTF_MULTIPLE 128 +#define SUF_FIRSTTIME 1 +#define SUF_EXPRESS 2 +#define SUF_BATCHINF 4 +#define SUF_CLEAN 8 +#define SUF_INSETUP 16 +#define SUF_NETSETUP 32 +#define SUF_NETHDBOOT 64 +#define SUF_NETRPLBOOT 128 +#define SUF_SBSCOPYOK 256 +#define REGSTR_VAL_DOSPAGER TEXT("DOSPager") +#define REGSTR_VAL_VXDGROUPS TEXT("VXDGroups") +#define REGSTR_VAL_VPOWERDFLAGS TEXT("Flags") +#define VPDF_DISABLEPWRMGMT 1 +#define VPDF_FORCEAPM10MODE 2 +#define VPDF_SKIPINTELSLCHECK 4 +#define VPDF_DISABLEPWRSTATUSPOLL 8 +#define REGSTR_VAL_WORKGROUP TEXT("Workgroup") +#define REGSTR_VAL_DIRECTHOST TEXT("DirectHost") +#define REGSTR_VAL_FILESHARING TEXT("FileSharing") +#define REGSTR_VAL_PRINTSHARING TEXT("PrintSharing") +#define REGSTR_VAL_FIRSTNETDRIVE TEXT("FirstNetworkDrive") +#define REGSTR_VAL_MAXCONNECTIONS TEXT("MaxConnections") +#define REGSTR_VAL_APISUPPORT TEXT("APISupport") +#define REGSTR_VAL_MAXRETRY TEXT("MaxRetry") +#define REGSTR_VAL_MINRETRY TEXT("MinRetry") +#define REGSTR_VAL_SUPPORTLFN TEXT("SupportLFN") +#define REGSTR_VAL_SUPPORTBURST TEXT("SupportBurst") +#define REGSTR_VAL_SUPPORTTUNNELLING TEXT("SupportTunnelling") +#define REGSTR_VAL_FULLTRACE TEXT("FullTrace") +#define REGSTR_VAL_READCACHING TEXT("ReadCaching") +#define REGSTR_VAL_SHOWDOTS TEXT("ShowDots") +#define REGSTR_VAL_GAPTIME TEXT("GapTime") +#define REGSTR_VAL_SEARCHMODE TEXT("SearchMode") +#define REGSTR_VAL_SHELLVERSION TEXT("ShellVersion") +#define REGSTR_VAL_MAXLIP TEXT("MaxLIP") +#define REGSTR_VAL_PRESERVECASE TEXT("PreserveCase") +#define REGSTR_VAL_OPTIMIZESFN TEXT("OptimizeSFN") +#define REGSTR_VAL_NCP_BROWSEMASTER TEXT("BrowseMaster") +#define REGSTR_VAL_NCP_USEPEERBROWSING TEXT("Use_PeerBrowsing") +#define REGSTR_VAL_NCP_USESAP TEXT("Use_Sap") +#define REGSTR_VAL_WIN31FILESYSTEM TEXT("Win31FileSystem") +#define REGSTR_VAL_PRESERVELONGNAMES TEXT("PreserveLongNames") +#define REGSTR_VAL_DRIVEWRITEBEHIND TEXT("DriveWriteBehind") +#define REGSTR_VAL_ASYNCFILECOMMIT TEXT("AsyncFileCommit") +#define REGSTR_VAL_PATHCACHECOUNT TEXT("PathCache") +#define REGSTR_VAL_NAMECACHECOUNT TEXT("NameCache") +#define REGSTR_VAL_CONTIGFILEALLOC TEXT("ContigFileAllocSize") +#define REGSTR_VAL_VOLIDLETIMEOUT TEXT("VolumeIdleTimeout") +#define REGSTR_VAL_BUFFIDLETIMEOUT TEXT("BufferIdleTimeout") +#define REGSTR_VAL_BUFFAGETIMEOUT TEXT("BufferAgeTimeout") +#define REGSTR_VAL_NAMENUMERICTAIL TEXT("NameNumericTail") +#define REGSTR_VAL_READAHEADTHRESHOLD TEXT("ReadAheadThreshold") +#define REGSTR_VAL_DOUBLEBUFFER TEXT("DoubleBuffer") +#define REGSTR_VAL_SOFTCOMPATMODE TEXT("SoftCompatMode") +#define REGSTR_VAL_DRIVESPINDOWN TEXT("DriveSpinDown") +#define REGSTR_VAL_FORCEPMIO TEXT("ForcePMIO") +#define REGSTR_VAL_FORCERMIO TEXT("ForceRMIO") +#define REGSTR_VAL_LASTBOOTPMDRVS TEXT("LastBootPMDrvs") +#define REGSTR_VAL_VIRTUALHDIRQ TEXT("VirtualHDIRQ") +#define REGSTR_VAL_SRVNAMECACHECOUNT TEXT("ServerNameCacheMax") +#define REGSTR_VAL_SRVNAMECACHE TEXT("ServerNameCache") +#define REGSTR_VAL_SRVNAMECACHENETPROV TEXT("ServerNameCacheNumNets") +#define REGSTR_VAL_AUTOMOUNT TEXT("AutoMountDrives") +#define REGSTR_VAL_COMPRESSIONMETHOD TEXT("CompressionAlgorithm") +#define REGSTR_VAL_COMPRESSIONTHRESHOLD TEXT("CompressionThreshold") +#define REGSTR_VAL_CDCACHESIZE TEXT("CacheSize") +#define REGSTR_VAL_CDPREFETCH TEXT("Prefetch") +#define REGSTR_VAL_CDPREFETCHTAIL TEXT("PrefetchTail") +#define REGSTR_VAL_CDRAWCACHE TEXT("RawCache") +#define REGSTR_VAL_CDEXTERRORS TEXT("ExtendedErrors") +#define REGSTR_VAL_CDSVDSENSE TEXT("SVDSense") +#define REGSTR_VAL_CDSHOWVERSIONS TEXT("ShowVersions") +#define REGSTR_VAL_CDCOMPATNAMES TEXT("MSCDEXCompatNames") +#define REGSTR_VAL_CDNOREADAHEAD TEXT("NoReadAhead") +#define REGSTR_VAL_SCSI TEXT("SCSI\\") +#define REGSTR_VAL_ESDI TEXT("ESDI\\") +#define REGSTR_VAL_FLOP TEXT("FLOP\\") +#define REGSTR_VAL_DISK TEXT("GenDisk") +#define REGSTR_VAL_CDROM TEXT("GenCD") +#define REGSTR_VAL_TAPE TEXT("TAPE") +#define REGSTR_VAL_SCANNER TEXT("SCANNER") +#define REGSTR_VAL_FLOPPY TEXT("FLOPPY") +#define REGSTR_VAL_SCSITID TEXT("SCSITargetID") +#define REGSTR_VAL_SCSILUN TEXT("SCSILUN") +#define REGSTR_VAL_REVLEVEL TEXT("RevisionLevel") +#define REGSTR_VAL_PRODUCTID TEXT("ProductId") +#define REGSTR_VAL_PRODUCTTYPE TEXT("ProductType") +#define REGSTR_VAL_DEVTYPE TEXT("DeviceType") +#define REGSTR_VAL_REMOVABLE TEXT("Removable") +#define REGSTR_VAL_CURDRVLET TEXT("CurrentDriveLetterAssignment") +#define REGSTR_VAL_USRDRVLET TEXT("UserDriveLetterAssignment") +#define REGSTR_VAL_SYNCDATAXFER TEXT("SyncDataXfer") +#define REGSTR_VAL_AUTOINSNOTE TEXT("AutoInsertNotification") +#define REGSTR_VAL_DISCONNECT TEXT("Disconnect") +#define REGSTR_VAL_INT13 TEXT("Int13") +#define REGSTR_VAL_PMODE_INT13 TEXT("PModeInt13") +#define REGSTR_VAL_USERSETTINGS TEXT("AdapterSettings") +#define REGSTR_VAL_NOIDE TEXT("NoIDE") +#define REGSTR_VAL_DISKCLASSNAME TEXT("DiskDrive") +#define REGSTR_VAL_CDROMCLASSNAME TEXT("CDROM") +#define REGSTR_VAL_FORCELOAD TEXT("ForceLoadPD") +#define REGSTR_VAL_FORCEFIFO TEXT("ForceFIFO") +#define REGSTR_VAL_FORCECL TEXT("ForceChangeLine") +#define REGSTR_VAL_NOUSECLASS TEXT("NoUseClass") +#define REGSTR_VAL_NOINSTALLCLASS TEXT("NoInstallClass") +#define REGSTR_VAL_NODISPLAYCLASS TEXT("NoDisplayClass") +#define REGSTR_VAL_SILENTINSTALL TEXT("SilentInstall") +#define REGSTR_KEY_PCMCIA_CLASS TEXT("PCMCIA") +#define REGSTR_KEY_SCSI_CLASS TEXT("SCSIAdapter") +#define REGSTR_KEY_PORTS_CLASS TEXT("ports") +#define REGSTR_KEY_MEDIA_CLASS TEXT("MEDIA") +#define REGSTR_KEY_DISPLAY_CLASS TEXT("Display") +#define REGSTR_KEY_KEYBOARD_CLASS TEXT("Keyboard") +#define REGSTR_KEY_MOUSE_CLASS TEXT("Mouse") +#define REGSTR_KEY_MONITOR_CLASS TEXT("Monitor") +#define REGSTR_VAL_PCMCIA_OPT TEXT("Options") +#define PCMCIA_OPT_HAVE_SOCKET 1 +#define PCMCIA_OPT_AUTOMEM 4 +#define PCMCIA_OPT_NO_SOUND 8 +#define PCMCIA_OPT_NO_AUDIO 16 +#define PCMCIA_OPT_NO_APMREMOVE 32 +#define REGSTR_VAL_PCMCIA_MEM TEXT("Memory") +#define PCMCIA_DEF_MEMBEGIN 0xC0000 +#define PCMCIA_DEF_MEMEND 0xFFFFFF +#define PCMCIA_DEF_MEMLEN 0x1000 +#define REGSTR_VAL_PCMCIA_ALLOC TEXT("AllocMemWin") +#define REGSTR_VAL_PCMCIA_ATAD TEXT("ATADelay") +#define REGSTR_VAL_PCMCIA_SIZ TEXT("MinRegionSize") +#define PCMCIA_DEF_MIN_REGION 0x10000 +#define REGSTR_VAL_P1284MDL TEXT("Model") +#define REGSTR_VAL_P1284MFG TEXT("Manufacturer") +#define REGSTR_VAL_ISAPNP TEXT("ISAPNP") +#define REGSTR_VAL_ISAPNP_RDP_OVERRIDE TEXT("RDPOverRide") +#define REGSTR_VAL_PCI TEXT("PCI") +#define REGSTR_PCI_OPTIONS TEXT("Options") +#define REGSTR_PCI_DUAL_IDE TEXT("PCIDualIDE") +#define PCI_OPTIONS_USE_BIOS 1 +#define PCI_OPTIONS_USE_IRQ_STEERING 2 +#define PCI_FLAG_NO_VIDEO_IRQ 1 +#define PCI_FLAG_PCMCIA_WANT_IRQ 2 +#define PCI_FLAG_DUAL_IDE 4 +#define PCI_FLAG_NO_ENUM_AT_ALL 8 +#define PCI_FLAG_ENUM_NO_RESOURCE 16 +#define PCI_FLAG_NEED_DWORD_ACCESS 32 +#define PCI_FLAG_SINGLE_FUNCTION 64 +#define PCI_FLAG_ALWAYS_ENABLED 128 +#define PCI_FLAG_IS_IDE 256 +#define PCI_FLAG_IS_VIDEO 512 +#define PCI_FLAG_FAIL_START 1024 +#define REGSTR_KEY_CRASHES TEXT("Crashes") +#define REGSTR_KEY_DANGERS TEXT("Dangers") +#define REGSTR_KEY_DETMODVARS TEXT("DetModVars") +#define REGSTR_KEY_NDISINFO TEXT("NDISInfo") +#define REGSTR_VAL_PROTINIPATH TEXT("ProtIniPath") +#define REGSTR_VAL_RESOURCES TEXT("Resources") +#define REGSTR_VAL_CRASHFUNCS TEXT("CrashFuncs") +#define REGSTR_VAL_CLASS TEXT("Class") +#define REGSTR_VAL_DEVDESC TEXT("DeviceDesc") +#define REGSTR_VAL_BOOTCONFIG TEXT("BootConfig") +#define REGSTR_VAL_DETFUNC TEXT("DetFunc") +#define REGSTR_VAL_DETFLAGS TEXT("DetFlags") +#define REGSTR_VAL_COMPATIBLEIDS TEXT("CompatibleIDs") +#define REGSTR_VAL_DETCONFIG TEXT("DetConfig") +#define REGSTR_VAL_VERIFYKEY TEXT("VerifyKey") +#define REGSTR_VAL_COMINFO TEXT("ComInfo") +#define REGSTR_VAL_INFNAME TEXT("InfName") +#define REGSTR_VAL_CARDSPECIFIC TEXT("CardSpecific") +#define REGSTR_VAL_NETOSTYPE TEXT("NetOSType") +#define REGSTR_DATA_NETOS_NDIS TEXT("NDIS") +#define REGSTR_DATA_NETOS_ODI TEXT("ODI") +#define REGSTR_DATA_NETOS_IPX TEXT("IPX") +#define REGSTR_VAL_MFG TEXT("Mfg") +#define REGSTR_VAL_SCAN_ONLY_FIRST TEXT("ScanOnlyFirstDrive") +#define REGSTR_VAL_SHARE_IRQ TEXT("ForceIRQSharing") +#define REGSTR_VAL_NONSTANDARD_ATAPI TEXT("NonStandardATAPI") +#define REGSTR_VAL_IDE_FORCE_SERIALIZE TEXT("ForceSerialization") +#define REGSTR_VAL_MAX_HCID_LEN 1024 +#define REGSTR_VAL_HWREV TEXT("HWRevision") +#define REGSTR_VAL_ENABLEINTS TEXT("EnableInts") +#define REGDF_NOTDETIO 1 +#define REGDF_NOTDETMEM 2 +#define REGDF_NOTDETIRQ 4 +#define REGDF_NOTDETDMA 8 +#define REGDF_NOTDETALL (REGDF_NOTDETIO | REGDF_NOTDETMEM | REGDF_NOTDETIRQ | REGDF_NOTDETDMA) +#define REGDF_NEEDFULLCONFIG 16 +#define REGDF_GENFORCEDCONFIG 32 +#define REGDF_NODETCONFIG 0x8000 +#define REGDF_CONFLICTIO 0x10000 +#define REGDF_CONFLICTMEM 0x20000 +#define REGDF_CONFLICTIRQ 0x40000 +#define REGDF_CONFLICTDMA 0x80000 +#define REGDF_CONFLICTALL (REGDF_CONFLICTIO | REGDF_CONFLICTMEM | REGDF_CONFLICTIRQ | REGDF_CONFLICTDMA) +#define REGDF_MAPIRQ2TO9 0x100000 +#define REGDF_NOTVERIFIED 0x80000000 +#define REGSTR_VAL_APMBIOSVER TEXT("APMBiosVer") +#define REGSTR_VAL_APMFLAGS TEXT("APMFlags") +#define REGSTR_VAL_SLSUPPORT TEXT("SLSupport") +#define REGSTR_VAL_MACHINETYPE TEXT("MachineType") +#define REGSTR_VAL_SETUPMACHINETYPE TEXT("SetupMachineType") +#define REGSTR_MACHTYPE_UNKNOWN TEXT("Unknown") +#define REGSTR_MACHTYPE_IBMPC TEXT("IBM PC") +#define REGSTR_MACHTYPE_IBMPCJR TEXT("IBM PCjr") +#define REGSTR_MACHTYPE_IBMPCCONV TEXT("IBM PC Convertible") +#define REGSTR_MACHTYPE_IBMPCXT TEXT("IBM PC/XT") +#define REGSTR_MACHTYPE_IBMPCXT_286 TEXT("IBM PC/XT 286") +#define REGSTR_MACHTYPE_IBMPCAT TEXT("IBM PC/AT") +#define REGSTR_MACHTYPE_IBMPS2_25 TEXT("IBM PS/2-25") +#define REGSTR_MACHTYPE_IBMPS2_30_286 TEXT("IBM PS/2-30 286") +#define REGSTR_MACHTYPE_IBMPS2_30 TEXT("IBM PS/2-30") +#define REGSTR_MACHTYPE_IBMPS2_50 TEXT("IBM PS/2-50") +#define REGSTR_MACHTYPE_IBMPS2_50Z TEXT("IBM PS/2-50Z") +#define REGSTR_MACHTYPE_IBMPS2_55SX TEXT("IBM PS/2-55SX") +#define REGSTR_MACHTYPE_IBMPS2_60 TEXT("IBM PS/2-60") +#define REGSTR_MACHTYPE_IBMPS2_65SX TEXT("IBM PS/2-65SX") +#define REGSTR_MACHTYPE_IBMPS2_70 TEXT("IBM PS/2-70") +#define REGSTR_MACHTYPE_IBMPS2_P70 TEXT("IBM PS/2-P70") +#define REGSTR_MACHTYPE_IBMPS2_70_80 TEXT("IBM PS/2-70/80") +#define REGSTR_MACHTYPE_IBMPS2_80 TEXT("IBM PS/2-80") +#define REGSTR_MACHTYPE_IBMPS2_90 TEXT("IBM PS/2-90") +#define REGSTR_MACHTYPE_IBMPS1 TEXT("IBM PS/1") +#define REGSTR_MACHTYPE_PHOENIX_PCAT TEXT("Phoenix PC/AT Compatible") +#define REGSTR_MACHTYPE_HP_VECTRA TEXT("HP Vectra") +#define REGSTR_MACHTYPE_ATT_PC TEXT("AT&T PC") +#define REGSTR_MACHTYPE_ZENITH_PC TEXT("Zenith PC") +#define REGSTR_VAL_APMMENUSUSPEND TEXT("APMMenuSuspend") +#define APMMENUSUSPEND_DISABLED 0 +#define APMMENUSUSPEND_ENABLED 1 +#define APMMENUSUSPEND_UNDOCKED 2 +#define APMMENUSUSPEND_NOCHANGE 128 +#define REGSTR_VAL_BUSTYPE TEXT("BusType") +#define REGSTR_VAL_CPU TEXT("CPU") +#define REGSTR_VAL_NDP TEXT("NDP") +#define REGSTR_VAL_PNPBIOSVER TEXT("PnPBIOSVer") +#define REGSTR_VAL_PNPSTRUCOFFSET TEXT("PnPStrucOffset") +#define REGSTR_VAL_PCIBIOSVER TEXT("PCIBIOSVer") +#define REGSTR_VAL_HWMECHANISM TEXT("HWMechanism") +#define REGSTR_VAL_LASTPCIBUSNUM TEXT("LastPCIBusNum") +#define REGSTR_VAL_CONVMEM TEXT("ConvMem") +#define REGSTR_VAL_EXTMEM TEXT("ExtMem") +#define REGSTR_VAL_COMPUTERNAME TEXT("ComputerName") +#define REGSTR_VAL_BIOSNAME TEXT("BIOSName") +#define REGSTR_VAL_BIOSVERSION TEXT("BIOSVersion") +#define REGSTR_VAL_BIOSDATE TEXT("BIOSDate") +#define REGSTR_VAL_MODEL TEXT("Model") +#define REGSTR_VAL_SUBMODEL TEXT("Submodel") +#define REGSTR_VAL_REVISION TEXT("Revision") +#define REGSTR_VAL_FIFODEPTH TEXT("FIFODepth") +#define REGSTR_VAL_RDINTTHRESHOLD TEXT("RDIntThreshold") +#define REGSTR_VAL_WRINTTHRESHOLD TEXT("WRIntThreshold") +#define REGSTR_VAL_PRIORITY TEXT("Priority") +#define REGSTR_VAL_DRIVER TEXT("Driver") +#define REGSTR_VAL_FUNCDESC TEXT("FunctionDesc") +#define REGSTR_VAL_FORCEDCONFIG TEXT("ForcedConfig") +#define REGSTR_VAL_CONFIGFLAGS TEXT("ConfigFlags") +#define REGSTR_VAL_CSCONFIGFLAGS TEXT("CSConfigFlags") +#define CONFIGFLAG_DISABLED 1 +#define CONFIGFLAG_REMOVED 2 +#define CONFIGFLAG_MANUAL_INSTALL 4 +#define CONFIGFLAG_IGNORE_BOOT_LC 8 +#define CONFIGFLAG_NET_BOOT 16 +#define CONFIGFLAG_REINSTALL 32 +#define CONFIGFLAG_FAILEDINSTALL 64 +#define CONFIGFLAG_CANTSTOPACHILD 128 +#define CONFIGFLAG_OKREMOVEROM 256 +#define CONFIGFLAG_NOREMOVEEXIT 512 +#define CSCONFIGFLAG_BITS 7 +#define CSCONFIGFLAG_DISABLED 1 +#define CSCONFIGFLAG_DO_NOT_CREATE 2 +#define CSCONFIGFLAG_DO_NOT_START 4 +#define DMSTATEFLAG_APPLYTOALL 1 +#define REGSTR_VAL_ROOT_DEVNODE TEXT("HTREE\\ROOT\\0") +#define REGSTR_VAL_RESERVED_DEVNODE TEXT("HTREE\\RESERVED\\0") +#define REGSTR_PATH_READDATAPORT REGSTR_KEY_ISAENUM TEXT("\\ReadDataPort\\0") +#define REGSTR_PATH_MULTI_FUNCTION TEXT("MF") +#define REGSTR_VAL_RESOURCE_MAP TEXT("ResourceMap") +#define REGSTR_PATH_CHILD_PREFIX TEXT("Child") +#define NUM_RESOURCE_MAP 256 +#define REGSTR_VAL_MF_FLAGS TEXT("MFFlags") +#define MF_FLAGS_EVEN_IF_NO_RESOURCE 1 +#define MF_FLAGS_NO_CREATE_IF_NO_RESOURCE 2 +#define MF_FLAGS_FILL_IN_UNKNOWN_RESOURCE 4 +#define MF_FLAGS_CREATE_BUT_NO_SHOW_DISABLED 8 +#define EISAFLAG_NO_IO_MERGE 1 +#define EISAFLAG_SLOT_IO_FIRST 2 +#define EISA_NO_MAX_FUNCTION 0xFF +#define NUM_EISA_RANGES 4 +#define REGSTR_VAL_DRVDESC TEXT("DriverDesc") +#define REGSTR_VAL_DEVLOADER TEXT("DevLoader") +#define REGSTR_VAL_STATICVXD TEXT("StaticVxD") +#define REGSTR_VAL_PROPERTIES TEXT("Properties") +#define REGSTR_VAL_MANUFACTURER TEXT("Manufacturer") +#define REGSTR_VAL_EXISTS TEXT("Exists") +#define REGSTR_VAL_CMENUMFLAGS TEXT("CMEnumFlags") +#define REGSTR_VAL_CMDRIVFLAGS TEXT("CMDrivFlags") +#define REGSTR_VAL_ENUMERATOR TEXT("Enumerator") +#define REGSTR_VAL_DEVICEDRIVER TEXT("DeviceDriver") +#define REGSTR_VAL_PORTNAME TEXT("PortName") +#define REGSTR_VAL_INFPATH TEXT("InfPath") +#define REGSTR_VAL_INFSECTION TEXT("InfSection") +#define REGSTR_VAL_POLLING TEXT("Polling") +#define REGSTR_VAL_DONTLOADIFCONFLICT TEXT("DontLoadIfConflict") +#define REGSTR_VAL_PORTSUBCLASS TEXT("PortSubClass") +#define REGSTR_VAL_NETCLEAN TEXT("NetClean") +#define REGSTR_VAL_IDE_NO_SERIALIZE TEXT("IDENoSerialize") +#define REGSTR_VAL_NOCMOSORFDPT TEXT("NoCMOSorFDPT") +#define REGSTR_VAL_COMVERIFYBASE TEXT("COMVerifyBase") +#define REGSTR_KEY_OVERRIDE TEXT("Override") +#define REGSTR_VAL_CONFIGMG TEXT("CONFIGMG") +#define REGSTR_VAL_SYSDM TEXT("SysDM") +#define REGSTR_VAL_SYSDMFUNC TEXT("SysDMFunc") +#define REGSTR_VAL_PRIVATE TEXT("Private") +#define REGSTR_VAL_PRIVATEFUNC TEXT("PrivateFunc") +#define REGSTR_VAL_DETECT TEXT("Detect") +#define REGSTR_VAL_DETECTFUNC TEXT("DetectFunc") +#define REGSTR_VAL_ASKFORCONFIG TEXT("AskForConfig") +#define REGSTR_VAL_ASKFORCONFIGFUNC TEXT("AskForConfigFunc") +#define REGSTR_VAL_WAITFORUNDOCK TEXT("WaitForUndock") +#define REGSTR_VAL_WAITFORUNDOCKFUNC TEXT("WaitForUndockFunc") +#define REGSTR_VAL_REMOVEROMOKAY TEXT("RemoveRomOkay") +#define REGSTR_VAL_REMOVEROMOKAYFUNC TEXT("RemoveRomOkayFunc") +#define REGSTR_VAL_CURCONFIG TEXT("CurrentConfig") +#define REGSTR_VAL_FRIENDLYNAME TEXT("FriendlyName") +#define REGSTR_VAL_CURRENTCONFIG TEXT("CurrentConfig") +#define REGSTR_VAL_MAP TEXT("Map") +#define REGSTR_VAL_ID TEXT("CurrentID") +#define REGSTR_VAL_DOCKED TEXT("CurrentDockedState") +#define REGSTR_VAL_CHECKSUM TEXT("CurrentChecksum") +#define REGSTR_VAL_HWDETECT TEXT("HardwareDetect") +#define REGSTR_VAL_INHIBITRESULTS TEXT("InhibitResults") +#define REGSTR_VAL_PROFILEFLAGS TEXT("ProfileFlags") +#define REGSTR_KEY_PCMCIA TEXT("PCMCIA\\") +#define REGSTR_KEY_PCUNKNOWN TEXT("UNKNOWN_MANUFACTURER") +#define REGSTR_VAL_PCSSDRIVER TEXT("Driver") +#define REGSTR_KEY_PCMTD TEXT("MTD-") +#define REGSTR_VAL_PCMTDRIVER TEXT("MTD") +#define REGSTR_VAL_HARDWAREID TEXT("HardwareID") +#define REGSTR_VAL_INSTALLER TEXT("Installer") +#define REGSTR_VAL_INSICON TEXT("Icon") +#define REGSTR_VAL_ENUMPROPPAGES TEXT("EnumPropPages") +#define REGSTR_VAL_BASICPROPERTIES TEXT("BasicProperties") +#define REGSTR_VAL_PRIVATEPROBLEM TEXT("PrivateProblem") +#define REGSTR_KEY_CURRENT TEXT("Current") +#define REGSTR_KEY_DEFAULT TEXT("Default") +#define REGSTR_KEY_MODES TEXT("Modes") +#define REGSTR_VAL_MODE TEXT("Mode") +#define REGSTR_VAL_BPP TEXT("BPP") +#define REGSTR_VAL_HRES TEXT("HRes") +#define REGSTR_VAL_VRES TEXT("VRes") +#define REGSTR_VAL_FONTSIZE TEXT("FontSize") +#define REGSTR_VAL_DRV TEXT("drv") +#define REGSTR_VAL_GRB TEXT("grb") +#define REGSTR_VAL_VDD TEXT("vdd") +#define REGSTR_VAL_VER TEXT("Ver") +#define REGSTR_VAL_MAXRES TEXT("MaxResolution") +#define REGSTR_VAL_DPMS TEXT("DPMS") +#define REGSTR_VAL_RESUMERESET TEXT("ResumeReset") +#define REGSTR_VAL_DESCRIPTION TEXT("Description") +#define REGSTR_KEY_SYSTEM TEXT("System") +#define REGSTR_KEY_USER TEXT("User") +#define REGSTR_VAL_DPI TEXT("dpi") +#define REGSTR_VAL_PCICOPTIONS TEXT("PCICOptions") +#ifndef NEC_98 +#define PCIC_DEFAULT_IRQMASK 0x4EB8 +#else +#define PCIC_DEFAULT_IRQMASK 0x1468 +#endif +#define PCIC_DEFAULT_NUMSOCKETS 0 +#define REGSTR_VAL_PCICIRQMAP TEXT("PCICIRQMap") +#define REGSTR_PATH_APPEARANCE TEXT("Control Panel\\Appearance") +#define REGSTR_PATH_LOOKSCHEMES TEXT("Control Panel\\Appearance\\Schemes") +#define REGSTR_VAL_CUSTOMCOLORS TEXT("CustomColors") +#define REGSTR_PATH_SCREENSAVE TEXT("Control Panel\\Desktop") +#define REGSTR_VALUE_USESCRPASSWORD TEXT("ScreenSaveUsePassword") +#define REGSTR_VALUE_SCRPASSWORD TEXT("ScreenSave_Data") +#define REGSTR_VALUE_LOWPOWERTIMEOUT TEXT("ScreenSaveLowPowerTimeout") +#define REGSTR_VALUE_POWEROFFTIMEOUT TEXT("ScreenSavePowerOffTimeout") +#define REGSTR_VALUE_LOWPOWERACTIVE TEXT("ScreenSaveLowPowerActive") +#define REGSTR_VALUE_POWEROFFACTIVE TEXT("ScreenSavePowerOffActive") +#define REGSTR_PATH_WINDOWSAPPLETS TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Applets") +#define REGSTR_PATH_SYSTRAY TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Applets\\SysTray") +#define REGSTR_VAL_SYSTRAYSVCS TEXT("Services") +#define REGSTR_VAL_SYSTRAYBATFLAGS TEXT("PowerFlags") +#define REGSTR_VAL_SYSTRAYPCCARDFLAGS TEXT("PCMCIAFlags") +#define REGSTR_PATH_NETWORK_USERSETTINGS TEXT("Network") +#define REGSTR_KEY_NETWORK_PERSISTENT TEXT("\\Persistent") +#define REGSTR_KEY_NETWORK_RECENT TEXT("\\Recent") +#define REGSTR_VAL_REMOTE_PATH TEXT("RemotePath") +#define REGSTR_VAL_USER_NAME TEXT("UserName") +#define REGSTR_VAL_PROVIDER_NAME TEXT("ProviderName") +#define REGSTR_VAL_CONNECTION_TYPE TEXT("ConnectionType") +#define REGSTR_VAL_UPGRADE TEXT("Upgrade") +#define REGSTR_KEY_LOGON TEXT("\\Logon") +#define REGSTR_VAL_MUSTBEVALIDATED TEXT("MustBeValidated") +#define REGSTR_VAL_RUNLOGINSCRIPT TEXT("ProcessLoginScript") +#define REGSTR_KEY_NETWORKPROVIDER TEXT("\\NetworkProvider") +#define REGSTR_PATH_NW32NETPROVIDER REGSTR_PATH_SERVICES TEXT("\\NWNP32" REGSTR_KEY_NETWORKPROVIDER +#define REGSTR_PATH_MS32NETPROVIDER REGSTR_PATH_SERVICES TEXT("\\MSNP32" REGSTR_KEY_NETWORKPROVIDER +#define REGSTR_VAL_AUTHENT_AGENT TEXT("AuthenticatingAgent") +#define REGSTR_VAL_PREFREDIR TEXT("PreferredRedir") +#define REGSTR_VAL_AUTOSTART TEXT("AutoStart") +#define REGSTR_VAL_AUTOLOGON TEXT("AutoLogon") +#define REGSTR_VAL_NETCARD TEXT("Netcard") +#define REGSTR_VAL_TRANSPORT TEXT("Transport") +#define REGSTR_VAL_DYNAMIC TEXT("Dynamic") +#define REGSTR_VAL_TRANSITION TEXT("Transition") +#define REGSTR_VAL_STATICDRIVE TEXT("StaticDrive") +#define REGSTR_VAL_LOADHI TEXT("LoadHi") +#define REGSTR_VAL_LOADRMDRIVERS TEXT("LoadRMDrivers") +#define REGSTR_VAL_SETUPN TEXT("SetupN") +#define REGSTR_VAL_SETUPNPATH TEXT("SetupNPath") +#define REGSTR_VAL_WRKGRP_FORCEMAPPING TEXT("WrkgrpForceMapping") +#define REGSTR_VAL_WRKGRP_REQUIRED TEXT("WrkgrpRequired") +#define REGSTR_PATH_CURRENT_CONTROL_SET TEXT("System\\CurrentControlSet\\Control") +#define REGSTR_VAL_CURRENT_USER TEXT("Current User") +#define REGSTR_PATH_PWDPROVIDER TEXT("System\\CurrentControlSet\\Control\\PwdProvider") +#define REGSTR_VAL_PWDPROVIDER_PATH TEXT("ProviderPath") +#define REGSTR_VAL_PWDPROVIDER_DESC TEXT("Description") +#define REGSTR_VAL_PWDPROVIDER_CHANGEPWD TEXT("ChangePassword") +#define REGSTR_VAL_PWDPROVIDER_CHANGEPWDHWND TEXT("ChangePasswordHwnd") +#define REGSTR_VAL_PWDPROVIDER_GETPWDSTATUS TEXT("GetPasswordStatus") +#define REGSTR_VAL_PWDPROVIDER_ISNP TEXT("NetworkProvider") +#define REGSTR_VAL_PWDPROVIDER_CHANGEORDER TEXT("ChangeOrder") +#define REGSTR_PATH_POLICIES TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Policies") +#define REGSTR_PATH_UPDATE TEXT("System\\CurrentControlSet\\Control\\Update") +#define REGSTR_VALUE_ENABLE TEXT("Enable") +#define REGSTR_VALUE_VERBOSE TEXT("Verbose") +#define REGSTR_VALUE_NETPATH TEXT("NetworkPath") +#define REGSTR_VALUE_DEFAULTLOC TEXT("UseDefaultNetLocation") +#define REGSTR_KEY_NETWORK TEXT("Network") +#define REGSTR_KEY_SYSTEM TEXT("System") +#define REGSTR_KEY_PRINTERS TEXT("Printers") +#define REGSTR_KEY_WINOLDAPP TEXT("WinOldApp") +#define REGSTR_VAL_NOFILESHARING TEXT("NoFileSharing") +#define REGSTR_VAL_NOPRINTSHARING TEXT("NoPrintSharing") +#define REGSTR_VAL_NOFILESHARINGCTRL TEXT("NoFileSharingControl") +#define REGSTR_VAL_NOPRINTSHARINGCTRL TEXT("NoPrintSharingControl") +#define REGSTR_VAL_HIDESHAREPWDS TEXT("HideSharePwds") +#define REGSTR_VAL_DISABLEPWDCACHING TEXT("DisablePwdCaching") +#define REGSTR_VAL_ALPHANUMPWDS TEXT("AlphanumPwds") +#define REGSTR_VAL_NETSETUP_DISABLE TEXT("NoNetSetup") +#define REGSTR_VAL_NETSETUP_NOCONFIGPAGE TEXT("NoNetSetupConfigPage") +#define REGSTR_VAL_NETSETUP_NOIDPAGE TEXT("NoNetSetupIDPage") +#define REGSTR_VAL_NETSETUP_NOSECURITYPAGE TEXT("NoNetSetupSecurityPage") +#define REGSTR_VAL_SYSTEMCPL_NOVIRTMEMPAGE TEXT("NoVirtMemPage") +#define REGSTR_VAL_SYSTEMCPL_NODEVMGRPAGE TEXT("NoDevMgrPage") +#define REGSTR_VAL_SYSTEMCPL_NOCONFIGPAGE TEXT("NoConfigPage") +#define REGSTR_VAL_SYSTEMCPL_NOFILESYSPAGE TEXT("NoFileSysPage") +#define REGSTR_VAL_DISPCPL_NODISPCPL TEXT("NoDispCPL") +#define REGSTR_VAL_DISPCPL_NOBACKGROUNDPAGE TEXT("NoDispBackgroundPage") +#define REGSTR_VAL_DISPCPL_NOSCRSAVPAGE TEXT("NoDispScrSavPage") +#define REGSTR_VAL_DISPCPL_NOAPPEARANCEPAGE TEXT("NoDispAppearancePage") +#define REGSTR_VAL_DISPCPL_NOSETTINGSPAGE TEXT("NoDispSettingsPage") +#define REGSTR_VAL_SECCPL_NOSECCPL TEXT("NoSecCPL") +#define REGSTR_VAL_SECCPL_NOPWDPAGE TEXT("NoPwdPage") +#define REGSTR_VAL_SECCPL_NOADMINPAGE TEXT("NoAdminPage") +#define REGSTR_VAL_SECCPL_NOPROFILEPAGE TEXT("NoProfilePage") +#define REGSTR_VAL_PRINTERS_HIDETABS TEXT("NoPrinterTabs") +#define REGSTR_VAL_PRINTERS_NODELETE TEXT("NoDeletePrinter") +#define REGSTR_VAL_PRINTERS_NOADD TEXT("NoAddPrinter") +#define REGSTR_VAL_WINOLDAPP_DISABLED TEXT("Disabled") +#define REGSTR_VAL_WINOLDAPP_NOREALMODE TEXT("NoRealMode") +#define REGSTR_VAL_NOENTIRENETWORK TEXT("NoEntireNetwork") +#define REGSTR_VAL_NOWORKGROUPCONTENTS TEXT("NoWorkgroupContents") +#define REGSTR_VAL_MINPWDLEN TEXT("MinPwdLen") +#define REGSTR_VAL_PWDEXPIRATION TEXT("PwdExpiration") +#define REGSTR_VAL_WIN31PROVIDER TEXT("Win31Provider") +#define REGSTR_VAL_DISABLEREGTOOLS TEXT("DisableRegistryTools") +#define REGSTR_PATH_WINLOGON TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Winlogon") +#define REGSTR_VAL_LEGALNOTICECAPTION TEXT("LegalNoticeCaption") +#define REGSTR_VAL_LEGALNOTICETEXT TEXT("LegalNoticeText") +#define REGSTR_VAL_RESTRICTRUN TEXT("RestrictRun") +#define REGSTR_KEY_POL_USERS TEXT("Users") +#define REGSTR_KEY_POL_COMPUTERS TEXT("Computers") +#define REGSTR_KEY_POL_USERGROUPS TEXT("UserGroups") +#define REGSTR_KEY_POL_DEFAULT TEXT(".default") +#define REGSTR_KEY_POL_USERGROUPDATA TEXT("GroupData\\UserGroups\\Priority") +#define REGSTR_PATH_TIMEZONE TEXT("System\\CurrentControlSet\\Control\\TimeZoneInformation") +#define REGSTR_VAL_TZBIAS TEXT("Bias") +#define REGSTR_VAL_TZDLTBIAS TEXT("DaylightBias") +#define REGSTR_VAL_TZSTDBIAS TEXT("StandardBias") +#define REGSTR_VAL_TZACTBIAS TEXT("ActiveTimeBias") +#define REGSTR_VAL_TZDLTFLAG TEXT("DaylightFlag") +#define REGSTR_VAL_TZSTDSTART TEXT("StandardStart") +#define REGSTR_VAL_TZDLTSTART TEXT("DaylightStart") +#define REGSTR_VAL_TZDLTNAME TEXT("DaylightName") +#define REGSTR_VAL_TZSTDNAME TEXT("StandardName") +#define REGSTR_VAL_TZNOCHANGESTART TEXT("NoChangeStart") +#define REGSTR_VAL_TZNOCHANGEEND TEXT("NoChangeEnd") +#define REGSTR_VAL_TZNOAUTOTIME TEXT("DisableAutoDaylightTimeSet") +#define REGSTR_PATH_FLOATINGPOINTPROCESSOR TEXT("HARDWARE\\DESCRIPTION\\System\\FloatingPointProcessor") +#define REGSTR_PATH_FLOATINGPOINTPROCESSOR0 TEXT("HARDWARE\\DESCRIPTION\\System\\FloatingPointProcessor\\0") +#define REGSTR_PATH_COMPUTRNAME TEXT("System\\CurrentControlSet\\Control\\ComputerName\\ComputerName") +#define REGSTR_VAL_COMPUTRNAME TEXT("ComputerName") +#define REGSTR_PATH_SHUTDOWN TEXT("System\\CurrentControlSet\\Control\\Shutdown") +#define REGSTR_VAL_FORCEREBOOT TEXT("ForceReboot") +#define REGSTR_VAL_SETUPPROGRAMRAN TEXT("SetupProgramRan") +#define REGSTR_VAL_DOES_POLLING TEXT("PollingSupportNeeded") +#define REGSTR_PATH_KNOWNDLLS TEXT("System\\CurrentControlSet\\Control\\SessionManager\\KnownDLLs") +#define REGSTR_PATH_KNOWN16DLLS TEXT("System\\CurrentControlSet\\Control\\SessionManager\\Known16DLLs") +#define REGSTR_PATH_CHECKVERDLLS TEXT("System\\CurrentControlSet\\Control\\SessionManager\\CheckVerDLLs") +#define REGSTR_PATH_WARNVERDLLS TEXT("System\\CurrentControlSet\\Control\\SessionManager\\WarnVerDLLs") +#define REGSTR_PATH_HACKINIFILE TEXT("System\\CurrentControlSet\\Control\\SessionManager\\HackIniFiles") +#define REGSTR_PATH_CHECKBADAPPS TEXT("System\\CurrentControlSet\\Control\\SessionManager\\CheckBadApps") +#define REGSTR_PATH_APPPATCH TEXT("System\\CurrentControlSet\\Control\\SessionManager\\AppPatches") +#define REGSTR_PATH_KNOWNVXDS TEXT("System\\CurrentControlSet\\Control\\SessionManager\\KnownVxDs") +#define REGSTR_VAL_UNINSTALLER_DISPLAYNAME TEXT("DisplayName") +#define REGSTR_VAL_UNINSTALLER_COMMANDLINE TEXT("UninstallString") +#define REGSTR_PATH_DESKTOP REGSTR_PATH_SCREENSAVE +#define REGSTR_PATH_MOUSE TEXT("Control Panel\\Mouse") +#define REGSTR_PATH_KEYBOARD TEXT("Control Panel\\Keyboard") +#define REGSTR_PATH_COLORS TEXT("Control Panel\\Colors") +#define REGSTR_PATH_SOUND TEXT("Control Panel\\Sound") +#define REGSTR_PATH_METRICS TEXT("Control Panel\\Desktop\\WindowMetrics") +#define REGSTR_PATH_ICONS TEXT("Control Panel\\Icons") +#define REGSTR_PATH_CURSORS TEXT("Control Panel\\Cursors") +#define REGSTR_PATH_CHECKDISK TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Applets\\Check Drive") +#define REGSTR_PATH_CHECKDISKSET TEXT("Settings") +#define REGSTR_PATH_CHECKDISKUDRVS TEXT("NoUnknownDDErrDrvs") +#define REGSTR_PATH_FAULT TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Fault") +#define REGSTR_VAL_FAULT_LOGFILE TEXT("LogFile") +#define REGSTR_PATH_AEDEBUG TEXT("Software\\Microsoft\\Windows NT\\CurrentVersion\\AeDebug") +#define REGSTR_VAL_AEDEBUG_DEBUGGER TEXT("Debugger") +#define REGSTR_VAL_AEDEBUG_AUTO TEXT("Auto") +#define REGSTR_PATH_GRPCONV TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\GrpConv") +#define REGSTR_VAL_REGITEMDELETEMESSAGE TEXT("Removal Message") +#define REGSTR_PATH_LASTCHECK TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\LastCheck") +#define REGSTR_PATH_LASTOPTIMIZE TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\LastOptimize") +#define REGSTR_PATH_LASTBACKUP TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\LastBackup") +#define REGSTR_PATH_CHKLASTCHECK TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Applets\\Check Drive\\LastCheck") +#define REGSTR_PATH_CHKLASTSURFAN TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Applets\\Check Drive\\LastSurfaceAnalysis") +#define DTRESULTOK 0 +#define DTRESULTFIX 1 +#define DTRESULTPROB 2 +#define DTRESULTPART 3 +#define REGSTR_KEY_SHARES TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Network\\LanMan") +#define REGSTR_VAL_SHARES_FLAGS TEXT("Flags") +#define REGSTR_VAL_SHARES_TYPE TEXT("Type") +#define REGSTR_VAL_SHARES_PATH TEXT("Path") +#define REGSTR_VAL_SHARES_REMARK TEXT("Remark") +#define REGSTR_VAL_SHARES_RW_PASS TEXT("Parm1") +#define REGSTR_VAL_SHARES_RO_PASS TEXT("Parm2") +#define REGSTR_PATH_PRINT TEXT("System\\CurrentControlSet\\Control\\Print") +#define REGSTR_PATH_PRINTERS TEXT("System\\CurrentControlSet\\Control\\Print\\Printers") +#define REGSTR_PATH_PROVIDERS TEXT("System\\CurrentControlSet\\Control\\Print\\Providers") +#define REGSTR_PATH_MONITORS TEXT("System\\CurrentControlSet\\Control\\Print\\Monitors") +#define REGSTR_PATH_ENVIRONMENTS TEXT("System\\CurrentControlSet\\Control\\Print\\Environments") +#define REGSTR_VAL_START_ON_BOOT TEXT("StartOnBoot") +#define REGSTR_VAL_PRINTERS_MASK TEXT("PrintersMask") +#define REGSTR_VAL_DOS_SPOOL_MASK TEXT("DOSSpoolMask") +#define REGSTR_KEY_CURRENT_ENV TEXT("\\Windows 4.0") +#define REGSTR_KEY_DRIVERS TEXT("\\Drivers") +#define REGSTR_KEY_PRINT_PROC TEXT("\\Print Processors") +#define REGSTR_PATH_EVENTLABELS TEXT("AppEvents\\EventLabels") +#define REGSTR_PATH_SCHEMES TEXT("AppEvents\\Schemes") +#define REGSTR_PATH_APPS REGSTR_PATH_SCHEMES TEXT("\\Apps") +#define REGSTR_PATH_APPS_DEFAULT REGSTR_PATH_SCHEMES TEXT("\\Apps\\.Default") +#define REGSTR_PATH_NAMES REGSTR_PATH_SCHEMES TEXT("\\Names") +#define REGSTR_PATH_MULTIMEDIA REGSTR_PATH_SETUP TEXT("\\Multimedia") +#define REGSTR_PATH_MULTIMEDIA_AUDIO TEXT("Software\\Microsoft\\Multimedia\\Audio") +#define REGSTR_PATH_MEDIARESOURCES REGSTR_PATH_CURRENT_CONTROL_SET TEXT("\\MediaResources") +#define REGSTR_PATH_MEDIAPROPERTIES REGSTR_PATH_CURRENT_CONTROL_SET TEXT("\\MediaProperties") +#define REGSTR_PATH_PRIVATEPROPERTIES REGSTR_PATH_MEDIAPROPERTIES TEXT("\\PrivateProperties") +#define REGSTR_PATH_PUBLICPROPERTIES REGSTR_PATH_MEDIAPROPERTIES TEXT("\\PublicProperties") +#define REGSTR_PATH_JOYOEM REGSTR_PATH_PRIVATEPROPERTIES TEXT("\\Joystick\\OEM") +#define REGSTR_PATH_JOYCONFIG REGSTR_PATH_MEDIARESOURCES TEXT("\\Joystick") +#define REGSTR_KEY_JOYCURR TEXT("CurrentJoystickSettings") +#define REGSTR_KEY_JOYSETTINGS TEXT("JoystickSettings") +#define REGSTR_VAL_JOYUSERVALUES TEXT("JoystickUserValues") +#define REGSTR_VAL_JOYCALLOUT TEXT("JoystickCallout") +#define REGSTR_VAL_JOYNCONFIG TEXT("Joystick%dConfiguration") +#define REGSTR_VAL_JOYNOEMNAME TEXT("Joystick%dOEMName") +#define REGSTR_VAL_JOYNOEMCALLOUT TEXT("Joystick%dOEMCallout") +#define REGSTR_VAL_JOYOEMCALLOUT TEXT("OEMCallout") +#define REGSTR_VAL_JOYOEMNAME TEXT("OEMName") +#define REGSTR_VAL_JOYOEMDATA TEXT("OEMData") +#define REGSTR_VAL_JOYOEMXYLABEL TEXT("OEMXYLabel") +#define REGSTR_VAL_JOYOEMZLABEL TEXT("OEMZLabel") +#define REGSTR_VAL_JOYOEMRLABEL TEXT("OEMRLabel") +#define REGSTR_VAL_JOYOEMPOVLABEL TEXT("OEMPOVLabel") +#define REGSTR_VAL_JOYOEMULABEL TEXT("OEMULabel") +#define REGSTR_VAL_JOYOEMVLABEL TEXT("OEMVLabel") +#define REGSTR_VAL_JOYOEMTESTMOVEDESC TEXT("OEMTestMoveDesc") +#define REGSTR_VAL_JOYOEMTESTBUTTONDESC TEXT("OEMTestButtonDesc") +#define REGSTR_VAL_JOYOEMTESTMOVECAP TEXT("OEMTestMoveCap") +#define REGSTR_VAL_JOYOEMTESTBUTTONCAP TEXT("OEMTestButtonCap") +#define REGSTR_VAL_JOYOEMTESTWINCAP TEXT("OEMTestWinCap") +#define REGSTR_VAL_JOYOEMCALCAP TEXT("OEMCalCap") +#define REGSTR_VAL_JOYOEMCALWINCAP TEXT("OEMCalWinCap") +#define REGSTR_VAL_JOYOEMCAL1 TEXT("OEMCal1") +#define REGSTR_VAL_JOYOEMCAL2 TEXT("OEMCal2") +#define REGSTR_VAL_JOYOEMCAL3 TEXT("OEMCal3") +#define REGSTR_VAL_JOYOEMCAL4 TEXT("OEMCal4") +#define REGSTR_VAL_JOYOEMCAL5 TEXT("OEMCal5") +#define REGSTR_VAL_JOYOEMCAL6 TEXT("OEMCal6") +#define REGSTR_VAL_JOYOEMCAL7 TEXT("OEMCal7") +#define REGSTR_VAL_JOYOEMCAL8 TEXT("OEMCal8") +#define REGSTR_VAL_JOYOEMCAL9 TEXT("OEMCal9") +#define REGSTR_VAL_JOYOEMCAL10 TEXT("OEMCal10") +#define REGSTR_VAL_JOYOEMCAL11 TEXT("OEMCal11") +#define REGSTR_VAL_JOYOEMCAL12 TEXT("OEMCal12") +#ifndef NEC_98 +#define REGSTR_KEY_ISAENUM TEXT("ISAPnP") +#define REGSTR_KEY_EISAENUM TEXT("EISA") +#define REGSTR_VAL_EISA_RANGES TEXT("EISARanges") +#define REGSTR_VAL_EISA_FUNCTIONS TEXT("EISAFunctions") +#define REGSTR_VAL_EISA_FUNCTIONS_MASK TEXT("EISAFunctionsMask") +#define REGSTR_VAL_EISA_FLAGS TEXT("EISAFlags") +#define REGSTR_VAL_EISA_SIMULATE_INT15 TEXT("EISASimulateInt15") +#else +#define REGSTR_KEY_ISAENUM TEXT("C98PnP") +#define REGSTR_KEY_EISAENUM TEXT("NESA") +#define REGSTR_VAL_EISA_RANGES TEXT("NESARanges") +#define REGSTR_VAL_EISA_FUNCTIONS TEXT("NESAFunctions") +#define REGSTR_VAL_EISA_FUNCTIONS_MASK TEXT("NESAFunctionsMask") +#define REGSTR_VAL_EISA_FLAGS TEXT("NESAFlags") +#define REGSTR_VAL_EISA_SIMULATE_INT15 TEXT("NESASimulateInt15") +#endif +typedef struct _DSKTLSYSTEMTIME { + WORD wYear; + WORD wMonth; + WORD wDayOfWeek; + WORD wDay; + WORD wHour; + WORD wMinute; + WORD wSecond; + WORD wMilliseconds; + WORD wResult; +} DSKTLSYSTEMTIME,*PDSKTLSYSTEMTIME,*LPDSKTLSYSTEMTIME; +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/richedit.h b/winsup/w32api/include/richedit.h new file mode 100644 index 000000000..5262b5089 --- /dev/null +++ b/winsup/w32api/include/richedit.h @@ -0,0 +1,349 @@ +#ifndef _RICHEDIT_H +#define _RICHEDIT_H +#ifdef __cplusplus +extern "C" { +#endif +#pragma pack(push,4) + +#define CF_RTF TEXT("Rich Text Format") +#define CF_RTFNOOBJS TEXT("Rich Text Format Without Objects") +#define CF_RETEXTOBJ TEXT("RichEdit Text and Objects") +#define CFM_BOLD 1 +#define CFM_ITALIC 2 +#define CFM_UNDERLINE 4 +#define CFM_STRIKEOUT 8 +#define CFM_PROTECTED 16 +#define CFM_SIZE 0x80000000 +#define CFM_COLOR 0x40000000 +#define CFM_FACE 0x20000000 +#define CFM_OFFSET 0x10000000 +#define CFM_CHARSET 0x08000000 +#define CFE_BOLD 1 +#define CFE_ITALIC 2 +#define CFE_UNDERLINE 4 +#define CFE_STRIKEOUT 8 +#define CFE_PROTECTED 16 +#define CFE_AUTOCOLOR 0x40000000 +#define IMF_FORCENONE 1 +#define IMF_FORCEENABLE 2 +#define IMF_FORCEDISABLE 4 +#define IMF_CLOSESTATUSWINDOW 8 +#define IMF_VERTICAL 32 +#define IMF_FORCEACTIVE 64 +#define IMF_FORCEINACTIVE 128 +#define IMF_FORCEREMEMBER 256 +#define SEL_EMPTY 0 +#define SEL_TEXT 1 +#define SEL_OBJECT 2 +#define SEL_MULTICHAR 4 +#define SEL_MULTIOBJECT 8 +#define MAX_TAB_STOPS 32 +#define PFM_ALIGNMENT 8 +#define PFM_NUMBERING 32 +#define PFM_OFFSET 4 +#define PFM_OFFSETINDENT 0x80000000 +#define PFM_RIGHTINDENT 2 +#define PFM_STARTINDENT 1 +#define PFM_TABSTOPS 16 +#define PFN_BULLET 1 +#define PFA_LEFT 1 +#define PFA_RIGHT 2 +#define PFA_CENTER 3 +#define SF_TEXT 1 +#define SF_RTF 2 +#define SF_RTFNOOBJS 3 +#define SF_TEXTIZED 4 +#define SFF_PLAINRTF 0x4000 +#define SFF_SELECTION 0x8000 +#define WB_CLASSIFY 3 +#define WB_MOVEWORDLEFT 4 +#define WB_MOVEWORDRIGHT 5 +#define WB_LEFTBREAK 6 +#define WB_RIGHTBREAK 7 +#define WB_MOVEWORDPREV 4 +#define WB_MOVEWORDNEXT 5 +#define WB_PREVBREAK 6 +#define WB_NEXTBREAK 7 +#define WBF_WORDWRAP 16 +#define WBF_WORDBREAK 32 +#define WBF_OVERFLOW 64 +#define WBF_LEVEL1 128 +#define WBF_LEVEL2 256 +#define WBF_CUSTOM 512 +#define ES_DISABLENOSCROLL 8192 +#define ES_EX_NOCALLOLEINIT 16777216 +#define ES_NOIME 524288 +#define ES_SAVESEL 32768 +#define ES_SELFIME 262144 +#define ES_SUNKEN 16384 +#define ES_VERTICAL 4194304 +#define ES_SELECTIONBAR 16777216 +#define EM_CANPASTE (WM_USER+50) +#define EM_DISPLAYBAND (WM_USER+51) +#define EM_EXGETSEL (WM_USER+52) +#define EM_EXLIMITTEXT (WM_USER+53) +#define EM_EXLINEFROMCHAR (WM_USER+54) +#define EM_EXSETSEL (WM_USER+55) +#define EM_FINDTEXT (WM_USER+56) +#define EM_FORMATRANGE (WM_USER+57) +#define EM_GETCHARFORMAT (WM_USER+58) +#define EM_GETEVENTMASK (WM_USER+59) +#define EM_GETOLEINTERFACE (WM_USER+60) +#define EM_GETPARAFORMAT (WM_USER+61) +#define EM_GETSELTEXT (WM_USER+62) +#define EM_HIDESELECTION (WM_USER+63) +#define EM_PASTESPECIAL (WM_USER+64) +#define EM_REQUESTRESIZE (WM_USER+65) +#define EM_SELECTIONTYPE (WM_USER+66) +#define EM_SETBKGNDCOLOR (WM_USER+67) +#define EM_SETCHARFORMAT (WM_USER+68) +#define EM_SETEVENTMASK (WM_USER+69) +#define EM_SETOLECALLBACK (WM_USER+70) +#define EM_SETPARAFORMAT (WM_USER+71) +#define EM_SETTARGETDEVICE (WM_USER+72) +#define EM_STREAMIN (WM_USER+73) +#define EM_STREAMOUT (WM_USER+74) +#define EM_GETTEXTRANGE (WM_USER+75) +#define EM_FINDWORDBREAK (WM_USER+76) +#define EM_SETOPTIONS (WM_USER+77) +#define EM_GETOPTIONS (WM_USER+78) +#define EM_FINDTEXTEX (WM_USER+79) +#define EM_GETWORDBREAKPROCEX (WM_USER+80) +#define EM_SETWORDBREAKPROCEX (WM_USER+81) +#define EN_CORRECTTEXT 1797 +#define EN_DROPFILES 1795 +#define EN_IMECHANGE 1799 +#define EN_MSGFILTER 1792 +#define EN_OLEOPFAILED 1801 +#define EN_PROTECTED 1796 +#define EN_REQUESTRESIZE 1793 +#define EN_SAVECLIPBOARD 1800 +#define EN_SELCHANGE 1794 +#define EN_STOPNOUNDO 1798 +#define ENM_NONE 0 +#define ENM_CHANGE 1 +#define ENM_CORRECTTEXT 4194304 +#define ENM_DROPFILES 1048576 +#define ENM_KEYEVENTS 65536 +#define ENM_MOUSEEVENTS 131072 +#define ENM_PROTECTED 2097152 +#define ENM_REQUESTRESIZE 262144 +#define ENM_SCROLL 4 +#define ENM_SELCHANGE 524288 +#define ENM_UPDATE 2 +#define ECO_AUTOWORDSELECTION 1 +#define ECO_AUTOVSCROLL 64 +#define ECO_AUTOHSCROLL 128 +#define ECO_NOHIDESEL 256 +#define ECO_READONLY 2048 +#define ECO_WANTRETURN 4096 +#define ECO_SAVESEL 0x8000 +#define ECO_SELECTIONBAR 0x1000000 +#define ECO_VERTICAL 0x400000 +#define ECOOP_SET 1 +#define ECOOP_OR 2 +#define ECOOP_AND 3 +#define ECOOP_XOR 4 +#define SCF_DEFAULT 0 +#define SCF_SELECTION 1 +#define SCF_WORD 2 +#define SCF_ALL 4 +#define SCF_USEUIRULES 8 +#define yHeightCharPtsMost 1638 +#define lDefaultTab 720 + +typedef struct _charformat { + UINT cbSize; + DWORD dwMask; + DWORD dwEffects; + LONG yHeight; + LONG yOffset; + COLORREF crTextColor; + BYTE bCharSet; + BYTE bPitchAndFamily; + char szFaceName[LF_FACESIZE]; +} CHARFORMATA; +typedef struct _charformatw { + UINT cbSize; + DWORD dwMask; + DWORD dwEffects; + LONG yHeight; + LONG yOffset; + COLORREF crTextColor; + BYTE bCharSet; + BYTE bPitchAndFamily; + WCHAR szFaceName[LF_FACESIZE]; +} CHARFORMATW; +typedef struct _charformat2a { + UINT cbSize; + DWORD dwMask; + DWORD dwEffects; + LONG yHeight; + LONG yOffset; + COLORREF crTextColor; + BYTE bCharSet; + BYTE bPitchAndFamily; + char szFaceName[LF_FACESIZE]; + WORD wWeight; + SHORT sSpacing; + COLORREF crBackColor; + LCID lcid; + DWORD dwReserved; + SHORT sStyle; + WORD wKerning; + BYTE bUnderlineType; + BYTE bAnimation; + BYTE bRevAuthor; +} CHARFORMAT2A; +typedef struct _charformat2w { + UINT cbSize; + DWORD dwMask; + DWORD dwEffects; + LONG yHeight; + LONG yOffset; + COLORREF crTextColor; + BYTE bCharSet; + BYTE bPitchAndFamily; + WCHAR szFaceName[LF_FACESIZE]; + WORD wWeight; + SHORT sSpacing; + COLORREF crBackColor; + LCID lcid; + DWORD dwReserved; + SHORT sStyle; + WORD wKerning; + BYTE bUnderlineType; + BYTE bAnimation; + BYTE bRevAuthor; +} CHARFORMAT2W; +typedef struct _charrange { + LONG cpMin; + LONG cpMax; +} CHARRANGE; +typedef struct _compcolor { + COLORREF crText; + COLORREF crBackground; + DWORD dwEffects; +} COMPCOLOR; +typedef DWORD(CALLBACK *EDITSTREAMCALLBACK)(DWORD,PBYTE,LONG,LONG*); +typedef struct _editstream { + DWORD dwCookie; + DWORD dwError; + EDITSTREAMCALLBACK pfnCallback; +} EDITSTREAM; +typedef struct _encorrecttext { + NMHDR nmhdr; + CHARRANGE chrg; + WORD seltyp; +} ENCORRECTTEXT; +typedef struct _endropfiles { + NMHDR nmhdr; + HANDLE hDrop; + LONG cp; + BOOL fProtected; +} ENDROPFILES; +typedef struct { + NMHDR nmhdr; + LONG iob; + LONG lOper; + HRESULT hr; +} ENOLEOPFAILED; +typedef struct _enprotected { + NMHDR nmhdr; + UINT msg; + WPARAM wParam; + LPARAM lParam; + CHARRANGE chrg; +} ENPROTECTED,*LPENPROTECTED; +typedef struct _ensaveclipboard { + NMHDR nmhdr; + LONG cObjectCount; + LONG cch; +} ENSAVECLIPBOARD; +typedef struct _findtextA { + CHARRANGE chrg; + LPSTR lpstrText; +} FINDTEXTA; +typedef struct _findtextW { + CHARRANGE chrg; + LPWSTR lpstrText; +} FINDTEXTW; +typedef struct _findtextexA { + CHARRANGE chrg; + LPSTR lpstrText; + CHARRANGE chrgText; +} FINDTEXTEXA; +typedef struct _findtextexW { + CHARRANGE chrg; + LPWSTR lpstrText; + CHARRANGE chrgText; +} FINDTEXTEXW; +typedef struct _formatrange { + HDC hdc; + HDC hdcTarget; + RECT rc; + RECT rcPage; + CHARRANGE chrg; +} FORMATRANGE; +typedef struct _msgfilter { + NMHDR nmhdr; + UINT msg; + WPARAM wParam; + LPARAM lParam; +} MSGFILTER; +typedef struct _paraformat { + UINT cbSize; + DWORD dwMask; + WORD wNumbering; + WORD wReserved; + LONG dxStartIndent; + LONG dxRightIndent; + LONG dxOffset; + WORD wAlignment; + SHORT cTabCount; + LONG rgxTabs[MAX_TAB_STOPS]; +} PARAFORMAT; +typedef struct _selchange { + NMHDR nmhdr; + CHARRANGE chrg; + WORD seltyp; +} SELCHANGE; +typedef struct _textrange { + CHARRANGE chrg; + LPSTR lpstrText; +} TEXTRANGEA; +typedef struct _textrangew { + CHARRANGE chrg; + LPWSTR lpstrText; +} TEXTRANGEW; +typedef struct _reqresize { + NMHDR nmhdr; + RECT rc; +} REQRESIZE; +typedef struct _repastespecial { + DWORD dwAspect; + DWORD dwParam; +} REPASTESPECIAL; +typedef struct _punctuation { + UINT iSize; + LPSTR szPunctuation; +} PUNCTUATION; +typedef LONG (*EDITWORDBREAKPROCEX)(char*,LONG,BYTE,INT); +#ifdef UNICODE +typedef CHARFORMATW CHARFORMAT; +typedef CHARFORMAT2W CHARFORMAT2; +typedef FINDTEXTW FINDTEXT; +typedef FINDTEXTEXW FINDTEXTEX; +typedef TEXTRANGEW TEXTRANGE; +#else +typedef CHARFORMATA CHARFORMAT; +typedef CHARFORMAT2A CHARFORMAT2; +typedef FINDTEXTA FINDTEXT; +typedef FINDTEXTEXA FINDTEXTEX; +typedef TEXTRANGEA TEXTRANGE; +#endif +#pragma pack(pop) +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/richole.h b/winsup/w32api/include/richole.h new file mode 100644 index 000000000..90f390bde --- /dev/null +++ b/winsup/w32api/include/richole.h @@ -0,0 +1,103 @@ +#ifndef _RICHOLE_H +#define _RICHOLE_H +#ifdef __cplusplus +extern "C" { +#endif +#pragma pack(push,4) +#define REO_GETOBJ_NO_INTERFACES 0 +#define REO_GETOBJ_POLEOBJ 1 +#define REO_GETOBJ_PSTG 2 +#define REO_GETOBJ_POLESITE 4 +#define REO_GETOBJ_ALL_INTERFACES 7 +#define REO_CP_SELECTION ((ULONG)-1) +#define REO_IOB_SELECTION ((ULONG)-1) +#define REO_IOB_USE_CP ((ULONG)-2) +#define REO_NULL 0 +#define REO_READWRITEMASK 0x3FL +#define REO_DONTNEEDPALETTE 32 +#define REO_BLANK 16 +#define REO_DYNAMICSIZE 8 +#define REO_INVERTEDSELECT 4 +#define REO_BELOWBASELINE 2 +#define REO_RESIZABLE 1 +#define REO_LINK 0x80000000 +#define REO_STATIC 0x40000000 +#define REO_SELECTED 0x08000000 +#define REO_OPEN 0x4000000 +#define REO_INPLACEACTIVE 0x2000000 +#define REO_HILITED 0x1000000 +#define REO_LINKAVAILABLE 0x800000 +#define REO_GETMETAFILE 0x400000 +#define RECO_PASTE 0 +#define RECO_DROP 1 +#define RECO_COPY 2 +#define RECO_CUT 3 +#define RECO_DRAG 4 + +extern const GUID IID_IRichEditOle; +extern const GUID IID_IRichEditOleCallback; +#ifndef INITGUID +typedef struct _reobject { + DWORD cbStruct; + LONG cp; + CLSID clsid; + LPOLEOBJECT poleobj; + LPSTORAGE pstg; + LPOLECLIENTSITE polesite; + SIZEL sizel; + DWORD dvaspect; + DWORD dwFlags; + DWORD dwUser; +} REOBJECT; + +#undef INTERFACE +#define INTERFACE IRichEditOle +DECLARE_INTERFACE_(IRichEditOle, IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetClientSite)(THIS_ LPOLECLIENTSITE*) PURE; + STDMETHOD_(LONG,GetObjectCount)(THIS) PURE; + STDMETHOD_(LONG,GetLinkCount)(THIS) PURE; + STDMETHOD(GetObject)(THIS_ LONG, REOBJECT*,DWORD) PURE; + STDMETHOD(InsertObject)(THIS_ REOBJECT*) PURE; + STDMETHOD(ConvertObject)(THIS_ LONG,REFCLSID,LPCSTR) PURE; + STDMETHOD(ActivateAs)(THIS_ REFCLSID,REFCLSID) PURE; + STDMETHOD(SetHostNames)(THIS_ LPCSTR,LPCSTR) PURE; + STDMETHOD(SetLinkAvailable)(THIS_ LONG,BOOL) PURE; + STDMETHOD(SetDvaspect)(THIS_ LONG,DWORD) PURE; + STDMETHOD(HandsOffStorage)(THIS_ LONG) PURE; + STDMETHOD(SaveCompleted)(THIS_ LONG,LPSTORAGE) PURE; + STDMETHOD(InPlaceDeactivate)(THIS) PURE; + STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE; + STDMETHOD(GetClipboardData)(THIS_ CHARRANGE*,DWORD,LPDATAOBJECT*) PURE; + STDMETHOD(ImportDataObject)(THIS_ LPDATAOBJECT,CLIPFORMAT,HGLOBAL) PURE; +}; +typedef IRichEditOle *LPRICHEDITOLE; + +#undef INTERFACE +#define INTERFACE IRichEditOleCallback +DECLARE_INTERFACE_(IRichEditOleCallback, IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetNewStorage)(THIS_ LPSTORAGE*) PURE; + STDMETHOD(GetInPlaceContext)(THIS_ LPOLEINPLACEFRAME*,LPOLEINPLACEUIWINDOW*,LPOLEINPLACEFRAMEINFO) PURE; + STDMETHOD(ShowContainerUI)(THIS_ BOOL) PURE; + STDMETHOD(QueryInsertObject)(THIS_ LPCLSID,LPSTORAGE,LONG) PURE; + STDMETHOD(DeleteObject)(THIS_ LPOLEOBJECT) PURE; + STDMETHOD(QueryAcceptData) (THIS_ LPDATAOBJECT,CLIPFORMAT*,DWORD,BOOL,HGLOBAL) PURE; + STDMETHOD(ContextSensitiveHelp) (THIS_ BOOL) PURE; + STDMETHOD(GetClipboardData) (THIS_ CHARRANGE*,DWORD,LPDATAOBJECT*) PURE; + STDMETHOD(GetDragDropEffect) (THIS_ BOOL,DWORD,PDWORD) PURE; + STDMETHOD(GetContextMenu) (THIS_ WORD,LPOLEOBJECT,CHARRANGE*,HMENU*) PURE; +}; +typedef IRichEditOleCallback FAR * LPRICHEDITOLECALLBACK; +#endif +#pragma pack(pop) +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/rpc.h b/winsup/w32api/include/rpc.h new file mode 100644 index 000000000..eeb602f9f --- /dev/null +++ b/winsup/w32api/include/rpc.h @@ -0,0 +1,54 @@ +#ifndef _RPC_H +#define _RPC_H +#ifndef RPC_NO_WINDOWS_H +#include <windows.h> +#endif +#ifdef __cplusplus +extern "C" { +#endif +#define __RPC_WIN32__ +#ifndef _WIN95 +#define __RPC_NT__ +#define RPC_UNICODE_SUPPORTED +#endif + +#ifndef __MIDL_USER_DEFINED +#define midl_user_allocate MIDL_user_allocate +#define midl_user_free MIDL_user_free +#define __MIDL_USER_DEFINED +#endif +#define RPC_UNICODE_SUPPORTED +#define __RPC_FAR +#define __RPC_API __stdcall +#define __RPC_USER __stdcall +#define __RPC_STUB __stdcall +#define RPC_ENTRY __stdcall +typedef void *I_RPC_HANDLE; +typedef long RPC_STATUS; + +#include <rpcdce.h> +#include <rpcnsi.h> +#include <rpcnterr.h> + +#include <winerror.h> + +/* SEH is not supported */ +#if 0 +#include <excpt.h> +#define RpcTryExcept __try { +#define RpcExcept(x) } __except (x) { +#define RpcEndExcept } +#define RpcTryFinally __try { +#define RpcFinally } __finally { +#define RpcEndFinally } +#define RpcExceptionCode() GetExceptionCode() +#define RpcAbnormalTermination() AbnormalTermination() +#endif /* 0 */ + +RPC_STATUS RPC_ENTRY RpcImpersonateClient(RPC_BINDING_HANDLE); +RPC_STATUS RPC_ENTRY RpcRevertToSelf(); +long RPC_ENTRY I_RpcMapWin32Status(RPC_STATUS); +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/rpcdce.h b/winsup/w32api/include/rpcdce.h new file mode 100644 index 000000000..97d93ce59 --- /dev/null +++ b/winsup/w32api/include/rpcdce.h @@ -0,0 +1,381 @@ +#ifndef _RPCDCE_H +#define _RPCDCE_H + +#ifdef __cplusplus +extern "C" { +#endif +#include <basetyps.h> + +#define IN +#define OUT +#define OPTIONAL +#define uuid_t UUID +#define rpc_binding_handle_t RPC_BINDING_HANDLE +#define rpc_binding_vector_t RPC_BINDING_VECTOR +#define uuid_vector_t UUID_VECTOR +#define RPC_C_BINDING_INFINITE_TIMEOUT 10 +#define RPC_C_BINDING_MIN_TIMEOUT 0 +#define RPC_C_BINDING_DEFAULT_TIMEOUT 5 +#define RPC_C_BINDING_MAX_TIMEOUT 9 +#define RPC_C_CANCEL_INFINITE_TIMEOUT (-1) +#define RPC_C_LISTEN_MAX_CALLS_DEFAULT 1234 +#define RPC_C_PROTSEQ_MAX_REQS_DEFAULT 10 +#define RPC_C_BIND_TO_ALL_NICS 1 +#define RPC_C_USE_INTERNET_PORT 1 +#define RPC_C_USE_INTRANET_PORT 2 +#define RPC_MGR_EPV void +#define RPC_C_STATS_CALLS_IN 0 +#define RPC_C_STATS_CALLS_OUT 1 +#define RPC_C_STATS_PKTS_IN 2 +#define RPC_C_STATS_PKTS_OUT 3 +#define RPC_IF_AUTOLISTEN 0x0001 +#define RPC_IF_OLE 2 +#define RPC_C_MGMT_INQ_IF_IDS 0 +#define RPC_C_MGMT_INQ_PRINC_NAME 1 +#define RPC_C_MGMT_INQ_STATS 2 +#define RPC_C_MGMT_IS_SERVER_LISTEN 3 +#define RPC_C_MGMT_STOP_SERVER_LISTEN 4 +#define RPC_C_EP_ALL_ELTS 0 +#define RPC_C_EP_MATCH_BY_IF 1 +#define RPC_C_EP_MATCH_BY_OBJ 2 +#define RPC_C_EP_MATCH_BY_BOTH 3 +#define RPC_C_VERS_ALL 1 +#define RPC_C_VERS_COMPATIBLE 2 +#define RPC_C_VERS_EXACT 3 +#define RPC_C_VERS_MAJOR_ONLY 4 +#define RPC_C_VERS_UPTO 5 +#define DCE_C_ERROR_STRING_LEN 256 +#define RPC_C_PARM_MAX_PACKET_LENGTH 1 +#define RPC_C_PARM_BUFFER_LENGTH 2 +#define RPC_C_AUTHN_LEVEL_DEFAULT 0 +#define RPC_C_AUTHN_LEVEL_NONE 1 +#define RPC_C_AUTHN_LEVEL_CONNECT 2 +#define RPC_C_AUTHN_LEVEL_CALL 3 +#define RPC_C_AUTHN_LEVEL_PKT 4 +#define RPC_C_AUTHN_LEVEL_PKT_INTEGRITY 5 +#define RPC_C_AUTHN_LEVEL_PKT_PRIVACY 6 +#define RPC_C_IMP_LEVEL_ANONYMOUS 1 +#define RPC_C_IMP_LEVEL_IDENTIFY 2 +#define RPC_C_IMP_LEVEL_IMPERSONATE 3 +#define RPC_C_IMP_LEVEL_DELEGATE 4 +#define RPC_C_QOS_IDENTITY_STATIC 0 +#define RPC_C_QOS_IDENTITY_DYNAMIC 1 +#define RPC_C_QOS_CAPABILITIES_DEFAULT 0 +#define RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH 1 +#define RPC_C_PROTECT_LEVEL_DEFAULT(RPC_C_AUTHN_LEVEL_DEFAULT) +#define RPC_C_PROTECT_LEVEL_NONE(RPC_C_AUTHN_LEVEL_NONE) +#define RPC_C_PROTECT_LEVEL_CONNECT(RPC_C_AUTHN_LEVEL_CONNECT) +#define RPC_C_PROTECT_LEVEL_CALL(RPC_C_AUTHN_LEVEL_CALL) +#define RPC_C_PROTECT_LEVEL_PKT(RPC_C_AUTHN_LEVEL_PKT) +#define RPC_C_PROTECT_LEVEL_PKT_INTEGRITY(RPC_C_AUTHN_LEVEL_PKT_INTEGRITY) +#define RPC_C_PROTECT_LEVEL_PKT_PRIVACY(RPC_C_AUTHN_LEVEL_PKT_PRIVACY) +#define RPC_C_AUTHN_NONE 0 +#define RPC_C_AUTHN_DCE_PRIVATE 1 +#define RPC_C_AUTHN_DCE_PUBLIC 2 +#define RPC_C_AUTHN_DEC_PUBLIC 4 +#define RPC_C_AUTHN_WINNT 10 +#define RPC_C_AUTHN_DEFAULT 0xFFFFFFFF +#define RPC_C_SECURITY_QOS_VERSION L +#define SEC_WINNT_AUTH_IDENTITY_ANSI 0x1 +#define SEC_WINNT_AUTH_IDENTITY_UNICODE 0x2 +#define RPC_C_AUTHZ_NONE 0 +#define RPC_C_AUTHZ_NAME 1 +#define RPC_C_AUTHZ_DCE 2 + +typedef I_RPC_HANDLE RPC_BINDING_HANDLE; +typedef RPC_BINDING_HANDLE handle_t; +typedef struct _RPC_BINDING_VECTOR { + unsigned long Count; + RPC_BINDING_HANDLE BindingH[1]; +} RPC_BINDING_VECTOR; +typedef struct _UUID_VECTOR { + unsigned long Count; + UUID *Uuid[1]; +} UUID_VECTOR; +typedef void *RPC_IF_HANDLE; +typedef struct _RPC_IF_ID { + UUID Uuid; + unsigned short VersMajor; + unsigned short VersMinor; +} RPC_IF_ID; +typedef struct _RPC_POLICY { + unsigned int Length ; + unsigned long EndpointFlags ; + unsigned long NICFlags ; +} RPC_POLICY,*PRPC_POLICY ; +typedef void __RPC_USER RPC_OBJECT_INQ_FN(UUID*,UUID*,RPC_STATUS*); +typedef RPC_STATUS RPC_IF_CALLBACK_FN(RPC_IF_HANDLE,void*); +typedef struct { + unsigned int Count; + unsigned long Stats[1]; +} RPC_STATS_VECTOR; +typedef struct { + unsigned long Count; + RPC_IF_ID*IfId[1]; +} RPC_IF_ID_VECTOR; +typedef void *RPC_AUTH_IDENTITY_HANDLE; +typedef void *RPC_AUTHZ_HANDLE; +typedef struct _RPC_SECURITY_QOS { + unsigned long Version; + unsigned long Capabilities; + unsigned long IdentityTracking; + unsigned long ImpersonationType; +} RPC_SECURITY_QOS,*PRPC_SECURITY_QOS; +typedef struct _SEC_WINNT_AUTH_IDENTITY_W { + unsigned short *User; + unsigned long UserLength; + unsigned short *Domain; + unsigned long DomainLength; + unsigned short *Password; + unsigned long PasswordLength; + unsigned long Flags; +} SEC_WINNT_AUTH_IDENTITY_W,*PSEC_WINNT_AUTH_IDENTITY_W; +typedef struct _SEC_WINNT_AUTH_IDENTITY_A { + unsigned char *User; + unsigned long UserLength; + unsigned char *Domain; + unsigned long DomainLength; + unsigned char *Password; + unsigned long PasswordLength; + unsigned long Flags; +} SEC_WINNT_AUTH_IDENTITY_A,*PSEC_WINNT_AUTH_IDENTITY_A; +typedef struct { + unsigned char *UserName; + unsigned char *ComputerName; + unsigned short Privilege; + unsigned long AuthFlags; +} RPC_CLIENT_INFORMATION1,* PRPC_CLIENT_INFORMATION1; +typedef I_RPC_HANDLE *RPC_EP_INQ_HANDLE; +typedef int(__RPC_API *RPC_MGMT_AUTHORIZATION_FN)(RPC_BINDING_HANDLE,unsigned long,RPC_STATUS*); + +#ifdef RPC_UNICODE_SUPPORTED +typedef struct _RPC_PROTSEQ_VECTORA { + unsigned int Count; + unsigned char*Protseq[1]; +} RPC_PROTSEQ_VECTORA; +typedef struct _RPC_PROTSEQ_VECTORW { + unsigned int Count; + unsigned short*Protseq[1]; +} RPC_PROTSEQ_VECTORW; +RPC_STATUS RPC_ENTRY RpcBindingFromStringBindingA(unsigned char *,RPC_BINDING_HANDLE *); +RPC_STATUS RPC_ENTRY RpcBindingFromStringBindingW(unsigned short *,RPC_BINDING_HANDLE *); +RPC_STATUS RPC_ENTRY RpcBindingToStringBindingA(RPC_BINDING_HANDLE,unsigned char**); +RPC_STATUS RPC_ENTRY RpcBindingToStringBindingW(RPC_BINDING_HANDLE,unsigned short**); +RPC_STATUS RPC_ENTRY RpcStringBindingComposeA(unsigned char *,unsigned char *,unsigned char *,unsigned char *,unsigned char *,unsigned char **); +RPC_STATUS RPC_ENTRY RpcStringBindingComposeW(unsigned short *,unsigned short *,unsigned short *,unsigned short *,unsigned short *,unsigned short **); +RPC_STATUS RPC_ENTRY RpcStringBindingParseA(unsigned char *,unsigned char **,unsigned char **,unsigned char **,unsigned char **,unsigned char **); +RPC_STATUS RPC_ENTRY RpcStringBindingParseW(unsigned short *,unsigned short **,unsigned short **,unsigned short **,unsigned short **,unsigned short **); +RPC_STATUS RPC_ENTRY RpcStringFreeA(unsigned char**); +RPC_STATUS RPC_ENTRY RpcStringFreeW(unsigned short**); +RPC_STATUS RPC_ENTRY RpcNetworkIsProtseqValidA(unsigned char*); +RPC_STATUS RPC_ENTRY RpcNetworkIsProtseqValidW(unsigned short*); +RPC_STATUS RPC_ENTRY RpcNetworkInqProtseqsA(RPC_PROTSEQ_VECTORA**); +RPC_STATUS RPC_ENTRY RpcNetworkInqProtseqsW(RPC_PROTSEQ_VECTORW**); +RPC_STATUS RPC_ENTRY RpcProtseqVectorFreeA(RPC_PROTSEQ_VECTORA**); +RPC_STATUS RPC_ENTRY RpcProtseqVectorFreeW(RPC_PROTSEQ_VECTORW**); +RPC_STATUS RPC_ENTRY RpcServerUseProtseqA(unsigned char*,unsigned int,void*); +RPC_STATUS RPC_ENTRY RpcServerUseProtseqW(unsigned short*,unsigned int,void*); +RPC_STATUS RPC_ENTRY RpcServerUseProtseqExA(unsigned char*,unsigned int MaxCalls,void*,PRPC_POLICY); +RPC_STATUS RPC_ENTRY RpcServerUseProtseqExW(unsigned short*,unsigned int,void*,PRPC_POLICY); +RPC_STATUS RPC_ENTRY RpcServerUseProtseqEpA(unsigned char*,unsigned int,unsigned char*,void*); +RPC_STATUS RPC_ENTRY RpcServerUseProtseqEpExA(unsigned char*,unsigned int,unsigned char*,void*,PRPC_POLICY); +RPC_STATUS RPC_ENTRY RpcServerUseProtseqEpW(unsigned short*,unsigned int,unsigned short*,void*); +RPC_STATUS RPC_ENTRY RpcServerUseProtseqEpExW(unsigned short*,unsigned int,unsigned short*,void*,PRPC_POLICY); +RPC_STATUS RPC_ENTRY RpcServerUseProtseqIfA(unsigned char*,unsigned int,RPC_IF_HANDLE,void*); +RPC_STATUS RPC_ENTRY RpcServerUseProtseqIfExA(unsigned char*,unsigned int,RPC_IF_HANDLE,void*,PRPC_POLICY); +RPC_STATUS RPC_ENTRY RpcServerUseProtseqIfW(unsigned short*,unsigned int,RPC_IF_HANDLE,void*); +RPC_STATUS RPC_ENTRY RpcServerUseProtseqIfExW(unsigned short*,unsigned int,RPC_IF_HANDLE,void*,PRPC_POLICY); +RPC_STATUS RPC_ENTRY RpcMgmtInqServerPrincNameA(RPC_BINDING_HANDLE,unsigned long,unsigned char**); +RPC_STATUS RPC_ENTRY RpcMgmtInqServerPrincNameW(RPC_BINDING_HANDLE,unsigned long,unsigned short**); +RPC_STATUS RPC_ENTRY RpcServerInqDefaultPrincNameA(unsigned long,unsigned char**); +RPC_STATUS RPC_ENTRY RpcServerInqDefaultPrincNameW(unsigned long,unsigned short**); +RPC_STATUS RPC_ENTRY RpcNsBindingInqEntryNameA(RPC_BINDING_HANDLE,unsigned long,unsigned char**); +RPC_STATUS RPC_ENTRY RpcNsBindingInqEntryNameW(RPC_BINDING_HANDLE,unsigned long,unsigned short**); +RPC_STATUS RPC_ENTRY RpcBindingInqAuthClientA(RPC_BINDING_HANDLE,RPC_AUTHZ_HANDLE *,unsigned char**,unsigned long*,unsigned long*,unsigned long*); +RPC_STATUS RPC_ENTRY RpcBindingInqAuthClientW(RPC_BINDING_HANDLE,RPC_AUTHZ_HANDLE *,unsigned short**,unsigned long*,unsigned long*,unsigned long*); +RPC_STATUS RPC_ENTRY RpcBindingInqAuthInfoA(RPC_BINDING_HANDLE,unsigned char**,unsigned long*,unsigned long*,RPC_AUTH_IDENTITY_HANDLE*,unsigned long*); +RPC_STATUS RPC_ENTRY RpcBindingInqAuthInfoW(RPC_BINDING_HANDLE,unsigned short**,unsigned long*,unsigned long*,RPC_AUTH_IDENTITY_HANDLE*,unsigned long*); +RPC_STATUS RPC_ENTRY RpcBindingSetAuthInfoA(RPC_BINDING_HANDLE,unsigned char*,unsigned long,unsigned long,RPC_AUTH_IDENTITY_HANDLE,unsigned long); +RPC_STATUS RPC_ENTRY RpcBindingSetAuthInfoExA(RPC_BINDING_HANDLE,unsigned char*,unsigned long,unsigned long,RPC_AUTH_IDENTITY_HANDLE,unsigned long,RPC_SECURITY_QOS*); +RPC_STATUS RPC_ENTRY RpcBindingSetAuthInfoW(RPC_BINDING_HANDLE,unsigned short*,unsigned long,unsigned long,RPC_AUTH_IDENTITY_HANDLE,unsigned long); +RPC_STATUS RPC_ENTRY RpcBindingSetAuthInfoExW(RPC_BINDING_HANDLE,unsigned short*,unsigned long,unsigned long,RPC_AUTH_IDENTITY_HANDLE,unsigned long,RPC_SECURITY_QOS*); +RPC_STATUS RPC_ENTRY RpcBindingInqAuthInfoExA(RPC_BINDING_HANDLE,unsigned char**,unsigned long*,unsigned long*,RPC_AUTH_IDENTITY_HANDLE*,unsigned long*,unsigned long,RPC_SECURITY_QOS*); +RPC_STATUS RPC_ENTRY RpcBindingInqAuthInfoExW(RPC_BINDING_HANDLE,unsigned short ** , unsigned long *, unsigned long *, RPC_AUTH_IDENTITY_HANDLE *, unsigned long *, unsigned long , RPC_SECURITY_QOS *); +typedef void(__RPC_USER *RPC_AUTH_KEY_RETRIEVAL_FN)(void*,unsigned short*,unsigned long,void**,RPC_STATUS*); +RPC_STATUS RPC_ENTRY RpcServerRegisterAuthInfoA(unsigned char*,unsigned long,RPC_AUTH_KEY_RETRIEVAL_FN,void*); +RPC_STATUS RPC_ENTRY RpcServerRegisterAuthInfoW(unsigned short*,unsigned long,RPC_AUTH_KEY_RETRIEVAL_FN,void*); +RPC_STATUS RPC_ENTRY UuidToStringA(UUID*,unsigned char**); +RPC_STATUS RPC_ENTRY UuidFromStringA(unsigned char*,UUID*); +RPC_STATUS RPC_ENTRY UuidToStringW(UUID*,unsigned short**); +RPC_STATUS RPC_ENTRY UuidFromStringW(unsigned short*,UUID*); +RPC_STATUS RPC_ENTRY RpcEpRegisterNoReplaceA(RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*,unsigned char*); +RPC_STATUS RPC_ENTRY RpcEpRegisterNoReplaceW(RPC_IF_HANDLE,RPC_BINDING_VECTOR*, UUID_VECTOR*,unsigned short*); +RPC_STATUS RPC_ENTRY RpcEpRegisterA(RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*,unsigned char*); +RPC_STATUS RPC_ENTRY RpcEpRegisterW(RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*,unsigned short*); +RPC_STATUS RPC_ENTRY DceErrorInqTextA(RPC_STATUS,unsigned char*); +RPC_STATUS RPC_ENTRY DceErrorInqTextW(RPC_STATUS,unsigned short*); +RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqNextA(RPC_EP_INQ_HANDLE,RPC_IF_ID*,RPC_BINDING_HANDLE*,UUID*,unsigned char**); +RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqNextW(RPC_EP_INQ_HANDLE,RPC_IF_ID*,RPC_BINDING_HANDLE*,UUID*,unsigned short**); +#ifdef UNICODE +#define RPC_PROTSEQ_VECTOR RPC_PROTSEQ_VECTORW +#define SEC_WINNT_AUTH_IDENTITY SEC_WINNT_AUTH_IDENTITY_W +#define PSEC_WINNT_AUTH_IDENTITY PSEC_WINNT_AUTH_IDENTITY_W +#define _SEC_WINNT_AUTH_IDENTITY _SEC_WINNT_AUTH_IDENTITY_W +#define RpcMgmtEpEltInqNext RpcMgmtEpEltInqNextW +#define RpcBindingFromStringBinding RpcBindingFromStringBindingW +#define RpcBindingToStringBinding RpcBindingToStringBindingW +#define RpcStringBindingCompose RpcStringBindingComposeW +#define RpcStringBindingParse RpcStringBindingParseW +#define RpcStringFree RpcStringFreeW +#define RpcNetworkIsProtseqValid RpcNetworkIsProtseqValidW +#define RpcNetworkInqProtseqs RpcNetworkInqProtseqsW +#define RpcProtseqVectorFree RpcProtseqVectorFreeW +#define RpcServerUseProtseq RpcServerUseProtseqW +#define RpcServerUseProtseqEx RpcServerUseProtseqExW +#define RpcServerUseProtseqEp RpcServerUseProtseqEpW +#define RpcServerUseProtseqEpEx RpcServerUseProtseqEpExW +#define RpcServerUseProtseqIf RpcServerUseProtseqIfW +#define RpcServerUseProtseqIfEx RpcServerUseProtseqIfExW +#define RpcMgmtInqServerPrincName RpcMgmtInqServerPrincNameW +#define RpcServerInqDefaultPrincName RpcServerInqDefaultPrincNameW +#define RpcNsBindingInqEntryName RpcNsBindingInqEntryNameW +#define RpcBindingInqAuthClient RpcBindingInqAuthClientW +#define RpcBindingInqAuthInfo RpcBindingInqAuthInfoW +#define RpcBindingSetAuthInfo RpcBindingSetAuthInfoW +#define RpcServerRegisterAuthInfo RpcServerRegisterAuthInfoW +#define RpcBindingInqAuthInfoEx RpcBindingInqAuthInfoExW +#define RpcBindingSetAuthInfoEx RpcBindingSetAuthInfoExW +#define UuidFromString UuidFromStringW +#define UuidToString UuidToStringW +#define RpcEpRegisterNoReplace RpcEpRegisterNoReplaceW +#define RpcEpRegister RpcEpRegisterW +#define DceErrorInqText DceErrorInqTextW +#else /* UNICODE */ +#define RPC_PROTSEQ_VECTOR RPC_PROTSEQ_VECTORA +#define SEC_WINNT_AUTH_IDENTITY SEC_WINNT_AUTH_IDENTITY_A +#define PSEC_WINNT_AUTH_IDENTITY PSEC_WINNT_AUTH_IDENTITY_A +#define _SEC_WINNT_AUTH_IDENTITY _SEC_WINNT_AUTH_IDENTITY_A +#define RpcMgmtEpEltInqNext RpcMgmtEpEltInqNextA +#define RpcBindingFromStringBinding RpcBindingFromStringBindingA +#define RpcBindingToStringBinding RpcBindingToStringBindingA +#define RpcStringBindingCompose RpcStringBindingComposeA +#define RpcStringBindingParse RpcStringBindingParseA +#define RpcStringFree RpcStringFreeA +#define RpcNetworkIsProtseqValid RpcNetworkIsProtseqValidA +#define RpcNetworkInqProtseqs RpcNetworkInqProtseqsA +#define RpcProtseqVectorFree RpcProtseqVectorFreeA +#define RpcServerUseProtseq RpcServerUseProtseqA +#define RpcServerUseProtseqEx RpcServerUseProtseqExA +#define RpcServerUseProtseqEp RpcServerUseProtseqEpA +#define RpcServerUseProtseqEpEx RpcServerUseProtseqEpExA +#define RpcServerUseProtseqIf RpcServerUseProtseqIfA +#define RpcServerUseProtseqIfEx RpcServerUseProtseqIfExA +#define RpcMgmtInqServerPrincName RpcMgmtInqServerPrincNameA +#define RpcServerInqDefaultPrincName RpcServerInqDefaultPrincNameA +#define RpcNsBindingInqEntryName RpcNsBindingInqEntryNameA +#define RpcBindingInqAuthClient RpcBindingInqAuthClientA +#define RpcBindingInqAuthInfo RpcBindingInqAuthInfoA +#define RpcBindingSetAuthInfo RpcBindingSetAuthInfoA +#define RpcServerRegisterAuthInfo RpcServerRegisterAuthInfoA +#define RpcBindingInqAuthInfoEx RpcBindingInqAuthInfoExA +#define RpcBindingSetAuthInfoEx RpcBindingSetAuthInfoExA +#define UuidFromString UuidFromStringA +#define UuidToString UuidToStringA +#define RpcEpRegisterNoReplace RpcEpRegisterNoReplaceA +#define RpcEpRegister RpcEpRegisterA +#define DceErrorInqText DceErrorInqTextA +#endif /* UNICODE */ +#else /* RPC_UNICODE_SUPPORTED */ +typedef struct _RPC_PROTSEQ_VECTOR { + unsigned int Count; + unsigned char*Protseq[1]; +} RPC_PROTSEQ_VECTOR; +RPC_STATUS RPC_ENTRY RpcBindingFromStringBinding(unsigned char *,RPC_BINDING_HANDLE *); +RPC_STATUS RPC_ENTRY RpcBindingToStringBinding(RPC_BINDING_HANDLE,unsigned char **); +RPC_STATUS RPC_ENTRY RpcStringBindingCompose(unsigned char *,unsigned char *,unsigned char *,unsigned char *,unsigned char *,unsigned char **); +RPC_STATUS RPC_ENTRY RpcStringBindingParse(unsigned char *,unsigned char **,unsigned char **,unsigned char **,unsigned char **,unsigned char **); +RPC_STATUS RPC_ENTRY RpcStringFree(unsigned char**); +RPC_STATUS RPC_ENTRY RpcNetworkIsProtseqValid(unsigned char*); +RPC_STATUS RPC_ENTRY RpcNetworkInqProtseqs(RPC_PROTSEQ_VECTOR **); +RPC_STATUS RPC_ENTRY RpcServerInqBindings(RPC_BINDING_VECTOR **); +RPC_STATUS RPC_ENTRY RpcServerUseProtseq(unsigned char*,unsigned int,void*); +RPC_STATUS RPC_ENTRY RpcServerUseProtseqEx(unsigned char*,unsigned int,void*,PRPC_POLICY); +RPC_STATUS RPC_ENTRY RpcServerUseProtseqEp(unsigned char*,unsigned int,unsigned char*,void*); +RPC_STATUS RPC_ENTRY RpcServerUseProtseqEpEx(unsigned char*,unsigned int,unsigned char*,void*,PRPC_POLICY); +RPC_STATUS RPC_ENTRY RpcServerUseProtseqIf(unsigned char*,unsigned int,RPC_IF_HANDLE,void*); +RPC_STATUS RPC_ENTRY RpcServerUseProtseqIfEx(unsigned char*,unsigned int,RPC_IF_HANDLE,void*,PRPC_POLICY); +RPC_STATUS RPC_ENTRY RpcMgmtInqServerPrincName(RPC_BINDING_HANDLE,unsigned long,unsigned char**); +RPC_STATUS RPC_ENTRY RpcServerInqDefaultPrincName(unsigned long,unsigned char**); +RPC_STATUS RPC_ENTRY RpcNsBindingInqEntryName(RPC_BINDING_HANDLE,unsigned long,unsigned char**); +RPC_STATUS RPC_ENTRY RpcBindingInqAuthClient(RPC_BINDING_HANDLE,RPC_AUTHZ_HANDLE*,unsigned char**,unsigned long*,unsigned long*,unsigned long*); +RPC_STATUS RPC_ENTRY RpcBindingInqAuthInfo(RPC_BINDING_HANDLE,unsigned char **,unsigned long *,unsigned long *,RPC_AUTH_IDENTITY_HANDLE *,unsigned long *); +RPC_STATUS RPC_ENTRY RpcBindingSetAuthInfo(RPC_BINDING_HANDLE,unsigned char *,unsigned long,unsigned long,RPC_AUTH_IDENTITY_HANDLE,unsigned long); +typedef void(__RPC_USER *RPC_AUTH_KEY_RETRIEVAL_FN)(void*,unsigned char*,unsigned long,void**,RPC_STATUS*); +RPC_STATUS RPC_ENTRY RpcServerRegisterAuthInfo(unsigned char*,unsigned long,RPC_AUTH_KEY_RETRIEVAL_FN,void*); +RPC_STATUS RPC_ENTRY UuidToString(UUID*,unsigned char**); +RPC_STATUS RPC_ENTRY UuidFromString(unsigned char*,UUID*); +RPC_STATUS RPC_ENTRY RpcEpRegisterNoReplace(RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*,unsigned char*); +RPC_STATUS RPC_ENTRY RpcEpRegister(RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*,unsigned char*); +RPC_STATUS RPC_ENTRY DceErrorInqText(RPC_STATUS,unsigned char*); +RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqNext(RPC_EP_INQ_HANDLE,RPC_IF_ID *,RPC_BINDING_HANDLE *,unsigned char **); +#endif /* RPC_UNICODE_SUPPORTED */ + +RPC_STATUS RPC_ENTRY RpcBindingCopy(RPC_BINDING_HANDLE,RPC_BINDING_HANDLE*); +RPC_STATUS RPC_ENTRY RpcBindingFree(RPC_BINDING_HANDLE*); +RPC_STATUS RPC_ENTRY RpcBindingInqObject(RPC_BINDING_HANDLE,UUID *); +RPC_STATUS RPC_ENTRY RpcBindingReset(RPC_BINDING_HANDLE); +RPC_STATUS RPC_ENTRY RpcBindingSetObject(RPC_BINDING_HANDLE,UUID *); +RPC_STATUS RPC_ENTRY RpcMgmtInqDefaultProtectLevel(unsigned long,unsigned long *); +RPC_STATUS RPC_ENTRY RpcBindingVectorFree(RPC_BINDING_VECTOR **); +RPC_STATUS RPC_ENTRY RpcIfInqId(RPC_IF_HANDLE,RPC_IF_ID *); +RPC_STATUS RPC_ENTRY RpcMgmtInqComTimeout(RPC_BINDING_HANDLE,unsigned int*); +RPC_STATUS RPC_ENTRY RpcMgmtSetComTimeout(RPC_BINDING_HANDLE,unsigned int); +RPC_STATUS RPC_ENTRY RpcMgmtSetCancelTimeout(long Timeout); +RPC_STATUS RPC_ENTRY RpcObjectInqType(UUID *,UUID *); +RPC_STATUS RPC_ENTRY RpcObjectSetInqFn(RPC_OBJECT_INQ_FN *); +RPC_STATUS RPC_ENTRY RpcObjectSetType(UUID *,UUID *); +RPC_STATUS RPC_ENTRY RpcProtseqVectorFree(RPC_PROTSEQ_VECTOR **); +RPC_STATUS RPC_ENTRY RpcServerInqIf(RPC_IF_HANDLE,UUID*,RPC_MGR_EPV**); +RPC_STATUS RPC_ENTRY RpcServerListen(unsigned int,unsigned int,unsigned int); +RPC_STATUS RPC_ENTRY RpcServerRegisterIf(RPC_IF_HANDLE,UUID*,RPC_MGR_EPV*); +RPC_STATUS RPC_ENTRY RpcServerRegisterIfEx(RPC_IF_HANDLE,UUID*,RPC_MGR_EPV*,unsigned int,unsigned int,RPC_IF_CALLBACK_FN*); +RPC_STATUS RPC_ENTRY RpcServerUnregisterIf(RPC_IF_HANDLE,UUID*,unsigned int); +RPC_STATUS RPC_ENTRY RpcServerUseAllProtseqs(unsigned int,void*); +RPC_STATUS RPC_ENTRY RpcServerUseAllProtseqsEx(unsigned int,void*,PRPC_POLICY); +RPC_STATUS RPC_ENTRY RpcServerUseAllProtseqsIf(unsigned int,RPC_IF_HANDLE,void*); +RPC_STATUS RPC_ENTRY RpcServerUseAllProtseqsIfEx(unsigned int,RPC_IF_HANDLE,void*,PRPC_POLICY); +RPC_STATUS RPC_ENTRY RpcMgmtStatsVectorFree(RPC_STATS_VECTOR**); +RPC_STATUS RPC_ENTRY RpcMgmtInqStats(RPC_BINDING_HANDLE,RPC_STATS_VECTOR**); +RPC_STATUS RPC_ENTRY RpcMgmtIsServerListening(RPC_BINDING_HANDLE); +RPC_STATUS RPC_ENTRY RpcMgmtStopServerListening(RPC_BINDING_HANDLE); +RPC_STATUS RPC_ENTRY RpcMgmtWaitServerListen(void); +RPC_STATUS RPC_ENTRY RpcMgmtSetServerStackSize(unsigned long); +void RPC_ENTRY RpcSsDontSerializeContext(void); +RPC_STATUS RPC_ENTRY RpcMgmtEnableIdleCleanup(void); +RPC_STATUS RPC_ENTRY RpcMgmtInqIfIds(RPC_BINDING_HANDLE,RPC_IF_ID_VECTOR**); +RPC_STATUS RPC_ENTRY RpcIfIdVectorFree(RPC_IF_ID_VECTOR**); +RPC_STATUS RPC_ENTRY RpcEpResolveBinding(RPC_BINDING_HANDLE,RPC_IF_HANDLE); +RPC_STATUS RPC_ENTRY RpcBindingServerFromClient(RPC_BINDING_HANDLE,RPC_BINDING_HANDLE*); +void RPC_ENTRY RpcRaiseException(RPC_STATUS); +RPC_STATUS RPC_ENTRY RpcTestCancel(); +RPC_STATUS RPC_ENTRY RpcCancelThread(void*); +RPC_STATUS RPC_ENTRY UuidCreate(UUID*); +signed int RPC_ENTRY UuidCompare(UUID*,UUID*, RPC_STATUS*); +RPC_STATUS RPC_ENTRY UuidCreateNil(UUID*); +int RPC_ENTRY UuidEqual(UUID*,UUID*, RPC_STATUS*); +unsigned short RPC_ENTRY UuidHash(UUID*,RPC_STATUS*); +int RPC_ENTRY UuidIsNil(UUID*,RPC_STATUS*); +RPC_STATUS RPC_ENTRY RpcEpUnregister(RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*); +RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqBegin(RPC_BINDING_HANDLE,unsigned long,RPC_IF_ID*,unsigned long,UUID*,RPC_EP_INQ_HANDLE*); +RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqDone(RPC_EP_INQ_HANDLE*); +RPC_STATUS RPC_ENTRY RpcMgmtEpUnregister(RPC_BINDING_HANDLE,RPC_IF_ID*,RPC_BINDING_HANDLE,UUID*); +RPC_STATUS RPC_ENTRY RpcMgmtSetAuthorizationFn(RPC_MGMT_AUTHORIZATION_FN); +RPC_STATUS RPC_ENTRY RpcMgmtInqParameter(unsigned int,unsigned long*); +RPC_STATUS RPC_ENTRY RpcMgmtSetParameter(unsigned int,unsigned long); +RPC_STATUS RPC_ENTRY RpcMgmtBindingInqParameter(RPC_BINDING_HANDLE,unsigned int,unsigned long*); +RPC_STATUS RPC_ENTRY RpcMgmtBindingSetParameter(RPC_BINDING_HANDLE,unsigned int,unsigned long); +#include <rpcdcep.h> +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/rpcdce2.h b/winsup/w32api/include/rpcdce2.h new file mode 100644 index 000000000..ec0f62e35 --- /dev/null +++ b/winsup/w32api/include/rpcdce2.h @@ -0,0 +1,52 @@ +#ifndef _RPCDCE2_H +#define _RPCDCE2_H +#ifdef __cplusplus +extern "C" { +#endif +#include <rpcdce.h> + +#define RPC_C_EP_ALL_ELTS 0 +#define RPC_C_EP_MATCH_BY_IF 1 +#define RPC_C_EP_MATCH_BY_OBJ 2 +#define RPC_C_EP_MATCH_BY_BOTH 3 +#define RPC_C_VERS_ALL 1 +#define RPC_C_VERS_COMPATIBLE 2 +#define RPC_C_VERS_EXACT 3 +#define RPC_C_VERS_MAJOR_ONLY 4 +#define RPC_C_VERS_UPTO 5 +#define DCE_C_ERROR_STRING_LEN 256 +#define RPC_C_MGMT_INQ_IF_IDS 0 +#define RPC_C_MGMT_INQ_PRINC_NAME 1 +#define RPC_C_MGMT_INQ_STATS 2 +#define RPC_C_MGMT_IS_SERVER_LISTEN 3 +#define RPC_C_MGMT_STOP_SERVER_LISTEN 4 + +int RPC_ENTRY UuidCompare(UUID*,UUID*,RPC_STATUS*); +RPC_STATUS RPC_ENTRY UuidCreateNil(UUID*); +int RPC_ENTRY UuidEqual(UUID*,UUID*,RPC_STATUS*); +unsigned short RPC_ENTRY UuidHash(UUID*,RPC_STATUS*); +int RPC_ENTRY UuidIsNil(UUID*,RPC_STATUS*); +#ifdef RPC_UNICODE_SUPPORTED +RPC_STATUS RPC_ENTRY DceErrorInqTextA(RPC_STATUS,unsigned char*); +RPC_STATUS RPC_ENTRY DceErrorInqTextW(RPC_STATUS,unsigned short*); +RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqNextA(RPC_EP_INQ_HANDLE,RPC_IF_ID*,RPC_BINDING_HANDLE*,UUID*,unsigned char**); +RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqNextW(RPC_EP_INQ_HANDLE,RPC_IF_ID*,RPC_BINDING_HANDLE*,UUID*,unsigned short**); +#ifdef UNICODE +#define RpcMgmtEpEltInqNext RpcMgmtEpEltInqNextW +#define DceErrorInqText DceErrorInqTextW +#else +#define RpcMgmtEpEltInqNext RpcMgmtEpEltInqNextA +#define DceErrorInqText DceErrorInqTextA +#endif /* UNICODE */ +#else /* RPC_UNICODE_SUPPORTED */ +RPC_STATUS RPC_ENTRY DceErrorInqText(RPC_STATUS,unsigned char*); +RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqNext(RPC_EP_INQ_HANDLE,RPC_IF_ID*,RPC_BINDING_HANDLE*,UUID*,unsigned char**); +#endif +RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqBegin(RPC_BINDING_HANDLE,unsigned long,RPC_IF_ID*,unsigned long,UUID*,RPC_EP_INQ_HANDLE*); +RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqDone(RPC_EP_INQ_HANDLE*); +RPC_STATUS RPC_ENTRY RpcMgmtEpUnregister(RPC_BINDING_HANDLE,RPC_IF_ID*,RPC_BINDING_HANDLE,UUID*); +RPC_STATUS RPC_ENTRY RpcMgmtSetAuthorizationFn(RPC_MGMT_AUTHORIZATION_FN); +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/rpcdcep.h b/winsup/w32api/include/rpcdcep.h new file mode 100644 index 000000000..82d731ebd --- /dev/null +++ b/winsup/w32api/include/rpcdcep.h @@ -0,0 +1,124 @@ +#ifndef _RPCDCEP_H +#define _RPCDCEP_H +#ifdef __cplusplus +extern "C" { +#endif +#define RPC_NCA_FLAGS_DEFAULT 0 +#define RPC_NCA_FLAGS_IDEMPOTENT 1 +#define RPC_NCA_FLAGS_BROADCAST 2 +#define RPC_NCA_FLAGS_MAYBE 4 +#define RPCFLG_ASYNCHRONOUS 0x40000000 +#define RPCFLG_INPUT_SYNCHRONOUS 0x20000000 +#define RPC_FLAGS_VALID_BIT 0x8000 +#define TRANSPORT_TYPE_CN 1 +#define TRANSPORT_TYPE_DG 2 +#define TRANSPORT_TYPE_LPC 4 +#define TRANSPORT_TYPE_WMSG 8 + +typedef struct _RPC_VERSION { + unsigned short MajorVersion; + unsigned short MinorVersion; +} RPC_VERSION; +typedef struct _RPC_SYNTAX_IDENTIFIER { + GUID SyntaxGUID; + RPC_VERSION SyntaxVersion; +} RPC_SYNTAX_IDENTIFIER, *PRPC_SYNTAX_IDENTIFIER; +typedef struct _RPC_MESSAGE { + HANDLE Handle; + unsigned long DataRepresentation; + void *Buffer; + unsigned int BufferLength; + unsigned int ProcNum; + PRPC_SYNTAX_IDENTIFIER TransferSyntax; + void *RpcInterfaceInformation; + void *ReservedForRuntime; + void *ManagerEpv; + void *ImportContext; + unsigned long RpcFlags; +} RPC_MESSAGE,*PRPC_MESSAGE; +typedef long __stdcall RPC_FORWARD_FUNCTION(GUID*,RPC_VERSION*,GUID*,unsigned char*,void**); +typedef void(__stdcall *RPC_DISPATCH_FUNCTION) ( PRPC_MESSAGE Message); +typedef struct { + unsigned int DispatchTableCount; + RPC_DISPATCH_FUNCTION *DispatchTable; + int Reserved; +} RPC_DISPATCH_TABLE,*PRPC_DISPATCH_TABLE; +typedef struct _RPC_PROTSEQ_ENDPOINT { + unsigned char *RpcProtocolSequence; + unsigned char *Endpoint; +} RPC_PROTSEQ_ENDPOINT,*PRPC_PROTSEQ_ENDPOINT; +typedef struct _RPC_SERVER_INTERFACE { + unsigned int Length; + RPC_SYNTAX_IDENTIFIER InterfaceId; + RPC_SYNTAX_IDENTIFIER TransferSyntax; + PRPC_DISPATCH_TABLE DispatchTable; + unsigned int RpcProtseqEndpointCount; + PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint; + void *DefaultManagerEpv; + void const *InterpreterInfo; +} RPC_SERVER_INTERFACE,*PRPC_SERVER_INTERFACE; +typedef struct _RPC_CLIENT_INTERFACE { + unsigned int Length; + RPC_SYNTAX_IDENTIFIER InterfaceId; + RPC_SYNTAX_IDENTIFIER TransferSyntax; + PRPC_DISPATCH_TABLE DispatchTable; + unsigned int RpcProtseqEndpointCount; + PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint; + unsigned long Reserved; + void const *InterpreterInfo; +} RPC_CLIENT_INTERFACE,*PRPC_CLIENT_INTERFACE; +typedef void *I_RPC_MUTEX; +typedef struct _RPC_TRANSFER_SYNTAX { + GUID Uuid; + unsigned short VersMajor; + unsigned short VersMinor; +} RPC_TRANSFER_SYNTAX; +typedef long(__stdcall *RPC_BLOCKING_FUNCTION)(void*,void*); + +long __stdcall I_RpcGetBuffer(RPC_MESSAGE*); +long __stdcall I_RpcSendReceive(RPC_MESSAGE*); +long __stdcall I_RpcFreeBuffer(RPC_MESSAGE*); +void __stdcall I_RpcRequestMutex(I_RPC_MUTEX*); +void __stdcall I_RpcClearMutex(I_RPC_MUTEX); +void __stdcall I_RpcDeleteMutex(I_RPC_MUTEX); +void* __stdcall I_RpcAllocate(unsigned int); +void __stdcall I_RpcFree(void*); +void __stdcall I_RpcPauseExecution(unsigned long); +typedef void(__stdcall *PRPC_RUNDOWN) (void*); +long __stdcall I_RpcMonitorAssociation(HANDLE,PRPC_RUNDOWN,void*); +long __stdcall I_RpcStopMonitorAssociation(HANDLE); +HANDLE __stdcall I_RpcGetCurrentCallHandle(void); +long __stdcall I_RpcGetAssociationContext(void**); +long __stdcall I_RpcSetAssociationContext(void*); +#ifdef __RPC_NT__ +long __stdcall I_RpcNsBindingSetEntryName(HANDLE,unsigned long,unsigned short*); +long __stdcall I_RpcBindingInqDynamicEndpoint(HANDLE, unsigned short**); +#else +long __stdcall I_RpcNsBindingSetEntryName(HANDLE,unsigned long,unsigned char*); +long __stdcall I_RpcBindingInqDynamicEndpoint(HANDLE,unsigned char**); +#endif +long __stdcall I_RpcBindingInqTransportType(HANDLE,unsigned int*); +long __stdcall I_RpcIfInqTransferSyntaxes(HANDLE,RPC_TRANSFER_SYNTAX*,unsigned int,unsigned int*); +long __stdcall I_UuidCreate(GUID*); +long __stdcall I_RpcBindingCopy(HANDLE,HANDLE*); +long __stdcall I_RpcBindingIsClientLocal(HANDLE,unsigned int*); +void __stdcall I_RpcSsDontSerializeContext(void); +long __stdcall I_RpcServerRegisterForwardFunction(RPC_FORWARD_FUNCTION*); +long __stdcall I_RpcConnectionInqSockBuffSize(unsigned long*,unsigned long*); +long __stdcall I_RpcConnectionSetSockBuffSize(unsigned long,unsigned long); +long __stdcall I_RpcBindingSetAsync(HANDLE,RPC_BLOCKING_FUNCTION); +long __stdcall I_RpcAsyncSendReceive(RPC_MESSAGE*,void*); +long __stdcall I_RpcGetThreadWindowHandle(void**); +long __stdcall I_RpcServerThreadPauseListening(); +long __stdcall I_RpcServerThreadContinueListening(); +long __stdcall I_RpcServerUnregisterEndpointA(unsigned char*,unsigned char*); +long __stdcall I_RpcServerUnregisterEndpointW(unsigned short*,unsigned short*); +#ifdef UNICODE +#define I_RpcServerUnregisterEndpoint I_RpcServerUnregisterEndpointW +#else +#define I_RpcServerUnregisterEndpoint I_RpcServerUnregisterEndpointA +#endif +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/rpcndr.h b/winsup/w32api/include/rpcndr.h new file mode 100644 index 000000000..8b6c37b45 --- /dev/null +++ b/winsup/w32api/include/rpcndr.h @@ -0,0 +1,466 @@ +#ifndef __RPCNDR_H__ +#define __RPCNDR_H__ +#include <rpcnsip.h> +#ifdef __cplusplus +extern "C" { +#endif +#include <objfwd.h> +#define DECLSPEC_UUID(x) +#define MIDL_INTERFACE(x) struct +#define NDR_CHAR_REP_MASK (unsigned long)0xFL +#define NDR_INT_REP_MASK (unsigned long)0xF0L +#define NDR_FLOAT_REP_MASK (unsigned long)0xFF00L +#define NDR_LITTLE_ENDIAN (unsigned long)0x10L +#define NDR_BIG_ENDIAN (unsigned long)0 +#define NDR_IEEE_FLOAT (unsigned long)0 +#define NDR_VAX_FLOAT (unsigned long)0x100L +#define NDR_ASCII_CHAR (unsigned long)0 +#define NDR_EBCDIC_CHAR (unsigned long)1 +#define NDR_LOCAL_DATA_REPRESENTATION (unsigned long)0x10L +#define NDR_LOCAL_ENDIAN NDR_LITTLE_ENDIAN +#define __RPC_CALLEE __stdcall +#ifndef __MIDL_USER_DEFINED +#define midl_user_allocate MIDL_user_allocate +#define midl_user_free MIDL_user_free +#define __MIDL_USER_DEFINED +#endif +#define RPC_VAR_ENTRY __cdecl +#ifdef _M_IX86 +#define __MIDL_DECLSPEC_DLLIMPORT __declspec(dllimport) +#define __MIDL_DECLSPEC_DLLEXPORT __declspec(dllexport) +#else +#define __MIDL_DECLSPEC_DLLIMPORT +#define __MIDL_DECLSPEC_DLLEXPORT +#endif +#if defined(HAVE_INT64) || (defined(_INTEGRAL_MAX_BITS) && _INTEGRAL_MAX_BITS >= 64) +#define hyper __int64 +#define MIDL_uhyper unsigned __int64 +#else +#define hyper double +#define MIDL_uhyper double +#endif +#define small char +typedef unsigned char byte; +#define NDRSContextValue(hContext) (&(hContext)->userContext) +#define cbNDRContext 20 +#define byte_from_ndr(source, target) { *(target) = *(*(char**)&(source)->Buffer)++; } +#define byte_array_from_ndr(Source, LowerIndex, UpperIndex, Target) { NDRcopy ((((char *)(Target))+(LowerIndex)), (Source)->Buffer, (unsigned int)((UpperIndex)-(LowerIndex))); *(unsigned long *)&(Source)->Buffer += ((UpperIndex)-(LowerIndex)); } +#define boolean_from_ndr(source, target) { *(target) = *(*(char**)&(source)->Buffer)++; } +#define boolean_array_from_ndr(Source, LowerIndex, UpperIndex, Target) { NDRcopy ((((char *)(Target))+(LowerIndex)), (Source)->Buffer, (unsigned int)((UpperIndex)-(LowerIndex))); *(unsigned long *)&(Source)->Buffer += ((UpperIndex)-(LowerIndex)); } +#define small_from_ndr(source, target) { *(target) = *(*(char**)&(source)->Buffer)++; } +#define small_from_ndr_temp(source, target, format) { *(target) = *(*(char**)(source))++; } +#define small_array_from_ndr(Source, LowerIndex, UpperIndex, Target) { NDRcopy ((((char *)(Target))+(LowerIndex)), (Source)->Buffer, (unsigned int)((UpperIndex)-(LowerIndex))); *(unsigned long *)&(Source)->Buffer += ((UpperIndex)-(LowerIndex)); } +#define MIDL_ascii_strlen(string) strlen(string) +#define MIDL_ascii_strcpy(target,source) strcpy(target,source) +#define MIDL_memset(s,c,n) memset(s,c,n) +#define _midl_ma1( p, cast ) *(*( cast **)&p)++ +#define _midl_ma2( p, cast ) *(*( cast **)&p)++ +#define _midl_ma4( p, cast ) *(*( cast **)&p)++ +#define _midl_ma8( p, cast ) *(*( cast **)&p)++ +#define _midl_unma1( p, cast ) *(( cast *)p)++ +#define _midl_unma2( p, cast ) *(( cast *)p)++ +#define _midl_unma3( p, cast ) *(( cast *)p)++ +#define _midl_unma4( p, cast ) *(( cast *)p)++ +#define _midl_fa2( p ) (p = (RPC_BUFPTR )((unsigned long)(p+1) & 0xfffffffe)) +#define _midl_fa4( p ) (p = (RPC_BUFPTR )((unsigned long)(p+3) & 0xfffffffc)) +#define _midl_fa8( p ) (p = (RPC_BUFPTR )((unsigned long)(p+7) & 0xfffffff8)) +#define _midl_addp( p, n ) (p += n) +#define _midl_marsh_lhs( p, cast ) *(*( cast **)&p)++ +#define _midl_marsh_up( mp, p ) *(*(unsigned long **)&mp)++ = (unsigned long)p +#define _midl_advmp( mp ) *(*(unsigned long **)&mp)++ +#define _midl_unmarsh_up( p ) (*(*(unsigned long **)&p)++) +#define NdrMarshConfStringHdr( p, s, l ) (_midl_ma4( p, unsigned long) = s, _midl_ma4( p, unsigned long) = 0, _midl_ma4( p, unsigned long) = l) +#define NdrUnMarshConfStringHdr(p, s, l) ((s=_midl_unma4(p,unsigned long), (_midl_addp(p,4)), (l=_midl_unma4(p,unsigned long)) +#define NdrMarshCCtxtHdl(pc,p) (NDRCContextMarshall( (NDR_CCONTEXT)pc, p ),p+20) +#define NdrUnMarshCCtxtHdl(pc,p,h,drep) (NDRCContextUnmarshall((NDR_CONTEXT)pc,h,p,drep), p+20) +#define NdrUnMarshSCtxtHdl(pc, p,drep) (pc = NdrSContextUnMarshall(p,drep )) +#define NdrMarshSCtxtHdl(pc,p,rd) (NdrSContextMarshall((NDR_SCONTEXT)pc,p, (NDR_RUNDOWN)rd) +#define NdrFieldOffset(s,f) (long)(& (((s *)0)->f)) +#define NdrFieldPad(s,f,p,t) (NdrFieldOffset(s,f) - NdrFieldOffset(s,p) - sizeof(t)) +#define NdrFcShort(s) (unsigned char)(s & 0xff), (unsigned char)(s >> 8) +#define NdrFcLong(s) (unsigned char)(s & 0xff), (unsigned char)((s & 0x0000ff00) >> 8), (unsigned char)((s & 0x00ff0000) >> 16), (unsigned char)(s >> 24) +#ifdef CONST_VTABLE +#define CONST_VTBL const +#else +#define CONST_VTBL +#endif +typedef void *NDR_CCONTEXT; +typedef struct { + void *pad[2]; + void *userContext; +} *NDR_SCONTEXT; +typedef void (__RPC_USER *NDR_RUNDOWN)(void*); +typedef struct _SCONTEXT_QUEUE { + unsigned long NumberOfObjects; + NDR_SCONTEXT *ArrayOfObjects; +} SCONTEXT_QUEUE,*PSCONTEXT_QUEUE; +struct _MIDL_STUB_MESSAGE; +struct _MIDL_STUB_DESC; +struct _FULL_PTR_XLAT_TABLES; +typedef unsigned char *RPC_BUFPTR; +typedef unsigned long RPC_LENGTH; +typedef void(__RPC_USER *EXPR_EVAL)(struct _MIDL_STUB_MESSAGE*); +typedef const unsigned char *PFORMAT_STRING; +typedef struct { + long Dimension; + unsigned long *BufferConformanceMark; + unsigned long *BufferVarianceMark; + unsigned long *MaxCountArray; + unsigned long *OffsetArray; + unsigned long *ActualCountArray; +} ARRAY_INFO,*PARRAY_INFO; + +RPC_BINDING_HANDLE RPC_ENTRY NDRCContextBinding(NDR_CCONTEXT); +void RPC_ENTRY NDRCContextMarshall(NDR_CCONTEXT,void*); +void RPC_ENTRY NDRCContextUnmarshall(NDR_CCONTEXT*,RPC_BINDING_HANDLE,void*,unsigned long); +void RPC_ENTRY NDRSContextMarshall(NDR_SCONTEXT,void*,NDR_RUNDOWN); +NDR_SCONTEXT RPC_ENTRY NDRSContextUnmarshall(void*pBuff,unsigned long); +void RPC_ENTRY RpcSsDestroyClientContext(void**); +void RPC_ENTRY NDRcopy(void*,void*,unsigned int); +unsigned int RPC_ENTRY MIDL_wchar_strlen(wchar_t*); +void RPC_ENTRY MIDL_wchar_strcpy(void*,wchar_t*); +void RPC_ENTRY char_from_ndr(PRPC_MESSAGE,unsigned char*); +void RPC_ENTRY char_array_from_ndr(PRPC_MESSAGE,unsigned long,unsigned long,unsigned char*); +void RPC_ENTRY short_from_ndr(PRPC_MESSAGE,unsigned short*); +void RPC_ENTRY short_array_from_ndr(PRPC_MESSAGE,unsigned long,unsigned long,unsigned short*); +void RPC_ENTRY short_from_ndr_temp(unsigned char**,unsigned short*,unsigned long); +void RPC_ENTRY long_from_ndr(PRPC_MESSAGE,unsigned long*); +void RPC_ENTRY long_array_from_ndr(PRPC_MESSAGE,unsigned long,unsigned long,unsigned long*); +void RPC_ENTRY long_from_ndr_temp(unsigned char**,unsigned long*,unsigned long); +void RPC_ENTRY enum_from_ndr(PRPC_MESSAGE,unsigned int*); +void RPC_ENTRY float_from_ndr(PRPC_MESSAGE,void*); +void RPC_ENTRY float_array_from_ndr(PRPC_MESSAGE,unsigned long,unsigned long,void*); +void RPC_ENTRY double_from_ndr(PRPC_MESSAGE,void*); +void RPC_ENTRY double_array_from_ndr(PRPC_MESSAGE,unsigned long,unsigned long,void*); +void RPC_ENTRY hyper_from_ndr(PRPC_MESSAGE,hyper*); +void RPC_ENTRY hyper_array_from_ndr(PRPC_MESSAGE,unsigned long,unsigned long,hyper*); +void RPC_ENTRY hyper_from_ndr_temp(unsigned char**,hyper*,unsigned long); +void RPC_ENTRY data_from_ndr(PRPC_MESSAGE,void*,char*,unsigned char); +void RPC_ENTRY data_into_ndr(void*,PRPC_MESSAGE,char*,unsigned char); +void RPC_ENTRY tree_into_ndr(void*,PRPC_MESSAGE,char*,unsigned char); +void RPC_ENTRY data_size_ndr(void*,PRPC_MESSAGE,char*,unsigned char); +void RPC_ENTRY tree_size_ndr(void*,PRPC_MESSAGE,char*,unsigned char); +void RPC_ENTRY tree_peek_ndr(PRPC_MESSAGE,unsigned char**,char*,unsigned char); +void *RPC_ENTRY midl_allocate(int); + +#pragma pack(push,4) +typedef struct _MIDL_STUB_MESSAGE { + PRPC_MESSAGE RpcMsg; + unsigned char *Buffer; + unsigned char *BufferStart; + unsigned char *BufferEnd; + unsigned char *BufferMark; + unsigned long BufferLength; + unsigned long MemorySize; + unsigned char *Memory; + int IsClient; + int ReuseBuffer; + unsigned char *AllocAllNodesMemory; + unsigned char *AllocAllNodesMemoryEnd; + int IgnoreEmbeddedPointers; + unsigned char *PointerBufferMark; + unsigned char fBufferValid; + unsigned char Unused; + unsigned long MaxCount; + unsigned long Offset; + unsigned long ActualCount; + void*(__RPC_API *pfnAllocate)(unsigned int); + void(__RPC_API *pfnFree)(void*); + unsigned char *StackTop; + unsigned char *pPresentedType; + unsigned char *pTransmitType; + handle_t SavedHandle; + const struct _MIDL_STUB_DESC *StubDesc; + struct _FULL_PTR_XLAT_TABLES *FullPtrXlatTables; + unsigned long FullPtrRefId; + int fCheckBounds; + int fInDontFree :1; + int fDontCallFreeInst :1; + int fInOnlyParam :1; + int fHasReturn :1; + unsigned long dwDestContext; + void*pvDestContext; + NDR_SCONTEXT *SavedContextHandles; + long ParamNumber; + struct IRpcChannelBuffer *pRpcChannelBuffer; + PARRAY_INFO pArrayInfo; + unsigned long *SizePtrCountArray; + unsigned long *SizePtrOffsetArray; + unsigned long *SizePtrLengthArray; + void*pArgQueue; + unsigned long dwStubPhase; + unsigned long Reserved[5]; +} MIDL_STUB_MESSAGE,*PMIDL_STUB_MESSAGE; +#pragma pack(pop) +typedef void*(__RPC_API *GENERIC_BINDING_ROUTINE)(void*); +typedef void (__RPC_API *GENERIC_UNBIND_ROUTINE)(void*,unsigned char*); +typedef struct _GENERIC_BINDING_ROUTINE_PAIR { + GENERIC_BINDING_ROUTINE pfnBind; + GENERIC_UNBIND_ROUTINE pfnUnbind; +} GENERIC_BINDING_ROUTINE_PAIR,*PGENERIC_BINDING_ROUTINE_PAIR; +typedef struct __GENERIC_BINDING_INFO { + void *pObj; + unsigned int Size; + GENERIC_BINDING_ROUTINE pfnBind; + GENERIC_UNBIND_ROUTINE pfnUnbind; +} GENERIC_BINDING_INFO,*PGENERIC_BINDING_INFO; +typedef void(__RPC_USER *XMIT_HELPER_ROUTINE)(PMIDL_STUB_MESSAGE); +typedef struct _XMIT_ROUTINE_QUINTUPLE { + XMIT_HELPER_ROUTINE pfnTranslateToXmit; + XMIT_HELPER_ROUTINE pfnTranslateFromXmit; + XMIT_HELPER_ROUTINE pfnFreeXmit; + XMIT_HELPER_ROUTINE pfnFreeInst; +} XMIT_ROUTINE_QUINTUPLE,*PXMIT_ROUTINE_QUINTUPLE; +typedef struct _MALLOC_FREE_STRUCT { +void*(__RPC_USER *pfnAllocate)(unsigned int); +void(__RPC_USER *pfnFree)(void*); +} MALLOC_FREE_STRUCT; +typedef struct _COMM_FAULT_OFFSETS { + short CommOffset; + short FaultOffset; +} COMM_FAULT_OFFSETS; +typedef struct _MIDL_STUB_DESC { + void*RpcInterfaceInformation; + void*(__RPC_API *pfnAllocate)(unsigned int); + void(__RPC_API *pfnFree)(void*); + union { + handle_t *pAutoHandle; + handle_t *pPrimitiveHandle; + PGENERIC_BINDING_INFO pGenericBindingInfo; + } IMPLICIT_HANDLE_INFO; + const NDR_RUNDOWN *apfnNdrRundownRoutines; + const GENERIC_BINDING_ROUTINE_PAIR *aGenericBindingRoutinePairs; + const EXPR_EVAL *apfnExprEval; + const XMIT_ROUTINE_QUINTUPLE *aXmitQuintuple; + const unsigned char *pFormatTypes; + int fCheckBounds; + unsigned long Version; + MALLOC_FREE_STRUCT *pMallocFreeStruct; + long MIDLVersion; + const COMM_FAULT_OFFSETS *CommFaultOffsets; +} MIDL_STUB_DESC; +typedef const MIDL_STUB_DESC *PMIDL_STUB_DESC; +typedef void*PMIDL_XMIT_TYPE; +typedef struct _MIDL_FORMAT_STRING { + short Pad; + unsigned char Format[1]; +} MIDL_FORMAT_STRING; +typedef void(__RPC_API *STUB_THUNK)(PMIDL_STUB_MESSAGE); +typedef long(__RPC_API *SERVER_ROUTINE)(); +typedef struct _MIDL_SERVER_INFO_ { + PMIDL_STUB_DESC pStubDesc; + const SERVER_ROUTINE *DispatchTable; + PFORMAT_STRING ProcString; + const unsigned short *FmtStringOffset; + const STUB_THUNK *ThunkTable; +} MIDL_SERVER_INFO,*PMIDL_SERVER_INFO; +typedef struct _MIDL_STUBLESS_PROXY_INFO { + PMIDL_STUB_DESC pStubDesc; + PFORMAT_STRING ProcFormatString; + const unsigned short *FormatStringOffset; +} MIDL_STUBLESS_PROXY_INFO; +typedef MIDL_STUBLESS_PROXY_INFO *PMIDL_STUBLESS_PROXY_INFO; +typedef union _CLIENT_CALL_RETURN { + void *Pointer; + long Simple; +} CLIENT_CALL_RETURN; +typedef enum { XLAT_SERVER = 1,XLAT_CLIENT } XLAT_SIDE; +typedef struct _FULL_PTR_TO_REFID_ELEMENT { + struct _FULL_PTR_TO_REFID_ELEMENT *Next; + void*Pointer; + unsigned long RefId; + unsigned char State; +} FULL_PTR_TO_REFID_ELEMENT,*PFULL_PTR_TO_REFID_ELEMENT; +typedef struct _FULL_PTR_XLAT_TABLES { + struct { + void **XlatTable; + unsigned char *StateTable; + unsigned long NumberOfEntries; + } RefIdToPointer; + struct { + PFULL_PTR_TO_REFID_ELEMENT *XlatTable; + unsigned long NumberOfBuckets; + unsigned long HashMask; + } PointerToRefId; + unsigned long NextRefId; + XLAT_SIDE XlatSide; +} FULL_PTR_XLAT_TABLES,*PFULL_PTR_XLAT_TABLES; +void RPC_ENTRY NdrSimpleTypeMarshall(PMIDL_STUB_MESSAGE,unsigned char*,unsigned char); +unsigned char *RPC_ENTRY NdrPointerMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING pFormat); +unsigned char *RPC_ENTRY NdrSimpleStructMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +unsigned char *RPC_ENTRY NdrConformantStructMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +unsigned char *RPC_ENTRY NdrConformantVaryingStructMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +unsigned char *RPC_ENTRY NdrHardStructMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +unsigned char *RPC_ENTRY NdrComplexStructMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +unsigned char *RPC_ENTRY NdrFixedArrayMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +unsigned char *RPC_ENTRY NdrConformantArrayMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +unsigned char *RPC_ENTRY NdrConformantVaryingArrayMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +unsigned char *RPC_ENTRY NdrVaryingArrayMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +unsigned char *RPC_ENTRY NdrComplexArrayMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +unsigned char *RPC_ENTRY NdrNonConformantStringMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +unsigned char *RPC_ENTRY NdrConformantStringMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +unsigned char *RPC_ENTRY NdrEncapsulatedUnionMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +unsigned char *RPC_ENTRY NdrNonEncapsulatedUnionMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +unsigned char *RPC_ENTRY NdrByteCountPointerMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +unsigned char *RPC_ENTRY NdrXmitOrRepAsMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +unsigned char *RPC_ENTRY NdrInterfacePointerMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +void RPC_ENTRY NdrClientContextMarshall(PMIDL_STUB_MESSAGE,NDR_CCONTEXT,int); +void RPC_ENTRY NdrServerContextMarshall(PMIDL_STUB_MESSAGE,NDR_SCONTEXT,NDR_RUNDOWN); +void RPC_ENTRY NdrSimpleTypeUnmarshall(PMIDL_STUB_MESSAGE,unsigned char*,unsigned char); +unsigned char *RPC_ENTRY NdrPointerUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char); +unsigned char *RPC_ENTRY NdrSimpleStructUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char); +unsigned char *RPC_ENTRY NdrConformantStructUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char); +unsigned char *RPC_ENTRY NdrConformantVaryingStructUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char); +unsigned char *RPC_ENTRY NdrHardStructUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char); +unsigned char *RPC_ENTRY NdrComplexStructUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char); +unsigned char *RPC_ENTRY NdrFixedArrayUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char); +unsigned char *RPC_ENTRY NdrConformantArrayUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char); +unsigned char *RPC_ENTRY NdrConformantVaryingArrayUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char); +unsigned char *RPC_ENTRY NdrVaryingArrayUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char); +unsigned char *RPC_ENTRY NdrComplexArrayUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char); +unsigned char *RPC_ENTRY NdrNonConformantStringUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char); +unsigned char *RPC_ENTRY NdrConformantStringUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char); +unsigned char *RPC_ENTRY NdrEncapsulatedUnionUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char); +unsigned char *RPC_ENTRY NdrNonEncapsulatedUnionUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char); +unsigned char *RPC_ENTRY NdrByteCountPointerUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char); +unsigned char *RPC_ENTRY NdrXmitOrRepAsUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char); +unsigned char *RPC_ENTRY NdrInterfacePointerUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char); +void RPC_ENTRY NdrClientContextUnmarshall(PMIDL_STUB_MESSAGE,NDR_CCONTEXT*,RPC_BINDING_HANDLE); +NDR_SCONTEXT RPC_ENTRY NdrServerContextUnmarshall(PMIDL_STUB_MESSAGE); +void RPC_ENTRY NdrPointerBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +void RPC_ENTRY NdrSimpleStructBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +void RPC_ENTRY NdrConformantStructBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +void RPC_ENTRY NdrConformantVaryingStructBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +void RPC_ENTRY NdrHardStructBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +void RPC_ENTRY NdrComplexStructBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +void RPC_ENTRY NdrFixedArrayBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +void RPC_ENTRY NdrConformantArrayBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +void RPC_ENTRY NdrConformantVaryingArrayBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +void RPC_ENTRY NdrVaryingArrayBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +void RPC_ENTRY NdrComplexArrayBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +void RPC_ENTRY NdrConformantStringBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +void RPC_ENTRY NdrNonConformantStringBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +void RPC_ENTRY NdrEncapsulatedUnionBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +void RPC_ENTRY NdrNonEncapsulatedUnionBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +void RPC_ENTRY NdrByteCountPointerBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +void RPC_ENTRY NdrXmitOrRepAsBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +void RPC_ENTRY NdrInterfacePointerBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +void RPC_ENTRY NdrContextHandleSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +unsigned long RPC_ENTRY NdrPointerMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); +unsigned long RPC_ENTRY NdrSimpleStructMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); +unsigned long RPC_ENTRY NdrConformantStructMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); +unsigned long RPC_ENTRY NdrConformantVaryingStructMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); +unsigned long RPC_ENTRY NdrHardStructMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); +unsigned long RPC_ENTRY NdrComplexStructMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); +unsigned long RPC_ENTRY NdrFixedArrayMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); +unsigned long RPC_ENTRY NdrConformantArrayMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); +unsigned long RPC_ENTRY NdrConformantVaryingArrayMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); +unsigned long RPC_ENTRY NdrVaryingArrayMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); +unsigned long RPC_ENTRY NdrComplexArrayMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); +unsigned long RPC_ENTRY NdrConformantStringMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); +unsigned long RPC_ENTRY NdrNonConformantStringMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); +unsigned long RPC_ENTRY NdrEncapsulatedUnionMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); +unsigned long RPC_ENTRY NdrNonEncapsulatedUnionMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); +unsigned long RPC_ENTRY NdrXmitOrRepAsMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); +unsigned long RPC_ENTRY NdrInterfacePointerMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); +void RPC_ENTRY NdrPointerFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +void RPC_ENTRY NdrSimpleStructFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +void RPC_ENTRY NdrConformantStructFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +void RPC_ENTRY NdrConformantVaryingStructFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +void RPC_ENTRY NdrHardStructFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +void RPC_ENTRY NdrComplexStructFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +void RPC_ENTRY NdrFixedArrayFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +void RPC_ENTRY NdrConformantArrayFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +void RPC_ENTRY NdrConformantVaryingArrayFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +void RPC_ENTRY NdrVaryingArrayFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +void RPC_ENTRY NdrComplexArrayFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +void RPC_ENTRY NdrEncapsulatedUnionFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +void RPC_ENTRY NdrNonEncapsulatedUnionFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +void RPC_ENTRY NdrByteCountPointerFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +void RPC_ENTRY NdrXmitOrRepAsFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +void RPC_ENTRY NdrInterfacePointerFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +void RPC_ENTRY NdrConvert(PMIDL_STUB_MESSAGE,PFORMAT_STRING); +void RPC_ENTRY NdrClientInitializeNew(PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC,unsigned int); +unsigned char *RPC_ENTRY NdrServerInitializeNew(PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC); +void RPC_ENTRY NdrClientInitialize(PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC,unsigned int); +unsigned char *RPC_ENTRY NdrServerInitialize(PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC); +unsigned char *RPC_ENTRY NdrServerInitializeUnmarshall(PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC,PRPC_MESSAGE); +void RPC_ENTRY NdrServerInitializeMarshall(PRPC_MESSAGE,PMIDL_STUB_MESSAGE); +unsigned char *RPC_ENTRY NdrGetBuffer(PMIDL_STUB_MESSAGE,unsigned long,RPC_BINDING_HANDLE); +unsigned char *RPC_ENTRY NdrNsGetBuffer(PMIDL_STUB_MESSAGE,unsigned long,RPC_BINDING_HANDLE); +unsigned char *RPC_ENTRY NdrSendReceive(PMIDL_STUB_MESSAGE,unsigned char*); +unsigned char *RPC_ENTRY NdrNsSendReceive(PMIDL_STUB_MESSAGE,unsigned char*,RPC_BINDING_HANDLE*); +void RPC_ENTRY NdrFreeBuffer(PMIDL_STUB_MESSAGE); +CLIENT_CALL_RETURN RPC_VAR_ENTRY NdrClientCall(PMIDL_STUB_DESC,PFORMAT_STRING,...); +typedef enum { + STUB_UNMARSHAL, + STUB_CALL_SERVER, + STUB_MARSHAL, + STUB_CALL_SERVER_NO_HRESULT +} STUB_PHASE; +typedef enum { + PROXY_CALCSIZE, + PROXY_GETBUFFER, + PROXY_MARSHAL, + PROXY_SENDRECEIVE, + PROXY_UNMARSHAL +} PROXY_PHASE; +long RPC_ENTRY NdrStubCall(struct IRpcStubBuffer*,struct IRpcChannelBuffer*,PRPC_MESSAGE,unsigned long*); +void RPC_ENTRY NdrServerCall(PRPC_MESSAGE); +int RPC_ENTRY NdrServerUnmarshall(struct IRpcChannelBuffer*,PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC,PFORMAT_STRING,void*); +void RPC_ENTRY NdrServerMarshall(struct IRpcStubBuffer*,struct IRpcChannelBuffer*,PMIDL_STUB_MESSAGE,PFORMAT_STRING); +RPC_STATUS RPC_ENTRY NdrMapCommAndFaultStatus(PMIDL_STUB_MESSAGE,unsigned long*,unsigned long*,RPC_STATUS); +int RPC_ENTRY NdrSH_UPDecision(PMIDL_STUB_MESSAGE,unsigned char**,RPC_BUFPTR); +int RPC_ENTRY NdrSH_TLUPDecision(PMIDL_STUB_MESSAGE,unsigned char**); +int RPC_ENTRY NdrSH_TLUPDecisionBuffer(PMIDL_STUB_MESSAGE,unsigned char**); +int RPC_ENTRY NdrSH_IfAlloc(PMIDL_STUB_MESSAGE,unsigned char**,unsigned long); +int RPC_ENTRY NdrSH_IfAllocRef(PMIDL_STUB_MESSAGE,unsigned char**,unsigned long); +int RPC_ENTRY NdrSH_IfAllocSet(PMIDL_STUB_MESSAGE,unsigned char**,unsigned long); +RPC_BUFPTR RPC_ENTRY NdrSH_IfCopy(PMIDL_STUB_MESSAGE,unsigned char**,unsigned long); +RPC_BUFPTR RPC_ENTRY NdrSH_IfAllocCopy(PMIDL_STUB_MESSAGE,unsigned char**,unsigned long); +unsigned long RPC_ENTRY NdrSH_Copy(unsigned char*,unsigned char*,unsigned long); +void RPC_ENTRY NdrSH_IfFree(PMIDL_STUB_MESSAGE,unsigned char*); +RPC_BUFPTR RPC_ENTRY NdrSH_StringMarshall(PMIDL_STUB_MESSAGE,unsigned char*,unsigned long,int); +RPC_BUFPTR RPC_ENTRY NdrSH_StringUnMarshall(PMIDL_STUB_MESSAGE,unsigned char**,int); +typedef void *RPC_SS_THREAD_HANDLE; +typedef void* __RPC_API RPC_CLIENT_ALLOC(unsigned int); +typedef void __RPC_API RPC_CLIENT_FREE(void*); +void*RPC_ENTRY RpcSsAllocate(unsigned int); +void RPC_ENTRY RpcSsDisableAllocate(void); +void RPC_ENTRY RpcSsEnableAllocate(void); +void RPC_ENTRY RpcSsFree(void*); +RPC_SS_THREAD_HANDLE RPC_ENTRY RpcSsGetThreadHandle(void); +void RPC_ENTRY RpcSsSetClientAllocFree(RPC_CLIENT_ALLOC*,RPC_CLIENT_FREE*); +void RPC_ENTRY RpcSsSetThreadHandle(RPC_SS_THREAD_HANDLE); +void RPC_ENTRY RpcSsSwapClientAllocFree(RPC_CLIENT_ALLOC*,RPC_CLIENT_FREE*,RPC_CLIENT_ALLOC**,RPC_CLIENT_FREE**); +void*RPC_ENTRY RpcSmAllocate(unsigned int,RPC_STATUS*); +RPC_STATUS RPC_ENTRY RpcSmClientFree(void*); +RPC_STATUS RPC_ENTRY RpcSmDestroyClientContext(void**); +RPC_STATUS RPC_ENTRY RpcSmDisableAllocate(void); +RPC_STATUS RPC_ENTRY RpcSmEnableAllocate(void); +RPC_STATUS RPC_ENTRY RpcSmFree(void*); +RPC_SS_THREAD_HANDLE RPC_ENTRY RpcSmGetThreadHandle(RPC_STATUS*); +RPC_STATUS RPC_ENTRY RpcSmSetClientAllocFree(RPC_CLIENT_ALLOC*,RPC_CLIENT_FREE*); +RPC_STATUS RPC_ENTRY RpcSmSetThreadHandle(RPC_SS_THREAD_HANDLE); +RPC_STATUS RPC_ENTRY RpcSmSwapClientAllocFree(RPC_CLIENT_ALLOC*,RPC_CLIENT_FREE*,RPC_CLIENT_ALLOC**,RPC_CLIENT_FREE**); +void RPC_ENTRY NdrRpcSsEnableAllocate(PMIDL_STUB_MESSAGE); +void RPC_ENTRY NdrRpcSsDisableAllocate(PMIDL_STUB_MESSAGE); +void RPC_ENTRY NdrRpcSmSetClientToOsf(PMIDL_STUB_MESSAGE); +void*RPC_ENTRY NdrRpcSmClientAllocate(unsigned int); +void RPC_ENTRY NdrRpcSmClientFree(void*); +void*RPC_ENTRY NdrRpcSsDefaultAllocate(unsigned int); +void RPC_ENTRY NdrRpcSsDefaultFree(void*); +PFULL_PTR_XLAT_TABLES RPC_ENTRY NdrFullPointerXlatInit(unsigned long,XLAT_SIDE); +void RPC_ENTRY NdrFullPointerXlatFree(PFULL_PTR_XLAT_TABLES); +int RPC_ENTRY NdrFullPointerQueryPointer(PFULL_PTR_XLAT_TABLES,void*,unsigned char,unsigned long*); +int RPC_ENTRY NdrFullPointerQueryRefId(PFULL_PTR_XLAT_TABLES,unsigned long,unsigned char,void**); +void RPC_ENTRY NdrFullPointerInsertRefId(PFULL_PTR_XLAT_TABLES,unsigned long,void*); +int RPC_ENTRY NdrFullPointerFree(PFULL_PTR_XLAT_TABLES,void*); +void*RPC_ENTRY NdrAllocate(PMIDL_STUB_MESSAGE,unsigned int); +void RPC_ENTRY NdrClearOutParameters(PMIDL_STUB_MESSAGE,PFORMAT_STRING,void*); +void*RPC_ENTRY NdrOleAllocate(unsigned int); +void RPC_ENTRY NdrOleFree(void*); +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/rpcnsi.h b/winsup/w32api/include/rpcnsi.h new file mode 100644 index 000000000..69547c8e4 --- /dev/null +++ b/winsup/w32api/include/rpcnsi.h @@ -0,0 +1,118 @@ +#ifndef _RPCNSI_H +#define _RPCNSI_H +#ifdef __cplusplus +extern "C" { +#endif +typedef void *RPC_NS_HANDLE; +#define RPC_C_NS_SYNTAX_DEFAULT 0 +#define RPC_C_NS_SYNTAX_DCE 3 +#define RPC_C_PROFILE_DEFAULT_ELT 0 +#define RPC_C_PROFILE_ALL_ELT 1 +#define RPC_C_PROFILE_MATCH_BY_IF 2 +#define RPC_C_PROFILE_MATCH_BY_MBR 3 +#define RPC_C_PROFILE_MATCH_BY_BOTH 4 +#define RPC_C_NS_DEFAULT_EXP_AGE -1 + +RPC_STATUS RPC_ENTRY RpcNsBindingExportA(unsigned long,unsigned char*,RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*); +RPC_STATUS RPC_ENTRY RpcNsBindingUnexportA(unsigned long,unsigned char*,RPC_IF_HANDLE,UUID_VECTOR*); +RPC_STATUS RPC_ENTRY RpcNsBindingLookupBeginA(unsigned long,unsigned char*,RPC_IF_HANDLE,UUID*,unsigned long,RPC_NS_HANDLE*); +RPC_STATUS RPC_ENTRY RpcNsBindingLookupNext(RPC_NS_HANDLE,RPC_BINDING_VECTOR**); +RPC_STATUS RPC_ENTRY RpcNsBindingLookupDone(RPC_NS_HANDLE*); +RPC_STATUS RPC_ENTRY RpcNsGroupDeleteA(unsigned long,unsigned char*); +RPC_STATUS RPC_ENTRY RpcNsGroupMbrAddA(unsigned long,unsigned char*,unsigned long,unsigned char*); +RPC_STATUS RPC_ENTRY RpcNsGroupMbrRemoveA(unsigned long,unsigned char*,unsigned long,unsigned char*); +RPC_STATUS RPC_ENTRY RpcNsGroupMbrInqBeginA(unsigned long,unsigned char*,unsigned long,RPC_NS_HANDLE*); +RPC_STATUS RPC_ENTRY RpcNsGroupMbrInqNextA(RPC_NS_HANDLE,unsigned char**); +RPC_STATUS RPC_ENTRY RpcNsGroupMbrInqDone(RPC_NS_HANDLE*); +RPC_STATUS RPC_ENTRY RpcNsProfileDeleteA(unsigned long,unsigned char*); +RPC_STATUS RPC_ENTRY RpcNsProfileEltAddA(unsigned long,unsigned char*,RPC_IF_ID*,unsigned long,unsigned char*,unsigned long,unsigned char*); +RPC_STATUS RPC_ENTRY RpcNsProfileEltRemoveA(unsigned long,unsigned char*,RPC_IF_ID*,unsigned long,unsigned char*); +RPC_STATUS RPC_ENTRY RpcNsProfileEltInqBeginA(unsigned long,unsigned char*,unsigned long,RPC_IF_ID*,unsigned long,unsigned long,unsigned char*,RPC_NS_HANDLE*); +RPC_STATUS RPC_ENTRY RpcNsProfileEltInqNextA(RPC_NS_HANDLE,RPC_IF_ID*,unsigned char**,unsigned long*,unsigned char**); +RPC_STATUS RPC_ENTRY RpcNsProfileEltInqDone(RPC_NS_HANDLE*); +RPC_STATUS RPC_ENTRY RpcNsEntryObjectInqNext(IN RPC_NS_HANDLE,OUT UUID*); +RPC_STATUS RPC_ENTRY RpcNsEntryObjectInqDone(IN OUT RPC_NS_HANDLE*); +RPC_STATUS RPC_ENTRY RpcNsEntryExpandNameA(unsigned long,unsigned char*,unsigned char**); +RPC_STATUS RPC_ENTRY RpcNsMgmtBindingUnexportA(unsigned long,unsigned char*,RPC_IF_ID*,unsigned long,UUID_VECTOR*); +RPC_STATUS RPC_ENTRY RpcNsMgmtEntryCreateA(unsigned long,unsigned char*); +RPC_STATUS RPC_ENTRY RpcNsMgmtEntryDeleteA(unsigned long,unsigned char*); +RPC_STATUS RPC_ENTRY RpcNsMgmtEntryInqIfIdsA(unsigned long,unsigned char*,RPC_IF_ID_VECTOR**); +RPC_STATUS RPC_ENTRY RpcNsMgmtHandleSetExpAge(RPC_NS_HANDLE,unsigned long); +RPC_STATUS RPC_ENTRY RpcNsMgmtInqExpAge(unsigned long*); +RPC_STATUS RPC_ENTRY RpcNsMgmtSetExpAge(unsigned long); +RPC_STATUS RPC_ENTRY RpcNsBindingImportNext(RPC_NS_HANDLE,RPC_BINDING_HANDLE*); +RPC_STATUS RPC_ENTRY RpcNsBindingImportDone(RPC_NS_HANDLE*); +RPC_STATUS RPC_ENTRY RpcNsBindingSelect(RPC_BINDING_VECTOR*,RPC_BINDING_HANDLE*); +#ifndef UNICODE_ONLY +RPC_STATUS RPC_ENTRY RpcNsEntryObjectInqBeginA(unsigned long,unsigned char*,RPC_NS_HANDLE*); +RPC_STATUS RPC_ENTRY RpcNsBindingImportBeginA(unsigned long,unsigned char*,RPC_IF_HANDLE,UUID*,RPC_NS_HANDLE*); +#endif +#ifdef RPC_UNICODE_SUPPORTED +RPC_STATUS RPC_ENTRY RpcNsBindingExportW(unsigned long,unsigned short*,RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*); +RPC_STATUS RPC_ENTRY RpcNsBindingUnexportW(unsigned long,unsigned short*,RPC_IF_HANDLE,UUID_VECTOR*); +RPC_STATUS RPC_ENTRY RpcNsBindingLookupBeginW(unsigned long,unsigned short*,RPC_IF_HANDLE,UUID*,unsigned long,RPC_NS_HANDLE*); +RPC_STATUS RPC_ENTRY RpcNsGroupDeleteW(unsigned long,unsigned short*); +RPC_STATUS RPC_ENTRY RpcNsGroupMbrAddW(unsigned long,unsigned short*,unsigned long,unsigned short*); +RPC_STATUS RPC_ENTRY RpcNsGroupMbrRemoveW(unsigned long,unsigned short*,unsigned long,unsigned short*); +RPC_STATUS RPC_ENTRY RpcNsGroupMbrInqBeginW(unsigned long,unsigned short*,unsigned long,RPC_NS_HANDLE*); +RPC_STATUS RPC_ENTRY RpcNsGroupMbrInqNextW(RPC_NS_HANDLE,unsigned short**); +RPC_STATUS RPC_ENTRY RpcNsProfileDeleteW(unsigned long,unsigned short*); +RPC_STATUS RPC_ENTRY RpcNsProfileEltAddW(unsigned long,unsigned short*, RPC_IF_ID*,unsigned long,unsigned short*,unsigned long,unsigned short*); +RPC_STATUS RPC_ENTRY RpcNsProfileEltRemoveW(unsigned long,unsigned short*, RPC_IF_ID*,unsigned long,unsigned short*); +RPC_STATUS RPC_ENTRY RpcNsProfileEltInqBeginW(unsigned long,unsigned short*, unsigned long,RPC_IF_ID*,unsigned long,unsigned long,unsigned short*, RPC_NS_HANDLE*); +RPC_STATUS RPC_ENTRY RpcNsProfileEltInqNextW(RPC_NS_HANDLE,RPC_IF_ID*, unsigned short**,unsigned long*,unsigned short**); +RPC_STATUS RPC_ENTRY RpcNsEntryObjectInqBeginW(unsigned long,unsigned short*,RPC_NS_HANDLE*); +RPC_STATUS RPC_ENTRY RpcNsEntryExpandNameW(unsigned long,unsigned short*,unsigned short**); +RPC_STATUS RPC_ENTRY RpcNsMgmtBindingUnexportW(unsigned long,unsigned short*,RPC_IF_ID*,unsigned long,UUID_VECTOR*); +RPC_STATUS RPC_ENTRY RpcNsMgmtEntryCreateW(unsigned long,unsigned short*); +RPC_STATUS RPC_ENTRY RpcNsMgmtEntryDeleteW(unsigned long,unsigned short*); +RPC_STATUS RPC_ENTRY RpcNsMgmtEntryInqIfIdsW(unsigned long,unsigned short , RPC_IF_ID_VECTOR**); +RPC_STATUS RPC_ENTRY RpcNsBindingImportBeginW(unsigned long,unsigned short*,RPC_IF_HANDLE,UUID*,RPC_NS_HANDLE*); +#endif /* RPC_UNICODE_SUPPORTED */ +#ifdef UNICODE +#define RpcNsBindingLookupBegin RpcNsBindingLookupBeginW +#define RpcNsBindingImportBegin RpcNsBindingImportBeginW +#define RpcNsBindingExport RpcNsBindingExportW +#define RpcNsBindingUnexport RpcNsBindingUnexportW +#define RpcNsGroupDelete RpcNsGroupDeleteW +#define RpcNsGroupMbrAdd RpcNsGroupMbrAddW +#define RpcNsGroupMbrRemove RpcNsGroupMbrRemoveW +#define RpcNsGroupMbrInqBegin RpcNsGroupMbrInqBeginW +#define RpcNsGroupMbrInqNext RpcNsGroupMbrInqNextW +#define RpcNsEntryExpandName RpcNsEntryExpandNameW +#define RpcNsEntryObjectInqBegin RpcNsEntryObjectInqBeginW +#define RpcNsMgmtBindingUnexport RpcNsMgmtBindingUnexportW +#define RpcNsMgmtEntryCreate RpcNsMgmtEntryCreateW +#define RpcNsMgmtEntryDelete RpcNsMgmtEntryDeleteW +#define RpcNsMgmtEntryInqIfIds RpcNsMgmtEntryInqIfIdsW +#define RpcNsProfileDelete RpcNsProfileDeleteW +#define RpcNsProfileEltAdd RpcNsProfileEltAddW +#define RpcNsProfileEltRemove RpcNsProfileEltRemoveW +#define RpcNsProfileEltInqBegin RpcNsProfileEltInqBeginW +#define RpcNsProfileEltInqNext RpcNsProfileEltInqNextW +#else +#define RpcNsBindingLookupBegin RpcNsBindingLookupBeginA +#define RpcNsBindingImportBegin RpcNsBindingImportBeginA +#define RpcNsBindingExport RpcNsBindingExportA +#define RpcNsBindingUnexport RpcNsBindingUnexportA +#define RpcNsGroupDelete RpcNsGroupDeleteA +#define RpcNsGroupMbrAdd RpcNsGroupMbrAddA +#define RpcNsGroupMbrRemove RpcNsGroupMbrRemoveA +#define RpcNsGroupMbrInqBegin RpcNsGroupMbrInqBeginA +#define RpcNsGroupMbrInqNext RpcNsGroupMbrInqNextA +#define RpcNsEntryExpandName RpcNsEntryExpandNameA +#define RpcNsEntryObjectInqBegin RpcNsEntryObjectInqBeginA +#define RpcNsMgmtBindingUnexport RpcNsMgmtBindingUnexportA +#define RpcNsMgmtEntryCreate RpcNsMgmtEntryCreateA +#define RpcNsMgmtEntryDelete RpcNsMgmtEntryDeleteA +#define RpcNsMgmtEntryInqIfIds RpcNsMgmtEntryInqIfIdsA +#define RpcNsProfileDelete RpcNsProfileDeleteA +#define RpcNsProfileEltAdd RpcNsProfileEltAddA +#define RpcNsProfileEltRemove RpcNsProfileEltRemoveA +#define RpcNsProfileEltInqBegin RpcNsProfileEltInqBeginA +#define RpcNsProfileEltInqNext RpcNsProfileEltInqNextA +#endif +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/rpcnsip.h b/winsup/w32api/include/rpcnsip.h new file mode 100644 index 000000000..4f05d297d --- /dev/null +++ b/winsup/w32api/include/rpcnsip.h @@ -0,0 +1,21 @@ +#ifndef _RPCNSIP_H +#define _RPCNSIP_H +#ifdef __cplusplus +extern "C" { +#endif +typedef struct { + RPC_NS_HANDLE LookupContext; + RPC_BINDING_HANDLE ProposedHandle; + RPC_BINDING_VECTOR *Bindings; +} RPC_IMPORT_CONTEXT_P,*PRPC_IMPORT_CONTEXT_P; +RPC_STATUS RPC_ENTRY I_RpcNsGetBuffer(IN PRPC_MESSAGE); +RPC_STATUS RPC_ENTRY I_RpcNsSendReceive(IN PRPC_MESSAGE,OUT RPC_BINDING_HANDLE*); +void RPC_ENTRY I_RpcNsRaiseException(IN PRPC_MESSAGE,IN RPC_STATUS); +RPC_STATUS RPC_ENTRY I_RpcReBindBuffer(IN PRPC_MESSAGE); +RPC_STATUS RPC_ENTRY I_NsServerBindSearch(); +RPC_STATUS RPC_ENTRY I_NsClientBindSearch(); +void RPC_ENTRY I_NsClientBindDone(); +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/rpcnterr.h b/winsup/w32api/include/rpcnterr.h new file mode 100644 index 000000000..6b075ae07 --- /dev/null +++ b/winsup/w32api/include/rpcnterr.h @@ -0,0 +1,18 @@ +#ifndef _RPCNTERR_H +#define _RPCNTERR_H +#define RPC_S_OK ERROR_SUCCESS +#define RPC_S_INVALID_ARG ERROR_INVALID_PARAMETER +#define RPC_S_OUT_OF_MEMORY ERROR_OUTOFMEMORY +#define RPC_S_OUT_OF_THREADS ERROR_MAX_THRDS_REACHED +#define RPC_S_INVALID_LEVEL ERROR_INVALID_PARAMETER +#define RPC_S_BUFFER_TOO_SMALL ERROR_INSUFFICIENT_BUFFER +#define RPC_S_INVALID_SECURITY_DESC ERROR_INVALID_SECURITY_DESCR +#define RPC_S_ACCESS_DENIED ERROR_ACCESS_DENIED +#define RPC_S_SERVER_OUT_OF_MEMORY ERROR_NOT_ENOUGH_SERVER_MEMORY +#define RPC_X_NO_MEMORY RPC_S_OUT_OF_MEMORY +#define RPC_X_INVALID_BOUND RPC_S_INVALID_BOUND +#define RPC_X_INVALID_TAG RPC_S_INVALID_TAG +#define RPC_X_ENUM_VALUE_TOO_LARGE RPC_X_ENUM_VALUE_OUT_OF_RANGE +#define RPC_X_SS_CONTEXT_MISMATCH ERROR_INVALID_HANDLE +#define RPC_X_INVALID_BUFFER ERROR_INVALID_USER_BUFFER +#endif diff --git a/winsup/w32api/include/rpcproxy.h b/winsup/w32api/include/rpcproxy.h new file mode 100644 index 000000000..fa968fc3a --- /dev/null +++ b/winsup/w32api/include/rpcproxy.h @@ -0,0 +1,185 @@ +/* + -DREGISTER_PROXY_DLL Generates DllMain, DllRegisterServer, and DllUnregisterServer + -DPROXY_CLSID=clsid Specifies a class ID to be used by the proxy DLL. + -DPROXY_CLSID_IS={..} Specifies the class ID to be used by the proxy DLL. + -DNT35_STRICT No new features +*/ +#ifndef _RPCPROXY_H +#define _RPCPROXY_H +#ifdef __cplusplus +extern "C" { +#endif +#include <rpc.h> +#include <rpcndr.h> +#include <string.h> + +#define CStdStubBuffer_METHODS CStdStubBuffer_QueryInterface,CStdStubBuffer_AddRef,\ +CStdStubBuffer_Release,CStdStubBuffer_Connect,CStdStubBuffer_Disconnect,CStdStubBuffer_Invoke,\ +CStdStubBuffer_IsIIDSupported,CStdStubBuffer_CountRefs,CStdStubBuffer_DebugServerQueryInterface,\ +CStdStubBuffer_DebugServerRelease +#define IID_GENERIC_CHECK_IID(name,pIID,index) memcmp(pIID,name##_ProxyVtblList[index]->header.piid,16) +#define IID_BS_LOOKUP_SETUP int result, low=-1; +#define IID_BS_LOOKUP_INITIAL_TEST(name,sz,split) if ((result = name##_CHECK_IID(split))>0) { low=sz-split;} else if (!result) { low = split; goto found_label; } +#define IID_BS_LOOKUP_NEXT_TEST(name,split) if ((result = name##_CHECK_IID(low+split))>=0) { low=low+split; if (!result) goto found_label; } +#define IID_BS_LOOKUP_RETURN_RESULT(name,sz,index) low+=1; if ((low>=sz )||(result=name##_CHECK_IID(low))) goto not_found_label; found_label: (index)=low; return 1; not_found_label: return 0; +#define REGISTER_PROXY_DLL_ROUTINES(pProxyFileList, pClsID) \ +HINSTANCE hProxyDll = 0; \ +BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID lpvReserved) \ +{ \ +if(fdwReason == DLL_PROCESS_ATTACH) hProxyDll = hinstDLL; \ +return TRUE; \ +} \ +HRESULT STDAPICALLTYPE DllRegisterServer() \ +{\ +return NdrDllRegisterProxy(hProxyDll, pProxyFileList, pClsID); \ +}\ +HRESULT STDAPICALLTYPE DllUnregisterServer()\ +{\ +return NdrDllUnregisterProxy(hProxyDll, pProxyFileList, pClsID);\ +} +#ifdef PROXY_CLSID +#define CLSID_PSFACTORYBUFFER extern CLSID PROXY_CLSID; +#else +#ifdef PROXY_CLSID_IS +#define CLSID_PSFACTORYBUFFER const CLSID CLSID_PSFactoryBuffer = PROXY_CLSID_IS; +#define PROXY_CLSID CLSID_PSFactoryBuffer +#else +#define CLSID_PSFACTORYBUFFER +#endif +#endif +#ifndef PROXY_CLSID +#define GET_DLL_CLSID (aProxyFileList[0]->pStubVtblList[0] != 0 ? aProxyFileList[0]->pStubVtblList[0]->header.piid : 0) +#else +#define GET_DLL_CLSID &PROXY_CLSID +#endif +#define EXTERN_PROXY_FILE(name) EXTERN_C const ProxyFileInfo name##_ProxyFileInfo; +#define PROXYFILE_LIST_START const ProxyFileInfo * aProxyFileList[] = { +#define REFERENCE_PROXY_FILE(name) & name##_ProxyFileInfo +#define PROXYFILE_LIST_END 0 }; +#define DLLDATA_GETPROXYDLLINFO(pPFList,pClsid) \ +void RPC_ENTRY GetProxyDllInfo( const ProxyFileInfo*** pInfo, const CLSID ** pId ) \ +{ *pInfo = pPFList; *pId = pClsid; }; +#define DLLGETCLASSOBJECTROUTINE(pPFlist, pClsid,pFactory) HRESULT STDAPICALLTYPE DllGetClassObject(REFCLSID rclsid,REFIID riid,void **ppv) \ +{ return NdrDllGetClassObject(rclsid,riid,ppv,pPFlist,pClsid,pFactory ); } +#define DLLCANUNLOADNOW(pFactory) HRESULT STDAPICALLTYPE DllCanUnloadNow() \ +{ return NdrDllCanUnloadNow( pFactory ); } +#define DLLDUMMYPURECALL void __cdecl _purecall(void) { } +#define CSTDSTUBBUFFERRELEASE(pFactory) ULONG STDMETHODCALLTYPE CStdStubBuffer_Release(IRpcStubBuffer *This) \ +{ return NdrCStdStubBuffer_Release(This,(IPSFactoryBuffer *)pFactory); } +#ifdef PROXY_DELEGATION +#define CSTDSTUBBUFFER2RELEASE(pFactory) ULONG STDMETHODCALLTYPE CStdStubBuffer2_Release(IRpcStubBuffer *This) \ +{ return NdrCStdStubBuffer2_Release(This,(IPSFactoryBuffer *)pFactory); } +#else +#define CSTDSTUBBUFFER2RELEASE(pFactory) +#endif + +#ifdef REGISTER_PROXY_DLL +#define DLLREGISTRY_ROUTINES(pProxyFileList,pClsID ) REGISTER_PROXY_DLL_ROUTINES(pProxyFileList,pClsID) +#else +#define DLLREGISTRY_ROUTINES(pProxyFileList,pClsID) +#endif +#define DLLDATA_ROUTINES(pProxyFileList,pClsID) \ +CLSID_PSFACTORYBUFFER \ +CStdPSFactoryBuffer gPFactory = {0,0,0,0}; \ +DLLDATA_GETPROXYDLLINFO(pProxyFileList,pClsID) \ +DLLGETCLASSOBJECTROUTINE(pProxyFileList,pClsID,&gPFactory) \ +DLLCANUNLOADNOW(&gPFactory) \ +CSTDSTUBBUFFERRELEASE(&gPFactory) \ +CSTDSTUBBUFFER2RELEASE(&gPFactory) \ +DLLDUMMYPURECALL \ +DLLREGISTRY_ROUTINES(pProxyFileList, pClsID) + +#define DLLDATA_STANDARD_ROUTINES DLLDATA_ROUTINES( (const ProxyFileInfo**) pProxyFileList, &CLSID_PSFactoryBuffer) + +struct tagCInterfaceStubVtbl; +struct tagCInterfaceProxyVtbl; +typedef struct tagCInterfaceStubVtbl *PCInterfaceStubVtblList; +typedef struct tagCInterfaceProxyVtbl *PCInterfaceProxyVtblList; +typedef const char *PCInterfaceName; +typedef int __stdcall IIDLookupRtn(const IID*,int*); +typedef IIDLookupRtn *PIIDLookup; +typedef struct tagProxyFileInfo { + const PCInterfaceProxyVtblList *pProxyVtblList; + const PCInterfaceStubVtblList *pStubVtblList; + const PCInterfaceName * pNamesArray; + const IID ** pDelegatedIIDs; + const PIIDLookup pIIDLookupRtn; + unsigned short TableSize; + unsigned short TableVersion; + unsigned long Filler1; + unsigned long Filler2; + unsigned long Filler3; + unsigned long Filler4; +}ProxyFileInfo; +typedef ProxyFileInfo ExtendedProxyFileInfo; + +typedef struct tagCInterfaceProxyHeader { +#ifdef USE_STUBLESS_PROXY + const void *pStublessProxyInfo; +#endif + const IID *piid; +} CInterfaceProxyHeader; +typedef struct tagCInterfaceProxyVtbl { + CInterfaceProxyHeader header; + void *Vtbl[0]; +} CInterfaceProxyVtbl; +typedef void (__RPC_STUB *PRPC_STUB_FUNCTION)(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*); +typedef struct tagCInterfaceStubHeader { + const IID *piid; + const MIDL_SERVER_INFO *pServerInfo; + unsigned long DispatchTableCount; + const PRPC_STUB_FUNCTION *pDispatchTable; +} CInterfaceStubHeader; +typedef struct tagCInterfaceStubVtbl { + CInterfaceStubHeader header; + IRpcStubBufferVtbl Vtbl; +} CInterfaceStubVtbl; +typedef struct tagCStdStubBuffer { + const struct IRpcStubBufferVtbl * lpVtbl; + long RefCount; + struct IUnknown *pvServerObject; +} CStdStubBuffer; +typedef struct tagCStdPSFactoryBuffer { + const IPSFactoryBufferVtbl *lpVtbl; + long RefCount; + const ProxyFileInfo ** pProxyFileList; + long Filler1; +} CStdPSFactoryBuffer; +void RPC_ENTRY NdrProxyInitialize(void*,PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC,unsigned int); +void RPC_ENTRY NdrProxyGetBuffer(void*,PMIDL_STUB_MESSAGE); +void RPC_ENTRY NdrProxySendReceive(void*,MIDL_STUB_MESSAGE*); +void RPC_ENTRY NdrProxyFreeBuffer(void*,MIDL_STUB_MESSAGE*); +HRESULT RPC_ENTRY NdrProxyErrorHandler(DWORD); +void RPC_ENTRY NdrStubInitialize(PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC,IRpcChannelBuffer*); +void __RPC_STUB NdrStubForwardingFunction(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*); +void RPC_ENTRY NdrStubGetBuffer(IRpcStubBuffer*,IRpcChannelBuffer*,PMIDL_STUB_MESSAGE); +HRESULT RPC_ENTRY NdrStubErrorHandler(DWORD); +HRESULT STDMETHODCALLTYPE CStdStubBuffer_QueryInterface(IRpcStubBuffer*,REFIID,void**); +ULONG STDMETHODCALLTYPE CStdStubBuffer_AddRef(IRpcStubBuffer*); +ULONG STDMETHODCALLTYPE CStdStubBuffer_Release(IRpcStubBuffer*); +ULONG STDMETHODCALLTYPE NdrCStdStubBuffer_Release(IRpcStubBuffer*,IPSFactoryBuffer*); +HRESULT STDMETHODCALLTYPE CStdStubBuffer_Connect(IRpcStubBuffer*,IUnknown*); +void STDMETHODCALLTYPE CStdStubBuffer_Disconnect(IRpcStubBuffer*); +HRESULT STDMETHODCALLTYPE CStdStubBuffer_Invoke(IRpcStubBuffer*,RPCOLEMESSAGE*,IRpcChannelBuffer*); +IRpcStubBuffer* STDMETHODCALLTYPE CStdStubBuffer_IsIIDSupported(IRpcStubBuffer*,REFIID); +ULONG STDMETHODCALLTYPE CStdStubBuffer_CountRefs(IRpcStubBuffer*); +HRESULT STDMETHODCALLTYPE CStdStubBuffer_DebugServerQueryInterface(IRpcStubBuffer*,void**); +void STDMETHODCALLTYPE CStdStubBuffer_DebugServerRelease(IRpcStubBuffer*,void*); +HRESULT RPC_ENTRY NdrDllGetClassObject(REFCLSID,REFIID,void**,const ProxyFileInfo**,const CLSID*,CStdPSFactoryBuffer*); +HRESULT RPC_ENTRY NdrDllCanUnloadNow(CStdPSFactoryBuffer*); +#ifndef NT35_STRICT +HRESULT RPC_ENTRY NdrDllRegisterProxy(HMODULE,const ProxyFileInfo**,const CLSID*); +HRESULT RPC_ENTRY NdrDllUnregisterProxy(HMODULE,const ProxyFileInfo**,const CLSID*); +#define STUB_FORWARDING_FUNCTION NdrStubForwardingFunction +ULONG STDMETHODCALLTYPE +CStdStubBuffer2_Release(IRpcStubBuffer*); +ULONG STDMETHODCALLTYPE +NdrCStdStubBuffer2_Release(IRpcStubBuffer*,IPSFactoryBuffer*); +#define CStdStubBuffer_DELEGATING_METHODS 0, 0, CStdStubBuffer2_Release, 0, 0, 0, 0, 0, 0, 0 +#endif + +#ifdef __cplusplus +} +#endif +#endif + diff --git a/winsup/w32api/include/scrnsave.h b/winsup/w32api/include/scrnsave.h new file mode 100644 index 000000000..30889d0ea --- /dev/null +++ b/winsup/w32api/include/scrnsave.h @@ -0,0 +1,78 @@ +/* + Screen saver library by Anders Norlander <anorland@hem2.passagen.se> + + This library is (hopefully) compatible with Microsoft's + screen saver library. + + This is public domain software. + + */ +#ifndef _SCRNSAVE_H +#define _SCRNSAVE_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* configure dialog identifier */ +#define DLG_SCRNSAVECONFIGURE 2003 + +#define idsIsPassword 1000 +#define idsIniFile 1001 +#define idsScreenSaver 1002 +#define idsPassword 1003 +#define idsDifferentPW 1004 +#define idsChangePW 1005 +#define idsBadOldPW 1006 +#define idsAppName 1007 +#define idsNoHelpMemory 1008 +#define idsHelpFile 1009 +#define idsDefKeyword 1010 + +#define IDS_DESCRIPTION 1 +#define ID_APP 100 + +#define WS_GT (WS_GROUP | WS_TABSTOP) +#define SCRM_VERIFYPW WM_APP +#define MAXFILELEN 13 +#define TITLEBARNAMELEN 40 +#define APPNAMEBUFFERLEN 40 +#define BUFFLEN 255 + +#ifndef RC_INVOKED + +/* functions provided by the aothor of the screen saver */ +BOOL WINAPI ScreenSaverConfigureDialog(HWND,UINT,WPARAM,LPARAM); +BOOL WINAPI RegisterDialogClasses(HANDLE); +LONG WINAPI ScreenSaverProc(HWND,UINT,WPARAM,LPARAM); + +/* Change name of function if we are using UNICODE */ +#ifdef UNICODE +#define DefScreenSaverProc DefScreenSaverProcW +#endif + +/* default screen saver proc; call instead of DefWindowProc */ +LONG WINAPI DefScreenSaverProc(HWND,UINT,WPARAM,LPARAM); + +/* change password */ +void WINAPI ScreenSaverChangePassword(HWND); + +/* globals that may be used by screen saver */ +extern HINSTANCE hMainInstance; +extern HWND hMainWindow; +extern BOOL fChildPreview; +extern TCHAR szName[]; +extern TCHAR szAppName[]; +extern TCHAR szIniFile[]; +extern TCHAR szScreenSaver[]; +extern TCHAR szHelpFile[]; +extern TCHAR szNoHelpMemory[]; +extern UINT MyHelpMessage; + +#endif /* RC_INVOKED */ + +#ifdef __cplusplus +} +#endif + +#endif /* _SCRNSAVE_H */ diff --git a/winsup/w32api/include/shellapi.h b/winsup/w32api/include/shellapi.h new file mode 100644 index 000000000..4e1c9a7dc --- /dev/null +++ b/winsup/w32api/include/shellapi.h @@ -0,0 +1,251 @@ +#ifndef _SHELLAPI_H +#define _SHELLAPI_H +#ifdef __cplusplus +extern "C" { +#endif +#define WINSHELLAPI DECLSPEC_IMPORT +#define ABE_LEFT 0 +#define ABE_TOP 1 +#define ABE_RIGHT 2 +#define ABE_BOTTOM 3 +#define SEE_MASK_CLASSNAME 1 +#define SEE_MASK_CLASSKEY 3 +#define SEE_MASK_IDLIST 4 +#define SEE_MASK_INVOKEIDLIST 12 +#define SEE_MASK_ICON 16 +#define SEE_MASK_HOTKEY 32 +#define SEE_MASK_NOCLOSEPROCESS 64 +#define SEE_MASK_CONNECTNETDRV 128 +#define SEE_MASK_FLAG_DDEWAIT 256 +#define SEE_MASK_DOENVSUBST 512 +#define SEE_MASK_FLAG_NO_UI 1024 +#define SEE_MASK_UNICODE 65536 +#define ABM_NEW 0 +#define ABM_REMOVE 1 +#define ABM_QUERYPOS 2 +#define ABM_SETPOS 3 +#define ABM_GETSTATE 4 +#define ABM_GETTASKBARPOS 5 +#define ABM_ACTIVATE 6 +#define ABM_GETAUTOHIDEBAR 7 +#define ABM_SETAUTOHIDEBAR 8 +#define ABM_WINDOWPOSCHANGED 9 +#define ABN_STATECHANGE 0 +#define ABN_POSCHANGED 1 +#define ABN_FULLSCREENAPP 2 +#define ABN_WINDOWARRANGE 3 +#define NIM_ADD 0 +#define NIM_MODIFY 1 +#define NIM_DELETE 2 +#define NIF_MESSAGE 1 +#define NIF_ICON 2 +#define NIF_TIP 4 +#define SE_ERR_FNF 2 +#define SE_ERR_PNF 3 +#define SE_ERR_ACCESSDENIED 5 +#define SE_ERR_OOM 8 +#define SE_ERR_DLLNOTFOUND 32 +#define SE_ERR_SHARE 26 +#define SE_ERR_ASSOCINCOMPLETE 27 +#define SE_ERR_DDETIMEOUT 28 +#define SE_ERR_DDEFAIL 29 +#define SE_ERR_DDEBUSY 30 +#define SE_ERR_NOASSOC 31 +#define FO_MOVE 1 +#define FO_COPY 2 +#define FO_DELETE 3 +#define FO_RENAME 4 +#define FOF_MULTIDESTFILES 1 +#define FOF_CONFIRMMOUSE 2 +#define FOF_SILENT 4 +#define FOF_RENAMEONCOLLISION 8 +#define FOF_NOCONFIRMATION 16 +#define FOF_WANTMAPPINGHANDLE 32 +#define FOF_ALLOWUNDO 64 +#define FOF_FILESONLY 128 +#define FOF_SIMPLEPROGRESS 256 +#define FOF_NOCONFIRMMKDIR 512 +#define PO_DELETE 19 +#define PO_RENAME 20 +#define PO_PORTCHANGE 32 +#define PO_REN_PORT 52 +#define SHGFI_ICON 256 +#define SHGFI_DISPLAYNAME 512 +#define SHGFI_TYPENAME 1024 +#define SHGFI_ATTRIBUTES 2048 +#define SHGFI_ICONLOCATION 4096 +#define SHGFI_EXETYPE 8192 +#define SHGFI_SYSICONINDEX 16384 +#define SHGFI_LINKOVERLAY 32768 +#define SHGFI_SELECTED 65536 +#define SHGFI_LARGEICON 0 +#define SHGFI_SMALLICON 1 +#define SHGFI_OPENICON 2 +#define SHGFI_SHELLICONSIZE 4 +#define SHGFI_PIDL 8 +#define SHGFI_USEFILEATTRIBUTES 16 + +typedef WORD FILEOP_FLAGS; +typedef WORD PRINTEROP_FLAGS; +typedef struct _AppBarData { + DWORD cbSize; + HWND hWnd; + UINT uCallbackMessage; + UINT uEdge; + RECT rc; + LPARAM lParam; +} APPBARDATA,*PAPPBARDATA; +DECLARE_HANDLE(HDROP); +typedef struct _NOTIFYICONDATAA { + DWORD cbSize; + HWND hWnd; + UINT uID; + UINT uFlags; + UINT uCallbackMessage; + HICON hIcon; + CHAR szTip[64]; +} NOTIFYICONDATAA,*PNOTIFYICONDATAA; +typedef struct _NOTIFYICONDATAW { + DWORD cbSize; + HWND hWnd; + UINT uID; + UINT uFlags; + UINT uCallbackMessage; + HICON hIcon; + WCHAR szTip[64]; +} NOTIFYICONDATAW,*PNOTIFYICONDATAW; +typedef struct _SHELLEXECUTEINFOA { + DWORD cbSize; + ULONG fMask; + HWND hwnd; + LPCSTR lpVerb; + LPCSTR lpFile; + LPCSTR lpParameters; + LPCSTR lpDirectory; + int nShow; + HINSTANCE hInstApp; + PVOID lpIDList; + LPCSTR lpClass; + HKEY hkeyClass; + DWORD dwHotKey; + HANDLE hIcon; + HANDLE hProcess; +} SHELLEXECUTEINFOA,*LPSHELLEXECUTEINFOA; +typedef struct _SHELLEXECUTEINFOW { + DWORD cbSize; + ULONG fMask; + HWND hwnd; + LPCWSTR lpVerb; + LPCWSTR lpFile; + LPCWSTR lpParameters; + LPCWSTR lpDirectory; + int nShow; + HINSTANCE hInstApp; + PVOID lpIDList; + LPCWSTR lpClass; + HKEY hkeyClass; + DWORD dwHotKey; + HANDLE hIcon; + HANDLE hProcess; +} SHELLEXECUTEINFOW,*LPSHELLEXECUTEINFOW; +typedef struct _SHFILEOPSTRUCTA { + HWND hwnd; + UINT wFunc; + LPCSTR pFrom; + LPCSTR pTo; + FILEOP_FLAGS fFlags; + BOOL fAnyOperationsAborted; + PVOID hNameMappings; + LPCSTR lpszProgressTitle; +} SHFILEOPSTRUCTA,*LPSHFILEOPSTRUCTA; +typedef struct _SHFILEOPSTRUCTW { + HWND hwnd; + UINT wFunc; + LPCWSTR pFrom; + LPCWSTR pTo; + FILEOP_FLAGS fFlags; + BOOL fAnyOperationsAborted; + PVOID hNameMappings; + LPCWSTR lpszProgressTitle; +} SHFILEOPSTRUCTW,*LPSHFILEOPSTRUCTW; +typedef struct _SHFILEINFOA { + HICON hIcon; + int iIcon; + DWORD dwAttributes; + CHAR szDisplayName[MAX_PATH]; + CHAR szTypeName[80]; +} SHFILEINFOA; +typedef struct _SHFILEINFOW { + HICON hIcon; + int iIcon; + DWORD dwAttributes; + WCHAR szDisplayName[MAX_PATH]; + WCHAR szTypeName[80]; +} SHFILEINFOW; + +LPWSTR *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 ExtractAssociatedIconA(HINSTANCE,LPCSTR,PWORD); +HICON WINAPI ExtractAssociatedIconW(HINSTANCE,LPCWSTR,PWORD); +HICON WINAPI ExtractIconA(HINSTANCE,LPCSTR,UINT); +HICON WINAPI ExtractIconW(HINSTANCE,LPCWSTR,UINT); +HICON WINAPI ExtractIconExA(LPCSTR,int,HICON*,HICON*,UINT); +HICON 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); + +#ifdef UNICODE +typedef NOTIFYICONDATAW NOTIFYICONDATA,*PNOTIFYICONDATA; +typedef SHELLEXECUTEINFOW SHELLEXECUTEINFO,*LPSHELLEXECUTEINFO; +typedef SHFILEOPSTRUCTW SHFILEOPSTRUCT,*LPSHFILEOPSTRUCT; +typedef SHFILEINFOW SHFILEINFO; +#define DragQueryFile DragQueryFileW +#define ExtractAssociatedIcon ExtractAssociatedIconW +#define ExtractIcon ExtractIconW +#define ExtractIconEx ExtractIconExW +#define FindExecutable FindExecutableW +#define Shell_NotifyIcon Shell_NotifyIconW +#define ShellAbout ShellAboutW +#define ShellExecute ShellExecuteW +#define ShellExecuteEx ShellExecuteExW +#define SHFileOperation SHFileOperationW +#define SHGetFileInfo SHGetFileInfoW +#else +typedef NOTIFYICONDATAA NOTIFYICONDATA,*PNOTIFYICONDATA; +typedef SHELLEXECUTEINFOA SHELLEXECUTEINFO,*LPSHELLEXECUTEINFO; +typedef SHFILEOPSTRUCTA SHFILEOPSTRUCT,*LPSHFILEOPSTRUCT; +typedef SHFILEINFOA SHFILEINFO; +#define DragQueryFile DragQueryFileA +#define ExtractAssociatedIcon ExtractAssociatedIconA +#define ExtractIcon ExtractIconA +#define ExtractIconEx ExtractIconExA +#define FindExecutable FindExecutableA +#define Shell_NotifyIcon Shell_NotifyIconA +#define ShellAbout ShellAboutA +#define ShellExecute ShellExecuteA +#define ShellExecuteEx ShellExecuteExA +#define SHFileOperation SHFileOperationA +#define SHGetFileInfo SHGetFileInfoA +#endif +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/shlguid.h b/winsup/w32api/include/shlguid.h new file mode 100644 index 000000000..d658e6ebc --- /dev/null +++ b/winsup/w32api/include/shlguid.h @@ -0,0 +1,73 @@ +#ifndef _SHLGUID_H +#define _SHLGUID_H +#ifdef __cplusplus +extern "C" { +#endif +#define DEFINE_SHLGUID(n,l,w1,w2) DEFINE_GUID(n,l,w1,w2,0xC0,0,0,0,0,0,0,0x46) +#define SID_SShellBrowser IID_IShellBrowser +extern const GUID CLSID_ShellDesktop; +extern const GUID CLSID_ShellLink; +extern const GUID FMTID_Intshcut; +extern const GUID FMTID_InternetSite; +extern const GUID CGID_Explorer; +extern const GUID CGID_ShellDocView; +extern const GUID IID_INewShortcutHookA; +extern const GUID IID_IShellBrowser; +extern const GUID IID_IShellView; +extern const GUID IID_IContextMenu; +extern const GUID IID_IShellIcon; +extern const GUID IID_IShellFolder; +extern const GUID IID_IShellExtInit; +extern const GUID IID_IShellPropSheetExt; +extern const GUID IID_IPersistFolder; +extern const GUID IID_IExtractIconA; +extern const GUID IID_IShellLinkA; +extern const GUID IID_IShellCopyHookA; +extern const GUID IID_IFileViewerA; +extern const GUID IID_ICommDlgBrowser; +extern const GUID IID_IEnumIDList; +extern const GUID IID_IFileViewerSite; +extern const GUID IID_IContextMenu2; +extern const GUID IID_IShellExecuteHookA; +extern const GUID IID_IPropSheetPage; +extern const GUID IID_INewShortcutHookW; +extern const GUID IID_IFileViewerW; +extern const GUID IID_IShellLinkW; +extern const GUID IID_IExtractIconW; +extern const GUID IID_IShellExecuteHookW; +extern const GUID IID_IShellCopyHookW; +extern const GUID IID_IShellView2; +extern const GUID LIBID_SHDocVw; +extern const GUID IID_IShellExplorer; +extern const GUID DIID_DShellExplorerEvents; +extern const GUID CLSID_ShellExplorer; +extern const GUID IID_ISHItemOC; +extern const GUID DIID_DSHItemOCEvents; +extern const GUID CLSID_SHItemOC; +extern const GUID IID_DHyperLink; +extern const GUID IID_DIExplorer; +extern const GUID DIID_DExplorerEvents; +extern const GUID CLSID_InternetExplorer; +extern const GUID CLSID_StdHyperLink; +extern const GUID CLSID_FileTypes; +extern const GUID CLSID_InternetShortcut; +extern const GUID IID_IUniformResourceLocator; +#ifdef UNICODE +#define IID_IFileViewer IID_IFileViewerW +#define IID_IShellLink IID_IShellLinkW +#define IID_IExtractIcon IID_IExtractIconW +#define IID_IShellCopyHook IID_IShellCopyHookW +#define IID_IShellExecuteHook IID_IShellExecuteHookW +#define IID_INewShortcutHook IID_INewShortcutHookW +#else +#define IID_IFileViewer IID_IFileViewerA +#define IID_IShellLink IID_IShellLinkA +#define IID_IExtractIcon IID_IExtractIconA +#define IID_IShellCopyHook IID_IShellCopyHookA +#define IID_IShellExecuteHook IID_IShellExecuteHookA +#define IID_INewShortcutHook IID_INewShortcutHookA +#endif +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/shlobj.h b/winsup/w32api/include/shlobj.h new file mode 100644 index 000000000..6ce37ec29 --- /dev/null +++ b/winsup/w32api/include/shlobj.h @@ -0,0 +1,695 @@ +#ifndef _SHLOBJ_H +#define _SHLOBJ_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include <ole2.h> +#include <shlguid.h> +#include <shellapi.h> +#pragma pack(push,1) +#include <commctrl.h> + +#define BIF_RETURNONLYFSDIRS 1 +#define BIF_DONTGOBELOWDOMAIN 2 +#define BIF_STATUSTEXT 4 +#define BIF_RETURNFSANCESTORS 8 +#define BIF_BROWSEFORCOMPUTER 0x1000 +#define BIF_BROWSEFORPRINTER 0x2000 +#define BFFM_INITIALIZED 1 +#define BFFM_SELCHANGED 2 +#define BFFM_SETSTATUSTEXT (WM_USER + 100) +#define BFFM_ENABLEOK (WM_USER + 101) +#define BFFM_SETSELECTION (WM_USER + 102) +#define CMIC_MASK_HOTKEY SEE_MASK_HOTKEY +#define CMIC_MASK_ICON SEE_MASK_ICON +#define CMIC_MASK_FLAG_NO_UI SEE_MASK_FLAG_NO_UI +#define CMDSTR_NEWFOLDER "NewFolder" +#define CMDSTR_VIEWLIST "ViewList" +#define CMDSTR_VIEWDETAILS "ViewDetails" +#define DVASPECT_SHORTNAME 2 +#define SHARD_PIDL 1 +#define SHARD_PATH 2 +#define SHCNE_RENAMEITEM 1 +#define SHCNE_CREATE 2 +#define SHCNE_DELETE 4 +#define SHCNE_MKDIR 8 +#define SHCNE_RMDIR 16 +#define SHCNE_MEDIAINSERTED 32 +#define SHCNE_MEDIAREMOVED 64 +#define SHCNE_DRIVEREMOVED 128 +#define SHCNE_DRIVEADD 256 +#define SHCNE_NETSHARE 512 +#define SHCNE_NETUNSHARE 1024 +#define SHCNE_ATTRIBUTES 2048 +#define SHCNE_UPDATEDIR 4096 +#define SHCNE_UPDATEITEM 8192 +#define SHCNE_SERVERDISCONNECT 16384 +#define SHCNE_UPDATEIMAGE 32768 +#define SHCNE_DRIVEADDGUI 65536 +#define SHCNE_RENAMEFOLDER 0x20000 +#define SHCNE_FREESPACE 0x40000 +#define SHCNE_ASSOCCHANGED 0x8000000 +#define SHCNE_DISKEVENTS 0x2381F +#define SHCNE_GLOBALEVENTS 0xC0581E0 +#define SHCNE_ALLEVENTS 0x7FFFFFFF +#define SHCNE_INTERRUPT 0x80000000 +#define SHCNF_IDLIST 0 +#define SHCNF_PATH 1 +#define SHCNF_PRINTER 2 +#define SHCNF_DWORD 3 +#define SHCNF_TYPE 0xFF +#define SHCNF_FLUSH 0x1000 +#define SHCNF_FLUSHNOWAIT 0x2000 +#define SFGAO_CANCOPY DROPEFFECT_COPY +#define SFGAO_CANMOVE DROPEFFECT_MOVE +#define SFGAO_CANLINK DROPEFFECT_LINK +#define SFGAO_CANRENAME 0x00000010L +#define SFGAO_CANDELETE 0x00000020L +#define SFGAO_HASPROPSHEET 0x00000040L +#define SFGAO_DROPTARGET 0x00000100L +#define SFGAO_CAPABILITYMASK 0x00000177L +#define SFGAO_LINK 0x00010000L +#define SFGAO_SHARE 0x00020000L +#define SFGAO_READONLY 0x00040000L +#define SFGAO_GHOSTED 0x00080000L +#define SFGAO_DISPLAYATTRMASK 0x000F0000L +#define SFGAO_FILESYSANCESTOR 0x10000000L +#define SFGAO_FOLDER 0x20000000L +#define SFGAO_FILESYSTEM 0x40000000L +#define SFGAO_HASSUBFOLDER 0x80000000L +#define SFGAO_CONTENTSMASK 0x80000000L +#define SFGAO_VALIDATE 0x01000000L +#define SFGAO_REMOVABLE 0x02000000L +#define STRRET_WSTR 0 +#define STRRET_OFFSET 1 +#define STRRET_CSTR 2 +#define SHGDFIL_FINDDATA 1 +#define SHGDFIL_NETRESOURCE 2 +#define SHGDFIL_DESCRIPTIONID 3 +#define SHDID_ROOT_REGITEM 1 +#define SHDID_FS_FILE 2 +#define SHDID_FS_DIRECTORY 3 +#define SHDID_FS_OTHER 4 +#define SHDID_COMPUTER_DRIVE35 5 +#define SHDID_COMPUTER_DRIVE525 6 +#define SHDID_COMPUTER_REMOVABLE 7 +#define SHDID_COMPUTER_FIXED 8 +#define SHDID_COMPUTER_NETDRIVE 9 +#define SHDID_COMPUTER_CDROM 10 +#define SHDID_COMPUTER_RAMDISK 11 +#define SHDID_COMPUTER_OTHER 12 +#define SHDID_NET_DOMAIN 13 +#define SHDID_NET_SERVER 14 +#define SHDID_NET_SHARE 15 +#define SHDID_NET_RESTOFNET 16 +#define SHDID_NET_OTHER 17 +#ifndef REGSTR_PATH_EXPLORER +#define REGSTR_PATH_EXPLORER "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer" +#endif +#define REGSTR_PATH_SPECIAL_FOLDERS REGSTR_PATH_EXPLORER "\\Shell Folders" +#define CSIDL_DESKTOP 0 +#define CSIDL_PROGRAMS 2 +#define CSIDL_CONTROLS 3 +#define CSIDL_PRINTERS 4 +#define CSIDL_PERSONAL 5 +#define CSIDL_FAVORITES 6 +#define CSIDL_STARTUP 7 +#define CSIDL_RECENT 8 +#define CSIDL_SENDTO 9 +#define CSIDL_BITBUCKET 10 +#define CSIDL_STARTMENU 11 +#define CSIDL_DESKTOPDIRECTORY 16 +#define CSIDL_DRIVES 17 +#define CSIDL_NETWORK 18 +#define CSIDL_NETHOOD 19 +#define CSIDL_FONTS 20 +#define CSIDL_TEMPLATES 21 +#define CFSTR_SHELLIDLIST "Shell IDList Array" +#define CFSTR_SHELLIDLISTOFFSET "Shell Object Offsets" +#define CFSTR_NETRESOURCES "Net Resource" +#define CFSTR_FILEDESCRIPTOR "FileGroupDescriptor" +#define CFSTR_FILECONTENTS "FileContents" +#define CFSTR_FILENAME "FileName" +#define CFSTR_PRINTERGROUP "PrinterFriendlyName" +#define CFSTR_FILENAMEMAP "FileNameMap" +#define CMF_NORMAL 0 +#define CMF_DEFAULTONLY 1 +#define CMF_VERBSONLY 2 +#define CMF_EXPLORE 4 +#define CMF_RESERVED 0xffff0000 +#define GCS_VERB 0 +#define GCS_HELPTEXT 1 +#define GCS_VALIDATE 2 +#define CMDSTR_NEWFOLDER "NewFolder" +#define CMDSTR_VIEWLIST "ViewList" +#define CMDSTR_VIEWDETAILS "ViewDetails" +#define CMIC_MASK_HOTKEY SEE_MASK_HOTKEY +#define CMIC_MASK_ICON SEE_MASK_ICON +#define CMIC_MASK_FLAG_NO_UI SEE_MASK_FLAG_NO_UI +#define CMIC_MASK_MODAL 0x80000000 +#define CMIC_VALID_SEE_FLAGS SEE_VALID_CMIC_FLAGS +#define GIL_OPENICON 1 +#define GIL_FORSHELL 2 +#define GIL_SIMULATEDOC 1 +#define GIL_PERINSTANCE 2 +#define GIL_PERCLASS 4 +#define GIL_NOTFILENAME 8 +#define GIL_DONTCACHE 16 +#define FVSIF_RECT 1 +#define FVSIF_PINNED 2 +#define FVSIF_NEWFAILED 0x8000000 +#define FVSIF_NEWFILE 0x80000000 +#define FVSIF_CANVIEWIT 0x40000000 +#define CDBOSC_SETFOCUS 0 +#define CDBOSC_KILLFOCUS 1 +#define CDBOSC_SELCHANGE 2 +#define CDBOSC_RENAME 3 +#define FCIDM_SHVIEWFIRST 0 +#define FCIDM_SHVIEWLAST 0x7fff +#define FCIDM_BROWSERFIRST 0xa000 +#define FCIDM_BROWSERLAST 0xbf00 +#define FCIDM_GLOBALFIRST 0x8000 +#define FCIDM_GLOBALLAST 0x9fff +#define FCIDM_MENU_FILE FCIDM_GLOBALFIRST +#define FCIDM_MENU_EDIT (FCIDM_GLOBALFIRST+0x0040) +#define FCIDM_MENU_VIEW (FCIDM_GLOBALFIRST+0x0080) +#define FCIDM_MENU_VIEW_SEP_OPTIONS (FCIDM_GLOBALFIRST+0x0081) +#define FCIDM_MENU_TOOLS (FCIDM_GLOBALFIRST+0x00c0) +#define FCIDM_MENU_TOOLS_SEP_GOTO (FCIDM_GLOBALFIRST+0x00c1) +#define FCIDM_MENU_HELP (FCIDM_GLOBALFIRST+0x0100) +#define FCIDM_MENU_FIND (FCIDM_GLOBALFIRST+0x0140) +#define FCIDM_MENU_EXPLORE (FCIDM_GLOBALFIRST+0x0150) +#define FCIDM_MENU_FAVORITES (FCIDM_GLOBALFIRST+0x0170) +#define FCIDM_TOOLBAR FCIDM_BROWSERFIRST +#define FCIDM_STATUS (FCIDM_BROWSERFIRST+1) +#define SBSP_DEFBROWSER 0 +#define SBSP_SAMEBROWSER 1 +#define SBSP_NEWBROWSER 2 +#define SBSP_DEFMODE 0 +#define SBSP_OPENMODE 16 +#define SBSP_EXPLOREMODE 32 +#define SBSP_ABSOLUTE 0 +#define SBSP_RELATIVE 0x1000 +#define SBSP_PARENT 0x2000 +#define SBSP_INITIATEDBYHLINKFRAME 0x80000000 +#define SBSP_REDIRECT 0x40000000 +#define FCW_STATUS 1 +#define FCW_TOOLBAR 2 +#define FCW_TREE 3 +#define FCT_MERGE 1 +#define FCT_CONFIGABLE 2 +#define FCT_ADDTOEND 4 +#define SVSI_DESELECT 0 +#define SVSI_SELECT 1 +#define SVSI_EDIT 3 +#define SVSI_DESELECTOTHERS 4 +#define SVSI_ENSUREVISIBLE 8 +#define SVSI_FOCUSED 16 +#define SVGIO_BACKGROUND 0 +#define SVGIO_SELECTION 1 +#define SVGIO_ALLVIEW 2 +#define SV2GV_CURRENTVIEW ((UINT)-1) +#define SV2GV_DEFAULTVIEW ((UINT)-2) + +typedef struct _IDA { + UINT cidl; + UINT aoffset[1]; +} CIDA,*LPIDA; +typedef struct _SHITEMID { + USHORT cb; + BYTE abID[1]; +} SHITEMID, * LPSHITEMID; +typedef const SHITEMID *LPCSHITEMID; +typedef struct _ITEMIDLIST { + SHITEMID mkid; +} ITEMIDLIST,*LPITEMIDLIST; +typedef const ITEMIDLIST *LPCITEMIDLIST; +typedef int (CALLBACK* BFFCALLBACK)(HWND,UINT,LPARAM,LPARAM); +typedef struct _browseinfo { + HWND hwndOwner; + LPCITEMIDLIST pidlRoot; + LPSTR pszDisplayName; + LPCSTR lpszTitle; + UINT ulFlags; + BFFCALLBACK lpfn; + LPARAM lParam; + int iImage; +} BROWSEINFO,*PBROWSEINFO,*LPBROWSEINFO; +typedef struct _CMInvokeCommandInfo { + DWORD cbSize; + DWORD fMask; + HWND hwnd; + LPCSTR lpVerb; + LPCSTR lpParameters; + LPCSTR lpDirectory; + int nShow; + DWORD dwHotKey; + HANDLE hIcon; +} CMINVOKECOMMANDINFO,*LPCMINVOKECOMMANDINFO; +typedef struct _DROPFILES { + DWORD pFiles; + POINT pt; + BOOL fNC; + BOOL fWide; +} DROPFILES,*LPDROPFILES; +typedef enum tagSHGDN { + SHGDN_NORMAL=0, + SHGDN_INFOLDER, + SHGDN_FORPARSING=0x8000 +} SHGNO; +typedef enum tagSHCONTF { + SHCONTF_FOLDERS=32, + SHCONTF_NONFOLDERS=64, + SHCONTF_INCLUDEHIDDEN=128 +} SHCONTF; +typedef struct _STRRET { + UINT uType; + union { + LPWSTR pOleStr; + UINT uOffset; + char cStr[MAX_PATH]; + } DUMMYUNIONNAME; +} STRRET,*LPSTRRET; +typedef enum { + FD_CLSID=1,FD_SIZEPOINT=2,FD_ATTRIBUTES=4,FD_CREATETIME=8,FD_ACCESSTIME=16, + FD_WRITESTIME=32,FD_FILESIZE=64,FD_LINKUI=0x8000 +} FD_FLAGS; +typedef struct _FILEDESCRIPTOR { + DWORD dwFlags; + CLSID clsid; + SIZEL sizel; + POINTL pointl; + DWORD dwFileAttributes; + FILETIME ftCreationTime; + FILETIME ftLastAccessTime; + FILETIME ftLastWriteTime; + DWORD nFileSizeHigh; + DWORD nFileSizeLow; + CHAR cFileName[MAX_PATH]; +} FILEDESCRIPTOR,*LPFILEDESCRIPTOR; +typedef struct _FILEGROUPDESCRIPTOR { + UINT cItems; + FILEDESCRIPTOR fgd[1]; +} FILEGROUPDESCRIPTOR,*LPFILEGROUPDESCRIPTOR; +typedef enum { + SLR_NO_UI=1, + SLR_ANY_MATCH=2, + SLR_UPDATE=4 +} SLR_FLAGS; +typedef enum { + SLGP_SHORTPATH=1, + SLGP_UNCPRIORITY +} SLGP_FLAGS; +typedef PBYTE LPVIEWSETTINGS; +typedef enum { + FWF_AUTOARRANGE=1,FWF_ABBREVIATEDNAMES=2,FWF_SNAPTOGRID=4,FWF_OWNERDATA=8, + FWF_BESTFITWINDOW=16,FWF_DESKTOP=32,FWF_SINGLESEL=64,FWF_NOSUBFOLDERS=128, + FWF_TRANSPARENT=256,FWF_NOCLIENTEDGE=512,FWF_NOSCROLL=0x400,FWF_ALIGNLEFT=0x800, + FWF_SINGLECLICKACTIVATE=0x8000 +} FOLDERFLAGS; +typedef enum { + FVM_ICON=1, + FVM_SMALLICON, + FVM_LIST, + FVM_DETAILS +} FOLDERVIEWMODE; +typedef struct { + UINT ViewMode; + UINT fFlags; +} FOLDERSETTINGS,*LPFOLDERSETTINGS; +typedef const FOLDERSETTINGS *LPCFOLDERSETTINGS; +typedef struct { + DWORD cbSize; + HWND hwndOwner; + int iShow; + DWORD dwFlags; + RECT rect; + LPUNKNOWN punkRel; + OLECHAR strNewFile[MAX_PATH]; +} FVSHOWINFO,*LPFVSHOWINFO; +typedef struct _NRESARRAY { + UINT cItems; + NETRESOURCE nr[1]; +} NRESARRAY, *LPNRESARRAY; +enum { SBSC_HIDE,SBSC_SHOW,SBSC_TOGGLE,SBSC_QUERY }; +enum { + SBCMDID_ENABLESHOWTREE,SBCMDID_SHOWCONTROL,SBCMDID_CANCELNAVIGATION, + SBCMDID_MAYSAVECHANGES,SBCMDID_SETHLINKFRAME,SBCMDID_ENABLESTOP,SBCMDID_OPTIONS +}; +typedef enum { + SVUIA_DEACTIVATE,SVUIA_ACTIVATE_NOFOCUS,SVUIA_ACTIVATE_FOCUS, + SVUIA_INPLACEACTIVATE +} SVUIA_STATUS; + +DECLARE_ENUMERATOR_(IEnumIDList,LPITEMIDLIST); +typedef IEnumIDList *LPENUMIDLIST; + +#undef INTERFACE +#define INTERFACE IContextMenu +DECLARE_INTERFACE_(IContextMenu,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(QueryContextMenu)(THIS_ HMENU,UINT,UINT,UINT,UINT) PURE; + STDMETHOD(InvokeCommand)(THIS_ LPCMINVOKECOMMANDINFO) PURE; + STDMETHOD(GetCommandString)(THIS_ UINT,UINT,PUINT,LPSTR,UINT) PURE; +}; +typedef IContextMenu *LPCONTEXTMENU; + +#undef INTERFACE +#define INTERFACE IContextMenu2 +DECLARE_INTERFACE_(IContextMenu2,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(QueryContextMenu)(THIS_ HMENU,UINT,UINT,UINT,UINT) PURE; + STDMETHOD(HandleMenuMsg)(THIS_ UINT,WPARAM,LPARAM) PURE; + STDMETHOD(InvokeCommand)(THIS_ LPCMINVOKECOMMANDINFO) PURE; + STDMETHOD(GetCommandString)(THIS_ UINT,UINT,PUINT,LPSTR,UINT) PURE; +}; +typedef IContextMenu2 *LPCONTEXTMENU2; + +#undef INTERFACE +#define INTERFACE IShellExtInit +DECLARE_INTERFACE_(IShellExtInit, IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(Initialize)(THIS_ LPCITEMIDLIST,LPDATAOBJECT,HKEY) PURE; +}; +typedef IShellExtInit *LPSHELLEXTINIT; + +#undef INTERFACE +#define INTERFACE IShellPropSheetExt +DECLARE_INTERFACE_(IShellPropSheetExt, IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(AddPages)(THIS_ LPFNADDPROPSHEETPAGE,LPARAM) PURE; + STDMETHOD(ReplacePage)(THIS_ UINT,LPFNADDPROPSHEETPAGE,LPARAM) PURE; +}; +typedef IShellPropSheetExt *LPSHELLPROPSHEETEXT; + +#undef INTERFACE +#define INTERFACE IExtractIcon +DECLARE_INTERFACE_(IExtractIcon, IUnknown) // exic +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetIconLocation)(THIS_ UINT,LPSTR,UINT,int*,PUINT) PURE; + STDMETHOD(Extract)(THIS_ LPCSTR,UINT,HICON*,HICON*,UINT) PURE; +}; +typedef IExtractIcon *LPEXTRACTICON; + +#undef INTERFACE +#define INTERFACE IShellLinkA +DECLARE_INTERFACE_(IShellLinkA, IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetPath)(THIS_ LPSTR,int,LPWIN32_FIND_DATAA*,DWORD) PURE; + STDMETHOD(GetIDList)(THIS_ LPITEMIDLIST*) PURE; + STDMETHOD(SetIDList)(THIS_ LPCITEMIDLIST) PURE; + STDMETHOD(GetDescription)(THIS_ LPSTR,int) PURE; + STDMETHOD(SetDescription)(THIS_ LPCSTR) PURE; + STDMETHOD(GetWorkingDirectory)(THIS_ LPSTR,int) PURE; + STDMETHOD(SetWorkingDirectory)(THIS_ LPCSTR) PURE; + STDMETHOD(GetArguments)(THIS_ LPSTR,int) PURE; + STDMETHOD(SetArguments)(THIS_ LPCSTR) PURE; + STDMETHOD(GetHotkey)(THIS_ PWORD) PURE; + STDMETHOD(SetHotkey)(THIS_ WORD) PURE; + STDMETHOD(GetShowCmd)(THIS_ int*) PURE; + STDMETHOD(SetShowCmd)(THIS_ int) PURE; + STDMETHOD(GetIconLocation)(THIS_ LPSTR,int,int*) PURE; + STDMETHOD(SetIconLocation)(THIS_ LPCSTR,int) PURE; + STDMETHOD(SetRelativePath)(THIS_ LPCSTR ,DWORD) PURE; + STDMETHOD(Resolve)(THIS_ HWND,DWORD) PURE; + STDMETHOD(SetPath)(THIS_ LPCSTR) PURE; +}; +#undef INTERFACE +#define INTERFACE IShellLinkW +DECLARE_INTERFACE_(IShellLinkW, IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetPath)(THIS_ LPSTR,int,LPWIN32_FIND_DATAW*,DWORD) PURE; + STDMETHOD(GetIDList)(THIS_ LPITEMIDLIST*) PURE; + STDMETHOD(SetIDList)(THIS_ LPCITEMIDLIST) PURE; + STDMETHOD(GetDescription)(THIS_ LPWSTR,int) PURE; + STDMETHOD(SetDescription)(THIS_ LPCWSTR) PURE; + STDMETHOD(GetWorkingDirectory)(THIS_ LPWSTR,int) PURE; + STDMETHOD(SetWorkingDirectory)(THIS_ LPCWSTR) PURE; + STDMETHOD(GetArguments)(THIS_ LPWSTR,int) PURE; + STDMETHOD(SetArguments)(THIS_ LPCWSTR) PURE; + STDMETHOD(GetHotkey)(THIS_ PWORD) PURE; + STDMETHOD(SetHotkey)(THIS_ WORD) PURE; + STDMETHOD(GetShowCmd)(THIS_ int*) PURE; + STDMETHOD(SetShowCmd)(THIS_ int) PURE; + STDMETHOD(GetIconLocation)(THIS_ LPWSTR,int,int*) PURE; + STDMETHOD(SetIconLocation)(THIS_ LPCWSTR,int) PURE; + STDMETHOD(SetRelativePath)(THIS_ LPCWSTR ,DWORD) PURE; + STDMETHOD(Resolve)(THIS_ HWND,DWORD) PURE; + STDMETHOD(SetPath)(THIS_ LPCWSTR) PURE; +}; + +#undef INTERFACE +#define INTERFACE IShellFolder +DECLARE_INTERFACE_(IShellFolder, IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(ParseDisplayName)(THIS_ HWND,LPBC,LPOLESTR,PULONG,LPITEMIDLIST*,PULONG) PURE; + STDMETHOD(EnumObjects)(THIS_ HWND,DWORD,LPENUMIDLIST*) PURE; + STDMETHOD(BindToObject)(THIS_ LPCITEMIDLIST,LPBC,REFIID,PVOID*) PURE; + STDMETHOD(BindToStorage)(THIS_ LPCITEMIDLIST,LPBC,REFIID,PVOID*) PURE; + STDMETHOD(CompareIDs)(THIS_ LPARAM,LPCITEMIDLIST,LPCITEMIDLIST) PURE; + STDMETHOD(CreateViewObject)(THIS_ HWND,REFIID,PVOID*) PURE; + STDMETHOD(GetAttributesOf)(THIS_ UINT,LPCITEMIDLIST*,PULONG) PURE; + STDMETHOD(GetUIObjectOf)(THIS_ HWND,UINT,LPCITEMIDLIST*,REFIID,PUINT,PVOID*) PURE; + STDMETHOD(GetDisplayNameOf)(THIS_ LPCITEMIDLIST,DWORD,LPSTRRET) PURE; + STDMETHOD(SetNameOf)(THIS_ HWND,LPCITEMIDLIST,LPCOLESTR,DWORD,LPITEMIDLIST*) PURE; +}; +typedef IShellFolder *LPSHELLFOLDER; + +#undef INTERFACE +#define INTERFACE ICopyHook +DECLARE_INTERFACE_(ICopyHook, IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD_(UINT,CopyCallback)(THIS_ HWND,UINT,UINT,LPCSTR,DWORD,LPCSTR,DWORD) PURE; +}; +typedef ICopyHook *LPCOPYHOOK; + +#undef INTERFACE +#define INTERFACE IFileViewerSite +DECLARE_INTERFACE(IFileViewerSite) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(SetPinnedWindow)(THIS_ HWND) PURE; + STDMETHOD(GetPinnedWindow)(THIS_ HWND*) PURE; +}; +typedef IFileViewerSite *LPFILEVIEWERSITE; + +#undef INTERFACE +#define INTERFACE IFileViewer +DECLARE_INTERFACE(IFileViewer) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(ShowInitialize)(THIS_ LPFILEVIEWERSITE) PURE; + STDMETHOD(Show)(THIS_ LPFVSHOWINFO) PURE; + STDMETHOD(PrintTo)(THIS_ LPSTR,BOOL) PURE; +}; +typedef IFileViewer *LPFILEVIEWER; + +#undef INTERFACE +#define INTERFACE ICommDlgBrowser +DECLARE_INTERFACE_(ICommDlgBrowser,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(OnDefaultCommand)(THIS) PURE; + STDMETHOD(OnStateChange)(THIS_ ULONG) PURE; + STDMETHOD(IncludeObject)(THIS_ LPCITEMIDLIST) PURE; +}; +typedef ICommDlgBrowser *LPCOMMDLGBROWSER; + +#undef INTERFACE +#define INTERFACE IPersistFolder +DECLARE_INTERFACE_(IPersistFolder,IPersist) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetClassID)(THIS_ CLSID) PURE; + STDMETHOD(Initialize)(THIS_ LPCITEMIDLIST) PURE; +}; +typedef IPersistFolder *LPPERSISTFOLDER; + +typedef interface IShellBrowser *LPSHELLBROWSER; +typedef interface IShellView *LPSHELLVIEW; + +#undef INTERFACE +#define INTERFACE IShellBrowser +DECLARE_INTERFACE_(IShellBrowser,IOleWindow) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetWindow)(THIS_ HWND*) PURE; + STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE; + STDMETHOD(InsertMenusSB)(THIS_ HMENU,LPOLEMENUGROUPWIDTHS) PURE; + STDMETHOD(SetMenuSB)(THIS_ HMENU,HOLEMENU,HWND) PURE; + STDMETHOD(RemoveMenusSB)(THIS_ HMENU) PURE; + STDMETHOD(SetStatusTextSB) (THIS_ LPCOLESTR) PURE; + STDMETHOD(EnableModelessSB) (THIS_ BOOL ) PURE; + STDMETHOD(TranslateAcceleratorSB) (THIS_ LPMSG,WORD) PURE; + STDMETHOD(BrowseObject)(THIS_ LPCITEMIDLIST,UINT) PURE; + STDMETHOD(GetViewStateStream)(THIS_ DWORD,LPSTREAM*) PURE; + STDMETHOD(GetControlWindow)(THIS_ UINT,HWND*) PURE; + STDMETHOD(SendControlMsg)(THIS_ UINT,UINT,WPARAM,LPARAM,LRESULT*) PURE; + STDMETHOD(QueryActiveShellView)(THIS_ LPSHELLVIEW*) PURE; + STDMETHOD(OnViewWindowActive)(THIS_ LPSHELLVIEW) PURE; + STDMETHOD(SetToolbarItems)(THIS_ LPTBBUTTON,UINT,UINT) PURE; +}; + +#undef INTERFACE +#define INTERFACE IShellView +DECLARE_INTERFACE_(IShellView,IOleWindow) +{ + + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetWindow)(THIS_ HWND*) PURE; + STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE; + STDMETHOD(TranslateAccelerator) (THIS_ LPMSG) PURE; +#ifdef _FIX_ENABLEMODELESS_CONFLICT + STDMETHOD(EnableModelessSV)(THIS_ BOOL) PURE; +#else + STDMETHOD(EnableModeless)(THIS_ BOOL) PURE; +#endif + STDMETHOD(UIActivate)(THIS_ UINT) PURE; + STDMETHOD(Refresh) (THIS) PURE; + STDMETHOD(CreateViewWindow)(THIS_ IShellView*,LPCFOLDERSETTINGS,LPSHELLBROWSER,RECT*,HWND*) PURE; + STDMETHOD(DestroyViewWindow)(THIS) PURE; + STDMETHOD(GetCurrentInfo)(THIS_ LPFOLDERSETTINGS) PURE; + STDMETHOD(AddPropertySheetPages)(THIS_ DWORD,LPFNADDPROPSHEETPAGE,LPARAM) PURE; + STDMETHOD(SaveViewState)(THIS) PURE; + STDMETHOD(SelectItem)(THIS_ LPCITEMIDLIST,UINT) PURE; + STDMETHOD(GetItemObject)(THIS_ UINT,REFIID,PVOID*) PURE; +}; +typedef GUID SHELLVIEWID; +typedef struct _SV2CVW2_PARAMS { + DWORD cbSize; + IShellView *psvPrev; + FOLDERSETTINGS const *pfs; + IShellBrowser *psbOwner; + RECT *prcView; + SHELLVIEWID const *pvid; + HWND hwndView; +} SV2CVW2_PARAMS,*LPSV2CVW2_PARAMS; +#undef INTERFACE +#define INTERFACE IShellView2 +DECLARE_INTERFACE_(IShellView2,IShellView) +{ + + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetWindow)(THIS_ HWND*) PURE; + STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE; + STDMETHOD(TranslateAccelerator) (THIS_ LPMSG) PURE; +#ifdef _FIX_ENABLEMODELESS_CONFLICT + STDMETHOD(EnableModelessSV)(THIS_ BOOL) PURE; +#else + STDMETHOD(EnableModeless)(THIS_ BOOL) PURE; +#endif + STDMETHOD(UIActivate)(THIS_ UINT) PURE; + STDMETHOD(Refresh) (THIS) PURE; + STDMETHOD(CreateViewWindow)(THIS_ IShellView*,LPCFOLDERSETTINGS,LPSHELLBROWSER,RECT*,HWND*) PURE; + STDMETHOD(DestroyViewWindow)(THIS) PURE; + STDMETHOD(GetCurrentInfo)(THIS_ LPFOLDERSETTINGS) PURE; + STDMETHOD(AddPropertySheetPages)(THIS_ DWORD,LPFNADDPROPSHEETPAGE,LPARAM) PURE; + STDMETHOD(SaveViewState)(THIS) PURE; + STDMETHOD(SelectItem)(THIS_ LPCITEMIDLIST,UINT) PURE; + STDMETHOD(GetItemObject)(THIS_ UINT,REFIID,PVOID*) PURE; + STDMETHOD(GetView)(THIS_ SHELLVIEWID*,ULONG) PURE; + STDMETHOD(CreateViewWindow2)(THIS_ LPSV2CVW2_PARAMS) PURE; +}; + +#undef INTERFACE +#define INTERFACE IShellExecuteHookA +DECLARE_INTERFACE_(IShellExecuteHookA,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(Execute)(THIS_ LPSHELLEXECUTEINFOA) PURE; +}; +#undef INTERFACE +#define INTERFACE IShellExecuteHookW +DECLARE_INTERFACE_(IShellExecuteHookW,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(Execute)(THIS_ LPSHELLEXECUTEINFOW) PURE; +}; + +#undef INTERFACE +#define INTERFACE IShellIcon +DECLARE_INTERFACE_(IShellIcon,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(GetIconOf)(THIS_ LPCITEMIDLIST,UINT,PINT) PURE; +}; +typedef IShellIcon *LPSHELLICON; + +void WINAPI SHAddToRecentDocs(UINT,PCVOID); +LPITEMIDLIST WINAPI SHBrowseForFolder(PBROWSEINFO); +void WINAPI SHChangeNotify(LONG,UINT,PCVOID,PCVOID); +HRESULT WINAPI ShGetDataFromIDListA(LPSHELLFOLDER,LPCITEMIDLIST,int,PVOID,int); +HRESULT WINAPI ShGetDataFromIDListW(LPSHELLFOLDER,LPCITEMIDLIST,int,PVOID,int); +HRESULT WINAPI SHGetDesktopFolder(LPSHELLFOLDER*); +HRESULT WINAPI SHGetInstanceExplorer(LPUNKNOWN); +HRESULT WINAPI SHGetMalloc(LPMALLOC*); +BOOL WINAPI SHGetPathFromIDList(LPCITEMIDLIST,LPSTR); +HRESULT WINAPI SHGetSpecialFolderLocation(HWND,int,LPITEMIDLIST*); +HRESULT WINAPI SHLoadInProc(REFCLSID); + +#ifdef UNICODE +typedef IShellExecuteHookW IShellExecuteHook; +typedef IShellLinkW IShellLink; +#define ShGetDataFromIDList ShGetDataFromIDListW +#else +typedef IShellExecuteHookA IShellExecuteHook; +typedef IShellLinkA IShellLink; +#define ShGetDataFromIDList ShGetDataFromIDListA +#endif + +#pragma pack(pop) +#ifdef __cplusplus +} +#endif + + +#endif /* _SHLOBJ_H */ diff --git a/winsup/w32api/include/sql.h b/winsup/w32api/include/sql.h new file mode 100644 index 000000000..cbad41d3a --- /dev/null +++ b/winsup/w32api/include/sql.h @@ -0,0 +1,705 @@ +#ifndef _SQL_H +#define _SQL_H +#ifdef __cplusplus +extern "C" { +#endif +#ifndef ODBCVER +#define ODBCVER 0x0250 +#endif +#include "sqltypes.h" +/* FIXME! */ +#define SQL_SPEC_MAJOR (ODBCVER/0x100) +#define SQL_SPEC_MINOR (ODBCVER&0xFF00) +#define SQL_SPEC_STRING "02.50" +#define SQL_ACCESSIBLE_PROCEDURES 20 +#define SQL_ACCESSIBLE_TABLES 19 +#define SQL_ACCESS_MODE 101 +#define SQL_ACTIVE_CONNECTIONS 0 +#define SQL_ACTIVE_STATEMENTS 1 +#define SQL_ALL_EXCEPT_LIKE 2 +#define SQL_ALL_TYPES 0 +#define SQL_ALTER_TABLE 86 +#define SQL_API_ALL_FUNCTIONS 0 +#define SQL_API_LOADBYORDINAL 199 +#define SQL_API_SQLALLOCCONNECT 1 +#define SQL_API_SQLALLOCENV 2 +#define SQL_API_SQLALLOCSTMT 3 +#define SQL_API_SQLBINDCOL 4 +#define SQL_API_SQLBINDPARAMETER 72 +#define SQL_API_SQLBROWSECONNECT 55 +#define SQL_API_SQLCANCEL 5 +#define SQL_API_SQLCOLATTRIBUTES 6 +#define SQL_API_SQLCOLUMNPRIVILEGES 56 +#define SQL_API_SQLCOLUMNS 40 +#define SQL_API_SQLCONNECT 7 +#define SQL_API_SQLDATASOURCES 57 +#define SQL_API_SQLDESCRIBECOL 8 +#define SQL_API_SQLDESCRIBEPARAM 58 +#define SQL_API_SQLDISCONNECT 9 +#define SQL_API_SQLDRIVERCONNECT 41 +#define SQL_API_SQLDRIVERS 71 +#define SQL_API_SQLERROR 10 +#define SQL_API_SQLEXECDIRECT 11 +#define SQL_API_SQLEXECUTE 12 +#define SQL_API_SQLEXTENDEDFETCH 59 +#define SQL_API_SQLFETCH 13 +#define SQL_API_SQLFOREIGNKEYS 60 +#define SQL_API_SQLFREECONNECT 14 +#define SQL_API_SQLFREEENV 15 +#define SQL_API_SQLFREESTMT 16 +#define SQL_API_SQLGETCONNECTOPTION 42 +#define SQL_API_SQLGETCURSORNAME 17 +#define SQL_API_SQLGETDATA 43 +#define SQL_API_SQLGETFUNCTIONS 44 +#define SQL_API_SQLGETINFO 45 +#define SQL_API_SQLGETSTMTOPTION 46 +#define SQL_API_SQLGETTYPEINFO 47 +#define SQL_API_SQLMORERESULTS 61 +#define SQL_API_SQLNATIVESQL 62 +#define SQL_API_SQLNUMPARAMS 63 +#define SQL_API_SQLNUMRESULTCOLS 18 +#define SQL_API_SQLPARAMDATA 48 +#define SQL_API_SQLPARAMOPTIONS 64 +#define SQL_API_SQLPREPARE 19 +#define SQL_API_SQLPRIMARYKEYS 65 +#define SQL_API_SQLPROCEDURECOLUMNS 66 +#define SQL_API_SQLPROCEDURES 67 +#define SQL_API_SQLPUTDATA 49 +#define SQL_API_SQLROWCOUNT 20 +#define SQL_API_SQLSETCONNECTOPTION 50 +#define SQL_API_SQLSETCURSORNAME 21 +#define SQL_API_SQLSETPARAM 22 +#define SQL_API_SQLSETPOS 68 +#define SQL_API_SQLSETSCROLLOPTIONS 69 +#define SQL_API_SQLSETSTMTOPTION 51 +#define SQL_API_SQLSPECIALCOLUMNS 52 +#define SQL_API_SQLSTATISTICS 53 +#define SQL_API_SQLTABLEPRIVILEGES 70 +#define SQL_API_SQLTABLES 54 +#define SQL_API_SQLTRANSACT 23 +#define SQL_ASYNC_ENABLE_OFF 0 +#define SQL_ASYNC_ENABLE_ON 1 +#define SQL_ASYNC_ENABLE 4 +#define SQL_ASYNC_ENABLE_DEFAULT SQL_ASYNC_ENABLE_OFF +#define SQL_ATTR_READONLY 0 +#define SQL_ATTR_READWRITE_UNKNOWN 2 +#define SQL_ATTR_WRITE 1 +#define SQL_AT_ADD_COLUMN 1 +#define SQL_AT_DROP_COLUMN 2 +#define SQL_AUTOCOMMIT 102 +#define SQL_AUTOCOMMIT_DEFAULT SQL_AUTOCOMMIT_ON +#define SQL_AUTOCOMMIT_OFF 0UL +#define SQL_AUTOCOMMIT_ON 1UL +#define SQL_BEST_ROWID 1 +#define SQL_BIGINT (-5) +#define SQL_BINARY (-2) +#define SQL_BIND_BY_COLUMN 0UL +#define SQL_BIND_TYPE 5 +#define SQL_BIND_TYPE_DEFAULT SQL_BIND_BY_COLUMN +#define SQL_BIT (-7) +#define SQL_BOOKMARK_PERSISTENCE 82 +#define SQL_BP_CLOSE 1 +#define SQL_BP_DELETE 2 +#define SQL_BP_DROP 4 +#define SQL_BP_OTHER_HSTMT 32 +#define SQL_BP_SCROLL 64 +#define SQL_BP_TRANSACTION 8 +#define SQL_BP_UPDATE 16 +#define SQL_CB_CLOSE 1 +#define SQL_CB_DELETE 0 +#define SQL_CB_NON_NULL 1 +#define SQL_CB_NULL 0 +#define SQL_CB_PRESERVE 2 +#define SQL_CC_CLOSE SQL_CB_CLOSE +#define SQL_CC_DELETE SQL_CB_DELETE +#define SQL_CC_PRESERVE SQL_CB_PRESERVE +#define SQL_CHAR 1 +#define SQL_CLOSE 0 +#define SQL_CN_ANY 2 +#define SQL_CN_DIFFERENT 1 +#define SQL_CN_NONE 0 +#define SQL_COLUMN_ALIAS 87 +#define SQL_COLUMN_AUTO_INCREMENT 11 +#define SQL_COLUMN_CASE_SENSITIVE 12 +#define SQL_COLUMN_COUNT 0 +#define SQL_COLUMN_DISPLAY_SIZE 6 +#define SQL_COLUMN_DRIVER_START 1000 +#define SQL_COLUMN_LABEL 18 +#define SQL_COLUMN_LENGTH 3 +#define SQL_COLUMN_MONEY 9 +#define SQL_COLUMN_NAME 1 +#define SQL_COLUMN_NULLABLE 7 +#define SQL_COLUMN_OWNER_NAME 16 +#define SQL_COLUMN_PRECISION 4 +#define SQL_COLUMN_QUALIFIER_NAME 17 +#define SQL_COLUMN_SCALE 5 +#define SQL_COLUMN_SEARCHABLE 13 +#define SQL_COLUMN_TABLE_NAME 15 +#define SQL_COLUMN_TYPE 2 +#define SQL_COLUMN_TYPE_NAME 14 +#define SQL_COLUMN_UNSIGNED 8 +#define SQL_COLUMN_UPDATABLE 10 +#define SQL_COLATT_OPT_MAX SQL_COLUMN_LABEL +#define SQL_COLATT_OPT_MIN SQL_COLUMN_COUNT +#define SQL_COMMIT 0 +#define SQL_CONCAT_NULL_BEHAVIOR 22 +#define SQL_CONCURRENCY 7 +#define SQL_CONCUR_READ_ONLY 1 +#define SQL_CONCUR_ROWVER 3 +#define SQL_CONCUR_DEFAULT SQL_CONCUR_READ_ONLY +#define SQL_CONCUR_LOCK 2 +#define SQL_CONCUR_TIMESTAMP SQL_CONCUR_ROWVER +#define SQL_CONCUR_VALUES 4 +#define SQL_CONNECT_OPT_DRVR_START 1000 +#define SQL_PACKET_SIZE 112 +#define SQL_CONN_OPT_MAX SQL_PACKET_SIZE +#define SQL_CONN_OPT_MIN SQL_ACCESS_MODE +#define SQL_CONVERT_BIGINT 53 +#define SQL_CONVERT_BINARY 54 +#define SQL_CONVERT_BIT 55 +#define SQL_CONVERT_CHAR 56 +#define SQL_CONVERT_DATE 57 +#define SQL_CONVERT_DECIMAL 58 +#define SQL_CONVERT_DOUBLE 59 +#define SQL_CONVERT_FLOAT 60 +#define SQL_CONVERT_FUNCTIONS 48 +#define SQL_CONVERT_INTEGER 61 +#define SQL_CONVERT_LONGVARBINARY 71 +#define SQL_CONVERT_LONGVARCHAR 62 +#define SQL_CONVERT_NUMERIC 63 +#define SQL_CONVERT_REAL 64 +#define SQL_CONVERT_SMALLINT 65 +#define SQL_CONVERT_TIME 66 +#define SQL_CONVERT_TIMESTAMP 67 +#define SQL_CONVERT_TINYINT 68 +#define SQL_CONVERT_VARBINARY 69 +#define SQL_CONVERT_VARCHAR 70 +#define SQL_CORRELATION_NAME 74 +#define SQL_CR_CLOSE SQL_CB_CLOSE +#define SQL_CR_DELETE SQL_CB_DELETE +#define SQL_CR_PRESERVE SQL_CB_PRESERVE +#define SQL_CURRENT_QUALIFIER 109 +#define SQL_CUR_DEFAULT SQL_CUR_USE_DRIVER +#define SQL_CUR_USE_DRIVER 2UL +#define SQL_CUR_USE_IF_NEEDED 0UL +#define SQL_CUR_USE_ODBC 1UL +#define SQL_CURSOR_COMMIT_BEHAVIOR 23 +#define SQL_CURSOR_DYNAMIC 2UL +#define SQL_CURSOR_FORWARD_ONLY 0UL +#define SQL_CURSOR_KEYSET_DRIVEN 1UL +#define SQL_CURSOR_ROLLBACK_BEHAVIOR 24 +#define SQL_CURSOR_STATIC 3UL +#define SQL_CURSOR_TYPE 6 +#define SQL_CURSOR_TYPE_DEFAULT SQL_CURSOR_FORWARD_ONLY +#define SQL_CVT_BIGINT 0x00004000L +#define SQL_CVT_BINARY 0x00000400L +#define SQL_CVT_BIT 0x00001000L +#define SQL_CVT_CHAR 1 +#define SQL_CVT_DATE 0x00008000L +#define SQL_CVT_DECIMAL 4 +#define SQL_CVT_DOUBLE 128 +#define SQL_CVT_FLOAT 32 +#define SQL_CVT_INTEGER 8 +#define SQL_CVT_LONGVARBINARY 0x00040000L +#define SQL_CVT_LONGVARCHAR 512 +#define SQL_CVT_NUMERIC 2 +#define SQL_CVT_REAL 64 +#define SQL_CVT_SMALLINT 16 +#define SQL_CVT_TIME 0x10000L +#define SQL_CVT_TIMESTAMP 0x20000L +#define SQL_CVT_TINYINT 0x2000L +#define SQL_CVT_VARBINARY 0x800L +#define SQL_CVT_VARCHAR 256 +#define SQL_DATABASE_NAME 16 +#define SQL_DATA_AT_EXEC (-2) +#define SQL_DATA_SOURCE_NAME 2 +#define SQL_DATA_SOURCE_READ_ONLY 25 +#define SQL_DATE 9 +#define SQL_DBMS_NAME 17 +#define SQL_DBMS_VER 18 +#define SQL_DECIMAL 3 +#define SQL_DEFAULT_TXN_ISOLATION 26 +#define SQL_DOUBLE 8 +#define SQL_DRIVER_HDBC 3 +#define SQL_DRIVER_HENV 4 +#define SQL_DRIVER_HLIB 76 +#define SQL_DRIVER_HSTMT 5 +#define SQL_DRIVER_NAME 6 +#define SQL_DRIVER_ODBC_VER 77 +#define SQL_DRIVER_VER 7 +#define SQL_DROP 1 +#define SQL_ENSURE 1 +#define SQL_ERROR (-1) +#define SQL_EXPRESSIONS_IN_ORDERBY 27 +#define SQL_EXT_API_LAST SQL_API_SQLBINDPARAMETER +#define SQL_EXT_API_START 40 +#define SQL_FD_FETCH_ABSOLUTE 16 +#define SQL_FD_FETCH_BOOKMARK 128 +#define SQL_FD_FETCH_FIRST 2 +#define SQL_FD_FETCH_LAST 4 +#define SQL_FD_FETCH_NEXT 1 +#define SQL_FD_FETCH_PREV SQL_FD_FETCH_PRIOR +#define SQL_FD_FETCH_PRIOR 8 +#define SQL_FD_FETCH_RELATIVE 32 +#define SQL_FD_FETCH_RESUME 64 +#define SQL_FETCH_DIRECTION 8 +#define SQL_FETCH_FIRST 2 +#define SQL_FETCH_NEXT 1 +#define SQL_FETCH_PREV SQL_FETCH_PRIOR +#define SQL_FETCH_RESUME 7 +#define SQL_FILE_NOT_SUPPORTED 0 +#define SQL_FILE_QUALIFIER 2 +#define SQL_FILE_TABLE 1 +#define SQL_FILE_USAGE 84 +#define SQL_FLOAT 6 +#define SQL_FN_CVT_CONVERT 1 +#define SQL_FN_NUM_ABS 1 +#define SQL_FN_NUM_ACOS 2 +#define SQL_FN_NUM_ASIN 4 +#define SQL_FN_NUM_ATAN 8 +#define SQL_FN_NUM_ATAN2 16 +#define SQL_FN_NUM_CEILING 32 +#define SQL_FN_NUM_COS 64 +#define SQL_FN_NUM_COT 128 +#define SQL_FN_NUM_DEGREES 0x40000L +#define SQL_FN_NUM_EXP 256 +#define SQL_FN_NUM_FLOOR 512 +#define SQL_FN_NUM_LOG 1024 +#define SQL_FN_NUM_LOG10 0x80000L +#define SQL_FN_NUM_MOD 0x800L +#define SQL_FN_NUM_PI 0x10000L +#define SQL_FN_NUM_POWER 0x100000L +#define SQL_FN_NUM_RADIANS 0x200000L +#define SQL_FN_NUM_RAND 0x20000L +#define SQL_FN_NUM_ROUND 0x400000L +#define SQL_FN_NUM_SIGN 0x1000L +#define SQL_FN_NUM_SIN 0x2000L +#define SQL_FN_NUM_SQRT 0x00004000L +#define SQL_FN_NUM_TAN 0x00008000L +#define SQL_FN_NUM_TRUNCATE 0x00800000L +#define SQL_FN_STR_ASCII 0x00002000L +#define SQL_FN_STR_CHAR 0x00004000L +#define SQL_FN_STR_CONCAT 1 +#define SQL_FN_STR_DIFFERENCE 0x00008000L +#define SQL_FN_STR_INSERT 2 +#define SQL_FN_STR_LCASE 64 +#define SQL_FN_STR_LEFT 4 +#define SQL_FN_STR_LENGTH 16 +#define SQL_FN_STR_LOCATE 32 +#define SQL_FN_STR_LOCATE_2 0x00010000L +#define SQL_FN_STR_LTRIM 8 +#define SQL_FN_STR_REPEAT 128 +#define SQL_FN_STR_REPLACE 256 +#define SQL_FN_STR_RIGHT 512 +#define SQL_FN_STR_RTRIM 1024 +#define SQL_FN_STR_SOUNDEX 0x00020000L +#define SQL_FN_STR_SPACE 0x00040000L +#define SQL_FN_STR_SUBSTRING 0x00000800L +#define SQL_FN_STR_UCASE 0x00001000L +#define SQL_FN_SYS_DBNAME 0x00000002L +#define SQL_FN_SYS_IFNULL 0x00000004L +#define SQL_FN_SYS_USERNAME 0x00000001L +#define SQL_FN_TD_CURDATE 0x00000002L +#define SQL_FN_TD_CURTIME 0x00000200L +#define SQL_FN_TD_DAYNAME 0x00008000L +#define SQL_FN_TD_DAYOFMONTH 0x00000004L +#define SQL_FN_TD_DAYOFWEEK 0x00000008L +#define SQL_FN_TD_DAYOFYEAR 0x00000010L +#define SQL_FN_TD_HOUR 0x00000400L +#define SQL_FN_TD_MINUTE 0x00000800L +#define SQL_FN_TD_MONTH 32 +#define SQL_FN_TD_MONTHNAME 0x00010000L +#define SQL_FN_TD_NOW 1 +#define SQL_FN_TD_QUARTER 64 +#define SQL_FN_TD_SECOND 0x00001000L +#define SQL_FN_TD_TIMESTAMPADD 0x00002000L +#define SQL_FN_TD_TIMESTAMPDIFF 0x00004000L +#define SQL_FN_TD_WEEK 128 +#define SQL_FN_TD_YEAR 256 +#define SQL_FN_TSI_DAY 16 +#define SQL_FN_TSI_FRAC_SECOND 1 +#define SQL_FN_TSI_HOUR 8 +#define SQL_FN_TSI_MINUTE 4 +#define SQL_FN_TSI_MONTH 64 +#define SQL_FN_TSI_QUARTER 128 +#define SQL_FN_TSI_SECOND 2 +#define SQL_FN_TSI_WEEK 32 +#define SQL_FN_TSI_YEAR 256 +#define SQL_GB_GROUP_BY_CONTAINS_SELECT 2 +#define SQL_GB_GROUP_BY_EQUALS_SELECT 1 +#define SQL_GB_NOT_SUPPORTED 0 +#define SQL_GB_NO_RELATION 3 +#define SQL_GD_ANY_COLUMN 1 +#define SQL_GD_ANY_ORDER 2 +#define SQL_GD_BLOCK 4 +#define SQL_GD_BOUND 8 +#define SQL_GETDATA_EXTENSIONS 81 +#define SQL_GET_BOOKMARK 13 +#define SQL_GROUP_BY 88 +#define SQL_IC_LOWER 2 +#define SQL_IC_MIXED 4 +#define SQL_IC_SENSITIVE 3 +#define SQL_IC_UPPER 1 +#define SQL_IDENTIFIER_CASE 28 +#define SQL_IDENTIFIER_QUOTE_CHAR 29 +#define SQL_INDEX_ALL 1 +#define SQL_INDEX_CLUSTERED 1 +#define SQL_INDEX_HASHED 2 +#define SQL_INDEX_OTHER 3 +#define SQL_INDEX_UNIQUE 0 +#define SQL_INFO_DRIVER_START 1000 +#define SQL_INFO_FIRST 0 +#define SQL_INFO_LAST SQL_QUALIFIER_LOCATION +#define SQL_INTEGER 4 +#define SQL_INTERVAL_DAY (-83) +#define SQL_INTERVAL_DAY_TO_HOUR (-87) +#define SQL_INTERVAL_DAY_TO_MINUTE (-88) +#define SQL_INTERVAL_DAY_TO_SECOND (-89) +#define SQL_INTERVAL_HOUR (-84) +#define SQL_INTERVAL_HOUR_TO_MINUTE (-90) +#define SQL_INTERVAL_HOUR_TO_SECOND (-91) +#define SQL_INTERVAL_MINUTE (-85) +#define SQL_INTERVAL_MINUTE_TO_SECOND (-92) +#define SQL_INTERVAL_MONTH (-81) +#define SQL_INTERVAL_SECOND (-86) +#define SQL_INTERVAL_YEAR (-80) +#define SQL_INTERVAL_YEAR_TO_MONTH (-82) +#define SQL_INVALID_HANDLE (-2) +#define SQL_KEYSET_SIZE 8 +#define SQL_KEYSET_SIZE_DEFAULT 0 +#define SQL_KEYWORDS 89 +#define SQL_LCK_EXCLUSIVE 2 +#define SQL_LCK_NO_CHANGE 1 +#define SQL_LCK_UNLOCK 4 +#define SQL_LIKE_ESCAPE_CLAUSE 113 +#define SQL_LIKE_ONLY 1 +#define SQL_LOCK_TYPES 78 +#define SQL_LOGIN_TIMEOUT 103 +#define SQL_LOGIN_TIMEOUT_DEFAULT 15UL +#define SQL_LONGVARBINARY (-4) +#define SQL_LONGVARCHAR (-1) +#define SQL_MAX_BINARY_LITERAL_LEN 112 +#define SQL_MAX_CHAR_LITERAL_LEN 108 +#define SQL_MAX_COLUMNS_IN_GROUP_BY 97 +#define SQL_MAX_COLUMNS_IN_INDEX 98 +#define SQL_MAX_COLUMNS_IN_ORDER_BY 99 +#define SQL_MAX_COLUMNS_IN_SELECT 100 +#define SQL_MAX_COLUMNS_IN_TABLE 101 +#define SQL_MAX_COLUMN_NAME_LEN 30 +#define SQL_MAX_CURSOR_NAME_LEN 31 +#define SQL_MAX_DSN_LENGTH 32 +#define SQL_MAX_INDEX_SIZE 102 +#define SQL_MAX_LENGTH 3 +#define SQL_MAX_LENGTH_DEFAULT 0 +#define SQL_MAX_MESSAGE_LENGTH 512 +#define SQL_MAX_OPTION_STRING_LENGTH 256 +#define SQL_MAX_OWNER_NAME_LEN 32 +#define SQL_MAX_PROCEDURE_NAME_LEN 33 +#define SQL_MAX_QUALIFIER_NAME_LEN 34 +#define SQL_MAX_ROWS 1 +#define SQL_MAX_ROWS_DEFAULT 0UL +#define SQL_MAX_ROW_SIZE 104 +#define SQL_MAX_ROW_SIZE_INCLUDES_LONG 103 +#define SQL_MAX_STATEMENT_LEN 105 +#define SQL_MAX_TABLES_IN_SELECT 106 +#define SQL_MAX_TABLE_NAME_LEN 35 +#define SQL_MAX_USER_NAME_LEN 107 +#define SQL_MODE_DEFAULT SQL_MODE_READ_WRITE +#define SQL_MODE_READ_ONLY 1UL +#define SQL_MODE_READ_WRITE 0UL +#define SQL_MULTIPLE_ACTIVE_TXN 37 +#define SQL_MULT_RESULT_SETS 36 +#define SQL_NC_END 4 +#define SQL_NC_HIGH 0 +#define SQL_NC_LOW 1 +#define SQL_NC_START 2 +#define SQL_NEED_DATA 99 +#define SQL_NEED_LONG_DATA_LEN 111 +#define SQL_NNC_NON_NULL 1 +#define SQL_NNC_NULL 0 +#define SQL_NON_NULLABLE_COLUMNS 75 +#define SQL_NOSCAN 2 +#define SQL_NOSCAN_DEFAULT SQL_NOSCAN_OFF +#define SQL_NOSCAN_OFF 0 +#define SQL_NOSCAN_ON 1 +#define SQL_NO_DATA 100 +#define SQL_NO_NULLS 0 +#define SQL_NO_TOTAL (-4) +#define SQL_NTS (-3) +#define SQL_NULLABLE 1 +#define SQL_NULLABLE_UNKNOWN 2 +#define SQL_NULL_COLLATION 85 +#define SQL_NULL_DATA (-1) +#define SQL_NULL_HDBC 0 +#define SQL_NULL_HENV 0 +#define SQL_NULL_HSTMT 0 +#define SQL_NUMERIC 2 +#define SQL_NUMERIC_FUNCTIONS 49 +#define SQL_NUM_EXTENSIONS (SQL_EXT_API_LAST-SQL_EXT_API_START+1) +#define SQL_NUM_FUNCTIONS 23 +#define SQL_OAC_LEVEL1 1 +#define SQL_OAC_LEVEL2 2 +#define SQL_OAC_NONE 0 +#define SQL_ODBC_API_CONFORMANCE 9 +#define SQL_ODBC_CURSORS 110 +#define SQL_ODBC_KEYWORDS "ABSOLUTE,ACTION,ADA,ADD,ALL,ALLOCATE,ALTER,AND,ANY,ARE,AS,"\ +"ASC,ASSERTION,AT,AUTHORIZATION,AVG,"\ +"BEGIN,BETWEEN,BIT,BIT_LENGTH,BOTH,BY,CASCADE,CASCADED,CASE,CAST,CATALOG,"\ +"CHAR,CHAR_LENGTH,CHARACTER,CHARACTER_LENGTH,CHECK,CLOSE,COALESCE,"\ +"COBOL,COLLATE,COLLATION,COLUMN,COMMIT,CONNECT,CONNECTION,CONSTRAINT,"\ +"CONSTRAINTS,CONTINUE,CONVERT,CORRESPONDING,COUNT,CREATE,CROSS,CURRENT,"\ +"CURRENT_DATE,CURRENT_TIME,CURRENT_TIMESTAMP,CURRENT_USER,CURSOR,"\ +"DATE,DAY,DEALLOCATE,DEC,DECIMAL,DECLARE,DEFAULT,DEFERRABLE,"\ +"DEFERRED,DELETE,DESC,DESCRIBE,DESCRIPTOR,DIAGNOSTICS,DISCONNECT,"\ +"DISTINCT,DOMAIN,DOUBLE,DROP,""ELSE,END,END-EXEC,ESCAPE,EXCEPT,EXCEPTION,EXEC,EXECUTE,"\ +"EXISTS,EXTERNAL,EXTRACT,""FALSE,FETCH,FIRST,FLOAT,FOR,FOREIGN,FORTRAN,FOUND,FROM,FULL,"\ +"GET,GLOBAL,GO,GOTO,GRANT,GROUP,HAVING,HOUR,"\ +"IDENTITY,IMMEDIATE,IN,INCLUDE,INDEX,INDICATOR,INITIALLY,INNER,"\ +"INPUT,INSENSITIVE,INSERT,INTEGER,INTERSECT,INTERVAL,INTO,IS,ISOLATION,"\ +"JOIN,KEY,LANGUAGE,LAST,LEADING,LEFT,LEVEL,LIKE,LOCAL,LOWER,"\ +"MATCH,MAX,MIN,MINUTE,MODULE,MONTH,MUMPS,"\ +"NAMES,NATIONAL,NATURAL,NCHAR,NEXT,NO,NONE,NOT,NULL,NULLIF,NUMERIC,"\ +"OCTET_LENGTH,OF,ON,ONLY,OPEN,OPTION,OR,ORDER,OUTER,OUTPUT,OVERLAPS,"\ +"PAD,PARTIAL,PASCAL,PLI,POSITION,PRECISION,PREPARE,PRESERVE,"\ +"PRIMARY,PRIOR,PRIVILEGES,PROCEDURE,PUBLIC,"\ +"REFERENCES,RELATIVE,RESTRICT,REVOKE,RIGHT,ROLLBACK,ROWS,"\ +"SCHEMA,SCROLL,SECOND,SECTION,SELECT,SEQUENCE,SESSION,SESSION_USER,SET,SIZE,"\ +"SMALLINT,SOME,SPACE,SQL,SQLCA,SQLCODE,SQLERROR,SQLSTATE,SQLWARNING,"\ +"SUBSTRING,SUM,SYSTEM_USER,"\ +"TABLE,TEMPORARY,THEN,TIME,TIMESTAMP,TIMEZONE_HOUR,TIMEZONE_MINUTE,"\ +"TO,TRAILING,TRANSACTION,TRANSLATE,TRANSLATION,TRIM,TRUE,"\ +"UNION,UNIQUE,UNKNOWN,UPDATE,UPPER,USAGE,USER,USING,"\ +"VALUE,VALUES,VARCHAR,VARYING,VIEW,WHEN,WHENEVER,WHERE,WITH,WORK,YEAR" +#define SQL_ODBC_SAG_CLI_CONFORMANCE 12 +#define SQL_ODBC_SQL_CONFORMANCE 15 +#define SQL_ODBC_SQL_OPT_IEF 73 +#define SQL_ODBC_VER 10 +#define SQL_OJ_ALL_COMPARISON_OPS 64 +#define SQL_OJ_CAPABILITIES 65003 +#define SQL_OJ_FULL 4 +#define SQL_OJ_INNER 32 +#define SQL_OJ_LEFT 1 +#define SQL_OJ_NESTED 8 +#define SQL_OJ_NOT_ORDERED 16 +#define SQL_OJ_RIGHT 2 +#define SQL_OPT_TRACE_OFF 0 +#define SQL_OPT_TRACE_ON 1 +#define SQL_OPT_TRACE 104 +#define SQL_OPT_TRACEFILE 105 +#define SQL_OPT_TRACE_DEFAULT SQL_OPT_TRACE_OFF +#define SQL_OPT_TRACE_FILE_DEFAULT "\\SQL.LOG" +#define SQL_ORDER_BY_COLUMNS_IN_SELECT 90 +#define SQL_OSCC_COMPLIANT 1 +#define SQL_OSCC_NOT_COMPLIANT 0 +#define SQL_OSC_CORE 1 +#define SQL_OSC_EXTENDED 2 +#define SQL_OSC_MINIMUM 0 +#define SQL_OUTER_JOINS 38 +#define SQL_OU_DML_STATEMENTS 1 +#define SQL_OU_INDEX_DEFINITION 8 +#define SQL_OU_PRIVILEGE_DEFINITION 16 +#define SQL_OU_PROCEDURE_INVOCATION 2 +#define SQL_OU_TABLE_DEFINITION 4 +#define SQL_OWNER_TERM 39 +#define SQL_OWNER_USAGE 91 +#define SQL_PC_NOT_PSEUDO 1 +#define SQL_PC_PSEUDO 2 +#define SQL_PC_UNKNOWN 0 +#define SQL_PC_NON_PSEUDO SQL_PC_NOT_PSEUDO +#define SQL_POSITIONED_STATEMENTS 80 +#define SQL_POS_ADD 16 +#define SQL_POS_DELETE 8 +#define SQL_POS_OPERATIONS 79 +#define SQL_POS_POSITION 1 +#define SQL_POS_REFRESH 2 +#define SQL_POS_UPDATE 4 +#define SQL_PROCEDURES 21 +#define SQL_PROCEDURE_TERM 40 +#define SQL_PS_POSITIONED_DELETE 1 +#define SQL_PS_POSITIONED_UPDATE 2 +#define SQL_PS_SELECT_FOR_UPDATE 4 +#define SQL_QL_END 2 +#define SQL_QL_START 1 +#define SQL_QUALIFIER_LOCATION 114 +#define SQL_QUALIFIER_NAME_SEPARATOR 41 +#define SQL_QUALIFIER_TERM 42 +#define SQL_QUALIFIER_USAGE 92 +#define SQL_QUERY_TIMEOUT 0 +#define SQL_QUERY_TIMEOUT_DEFAULT 0UL +#define SQL_QUICK 0 +#define SQL_QUIET_MODE 111 +#define SQL_QUOTED_IDENTIFIER_CASE 93 +#define SQL_QU_DML_STATEMENTS 1 +#define SQL_QU_INDEX_DEFINITION 8 +#define SQL_QU_PRIVILEGE_DEFINITION 16 +#define SQL_QU_PROCEDURE_INVOCATION 2 +#define SQL_QU_TABLE_DEFINITION 4 +#define SQL_RD_DEFAULT SQL_RD_ON +#define SQL_RD_OFF 0 +#define SQL_RD_ON 1 +#define SQL_REAL 7 +#define SQL_RESET_PARAMS 3 +#define SQL_RETRIEVE_DATA 11 +#define SQL_ROLLBACK 1 +#define SQL_ROWSET_SIZE 9 +#define SQL_ROWSET_SIZE_DEFAULT 1UL +#define SQL_ROWVER 2 +#define SQL_ROW_NUMBER 14 +#define SQL_ROW_UPDATES 11 +#define SQL_SCCO_LOCK 2 +#define SQL_SCCO_OPT_ROWVER 4 +#define SQL_SCCO_OPT_TIMESTAMP SQL_SCCO_OPT_ROWVER +#define SQL_SCCO_OPT_VALUES 8 +#define SQL_SCCO_READ_ONLY 1 +#define SQL_SCOPE_CURROW 0 +#define SQL_SCOPE_SESSION 2 +#define SQL_SCOPE_TRANSACTION 1 +#define SQL_SCROLL_CONCURRENCY 43 +#define SQL_SCROLL_DYNAMIC (-2L) +#define SQL_SCROLL_FORWARD_ONLY 0 +#define SQL_SCROLL_KEYSET_DRIVEN (-1L) +#define SQL_SCROLL_OPTIONS 44 +#define SQL_SCROLL_STATIC (-3L) +#define SQL_SC_NON_UNIQUE 0 +#define SQL_SC_TRY_UNIQUE 1 +#define SQL_SC_UNIQUE 2 +#define SQL_SEARCHABLE 3 +#define SQL_SEARCH_PATTERN_ESCAPE 14 +#define SQL_SERVER_NAME 13 +#define SQL_SIGNED_OFFSET (-20) +#define SQL_SIMULATE_CURSOR 10 +#define SQL_SMALLINT 5 +#define SQL_SO_DYNAMIC 4 +#define SQL_SO_FORWARD_ONLY 1 +#define SQL_SO_KEYSET_DRIVEN 2 +#define SQL_SO_MIXED 8 +#define SQL_SO_STATIC 16 +#define SQL_SPECIAL_CHARACTERS 94 +#define SQL_SQLSTATE_SIZE 5 +#define SQL_SQ_COMPARISON 1 +#define SQL_SQ_CORRELATED_SUBQUERIES 16 +#define SQL_SQ_EXISTS 2 +#define SQL_SQ_IN 4 +#define SQL_SQ_QUANTIFIED 8 +#define SQL_SS_ADDITIONS 1 +#define SQL_SS_DELETIONS 2 +#define SQL_SS_UPDATES 4 +#define SQL_STATIC_SENSITIVITY 83 +#define SQL_STILL_EXECUTING 2 +#define SQL_STMT_OPT_MAX SQL_ROW_NUMBER +#define SQL_STMT_OPT_MIN SQL_QUERY_TIMEOUT +#define SQL_STRING_FUNCTIONS 50 +#define SQL_SUBQUERIES 95 +#define SQL_SUCCESS 0 +#define SQL_SUCCESS_WITH_INFO 1 +#define SQL_SYSTEM_FUNCTIONS 51 +#define SQL_TABLE_STAT 0 +#define SQL_TABLE_TERM 45 +#define SQL_TC_ALL 0x0002 +#define SQL_TC_DDL_COMMIT 3 +#define SQL_TC_DDL_IGNORE 4 +#define SQL_TC_DML 1 +#define SQL_TC_NONE 0 +#define SQL_TIME 10 +#define SQL_TIMEDATE_ADD_INTERVALS 109 +#define SQL_TIMEDATE_DIFF_INTERVALS 110 +#define SQL_TIMEDATE_FUNCTIONS 52 +#define SQL_TIMESTAMP 11 +#define SQL_TINYINT (-6) +#define SQL_TRANSLATE_DLL 106 +#define SQL_TRANSLATE_OPTION 107 +#define SQL_TXN_CAPABLE 46 +#define SQL_TXN_ISOLATION 108 +#define SQL_TXN_ISOLATION_OPTION 72 +#define SQL_TXN_READ_COMMITTED 2 +#define SQL_TXN_READ_UNCOMMITTED 1 +#define SQL_TXN_REPEATABLE_READ 4 +#define SQL_TXN_SERIALIZABLE 8 +#define SQL_TXN_VERSIONING 16 +#define SQL_TYPE_NULL 0 +#define SQL_UB_OFF 0 +#define SQL_UB_ON 1 +#define SQL_UNBIND 2 +#define SQL_UNICODE (-95) +#define SQL_UNICODE_CHAR SQL_UNICODE +#define SQL_UNICODE_LONGVARCHAR (-97) +#define SQL_UNICODE_VARCHAR (-96) +#define SQL_UNION 96 +#define SQL_UNSEARCHABLE 0 +#define SQL_UNSIGNED_OFFSET (-22) +#define SQL_USER_NAME 47 +#define SQL_USE_BOOKMARKS 12 +#define SQL_U_UNION 1 +#define SQL_U_UNION_ALL 2 +#define SQL_VARBINARY (-3) +#define SQL_VARCHAR 12 +#define SQL_C_BINARY SQL_BINARY +#define SQL_C_BIT SQL_BIT +#define SQL_C_BOOKMARK SQL_C_ULONG +#define SQL_C_CHAR SQL_CHAR +#define SQL_C_DATE SQL_DATE +#define SQL_C_DEFAULT 99 +#define SQL_C_DOUBLE SQL_DOUBLE +#define SQL_C_FLOAT SQL_REAL +#define SQL_C_LONG SQL_INTEGER +#define SQL_C_SHORT SQL_SMALLINT +#define SQL_C_SLONG SQL_C_LONG+SQL_SIGNED_OFFSET +#define SQL_C_SSHORT SQL_C_SHORT+SQL_SIGNED_OFFSET +#define SQL_C_STINYINT SQL_TINYINT+SQL_SIGNED_OFFSET +#define SQL_C_TIME SQL_TIME +#define SQL_C_TIMESTAMP SQL_TIMESTAMP +#define SQL_C_TINYINT SQL_TINYINT +#define SQL_C_ULONG SQL_C_LONG+SQL_UNSIGNED_OFFSET +#define SQL_C_USHORT SQL_C_SHORT+SQL_UNSIGNED_OFFSET +#define SQL_C_UTINYINT SQL_TINYINT+SQL_UNSIGNED_OFFSET +#define SQL_TYPE_DRIVER_END SQL_UNICODE_LONGVARCHAR +#define SQL_TYPE_DRIVER_START SQL_INTERVAL_YEAR +#define SQL_TYPE_MAX SQL_VARCHAR +#define SQL_TYPE_MIN SQL_BIT +#define SQL_UB_DEFAULT SQL_UB_OFF + +SQLRETURN SQL_API SQLAllocConnect(SQLHENV,SQLHDBC*); +SQLRETURN SQL_API SQLAllocEnv(SQLHENV *); +SQLRETURN SQL_API SQLAllocStmt(SQLHDBC,SQLHSTMT*); +SQLRETURN SQL_API SQLAllocHandle(SQLSMALLINT,SQLHANDLE,SQLHANDLE*); +SQLRETURN SQL_API SQLBindCol(SQLHSTMT,SQLUSMALLINT,SQLSMALLINT,SQLPOINTER,SQLINTEGER,SQLINTEGER*); +SQLRETURN SQL_API SQLCancel(SQLHSTMT); +SQLRETURN SQL_API SQLColAttributes(SQLHSTMT,SQLUSMALLINT,SQLUSMALLINT,SQLPOINTER,SQLSMALLINT,SQLSMALLINT*,SQLINTEGER*); +SQLRETURN SQL_API SQLConnect(SQLHDBC,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT); +SQLRETURN SQL_API SQLDescribeCol(SQLHSTMT,SQLUSMALLINT,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*,SQLSMALLINT*,SQLUINTEGER*,SQLSMALLINT*,SQLSMALLINT*); +SQLRETURN SQL_API SQLDisconnect(SQLHDBC); +SQLRETURN SQL_API SQLError(SQLHENV,SQLHDBC,SQLHSTMT,SQLCHAR*,SQLINTEGER*,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*); +SQLRETURN SQL_API SQLExecDirect(SQLHSTMT,SQLCHAR*,SQLINTEGER); +SQLRETURN SQL_API SQLExecute(SQLHSTMT); +SQLRETURN SQL_API SQLFetch(SQLHSTMT); +SQLRETURN SQL_API SQLFreeConnect(SQLHDBC); +SQLRETURN SQL_API SQLFreeEnv(SQLHENV); +SQLRETURN SQL_API SQLFreeStmt(SQLHSTMT,SQLUSMALLINT); +SQLRETURN SQL_API SQLFreeHandle(SQLSMALLINT,SQLHANDLE); +SQLRETURN SQL_API SQLGetCursorName(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*); +SQLRETURN SQL_API SQLNumResultCols(SQLHSTMT,SQLSMALLINT*); +SQLRETURN SQL_API SQLPrepare(SQLHSTMT,SQLCHAR*,SQLINTEGER); +SQLRETURN SQL_API SQLRowCount(SQLHSTMT,SQLINTEGER*); +SQLRETURN SQL_API SQLSetCursorName(SQLHSTMT,SQLCHAR*,SQLSMALLINT); +SQLRETURN SQL_API SQLTransact(SQLHENV,SQLHDBC,SQLUSMALLINT); +SQLRETURN SQL_API SQLSetParam(SQLHSTMT,SQLUSMALLINT,SQLSMALLINT,SQLSMALLINT,SQLUINTEGER,SQLSMALLINT,SQLPOINTER,SQLINTEGER*); +SQLRETURN SQL_API SQLColumns(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT); +SQLRETURN SQL_API SQLGetConnectOption(SQLHDBC,SQLUSMALLINT,SQLPOINTER); +SQLRETURN SQL_API SQLGetData(SQLHSTMT,SQLUSMALLINT,SQLSMALLINT,SQLPOINTER,SQLINTEGER,SQLINTEGER*); +SQLRETURN SQL_API SQLGetFunctions(SQLHDBC,SQLUSMALLINT,SQLUSMALLINT*); +SQLRETURN SQL_API SQLGetInfo(SQLHDBC,SQLUSMALLINT,SQLPOINTER,SQLSMALLINT,SQLSMALLINT*); +SQLRETURN SQL_API SQLGetStmtOption(SQLHSTMT,SQLUSMALLINT,SQLPOINTER); +SQLRETURN SQL_API SQLGetTypeInfo(SQLHSTMT,SQLSMALLINT); +SQLRETURN SQL_API SQLParamData(SQLHSTMT,SQLPOINTER*); +SQLRETURN SQL_API SQLPutData(SQLHSTMT,SQLPOINTER,SQLINTEGER); +SQLRETURN SQL_API SQLSetConnectOption(SQLHDBC,SQLUSMALLINT,SQLUINTEGER); +SQLRETURN SQL_API SQLSetStmtOption(SQLHSTMT,SQLUSMALLINT,SQLUINTEGER); +SQLRETURN SQL_API SQLSpecialColumns(SQLHSTMT,SQLUSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLUSMALLINT,SQLUSMALLINT fNullable); +SQLRETURN SQL_API SQLStatistics(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLUSMALLINT,SQLUSMALLINT); +SQLRETURN SQL_API SQLTables(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT); +SQLRETURN SQL_API SQLDataSources(SQLHENV,SQLUSMALLINT,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*); +SQLRETURN SQL_API SQLSetScrollOptions(SQLHSTMT,SQLUSMALLINT,SQLINTEGER,SQLUSMALLINT); +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/sqlext.h b/winsup/w32api/include/sqlext.h new file mode 100644 index 000000000..fc0538601 --- /dev/null +++ b/winsup/w32api/include/sqlext.h @@ -0,0 +1,79 @@ +#ifndef _SQLEXT_H +#define _SQLEXT_H +#include <sql.h> +#ifdef __cplusplus +extern "C" { +#endif +#define SQL_DEFAULT_PARAM (-5) +#define SQL_IGNORE (-6) +#define SQL_LEN_DATA_AT_EXEC_OFFSET (-100) +#define SQL_LEN_DATA_AT_EXEC(l) (-l+SQL_LEN_DATA_AT_EXEC_OFFSET) +#define SQL_ENTIRE_ROWSET 0 +#define SQL_POSITION 0 +#define SQL_REFRESH 1 +#define SQL_UPDATE 2 +#define SQL_DELETE 3 +#define SQL_ADD 4 +#define SQL_LOCK_NO_CHANGE 0 +#define SQL_LOCK_EXCLUSIVE 1 +#define SQL_LOCK_UNLOCK 2 +#define SQL_POSITION_TO(s,r) SQLSetPos(s,r,SQL_POSITION,SQL_LOCK_NO_CHANGE) +#define SQL_LOCK_RECORD(s,i,l) SQLSetPos(s,r,SQL_POSITION,l) +#define SQL_REFRESH_RECORD(s,i,f) SQLSetPos(s,r,SQL_REFRESH,fLock) +#define SQL_UPDATE_RECORD(s,r) SQLSetPos(s,r,SQL_UPDATE,SQL_LOCK_NO_CHANGE) +#define SQL_DELETE_RECORD(s,r) SQLSetPos(s,r,SQL_DELETE,SQL_LOCK_NO_CHANGE) +#define SQL_ADD_RECORD(s,r) SQLSetPos(s,r,SQL_ADD,SQL_LOCK_NO_CHANGE) +#define SQL_DRIVER_NOPROMPT 0 +#define SQL_DRIVER_COMPLETE 1 +#define SQL_DRIVER_PROMPT 2 +#define SQL_DRIVER_COMPLETE_REQUIRED 3 +#define SQL_FETCH_LAST 3 +#define SQL_FETCH_PRIOR 4 +#define SQL_FETCH_ABSOLUTE 5 +#define SQL_FETCH_RELATIVE 6 +#define SQL_FETCH_BOOKMARK 8 +#define SQL_ROW_SUCCESS 0 +#define SQL_ROW_DELETED 1 +#define SQL_ROW_UPDATED 2 +#define SQL_ROW_NOROW 3 +#define SQL_ROW_ADDED 4 +#define SQL_ROW_ERROR 5 +#define SQL_CASCADE 0 +#define SQL_RESTRICT 1 +#define SQL_SET_NULL 2 +#define SQL_NO_ACTION 3 +#define SQL_SET_DEFAULT 4 +#define SQL_PARAM_TYPE_UNKNOWN 0 +#define SQL_PARAM_INPUT 1 +#define SQL_PARAM_INPUT_OUTPUT 2 +#define SQL_RESULT_COL 3 +#define SQL_PARAM_OUTPUT 4 +#define SQL_RETURN_VALUE 5 +#define SQL_PT_UNKNOWN 0 +#define SQL_PT_PROCEDURE 1 +#define SQL_PT_FUNCTION 2 +#define SQL_PARAM_TYPE_DEFAULT SQL_PARAM_INPUT_OUTPUT +#define SQL_SETPARAM_VALUE_MAX (-1L) +#define SQL_NO_DATA_FOUND SQL_NO_DATA + +SQLRETURN SQL_API SQLDriverConnect(SQLHDBC,SQLHWND,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*,SQLUSMALLINT); +SQLRETURN SQL_API SQLBrowseConnect(SQLHDBC,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*); +SQLRETURN SQL_API SQLColumnPrivileges(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT); +SQLRETURN SQL_API SQLDescribeParam(SQLHSTMT,SQLUSMALLINT,SQLSMALLINT*,SQLUINTEGER*,SQLSMALLINT*,SQLSMALLINT*); +SQLRETURN SQL_API SQLExtendedFetch(SQLHSTMT,SQLUSMALLINT,SQLINTEGER,SQLUINTEGER*,SQLUSMALLINT*); +SQLRETURN SQL_API SQLForeignKeys(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT); +SQLRETURN SQL_API SQLMoreResults(SQLHSTMT); +SQLRETURN SQL_API SQLNativeSql(SQLHDBC,SQLCHAR*,SQLINTEGER,SQLCHAR*,SQLINTEGER,SQLINTEGER*); +SQLRETURN SQL_API SQLNumParams(SQLHSTMT,SQLSMALLINT*); +SQLRETURN SQL_API SQLParamOptions(SQLHSTMT,SQLUINTEGER,SQLUINTEGER*); +SQLRETURN SQL_API SQLPrimaryKeys(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT); +SQLRETURN SQL_API SQLProcedureColumns(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT); +SQLRETURN SQL_API SQLProcedures(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT); +SQLRETURN SQL_API SQLSetPos(SQLHSTMT,SQLUSMALLINT,SQLUSMALLINT,SQLUSMALLINT); +SQLRETURN SQL_API SQLTablePrivileges(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT); +SQLRETURN SQL_API SQLDrivers(SQLHENV,SQLUSMALLINT,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*); +SQLRETURN SQL_API SQLBindParameter(SQLHSTMT,SQLUSMALLINT,SQLSMALLINT,SQLSMALLINT,SQLSMALLINT,SQLUINTEGER,SQLSMALLINT,SQLPOINTER,SQLINTEGER,SQLINTEGER*); +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/sqltypes.h b/winsup/w32api/include/sqltypes.h new file mode 100644 index 000000000..4d9529d9d --- /dev/null +++ b/winsup/w32api/include/sqltypes.h @@ -0,0 +1,61 @@ +#ifndef _SQLTYPES_H +#define _SQLTYPES_H +#ifdef __cplusplus +extern "C" { +#endif +#define SQL_API __stdcall +#pragma pack(push,1) +typedef signed char SCHAR; +typedef long SDWORD; +typedef short SWORD; +typedef ULONG UDWORD; +typedef USHORT UWORD; +typedef long SLONG; +typedef short SSHORT; +typedef double SDOUBLE; +typedef double LDOUBLE; +typedef float SFLOAT; +typedef PVOID PTR; +typedef PVOID HENV; +typedef PVOID HDBC; +typedef PVOID HSTMT; +typedef short RETCODE; +typedef UCHAR SQLCHAR; +typedef SCHAR SQLSCHAR; +typedef SDWORD SQLINTEGER; +typedef SWORD SQLSMALLINT; +typedef UDWORD SQLUINTEGER; +typedef UWORD SQLUSMALLINT; +typedef PVOID SQLPOINTER; +typedef HENV SQLHENV; +typedef HDBC SQLHDBC; +typedef HSTMT SQLHSTMT; +typedef SQLSMALLINT SQLRETURN; +typedef HWND SQLHWND; +typedef ULONG BOOKMARK; +typedef struct tagDATE_STRUCT { + SQLSMALLINT year; + SQLUSMALLINT month; + SQLUSMALLINT day; +} DATE_STRUCT; +typedef struct tagTIME_STRUCT { + SQLUSMALLINT hour; + SQLUSMALLINT minute; + SQLUSMALLINT second; +} TIME_STRUCT; +typedef struct tagTIMESTAMP_STRUCT { + SQLSMALLINT year; + SQLUSMALLINT month; + SQLUSMALLINT day; + SQLUSMALLINT hour; + SQLUSMALLINT minute; + SQLUSMALLINT second; + SQLUINTEGER fraction; +} TIMESTAMP_STRUCT; +typedef void* SQLHANDLE; +typedef SQLHANDLE SQLHDESC; +#pragma pack(pop) +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/unknwn.h b/winsup/w32api/include/unknwn.h new file mode 100644 index 000000000..48cea3bc1 --- /dev/null +++ b/winsup/w32api/include/unknwn.h @@ -0,0 +1,67 @@ +#ifndef _UNKNWN_H +#define _UNKNWN_H +#include <windows.h> +#ifdef __cplusplus +extern "C"{ +#endif +#include <objfwd.h> +#include <wtypes.h> + +void * __RPC_USER MIDL_user_allocate(size_t); +void __RPC_USER MIDL_user_free(void*); +EXTERN_C const IID IID_IUnknown; +EXTERN_C const IID IID_IClassFactory; +#ifndef __IUnknown_INTERFACE_DEFINED__ +#define __IUnknown_INTERFACE_DEFINED__ +#undef INTERFACE +#define INTERFACE IUnknown +DECLARE_INTERFACE(IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; +}; +typedef IUnknown *LPUNKNOWN; +#endif +#ifndef __IClassFactory_INTERFACE_DEFINED__ +#define __IClassFactory_INTERFACE_DEFINED__ +#undef INTERFACE +#define INTERFACE IClassFactory +DECLARE_INTERFACE_(IClassFactory,IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(CreateInstance)(THIS_ LPUNKNOWN,REFIID,PVOID*) PURE; + STDMETHOD(LockServer)(THIS_ BOOL) PURE; +}; +typedef IClassFactory *LPCLASSFACTORY; +#endif +HRESULT STDMETHODCALLTYPE IUnknown_QueryInterface_Proxy(IUnknown*,REFIID,void**); +void __RPC_STUB IUnknown_QueryInterface_Stub(LPRPCSTUBBUFFER,LPRPCCHANNELBUFFER,PRPC_MESSAGE,PDWORD); +ULONG STDMETHODCALLTYPE IUnknown_AddRef_Proxy(IUnknown*); +void __RPC_STUB IUnknown_AddRef_Stub(LPRPCSTUBBUFFER,LPRPCCHANNELBUFFER,PRPC_MESSAGE,PDWORD); +ULONG STDMETHODCALLTYPE IUnknown_Release_Proxy(IUnknown*); +void __RPC_STUB IUnknown_Release_Stub(LPRPCSTUBBUFFER,LPRPCCHANNELBUFFER,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IClassFactory_RemoteCreateInstance_Proxy(IClassFactory*,REFIID,IUnknown**); +void __RPC_STUB IClassFactory_RemoteCreateInstance_Stub(LPRPCSTUBBUFFER,LPRPCCHANNELBUFFER,PRPC_MESSAGE,PDWORD); +HRESULT __stdcall IClassFactory_RemoteLockServer_Proxy(IClassFactory*,BOOL); +void __RPC_STUB IClassFactory_RemoteLockServer_Stub(LPRPCSTUBBUFFER,LPRPCCHANNELBUFFER,PRPC_MESSAGE,PDWORD); +HRESULT STDMETHODCALLTYPE IClassFactory_CreateInstance_Proxy(IClassFactory*,IUnknown*,REFIID,void**); +HRESULT STDMETHODCALLTYPE IClassFactory_CreateInstance_Stub(IClassFactory*,REFIID,IUnknown**); +HRESULT STDMETHODCALLTYPE IClassFactory_LockServer_Proxy(IClassFactory*,BOOL); +HRESULT STDMETHODCALLTYPE IClassFactory_LockServer_Stub(IClassFactory*,BOOL); +#ifdef COBJMACROS +#define IUnknown_QueryInterface(T,r,O) (T)->lpVtbl->QueryInterface(T,r,O) +#define IUnknown_AddRef(T) (T)->lpVtbl->AddRef(T) +#define IUnknown_Release(T) (T)->lpVtbl->Release(T) +#define IClassFactory_QueryInterface(T,r,O) (T)->lpVtbl->QueryInterface(T,r,O) +#define IClassFactory_AddRef(T) (T)->lpVtbl->AddRef(T) +#define IClassFactory_Release(T) (T)->lpVtbl->Release(T) +#define IClassFactory_CreateInstance(T,p,r,O) (T)->lpVtbl->CreateInstance(T,p,r,O) +#define IClassFactory_LockServer(T,f) (T)->lpVtbl->LockServer(T,f) +#endif +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/winbase.h b/winsup/w32api/include/winbase.h new file mode 100644 index 000000000..eec682b66 --- /dev/null +++ b/winsup/w32api/include/winbase.h @@ -0,0 +1,1841 @@ +#ifndef _WINBASE_H +#define _WINBASE_H +#define WINBASEAPI DECLSPEC_IMPORT +#ifdef __cplusplus +extern "C" { +#endif + +#define SP_SERIALCOMM 1 +#define PST_UNSPECIFIED 0 +#define PST_RS232 1 +#define PST_PARALLELPORT 2 +#define PST_RS422 3 +#define PST_RS423 4 +#define PST_RS449 5 +#define PST_MODEM 6 +#define PST_FAX 0x21 +#define PST_SCANNER 0x22 +#define PST_NETWORK_BRIDGE 0x100 +#define PST_LAT 0x101 +#define PST_TCPIP_TELNET 0x102 +#define PST_X25 0x103 +#define BAUD_075 1 +#define BAUD_110 2 +#define BAUD_134_5 4 +#define BAUD_150 8 +#define BAUD_300 16 +#define BAUD_600 32 +#define BAUD_1200 64 +#define BAUD_1800 128 +#define BAUD_2400 256 +#define BAUD_4800 512 +#define BAUD_7200 1024 +#define BAUD_9600 2048 +#define BAUD_14400 4096 +#define BAUD_19200 8192 +#define BAUD_38400 16384 +#define BAUD_56K 32768 +#define BAUD_128K 65536 +#define BAUD_115200 131072 +#define BAUD_57600 262144 +#define BAUD_USER 0x10000000 +#define PCF_DTRDSR 1 +#define PCF_RTSCTS 2 +#define PCF_RLSD 4 +#define PCF_PARITY_CHECK 8 +#define PCF_XONXOFF 16 +#define PCF_SETXCHAR 32 +#define PCF_TOTALTIMEOUTS 64 +#define PCF_INTTIMEOUTS 128 +#define PCF_SPECIALCHARS 256 +#define PCF_16BITMODE 512 +#define SP_PARITY 1 +#define SP_BAUD 2 +#define SP_DATABITS 4 +#define SP_STOPBITS 8 +#define SP_HANDSHAKING 16 +#define SP_PARITY_CHECK 32 +#define SP_RLSD 64 +#define DATABITS_5 1 +#define DATABITS_6 2 +#define DATABITS_7 4 +#define DATABITS_8 8 +#define DATABITS_16 16 +#define DATABITS_16X 32 +#define STOPBITS_10 1 +#define STOPBITS_15 2 +#define STOPBITS_20 4 +#define PARITY_NONE 256 +#define PARITY_ODD 512 +#define PARITY_EVEN 1024 +#define PARITY_MARK 2048 +#define PARITY_SPACE 4096 +#define EXCEPTION_DEBUG_EVENT 1 +#define CREATE_THREAD_DEBUG_EVENT 2 +#define CREATE_PROCESS_DEBUG_EVENT 3 +#define EXIT_THREAD_DEBUG_EVENT 4 +#define EXIT_PROCESS_DEBUG_EVENT 5 +#define LOAD_DLL_DEBUG_EVENT 6 +#define UNLOAD_DLL_DEBUG_EVENT 7 +#define OUTPUT_DEBUG_STRING_EVENT 8 +#define RIP_EVENT 9 +#define HFILE_ERROR ((HFILE)-1) +#define FILE_BEGIN 0 +#define FILE_CURRENT 1 +#define FILE_END 2 +#define OF_READ 0 +#define OF_READWRITE 2 +#define OF_WRITE 1 +#define OF_SHARE_COMPAT 0 +#define OF_SHARE_DENY_NONE 64 +#define OF_SHARE_DENY_READ 48 +#define OF_SHARE_DENY_WRITE 32 +#define OF_SHARE_EXCLUSIVE 16 +#define OF_CANCEL 2048 +#define OF_CREATE 4096 +#define OF_DELETE 512 +#define OF_EXIST 16384 +#define OF_PARSE 256 +#define OF_PROMPT 8192 +#define OF_REOPEN 32768 +#define OF_VERIFY 1024 +#define NMPWAIT_NOWAIT 1 +#define NMPWAIT_WAIT_FOREVER (-1) +#define NMPWAIT_USE_DEFAULT_WAIT 0 +#define CE_BREAK 16 +#define CE_DNS 2048 +#define CE_FRAME 8 +#define CE_IOE 1024 +#define CE_MODE 32768 +#define CE_OOP 4096 +#define CE_OVERRUN 2 +#define CE_PTO 512 +#define CE_RXOVER 1 +#define CE_RXPARITY 4 +#define CE_TXFULL 256 +#define PROGRESS_CONTINUE 0 +#define PROGRESS_CANCEL 1 +#define PROGRESS_STOP 2 +#define PROGRESS_QUIET 3 +#define CALLBACK_CHUNK_FINISHED 0 +#define CALLBACK_STREAM_SWITCH 1 +#define COPY_FILE_FAIL_IF_EXISTS 1 +#define COPY_FILE_RESTARTABLE 2 +#define OFS_MAXPATHNAME 128 +#define DUPLICATE_CLOSE_SOURCE 1 +#define DUPLICATE_SAME_ACCESS 2 +#define FILE_MAP_ALL_ACCESS 0xf001f +#define FILE_MAP_READ 4 +#define FILE_MAP_WRITE 2 +#define FILE_MAP_COPY 1 +#define MUTEX_ALL_ACCESS 0x1f0001 +#define MUTEX_MODIFY_STATE 1 +#define SEMAPHORE_ALL_ACCESS 0x1f0003 +#define SEMAPHORE_MODIFY_STATE 2 +#define EVENT_ALL_ACCESS 0x1f0003 +#define EVENT_MODIFY_STATE 2 +#define PIPE_ACCESS_DUPLEX 3 +#define PIPE_ACCESS_INBOUND 1 +#define PIPE_ACCESS_OUTBOUND 2 +#define PIPE_TYPE_BYTE 0 +#define PIPE_TYPE_MESSAGE 4 +#define PIPE_READMODE_BYTE 0 +#define PIPE_READMODE_MESSAGE 2 +#define PIPE_WAIT 0 +#define PIPE_NOWAIT 1 +#define PIPE_CLIENT_END 0 +#define PIPE_SERVER_END 1 +#define PIPE_UNLIMITED_INSTANCES 255 +#define CREATE_DEFAULT_ERROR_MODE 67108864 +#define DEBUG_PROCESS 1 +#define DEBUG_ONLY_THIS_PROCESS 2 +#define CREATE_SUSPENDED 4 +#define DETACHED_PROCESS 8 +#define CREATE_NEW_CONSOLE 16 +#define NORMAL_PRIORITY_CLASS 32 +#define IDLE_PRIORITY_CLASS 64 +#define HIGH_PRIORITY_CLASS 128 +#define REALTIME_PRIORITY_CLASS 256 +#define CREATE_NEW_PROCESS_GROUP 512 +#define CREATE_UNICODE_ENVIRONMENT 1024 +#define CREATE_SEPARATE_WOW_VDM 2048 +#define CREATE_SHARED_WOW_VDM 4096 +#define CREATE_FORCEDOS 8192 +#define CREATE_NO_WINDOW 0x8000000 +#define CONSOLE_TEXTMODE_BUFFER 1 +#define CREATE_NEW 1 +#define CREATE_ALWAYS 2 +#define OPEN_EXISTING 3 +#define OPEN_ALWAYS 4 +#define TRUNCATE_EXISTING 5 +#define FILE_FLAG_WRITE_THROUGH 0x80000000 +#define FILE_FLAG_OVERLAPPED 1073741824 +#define FILE_FLAG_NO_BUFFERING 536870912 +#define FILE_FLAG_RANDOM_ACCESS 268435456 +#define FILE_FLAG_SEQUENTIAL_SCAN 134217728 +#define FILE_FLAG_DELETE_ON_CLOSE 67108864 +#define FILE_FLAG_BACKUP_SEMANTICS 33554432 +#define FILE_FLAG_POSIX_SEMANTICS 16777216 +#define CLRDTR 6 +#define CLRRTS 4 +#define SETDTR 5 +#define SETRTS 3 +#define SETXOFF 1 +#define SETXON 2 +#define SETBREAK 8 +#define CLRBREAK 9 +#define STILL_ACTIVE 0x103 +#define FIND_FIRST_EX_CASE_SENSITIVE 1 +#define SCS_32BIT_BINARY 0 +#define SCS_DOS_BINARY 1 +#define SCS_OS216_BINARY 5 +#define SCS_PIF_BINARY 3 +#define SCS_POSIX_BINARY 4 +#define SCS_WOW_BINARY 2 +#define MAX_COMPUTERNAME_LENGTH 15 +#define HW_PROFILE_GUIDLEN 39 +#define MAX_PROFILE_LEN 80 +#define DOCKINFO_UNDOCKED 1 +#define DOCKINFO_DOCKED 2 +#define DOCKINFO_USER_SUPPLIED 4 +#define DOCKINFO_USER_UNDOCKED (DOCKINFO_USER_SUPPLIED|DOCKINFO_UNDOCKED) +#define DOCKINFO_USER_DOCKED (DOCKINFO_USER_SUPPLIED|DOCKINFO_DOCKED) +#define DRIVE_REMOVABLE 2 +#define DRIVE_FIXED 3 +#define DRIVE_REMOTE 4 +#define DRIVE_CDROM 5 +#define DRIVE_RAMDISK 6 +#define DRIVE_UNKNOWN 0 +#define DRIVE_NO_ROOT_DIR 1 +#define FILE_TYPE_UNKNOWN 0 +#define FILE_TYPE_DISK 1 +#define FILE_TYPE_CHAR 2 +#define FILE_TYPE_PIPE 3 +#define FILE_TYPE_REMOTE 0x8000 +#define HANDLE_FLAG_INHERIT 1 +#define HANDLE_FLAG_PROTECT_FROM_CLOSE 2 +#define STD_INPUT_HANDLE (DWORD)(0xfffffff6) +#define STD_OUTPUT_HANDLE (DWORD)(0xfffffff5) +#define STD_ERROR_HANDLE (DWORD)(0xfffffff4) +#define INVALID_HANDLE_VALUE (HANDLE)(-1) +#define GET_TAPE_MEDIA_INFORMATION 0 +#define GET_TAPE_DRIVE_INFORMATION 1 +#define SET_TAPE_MEDIA_INFORMATION 0 +#define SET_TAPE_DRIVE_INFORMATION 1 +#define THREAD_PRIORITY_ABOVE_NORMAL 1 +#define THREAD_PRIORITY_BELOW_NORMAL (-1) +#define THREAD_PRIORITY_HIGHEST 2 +#define THREAD_PRIORITY_IDLE (-15) +#define THREAD_PRIORITY_LOWEST (-2) +#define THREAD_PRIORITY_NORMAL 0 +#define THREAD_PRIORITY_TIME_CRITICAL 15 +#define THREAD_PRIORITY_ERROR_RETURN 2147483647 +#define TIME_ZONE_ID_UNKNOWN 0 +#define TIME_ZONE_ID_STANDARD 1 +#define TIME_ZONE_ID_DAYLIGHT 2 +#define TIME_ZONE_ID_INVALID 0xFFFFFFFF +#define FS_CASE_IS_PRESERVED 2 +#define FS_CASE_SENSITIVE 1 +#define FS_UNICODE_STORED_ON_DISK 4 +#define FS_PERSISTENT_ACLS 8 +#define FS_FILE_COMPRESSION 16 +#define FS_VOL_IS_COMPRESSED 32768 +#define GMEM_FIXED 0 +#define GMEM_MOVEABLE 2 +#define GMEM_MODIFY 128 +#define GPTR 64 +#define GHND 66 +#define GMEM_DDESHARE 8192 +#define GMEM_DISCARDABLE 256 +#define GMEM_LOWER 4096 +#define GMEM_NOCOMPACT 16 +#define GMEM_NODISCARD 32 +#define GMEM_NOT_BANKED 4096 +#define GMEM_NOTIFY 16384 +#define GMEM_SHARE 8192 +#define GMEM_ZEROINIT 64 +#define GMEM_DISCARDED 16384 +#define GMEM_INVALID_HANDLE 32768 +#define GMEM_LOCKCOUNT 255 +#define STATUS_WAIT_0 0 +#define STATUS_ABANDONED_WAIT_0 0x80 +#define STATUS_USER_APC 0xC0 +#define STATUS_TIMEOUT 0x102 +#define STATUS_PENDING 0x103 +#define STATUS_SEGMENT_NOTIFICATION 0x40000005 +#define STATUS_GUARD_PAGE_VIOLATION 0x80000001 +#define STATUS_DATATYPE_MISALIGNMENT 0x80000002 +#define STATUS_BREAKPOINT 0x80000003 +#define STATUS_SINGLE_STEP 0x80000004 +#define STATUS_ACCESS_VIOLATION 0xC0000005 +#define STATUS_IN_PAGE_ERROR 0xC0000006 +#define STATUS_INVALID_HANDLE 0xC0000008L +#define STATUS_NO_MEMORY 0xC0000017 +#define STATUS_ILLEGAL_INSTRUCTION 0xC000001D +#define STATUS_NONCONTINUABLE_EXCEPTION 0xC0000025 +#define STATUS_INVALID_DISPOSITION 0xC0000026 +#define STATUS_ARRAY_BOUNDS_EXCEEDED 0xC000008C +#define STATUS_FLOAT_DENORMAL_OPERAND 0xC000008D +#define STATUS_FLOAT_DIVIDE_BY_ZERO 0xC000008E +#define STATUS_FLOAT_INEXACT_RESULT 0xC000008F +#define STATUS_FLOAT_INVALID_OPERATION 0xC0000090 +#define STATUS_FLOAT_OVERFLOW 0xC0000091 +#define STATUS_FLOAT_STACK_CHECK 0xC0000092 +#define STATUS_FLOAT_UNDERFLOW 0xC0000093 +#define STATUS_INTEGER_DIVIDE_BY_ZERO 0xC0000094 +#define STATUS_INTEGER_OVERFLOW 0xC0000095 +#define STATUS_PRIVILEGED_INSTRUCTION 0xC0000096 +#define STATUS_STACK_OVERFLOW 0xC00000FD +#define STATUS_CONTROL_C_EXIT 0xC000013A +#define EXCEPTION_ACCESS_VIOLATION STATUS_ACCESS_VIOLATION +#define EXCEPTION_DATATYPE_MISALIGNMENT STATUS_DATATYPE_MISALIGNMENT +#define EXCEPTION_BREAKPOINT STATUS_BREAKPOINT +#define EXCEPTION_SINGLE_STEP STATUS_SINGLE_STEP +#define EXCEPTION_ARRAY_BOUNDS_EXCEEDED STATUS_ARRAY_BOUNDS_EXCEEDED +#define EXCEPTION_FLT_DENORMAL_OPERAND STATUS_FLOAT_DENORMAL_OPERAND +#define EXCEPTION_FLT_DIVIDE_BY_ZERO STATUS_FLOAT_DIVIDE_BY_ZERO +#define EXCEPTION_FLT_INEXACT_RESULT STATUS_FLOAT_INEXACT_RESULT +#define EXCEPTION_FLT_INVALID_OPERATION STATUS_FLOAT_INVALID_OPERATION +#define EXCEPTION_FLT_OVERFLOW STATUS_FLOAT_OVERFLOW +#define EXCEPTION_FLT_STACK_CHECK STATUS_FLOAT_STACK_CHECK +#define EXCEPTION_FLT_UNDERFLOW STATUS_FLOAT_UNDERFLOW +#define EXCEPTION_INT_DIVIDE_BY_ZERO STATUS_INTEGER_DIVIDE_BY_ZERO +#define EXCEPTION_INT_OVERFLOW STATUS_INTEGER_OVERFLOW +#define EXCEPTION_PRIV_INSTRUCTION STATUS_PRIVILEGED_INSTRUCTION +#define EXCEPTION_IN_PAGE_ERROR STATUS_IN_PAGE_ERROR +#define EXCEPTION_ILLEGAL_INSTRUCTION STATUS_ILLEGAL_INSTRUCTION +#define EXCEPTION_NONCONTINUABLE_EXCEPTION STATUS_NONCONTINUABLE_EXCEPTION +#define EXCEPTION_STACK_OVERFLOW STATUS_STACK_OVERFLOW +#define EXCEPTION_INVALID_DISPOSITION STATUS_INVALID_DISPOSITION +#define EXCEPTION_GUARD_PAGE STATUS_GUARD_PAGE_VIOLATION +#define EXCEPTION_INVALID_HANDLE STATUS_INVALID_HANDLE +#define CONTROL_C_EXIT STATUS_CONTROL_C_EXIT +#define PROCESS_HEAP_REGION 1 +#define PROCESS_HEAP_UNCOMMITTED_RANGE 2 +#define PROCESS_HEAP_ENTRY_BUSY 4 +#define PROCESS_HEAP_ENTRY_MOVEABLE 16 +#define PROCESS_HEAP_ENTRY_DDESHARE 32 +#define DONT_RESOLVE_DLL_REFERENCES 1 +#define LOAD_LIBRARY_AS_DATAFILE 2 +#define LOAD_WITH_ALTERED_SEARCH_PATH 8 +#define LMEM_FIXED 0 +#define LMEM_MOVEABLE 2 +#define LMEM_NONZEROLHND 2 +#define LMEM_NONZEROLPTR 0 +#define LMEM_DISCARDABLE 3840 +#define LMEM_NOCOMPACT 16 +#define LMEM_NODISCARD 32 +#define LMEM_ZEROINIT 64 +#define LMEM_DISCARDED 16384 +#define LMEM_MODIFY 128 +#define LMEM_INVALID_HANDLE 32768 +#define LMEM_LOCKCOUNT 255 +#define LPTR 64 +#define LHND 66 +#define NONZEROLHND 2 +#define NONZEROLPTR 0 +#define LOCKFILE_FAIL_IMMEDIATELY 1 +#define LOCKFILE_EXCLUSIVE_LOCK 2 +#define LOGON32_PROVIDER_DEFAULT 0 +#define LOGON32_PROVIDER_WINNT35 1 +#define LOGON32_LOGON_INTERACTIVE 2 +#define LOGON32_LOGON_BATCH 4 +#define LOGON32_LOGON_SERVICE 5 +#define MOVEFILE_REPLACE_EXISTING 1 +#define MOVEFILE_COPY_ALLOWED 2 +#define MOVEFILE_DELAY_UNTIL_REBOOT 4 +#define MOVEFILE_WRITE_THROUGH 8 +#define MAXIMUM_WAIT_OBJECTS 64 +#define MAXIMUM_SUSPEND_COUNT 0x7F +#define WAIT_OBJECT_0 0 +#define WAIT_ABANDONED_0 128 +#define WAIT_TIMEOUT 0x102 +#define WAIT_IO_COMPLETION 0xC0 +#define WAIT_ABANDONED 128 +#define WAIT_FAILED 0xFFFFFFFF +#define PURGE_TXABORT 1 +#define PURGE_RXABORT 2 +#define PURGE_TXCLEAR 4 +#define PURGE_RXCLEAR 8 +#define EVENTLOG_FORWARDS_READ 4 +#define EVENTLOG_BACKWARDS_READ 8 +#define EVENTLOG_SEEK_READ 2 +#define EVENTLOG_SEQUENTIAL_READ 1 +#define EVENTLOG_ERROR_TYPE 1 +#define EVENTLOG_WARNING_TYPE 2 +#define EVENTLOG_INFORMATION_TYPE 4 +#define EVENTLOG_AUDIT_SUCCESS 8 +#define EVENTLOG_AUDIT_FAILURE 16 +#define FORMAT_MESSAGE_ALLOCATE_BUFFER 256 +#define FORMAT_MESSAGE_IGNORE_INSERTS 512 +#define FORMAT_MESSAGE_FROM_STRING 1024 +#define FORMAT_MESSAGE_FROM_HMODULE 2048 +#define FORMAT_MESSAGE_FROM_SYSTEM 4096 +#define FORMAT_MESSAGE_ARGUMENT_ARRAY 8192 +#define FORMAT_MESSAGE_MAX_WIDTH_MASK 255 +#define EV_BREAK 64 +#define EV_CTS 8 +#define EV_DSR 16 +#define EV_ERR 128 +#define EV_EVENT1 2048 +#define EV_EVENT2 4096 +#define EV_PERR 512 +#define EV_RING 256 +#define EV_RLSD 32 +#define EV_RX80FULL 1024 +#define EV_RXCHAR 1 +#define EV_RXFLAG 2 +#define EV_TXEMPTY 4 +#define SEM_FAILCRITICALERRORS 1 +#define SEM_NOALIGNMENTFAULTEXCEPT 4 +#define SEM_NOGPFAULTERRORBOX 2 +#define SEM_NOOPENFILEERRORBOX 32768 +#define SLE_ERROR 1 +#define SLE_MINORERROR 2 +#define SLE_WARNING 3 +#define SHUTDOWN_NORETRY 1 +#define EXCEPTION_EXECUTE_HANDLER 1 +#define EXCEPTION_CONTINUE_EXECUTION (-1) +#define EXCEPTION_CONTINUE_SEARCH 0 +#define TLS_MINIMUM_AVAILABLE 64 +#define MAXINTATOM 0xC000 +#define INVALID_ATOM ((ATOM)0) +#define IGNORE 0 +#define INFINITE 0xFFFFFFFF +#define NOPARITY 0 +#define ODDPARITY 1 +#define EVENPARITY 2 +#define MARKPARITY 3 +#define SPACEPARITY 4 +#define ONESTOPBIT 0 +#define ONE5STOPBITS 1 +#define TWOSTOPBITS 2 +#define CBR_110 110 +#define CBR_300 300 +#define CBR_600 600 +#define CBR_1200 1200 +#define CBR_2400 2400 +#define CBR_4800 4800 +#define CBR_9600 9600 +#define CBR_14400 14400 +#define CBR_19200 19200 +#define CBR_38400 38400 +#define CBR_56000 56000 +#define CBR_57600 57600 +#define CBR_115200 115200 +#define CBR_128000 128000 +#define CBR_256000 256000 +#define VER_PLATFORM_WIN32s 0 +#define VER_PLATFORM_WIN32_WINDOWS 1 +#define VER_PLATFORM_WIN32_NT 2 +#define BACKUP_INVALID 0 +#define BACKUP_DATA 1 +#define BACKUP_EA_DATA 2 +#define BACKUP_SECURITY_DATA 3 +#define BACKUP_ALTERNATE_DATA 4 +#define BACKUP_LINK 5 +#define BACKUP_PROPERTY_DATA 6 +#define STREAM_NORMAL_ATTRIBUTE 0 +#define STREAM_MODIFIED_WHEN_READ 1 +#define STREAM_CONTAINS_SECURITY 2 +#define STREAM_CONTAINS_PROPERTIES 4 +#define STARTF_USESHOWWINDOW 1 +#define STARTF_USESIZE 2 +#define STARTF_USEPOSITION 4 +#define STARTF_USECOUNTCHARS 8 +#define STARTF_USEFILLATTRIBUTE 16 +#define STARTF_RUNFULLSCREEN 32 +#define STARTF_FORCEONFEEDBACK 64 +#define STARTF_FORCEOFFFEEDBACK 128 +#define STARTF_USESTDHANDLES 256 +#define STARTF_USEHOTKEY 512 +#define TC_NORMAL 0 +#define TC_HARDERR 1 +#define TC_GP_TRAP 2 +#define TC_SIGNAL 3 +#define AC_LINE_OFFLINE 0 +#define AC_LINE_ONLINE 1 +#define AC_LINE_BACKUP_POWER 2 +#define AC_LINE_UNKNOWN 255 +#define BATTERY_FLAG_HIGH 1 +#define BATTERY_FLAG_LOW 2 +#define BATTERY_FLAG_CRITICAL 4 +#define BATTERY_FLAG_CHARGING 8 +#define BATTERY_FLAG_NO_BATTERY 128 +#define BATTERY_FLAG_UNKNOWN 255 +#define BATTERY_PERCENTAGE_UNKNOWN 255 +#define BATTERY_LIFE_UNKNOWN 0xFFFFFFFF +#define DDD_RAW_TARGET_PATH 1 +#define DDD_REMOVE_DEFINITION 2 +#define DDD_EXACT_MATCH_ON_REMOVE 4 +#define HINSTANCE_ERROR 32 +#define MS_CTS_ON 16 +#define MS_DSR_ON 32 +#define MS_RING_ON 64 +#define MS_RLSD_ON 128 +#define PROFILE_USER 0x10000000 +#define PROFILE_KERNEL 0x20000000 +#define PROFILE_SERVER 0x40000000 +#define DTR_CONTROL_DISABLE 0 +#define DTR_CONTROL_ENABLE 1 +#define DTR_CONTROL_HANDSHAKE 2 +#define RTS_CONTROL_DISABLE 0 +#define RTS_CONTROL_ENABLE 1 +#define RTS_CONTROL_HANDSHAKE 2 +#define RTS_CONTROL_TOGGLE 3 +#define SECURITY_ANONYMOUS (SecurityAnonymous<<16) +#define SECURITY_IDENTIFICATION (SecurityIdentification<<16) +#define SECURITY_IMPERSONATION (SecurityImpersonation<<16) +#define SECURITY_DELEGATION (SecurityDelegation<<16) +#define SECURITY_CONTEXT_TRACKING 0x40000 +#define SECURITY_EFFECTIVE_ONLY 0x80000 +#define SECURITY_SQOS_PRESENT 0x100000 +#define SECURITY_VALID_SQOS_FLAGS 0x1F0000 +#define INVALID_FILE_SIZE 0xFFFFFFFF +#define TLS_OUT_OF_INDEXES (DWORD)0xFFFFFFFF + +#ifndef RC_INVOKED +typedef struct _FILETIME { + DWORD dwLowDateTime; + DWORD dwHighDateTime; +} FILETIME,*PFILETIME,*LPFILETIME; +typedef struct _BY_HANDLE_FILE_INFORMATION { + DWORD dwFileAttributes; + FILETIME ftCreationTime; + FILETIME ftLastAccessTime; + FILETIME ftLastWriteTime; + DWORD dwVolumeSerialNumber; + DWORD nFileSizeHigh; + DWORD nFileSizeLow; + DWORD nNumberOfLinks; + DWORD nFileIndexHigh; + DWORD nFileIndexLow; +} BY_HANDLE_FILE_INFORMATION,*LPBY_HANDLE_FILE_INFORMATION; +typedef struct _DCB { + DWORD DCBlength; + DWORD BaudRate; + DWORD fBinary:1; + DWORD fParity:1; + DWORD fOutxCtsFlow:1; + DWORD fOutxDsrFlow:1; + DWORD fDtrControl:2; + DWORD fDsrSensitivity:1; + DWORD fTXContinueOnXoff:1; + DWORD fOutX:1; + DWORD fInX:1; + DWORD fErrorChar:1; + DWORD fNull:1; + DWORD fRtsControl:2; + DWORD fAbortOnError:1; + DWORD fDummy2:17; + WORD wReserved; + WORD XonLim; + WORD XoffLim; + BYTE ByteSize; + BYTE Parity; + BYTE StopBits; + char XonChar; + char XoffChar; + char ErrorChar; + char EofChar; + char EvtChar; + WORD wReserved1; +} DCB,*LPDCB; +typedef struct _COMM_CONFIG { + DWORD dwSize; + WORD wVersion; + WORD wReserved; + DCB dcb; + DWORD dwProviderSubType; + DWORD dwProviderOffset; + DWORD dwProviderSize; + WCHAR wcProviderData[1]; +} COMMCONFIG,*LPCOMMCONFIG; +typedef struct _COMMPROP { + WORD wPacketLength; + WORD wPacketVersion; + DWORD dwServiceMask; + DWORD dwReserved1; + DWORD dwMaxTxQueue; + DWORD dwMaxRxQueue; + DWORD dwMaxBaud; + DWORD dwProvSubType; + DWORD dwProvCapabilities; + DWORD dwSettableParams; + DWORD dwSettableBaud; + WORD wSettableData; + WORD wSettableStopParity; + DWORD dwCurrentTxQueue; + DWORD dwCurrentRxQueue; + DWORD dwProvSpec1; + DWORD dwProvSpec2; + WCHAR wcProvChar[1]; +} COMMPROP,*LPCOMMPROP; +typedef struct _COMMTIMEOUTS { + DWORD ReadIntervalTimeout; + DWORD ReadTotalTimeoutMultiplier; + DWORD ReadTotalTimeoutConstant; + DWORD WriteTotalTimeoutMultiplier; + DWORD WriteTotalTimeoutConstant; +} COMMTIMEOUTS,*LPCOMMTIMEOUTS; +typedef struct _COMSTAT { + DWORD fCtsHold:1; + DWORD fDsrHold:1; + DWORD fRlsdHold:1; + DWORD fXoffHold:1; + DWORD fXoffSent:1; + DWORD fEof:1; + DWORD fTxim:1; + DWORD fReserved:25; + DWORD cbInQue; + DWORD cbOutQue; +} COMSTAT,*LPCOMSTAT; +typedef DWORD (WINAPI *LPTHREAD_START_ROUTINE)(LPVOID); +typedef struct _CREATE_PROCESS_DEBUG_INFO { + HANDLE hFile; + HANDLE hProcess; + HANDLE hThread; + LPVOID lpBaseOfImage; + DWORD dwDebugInfoFileOffset; + DWORD nDebugInfoSize; + LPVOID lpThreadLocalBase; + LPTHREAD_START_ROUTINE lpStartAddress; + LPVOID lpImageName; + WORD fUnicode; +} CREATE_PROCESS_DEBUG_INFO,*LPCREATE_PROCESS_DEBUG_INFO; +typedef struct _CREATE_THREAD_DEBUG_INFO { + HANDLE hThread; + LPVOID lpThreadLocalBase; + LPTHREAD_START_ROUTINE lpStartAddress; +} CREATE_THREAD_DEBUG_INFO,*LPCREATE_THREAD_DEBUG_INFO; +typedef struct _EXCEPTION_DEBUG_INFO { + EXCEPTION_RECORD ExceptionRecord; + DWORD dwFirstChance; +} EXCEPTION_DEBUG_INFO,*LPEXCEPTION_DEBUG_INFO; +typedef struct _EXIT_THREAD_DEBUG_INFO { + DWORD dwExitCode; +} EXIT_THREAD_DEBUG_INFO,*LPEXIT_THREAD_DEBUG_INFO; +typedef struct _EXIT_PROCESS_DEBUG_INFO { + DWORD dwExitCode; +} EXIT_PROCESS_DEBUG_INFO,*LPEXIT_PROCESS_DEBUG_INFO; +typedef struct _LOAD_DLL_DEBUG_INFO { + HANDLE hFile; + LPVOID lpBaseOfDll; + DWORD dwDebugInfoFileOffset; + DWORD nDebugInfoSize; + LPVOID lpImageName; + WORD fUnicode; +} LOAD_DLL_DEBUG_INFO,*LPLOAD_DLL_DEBUG_INFO; +typedef struct _UNLOAD_DLL_DEBUG_INFO { + LPVOID lpBaseOfDll; +} UNLOAD_DLL_DEBUG_INFO,*LPUNLOAD_DLL_DEBUG_INFO; +typedef struct _OUTPUT_DEBUG_STRING_INFO { + LPSTR lpDebugStringData; + WORD fUnicode; + WORD nDebugStringLength; +} OUTPUT_DEBUG_STRING_INFO,*LPOUTPUT_DEBUG_STRING_INFO; +typedef struct _RIP_INFO { + DWORD dwError; + DWORD dwType; +} RIP_INFO,*LPRIP_INFO; +typedef struct _DEBUG_EVENT { + DWORD dwDebugEventCode; + DWORD dwProcessId; + DWORD dwThreadId; + union { + EXCEPTION_DEBUG_INFO Exception; + CREATE_THREAD_DEBUG_INFO CreateThread; + CREATE_PROCESS_DEBUG_INFO CreateProcessInfo; + EXIT_THREAD_DEBUG_INFO ExitThread; + EXIT_PROCESS_DEBUG_INFO ExitProcess; + LOAD_DLL_DEBUG_INFO LoadDll; + UNLOAD_DLL_DEBUG_INFO UnloadDll; + OUTPUT_DEBUG_STRING_INFO DebugString; + RIP_INFO RipInfo; + } u; +} DEBUG_EVENT,*LPDEBUG_EVENT; +typedef struct _OVERLAPPED { + DWORD Internal; + DWORD InternalHigh; + DWORD Offset; + DWORD OffsetHigh; + HANDLE hEvent; +} OVERLAPPED,*POVERLAPPED,*LPOVERLAPPED; +typedef struct _STARTUPINFOA { + DWORD cb; + LPSTR lpReserved; + LPSTR lpDesktop; + LPSTR lpTitle; + DWORD dwX; + DWORD dwY; + DWORD dwXSize; + DWORD dwYSize; + DWORD dwXCountChars; + DWORD dwYCountChars; + DWORD dwFillAttribute; + DWORD dwFlags; + WORD wShowWindow; + WORD cbReserved2; + PBYTE lpReserved2; + HANDLE hStdInput; + HANDLE hStdOutput; + HANDLE hStdError; +} STARTUPINFOA,*LPSTARTUPINFOA; +typedef struct _STARTUPINFOW { + DWORD cb; + LPWSTR lpReserved; + LPWSTR lpDesktop; + LPWSTR lpTitle; + DWORD dwX; + DWORD dwY; + DWORD dwXSize; + DWORD dwYSize; + DWORD dwXCountChars; + DWORD dwYCountChars; + DWORD dwFillAttribute; + DWORD dwFlags; + WORD wShowWindow; + WORD cbReserved2; + PBYTE lpReserved2; + HANDLE hStdInput; + HANDLE hStdOutput; + HANDLE hStdError; +} STARTUPINFOW,*LPSTARTUPINFOW; +typedef struct _PROCESS_INFORMATION { + HANDLE hProcess; + HANDLE hThread; + DWORD dwProcessId; + DWORD dwThreadId; +} PROCESS_INFORMATION,*LPPROCESS_INFORMATION; +typedef struct _CRITICAL_SECTION_DEBUG { + WORD Type; + WORD CreatorBackTraceIndex; + struct _CRITICAL_SECTION *CriticalSection; + LIST_ENTRY ProcessLocksList; + DWORD EntryCount; + DWORD ContentionCount; + DWORD Spare [2]; +} CRITICAL_SECTION_DEBUG,*PCRITICAL_SECTION_DEBUG; +typedef struct _CRITICAL_SECTION { + PCRITICAL_SECTION_DEBUG DebugInfo; + LONG LockCount; + LONG RecursionCount; + HANDLE OwningThread; + HANDLE LockSemaphore; + DWORD SpinCount; +} CRITICAL_SECTION,*PCRITICAL_SECTION,*LPCRITICAL_SECTION; +typedef struct _SYSTEMTIME { + WORD wYear; + WORD wMonth; + WORD wDayOfWeek; + WORD wDay; + WORD wHour; + WORD wMinute; + WORD wSecond; + WORD wMilliseconds; +} SYSTEMTIME,*LPSYSTEMTIME; +typedef struct _WIN32_FILE_ATTRIBUTE_DATA { + DWORD dwFileAttributes; + FILETIME ftCreationTime; + FILETIME ftLastAccessTime; + FILETIME ftLastWriteTime; + DWORD nFileSizeHigh; + DWORD nFileSizeLow; +} WIN32_FILE_ATTRIBUTE_DATA,*LPWIN32_FILE_ATTRIBUTE_DATA; +typedef struct _WIN32_FIND_DATAA { + DWORD dwFileAttributes; + FILETIME ftCreationTime; + FILETIME ftLastAccessTime; + FILETIME ftLastWriteTime; + DWORD nFileSizeHigh; + DWORD nFileSizeLow; + DWORD dwReserved0; + DWORD dwReserved1; + CHAR cFileName[MAX_PATH]; + CHAR cAlternateFileName[14]; +} WIN32_FIND_DATAA,*LPWIN32_FIND_DATAA; +typedef struct _WIN32_FIND_DATAW { + DWORD dwFileAttributes; + FILETIME ftCreationTime; + FILETIME ftLastAccessTime; + FILETIME ftLastWriteTime; + DWORD nFileSizeHigh; + DWORD nFileSizeLow; + DWORD dwReserved0; + DWORD dwReserved1; + WCHAR cFileName[MAX_PATH]; + WCHAR cAlternateFileName[14]; +} WIN32_FIND_DATAW,*LPWIN32_FIND_DATAW; +typedef struct _WIN32_STREAM_ID { + DWORD dwStreamId; + DWORD dwStreamAttributes; + LARGE_INTEGER Size; + DWORD dwStreamNameSize; + WCHAR cStreamName[ANYSIZE_ARRAY]; +} WIN32_STREAM_ID; +typedef enum _FINDEX_INFO_LEVELS { + FindExInfoStandard, + FindExInfoMaxInfoLevel +} FINDEX_INFO_LEVELS; +typedef enum _FINDEX_SEARCH_OPS { + FindExSearchNameMatch, + FindExSearchLimitToDirectories, + FindExSearchLimitToDevices, + FindExSearchMaxSearchOp +} FINDEX_SEARCH_OPS; +typedef enum _ACL_INFORMATION_CLASS { + AclRevisionInformation=1, + AclSizeInformation +} ACL_INFORMATION_CLASS; +typedef struct tagHW_PROFILE_INFOA { + DWORD dwDockInfo; + CHAR szHwProfileGuid[HW_PROFILE_GUIDLEN]; + CHAR szHwProfileName[MAX_PROFILE_LEN]; +} HW_PROFILE_INFOA,*LPHW_PROFILE_INFOA; +typedef struct tagHW_PROFILE_INFOW { + DWORD dwDockInfo; + WCHAR szHwProfileGuid[HW_PROFILE_GUIDLEN]; + WCHAR szHwProfileName[MAX_PROFILE_LEN]; +} HW_PROFILE_INFOW,*LPHW_PROFILE_INFOW; +typedef enum _GET_FILEEX_INFO_LEVELS { + GetFileExInfoStandard, + GetFileExMaxInfoLevel +} GET_FILEEX_INFO_LEVELS; +typedef struct _SYSTEM_INFO { + union { + DWORD dwOemId; + struct { + WORD wProcessorArchitecture; + WORD wReserved; + } DUMMYSTRUCTNAME; + } DUMMYUNIONNAME; + DWORD dwPageSize; + PVOID lpMinimumApplicationAddress; + PVOID lpMaximumApplicationAddress; + DWORD dwActiveProcessorMask; + DWORD dwNumberOfProcessors; + DWORD dwProcessorType; + DWORD dwAllocationGranularity; + WORD wProcessorLevel; + WORD wProcessorRevision; +} SYSTEM_INFO,*LPSYSTEM_INFO; +typedef struct _SYSTEM_POWER_STATUS { + BYTE ACLineStatus; + BYTE BatteryFlag; + BYTE BatteryLifePercent; + BYTE Reserved1; + DWORD BatteryLifeTime; + DWORD BatteryFullLifeTime; +} SYSTEM_POWER_STATUS,*LPSYSTEM_POWER_STATUS; +typedef struct _TIME_ZONE_INFORMATION { + LONG Bias; + WCHAR StandardName[32]; + SYSTEMTIME StandardDate; + LONG StandardBias; + WCHAR DaylightName[32]; + SYSTEMTIME DaylightDate; + LONG DaylightBias; +} TIME_ZONE_INFORMATION,*LPTIME_ZONE_INFORMATION; +typedef struct _OSVERSIONINFOA { + DWORD dwOSVersionInfoSize; + DWORD dwMajorVersion; + DWORD dwMinorVersion; + DWORD dwBuildNumber; + DWORD dwPlatformId; + CHAR szCSDVersion[128]; +} OSVERSIONINFOA,*POSVERSIONINFOA,*LPOSVERSIONINFOA; +typedef struct _OSVERSIONINFOW { + DWORD dwOSVersionInfoSize; + DWORD dwMajorVersion; + DWORD dwMinorVersion; + DWORD dwBuildNumber; + DWORD dwPlatformId; + WCHAR szCSDVersion[128]; +} OSVERSIONINFOW,*POSVERSIONINFOW,*LPOSVERSIONINFOW; +typedef struct _MEMORYSTATUS { + DWORD dwLength; + DWORD dwMemoryLoad; + DWORD dwTotalPhys; + DWORD dwAvailPhys; + DWORD dwTotalPageFile; + DWORD dwAvailPageFile; + DWORD dwTotalVirtual; + DWORD dwAvailVirtual; +} MEMORYSTATUS,*LPMEMORYSTATUS; +typedef struct _LDT_ENTRY { + WORD LimitLow; + WORD BaseLow; + union { + struct { + BYTE BaseMid; + BYTE Flags1; + BYTE Flags2; + BYTE BaseHi; + } Bytes; + struct { + DWORD BaseMid:8; + DWORD Type:5; + DWORD Dpl:2; + DWORD Pres:1; + DWORD LimitHi:4; + DWORD Sys:1; + DWORD Reserved_0:1; + DWORD Default_Big:1; + DWORD Granularity:1; + DWORD BaseHi:8; + } Bits; + } HighWord; +} LDT_ENTRY,*PLDT_ENTRY,*LPLDT_ENTRY; +typedef struct _PROCESS_HEAP_ENTRY { + PVOID lpData; + DWORD cbData; + BYTE cbOverhead; + BYTE iRegionIndex; + WORD wFlags; + union { + struct { + HANDLE hMem; + DWORD dwReserved[3]; + } Block; + struct { + DWORD dwCommittedSize; + DWORD dwUnCommittedSize; + LPVOID lpFirstBlock; + LPVOID lpLastBlock; + } Region; + } DUMMYUNIONNAME; +} PROCESS_HEAP_ENTRY,*LPPROCESS_HEAP_ENTRY; +typedef struct _OFSTRUCT { + BYTE cBytes; + BYTE fFixedDisk; + WORD nErrCode; + WORD Reserved1; + WORD Reserved2; + CHAR szPathName[OFS_MAXPATHNAME]; +} OFSTRUCT,*LPOFSTRUCT,*POFSTRUCT; +typedef struct _WIN_CERTIFICATE { + DWORD dwLength; + WORD wRevision; + WORD wCertificateType; + BYTE bCertificate[1]; +} WIN_CERTIFICATE, *LPWIN_CERTIFICATE; + +typedef DWORD(WINAPI *LPPROGRESS_ROUTINE)(LARGE_INTEGER,LARGE_INTEGER,LARGE_INTEGER,LARGE_INTEGER,DWORD,DWORD,HANDLE,HANDLE,LPVOID); +typedef void(WINAPI *LPFIBER_START_ROUTINE)(PVOID); +typedef BOOL(CALLBACK *ENUMRESLANGPROC)(HANDLE,LPCTSTR,LPCTSTR,WORD,LONG); +typedef BOOL(CALLBACK *ENUMRESNAMEPROC)(HANDLE,LPCTSTR,LPTSTR,LONG); +typedef BOOL(CALLBACK *ENUMRESTYPEPROC)(HANDLE,LPTSTR,LONG); +typedef void(CALLBACK *LPOVERLAPPED_COMPLETION_ROUTINE)(DWORD,DWORD,LPOVERLAPPED); +typedef LONG(CALLBACK *PTOP_LEVEL_EXCEPTION_FILTER)(LPEXCEPTION_POINTERS); +typedef PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER; +typedef void(APIENTRY *PAPCFUNC)(DWORD); +typedef void(CALLBACK *PTIMERAPCROUTINE)(PVOID,DWORD,DWORD); +#define MAKEINTATOM(i) (LPTSTR)((DWORD)((WORD)(i))) +/* Functions */ +#ifndef UNDER_CE +int APIENTRY WinMain(HINSTANCE,HINSTANCE,LPSTR,int); +#else +int APIENTRY WinMain(HINSTANCE,HINSTANCE,LPWSTR,int); +#endif +int APIENTRY wWinMain(HINSTANCE,HINSTANCE,LPWSTR,int); +long WINAPI _hread(HFILE,LPVOID,long); +long WINAPI _hwrite(HFILE,LPCSTR,long); +HFILE WINAPI _lclose(HFILE); +HFILE WINAPI _lcreat(LPCSTR,int); +LONG WINAPI _llseek(HFILE,LONG,int); +HFILE WINAPI _lopen(LPCSTR,int); +UINT WINAPI _lread(HFILE,LPVOID,UINT); +UINT WINAPI _lwrite(HFILE,LPCSTR,UINT); +#define AbnormalTermination() FALSE +BOOL WINAPI AccessCheck(PSECURITY_DESCRIPTOR,HANDLE,DWORD,PGENERIC_MAPPING,PPRIVILEGE_SET,PDWORD,PDWORD,PBOOL); +BOOL WINAPI AccessCheckAndAuditAlarmA(LPCSTR,LPVOID,LPSTR,LPSTR,PSECURITY_DESCRIPTOR,DWORD,PGENERIC_MAPPING,BOOL,PDWORD,PBOOL,PBOOL); +BOOL WINAPI AccessCheckAndAuditAlarmW(LPCWSTR,LPVOID,LPWSTR,LPWSTR,PSECURITY_DESCRIPTOR,DWORD,PGENERIC_MAPPING,BOOL,PDWORD,PBOOL,PBOOL); +BOOL WINAPI AddAccessAllowedAce(PACL,DWORD,DWORD,PSID); +BOOL WINAPI AddAccessDeniedAce(PACL,DWORD,DWORD,PSID); +BOOL WINAPI AddAce(PACL,DWORD,DWORD,PVOID,DWORD); +ATOM WINAPI AddAtomA(LPCSTR); +ATOM WINAPI AddAtomW(LPCWSTR); +BOOL WINAPI AddAuditAccessAce(PACL,DWORD,DWORD,PSID,BOOL,BOOL); +BOOL WINAPI AdjustTokenGroups(HANDLE,BOOL,PTOKEN_GROUPS,DWORD,PTOKEN_GROUPS,PDWORD); +BOOL WINAPI AdjustTokenPrivileges(HANDLE,BOOL,PTOKEN_PRIVILEGES,DWORD,PTOKEN_PRIVILEGES,PDWORD); +BOOL WINAPI AllocateAndInitializeSid(PSID_IDENTIFIER_AUTHORITY,BYTE,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,PSID*); +BOOL WINAPI AllocateLocallyUniqueId(PLUID); +BOOL WINAPI AreAllAccessesGranted(DWORD,DWORD); +BOOL WINAPI AreAnyAccessesGranted(DWORD,DWORD); +BOOL WINAPI AreFileApisANSI(void); +BOOL WINAPI BackupEventLogA(HANDLE,LPCSTR); +BOOL WINAPI BackupEventLogW(HANDLE,LPCWSTR); +BOOL WINAPI BackupRead(HANDLE,PBYTE,DWORD,PDWORD,BOOL,BOOL,PVOID); +BOOL WINAPI BackupSeek(HANDLE,DWORD,DWORD,PDWORD,PDWORD,PVOID); +BOOL WINAPI BackupWrite(HANDLE,PBYTE,DWORD,PDWORD,BOOL,BOOL,PVOID); +BOOL WINAPI Beep(DWORD,DWORD); +HANDLE WINAPI BeginUpdateResourceA(LPCSTR,BOOL); +HANDLE WINAPI BeginUpdateResourceW(LPCWSTR,BOOL); +BOOL WINAPI BuildCommDCBA(LPCSTR,LPDCB); +BOOL WINAPI BuildCommDCBW(LPCWSTR,LPDCB); +BOOL WINAPI BuildCommDCBAndTimeoutsA(LPCSTR,LPDCB,LPCOMMTIMEOUTS); +BOOL WINAPI BuildCommDCBAndTimeoutsW(LPCWSTR,LPDCB,LPCOMMTIMEOUTS); +BOOL WINAPI CallNamedPipeA(LPCSTR,PVOID,DWORD,PVOID,DWORD,PDWORD,DWORD); +BOOL WINAPI CallNamedPipeW(LPCWSTR,PVOID,DWORD,PVOID,DWORD,PDWORD,DWORD); +BOOL WINAPI CancelIo(HANDLE); +BOOL WINAPI CancelWaitableTimer(HANDLE); +BOOL WINAPI ClearCommBreak(HANDLE); +BOOL WINAPI ClearCommError(HANDLE,PDWORD,LPCOMSTAT); +BOOL WINAPI ClearEventLogA(HANDLE,LPCSTR); +BOOL WINAPI ClearEventLogW(HANDLE,LPCWSTR); +BOOL WINAPI CloseEventLog(HANDLE); +BOOL WINAPI CloseHandle(HANDLE); +BOOL WINAPI CommConfigDialogA(LPSTR,HWND,LPCOMMCONFIG); +BOOL WINAPI CommConfigDialogW(LPWSTR,HWND,LPCOMMCONFIG); +LONG WINAPI CompareFileTime(CONST FILETIME*,CONST FILETIME*); +BOOL WINAPI ConnectNamedPipe(HANDLE,LPOVERLAPPED); +BOOL WINAPI ContinueDebugEvent(DWORD,DWORD,DWORD); +PVOID WINAPI ConvertThreadToFiber(PVOID); +BOOL WINAPI CopyFileA(LPCSTR,LPCSTR,BOOL); +BOOL WINAPI CopyFileW(LPCWSTR,LPCWSTR,BOOL); +BOOL WINAPI CopyFileExA(LPCSTR,LPCSTR,LPPROGRESS_ROUTINE,LPVOID,LPBOOL,DWORD); +BOOL WINAPI CopyFileExW(LPCWSTR,LPCWSTR,LPPROGRESS_ROUTINE,LPVOID,LPBOOL,DWORD); +#define RtlMoveMemory memmove +#define RtlCopyMemory memcpy +#define RtlFillMemory(d,l,f) memset((d), (f), (l)) +#define RtlZeroMemory(d,l) RtlFillMemory((d),(l),0) +#define MoveMemory RtlMoveMemory +#define CopyMemory RtlCopyMemory +#define FillMemory RtlFillMemory +#define ZeroMemory RtlZeroMemory +BOOL WINAPI CopySid(DWORD,PSID,PSID); +BOOL WINAPI CreateDirectoryA(LPCSTR,LPSECURITY_ATTRIBUTES); +BOOL WINAPI CreateDirectoryW(LPCWSTR,LPSECURITY_ATTRIBUTES); +BOOL WINAPI CreateDirectoryExA(LPCSTR,LPCSTR,LPSECURITY_ATTRIBUTES); +BOOL WINAPI CreateDirectoryExW(LPCWSTR,LPCWSTR,LPSECURITY_ATTRIBUTES); +HANDLE WINAPI CreateEventA(LPSECURITY_ATTRIBUTES,BOOL,BOOL,LPCSTR); +HANDLE WINAPI CreateEventW(LPSECURITY_ATTRIBUTES,BOOL,BOOL,LPCWSTR); +LPVOID WINAPI CreateFiber(DWORD,LPFIBER_START_ROUTINE,LPVOID); +HANDLE WINAPI CreateFileA(LPCSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,DWORD,DWORD,HANDLE); +HANDLE WINAPI CreateFileW(LPCWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,DWORD,DWORD,HANDLE); +HANDLE WINAPI CreateFileMappingA(HANDLE,LPSECURITY_ATTRIBUTES,DWORD,DWORD,DWORD,LPCSTR); +HANDLE WINAPI CreateFileMappingW(HANDLE,LPSECURITY_ATTRIBUTES,DWORD,DWORD,DWORD,LPCWSTR); +HANDLE WINAPI CreateIoCompletionPort(HANDLE,HANDLE,DWORD,DWORD); +HANDLE WINAPI CreateMailslotA(LPCSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES); +HANDLE WINAPI CreateMailslotW(LPCWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES); +HANDLE WINAPI CreateMutexA(LPSECURITY_ATTRIBUTES,BOOL,LPCSTR); +HANDLE WINAPI CreateMutexW(LPSECURITY_ATTRIBUTES,BOOL,LPCWSTR); +HANDLE WINAPI CreateNamedPipeA(LPCSTR,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPSECURITY_ATTRIBUTES); +HANDLE WINAPI CreateNamedPipeW(LPCWSTR,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPSECURITY_ATTRIBUTES); +BOOL WINAPI CreatePipe(PHANDLE,PHANDLE,LPSECURITY_ATTRIBUTES,DWORD); +BOOL WINAPI CreatePrivateObjectSecurity(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR*,BOOL,HANDLE,PGENERIC_MAPPING); +BOOL WINAPI CreateProcessA(LPCSTR,LPSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,PVOID,LPCSTR,LPSTARTUPINFOA,LPPROCESS_INFORMATION); +BOOL WINAPI CreateProcessW(LPCWSTR,LPWSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,PVOID,LPCWSTR,LPSTARTUPINFOW,LPPROCESS_INFORMATION); +BOOL WINAPI CreateProcessAsUserA(HANDLE,LPCSTR,LPSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,PVOID,LPCSTR,LPSTARTUPINFOA,LPPROCESS_INFORMATION); +BOOL WINAPI CreateProcessAsUserW(HANDLE,LPCWSTR,LPWSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,PVOID,LPCWSTR,LPSTARTUPINFOW,LPPROCESS_INFORMATION); +HANDLE WINAPI CreateRemoteThread(HANDLE,LPSECURITY_ATTRIBUTES,DWORD,LPTHREAD_START_ROUTINE,LPVOID,DWORD,LPDWORD); +HANDLE WINAPI CreateSemaphoreA(LPSECURITY_ATTRIBUTES,LONG,LONG,LPCSTR); +HANDLE WINAPI CreateSemaphoreW(LPSECURITY_ATTRIBUTES,LONG,LONG,LPCWSTR); +DWORD WINAPI CreateTapePartition(HANDLE,DWORD,DWORD,DWORD); +HANDLE WINAPI CreateThread(LPSECURITY_ATTRIBUTES,DWORD,LPTHREAD_START_ROUTINE,PVOID,DWORD,PDWORD); +HANDLE WINAPI CreateWaitableTimerA(LPSECURITY_ATTRIBUTES,BOOL,LPCSTR); +HANDLE WINAPI CreateWaitableTimerW(LPSECURITY_ATTRIBUTES,BOOL,LPCWSTR); +BOOL WINAPI DebugActiveProcess(DWORD); +void WINAPI DebugBreak(void); +BOOL WINAPI DefineDosDeviceA(DWORD,LPCSTR,LPCSTR); +BOOL WINAPI DefineDosDeviceW(DWORD,LPCWSTR,LPCWSTR); +#define DefineHandleTable(w) ((w),TRUE) +BOOL WINAPI DeleteAce(PACL,DWORD); +ATOM WINAPI DeleteAtom(ATOM); +void WINAPI DeleteCriticalSection(PCRITICAL_SECTION); +void WINAPI DeleteFiber(PVOID); +BOOL WINAPI DeleteFileA(LPCSTR); +BOOL WINAPI DeleteFileW(LPCWSTR); +BOOL WINAPI DeregisterEventSource(HANDLE); +BOOL WINAPI DestroyPrivateObjectSecurity(PSECURITY_DESCRIPTOR*); +BOOL WINAPI DeviceIoControl(HANDLE,DWORD,PVOID,DWORD,PVOID,DWORD,PDWORD,POVERLAPPED); +BOOL WINAPI DisableThreadLibraryCalls(HMODULE); +BOOL WINAPI DisconnectNamedPipe(HANDLE); +BOOL WINAPI DosDateTimeToFileTime(WORD,WORD,LPFILETIME); +BOOL WINAPI DuplicateHandle(HANDLE,HANDLE,HANDLE,PHANDLE,DWORD,BOOL,DWORD); +BOOL WINAPI DuplicateToken(HANDLE,SECURITY_IMPERSONATION_LEVEL,PHANDLE); +BOOL WINAPI DuplicateTokenEx(HANDLE,DWORD,LPSECURITY_ATTRIBUTES,SECURITY_IMPERSONATION_LEVEL,TOKEN_TYPE,PHANDLE); +BOOL WINAPI EndUpdateResourceA(HANDLE,BOOL); +BOOL WINAPI EndUpdateResourceW(HANDLE,BOOL); +void WINAPI EnterCriticalSection(LPCRITICAL_SECTION); +BOOL WINAPI EnumResourceLanguagesA(HINSTANCE,LPCSTR,LPCSTR,ENUMRESLANGPROC,LONG); +BOOL WINAPI EnumResourceLanguagesW(HINSTANCE,LPCWSTR,LPCWSTR,ENUMRESLANGPROC,LONG); +BOOL WINAPI EnumResourceNamesA(HINSTANCE,LPCSTR,ENUMRESNAMEPROC,LONG); +BOOL WINAPI EnumResourceNamesW(HINSTANCE,LPCWSTR,ENUMRESNAMEPROC,LONG); +BOOL WINAPI EnumResourceTypesA(HINSTANCE,ENUMRESTYPEPROC,LONG); +BOOL WINAPI EnumResourceTypesW(HINSTANCE,ENUMRESTYPEPROC,LONG); +BOOL WINAPI EqualPrefixSid(PSID,PSID); +BOOL WINAPI EqualSid(PSID,PSID); +DWORD WINAPI EraseTape(HANDLE,DWORD,BOOL); +BOOL WINAPI EscapeCommFunction(HANDLE,DWORD); +DECLSPEC_NORETURN void WINAPI ExitProcess(UINT); +DECLSPEC_NORETURN void WINAPI ExitThread(DWORD); +DWORD WINAPI ExpandEnvironmentStringsA(LPCSTR,LPSTR,DWORD); +DWORD WINAPI ExpandEnvironmentStringsW(LPCWSTR,LPWSTR,DWORD); +void WINAPI FatalAppExitA(UINT,LPCSTR); +void WINAPI FatalAppExitW(UINT,LPCWSTR); +void WINAPI FatalExit(int); +BOOL WINAPI FileTimeToDosDateTime(CONST FILETIME *,LPWORD,LPWORD); +BOOL WINAPI FileTimeToLocalFileTime(FILETIME *,LPFILETIME); +BOOL WINAPI FileTimeToSystemTime(CONST FILETIME *,LPSYSTEMTIME); +ATOM WINAPI FindAtomA(LPCSTR); +ATOM WINAPI FindAtomW(LPCWSTR); +BOOL WINAPI FindClose(HANDLE); +BOOL WINAPI FindCloseChangeNotification(HANDLE); +HANDLE WINAPI FindFirstChangeNotificationA(LPCSTR,BOOL,DWORD); +HANDLE WINAPI FindFirstChangeNotificationW(LPCWSTR,BOOL,DWORD); +HANDLE WINAPI FindFirstFileA(LPCSTR,LPWIN32_FIND_DATAA); +HANDLE WINAPI FindFirstFileW(LPCWSTR,LPWIN32_FIND_DATAW); +HANDLE WINAPI FindFirstFileExA(LPCSTR,FINDEX_INFO_LEVELS,PVOID,FINDEX_SEARCH_OPS,PVOID,DWORD); +HANDLE WINAPI FindFirstFileExW(LPCWSTR,FINDEX_INFO_LEVELS,PVOID,FINDEX_SEARCH_OPS,PVOID,DWORD); +BOOL WINAPI FindFirstFreeAce(PACL,PVOID*); +BOOL WINAPI FindNextChangeNotification(HANDLE); +BOOL WINAPI FindNextFileA(HANDLE,LPWIN32_FIND_DATAA); +BOOL WINAPI FindNextFileW(HANDLE,LPWIN32_FIND_DATAW); +HRSRC WINAPI FindResourceA(HMODULE,LPCSTR,LPCSTR); +HRSRC WINAPI FindResourceW(HINSTANCE,LPCWSTR,LPCWSTR); +HRSRC WINAPI FindResourceExA(HINSTANCE,LPCSTR,LPCSTR,WORD); +HRSRC WINAPI FindResourceExW(HINSTANCE,LPCWSTR,LPCWSTR,WORD); +BOOL WINAPI FlushFileBuffers(HANDLE); +BOOL WINAPI FlushInstructionCache(HANDLE,PCVOID,DWORD); +BOOL WINAPI FlushViewOfFile(PCVOID,DWORD); +DWORD WINAPI FormatMessageA(DWORD,PCVOID,DWORD,DWORD,LPSTR,DWORD,va_list*); +DWORD WINAPI FormatMessageW(DWORD,PCVOID,DWORD,DWORD,LPWSTR,DWORD,va_list*); +BOOL WINAPI FreeEnvironmentStringsA(LPSTR); +BOOL WINAPI FreeEnvironmentStringsW(LPWSTR); +BOOL WINAPI FreeLibrary(HMODULE); +void WINAPI FreeLibraryAndExitThread(HMODULE,DWORD); +#define FreeModule(m) FreeLibrary(m) +#define FreeProcInstance(p) (void)(p) +BOOL WINAPI FreeResource(HGLOBAL); +PVOID WINAPI FreeSid(PSID); +BOOL WINAPI GetAce(PACL,DWORD,PVOID); +BOOL WINAPI GetAclInformation(PACL,PVOID,DWORD,ACL_INFORMATION_CLASS); +UINT WINAPI GetAtomNameA(ATOM,LPSTR,int); +UINT WINAPI GetAtomNameW(ATOM,LPWSTR,int); +BOOL WINAPI GetBinaryTypeA(LPCSTR,PDWORD); +BOOL WINAPI GetBinaryTypeW(LPCWSTR,PDWORD); +LPSTR WINAPI GetCommandLineA(VOID); +LPWSTR WINAPI GetCommandLineW(VOID); +BOOL WINAPI GetCommConfig(HANDLE,LPCOMMCONFIG,PDWORD); +BOOL WINAPI GetCommMask(HANDLE,PDWORD); +BOOL WINAPI GetCommModemStatus(HANDLE,PDWORD); +BOOL WINAPI GetCommProperties(HANDLE,LPCOMMPROP); +BOOL WINAPI GetCommState(HANDLE,LPDCB); +BOOL WINAPI GetCommTimeouts(HANDLE,LPCOMMTIMEOUTS); +DWORD WINAPI GetCompressedFileSizeA(LPCSTR,PDWORD); +DWORD WINAPI GetCompressedFileSizeW(LPCWSTR,PDWORD); +BOOL WINAPI GetComputerNameA(LPSTR,PDWORD); +BOOL WINAPI GetComputerNameW(LPWSTR,PDWORD); +DWORD WINAPI GetCurrentDirectoryA(DWORD,LPSTR); +DWORD WINAPI GetCurrentDirectoryW(DWORD,LPWSTR); +BOOL WINAPI GetCurrentHwProfileA(LPHW_PROFILE_INFOA); +BOOL WINAPI GetCurrentHwProfileW(LPHW_PROFILE_INFOW); +HANDLE WINAPI GetCurrentProcess(void); +DWORD WINAPI GetCurrentProcessId(void); +HANDLE WINAPI GetCurrentThread(void); +DWORD WINAPI GetCurrentThreadId(void); +#define GetCurrentTime GetTickCount +BOOL WINAPI GetDefaultCommConfigA(LPCSTR,LPCOMMCONFIG,PDWORD); +BOOL WINAPI GetDefaultCommConfigW(LPCWSTR,LPCOMMCONFIG,PDWORD); +BOOL WINAPI GetDiskFreeSpaceA(LPCSTR,PDWORD,PDWORD,PDWORD,PDWORD); +BOOL WINAPI GetDiskFreeSpaceW(LPCWSTR,PDWORD,PDWORD,PDWORD,PDWORD); +BOOL WINAPI GetDiskFreeSpaceExA(LPCSTR,PULARGE_INTEGER,PULARGE_INTEGER,PULARGE_INTEGER); +BOOL WINAPI GetDiskFreeSpaceExW(LPCWSTR,PULARGE_INTEGER,PULARGE_INTEGER,PULARGE_INTEGER); +UINT WINAPI GetDriveTypeA(LPCSTR); +UINT WINAPI GetDriveTypeW(LPCWSTR); +LPSTR WINAPI GetEnvironmentStrings(void); +LPSTR WINAPI GetEnvironmentStringsA(void); +LPWSTR WINAPI GetEnvironmentStringsW(void); +DWORD WINAPI GetEnvironmentVariableA(LPCSTR,LPSTR,DWORD); +DWORD WINAPI GetEnvironmentVariableW(LPCWSTR,LPWSTR,DWORD); +BOOL WINAPI GetExitCodeProcess(HANDLE,PDWORD); +BOOL WINAPI GetExitCodeThread(HANDLE,PDWORD); +DWORD WINAPI GetFileAttributesA(LPCSTR); +DWORD WINAPI GetFileAttributesW(LPCWSTR); +BOOL WINAPI GetFileAttributesExA(LPCSTR,GET_FILEEX_INFO_LEVELS,PVOID); +BOOL WINAPI GetFileAttributesExW(LPCSTR,GET_FILEEX_INFO_LEVELS,PVOID); +BOOL WINAPI GetFileInformationByHandle(HANDLE,LPBY_HANDLE_FILE_INFORMATION); +BOOL WINAPI GetFileSecurityA(LPCSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD); +BOOL WINAPI GetFileSecurityW(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD); +DWORD WINAPI GetFileSize(HANDLE,PDWORD); +BOOL WINAPI GetFileTime(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME); +DWORD WINAPI GetFileType(HANDLE); +#define GetFreeSpace(w) (0x100000L) +DWORD WINAPI GetFullPathNameA(LPCSTR,DWORD,LPSTR,LPSTR*); +DWORD WINAPI GetFullPathNameW(LPCWSTR,DWORD,LPWSTR,LPWSTR*); +BOOL WINAPI GetHandleInformation(HANDLE,PDWORD); +BOOL WINAPI GetKernelObjectSecurity(HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD); +DWORD WINAPI GetLengthSid(PSID); +void WINAPI GetLocalTime(LPSYSTEMTIME); +DWORD WINAPI GetLogicalDrives(void); +DWORD WINAPI GetLogicalDriveStringsA(DWORD,LPSTR); +DWORD WINAPI GetLogicalDriveStringsW(DWORD,LPWSTR); +DWORD WINAPI GetLongPathNameA(LPCSTR,LPSTR,DWORD); +DWORD WINAPI GetLongPathNameW(LPCWSTR,LPWSTR,DWORD); +BOOL WINAPI GetMailslotInfo(HANDLE,PDWORD,PDWORD,PDWORD,PDWORD); +DWORD WINAPI GetModuleFileNameA(HINSTANCE,LPSTR,DWORD); +DWORD WINAPI GetModuleFileNameW(HINSTANCE,LPWSTR,DWORD); +HMODULE WINAPI GetModuleHandleA(LPCSTR); +HMODULE WINAPI GetModuleHandleW(LPCWSTR); +BOOL WINAPI GetNamedPipeHandleStateA(HANDLE,PDWORD,PDWORD,PDWORD,PDWORD,LPSTR,DWORD); +BOOL WINAPI GetNamedPipeHandleStateW(HANDLE,PDWORD,PDWORD,PDWORD,PDWORD,LPWSTR,DWORD); +BOOL WINAPI GetNamedPipeInfo(HANDLE,PDWORD,PDWORD,PDWORD,PDWORD); +BOOL WINAPI GetNumberOfEventLogRecords(HANDLE,PDWORD); +BOOL WINAPI GetOldestEventLogRecord(HANDLE,PDWORD); +BOOL WINAPI GetOverlappedResult(HANDLE,LPOVERLAPPED,PDWORD,BOOL); +DWORD WINAPI GetPriorityClass(HANDLE); +BOOL WINAPI GetPrivateObjectSecurity(PSECURITY_DESCRIPTOR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD); +UINT WINAPI GetPrivateProfileIntA(LPCSTR,LPCSTR,INT,LPCSTR); +UINT WINAPI GetPrivateProfileIntW(LPCWSTR,LPCWSTR,INT,LPCWSTR); +DWORD WINAPI GetPrivateProfileSectionA(LPCSTR,LPSTR,DWORD,LPCSTR); +DWORD WINAPI GetPrivateProfileSectionW(LPCWSTR,LPWSTR,DWORD,LPCWSTR); +DWORD WINAPI GetPrivateProfileSectionNamesA(LPSTR,DWORD,LPCSTR); +DWORD WINAPI GetPrivateProfileSectionNamesW(LPWSTR,DWORD,LPCWSTR); +DWORD WINAPI GetPrivateProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPSTR,DWORD,LPCSTR); +DWORD WINAPI GetPrivateProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,DWORD,LPCWSTR); +BOOL WINAPI GetPrivateProfileStructA(LPCSTR,LPCSTR,PVOID,UINT,LPCSTR); +BOOL WINAPI GetPrivateProfileStructW(LPCWSTR,LPCWSTR,PVOID,UINT,LPCWSTR); +FARPROC WINAPI GetProcAddress(HINSTANCE,LPCSTR); +BOOL WINAPI GetProcessAffinityMask(HANDLE,PDWORD,PDWORD); +HANDLE WINAPI GetProcessHeap(VOID); +DWORD WINAPI GetProcessHeaps(DWORD,PHANDLE); +BOOL WINAPI GetProcessPriorityBoost(HANDLE,PBOOL); +BOOL WINAPI GetProcessShutdownParameters(PDWORD,PDWORD); +BOOL WINAPI GetProcessTimes(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME,LPFILETIME); +DWORD WINAPI GetProcessVersion(DWORD); +HWINSTA WINAPI GetProcessWindowStation(void); +BOOL WINAPI GetProcessWorkingSetSize(HANDLE,PDWORD,PDWORD); +UINT WINAPI GetProfileIntA(LPCSTR,LPCSTR,INT); +UINT WINAPI GetProfileIntW(LPCWSTR,LPCWSTR,INT); +DWORD WINAPI GetProfileSectionA(LPCSTR,LPSTR,DWORD); +DWORD WINAPI GetProfileSectionW(LPCWSTR,LPWSTR,DWORD); +DWORD WINAPI GetProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPSTR,DWORD); +DWORD WINAPI GetProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,DWORD); +BOOL WINAPI GetQueuedCompletionStatus(HANDLE,PDWORD,PDWORD,LPOVERLAPPED*,DWORD); +BOOL WINAPI GetSecurityDescriptorControl(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR_CONTROL,PDWORD); +BOOL WINAPI GetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR,LPBOOL,PACL*,LPBOOL); +BOOL WINAPI GetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR,PSID*,LPBOOL); +DWORD WINAPI GetSecurityDescriptorLength(PSECURITY_DESCRIPTOR); +BOOL WINAPI GetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR,PSID*,LPBOOL); +BOOL WINAPI GetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR,LPBOOL,PACL*,LPBOOL); +DWORD WINAPI GetShortPathNameA(LPCSTR,LPSTR,DWORD); +DWORD WINAPI GetShortPathNameW(LPCWSTR,LPWSTR,DWORD); +PSID_IDENTIFIER_AUTHORITY WINAPI GetSidIdentifierAuthority(PSID); +DWORD WINAPI GetSidLengthRequired(UCHAR); +PDWORD WINAPI GetSidSubAuthority(PSID,DWORD); +PUCHAR WINAPI GetSidSubAuthorityCount(PSID); +VOID WINAPI GetStartupInfoA(LPSTARTUPINFOA); +VOID WINAPI GetStartupInfoW(LPSTARTUPINFOW); +HANDLE WINAPI GetStdHandle(DWORD); +UINT WINAPI GetSystemDirectoryA(LPSTR,UINT); +UINT WINAPI GetSystemDirectoryW(LPWSTR,UINT); +VOID WINAPI GetSystemInfo(LPSYSTEM_INFO); +BOOL WINAPI GetSystemPowerStatus(LPSYSTEM_POWER_STATUS); +VOID WINAPI GetSystemTime(LPSYSTEMTIME); +BOOL WINAPI GetSystemTimeAdjustment(PDWORD,PDWORD,PBOOL); +void WINAPI GetSystemTimeAsFileTime(LPFILETIME); +DWORD WINAPI GetTapeParameters(HANDLE,DWORD,PDWORD,PVOID); +DWORD WINAPI GetTapePosition(HANDLE,DWORD,PDWORD,PDWORD,PDWORD); +DWORD WINAPI GetTapeStatus(HANDLE); +UINT WINAPI GetTempFileNameA(LPCSTR,LPCSTR,UINT,LPSTR); +UINT WINAPI GetTempFileNameW(LPCWSTR,LPCWSTR,UINT,LPWSTR); +DWORD WINAPI GetTempPathA(DWORD,LPSTR); +DWORD WINAPI GetTempPathW(DWORD,LPWSTR); +BOOL WINAPI GetThreadContext(HANDLE,LPCONTEXT); +int WINAPI GetThreadPriority(HANDLE); +BOOL WINAPI GetThreadPriorityBoost(HANDLE,PBOOL); +BOOL WINAPI GetThreadSelectorEntry(HANDLE,DWORD,LPLDT_ENTRY); +BOOL WINAPI GetThreadTimes(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME,LPFILETIME); +DWORD WINAPI GetTickCount(void); +DWORD WINAPI GetTimeZoneInformation(LPTIME_ZONE_INFORMATION); +BOOL WINAPI GetTokenInformation(HANDLE,TOKEN_INFORMATION_CLASS,PVOID,DWORD,PDWORD); +BOOL WINAPI GetUserNameA (LPSTR,PDWORD); +BOOL WINAPI GetUserNameW(LPWSTR,PDWORD); +DWORD WINAPI GetVersion(void); +BOOL WINAPI GetVersionExA(LPOSVERSIONINFOA); +BOOL WINAPI GetVersionExW(LPOSVERSIONINFOW); +BOOL WINAPI GetVolumeInformationA(LPCSTR,LPSTR,DWORD,PDWORD,PDWORD,PDWORD,LPSTR,DWORD); +BOOL WINAPI GetVolumeInformationW(LPCWSTR,LPWSTR,DWORD,PDWORD,PDWORD,PDWORD,LPWSTR,DWORD); +UINT WINAPI GetWindowsDirectoryA(LPSTR,UINT); +UINT WINAPI GetWindowsDirectoryW(LPWSTR,UINT); +DWORD WINAPI GetWindowThreadProcessId(HWND,PDWORD); +ATOM WINAPI GlobalAddAtomA(LPCSTR); +ATOM WINAPI GlobalAddAtomW( LPCWSTR); +HGLOBAL WINAPI GlobalAlloc(UINT,DWORD); +UINT WINAPI GlobalCompact(DWORD); +ATOM WINAPI GlobalDeleteAtom(ATOM); +HGLOBAL GlobalDiscard(HGLOBAL); +ATOM WINAPI GlobalFindAtomA(LPCSTR); +ATOM WINAPI GlobalFindAtomW(LPCWSTR); +VOID WINAPI GlobalFix(HGLOBAL); +UINT WINAPI GlobalFlags(HGLOBAL); +HGLOBAL WINAPI GlobalFree(HGLOBAL); +UINT WINAPI GlobalGetAtomNameA(ATOM,LPSTR,int); +UINT WINAPI GlobalGetAtomNameW(ATOM,LPWSTR,int); +HGLOBAL WINAPI GlobalHandle(PCVOID); +LPVOID WINAPI GlobalLock(HGLOBAL); +VOID WINAPI GlobalMemoryStatus(LPMEMORYSTATUS); +HGLOBAL WINAPI GlobalReAlloc(HGLOBAL,DWORD,UINT); +DWORD WINAPI GlobalSize(HGLOBAL); +VOID WINAPI GlobalUnfix(HGLOBAL); +BOOL WINAPI GlobalUnlock(HGLOBAL); +BOOL WINAPI GlobalUnWire(HGLOBAL); +PVOID WINAPI GlobalWire(HGLOBAL); +PVOID WINAPI HeapAlloc(HANDLE,DWORD,DWORD); +UINT WINAPI HeapCompact(HANDLE,DWORD); +HANDLE WINAPI HeapCreate(DWORD,DWORD,DWORD); +BOOL WINAPI HeapDestroy(HANDLE); +BOOL WINAPI HeapFree(HANDLE,DWORD,PVOID); +BOOL WINAPI HeapLock(HANDLE); +PVOID WINAPI HeapReAlloc(HANDLE,DWORD,PVOID,DWORD); +DWORD WINAPI HeapSize(HANDLE,DWORD,PCVOID); +BOOL WINAPI HeapUnlock(HANDLE); +BOOL WINAPI HeapValidate(HANDLE,DWORD,PCVOID); +BOOL WINAPI HeapWalk(HANDLE,LPPROCESS_HEAP_ENTRY); +BOOL WINAPI ImpersonateLoggedOnUser(HANDLE); +BOOL WINAPI ImpersonateNamedPipeClient(HANDLE); +BOOL WINAPI ImpersonateSelf(SECURITY_IMPERSONATION_LEVEL); +BOOL WINAPI InitAtomTable(DWORD); +BOOL WINAPI InitializeAcl(PACL,DWORD,DWORD); +VOID WINAPI InitializeCriticalSection(LPCRITICAL_SECTION); +BOOL WINAPI InitializeSecurityDescriptor(PSECURITY_DESCRIPTOR,DWORD); +BOOL WINAPI InitializeSid (PSID,PSID_IDENTIFIER_AUTHORITY,BYTE); +PVOID WINAPI InterlockedCompareExchange(PVOID*,PVOID,PVOID); +LONG WINAPI InterlockedDecrement(LPLONG); +LONG WINAPI InterlockedExchange(PLONG,LONG); +LONG WINAPI InterlockedExchangeAdd(PLONG,LONG); +LONG WINAPI InterlockedIncrement(LPLONG); +BOOL WINAPI IsBadCodePtr(FARPROC); +BOOL WINAPI IsBadHugeReadPtr(PCVOID,UINT); +BOOL WINAPI IsBadHugeWritePtr(PVOID,UINT); +BOOL WINAPI IsBadReadPtr(PCVOID,UINT); +BOOL WINAPI IsBadStringPtrA(LPCSTR,UINT); +BOOL WINAPI IsBadStringPtrW(LPCWSTR,UINT); +BOOL WINAPI IsBadWritePtr(PVOID,UINT); +BOOL WINAPI IsDebuggerPresent(void); +BOOL WINAPI IsProcessorFeaturePresent(DWORD); +BOOL WINAPI IsTextUnicode(PCVOID,int,LPINT); +BOOL WINAPI IsValidAcl(PACL); +BOOL WINAPI IsValidSecurityDescriptor(PSECURITY_DESCRIPTOR); +BOOL WINAPI IsValidSid(PSID); +void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION); +#define LimitEmsPages(n) +HINSTANCE WINAPI LoadLibraryA(LPCSTR); +HINSTANCE WINAPI LoadLibraryExA(LPCSTR,HANDLE,DWORD); +HINSTANCE WINAPI LoadLibraryExW(LPCWSTR,HANDLE,DWORD); +HINSTANCE WINAPI LoadLibraryW(LPCWSTR); +DWORD WINAPI LoadModule(LPCSTR,PVOID); +HGLOBAL WINAPI LoadResource(HINSTANCE,HRSRC); +HLOCAL WINAPI LocalAlloc(UINT,UINT); +UINT WINAPI LocalCompact(UINT); +HLOCAL LocalDiscard(HLOCAL); +BOOL WINAPI LocalFileTimeToFileTime(CONST FILETIME *,LPFILETIME); +UINT WINAPI LocalFlags(HLOCAL); +HLOCAL WINAPI LocalFree(HLOCAL); +HLOCAL WINAPI LocalHandle(LPCVOID); +PVOID WINAPI LocalLock(HLOCAL); +HLOCAL WINAPI LocalReAlloc(HLOCAL,UINT,UINT); +UINT WINAPI LocalShrink(HLOCAL,UINT); +UINT WINAPI LocalSize(HLOCAL); +BOOL WINAPI LocalUnlock(HLOCAL); +BOOL WINAPI LockFile(HANDLE,DWORD,DWORD,DWORD,DWORD); +BOOL WINAPI LockFileEx(HANDLE,DWORD,DWORD,DWORD,DWORD,LPOVERLAPPED); +PVOID WINAPI LockResource(HGLOBAL); +#define LockSegment(w) GlobalFix((HANDLE)(w)) +BOOL WINAPI LogonUserA(LPSTR,LPSTR,LPSTR,DWORD,DWORD,PHANDLE); +BOOL WINAPI LogonUserW(LPWSTR,LPWSTR,LPWSTR,DWORD,DWORD,PHANDLE); +BOOL WINAPI LookupAccountNameA(LPCSTR,LPCSTR,PSID,PDWORD,LPSTR,PDWORD,PSID_NAME_USE); +BOOL WINAPI LookupAccountNameW(LPCWSTR,LPCWSTR,PSID,PDWORD,LPWSTR,PDWORD,PSID_NAME_USE); +BOOL WINAPI LookupAccountSidA(LPCSTR,PSID,LPSTR,PDWORD,LPSTR,PDWORD,PSID_NAME_USE); +BOOL WINAPI LookupAccountSidW(LPCWSTR,PSID,LPWSTR,PDWORD,LPWSTR,PDWORD,PSID_NAME_USE); +BOOL WINAPI LookupPrivilegeDisplayNameA(LPCSTR,LPCSTR,LPSTR,PDWORD,PDWORD); +BOOL WINAPI LookupPrivilegeDisplayNameW(LPCWSTR,LPCWSTR,LPWSTR,PDWORD,PDWORD); +BOOL WINAPI LookupPrivilegeNameA(LPCSTR,PLUID,LPSTR,PDWORD); +BOOL WINAPI LookupPrivilegeNameW(LPCWSTR,PLUID,LPWSTR,PDWORD); +BOOL WINAPI LookupPrivilegeValueA(LPCSTR,LPCSTR,PLUID); +BOOL WINAPI LookupPrivilegeValueW(LPCWSTR,LPCWSTR,PLUID); +LPSTR WINAPI lstrcatA(LPSTR,LPCSTR); +LPWSTR WINAPI lstrcatW(LPWSTR,LPCWSTR); +int WINAPI lstrcmpA(LPCSTR,LPCSTR); +int WINAPI lstrcmpiA(LPCSTR,LPCSTR); +int WINAPI lstrcmpiW( LPCWSTR,LPCWSTR); +int WINAPI lstrcmpW(LPCWSTR,LPCWSTR); +LPSTR WINAPI lstrcpyA(LPSTR,LPCSTR); +LPSTR WINAPI lstrcpynA(LPSTR,LPCSTR,int); +LPWSTR WINAPI lstrcpynW(LPWSTR,LPCWSTR,int); +LPWSTR WINAPI lstrcpyW(LPWSTR,LPCWSTR); +int WINAPI lstrlenA(LPCSTR); +int WINAPI lstrlenW(LPCWSTR); +BOOL WINAPI MakeAbsoluteSD(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,PDWORD,PACL,PDWORD,PACL,PDWORD,PSID,PDWORD,PSID,PDWORD); +#define MakeProcInstance(p,i) (p) +BOOL WINAPI MakeSelfRelativeSD(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,PDWORD); +VOID WINAPI MapGenericMask(PDWORD,PGENERIC_MAPPING); +PVOID WINAPI MapViewOfFile(HANDLE,DWORD,DWORD,DWORD,DWORD); +PVOID WINAPI MapViewOfFileEx(HANDLE,DWORD,DWORD,DWORD,DWORD,PVOID); +BOOL WINAPI MoveFileA(LPCSTR,LPCSTR); +BOOL WINAPI MoveFileExA(LPCSTR,LPCSTR,DWORD); +BOOL WINAPI MoveFileExW(LPCWSTR,LPCWSTR,DWORD); +BOOL WINAPI MoveFileW(LPCWSTR,LPCWSTR); +int WINAPI MulDiv(int,int,int); +BOOL WINAPI NotifyChangeEventLog(HANDLE,HANDLE); +BOOL WINAPI ObjectCloseAuditAlarmA(LPCSTR,PVOID,BOOL); +BOOL WINAPI ObjectCloseAuditAlarmW(LPCWSTR,PVOID,BOOL); +BOOL WINAPI ObjectDeleteAuditAlarmA(LPCSTR,PVOID,BOOL); +BOOL WINAPI ObjectDeleteAuditAlarmW(LPCWSTR,PVOID,BOOL); +BOOL WINAPI ObjectOpenAuditAlarmA(LPCSTR,PVOID,LPSTR,LPSTR,PSECURITY_DESCRIPTOR,HANDLE,DWORD,DWORD,PPRIVILEGE_SET,BOOL,BOOL,PBOOL); +BOOL WINAPI ObjectOpenAuditAlarmW(LPCWSTR,PVOID,LPWSTR,LPWSTR,PSECURITY_DESCRIPTOR,HANDLE,DWORD,DWORD,PPRIVILEGE_SET,BOOL,BOOL,PBOOL); +BOOL WINAPI ObjectPrivilegeAuditAlarmA(LPCSTR,PVOID,HANDLE,DWORD,PPRIVILEGE_SET,BOOL); +BOOL WINAPI ObjectPrivilegeAuditAlarmW(LPCWSTR,PVOID,HANDLE,DWORD,PPRIVILEGE_SET,BOOL); +HANDLE WINAPI OpenBackupEventLogA(LPCSTR,LPCSTR); +HANDLE WINAPI OpenBackupEventLogW(LPCWSTR,LPCWSTR); +HANDLE WINAPI OpenEventA(DWORD,BOOL,LPCSTR); +HANDLE WINAPI OpenEventLogA (LPCSTR,LPCSTR); +HANDLE WINAPI OpenEventLogW(LPCWSTR,LPCWSTR); +HANDLE WINAPI OpenEventW(DWORD,BOOL,LPCWSTR); +HFILE WINAPI OpenFile(LPCSTR,LPOFSTRUCT,UINT); +HANDLE WINAPI OpenFileMappingA(DWORD,BOOL,LPCSTR); +HANDLE WINAPI OpenFileMappingW(DWORD,BOOL,LPCWSTR); +HANDLE WINAPI OpenMutexA(DWORD,BOOL,LPCSTR); +HANDLE WINAPI OpenMutexW(DWORD,BOOL,LPCWSTR); +HANDLE WINAPI OpenProcess(DWORD,BOOL,DWORD); +BOOL WINAPI OpenProcessToken(HANDLE,DWORD,PHANDLE); +HANDLE WINAPI OpenSemaphoreA(DWORD,BOOL,LPCSTR); +HANDLE WINAPI OpenSemaphoreW(DWORD,BOOL,LPCWSTR); +BOOL WINAPI OpenThreadToken(HANDLE,DWORD,BOOL,PHANDLE); +HANDLE WINAPI OpenWaitableTimerA(DWORD,BOOL,LPCSTR); +HANDLE WINAPI OpenWaitableTimerW(DWORD,BOOL,LPCWSTR); +void WINAPI OutputDebugStringA(LPCSTR); +void WINAPI OutputDebugStringW(LPCWSTR); +BOOL WINAPI PeekNamedPipe(HANDLE,PVOID,DWORD,PDWORD,PDWORD,PDWORD); +BOOL WINAPI PostQueuedCompletionStatus(HANDLE,DWORD,DWORD,LPOVERLAPPED); +DWORD WINAPI PrepareTape(HANDLE,DWORD,BOOL); +BOOL WINAPI PrivilegeCheck (HANDLE,PPRIVILEGE_SET,PBOOL); +BOOL WINAPI PrivilegedServiceAuditAlarmA(LPCSTR,LPCSTR,HANDLE,PPRIVILEGE_SET,BOOL); +BOOL WINAPI PrivilegedServiceAuditAlarmW(LPCWSTR,LPCWSTR,HANDLE,PPRIVILEGE_SET,BOOL); +BOOL WINAPI PulseEvent(HANDLE); +BOOL WINAPI PurgeComm(HANDLE,DWORD); +DWORD WINAPI QueryDosDeviceA(LPCSTR,LPSTR,DWORD); +DWORD WINAPI QueryDosDeviceW(LPCWSTR,LPWSTR,DWORD); +BOOL WINAPI QueryPerformanceCounter(PLARGE_INTEGER); +BOOL WINAPI QueryPerformanceFrequency(PLARGE_INTEGER); +DWORD WINAPI QueueUserAPC(PAPCFUNC,HANDLE,DWORD); +void WINAPI RaiseException(DWORD,DWORD,DWORD,const DWORD*); +BOOL WINAPI ReadDirectoryChangesW(HANDLE,PVOID,DWORD,BOOL,DWORD,PDWORD,LPOVERLAPPED,LPOVERLAPPED_COMPLETION_ROUTINE); +BOOL WINAPI ReadEventLogA(HANDLE,DWORD,DWORD,PVOID,DWORD,DWORD *,DWORD *); +BOOL WINAPI ReadEventLogW(HANDLE,DWORD,DWORD,PVOID,DWORD,DWORD *,DWORD *); +BOOL WINAPI ReadFile(HANDLE,PVOID,DWORD,PDWORD,LPOVERLAPPED); +BOOL WINAPI ReadFileEx(HANDLE,PVOID,DWORD,LPOVERLAPPED,LPOVERLAPPED_COMPLETION_ROUTINE); +BOOL WINAPI ReadProcessMemory(HANDLE,PCVOID,PVOID,DWORD,PDWORD); +HANDLE WINAPI RegisterEventSourceA (LPCSTR,LPCSTR); +HANDLE WINAPI RegisterEventSourceW(LPCWSTR,LPCWSTR); +BOOL WINAPI ReleaseMutex(HANDLE); +BOOL WINAPI ReleaseSemaphore(HANDLE,LONG,LPLONG); +BOOL WINAPI RemoveDirectoryA(LPCSTR); +BOOL WINAPI RemoveDirectoryW(LPCWSTR); +BOOL WINAPI ReportEventA(HANDLE,WORD,WORD,DWORD,PSID,WORD,DWORD,LPCSTR*,PVOID); +BOOL WINAPI ReportEventW(HANDLE,WORD,WORD,DWORD,PSID,WORD,DWORD,LPCWSTR*,PVOID); +BOOL WINAPI ResetEvent(HANDLE); +DWORD WINAPI ResumeThread(HANDLE); +BOOL WINAPI RevertToSelf(void); +DWORD WINAPI SearchPathA(LPCSTR,LPCSTR,LPCSTR,DWORD,LPSTR,LPSTR*); +DWORD WINAPI SearchPathW(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,LPWSTR,LPWSTR*); +BOOL WINAPI SetAclInformation(PACL,PVOID,DWORD,ACL_INFORMATION_CLASS); +BOOL WINAPI SetCommBreak(HANDLE); +BOOL WINAPI SetCommConfig(HANDLE,LPCOMMCONFIG,DWORD); +BOOL WINAPI SetCommMask(HANDLE,DWORD); +BOOL WINAPI SetCommState(HANDLE,LPDCB); +BOOL WINAPI SetCommTimeouts(HANDLE,LPCOMMTIMEOUTS); +BOOL WINAPI SetComputerNameA(LPCSTR); +BOOL WINAPI SetComputerNameW(LPCWSTR); +BOOL WINAPI SetCurrentDirectoryA(LPCSTR); +BOOL WINAPI SetCurrentDirectoryW(LPCWSTR); +BOOL WINAPI SetDefaultCommConfigA(LPCSTR,LPCOMMCONFIG,DWORD); +BOOL WINAPI SetDefaultCommConfigW(LPCWSTR,LPCOMMCONFIG,DWORD); +BOOL WINAPI SetEndOfFile(HANDLE); +BOOL WINAPI SetEnvironmentVariableA(LPCSTR,LPCSTR); +BOOL WINAPI SetEnvironmentVariableW(LPCWSTR,LPCWSTR); +UINT WINAPI SetErrorMode(UINT); +BOOL WINAPI SetEvent(HANDLE); +VOID WINAPI SetFileApisToANSI(void); +VOID WINAPI SetFileApisToOEM(void); +BOOL WINAPI SetFileAttributesA(LPCSTR,DWORD); +BOOL WINAPI SetFileAttributesW(LPCWSTR,DWORD); +DWORD WINAPI SetFilePointer(HANDLE,LONG,PLONG,DWORD); +BOOL WINAPI SetFileSecurityA(LPCSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR); +BOOL WINAPI SetFileSecurityW(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR); +BOOL WINAPI SetFileTime(HANDLE,const FILETIME*,const FILETIME*,const FILETIME*); +UINT WINAPI SetHandleCount(UINT); +BOOL WINAPI SetHandleInformation(HANDLE,DWORD,DWORD); +BOOL WINAPI SetKernelObjectSecurity(HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR); +void WINAPI SetLastError(DWORD); +void WINAPI SetLastErrorEx(DWORD,DWORD); +BOOL WINAPI SetLocalTime(const SYSTEMTIME*); +BOOL WINAPI SetMailslotInfo(HANDLE,DWORD); +BOOL WINAPI SetNamedPipeHandleState(HANDLE,PDWORD,PDWORD,PDWORD); +BOOL WINAPI SetPriorityClass(HANDLE,DWORD); +BOOL WINAPI SetPrivateObjectSecurity(SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR *,PGENERIC_MAPPING,HANDLE); +BOOL WINAPI SetProcessAffinityMask(HANDLE,DWORD); +BOOL WINAPI SetProcessPriorityBoost(HANDLE,BOOL); +BOOL WINAPI SetProcessShutdownParameters(DWORD,DWORD); +BOOL WINAPI SetProcessWorkingSetSize(HANDLE,DWORD,DWORD); +BOOL WINAPI SetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR,BOOL,PACL,BOOL); +BOOL WINAPI SetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR,PSID,BOOL); +BOOL WINAPI SetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR,PSID,BOOL); +BOOL WINAPI SetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR,BOOL,PACL,BOOL); +BOOL WINAPI SetStdHandle(DWORD,HANDLE); +#define SetSwapAreaSize(w) (w) +BOOL WINAPI SetSystemPowerState(BOOL,BOOL); +BOOL WINAPI SetSystemTime(const SYSTEMTIME*); +BOOL WINAPI SetSystemTimeAdjustment(DWORD,BOOL); +DWORD WINAPI SetTapeParameters(HANDLE,DWORD,PVOID); +DWORD WINAPI SetTapePosition(HANDLE,DWORD,DWORD,DWORD,DWORD,BOOL); +DWORD WINAPI SetThreadAffinityMask(HANDLE,DWORD); +BOOL WINAPI SetThreadContext(HANDLE,const CONTEXT*); +DWORD WINAPI SetThreadIdealProcessor(HANDLE,DWORD); +BOOL WINAPI SetThreadPriority(HANDLE,int); +BOOL WINAPI SetThreadPriorityBoost(HANDLE,BOOL); +BOOL WINAPI SetThreadToken (PHANDLE,HANDLE); +BOOL WINAPI SetTimeZoneInformation(const TIME_ZONE_INFORMATION *); +BOOL WINAPI SetTokenInformation(HANDLE,TOKEN_INFORMATION_CLASS,PVOID,DWORD); +LPTOP_LEVEL_EXCEPTION_FILTER WINAPI SetUnhandledExceptionFilter(LPTOP_LEVEL_EXCEPTION_FILTER); +BOOL WINAPI SetupComm(HANDLE,DWORD,DWORD); +BOOL WINAPI SetVolumeLabelA(LPCSTR,LPCSTR); +BOOL WINAPI SetVolumeLabelW(LPCWSTR,LPCWSTR); +BOOL WINAPI SetWaitableTimer(HANDLE,const LARGE_INTEGER*,LONG,PTIMERAPCROUTINE,PVOID,BOOL); +BOOL WINAPI SignalObjectAndWait(HANDLE,HANDLE,DWORD,BOOL); +DWORD WINAPI SizeofResource(HINSTANCE,HRSRC); +void WINAPI Sleep(DWORD); +DWORD WINAPI SleepEx(DWORD,BOOL); +DWORD WINAPI SuspendThread(HANDLE); +void WINAPI SwitchToFiber(PVOID); +BOOL WINAPI SwitchToThread(void); +BOOL WINAPI SystemTimeToFileTime(const SYSTEMTIME*,LPFILETIME); +BOOL WINAPI SystemTimeToTzSpecificLocalTime(LPTIME_ZONE_INFORMATION,LPSYSTEMTIME,LPSYSTEMTIME); +BOOL WINAPI TerminateProcess(HANDLE,UINT); +BOOL WINAPI TerminateThread(HANDLE,DWORD); +DWORD WINAPI TlsAlloc(VOID); +BOOL WINAPI TlsFree(DWORD); +PVOID WINAPI TlsGetValue(DWORD); +BOOL WINAPI TlsSetValue(DWORD,PVOID); +BOOL WINAPI TransactNamedPipe(HANDLE,PVOID,DWORD,PVOID,DWORD,PDWORD,LPOVERLAPPED); +BOOL WINAPI TransmitCommChar(HANDLE,char); +BOOL WINAPI TryEnterCriticalSection(LPCRITICAL_SECTION); +LONG WINAPI UnhandledExceptionFilter(LPEXCEPTION_POINTERS); +BOOL WINAPI UnlockFile(HANDLE,DWORD,DWORD,DWORD,DWORD); +BOOL WINAPI UnlockFileEx(HANDLE,DWORD,DWORD,DWORD,LPOVERLAPPED); +#define UnlockResource(h) (h) +#define UnlockSegment(w) GlobalUnfix((HANDLE)(w)) +BOOL WINAPI UnmapViewOfFile(PVOID); +BOOL WINAPI UpdateResourceA(HANDLE,LPCSTR,LPCSTR,WORD,PVOID,DWORD); +BOOL WINAPI UpdateResourceW(HANDLE,LPCWSTR,LPCWSTR,WORD,PVOID,DWORD); +PVOID WINAPI VirtualAlloc(PVOID,DWORD,DWORD,DWORD); +BOOL WINAPI VirtualFree(PVOID,DWORD,DWORD); +BOOL WINAPI VirtualFreeEx(HANDLE,PVOID,DWORD,DWORD); +BOOL WINAPI VirtualLock(PVOID,DWORD); +BOOL WINAPI VirtualProtect(PVOID,DWORD,DWORD,PDWORD); +BOOL WINAPI VirtualProtectEx(HANDLE,PVOID,DWORD,DWORD,PDWORD); +DWORD WINAPI VirtualQuery(LPCVOID,PMEMORY_BASIC_INFORMATION,DWORD); +DWORD WINAPI VirtualQueryEx(HANDLE,LPCVOID,PMEMORY_BASIC_INFORMATION,DWORD); +BOOL WINAPI VirtualUnlock(PVOID,DWORD); +BOOL WINAPI WaitCommEvent(HANDLE,PDWORD,LPOVERLAPPED); +BOOL WINAPI WaitForDebugEvent(LPDEBUG_EVENT,DWORD); +DWORD WINAPI WaitForMultipleObjects(DWORD,const HANDLE*,BOOL,DWORD); +DWORD WINAPI WaitForMultipleObjectsEx(DWORD,const HANDLE*,BOOL,DWORD,BOOL); +DWORD WINAPI WaitForSingleObject(HANDLE,DWORD); +DWORD WINAPI WaitForSingleObjectEx(HANDLE,DWORD,BOOL); +BOOL WINAPI WaitNamedPipeA(LPCSTR,DWORD); +BOOL WINAPI WaitNamedPipeW(LPCWSTR,DWORD); +BOOL WINAPI WinLoadTrustProvider(GUID*); +BOOL WINAPI WriteFile(HANDLE,PCVOID,DWORD,PDWORD,LPOVERLAPPED); +BOOL WINAPI WriteFileEx(HANDLE,PCVOID,DWORD,LPOVERLAPPED,LPOVERLAPPED_COMPLETION_ROUTINE); +BOOL WINAPI WritePrivateProfileSectionA(LPCSTR,LPCSTR,LPCSTR); +BOOL WINAPI WritePrivateProfileSectionW(LPCWSTR,LPCWSTR,LPCWSTR); +BOOL WINAPI WritePrivateProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPCSTR); +BOOL WINAPI WritePrivateProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR); +BOOL WINAPI WritePrivateProfileStructA(LPCSTR,LPCSTR,PVOID,UINT,LPCSTR); +BOOL WINAPI WritePrivateProfileStructW(LPCWSTR,LPCWSTR,PVOID,UINT,LPCWSTR); +BOOL WINAPI WriteProcessMemory(HANDLE,PVOID,PVOID,DWORD,PDWORD); +BOOL WINAPI WriteProfileSectionA(LPCSTR,LPCSTR); +BOOL WINAPI WriteProfileSectionW(LPCWSTR,LPCWSTR); +BOOL WINAPI WriteProfileStringA(LPCSTR,LPCSTR,LPCSTR); +BOOL WINAPI WriteProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR); +DWORD WINAPI WriteTapemark(HANDLE,DWORD,DWORD,BOOL); +#define Yield() + +#ifdef UNICODE +typedef STARTUPINFOW STARTUPINFO,*LPSTARTUPINFO; +typedef WIN32_FIND_DATAW WIN32_FIND_DATA,*LPWIN32_FIND_DATA; +typedef HW_PROFILE_INFOW HW_PROFILE_INFO,*LPHW_PROFILE_INFO; +typedef OSVERSIONINFOW OSVERSIONINFO,*POSVERSIONINFO,*LPOSVERSIONINFO; +#define AccessCheckAndAuditAlarm AccessCheckAndAuditAlarmW +#define AddAtom AddAtomW +#define BackupEventLog BackupEventLogW +#define BeginUpdateResource BeginUpdateResourceW +#define BuildCommDCB BuildCommDCBW +#define BuildCommDCBAndTimeouts BuildCommDCBAndTimeoutsW +#define CallNamedPipe CallNamedPipeW +#define ClearEventLog ClearEventLogW +#define CommConfigDialog CommConfigDialogW +#define CopyFile CopyFileW +#define CopyFileEx CopyFileExW +#define CreateDirectory CreateDirectoryW +#define CreateDirectoryEx CreateDirectoryExW +#define CreateEvent CreateEventW +#define CreateFile CreateFileW +#define CreateFileMapping CreateFileMappingW +#define CreateMailslot CreateMailslotW +#define CreateMutex CreateMutexW +#define CreateNamedPipe CreateNamedPipeW +#define CreateProcess CreateProcessW +#define CreateProcessAsUser CreateProcessAsUserW +#define CreateSemaphore CreateSemaphoreW +#define CreateWaitableTimer CreateWaitableTimerW +#define DefineDosDevice DefineDosDeviceW +#define DeleteFile DeleteFileW +#define EndUpdateResource EndUpdateResourceW +#define EnumResourceLanguages EnumResourceLanguagesW +#define EnumResourceNames EnumResourceNamesW +#define EnumResourceTypes EnumResourceTypesW +#define ExpandEnvironmentStrings ExpandEnvironmentStringsW +#define FatalAppExit FatalAppExitW +#define FindAtom FindAtomW +#define FindFirstChangeNotification FindFirstChangeNotificationW +#define FindFirstFile FindFirstFileW +#define FindFirstFileEx FindFirstFileExW +#define FindNextFile FindNextFileW +#define FindResource FindResourceW +#define FindResourceEx FindResourceExW +#define FormatMessage FormatMessageW +#define FreeEnvironmentStrings FreeEnvironmentStringsW +#define GetAtomName GetAtomNameW +#define GetBinaryType GetBinaryTypeW +#define GetCommandLine GetCommandLineW +#define GetCompressedFileSize GetCompressedFileSizeW +#define GetComputerName GetComputerNameW +#define GetCurrentDirectory GetCurrentDirectoryW +#define GetDefaultCommConfig GetDefaultCommConfigW +#define GetDiskFreeSpace GetDiskFreeSpaceW +#define GetDiskFreeSpaceEx GetDiskFreeSpaceExW +#define GetDriveType GetDriveTypeW +#define GetEnvironmentStrings GetEnvironmentStringsW +#define GetEnvironmentVariable GetEnvironmentVariableW +#define GetFileAttributes GetFileAttributesW +#define GetFileSecurity GetFileSecurityW +#define GetFileAttributesEx GetFileAttributesExW +#define GetFullPathName GetFullPathNameW +#define GetLogicalDriveStrings GetLogicalDriveStringsW +#define GetLongPathName GetLongPathNameW +#define GetModuleFileName GetModuleFileNameW +#define GetModuleHandle GetModuleHandleW +#define GetNamedPipeHandleState GetNamedPipeHandleStateW +#define GetPrivateProfileInt GetPrivateProfileIntW +#define GetPrivateProfileSection GetPrivateProfileSectionW +#define GetPrivateProfileSectionNames GetPrivateProfileSectionNamesW +#define GetPrivateProfileString GetPrivateProfileStringW +#define GetPrivateProfileStruct GetPrivateProfileStructW +#define GetProfileInt GetProfileIntW +#define GetProfileSection GetProfileSectionW +#define GetProfileString GetProfileStringW +#define GetShortPathName GetShortPathNameW +#define GetStartupInfo GetStartupInfoW +#define GetSystemDirectory GetSystemDirectoryW +#define GetTempFileName GetTempFileNameW +#define GetTempPath GetTempPathW +#define GetUserName GetUserNameW +#define GetVersionEx GetVersionExW +#define GetVolumeInformation GetVolumeInformationW +#define GetWindowsDirectory GetWindowsDirectoryW +#define GlobalAddAtom GlobalAddAtomW +#define GlobalFindAtom GlobalFindAtomW +#define GlobalGetAtomName GlobalGetAtomNameW +#define IsBadStringPtr IsBadStringPtrW +#define LoadLibrary LoadLibraryW +#define LoadLibraryEx LoadLibraryExW +#define LogonUser LogonUserW +#define LookupAccountName LookupAccountNameW +#define LookupAccountSid LookupAccountSidW +#define LookupPrivilegeDisplayName LookupPrivilegeDisplayNameW +#define LookupPrivilegeName LookupPrivilegeNameW +#define LookupPrivilegeValue LookupPrivilegeValueW +#define lstrcat lstrcatW +#define lstrcmp lstrcmpW +#define lstrcmpi lstrcmpiW +#define lstrcpy lstrcpyW +#define lstrcpyn lstrcpynW +#define lstrlen lstrlenW +#define MoveFile MoveFileW +#define MoveFileEx MoveFileExW +#define ObjectCloseAuditAlarm ObjectCloseAuditAlarmW +#define ObjectDeleteAuditAlarm ObjectDeleteAuditAlarmW +#define ObjectOpenAuditAlarm ObjectOpenAuditAlarmW +#define ObjectPrivilegeAuditAlarm ObjectPrivilegeAuditAlarmW +#define OpenBackupEventLog OpenBackupEventLogW +#define OpenEvent OpenEventW +#define OpenEventLog OpenEventLogW +#define OpenFileMapping OpenFileMappingW +#define OpenMutex OpenMutexW +#define OpenSemaphore OpenSemaphoreW +#define OutputDebugString OutputDebugStringW +#define PrivilegedServiceAuditAlarm PrivilegedServiceAuditAlarmW +#define QueryDosDevice QueryDosDeviceW +#define ReadEventLog ReadEventLogW +#define RegisterEventSource RegisterEventSourceW +#define RemoveDirectory RemoveDirectoryW +#define ReportEvent ReportEventW +#define SearchPath SearchPathW +#define SetComputerName SetComputerNameW +#define SetCurrentDirectory SetCurrentDirectoryW +#define SetDefaultCommConfig SetDefaultCommConfigW +#define SetEnvironmentVariable SetEnvironmentVariableW +#define SetFileAttributes SetFileAttributesW +#define SetFileSecurity SetFileSecurityW +#define SetVolumeLabel SetVolumeLabelW +#define UpdateResource UpdateResourceW +#define WaitNamedPipe WaitNamedPipeW +#define WritePrivateProfileSection WritePrivateProfileSectionW +#define WritePrivateProfileString WritePrivateProfileStringW +#define WritePrivateProfileStruct WritePrivateProfileStructW +#define WriteProfileSection WriteProfileSectionW +#define WriteProfileString WriteProfileStringW +#else +typedef STARTUPINFOA STARTUPINFO,*LPSTARTUPINFO; +typedef WIN32_FIND_DATAA WIN32_FIND_DATA,*LPWIN32_FIND_DATA; +typedef HW_PROFILE_INFOA HW_PROFILE_INFO,*LPHW_PROFILE_INFO; +typedef OSVERSIONINFOA OSVERSIONINFO,*POSVERSIONINFO,*LPOSVERSIONINFO; +#define AccessCheckAndAuditAlarm AccessCheckAndAuditAlarmA +#define AddAtom AddAtomA +#define BackupEventLog BackupEventLogA +#define BeginUpdateResource BeginUpdateResourceA +#define BuildCommDCB BuildCommDCBA +#define BuildCommDCBAndTimeouts BuildCommDCBAndTimeoutsA +#define CallNamedPipe CallNamedPipeA +#define ClearEventLog ClearEventLogA +#define CommConfigDialog CommConfigDialogA +#define CopyFile CopyFileA +#define CopyFileEx CopyFileExA +#define CreateDirectory CreateDirectoryA +#define CreateDirectoryEx CreateDirectoryExA +#define CreateEvent CreateEventA +#define CreateFile CreateFileA +#define CreateFileMapping CreateFileMappingA +#define CreateMailslot CreateMailslotA +#define CreateMutex CreateMutexA +#define CreateNamedPipe CreateNamedPipeA +#define CreateProcess CreateProcessA +#define CreateProcessAsUser CreateProcessAsUserA +#define CreateSemaphore CreateSemaphoreA +#define CreateWaitableTimer CreateWaitableTimerA +#define DefineDosDevice DefineDosDeviceA +#define DeleteFile DeleteFileA +#define EndUpdateResource EndUpdateResourceA +#define EnumResourceLanguages EnumResourceLanguagesA +#define EnumResourceNames EnumResourceNamesA +#define EnumResourceTypes EnumResourceTypesA +#define ExpandEnvironmentStrings ExpandEnvironmentStringsA +#define FatalAppExit FatalAppExitA +#define FindAtom FindAtomA +#define FindFirstChangeNotification FindFirstChangeNotificationA +#define FindFirstFile FindFirstFileA +#define FindFirstFileEx FindFirstFileExW +#define FindNextFile FindNextFileA +#define FindResource FindResourceA +#define FindResourceEx FindResourceExA +#define FormatMessage FormatMessageA +#define FreeEnvironmentStrings FreeEnvironmentStringsA +#define GetAtomName GetAtomNameA +#define GetBinaryType GetBinaryTypeA +#define GetCommandLine GetCommandLineA +#define GetComputerName GetComputerNameA +#define GetCompressedFileSize GetCompressedFileSizeA +#define GetCurrentDirectory GetCurrentDirectoryA +#define GetDefaultCommConfig GetDefaultCommConfigA +#define GetDiskFreeSpace GetDiskFreeSpaceA +#define GetDiskFreeSpaceEx GetDiskFreeSpaceExA +#define GetDriveType GetDriveTypeA +#define GetEnvironmentStringsA GetEnvironmentStrings +#define GetEnvironmentVariable GetEnvironmentVariableA +#define GetFileAttributes GetFileAttributesA +#define GetFileSecurity GetFileSecurityA +#define GetFileAttributesEx GetFileAttributesExA +#define GetFullPathName GetFullPathNameA +#define GetLogicalDriveStrings GetLogicalDriveStringsA +#define GetLongPathName GetLongPathNameA +#define GetNamedPipeHandleState GetNamedPipeHandleStateA +#define GetModuleHandle GetModuleHandleA +#define GetModuleFileName GetModuleFileNameA +#define GetPrivateProfileInt GetPrivateProfileIntA +#define GetPrivateProfileSection GetPrivateProfileSectionA +#define GetPrivateProfileSectionNames GetPrivateProfileSectionNamesA +#define GetPrivateProfileString GetPrivateProfileStringA +#define GetPrivateProfileStruct GetPrivateProfileStructA +#define GetProfileInt GetProfileIntA +#define GetProfileSection GetProfileSectionA +#define GetProfileString GetProfileStringA +#define GetShortPathName GetShortPathNameA +#define GetStartupInfo GetStartupInfoA +#define GetSystemDirectory GetSystemDirectoryA +#define GetTempFileName GetTempFileNameA +#define GetTempPath GetTempPathA +#define GetUserName GetUserNameA +#define GetVersionEx GetVersionExA +#define GetVolumeInformation GetVolumeInformationA +#define GetWindowsDirectory GetWindowsDirectoryA +#define GlobalAddAtom GlobalAddAtomA +#define GlobalFindAtom GlobalFindAtomA +#define GlobalGetAtomName GlobalGetAtomNameA +#define IsBadStringPtr IsBadStringPtrA +#define LoadLibrary LoadLibraryA +#define LoadLibraryEx LoadLibraryExA +#define LogonUser LogonUserA +#define LookupAccountName LookupAccountNameA +#define LookupAccountSid LookupAccountSidA +#define LookupPrivilegeDisplayName LookupPrivilegeDisplayNameA +#define LookupPrivilegeName LookupPrivilegeNameA +#define LookupPrivilegeValue LookupPrivilegeValueA +#define lstrcat lstrcatA +#define lstrcmp lstrcmpA +#define lstrcmpi lstrcmpiA +#define lstrcpy lstrcpyA +#define lstrcpyn lstrcpynA +#define lstrlen lstrlenA +#define MoveFile MoveFileA +#define MoveFileEx MoveFileExA +#define ObjectCloseAuditAlarm ObjectCloseAuditAlarmA +#define ObjectDeleteAuditAlarm ObjectDeleteAuditAlarmA +#define ObjectOpenAuditAlarm ObjectOpenAuditAlarmA +#define ObjectPrivilegeAuditAlarm ObjectPrivilegeAuditAlarmA +#define OpenBackupEventLog OpenBackupEventLogA +#define OpenEvent OpenEventA +#define OpenEventLog OpenEventLogA +#define OpenFileMapping OpenFileMappingA +#define OpenMutex OpenMutexA +#define OpenSemaphore OpenSemaphoreA +#define OutputDebugString OutputDebugStringA +#define PrivilegedServiceAuditAlarm PrivilegedServiceAuditAlarmA +#define QueryDosDevice QueryDosDeviceA +#define ReadEventLog ReadEventLogA +#define RegisterEventSource RegisterEventSourceA +#define RemoveDirectory RemoveDirectoryA +#define ReportEvent ReportEventA +#define SearchPath SearchPathA +#define SetComputerName SetComputerNameA +#define SetCurrentDirectory SetCurrentDirectoryA +#define SetDefaultCommConfig SetDefaultCommConfigA +#define SetEnvironmentVariable SetEnvironmentVariableA +#define SetFileAttributes SetFileAttributesA +#define SetFileSecurity SetFileSecurityA +#define SetVolumeLabel SetVolumeLabelA +#define UpdateResource UpdateResourceA +#define WaitNamedPipe WaitNamedPipeA +#define WritePrivateProfileSection WritePrivateProfileSectionA +#define WritePrivateProfileString WritePrivateProfileStringA +#define WritePrivateProfileStruct WritePrivateProfileStructA +#define WriteProfileSection WriteProfileSectionA +#define WriteProfileString WriteProfileStringA +#endif +#endif +#ifdef __cplusplus +} +#endif +#endif /* _WINBASE_H */ diff --git a/winsup/w32api/include/wincon.h b/winsup/w32api/include/wincon.h new file mode 100644 index 000000000..4ed04abf1 --- /dev/null +++ b/winsup/w32api/include/wincon.h @@ -0,0 +1,203 @@ +#ifndef _WINCON_H +#define _WINCON_H + +#ifdef __cplusplus +extern "C" { +#endif + +#define FOREGROUND_BLUE 1 +#define FOREGROUND_GREEN 2 +#define FOREGROUND_RED 4 +#define FOREGROUND_INTENSITY 8 +#define BACKGROUND_BLUE 16 +#define BACKGROUND_GREEN 32 +#define BACKGROUND_RED 64 +#define BACKGROUND_INTENSITY 128 +#define CTRL_C_EVENT 0 +#define CTRL_BREAK_EVENT 1 +#define CTRL_CLOSE_EVENT 2 +#define CTRL_LOGOFF_EVENT 5 +#define CTRL_SHUTDOWN_EVENT 6 +#define ENABLE_LINE_INPUT 2 +#define ENABLE_ECHO_INPUT 4 +#define ENABLE_PROCESSED_INPUT 1 +#define ENABLE_WINDOW_INPUT 8 +#define ENABLE_MOUSE_INPUT 16 +#define ENABLE_PROCESSED_OUTPUT 1 +#define ENABLE_WRAP_AT_EOL_OUTPUT 2 +#define KEY_EVENT 1 +#define MOUSE_EVENT 2 +#define WINDOW_BUFFER_SIZE_EVENT 4 +#define MENU_EVENT 8 +#define FOCUS_EVENT 16 +#define CAPSLOCK_ON 128 +#define ENHANCED_KEY 256 +#define RIGHT_ALT_PRESSED 1 +#define LEFT_ALT_PRESSED 2 +#define RIGHT_CTRL_PRESSED 4 +#define LEFT_CTRL_PRESSED 8 +#define SHIFT_PRESSED 16 +#define NUMLOCK_ON 32 +#define SCROLLLOCK_ON 64 +#define FROM_LEFT_1ST_BUTTON_PRESSED 1 +#define RIGHTMOST_BUTTON_PRESSED 2 +#define FROM_LEFT_2ND_BUTTON_PRESSED 4 +#define FROM_LEFT_3RD_BUTTON_PRESSED 8 +#define FROM_LEFT_4TH_BUTTON_PRESSED 16 +#define MOUSE_MOVED 1 +#define DOUBLE_CLICK 2 +#define MOUSE_WHEELED 4 + +typedef struct _CHAR_INFO { + union { + WCHAR UnicodeChar; + CHAR AsciiChar; + } Char; + WORD Attributes; +} CHAR_INFO,*PCHAR_INFO; +typedef struct _SMALL_RECT { + SHORT Left; + SHORT Top; + SHORT Right; + SHORT Bottom; +} SMALL_RECT,*PSMALL_RECT; +typedef struct _CONSOLE_CURSOR_INFO { + DWORD dwSize; + BOOL bVisible; +} CONSOLE_CURSOR_INFO,*PCONSOLE_CURSOR_INFO; +typedef struct _COORD { + SHORT X; + SHORT Y; +} COORD; +typedef struct _CONSOLE_SCREEN_BUFFER_INFO { + COORD dwSize; + COORD dwCursorPosition; + WORD wAttributes; + SMALL_RECT srWindow; + COORD dwMaximumWindowSize; +} CONSOLE_SCREEN_BUFFER_INFO,*PCONSOLE_SCREEN_BUFFER_INFO; +typedef BOOL(CALLBACK *PHANDLER_ROUTINE)(DWORD); +typedef struct _KEY_EVENT_RECORD { + BOOL bKeyDown; + WORD wRepeatCount; + WORD wVirtualKeyCode; + WORD wVirtualScanCode; + union { + WCHAR UnicodeChar; + CHAR AsciiChar; + } uChar; + DWORD dwControlKeyState; +} +#ifdef __GNUC__ +/* gcc's alignment is not what win32 expects */ + PACKED +#endif +KEY_EVENT_RECORD; + +typedef struct _MOUSE_EVENT_RECORD { + COORD dwMousePosition; + DWORD dwButtonState; + DWORD dwControlKeyState; + DWORD dwEventFlags; +} MOUSE_EVENT_RECORD; +typedef struct _WINDOW_BUFFER_SIZE_RECORD { COORD dwSize; } WINDOW_BUFFER_SIZE_RECORD; +typedef struct _MENU_EVENT_RECORD { UINT dwCommandId; } MENU_EVENT_RECORD,*PMENU_EVENT_RECORD; +typedef struct _FOCUS_EVENT_RECORD { BOOL bSetFocus; } FOCUS_EVENT_RECORD; +typedef struct _INPUT_RECORD { + WORD EventType; + union { + KEY_EVENT_RECORD KeyEvent; + MOUSE_EVENT_RECORD MouseEvent; + WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent; + MENU_EVENT_RECORD MenuEvent; + FOCUS_EVENT_RECORD FocusEvent; + } Event; +} INPUT_RECORD,*PINPUT_RECORD; + +BOOL WINAPI AllocConsole(void); +HANDLE WINAPI CreateConsoleScreenBuffer(DWORD,DWORD,LPSECURITY_ATTRIBUTES,DWORD,PVOID); +BOOL WINAPI FillConsoleOutputAttribute(HANDLE,WORD,DWORD,COORD,PDWORD); +BOOL WINAPI FillConsoleOutputCharacterA(HANDLE,CHAR,DWORD,COORD,PDWORD); +BOOL WINAPI FillConsoleOutputCharacterW(HANDLE,WCHAR,DWORD,COORD,PDWORD); +BOOL WINAPI FlushConsoleInputBuffer(HANDLE); +BOOL WINAPI FreeConsole(void); +BOOL WINAPI GenerateConsoleCtrlEvent(DWORD,DWORD); +UINT WINAPI GetConsoleCP(void); +BOOL WINAPI GetConsoleCursorInfo(HANDLE,PCONSOLE_CURSOR_INFO); +BOOL WINAPI GetConsoleMode(HANDLE,PDWORD); +UINT WINAPI GetConsoleOutputCP(void); +BOOL WINAPI GetConsoleScreenBufferInfo(HANDLE,PCONSOLE_SCREEN_BUFFER_INFO); +DWORD WINAPI GetConsoleTitleA(LPSTR,DWORD); +DWORD WINAPI GetConsoleTitleW(LPWSTR,DWORD); +COORD WINAPI GetLargestConsoleWindowSize(HANDLE); +BOOL WINAPI GetNumberOfConsoleInputEvents(HANDLE,PDWORD); +BOOL WINAPI GetNumberOfConsoleMouseButtons(PDWORD); +BOOL WINAPI PeekConsoleInputA(HANDLE,PINPUT_RECORD,DWORD,PDWORD); +BOOL WINAPI PeekConsoleInputW(HANDLE,PINPUT_RECORD,DWORD,PDWORD); +BOOL WINAPI ReadConsoleA(HANDLE,PVOID,DWORD,PDWORD,PVOID); +BOOL WINAPI ReadConsoleW(HANDLE,PVOID,DWORD,PDWORD,PVOID); +BOOL WINAPI ReadConsoleInputA(HANDLE,PINPUT_RECORD,DWORD,PDWORD); +BOOL WINAPI ReadConsoleInputW(HANDLE,PINPUT_RECORD,DWORD,PDWORD); +BOOL WINAPI ReadConsoleOutputAttribute(HANDLE,LPWORD,DWORD,COORD,LPDWORD); +BOOL WINAPI ReadConsoleOutputCharacterA(HANDLE,LPSTR,DWORD,COORD,PDWORD); +BOOL WINAPI ReadConsoleOutputCharacterW(HANDLE,LPWSTR,DWORD,COORD,PDWORD); +BOOL WINAPI ReadConsoleOutputA(HANDLE,PCHAR_INFO,COORD,COORD,PSMALL_RECT); +BOOL WINAPI ReadConsoleOutputW(HANDLE,PCHAR_INFO,COORD,COORD,PSMALL_RECT); +BOOL WINAPI ScrollConsoleScreenBufferA(HANDLE,const SMALL_RECT*,const SMALL_RECT*,COORD,const CHAR_INFO*); +BOOL WINAPI ScrollConsoleScreenBufferW(HANDLE,const SMALL_RECT*,const SMALL_RECT*,COORD,const CHAR_INFO*); +BOOL WINAPI SetConsoleActiveScreenBuffer(HANDLE); +BOOL WINAPI SetConsoleCP(UINT); +BOOL WINAPI SetConsoleCtrlHandler(PHANDLER_ROUTINE,BOOL); +BOOL WINAPI SetConsoleCursorInfo(HANDLE,const CONSOLE_CURSOR_INFO*); +BOOL WINAPI SetConsoleCursorPosition(HANDLE,COORD); +BOOL WINAPI SetConsoleMode(HANDLE,DWORD); +BOOL WINAPI SetConsoleOutputCP(UINT); +BOOL WINAPI SetConsoleScreenBufferSize(HANDLE,COORD); +BOOL WINAPI SetConsoleTextAttribute(HANDLE,WORD); +BOOL WINAPI SetConsoleTitleA(LPCSTR); +BOOL WINAPI SetConsoleTitleW(LPCWSTR); +BOOL WINAPI SetConsoleWindowInfo(HANDLE,BOOL,const SMALL_RECT*); +BOOL WINAPI WriteConsoleA(HANDLE,PCVOID,DWORD,PDWORD,PVOID); +BOOL WINAPI WriteConsoleW(HANDLE,PCVOID,DWORD,PDWORD,PVOID); +BOOL WINAPI WriteConsoleInputA(HANDLE,const INPUT_RECORD*,DWORD,PDWORD); +BOOL WINAPI WriteConsoleInputW(HANDLE,const INPUT_RECORD*,DWORD,PDWORD); +BOOL WINAPI WriteConsoleOutputA(HANDLE,const CHAR_INFO*,COORD,COORD,PSMALL_RECT); +BOOL WINAPI WriteConsoleOutputW(HANDLE,const CHAR_INFO*,COORD,COORD,PSMALL_RECT); +BOOL WINAPI WriteConsoleOutputAttribute(HANDLE,const WORD*,DWORD,COORD,PDWORD); +BOOL WINAPI WriteConsoleOutputCharacterA(HANDLE,LPCSTR,DWORD,COORD,PDWORD); +BOOL WINAPI WriteConsoleOutputCharacterW(HANDLE,LPCWSTR,DWORD,COORD,PDWORD); + +#ifdef UNICODE +#define FillConsoleOutputCharacter FillConsoleOutputCharacterW +#define GetConsoleTitle GetConsoleTitleW +#define PeekConsoleInput PeekConsoleInputW +#define ReadConsole ReadConsoleW +#define ReadConsoleInput ReadConsoleInputW +#define ReadConsoleOutput ReadConsoleOutputW +#define ReadConsoleOutputCharacter ReadConsoleOutputCharacterW +#define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferW +#define SetConsoleTitle SetConsoleTitleW +#define WriteConsole WriteConsoleW +#define WriteConsoleInput WriteConsoleInputW +#define WriteConsoleOutput WriteConsoleOutputW +#define WriteConsoleOutputCharacter WriteConsoleOutputCharacterW +#else +#define FillConsoleOutputCharacter FillConsoleOutputCharacterA +#define GetConsoleTitle GetConsoleTitleA +#define PeekConsoleInput PeekConsoleInputA +#define ReadConsole ReadConsoleA +#define ReadConsoleInput ReadConsoleInputA +#define ReadConsoleOutput ReadConsoleOutputA +#define ReadConsoleOutputCharacter ReadConsoleOutputCharacterA +#define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferA +#define SetConsoleTitle SetConsoleTitleA +#define WriteConsole WriteConsoleA +#define WriteConsoleInput WriteConsoleInputA +#define WriteConsoleOutput WriteConsoleOutputA +#define WriteConsoleOutputCharacter WriteConsoleOutputCharacterA +#endif + +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/wincrypt.h b/winsup/w32api/include/wincrypt.h new file mode 100644 index 000000000..db6bd1e89 --- /dev/null +++ b/winsup/w32api/include/wincrypt.h @@ -0,0 +1,184 @@ +#ifndef _WINCRYPT_H +#define _WINCRYPT_H +#ifdef __cplusplus +extern "C" { +#endif +#define MS_DEF_PROV_A "Microsoft Base Cryptographic Provider v1.0" +#define MS_DEF_PROV_W L"Microsoft Base Cryptographic Provider v1.0" +#define GET_ALG_CLASS(x) (x&57344) +#define GET_ALG_TYPE(x) (x&7680) +#define GET_ALG_SID(x) (x&511) +#define ALG_CLASS_ANY 0 +#define ALG_CLASS_SIGNATURE 8192 +#define ALG_CLASS_MSG_ENCRYPT 16384 +#define ALG_CLASS_DATA_ENCRYPT 24576 +#define ALG_CLASS_HASH 32768 +#define ALG_CLASS_KEY_EXCHANGE 40960 +#define ALG_TYPE_ANY 0 +#define ALG_TYPE_DSS 512 +#define ALG_TYPE_RSA 1024 +#define ALG_TYPE_BLOCK 1536 +#define ALG_TYPE_STREAM 2048 +#define ALG_SID_ANY 0 +#define ALG_SID_RSA_ANY 0 +#define ALG_SID_RSA_PKCS 1 +#define ALG_SID_RSA_MSATWORK 2 +#define ALG_SID_RSA_ENTRUST 3 +#define ALG_SID_RSA_PGP 4 +#define ALG_SID_DSS_ANY 0 +#define ALG_SID_DSS_PKCS 1 +#define ALG_SID_DSS_DMS 2 +#define ALG_SID_DES 1 +#define ALG_SID_RC2 2 +#define ALG_SID_RC4 1 +#define ALG_SID_SEAL 2 +#define ALG_SID_MD2 1 +#define ALG_SID_MD4 2 +#define ALG_SID_MD5 3 +#define ALG_SID_SHA 4 +#define ALG_SID_MAC 5 +#define ALG_SID_EXAMPLE 80 +#define CALG_MD2 (ALG_CLASS_HASH|ALG_TYPE_ANY|ALG_SID_MD2) +#define CALG_MD4 (ALG_CLASS_HASH|ALG_TYPE_ANY|ALG_SID_MD4) +#define CALG_MD5 (ALG_CLASS_HASH|ALG_TYPE_ANY|ALG_SID_MD5) +#define CALG_SHA (ALG_CLASS_HASH|ALG_TYPE_ANY|ALG_SID_SHA) +#define CALG_MAC (ALG_CLASS_HASH|ALG_TYPE_ANY|ALG_SID_MAC) +#define CALG_RSA_SIGN (ALG_CLASS_SIGNATURE|ALG_TYPE_RSA|ALG_SID_RSA_ANY) +#define CALG_DSS_SIGN (ALG_CLASS_SIGNATURE|ALG_TYPE_DSS|ALG_SID_DSS_ANY) +#define CALG_RSA_KEYX (ALG_CLASS_KEY_EXCHANGE|ALG_TYPE_RSA|ALG_SID_RSA_ANY) +#define CALG_DES (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_DES) +#define CALG_RC2 (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_RC2) +#define CALG_RC4 (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_STREAM|ALG_SID_RC4) +#define CALG_SEAL (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_STREAM|ALG_SID_SEAL) +#define CRYPT_VERIFYCONTEXT 0xF0000000 +#define CRYPT_NEWKEYSET 8 +#define CRYPT_DELETEKEYSET 16 +#define CRYPT_EXPORTABLE 1 +#define CRYPT_USER_PROTECTED 2 +#define CRYPT_CREATE_SALT 4 +#define CRYPT_UPDATE_KEY 8 +#define SIMPLEBLOB 1 +#define PUBLICKEYBLOB 6 +#define AT_KEYEXCHANGE 1 +#define AT_SIGNATURE 2 +#define CRYPT_USERDATA 1 +#define KP_IV 1 +#define KP_SALT 2 +#define KP_PADDING 3 +#define KP_MODE 4 +#define KP_MODE_BITS 5 +#define KP_PERMISSIONS 6 +#define KP_ALGID 7 +#define KP_BLOCKLEN 8 +#define PKCS5_PADDING 1 +#define CRYPT_MODE_CBC 1 +#define CRYPT_MODE_ECB 2 +#define CRYPT_MODE_OFB 3 +#define CRYPT_MODE_CFB 4 +#define CRYPT_MODE_CTS 5 +#define CRYPT_ENCRYPT 1 +#define CRYPT_DECRYPT 2 +#define CRYPT_EXPORT 4 +#define CRYPT_READ 8 +#define CRYPT_WRITE 16 +#define CRYPT_MAC 32 +#define HP_ALGID 1 +#define HP_HASHVAL 2 +#define HP_HASHSIZE 4 +#define CRYPT_FAILED FALSE +#define CRYPT_SUCCEED TRUE +#define RCRYPT_SUCCEEDED(r) ((r)==CRYPT_SUCCEED) +#define RCRYPT_FAILED(r) ((r)==CRYPT_FAILED) +#define PP_ENUMALGS 1 +#define PP_ENUMCONTAINERS 2 +#define PP_IMPTYPE 3 +#define PP_NAME 4 +#define PP_VERSION 5 +#define PP_CONTAINER 6 +#define CRYPT_FIRST 1 +#define CRYPT_NEXT 2 +#define CRYPT_IMPL_HARDWARE 1 +#define CRYPT_IMPL_SOFTWARE 2 +#define CRYPT_IMPL_MIXED 3 +#define CRYPT_IMPL_UNKNOWN 4 +#define PROV_RSA_FULL 1 +#define PROV_RSA_SIG 2 +#define PROV_DSS 3 +#define PROV_FORTEZZA 4 +#define PROV_MS_MAIL 5 +#define PROV_SSL 6 +#define PROV_STT_MER 7 +#define PROV_STT_ACQ 8 +#define PROV_STT_BRND 9 +#define PROV_STT_ROOT 10 +#define PROV_STT_ISS 11 +#define MAXUIDLEN 64 +#define CUR_BLOB_VERSION 2 +typedef UINT ALG_ID; +typedef struct _VTableProvStruc {FARPROC FuncVerifyImage;} VTableProvStruc,*PVTableProvStruc; +typedef ULONG HCRYPTPROV; +typedef ULONG HCRYPTKEY; +typedef ULONG HCRYPTHASH; +typedef struct _PROV_ENUMALGS { + ALG_ID aiAlgid; + DWORD dwBitLen; + DWORD dwNameLen; + CHAR szName[20]; +} PROV_ENUMALGS; +typedef struct _PUBLICKEYSTRUC { + BYTE bType; + BYTE bVersion; + WORD reserved; + ALG_ID aiKeyAlg; +} PUBLICKEYSTRUC; +typedef struct _RSAPUBKEY { + DWORD magic; + DWORD bitlen; + DWORD pubexp; +} RSAPUBKEY; +BOOL WINAPI CryptAcquireContextA(HCRYPTPROV*,LPCSTR,LPCSTR,DWORD,DWORD); +BOOL WINAPI CryptAcquireContextW(HCRYPTPROV*,LPCWSTR,LPCWSTR,DWORD,DWORD); +BOOL WINAPI CryptReleaseContext(HCRYPTPROV,DWORD); +BOOL WINAPI CryptGenKey(HCRYPTPROV,ALG_ID,DWORD,HCRYPTKEY*); +BOOL WINAPI CryptDeriveKey(HCRYPTPROV,ALG_ID,HCRYPTHASH,DWORD,HCRYPTKEY*); +BOOL WINAPI CryptDestroyKey(HCRYPTKEY); +BOOL WINAPI CryptSetKeyParam(HCRYPTKEY,DWORD,PBYTE,DWORD); +BOOL WINAPI CryptGetKeyParam(HCRYPTKEY,DWORD,PBYTE,PDWORD,DWORD); +BOOL WINAPI CryptSetHashParam(HCRYPTHASH,DWORD,PBYTE,DWORD); +BOOL WINAPI CryptGetHashParam(HCRYPTHASH,DWORD,PBYTE,PDWORD,DWORD); +BOOL WINAPI CryptSetProvParam(HCRYPTPROV,DWORD,PBYTE,DWORD); +BOOL WINAPI CryptGetProvParam(HCRYPTPROV,DWORD,PBYTE,PDWORD,DWORD); +BOOL WINAPI CryptGenRandom(HCRYPTPROV,DWORD,PBYTE); +BOOL WINAPI CryptGetUserKey(HCRYPTPROV,DWORD,HCRYPTKEY*); +BOOL WINAPI CryptExportKey(HCRYPTKEY,HCRYPTKEY,DWORD,DWORD,PBYTE,PDWORD); +BOOL WINAPI CryptImportKey(HCRYPTPROV,PBYTE,DWORD,HCRYPTKEY,DWORD,HCRYPTKEY*); +BOOL WINAPI CryptEncrypt(HCRYPTKEY,HCRYPTHASH,BOOL,DWORD,PBYTE,PDWORD,DWORD); +BOOL WINAPI CryptDecrypt(HCRYPTKEY,HCRYPTHASH,BOOL,DWORD,PBYTE,PDWORD); +BOOL WINAPI CryptCreateHash(HCRYPTPROV,ALG_ID,HCRYPTKEY,DWORD,HCRYPTHASH*); +BOOL WINAPI CryptHashData(HCRYPTHASH,PBYTE,DWORD,DWORD); +BOOL WINAPI CryptHashSessionKey(HCRYPTHASH,HCRYPTKEY,DWORD); +BOOL WINAPI CryptGetHashValue(HCRYPTHASH,DWORD,PBYTE,PDWORD); +BOOL WINAPI CryptDestroyHash(HCRYPTHASH); +BOOL WINAPI CryptSignHashA(HCRYPTHASH,DWORD,LPCSTR,DWORD,PBYTE,PDWORD); +BOOL WINAPI CryptSignHashW(HCRYPTHASH,DWORD,LPCWSTR,DWORD,PBYTE,PDWORD); +BOOL WINAPI CryptVerifySignatureA(HCRYPTHASH,PBYTE,DWORD,HCRYPTKEY,LPCSTR,DWORD); +BOOL WINAPI CryptVerifySignatureW(HCRYPTHASH,PBYTE,DWORD,HCRYPTKEY,LPCWSTR,DWORD); +BOOL WINAPI CryptSetProviderA(LPCSTR,DWORD); +BOOL WINAPI CryptSetProviderW(LPCWSTR,DWORD); +#ifdef UNICODE +#define CryptAcquireContext CryptAcquireContextW +#define CryptSignHash CryptSignHashW +#define CryptVerifySignature CryptVerifySignatureW +#define CryptSetProvider CryptSetProviderW +#define MS_DEF_PROV MS_DEF_PROV_W +#else +#define CryptAcquireContext CryptAcquireContextA +#define CryptSignHash CryptSignHashA +#define CryptVerifySignature CryptVerifySignatureA +#define CryptSetProvider CryptSetProviderA +#define MS_DEF_PROV MS_DEF_PROV_A +#endif +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/windef.h b/winsup/w32api/include/windef.h new file mode 100644 index 000000000..433cacfbb --- /dev/null +++ b/winsup/w32api/include/windef.h @@ -0,0 +1,223 @@ +#ifndef _WINDEF_H +#define _WINDEF_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef WINVER +#define WINVER 0x0400 +#endif +#ifndef _WIN32_WINNT +#define _WIN32_WINNT WINVER +#endif +#ifndef WIN32 +#define WIN32 +#endif +#ifndef _WIN32 +#define _WIN32 +#endif +#define FAR +#define far +#define NEAR +#define near +#ifndef CONST +#define CONST const +#endif +#undef MAX_PATH +#define MAX_PATH 260 + +#ifndef NULL +#ifdef __cplusplus +#define NULL 0 +#else +#define NULL ((void*)0) +#endif +#endif +#ifndef FALSE +#define FALSE 0 +#endif +#ifndef TRUE +#define TRUE 1 +#endif +#define IN +#define OUT +#define OPTIONAL + +#ifdef __GNUC__ +#define PACKED __attribute__((packed)) +#ifndef _stdcall +#define _stdcall __attribute__((stdcall)) +#endif +#ifndef __stdcall +#define __stdcall __attribute__((stdcall)) +#endif +#ifndef _cdecl +#define _cdecl __attribute__((cdecl)) +#endif +#ifndef __cdecl +#define __cdecl __attribute__((cdecl)) +#endif +#ifndef __declspec +#define __declspec(e) __attribute__((e)) +#endif +#ifndef _declspec +#define _declspec(e) __attribute__((e)) +#endif +#else +#define PACKED +#define _cdecl +#define __cdecl +#endif + +#undef pascal +#undef _pascal +#undef __pascal +#define pascal __stdcall +#define _pascal __stdcall +#define __pascal __stdcall +#define PASCAL _pascal +#define CDECL _cdecl +#define STDCALL __stdcall +#define WINAPI __stdcall +#define WINAPIV __cdecl +#define APIENTRY __stdcall +#define CALLBACK __stdcall +#define APIPRIVATE __stdcall + +#define DECLSPEC_IMPORT __declspec(dllimport) +#define DECLSPEC_EXPORT __declspec(dllexport) +#define DECLSPEC_NORETURN __declspec(noreturn) +#define MAKEWORD(a,b) ((WORD)(((BYTE)(a))|(((WORD)((BYTE)(b)))<<8))) +#define MAKELONG(a,b) ((LONG)(((WORD)(a))|(((DWORD)((WORD)(b)))<<16))) +#define LOWORD(l) ((WORD)((DWORD)(l))) +#define HIWORD(l) ((WORD)(((DWORD)(l)>>16)&0xFFFF)) +#define LOBYTE(w) ((BYTE)(w)) +#define HIBYTE(w) ((BYTE)(((WORD)(w)>>8)&0xFF)) + +#ifndef _export +#define _export +#endif +#ifndef __export +#define __export +#endif + +#ifndef NOMINMAX +#ifndef max +#define max(a,b) ((a)>(b)?(a):(b)) +#endif +#ifndef min +#define min(a,b) ((a)<(b)?(a):(b)) +#endif +#endif + +#define UNREFERENCED_PARAMETER(P) {(P)=(P);} +#define UNREFERENCED_LOCAL_VARIABLE(L) {(L)=(L);} +#define DBG_UNREFERENCED_PARAMETER(P) +#define DBG_UNREFERENCED_LOCAL_VARIABLE(L) + +typedef unsigned long DWORD; +typedef int WINBOOL,*PWINBOOL,*LPWINBOOL; +/* FIXME: Is there a good solution to this? */ +#ifndef __OBJC__ +typedef WINBOOL BOOL; +#else +#define BOOL WINBOOL +#endif +typedef BOOL *PBOOL,*LPBOOL; +typedef unsigned char BYTE; +typedef unsigned short WORD; +typedef float FLOAT; +typedef FLOAT *PFLOAT; +typedef BYTE *PBYTE,*LPBYTE; +typedef int *PINT,*LPINT; +typedef WORD *PWORD,*LPWORD; +typedef long *LPLONG; +typedef DWORD *PDWORD,*LPDWORD; +typedef void *PVOID,*LPVOID; +typedef CONST void *PCVOID,*LPCVOID; +typedef int INT; +typedef unsigned int UINT,*PUINT,*LPUINT; + +#include <winnt.h> + +typedef UINT WPARAM; +typedef LONG LPARAM; +typedef LONG LRESULT; +#ifndef _HRESULT_DEFINED +typedef LONG HRESULT; +#define _HRESULT_DEFINED +#endif +typedef WORD ATOM; +typedef HANDLE HGLOBAL; +typedef HANDLE HLOCAL; +typedef HANDLE GLOBALHANDLE; +typedef HANDLE LOCALHANDLE; +typedef void *HGDIOBJ; +DECLARE_HANDLE(HACCEL); +DECLARE_HANDLE(HBITMAP); +DECLARE_HANDLE(HBRUSH); +DECLARE_HANDLE(HCOLORSPACE); +DECLARE_HANDLE(HDC); +DECLARE_HANDLE(HGLRC); +DECLARE_HANDLE(HDESK); +DECLARE_HANDLE(HENHMETAFILE); +DECLARE_HANDLE(HFONT); +DECLARE_HANDLE(HICON); +DECLARE_HANDLE(HKEY); +/* FIXME: How to handle these. SM_CMONITORS etc in winuser.h also. */ +/* #if (WINVER >= 0x0500) */ +DECLARE_HANDLE(HMONITOR); +DECLARE_HANDLE(HTERMINAL); +DECLARE_HANDLE(HWINEVENTHOOK); +/* #endif */ +typedef HKEY *PHKEY; +DECLARE_HANDLE(HMENU); +DECLARE_HANDLE(HMETAFILE); +DECLARE_HANDLE(HINSTANCE); +typedef HINSTANCE HMODULE; +DECLARE_HANDLE(HPALETTE); +DECLARE_HANDLE(HPEN); +DECLARE_HANDLE(HRGN); +DECLARE_HANDLE(HRSRC); +DECLARE_HANDLE(HSTR); +DECLARE_HANDLE(HTASK); +DECLARE_HANDLE(HWND); +DECLARE_HANDLE(HWINSTA); +DECLARE_HANDLE(HKL); +typedef int HFILE; +typedef HICON HCURSOR; +typedef DWORD COLORREF; +typedef int (WINAPI *FARPROC)(); +typedef int (WINAPI *NEARPROC)(); +typedef int (WINAPI *PROC)(); +typedef struct tagRECT { + LONG left; + LONG top; + LONG right; + LONG bottom; +} RECT,*PRECT,*LPRECT; +typedef const RECT *LPCRECT; +typedef struct tagRECTL { + LONG left; + LONG top; + LONG right; + LONG bottom; +} RECTL,*PRECTL,*LPRECTL; +typedef const RECTL *LPCRECTL; +typedef struct tagPOINT { + LONG x; + LONG y; +} POINT,POINTL,*PPOINT,*LPPOINT,*PPOINTL,*LPPOINTL; +typedef struct tagSIZE { + LONG cx; + LONG cy; +} SIZE,SIZEL,*PSIZE,*LPSIZE,*PSIZEL,*LPSIZEL; +typedef struct tagPOINTS { + SHORT x; + SHORT y; +} POINTS,*PPOINTS,*LPPOINTS; + +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/windows.h b/winsup/w32api/include/windows.h new file mode 100644 index 000000000..60cabfb6d --- /dev/null +++ b/winsup/w32api/include/windows.h @@ -0,0 +1,137 @@ +/* + windows.h - main header file for the Win32 API + + Written by Anders Norlander <anorland@hem2.passagen.se> + + This file is part of a free library for the Win32 API. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +*/ +#ifndef _WINDOWS_H +#define _WINDOWS_H +/* translate GCC target defines to MS equivalents. Keep this synchronized + with winnt.h. */ +#if defined(__i686__) && !defined(_M_IX86) +#define _M_IX86 600 +#elif defined(__i586__) && !defined(_M_IX86) +#define _M_IX86 500 +#elif defined(__i486__) && !defined(_M_IX86) +#define _M_IX86 400 +#elif defined(__i386__) && !defined(_M_IX86) +#define _M_IX86 300 +#endif +#if defined(_M_IX86) && !defined(_X86_) +#define _X86_ +#elif defined(_M_ALPHA) && !defined(_ALPHA_) +#define _ALPHA_ +#elif defined(_M_PPC) && !defined(_PPC_) +#define _PPC_ +#elif defined(_M_MRX000) && !defined(_MIPS_) +#define _MIPS_ +#elif defined(_M_M68K) && !defined(_68K_) +#define _68K_ +#endif + +#ifdef RC_INVOKED +/* winresrc.h includes the necessary headers */ +#include <winresrc.h> +#else + +#ifdef __GNUC__ +#ifndef NONAMELESSUNION +#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) +#define _ANONYMOUS_UNION +#define _ANONYMOUS_STRUCT +#else +#if defined(__cplusplus) +#define _ANONYMOUS_UNION +#endif +#endif /* __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) */ +#endif /* NONAMELESSUNION */ +#endif /* __GNUC__ */ + +#ifndef _ANONYMOUS_UNION +#define _UNION_NAME(x) x +#define DUMMYUNIONNAME u +#define DUMMYUNIONNAME2 u2 +#define DUMMYUNIONNAME3 u3 +#define DUMMYUNIONNAME4 u4 +#define DUMMYUNIONNAME5 u5 +#define DUMMYUNIONNAME6 u6 +#define DUMMYUNIONNAME7 u7 +#define DUMMYUNIONNAME8 u8 +#else +#define _UNION_NAME(x) +#define DUMMYUNIONNAME +#define DUMMYUNIONNAME2 +#define DUMMYUNIONNAME3 +#define DUMMYUNIONNAME4 +#define DUMMYUNIONNAME5 +#define DUMMYUNIONNAME6 +#define DUMMYUNIONNAME7 +#define DUMMYUNIONNAME8 +#endif +#ifndef _ANONYMOUS_STRUCT +#define _STRUCT_NAME(x) x +#define DUMMYSTRUCTNAME s +#define DUMMYSTRUCTNAME2 s2 +#define DUMMYSTRUCTNAME3 s3 +#else +#define _STRUCT_NAME(x) +#define DUMMYSTRUCTNAME +#define DUMMYSTRUCTNAME2 +#define DUMMYSTRUCTNAME3 +#endif + +#ifndef NO_STRICT +#ifndef STRICT +#define STRICT 1 +#endif +#endif + +#include <stdarg.h> +#include <windef.h> +#include <wincon.h> +#include <basetyps.h> +#include <excpt.h> +#include <winbase.h> +#include <wingdi.h> +#include <winuser.h> +#include <winnls.h> +#include <winver.h> +#include <winnetwk.h> +#include <winreg.h> +#include <winsvc.h> + +#ifndef WIN32_LEAN_AND_MEAN +#include <commdlg.h> +#include <cderr.h> +#include <dde.h> +#include <ddeml.h> +#include <dlgs.h> +#include <lzexpand.h> +#include <mmsystem.h> +#include <nb30.h> +#include <rpc.h> +#include <shellapi.h> +#include <winperf.h> +#include <winspool.h> +#if defined(Win32_Winsock) || !(defined(__INSIDE_CYGWIN__) || defined(__CYGWIN__) || defined(__CYGWIN32__) || defined(_UWIN)) +#include <winsock.h> +#endif +#endif /* WIN32_LEAN_AND_MEAN */ + +#endif /* RC_INVOKED */ + +#ifdef __OBJC__ +/* FIXME: Not undefining BOOL here causes all BOOLs to be WINBOOL (int), + but undefining it causes trouble as well if a file is included after + windows.h +*/ +#undef BOOL +#endif + +#endif diff --git a/winsup/w32api/include/windowsx.h b/winsup/w32api/include/windowsx.h new file mode 100644 index 000000000..8e6e44cf2 --- /dev/null +++ b/winsup/w32api/include/windowsx.h @@ -0,0 +1,505 @@ +#ifndef _WINDOWSX_H +#define _WINDOWSX_H +#define WM_CTLCOLOR 25 +#define Button_Enable(hwndCtl,fEnable) EnableWindow((hwndCtl),(fEnable)) +#define Button_GetCheck(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),BM_GETCHECK,0,0)) +#define Button_GetState(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),BM_GETSTATE,0,0)) +#define Button_GetText(hwndCtl,lpch,cchMax) GetWindowText((hwndCtl),(lpch),(cchMax)) +#define Button_GetTextLength(hwndCtl) GetWindowTextLength(hwndCtl) +#define Button_SetCheck(hwndCtl,check) ((void)SendMessage((hwndCtl),BM_SETCHECK,(WPARAM)(int)(check),0)) +#define Button_SetState(hwndCtl,state) ((UINT)(DWORD)SendMessage((hwndCtl),BM_SETSTATE,(WPARAM)(int)(state),0)) +#define Button_SetStyle(hwndCtl,style,fRedraw) ((void)SendMessage((hwndCtl),BM_SETSTYLE,(WPARAM)LOWORD(style),MAKELPARAM(((fRedraw) ? TRUE : FALSE),0))) +#define Button_SetText(hwndCtl,lpsz) SetWindowText((hwndCtl),(lpsz)) +#define CheckDefDlgRecursion(pfRecursion) if (*(pfRecursion)) {*(pfRecursion) = FALSE; return FALSE; } +#define ComboBox_AddItemData(hwndCtl,data) ((int)(DWORD)SendMessage((hwndCtl),CB_ADDSTRING,0,(LPARAM)(data))) +#define ComboBox_AddString(hwndCtl,lpsz) ((int)(DWORD)SendMessage((hwndCtl),CB_ADDSTRING,0,(LPARAM)(LPCTSTR)(lpsz))) +#define ComboBox_DeleteString(hwndCtl,index) ((int)(DWORD)SendMessage((hwndCtl),CB_DELETESTRING,(WPARAM)(int)(index),0)) +#define ComboBox_Dir(hwndCtl,attrs,lpszFileSpec) ((int)(DWORD)SendMessage((hwndCtl),CB_DIR,(WPARAM)(UINT)(attrs),(LPARAM)(LPCTSTR)(lpszFileSpec))) +#define ComboBox_Enable(hwndCtl,fEnable) EnableWindow((hwndCtl),(fEnable)) +#define ComboBox_FindItemData(hwndCtl,indexStart,data) ((int)(DWORD)SendMessage((hwndCtl),CB_FINDSTRING,(WPARAM)(int)(indexStart),(LPARAM)(data))) +#define ComboBox_FindString(hwndCtl,indexStart,lpszFind) ((int)(DWORD)SendMessage((hwndCtl),CB_FINDSTRING,(WPARAM)(int)(indexStart),(LPARAM)(LPCTSTR)(lpszFind))) +#define ComboBox_FindStringExact(hwndCtl,indexStart,lpszFind) ((int)(DWORD)SendMessage((hwndCtl),CB_FINDSTRINGEXACT,(WPARAM)(int)(indexStart),(LPARAM)(LPCTSTR)(lpszFind))) +#define ComboBox_GetCount(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),CB_GETCOUNT,0,0)) +#define ComboBox_GetCurSel(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),CB_GETCURSEL,0,0)) +#define ComboBox_GetDroppedControlRect(hwndCtl,lprc) ((void)SendMessage((hwndCtl),CB_GETDROPPEDCONTROLRECT,0,(LPARAM)(RECT*)(lprc))) +#define ComboBox_GetDroppedState(hwndCtl) ((BOOL)(DWORD)SendMessage((hwndCtl),CB_GETDROPPEDSTATE,0,0)) +#define ComboBox_GetEditSel(hwndCtl) ((DWORD)SendMessage((hwndCtl),CB_GETEDITSEL,0,0)) +#define ComboBox_GetExtendedUI(hwndCtl) ((UINT)(DWORD)SendMessage((hwndCtl),CB_GETEXTENDEDUI,0,0)) +#define ComboBox_GetItemData(hwndCtl,index) ((LRESULT)(DWORD)SendMessage((hwndCtl),CB_GETITEMDATA,(WPARAM)(int)(index),0)) +#define ComboBox_GetItemHeight(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),CB_GETITEMHEIGHT,0,0)) +#define ComboBox_GetLBText(hwndCtl,index,lpszBuffer) ((int)(DWORD)SendMessage((hwndCtl),CB_GETLBTEXT,(WPARAM)(int)(index),(LPARAM)(LPCTSTR)(lpszBuffer))) +#define ComboBox_GetLBTextLen(hwndCtl,index) ((int)(DWORD)SendMessage((hwndCtl),CB_GETLBTEXTLEN,(WPARAM)(int)(index),0)) +#define ComboBox_GetText(hwndCtl,lpch,cchMax) GetWindowText((hwndCtl),(lpch),(cchMax)) +#define ComboBox_GetTextLength(hwndCtl) GetWindowTextLength(hwndCtl) +#define ComboBox_InsertItemData(hwndCtl,index,data) ((int)(DWORD)SendMessage((hwndCtl),CB_INSERTSTRING,(WPARAM)(int)(index),(LPARAM)(data))) +#define ComboBox_InsertString(hwndCtl,index,lpsz) ((int)(DWORD)SendMessage((hwndCtl),CB_INSERTSTRING,(WPARAM)(int)(index),(LPARAM)(LPCTSTR)(lpsz))) +#define ComboBox_LimitText(hwndCtl,cchLimit) ((int)(DWORD)SendMessage((hwndCtl),CB_LIMITTEXT,(WPARAM)(int)(cchLimit),0)) +#define ComboBox_ResetContent(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),CB_RESETCONTENT,0,0)) +#define ComboBox_SelectItemData(hwndCtl,indexStart,data) ((int)(DWORD)SendMessage((hwndCtl),CB_SELECTSTRING,(WPARAM)(int)(indexStart),(LPARAM)(data))) +#define ComboBox_SelectString(hwndCtl,indexStart,lpszSelect) ((int)(DWORD)SendMessage((hwndCtl),CB_SELECTSTRING,(WPARAM)(int)(indexStart),(LPARAM)(LPCTSTR)(lpszSelect))) +#define ComboBox_SetCurSel(hwndCtl,index) ((int)(DWORD)SendMessage((hwndCtl),CB_SETCURSEL,(WPARAM)(int)(index),0)) +#define ComboBox_SetEditSel(hwndCtl,ichStart,ichEnd) ((int)(DWORD)SendMessage((hwndCtl),CB_SETEDITSEL,0,MAKELPARAM((ichStart),(ichEnd)))) +#define ComboBox_SetExtendedUI(hwndCtl,flags) ((int)(DWORD)SendMessage((hwndCtl),CB_SETEXTENDEDUI,(WPARAM)(UINT)(flags),0)) +#define ComboBox_SetItemData(hwndCtl,index,data) ((int)(DWORD)SendMessage((hwndCtl),CB_SETITEMDATA,(WPARAM)(int)(index),(LPARAM)(data))) +#define ComboBox_SetItemHeight(hwndCtl,index,cyItem) ((int)(DWORD)SendMessage((hwndCtl),CB_SETITEMHEIGHT,(WPARAM)(int)(index),(LPARAM)(int)cyItem)) +#define ComboBox_SetText(hwndCtl,lpsz) SetWindowText((hwndCtl),(lpsz)) +#define ComboBox_ShowDropdown(hwndCtl,fShow) ((BOOL)(DWORD)SendMessage((hwndCtl),CB_SHOWDROPDOWN,(WPARAM)(BOOL)(fShow),0)) +#define CopyRgn(hrgnDst,hrgnSrc) CombineRgn(hrgnDst,hrgnSrc,0,RGN_COPY) +#define DECLARE_HANDLE32 DECLARE_HANDLE +#define DefDlgProcEx(hwnd,msg,wParam,lParam,pfRecursion) (*(pfRecursion) = TRUE,DefDlgProc(hwnd,msg,wParam,lParam)) +#define DeleteBitmap(hbm) DeleteObject((HGDIOBJ)(HBITMAP)(hbm)) +#define DeleteBrush(hbr) DeleteObject((HGDIOBJ)(HBRUSH)(hbr)) +#define DeleteFont(hfont) DeleteObject((HGDIOBJ)(HFONT)(hfont)) +#define DeletePalette(hpal) DeleteObject((HGDIOBJ)(HPALETTE)(hpal)) +#define DeletePen(hpen) DeleteObject((HGDIOBJ)(HPEN)(hpen)) +#define DeleteRgn(hrgn) DeleteObject((HGDIOBJ)(HRGN)(hrgn)) +#define Edit_CanUndo(hwndCtl) ((BOOL)(DWORD)SendMessage((hwndCtl),EM_CANUNDO,0,0)) +#define Edit_EmptyUndoBuffer(hwndCtl) ((void)SendMessage((hwndCtl),EM_EMPTYUNDOBUFFER,0,0)) +#define Edit_Enable(hwndCtl,fEnable) EnableWindow((hwndCtl),(fEnable)) +#define Edit_FmtLines(hwndCtl,fAddEOL) ((BOOL)(DWORD)SendMessage((hwndCtl),EM_FMTLINES,(WPARAM)(BOOL)(fAddEOL),0)) +#define Edit_GetFirstVisibleLine(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),EM_GETFIRSTVISIBLELINE,0,0)) +#define Edit_GetHandle(hwndCtl) ((HLOCAL)(UINT)(DWORD)SendMessage((hwndCtl),EM_GETHANDLE,0,0)) +#define Edit_GetLine(hwndCtl,line,lpch,cchMax) ((*((int*)(lpch)) = (cchMax)),((int)(DWORD)SendMessage((hwndCtl),EM_GETLINE,(WPARAM)(int)(line),(LPARAM)(LPTSTR)(lpch)))) +#define Edit_GetLineCount(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),EM_GETLINECOUNT,0,0)) +#define Edit_GetModify(hwndCtl) ((BOOL)(DWORD)SendMessage((hwndCtl),EM_GETMODIFY,0,0)) +#define Edit_GetPasswordChar(hwndCtl) ((TCHAR)(DWORD)SendMessage((hwndCtl),EM_GETPASSWORDCHAR,0,0)) +#define Edit_GetRect(hwndCtl,lprc) ((void)SendMessage((hwndCtl),EM_GETRECT,0,(LPARAM)(RECT*)(lprc))) +#define Edit_GetSel(hwndCtl) ((DWORD)SendMessage((hwndCtl),EM_GETSEL,0,0)) +#define Edit_GetText(hwndCtl,lpch,cchMax) GetWindowText((hwndCtl),(lpch),(cchMax)) +#define Edit_GetTextLength(hwndCtl) GetWindowTextLength(hwndCtl) +#define Edit_GetWordBreakProc(hwndCtl) ((EDITWORDBREAKPROC)SendMessage((hwndCtl),EM_GETWORDBREAKPROC,0,0)) +#define Edit_LimitText(hwndCtl,cchMax) ((void)SendMessage((hwndCtl),EM_LIMITTEXT,(WPARAM)(cchMax),0)) +#define Edit_LineFromChar(hwndCtl,ich) ((int)(DWORD)SendMessage((hwndCtl),EM_LINEFROMCHAR,(WPARAM)(int)(ich),0)) +#define Edit_LineIndex(hwndCtl,line) ((int)(DWORD)SendMessage((hwndCtl),EM_LINEINDEX,(WPARAM)(int)(line),0)) +#define Edit_LineLength(hwndCtl,line) ((int)(DWORD)SendMessage((hwndCtl),EM_LINELENGTH,(WPARAM)(int)(line),0)) +#define Edit_ReplaceSel(hwndCtl,lpszReplace) ((void)SendMessage((hwndCtl),EM_REPLACESEL,0,(LPARAM)(LPCTSTR)(lpszReplace))) +#define Edit_Scroll(hwndCtl,dv,dh) ((void)SendMessage((hwndCtl),EM_LINESCROLL,(WPARAM)(dh),(LPARAM)(dv))) +#define Edit_ScrollCaret(hwndCtl) ((BOOL)(DWORD)SendMessage((hwndCtl),EM_SCROLLCARET,0,0)) +#define Edit_SetHandle(hwndCtl,h) ((void)SendMessage((hwndCtl),EM_SETHANDLE,(WPARAM)(UINT)(HLOCAL)(h),0)) +#define Edit_SetModify(hwndCtl,fModified) ((void)SendMessage((hwndCtl),EM_SETMODIFY,(WPARAM)(UINT)(fModified),0)) +#define Edit_SetPasswordChar(hwndCtl,ch) ((void)SendMessage((hwndCtl),EM_SETPASSWORDCHAR,(WPARAM)(UINT)(ch),0)) +#define Edit_SetReadOnly(hwndCtl,fReadOnly) ((BOOL)(DWORD)SendMessage((hwndCtl),EM_SETREADONLY,(WPARAM)(BOOL)(fReadOnly),0)) +#define Edit_SetRect(hwndCtl,lprc) ((void)SendMessage((hwndCtl),EM_SETRECT,0,(LPARAM)(const RECT*)(lprc))) +#define Edit_SetRectNoPaint(hwndCtl,lprc) ((void)SendMessage((hwndCtl),EM_SETRECTNP,0,(LPARAM)(const RECT*)(lprc))) +#define Edit_SetSel(hwndCtl,ichStart,ichEnd) ((void)SendMessage((hwndCtl),EM_SETSEL,(ichStart),(ichEnd))) +#define Edit_SetTabStops(hwndCtl,cTabs,lpTabs) ((void)SendMessage((hwndCtl),EM_SETTABSTOPS,(WPARAM)(int)(cTabs),(LPARAM)(const int*)(lpTabs))) +#define Edit_SetText(hwndCtl,lpsz) SetWindowText((hwndCtl),(lpsz)) +#define Edit_SetWordBreakProc(hwndCtl,lpfnWordBreak) ((void)SendMessage((hwndCtl),EM_SETWORDBREAKPROC,0,(LPARAM)(EDITWORDBREAKPROC)(lpfnWordBreak))) +#define Edit_Undo(hwndCtl) ((BOOL)(DWORD)SendMessage((hwndCtl),EM_UNDO,0,0)) +#define FORWARD_WM_ACTIVATE(hwnd,state,hwndActDeact,fMinimized,fn) (void)(fn)((hwnd),WM_ACTIVATE,MAKEWPARAM((state),(fMinimized)),(LPARAM)(HWND)(hwndActDeact)) +#define FORWARD_WM_ACTIVATEAPP(hwnd,fActivate,dwThreadId,fn) (void)(fn)((hwnd),WM_ACTIVATEAPP,(WPARAM)(BOOL)(fActivate),(LPARAM)(dwThreadId)) +#define FORWARD_WM_ASKCBFORMATNAME(hwnd,cchMax,rgchName,fn) (void)(fn)((hwnd),WM_ASKCBFORMATNAME,(WPARAM)(int)(cchMax),(LPARAM)(rgchName)) +#define FORWARD_WM_CANCELMODE(hwnd,fn) (void)(fn)((hwnd),WM_CANCELMODE,0,0) +#define FORWARD_WM_CHANGECBCHAIN(hwnd,hwndRemove,hwndNext,fn) (void)(fn)((hwnd),WM_CHANGECBCHAIN,(WPARAM)(HWND)(hwndRemove),(LPARAM)(HWND)(hwndNext)) +#define FORWARD_WM_CHAR(hwnd,ch,cRepeat,fn) (void)(fn)((hwnd),WM_CHAR,(WPARAM)(TCHAR)(ch),MAKELPARAM((cRepeat),0)) +#define FORWARD_WM_CHARTOITEM(hwnd,ch,hwndListBox,iCaret,fn) (int)(DWORD)(fn)((hwnd),WM_CHARTOITEM,MAKEWPARAM((UINT)(iCaret),(UINT)(ch)),(LPARAM)(hwndListBox)) +#define FORWARD_WM_CHILDACTIVATE(hwnd,fn) (void)(fn)((hwnd),WM_CHILDACTIVATE,0,0) +#define FORWARD_WM_CLEAR(hwnd,fn) (void)(fn)((hwnd),WM_CLEAR,0,0) +#define FORWARD_WM_CLOSE(hwnd,fn) (void)(fn)((hwnd),WM_CLOSE,0,0) +#define FORWARD_WM_COMMAND(hwnd,id,hwndCtl,codeNotify,fn) (void)(fn)((hwnd),WM_COMMAND,MAKEWPARAM((UINT)(id),(UINT)(codeNotify)),(LPARAM)(HWND)(hwndCtl)) +#define FORWARD_WM_COMMNOTIFY(hwnd,cid,flags,fn) (void)(fn)((hwnd),WM_COMMNOTIFY,(WPARAM)(cid),MAKELPARAM((flags),0)) +#define FORWARD_WM_COMPACTING(hwnd,compactRatio,fn) (void)(fn)((hwnd),WM_COMPACTING,(WPARAM)(UINT)(compactRatio),0) +#define FORWARD_WM_COMPAREITEM(hwnd,lpCompareItem,fn) (int)(DWORD)(fn)((hwnd),WM_COMPAREITEM,(WPARAM)(((const COMPAREITEMSTRUCT*)(lpCompareItem))->CtlID),(LPARAM)(const COMPAREITEMSTRUCT*)(lpCompareItem)) +#define FORWARD_WM_COPY(hwnd,fn) (void)(fn)((hwnd),WM_COPY,0,0) +#define FORWARD_WM_CREATE(hwnd,lpCreateStruct,fn) (BOOL)(DWORD)(fn)((hwnd),WM_CREATE,0,(LPARAM)(LPCREATESTRUCT)(lpCreateStruct)) +#define FORWARD_WM_CTLCOLORBTN(hwnd,hdc,hwndChild,fn) (HBRUSH)(UINT)(DWORD)(fn)((hwnd),WM_CTLCOLORBTN,(WPARAM)(HDC)(hdc),(LPARAM)(HWND)(hwndChild)) +#define FORWARD_WM_CTLCOLORDLG(hwnd,hdc,hwndChild,fn) (HBRUSH)(UINT)(DWORD)(fn)((hwnd),WM_CTLCOLORDLG,(WPARAM)(HDC)(hdc),(LPARAM)(HWND)(hwndChild)) +#define FORWARD_WM_CTLCOLOREDIT(hwnd,hdc,hwndChild,fn) (HBRUSH)(UINT)(DWORD)(fn)((hwnd),WM_CTLCOLOREDIT,(WPARAM)(HDC)(hdc),(LPARAM)(HWND)(hwndChild)) +#define FORWARD_WM_CTLCOLORLISTBOX(hwnd,hdc,hwndChild,fn) (HBRUSH)(UINT)(DWORD)(fn)((hwnd),WM_CTLCOLORLISTBOX,(WPARAM)(HDC)(hdc),(LPARAM)(HWND)(hwndChild)) +#define FORWARD_WM_CTLCOLORMSGBOX(hwnd,hdc,hwndChild,fn) (HBRUSH)(UINT)(DWORD)(fn)((hwnd),WM_CTLCOLORMSGBOX,(WPARAM)(HDC)(hdc),(LPARAM)(HWND)(hwndChild)) +#define FORWARD_WM_CTLCOLORSCROLLBAR(hwnd,hdc,hwndChild,fn) (HBRUSH)(UINT)(DWORD)(fn)((hwnd),WM_CTLCOLORSCROLLBAR,(WPARAM)(HDC)(hdc),(LPARAM)(HWND)(hwndChild)) +#define FORWARD_WM_CTLCOLORSTATIC(hwnd,hdc,hwndChild,fn) (HBRUSH)(UINT)(DWORD)(fn)((hwnd),WM_CTLCOLORSTATIC,(WPARAM)(HDC)(hdc),(LPARAM)(HWND)(hwndChild)) +#define FORWARD_WM_CUT(hwnd,fn) (void)(fn)((hwnd),WM_CUT,0,0) +#define FORWARD_WM_DEADCHAR(hwnd,ch,cRepeat,fn) (void)(fn)((hwnd),WM_DEADCHAR,(WPARAM)(TCHAR)(ch),MAKELPARAM((cRepeat),0)) +#define FORWARD_WM_DELETEITEM(hwnd,lpDeleteItem,fn) (void)(fn)((hwnd),WM_DELETEITEM,(WPARAM)(((const DELETEITEMSTRUCT*)(lpDeleteItem))->CtlID),(LPARAM)(const DELETEITEMSTRUCT*)(lpDeleteItem)) +#define FORWARD_WM_DESTROY(hwnd,fn) (void)(fn)((hwnd),WM_DESTROY,0,0) +#define FORWARD_WM_DESTROYCLIPBOARD(hwnd,fn) (void)(fn)((hwnd),WM_DESTROYCLIPBOARD,0,0) +#define FORWARD_WM_DEVMODECHANGE(hwnd,lpszDeviceName,fn) (void)(fn)((hwnd),WM_DEVMODECHANGE,0,(LPARAM)(LPCTSTR)(lpszDeviceName)) +#define FORWARD_WM_DRAWCLIPBOARD(hwnd,fn) (void)(fn)((hwnd),WM_DRAWCLIPBOARD,0,0) +#define FORWARD_WM_DRAWITEM(hwnd,lpDrawItem,fn) (void)(fn)((hwnd),WM_DRAWITEM,(WPARAM)(((const DRAWITEMSTRUCT*)lpDrawItem)->CtlID),(LPARAM)(const DRAWITEMSTRUCT*)(lpDrawItem)) +#define FORWARD_WM_DROPFILES(hwnd,hdrop,fn) (void)(fn)((hwnd),WM_DROPFILES,(WPARAM)(HDROP)(hdrop),0) +#define FORWARD_WM_ENABLE(hwnd,fEnable,fn) (void)(fn)((hwnd),WM_ENABLE,(WPARAM)(BOOL)(fEnable),0) +#define FORWARD_WM_ENDSESSION(hwnd,fEnding,fn) (void)(fn)((hwnd),WM_ENDSESSION,(WPARAM)(BOOL)(fEnding),0) +#define FORWARD_WM_ENTERIDLE(hwnd,source,hwndSource,fn) (void)(fn)((hwnd),WM_ENTERIDLE,(WPARAM)(UINT)(source),(LPARAM)(HWND)(hwndSource)) +#define FORWARD_WM_ERASEBKGND(hwnd,hdc,fn) (BOOL)(DWORD)(fn)((hwnd),WM_ERASEBKGND,(WPARAM)(HDC)(hdc),0) +#define FORWARD_WM_FONTCHANGE(hwnd,fn) (void)(fn)((hwnd),WM_FONTCHANGE,0,0) +#define FORWARD_WM_GETDLGCODE(hwnd,lpmsg,fn) (UINT)(DWORD)(fn)((hwnd),WM_GETDLGCODE,(lpmsg ? lpmsg->wParam : 0),(LPARAM)(LPMSG)(lpmsg)) +#define FORWARD_WM_GETFONT(hwnd,fn) (HFONT)(UINT)(DWORD)(fn)((hwnd),WM_GETFONT,0,0) +#define FORWARD_WM_GETMINMAXINFO(hwnd,lpMinMaxInfo,fn) (void)(fn)((hwnd),WM_GETMINMAXINFO,0,(LPARAM)(LPMINMAXINFO)(lpMinMaxInfo)) +#define FORWARD_WM_GETTEXT(hwnd,cchTextMax,lpszText,fn) (int)(DWORD)(fn)((hwnd),WM_GETTEXT,(WPARAM)(int)(cchTextMax),(LPARAM)(LPTSTR)(lpszText)) +#define FORWARD_WM_GETTEXTLENGTH(hwnd,fn) (int)(DWORD)(fn)((hwnd),WM_GETTEXTLENGTH,0,0) +#define FORWARD_WM_HSCROLL(hwnd,hwndCtl,code,pos,fn) (void)(fn)((hwnd),WM_HSCROLL,MAKEWPARAM((UINT)(int)(code),(UINT)(int)(pos)),(LPARAM)(UINT)(hwndCtl)) +#define FORWARD_WM_HSCROLLCLIPBOARD(hwnd,hwndCBViewer,code,pos,fn) (void)(fn)((hwnd),WM_HSCROLLCLIPBOARD,(WPARAM)(HWND)(hwndCBViewer),MAKELPARAM((code),(pos))) +#define FORWARD_WM_ICONERASEBKGND(hwnd,hdc,fn) (BOOL)(DWORD)(fn)((hwnd),WM_ICONERASEBKGND,(WPARAM)(HDC)(hdc),0) +#define FORWARD_WM_INITDIALOG(hwnd,hwndFocus,lParam,fn) (BOOL)(DWORD)(fn)((hwnd),WM_INITDIALOG,(WPARAM)(HWND)(hwndFocus),(lParam)) +#define FORWARD_WM_INITMENU(hwnd,hMenu,fn) (void)(fn)((hwnd),WM_INITMENU,(WPARAM)(HMENU)(hMenu),0) +#define FORWARD_WM_INITMENUPOPUP(hwnd,hMenu,item,fSystemMenu,fn) (void)(fn)((hwnd),WM_INITMENUPOPUP,(WPARAM)(HMENU)(hMenu),MAKELPARAM((item),(fSystemMenu))) +#define FORWARD_WM_KEYDOWN(hwnd,vk,cRepeat,flags,fn) (void)(fn)((hwnd),WM_KEYDOWN,(WPARAM)(UINT)(vk),MAKELPARAM((cRepeat),(flags))) +#define FORWARD_WM_KEYUP(hwnd,vk,cRepeat,flags,fn) (void)(fn)((hwnd),WM_KEYUP,(WPARAM)(UINT)(vk),MAKELPARAM((cRepeat),(flags))) +#define FORWARD_WM_KILLFOCUS(hwnd,hwndNewFocus,fn) (void)(fn)((hwnd),WM_KILLFOCUS,(WPARAM)(HWND)(hwndNewFocus),0) +#define FORWARD_WM_LBUTTONDOWN(hwnd,fDoubleClick,x,y,keyFlags,fn) (void)(fn)((hwnd),(fDoubleClick) ? WM_LBUTTONDBLCLK : WM_LBUTTONDOWN,(WPARAM)(UINT)(keyFlags),MAKELPARAM((x),(y))) +#define FORWARD_WM_LBUTTONUP(hwnd,x,y,keyFlags,fn) (void)(fn)((hwnd),WM_LBUTTONUP,(WPARAM)(UINT)(keyFlags),MAKELPARAM((x),(y))) +#define FORWARD_WM_MBUTTONDOWN(hwnd,fDoubleClick,x,y,keyFlags,fn) (void)(fn)((hwnd),(fDoubleClick) ? WM_MBUTTONDBLCLK : WM_MBUTTONDOWN,(WPARAM)(UINT)(keyFlags),MAKELPARAM((x),(y))) +#define FORWARD_WM_MBUTTONUP(hwnd,x,y,keyFlags,fn) (void)(fn)((hwnd),WM_MBUTTONUP,(WPARAM)(UINT)(keyFlags),MAKELPARAM((x),(y))) +#define FORWARD_WM_MDIACTIVATE(hwnd,fActive,hwndActivate,hwndDeactivate,fn) (void)(fn)(hwnd,WM_MDIACTIVATE,(WPARAM)(hwndDeactivate),(LPARAM)(hwndActivate)) +#define FORWARD_WM_MDICASCADE(hwnd,cmd,fn) (BOOL)(DWORD)(fn)((hwnd),WM_MDICASCADE,(WPARAM)(cmd),0) +#define FORWARD_WM_MDICREATE(hwnd,lpmcs,fn) (HWND)(UINT)(DWORD)(fn)((hwnd),WM_MDICREATE,0,(LPARAM)(LPMDICREATESTRUCT)(lpmcs)) +#define FORWARD_WM_MDIDESTROY(hwnd,hwndDestroy,fn) (void)(fn)((hwnd),WM_MDIDESTROY,(WPARAM)(hwndDestroy),0) +#define FORWARD_WM_MDIGETACTIVE(hwnd,fn) (HWND)(UINT)(DWORD)(fn)((hwnd),WM_MDIGETACTIVE,0,0) +#define FORWARD_WM_MDIICONARRANGE(hwnd,fn) (void)(fn)((hwnd),WM_MDIICONARRANGE,0,0) +#define FORWARD_WM_MDIMAXIMIZE(hwnd,hwndMaximize,fn) (void)(fn)((hwnd),WM_MDIMAXIMIZE,(WPARAM)(hwndMaximize),0) +#define FORWARD_WM_MDINEXT(hwnd,hwndCur,fPrev,fn) (HWND)(UINT)(DWORD)(fn)((hwnd),WM_MDINEXT,(WPARAM)(hwndCur),(LPARAM)(fPrev)) +#define FORWARD_WM_MDIRESTORE(hwnd,hwndRestore,fn) (void)(fn)((hwnd),WM_MDIRESTORE,(WPARAM)(hwndRestore),0) +#define FORWARD_WM_MDISETMENU(hwnd,fRefresh,hmenuFrame,hmenuWindow,fn) (HMENU)(UINT)(DWORD)(fn)((hwnd),WM_MDISETMENU,(WPARAM)((fRefresh) ? (hmenuFrame) : 0),(LPARAM)(hmenuWindow)) +#define FORWARD_WM_MDITILE(hwnd,cmd,fn) (BOOL)(DWORD)(fn)((hwnd),WM_MDITILE,(WPARAM)(cmd),0) +#define FORWARD_WM_MEASUREITEM(hwnd,lpMeasureItem,fn) (void)(fn)((hwnd),WM_MEASUREITEM,(WPARAM)(((MEASUREITEMSTRUCT*)lpMeasureItem)->CtlID),(LPARAM)(MEASUREITEMSTRUCT*)(lpMeasureItem)) +#define FORWARD_WM_MENUCHAR(hwnd,ch,flags,hmenu,fn) (DWORD)(fn)((hwnd),WM_MENUCHAR,MAKEWPARAM(flags,(WORD)(ch)),(LPARAM)(HMENU)(hmenu)) +#define FORWARD_WM_MENUSELECT(hwnd,hmenu,item,hmenuPopup,flags,fn) (void)(fn)((hwnd),WM_MENUSELECT,MAKEWPARAM((item),(flags)),(LPARAM)(HMENU)((hmenu) ? (hmenu) : (hmenuPopup))) +#define FORWARD_WM_MOUSEACTIVATE(hwnd,hwndTopLevel,codeHitTest,msg,fn) (int)(DWORD)(fn)((hwnd),WM_MOUSEACTIVATE,(WPARAM)(HWND)(hwndTopLevel),MAKELPARAM((codeHitTest),(msg))) +#define FORWARD_WM_MOUSEMOVE(hwnd,x,y,keyFlags,fn) (void)(fn)((hwnd),WM_MOUSEMOVE,(WPARAM)(UINT)(keyFlags),MAKELPARAM((x),(y))) +#define FORWARD_WM_MOVE(hwnd,x,y,fn) (void)(fn)((hwnd),WM_MOVE,0,MAKELPARAM((x),(y))) +#define FORWARD_WM_NCACTIVATE(hwnd,fActive,hwndActDeact,fMinimized,fn) (BOOL)(DWORD)(fn)((hwnd),WM_NCACTIVATE,(WPARAM)(BOOL)(fActive),0) +#define FORWARD_WM_NCCALCSIZE(hwnd,fCalcValidRects,lpcsp,fn) (UINT)(DWORD)(fn)((hwnd),WM_NCCALCSIZE,0,(LPARAM)(NCCALCSIZE_PARAMS*)(lpcsp)) +#define FORWARD_WM_NCCREATE(hwnd,lpCreateStruct,fn) (BOOL)(DWORD)(fn)((hwnd),WM_NCCREATE,0,(LPARAM)(LPCREATESTRUCT)(lpCreateStruct)) +#define FORWARD_WM_NCDESTROY(hwnd,fn) (void)(fn)((hwnd),WM_NCDESTROY,0,0) +#define FORWARD_WM_NCHITTEST(hwnd,x,y,fn) (UINT)(DWORD)(fn)((hwnd),WM_NCHITTEST,0,MAKELPARAM((x),(y))) +#define FORWARD_WM_NCLBUTTONDOWN(hwnd,fDoubleClick,x,y,codeHitTest,fn) (void)(fn)((hwnd),(fDoubleClick) ? WM_NCLBUTTONDBLCLK : WM_NCLBUTTONDOWN,(WPARAM)(UINT)(codeHitTest),MAKELPARAM((x),(y))) +#define FORWARD_WM_NCLBUTTONUP(hwnd,x,y,codeHitTest,fn) (void)(fn)((hwnd),WM_NCLBUTTONUP,(WPARAM)(UINT)(codeHitTest),MAKELPARAM((x),(y))) +#define FORWARD_WM_NCMBUTTONDOWN(hwnd,fDoubleClick,x,y,codeHitTest,fn) (void)(fn)((hwnd),(fDoubleClick) ? WM_NCMBUTTONDBLCLK : WM_NCMBUTTONDOWN,(WPARAM)(UINT)(codeHitTest),MAKELPARAM((x),(y)) ) +#define FORWARD_WM_NCMBUTTONUP(hwnd,x,y,codeHitTest,fn) (void)(fn)((hwnd),WM_NCMBUTTONUP,(WPARAM)(UINT)(codeHitTest),MAKELPARAM((x),(y)) ) +#define FORWARD_WM_NCMOUSEMOVE(hwnd,x,y,codeHitTest,fn) (void)(fn)((hwnd),WM_NCMOUSEMOVE,(WPARAM)(UINT)(codeHitTest),MAKELPARAM((x),(y))) +#define FORWARD_WM_NCPAINT(hwnd,hrgn,fn) (void)(fn)((hwnd),WM_NCPAINT,(WPARAM)(HRGN)(hrgn),0) +#define FORWARD_WM_NCRBUTTONDOWN(hwnd,fDoubleClick,x,y,codeHitTest,fn) (void)(fn)((hwnd),(fDoubleClick) ? WM_NCRBUTTONDBLCLK : WM_NCRBUTTONDOWN,(WPARAM)(UINT)(codeHitTest),MAKELPARAM((x),(y)) ) +#define FORWARD_WM_NCRBUTTONUP(hwnd,x,y,codeHitTest,fn) (void)(fn)((hwnd),WM_NCRBUTTONUP,(WPARAM)(UINT)(codeHitTest),MAKELPARAM((x),(y)) ) +#define FORWARD_WM_NEXTDLGCTL(hwnd,hwndSetFocus,fNext,fn) (HWND)(UINT)(DWORD)(fn)((hwnd),WM_NEXTDLGCTL,(WPARAM)(HWND)(hwndSetFocus),(LPARAM)(fNext)) +#define FORWARD_WM_PAINT(hwnd,fn) (void)(fn)((hwnd),WM_PAINT,0,0) +#define FORWARD_WM_PAINTCLIPBOARD(hwnd,hwndCBViewer,lpPaintStruct,fn) (void)(fn)((hwnd),WM_PAINTCLIPBOARD,(WPARAM)(HWND)(hwndCBViewer),(LPARAM)(LPPAINTSTRUCT)(lpPaintStruct)) +#define FORWARD_WM_PALETTECHANGED(hwnd,hwndPaletteChange,fn) (void)(fn)((hwnd),WM_PALETTECHANGED,(WPARAM)(HWND)(hwndPaletteChange),0) +#define FORWARD_WM_PALETTEISCHANGING(hwnd,hwndPaletteChange,fn) (void)(fn)((hwnd),WM_PALETTEISCHANGING,(WPARAM)(HWND)(hwndPaletteChange),0) +#define FORWARD_WM_PARENTNOTIFY(hwnd,msg,hwndChild,idChild,fn) (void)(fn)((hwnd),WM_PARENTNOTIFY,MAKEWPARAM(msg,idChild),(LPARAM)(hwndChild)) +#define FORWARD_WM_PASTE(hwnd,fn) (void)(fn)((hwnd),WM_PASTE,0,0) +#define FORWARD_WM_POWER(hwnd,code,fn) (void)(fn)((hwnd),WM_POWER,(WPARAM)(int)(code),0) +#define FORWARD_WM_QUERYDRAGICON(hwnd,fn) (HICON)(UINT)(DWORD)(fn)((hwnd),WM_QUERYDRAGICON,0,0) +#define FORWARD_WM_QUERYENDSESSION(hwnd,fn) (BOOL)(DWORD)(fn)((hwnd),WM_QUERYENDSESSION,0,0) +#define FORWARD_WM_QUERYNEWPALETTE(hwnd,fn) (BOOL)(DWORD)(fn)((hwnd),WM_QUERYNEWPALETTE,0,0) +#define FORWARD_WM_QUERYOPEN(hwnd,fn) (BOOL)(DWORD)(fn)((hwnd),WM_QUERYOPEN,0,0) +#define FORWARD_WM_QUEUESYNC(hwnd,fn) (void)(fn)((hwnd),WM_QUEUESYNC,0,0) +#define FORWARD_WM_QUIT(hwnd,exitCode,fn) (void)(fn)((hwnd),WM_QUIT,(WPARAM)(exitCode),0) +#define FORWARD_WM_RBUTTONDOWN(hwnd,fDoubleClick,x,y,keyFlags,fn) (void)(fn)((hwnd),(fDoubleClick) ? WM_RBUTTONDBLCLK : WM_RBUTTONDOWN,(WPARAM)(UINT)(keyFlags),MAKELPARAM((x),(y))) +#define FORWARD_WM_RBUTTONUP(hwnd,x,y,keyFlags,fn) (void)(fn)((hwnd),WM_RBUTTONUP,(WPARAM)(UINT)(keyFlags),MAKELPARAM((x),(y))) +#define FORWARD_WM_RENDERALLFORMATS(hwnd,fn) (void)(fn)((hwnd),WM_RENDERALLFORMATS,0,0) +#define FORWARD_WM_RENDERFORMAT(hwnd,fmt,fn) (HANDLE)(UINT)(DWORD)(fn)((hwnd),WM_RENDERFORMAT,(WPARAM)(UINT)(fmt),0) +#define FORWARD_WM_SETCURSOR(hwnd,hwndCursor,codeHitTest,msg,fn) (BOOL)(DWORD)(fn)((hwnd),WM_SETCURSOR,(WPARAM)(HWND)(hwndCursor),MAKELPARAM((codeHitTest),(msg))) +#define FORWARD_WM_SETFOCUS(hwnd,hwndOldFocus,fn) (void)(fn)((hwnd),WM_SETFOCUS,(WPARAM)(HWND)(hwndOldFocus),0) +#define FORWARD_WM_SETFONT(hwnd,hfont,fRedraw,fn) (void)(fn)((hwnd),WM_SETFONT,(WPARAM)(HFONT)(hfont),(LPARAM)(BOOL)(fRedraw)) +#define FORWARD_WM_SETREDRAW(hwnd,fRedraw,fn) (void)(fn)((hwnd),WM_SETREDRAW,(WPARAM)(BOOL)(fRedraw),0) +#define FORWARD_WM_SETTEXT(hwnd,lpszText,fn) (void)(fn)((hwnd),WM_SETTEXT,0,(LPARAM)(LPCTSTR)(lpszText)) +#define FORWARD_WM_SHOWWINDOW(hwnd,fShow,status,fn) (void)(fn)((hwnd),WM_SHOWWINDOW,(WPARAM)(BOOL)(fShow),(LPARAM)(UINT)(status)) +#define FORWARD_WM_SIZE(hwnd,state,cx,cy,fn) (void)(fn)((hwnd),WM_SIZE,(WPARAM)(UINT)(state),MAKELPARAM((cx),(cy))) +#define FORWARD_WM_SIZECLIPBOARD(hwnd,hwndCBViewer,lprc,fn) (void)(fn)((hwnd),WM_SIZECLIPBOARD,(WPARAM)(HWND)(hwndCBViewer),(LPARAM)(LPRECT)(lprc)) +#define FORWARD_WM_SPOOLERSTATUS(hwnd,status,cJobInQueue,fn) (void)(fn)((hwnd),WM_SPOOLERSTATUS,(WPARAM)(status),MAKELPARAM((cJobInQueue),0)) +#define FORWARD_WM_SYSCHAR(hwnd,ch,cRepeat,fn) (void)(fn)((hwnd),WM_SYSCHAR,(WPARAM)(TCHAR)(ch),MAKELPARAM((cRepeat),0)) +#define FORWARD_WM_SYSCOLORCHANGE(hwnd,fn) (void)(fn)((hwnd),WM_SYSCOLORCHANGE,0,0) +#define FORWARD_WM_SYSCOMMAND(hwnd,cmd,x,y,fn) (void)(fn)((hwnd),WM_SYSCOMMAND,(WPARAM)(UINT)(cmd),MAKELPARAM((x),(y))) +#define FORWARD_WM_SYSDEADCHAR(hwnd,ch,cRepeat,fn) (void)(fn)((hwnd),WM_SYSDEADCHAR,(WPARAM)(TCHAR)(ch),MAKELPARAM((cRepeat),0)) +#define FORWARD_WM_SYSKEYDOWN(hwnd,vk,cRepeat,flags,fn) (void)(fn)((hwnd),WM_SYSKEYDOWN,(WPARAM)(UINT)(vk),MAKELPARAM((cRepeat),(flags))) +#define FORWARD_WM_SYSKEYUP(hwnd,vk,cRepeat,flags,fn) (void)(fn)((hwnd),WM_SYSKEYUP,(WPARAM)(UINT)(vk),MAKELPARAM((cRepeat),(flags))) +#define FORWARD_WM_SYSTEMERROR(hwnd,errCode,fn) 0 +#define FORWARD_WM_TIMECHANGE(hwnd,fn) (void)(fn)((hwnd),WM_TIMECHANGE,0,0) +#define FORWARD_WM_TIMER(hwnd,id,fn) (void)(fn)((hwnd),WM_TIMER,(WPARAM)(UINT)(id),0) +#define FORWARD_WM_UNDO(hwnd,fn) (void)(fn)((hwnd),WM_UNDO,0,0) +#define FORWARD_WM_VKEYTOITEM(hwnd,vk,hwndListBox,iCaret,fn) (int)(DWORD)(fn)((hwnd),WM_VKEYTOITEM,MAKEWPARAM((vk),(iCaret)),(LPARAM)(hwndListBox)) +#define FORWARD_WM_VSCROLL(hwnd,hwndCtl,code,pos,fn) (void)(fn)((hwnd),WM_VSCROLL,MAKEWPARAM((UINT)(int)(code),(UINT)(int)(pos)),(LPARAM)(HWND)(hwndCtl)) +#define FORWARD_WM_VSCROLLCLIPBOARD(hwnd,hwndCBViewer,code,pos,fn) (void)(fn)((hwnd),WM_VSCROLLCLIPBOARD,(WPARAM)(HWND)(hwndCBViewer),MAKELPARAM((code),(pos))) +#define FORWARD_WM_WINDOWPOSCHANGED(hwnd,lpwpos,fn) (void)(fn)((hwnd),WM_WINDOWPOSCHANGED,0,(LPARAM)(const LPWINDOWPOS)(lpwpos)) +#define FORWARD_WM_WINDOWPOSCHANGING(hwnd,lpwpos,fn) (BOOL)(DWORD)(fn)((hwnd),WM_WINDOWPOSCHANGING,0,(LPARAM)(LPWINDOWPOS)(lpwpos)) +#define FORWARD_WM_WININICHANGE(hwnd,lpszSectionName,fn) (void)(fn)((hwnd),WM_WININICHANGE,0,(LPARAM)(LPCTSTR)(lpszSectionName)) +#define GET_EM_LINESCROLL_MPS(vert,horz) (WPARAM)horz,(LONG)vert +#define GET_EM_SETSEL_END(wp,lp) (lp) +#define GET_EM_SETSEL_MPS(iStart,iEnd) (WPARAM)(iStart),(LONG)(iEnd) +#define GET_EM_SETSEL_START(wp,lp) (INT)(wp) +#define GET_LPARAM(wp,lp) (lp) +#define GET_WM_ACTIVATE_FMINIMIZED(wp,lp) (BOOL)HIWORD(wp) +#define GET_WM_ACTIVATE_HWND(wp,lp) (HWND)(lp) +#define GET_WM_ACTIVATE_MPS(s,fmin,hwnd) (WPARAM)MAKELONG((s),(fmin)),(LONG)(hwnd) +#define GET_WM_ACTIVATE_STATE(wp,lp) LOWORD(wp) +#define GET_WM_CHANGECBCHAIN_HWNDNEXT(wp,lp) (HWND)(lp) +#define GET_WM_CHARTOITEM_CHAR(wp,lp) (TCHAR)LOWORD(wp) +#define GET_WM_CHARTOITEM_HWND(wp,lp) (HWND)(lp) +#define GET_WM_CHARTOITEM_MPS(ch,pos,hwnd) (WPARAM)MAKELONG((pos),(ch)),(LONG)(hwnd) +#define GET_WM_CHARTOITEM_POS(wp,lp) HIWORD(wp) +#define GET_WM_COMMAND_CMD(wp,lp) HIWORD(wp) +#define GET_WM_COMMAND_HWND(wp,lp) (HWND)(lp) +#define GET_WM_COMMAND_ID(wp,lp) LOWORD(wp) +#define GET_WM_COMMAND_MPS(id,hwnd,cmd) (WPARAM)MAKELONG(id,cmd),(LONG)(hwnd) +#define GET_WM_CTLCOLOR_HDC(wp,lp,msg) (HDC)(wp) +#define GET_WM_CTLCOLOR_HWND(wp,lp,msg) (HWND)(lp) +#define GET_WM_CTLCOLOR_MPS(hdc,hwnd,type) (WPARAM)(hdc),(LONG)(hwnd) +#define GET_WM_CTLCOLOR_MSG(type) (WORD)(WM_CTLCOLORMSGBOX+(type)) +#define GET_WM_CTLCOLOR_TYPE(wp,lp,msg) (WORD)(msg - WM_CTLCOLORMSGBOX) +#define GET_WM_HSCROLL_CODE(wp,lp) LOWORD(wp) +#define GET_WM_HSCROLL_HWND(wp,lp) (HWND)(lp) +#define GET_WM_HSCROLL_MPS(code,pos,hwnd) (WPARAM)MAKELONG(code,pos),(LONG)(hwnd) +#define GET_WM_HSCROLL_POS(wp,lp) HIWORD(wp) +#define GET_WM_MDIACTIVATE_FACTIVATE(hwnd,wp,lp) (lp == (LONG)hwnd) +#define GET_WM_MDIACTIVATE_HWNDACTIVATE(wp,lp) (HWND)(lp) +#define GET_WM_MDIACTIVATE_HWNDDEACT(wp,lp) (HWND)(wp) +#define GET_WM_MDIACTIVATE_MPS(f,hwndD,hwndA) (WPARAM)(hwndA),0 +#define GET_WM_MDISETMENU_MPS(hmenuF,hmenuW) (WPARAM)hmenuF,(LONG)hmenuW +#define GET_WM_MENUCHAR_CHAR(wp,lp) (TCHAR)LOWORD(wp) +#define GET_WM_MENUCHAR_FMENU(wp,lp) (BOOL)HIWORD(wp) +#define GET_WM_MENUCHAR_HMENU(wp,lp) (HMENU)(lp) +#define GET_WM_MENUCHAR_MPS(ch,hmenu,f) (WPARAM)MAKELONG(ch,f),(LONG)(hmenu) +#define GET_WM_MENUSELECT_CMD(wp,lp) LOWORD(wp) +#define GET_WM_MENUSELECT_FLAGS(wp,lp) (UINT)(int)(short)HIWORD(wp) +#define GET_WM_MENUSELECT_HMENU(wp,lp) (HMENU)(lp) +#define GET_WM_MENUSELECT_MPS(cmd,f,hmenu) (WPARAM)MAKELONG(cmd,f),(LONG)(hmenu) +#define GET_WM_PARENTNOTIFY2_MPS(msg,x,y) (WPARAM)MAKELONG(0,msg),MAKELONG(x,y) +#define GET_WM_PARENTNOTIFY_HWNDCHILD(wp,lp) (HWND)(lp) +#define GET_WM_PARENTNOTIFY_ID(wp,lp) HIWORD(wp) +#define GET_WM_PARENTNOTIFY_MPS(msg,id,hwnd) (WPARAM)MAKELONG(id,msg),(LONG)(hwnd) +#define GET_WM_PARENTNOTIFY_MSG(wp,lp) LOWORD(wp) +#define GET_WM_PARENTNOTIFY_X(wp,lp) (int)(short)LOWORD(lp) +#define GET_WM_PARENTNOTIFY_Y(wp,lp) (int)(short)HIWORD(lp) +#define GET_WM_VKEYTOITEM_CODE(wp,lp) (int)(short)LOWORD(wp) +#define GET_WM_VKEYTOITEM_HWND(wp,lp) (HWND)(lp) +#define GET_WM_VKEYTOITEM_ITEM(wp,lp) HIWORD(wp) +#define GET_WM_VKEYTOITEM_MPS(code,item,hwnd) (WPARAM)MAKELONG(item,code),(LONG)(hwnd) +#define GET_WM_VSCROLL_CODE(wp,lp) LOWORD(wp) +#define GET_WM_VSCROLL_HWND(wp,lp) (HWND)(lp) +#define GET_WM_VSCROLL_MPS(code,pos,hwnd) (WPARAM)MAKELONG(code,pos),(LONG)(hwnd) +#define GET_WM_VSCROLL_POS(wp,lp) HIWORD(wp) +#define GET_WPARAM(wp,lp) (wp) +#define GET_X_LPARAM(lp) ((int)(short)LOWORD(lp)) +#define GET_Y_LPARAM(lp) ((int)(short)HIWORD(lp)) +#define GetFirstChild(hwnd) GetTopWindow(hwnd) +#define GetFirstSibling(hwnd) GetWindow(hwnd,GW_HWNDFIRST) +#define GetInstanceModule(hInstance) (HMODULE)(hInstance) +#define GetLastSibling(hwnd) GetWindow(hwnd,GW_HWNDLAST) +#define GetNextSibling(hwnd) GetWindow(hwnd,GW_HWNDNEXT) +#define GetPrevSibling(hwnd) GetWindow(hwnd,GW_HWNDPREV) +#define GetStockBrush(i) ((HBRUSH)GetStockObject(i)) +#define GetStockFont(i) ((HFONT)GetStockObject(i)) +#define GetStockPen(i) ((HPEN)GetStockObject(i)) +#define GetWindowExStyle(hwnd) ((DWORD)GetWindowLong(hwnd,GWL_EXSTYLE)) +#define GetWindowFont(hwnd) FORWARD_WM_GETFONT((hwnd),SendMessage) +#define GetWindowID(hwnd) GetDlgCtrlID(hwnd) +#define GetWindowInstance(hwnd) ((HMODULE)GetWindowLong(hwnd,GWL_HINSTANCE)) +#define GetWindowOwner(hwnd) GetWindow(hwnd,GW_OWNER) +#define GetWindowStyle(hwnd) ((DWORD)GetWindowLong(hwnd,GWL_STYLE)) +#define GlobalAllocPtr(flags,cb) (GlobalLock(GlobalAlloc((flags),(cb)))) +#define GlobalFreePtr(lp) (GlobalUnlockPtr(lp),(BOOL)GlobalFree(GlobalPtrHandle(lp))) +#define GlobalLockPtr(lp) ((BOOL)GlobalLock(GlobalPtrHandle(lp))) +#define GlobalPtrHandle(lp) ((HGLOBAL)GlobalHandle(lp)) +#define GlobalReAllocPtr(lp,cbNew,flags) (GlobalUnlockPtr(lp),GlobalLock(GlobalReAlloc(GlobalPtrHandle(lp) ,(cbNew),(flags)))) +#define GlobalUnlockPtr(lp) GlobalUnlock(GlobalPtrHandle(lp)) +#define HANDLE_MSG(hwnd,message,fn) case (message): return HANDLE_##message((hwnd),(wParam),(lParam),(fn)) +#define HANDLE_WM_ACTIVATE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)LOWORD(wParam),(HWND)(lParam),(BOOL)HIWORD(wParam)),0) +#define HANDLE_WM_ACTIVATEAPP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(BOOL)(wParam),(DWORD)(lParam)),0) +#define HANDLE_WM_ASKCBFORMATNAME(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(wParam),(LPTSTR)(lParam)),0) +#define HANDLE_WM_CANCELMODE(hwnd,wParam,lParam,fn) ((fn)(hwnd),0) +#define HANDLE_WM_CHANGECBCHAIN(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam),(HWND)(lParam)),0) +#define HANDLE_WM_CHAR(hwnd,wParam,lParam,fn) ((fn)((hwnd),(TCHAR)(wParam),(int)(short)LOWORD(lParam)),0) +#define HANDLE_WM_CHARTOITEM(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(int)(fn)((hwnd),(UINT)LOWORD(wParam),(HWND)(lParam),(int)(short)HIWORD(wParam)) +#define HANDLE_WM_CHILDACTIVATE(hwnd,wParam,lParam,fn) ((fn)(hwnd),0) +#define HANDLE_WM_CLEAR(hwnd,wParam,lParam,fn) ((fn)(hwnd),0) +#define HANDLE_WM_CLOSE(hwnd,wParam,lParam,fn) ((fn)(hwnd),0) +#define HANDLE_WM_COMMAND(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(LOWORD(wParam)),(HWND)(lParam),(UINT)HIWORD(wParam)),0) +#define HANDLE_WM_COMMNOTIFY(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(wParam),(UINT)LOWORD(lParam)),0) +#define HANDLE_WM_COMPACTING(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam)),0) +#define HANDLE_WM_COMPAREITEM(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(int)(fn)((hwnd),(const COMPAREITEMSTRUCT*)(lParam)) +#define HANDLE_WM_COPY(hwnd,wParam,lParam,fn) ((fn)(hwnd),0) +#define HANDLE_WM_CREATE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(LPCREATESTRUCT)(lParam)) ? 0 : (LRESULT)-1L) +#define HANDLE_WM_CTLCOLORBTN(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(HBRUSH)(fn)((hwnd),(HDC)(wParam),(HWND)(lParam),CTLCOLOR_BTN) +#define HANDLE_WM_CTLCOLORDLG(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(HBRUSH)(fn)((hwnd),(HDC)(wParam),(HWND)(lParam),CTLCOLOR_DLG) +#define HANDLE_WM_CTLCOLOREDIT(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(HBRUSH)(fn)((hwnd),(HDC)(wParam),(HWND)(lParam),CTLCOLOR_EDIT) +#define HANDLE_WM_CTLCOLORLISTBOX(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(HBRUSH)(fn)((hwnd),(HDC)(wParam),(HWND)(lParam),CTLCOLOR_LISTBOX) +#define HANDLE_WM_CTLCOLORMSGBOX(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(HBRUSH)(fn)((hwnd),(HDC)(wParam),(HWND)(lParam),CTLCOLOR_MSGBOX) +#define HANDLE_WM_CTLCOLORSCROLLBAR(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(HBRUSH)(fn)((hwnd),(HDC)(wParam),(HWND)(lParam),CTLCOLOR_SCROLLBAR) +#define HANDLE_WM_CTLCOLORSTATIC(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(HBRUSH)(fn)((hwnd),(HDC)(wParam),(HWND)(lParam),CTLCOLOR_STATIC) +#define HANDLE_WM_CUT(hwnd,wParam,lParam,fn) ((fn)(hwnd),0) +#define HANDLE_WM_DEADCHAR(hwnd,wParam,lParam,fn) ((fn)((hwnd),(TCHAR)(wParam),(int)(short)LOWORD(lParam)),0) +#define HANDLE_WM_DELETEITEM(hwnd,wParam,lParam,fn) ((fn)((hwnd),(const DELETEITEMSTRUCT*)(lParam)),0) +#define HANDLE_WM_DESTROY(hwnd,wParam,lParam,fn) ((fn)(hwnd),0) +#define HANDLE_WM_DESTROYCLIPBOARD(hwnd,wParam,lParam,fn) ((fn)(hwnd),0) +#define HANDLE_WM_DEVMODECHANGE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(LPCTSTR)(lParam)),0) +#define HANDLE_WM_DRAWCLIPBOARD(hwnd,wParam,lParam,fn) ((fn)(hwnd),0) +#define HANDLE_WM_DRAWITEM(hwnd,wParam,lParam,fn) ((fn)((hwnd),(const DRAWITEMSTRUCT*)(lParam)),0) +#define HANDLE_WM_DROPFILES(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HDROP)(wParam)),0) +#define HANDLE_WM_ENABLE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(BOOL)(wParam)),0) +#define HANDLE_WM_ENDSESSION(hwnd,wParam,lParam,fn) ((fn)((hwnd),(BOOL)(wParam)),0) +#define HANDLE_WM_ENTERIDLE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),(HWND)(lParam)),0) +#define HANDLE_WM_ERASEBKGND(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(BOOL)(fn)((hwnd),(HDC)(wParam)) +#define HANDLE_WM_FONTCHANGE(hwnd,wParam,lParam,fn) ((fn)(hwnd),0) +#define HANDLE_WM_GETDLGCODE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(fn)(hwnd,(LPMSG)(lParam)) +#define HANDLE_WM_GETFONT(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(HFONT)(fn)(hwnd) +#define HANDLE_WM_GETMINMAXINFO(hwnd,wParam,lParam,fn) ((fn)((hwnd),(LPMINMAXINFO)(lParam)),0) +#define HANDLE_WM_GETTEXT(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(int)(fn)((hwnd),(int)(wParam),(LPTSTR)(lParam)) +#define HANDLE_WM_GETTEXTLENGTH(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(int)(fn)(hwnd) +#define HANDLE_WM_HSCROLL(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(lParam),(UINT)(LOWORD(wParam)),(int)(short)HIWORD(wParam)),0) +#define HANDLE_WM_HSCROLLCLIPBOARD(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam),(UINT)LOWORD(lParam),(int)(short)HIWORD(lParam)),0) +#define HANDLE_WM_ICONERASEBKGND(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(BOOL)(fn)((hwnd),(HDC)(wParam)) +#define HANDLE_WM_INITDIALOG(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(BOOL)(fn)((hwnd),(HWND)(wParam),lParam) +#define HANDLE_WM_INITMENU(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HMENU)(wParam)),0) +#define HANDLE_WM_INITMENUPOPUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HMENU)(wParam),(UINT)LOWORD(lParam),(BOOL)HIWORD(lParam)),0) +#define HANDLE_WM_KEYDOWN(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),TRUE,(int)(short)LOWORD(lParam),(UINT)HIWORD(lParam)),0) +#define HANDLE_WM_KEYUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),FALSE,(int)(short)LOWORD(lParam),(UINT)HIWORD(lParam)),0) +#define HANDLE_WM_KILLFOCUS(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam)),0) +#define HANDLE_WM_LBUTTONDBLCLK(hwnd,wParam,lParam,fn) ((fn)((hwnd),TRUE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0) +#define HANDLE_WM_LBUTTONDOWN(hwnd,wParam,lParam,fn) ((fn)((hwnd),FALSE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0) +#define HANDLE_WM_LBUTTONUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0) +#define HANDLE_WM_MBUTTONDBLCLK(hwnd,wParam,lParam,fn) ((fn)((hwnd),TRUE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0) +#define HANDLE_WM_MBUTTONDOWN(hwnd,wParam,lParam,fn) ((fn)((hwnd),FALSE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0) +#define HANDLE_WM_MBUTTONUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0) +#define HANDLE_WM_MDIACTIVATE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(BOOL)(lParam == (LPARAM)hwnd),(HWND)(lParam),(HWND)(wParam)),0) +#define HANDLE_WM_MDICASCADE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(fn)((hwnd),(UINT)(wParam)) +#define HANDLE_WM_MDICREATE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(fn)((hwnd),(LPMDICREATESTRUCT)(lParam)) +#define HANDLE_WM_MDIDESTROY(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam)),0) +#define HANDLE_WM_MDIGETACTIVE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(fn)(hwnd) +#define HANDLE_WM_MDIICONARRANGE(hwnd,wParam,lParam,fn) ((fn)(hwnd),0) +#define HANDLE_WM_MDIMAXIMIZE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam)),0) +#define HANDLE_WM_MDINEXT(hwnd,wParam,lParam,fn) (LRESULT)(HWND)(fn)((hwnd),(HWND)(wParam),(BOOL)lParam) +#define HANDLE_WM_MDIRESTORE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam)),0) +#define HANDLE_WM_MDISETMENU(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(fn)((hwnd),(BOOL)(wParam),(HMENU)(wParam),(HMENU)(lParam)) +#define HANDLE_WM_MDITILE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(fn)((hwnd),(UINT)(wParam)) +#define HANDLE_WM_MEASUREITEM(hwnd,wParam,lParam,fn) ((fn)((hwnd),(MEASUREITEMSTRUCT*)(lParam)),0) +#define HANDLE_WM_MENUCHAR(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(fn)((hwnd),(UINT)(LOWORD(wParam)),(UINT)HIWORD(wParam),(HMENU)(lParam)) +#define HANDLE_WM_MENUSELECT(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HMENU)(lParam),(int)(LOWORD(wParam)),(HIWORD(wParam) & MF_POPUP) ? GetSubMenu((HMENU)lParam,LOWORD(wParam)) : 0,(UINT)(((short)HIWORD(wParam) == -1) ? 0xFFFFFFFF : HIWORD(wParam))),0) +#define HANDLE_WM_MOUSEACTIVATE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(int)(fn)((hwnd),(HWND)(wParam),(UINT)LOWORD(lParam),(UINT)HIWORD(lParam)) +#define HANDLE_WM_MOUSEMOVE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0) +#define HANDLE_WM_MOVE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam)),0) +#define HANDLE_WM_NCACTIVATE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(BOOL)(fn)((hwnd),(BOOL)(wParam),0,0) +#define HANDLE_WM_NCCALCSIZE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(fn)((hwnd),(BOOL)(0),(NCCALCSIZE_PARAMS*)(lParam)) +#define HANDLE_WM_NCCREATE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(BOOL)(fn)((hwnd),(LPCREATESTRUCT)(lParam)) +#define HANDLE_WM_NCDESTROY(hwnd,wParam,lParam,fn) ((fn)(hwnd),0) +#define HANDLE_WM_NCHITTEST(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(fn)((hwnd),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam)) +#define HANDLE_WM_NCLBUTTONDBLCLK(hwnd,wParam,lParam,fn) ((fn)((hwnd),TRUE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0) +#define HANDLE_WM_NCLBUTTONDOWN(hwnd,wParam,lParam,fn) ((fn)((hwnd),FALSE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0) +#define HANDLE_WM_NCLBUTTONUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0) +#define HANDLE_WM_NCMBUTTONDBLCLK(hwnd,wParam,lParam,fn) ((fn)((hwnd),TRUE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0) +#define HANDLE_WM_NCMBUTTONDOWN(hwnd,wParam,lParam,fn) ((fn)((hwnd),FALSE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0) +#define HANDLE_WM_NCMBUTTONUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0) +#define HANDLE_WM_NCMOUSEMOVE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0) +#define HANDLE_WM_NCPAINT(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HRGN)(wParam)),0) +#define HANDLE_WM_NCRBUTTONDBLCLK(hwnd,wParam,lParam,fn) ((fn)((hwnd),TRUE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0) +#define HANDLE_WM_NCRBUTTONDOWN(hwnd,wParam,lParam,fn) ((fn)((hwnd),FALSE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0) +#define HANDLE_WM_NCRBUTTONUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0) +#define HANDLE_WM_NEXTDLGCTL(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(HWND)(fn)((hwnd),(HWND)(wParam),(BOOL)(lParam)) +#define HANDLE_WM_PAINT(hwnd,wParam,lParam,fn) ((fn)(hwnd),0) +#define HANDLE_WM_PAINTCLIPBOARD(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam),(const LPPAINTSTRUCT)GlobalLock((HGLOBAL)(lParam))),GlobalUnlock((HGLOBAL)(lParam)),0) +#define HANDLE_WM_PALETTECHANGED(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam)),0) +#define HANDLE_WM_PALETTEISCHANGING(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam)),0) +#define HANDLE_WM_PARENTNOTIFY(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)LOWORD(wParam),(HWND)(lParam),(UINT)HIWORD(wParam)),0) +#define HANDLE_WM_PASTE(hwnd,wParam,lParam,fn) ((fn)(hwnd),0) +#define HANDLE_WM_POWER(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(wParam)),0) +#define HANDLE_WM_QUERYDRAGICON(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(fn)(hwnd) +#define HANDLE_WM_QUERYENDSESSION(hwnd,wParam,lParam,fn) MAKELRESULT((BOOL)(fn)(hwnd),0) +#define HANDLE_WM_QUERYNEWPALETTE(hwnd,wParam,lParam,fn) MAKELRESULT((BOOL)(fn)(hwnd),0) +#define HANDLE_WM_QUERYOPEN(hwnd,wParam,lParam,fn) MAKELRESULT((BOOL)(fn)(hwnd),0) +#define HANDLE_WM_QUEUESYNC(hwnd,wParam,lParam,fn) ((fn)(hwnd),0) +#define HANDLE_WM_QUIT(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(wParam)),0) +#define HANDLE_WM_RBUTTONDBLCLK(hwnd,wParam,lParam,fn) ((fn)((hwnd),TRUE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0) +#define HANDLE_WM_RBUTTONDOWN(hwnd,wParam,lParam,fn) ((fn)((hwnd),FALSE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0) +#define HANDLE_WM_RBUTTONUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0) +#define HANDLE_WM_RENDERALLFORMATS(hwnd,wParam,lParam,fn) ((fn)(hwnd),0) +#define HANDLE_WM_RENDERFORMAT(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(HANDLE)(fn)((hwnd),(UINT)(wParam)) +#define HANDLE_WM_SETCURSOR(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(BOOL)(fn)((hwnd),(HWND)(wParam),(UINT)LOWORD(lParam),(UINT)HIWORD(lParam)) +#define HANDLE_WM_SETFOCUS(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam)),0) +#define HANDLE_WM_SETFONT(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HFONT)(wParam),(BOOL)(lParam)),0) +#define HANDLE_WM_SETREDRAW(hwnd,wParam,lParam,fn) ((fn)((hwnd),(BOOL)(wParam)),0) +#define HANDLE_WM_SETTEXT(hwnd,wParam,lParam,fn) ((fn)((hwnd),(LPCTSTR)(lParam)),0) +#define HANDLE_WM_SHOWWINDOW(hwnd,wParam,lParam,fn) ((fn)((hwnd),(BOOL)(wParam),(UINT)(lParam)),0) +#define HANDLE_WM_SIZE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam)),0) +#define HANDLE_WM_SIZECLIPBOARD(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam),(const LPRECT)GlobalLock((HGLOBAL)(lParam))),GlobalUnlock((HGLOBAL)(lParam)),0) +#define HANDLE_WM_SPOOLERSTATUS(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),(int)(short)LOWORD(lParam)),0) +#define HANDLE_WM_SYSCHAR(hwnd,wParam,lParam,fn) ((fn)((hwnd),(TCHAR)(wParam),(int)(short)LOWORD(lParam)),0) +#define HANDLE_WM_SYSCOLORCHANGE(hwnd,wParam,lParam,fn) ((fn)(hwnd),0) +#define HANDLE_WM_SYSCOMMAND(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam)),0) +#define HANDLE_WM_SYSDEADCHAR(hwnd,wParam,lParam,fn) ((fn)((hwnd),(TCHAR)(wParam),(int)(short)LOWORD(lParam)),0) +#define HANDLE_WM_SYSKEYDOWN(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),TRUE,(int)(short)LOWORD(lParam),(UINT)HIWORD(lParam)),0) +#define HANDLE_WM_SYSKEYUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),FALSE,(int)(short)LOWORD(lParam),(UINT)HIWORD(lParam)),0) +#define HANDLE_WM_SYSTEMERROR(hwnd,wParam,lParam,fn) 0 +#define HANDLE_WM_TIMECHANGE(hwnd,wParam,lParam,fn) ((fn)(hwnd),0) +#define HANDLE_WM_TIMER(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam)),0) +#define HANDLE_WM_UNDO(hwnd,wParam,lParam,fn) ((fn)(hwnd),0) +#define HANDLE_WM_VKEYTOITEM(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(int)(fn)((hwnd),(UINT)LOWORD(wParam),(HWND)(lParam),(int)(short)HIWORD(wParam)) +#define HANDLE_WM_VSCROLL(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(lParam),(UINT)(LOWORD(wParam)),(int)(short)HIWORD(wParam)),0) +#define HANDLE_WM_VSCROLLCLIPBOARD(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam),(UINT)LOWORD(lParam),(int)(short)HIWORD(lParam)),0) +#define HANDLE_WM_WINDOWPOSCHANGED(hwnd,wParam,lParam,fn) ((fn)((hwnd),(const LPWINDOWPOS)(lParam)),0) +#define HANDLE_WM_WINDOWPOSCHANGING(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(BOOL)(fn)((hwnd),(LPWINDOWPOS)(lParam)) +#define HANDLE_WM_WININICHANGE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(LPCTSTR)(lParam)),0) +#define InsetRect(lprc,dx,dy) InflateRect((lprc),-(dx),-(dy)) +#define IntersectRgn(hrgnResult,hrgnA,hrgnB) CombineRgn(hrgnResult,hrgnA,hrgnB,RGN_AND) +#define IsLButtonDown() (GetKeyState(VK_LBUTTON) < 0) +#define IsMButtonDown() (GetKeyState(VK_MBUTTON) < 0) +#define IsMaximized(hwnd) IsZoomed(hwnd) +#define IsMinimized(hwnd) IsIconic(hwnd) +#define IsRButtonDown() (GetKeyState(VK_RBUTTON) < 0) +#define IsRestored(hwnd) ((GetWindowStyle(hwnd) & (WS_MINIMIZE | WS_MAXIMIZE)) == 0) +#define ListBox_AddItemData(hwndCtl,data) ((int)(DWORD)SendMessage((hwndCtl),LB_ADDSTRING,0,(LPARAM)(data))) +#define ListBox_AddString(hwndCtl,lpsz) ((int)(DWORD)SendMessage((hwndCtl),LB_ADDSTRING,0,(LPARAM)(LPCTSTR)(lpsz))) +#define ListBox_DeleteString(hwndCtl,index) ((int)(DWORD)SendMessage((hwndCtl),LB_DELETESTRING,(WPARAM)(int)(index),0)) +#define ListBox_Dir(hwndCtl,attrs,lpszFileSpec) ((int)(DWORD)SendMessage((hwndCtl),LB_DIR,(WPARAM)(UINT)(attrs),(LPARAM)(LPCTSTR)(lpszFileSpec))) +#define ListBox_Enable(hwndCtl,fEnable) EnableWindow((hwndCtl),(fEnable)) +#define ListBox_FindItemData(hwndCtl,indexStart,data) ((int)(DWORD)SendMessage((hwndCtl),LB_FINDSTRING,(WPARAM)(int)(indexStart),(LPARAM)(data))) +#define ListBox_FindString(hwndCtl,indexStart,lpszFind) ((int)(DWORD)SendMessage((hwndCtl),LB_FINDSTRING,(WPARAM)(int)(indexStart),(LPARAM)(LPCTSTR)(lpszFind))) +#define ListBox_FindStringExact(hwndCtl,indexStart,lpszFind) ((int)(DWORD)SendMessage((hwndCtl),LB_FINDSTRINGEXACT,(WPARAM)(int)(indexStart),(LPARAM)(LPCTSTR)(lpszFind))) +#define ListBox_GetCaretIndex(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),LB_GETCARETINDEX,0,0)) +#define ListBox_GetCount(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),LB_GETCOUNT,0,0)) +#define ListBox_GetCurSel(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),LB_GETCURSEL,0,0)) +#define ListBox_GetHorizontalExtent(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),LB_GETHORIZONTALEXTENT,0,0)) +#define ListBox_GetItemData(hwndCtl,index) ((LRESULT)(DWORD)SendMessage((hwndCtl),LB_GETITEMDATA,(WPARAM)(int)(index),0)) +#define ListBox_GetItemHeight(hwndCtl,index) ((int)(DWORD)SendMessage((hwndCtl),LB_GETITEMHEIGHT,(WPARAM)(int)(index),0)) +#define ListBox_GetItemRect(hwndCtl,index,lprc) ((int)(DWORD)SendMessage((hwndCtl),LB_GETITEMRECT,(WPARAM)(int)(index),(LPARAM)(RECT*)(lprc))) +#define ListBox_GetSel(hwndCtl,index) ((int)(DWORD)SendMessage((hwndCtl),LB_GETSEL,(WPARAM)(int)(index),0)) +#define ListBox_GetSelCount(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),LB_GETSELCOUNT,0,0)) +#define ListBox_GetSelItems(hwndCtl,cItems,lpItems) ((int)(DWORD)SendMessage((hwndCtl),LB_GETSELITEMS,(WPARAM)(int)(cItems),(LPARAM)(int*)(lpItems))) +#define ListBox_GetText(hwndCtl,index,lpszBuffer) ((int)(DWORD)SendMessage((hwndCtl),LB_GETTEXT,(WPARAM)(int)(index),(LPARAM)(LPCTSTR)(lpszBuffer))) +#define ListBox_GetTextLen(hwndCtl,index) ((int)(DWORD)SendMessage((hwndCtl),LB_GETTEXTLEN,(WPARAM)(int)(index),0)) +#define ListBox_GetTopIndex(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),LB_GETTOPINDEX,0,0)) +#define ListBox_InsertItemData(hwndCtl,index,data) ((int)(DWORD)SendMessage((hwndCtl),LB_INSERTSTRING,(WPARAM)(int)(index),(LPARAM)(data))) +#define ListBox_InsertString(hwndCtl,index,lpsz) ((int)(DWORD)SendMessage((hwndCtl),LB_INSERTSTRING,(WPARAM)(int)(index),(LPARAM)(LPCTSTR)(lpsz))) +#define ListBox_ResetContent(hwndCtl) ((BOOL)(DWORD)SendMessage((hwndCtl),LB_RESETCONTENT,0,0)) +#define ListBox_SelItemRange(hwndCtl,fSelect,first,last) ((int)(DWORD)SendMessage((hwndCtl),LB_SELITEMRANGE,(WPARAM)(BOOL)(fSelect),MAKELPARAM((first),(last)))) +#define ListBox_SelectItemData(hwndCtl,indexStart,data) ((int)(DWORD)SendMessage((hwndCtl),LB_SELECTSTRING,(WPARAM)(int)(indexStart),(LPARAM)(data))) +#define ListBox_SelectString(hwndCtl,indexStart,lpszFind) ((int)(DWORD)SendMessage((hwndCtl),LB_SELECTSTRING,(WPARAM)(int)(indexStart),(LPARAM)(LPCTSTR)(lpszFind))) +#define ListBox_SetCaretIndex(hwndCtl,index) ((int)(DWORD)SendMessage((hwndCtl),LB_SETCARETINDEX,(WPARAM)(int)(index),0)) +#define ListBox_SetColumnWidth(hwndCtl,cxColumn) ((void)SendMessage((hwndCtl),LB_SETCOLUMNWIDTH,(WPARAM)(int)(cxColumn),0)) +#define ListBox_SetCurSel(hwndCtl,index) ((int)(DWORD)SendMessage((hwndCtl),LB_SETCURSEL,(WPARAM)(int)(index),0)) +#define ListBox_SetHorizontalExtent(hwndCtl,cxExtent) ((void)SendMessage((hwndCtl),LB_SETHORIZONTALEXTENT,(WPARAM)(int)(cxExtent),0)) +#define ListBox_SetItemData(hwndCtl,index,data) ((int)(DWORD)SendMessage((hwndCtl),LB_SETITEMDATA,(WPARAM)(int)(index),(LPARAM)(data))) +#define ListBox_SetItemHeight(hwndCtl,index,cy) ((int)(DWORD)SendMessage((hwndCtl),LB_SETITEMHEIGHT,(WPARAM)(int)(index),MAKELPARAM((cy),0))) +#define ListBox_SetSel(hwndCtl,fSelect,index) ((int)(DWORD)SendMessage((hwndCtl),LB_SETSEL,(WPARAM)(BOOL)(fSelect),(LPARAM)(index))) +#define ListBox_SetTabStops(hwndCtl,cTabs,lpTabs) ((BOOL)(DWORD)SendMessage((hwndCtl),LB_SETTABSTOPS,(WPARAM)(int)(cTabs),(LPARAM)(int*)(lpTabs))) +#define ListBox_SetTopIndex(hwndCtl,indexTop) ((int)(DWORD)SendMessage((hwndCtl),LB_SETTOPINDEX,(WPARAM)(int)(indexTop),0)) +#define MapWindowRect(hwndFrom,hwndTo,lprc) MapWindowPoints((hwndFrom),(hwndTo),(POINT*)(lprc),2) +#define ScrollBar_Enable(hwndCtl,flags) EnableScrollBar((hwndCtl),SB_CTL,(flags)) +#define ScrollBar_GetPos(hwndCtl) GetScrollPos((hwndCtl),SB_CTL) +#define ScrollBar_GetRange(hwndCtl,lpposMin,lpposMax) GetScrollRange((hwndCtl),SB_CTL,(lpposMin),(lpposMax)) +#define ScrollBar_SetPos(hwndCtl,pos,fRedraw) SetScrollPos((hwndCtl),SB_CTL,(pos),(fRedraw)) +#define ScrollBar_SetRange(hwndCtl,posMin,posMax,fRedraw) SetScrollRange((hwndCtl),SB_CTL,(posMin),(posMax),(fRedraw)) +#define ScrollBar_Show(hwndCtl,fShow) ShowWindow((hwndCtl),(fShow) ? SW_SHOWNORMAL : SW_HIDE) +#define SelectBitmap(hdc,hbm) ((HBITMAP)SelectObject((hdc),(HGDIOBJ)(HBITMAP)(hbm))) +#define SelectBrush(hdc,hbr) ((HBRUSH)SelectObject((hdc),(HGDIOBJ)(HBRUSH)(hbr))) +#define SelectFont(hdc,hfont) ((HFONT)SelectObject((hdc),(HGDIOBJ)(HFONT)(hfont))) +#define SelectPen(hdc,hpen) ((HPEN)SelectObject((hdc),(HGDIOBJ)(HPEN)(hpen))) +#define SetDlgMsgResult(hwnd,msg,result) (( (msg) == WM_CTLCOLORMSGBOX || (msg) == WM_CTLCOLOREDIT || (msg) == WM_CTLCOLORLISTBOX || (msg) == WM_CTLCOLORBTN || (msg) == WM_CTLCOLORDLG || (msg) == WM_CTLCOLORSCROLLBAR || (msg) == WM_CTLCOLORSTATIC || (msg) == WM_COMPAREITEM || (msg) == WM_VKEYTOITEM || (msg) == WM_CHARTOITEM || (msg) == WM_QUERYDRAGICON || (msg) == WM_INITDIALOG ) ? (BOOL)(result) : (SetWindowLong((hwnd),DWL_MSGRESULT,(LPARAM)(LRESULT)(result)),TRUE)) +#define SetWindowFont(hwnd,hfont,fRedraw) FORWARD_WM_SETFONT((hwnd),(hfont),(fRedraw),SendMessage) +#define SetWindowRedraw(hwnd,fRedraw) ((void)SendMessage(hwnd,WM_SETREDRAW,(WPARAM)(BOOL)(fRedraw),0)) +#define Static_Enable(hwndCtl,fEnable) EnableWindow((hwndCtl),(fEnable)) +#define Static_GetIcon(hwndCtl,hIcon) ((HICON)(UINT)(DWORD)SendMessage((hwndCtl),STM_GETICON,0,0)) +#define Static_GetText(hwndCtl,lpch,cchMax) GetWindowText((hwndCtl),(lpch),(cchMax)) +#define Static_GetTextLength(hwndCtl) GetWindowTextLength(hwndCtl) +#define Static_SetIcon(hwndCtl,hIcon) ((HICON)(UINT)(DWORD)SendMessage((hwndCtl),STM_SETICON,(WPARAM)(HICON)(hIcon),0)) +#define Static_SetText(hwndCtl,lpsz) SetWindowText((hwndCtl),(lpsz)) +#define SubclassDialog(hwndDlg,lpfn) ((DLGPROC)SetWindowLong(hwndDlg,DWL_DLGPROC,(LPARAM)(DLGPROC)(lpfn))) +#define SubclassWindow(hwnd,lpfn) ((WNDPROC)SetWindowLong((hwnd),GWL_WNDPROC,(LPARAM)(WNDPROC)(lpfn))) +#define SubtractRgn(hrgnResult,hrgnA,hrgnB) CombineRgn(hrgnResult,hrgnA,hrgnB,RGN_DIFF) +#define UnionRgn(hrgnResult,hrgnA,hrgnB) CombineRgn(hrgnResult,hrgnA,hrgnB,RGN_OR) +#define XorRgn(hrgnResult,hrgnA,hrgnB) CombineRgn(hrgnResult,hrgnA,hrgnB,RGN_XOR) +#define _fmemcpy memcpy +#define _fmemmove memmove +#define _fmemset memset +#define _fmemcmp memcmp +#define hmemcpy MoveMemory +#endif diff --git a/winsup/w32api/include/winerror.h b/winsup/w32api/include/winerror.h new file mode 100644 index 000000000..46db8e4f8 --- /dev/null +++ b/winsup/w32api/include/winerror.h @@ -0,0 +1,1011 @@ +#ifndef _WINERROR_H +#define _WINERROR_H +#define ERROR_SUCCESS 0L +#define NO_ERROR 0L +#define ERROR_INVALID_FUNCTION 1L +#define ERROR_FILE_NOT_FOUND 2L +#define ERROR_PATH_NOT_FOUND 3L +#define ERROR_TOO_MANY_OPEN_FILES 4L +#define ERROR_ACCESS_DENIED 5L +#define ERROR_INVALID_HANDLE 6L +#define ERROR_ARENA_TRASHED 7L +#define ERROR_NOT_ENOUGH_MEMORY 8L +#define ERROR_INVALID_BLOCK 9L +#define ERROR_BAD_ENVIRONMENT 10L +#define ERROR_BAD_FORMAT 11L +#define ERROR_INVALID_ACCESS 12L +#define ERROR_INVALID_DATA 13L +#define ERROR_OUTOFMEMORY 14L +#define ERROR_INVALID_DRIVE 15L +#define ERROR_CURRENT_DIRECTORY 16L +#define ERROR_NOT_SAME_DEVICE 17L +#define ERROR_NO_MORE_FILES 18L +#define ERROR_WRITE_PROTECT 19L +#define ERROR_BAD_UNIT 20L +#define ERROR_NOT_READY 21L +#define ERROR_BAD_COMMAND 22L +#define ERROR_CRC 23L +#define ERROR_BAD_LENGTH 24L +#define ERROR_SEEK 25L +#define ERROR_NOT_DOS_DISK 26L +#define ERROR_SECTOR_NOT_FOUND 27L +#define ERROR_OUT_OF_PAPER 28L +#define ERROR_WRITE_FAULT 29L +#define ERROR_READ_FAULT 30L +#define ERROR_GEN_FAILURE 31L +#define ERROR_SHARING_VIOLATION 32L +#define ERROR_LOCK_VIOLATION 33L +#define ERROR_WRONG_DISK 34L +#define ERROR_SHARING_BUFFER_EXCEEDED 36L +#define ERROR_HANDLE_EOF 38L +#define ERROR_HANDLE_DISK_FULL 39L +#define ERROR_NOT_SUPPORTED 50L +#define ERROR_REM_NOT_LIST 51L +#define ERROR_DUP_NAME 52L +#define ERROR_BAD_NETPATH 53L +#define ERROR_NETWORK_BUSY 54L +#define ERROR_DEV_NOT_EXIST 55L +#define ERROR_TOO_MANY_CMDS 56L +#define ERROR_ADAP_HDW_ERR 57L +#define ERROR_BAD_NET_RESP 58L +#define ERROR_UNEXP_NET_ERR 59L +#define ERROR_BAD_REM_ADAP 60L +#define ERROR_PRINTQ_FULL 61L +#define ERROR_NO_SPOOL_SPACE 62L +#define ERROR_PRINT_CANCELLED 63L +#define ERROR_NETNAME_DELETED 64L +#define ERROR_NETWORK_ACCESS_DENIED 65L +#define ERROR_BAD_DEV_TYPE 66L +#define ERROR_BAD_NET_NAME 67L +#define ERROR_TOO_MANY_NAMES 68L +#define ERROR_TOO_MANY_SESS 69L +#define ERROR_SHARING_PAUSED 70L +#define ERROR_REQ_NOT_ACCEP 71L +#define ERROR_REDIR_PAUSED 72L +#define ERROR_FILE_EXISTS 80L +#define ERROR_CANNOT_MAKE 82L +#define ERROR_FAIL_I24 83L +#define ERROR_OUT_OF_STRUCTURES 84L +#define ERROR_ALREADY_ASSIGNED 85L +#define ERROR_INVALID_PASSWORD 86L +#define ERROR_INVALID_PARAMETER 87L +#define ERROR_NET_WRITE_FAULT 88L +#define ERROR_NO_PROC_SLOTS 89L +#define ERROR_TOO_MANY_SEMAPHORES 100L +#define ERROR_EXCL_SEM_ALREADY_OWNED 101L +#define ERROR_SEM_IS_SET 102L +#define ERROR_TOO_MANY_SEM_REQUESTS 103L +#define ERROR_INVALID_AT_INTERRUPT_TIME 104L +#define ERROR_SEM_OWNER_DIED 105L +#define ERROR_SEM_USER_LIMIT 106L +#define ERROR_DISK_CHANGE 107L +#define ERROR_DRIVE_LOCKED 108L +#define ERROR_BROKEN_PIPE 109L +#define ERROR_OPEN_FAILED 110L +#define ERROR_BUFFER_OVERFLOW 111L +#define ERROR_DISK_FULL 112L +#define ERROR_NO_MORE_SEARCH_HANDLES 113L +#define ERROR_INVALID_TARGET_HANDLE 114L +#define ERROR_INVALID_CATEGORY 117L +#define ERROR_INVALID_VERIFY_SWITCH 118L +#define ERROR_BAD_DRIVER_LEVEL 119L +#define ERROR_CALL_NOT_IMPLEMENTED 120L +#define ERROR_SEM_TIMEOUT 121L +#define ERROR_INSUFFICIENT_BUFFER 122L +#define ERROR_INVALID_NAME 123L +#define ERROR_INVALID_LEVEL 124L +#define ERROR_NO_VOLUME_LABEL 125L +#define ERROR_MOD_NOT_FOUND 126L +#define ERROR_PROC_NOT_FOUND 127L +#define ERROR_WAIT_NO_CHILDREN 128L +#define ERROR_CHILD_NOT_COMPLETE 129L +#define ERROR_DIRECT_ACCESS_HANDLE 130L +#define ERROR_NEGATIVE_SEEK 131L +#define ERROR_SEEK_ON_DEVICE 132L +#define ERROR_IS_JOIN_TARGET 133L +#define ERROR_IS_JOINED 134L +#define ERROR_IS_SUBSTED 135L +#define ERROR_NOT_JOINED 136L +#define ERROR_NOT_SUBSTED 137L +#define ERROR_JOIN_TO_JOIN 138L +#define ERROR_SUBST_TO_SUBST 139L +#define ERROR_JOIN_TO_SUBST 140L +#define ERROR_SUBST_TO_JOIN 141L +#define ERROR_BUSY_DRIVE 142L +#define ERROR_SAME_DRIVE 143L +#define ERROR_DIR_NOT_ROOT 144L +#define ERROR_DIR_NOT_EMPTY 145L +#define ERROR_IS_SUBST_PATH 146L +#define ERROR_IS_JOIN_PATH 147L +#define ERROR_PATH_BUSY 148L +#define ERROR_IS_SUBST_TARGET 149L +#define ERROR_SYSTEM_TRACE 150L +#define ERROR_INVALID_EVENT_COUNT 151L +#define ERROR_TOO_MANY_MUXWAITERS 152L +#define ERROR_INVALID_LIST_FORMAT 153L +#define ERROR_LABEL_TOO_LONG 154L +#define ERROR_TOO_MANY_TCBS 155L +#define ERROR_SIGNAL_REFUSED 156L +#define ERROR_DISCARDED 157L +#define ERROR_NOT_LOCKED 158L +#define ERROR_BAD_THREADID_ADDR 159L +#define ERROR_BAD_ARGUMENTS 160L +#define ERROR_BAD_PATHNAME 161L +#define ERROR_SIGNAL_PENDING 162L +#define ERROR_MAX_THRDS_REACHED 164L +#define ERROR_LOCK_FAILED 167L +#define ERROR_BUSY 170L +#define ERROR_CANCEL_VIOLATION 173L +#define ERROR_ATOMIC_LOCKS_NOT_SUPPORTED 174L +#define ERROR_INVALID_SEGMENT_NUMBER 180L +#define ERROR_INVALID_ORDINAL 182L +#define ERROR_ALREADY_EXISTS 183L +#define ERROR_INVALID_FLAG_NUMBER 186L +#define ERROR_SEM_NOT_FOUND 187L +#define ERROR_INVALID_STARTING_CODESEG 188L +#define ERROR_INVALID_STACKSEG 189L +#define ERROR_INVALID_MODULETYPE 190L +#define ERROR_INVALID_EXE_SIGNATURE 191L +#define ERROR_EXE_MARKED_INVALID 192L +#define ERROR_BAD_EXE_FORMAT 193L +#define ERROR_ITERATED_DATA_EXCEEDS_64k 194L +#define ERROR_INVALID_MINALLOCSIZE 195L +#define ERROR_DYNLINK_FROM_INVALID_RING 196L +#define ERROR_IOPL_NOT_ENABLED 197L +#define ERROR_INVALID_SEGDPL 198L +#define ERROR_AUTODATASEG_EXCEEDS_64k 199L +#define ERROR_RING2SEG_MUST_BE_MOVABLE 200L +#define ERROR_RELOC_CHAIN_XEEDS_SEGLIM 201L +#define ERROR_INFLOOP_IN_RELOC_CHAIN 202L +#define ERROR_ENVVAR_NOT_FOUND 203L +#define ERROR_NO_SIGNAL_SENT 205L +#define ERROR_FILENAME_EXCED_RANGE 206L +#define ERROR_RING2_STACK_IN_USE 207L +#define ERROR_META_EXPANSION_TOO_LONG 208L +#define ERROR_INVALID_SIGNAL_NUMBER 209L +#define ERROR_THREAD_1_INACTIVE 210L +#define ERROR_LOCKED 212L +#define ERROR_TOO_MANY_MODULES 214L +#define ERROR_NESTING_NOT_ALLOWED 215L +#define ERROR_BAD_PIPE 230L +#define ERROR_PIPE_BUSY 231L +#define ERROR_NO_DATA 232L +#define ERROR_PIPE_NOT_CONNECTED 233L +#define ERROR_MORE_DATA 234L +#define ERROR_VC_DISCONNECTED 240L +#define ERROR_INVALID_EA_NAME 254L +#define ERROR_EA_LIST_INCONSISTENT 255L +#define ERROR_NO_MORE_ITEMS 259L +#define ERROR_CANNOT_COPY 266L +#define ERROR_DIRECTORY 267L +#define ERROR_EAS_DIDNT_FIT 275L +#define ERROR_EA_FILE_CORRUPT 276L +#define ERROR_EA_TABLE_FULL 277L +#define ERROR_INVALID_EA_HANDLE 278L +#define ERROR_EAS_NOT_SUPPORTED 282L +#define ERROR_NOT_OWNER 288L +#define ERROR_TOO_MANY_POSTS 298L +#define ERROR_PARTIAL_COPY 299L +#define ERROR_MR_MID_NOT_FOUND 317L +#define ERROR_INVALID_ADDRESS 487L +#define ERROR_ARITHMETIC_OVERFLOW 534L +#define ERROR_PIPE_CONNECTED 535L +#define ERROR_PIPE_LISTENING 536L +#define ERROR_EA_ACCESS_DENIED 994L +#define ERROR_OPERATION_ABORTED 995L +#define ERROR_IO_INCOMPLETE 996L +#define ERROR_IO_PENDING 997L +#define ERROR_NOACCESS 998L +#define ERROR_SWAPERROR 999L +#define ERROR_STACK_OVERFLOW 1001L +#define ERROR_INVALID_MESSAGE 1002L +#define ERROR_CAN_NOT_COMPLETE 1003L +#define ERROR_INVALID_FLAGS 1004L +#define ERROR_UNRECOGNIZED_VOLUME 1005L +#define ERROR_FILE_INVALID 1006L +#define ERROR_FULLSCREEN_MODE 1007L +#define ERROR_NO_TOKEN 1008L +#define ERROR_BADDB 1009L +#define ERROR_BADKEY 1010L +#define ERROR_CANTOPEN 1011L +#define ERROR_CANTREAD 1012L +#define ERROR_CANTWRITE 1013L +#define ERROR_REGISTRY_RECOVERED 1014L +#define ERROR_REGISTRY_CORRUPT 1015L +#define ERROR_REGISTRY_IO_FAILED 1016L +#define ERROR_NOT_REGISTRY_FILE 1017L +#define ERROR_KEY_DELETED 1018L +#define ERROR_NO_LOG_SPACE 1019L +#define ERROR_KEY_HAS_CHILDREN 1020L +#define ERROR_CHILD_MUST_BE_VOLATILE 1021L +#define ERROR_NOTIFY_ENUM_DIR 1022L +#define ERROR_DEPENDENT_SERVICES_RUNNING 1051L +#define ERROR_INVALID_SERVICE_CONTROL 1052L +#define ERROR_SERVICE_REQUEST_TIMEOUT 1053L +#define ERROR_SERVICE_NO_THREAD 1054L +#define ERROR_SERVICE_DATABASE_LOCKED 1055L +#define ERROR_SERVICE_ALREADY_RUNNING 1056L +#define ERROR_INVALID_SERVICE_ACCOUNT 1057L +#define ERROR_SERVICE_DISABLED 1058L +#define ERROR_CIRCULAR_DEPENDENCY 1059L +#define ERROR_SERVICE_DOES_NOT_EXIST 1060L +#define ERROR_SERVICE_CANNOT_ACCEPT_CTRL 1061L +#define ERROR_SERVICE_NOT_ACTIVE 1062L +#define ERROR_FAILED_SERVICE_CONTROLLER_CONNECT 1063L +#define ERROR_EXCEPTION_IN_SERVICE 1064L +#define ERROR_DATABASE_DOES_NOT_EXIST 1065L +#define ERROR_SERVICE_SPECIFIC_ERROR 1066L +#define ERROR_PROCESS_ABORTED 1067L +#define ERROR_SERVICE_DEPENDENCY_FAIL 1068L +#define ERROR_SERVICE_LOGON_FAILED 1069L +#define ERROR_SERVICE_START_HANG 1070L +#define ERROR_INVALID_SERVICE_LOCK 1071L +#define ERROR_SERVICE_MARKED_FOR_DELETE 1072L +#define ERROR_SERVICE_EXISTS 1073L +#define ERROR_ALREADY_RUNNING_LKG 1074L +#define ERROR_SERVICE_DEPENDENCY_DELETED 1075L +#define ERROR_BOOT_ALREADY_ACCEPTED 1076L +#define ERROR_SERVICE_NEVER_STARTED 1077L +#define ERROR_DUPLICATE_SERVICE_NAME 1078L +#define ERROR_END_OF_MEDIA 1100L +#define ERROR_FILEMARK_DETECTED 1101L +#define ERROR_BEGINNING_OF_MEDIA 1102L +#define ERROR_SETMARK_DETECTED 1103L +#define ERROR_NO_DATA_DETECTED 1104L +#define ERROR_PARTITION_FAILURE 1105L +#define ERROR_INVALID_BLOCK_LENGTH 1106L +#define ERROR_DEVICE_NOT_PARTITIONED 1107L +#define ERROR_UNABLE_TO_LOCK_MEDIA 1108L +#define ERROR_UNABLE_TO_UNLOAD_MEDIA 1109L +#define ERROR_MEDIA_CHANGED 1110L +#define ERROR_BUS_RESET 1111L +#define ERROR_NO_MEDIA_IN_DRIVE 1112L +#define ERROR_NO_UNICODE_TRANSLATION 1113L +#define ERROR_DLL_INIT_FAILED 1114L +#define ERROR_SHUTDOWN_IN_PROGRESS 1115L +#define ERROR_NO_SHUTDOWN_IN_PROGRESS 1116L +#define ERROR_IO_DEVICE 1117L +#define ERROR_SERIAL_NO_DEVICE 1118L +#define ERROR_IRQ_BUSY 1119L +#define ERROR_MORE_WRITES 1120L +#define ERROR_COUNTER_TIMEOUT 1121L +#define ERROR_FLOPPY_ID_MARK_NOT_FOUND 1122L +#define ERROR_FLOPPY_WRONG_CYLINDER 1123L +#define ERROR_FLOPPY_UNKNOWN_ERROR 1124L +#define ERROR_FLOPPY_BAD_REGISTERS 1125L +#define ERROR_DISK_RECALIBRATE_FAILED 1126L +#define ERROR_DISK_OPERATION_FAILED 1127L +#define ERROR_DISK_RESET_FAILED 1128L +#define ERROR_EOM_OVERFLOW 1129L +#define ERROR_NOT_ENOUGH_SERVER_MEMORY 1130L +#define ERROR_POSSIBLE_DEADLOCK 1131L +#define ERROR_MAPPED_ALIGNMENT 1132L +#define ERROR_SET_POWER_STATE_VETOED 1140L +#define ERROR_SET_POWER_STATE_FAILED 1141L +#define ERROR_OLD_WIN_VERSION 1150L +#define ERROR_APP_WRONG_OS 1151L +#define ERROR_SINGLE_INSTANCE_APP 1152L +#define ERROR_RMODE_APP 1153L +#define ERROR_INVALID_DLL 1154L +#define ERROR_NO_ASSOCIATION 1155L +#define ERROR_DDE_FAIL 1156L +#define ERROR_DLL_NOT_FOUND 1157L +#define ERROR_BAD_USERNAME 2202L +#define ERROR_NOT_CONNECTED 2250L +#define ERROR_OPEN_FILES 2401L +#define ERROR_ACTIVE_CONNECTIONS 2402L +#define ERROR_DEVICE_IN_USE 2404L +#define ERROR_BAD_DEVICE 1200L +#define ERROR_CONNECTION_UNAVAIL 1201L +#define ERROR_DEVICE_ALREADY_REMEMBERED 1202L +#define ERROR_NO_NET_OR_BAD_PATH 1203L +#define ERROR_BAD_PROVIDER 1204L +#define ERROR_CANNOT_OPEN_PROFILE 1205L +#define ERROR_BAD_PROFILE 1206L +#define ERROR_NOT_CONTAINER 1207L +#define ERROR_EXTENDED_ERROR 1208L +#define ERROR_INVALID_GROUPNAME 1209L +#define ERROR_INVALID_COMPUTERNAME 1210L +#define ERROR_INVALID_EVENTNAME 1211L +#define ERROR_INVALID_DOMAINNAME 1212L +#define ERROR_INVALID_SERVICENAME 1213L +#define ERROR_INVALID_NETNAME 1214L +#define ERROR_INVALID_SHARENAME 1215L +#define ERROR_INVALID_PASSWORDNAME 1216L +#define ERROR_INVALID_MESSAGENAME 1217L +#define ERROR_INVALID_MESSAGEDEST 1218L +#define ERROR_SESSION_CREDENTIAL_CONFLICT 1219L +#define ERROR_REMOTE_SESSION_LIMIT_EXCEEDED 1220L +#define ERROR_DUP_DOMAINNAME 1221L +#define ERROR_NO_NETWORK 1222L +#define ERROR_CANCELLED 1223L +#define ERROR_USER_MAPPED_FILE 1224L +#define ERROR_CONNECTION_REFUSED 1225L +#define ERROR_GRACEFUL_DISCONNECT 1226L +#define ERROR_ADDRESS_ALREADY_ASSOCIATED 1227L +#define ERROR_ADDRESS_NOT_ASSOCIATED 1228L +#define ERROR_CONNECTION_INVALID 1229L +#define ERROR_CONNECTION_ACTIVE 1230L +#define ERROR_NETWORK_UNREACHABLE 1231L +#define ERROR_HOST_UNREACHABLE 1232L +#define ERROR_PROTOCOL_UNREACHABLE 1233L +#define ERROR_PORT_UNREACHABLE 1234L +#define ERROR_REQUEST_ABORTED 1235L +#define ERROR_CONNECTION_ABORTED 1236L +#define ERROR_RETRY 1237L +#define ERROR_CONNECTION_COUNT_LIMIT 1238L +#define ERROR_LOGIN_TIME_RESTRICTION 1239L +#define ERROR_LOGIN_WKSTA_RESTRICTION 1240L +#define ERROR_INCORRECT_ADDRESS 1241L +#define ERROR_ALREADY_REGISTERED 1242L +#define ERROR_SERVICE_NOT_FOUND 1243L +#define ERROR_NOT_AUTHENTICATED 1244L +#define ERROR_NOT_LOGGED_ON 1245L +#define ERROR_CONTINUE 1246L +#define ERROR_ALREADY_INITIALIZED 1247L +#define ERROR_NO_MORE_DEVICES 1248L +#define ERROR_NOT_ALL_ASSIGNED 1300L +#define ERROR_SOME_NOT_MAPPED 1301L +#define ERROR_NO_QUOTAS_FOR_ACCOUNT 1302L +#define ERROR_LOCAL_USER_SESSION_KEY 1303L +#define ERROR_NULL_LM_PASSWORD 1304L +#define ERROR_UNKNOWN_REVISION 1305L +#define ERROR_REVISION_MISMATCH 1306L +#define ERROR_INVALID_OWNER 1307L +#define ERROR_INVALID_PRIMARY_GROUP 1308L +#define ERROR_NO_IMPERSONATION_TOKEN 1309L +#define ERROR_CANT_DISABLE_MANDATORY 1310L +#define ERROR_NO_LOGON_SERVERS 1311L +#define ERROR_NO_SUCH_LOGON_SESSION 1312L +#define ERROR_NO_SUCH_PRIVILEGE 1313L +#define ERROR_PRIVILEGE_NOT_HELD 1314L +#define ERROR_INVALID_ACCOUNT_NAME 1315L +#define ERROR_USER_EXISTS 1316L +#define ERROR_NO_SUCH_USER 1317L +#define ERROR_GROUP_EXISTS 1318L +#define ERROR_NO_SUCH_GROUP 1319L +#define ERROR_MEMBER_IN_GROUP 1320L +#define ERROR_MEMBER_NOT_IN_GROUP 1321L +#define ERROR_LAST_ADMIN 1322L +#define ERROR_WRONG_PASSWORD 1323L +#define ERROR_ILL_FORMED_PASSWORD 1324L +#define ERROR_PASSWORD_RESTRICTION 1325L +#define ERROR_LOGON_FAILURE 1326L +#define ERROR_ACCOUNT_RESTRICTION 1327L +#define ERROR_INVALID_LOGON_HOURS 1328L +#define ERROR_INVALID_WORKSTATION 1329L +#define ERROR_PASSWORD_EXPIRED 1330L +#define ERROR_ACCOUNT_DISABLED 1331L +#define ERROR_NONE_MAPPED 1332L +#define ERROR_TOO_MANY_LUIDS_REQUESTED 1333L +#define ERROR_LUIDS_EXHAUSTED 1334L +#define ERROR_INVALID_SUB_AUTHORITY 1335L +#define ERROR_INVALID_ACL 1336L +#define ERROR_INVALID_SID 1337L +#define ERROR_INVALID_SECURITY_DESCR 1338L +#define ERROR_BAD_INHERITANCE_ACL 1340L +#define ERROR_SERVER_DISABLED 1341L +#define ERROR_SERVER_NOT_DISABLED 1342L +#define ERROR_INVALID_ID_AUTHORITY 1343L +#define ERROR_ALLOTTED_SPACE_EXCEEDED 1344L +#define ERROR_INVALID_GROUP_ATTRIBUTES 1345L +#define ERROR_BAD_IMPERSONATION_LEVEL 1346L +#define ERROR_CANT_OPEN_ANONYMOUS 1347L +#define ERROR_BAD_VALIDATION_CLASS 1348L +#define ERROR_BAD_TOKEN_TYPE 1349L +#define ERROR_NO_SECURITY_ON_OBJECT 1350L +#define ERROR_CANT_ACCESS_DOMAIN_INFO 1351L +#define ERROR_INVALID_SERVER_STATE 1352L +#define ERROR_INVALID_DOMAIN_STATE 1353L +#define ERROR_INVALID_DOMAIN_ROLE 1354L +#define ERROR_NO_SUCH_DOMAIN 1355L +#define ERROR_DOMAIN_EXISTS 1356L +#define ERROR_DOMAIN_LIMIT_EXCEEDED 1357L +#define ERROR_INTERNAL_DB_CORRUPTION 1358L +#define ERROR_INTERNAL_ERROR 1359L +#define ERROR_GENERIC_NOT_MAPPED 1360L +#define ERROR_BAD_DESCRIPTOR_FORMAT 1361L +#define ERROR_NOT_LOGON_PROCESS 1362L +#define ERROR_LOGON_SESSION_EXISTS 1363L +#define ERROR_NO_SUCH_PACKAGE 1364L +#define ERROR_BAD_LOGON_SESSION_STATE 1365L +#define ERROR_LOGON_SESSION_COLLISION 1366L +#define ERROR_INVALID_LOGON_TYPE 1367L +#define ERROR_CANNOT_IMPERSONATE 1368L +#define ERROR_RXACT_INVALID_STATE 1369L +#define ERROR_RXACT_COMMIT_FAILURE 1370L +#define ERROR_SPECIAL_ACCOUNT 1371L +#define ERROR_SPECIAL_GROUP 1372L +#define ERROR_SPECIAL_USER 1373L +#define ERROR_MEMBERS_PRIMARY_GROUP 1374L +#define ERROR_TOKEN_ALREADY_IN_USE 1375L +#define ERROR_NO_SUCH_ALIAS 1376L +#define ERROR_MEMBER_NOT_IN_ALIAS 1377L +#define ERROR_MEMBER_IN_ALIAS 1378L +#define ERROR_ALIAS_EXISTS 1379L +#define ERROR_LOGON_NOT_GRANTED 1380L +#define ERROR_TOO_MANY_SECRETS 1381L +#define ERROR_SECRET_TOO_LONG 1382L +#define ERROR_INTERNAL_DB_ERROR 1383L +#define ERROR_TOO_MANY_CONTEXT_IDS 1384L +#define ERROR_LOGON_TYPE_NOT_GRANTED 1385L +#define ERROR_NT_CROSS_ENCRYPTION_REQUIRED 1386L +#define ERROR_NO_SUCH_MEMBER 1387L +#define ERROR_INVALID_MEMBER 1388L +#define ERROR_TOO_MANY_SIDS 1389L +#define ERROR_LM_CROSS_ENCRYPTION_REQUIRED 1390L +#define ERROR_NO_INHERITANCE 1391L +#define ERROR_FILE_CORRUPT 1392L +#define ERROR_DISK_CORRUPT 1393L +#define ERROR_NO_USER_SESSION_KEY 1394L +#define ERROR_LICENSE_QUOTA_EXCEEDED 1395L +#define ERROR_INVALID_WINDOW_HANDLE 1400L +#define ERROR_INVALID_MENU_HANDLE 1401L +#define ERROR_INVALID_CURSOR_HANDLE 1402L +#define ERROR_INVALID_ACCEL_HANDLE 1403L +#define ERROR_INVALID_HOOK_HANDLE 1404L +#define ERROR_INVALID_DWP_HANDLE 1405L +#define ERROR_TLW_WITH_WSCHILD 1406L +#define ERROR_CANNOT_FIND_WND_CLASS 1407L +#define ERROR_WINDOW_OF_OTHER_THREAD 1408L +#define ERROR_HOTKEY_ALREADY_REGISTERED 1409L +#define ERROR_CLASS_ALREADY_EXISTS 1410L +#define ERROR_CLASS_DOES_NOT_EXIST 1411L +#define ERROR_CLASS_HAS_WINDOWS 1412L +#define ERROR_INVALID_INDEX 1413L +#define ERROR_INVALID_ICON_HANDLE 1414L +#define ERROR_PRIVATE_DIALOG_INDEX 1415L +#define ERROR_LISTBOX_ID_NOT_FOUND 1416L +#define ERROR_NO_WILDCARD_CHARACTERS 1417L +#define ERROR_CLIPBOARD_NOT_OPEN 1418L +#define ERROR_HOTKEY_NOT_REGISTERED 1419L +#define ERROR_WINDOW_NOT_DIALOG 1420L +#define ERROR_CONTROL_ID_NOT_FOUND 1421L +#define ERROR_INVALID_COMBOBOX_MESSAGE 1422L +#define ERROR_WINDOW_NOT_COMBOBOX 1423L +#define ERROR_INVALID_EDIT_HEIGHT 1424L +#define ERROR_DC_NOT_FOUND 1425L +#define ERROR_INVALID_HOOK_FILTER 1426L +#define ERROR_INVALID_FILTER_PROC 1427L +#define ERROR_HOOK_NEEDS_HMOD 1428L +#define ERROR_GLOBAL_ONLY_HOOK 1429L +#define ERROR_JOURNAL_HOOK_SET 1430L +#define ERROR_HOOK_NOT_INSTALLED 1431L +#define ERROR_INVALID_LB_MESSAGE 1432L +#define ERROR_SETCOUNT_ON_BAD_LB 1433L +#define ERROR_LB_WITHOUT_TABSTOPS 1434L +#define ERROR_DESTROY_OBJECT_OF_OTHER_THREAD 1435L +#define ERROR_CHILD_WINDOW_MENU 1436L +#define ERROR_NO_SYSTEM_MENU 1437L +#define ERROR_INVALID_MSGBOX_STYLE 1438L +#define ERROR_INVALID_SPI_VALUE 1439L +#define ERROR_SCREEN_ALREADY_LOCKED 1440L +#define ERROR_HWNDS_HAVE_DIFF_PARENT 1441L +#define ERROR_NOT_CHILD_WINDOW 1442L +#define ERROR_INVALID_GW_COMMAND 1443L +#define ERROR_INVALID_THREAD_ID 1444L +#define ERROR_NON_MDICHILD_WINDOW 1445L +#define ERROR_POPUP_ALREADY_ACTIVE 1446L +#define ERROR_NO_SCROLLBARS 1447L +#define ERROR_INVALID_SCROLLBAR_RANGE 1448L +#define ERROR_INVALID_SHOWWIN_COMMAND 1449L +#define ERROR_NO_SYSTEM_RESOURCES 1450L +#define ERROR_NONPAGED_SYSTEM_RESOURCES 1451L +#define ERROR_PAGED_SYSTEM_RESOURCES 1452L +#define ERROR_WORKING_SET_QUOTA 1453L +#define ERROR_PAGEFILE_QUOTA 1454L +#define ERROR_COMMITMENT_LIMIT 1455L +#define ERROR_MENU_ITEM_NOT_FOUND 1456L +#define ERROR_EVENTLOG_FILE_CORRUPT 1500L +#define ERROR_EVENTLOG_CANT_START 1501L +#define ERROR_LOG_FILE_FULL 1502L +#define ERROR_EVENTLOG_FILE_CHANGED 1503L +#define RPC_S_INVALID_STRING_BINDING 1700L +#define RPC_S_WRONG_KIND_OF_BINDING 1701L +#define RPC_S_INVALID_BINDING 1702L +#define RPC_S_PROTSEQ_NOT_SUPPORTED 1703L +#define RPC_S_INVALID_RPC_PROTSEQ 1704L +#define RPC_S_INVALID_STRING_UUID 1705L +#define RPC_S_INVALID_ENDPOINT_FORMAT 1706L +#define RPC_S_INVALID_NET_ADDR 1707L +#define RPC_S_NO_ENDPOINT_FOUND 1708L +#define RPC_S_INVALID_TIMEOUT 1709L +#define RPC_S_OBJECT_NOT_FOUND 1710L +#define RPC_S_ALREADY_REGISTERED 1711L +#define RPC_S_TYPE_ALREADY_REGISTERED 1712L +#define RPC_S_ALREADY_LISTENING 1713L +#define RPC_S_NO_PROTSEQS_REGISTERED 1714L +#define RPC_S_NOT_LISTENING 1715L +#define RPC_S_UNKNOWN_MGR_TYPE 1716L +#define RPC_S_UNKNOWN_IF 1717L +#define RPC_S_NO_BINDINGS 1718L +#define RPC_S_NO_PROTSEQS 1719L +#define RPC_S_CANT_CREATE_ENDPOINT 1720L +#define RPC_S_OUT_OF_RESOURCES 1721L +#define RPC_S_SERVER_UNAVAILABLE 1722L +#define RPC_S_SERVER_TOO_BUSY 1723L +#define RPC_S_INVALID_NETWORK_OPTIONS 1724L +#define RPC_S_NO_CALL_ACTIVE 1725L +#define RPC_S_CALL_FAILED 1726L +#define RPC_S_CALL_FAILED_DNE 1727L +#define RPC_S_PROTOCOL_ERROR 1728L +#define RPC_S_UNSUPPORTED_TRANS_SYN 1730L +#define RPC_S_UNSUPPORTED_TYPE 1732L +#define RPC_S_INVALID_TAG 1733L +#define RPC_S_INVALID_BOUND 1734L +#define RPC_S_NO_ENTRY_NAME 1735L +#define RPC_S_INVALID_NAME_SYNTAX 1736L +#define RPC_S_UNSUPPORTED_NAME_SYNTAX 1737L +#define RPC_S_UUID_NO_ADDRESS 1739L +#define RPC_S_DUPLICATE_ENDPOINT 1740L +#define RPC_S_UNKNOWN_AUTHN_TYPE 1741L +#define RPC_S_MAX_CALLS_TOO_SMALL 1742L +#define RPC_S_STRING_TOO_LONG 1743L +#define RPC_S_PROTSEQ_NOT_FOUND 1744L +#define RPC_S_PROCNUM_OUT_OF_RANGE 1745L +#define RPC_S_BINDING_HAS_NO_AUTH 1746L +#define RPC_S_UNKNOWN_AUTHN_SERVICE 1747L +#define RPC_S_UNKNOWN_AUTHN_LEVEL 1748L +#define RPC_S_INVALID_AUTH_IDENTITY 1749L +#define RPC_S_UNKNOWN_AUTHZ_SERVICE 1750L +#define EPT_S_INVALID_ENTRY 1751L +#define EPT_S_CANT_PERFORM_OP 1752L +#define EPT_S_NOT_REGISTERED 1753L +#define RPC_S_NOTHING_TO_EXPORT 1754L +#define RPC_S_INCOMPLETE_NAME 1755L +#define RPC_S_INVALID_VERS_OPTION 1756L +#define RPC_S_NO_MORE_MEMBERS 1757L +#define RPC_S_NOT_ALL_OBJS_UNEXPORTED 1758L +#define RPC_S_INTERFACE_NOT_FOUND 1759L +#define RPC_S_ENTRY_ALREADY_EXISTS 1760L +#define RPC_S_ENTRY_NOT_FOUND 1761L +#define RPC_S_NAME_SERVICE_UNAVAILABLE 1762L +#define RPC_S_INVALID_NAF_ID 1763L +#define RPC_S_CANNOT_SUPPORT 1764L +#define RPC_S_NO_CONTEXT_AVAILABLE 1765L +#define RPC_S_INTERNAL_ERROR 1766L +#define RPC_S_ZERO_DIVIDE 1767L +#define RPC_S_ADDRESS_ERROR 1768L +#define RPC_S_FP_DIV_ZERO 1769L +#define RPC_S_FP_UNDERFLOW 1770L +#define RPC_S_FP_OVERFLOW 1771L +#define RPC_X_NO_MORE_ENTRIES 1772L +#define RPC_X_SS_CHAR_TRANS_OPEN_FAIL 1773L +#define RPC_X_SS_CHAR_TRANS_SHORT_FILE 1774L +#define RPC_X_SS_IN_NULL_CONTEXT 1775L +#define RPC_X_SS_CONTEXT_DAMAGED 1777L +#define RPC_X_SS_HANDLES_MISMATCH 1778L +#define RPC_X_SS_CANNOT_GET_CALL_HANDLE 1779L +#define RPC_X_NULL_REF_POINTER 1780L +#define RPC_X_ENUM_VALUE_OUT_OF_RANGE 1781L +#define RPC_X_BYTE_COUNT_TOO_SMALL 1782L +#define RPC_X_BAD_STUB_DATA 1783L +#define ERROR_INVALID_USER_BUFFER 1784L +#define ERROR_UNRECOGNIZED_MEDIA 1785L +#define ERROR_NO_TRUST_LSA_SECRET 1786L +#define ERROR_NO_TRUST_SAM_ACCOUNT 1787L +#define ERROR_TRUSTED_DOMAIN_FAILURE 1788L +#define ERROR_TRUSTED_RELATIONSHIP_FAILURE 1789L +#define ERROR_TRUST_FAILURE 1790L +#define RPC_S_CALL_IN_PROGRESS 1791L +#define ERROR_NETLOGON_NOT_STARTED 1792L +#define ERROR_ACCOUNT_EXPIRED 1793L +#define ERROR_REDIRECTOR_HAS_OPEN_HANDLES 1794L +#define ERROR_PRINTER_DRIVER_ALREADY_INSTALLED 1795L +#define ERROR_UNKNOWN_PORT 1796L +#define ERROR_UNKNOWN_PRINTER_DRIVER 1797L +#define ERROR_UNKNOWN_PRINTPROCESSOR 1798L +#define ERROR_INVALID_SEPARATOR_FILE 1799L +#define ERROR_INVALID_PRIORITY 1800L +#define ERROR_INVALID_PRINTER_NAME 1801L +#define ERROR_PRINTER_ALREADY_EXISTS 1802L +#define ERROR_INVALID_PRINTER_COMMAND 1803L +#define ERROR_INVALID_DATATYPE 1804L +#define ERROR_INVALID_ENVIRONMENT 1805L +#define RPC_S_NO_MORE_BINDINGS 1806L +#define ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT 1807L +#define ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT 1808L +#define ERROR_NOLOGON_SERVER_TRUST_ACCOUNT 1809L +#define ERROR_DOMAIN_TRUST_INCONSISTENT 1810L +#define ERROR_SERVER_HAS_OPEN_HANDLES 1811L +#define ERROR_RESOURCE_DATA_NOT_FOUND 1812L +#define ERROR_RESOURCE_TYPE_NOT_FOUND 1813L +#define ERROR_RESOURCE_NAME_NOT_FOUND 1814L +#define ERROR_RESOURCE_LANG_NOT_FOUND 1815L +#define ERROR_NOT_ENOUGH_QUOTA 1816L +#define RPC_S_NO_INTERFACES 1817L +#define RPC_S_CALL_CANCELLED 1818L +#define RPC_S_BINDING_INCOMPLETE 1819L +#define RPC_S_COMM_FAILURE 1820L +#define RPC_S_UNSUPPORTED_AUTHN_LEVEL 1821L +#define RPC_S_NO_PRINC_NAME 1822L +#define RPC_S_NOT_RPC_ERROR 1823L +#define RPC_S_UUID_LOCAL_ONLY 1824L +#define RPC_S_SEC_PKG_ERROR 1825L +#define RPC_S_NOT_CANCELLED 1826L +#define RPC_X_INVALID_ES_ACTION 1827L +#define RPC_X_WRONG_ES_VERSION 1828L +#define RPC_X_WRONG_STUB_VERSION 1829L +#define RPC_S_GROUP_MEMBER_NOT_FOUND 1898L +#define EPT_S_CANT_CREATE 1899L +#define RPC_S_INVALID_OBJECT 1900L +#define ERROR_INVALID_TIME 1901L +#define ERROR_INVALID_FORM_NAME 1902L +#define ERROR_INVALID_FORM_SIZE 1903L +#define ERROR_ALREADY_WAITING 1904L +#define ERROR_PRINTER_DELETED 1905L +#define ERROR_INVALID_PRINTER_STATE 1906L +#define ERROR_PASSWORD_MUST_CHANGE 1907L +#define ERROR_DOMAIN_CONTROLLER_NOT_FOUND 1908L +#define ERROR_ACCOUNT_LOCKED_OUT 1909L +#define ERROR_NO_BROWSER_SERVERS_FOUND 6118L +#define ERROR_INVALID_PIXEL_FORMAT 2000L +#define ERROR_BAD_DRIVER 2001L +#define ERROR_INVALID_WINDOW_STYLE 2002L +#define ERROR_METAFILE_NOT_SUPPORTED 2003L +#define ERROR_TRANSFORM_NOT_SUPPORTED 2004L +#define ERROR_CLIPPING_NOT_SUPPORTED 2005L +#define ERROR_UNKNOWN_PRINT_MONITOR 3000L +#define ERROR_PRINTER_DRIVER_IN_USE 3001L +#define ERROR_SPOOL_FILE_NOT_FOUND 3002L +#define ERROR_SPL_NO_STARTDOC 3003L +#define ERROR_SPL_NO_ADDJOB 3004L +#define ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED 3005L +#define ERROR_PRINT_MONITOR_ALREADY_INSTALLED 3006L +#define ERROR_WINS_INTERNAL 4000L +#define ERROR_CAN_NOT_DEL_LOCAL_WINS 4001L +#define ERROR_STATIC_INIT 4002L +#define ERROR_INC_BACKUP 4003L +#define ERROR_FULL_BACKUP 4004L +#define ERROR_REC_NON_EXISTENT 4005L +#define ERROR_RPL_NOT_ALLOWED 4006L +#define SEVERITY_SUCCESS 0 +#define SEVERITY_ERROR 1 +#define FACILITY_WINDOWS 8 +#define FACILITY_STORAGE 3 +#define FACILITY_RPC 1 +#define FACILITY_WIN32 7 +#define FACILITY_CONTROL 10 +#define FACILITY_NULL 0 +#define FACILITY_ITF 4 +#define FACILITY_DISPATCH 2 +#define SUCCEEDED(Status) ((HRESULT)(Status) >= 0) +#define FAILED(Status) ((HRESULT)(Status)<0) +#define IS_ERROR(Status) ((unsigned long)(Status) >> 31 == SEVERITY_ERROR) +#define HRESULT_CODE(r) ((r)&0xFFFF) +#define SCODE_CODE(c) ((c)&0xFFFF) +#define HRESULT_FACILITY(r) (((r)>>16)&0x1fff) +#define SCODE_FACILITY(c) (((c)>>16)&0x1fff) +#define HRESULT_SEVERITY(r) (((r)>>31)&0x1) +#define SCODE_SEVERITY(c) (((c)>>31)&0x1) +#define MAKE_HRESULT(s,f,c) ((HRESULT)(((unsigned long)(s)<<31)|((unsigned long)(f)<<16)|((unsigned long)(c)))) +#define MAKE_SCODE(s,f,c) ((SCODE)(((unsigned long)(s)<<31)|((unsigned long)(f)<<16)|((unsigned long)(c))) ) +#define FACILITY_NT_BIT 0x10000000 +#define HRESULT_FROM_WIN32(x) (x?((HRESULT)(((x)&0x0000FFFF)|(FACILITY_WIN32<<16)|0x80000000)):0) +#define HRESULT_FROM_NT(x) ((HRESULT)((x)|FACILITY_NT_BIT)) +#define GetScode(hr) ((SCODE) (hr)) +#define ResultFromScode(sc) ((HRESULT) (sc)) +#define PropagateResult(hrPrevious, scBase) ((HRESULT) scBase) +#define NOERROR S_OK +#define E_UNEXPECTED 0x8000FFFFL +#define E_NOTIMPL 0x80004001L +#define E_OUTOFMEMORY 0x8007000EL +#define E_INVALIDARG 0x80070057L +#define E_NOINTERFACE 0x80004002L +#define E_POINTER 0x80004003L +#define E_HANDLE 0x80070006L +#define E_ABORT 0x80004004L +#define E_FAIL 0x80004005L +#define E_ACCESSDENIED 0x80070005L +#define CO_E_INIT_TLS 0x80004006L +#define CO_E_INIT_SHARED_ALLOCATOR 0x80004007L +#define CO_E_INIT_MEMORY_ALLOCATOR 0x80004008L +#define CO_E_INIT_CLASS_CACHE 0x80004009L +#define CO_E_INIT_RPC_CHANNEL 0x8000400AL +#define CO_E_INIT_TLS_SET_CHANNEL_CONTROL 0x8000400BL +#define CO_E_INIT_TLS_CHANNEL_CONTROL 0x8000400CL +#define CO_E_INIT_UNACCEPTED_USER_ALLOCATOR 0x8000400DL +#define CO_E_INIT_SCM_MUTEX_EXISTS 0x8000400EL +#define CO_E_INIT_SCM_FILE_MAPPING_EXISTS 0x8000400FL +#define CO_E_INIT_SCM_MAP_VIEW_OF_FILE 0x80004010L +#define CO_E_INIT_SCM_EXEC_FAILURE 0x80004011L +#define CO_E_INIT_ONLY_SINGLE_THREADED 0x80004012L +#define S_OK (0x00000000L) +#define S_FALSE (0x00000001L) +#define OLE_E_FIRST 0x80040000L +#define OLE_E_LAST 0x800400FFL +#define OLE_S_FIRST 0x00040000L +#define OLE_S_LAST 0x000400FFL +#define OLE_E_OLEVERB 0x80040000L +#define OLE_E_ADVF 0x80040001L +#define OLE_E_ENUM_NOMORE 0x80040002L +#define OLE_E_ADVISENOTSUPPORTED 0x80040003L +#define OLE_E_NOCONNECTION 0x80040004L +#define OLE_E_NOTRUNNING 0x80040005L +#define OLE_E_NOCACHE 0x80040006L +#define OLE_E_BLANK 0x80040007L +#define OLE_E_CLASSDIFF 0x80040008L +#define OLE_E_CANT_GETMONIKER 0x80040009L +#define OLE_E_CANT_BINDTOSOURCE 0x8004000AL +#define OLE_E_STATIC 0x8004000BL +#define OLE_E_PROMPTSAVECANCELLED 0x8004000CL +#define OLE_E_INVALIDRECT 0x8004000DL +#define OLE_E_WRONGCOMPOBJ 0x8004000EL +#define OLE_E_INVALIDHWND 0x8004000FL +#define OLE_E_NOT_INPLACEACTIVE 0x80040010L +#define OLE_E_CANTCONVERT 0x80040011L +#define OLE_E_NOSTORAGE 0x80040012L +#define DV_E_FORMATETC 0x80040064L +#define DV_E_DVTARGETDEVICE 0x80040065L +#define DV_E_STGMEDIUM 0x80040066L +#define DV_E_STATDATA 0x80040067L +#define DV_E_LINDEX 0x80040068L +#define DV_E_TYMED 0x80040069L +#define DV_E_CLIPFORMAT 0x8004006AL +#define DV_E_DVASPECT 0x8004006BL +#define DV_E_DVTARGETDEVICE_SIZE 0x8004006CL +#define DV_E_NOIVIEWOBJECT 0x8004006DL +#define DRAGDROP_E_FIRST 0x80040100L +#define DRAGDROP_E_LAST 0x8004010FL +#define DRAGDROP_S_FIRST 0x00040100L +#define DRAGDROP_S_LAST 0x0004010FL +#define DRAGDROP_E_NOTREGISTERED 0x80040100L +#define DRAGDROP_E_ALREADYREGISTERED 0x80040101L +#define DRAGDROP_E_INVALIDHWND 0x80040102L +#define CLASSFACTORY_E_FIRST 0x80040110L +#define CLASSFACTORY_E_LAST 0x8004011FL +#define CLASSFACTORY_S_FIRST 0x00040110L +#define CLASSFACTORY_S_LAST 0x0004011FL +#define CLASS_E_NOAGGREGATION 0x80040110L +#define CLASS_E_CLASSNOTAVAILABLE 0x80040111L +#define MARSHAL_E_FIRST 0x80040120L +#define MARSHAL_E_LAST 0x8004012FL +#define MARSHAL_S_FIRST 0x00040120L +#define MARSHAL_S_LAST 0x0004012FL +#define DATA_E_FIRST 0x80040130L +#define DATA_E_LAST 0x8004013FL +#define DATA_S_FIRST 0x00040130L +#define DATA_S_LAST 0x0004013FL +#define VIEW_E_FIRST 0x80040140L +#define VIEW_E_LAST 0x8004014FL +#define VIEW_S_FIRST 0x00040140L +#define VIEW_S_LAST 0x0004014FL +#define VIEW_E_DRAW 0x80040140L +#define REGDB_E_FIRST 0x80040150L +#define REGDB_E_LAST 0x8004015FL +#define REGDB_S_FIRST 0x00040150L +#define REGDB_S_LAST 0x0004015FL +#define REGDB_E_READREGDB 0x80040150L +#define REGDB_E_WRITEREGDB 0x80040151L +#define REGDB_E_KEYMISSING 0x80040152L +#define REGDB_E_INVALIDVALUE 0x80040153L +#define REGDB_E_CLASSNOTREG 0x80040154L +#define REGDB_E_IIDNOTREG 0x80040155L +#define CACHE_E_FIRST 0x80040170L +#define CACHE_E_LAST 0x8004017FL +#define CACHE_S_FIRST 0x00040170L +#define CACHE_S_LAST 0x0004017FL +#define CACHE_E_NOCACHE_UPDATED 0x80040170L +#define OLEOBJ_E_FIRST 0x80040180L +#define OLEOBJ_E_LAST 0x8004018FL +#define OLEOBJ_S_FIRST 0x00040180L +#define OLEOBJ_S_LAST 0x0004018FL +#define OLEOBJ_E_NOVERBS 0x80040180L +#define OLEOBJ_E_INVALIDVERB 0x80040181L +#define CLIENTSITE_E_FIRST 0x80040190L +#define CLIENTSITE_E_LAST 0x8004019FL +#define CLIENTSITE_S_FIRST 0x00040190L +#define CLIENTSITE_S_LAST 0x0004019FL +#define INPLACE_E_NOTUNDOABLE 0x800401A0L +#define INPLACE_E_NOTOOLSPACE 0x800401A1L +#define INPLACE_E_FIRST 0x800401A0L +#define INPLACE_E_LAST 0x800401AFL +#define INPLACE_S_FIRST 0x000401A0L +#define INPLACE_S_LAST 0x000401AFL +#define ENUM_E_FIRST 0x800401B0L +#define ENUM_E_LAST 0x800401BFL +#define ENUM_S_FIRST 0x000401B0L +#define ENUM_S_LAST 0x000401BFL +#define CONVERT10_E_FIRST 0x800401C0L +#define CONVERT10_E_LAST 0x800401CFL +#define CONVERT10_S_FIRST 0x000401C0L +#define CONVERT10_S_LAST 0x000401CFL +#define CONVERT10_E_OLESTREAM_GET 0x800401C0L +#define CONVERT10_E_OLESTREAM_PUT 0x800401C1L +#define CONVERT10_E_OLESTREAM_FMT 0x800401C2L +#define CONVERT10_E_OLESTREAM_BITMAP_TO_DIB 0x800401C3L +#define CONVERT10_E_STG_FMT 0x800401C4L +#define CONVERT10_E_STG_NO_STD_STREAM 0x800401C5L +#define CONVERT10_E_STG_DIB_TO_BITMAP 0x800401C6L +#define CLIPBRD_E_FIRST 0x800401D0L +#define CLIPBRD_E_LAST 0x800401DFL +#define CLIPBRD_S_FIRST 0x000401D0L +#define CLIPBRD_S_LAST 0x000401DFL +#define CLIPBRD_E_CANT_OPEN 0x800401D0L +#define CLIPBRD_E_CANT_EMPTY 0x800401D1L +#define CLIPBRD_E_CANT_SET 0x800401D2L +#define CLIPBRD_E_BAD_DATA 0x800401D3L +#define CLIPBRD_E_CANT_CLOSE 0x800401D4L +#define MK_E_FIRST 0x800401E0L +#define MK_E_LAST 0x800401EFL +#define MK_S_FIRST 0x000401E0L +#define MK_S_LAST 0x000401EFL +#define MK_E_CONNECTMANUALLY 0x800401E0L +#define MK_E_EXCEEDEDDEADLINE 0x800401E1L +#define MK_E_NEEDGENERIC 0x800401E2L +#define MK_E_UNAVAILABLE 0x800401E3L +#define MK_E_SYNTAX 0x800401E4L +#define MK_E_NOOBJECT 0x800401E5L +#define MK_E_INVALIDEXTENSION 0x800401E6L +#define MK_E_INTERMEDIATEINTERFACENOTSUPPORTED 0x800401E7L +#define MK_E_NOTBINDABLE 0x800401E8L +#define MK_E_NOTBOUND 0x800401E9L +#define MK_E_CANTOPENFILE 0x800401EAL +#define MK_E_MUSTBOTHERUSER 0x800401EBL +#define MK_E_NOINVERSE 0x800401ECL +#define MK_E_NOSTORAGE 0x800401EDL +#define MK_E_NOPREFIX 0x800401EEL +#define MK_E_ENUMERATION_FAILED 0x800401EFL +#define CO_E_FIRST 0x800401F0L +#define CO_E_LAST 0x800401FFL +#define CO_S_FIRST 0x000401F0L +#define CO_S_LAST 0x000401FFL +#define CO_E_NOTINITIALIZED 0x800401F0L +#define CO_E_ALREADYINITIALIZED 0x800401F1L +#define CO_E_CANTDETERMINECLASS 0x800401F2L +#define CO_E_CLASSSTRING 0x800401F3L +#define CO_E_IIDSTRING 0x800401F4L +#define CO_E_APPNOTFOUND 0x800401F5L +#define CO_E_APPSINGLEUSE 0x800401F6L +#define CO_E_ERRORINAPP 0x800401F7L +#define CO_E_DLLNOTFOUND 0x800401F8L +#define CO_E_ERRORINDLL 0x800401F9L +#define CO_E_WRONGOSFORAPP 0x800401FAL +#define CO_E_OBJNOTREG 0x800401FBL +#define CO_E_OBJISREG 0x800401FCL +#define CO_E_OBJNOTCONNECTED 0x800401FDL +#define CO_E_APPDIDNTREG 0x800401FEL +#define CO_E_RELEASED 0x800401FFL +#define OLE_S_USEREG 0x00040000L +#define OLE_S_STATIC 0x00040001L +#define OLE_S_MAC_CLIPFORMAT 0x00040002L +#define DRAGDROP_S_DROP 0x00040100L +#define DRAGDROP_S_CANCEL 0x00040101L +#define DRAGDROP_S_USEDEFAULTCURSORS 0x00040102L +#define DATA_S_SAMEFORMATETC 0x00040130L +#define VIEW_S_ALREADY_FROZEN 0x00040140L +#define CACHE_S_FORMATETC_NOTSUPPORTED 0x00040170L +#define CACHE_S_SAMECACHE 0x00040171L +#define CACHE_S_SOMECACHES_NOTUPDATED 0x00040172L +#define OLEOBJ_S_INVALIDVERB 0x00040180L +#define OLEOBJ_S_CANNOT_DOVERB_NOW 0x00040181L +#define OLEOBJ_S_INVALIDHWND 0x00040182L +#define INPLACE_S_TRUNCATED 0x000401A0L +#define CONVERT10_S_NO_PRESENTATION 0x000401C0L +#define MK_S_REDUCED_TO_SELF 0x000401E2L +#define MK_S_ME 0x000401E4L +#define MK_S_HIM 0x000401E5L +#define MK_S_US 0x000401E6L +#define MK_S_MONIKERALREADYREGISTERED 0x000401E7L +#define CO_E_CLASS_CREATE_FAILED 0x80080001L +#define CO_E_SCM_ERROR 0x80080002L +#define CO_E_SCM_RPC_FAILURE 0x80080003L +#define CO_E_BAD_PATH 0x80080004L +#define CO_E_SERVER_EXEC_FAILURE 0x80080005L +#define CO_E_OBJSRV_RPC_FAILURE 0x80080006L +#define MK_E_NO_NORMALIZED 0x80080007L +#define CO_E_SERVER_STOPPING 0x80080008L +#define MEM_E_INVALID_ROOT 0x80080009L +#define MEM_E_INVALID_LINK 0x80080010L +#define MEM_E_INVALID_SIZE 0x80080011L +#define DISP_E_UNKNOWNINTERFACE 0x80020001L +#define DISP_E_MEMBERNOTFOUND 0x80020003L +#define DISP_E_PARAMNOTFOUND 0x80020004L +#define DISP_E_TYPEMISMATCH 0x80020005L +#define DISP_E_UNKNOWNNAME 0x80020006L +#define DISP_E_NONAMEDARGS 0x80020007L +#define DISP_E_BADVARTYPE 0x80020008L +#define DISP_E_EXCEPTION 0x80020009L +#define DISP_E_OVERFLOW 0x8002000AL +#define DISP_E_BADINDEX 0x8002000BL +#define DISP_E_UNKNOWNLCID 0x8002000CL +#define DISP_E_ARRAYISLOCKED 0x8002000DL +#define DISP_E_BADPARAMCOUNT 0x8002000EL +#define DISP_E_PARAMNOTOPTIONAL 0x8002000FL +#define DISP_E_BADCALLEE 0x80020010L +#define DISP_E_NOTACOLLECTION 0x80020011L +#define TYPE_E_BUFFERTOOSMALL 0x80028016L +#define TYPE_E_INVDATAREAD 0x80028018L +#define TYPE_E_UNSUPFORMAT 0x80028019L +#define TYPE_E_REGISTRYACCESS 0x8002801CL +#define TYPE_E_LIBNOTREGISTERED 0x8002801DL +#define TYPE_E_UNDEFINEDTYPE 0x80028027L +#define TYPE_E_QUALIFIEDNAMEDISALLOWED 0x80028028L +#define TYPE_E_INVALIDSTATE 0x80028029L +#define TYPE_E_WRONGTYPEKIND 0x8002802AL +#define TYPE_E_ELEMENTNOTFOUND 0x8002802BL +#define TYPE_E_AMBIGUOUSNAME 0x8002802CL +#define TYPE_E_NAMECONFLICT 0x8002802DL +#define TYPE_E_UNKNOWNLCID 0x8002802EL +#define TYPE_E_DLLFUNCTIONNOTFOUND 0x8002802FL +#define TYPE_E_BADMODULEKIND 0x800288BDL +#define TYPE_E_SIZETOOBIG 0x800288C5L +#define TYPE_E_DUPLICATEID 0x800288C6L +#define TYPE_E_INVALIDID 0x800288CFL +#define TYPE_E_TYPEMISMATCH 0x80028CA0L +#define TYPE_E_OUTOFBOUNDS 0x80028CA1L +#define TYPE_E_IOERROR 0x80028CA2L +#define TYPE_E_CANTCREATETMPFILE 0x80028CA3L +#define TYPE_E_CANTLOADLIBRARY 0x80029C4AL +#define TYPE_E_INCONSISTENTPROPFUNCS 0x80029C83L +#define TYPE_E_CIRCULARTYPE 0x80029C84L +#define STG_E_INVALIDFUNCTION 0x80030001L +#define STG_E_FILENOTFOUND 0x80030002L +#define STG_E_PATHNOTFOUND 0x80030003L +#define STG_E_TOOMANYOPENFILES 0x80030004L +#define STG_E_ACCESSDENIED 0x80030005L +#define STG_E_INVALIDHANDLE 0x80030006L +#define STG_E_INSUFFICIENTMEMORY 0x80030008L +#define STG_E_INVALIDPOINTER 0x80030009L +#define STG_E_NOMOREFILES 0x80030012L +#define STG_E_DISKISWRITEPROTECTED 0x80030013L +#define STG_E_SEEKERROR 0x80030019L +#define STG_E_WRITEFAULT 0x8003001DL +#define STG_E_READFAULT 0x8003001EL +#define STG_E_SHAREVIOLATION 0x80030020L +#define STG_E_LOCKVIOLATION 0x80030021L +#define STG_E_FILEALREADYEXISTS 0x80030050L +#define STG_E_INVALIDPARAMETER 0x80030057L +#define STG_E_MEDIUMFULL 0x80030070L +#define STG_E_ABNORMALAPIEXIT 0x800300FAL +#define STG_E_INVALIDHEADER 0x800300FBL +#define STG_E_INVALIDNAME 0x800300FCL +#define STG_E_UNKNOWN 0x800300FDL +#define STG_E_UNIMPLEMENTEDFUNCTION 0x800300FEL +#define STG_E_INVALIDFLAG 0x800300FFL +#define STG_E_INUSE 0x80030100L +#define STG_E_NOTCURRENT 0x80030101L +#define STG_E_REVERTED 0x80030102L +#define STG_E_CANTSAVE 0x80030103L +#define STG_E_OLDFORMAT 0x80030104L +#define STG_E_OLDDLL 0x80030105L +#define STG_E_SHAREREQUIRED 0x80030106L +#define STG_E_NOTFILEBASEDSTORAGE 0x80030107L +#define STG_E_EXTANTMARSHALLINGS 0x80030108L +#define STG_S_CONVERTED 0x00030200L +#define RPC_E_CALL_REJECTED 0x80010001L +#define RPC_E_CALL_CANCELED 0x80010002L +#define RPC_E_CANTPOST_INSENDCALL 0x80010003L +#define RPC_E_CANTCALLOUT_INASYNCCALL 0x80010004L +#define RPC_E_CANTCALLOUT_INEXTERNALCALL 0x80010005L +#define RPC_E_CONNECTION_TERMINATED 0x80010006L +#define RPC_E_SERVER_DIED 0x80010007L +#define RPC_E_CLIENT_DIED 0x80010008L +#define RPC_E_INVALID_DATAPACKET 0x80010009L +#define RPC_E_CANTTRANSMIT_CALL 0x8001000AL +#define RPC_E_CLIENT_CANTMARSHAL_DATA 0x8001000BL +#define RPC_E_CLIENT_CANTUNMARSHAL_DATA 0x8001000CL +#define RPC_E_SERVER_CANTMARSHAL_DATA 0x8001000DL +#define RPC_E_SERVER_CANTUNMARSHAL_DATA 0x8001000EL +#define RPC_E_INVALID_DATA 0x8001000FL +#define RPC_E_INVALID_PARAMETER 0x80010010L +#define RPC_E_CANTCALLOUT_AGAIN 0x80010011L +#define RPC_E_SERVER_DIED_DNE 0x80010012L +#define RPC_E_SYS_CALL_FAILED 0x80010100L +#define RPC_E_OUT_OF_RESOURCES 0x80010101L +#define RPC_E_ATTEMPTED_MULTITHREAD 0x80010102L +#define RPC_E_NOT_REGISTERED 0x80010103L +#define RPC_E_FAULT 0x80010104L +#define RPC_E_SERVERFAULT 0x80010105L +#define RPC_E_CHANGED_MODE 0x80010106L +#define RPC_E_INVALIDMETHOD 0x80010107L +#define RPC_E_DISCONNECTED 0x80010108L +#define RPC_E_RETRY 0x80010109L +#define RPC_E_SERVERCALL_RETRYLATER 0x8001010AL +#define RPC_E_SERVERCALL_REJECTED 0x8001010BL +#define RPC_E_INVALID_CALLDATA 0x8001010CL +#define RPC_E_CANTCALLOUT_ININPUTSYNCCALL 0x8001010DL +#define RPC_E_WRONG_THREAD 0x8001010EL +#define RPC_E_THREAD_NOT_INIT 0x8001010FL +#define RPC_E_UNEXPECTED 0x8001FFFFL +#endif diff --git a/winsup/w32api/include/wingdi.h b/winsup/w32api/include/wingdi.h new file mode 100644 index 000000000..aeb6cc82a --- /dev/null +++ b/winsup/w32api/include/wingdi.h @@ -0,0 +1,2808 @@ +#ifndef _WINGDI_H +#define _WINGDI_H +#ifdef __cplusplus +extern "C" { +#endif + +#define WINGDIAPI +#define BI_RGB 0 +#define BI_RLE8 1 +#define BI_RLE4 2 +#define BI_BITFIELDS 3 +#define LF_FACESIZE 32 +#define LF_FULLFACESIZE 64 +#define CA_NEGATIVE 1 +#define CA_LOG_FILTER 2 +#define ILLUMINANT_DEVICE_DEFAULT 0 +#define ILLUMINANT_A 1 +#define ILLUMINANT_B 2 +#define ILLUMINANT_C 3 +#define ILLUMINANT_D50 4 +#define ILLUMINANT_D55 5 +#define ILLUMINANT_D65 6 +#define ILLUMINANT_D75 7 +#define ILLUMINANT_F2 8 +#define ILLUMINANT_MAX_INDEX ILLUMINANT_F2 +#define ILLUMINANT_TUNGSTEN ILLUMINANT_A +#define ILLUMINANT_DAYLIGHT ILLUMINANT_C +#define ILLUMINANT_FLUORESCENT ILLUMINANT_F2 +#define ILLUMINANT_NTSC ILLUMINANT_C +#define RGB_GAMMA_MIN 2500 +#define RGB_GAMMA_MAX 65000 +#define REFERENCE_WHITE_MIN 6000 +#define REFERENCE_WHITE_MAX 10000 +#define REFERENCE_BLACK_MIN 0 +#define REFERENCE_BLACK_MAX 4000 +#define COLOR_ADJ_MIN (-100) +#define COLOR_ADJ_MAX 100 +#define CCHDEVICENAME 32 +#define CCHFORMNAME 32 +#define DI_COMPAT 4 +#define DI_DEFAULTSIZE 8 +#define DI_IMAGE 2 +#define DI_MASK 1 +#define DI_NORMAL 3 +#define DI_APPBANDING 1 +#define EMR_HEADER 1 +#define EMR_POLYBEZIER 2 +#define EMR_POLYGON 3 +#define EMR_POLYLINE 4 +#define EMR_POLYBEZIERTO 5 +#define EMR_POLYLINETO 6 +#define EMR_POLYPOLYLINE 7 +#define EMR_POLYPOLYGON 8 +#define EMR_SETWINDOWEXTEX 9 +#define EMR_SETWINDOWORGEX 10 +#define EMR_SETVIEWPORTEXTEX 11 +#define EMR_SETVIEWPORTORGEX 12 +#define EMR_SETBRUSHORGEX 13 +#define EMR_EOF 14 +#define EMR_SETPIXELV 15 +#define EMR_SETMAPPERFLAGS 16 +#define EMR_SETMAPMODE 17 +#define EMR_SETBKMODE 18 +#define EMR_SETPOLYFILLMODE 19 +#define EMR_SETROP2 20 +#define EMR_SETSTRETCHBLTMODE 21 +#define EMR_SETTEXTALIGN 22 +#define EMR_SETCOLORADJUSTMENT 23 +#define EMR_SETTEXTCOLOR 24 +#define EMR_SETBKCOLOR 25 +#define EMR_OFFSETCLIPRGN 26 +#define EMR_MOVETOEX 27 +#define EMR_SETMETARGN 28 +#define EMR_EXCLUDECLIPRECT 29 +#define EMR_INTERSECTCLIPRECT 30 +#define EMR_SCALEVIEWPORTEXTEX 31 +#define EMR_SCALEWINDOWEXTEX 32 +#define EMR_SAVEDC 33 +#define EMR_RESTOREDC 34 +#define EMR_SETWORLDTRANSFORM 35 +#define EMR_MODIFYWORLDTRANSFORM 36 +#define EMR_SELECTOBJECT 37 +#define EMR_CREATEPEN 38 +#define EMR_CREATEBRUSHINDIRECT 39 +#define EMR_DELETEOBJECT 40 +#define EMR_ANGLEARC 41 +#define EMR_ELLIPSE 42 +#define EMR_RECTANGLE 43 +#define EMR_ROUNDRECT 44 +#define EMR_ARC 45 +#define EMR_CHORD 46 +#define EMR_PIE 47 +#define EMR_SELECTPALETTE 48 +#define EMR_CREATEPALETTE 49 +#define EMR_SETPALETTEENTRIES 50 +#define EMR_RESIZEPALETTE 51 +#define EMR_REALIZEPALETTE 52 +#define EMR_EXTFLOODFILL 53 +#define EMR_LINETO 54 +#define EMR_ARCTO 55 +#define EMR_POLYDRAW 56 +#define EMR_SETARCDIRECTION 57 +#define EMR_SETMITERLIMIT 58 +#define EMR_BEGINPATH 59 +#define EMR_ENDPATH 60 +#define EMR_CLOSEFIGURE 61 +#define EMR_FILLPATH 62 +#define EMR_STROKEANDFILLPATH 63 +#define EMR_STROKEPATH 64 +#define EMR_FLATTENPATH 65 +#define EMR_WIDENPATH 66 +#define EMR_SELECTCLIPPATH 67 +#define EMR_ABORTPATH 68 +#define EMR_GDICOMMENT 70 +#define EMR_FILLRGN 71 +#define EMR_FRAMERGN 72 +#define EMR_INVERTRGN 73 +#define EMR_PAINTRGN 74 +#define EMR_EXTSELECTCLIPRGN 75 +#define EMR_BITBLT 76 +#define EMR_STRETCHBLT 77 +#define EMR_MASKBLT 78 +#define EMR_PLGBLT 79 +#define EMR_SETDIBITSTODEVICE 80 +#define EMR_STRETCHDIBITS 81 +#define EMR_EXTCREATEFONTINDIRECTW 82 +#define EMR_EXTTEXTOUTA 83 +#define EMR_EXTTEXTOUTW 84 +#define EMR_POLYBEZIER16 85 +#define EMR_POLYGON16 86 +#define EMR_POLYLINE16 87 +#define EMR_POLYBEZIERTO16 88 +#define EMR_POLYLINETO16 89 +#define EMR_POLYPOLYLINE16 90 +#define EMR_POLYPOLYGON16 91 +#define EMR_POLYDRAW16 92 +#define EMR_CREATEMONOBRUSH 93 +#define EMR_CREATEDIBPATTERNBRUSHPT 94 +#define EMR_EXTCREATEPEN 95 +#define EMR_POLYTEXTOUTA 96 +#define EMR_POLYTEXTOUTW 97 +#define EMR_SETICMMODE 98 +#define EMR_CREATECOLORSPACE 99 +#define EMR_SETCOLORSPACE 100 +#define EMR_DELETECOLORSPACE 101 +#define EMR_GLSRECORD 102 +#define EMR_GLSBOUNDEDRECORD 103 +#define EMR_PIXELFORMAT 104 +#define ENHMETA_SIGNATURE 1179469088 +#define EPS_SIGNATURE 0x46535045 +#define META_SETBKCOLOR 0x201 +#define META_SETBKMODE 0x102 +#define META_SETMAPMODE 0x103 +#define META_SETROP2 0x104 +#define META_SETRELABS 0x105 +#define META_SETPOLYFILLMODE 0x106 +#define META_SETSTRETCHBLTMODE 0x107 +#define META_SETTEXTCHAREXTRA 0x108 +#define META_SETTEXTCOLOR 0x209 +#define META_SETTEXTJUSTIFICATION 0x20A +#define META_SETWINDOWORG 0x20B +#define META_SETWINDOWEXT 0x20C +#define META_SETVIEWPORTORG 0x20D +#define META_SETVIEWPORTEXT 0x20E +#define META_OFFSETWINDOWORG 0x20F +#define META_SCALEWINDOWEXT 0x410 +#define META_OFFSETVIEWPORTORG 0x211 +#define META_SCALEVIEWPORTEXT 0x412 +#define META_LINETO 0x213 +#define META_MOVETO 0x214 +#define META_EXCLUDECLIPRECT 0x415 +#define META_INTERSECTCLIPRECT 0x416 +#define META_ARC 0x817 +#define META_ELLIPSE 0x418 +#define META_FLOODFILL 0x419 +#define META_PIE 0x81A +#define META_RECTANGLE 0x41B +#define META_ROUNDRECT 0x61C +#define META_PATBLT 0x61D +#define META_SAVEDC 0x1E +#define META_SETPIXEL 0x41F +#define META_OFFSETCLIPRGN 0x220 +#define META_TEXTOUT 0x521 +#define META_BITBLT 0x922 +#define META_STRETCHBLT 0xB23 +#define META_POLYGON 0x324 +#define META_POLYLINE 0x325 +#define META_ESCAPE 0x626 +#define META_RESTOREDC 0x127 +#define META_FILLREGION 0x228 +#define META_FRAMEREGION 0x429 +#define META_INVERTREGION 0x12A +#define META_PAINTREGION 0x12B +#define META_SELECTCLIPREGION 0x12C +#define META_SELECTOBJECT 0x12D +#define META_SETTEXTALIGN 0x12E +#define META_CHORD 0x830 +#define META_SETMAPPERFLAGS 0x231 +#define META_EXTTEXTOUT 0xa32 +#define META_SETDIBTODEV 0xd33 +#define META_SELECTPALETTE 0x234 +#define META_REALIZEPALETTE 0x35 +#define META_ANIMATEPALETTE 0x436 +#define META_SETPALENTRIES 0x37 +#define META_POLYPOLYGON 0x538 +#define META_RESIZEPALETTE 0x139 +#define META_DIBBITBLT 0x940 +#define META_DIBSTRETCHBLT 0xb41 +#define META_DIBCREATEPATTERNBRUSH 0x142 +#define META_STRETCHDIB 0xf43 +#define META_EXTFLOODFILL 0x548 +#define META_DELETEOBJECT 0x1f0 +#define META_CREATEPALETTE 0xf7 +#define META_CREATEPATTERNBRUSH 0x1F9 +#define META_CREATEPENINDIRECT 0x2FA +#define META_CREATEFONTINDIRECT 0x2FB +#define META_CREATEBRUSHINDIRECT 0x2FC +#define META_CREATEREGION 0x6FF +#define PT_MOVETO 6 +#define PT_LINETO 2 +#define PT_BEZIERTO 4 +#define PT_CLOSEFIGURE 1 +#define ELF_VENDOR_SIZE 4 +#define ELF_VERSION 0 +#define ELF_CULTURE_LATIN 0 +#define PFD_TYPE_RGBA 0 +#define PFD_TYPE_COLORINDEX 1 +#define PFD_MAIN_PLANE 0 +#define PFD_OVERLAY_PLANE 1 +#define PFD_UNDERLAY_PLANE (-1) +#define PFD_DOUBLEBUFFER 1 +#define PFD_STEREO 2 +#define PFD_DRAW_TO_WINDOW 4 +#define PFD_DRAW_TO_BITMAP 8 +#define PFD_SUPPORT_GDI 16 +#define PFD_SUPPORT_OPENGL 32 +#define PFD_GENERIC_FORMAT 64 +#define PFD_NEED_PALETTE 128 +#define PFD_NEED_SYSTEM_PALETTE 0x00000100 +#define PFD_SWAP_EXCHANGE 0x00000200 +#define PFD_SWAP_COPY 0x00000400 +#define PFD_DOUBLEBUFFER_DONTCARE 0x40000000 +#define PFD_STEREO_DONTCARE 0x80000000 +#define SP_ERROR (-1) +#define SP_OUTOFDISK (-4) +#define SP_OUTOFMEMORY (-5) +#define SP_USERABORT (-3) +#define SP_APPABORT (-2) +#define BLACKNESS 0x42 +#define NOTSRCERASE 0x1100A6 +#define NOTSRCCOPY 0x330008 +#define SRCERASE 0x440328 +#define DSTINVERT 0x550009 +#define PATINVERT 0x5A0049 +#define SRCINVERT 0x660046 +#define SRCAND 0x8800C6 +#define MERGEPAINT 0xBB0226 +#define MERGECOPY 0xC000CA +#define SRCCOPY 0xCC0020 +#define SRCPAINT 0xEE0086 +#define PATCOPY 0xF00021 +#define PATPAINT 0xFB0A09 +#define WHITENESS 0xFF0062 +#define R2_BLACK 1 +#define R2_COPYPEN 13 +#define R2_MASKNOTPEN 3 +#define R2_MASKPEN 9 +#define R2_MASKPENNOT 5 +#define R2_MERGENOTPEN 12 +#define R2_MERGEPEN 15 +#define R2_MERGEPENNOT 14 +#define R2_NOP 11 +#define R2_NOT 6 +#define R2_NOTCOPYPEN 4 +#define R2_NOTMASKPEN 8 +#define R2_NOTMERGEPEN 2 +#define R2_NOTXORPEN 10 +#define R2_WHITE 16 +#define R2_XORPEN 7 +#define CM_OUT_OF_GAMUT 255 +#define CM_IN_GAMUT 0 +#define RGN_AND 1 +#define RGN_COPY 5 +#define RGN_DIFF 4 +#define RGN_OR 2 +#define RGN_XOR 3 +#define NULLREGION 1 +#define SIMPLEREGION 2 +#define COMPLEXREGION 3 +#define ERROR 0 +#define CBM_INIT 4 +#define DIB_PAL_COLORS 1 +#define DIB_RGB_COLORS 0 +#define FW_DONTCARE 0 +#define FW_THIN 100 +#define FW_EXTRALIGHT 200 +#define FW_ULTRALIGHT FW_EXTRALIGHT +#define FW_LIGHT 300 +#define FW_NORMAL 400 +#define FW_REGULAR 400 +#define FW_MEDIUM 500 +#define FW_SEMIBOLD 600 +#define FW_DEMIBOLD FW_SEMIBOLD +#define FW_BOLD 700 +#define FW_EXTRABOLD 800 +#define FW_ULTRABOLD FW_EXTRABOLD +#define FW_HEAVY 900 +#define FW_BLACK FW_HEAVY +#define ANSI_CHARSET 0 +#define DEFAULT_CHARSET 1 +#define SYMBOL_CHARSET 2 +#define SHIFTJIS_CHARSET 128 +#define HANGEUL_CHARSET 129 +#define GB2312_CHARSET 134 +#define CHINESEBIG5_CHARSET 136 +#define GREEK_CHARSET 161 +#define TURKISH_CHARSET 162 +#define HEBREW_CHARSET 177 +#define ARABIC_CHARSET 178 +#define BALTIC_CHARSET 186 +#define RUSSIAN_CHARSET 204 +#define THAI_CHARSET 222 +#define EASTEUROPE_CHARSET 238 +#define OEM_CHARSET 255 +#define JOHAB_CHARSET 130 +#define VIETNAMESE_CHARSET 163 +#define MAC_CHARSET 77 +#define BALTIC_CHARSET 186 +#define JOHAB_CHARSET 130 +#define VIETNAMESE_CHARSET 163 +#define OUT_DEFAULT_PRECIS 0 +#define OUT_STRING_PRECIS 1 +#define OUT_CHARACTER_PRECIS 2 +#define OUT_STROKE_PRECIS 3 +#define OUT_TT_PRECIS 4 +#define OUT_DEVICE_PRECIS 5 +#define OUT_RASTER_PRECIS 6 +#define OUT_TT_ONLY_PRECIS 7 +#define OUT_OUTLINE_PRECIS 8 +#define CLIP_DEFAULT_PRECIS 0 +#define CLIP_CHARACTER_PRECIS 1 +#define CLIP_STROKE_PRECIS 2 +#define CLIP_MASK 15 +#define CLIP_LH_ANGLES 16 +#define CLIP_TT_ALWAYS 32 +#define CLIP_EMBEDDED 128 +#define DEFAULT_QUALITY 0 +#define DRAFT_QUALITY 1 +#define PROOF_QUALITY 2 +#define NONANTIALIASED_QUALITY 3 +#define ANTIALIASED_QUALITY 4 +#define DEFAULT_PITCH 0 +#define FIXED_PITCH 1 +#define VARIABLE_PITCH 2 +#define MONO_FONT 8 +#define FF_DECORATIVE 80 +#define FF_DONTCARE 0 +#define FF_MODERN 48 +#define FF_ROMAN 16 +#define FF_SCRIPT 64 +#define FF_SWISS 32 +#define PANOSE_COUNT 10 +#define PAN_FAMILYTYPE_INDEX 0 +#define PAN_SERIFSTYLE_INDEX 1 +#define PAN_WEIGHT_INDEX 2 +#define PAN_PROPORTION_INDEX 3 +#define PAN_CONTRAST_INDEX 4 +#define PAN_STROKEVARIATION_INDEX 5 +#define PAN_ARMSTYLE_INDEX 6 +#define PAN_LETTERFORM_INDEX 7 +#define PAN_MIDLINE_INDEX 8 +#define PAN_XHEIGHT_INDEX 9 +#define PAN_CULTURE_LATIN 0 +#define PAN_ANY 0 +#define PAN_NO_FIT 1 +#define PAN_FAMILY_TEXT_DISPLAY 2 +#define PAN_FAMILY_SCRIPT 3 +#define PAN_FAMILY_DECORATIVE 4 +#define PAN_FAMILY_PICTORIAL 5 +#define PAN_SERIF_COVE 2 +#define PAN_SERIF_OBTUSE_COVE 3 +#define PAN_SERIF_SQUARE_COVE 4 +#define PAN_SERIF_OBTUSE_SQUARE_COVE 5 +#define PAN_SERIF_SQUARE 6 +#define PAN_SERIF_THIN 7 +#define PAN_SERIF_BONE 8 +#define PAN_SERIF_EXAGGERATED 9 +#define PAN_SERIF_TRIANGLE 10 +#define PAN_SERIF_NORMAL_SANS 11 +#define PAN_SERIF_OBTUSE_SANS 12 +#define PAN_SERIF_PERP_SANS 13 +#define PAN_SERIF_FLARED 14 +#define PAN_SERIF_ROUNDED 15 +#define PAN_WEIGHT_VERY_LIGHT 2 +#define PAN_WEIGHT_LIGHT 3 +#define PAN_WEIGHT_THIN 4 +#define PAN_WEIGHT_BOOK 5 +#define PAN_WEIGHT_MEDIUM 6 +#define PAN_WEIGHT_DEMI 7 +#define PAN_WEIGHT_BOLD 8 +#define PAN_WEIGHT_HEAVY 9 +#define PAN_WEIGHT_BLACK 10 +#define PAN_WEIGHT_NORD 11 +#define PAN_PROP_OLD_STYLE 2 +#define PAN_PROP_MODERN 3 +#define PAN_PROP_EVEN_WIDTH 4 +#define PAN_PROP_EXPANDED 5 +#define PAN_PROP_CONDENSED 6 +#define PAN_PROP_VERY_EXPANDED 7 +#define PAN_PROP_VERY_CONDENSED 8 +#define PAN_PROP_MONOSPACED 9 +#define PAN_CONTRAST_NONE 2 +#define PAN_CONTRAST_VERY_LOW 3 +#define PAN_CONTRAST_LOW 4 +#define PAN_CONTRAST_MEDIUM_LOW 5 +#define PAN_CONTRAST_MEDIUM 6 +#define PAN_CONTRAST_MEDIUM_HIGH 7 +#define PAN_CONTRAST_HIGH 8 +#define PAN_CONTRAST_VERY_HIGH 9 +#define PAN_STROKE_GRADUAL_DIAG 2 +#define PAN_STROKE_GRADUAL_TRAN 3 +#define PAN_STROKE_GRADUAL_VERT 4 +#define PAN_STROKE_GRADUAL_HORZ 5 +#define PAN_STROKE_RAPID_VERT 6 +#define PAN_STROKE_RAPID_HORZ 7 +#define PAN_STROKE_INSTANT_VERT 8 +#define PAN_STRAIGHT_ARMS_HORZ 2 +#define PAN_STRAIGHT_ARMS_WEDGE 3 +#define PAN_STRAIGHT_ARMS_VERT 4 +#define PAN_STRAIGHT_ARMS_SINGLE_SERIF 5 +#define PAN_STRAIGHT_ARMS_DOUBLE_SERIF 6 +#define PAN_BENT_ARMS_HORZ 7 +#define PAN_BENT_ARMS_WEDGE 8 +#define PAN_BENT_ARMS_VERT 9 +#define PAN_BENT_ARMS_SINGLE_SERIF 10 +#define PAN_BENT_ARMS_DOUBLE_SERIF 11 +#define PAN_LETT_NORMAL_CONTACT 2 +#define PAN_LETT_NORMAL_WEIGHTED 3 +#define PAN_LETT_NORMAL_BOXED 4 +#define PAN_LETT_NORMAL_FLATTENED 5 +#define PAN_LETT_NORMAL_ROUNDED 6 +#define PAN_LETT_NORMAL_OFF_CENTER 7 +#define PAN_LETT_NORMAL_SQUARE 8 +#define PAN_LETT_OBLIQUE_CONTACT 9 +#define PAN_LETT_OBLIQUE_WEIGHTED 10 +#define PAN_LETT_OBLIQUE_BOXED 11 +#define PAN_LETT_OBLIQUE_FLATTENED 12 +#define PAN_LETT_OBLIQUE_ROUNDED 13 +#define PAN_LETT_OBLIQUE_OFF_CENTER 14 +#define PAN_LETT_OBLIQUE_SQUARE 15 +#define PAN_MIDLINE_STANDARD_TRIMMED 2 +#define PAN_MIDLINE_STANDARD_POINTED 3 +#define PAN_MIDLINE_STANDARD_SERIFED 4 +#define PAN_MIDLINE_HIGH_TRIMMED 5 +#define PAN_MIDLINE_HIGH_POINTED 6 +#define PAN_MIDLINE_HIGH_SERIFED 7 +#define PAN_MIDLINE_CONSTANT_TRIMMED 8 +#define PAN_MIDLINE_CONSTANT_POINTED 9 +#define PAN_MIDLINE_CONSTANT_SERIFED 10 +#define PAN_MIDLINE_LOW_TRIMMED 11 +#define PAN_MIDLINE_LOW_POINTED 12 +#define PAN_MIDLINE_LOW_SERIFED 13 +#define PAN_XHEIGHT_CONSTANT_SMALL 2 +#define PAN_XHEIGHT_CONSTANT_STD 3 +#define PAN_XHEIGHT_CONSTANT_LARGE 4 +#define PAN_XHEIGHT_DUCKING_SMALL 5 +#define PAN_XHEIGHT_DUCKING_STD 6 +#define PAN_XHEIGHT_DUCKING_LARGE 7 +#define FS_LATIN1 1 +#define FS_LATIN2 2 +#define FS_CYRILLIC 4 +#define FS_GREEK 8 +#define FS_TURKISH 16 +#define FS_HEBREW 32 +#define FS_ARABIC 64 +#define FS_BALTIC 128 +#define FS_THAI 0x10000 +#define FS_JISJAPAN 0x20000 +#define FS_CHINESESIMP 0x40000 +#define FS_WANSUNG 0x80000 +#define FS_CHINESETRAD 0x100000 +#define FS_JOHAB 0x200000 +#define FS_SYMBOL 0x80000000 +#define HS_BDIAGONAL 3 +#define HS_CROSS 4 +#define HS_DIAGCROSS 5 +#define HS_FDIAGONAL 2 +#define HS_HORIZONTAL 0 +#define HS_VERTICAL 1 +#define PS_GEOMETRIC 65536 +#define PS_COSMETIC 0 +#define PS_ALTERNATE 8 +#define PS_SOLID 0 +#define PS_DASH 1 +#define PS_DOT 2 +#define PS_DASHDOT 3 +#define PS_DASHDOTDOT 4 +#define PS_NULL 5 +#define PS_USERSTYLE 7 +#define PS_INSIDEFRAME 6 +#define PS_ENDCAP_ROUND 0 +#define PS_ENDCAP_SQUARE 256 +#define PS_ENDCAP_FLAT 512 +#define PS_JOIN_BEVEL 4096 +#define PS_JOIN_MITER 8192 +#define PS_JOIN_ROUND 0 +#define PS_STYLE_MASK 15 +#define PS_ENDCAP_MASK 3840 +#define PS_TYPE_MASK 983040 +#define ALTERNATE 1 +#define WINDING 2 +#define DC_BINNAMES 12 +#define DC_BINS 6 +#define DC_COPIES 18 +#define DC_DRIVER 11 +#define DC_DATATYPE_PRODUCED 21 +#define DC_DUPLEX 7 +#define DC_EMF_COMPLIANT 20 +#define DC_ENUMRESOLUTIONS 13 +#define DC_EXTRA 9 +#define DC_FIELDS 1 +#define DC_FILEDEPENDENCIES 14 +#define DC_MAXEXTENT 5 +#define DC_MINEXTENT 4 +#define DC_ORIENTATION 17 +#define DC_PAPERNAMES 16 +#define DC_PAPERS 2 +#define DC_PAPERSIZE 3 +#define DC_SIZE 8 +#define DC_TRUETYPE 15 +#define DCTT_BITMAP 1 +#define DCTT_DOWNLOAD 2 +#define DCTT_SUBDEV 4 +#define DCTT_DOWNLOAD_OUTLINE 8 +#define DC_VERSION 10 +#define DC_BINADJUST 19 +#define DC_EMF_COMPLIANT 20 +#define DC_DATATYPE_PRODUCED 21 +#define DC_MANUFACTURER 23 +#define DC_MODEL 24 +#define DCBA_FACEUPNONE 0 +#define DCBA_FACEUPCENTER 1 +#define DCBA_FACEUPLEFT 2 +#define DCBA_FACEUPRIGHT 3 +#define DCBA_FACEDOWNNONE 256 +#define DCBA_FACEDOWNCENTER 257 +#define DCBA_FACEDOWNLEFT 258 +#define DCBA_FACEDOWNRIGHT 259 +#define FLOODFILLBORDER 0 +#define FLOODFILLSURFACE 1 +#define ETO_CLIPPED 4 +#define ETO_GLYPH_INDEX 16 +#define ETO_OPAQUE 2 +#define ETO_RTLREADING 128 +#define GDICOMMENT_WINDOWS_METAFILE (-2147483647) +#define GDICOMMENT_BEGINGROUP 2 +#define GDICOMMENT_ENDGROUP 3 +#define GDICOMMENT_MULTIFORMATS 1073741828 +#define GDICOMMENT_IDENTIFIER 1128875079 +#define AD_COUNTERCLOCKWISE 1 +#define AD_CLOCKWISE 2 +#define RDH_RECTANGLES 1 +#define GCPCLASS_LATIN 1 +#define GCPCLASS_HEBREW 2 +#define GCPCLASS_ARABIC 2 +#define GCPCLASS_NEUTRAL 3 +#define GCPCLASS_LOCALNUMBER 4 +#define GCPCLASS_LATINNUMBER 5 +#define GCPCLASS_LATINNUMERICTERMINATOR 6 +#define GCPCLASS_LATINNUMERICSEPARATOR 7 +#define GCPCLASS_NUMERICSEPARATOR 8 +#define GCPCLASS_PREBOUNDLTR 128 +#define GCPCLASS_PREBOUNDRTL 64 +#define GCPCLASS_POSTBOUNDLTR 32 +#define GCPCLASS_POSTBOUNDRTL 16 +#define GCPGLYPH_LINKBEFORE 0x8000 +#define GCPGLYPH_LINKAFTER 0x4000 +#define DCB_DISABLE 8 +#define DCB_ENABLE 4 +#define DCB_RESET 1 +#define DCB_SET 3 +#define DCB_ACCUMULATE 2 +#define DCB_DIRTY 2 +#define OBJ_BRUSH 2 +#define OBJ_PEN 1 +#define OBJ_PAL 5 +#define OBJ_FONT 6 +#define OBJ_BITMAP 7 +#define OBJ_EXTPEN 11 +#define OBJ_REGION 8 +#define OBJ_DC 3 +#define OBJ_MEMDC 10 +#define OBJ_METAFILE 9 +#define OBJ_METADC 4 +#define OBJ_ENHMETAFILE 13 +#define OBJ_ENHMETADC 12 +#define DRIVERVERSION 0 +#define TECHNOLOGY 2 +#define DT_PLOTTER 0 +#define DT_RASDISPLAY 1 +#define DT_RASPRINTER 2 +#define DT_RASCAMERA 3 +#define DT_CHARSTREAM 4 +#define DT_METAFILE 5 +#define DT_DISPFILE 6 +#define HORZSIZE 4 +#define VERTSIZE 6 +#define HORZRES 8 +#define VERTRES 10 +#define LOGPIXELSX 88 +#define LOGPIXELSY 90 +#define BITSPIXEL 12 +#define PLANES 14 +#define NUMBRUSHES 16 +#define NUMPENS 18 +#define NUMFONTS 22 +#define NUMCOLORS 24 +#define NUMMARKERS 20 +#define ASPECTX 40 +#define ASPECTY 42 +#define ASPECTXY 44 +#define PDEVICESIZE 26 +#define CLIPCAPS 36 +#define SIZEPALETTE 104 +#define NUMRESERVED 106 +#define COLORRES 108 +#define PHYSICALWIDTH 110 +#define PHYSICALHEIGHT 111 +#define PHYSICALOFFSETX 112 +#define PHYSICALOFFSETY 113 +#define SCALINGFACTORX 114 +#define SCALINGFACTORY 115 +#define VREFRESH 116 +#define DESKTOPHORZRES 118 +#define DESKTOPVERTRES 117 +#define BLTALIGNMENT 119 +#define RASTERCAPS 38 +#define RC_BANDING 2 +#define RC_BITBLT 1 +#define RC_BITMAP64 8 +#define RC_DI_BITMAP 128 +#define RC_DIBTODEV 512 +#define RC_FLOODFILL 4096 +#define RC_GDI20_OUTPUT 16 +#define RC_PALETTE 256 +#define RC_SCALING 4 +#define RC_STRETCHBLT 2048 +#define RC_STRETCHDIB 8192 +#define RC_DEVBITS 0x8000 +#define RC_OP_DX_OUTPUT 0x4000 +#define CURVECAPS 28 +#define CC_NONE 0 +#define CC_CIRCLES 1 +#define CC_PIE 2 +#define CC_CHORD 4 +#define CC_ELLIPSES 8 +#define CC_WIDE 16 +#define CC_STYLED 32 +#define CC_WIDESTYLED 64 +#define CC_INTERIORS 128 +#define CC_ROUNDRECT 256 +#define LINECAPS 30 +#define LC_NONE 0 +#define LC_POLYLINE 2 +#define LC_MARKER 4 +#define LC_POLYMARKER 8 +#define LC_WIDE 16 +#define LC_STYLED 32 +#define LC_WIDESTYLED 64 +#define LC_INTERIORS 128 +#define POLYGONALCAPS 32 +#define RC_BANDING 2 +#define RC_BIGFONT 1024 +#define RC_BITBLT 1 +#define RC_BITMAP64 8 +#define RC_DEVBITS 0x8000 +#define RC_DI_BITMAP 128 +#define RC_GDI20_OUTPUT 16 +#define RC_GDI20_STATE 32 +#define RC_NONE 0 +#define RC_OP_DX_OUTPUT 0x4000 +#define RC_PALETTE 256 +#define RC_SAVEBITMAP 64 +#define RC_SCALING 4 +#define PC_NONE 0 +#define PC_POLYGON 1 +#define PC_POLYPOLYGON 256 +#define PC_PATHS 512 +#define PC_RECTANGLE 2 +#define PC_WINDPOLYGON 4 +#define PC_SCANLINE 8 +#define PC_TRAPEZOID 4 +#define PC_WIDE 16 +#define PC_STYLED 32 +#define PC_WIDESTYLED 64 +#define PC_INTERIORS 128 +#define PC_PATHS 512 +#define TEXTCAPS 34 +#define TC_OP_CHARACTER 1 +#define TC_OP_STROKE 2 +#define TC_CP_STROKE 4 +#define TC_CR_90 8 +#define TC_CR_ANY 16 +#define TC_SF_X_YINDEP 32 +#define TC_SA_DOUBLE 64 +#define TC_SA_INTEGER 128 +#define TC_SA_CONTIN 256 +#define TC_EA_DOUBLE 512 +#define TC_IA_ABLE 1024 +#define TC_UA_ABLE 2048 +#define TC_SO_ABLE 4096 +#define TC_RA_ABLE 8192 +#define TC_VA_ABLE 16384 +#define TC_RESERVED 32768 +#define TC_SCROLLBLT 65536 +#define GCP_DBCS 1 +#define GCP_ERROR 0x8000 +#define GCP_CLASSIN 0x80000 +#define GCP_DIACRITIC 256 +#define GCP_DISPLAYZWG 0x400000 +#define GCP_GLYPHSHAPE 16 +#define GCP_JUSTIFY 0x10000 +#define GCP_JUSTIFYIN 0x200000 +#define GCP_KASHIDA 1024 +#define GCP_LIGATE 32 +#define GCP_MAXEXTENT 0x100000 +#define GCP_NEUTRALOVERRIDE 0x2000000 +#define GCP_NUMERICOVERRIDE 0x1000000 +#define GCP_NUMERICSLATIN 0x4000000 +#define GCP_NUMERICSLOCAL 0x8000000 +#define GCP_REORDER 2 +#define GCP_SYMSWAPOFF 0x800000 +#define GCP_USEKERNING 8 +#define FLI_GLYPHS 0x40000 +#define FLI_MASK 0x103b +#define GGO_BITMAP 1 +#define GGO_NATIVE 2 +#define GGO_METRICS 0 +#define GGO_GRAY2_BITMAP 4 +#define GGO_GRAY4_BITMAP 5 +#define GGO_GRAY8_BITMAP 6 +#define GGO_GLYPH_INDEX 128 +#define GM_COMPATIBLE 1 +#define GM_ADVANCED 2 +#define MM_ANISOTROPIC 8 +#define MM_HIENGLISH 5 +#define MM_HIMETRIC 3 +#define MM_ISOTROPIC 7 +#define MM_LOENGLISH 4 +#define MM_LOMETRIC 2 +#define MM_TEXT 1 +#define MM_TWIPS 6 +#define MM_MAX_FIXEDSCALE MM_TWIPS +#define ABSOLUTE 1 +#define RELATIVE 2 +#define PC_EXPLICIT 2 +#define PC_NOCOLLAPSE 4 +#define PC_RESERVED 1 +#define CLR_NONE 0xffffffff +#define CLR_INVALID CLR_NONE +#define CLR_DEFAULT 0xff000000 +#define PT_MOVETO 6 +#define PT_LINETO 2 +#define PT_BEZIERTO 4 +#define PT_CLOSEFIGURE 1 +#define TT_AVAILABLE 1 +#define TT_ENABLED 2 +#define BLACK_BRUSH 4 +#define DKGRAY_BRUSH 3 +#define GRAY_BRUSH 2 +#define HOLLOW_BRUSH 5 +#define LTGRAY_BRUSH 1 +#define NULL_BRUSH 5 +#define WHITE_BRUSH 0 +#define BLACK_PEN 7 +#define NULL_PEN 8 +#define WHITE_PEN 6 +#define ANSI_FIXED_FONT 11 +#define ANSI_VAR_FONT 12 +#define DEVICE_DEFAULT_FONT 14 +#define DEFAULT_GUI_FONT 17 +#define OEM_FIXED_FONT 10 +#define SYSTEM_FONT 13 +#define SYSTEM_FIXED_FONT 16 +#define DEFAULT_PALETTE 15 +#define SYSPAL_NOSTATIC 2 +#define SYSPAL_STATIC 1 +#define SYSPAL_ERROR 0 +#define TA_BASELINE 24 +#define TA_BOTTOM 8 +#define TA_TOP 0 +#define TA_CENTER 6 +#define TA_LEFT 0 +#define TA_RIGHT 2 +#define TA_RTLREADING 256 +#define TA_NOUPDATECP 0 +#define TA_UPDATECP 1 +#define TA_MASK (TA_BASELINE+TA_CENTER+TA_UPDATECP+TA_RTLREADING) +#define VTA_BASELINE 24 +#define VTA_CENTER 6 +#define VTA_LEFT TA_BOTTOM +#define VTA_RIGHT TA_TOP +#define VTA_BOTTOM TA_RIGHT +#define VTA_TOP TA_LEFT +#define MWT_IDENTITY 1 +#define MWT_LEFTMULTIPLY 2 +#define MWT_RIGHTMULTIPLY 3 +#define OPAQUE 2 +#define TRANSPARENT 1 +#define BLACKONWHITE 1 +#define WHITEONBLACK 2 +#define COLORONCOLOR 3 +#define HALFTONE 4 +#define MAXSTRETCHBLTMODE 4 +#define STRETCH_ANDSCANS 1 +#define STRETCH_DELETESCANS 3 +#define STRETCH_HALFTONE 4 +#define STRETCH_ORSCANS 2 +#define TCI_SRCCHARSET 1 +#define TCI_SRCCODEPAGE 2 +#define TCI_SRCFONTSIG 3 +#define ICM_ON 2 +#define ICM_OFF 1 +#define ICM_QUERY 3 +#define NEWFRAME 1 +#define ABORTDOC 2 +#define NEXTBAND 3 +#define SETCOLORTABLE 4 +#define GETCOLORTABLE 5 +#define FLUSHOUTPUT 6 +#define DRAFTMODE 7 +#define QUERYESCSUPPORT 8 +#define SETABORTPROC 9 +#define STARTDOC 10 +#define ENDDOC 11 +#define GETPHYSPAGESIZE 12 +#define GETPRINTINGOFFSET 13 +#define GETSCALINGFACTOR 14 +#define MFCOMMENT 15 +#define GETPENWIDTH 16 +#define SETCOPYCOUNT 17 +#define SELECTPAPERSOURCE 18 +#define DEVICEDATA 19 +#define PASSTHROUGH 19 +#define GETTECHNOLGY 20 +#define GETTECHNOLOGY 20 +#define SETLINECAP 21 +#define SETLINEJOIN 22 +#define SETMITERLIMIT 23 +#define BANDINFO 24 +#define DRAWPATTERNRECT 25 +#define GETVECTORPENSIZE 26 +#define GETVECTORBRUSHSIZE 27 +#define ENABLEDUPLEX 28 +#define GETSETPAPERBINS 29 +#define GETSETPRINTORIENT 30 +#define ENUMPAPERBINS 31 +#define SETDIBSCALING 32 +#define EPSPRINTING 33 +#define ENUMPAPERMETRICS 34 +#define GETSETPAPERMETRICS 35 +#define POSTSCRIPT_DATA 37 +#define POSTSCRIPT_IGNORE 38 +#define MOUSETRAILS 39 +#define GETDEVICEUNITS 42 +#define GETEXTENDEDTEXTMETRICS 256 +#define GETEXTENTTABLE 257 +#define GETPAIRKERNTABLE 258 +#define GETTRACKKERNTABLE 259 +#define EXTTEXTOUT 512 +#define GETFACENAME 513 +#define DOWNLOADFACE 514 +#define ENABLERELATIVEWIDTHS 768 +#define ENABLEPAIRKERNING 769 +#define SETKERNTRACK 770 +#define SETALLJUSTVALUES 771 +#define SETCHARSET 772 +#define STRETCHBLT 2048 +#define GETSETSCREENPARAMS 3072 +#define QUERYDIBSUPPORT 3073 +#define BEGIN_PATH 4096 +#define CLIP_TO_PATH 4097 +#define END_PATH 4098 +#define EXT_DEVICE_CAPS 4099 +#define RESTORE_CTM 4100 +#define SAVE_CTM 4101 +#define SET_ARC_DIRECTION 4102 +#define SET_BACKGROUND_COLOR 4103 +#define SET_POLY_MODE 4104 +#define SET_SCREEN_ANGLE 4105 +#define SET_SPREAD 4106 +#define TRANSFORM_CTM 4107 +#define SET_CLIP_BOX 4108 +#define SET_BOUNDS 4109 +#define SET_MIRROR_MODE 4110 +#define OPENCHANNEL 4110 +#define DOWNLOADHEADER 4111 +#define CLOSECHANNEL 4112 +#define POSTSCRIPT_PASSTHROUGH 4115 +#define ENCAPSULATED_POSTSCRIPT 4116 +#define QDI_SETDIBITS 1 +#define QDI_GETDIBITS 2 +#define QDI_DIBTOSCREEN 4 +#define QDI_STRETCHDIB 8 +#define SP_NOTREPORTED 0x4000 +#define PR_JOBSTATUS 0 +#define ASPECT_FILTERING 1 +#define BS_SOLID 0 +#define BS_NULL 1 +#define BS_HOLLOW 1 +#define BS_HATCHED 2 +#define BS_PATTERN 3 +#define BS_INDEXED 4 +#define BS_DIBPATTERN 5 +#define BS_DIBPATTERNPT 6 +#define BS_PATTERN8X8 7 +#define BS_DIBPATTERN8X8 8 +#define LCS_CALIBRATED_RGB 0 +#define LCS_DEVICE_RGB 1 +#define LCS_DEVICE_CMYK 2 +#define LCS_GM_BUSINESS 1 +#define LCS_GM_GRAPHICS 2 +#define LCS_GM_IMAGES 4 +#define RASTER_FONTTYPE 1 +#define DEVICE_FONTTYPE 2 +#define TRUETYPE_FONTTYPE 4 +#define DMORIENT_PORTRAIT 1 +#define DMORIENT_LANDSCAPE 2 +#define DMPAPER_FIRST 1 +#define DMPAPER_LETTER 1 +#define DMPAPER_LETTERSMALL 2 +#define DMPAPER_TABLOID 3 +#define DMPAPER_LEDGER 4 +#define DMPAPER_LEGAL 5 +#define DMPAPER_STATEMENT 6 +#define DMPAPER_EXECUTIVE 7 +#define DMPAPER_A3 8 +#define DMPAPER_A4 9 +#define DMPAPER_A4SMALL 10 +#define DMPAPER_A5 11 +#define DMPAPER_B4 12 +#define DMPAPER_B5 13 +#define DMPAPER_FOLIO 14 +#define DMPAPER_QUARTO 15 +#define DMPAPER_10X14 16 +#define DMPAPER_11X17 17 +#define DMPAPER_NOTE 18 +#define DMPAPER_ENV_9 19 +#define DMPAPER_ENV_10 20 +#define DMPAPER_ENV_11 21 +#define DMPAPER_ENV_12 22 +#define DMPAPER_ENV_14 23 +#define DMPAPER_CSHEET 24 +#define DMPAPER_DSHEET 25 +#define DMPAPER_ESHEET 26 +#define DMPAPER_ENV_DL 27 +#define DMPAPER_ENV_C5 28 +#define DMPAPER_ENV_C3 29 +#define DMPAPER_ENV_C4 30 +#define DMPAPER_ENV_C6 31 +#define DMPAPER_ENV_C65 32 +#define DMPAPER_ENV_B4 33 +#define DMPAPER_ENV_B5 34 +#define DMPAPER_ENV_B6 35 +#define DMPAPER_ENV_ITALY 36 +#define DMPAPER_ENV_MONARCH 37 +#define DMPAPER_ENV_PERSONAL 38 +#define DMPAPER_FANFOLD_US 39 +#define DMPAPER_FANFOLD_STD_GERMAN 40 +#define DMPAPER_FANFOLD_LGL_GERMAN 41 +#define DMPAPER_ISO_B4 42 +#define DMPAPER_JAPANESE_POSTCARD 43 +#define DMPAPER_9X11 44 +#define DMPAPER_10X11 45 +#define DMPAPER_15X11 46 +#define DMPAPER_ENV_INVITE 47 +#define DMPAPER_RESERVED_48 48 +#define DMPAPER_RESERVED_49 49 +#define DMPAPER_LETTER_EXTRA 50 +#define DMPAPER_LEGAL_EXTRA 51 +#define DMPAPER_TABLOID_EXTRA 52 +#define DMPAPER_A4_EXTRA 53 +#define DMPAPER_LETTER_TRANSVERSE 54 +#define DMPAPER_A4_TRANSVERSE 55 +#define DMPAPER_LETTER_EXTRA_TRANSVERSE 56 +#define DMPAPER_A_PLUS 57 +#define DMPAPER_B_PLUS 58 +#define DMPAPER_LETTER_PLUS 59 +#define DMPAPER_A4_PLUS 60 +#define DMPAPER_A5_TRANSVERSE 61 +#define DMPAPER_B5_TRANSVERSE 62 +#define DMPAPER_A3_EXTRA 63 +#define DMPAPER_A5_EXTRA 64 +#define DMPAPER_B5_EXTRA 65 +#define DMPAPER_A2 66 +#define DMPAPER_A3_TRANSVERSE 67 +#define DMPAPER_A3_EXTRA_TRANSVERSE 68 +#define DMPAPER_LAST 68 +#define DMPAPER_USER 256 +#define DMBIN_FIRST 1 +#define DMBIN_UPPER 1 +#define DMBIN_ONLYONE 1 +#define DMBIN_LOWER 2 +#define DMBIN_MIDDLE 3 +#define DMBIN_MANUAL 4 +#define DMBIN_ENVELOPE 5 +#define DMBIN_ENVMANUAL 6 +#define DMBIN_AUTO 7 +#define DMBIN_TRACTOR 8 +#define DMBIN_SMALLFMT 9 +#define DMBIN_LARGEFMT 10 +#define DMBIN_LARGECAPACITY 11 +#define DMBIN_CASSETTE 14 +#define DMBIN_FORMSOURCE 15 +#define DMBIN_LAST 15 +#define DMBIN_USER 256 +#define DMRES_DRAFT (-1) +#define DMRES_LOW (-2) +#define DMRES_MEDIUM (-3) +#define DMRES_HIGH (-4) +#define DMCOLOR_MONOCHROME 1 +#define DMCOLOR_COLOR 2 +#define DMDUP_SIMPLEX 1 +#define DMDUP_VERTICAL 2 +#define DMDUP_HORIZONTAL 3 +#define DMTT_BITMAP 1 +#define DMTT_DOWNLOAD 2 +#define DMTT_SUBDEV 3 +#define DMTT_DOWNLOAD_OUTLINE 4 +#define DMCOLLATE_FALSE 0 +#define DMCOLLATE_TRUE 1 +#define DM_GRAYSCALE 1 +#define DM_INTERLACED 2 +#define DM_UPDATE 1 +#define DM_COPY 2 +#define DM_PROMPT 4 +#define DM_MODIFY 8 +#define DM_IN_BUFFER DM_MODIFY +#define DM_IN_PROMPT DM_PROMPT +#define DM_OUT_BUFFER DM_COPY +#define DM_OUT_DEFAULT DM_UPDATE +#define DM_ORIENTATION 1 +#define DM_PAPERSIZE 2 +#define DM_PAPERLENGTH 4 +#define DM_PAPERWIDTH 8 +#define DM_SCALE 16 +#define DM_COPIES 256 +#define DM_DEFAULTSOURCE 512 +#define DM_PRINTQUALITY 1024 +#define DM_COLOR 2048 +#define DM_DUPLEX 4096 +#define DM_YRESOLUTION 8192 +#define DM_TTOPTION 16384 +#define DM_COLLATE 32768 +#define DM_FORMNAME 65536 +#define DM_LOGPIXELS 0x20000 +#define DM_BITSPERPEL 0x40000 +#define DM_PELSWIDTH 0x80000 +#define DM_PELSHEIGHT 0x100000 +#define DM_DISPLAYFLAGS 0x200000 +#define DM_DISPLAYFREQUENCY 0x400000 +#define DM_ICMMETHOD 0x800000 +#define DM_ICMINTENT 0x1000000 +#define DM_MEDIATYPE 0x2000000 +#define DM_DITHERTYPE 0x4000000 +#define DMICMMETHOD_NONE 1 +#define DMICMMETHOD_SYSTEM 2 +#define DMICMMETHOD_DRIVER 3 +#define DMICMMETHOD_DEVICE 4 +#define DMICMMETHOD_USER 256 +#define DMICM_SATURATE 1 +#define DMICM_CONTRAST 2 +#define DMICM_COLORMETRIC 3 +#define DMICM_USER 256 +#define DMMEDIA_STANDARD 1 +#define DMMEDIA_TRANSPARENCY 2 +#define DMMEDIA_GLOSSY 3 +#define DMMEDIA_USER 256 +#define DMDITHER_NONE 1 +#define DMDITHER_COARSE 2 +#define DMDITHER_FINE 3 +#define DMDITHER_LINEART 4 +#define DMDITHER_ERRORDIFFUSION 5 +#define DMDITHER_RESERVED6 6 +#define DMDITHER_RESERVED7 7 +#define DMDITHER_RESERVED8 8 +#define DMDITHER_RESERVED9 9 +#define DMDITHER_GRAYSCALE 10 +#define DMDITHER_USER 256 +#define GDI_ERROR 0xFFFFFFFF +#define HGDI_ERROR ((HANDLE)GDI_ERROR) +#define TMPF_FIXED_PITCH 1 +#define TMPF_VECTOR 2 +#define TMPF_TRUETYPE 4 +#define TMPF_DEVICE 8 +#define NTM_ITALIC 1 +#define NTM_BOLD 32 +#define NTM_REGULAR 64 +#define TT_POLYGON_TYPE 24 +#define TT_PRIM_LINE 1 +#define TT_PRIM_QSPLINE 2 +#define FONTMAPPER_MAX 10 +#define ENHMETA_STOCK_OBJECT 0x80000000 +#define WGL_FONT_LINES 0 +#define WGL_FONT_POLYGONS 1 +#define LPD_DOUBLEBUFFER 1 +#define LPD_STEREO 2 +#define LPD_SUPPORT_GDI 16 +#define LPD_SUPPORT_OPENGL 32 +#define LPD_SHARE_DEPTH 64 +#define LPD_SHARE_STENCIL 128 +#define LPD_SHARE_ACCUM 256 +#define LPD_SWAP_EXCHANGE 512 +#define LPD_SWAP_COPY 1024 +#define LPD_TRANSPARENT 4096 +#define LPD_TYPE_RGBA 0 +#define LPD_TYPE_COLORINDEX 1 +#define WGL_SWAP_MAIN_PLANE 1 +#define WGL_SWAP_OVERLAY1 2 +#define WGL_SWAP_OVERLAY2 4 +#define WGL_SWAP_OVERLAY3 8 +#define WGL_SWAP_OVERLAY4 16 +#define WGL_SWAP_OVERLAY5 32 +#define WGL_SWAP_OVERLAY6 64 +#define WGL_SWAP_OVERLAY7 128 +#define WGL_SWAP_OVERLAY8 256 +#define WGL_SWAP_OVERLAY9 512 +#define WGL_SWAP_OVERLAY10 1024 +#define WGL_SWAP_OVERLAY11 2048 +#define WGL_SWAP_OVERLAY12 4096 +#define WGL_SWAP_OVERLAY13 8192 +#define WGL_SWAP_OVERLAY14 16384 +#define WGL_SWAP_OVERLAY15 32768 +#define WGL_SWAP_UNDERLAY1 65536 +#define WGL_SWAP_UNDERLAY2 0x20000 +#define WGL_SWAP_UNDERLAY3 0x40000 +#define WGL_SWAP_UNDERLAY4 0x80000 +#define WGL_SWAP_UNDERLAY5 0x100000 +#define WGL_SWAP_UNDERLAY6 0x200000 +#define WGL_SWAP_UNDERLAY7 0x400000 +#define WGL_SWAP_UNDERLAY8 0x800000 +#define WGL_SWAP_UNDERLAY9 0x1000000 +#define WGL_SWAP_UNDERLAY10 0x2000000 +#define WGL_SWAP_UNDERLAY11 0x4000000 +#define WGL_SWAP_UNDERLAY12 0x8000000 +#define WGL_SWAP_UNDERLAY13 0x10000000 +#define WGL_SWAP_UNDERLAY14 0x20000000 +#define WGL_SWAP_UNDERLAY15 0x40000000 + +#ifndef RC_INVOKED +typedef struct _ABC { + int abcA; + UINT abcB; + int abcC; +} ABC,*LPABC; +typedef struct _ABCFLOAT { + FLOAT abcfA; + FLOAT abcfB; + FLOAT abcfC; +} ABCFLOAT,*LPABCFLOAT; +typedef struct tagBITMAP { + LONG bmType; + LONG bmWidth; + LONG bmHeight; + LONG bmWidthBytes; + WORD bmPlanes; + WORD bmBitsPixel; + LPVOID bmBits; +} BITMAP,*PBITMAP,*LPBITMAP; +typedef struct tagBITMAPCOREHEADER { + DWORD bcSize; + WORD bcWidth; + WORD bcHeight; + WORD bcPlanes; + WORD bcBitCount; +} BITMAPCOREHEADER,*LPBITMAPCOREHEADER,*PBITMAPCOREHEADER; +#pragma pack(push,1) +typedef struct tagRGBTRIPLE { + BYTE rgbtBlue; + BYTE rgbtGreen; + BYTE rgbtRed; +} RGBTRIPLE; +#pragma pack(pop) +#pragma pack(push,2) +typedef struct tagBITMAPFILEHEADER { + WORD bfType; + DWORD bfSize; + WORD bfReserved1; + WORD bfReserved2; + DWORD bfOffBits; +} BITMAPFILEHEADER,*LPBITMAPFILEHEADER,*PBITMAPFILEHEADER; +#pragma pack(pop) +typedef struct _BITMAPCOREINFO { + BITMAPCOREHEADER bmciHeader; + RGBTRIPLE bmciColors[1]; +} BITMAPCOREINFO,*LPBITMAPCOREINFO,*PBITMAPCOREINFO; +typedef struct tagBITMAPINFOHEADER{ + DWORD biSize; + LONG biWidth; + LONG biHeight; + WORD biPlanes; + WORD biBitCount; + DWORD biCompression; + DWORD biSizeImage; + LONG biXPelsPerMeter; + LONG biYPelsPerMeter; + DWORD biClrUsed; + DWORD biClrImportant; +} BITMAPINFOHEADER,*LPBITMAPINFOHEADER,*PBITMAPINFOHEADER; +typedef struct tagRGBQUAD { + BYTE rgbBlue; + BYTE rgbGreen; + BYTE rgbRed; + BYTE rgbReserved; +} RGBQUAD; +typedef struct tagBITMAPINFO { + BITMAPINFOHEADER bmiHeader; + RGBQUAD bmiColors[1]; +} BITMAPINFO,*LPBITMAPINFO,*PBITMAPINFO; +typedef long FXPT16DOT16,*LPFXPT16DOT16; +typedef long FXPT2DOT30,*LPFXPT2DOT30; +typedef struct tagCIEXYZ { + FXPT2DOT30 ciexyzX; + FXPT2DOT30 ciexyzY; + FXPT2DOT30 ciexyzZ; +} CIEXYZ,*LPCIEXYZ; +typedef struct tagCIEXYZTRIPLE { + CIEXYZ ciexyzRed; + CIEXYZ ciexyzGreen; + CIEXYZ ciexyzBlue; +} CIEXYZTRIPLE,*LPCIEXYZTRIPLE; +typedef struct { + DWORD bV4Size; + LONG bV4Width; + LONG bV4Height; + WORD bV4Planes; + WORD bV4BitCount; + DWORD bV4V4Compression; + DWORD bV4SizeImage; + LONG bV4XPelsPerMeter; + LONG bV4YPelsPerMeter; + DWORD bV4ClrUsed; + DWORD bV4ClrImportant; + DWORD bV4RedMask; + DWORD bV4GreenMask; + DWORD bV4BlueMask; + DWORD bV4AlphaMask; + DWORD bV4CSType; + CIEXYZTRIPLE bV4Endpoints; + DWORD bV4GammaRed; + DWORD bV4GammaGreen; + DWORD bV4GammaBlue; +} BITMAPV4HEADER,*LPBITMAPV4HEADER,*PBITMAPV4HEADER; +typedef struct tagFONTSIGNATURE { + DWORD fsUsb[4]; + DWORD fsCsb[2]; +} FONTSIGNATURE,*LPFONTSIGNATURE; +typedef struct { + UINT ciCharset; + UINT ciACP; + FONTSIGNATURE fs; +} CHARSETINFO,*LPCHARSETINFO; +typedef struct tagCOLORADJUSTMENT { + WORD caSize; + WORD caFlags; + WORD caIlluminantIndex; + WORD caRedGamma; + WORD caGreenGamma; + WORD caBlueGamma; + WORD caReferenceBlack; + WORD caReferenceWhite; + SHORT caContrast; + SHORT caBrightness; + SHORT caColorfulness; + SHORT caRedGreenTint; +} COLORADJUSTMENT,*LPCOLORADJUSTMENT; +typedef struct _devicemodeA { + BYTE dmDeviceName[CCHDEVICENAME]; + WORD dmSpecVersion; + WORD dmDriverVersion; + WORD dmSize; + WORD dmDriverExtra; + DWORD dmFields; + short dmOrientation; + short dmPaperSize; + short dmPaperLength; + short dmPaperWidth; + short dmScale; + short dmCopies; + short dmDefaultSource; + short dmPrintQuality; + short dmColor; + short dmDuplex; + short dmYResolution; + short dmTTOption; + short dmCollate; + BYTE dmFormName[CCHFORMNAME]; + WORD dmLogPixels; + DWORD dmBitsPerPel; + DWORD dmPelsWidth; + DWORD dmPelsHeight; + DWORD dmDisplayFlags; + DWORD dmDisplayFrequency; + DWORD dmICMMethod; + DWORD dmICMIntent; + DWORD dmMediaType; + DWORD dmDitherType; + DWORD dmICCManufacturer; + DWORD dmICCModel; +} DEVMODEA,*LPDEVMODEA,*PDEVMODEA; +typedef struct _devicemodeW { + WCHAR dmDeviceName[CCHDEVICENAME]; + WORD dmSpecVersion; + WORD dmDriverVersion; + WORD dmSize; + WORD dmDriverExtra; + DWORD dmFields; + short dmOrientation; + short dmPaperSize; + short dmPaperLength; + short dmPaperWidth; + short dmScale; + short dmCopies; + short dmDefaultSource; + short dmPrintQuality; + short dmColor; + short dmDuplex; + short dmYResolution; + short dmTTOption; + short dmCollate; + WCHAR dmFormName[CCHFORMNAME]; + WORD dmLogPixels; + DWORD dmBitsPerPel; + DWORD dmPelsWidth; + DWORD dmPelsHeight; + DWORD dmDisplayFlags; + DWORD dmDisplayFrequency; + DWORD dmICMMethod; + DWORD dmICMIntent; + DWORD dmMediaType; + DWORD dmDitherType; + DWORD dmICCManufacturer; + DWORD dmICCModel; +} DEVMODEW,*LPDEVMODEW,*PDEVMODEW; +typedef struct tagDIBSECTION { + BITMAP dsBm; + BITMAPINFOHEADER dsBmih; + DWORD dsBitfields[3]; + HANDLE dshSection; + DWORD dsOffset; +} DIBSECTION; +typedef struct { + int cbSize; + LPCTSTR lpszDocName; + LPCTSTR lpszOutput; + LPCTSTR lpszDatatype; + DWORD fwType; +} DOCINFO,*LPDOCINFO; +typedef struct tagEMR { + DWORD iType; + DWORD nSize; +} EMR,*PEMR; +typedef struct tagEMRANGLEARC { + EMR emr; + POINTL ptlCenter; + DWORD nRadius; + FLOAT eStartAngle; + FLOAT eSweepAngle; +} EMRANGLEARC,*PEMRANGLEARC; +typedef struct tagEMRARC { + EMR emr; + RECTL rclBox; + POINTL ptlStart; + POINTL ptlEnd; +} EMRARC,*PEMRARC,EMRARCTO,*PEMRARCTO,EMRCHORD,*PEMRCHORD,EMRPIE,*PEMRPIE; +typedef struct _XFORM { + FLOAT eM11; + FLOAT eM12; + FLOAT eM21; + FLOAT eM22; + FLOAT eDx; + FLOAT eDy; +} XFORM,*LPXFORM; +typedef struct tagEMRBITBLT { + EMR emr; + RECTL rclBounds; + LONG xDest; + LONG yDest; + LONG cxDest; + LONG cyDest; + DWORD dwRop; + LONG xSrc; + LONG ySrc; + XFORM xformSrc; + COLORREF crBkColorSrc; + DWORD iUsageSrc; + DWORD offBmiSrc; + DWORD offBitsSrc; + DWORD cbBitsSrc; +} EMRBITBLT,*PEMRBITBLT; +typedef struct tagLOGBRUSH { + UINT lbStyle; + COLORREF lbColor; + LONG lbHatch; +} LOGBRUSH,*LPLOGBRUSH; +typedef LOGBRUSH PATTERN,*PPATTERN,*LPPATTERN; +typedef struct tagEMRCREATEBRUSHINDIRECT { + EMR emr; + DWORD ihBrush; + LOGBRUSH lb; +} EMRCREATEBRUSHINDIRECT,*PEMRCREATEBRUSHINDIRECT; +typedef LONG LCSCSTYPE; +typedef LONG LCSGAMUTMATCH; +typedef struct tagLOGCOLORSPACEA { + DWORD lcsSignature; + DWORD lcsVersion; + DWORD lcsSize; + LCSCSTYPE lcsCSType; + LCSGAMUTMATCH lcsIntent; + CIEXYZTRIPLE lcsEndpoints; + DWORD lcsGammaRed; + DWORD lcsGammaGreen; + DWORD lcsGammaBlue; + CHAR lcsFilename[MAX_PATH]; +} LOGCOLORSPACEA,*LPLOGCOLORSPACEA; +typedef struct tagLOGCOLORSPACEW { + DWORD lcsSignature; + DWORD lcsVersion; + DWORD lcsSize; + LCSCSTYPE lcsCSType; + LCSGAMUTMATCH lcsIntent; + CIEXYZTRIPLE lcsEndpoints; + DWORD lcsGammaRed; + DWORD lcsGammaGreen; + DWORD lcsGammaBlue; + WCHAR lcsFilename[MAX_PATH]; +} LOGCOLORSPACEW,*LPLOGCOLORSPACEW; +typedef struct tagEMRCREATECOLORSPACE { + EMR emr; + DWORD ihCS; + LOGCOLORSPACEW lcs; +} EMRCREATECOLORSPACE,*PEMRCREATECOLORSPACE; +typedef struct tagEMRCREATEDIBPATTERNBRUSHPT { + EMR emr; + DWORD ihBrush; + DWORD iUsage; + DWORD offBmi; + DWORD cbBmi; + DWORD offBits; + DWORD cbBits; +} EMRCREATEDIBPATTERNBRUSHPT,*PEMRCREATEDIBPATTERNBRUSHPT; +typedef struct tagEMRCREATEMONOBRUSH { + EMR emr; + DWORD ihBrush; + DWORD iUsage; + DWORD offBmi; + DWORD cbBmi; + DWORD offBits; + DWORD cbBits; +} EMRCREATEMONOBRUSH,*PEMRCREATEMONOBRUSH; +typedef struct tagPALETTEENTRY { + BYTE peRed; + BYTE peGreen; + BYTE peBlue; + BYTE peFlags; +} PALETTEENTRY,*LPPALETTEENTRY,*PPALETTEENTRY; +typedef struct tagLOGPALETTE { + WORD palVersion; + WORD palNumEntries; + PALETTEENTRY palPalEntry[1]; +} LOGPALETTE,*NPLOGPALETTE,*PLOGPALETTE,*LPLOGPALETTE; +typedef struct tagEMRCREATEPALETTE { + EMR emr; + DWORD ihPal; + LOGPALETTE lgpl; +} EMRCREATEPALETTE,*PEMRCREATEPALETTE; +typedef struct tagLOGPEN { + UINT lopnStyle; + POINT lopnWidth; + COLORREF lopnColor; +} LOGPEN,*LPLOGPEN; +typedef struct tagEMRCREATEPEN { + EMR emr; + DWORD ihPen; + LOGPEN lopn; +} EMRCREATEPEN,*PEMRCREATEPEN; +typedef struct tagEMRELLIPSE { + EMR emr; + RECTL rclBox; +} EMRELLIPSE,*PEMRELLIPSE,EMRRECTANGLE,*PEMRRECTANGLE; +typedef struct tagEMREOF { + EMR emr; + DWORD nPalEntries; + DWORD offPalEntries; + DWORD nSizeLast; +} EMREOF,*PEMREOF; +typedef struct tagEMREXCLUDECLIPRECT { + EMR emr; + RECTL rclClip; +} EMREXCLUDECLIPRECT,*PEMREXCLUDECLIPRECT,EMRINTERSECTCLIPRECT,*PEMRINTERSECTCLIPRECT; +typedef struct tagPANOSE { + BYTE bFamilyType; + BYTE bSerifStyle; + BYTE bWeight; + BYTE bProportion; + BYTE bContrast; + BYTE bStrokeVariation; + BYTE bArmStyle; + BYTE bLetterform; + BYTE bMidline; + BYTE bXHeight; +} PANOSE; +typedef struct tagLOGFONTA { + LONG lfHeight; + LONG lfWidth; + LONG lfEscapement; + LONG lfOrientation; + LONG lfWeight; + BYTE lfItalic; + BYTE lfUnderline; + BYTE lfStrikeOut; + BYTE lfCharSet; + BYTE lfOutPrecision; + BYTE lfClipPrecision; + BYTE lfQuality; + BYTE lfPitchAndFamily; + CHAR lfFaceName[LF_FACESIZE]; +} LOGFONTA,*PLOGFONTA,*LPLOGFONTA; +typedef struct tagLOGFONTW { + LONG lfHeight; + LONG lfWidth; + LONG lfEscapement; + LONG lfOrientation; + LONG lfWeight; + BYTE lfItalic; + BYTE lfUnderline; + BYTE lfStrikeOut; + BYTE lfCharSet; + BYTE lfOutPrecision; + BYTE lfClipPrecision; + BYTE lfQuality; + BYTE lfPitchAndFamily; + WCHAR lfFaceName[LF_FACESIZE]; +} LOGFONTW,*PLOGFONTW,*LPLOGFONTW; +typedef struct tagEXTLOGFONTA { + LOGFONTA elfLogFont; + BYTE elfFullName[LF_FULLFACESIZE]; + BYTE elfStyle[LF_FACESIZE]; + DWORD elfVersion; + DWORD elfStyleSize; + DWORD elfMatch; + DWORD elfReserved; + BYTE elfVendorId[ELF_VENDOR_SIZE]; + DWORD elfCulture; + PANOSE elfPanose; +} EXTLOGFONTA,*PEXTLOGFONTA,*LPEXTLOGFONTA; +typedef struct tagEXTLOGFONTW { + LOGFONTW elfLogFont; + WCHAR elfFullName[LF_FULLFACESIZE]; + WCHAR elfStyle[LF_FACESIZE]; + DWORD elfVersion; + DWORD elfStyleSize; + DWORD elfMatch; + DWORD elfReserved; + BYTE elfVendorId[ELF_VENDOR_SIZE]; + DWORD elfCulture; + PANOSE elfPanose; +} EXTLOGFONTW,*PEXTLOGFONTW,*LPEXTLOGFONTW; +typedef struct tagEMREXTCREATEFONTINDIRECTW { + EMR emr; + DWORD ihFont; + EXTLOGFONTW elfw; +} EMREXTCREATEFONTINDIRECTW,*PEMREXTCREATEFONTINDIRECTW; +typedef struct tagEXTLOGPEN { + UINT elpPenStyle; + UINT elpWidth; + UINT elpBrushStyle; + COLORREF elpColor; + LONG elpHatch; + DWORD elpNumEntries; + DWORD elpStyleEntry[1]; +} EXTLOGPEN,*PEXTLOGPEN,*LPEXTLOGPEN; +typedef struct tagEMREXTCREATEPEN { + EMR emr; + DWORD ihPen; + DWORD offBmi; + DWORD cbBmi; + DWORD offBits; + DWORD cbBits; + EXTLOGPEN elp; +} EMREXTCREATEPEN,*PEMREXTCREATEPEN; +typedef struct tagEMREXTFLOODFILL { + EMR emr; + POINTL ptlStart; + COLORREF crColor; + DWORD iMode; +} EMREXTFLOODFILL,*PEMREXTFLOODFILL; +typedef struct tagEMREXTSELECTCLIPRGN { + EMR emr; + DWORD cbRgnData; + DWORD iMode; + BYTE RgnData[1]; +} EMREXTSELECTCLIPRGN,*PEMREXTSELECTCLIPRGN; +typedef struct tagEMRTEXT { + POINTL ptlReference; + DWORD nChars; + DWORD offString; + DWORD fOptions; + RECTL rcl; + DWORD offDx; +} EMRTEXT,*PEMRTEXT; +typedef struct tagEMREXTTEXTOUTA { + EMR emr; + RECTL rclBounds; + DWORD iGraphicsMode; + FLOAT exScale; + FLOAT eyScale; + EMRTEXT emrtext; +} EMREXTTEXTOUTA,*PEMREXTTEXTOUTA,EMREXTTEXTOUTW,*PEMREXTTEXTOUTW; +typedef struct tagEMRFILLPATH { + EMR emr; + RECTL rclBounds; +} EMRFILLPATH,*PEMRFILLPATH,EMRSTROKEANDFILLPATH,*PEMRSTROKEANDFILLPATH,EMRSTROKEPATH,*PEMRSTROKEPATH; +typedef struct tagEMRFILLRGN { + EMR emr; + RECTL rclBounds; + DWORD cbRgnData; + DWORD ihBrush; + BYTE RgnData[1]; +} EMRFILLRGN,*PEMRFILLRGN; +typedef struct tagEMRFORMAT { + DWORD dSignature; + DWORD nVersion; + DWORD cbData; + DWORD offData; +} EMRFORMAT; +typedef struct tagEMRFRAMERGN { + EMR emr; + RECTL rclBounds; + DWORD cbRgnData; + DWORD ihBrush; + SIZEL szlStroke; + BYTE RgnData[1]; +} EMRFRAMERGN,*PEMRFRAMERGN; +typedef struct tagEMRGDICOMMENT { + EMR emr; + DWORD cbData; + BYTE Data[1]; +} EMRGDICOMMENT,*PEMRGDICOMMENT; +typedef struct tagEMRINVERTRGN { + EMR emr; + RECTL rclBounds; + DWORD cbRgnData; + BYTE RgnData[1]; +} EMRINVERTRGN,*PEMRINVERTRGN,EMRPAINTRGN,*PEMRPAINTRGN; +typedef struct tagEMRLINETO { + EMR emr; + POINTL ptl; +} EMRLINETO,*PEMRLINETO,EMRMOVETOEX,*PEMRMOVETOEX; +typedef struct tagEMRMASKBLT { + EMR emr; + RECTL rclBounds; + LONG xDest; + LONG yDest; + LONG cxDest; + LONG cyDest; + DWORD dwRop; + LONG xSrc; + LONG ySrc; + XFORM xformSrc; + COLORREF crBkColorSrc; + DWORD iUsageSrc; + DWORD offBmiSrc; + DWORD cbBmiSrc; + DWORD offBitsSrc; + DWORD cbBitsSrc; + LONG xMask; + LONG yMask; + DWORD iUsageMask; + DWORD offBmiMask; + DWORD cbBmiMask; + DWORD offBitsMask; + DWORD cbBitsMask; +} EMRMASKBLT,*PEMRMASKBLT; +typedef struct tagEMRMODIFYWORLDTRANSFORM { + EMR emr; + XFORM xform; + DWORD iMode; +} EMRMODIFYWORLDTRANSFORM,*PEMRMODIFYWORLDTRANSFORM; +typedef struct tagEMROFFSETCLIPRGN { + EMR emr; + POINTL ptlOffset; +} EMROFFSETCLIPRGN,*PEMROFFSETCLIPRGN; +typedef struct tagEMRPLGBLT { + EMR emr; + RECTL rclBounds; + POINTL aptlDest[3]; + LONG xSrc; + LONG ySrc; + LONG cxSrc; + LONG cySrc; + XFORM xformSrc; + COLORREF crBkColorSrc; + DWORD iUsageSrc; + DWORD offBmiSrc; + DWORD cbBmiSrc; + DWORD offBitsSrc; + DWORD cbBitsSrc; + LONG xMask; + LONG yMask; + DWORD iUsageMask; + DWORD offBmiMask; + DWORD cbBmiMask; + DWORD offBitsMask; + DWORD cbBitsMask; +} EMRPLGBLT,*PEMRPLGBLT; +typedef struct tagEMRPOLYDRAW { + EMR emr; + RECTL rclBounds; + DWORD cptl; + POINTL aptl[1]; + BYTE abTypes[1]; +} EMRPOLYDRAW,*PEMRPOLYDRAW; +typedef struct tagEMRPOLYDRAW16 { + EMR emr; + RECTL rclBounds; + DWORD cpts; + POINTS apts[1]; + BYTE abTypes[1]; +} EMRPOLYDRAW16,*PEMRPOLYDRAW16; +typedef struct tagEMRPOLYLINE { + EMR emr; + RECTL rclBounds; + DWORD cptl; + POINTL aptl[1]; +} EMRPOLYLINE,*PEMRPOLYLINE,EMRPOLYBEZIER,*PEMRPOLYBEZIER,EMRPOLYGON,*PEMRPOLYGON,EMRPOLYBEZIERTO,*PEMRPOLYBEZIERTO,EMRPOLYLINETO,*PEMRPOLYLINETO; +typedef struct tagEMRPOLYLINE16 { + EMR emr; + RECTL rclBounds; + DWORD cpts; + POINTL apts[1]; +} EMRPOLYLINE16,*PEMRPOLYLINE16,EMRPOLYBEZIER16,*PEMRPOLYBEZIER16,EMRPOLYGON16,*PEMRPOLYGON16,EMRPOLYBEZIERTO16,*PEMRPOLYBEZIERTO16,EMRPOLYLINETO16,*PEMRPOLYLINETO16; +typedef struct tagEMRPOLYPOLYLINE { + EMR emr; + RECTL rclBounds; + DWORD nPolys; + DWORD cptl; + DWORD aPolyCounts[1]; + POINTL aptl[1]; +} EMRPOLYPOLYLINE,*PEMRPOLYPOLYLINE,EMRPOLYPOLYGON,*PEMRPOLYPOLYGON; +typedef struct tagEMRPOLYPOLYLINE16 { + EMR emr; + RECTL rclBounds; + DWORD nPolys; + DWORD cpts; + DWORD aPolyCounts[1]; + POINTS apts[1]; +} EMRPOLYPOLYLINE16,*PEMRPOLYPOLYLINE16,EMRPOLYPOLYGON16,*PEMRPOLYPOLYGON16; +typedef struct tagEMRPOLYTEXTOUTA { + EMR emr; + RECTL rclBounds; + DWORD iGraphicsMode; + FLOAT exScale; + FLOAT eyScale; + LONG cStrings; + EMRTEXT aemrtext[1]; +} EMRPOLYTEXTOUTA,*PEMRPOLYTEXTOUTA,EMRPOLYTEXTOUTW,*PEMRPOLYTEXTOUTW; +typedef struct tagEMRRESIZEPALETTE { + EMR emr; + DWORD ihPal; + DWORD cEntries; +} EMRRESIZEPALETTE,*PEMRRESIZEPALETTE; +typedef struct tagEMRRESTOREDC { + EMR emr; + LONG iRelative; +} EMRRESTOREDC,*PEMRRESTOREDC; +typedef struct tagEMRROUNDRECT { + EMR emr; + RECTL rclBox; + SIZEL szlCorner; +} EMRROUNDRECT,*PEMRROUNDRECT; +typedef struct tagEMRSCALEVIEWPORTEXTEX { + EMR emr; + LONG xNum; + LONG xDenom; + LONG yNum; + LONG yDenom; +} EMRSCALEVIEWPORTEXTEX,*PEMRSCALEVIEWPORTEXTEX,EMRSCALEWINDOWEXTEX,*PEMRSCALEWINDOWEXTEX; +typedef struct tagEMRSELECTCOLORSPACE { + EMR emr; + DWORD ihCS; +} EMRSELECTCOLORSPACE,*PEMRSELECTCOLORSPACE,EMRDELETECOLORSPACE,*PEMRDELETECOLORSPACE; +typedef struct tagEMRSELECTOBJECT { + EMR emr; + DWORD ihObject; +} EMRSELECTOBJECT,*PEMRSELECTOBJECT,EMRDELETEOBJECT,*PEMRDELETEOBJECT; +typedef struct tagEMRSELECTPALETTE { + EMR emr; + DWORD ihPal; +} EMRSELECTPALETTE,*PEMRSELECTPALETTE; +typedef struct tagEMRSETARCDIRECTION { + EMR emr; + DWORD iArcDirection; +} EMRSETARCDIRECTION,*PEMRSETARCDIRECTION; +typedef struct tagEMRSETTEXTCOLOR { + EMR emr; + COLORREF crColor; +} EMRSETBKCOLOR,*PEMRSETBKCOLOR,EMRSETTEXTCOLOR,*PEMRSETTEXTCOLOR; +typedef struct tagEMRSETCOLORADJUSTMENT { + EMR emr; + COLORADJUSTMENT ColorAdjustment; +} EMRSETCOLORADJUSTMENT,*PEMRSETCOLORADJUSTMENT; +typedef struct tagEMRSETDIBITSTODEVICE { + EMR emr; + RECTL rclBounds; + LONG xDest; + LONG yDest; + LONG xSrc; + LONG ySrc; + LONG cxSrc; + LONG cySrc; + DWORD offBmiSrc; + DWORD cbBmiSrc; + DWORD offBitsSrc; + DWORD cbBitsSrc; + DWORD iUsageSrc; + DWORD iStartScan; + DWORD cScans; +} EMRSETDIBITSTODEVICE,*PEMRSETDIBITSTODEVICE; +typedef struct tagEMRSETMAPPERFLAGS { + EMR emr; + DWORD dwFlags; +} EMRSETMAPPERFLAGS,*PEMRSETMAPPERFLAGS; +typedef struct tagEMRSETMITERLIMIT { + EMR emr; + FLOAT eMiterLimit; +} EMRSETMITERLIMIT,*PEMRSETMITERLIMIT; +typedef struct tagEMRSETPALETTEENTRIES { + EMR emr; + DWORD ihPal; + DWORD iStart; + DWORD cEntries; + PALETTEENTRY aPalEntries[1]; +} EMRSETPALETTEENTRIES,*PEMRSETPALETTEENTRIES; +typedef struct tagEMRSETPIXELV { + EMR emr; + POINTL ptlPixel; + COLORREF crColor; +} EMRSETPIXELV,*PEMRSETPIXELV; +typedef struct tagEMRSETVIEWPORTEXTEX { + EMR emr; + SIZEL szlExtent; +} EMRSETVIEWPORTEXTEX,*PEMRSETVIEWPORTEXTEX,EMRSETWINDOWEXTEX,*PEMRSETWINDOWEXTEX; +typedef struct tagEMRSETVIEWPORTORGEX { + EMR emr; + POINTL ptlOrigin; +} EMRSETVIEWPORTORGEX,*PEMRSETVIEWPORTORGEX,EMRSETWINDOWORGEX,*PEMRSETWINDOWORGEX,EMRSETBRUSHORGEX,*PEMRSETBRUSHORGEX; +typedef struct tagEMRSETWORLDTRANSFORM { + EMR emr; + XFORM xform; +} EMRSETWORLDTRANSFORM,*PEMRSETWORLDTRANSFORM; +typedef struct tagEMRSTRETCHBLT { + EMR emr; + RECTL rclBounds; + LONG xDest; + LONG yDest; + LONG cxDest; + LONG cyDest; + DWORD dwRop; + LONG xSrc; + LONG ySrc; + XFORM xformSrc; + COLORREF crBkColorSrc; + DWORD iUsageSrc; + DWORD offBmiSrc; + DWORD cbBmiSrc; + DWORD offBitsSrc; + DWORD cbBitsSrc; + LONG cxSrc; + LONG cySrc; +} EMRSTRETCHBLT,*PEMRSTRETCHBLT; +typedef struct tagEMRSTRETCHDIBITS { + EMR emr; + RECTL rclBounds; + LONG xDest; + LONG yDest; + LONG xSrc; + LONG ySrc; + LONG cxSrc; + LONG cySrc; + DWORD offBmiSrc; + DWORD cbBmiSrc; + DWORD offBitsSrc; + DWORD cbBitsSrc; + DWORD iUsageSrc; + DWORD dwRop; + LONG cxDest; + LONG cyDest; +} EMRSTRETCHDIBITS,*PEMRSTRETCHDIBITS; +typedef struct tagABORTPATH { + EMR emr; +} EMRABORTPATH,*PEMRABORTPATH,EMRBEGINPATH,*PEMRBEGINPATH,EMRENDPATH,*PEMRENDPATH,EMRCLOSEFIGURE,*PEMRCLOSEFIGURE,EMRFLATTENPATH,*PEMRFLATTENPATH,EMRWIDENPATH,*PEMRWIDENPATH,EMRSETMETARGN,*PEMRSETMETARGN,EMRSAVEDC,*PEMRSAVEDC,EMRREALIZEPALETTE,*PEMRREALIZEPALETTE; +typedef struct tagEMRSELECTCLIPPATH { + EMR emr; + DWORD iMode; +} EMRSELECTCLIPPATH,*PEMRSELECTCLIPPATH,EMRSETBKMODE,*PEMRSETBKMODE,EMRSETMAPMODE,*PEMRSETMAPMODE,EMRSETPOLYFILLMODE,*PEMRSETPOLYFILLMODE,EMRSETROP2,*PEMRSETROP2,EMRSETSTRETCHBLTMODE,*PEMRSETSTRETCHBLTMODE,EMRSETTEXTALIGN,*PEMRSETTEXTALIGN,EMRENABLEICM,*PEMRENABLEICM; +#pragma pack(push,2) +typedef struct tagMETAHEADER { + WORD mtType; + WORD mtHeaderSize; + WORD mtVersion; + DWORD mtSize; + WORD mtNoObjects; + DWORD mtMaxRecord; + WORD mtNoParameters; +} METAHEADER,*PMETAHEADER,*LPMETAHEADER; +#pragma pack(pop) +typedef struct tagENHMETAHEADER { + DWORD iType; + DWORD nSize; + RECTL rclBounds; + RECTL rclFrame; + DWORD dSignature; + DWORD nVersion; + DWORD nBytes; + DWORD nRecords; + WORD nHandles; + WORD sReserved; + DWORD nDescription; + DWORD offDescription; + DWORD nPalEntries; + SIZEL szlDevice; + SIZEL szlMillimeters; +} ENHMETAHEADER,*LPENHMETAHEADER; +typedef struct tagMETARECORD { + DWORD rdSize; + WORD rdFunction; + WORD rdParm[1]; +} METARECORD,*PMETARECORD,*LPMETARECORD; +typedef struct tagENHMETARECORD { + DWORD iType; + DWORD nSize; + DWORD dParm[1]; +} ENHMETARECORD,*LPENHMETARECORD; +typedef struct tagHANDLETABLE { + HGDIOBJ objectHandle[1]; +} HANDLETABLE,*LPHANDLETABLE; +typedef struct tagTEXTMETRICA { + LONG tmHeight; + LONG tmAscent; + LONG tmDescent; + LONG tmInternalLeading; + LONG tmExternalLeading; + LONG tmAveCharWidth; + LONG tmMaxCharWidth; + LONG tmWeight; + LONG tmOverhang; + LONG tmDigitizedAspectX; + LONG tmDigitizedAspectY; + BYTE tmFirstChar; + BYTE tmLastChar; + BYTE tmDefaultChar; + BYTE tmBreakChar; + BYTE tmItalic; + BYTE tmUnderlined; + BYTE tmStruckOut; + BYTE tmPitchAndFamily; + BYTE tmCharSet; +} TEXTMETRICA,*PTEXTMETRICA,*LPTEXTMETRICA; +typedef struct tagTEXTMETRICW { + LONG tmHeight; + LONG tmAscent; + LONG tmDescent; + LONG tmInternalLeading; + LONG tmExternalLeading; + LONG tmAveCharWidth; + LONG tmMaxCharWidth; + LONG tmWeight; + LONG tmOverhang; + LONG tmDigitizedAspectX; + LONG tmDigitizedAspectY; + WCHAR tmFirstChar; + WCHAR tmLastChar; + WCHAR tmDefaultChar; + WCHAR tmBreakChar; + BYTE tmItalic; + BYTE tmUnderlined; + BYTE tmStruckOut; + BYTE tmPitchAndFamily; + BYTE tmCharSet; +} TEXTMETRICW,*PTEXTMETRICW,*LPTEXTMETRICW; +typedef struct _RGNDATAHEADER { + DWORD dwSize; + DWORD iType; + DWORD nCount; + DWORD nRgnSize; + RECT rcBound; +} RGNDATAHEADER; +typedef struct _RGNDATA { + RGNDATAHEADER rdh; + char Buffer[1]; +} RGNDATA,*LPRGNDATA; +typedef struct tagGCP_RESULTSA { + DWORD lStructSize; + LPSTR lpOutString; + UINT *lpOrder; + INT *lpDx; + INT *lpCaretPos; + LPSTR lpClass; + UINT *lpGlyphs; + UINT nGlyphs; + UINT nMaxFit; +} GCP_RESULTSA,*LPGCP_RESULTSA; +typedef struct tagGCP_RESULTSW { + DWORD lStructSize; + LPWSTR lpOutString; + UINT *lpOrder; + INT *lpDx; + INT *lpCaretPos; + LPWSTR lpClass; + UINT *lpGlyphs; + UINT nGlyphs; + UINT nMaxFit; +} GCP_RESULTSW,*LPGCP_RESULTSW; +typedef struct _GLYPHMETRICS { + UINT gmBlackBoxX; + UINT gmBlackBoxY; + POINT gmptGlyphOrigin; + short gmCellIncX; + short gmCellIncY; +} GLYPHMETRICS,*LPGLYPHMETRICS; +typedef struct tagKERNINGPAIR { + WORD wFirst; + WORD wSecond; + int iKernAmount; +} KERNINGPAIR,*LPKERNINGPAIR; +typedef struct _FIXED { + WORD fract; + short value; +} FIXED; +typedef struct _MAT2 { + FIXED eM11; + FIXED eM12; + FIXED eM21; + FIXED eM22; +} MAT2,*LPMAT2; +typedef struct _OUTLINETEXTMETRICA { + UINT otmSize; + TEXTMETRICA otmTextMetrics; + BYTE otmFiller; + PANOSE otmPanoseNumber; + UINT otmfsSelection; + UINT otmfsType; + int otmsCharSlopeRise; + int otmsCharSlopeRun; + int otmItalicAngle; + UINT otmEMSquare; + int otmAscent; + int otmDescent; + UINT otmLineGap; + UINT otmsCapEmHeight; + UINT otmsXHeight; + RECT otmrcFontBox; + int otmMacAscent; + int otmMacDescent; + UINT otmMacLineGap; + UINT otmusMinimumPPEM; + POINT otmptSubscriptSize; + POINT otmptSubscriptOffset; + POINT otmptSuperscriptSize; + POINT otmptSuperscriptOffset; + UINT otmsStrikeoutSize; + int otmsStrikeoutPosition; + int otmsUnderscoreSize; + int otmsUnderscorePosition; + PSTR otmpFamilyName; + PSTR otmpFaceName; + PSTR otmpStyleName; + PSTR otmpFullName; +} OUTLINETEXTMETRICA,*POUTLINETEXTMETRICA,*LPOUTLINETEXTMETRICA; +typedef struct _OUTLINETEXTMETRICW { + UINT otmSize; + TEXTMETRICW otmTextMetrics; + BYTE otmFiller; + PANOSE otmPanoseNumber; + UINT otmfsSelection; + UINT otmfsType; + int otmsCharSlopeRise; + int otmsCharSlopeRun; + int otmItalicAngle; + UINT otmEMSquare; + int otmAscent; + int otmDescent; + UINT otmLineGap; + UINT otmsCapEmHeight; + UINT otmsXHeight; + RECT otmrcFontBox; + int otmMacAscent; + int otmMacDescent; + UINT otmMacLineGap; + UINT otmusMinimumPPEM; + POINT otmptSubscriptSize; + POINT otmptSubscriptOffset; + POINT otmptSuperscriptSize; + POINT otmptSuperscriptOffset; + UINT otmsStrikeoutSize; + int otmsStrikeoutPosition; + int otmsUnderscoreSize; + int otmsUnderscorePosition; + PSTR otmpFamilyName; + PSTR otmpFaceName; + PSTR otmpStyleName; + PSTR otmpFullName; +} OUTLINETEXTMETRICW,*POUTLINETEXTMETRICW,*LPOUTLINETEXTMETRICW; +typedef struct _RASTERIZER_STATUS { + short nSize; + short wFlags; + short nLanguageID; +} RASTERIZER_STATUS,*LPRASTERIZER_STATUS; +typedef struct _POLYTEXTA { + int x; + int y; + UINT n; + LPCSTR lpstr; + UINT uiFlags; + RECT rcl; + int *pdx; +} POLYTEXTA; +typedef struct _POLYTEXTW { + int x; + int y; + UINT n; + LPCWSTR lpstr; + UINT uiFlags; + RECT rcl; + int *pdx; +} POLYTEXTW; +typedef struct tagPIXELFORMATDESCRIPTOR { + WORD nSize; + WORD nVersion; + DWORD dwFlags; + BYTE iPixelType; + BYTE cColorBits; + BYTE cRedBits; + BYTE cRedShift; + BYTE cGreenBits; + BYTE cGreenShift; + BYTE cBlueBits; + BYTE cBlueShift; + BYTE cAlphaBits; + BYTE cAlphaShift; + BYTE cAccumBits; + BYTE cAccumRedBits; + BYTE cAccumGreenBits; + BYTE cAccumBlueBits; + BYTE cAccumAlphaBits; + BYTE cDepthBits; + BYTE cStencilBits; + BYTE cAuxBuffers; + BYTE iLayerType; + BYTE bReserved; + DWORD dwLayerMask; + DWORD dwVisibleMask; + DWORD dwDamageMask; +} PIXELFORMATDESCRIPTOR,*PPIXELFORMATDESCRIPTOR,*LPPIXELFORMATDESCRIPTOR; +typedef struct tagMETAFILEPICT { + LONG mm; + LONG xExt; + LONG yExt; + HMETAFILE hMF; +} METAFILEPICT,*LPMETAFILEPICT; +typedef struct tagLOCALESIGNATURE { + DWORD lsUsb[4]; + DWORD lsCsbDefault[2]; + DWORD lsCsbSupported[2]; +} LOCALESIGNATURE,*PLOCALESIGNATURE,*LPLOCALESIGNATURE; +typedef LONG LCSTYPE; +#pragma pack(push,4) +typedef struct tagNEWTEXTMETRICA { + LONG tmHeight; + LONG tmAscent; + LONG tmDescent; + LONG tmInternalLeading; + LONG tmExternalLeading; + LONG tmAveCharWidth; + LONG tmMaxCharWidth; + LONG tmWeight; + LONG tmOverhang; + LONG tmDigitizedAspectX; + LONG tmDigitizedAspectY; + BYTE tmFirstChar; + BYTE tmLastChar; + BYTE tmDefaultChar; + BYTE tmBreakChar; + BYTE tmItalic; + BYTE tmUnderlined; + BYTE tmStruckOut; + BYTE tmPitchAndFamily; + BYTE tmCharSet; + DWORD ntmFlags; + UINT ntmSizeEM; + UINT ntmCellHeight; + UINT ntmAvgWidth; +} NEWTEXTMETRICA,*PNEWTEXTMETRICA,*LPNEWTEXTMETRICA; +typedef struct tagNEWTEXTMETRICW { + LONG tmHeight; + LONG tmAscent; + LONG tmDescent; + LONG tmInternalLeading; + LONG tmExternalLeading; + LONG tmAveCharWidth; + LONG tmMaxCharWidth; + LONG tmWeight; + LONG tmOverhang; + LONG tmDigitizedAspectX; + LONG tmDigitizedAspectY; + WCHAR tmFirstChar; + WCHAR tmLastChar; + WCHAR tmDefaultChar; + WCHAR tmBreakChar; + BYTE tmItalic; + BYTE tmUnderlined; + BYTE tmStruckOut; + BYTE tmPitchAndFamily; + BYTE tmCharSet; + DWORD ntmFlags; + UINT ntmSizeEM; + UINT ntmCellHeight; + UINT ntmAvgWidth; +} NEWTEXTMETRICW,*PNEWTEXTMETRICW,*LPNEWTEXTMETRICW; +#pragma pack(pop) +typedef struct tagNEWTEXTMETRICEXA { + NEWTEXTMETRICA ntmTm; + FONTSIGNATURE ntmFontSig; +} NEWTEXTMETRICEXA; +typedef struct tagNEWTEXTMETRICEXW { + NEWTEXTMETRICW ntmTm; + FONTSIGNATURE ntmFontSig; +} NEWTEXTMETRICEXW; +typedef struct tagPELARRAY { + LONG paXCount; + LONG paYCount; + LONG paXExt; + LONG paYExt; + BYTE paRGBs; +} PELARRAY,*PPELARRAY,*LPPELARRAY; +typedef struct tagENUMLOGFONTA { + LOGFONTA elfLogFont; + BYTE elfFullName[LF_FULLFACESIZE]; + BYTE elfStyle[LF_FACESIZE]; +} ENUMLOGFONTA,*LPENUMLOGFONTA; +typedef struct tagENUMLOGFONTW { + LOGFONTW elfLogFont; + WCHAR elfFullName[LF_FULLFACESIZE]; + WCHAR elfStyle[LF_FACESIZE]; +} ENUMLOGFONTW,*LPENUMLOGFONTW; +typedef struct tagENUMLOGFONTEXA { + LOGFONTA elfLogFont; + BYTE elfFullName[LF_FULLFACESIZE]; + BYTE elfStyle[LF_FACESIZE]; + BYTE elfScript[LF_FACESIZE]; +} ENUMLOGFONTEXA,*LPENUMLOGFONTEXA; +typedef struct tagENUMLOGFONTEXW { + LOGFONTW elfLogFont; + WCHAR elfFullName[LF_FULLFACESIZE]; + BYTE elfStyle[LF_FACESIZE]; + BYTE elfScript[LF_FACESIZE]; +} ENUMLOGFONTEXW,*LPENUMLOGFONTEXW; +typedef struct tagPOINTFX { + FIXED x; + FIXED y; +} POINTFX,*LPPOINTFX; +typedef struct tagTTPOLYCURVE { + WORD wType; + WORD cpfx; + POINTFX apfx[1]; +} TTPOLYCURVE,*LPTTPOLYCURVE; +typedef struct tagTTPOLYGONHEADER { + DWORD cb; + DWORD dwType; + POINTFX pfxStart; +} TTPOLYGONHEADER,*LPTTPOLYGONHEADER; +typedef struct _POINTFLOAT { + FLOAT x; + FLOAT y; +} POINTFLOAT,*PPOINTFLOAT; +typedef struct _GLYPHMETRICSFLOAT { + FLOAT gmfBlackBoxX; + FLOAT gmfBlackBoxY; + POINTFLOAT gmfptGlyphOrigin; + FLOAT gmfCellIncX; + FLOAT gmfCellIncY; +} GLYPHMETRICSFLOAT,*PGLYPHMETRICSFLOAT,*LPGLYPHMETRICSFLOAT; +typedef struct tagLAYERPLANEDESCRIPTOR { + WORD nSize; + WORD nVersion; + DWORD dwFlags; + BYTE iPixelType; + BYTE cColorBits; + BYTE cRedBits; + BYTE cRedShift; + BYTE cGreenBits; + BYTE cGreenShift; + BYTE cBlueBits; + BYTE cBlueShift; + BYTE cAlphaBits; + BYTE cAlphaShift; + BYTE cAccumBits; + BYTE cAccumRedBits; + BYTE cAccumGreenBits; + BYTE cAccumBlueBits; + BYTE cAccumAlphaBits; + BYTE cDepthBits; + BYTE cStencilBits; + BYTE cAuxBuffers; + BYTE iLayerPlane; + BYTE bReserved; + COLORREF crTransparent; +} LAYERPLANEDESCRIPTOR,*PLAYERPLANEDESCRIPTOR,*LPLAYERPLANEDESCRIPTOR; +typedef BOOL (CALLBACK *ABORTPROC)(HDC,int); +typedef int (CALLBACK *MFENUMPROC)(HDC,HANDLETABLE*,METARECORD*,int,LPARAM); +typedef int (CALLBACK *ENHMFENUMPROC)(HDC,HANDLETABLE*,ENHMETARECORD*,int,LPARAM); +typedef int (CALLBACK *OLDFONTENUMPROCA)(const LOGFONTA*,const TEXTMETRICA*,DWORD,LPARAM); +typedef int (CALLBACK *OLDFONTENUMPROCW)(const LOGFONTW*,const TEXTMETRICW*,DWORD,LPARAM); +typedef OLDFONTENUMPROCA FONTENUMPROCA; +typedef OLDFONTENUMPROCW FONTENUMPROCW; +typedef int (CALLBACK *ICMENUMPROCA)(LPSTR,LPARAM); +typedef int (CALLBACK *ICMENUMPROCW)(LPWSTR,LPARAM); +typedef void (CALLBACK *GOBJENUMPROC)(LPVOID,LPARAM); +typedef void (CALLBACK *LINEDDAPROC)(int,int,LPARAM); + +#define RGB(r,g,b) ((DWORD)(((BYTE)(r)|((WORD)(g)<<8))|(((DWORD)(BYTE)(b))<<16))) +#define MAKEPOINTS(l) (*((POINTS*)&(l))) +#define MAKEROP4(f,b) (DWORD)((((b)<<8)&0xFF000000)|(f)) +#define PALETTEINDEX(i) ((0x01000000|(COLORREF)(WORD)(i))) +#define PALETTERGB(r,g,b) (0x02000000|RGB(r,g,b)) +int WINAPI AbortDoc(HDC); +BOOL WINAPI AbortPath(HDC); +int WINAPI AddFontResourceA(LPCSTR); +int WINAPI AddFontResourceW(LPCWSTR); +BOOL WINAPI AngleArc(HDC,int,int,DWORD,FLOAT,FLOAT); +BOOL WINAPI AnimatePalette(HPALETTE,UINT,UINT,const PALETTEENTRY*); +BOOL WINAPI Arc(HDC,int,int,int,int,int,int,int,int); +BOOL WINAPI ArcTo(HDC,int,int,int,int,int,int,int,int); +BOOL WINAPI BeginPath(HDC); +BOOL WINAPI BitBlt(HDC,int,int,int,int,HDC,int,int,DWORD); +BOOL WINAPI CancelDC(HDC); +BOOL WINAPI CheckColorsInGamut(HDC,PVOID,PVOID,DWORD); +BOOL WINAPI Chord(HDC,int,int,int,int,int,int,int,int); +int WINAPI ChoosePixelFormat(HDC,CONST PIXELFORMATDESCRIPTOR*); +HENHMETAFILE WINAPI CloseEnhMetaFile(HDC); +BOOL WINAPI CloseFigure(HDC); +HMETAFILE WINAPI CloseMetaFile(HDC); +BOOL WINAPI ColorMatchToTarget(HDC,HDC,DWORD); +int WINAPI CombineRgn(HRGN,HRGN,HRGN,int); +BOOL WINAPI CombineTransform(LPXFORM,const XFORM*,const XFORM*); +HENHMETAFILE WINAPI CopyEnhMetaFileA(HENHMETAFILE,LPCSTR); +HENHMETAFILE WINAPI CopyEnhMetaFileW(HENHMETAFILE,LPCWSTR); +HMETAFILE WINAPI CopyMetaFileA(HMETAFILE,LPCSTR); +HMETAFILE WINAPI CopyMetaFileW(HMETAFILE,LPCWSTR); +HBITMAP WINAPI CreateBitmap(int,int,UINT,UINT,PCVOID); +HBITMAP WINAPI CreateBitmapIndirect(const BITMAP*); +HBRUSH WINAPI CreateBrushIndirect(const LOGBRUSH*); +HCOLORSPACE WINAPI CreateColorSpaceA(LPLOGCOLORSPACEA); +HCOLORSPACE WINAPI CreateColorSpaceW(LPLOGCOLORSPACEW); +HBITMAP WINAPI CreateCompatibleBitmap(HDC,int,int); +HDC WINAPI CreateCompatibleDC(HDC); +HDC WINAPI CreateDCA(LPCSTR,LPCSTR,LPCSTR,const DEVMODEA*); +HDC WINAPI CreateDCW(LPCWSTR,LPCWSTR,LPCWSTR,const DEVMODEW*); +HBITMAP WINAPI CreateDIBitmap(HDC,const BITMAPINFOHEADER*,DWORD,PCVOID,const BITMAPINFO*,UINT); +HBRUSH WINAPI CreateDIBPatternBrush(HGLOBAL,UINT); +HBRUSH WINAPI CreateDIBPatternBrushPt(PCVOID,UINT); +HBITMAP WINAPI CreateDIBSection(HDC,const BITMAPINFO*,UINT,void**,HANDLE,DWORD); +HBITMAP WINAPI CreateDiscardableBitmap(HDC,int,int); +HRGN WINAPI CreateEllipticRgn(int,int,int,int); +HRGN WINAPI CreateEllipticRgnIndirect(LPCRECT); +HDC WINAPI CreateEnhMetaFileA(HDC,LPCSTR,LPCRECT,LPCSTR); +HDC WINAPI CreateEnhMetaFileW(HDC,LPCWSTR,LPCRECT,LPCWSTR); +HFONT WINAPI CreateFontA(int,int,int,int,int,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPCSTR); +HFONT WINAPI CreateFontW(int,int,int,int,int,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPCWSTR); +HFONT WINAPI CreateFontIndirectA(const LOGFONTA*); +HFONT WINAPI CreateFontIndirectW(const LOGFONTW*); +HPALETTE WINAPI CreateHalftonePalette(HDC); +HBRUSH WINAPI CreateHatchBrush(int,COLORREF); +HDC WINAPI CreateICA(LPCSTR,LPCSTR,LPCSTR,const DEVMODEA*); +HDC WINAPI CreateICW(LPCWSTR,LPCWSTR,LPCWSTR,const DEVMODEW*); +HDC WINAPI CreateMetaFileA(LPCSTR); +HDC WINAPI CreateMetaFileW(LPCWSTR); +HPALETTE WINAPI CreatePalette(const LOGPALETTE*); +HBRUSH WINAPI CreatePatternBrush(HBITMAP); +HPEN WINAPI CreatePen(int,int,COLORREF); +HPEN WINAPI CreatePenIndirect(const LOGPEN*); +HRGN WINAPI CreatePolygonRgn(const POINT*,int,int); +HRGN WINAPI CreatePolyPolygonRgn(const POINT*,const INT*,int,int); +HRGN WINAPI CreateRectRgn(int,int,int,int); +HRGN WINAPI CreateRectRgnIndirect(LPCRECT); +HRGN WINAPI CreateRoundRectRgn(int,int,int,int,int,int); +BOOL WINAPI CreateScalableFontResourceA(DWORD,LPCSTR,LPCSTR,LPCSTR); +BOOL WINAPI CreateScalableFontResourceW(DWORD,LPCWSTR,LPCWSTR,LPCWSTR); +HBRUSH WINAPI CreateSolidBrush(COLORREF); +BOOL WINAPI DeleteColorSpace(HCOLORSPACE); +BOOL WINAPI DeleteDC(HDC); +BOOL WINAPI DeleteEnhMetaFile(HENHMETAFILE); +BOOL WINAPI DeleteMetaFile(HMETAFILE); +BOOL WINAPI DeleteObject(HGDIOBJ); +int WINAPI DescribePixelFormat(HDC,int,UINT,LPPIXELFORMATDESCRIPTOR); +DWORD WINAPI DeviceCapabilitiesA(LPCSTR,LPCSTR,WORD,LPSTR,const DEVMODEA*); +DWORD WINAPI DeviceCapabilitiesW(LPCWSTR,LPCWSTR,WORD,LPWSTR,const DEVMODEW*); +BOOL WINAPI DPtoLP(HDC,LPPOINT,int); +int WINAPI DrawEscape(HDC,int,int,LPCSTR); +BOOL WINAPI Ellipse(HDC,int,int,int,int); +int WINAPI EndDoc(HDC); +int WINAPI EndPage(HDC); +BOOL WINAPI EndPath(HDC); +BOOL WINAPI EnumEnhMetaFile(HDC,HENHMETAFILE,ENHMFENUMPROC,PVOID,LPCRECT); +int WINAPI EnumFontFamiliesA(HDC,LPCSTR,FONTENUMPROCA,LPARAM); +int WINAPI EnumFontFamiliesW(HDC,LPCWSTR,FONTENUMPROCW,LPARAM); +int WINAPI EnumFontFamiliesExA(HDC,PLOGFONTA,FONTENUMPROCA,LPARAM,DWORD); +int WINAPI EnumFontFamiliesExW(HDC,PLOGFONTW,FONTENUMPROCW,LPARAM,DWORD); +int WINAPI EnumFontsA(HDC,LPCSTR,FONTENUMPROCA,LPARAM); +int WINAPI EnumFontsW(HDC,LPCWSTR,FONTENUMPROCA,LPARAM); +int WINAPI EnumICMProfilesA(HDC,ICMENUMPROCA,LPARAM); +int WINAPI EnumICMProfilesW(HDC,ICMENUMPROCW,LPARAM); +BOOL WINAPI EnumMetaFile(HDC,HMETAFILE,MFENUMPROC,LPARAM); +int WINAPI EnumObjects(HDC,int,GOBJENUMPROC,LPARAM); +BOOL WINAPI EqualRgn(HRGN,HRGN); +int WINAPI Escape(HDC,int,int,LPCSTR,PVOID); +int WINAPI ExcludeClipRect(HDC,int,int,int,int); +int WINAPI ExcludeUpdateRgn(HDC,HWND); +HPEN WINAPI ExtCreatePen(DWORD,DWORD,const LOGBRUSH*,DWORD,const DWORD*); +HRGN WINAPI ExtCreateRegion(const XFORM*,DWORD,const RGNDATA*); +int WINAPI ExtEscape(HDC,int,int,LPCSTR,int,LPSTR); +BOOL WINAPI ExtFloodFill(HDC,int,int,COLORREF,UINT); +int WINAPI ExtSelectClipRgn(HDC,HRGN,int); +BOOL WINAPI ExtTextOutA(HDC,int,int,UINT,LPCRECT,LPCSTR,UINT,const INT*); +BOOL WINAPI ExtTextOutW(HDC,int,int,UINT,LPCRECT,LPCWSTR,UINT,const INT*); +BOOL WINAPI FillPath(HDC); +int WINAPI FillRect(HDC,LPCRECT,HBRUSH); +int WINAPI FillRgn(HDC,HRGN,HBRUSH); +BOOL WINAPI FixBrushOrgEx(HDC,int,int,LPPOINT); +BOOL WINAPI FlattenPath(HDC); +BOOL WINAPI FloodFill(HDC,int,int,COLORREF); +BOOL WINAPI GdiComment(HDC,UINT,const BYTE*); +BOOL WINAPI GdiFlush(void); +DWORD WINAPI GdiGetBatchLimit(void); +DWORD WINAPI GdiSetBatchLimit(DWORD); +#define GetCValue(cmyk) ((BYTE)(cmyk)) +#define GetMValue(cmyk) ((BYTE)((cmyk)>> 8)) +#define GetYValue(cmyk) ((BYTE)((cmyk)>>16)) +#define GetKValue(cmyk) ((BYTE)((cmyk)>>24)) +#define CMYK(c,m,y,k) ((COLORREF)((((BYTE)(c)|((WORD)((BYTE)(m))<<8))|(((DWORD)(BYTE)(y))<<16))|(((DWORD)(BYTE)(k))<<24))) +#define GetRValue(c) ((BYTE)(c)) +#define GetGValue(c) ((BYTE)(((WORD)(c))>>8)) +#define GetBValue(c) ((BYTE)((c)>>16)) +int WINAPI GetArcDirection(HDC); +BOOL WINAPI GetAspectRatioFilterEx(HDC,LPSIZE); +LONG WINAPI GetBitmapBits(HBITMAP,LONG,PVOID); +BOOL WINAPI GetBitmapDimensionEx(HBITMAP,LPSIZE); +COLORREF WINAPI GetBkColor(HDC); +int WINAPI GetBkMode(HDC); +UINT WINAPI GetBoundsRect(HDC,LPRECT,UINT); +BOOL WINAPI GetBrushOrgEx(HDC,LPPOINT); +BOOL WINAPI GetCharABCWidthsA(HDC,UINT,UINT,LPABC); +BOOL WINAPI GetCharABCWidthsW(HDC,UINT,UINT,LPABC); +BOOL WINAPI GetCharABCWidthsFloatA(HDC,UINT,UINT,LPABCFLOAT); +BOOL WINAPI GetCharABCWidthsFloatW(HDC,UINT,UINT,LPABCFLOAT); +DWORD WINAPI GetCharacterPlacementA(HDC,LPCSTR,int,int,LPGCP_RESULTSA,DWORD); +DWORD WINAPI GetCharacterPlacementW(HDC,LPCWSTR,int,int,LPGCP_RESULTSW,DWORD); +BOOL WINAPI GetCharWidth32A(HDC,UINT,UINT,LPINT); +BOOL WINAPI GetCharWidth32W(HDC,UINT,UINT,LPINT); +BOOL WINAPI GetCharWidthA(HDC,UINT,UINT,LPINT); +BOOL WINAPI GetCharWidthW(HDC,UINT,UINT,LPINT); +BOOL WINAPI GetCharWidthFloatA(HDC,UINT,UINT,PFLOAT); +BOOL WINAPI GetCharWidthFloatW(HDC,UINT,UINT,PFLOAT); +int WINAPI GetClipBox(HDC,LPRECT); +int WINAPI GetClipRgn(HDC,HRGN); +BOOL WINAPI GetColorAdjustment(HDC,LPCOLORADJUSTMENT); +HANDLE WINAPI GetColorSpace(HDC); +HGDIOBJ WINAPI GetCurrentObject(HDC,UINT); +BOOL WINAPI GetCurrentPositionEx(HDC,LPPOINT); +HCURSOR WINAPI GetCursor(void); +BOOL WINAPI GetDCOrgEx(HDC,LPPOINT); +int WINAPI GetDeviceCaps(HDC,int); +BOOL WINAPI GetDeviceGammaRamp(HDC,PVOID); +UINT WINAPI GetDIBColorTable(HDC,UINT,UINT,RGBQUAD*); +int WINAPI GetDIBits(HDC,HBITMAP,UINT,UINT,PVOID,LPBITMAPINFO,UINT); +HENHMETAFILE WINAPI GetEnhMetaFileA(LPCSTR); +HENHMETAFILE WINAPI GetEnhMetaFileW(LPCWSTR); +UINT WINAPI GetEnhMetaFileDescriptionA(HENHMETAFILE,UINT,LPSTR); +UINT WINAPI GetEnhMetaFileDescriptionW(HENHMETAFILE,UINT,LPWSTR); +UINT WINAPI GetEnhMetaFileHeader(HENHMETAFILE,UINT,LPENHMETAHEADER); +UINT WINAPI GetEnhMetaFilePaletteEntries(HENHMETAFILE,UINT,LPPALETTEENTRY); +UINT WINAPI GetEnhMetaFilePixelFormat(HENHMETAFILE,DWORD,PIXELFORMATDESCRIPTOR*); +DWORD WINAPI GetFontData(HDC,DWORD,DWORD,PVOID,DWORD); +DWORD WINAPI GetFontLanguageInfo(HDC); +DWORD WINAPI GetGlyphOutlineA(HDC,UINT,UINT,LPGLYPHMETRICS,DWORD,PVOID,const MAT2*); +DWORD WINAPI GetGlyphOutlineW(HDC,UINT,UINT,LPGLYPHMETRICS,DWORD,PVOID,const MAT2*); +int WINAPI GetGraphicsMode(HDC); +BOOL WINAPI GetICMProfileA(HDC,DWORD,LPSTR); +BOOL WINAPI GetICMProfileW(HDC,DWORD,LPWSTR); +DWORD WINAPI GetKerningPairsA(HDC,DWORD,LPKERNINGPAIR); +DWORD WINAPI GetKerningPairsW(HDC,DWORD,LPKERNINGPAIR); +BOOL WINAPI GetLogColorSpaceA(HCOLORSPACE,LPLOGCOLORSPACEA,DWORD); +BOOL WINAPI GetLogColorSpaceW(HCOLORSPACE,LPLOGCOLORSPACEW,DWORD); +int WINAPI GetMapMode(HDC); +HMETAFILE WINAPI GetMetaFileA(LPCSTR); +HMETAFILE WINAPI GetMetaFileW(LPCWSTR); +UINT WINAPI GetMetaFileBitsEx(HMETAFILE,UINT,PVOID); +int WINAPI GetMetaRgn(HDC,HRGN); +BOOL WINAPI GetMiterLimit(HDC,PFLOAT); +COLORREF WINAPI GetNearestColor(HDC,COLORREF); +UINT WINAPI GetNearestPaletteIndex(HPALETTE,COLORREF); +int WINAPI GetObjectA(HGDIOBJ,int,PVOID); +int WINAPI GetObjectW(HGDIOBJ,int,PVOID); +DWORD WINAPI GetObjectType(HGDIOBJ); +UINT WINAPI GetOutlineTextMetricsA(HDC,UINT,LPOUTLINETEXTMETRICA); +UINT WINAPI GetOutlineTextMetricsW(HDC,UINT,LPOUTLINETEXTMETRICW); +UINT WINAPI GetPaletteEntries(HPALETTE,UINT,UINT,LPPALETTEENTRY); +int WINAPI GetPath(HDC,LPPOINT,PBYTE,int); +COLORREF WINAPI GetPixel(HDC,int,int); +int WINAPI GetPixelFormat(HDC); +int WINAPI GetPolyFillMode(HDC); +BOOL WINAPI GetRasterizerCaps(LPRASTERIZER_STATUS,UINT); +DWORD WINAPI GetRegionData(HRGN,DWORD,LPRGNDATA); +int WINAPI GetRgnBox(HRGN,LPRECT); +int WINAPI GetROP2(HDC); +HGDIOBJ WINAPI GetStockObject(int); +int WINAPI GetStretchBltMode(HDC); +UINT WINAPI GetSystemPaletteEntries(HDC,UINT,UINT,LPPALETTEENTRY); +UINT WINAPI GetSystemPaletteUse(HDC); +UINT WINAPI GetTextAlign(HDC); +int WINAPI GetTextCharacterExtra(HDC); +int WINAPI GetTextCharset(HDC); +int WINAPI GetTextCharsetInfo(HDC,LPFONTSIGNATURE,DWORD); +COLORREF WINAPI GetTextColor(HDC); +BOOL WINAPI GetTextExtentExPointA(HDC,LPCSTR,int,int,LPINT,LPINT,LPSIZE); +BOOL WINAPI GetTextExtentExPointW( HDC,LPCWSTR,int,int,LPINT,LPINT,LPSIZE ); +BOOL WINAPI GetTextExtentPointA(HDC,LPCSTR,int,LPSIZE); +BOOL WINAPI GetTextExtentPointW(HDC,LPCWSTR,int,LPSIZE); +BOOL WINAPI GetTextExtentPoint32A(HDC,LPCSTR,int,LPSIZE); +BOOL WINAPI GetTextExtentPoint32W( HDC,LPCWSTR,int,LPSIZE); +int WINAPI GetTextFaceA(HDC,int,LPSTR); +int WINAPI GetTextFaceW(HDC,int,LPWSTR); +BOOL WINAPI GetTextMetricsA(HDC,LPTEXTMETRICA); +BOOL WINAPI GetTextMetricsW(HDC,LPTEXTMETRICW); +BOOL WINAPI GetViewportExtEx(HDC,LPSIZE); +BOOL WINAPI GetViewportOrgEx(HDC,LPPOINT); +BOOL WINAPI GetWindowExtEx(HDC,LPSIZE); +BOOL WINAPI GetWindowOrgEx(HDC,LPPOINT); +UINT WINAPI GetWinMetaFileBits(HENHMETAFILE,UINT,LPBYTE,INT,HDC); +BOOL WINAPI GetWorldTransform(HDC,LPXFORM); +int WINAPI IntersectClipRect(HDC,int,int,int,int); +BOOL WINAPI InvertRgn(HDC,HRGN); +BOOL WINAPI LineDDA(int,int,int,int,LINEDDAPROC,LPARAM); +BOOL WINAPI LineTo(HDC,int,int); +BOOL WINAPI LPtoDP(HDC,LPPOINT,int); +BOOL WINAPI MaskBlt(HDC,int,int,int,int,HDC,int,int,HBITMAP,int,int,DWORD); +BOOL WINAPI ModifyWorldTransform(HDC,const XFORM*,DWORD); +BOOL WINAPI MoveToEx(HDC,int,int,LPPOINT); +int WINAPI OffsetClipRgn(HDC,int,int); +int WINAPI OffsetRgn(HRGN,int,int); +BOOL WINAPI OffsetViewportOrgEx(HDC,int,int,LPPOINT); +BOOL WINAPI OffsetWindowOrgEx(HDC,int,int,LPPOINT); +BOOL WINAPI PaintRgn(HDC,HRGN); +BOOL WINAPI PatBlt(HDC,int,int,int,int,DWORD); +HRGN WINAPI PathToRegion(HDC); +BOOL WINAPI Pie(HDC,int,int,int,int,int,int,int,int); +BOOL WINAPI PlayEnhMetaFile(HDC,HENHMETAFILE,LPCRECT); +BOOL WINAPI PlayEnhMetaFileRecord(HDC,LPHANDLETABLE,const ENHMETARECORD*,UINT); +BOOL WINAPI PlayMetaFile(HDC,HMETAFILE); +BOOL WINAPI PlayMetaFileRecord(HDC,LPHANDLETABLE,LPMETARECORD,UINT); +BOOL WINAPI PlgBlt(HDC,const POINT*,HDC,int,int,int,int,HBITMAP,int,int); +BOOL WINAPI PolyBezier(HDC,const POINT*,DWORD); +BOOL WINAPI PolyBezierTo(HDC,const POINT*,DWORD); +BOOL WINAPI PolyDraw(HDC,const POINT*,const BYTE*,int); +BOOL WINAPI Polygon(HDC,const POINT*,int); +BOOL WINAPI Polyline(HDC,const POINT*,int); +BOOL WINAPI PolylineTo(HDC,const POINT*,DWORD); +BOOL WINAPI PolyPolygon(HDC,const POINT*,const INT*,int); +BOOL WINAPI PolyPolyline(HDC,const POINT*,const DWORD*,DWORD); +BOOL WINAPI PolyTextOutA(HDC,const POLYTEXTA*,int); +BOOL WINAPI PolyTextOutW(HDC,const POLYTEXTW*,int); +BOOL WINAPI PtInRegion(HRGN,int,int); +BOOL WINAPI PtVisible(HDC,int,int); +UINT WINAPI RealizePalette(HDC); +BOOL WINAPI Rectangle(HDC,int,int,int,int); +BOOL WINAPI RectInRegion(HRGN,LPCRECT); +BOOL WINAPI RectVisible(HDC,LPCRECT); +BOOL WINAPI RemoveFontResourceA(LPCSTR); +BOOL WINAPI RemoveFontResourceW(LPCWSTR); +HDC WINAPI ResetDCA(HDC,const DEVMODEA*); +HDC WINAPI ResetDCW(HDC,const DEVMODEW*); +BOOL WINAPI ResizePalette(HPALETTE,UINT); +BOOL WINAPI RestoreDC(HDC,int); +BOOL WINAPI RoundRect(HDC,int,int,int,int,int,int); +int WINAPI SaveDC(HDC); +BOOL WINAPI ScaleViewportExtEx(HDC,int,int,int,int,LPSIZE); +BOOL WINAPI ScaleWindowExtEx(HDC,int,int,int,int,LPSIZE); +BOOL WINAPI SelectClipPath(HDC,int); +int WINAPI SelectClipRgn(HDC,HRGN); +HGDIOBJ WINAPI SelectObject(HDC,HGDIOBJ); +HPALETTE WINAPI SelectPalette(HDC,HPALETTE,BOOL); +int WINAPI SetAbortProc(HDC,ABORTPROC); +int WINAPI SetArcDirection(HDC,int); +LONG WINAPI SetBitmapBits(HBITMAP,DWORD,PCVOID); +BOOL WINAPI SetBitmapDimensionEx(HBITMAP,int,int,LPSIZE); +COLORREF WINAPI SetBkColor(HDC,COLORREF); +int WINAPI SetBkMode(HDC,int); +UINT WINAPI SetBoundsRect(HDC,LPCRECT,UINT); +BOOL WINAPI SetBrushOrgEx(HDC,int,int,LPPOINT); +BOOL WINAPI SetColorAdjustment(HDC,const COLORADJUSTMENT*); +BOOL WINAPI SetColorSpace(HDC,HCOLORSPACE); +BOOL WINAPI SetDeviceGammaRamp(HDC,PVOID); +UINT WINAPI SetDIBColorTable(HDC,UINT,UINT,const RGBQUAD*); +int WINAPI SetDIBits(HDC,HBITMAP,UINT,UINT,PCVOID,const BITMAPINFO*,UINT); +int WINAPI SetDIBitsToDevice(HDC,int,int,DWORD,DWORD,int,int,UINT,UINT,PCVOID,const BITMAPINFO*,UINT); +HENHMETAFILE WINAPI SetEnhMetaFileBits(UINT,const BYTE*); +int WINAPI SetGraphicsMode(HDC,int); +int WINAPI SetICMMode(HDC,int); +BOOL WINAPI SetICMProfileA(HDC,LPSTR); +BOOL WINAPI SetICMProfileW(HDC,LPWSTR); +int WINAPI SetMapMode(HDC,int); +DWORD WINAPI SetMapperFlags(HDC,DWORD); +HMETAFILE WINAPI SetMetaFileBitsEx(UINT,const BYTE *); +int WINAPI SetMetaRgn(HDC); +BOOL WINAPI SetMiterLimit(HDC,FLOAT,PFLOAT); +UINT WINAPI SetPaletteEntries(HPALETTE,UINT,UINT,const PALETTEENTRY*); +COLORREF WINAPI SetPixel(HDC,int,int,COLORREF); +BOOL WINAPI SetPixelFormat(HDC,int,PIXELFORMATDESCRIPTOR*); +BOOL WINAPI SetPixelV(HDC,int,int,COLORREF); +int WINAPI SetPolyFillMode(HDC,int); +BOOL WINAPI SetRectRgn(HRGN,int,int,int,int); +int WINAPI SetROP2(HDC,int); +int WINAPI SetStretchBltMode(HDC,int); +UINT WINAPI SetSystemPaletteUse(HDC,UINT); +UINT WINAPI SetTextAlign(HDC,UINT); +int WINAPI SetTextCharacterExtra(HDC,int); +COLORREF WINAPI SetTextColor(HDC,COLORREF); +BOOL WINAPI SetTextJustification(HDC,int,int); +BOOL WINAPI SetViewportExtEx(HDC,int,int,LPSIZE); +BOOL WINAPI SetViewportOrgEx(HDC,int,int,LPPOINT); +BOOL WINAPI SetWindowExtEx(HDC,int,int,LPSIZE); +BOOL WINAPI SetWindowOrgEx(HDC,int,int,LPPOINT); +HENHMETAFILE WINAPI SetWinMetaFileBits(UINT,const BYTE*,HDC,const METAFILEPICT*); +BOOL WINAPI SetWorldTransform(HDC,const XFORM *); +int WINAPI StartDocA(HDC,const DOCINFO*); +int WINAPI StartDocW(HDC,const DOCINFO*); +int WINAPI StartPage(HDC); +BOOL WINAPI StretchBlt(HDC,int,int,int,int,HDC,int,int,int,int,DWORD); +int WINAPI StretchDIBits(HDC,int,int,int,int,int,int,int,int,const VOID *,const BITMAPINFO *,UINT,DWORD); +BOOL WINAPI StrokeAndFillPath(HDC); +BOOL WINAPI StrokePath(HDC); +BOOL WINAPI SwapBuffers(HDC); +BOOL WINAPI TextOutA(HDC,int,int,LPCSTR,int); +BOOL WINAPI TextOutW(HDC,int,int,LPCWSTR,int); +BOOL WINAPI TranslateCharsetInfo(PDWORD,LPCHARSETINFO,DWORD); +BOOL WINAPI UnrealizeObject(HGDIOBJ); +BOOL WINAPI UpdateColors(HDC); +BOOL WINAPI UpdateICMRegKeyA(DWORD,DWORD,LPSTR,UINT); +BOOL WINAPI UpdateICMRegKeyW(DWORD,DWORD,LPWSTR,UINT); +BOOL WINAPI WidenPath(HDC); +BOOL WINAPI wglCopyContext(HGLRC,HGLRC,UINT); +HGLRC WINAPI wglCreateContext(HDC); +HGLRC WINAPI wglCreateLayerContext(HDC,int); +BOOL WINAPI wglDeleteContext(HGLRC); +BOOL WINAPI wglDescribeLayerPlane(HDC,int,int,UINT,LPLAYERPLANEDESCRIPTOR); +HGLRC WINAPI wglGetCurrentContext(void); +HDC WINAPI wglGetCurrentDC(void); +int WINAPI wglGetLayerPaletteEntries(HDC,int,int,int,COLORREF*); +PROC WINAPI wglGetProcAddress(LPCSTR); +BOOL WINAPI wglMakeCurrent(HDC,HGLRC); +BOOL WINAPI wglRealizeLayerPalette(HDC,int,BOOL); +int WINAPI wglSetLayerPaletteEntries(HDC,int,int,int,const COLORREF*); +BOOL WINAPI wglShareLists(HGLRC,HGLRC); +BOOL WINAPI wglSwapLayerBuffers(HDC,UINT); +BOOL WINAPI wglUseFontBitmapsA(HDC,DWORD,DWORD,DWORD); +BOOL WINAPI wglUseFontBitmapsW(HDC,DWORD,DWORD,DWORD); +BOOL WINAPI wglUseFontOutlinesA(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT); +BOOL WINAPI wglUseFontOutlinesW(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT); + +#ifdef UNICODE +typedef WCHAR BCHAR; +typedef LOGFONTW LOGFONT,*PLOGFONT,*LPLOGFONT; +typedef TEXTMETRICW TEXTMETRIC,*PTEXTMETRIC,*LPTEXTMETRIC; +#define ICMENUMPROC ICMENUMPROCW +#define FONTENUMPROC FONTENUMPROCW +typedef DEVMODEW DEVMODE,*PDEVMODE,*LPDEVMODE; +typedef EXTLOGFONTW EXTLOGFONT,*PEXTLOGFONT,*LPEXTLOGFONT; +typedef GCP_RESULTSW GCP_RESULTS,*LPGCP_RESULTS; +typedef OUTLINETEXTMETRICW OUTLINETEXTMETRIC,*POUTLINETEXTMETRIC,*LPOUTLINETEXTMETRIC; +typedef POLYTEXTW POLYTEXT; +typedef LOGCOLORSPACEW LOGCOLORSPACE,*LPLOGCOLORSPACE; +typedef NEWTEXTMETRICW NEWTEXTMETRIC,*PNEWTEXTMETRIC,*LPNEWTEXTMETRIC; +typedef NEWTEXTMETRICEXW NEWTEXTMETRICEX; +typedef ENUMLOGFONTW ENUMLOGFONT,*LPENUMLOGFONT; +typedef ENUMLOGFONTEXW ENUMLOGFONTEX,*LPENUMLOGFONTEX; +#define AddFontResource AddFontResourceW +#define CopyEnhMetaFile CopyEnhMetaFileW +#define CopyMetaFile CopyMetaFileW +#define CreateDC CreateDCW +#define CreateEnhMetaFile CreateEnhMetaFileW +#define CreateFont CreateFontW +#define CreateFontIndirect CreateFontIndirectW +#define CreateIC CreateICW +#define CreateMetaFile CreateMetaFileW +#define CreateScalableFontResource CreateScalableFontResourceW +#define DeviceCapabilities DeviceCapabilitiesW +#define EnumFontFamilies EnumFontFamiliesW +#define EnumFontFamiliesEx EnumFontFamiliesExW +#define EnumFonts EnumFontsW +#define EnumICMProfiles EnumICMProfilesW +#define ExtTextOut ExtTextOutW +#define GetCharABCWidthsFloat GetCharABCWidthsFloatW +#define GetCharABCWidths GetCharABCWidthsW +#define GetCharacterPlacement GetCharacterPlacementW +#define GetCharWidth32 GetCharWidth32W +#define GetCharWidthFloat GetCharWidthFloatW +#define GetCharWidth GetCharWidthW +#define GetEnhMetaFile GetEnhMetaFileW +#define GetEnhMetaFileDescription GetEnhMetaFileDescriptionW +#define GetGlyphOutline GetGlyphOutlineW +#define GetICMProfile GetICMProfileW +#define GetKerningPairs GetKerningPairsW +#define GetLogColorSpace GetLogColorSpaceW +#define GetMetaFile GetMetaFileW +#define GetObject GetObjectW +#define GetOutlineTextMetrics GetOutlineTextMetricsW +#define GetTextExtentPoint GetTextExtentPointW +#define GetTextExtentExPoint GetTextExtentExPointW +#define GetTextExtentPoint32 GetTextExtentPoint32W +#define GetTextFace GetTextFaceW +#define GetTextMetrics GetTextMetricsW +#define PolyTextOut PolyTextOutW +#define RemoveFontResource RemoveFontResourceW +#define ResetDC ResetDCW +#define SetICMProfile SetICMProfileW +#define StartDoc StartDocW +#define TextOut TextOutW +#define UpdateICMRegKey UpdateICMRegKeyW +#define wglUseFontBitmaps wglUseFontBitmapsW +#define wglUseFontOutlines wglUseFontOutlinesW +#else +typedef BYTE BCHAR; +typedef LOGFONTA LOGFONT,*PLOGFONT,*LPLOGFONT; +typedef TEXTMETRICA TEXTMETRIC,*PTEXTMETRIC,*LPTEXTMETRIC; +#define ICMENUMPROC ICMENUMPROCA +#define FONTENUMPROC FONTENUMPROCA +typedef DEVMODEA DEVMODE,*PDEVMODE,*LPDEVMODE; +typedef EXTLOGFONTA EXTLOGFONT,*PEXTLOGFONT,*LPEXTLOGFONT; +typedef GCP_RESULTSA GCP_RESULTS,*LPGCP_RESULTS; +typedef OUTLINETEXTMETRICA OUTLINETEXTMETRIC,*POUTLINETEXTMETRIC,*LPOUTLINETEXTMETRIC; +typedef POLYTEXTA POLYTEXT; +typedef LOGCOLORSPACEA LOGCOLORSPACE,*LPLOGCOLORSPACE; +typedef NEWTEXTMETRICA NEWTEXTMETRIC,*PNEWTEXTMETRIC,*LPNEWTEXTMETRIC; +typedef NEWTEXTMETRICEXA NEWTEXTMETRICEX; +typedef ENUMLOGFONTA ENUMLOGFONT,*LPENUMLOGFONT; +typedef ENUMLOGFONTEXA ENUMLOGFONTEX,*LPENUMLOGFONTEX; +#define AddFontResource AddFontResourceA +#define CopyEnhMetaFile CopyEnhMetaFileA +#define CopyMetaFile CopyMetaFileA +#define CreateDC CreateDCA +#define CreateEnhMetaFile CreateEnhMetaFileA +#define CreateFont CreateFontA +#define CreateFontIndirect CreateFontIndirectA +#define CreateIC CreateICA +#define CreateMetaFile CreateMetaFileA +#define CreateScalableFontResource CreateScalableFontResourceA +#define DeviceCapabilities DeviceCapabilitiesA +#define EnumFontFamilies EnumFontFamiliesA +#define EnumFontFamiliesEx EnumFontFamiliesExA +#define EnumFonts EnumFontsA +#define EnumICMProfiles EnumICMProfilesA +#define ExtTextOut ExtTextOutA +#define GetCharWidthFloat GetCharWidthFloatA +#define GetCharWidth GetCharWidthA +#define GetCharacterPlacement GetCharacterPlacementA +#define GetCharABCWidths GetCharABCWidthsA +#define GetCharABCWidthsFloat GetCharABCWidthsFloatA +#define GetCharWidth32 GetCharWidth32A +#define GetEnhMetaFile GetEnhMetaFileA +#define GetEnhMetaFileDescription GetEnhMetaFileDescriptionA +#define GetGlyphOutline GetGlyphOutlineA +#define GetICMProfile GetICMProfileA +#define GetKerningPairs GetKerningPairsA +#define GetLogColorSpace GetLogColorSpaceA +#define GetMetaFile GetMetaFileA +#define GetObject GetObjectA +#define GetOutlineTextMetrics GetOutlineTextMetricsA +#define GetTextExtentPoint GetTextExtentPointA +#define GetTextExtentExPoint GetTextExtentExPointA +#define GetTextExtentPoint32 GetTextExtentPoint32A +#define GetTextFace GetTextFaceA +#define GetTextMetrics GetTextMetricsA +#define PolyTextOut PolyTextOutA +#define RemoveFontResource RemoveFontResourceA +#define ResetDC ResetDCA +#define SetICMProfile SetICMProfileA +#define StartDoc StartDocA +#define TextOut TextOutA +#define UpdateICMRegKey UpdateICMRegKeyA +#define wglUseFontBitmaps wglUseFontBitmapsA +#define wglUseFontOutlines wglUseFontOutlinesA +#endif +#endif +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/wininet.h b/winsup/w32api/include/wininet.h new file mode 100644 index 000000000..007d8a0de --- /dev/null +++ b/winsup/w32api/include/wininet.h @@ -0,0 +1,881 @@ +#ifndef _WININET_H +#define _WININET_H +#include <windows.h> +#ifdef __cplusplus +extern "C" { +#endif +#define INTERNET_INVALID_PORT_NUMBER 0 +#define INTERNET_DEFAULT_FTP_PORT 21 +#define INTERNET_DEFAULT_GOPHER_PORT 70 +#define INTERNET_DEFAULT_HTTP_PORT 80 +#define INTERNET_DEFAULT_HTTPS_PORT 443 +#define INTERNET_DEFAULT_SOCKS_PORT 1080 +#define MAX_CACHE_ENTRY_INFO_SIZE 4096 +#define INTERNET_MAX_HOST_NAME_LENGTH 256 +#define INTERNET_MAX_USER_NAME_LENGTH 128 +#define INTERNET_MAX_PASSWORD_LENGTH 128 +#define INTERNET_MAX_PORT_NUMBER_LENGTH 5 +#define INTERNET_MAX_PORT_NUMBER_VALUE 65535 +#define INTERNET_MAX_PATH_LENGTH 2048 +#define INTERNET_MAX_SCHEME_LENGTH 32 +#define INTERNET_MAX_URL_LENGTH (INTERNET_MAX_SCHEME_LENGTH+sizeof("://")+INTERNET_MAX_PATH_LENGTH) +#define INTERNET_KEEP_ALIVE_UNKNOWN ((DWORD)-1) +#define INTERNET_KEEP_ALIVE_ENABLED 1 +#define INTERNET_KEEP_ALIVE_DISABLED 0 +#define INTERNET_REQFLAG_FROM_CACHE 1 +#define INTERNET_REQFLAG_ASYNC 2 +#define INTERNET_FLAG_RELOAD 0x80000000 +#define INTERNET_FLAG_RAW_DATA 0x40000000 +#define INTERNET_FLAG_EXISTING_CONNECT 0x20000000 +#define INTERNET_FLAG_ASYNC 0x10000000 +#define INTERNET_FLAG_PASSIVE 0x08000000 +#define INTERNET_FLAG_NO_CACHE_WRITE 0x04000000 +#define INTERNET_FLAG_DONT_CACHE INTERNET_FLAG_NO_CACHE_WRITE +#define INTERNET_FLAG_MAKE_PERSISTENT 0x02000000 +#define INTERNET_FLAG_OFFLINE 0x1000000 +#define INTERNET_FLAG_SECURE 0x800000 +#define INTERNET_FLAG_KEEP_CONNECTION 0x400000 +#define INTERNET_FLAG_NO_AUTO_REDIRECT 0x200000 +#define INTERNET_FLAG_READ_PREFETCH 0x100000 +#define INTERNET_FLAG_NO_COOKIES 0x80000 +#define INTERNET_FLAG_NO_AUTH 0x40000 +#define INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP 0x8000 +#define INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS 0x4000 +#define INTERNET_FLAG_IGNORE_CERT_DATE_INVALID 0x2000 +#define INTERNET_FLAG_IGNORE_CERT_CN_INVALID 0x1000 +#define INTERNET_FLAG_MUST_CACHE_REQUEST 16 +#define INTERNET_FLAG_RESYNCHRONIZE 0x800 +#define INTERNET_FLAG_HYPERLINK 0x400 +#define INTERNET_FLAG_NO_UI 0x200 +#define INTERNET_FLAG_TRANSFER_ASCII FTP_TRANSFER_TYPE_ASCII +#define INTERNET_FLAG_TRANSFER_BINARY FTP_TRANSFER_TYPE_BINARY +#define SECURITY_INTERNET_MASK (INTERNET_FLAG_IGNORE_CERT_CN_INVALID|INTERNET_FLAG_IGNORE_CERT_DATE_INVALID|INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS|INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP) +#define SECURITY_SET_MASK SECURITY_INTERNET_MASK +#define INTERNET_FLAGS_MASK (INTERNET_FLAG_RELOAD|INTERNET_FLAG_RAW_DATA|INTERNET_FLAG_EXISTING_CONNECT|\ +INTERNET_FLAG_ASYNC|INTERNET_FLAG_PASSIVE|INTERNET_FLAG_NO_CACHE_WRITE|INTERNET_FLAG_MAKE_PERSISTENT|INTERNET_FLAG_OFFLINE|\ +INTERNET_FLAG_SECURE|INTERNET_FLAG_KEEP_CONNECTION|INTERNET_FLAG_NO_AUTO_REDIRECT|INTERNET_FLAG_READ_PREFETCH |\ +INTERNET_FLAG_NO_COOKIES|INTERNET_FLAG_NO_AUTH|SECURITY_INTERNET_MASK|INTERNET_FLAG_TRANSFER_ASCII|INTERNET_FLAG_TRANSFER_BINARY\ +|INTERNET_FLAG_RESYNCHRONIZE|INTERNET_FLAG_MUST_CACHE_REQUEST|INTERNET_FLAG_HYPERLINK|INTERNET_FLAG_NO_UI) +#define INTERNET_OPTIONS_MASK (~INTERNET_FLAGS_MASK) +#define INTERNET_NO_CALLBACK 0 +#define INTERNET_RFC1123_FORMAT 0 +#define INTERNET_RFC1123_BUFSIZE 30 +#define ICU_ESCAPE 0x80000000 +#define ICU_USERNAME 0x40000000 +#define ICU_NO_ENCODE 0x20000000 +#define ICU_DECODE 0x10000000 +#define ICU_NO_META 0x08000000 +#define ICU_ENCODE_SPACES_ONLY 0x04000000 +#define ICU_BROWSER_MODE 0x02000000 +#define INTERNET_OPEN_TYPE_PRECONFIG 0 +#define INTERNET_OPEN_TYPE_DIRECT 1 +#define INTERNET_OPEN_TYPE_PROXY 3 +#define PRE_CONFIG_INTERNET_ACCESS INTERNET_OPEN_TYPE_PRECONFIG +#define LOCAL_INTERNET_ACCESS INTERNET_OPEN_TYPE_DIRECT +#define GATEWAY_INTERNET_ACCESS 2 +#define CERN_PROXY_INTERNET_ACCESS INTERNET_OPEN_TYPE_PROXY +#define ISO_GLOBAL 1 +#define ISO_REGISTRY 2 +#define ISO_VALID_FLAGS (ISO_GLOBAL | ISO_REGISTRY) +#define INTERNET_OPTION_CALLBACK 1 +#define INTERNET_OPTION_CONNECT_TIMEOUT 2 +#define INTERNET_OPTION_CONNECT_RETRIES 3 +#define INTERNET_OPTION_CONNECT_BACKOFF 4 +#define INTERNET_OPTION_SEND_TIMEOUT 5 +#define INTERNET_OPTION_CONTROL_SEND_TIMEOUT INTERNET_OPTION_SEND_TIMEOUT +#define INTERNET_OPTION_RECEIVE_TIMEOUT 6 +#define INTERNET_OPTION_CONTROL_RECEIVE_TIMEOUT INTERNET_OPTION_RECEIVE_TIMEOUT +#define INTERNET_OPTION_DATA_SEND_TIMEOUT 7 +#define INTERNET_OPTION_DATA_RECEIVE_TIMEOUT 8 +#define INTERNET_OPTION_HANDLE_TYPE 9 +#define INTERNET_OPTION_CONTEXT_VALUE 10 +#define INTERNET_OPTION_LISTEN_TIMEOUT 11 +#define INTERNET_OPTION_READ_BUFFER_SIZE 12 +#define INTERNET_OPTION_WRITE_BUFFER_SIZE 13 +#define INTERNET_OPTION_ASYNC_ID 15 +#define INTERNET_OPTION_ASYNC_PRIORITY 16 +#define INTERNET_OPTION_PARENT_HANDLE 21 +#define INTERNET_OPTION_KEEP_CONNECTION 22 +#define INTERNET_OPTION_REQUEST_FLAGS 23 +#define INTERNET_OPTION_EXTENDED_ERROR 24 +#define INTERNET_OPTION_OFFLINE_MODE 26 +#define INTERNET_OPTION_CACHE_STREAM_HANDLE 27 +#define INTERNET_OPTION_USERNAME 28 +#define INTERNET_OPTION_PASSWORD 29 +#define INTERNET_OPTION_ASYNC 30 +#define INTERNET_OPTION_SECURITY_FLAGS 31 +#define INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT 32 +#define INTERNET_OPTION_DATAFILE_NAME 33 +#define INTERNET_OPTION_URL 34 +#define INTERNET_OPTION_SECURITY_CERTIFICATE 35 +#define INTERNET_OPTION_SECURITY_KEY_BITNESS 36 +#define INTERNET_OPTION_REFRESH 37 +#define INTERNET_OPTION_PROXY 38 +#define INTERNET_OPTION_SETTINGS_CHANGED 39 +#define INTERNET_OPTION_VERSION 40 +#define INTERNET_OPTION_USER_AGENT 41 +#define INTERNET_FIRST_OPTION INTERNET_OPTION_CALLBACK +#define INTERNET_LAST_OPTION INTERNET_OPTION_USER_AGENT +#define INTERNET_PRIORITY_FOREGROUND 1000 +#define INTERNET_HANDLE_TYPE_INTERNET 1 +#define INTERNET_HANDLE_TYPE_CONNECT_FTP 2 +#define INTERNET_HANDLE_TYPE_CONNECT_GOPHER 3 +#define INTERNET_HANDLE_TYPE_CONNECT_HTTP 4 +#define INTERNET_HANDLE_TYPE_FTP_FIND 5 +#define INTERNET_HANDLE_TYPE_FTP_FIND_HTML 6 +#define INTERNET_HANDLE_TYPE_FTP_FILE 7 +#define INTERNET_HANDLE_TYPE_FTP_FILE_HTML 8 +#define INTERNET_HANDLE_TYPE_GOPHER_FIND 9 +#define INTERNET_HANDLE_TYPE_GOPHER_FIND_HTML 10 +#define INTERNET_HANDLE_TYPE_GOPHER_FILE 11 +#define INTERNET_HANDLE_TYPE_GOPHER_FILE_HTML 12 +#define INTERNET_HANDLE_TYPE_HTTP_REQUEST 13 +#define SECURITY_FLAG_SECURE 1 +#define SECURITY_FLAG_SSL 2 +#define SECURITY_FLAG_SSL3 4 +#define SECURITY_FLAG_PCT 8 +#define SECURITY_FLAG_PCT4 16 +#define SECURITY_FLAG_IETFSSL4 0x20 +#define SECURITY_FLAG_40BIT 0x10000000 +#define SECURITY_FLAG_128BIT 0x20000000 +#define SECURITY_FLAG_56BIT 0x40000000 +#define SECURITY_FLAG_UNKNOWNBIT 0x80000000 +#define SECURITY_FLAG_NORMALBITNESS SECURITY_FLAG_40BIT +#define SECURITY_FLAG_IGNORE_CERT_CN_INVALID INTERNET_FLAG_IGNORE_CERT_CN_INVALID +#define SECURITY_FLAG_IGNORE_CERT_DATE_INVALID INTERNET_FLAG_IGNORE_CERT_DATE_INVALID +#define SECURITY_FLAG_IGNORE_REDIRECT_TO_HTTPS INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS +#define SECURITY_FLAG_IGNORE_REDIRECT_TO_HTTP INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP +#define INTERNET_SERVICE_FTP 1 +#define INTERNET_SERVICE_GOPHER 2 +#define INTERNET_SERVICE_HTTP 3 +#define INTERNET_STATUS_RESOLVING_NAME 10 +#define INTERNET_STATUS_NAME_RESOLVED 11 +#define INTERNET_STATUS_CONNECTING_TO_SERVER 20 +#define INTERNET_STATUS_CONNECTED_TO_SERVER 21 +#define INTERNET_STATUS_SENDING_REQUEST 30 +#define INTERNET_STATUS_REQUEST_SENT 31 +#define INTERNET_STATUS_RECEIVING_RESPONSE 40 +#define INTERNET_STATUS_RESPONSE_RECEIVED 41 +#define INTERNET_STATUS_CTL_RESPONSE_RECEIVED 42 +#define INTERNET_STATUS_PREFETCH 43 +#define INTERNET_STATUS_CLOSING_CONNECTION 50 +#define INTERNET_STATUS_CONNECTION_CLOSED 51 +#define INTERNET_STATUS_HANDLE_CREATED 60 +#define INTERNET_STATUS_HANDLE_CLOSING 70 +#define INTERNET_STATUS_REQUEST_COMPLETE 100 +#define INTERNET_STATUS_REDIRECT 110 +#define INTERNET_INVALID_STATUS_CALLBACK ((INTERNET_STATUS_CALLBACK)(-1L)) +#define FTP_TRANSFER_TYPE_UNKNOWN 0 +#define FTP_TRANSFER_TYPE_ASCII 1 +#define FTP_TRANSFER_TYPE_BINARY 2 +#define FTP_TRANSFER_TYPE_MASK (FTP_TRANSFER_TYPE_ASCII | FTP_TRANSFER_TYPE_BINARY) +#define MAX_GOPHER_DISPLAY_TEXT 128 +#define MAX_GOPHER_SELECTOR_TEXT 256 +#define MAX_GOPHER_HOST_NAME INTERNET_MAX_HOST_NAME_LENGTH +#define MAX_GOPHER_LOCATOR_LENGTH (1+MAX_GOPHER_DISPLAY_TEXT+1+MAX_GOPHER_SELECTOR_TEXT+1+MAX_GOPHER_HOST_NAME+1+INTERNET_MAX_PORT_NUMBER_LENGTH+1+1+2) +#define GOPHER_TYPE_TEXT_FILE 1 +#define GOPHER_TYPE_DIRECTORY 2 +#define GOPHER_TYPE_CSO 4 +#define GOPHER_TYPE_ERROR 8 +#define GOPHER_TYPE_MAC_BINHEX 16 +#define GOPHER_TYPE_DOS_ARCHIVE 32 +#define GOPHER_TYPE_UNIX_UUENCODED 64 +#define GOPHER_TYPE_INDEX_SERVER 128 +#define GOPHER_TYPE_TELNET 256 +#define GOPHER_TYPE_BINARY 512 +#define GOPHER_TYPE_REDUNDANT 1024 +#define GOPHER_TYPE_TN3270 0x800 +#define GOPHER_TYPE_GIF 0x1000 +#define GOPHER_TYPE_IMAGE 0x2000 +#define GOPHER_TYPE_BITMAP 0x4000 +#define GOPHER_TYPE_MOVIE 0x8000 +#define GOPHER_TYPE_SOUND 0x10000 +#define GOPHER_TYPE_HTML 0x20000 +#define GOPHER_TYPE_PDF 0x40000 +#define GOPHER_TYPE_CALENDAR 0x80000 +#define GOPHER_TYPE_INLINE 0x100000 +#define GOPHER_TYPE_UNKNOWN 0x20000000 +#define GOPHER_TYPE_ASK 0x40000000 +#define GOPHER_TYPE_GOPHER_PLUS 0x80000000 +#define IS_GOPHER_FILE(t) (BOOL)(((t)&GOPHER_TYPE_FILE_MASK)?TRUE:FALSE) +#define IS_GOPHER_DIRECTORY(t) (BOOL)(((t)&GOPHER_TYPE_DIRECTORY)?TRUE:FALSE) +#define IS_GOPHER_PHONE_SERVER(t) (BOOL)(((t)&GOPHER_TYPE_CSO)?TRUE:FALSE) +#define IS_GOPHER_ERROR(t) (BOOL)(((t)&GOPHER_TYPE_ERROR)?TRUE:FALSE) +#define IS_GOPHER_INDEX_SERVER(t) (BOOL)(((t)&GOPHER_TYPE_INDEX_SERVER)?TRUE:FALSE) +#define IS_GOPHER_TELNET_SESSION(t) (BOOL)(((t)&GOPHER_TYPE_TELNET)?TRUE:FALSE) +#define IS_GOPHER_BACKUP_SERVER(t) (BOOL)(((t)&GOPHER_TYPE_REDUNDANT)?TRUE:FALSE) +#define IS_GOPHER_TN3270_SESSION(t) (BOOL)(((t)&GOPHER_TYPE_TN3270)?TRUE:FALSE) +#define IS_GOPHER_ASK(t) (BOOL)(((t)&GOPHER_TYPE_ASK)?TRUE:FALSE) +#define IS_GOPHER_PLUS(t) (BOOL)(((t)&GOPHER_TYPE_GOPHER_PLUS)?TRUE:FALSE) +#define IS_GOPHER_TYPE_KNOWN(t) (BOOL)(((t)&GOPHER_TYPE_UNKNOWN)?FALSE:TRUE) +#define GOPHER_TYPE_FILE_MASK (GOPHER_TYPE_TEXT_FILE|GOPHER_TYPE_MAC_BINHEX|GOPHER_TYPE_DOS_ARCHIVE|\ +GOPHER_TYPE_UNIX_UUENCODED|GOPHER_TYPE_BINARY|GOPHER_TYPE_GIF|GOPHER_TYPE_IMAGE|GOPHER_TYPE_BITMAP\ +|GOPHER_TYPE_MOVIE|GOPHER_TYPE_SOUND|GOPHER_TYPE_HTML|GOPHER_TYPE_PDF|GOPHER_TYPE_CALENDAR|GOPHER_TYPE_INLINE) +#define MAX_GOPHER_CATEGORY_NAME 128 +#define MAX_GOPHER_ATTRIBUTE_NAME 128 +#define MIN_GOPHER_ATTRIBUTE_LENGTH 256 +#define GOPHER_INFO_CATEGORY TEXT("+INFO") +#define GOPHER_ADMIN_CATEGORY TEXT("+ADMIN") +#define GOPHER_VIEWS_CATEGORY TEXT("+VIEWS") +#define GOPHER_ABSTRACT_CATEGORY TEXT("+ABSTRACT") +#define GOPHER_VERONICA_CATEGORY TEXT("+VERONICA") +#define GOPHER_ADMIN_ATTRIBUTE TEXT("Admin") +#define GOPHER_MOD_DATE_ATTRIBUTE TEXT("Mod-Date") +#define GOPHER_TTL_ATTRIBUTE TEXT("TTL") +#define GOPHER_SCORE_ATTRIBUTE TEXT("Score") +#define GOPHER_RANGE_ATTRIBUTE TEXT("Score-range") +#define GOPHER_SITE_ATTRIBUTE TEXT("Site") +#define GOPHER_ORG_ATTRIBUTE TEXT("Org") +#define GOPHER_LOCATION_ATTRIBUTE TEXT("Loc") +#define GOPHER_GEOG_ATTRIBUTE TEXT("Geog") +#define GOPHER_TIMEZONE_ATTRIBUTE TEXT("TZ") +#define GOPHER_PROVIDER_ATTRIBUTE TEXT("Provider") +#define GOPHER_VERSION_ATTRIBUTE TEXT("Version") +#define GOPHER_ABSTRACT_ATTRIBUTE TEXT("Abstract") +#define GOPHER_VIEW_ATTRIBUTE TEXT("View") +#define GOPHER_TREEWALK_ATTRIBUTE TEXT("treewalk") +#define GOPHER_ATTRIBUTE_ID_BASE 0xabcccc00 +#define GOPHER_CATEGORY_ID_ALL (GOPHER_ATTRIBUTE_ID_BASE+1) +#define GOPHER_CATEGORY_ID_INFO (GOPHER_ATTRIBUTE_ID_BASE+2) +#define GOPHER_CATEGORY_ID_ADMIN (GOPHER_ATTRIBUTE_ID_BASE+3) +#define GOPHER_CATEGORY_ID_VIEWS (GOPHER_ATTRIBUTE_ID_BASE+4) +#define GOPHER_CATEGORY_ID_ABSTRACT (GOPHER_ATTRIBUTE_ID_BASE+5) +#define GOPHER_CATEGORY_ID_VERONICA (GOPHER_ATTRIBUTE_ID_BASE+6) +#define GOPHER_CATEGORY_ID_ASK (GOPHER_ATTRIBUTE_ID_BASE+7) +#define GOPHER_CATEGORY_ID_UNKNOWN (GOPHER_ATTRIBUTE_ID_BASE+8) +#define GOPHER_ATTRIBUTE_ID_ALL (GOPHER_ATTRIBUTE_ID_BASE+9) +#define GOPHER_ATTRIBUTE_ID_ADMIN (GOPHER_ATTRIBUTE_ID_BASE+10) +#define GOPHER_ATTRIBUTE_ID_MOD_DATE (GOPHER_ATTRIBUTE_ID_BASE+11) +#define GOPHER_ATTRIBUTE_ID_TTL (GOPHER_ATTRIBUTE_ID_BASE+12) +#define GOPHER_ATTRIBUTE_ID_SCORE (GOPHER_ATTRIBUTE_ID_BASE+13) +#define GOPHER_ATTRIBUTE_ID_RANGE (GOPHER_ATTRIBUTE_ID_BASE+14) +#define GOPHER_ATTRIBUTE_ID_SITE (GOPHER_ATTRIBUTE_ID_BASE+15) +#define GOPHER_ATTRIBUTE_ID_ORG (GOPHER_ATTRIBUTE_ID_BASE+16) +#define GOPHER_ATTRIBUTE_ID_LOCATION (GOPHER_ATTRIBUTE_ID_BASE+17) +#define GOPHER_ATTRIBUTE_ID_GEOG (GOPHER_ATTRIBUTE_ID_BASE+18) +#define GOPHER_ATTRIBUTE_ID_TIMEZONE (GOPHER_ATTRIBUTE_ID_BASE+19) +#define GOPHER_ATTRIBUTE_ID_PROVIDER (GOPHER_ATTRIBUTE_ID_BASE+20) +#define GOPHER_ATTRIBUTE_ID_VERSION (GOPHER_ATTRIBUTE_ID_BASE+21) +#define GOPHER_ATTRIBUTE_ID_ABSTRACT (GOPHER_ATTRIBUTE_ID_BASE+22) +#define GOPHER_ATTRIBUTE_ID_VIEW (GOPHER_ATTRIBUTE_ID_BASE+23) +#define GOPHER_ATTRIBUTE_ID_TREEWALK (GOPHER_ATTRIBUTE_ID_BASE+24) +#define GOPHER_ATTRIBUTE_ID_UNKNOWN (GOPHER_ATTRIBUTE_ID_BASE+25) +#define HTTP_MAJOR_VERSION 1 +#define HTTP_MINOR_VERSION 0 +#define HTTP_VERSION TEXT("HTTP/1.0") +#define HTTP_QUERY_MIME_VERSION 0 +#define HTTP_QUERY_CONTENT_TYPE 1 +#define HTTP_QUERY_CONTENT_TRANSFER_ENCODING 2 +#define HTTP_QUERY_CONTENT_ID 3 +#define HTTP_QUERY_CONTENT_DESCRIPTION 4 +#define HTTP_QUERY_CONTENT_LENGTH 5 +#define HTTP_QUERY_CONTENT_LANGUAGE 6 +#define HTTP_QUERY_ALLOW 7 +#define HTTP_QUERY_PUBLIC 8 +#define HTTP_QUERY_DATE 9 +#define HTTP_QUERY_EXPIRES 10 +#define HTTP_QUERY_LAST_MODIFIED 11 +#define HTTP_QUERY_MESSAGE_ID 12 +#define HTTP_QUERY_URI 13 +#define HTTP_QUERY_DERIVED_FROM 14 +#define HTTP_QUERY_COST 15 +#define HTTP_QUERY_LINK 16 +#define HTTP_QUERY_PRAGMA 17 +#define HTTP_QUERY_VERSION 18 +#define HTTP_QUERY_STATUS_CODE 19 +#define HTTP_QUERY_STATUS_TEXT 20 +#define HTTP_QUERY_RAW_HEADERS 21 +#define HTTP_QUERY_RAW_HEADERS_CRLF 22 +#define HTTP_QUERY_CONNECTION 23 +#define HTTP_QUERY_ACCEPT 24 +#define HTTP_QUERY_ACCEPT_CHARSET 25 +#define HTTP_QUERY_ACCEPT_ENCODING 26 +#define HTTP_QUERY_ACCEPT_LANGUAGE 27 +#define HTTP_QUERY_AUTHORIZATION 28 +#define HTTP_QUERY_CONTENT_ENCODING 29 +#define HTTP_QUERY_FORWARDED 30 +#define HTTP_QUERY_FROM 31 +#define HTTP_QUERY_IF_MODIFIED_SINCE 32 +#define HTTP_QUERY_LOCATION 33 +#define HTTP_QUERY_ORIG_URI 34 +#define HTTP_QUERY_REFERER 35 +#define HTTP_QUERY_RETRY_AFTER 36 +#define HTTP_QUERY_SERVER 37 +#define HTTP_QUERY_TITLE 38 +#define HTTP_QUERY_USER_AGENT 39 +#define HTTP_QUERY_WWW_AUTHENTICATE 40 +#define HTTP_QUERY_PROXY_AUTHENTICATE 41 +#define HTTP_QUERY_ACCEPT_RANGES 42 +#define HTTP_QUERY_SET_COOKIE 43 +#define HTTP_QUERY_COOKIE 44 +#define HTTP_QUERY_REQUEST_METHOD 45 +#define HTTP_QUERY_MAX 45 +#define HTTP_QUERY_CUSTOM 65535 +#define HTTP_QUERY_FLAG_REQUEST_HEADERS 0x80000000 +#define HTTP_QUERY_FLAG_SYSTEMTIME 0x40000000 +#define HTTP_QUERY_FLAG_NUMBER 0x20000000 +#define HTTP_QUERY_FLAG_COALESCE 0x10000000 +#define HTTP_QUERY_MODIFIER_FLAGS_MASK (HTTP_QUERY_FLAG_REQUEST_HEADERS|HTTP_QUERY_FLAG_SYSTEMTIME|HTTP_QUERY_FLAG_NUMBER|HTTP_QUERY_FLAG_COALESCE) +#define HTTP_QUERY_HEADER_MASK (~HTTP_QUERY_MODIFIER_FLAGS_MASK) +#define HTTP_STATUS_OK 200 +#define HTTP_STATUS_CREATED 201 +#define HTTP_STATUS_ACCEPTED 202 +#define HTTP_STATUS_PARTIAL 203 +#define HTTP_STATUS_NO_CONTENT 204 +#define HTTP_STATUS_AMBIGUOUS 300 +#define HTTP_STATUS_MOVED 301 +#define HTTP_STATUS_REDIRECT 302 +#define HTTP_STATUS_REDIRECT_METHOD 303 +#define HTTP_STATUS_NOT_MODIFIED 304 +#define HTTP_STATUS_BAD_REQUEST 400 +#define HTTP_STATUS_DENIED 401 +#define HTTP_STATUS_PAYMENT_REQ 402 +#define HTTP_STATUS_FORBIDDEN 403 +#define HTTP_STATUS_NOT_FOUND 404 +#define HTTP_STATUS_BAD_METHOD 405 +#define HTTP_STATUS_NONE_ACCEPTABLE 406 +#define HTTP_STATUS_PROXY_AUTH_REQ 407 +#define HTTP_STATUS_REQUEST_TIMEOUT 408 +#define HTTP_STATUS_CONFLICT 409 +#define HTTP_STATUS_GONE 410 +#define HTTP_STATUS_AUTH_REFUSED 411 +#define HTTP_STATUS_SERVER_ERROR 500 +#define HTTP_STATUS_NOT_SUPPORTED 501 +#define HTTP_STATUS_BAD_GATEWAY 502 +#define HTTP_STATUS_SERVICE_UNAVAIL 503 +#define HTTP_STATUS_GATEWAY_TIMEOUT 504 +#define INTERNET_PREFETCH_PROGRESS 0 +#define INTERNET_PREFETCH_COMPLETE 1 +#define INTERNET_PREFETCH_ABORTED 2 +#define FLAGS_ERROR_UI_FILTER_FOR_ERRORS 0x01 +#define FLAGS_ERROR_UI_FLAGS_CHANGE_OPTIONS 0x02 +#define FLAGS_ERROR_UI_FLAGS_GENERATE_DATA 0x04 +#define FLAGS_ERROR_UI_FLAGS_NO_UI 0x08 +#define HTTP_ADDREQ_INDEX_MASK 0x0000FFFF +#define HTTP_ADDREQ_FLAGS_MASK 0xFFFF0000 +#define HTTP_ADDREQ_FLAG_ADD_IF_NEW 0x10000000 +#define HTTP_ADDREQ_FLAG_ADD 0x20000000 +#define HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA 0x40000000 +#define HTTP_ADDREQ_FLAG_COALESCE_WITH_SEMICOLON 0x01000000 +#define HTTP_ADDREQ_FLAG_COALESCE HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA +#define HTTP_ADDREQ_FLAG_REPLACE 0x80000000 +#define INTERNET_ERROR_BASE 12000 +#define ERROR_INTERNET_OUT_OF_HANDLES (INTERNET_ERROR_BASE+1) +#define ERROR_INTERNET_TIMEOUT (INTERNET_ERROR_BASE+2) +#define ERROR_INTERNET_EXTENDED_ERROR (INTERNET_ERROR_BASE+3) +#define ERROR_INTERNET_INTERNAL_ERROR (INTERNET_ERROR_BASE+4) +#define ERROR_INTERNET_INVALID_URL (INTERNET_ERROR_BASE+5) +#define ERROR_INTERNET_UNRECOGNIZED_SCHEME (INTERNET_ERROR_BASE+6) +#define ERROR_INTERNET_NAME_NOT_RESOLVED (INTERNET_ERROR_BASE+7) +#define ERROR_INTERNET_PROTOCOL_NOT_FOUND (INTERNET_ERROR_BASE+8) +#define ERROR_INTERNET_INVALID_OPTION (INTERNET_ERROR_BASE+9) +#define ERROR_INTERNET_BAD_OPTION_LENGTH (INTERNET_ERROR_BASE+10) +#define ERROR_INTERNET_OPTION_NOT_SETTABLE (INTERNET_ERROR_BASE+11) +#define ERROR_INTERNET_SHUTDOWN (INTERNET_ERROR_BASE+12) +#define ERROR_INTERNET_INCORRECT_USER_NAME (INTERNET_ERROR_BASE+13) +#define ERROR_INTERNET_INCORRECT_PASSWORD (INTERNET_ERROR_BASE+14) +#define ERROR_INTERNET_LOGIN_FAILURE (INTERNET_ERROR_BASE+15) +#define ERROR_INTERNET_INVALID_OPERATION (INTERNET_ERROR_BASE+16) +#define ERROR_INTERNET_OPERATION_CANCELLED (INTERNET_ERROR_BASE+17) +#define ERROR_INTERNET_INCORRECT_HANDLE_TYPE (INTERNET_ERROR_BASE+18) +#define ERROR_INTERNET_INCORRECT_HANDLE_STATE (INTERNET_ERROR_BASE+19) +#define ERROR_INTERNET_NOT_PROXY_REQUEST (INTERNET_ERROR_BASE+20) +#define ERROR_INTERNET_REGISTRY_VALUE_NOT_FOUND (INTERNET_ERROR_BASE+21) +#define ERROR_INTERNET_BAD_REGISTRY_PARAMETER (INTERNET_ERROR_BASE+22) +#define ERROR_INTERNET_NO_DIRECT_ACCESS (INTERNET_ERROR_BASE+23) +#define ERROR_INTERNET_NO_CONTEXT (INTERNET_ERROR_BASE+24) +#define ERROR_INTERNET_NO_CALLBACK (INTERNET_ERROR_BASE+25) +#define ERROR_INTERNET_REQUEST_PENDING (INTERNET_ERROR_BASE+26) +#define ERROR_INTERNET_INCORRECT_FORMAT (INTERNET_ERROR_BASE+27) +#define ERROR_INTERNET_ITEM_NOT_FOUND (INTERNET_ERROR_BASE+28) +#define ERROR_INTERNET_CANNOT_CONNECT (INTERNET_ERROR_BASE+29) +#define ERROR_INTERNET_CONNECTION_ABORTED (INTERNET_ERROR_BASE+30) +#define ERROR_INTERNET_CONNECTION_RESET (INTERNET_ERROR_BASE+31) +#define ERROR_INTERNET_FORCE_RETRY (INTERNET_ERROR_BASE+32) +#define ERROR_INTERNET_INVALID_PROXY_REQUEST (INTERNET_ERROR_BASE+33) +#define ERROR_INTERNET_NEED_UI (INTERNET_ERROR_BASE+34) +#define ERROR_INTERNET_HANDLE_EXISTS (INTERNET_ERROR_BASE+36) +#define ERROR_INTERNET_SEC_CERT_DATE_INVALID (INTERNET_ERROR_BASE+37) +#define ERROR_INTERNET_SEC_CERT_CN_INVALID (INTERNET_ERROR_BASE+38) +#define ERROR_INTERNET_HTTP_TO_HTTPS_ON_REDIR (INTERNET_ERROR_BASE+39) +#define ERROR_INTERNET_HTTPS_TO_HTTP_ON_REDIR (INTERNET_ERROR_BASE+40) +#define ERROR_INTERNET_MIXED_SECURITY (INTERNET_ERROR_BASE+41) +#define ERROR_INTERNET_CHG_POST_IS_NON_SECURE (INTERNET_ERROR_BASE+42) +#define ERROR_INTERNET_POST_IS_NON_SECURE (INTERNET_ERROR_BASE+43) +#define ERROR_INTERNET_CLIENT_AUTH_CERT_NEEDED (INTERNET_ERROR_BASE+44) +#define ERROR_INTERNET_INVALID_CA (INTERNET_ERROR_BASE+45) +#define ERROR_INTERNET_CLIENT_AUTH_NOT_SETUP (INTERNET_ERROR_BASE+46) +#define ERROR_INTERNET_ASYNC_THREAD_FAILED (INTERNET_ERROR_BASE+47) +#define ERROR_INTERNET_REDIRECT_SCHEME_CHANGE (INTERNET_ERROR_BASE+48) +#define ERROR_FTP_TRANSFER_IN_PROGRESS (INTERNET_ERROR_BASE+110) +#define ERROR_FTP_DROPPED (INTERNET_ERROR_BASE+111) +#define ERROR_GOPHER_PROTOCOL_ERROR (INTERNET_ERROR_BASE+130) +#define ERROR_GOPHER_NOT_FILE (INTERNET_ERROR_BASE+131) +#define ERROR_GOPHER_DATA_ERROR (INTERNET_ERROR_BASE+132) +#define ERROR_GOPHER_END_OF_DATA (INTERNET_ERROR_BASE+133) +#define ERROR_GOPHER_INVALID_LOCATOR (INTERNET_ERROR_BASE+134) +#define ERROR_GOPHER_INCORRECT_LOCATOR_TYPE (INTERNET_ERROR_BASE+135) +#define ERROR_GOPHER_NOT_GOPHER_PLUS (INTERNET_ERROR_BASE+136) +#define ERROR_GOPHER_ATTRIBUTE_NOT_FOUND (INTERNET_ERROR_BASE+137) +#define ERROR_GOPHER_UNKNOWN_LOCATOR (INTERNET_ERROR_BASE+138) +#define ERROR_HTTP_HEADER_NOT_FOUND (INTERNET_ERROR_BASE+150) +#define ERROR_HTTP_DOWNLEVEL_SERVER (INTERNET_ERROR_BASE+151) +#define ERROR_HTTP_INVALID_SERVER_RESPONSE (INTERNET_ERROR_BASE+152) +#define ERROR_HTTP_INVALID_HEADER (INTERNET_ERROR_BASE+153) +#define ERROR_HTTP_INVALID_QUERY_REQUEST (INTERNET_ERROR_BASE+154) +#define ERROR_HTTP_HEADER_ALREADY_EXISTS (INTERNET_ERROR_BASE+155) +#define ERROR_HTTP_REDIRECT_FAILED (INTERNET_ERROR_BASE+156) +#define ERROR_HTTP_NOT_REDIRECTED (INTERNET_ERROR_BASE+160) +#define ERROR_INTERNET_SECURITY_CHANNEL_ERROR (INTERNET_ERROR_BASE+157) +#define ERROR_INTERNET_UNABLE_TO_CACHE_FILE (INTERNET_ERROR_BASE+158) +#define ERROR_INTERNET_TCPIP_NOT_INSTALLED (INTERNET_ERROR_BASE+159) +#define INTERNET_ERROR_LAST ERROR_INTERNET_TCPIP_NOT_INSTALLED +#define URLCACHEAPI DECLSPEC_IMPORT +#define NORMAL_CACHE_ENTRY 1 +#define STABLE_CACHE_ENTRY 2 +#define STICKY_CACHE_ENTRY 4 +#define SPARSE_CACHE_ENTRY 0x10000 +#define OCX_CACHE_ENTRY 0x20000 +#define COOKIE_CACHE_ENTRY 0x100000 +#define URLHISTORY_CACHE_ENTRY 0x200000 +#define CACHE_ENTRY_ATTRIBUTE_FC 4 +#define CACHE_ENTRY_HITRATE_FC 0x10 +#define CACHE_ENTRY_MODTIME_FC 0x40 +#define CACHE_ENTRY_EXPTIME_FC 0x80 +#define CACHE_ENTRY_ACCTIME_FC 0x100 +#define CACHE_ENTRY_SYNCTIME_FC 0x200 +#define CACHE_ENTRY_HEADERINFO_FC 0x400 +#define HSR_ASYNC WININET_API_FLAG_ASYNC +#define HSR_SYNC WININET_API_FLAG_SYNC +#define HSR_USE_CONTEXT WININET_API_FLAG_USE_CONTEXT +#define HSR_INITIATE 8 +#define HSR_DOWNLOAD 16 +#define HSR_CHUNKED 32 + +typedef PVOID HINTERNET; +typedef HINTERNET *LPHINTERNET; +typedef WORD INTERNET_PORT,*LPINTERNET_PORT; +typedef enum { + INTERNET_SCHEME_PARTIAL = -2, INTERNET_SCHEME_UNKNOWN = -1, + INTERNET_SCHEME_DEFAULT = 0, INTERNET_SCHEME_FTP, INTERNET_SCHEME_GOPHER, + INTERNET_SCHEME_HTTP, INTERNET_SCHEME_HTTPS, INTERNET_SCHEME_FILE, + INTERNET_SCHEME_NEWS, INTERNET_SCHEME_MAILTO, INTERNET_SCHEME_SOCKS, + INTERNET_SCHEME_FIRST = INTERNET_SCHEME_FTP, INTERNET_SCHEME_LAST = INTERNET_SCHEME_SOCKS +} INTERNET_SCHEME,*LPINTERNET_SCHEME; +typedef struct { DWORD dwResult; DWORD dwError; } INTERNET_ASYNC_RESULT,*LPINTERNET_ASYNC_RESULT; +typedef struct { DWORD dwStatus; DWORD dwSize; } INTERNET_PREFETCH_STATUS,*LPINTERNET_PREFETCH_STATUS; +typedef struct { + DWORD dwAccessType; + LPCTSTR lpszProxy; + LPCTSTR lpszProxyBypass; +} INTERNET_PROXY_INFO,*LPINTERNET_PROXY_INFO; +typedef struct { + DWORD dwMajorVersion; + DWORD dwMinorVersion; +} INTERNET_VERSION_INFO,*LPINTERNET_VERSION_INFO; +typedef struct { + DWORD dwStructSize; + LPSTR lpszScheme; + DWORD dwSchemeLength; + INTERNET_SCHEME nScheme; + LPSTR lpszHostName; + DWORD dwHostNameLength; + INTERNET_PORT nPort; + LPSTR lpszUserName; + DWORD dwUserNameLength; + LPSTR lpszPassword; + DWORD dwPasswordLength; + LPSTR lpszUrlPath; + DWORD dwUrlPathLength; + LPSTR lpszExtraInfo; + DWORD dwExtraInfoLength; +} URL_COMPONENTSA,*LPURL_COMPONENTSA; +typedef struct { + DWORD dwStructSize; + LPWSTR lpszScheme; + DWORD dwSchemeLength; + INTERNET_SCHEME nScheme; + LPWSTR lpszHostName; + DWORD dwHostNameLength; + INTERNET_PORT nPort; + LPWSTR lpszUserName; + DWORD dwUserNameLength; + LPWSTR lpszPassword; + DWORD dwPasswordLength; + LPWSTR lpszUrlPath; + DWORD dwUrlPathLength; + LPWSTR lpszExtraInfo; + DWORD dwExtraInfoLength; +} URL_COMPONENTSW,*LPURL_COMPONENTSW; +typedef struct { + FILETIME ftExpiry; + FILETIME ftStart; + LPTSTR lpszSubjectInfo; + LPTSTR lpszIssuerInfo; + LPTSTR lpszProtocolName; + LPTSTR lpszSignatureAlgName; + LPTSTR lpszEncryptionAlgName; + DWORD dwKeySize; +} INTERNET_CERTIFICATE_INFO,*LPINTERNET_CERTIFICATE_INFO; +typedef VOID (CALLBACK * INTERNET_STATUS_CALLBACK)(HINTERNET,DWORD,DWORD,PVOID,DWORD); +typedef INTERNET_STATUS_CALLBACK * LPINTERNET_STATUS_CALLBACK; +typedef struct { + CHAR DisplayString[MAX_GOPHER_DISPLAY_TEXT+1]; + DWORD GopherType; + DWORD SizeLow; + DWORD SizeHigh; + FILETIME LastModificationTime; + CHAR Locator[MAX_GOPHER_LOCATOR_LENGTH+1]; +} GOPHER_FIND_DATAA,*LPGOPHER_FIND_DATAA; +typedef struct { + WCHAR DisplayString[MAX_GOPHER_DISPLAY_TEXT+1]; + DWORD GopherType; + DWORD SizeLow; + DWORD SizeHigh; + FILETIME LastModificationTime; + WCHAR Locator[MAX_GOPHER_LOCATOR_LENGTH+1]; +} GOPHER_FIND_DATAW,*LPGOPHER_FIND_DATAW; +typedef struct { + LPCTSTR Comment; + LPCTSTR EmailAddress; +} GOPHER_ADMIN_ATTRIBUTE_TYPE,*LPGOPHER_ADMIN_ATTRIBUTE_TYPE; +typedef struct {FILETIME DateAndTime;} GOPHER_MOD_DATE_ATTRIBUTE_TYPE,*LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE; +typedef struct {DWORD Ttl;} GOPHER_TTL_ATTRIBUTE_TYPE,*LPGOPHER_TTL_ATTRIBUTE_TYPE; +typedef struct {INT Score;} GOPHER_SCORE_ATTRIBUTE_TYPE,*LPGOPHER_SCORE_ATTRIBUTE_TYPE; +typedef struct { + INT LowerBound; + INT UpperBound; +} GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE,*LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE; +typedef struct {LPCTSTR Site;} GOPHER_SITE_ATTRIBUTE_TYPE,*LPGOPHER_SITE_ATTRIBUTE_TYPE; +typedef struct {LPCTSTR Organization;} GOPHER_ORGANIZATION_ATTRIBUTE_TYPE,*LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPE; +typedef struct {LPCTSTR Location;} GOPHER_LOCATION_ATTRIBUTE_TYPE,*LPGOPHER_LOCATION_ATTRIBUTE_TYPE; +typedef struct { + INT DegreesNorth; + INT MinutesNorth; + INT SecondsNorth; + INT DegreesEast; + INT MinutesEast; + INT SecondsEast; +} GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE,*LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE; +typedef struct {INT Zone;} GOPHER_TIMEZONE_ATTRIBUTE_TYPE,*LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE; +typedef struct {LPCTSTR Provider;} GOPHER_PROVIDER_ATTRIBUTE_TYPE,*LPGOPHER_PROVIDER_ATTRIBUTE_TYPE; +typedef struct {LPCTSTR Version;} GOPHER_VERSION_ATTRIBUTE_TYPE,*LPGOPHER_VERSION_ATTRIBUTE_TYPE; +typedef struct { + LPCTSTR ShortAbstract; + LPCTSTR AbstractFile; +} GOPHER_ABSTRACT_ATTRIBUTE_TYPE,*LPGOPHER_ABSTRACT_ATTRIBUTE_TYPE; +typedef struct { + LPCTSTR ContentType; + LPCTSTR Language; + DWORD Size; +} GOPHER_VIEW_ATTRIBUTE_TYPE,*LPGOPHER_VIEW_ATTRIBUTE_TYPE; +typedef struct {BOOL TreeWalk;} GOPHER_VERONICA_ATTRIBUTE_TYPE,*LPGOPHER_VERONICA_ATTRIBUTE_TYPE; +typedef struct { + LPCTSTR QuestionType; + LPCTSTR QuestionText; +} GOPHER_ASK_ATTRIBUTE_TYPE,*LPGOPHER_ASK_ATTRIBUTE_TYPE; +typedef struct {LPCTSTR Text;} GOPHER_UNKNOWN_ATTRIBUTE_TYPE,*LPGOPHER_UNKNOWN_ATTRIBUTE_TYPE; +typedef struct { + DWORD CategoryId; + DWORD AttributeId; + union { + GOPHER_ADMIN_ATTRIBUTE_TYPE Admin; + GOPHER_MOD_DATE_ATTRIBUTE_TYPE ModDate; + GOPHER_TTL_ATTRIBUTE_TYPE Ttl; + GOPHER_SCORE_ATTRIBUTE_TYPE Score; + GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE ScoreRange; + GOPHER_SITE_ATTRIBUTE_TYPE Site; + GOPHER_ORGANIZATION_ATTRIBUTE_TYPE Organization; + GOPHER_LOCATION_ATTRIBUTE_TYPE Location; + GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE GeographicalLocation; + GOPHER_TIMEZONE_ATTRIBUTE_TYPE TimeZone; + GOPHER_PROVIDER_ATTRIBUTE_TYPE Provider; + GOPHER_VERSION_ATTRIBUTE_TYPE Version; + GOPHER_ABSTRACT_ATTRIBUTE_TYPE Abstract; + GOPHER_VIEW_ATTRIBUTE_TYPE View; + GOPHER_VERONICA_ATTRIBUTE_TYPE Veronica; + GOPHER_ASK_ATTRIBUTE_TYPE Ask; + GOPHER_UNKNOWN_ATTRIBUTE_TYPE Unknown; + } AttributeType; +} GOPHER_ATTRIBUTE_TYPE,*LPGOPHER_ATTRIBUTE_TYPE; +typedef BOOL(CALLBACK *GOPHER_ATTRIBUTE_ENUMERATOR)(LPGOPHER_ATTRIBUTE_TYPE,DWORD); +typedef struct _INTERNET_CACHE_ENTRY_INFOA { + DWORD dwStructSize; + LPSTR lpszSourceUrlName; + LPSTR lpszLocalFileName; + DWORD CacheEntryType; + DWORD dwUseCount; + DWORD dwHitRate; + DWORD dwSizeLow; + DWORD dwSizeHigh; + FILETIME LastModifiedTime; + FILETIME ExpireTime; + FILETIME LastAccessTime; + FILETIME LastSyncTime; + PBYTE lpHeaderInfo; + DWORD dwHeaderInfoSize; + LPSTR lpszFileExtension; + DWORD dwReserved; +} INTERNET_CACHE_ENTRY_INFOA,*LPINTERNET_CACHE_ENTRY_INFOA; +typedef struct _INTERNET_CACHE_ENTRY_INFOW { + DWORD dwStructSize; + LPSTR lpszSourceUrlName; + LPWSTR lpszLocalFileName; + DWORD CacheEntryType; + DWORD dwUseCount; + DWORD dwHitRate; + DWORD dwSizeLow; + DWORD dwSizeHigh; + FILETIME LastModifiedTime; + FILETIME ExpireTime; + FILETIME LastAccessTime; + FILETIME LastSyncTime; + PBYTE lpHeaderInfo; + DWORD dwHeaderInfoSize; + LPWSTR lpszFileExtension; + DWORD dwReserved; +} INTERNET_CACHE_ENTRY_INFOW,*LPINTERNET_CACHE_ENTRY_INFOW; +typedef struct _INTERNET_BUFFERSA { + DWORD dwStructSize; + struct _INTERNET_BUFFERSA *Next; + LPCSTR lpcszHeader; + DWORD dwHeadersLength; + DWORD dwHeadersTotal; + LPVOID lpvBuffer; + DWORD dwBufferLength; + DWORD dwBufferTotal; + DWORD dwOffsetLow; + DWORD dwOffsetHigh; +} INTERNET_BUFFERSA,*LPINTERNET_BUFFERSA; +typedef struct _INTERNET_BUFFERSW { + DWORD dwStructSize; + struct _INTERNET_BUFFERS *Next; + LPCWSTR lpcszHeader; + DWORD dwHeadersLength; + DWORD dwHeadersTotal; + LPVOID lpvBuffer; + DWORD dwBufferLength; + DWORD dwBufferTotal; + DWORD dwOffsetLow; + DWORD dwOffsetHigh; +} INTERNET_BUFFERSW,*LPINTERNET_BUFFERSW; + +#ifdef UNICODE +typedef URL_COMPONENTSW URL_COMPONENTS; +typedef LPURL_COMPONENTSW LPURL_COMPONENTS; +typedef GOPHER_FIND_DATAW GOPHER_FIND_DATA; +typedef LPGOPHER_FIND_DATAW LPGOPHER_FIND_DATA; +typedef INTERNET_CACHE_ENTRY_INFOW INTERNET_CACHE_ENTRY_INFO; +typedef LPINTERNET_CACHE_ENTRY_INFOW LPINTERNET_CACHE_ENTRY_INFO; +typedef INTERNET_BUFFERSW INTERNET_BUFFERS,*LPINTERNET_BUFFERS; +#else +typedef URL_COMPONENTSA URL_COMPONENTS; +typedef LPURL_COMPONENTSA LPURL_COMPONENTS; +typedef GOPHER_FIND_DATAA GOPHER_FIND_DATA; +typedef LPGOPHER_FIND_DATAA LPGOPHER_FIND_DATA; +typedef INTERNET_CACHE_ENTRY_INFOA INTERNET_CACHE_ENTRY_INFO; +typedef LPINTERNET_CACHE_ENTRY_INFOA LPINTERNET_CACHE_ENTRY_INFO; +typedef INTERNET_BUFFERSA INTERNET_BUFFERS,*LPINTERNET_BUFFERS; +#endif +BOOL WINAPI InternetTimeFromSystemTime(SYSTEMTIME*,DWORD,LPSTR,DWORD); +BOOL WINAPI InternetTimeToSystemTime(LPCSTR,SYSTEMTIME*,DWORD); +BOOL WINAPI InternetDebugGetLocalTime(SYSTEMTIME*,PDWORD); +BOOL WINAPI InternetCrackUrlA(LPCSTR,DWORD,DWORD,LPURL_COMPONENTSA); +BOOL WINAPI InternetCrackUrlW(LPCWSTR,DWORD,DWORD,LPURL_COMPONENTSW); +BOOL WINAPI InternetCreateUrlA(LPURL_COMPONENTSA,DWORD,LPSTR,PDWORD); +BOOL WINAPI InternetCreateUrlW(LPURL_COMPONENTSW,DWORD,LPWSTR,PDWORD); +BOOL WINAPI InternetCanonicalizeUrlA(LPCSTR,LPSTR,PDWORD,DWORD); +BOOL WINAPI InternetCanonicalizeUrlW(LPCWSTR,LPWSTR,PDWORD,DWORD); +BOOL WINAPI InternetCombineUrlA(LPCSTR,LPCSTR,LPSTR,PDWORD,DWORD); +BOOL WINAPI InternetCombineUrlW(LPCWSTR,LPCWSTR,LPWSTR,PDWORD,DWORD); +HINTERNET WINAPI InternetOpenA(LPCSTR,DWORD,LPCSTR,LPCSTR,DWORD); +HINTERNET WINAPI InternetOpenW(LPCWSTR,DWORD,LPCWSTR,LPCWSTR,DWORD); +BOOL WINAPI InternetCloseHandle(HINTERNET); +HINTERNET WINAPI InternetConnectA(HINTERNET,LPCSTR,INTERNET_PORT,LPCSTR,LPCSTR,DWORD,DWORD,DWORD); +HINTERNET WINAPI InternetConnectW(HINTERNET,LPCWSTR,INTERNET_PORT,LPCWSTR,LPCWSTR,DWORD,DWORD,DWORD); +HINTERNET WINAPI InternetOpenUrlA(HINTERNET,LPCSTR,LPCSTR,DWORD,DWORD,DWORD); +HINTERNET WINAPI InternetOpenUrlW(HINTERNET,LPCWSTR,LPCWSTR,DWORD,DWORD,DWORD); +BOOL WINAPI InternetReadFile(HINTERNET,PVOID,DWORD,PDWORD); +DWORD WINAPI InternetSetFilePointer( HINTERNET,LONG,PVOID,DWORD,DWORD); +BOOL WINAPI InternetWriteFile(HINTERNET,LPCVOID,DWORD,PDWORD); +BOOL WINAPI InternetQueryDataAvailable( HINTERNET,PDWORD,DWORD,DWORD); +BOOL WINAPI InternetFindNextFileA(HINTERNET,PVOID); +BOOL WINAPI InternetFindNextFileW(HINTERNET,PVOID); +BOOL WINAPI InternetQueryOptionA(HINTERNET,DWORD,PVOID,PDWORD); +BOOL WINAPI InternetQueryOptionW(HINTERNET,DWORD,PVOID,PDWORD); +BOOL WINAPI InternetSetOptionA(HINTERNET,DWORD,PVOID,DWORD); +BOOL WINAPI InternetSetOptionW(HINTERNET,DWORD,PVOID,DWORD); +BOOL WINAPI InternetSetOptionExA(HINTERNET,DWORD,PVOID,DWORD,DWORD); +BOOL WINAPI InternetSetOptionExW(HINTERNET,DWORD,PVOID,DWORD,DWORD); +BOOL WINAPI InternetGetLastResponseInfoA(PDWORD,LPSTR,PDWORD); +BOOL WINAPI InternetGetLastResponseInfoW(PDWORD,LPWSTR,PDWORD); +INTERNET_STATUS_CALLBACK WINAPI InternetSetStatusCallback(HINTERNET,INTERNET_STATUS_CALLBACK); +HINTERNET WINAPI FtpFindFirstFileA(HINTERNET,LPCSTR,LPWIN32_FIND_DATA,DWORD,DWORD); +HINTERNET WINAPI FtpFindFirstFileW(HINTERNET,LPCWSTR,LPWIN32_FIND_DATA,DWORD,DWORD); +BOOL WINAPI FtpGetFileA(HINTERNET,LPCSTR,LPCSTR,BOOL,DWORD,DWORD,DWORD); +BOOL WINAPI FtpGetFileW( HINTERNET,LPCWSTR,LPCWSTR,BOOL,DWORD,DWORD,DWORD); +BOOL WINAPI FtpPutFileA(HINTERNET,LPCSTR,LPCSTR,DWORD,DWORD); +BOOL WINAPI FtpPutFileW(HINTERNET,LPCWSTR,LPCWSTR,DWORD,DWORD); +BOOL WINAPI FtpDeleteFileA(HINTERNET,LPCSTR); +BOOL WINAPI FtpDeleteFileW(HINTERNET,LPCWSTR); +BOOL WINAPI FtpRenameFileA(HINTERNET, LPCSTR,LPCSTR); +BOOL WINAPI FtpRenameFileW(HINTERNET,LPCWSTR,LPCWSTR); +HINTERNET WINAPI FtpOpenFileA(HINTERNET,LPCSTR,DWORD,DWORD,DWORD); +HINTERNET WINAPI FtpOpenFileW(HINTERNET,LPCWSTR,DWORD,DWORD,DWORD); +BOOL WINAPI FtpCreateDirectoryA(HINTERNET,LPCSTR); +BOOL WINAPI FtpCreateDirectoryW(HINTERNET,LPCWSTR); +BOOL WINAPI FtpRemoveDirectoryA(HINTERNET,LPCSTR); +BOOL WINAPI FtpRemoveDirectoryW(HINTERNET,LPCWSTR); +BOOL WINAPI FtpSetCurrentDirectoryA(HINTERNET,LPCSTR); +BOOL WINAPI FtpSetCurrentDirectoryW(HINTERNET,LPCWSTR); +BOOL WINAPI FtpGetCurrentDirectoryA(HINTERNET,LPSTR,PDWORD); +BOOL WINAPI FtpGetCurrentDirectoryW(HINTERNET,LPWSTR,PDWORD); +BOOL WINAPI FtpCommandA(HINTERNET,BOOL,DWORD,LPCSTR,DWORD); +BOOL WINAPI FtpCommandW( HINTERNET,BOOL,DWORD,LPCWSTR,DWORD); +BOOL WINAPI GopherCreateLocatorA(LPCSTR,INTERNET_PORT,LPCSTR,LPCSTR,DWORD,LPSTR,PDWORD); +BOOL WINAPI GopherCreateLocatorW(LPCWSTR,INTERNET_PORT,LPCWSTR,LPCWSTR,DWORD,LPWSTR,PDWORD); +BOOL WINAPI GopherGetLocatorTypeA(LPCSTR,PDWORD); +BOOL WINAPI GopherGetLocatorTypeW(LPCWSTR,PDWORD); +HINTERNET WINAPI GopherFindFirstFileA(HINTERNET,LPCSTR,LPCSTR,LPGOPHER_FIND_DATAA,DWORD,DWORD); +HINTERNET WINAPI GopherFindFirstFileW(HINTERNET,LPCWSTR,LPCWSTR,LPGOPHER_FIND_DATAW,DWORD,DWORD); +HINTERNET WINAPI GopherOpenFileA(HINTERNET,LPCSTR,LPCSTR,DWORD,DWORD); +HINTERNET WINAPI GopherOpenFileW(HINTERNET,LPCWSTR,LPCWSTR,DWORD,DWORD); +BOOL WINAPI GopherGetAttributeA(HINTERNET,LPCSTR,LPCSTR,LPBYTE,DWORD,PDWORD,GOPHER_ATTRIBUTE_ENUMERATOR,DWORD); +BOOL WINAPI GopherGetAttributeW(HINTERNET,LPCWSTR, +LPCWSTR, LPBYTE, DWORD, PDWORD, GOPHER_ATTRIBUTE_ENUMERATOR, DWORD); +HINTERNET WINAPI HttpOpenRequestA(HINTERNET,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPCSTR *,DWORD,DWORD); +HINTERNET WINAPI HttpOpenRequestW(HINTERNET,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR FAR * lplpszAcceptTypes , DWORD dwFlags, DWORD dwContext); +BOOL WINAPI HttpAddRequestHeadersA(HINTERNET,LPCSTR,DWORD,DWORD); +BOOL WINAPI HttpAddRequestHeadersW(HINTERNET,LPCWSTR,DWORD,DWORD); +BOOL WINAPI HttpSendRequestA(HINTERNET,LPCSTR,DWORD,PVOID,DWORD); +BOOL WINAPI HttpSendRequestW(HINTERNET,LPCWSTR,DWORD,PVOID,DWORD); +BOOL WINAPI HttpQueryInfoA(HINTERNET,DWORD,PVOID,PDWORD,PDWORD); +BOOL WINAPI HttpQueryInfoW(HINTERNET,DWORD,PVOID,PDWORD,PDWORD); +BOOL WINAPI InternetSetCookieA(LPCSTR,LPCSTR,LPCSTR); +BOOL WINAPI InternetSetCookieW(LPCSTR,LPCWSTR,LPCWSTR); +BOOL WINAPI InternetGetCookieA(LPCSTR,LPCSTR,LPSTR,PDWORD); +BOOL WINAPI InternetGetCookieW(LPCSTR,LPCWSTR,LPWSTR,PDWORD); +DWORD WINAPI InternetAttemptConnect(DWORD); +DWORD WINAPI InternetErrorDlg(HWND,HINTERNET,DWORD,DWORD,PVOID *); +DWORD WINAPI InternetConfirmZoneCrossing(HWND,LPSTR,LPSTR,BOOL); +BOOL WINAPI CreateUrlCacheEntryA(LPCSTR,DWORD,LPCSTR,LPSTR,DWORD); +BOOL WINAPI CreateUrlCacheEntryW(LPCSTR,DWORD,LPCSTR,LPWSTR,DWORD); +BOOL WINAPI CommitUrlCacheEntryA(LPCSTR,LPCSTR,FILETIME,FILETIME,DWORD,LPBYTE,DWORD,LPCSTR,DWORD); +BOOL WINAPI CommitUrlCacheEntryW(LPCSTR,LPCWSTR,FILETIME,FILETIME,DWORD,LPBYTE,DWORD,LPCWSTR,DWORD); +BOOL WINAPI RetrieveUrlCacheEntryFileA(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOA,PDWORD,DWORD); +BOOL WINAPI RetrieveUrlCacheEntryFileW(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOW,PDWORD,DWORD); +BOOL WINAPI UnlockUrlCacheEntryFile(LPCSTR,DWORD); +HANDLE WINAPI RetrieveUrlCacheEntryStreamA(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOA,PDWORD,BOOL,DWORD); +HANDLE WINAPI RetrieveUrlCacheEntryStreamW( LPCSTR,LPINTERNET_CACHE_ENTRY_INFOW,PDWORD,BOOL,DWORD); +BOOL WINAPI ReadUrlCacheEntryStream(HANDLE,DWORD,PVOID,PDWORD,DWORD); +BOOL WINAPI UnlockUrlCacheEntryStream( HANDLE,DWORD); +BOOL WINAPI GetUrlCacheEntryInfoA(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOA,PDWORD); +BOOL WINAPI GetUrlCacheEntryInfoW(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOW,PDWORD); +BOOL WINAPI SetUrlCacheEntryInfoA(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOA,DWORD); +BOOL WINAPI SetUrlCacheEntryInfoW(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOW,DWORD); +HANDLE WINAPI FindFirstUrlCacheEntryA(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOA,PDWORD); +HANDLE WINAPI FindFirstUrlCacheEntryW(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOW,PDWORD); +BOOL WINAPI FindNextUrlCacheEntryA(HANDLE,LPINTERNET_CACHE_ENTRY_INFOA,PDWORD); +BOOL WINAPI FindNextUrlCacheEntryW(HANDLE,LPINTERNET_CACHE_ENTRY_INFOW,PDWORD); +BOOL WINAPI FindCloseUrlCache(HANDLE); +BOOL WINAPI DeleteUrlCacheEntry(LPCSTR); +DWORD AuthenticateUser(PVOID*,LPSTR,LPSTR,DWORD,LPSTR,DWORD,LPSTR,LPSTR); +BOOL WINAPI HttpSendRequestExA(HINTERNET,LPINTERNET_BUFFERSA,LPINTERNET_BUFFERSA,DWORD,DWORD); +BOOL WINAPI HttpSendRequestExW(HINTERNET,LPINTERNET_BUFFERSW,LPINTERNET_BUFFERSW,DWORD,DWORD); +BOOL WINAPI HttpEndRequestA(HINTERNET,LPINTERNET_BUFFERSA,DWORD,DWORD); +BOOL WINAPI HttpEndRequestW(HINTERNET,LPINTERNET_BUFFERSW,DWORD,DWORD); +#ifdef UNICODE +#define InternetCrackUrl InternetCrackUrlW +#define InternetCreateUrl InternetCreateUrlW +#define InternetCanonicalizeUrl InternetCanonicalizeUrlW +#define InternetCombineUrl InternetCombineUrlW +#define InternetOpen InternetOpenW +#define InternetConnect InternetConnectW +#define InternetOpenUrl InternetOpenUrlW +#define InternetFindNextFile InternetFindNextFileW +#define InternetQueryOption InternetQueryOptionW +#define InternetSetOption InternetSetOptionW +#define InternetSetOptionEx InternetSetOptionExW +#define InternetGetLastResponseInfo InternetGetLastResponseInfoW +#define FtpFindFirstFile FtpFindFirstFileW +#define FtpGetFile FtpGetFileW +#define FtpPutFile FtpPutFileW +#define FtpDeleteFile FtpDeleteFileW +#define FtpRenameFile FtpRenameFileW +#define FtpOpenFile FtpOpenFileW +#define FtpCreateDirectory FtpCreateDirectoryW +#define FtpRemoveDirectory FtpRemoveDirectoryW +#define FtpSetCurrentDirectory FtpSetCurrentDirectoryW +#define FtpGetCurrentDirectory FtpGetCurrentDirectoryW +#define FtpCommand FtpCommandW +#define GopherGetLocatorType GopherGetLocatorTypeW +#define GopherCreateLocator GopherCreateLocatorW +#define GopherFindFirstFile GopherFindFirstFileW +#define GopherOpenFile GopherOpenFileW +#define GopherGetAttribute GopherGetAttributeW +#define HttpSendRequest HttpSendRequestW +#define HttpOpenRequest HttpOpenRequestW +#define HttpAddRequestHeaders HttpAddRequestHeadersW +#define HttpQueryInfo HttpQueryInfoW +#define InternetSetCookie InternetSetCookieW +#define InternetGetCookie InternetGetCookieW +#define CreateUrlCacheEntry CreateUrlCacheEntryW +#define RetrieveUrlCacheEntryStream RetrieveUrlCacheEntryStreamW +#define FindNextUrlCacheEntry FindNextUrlCacheEntryW +#define CommitUrlCacheEntry CommitUrlCacheEntryW +#define GetUrlCacheEntryInfo GetUrlCacheEntryInfoW +#define SetUrlCacheEntryInfo SetUrlCacheEntryInfoW +#define FindFirstUrlCacheEntry FindFirstUrlCacheEntryW +#define RetrieveUrlCacheEntryFile RetrieveUrlCacheEntryFileW +#define HttpSendRequestEx HttpSendRequestExW +#define HttpEndRequest HttpEndRequestW +#else +#define GopherGetAttribute GopherGetAttributeA +#define InternetCrackUrl InternetCrackUrlA +#define InternetCreateUrl InternetCreateUrlA +#define InternetCanonicalizeUrl InternetCanonicalizeUrlA +#define InternetCombineUrl InternetCombineUrlA +#define InternetOpen InternetOpenA +#define InternetConnect InternetConnectA +#define InternetOpenUrl InternetOpenUrlA +#define InternetFindNextFile InternetFindNextFileA +#define InternetQueryOption InternetQueryOptionA +#define InternetSetOption InternetSetOptionA +#define InternetSetOptionEx InternetSetOptionExA +#define InternetGetLastResponseInfo InternetGetLastResponseInfoA +#define FtpFindFirstFile FtpFindFirstFileA +#define FtpGetFile FtpGetFileA +#define FtpPutFile FtpPutFileA +#define FtpDeleteFile FtpDeleteFileA +#define FtpRenameFile FtpRenameFileA +#define FtpOpenFile FtpOpenFileA +#define FtpCreateDirectory FtpCreateDirectoryA +#define FtpRemoveDirectory FtpRemoveDirectoryA +#define FtpSetCurrentDirectory FtpSetCurrentDirectoryA +#define FtpGetCurrentDirectory FtpGetCurrentDirectoryA +#define FtpCommand FtpCommandA +#define GopherGetLocatorType GopherGetLocatorTypeA +#define GopherCreateLocator GopherCreateLocatorA +#define GopherFindFirstFile GopherFindFirstFileA +#define GopherOpenFile GopherOpenFileA +#define HttpSendRequest HttpSendRequestA +#define HttpOpenRequest HttpOpenRequestA +#define HttpAddRequestHeaders HttpAddRequestHeadersA +#define HttpQueryInfo HttpQueryInfoA +#define InternetSetCookie InternetSetCookieA +#define InternetGetCookie InternetGetCookieA +#define CreateUrlCacheEntry CreateUrlCacheEntryA +#define RetrieveUrlCacheEntryStream RetrieveUrlCacheEntryStreamA +#define FindNextUrlCacheEntry FindNextUrlCacheEntryA +#define CommitUrlCacheEntry CommitUrlCacheEntryA +#define GetUrlCacheEntryInfo GetUrlCacheEntryInfoA +#define SetUrlCacheEntryInfo SetUrlCacheEntryInfoA +#define FindFirstUrlCacheEntry FindFirstUrlCacheEntryA +#define RetrieveUrlCacheEntryFile RetrieveUrlCacheEntryFileA +#define HttpSendRequestEx HttpSendRequestExA +#define HttpEndRequest HttpEndRequestA +#endif +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/winioctl.h b/winsup/w32api/include/winioctl.h new file mode 100644 index 000000000..b9ac29f22 --- /dev/null +++ b/winsup/w32api/include/winioctl.h @@ -0,0 +1,255 @@ +#ifndef _WINIOCTL_H +#define _WINIOCTL_H +#ifdef __cplusplus +extern "C" { +#endif +#define HIST_NO_OF_BUCKETS 24 +#define HISTOGRAM_BUCKET_SIZE sizeof(HISTOGRAM_BUCKET) +#define DISK_HISTOGRAM_SIZE sizeof(DISK_HISTOGRAM) +#define CTL_CODE(t,f,m,a) (((t)<<16)|((a)<<14)|((f)<<2)|(m)) +#define IOCTL_DISK_BASE FILE_DEVICE_DISK +#define IOCTL_DISK_GET_DRIVE_GEOMETRY CTL_CODE(IOCTL_DISK_BASE,0,METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_DISK_GET_PARTITION_INFO CTL_CODE(IOCTL_DISK_BASE,1,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_DISK_SET_PARTITION_INFO CTL_CODE(IOCTL_DISK_BASE,2,METHOD_BUFFERED,FILE_READ_ACCESS|FILE_WRITE_ACCESS) +#define IOCTL_DISK_GET_DRIVE_LAYOUT CTL_CODE(IOCTL_DISK_BASE,3,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_DISK_SET_DRIVE_LAYOUT CTL_CODE(IOCTL_DISK_BASE,4,METHOD_BUFFERED,FILE_READ_ACCESS|FILE_WRITE_ACCESS) +#define IOCTL_DISK_VERIFY CTL_CODE(IOCTL_DISK_BASE,5,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_DISK_FORMAT_TRACKS CTL_CODE(IOCTL_DISK_BASE,6,METHOD_BUFFERED,FILE_READ_ACCESS|FILE_WRITE_ACCESS) +#define IOCTL_DISK_REASSIGN_BLOCKS CTL_CODE(IOCTL_DISK_BASE,7,METHOD_BUFFERED,FILE_READ_ACCESS|FILE_WRITE_ACCESS) +#define IOCTL_DISK_PERFORMANCE CTL_CODE(IOCTL_DISK_BASE,8,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_DISK_IS_WRITABLE CTL_CODE(IOCTL_DISK_BASE,9,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_DISK_LOGGING CTL_CODE(IOCTL_DISK_BASE,10,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_DISK_FORMAT_TRACKS_EX CTL_CODE(IOCTL_DISK_BASE,11,METHOD_BUFFERED,FILE_READ_ACCESS|FILE_WRITE_ACCESS) +#define IOCTL_DISK_HISTOGRAM_STRUCTURE CTL_CODE(IOCTL_DISK_BASE,12,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_DISK_HISTOGRAM_DATA CTL_CODE(IOCTL_DISK_BASE,13,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_DISK_HISTOGRAM_RESET CTL_CODE(IOCTL_DISK_BASE,14,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_DISK_REQUEST_STRUCTURE CTL_CODE(IOCTL_DISK_BASE,15,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_DISK_REQUEST_DATA CTL_CODE(IOCTL_DISK_BASE,16,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_DISK_CHECK_VERIFY CTL_CODE(IOCTL_DISK_BASE,0x200,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_DISK_MEDIA_REMOVAL CTL_CODE(IOCTL_DISK_BASE,0x201,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_DISK_EJECT_MEDIA CTL_CODE(IOCTL_DISK_BASE,0x202,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_DISK_LOAD_MEDIA CTL_CODE(IOCTL_DISK_BASE,0x203,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_DISK_RESERVE CTL_CODE(IOCTL_DISK_BASE,0x204,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_DISK_RELEASE CTL_CODE(IOCTL_DISK_BASE,0x205,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_DISK_FIND_NEW_DEVICES CTL_CODE(IOCTL_DISK_BASE,0x206,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_DISK_REMOVE_DEVICE CTL_CODE(IOCTL_DISK_BASE,0x207,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_DISK_GET_MEDIA_TYPES CTL_CODE(IOCTL_DISK_BASE,0x300,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define DEVICE_TYPE DWORD +#define FILE_DEVICE_BEEP 1 +#define FILE_DEVICE_CD_ROM 2 +#define FILE_DEVICE_CD_ROM_FILE_SYSTEM 3 +#define FILE_DEVICE_CONTROLLER 4 +#define FILE_DEVICE_DATALINK 5 +#define FILE_DEVICE_DFS 6 +#define FILE_DEVICE_DISK 7 +#define FILE_DEVICE_DISK_FILE_SYSTEM 8 +#define FILE_DEVICE_FILE_SYSTEM 9 +#define FILE_DEVICE_INPORT_PORT 10 +#define FILE_DEVICE_KEYBOARD 11 +#define FILE_DEVICE_MAILSLOT 12 +#define FILE_DEVICE_MIDI_IN 13 +#define FILE_DEVICE_MIDI_OUT 14 +#define FILE_DEVICE_MOUSE 15 +#define FILE_DEVICE_MULTI_UNC_PROVIDER 16 +#define FILE_DEVICE_NAMED_PIPE 17 +#define FILE_DEVICE_NETWORK 18 +#define FILE_DEVICE_NETWORK_BROWSER 19 +#define FILE_DEVICE_NETWORK_FILE_SYSTEM 20 +#define FILE_DEVICE_NULL 21 +#define FILE_DEVICE_PARALLEL_PORT 22 +#define FILE_DEVICE_PHYSICAL_NETCARD 23 +#define FILE_DEVICE_PRINTER 24 +#define FILE_DEVICE_SCANNER 25 +#define FILE_DEVICE_SERIAL_MOUSE_PORT 26 +#define FILE_DEVICE_SERIAL_PORT 27 +#define FILE_DEVICE_SCREEN 28 +#define FILE_DEVICE_SOUND 29 +#define FILE_DEVICE_STREAMS 30 +#define FILE_DEVICE_TAPE 31 +#define FILE_DEVICE_TAPE_FILE_SYSTEM 32 +#define FILE_DEVICE_TRANSPORT 33 +#define FILE_DEVICE_UNKNOWN 34 +#define FILE_DEVICE_VIDEO 35 +#define FILE_DEVICE_VIRTUAL_DISK 36 +#define FILE_DEVICE_WAVE_IN 37 +#define FILE_DEVICE_WAVE_OUT 38 +#define FILE_DEVICE_8042_PORT 39 +#define FILE_DEVICE_NETWORK_REDIRECTOR 40 +#define FILE_DEVICE_BATTERY 41 +#define FILE_DEVICE_BUS_EXTENDER 41 +#define PARTITION_ENTRY_UNUSED 0 +#define PARTITION_FAT_12 1 +#define PARTITION_XENIX_1 2 +#define PARTITION_XENIX_2 3 +#define PARTITION_FAT_16 4 +#define PARTITION_EXTENDED 5 +#define PARTITION_HUGE 6 +#define PARTITION_IFS 7 +#define PARTITION_PREP 0x41 +#define PARTITION_UNIX 0x63 +#define PARTITION_NTFT 128 +#define VALID_NTFT 0xC0 +#define METHOD_BUFFERED 0 +#define METHOD_IN_DIRECT 1 +#define METHOD_OUT_DIRECT 2 +#define METHOD_NEITHER 3 +#define IOCTL_SERIAL_LSRMST_INSERT CTL_CODE(FILE_DEVICE_SERIAL_PORT,31,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define SERIAL_LSRMST_ESCAPE 0 +#define SERIAL_LSRMST_LSR_DATA 1 +#define SERIAL_LSRMST_LSR_NODATA 2 +#define SERIAL_LSRMST_MST 3 +#define FILE_ANY_ACCESS 0 +#define FILE_READ_ACCESS 1 +#define FILE_WRITE_ACCESS 2 +#define DISK_LOGGING_START 0 +#define DISK_LOGGING_STOP 1 +#define DISK_LOGGING_DUMP 2 +#define DISK_BINNING 3 +#define FSCTL_LOCK_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM,6,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define FSCTL_UNLOCK_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM,7,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define FSCTL_DISMOUNT_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM,8,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define FSCTL_MOUNT_DBLS_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM,13,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define FSCTL_GET_COMPRESSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM,15,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define FSCTL_SET_COMPRESSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM,16,METHOD_BUFFERED,FILE_READ_DATA|FILE_WRITE_DATA) +#define FSCTL_READ_COMPRESSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM,17,METHOD_NEITHER,FILE_READ_DATA) +#define FSCTL_WRITE_COMPRESSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM,18,METHOD_NEITHER,FILE_WRITE_DATA) +typedef WORD BAD_TRACK_NUMBER,*PBAD_TRACK_NUMBER; +typedef enum _BIN_TYPES {RequestSize,RequestLocation} BIN_TYPES; +typedef struct _BIN_RANGE { + LARGE_INTEGER StartValue; + LARGE_INTEGER Length; +} BIN_RANGE,*PBIN_RANGE; +typedef struct _BIN_COUNT { + BIN_RANGE BinRange; + DWORD BinCount; +} BIN_COUNT,*PBIN_COUNT; +typedef struct _BIN_RESULTS { + DWORD NumberOfBins; + BIN_COUNT BinCounts[1]; +} BIN_RESULTS,*PBIN_RESULTS; +typedef enum _MEDIA_TYPE { + Unknown, + F5_1Pt2_512, + F3_1Pt44_512, + F3_2Pt88_512, + F3_20Pt8_512, + F3_720_512, + F5_360_512, + F5_320_512, + F5_320_1024, + F5_180_512, + F5_160_512, + RemovableMedia, + FixedMedia +} MEDIA_TYPE; +typedef struct _DISK_GEOMETRY { + LARGE_INTEGER Cylinders; + MEDIA_TYPE MediaType; + DWORD TracksPerCylinder; + DWORD SectorsPerTrack; + DWORD BytesPerSector; +} DISK_GEOMETRY; +typedef struct _DISK_PERFORMANCE { + LARGE_INTEGER BytesRead; + LARGE_INTEGER BytesWritten; + LARGE_INTEGER ReadTime; + LARGE_INTEGER WriteTime; + DWORD ReadCount; + DWORD WriteCount; + DWORD QueueDepth; +} DISK_PERFORMANCE; +typedef struct _DISK_RECORD { + LARGE_INTEGER ByteOffset; + LARGE_INTEGER StartTime; + LARGE_INTEGER EndTime; + PVOID VirtualAddress; + DWORD NumberOfBytes; + BYTE DeviceNumber; + BOOLEAN ReadRequest; +} DISK_RECORD,*PDISK_RECORD; +typedef struct _DISK_LOGGING { + BYTE Function; + PVOID BufferAddress; + DWORD BufferSize; +} DISK_LOGGING,*PDISK_LOGGING; +typedef struct _FORMAT_PARAMETERS { + MEDIA_TYPE MediaType; + DWORD StartCylinderNumber; + DWORD EndCylinderNumber; + DWORD StartHeadNumber; + DWORD EndHeadNumber; +} FORMAT_PARAMETERS,*PFORMAT_PARAMETERS; +typedef struct _FORMAT_EX_PARAMETERS { + MEDIA_TYPE MediaType; + DWORD StartCylinderNumber; + DWORD EndCylinderNumber; + DWORD StartHeadNumber; + DWORD EndHeadNumber; + WORD FormatGapLength; + WORD SectorsPerTrack; + WORD SectorNumber[1]; +} FORMAT_EX_PARAMETERS,*PFORMAT_EX_PARAMETERS; +typedef struct _HISTOGRAM_BUCKET { + DWORD Reads; + DWORD Writes; +} HISTOGRAM_BUCKET,*PHISTOGRAM_BUCKET; +typedef struct _DISK_HISTOGRAM { + LARGE_INTEGER DiskSize; + LARGE_INTEGER Start; + LARGE_INTEGER End; + LARGE_INTEGER Average; + LARGE_INTEGER AverageRead; + LARGE_INTEGER AverageWrite; + DWORD Granularity; + DWORD Size; + DWORD ReadCount; + DWORD WriteCount; + PHISTOGRAM_BUCKET Histogram; +} DISK_HISTOGRAM,*PDISK_HISTOGRAM; +typedef struct _PARTITION_INFORMATION { + LARGE_INTEGER StartingOffset; + LARGE_INTEGER PartitionLength; + DWORD HiddenSectors; + DWORD PartitionNumber; + BYTE PartitionType; + BOOLEAN BootIndicator; + BOOLEAN RecognizedPartition; + BOOLEAN RewritePartition; +} PARTITION_INFORMATION,*PPARTITION_INFORMATION; +typedef struct _DRIVE_LAYOUT_INFORMATION { + DWORD PartitionCount; + DWORD Signature; + PARTITION_INFORMATION PartitionEntry[1]; +} DRIVE_LAYOUT_INFORMATION; +typedef struct _PERF_BIN { + DWORD NumberOfBins; + DWORD TypeOfBin; + BIN_RANGE BinsRanges[1]; +} PERF_BIN,*PPERF_BIN; +typedef struct _PREVENT_MEDIA_REMOVAL { + BOOLEAN PreventMediaRemoval; +} PREVENT_MEDIA_REMOVAL,*PPREVENT_MEDIA_REMOVAL; +typedef struct _REASSIGN_BLOCKS { + WORD Reserved; + WORD Count; + DWORD BlockNumber[1]; +} REASSIGN_BLOCKS,*PREASSIGN_BLOCKS; +typedef struct _SET_PARTITION_INFORMATION { + BYTE PartitionType; +} SET_PARTITION_INFORMATION,*PSET_PARTITION_INFORMATION; +typedef struct _VERIFY_INFORMATION { + LARGE_INTEGER StartingOffset; + DWORD Length; +} VERIFY_INFORMATION,*PVERIFY_INFORMATION; +#define IsRecognizedPartition(t) (((t&PARTITION_NTFT)&&((t&~0xC0)==PARTITION_FAT_12))||\ + ((t&PARTITION_NTFT)&&((t&~0xC0)==PARTITION_FAT_16))||\ + ((t&PARTITION_NTFT)&&((t&~0xC0)==PARTITION_IFS))||\ + ((t&PARTITION_NTFT)&&((t&~0xC0)==PARTITION_HUGE))||\ + ((t&~PARTITION_NTFT)==PARTITION_FAT_12)||\ + ((t&~PARTITION_NTFT)==PARTITION_FAT_16)||\ + ((t&~PARTITION_NTFT)==PARTITION_IFS)||\ + ((t&~PARTITION_NTFT)==PARTITION_HUGE)) +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/winnetwk.h b/winsup/w32api/include/winnetwk.h new file mode 100644 index 000000000..538487cb0 --- /dev/null +++ b/winsup/w32api/include/winnetwk.h @@ -0,0 +1,312 @@ +#ifndef _WINNETWK_H +#define _WINNETWK_H +#ifdef __cplusplus +extern "C" { +#endif +#define WNNC_NET_MSNET 0x10000 +#define WNNC_NET_LANMAN 0x20000 +#define WNNC_NET_NETWARE 0x30000 +#define WNNC_NET_VINES 0x40000 +#define WNNC_NET_10NET 0x50000 +#define WNNC_NET_LOCUS 0x60000 +#define WNNC_NET_SUN_PC_NFS 0x70000 +#define WNNC_NET_LANSTEP 0x80000 +#define WNNC_NET_9TILES 0x90000 +#define WNNC_NET_LANTASTIC 0xA0000 +#define WNNC_NET_AS400 0xB0000 +#define WNNC_NET_FTP_NFS 0xC0000 +#define WNNC_NET_PATHWORKS 0xD0000 +#define WNNC_NET_LIFENET 0xE0000 +#define WNNC_NET_POWERLAN 0xF0000 +#define WNNC_NET_BWNFS 0x100000 +#define WNNC_NET_COGENT 0x110000 +#define WNNC_NET_FARALLON 0x120000 +#define WNNC_NET_APPLETALK 0x130000 +#define WNNC_NET_INTERGRAPH 0x140000 +#define RESOURCE_CONNECTED 1 +#define RESOURCE_GLOBALNET 2 +#define RESOURCE_REMEMBERED 3 +#define RESOURCE_RECENT 4 +#define RESOURCE_CONTEXT 5 +#define RESOURCETYPE_ANY 0 +#define RESOURCETYPE_DISK 1 +#define RESOURCETYPE_PRINT 2 +#define RESOURCETYPE_RESERVED 8 +#define RESOURCETYPE_UNKNOWN 0xFFFFFFFF +#define RESOURCEUSAGE_CONNECTABLE 1 +#define RESOURCEUSAGE_CONTAINER 2 +#define RESOURCEUSAGE_NOLOCALDEVICE 4 +#define RESOURCEUSAGE_SIBLING 8 +#define RESOURCEUSAGE_ALL (RESOURCEUSAGE_CONNECTABLE|RESOURCEUSAGE_CONTAINER) +#define RESOURCEUSAGE_RESERVED 0x80000000 +#define RESOURCEDISPLAYTYPE_GENERIC 0 +#define RESOURCEDISPLAYTYPE_DOMAIN 1 +#define RESOURCEDISPLAYTYPE_SERVER 2 +#define RESOURCEDISPLAYTYPE_SHARE 3 +#define RESOURCEDISPLAYTYPE_FILE 4 +#define RESOURCEDISPLAYTYPE_GROUP 5 +#define RESOURCEDISPLAYTYPE_NETWORK 6 +#define RESOURCEDISPLAYTYPE_ROOT 7 +#define RESOURCEDISPLAYTYPE_SHAREADMIN 8 +#define RESOURCEDISPLAYTYPE_DIRECTORY 9 +#define RESOURCEDISPLAYTYPE_TREE 10 +#define NETPROPERTY_PERSISTENT 1 +#define CONNECT_UPDATE_PROFILE 1 +#define CONNECT_UPDATE_RECENT 2 +#define CONNECT_TEMPORARY 4 +#define CONNECT_INTERACTIVE 8 +#define CONNECT_PROMPT 16 +#define CONNECT_NEED_DRIVE 32 +#define CONNECT_REFCOUNT 64 +#define CONNECT_REDIRECT 128 +#define CONNECT_LOCALDRIVE 256 +#define CONNECT_CURRENT_MEDIA 512 +#define CONNDLG_RO_PATH 1 +#define CONNDLG_CONN_POINT 2 +#define CONNDLG_USE_MRU 4 +#define CONNDLG_HIDE_BOX 8 +#define CONNDLG_PERSIST 16 +#define CONNDLG_NOT_PERSIST 32 +#define DISC_UPDATE_PROFILE 1 +#define DISC_NO_FORCE 64 +#define WNFMT_MULTILINE 1 +#define WNFMT_ABBREVIATED 2 +#define WNFMT_INENUM 16 +#define WNFMT_CONNECTION 32 +#define WN_SUCCESS NO_ERROR +#define WN_NO_ERROR NO_ERROR +#define WN_NOT_SUPPORTED ERROR_NOT_SUPPORTED +#define WN_CANCEL ERROR_CANCELLED +#define WN_RETRY ERROR_RETRY +#define WN_NET_ERROR ERROR_UNEXP_NET_ERR +#define WN_MORE_DATA ERROR_MORE_DATA +#define WN_BAD_POINTER ERROR_INVALID_ADDRESS +#define WN_BAD_VALUE ERROR_INVALID_PARAMETER +#define WN_BAD_USER ERROR_BAD_USERNAME +#define WN_BAD_PASSWORD ERROR_INVALID_PASSWORD +#define WN_ACCESS_DENIED ERROR_ACCESS_DENIED +#define WN_FUNCTION_BUSY ERROR_BUSY +#define WN_WINDOWS_ERROR ERROR_UNEXP_NET_ERR +#define WN_OUT_OF_MEMORY ERROR_NOT_ENOUGH_MEMORY +#define WN_NO_NETWORK ERROR_NO_NETWORK +#define WN_EXTENDED_ERROR ERROR_EXTENDED_ERROR +#define WN_BAD_LEVEL ERROR_INVALID_LEVEL +#define WN_BAD_HANDLE ERROR_INVALID_HANDLE +#define WN_NOT_INITIALIZING ERROR_ALREADY_INITIALIZED +#define WN_NO_MORE_DEVICES ERROR_NO_MORE_DEVICES +#define WN_NOT_CONNECTED ERROR_NOT_CONNECTED +#define WN_OPEN_FILES ERROR_OPEN_FILES +#define WN_DEVICE_IN_USE ERROR_DEVICE_IN_USE +#define WN_BAD_NETNAME ERROR_BAD_NET_NAME +#define WN_BAD_LOCALNAME ERROR_BAD_DEVICE +#define WN_ALREADY_CONNECTED ERROR_ALREADY_ASSIGNED +#define WN_DEVICE_ERROR ERROR_GEN_FAILURE +#define WN_CONNECTION_CLOSED ERROR_CONNECTION_UNAVAIL +#define WN_NO_NET_OR_BAD_PATH ERROR_NO_NET_OR_BAD_PATH +#define WN_BAD_PROVIDER ERROR_BAD_PROVIDER +#define WN_CANNOT_OPEN_PROFILE ERROR_CANNOT_OPEN_PROFILE +#define WN_BAD_PROFILE ERROR_BAD_PROFILE +#define WN_BAD_DEV_TYPE ERROR_BAD_DEV_TYPE +#define WN_DEVICE_ALREADY_REMEMBERED ERROR_DEVICE_ALREADY_REMEMBERED +#define WN_NO_MORE_ENTRIES ERROR_NO_MORE_ITEMS +#define WN_NOT_CONTAINER ERROR_NOT_CONTAINER +#define WN_NOT_AUTHENTICATED ERROR_NOT_AUTHENTICATED +#define WN_NOT_LOGGED_ON ERROR_NOT_LOGGED_ON +#define WN_NOT_VALIDATED ERROR_NO_LOGON_SERVERS +#define UNIVERSAL_NAME_INFO_LEVEL 1 +#define REMOTE_NAME_INFO_LEVEL 2 +#define NETINFO_DLL16 1 +#define NETINFO_DISKRED 4 +#define NETINFO_PRINTERRED 8 +#define RP_LOGON 1 +#define RP_INIFILE 2 +#define PP_DISPLAYERRORS 1 +#define WNCON_FORNETCARD 1 +#define WNCON_NOTROUTED 2 +#define WNCON_SLOWLINK 4 +#define WNCON_DYNAMIC 8 + +#ifndef RC_INVOKED +typedef struct _NETRESOURCEA { + DWORD dwScope; + DWORD dwType; + DWORD dwDisplayType; + DWORD dwUsage; + LPSTR lpLocalName; + LPSTR lpRemoteName; + LPSTR lpComment ; + LPSTR lpProvider; +}NETRESOURCEA,*LPNETRESOURCEA; +typedef struct _NETRESOURCEW { + DWORD dwScope; + DWORD dwType; + DWORD dwDisplayType; + DWORD dwUsage; + LPWSTR lpLocalName; + LPWSTR lpRemoteName; + LPWSTR lpComment ; + LPWSTR lpProvider; +}NETRESOURCEW,*LPNETRESOURCEW; +typedef struct _CONNECTDLGSTRUCTA{ + DWORD cbStructure; + HWND hwndOwner; + LPNETRESOURCEA lpConnRes; + DWORD dwFlags; + DWORD dwDevNum; +} CONNECTDLGSTRUCTA,*LPCONNECTDLGSTRUCTA; +typedef struct _CONNECTDLGSTRUCTW{ + DWORD cbStructure; + HWND hwndOwner; + LPNETRESOURCEW lpConnRes; + DWORD dwFlags; + DWORD dwDevNum; +} CONNECTDLGSTRUCTW,*LPCONNECTDLGSTRUCTW; +typedef struct _DISCDLGSTRUCTA{ + DWORD cbStructure; + HWND hwndOwner; + LPSTR lpLocalName; + LPSTR lpRemoteName; + DWORD dwFlags; +} DISCDLGSTRUCTA,*LPDISCDLGSTRUCTA; +typedef struct _DISCDLGSTRUCTW{ + DWORD cbStructure; + HWND hwndOwner; + LPWSTR lpLocalName; + LPWSTR lpRemoteName; + DWORD dwFlags; +} DISCDLGSTRUCTW,*LPDISCDLGSTRUCTW; +typedef struct _UNIVERSAL_NAME_INFOA { LPSTR lpUniversalName; }UNIVERSAL_NAME_INFOA,*LPUNIVERSAL_NAME_INFOA; +typedef struct _UNIVERSAL_NAME_INFOW { LPWSTR lpUniversalName; }UNIVERSAL_NAME_INFOW,*LPUNIVERSAL_NAME_INFOW; +typedef struct _REMOTE_NAME_INFOA { + LPSTR lpUniversalName; + LPSTR lpConnectionName; + LPSTR lpRemainingPath; +}REMOTE_NAME_INFOA,*LPREMOTE_NAME_INFOA; +typedef struct _REMOTE_NAME_INFOW { + LPWSTR lpUniversalName; + LPWSTR lpConnectionName; + LPWSTR lpRemainingPath; +}REMOTE_NAME_INFOW,*LPREMOTE_NAME_INFOW; +typedef struct _NETINFOSTRUCT{ + DWORD cbStructure; + DWORD dwProviderVersion; + DWORD dwStatus; + DWORD dwCharacteristics; + DWORD dwHandle; + WORD wNetType; + DWORD dwPrinters; + DWORD dwDrives; +} NETINFOSTRUCT,*LPNETINFOSTRUCT; +typedef UINT(PASCAL *PFNGETPROFILEPATHA)(LPCSTR,LPSTR,UINT); +typedef UINT(PASCAL *PFNGETPROFILEPATHW)(LPCWSTR,LPWSTR,UINT); +typedef UINT(PASCAL *PFNRECONCILEPROFILEA)(LPCSTR,LPCSTR,DWORD); +typedef UINT(PASCAL *PFNRECONCILEPROFILEW)(LPCWSTR,LPCWSTR,DWORD); +typedef BOOL(PASCAL *PFNPROCESSPOLICIESA)(HWND,LPCSTR,LPCSTR,LPCSTR,DWORD); +typedef BOOL(PASCAL *PFNPROCESSPOLICIESW)(HWND,LPCWSTR,LPCWSTR,LPCWSTR,DWORD); +typedef struct _NETCONNECTINFOSTRUCT{ + DWORD cbStructure; + DWORD dwFlags; + DWORD dwSpeed; + DWORD dwDelay; + DWORD dwOptDataSize; +} NETCONNECTINFOSTRUCT,*LPNETCONNECTINFOSTRUCT; + +DWORD APIENTRY WNetAddConnectionA(LPCSTR,LPCSTR,LPCSTR); +DWORD APIENTRY WNetAddConnectionW(LPCWSTR,LPCWSTR,LPCWSTR); +DWORD APIENTRY WNetAddConnection2A(LPNETRESOURCEA,LPCSTR,LPCSTR,DWORD); +DWORD APIENTRY WNetAddConnection2W(LPNETRESOURCEW,LPCWSTR,LPCWSTR,DWORD); +DWORD APIENTRY WNetAddConnection3A(HWND,LPNETRESOURCEA,LPCSTR,LPCSTR,DWORD); +DWORD APIENTRY WNetAddConnection3W(HWND,LPNETRESOURCEW,LPCWSTR,LPCWSTR,DWORD); +DWORD APIENTRY WNetCancelConnectionA(LPCSTR,BOOL); +DWORD APIENTRY WNetCancelConnectionW(LPCWSTR,BOOL); +DWORD APIENTRY WNetCancelConnection2A(LPCSTR,DWORD,BOOL); +DWORD APIENTRY WNetCancelConnection2W(LPCWSTR,DWORD,BOOL); +DWORD APIENTRY WNetGetConnectionA(LPCSTR,LPSTR,PDWORD); +DWORD APIENTRY WNetGetConnectionW(LPCWSTR,LPWSTR,PDWORD); +DWORD APIENTRY WNetUseConnectionA(HWND,LPNETRESOURCEA,LPCSTR,LPCSTR,DWORD,LPSTR,PDWORD,PDWORD); +DWORD APIENTRY WNetUseConnectionW(HWND,LPNETRESOURCEW,LPCWSTR,LPCWSTR,DWORD,LPWSTR,PDWORD,PDWORD); +DWORD APIENTRY WNetSetConnectionA(LPCSTR,DWORD,PVOID); +DWORD APIENTRY WNetSetConnectionW(LPCWSTR,DWORD,PVOID); +DWORD APIENTRY WNetConnectionDialog(HWND,DWORD); +DWORD APIENTRY WNetDisconnectDialog(HWND,DWORD); +DWORD APIENTRY WNetConnectionDialog1A(LPCONNECTDLGSTRUCTA); +DWORD APIENTRY WNetConnectionDialog1W(LPCONNECTDLGSTRUCTW); +DWORD APIENTRY WNetDisconnectDialog1A(LPDISCDLGSTRUCTA); +DWORD APIENTRY WNetDisconnectDialog1W(LPDISCDLGSTRUCTW); +DWORD APIENTRY WNetOpenEnumA(DWORD,DWORD,DWORD,LPNETRESOURCEA,LPHANDLE); +DWORD APIENTRY WNetOpenEnumW(DWORD,DWORD,DWORD,LPNETRESOURCEW,LPHANDLE); +DWORD APIENTRY WNetEnumResourceA(HANDLE,PDWORD,PVOID,PDWORD); +DWORD APIENTRY WNetEnumResourceW(HANDLE,PDWORD,PVOID,PDWORD); +DWORD APIENTRY WNetCloseEnum(HANDLE); +DWORD APIENTRY WNetGetUniversalNameA(LPCSTR,DWORD,PVOID,PDWORD); +DWORD APIENTRY WNetGetUniversalNameW(LPCWSTR,DWORD,PVOID,PDWORD); +DWORD APIENTRY WNetGetUserA(LPCSTR,LPSTR,PDWORD); +DWORD APIENTRY WNetGetUserW(LPCWSTR,LPWSTR,PDWORD); +DWORD APIENTRY WNetGetProviderNameA(DWORD,LPSTR,PDWORD); +DWORD APIENTRY WNetGetProviderNameW(DWORD,LPWSTR,PDWORD); +DWORD APIENTRY WNetGetNetworkInformationA(LPCSTR,LPNETINFOSTRUCT); +DWORD APIENTRY WNetGetNetworkInformationW(LPCWSTR,LPNETINFOSTRUCT); +DWORD APIENTRY WNetGetLastErrorA(PDWORD,LPSTR,DWORD,LPSTR,DWORD); +DWORD APIENTRY WNetGetLastErrorW(PDWORD,LPWSTR,DWORD,LPWSTR,DWORD); +DWORD APIENTRY MultinetGetConnectionPerformanceA(LPNETRESOURCEA,LPNETCONNECTINFOSTRUCT); +DWORD APIENTRY MultinetGetConnectionPerformanceW(LPNETRESOURCEW,LPNETCONNECTINFOSTRUCT); +#ifdef UNICODE +#define PFNPROCESSPOLICIES PFNPROCESSPOLICIESW +#define PFNRECONCILEPROFILE PFNRECONCILEPROFILEW +#define PFNGETPROFILEPATH PFNGETPROFILEPATHW +typedef NETRESOURCEW NETRESOURCE,*LPNETRESOURCE; +typedef CONNECTDLGSTRUCTW CONNECTDLGSTRUCT,*LPCONNECTDLGSTRUCT; +typedef DISCDLGSTRUCTW DISCDLGSTRUCT,*LPDISCDLGSTRUCT; +typedef REMOTE_NAME_INFOW REMOTE_NAME_INFO,*LPREMOTE_NAME_INFO; +typedef UNIVERSAL_NAME_INFOW UNIVERSAL_NAME_INFO,*LPUNIVERSAL_NAME_INFO; +#define WNetEnumResource WNetEnumResourceW +#define WNetOpenEnum WNetOpenEnumW +#define WNetGetUniversalName WNetGetUniversalNameW +#define WNetSetConnection WNetSetConnectionW +#define WNetUseConnection WNetUseConnectionW +#define WNetGetConnection WNetGetConnectionW +#define WNetCancelConnection2 WNetCancelConnection2W +#define WNetCancelConnection WNetCancelConnectionW +#define WNetAddConnection3 WNetAddConnection3W +#define WNetAddConnection2 WNetAddConnection2W +#define WNetAddConnection WNetAddConnectionW +#define WNetConnectionDialog1 WNetConnectionDialog1W +#define WNetDisconnectDialog1 WNetDisconnectDialog1W +#define WNetGetNetworkInformation WNetGetNetworkInformationW +#define WNetGetProviderName WNetGetProviderNameW +#define WNetGetUser WNetGetUserW +#define MultinetGetConnectionPerformance MultinetGetConnectionPerformanceW +#define WNetGetLastError WNetGetLastErrorW +#else +#define PFNGETPROFILEPATH PFNGETPROFILEPATHA +#define PFNRECONCILEPROFILE PFNRECONCILEPROFILEA +#define PFNPROCESSPOLICIES PFNPROCESSPOLICIESA +typedef NETRESOURCEA NETRESOURCE,*LPNETRESOURCE; +typedef CONNECTDLGSTRUCTA CONNECTDLGSTRUCT,*LPCONNECTDLGSTRUCT; +typedef DISCDLGSTRUCTA DISCDLGSTRUCT,*LPDISCDLGSTRUCT; +typedef UNIVERSAL_NAME_INFOA UNIVERSAL_NAME_INFO,*LPUNIVERSAL_NAME_INFO; +typedef REMOTE_NAME_INFOA REMOTE_NAME_INFO,*LPREMOTE_NAME_INFO; +#define WNetOpenEnum WNetOpenEnumA +#define WNetEnumResource WNetEnumResourceA +#define WNetGetUniversalName WNetGetUniversalNameA +#define WNetConnectionDialog1 WNetConnectionDialog1A +#define WNetDisconnectDialog1 WNetDisconnectDialog1A +#define WNetAddConnection2 WNetAddConnection2A +#define WNetAddConnection3 WNetAddConnection3A +#define WNetCancelConnection WNetCancelConnectionA +#define WNetCancelConnection2 WNetCancelConnection2A +#define WNetGetConnection WNetGetConnectionA +#define WNetUseConnection WNetUseConnectionA +#define WNetSetConnection WNetSetConnectionA +#define WNetAddConnection WNetAddConnectionA +#define WNetGetUser WNetGetUserA +#define WNetGetProviderName WNetGetProviderNameA +#define WNetGetNetworkInformation WNetGetNetworkInformationA +#define WNetGetLastError WNetGetLastErrorA +#define MultinetGetConnectionPerformance MultinetGetConnectionPerformanceA +#endif +#endif +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/winnls.h b/winsup/w32api/include/winnls.h new file mode 100644 index 000000000..851edafc9 --- /dev/null +++ b/winsup/w32api/include/winnls.h @@ -0,0 +1,454 @@ +#ifndef _WINNLS_H +#define _WINNLS_H +#ifdef __cplusplus +extern "C" { +#endif + +#define MAX_LEADBYTES 12 +#define MAX_DEFAULTCHAR 2 +#define LOCALE_NOUSEROVERRIDE 0x80000000 +#define LOCALE_USE_CP_ACP 0x40000000 +#define LOCALE_ILANGUAGE 1 +#define LOCALE_SLANGUAGE 2 +#define LOCALE_SENGLANGUAGE 0x1001 +#define LOCALE_SABBREVLANGNAME 3 +#define LOCALE_SNATIVELANGNAME 4 +#define LOCALE_ICOUNTRY 5 +#define LOCALE_SCOUNTRY 6 +#define LOCALE_SENGCOUNTRY 0x1002 +#define LOCALE_SABBREVCTRYNAME 7 +#define LOCALE_SNATIVECTRYNAME 8 +#define LOCALE_IDEFAULTLANGUAGE 9 +#define LOCALE_IDEFAULTCOUNTRY 10 +#define LOCALE_IDEFAULTCODEPAGE 11 +#define LOCALE_IDEFAULTANSICODEPAGE 0x1004 +#define LOCALE_SLIST 12 +#define LOCALE_IMEASURE 13 +#define LOCALE_SDECIMAL 14 +#define LOCALE_STHOUSAND 15 +#define LOCALE_SGROUPING 16 +#define LOCALE_IDIGITS 17 +#define LOCALE_ILZERO 18 +#define LOCALE_INEGNUMBER 0x1010 +#define LOCALE_SNATIVEDIGITS 19 +#define LOCALE_SCURRENCY 20 +#define LOCALE_SINTLSYMBOL 21 +#define LOCALE_SMONDECIMALSEP 22 +#define LOCALE_SMONTHOUSANDSEP 23 +#define LOCALE_SMONGROUPING 24 +#define LOCALE_ICURRDIGITS 25 +#define LOCALE_IINTLCURRDIGITS 26 +#define LOCALE_ICURRENCY 27 +#define LOCALE_INEGCURR 28 +#define LOCALE_SDATE 29 +#define LOCALE_STIME 30 +#define LOCALE_SSHORTDATE 31 +#define LOCALE_SLONGDATE 32 +#define LOCALE_STIMEFORMAT 0x1003 +#define LOCALE_IDATE 33 +#define LOCALE_ILDATE 34 +#define LOCALE_ITIME 35 +#define LOCALE_ITIMEMARKPOSN 0x1005 +#define LOCALE_ICENTURY 36 +#define LOCALE_ITLZERO 37 +#define LOCALE_IDAYLZERO 38 +#define LOCALE_IMONLZERO 39 +#define LOCALE_S1159 40 +#define LOCALE_S2359 41 +#define LOCALE_ICALENDARTYPE 0x1009 +#define LOCALE_IOPTIONALCALENDAR 0x100B +#define LOCALE_IFIRSTDAYOFWEEK 0x100C +#define LOCALE_IFIRSTWEEKOFYEAR 0x100D +#define LOCALE_SDAYNAME1 42 +#define LOCALE_SDAYNAME2 43 +#define LOCALE_SDAYNAME3 44 +#define LOCALE_SDAYNAME4 45 +#define LOCALE_SDAYNAME5 46 +#define LOCALE_SDAYNAME6 47 +#define LOCALE_SDAYNAME7 48 +#define LOCALE_SABBREVDAYNAME1 49 +#define LOCALE_SABBREVDAYNAME2 50 +#define LOCALE_SABBREVDAYNAME3 51 +#define LOCALE_SABBREVDAYNAME4 52 +#define LOCALE_SABBREVDAYNAME5 53 +#define LOCALE_SABBREVDAYNAME6 54 +#define LOCALE_SABBREVDAYNAME7 55 +#define LOCALE_SMONTHNAME1 56 +#define LOCALE_SMONTHNAME2 57 +#define LOCALE_SMONTHNAME3 58 +#define LOCALE_SMONTHNAME4 59 +#define LOCALE_SMONTHNAME5 60 +#define LOCALE_SMONTHNAME6 61 +#define LOCALE_SMONTHNAME7 62 +#define LOCALE_SMONTHNAME8 63 +#define LOCALE_SMONTHNAME9 64 +#define LOCALE_SMONTHNAME10 65 +#define LOCALE_SMONTHNAME11 66 +#define LOCALE_SMONTHNAME12 67 +#define LOCALE_SMONTHNAME13 0x100E +#define LOCALE_SABBREVMONTHNAME1 68 +#define LOCALE_SABBREVMONTHNAME2 69 +#define LOCALE_SABBREVMONTHNAME3 70 +#define LOCALE_SABBREVMONTHNAME4 71 +#define LOCALE_SABBREVMONTHNAME5 72 +#define LOCALE_SABBREVMONTHNAME6 73 +#define LOCALE_SABBREVMONTHNAME7 74 +#define LOCALE_SABBREVMONTHNAME8 75 +#define LOCALE_SABBREVMONTHNAME9 76 +#define LOCALE_SABBREVMONTHNAME10 77 +#define LOCALE_SABBREVMONTHNAME11 78 +#define LOCALE_SABBREVMONTHNAME12 79 +#define LOCALE_SABBREVMONTHNAME13 0x100F +#define LOCALE_SPOSITIVESIGN 80 +#define LOCALE_SNEGATIVESIGN 81 +#define LOCALE_IPOSSIGNPOSN 82 +#define LOCALE_INEGSIGNPOSN 83 +#define LOCALE_IPOSSYMPRECEDES 84 +#define LOCALE_IPOSSEPBYSPACE 85 +#define LOCALE_INEGSYMPRECEDES 86 +#define LOCALE_INEGSEPBYSPACE 87 +#define LOCALE_FONTSIGNATURE 88 +#define LOCALE_SYSTEM_DEFAULT 0x800 +#define LOCALE_USER_DEFAULT 0x400 +#define NORM_IGNORECASE 1 +#define NORM_IGNOREKANATYPE 65536 +#define NORM_IGNORENONSPACE 2 +#define NORM_IGNORESYMBOLS 4 +#define NORM_IGNOREWIDTH 131072 +#define SORT_STRINGSORT 4096 +#define LCMAP_BYTEREV 2048 +#define LCMAP_FULLWIDTH 8388608 +#define LCMAP_HALFWIDTH 4194304 +#define LCMAP_HIRAGANA 1048576 +#define LCMAP_KATAKANA 2097152 +#define LCMAP_LOWERCASE 256 +#define LCMAP_SORTKEY 1024 +#define LCMAP_UPPERCASE 512 +#define ENUM_ALL_CALENDARS (-1) +#define DATE_SHORTDATE 1 +#define DATE_LONGDATE 2 +#define DATE_USE_ALT_CALENDAR 4 +#define CP_INSTALLED 1 +#define CP_SUPPORTED 2 +#define LCID_INSTALLED 1 +#define LCID_SUPPORTED 2 +#define MAP_FOLDCZONE 16 +#define MAP_FOLDDIGITS 128 +#define MAP_PRECOMPOSED 32 +#define MAP_COMPOSITE 64 +#define CP_ACP 0 +#define CP_OEMCP 1 +#define CP_MACCP 2 +#define CP_THREAD_ACP 3 +#define CP_SYMBOL 42 +#define CP_UTF7 65000 +#define CP_UTF8 65001 +#define CT_CTYPE1 1 +#define CT_CTYPE2 2 +#define CT_CTYPE3 4 +#define C1_UPPER 1 +#define C1_LOWER 2 +#define C1_DIGIT 4 +#define C1_SPACE 8 +#define C1_PUNCT 16 +#define C1_CNTRL 32 +#define C1_BLANK 64 +#define C1_XDIGIT 128 +#define C1_ALPHA 256 +#define C2_LEFTTORIGHT 1 +#define C2_RIGHTTOLEFT 2 +#define C2_EUROPENUMBER 3 +#define C2_EUROPESEPARATOR 4 +#define C2_EUROPETERMINATOR 5 +#define C2_ARABICNUMBER 6 +#define C2_COMMONSEPARATOR 7 +#define C2_BLOCKSEPARATOR 8 +#define C2_SEGMENTSEPARATOR 9 +#define C2_WHITESPACE 10 +#define C2_OTHERNEUTRAL 11 +#define C2_NOTAPPLICABLE 0 +#define C3_NONSPACING 1 +#define C3_DIACRITIC 2 +#define C3_VOWELMARK 4 +#define C3_SYMBOL 8 +#define C3_KATAKANA 16 +#define C3_HIRAGANA 32 +#define C3_HALFWIDTH 64 +#define C3_FULLWIDTH 128 +#define C3_IDEOGRAPH 256 +#define C3_KASHIDA 512 +#define C3_ALPHA 32768 +#define C3_NOTAPPLICABLE 0 +#define TIME_NOMINUTESORSECONDS 1 +#define TIME_NOSECONDS 2 +#define TIME_NOTIMEMARKER 4 +#define TIME_FORCE24HOURFORMAT 8 +#define LCMAP_BYTEREV 2048 +#define LCMAP_FULLWIDTH 8388608 +#define LCMAP_HALFWIDTH 4194304 +#define LCMAP_HIRAGANA 1048576 +#define LCMAP_KATAKANA 2097152 +#define LCMAP_LOWERCASE 256 +#define LCMAP_SORTKEY 1024 +#define LCMAP_UPPERCASE 512 +#define SORT_STRINGSORT 4096 +#define NORM_IGNORECASE 1 +#define NORM_IGNORENONSPACE 2 +#define NORM_IGNORESYMBOLS 4 +#define NORM_IGNOREKANATYPE 65536 +#define NORM_IGNOREWIDTH 131072 +#define MB_PRECOMPOSED 1 +#define MB_COMPOSITE 2 +#define MB_ERR_INVALID_CHARS 8 +#define MB_USEGLYPHCHARS 4 +#define WC_COMPOSITECHECK 512 +#define WC_DISCARDNS 16 +#define WC_SEPCHARS 32 +#define WC_DEFAULTCHAR 64 +#define CTRY_DEFAULT 0 +#define CTRY_AUSTRALIA 61 +#define CTRY_AUSTRIA 43 +#define CTRY_BELGIUM 32 +#define CTRY_BRAZIL 55 +#define CTRY_BULGARIA 359 +#define CTRY_CANADA 2 +#define CTRY_CROATIA 385 +#define CTRY_CZECH 42 +#define CTRY_DENMARK 45 +#define CTRY_FINLAND 358 +#define CTRY_FRANCE 33 +#define CTRY_GERMANY 49 +#define CTRY_GREECE 30 +#define CTRY_HONG_KONG 852 +#define CTRY_HUNGARY 36 +#define CTRY_ICELAND 354 +#define CTRY_IRELAND 353 +#define CTRY_ITALY 39 +#define CTRY_JAPAN 81 +#define CTRY_MEXICO 52 +#define CTRY_NETHERLANDS 31 +#define CTRY_NEW_ZEALAND 64 +#define CTRY_NORWAY 47 +#define CTRY_POLAND 48 +#define CTRY_PORTUGAL 351 +#define CTRY_PRCHINA 86 +#define CTRY_ROMANIA 40 +#define CTRY_RUSSIA 7 +#define CTRY_SINGAPORE 65 +#define CTRY_SLOVAK 42 +#define CTRY_SLOVENIA 386 +#define CTRY_SOUTH_KOREA 82 +#define CTRY_SPAIN 34 +#define CTRY_SWEDEN 46 +#define CTRY_SWITZERLAND 41 +#define CTRY_TAIWAN 886 +#define CTRY_TURKEY 90 +#define CTRY_UNITED_KINGDOM 44 +#define CTRY_UNITED_STATES 1 +#define CAL_ICALINTVALUE 1 +#define CAL_SCALNAME 2 +#define CAL_IYEAROFFSETRANGE 3 +#define CAL_SERASTRING 4 +#define CAL_SSHORTDATE 5 +#define CAL_SLONGDATE 6 +#define CAL_SDAYNAME1 7 +#define CAL_SDAYNAME2 8 +#define CAL_SDAYNAME3 9 +#define CAL_SDAYNAME4 10 +#define CAL_SDAYNAME5 11 +#define CAL_SDAYNAME6 12 +#define CAL_SDAYNAME7 13 +#define CAL_SABBREVDAYNAME1 14 +#define CAL_SABBREVDAYNAME2 15 +#define CAL_SABBREVDAYNAME3 16 +#define CAL_SABBREVDAYNAME4 17 +#define CAL_SABBREVDAYNAME5 18 +#define CAL_SABBREVDAYNAME6 19 +#define CAL_SABBREVDAYNAME7 20 +#define CAL_SMONTHNAME1 21 +#define CAL_SMONTHNAME2 22 +#define CAL_SMONTHNAME3 23 +#define CAL_SMONTHNAME4 24 +#define CAL_SMONTHNAME5 25 +#define CAL_SMONTHNAME6 26 +#define CAL_SMONTHNAME7 27 +#define CAL_SMONTHNAME8 28 +#define CAL_SMONTHNAME9 29 +#define CAL_SMONTHNAME10 30 +#define CAL_SMONTHNAME11 31 +#define CAL_SMONTHNAME12 32 +#define CAL_SMONTHNAME13 33 +#define CAL_SABBREVMONTHNAME1 34 +#define CAL_SABBREVMONTHNAME2 35 +#define CAL_SABBREVMONTHNAME3 36 +#define CAL_SABBREVMONTHNAME4 37 +#define CAL_SABBREVMONTHNAME5 38 +#define CAL_SABBREVMONTHNAME6 39 +#define CAL_SABBREVMONTHNAME7 40 +#define CAL_SABBREVMONTHNAME8 41 +#define CAL_SABBREVMONTHNAME9 42 +#define CAL_SABBREVMONTHNAME10 43 +#define CAL_SABBREVMONTHNAME11 44 +#define CAL_SABBREVMONTHNAME12 45 +#define CAL_SABBREVMONTHNAME13 46 +#define CAL_GREGORIAN 1 +#define CAL_GREGORIAN_US 2 +#define CAL_JAPAN 3 +#define CAL_TAIWAN 4 +#define CAL_KOREA 5 + +#ifndef RC_INVOKED +typedef DWORD LCTYPE; +typedef ULONG CALTYPE; +typedef ULONG CALID; +typedef BOOL (CALLBACK *CALINFO_ENUMPROCA)(LPSTR); +typedef BOOL (CALLBACK *CALINFO_ENUMPROCW)(LPWSTR); +typedef BOOL (CALLBACK *LOCALE_ENUMPROCA)(LPSTR); +typedef BOOL (CALLBACK *LOCALE_ENUMPROCW)(LPWSTR); +typedef BOOL (CALLBACK *CODEPAGE_ENUMPROCA)(LPSTR); +typedef BOOL (CALLBACK *CODEPAGE_ENUMPROCW)(LPWSTR); +typedef BOOL (CALLBACK *DATEFMT_ENUMPROCA)(LPSTR); +typedef BOOL (CALLBACK *DATEFMT_ENUMPROCW)(LPWSTR); +typedef BOOL (CALLBACK *TIMEFMT_ENUMPROCA)(LPSTR); +typedef BOOL (CALLBACK *TIMEFMT_ENUMPROCW)(LPWSTR); +typedef struct _cpinfo { + UINT MaxCharSize; + BYTE DefaultChar[MAX_DEFAULTCHAR]; + BYTE LeadByte[MAX_LEADBYTES]; +} CPINFO,*LPCPINFO; +typedef struct _currencyfmtA { + UINT NumDigits; + UINT LeadingZero; + UINT Grouping; + LPSTR lpDecimalSep; + LPSTR lpThousandSep; + UINT NegativeOrder; + UINT PositiveOrder; + LPSTR lpCurrencySymbol; +} CURRENCYFMTA; +typedef struct _currencyfmtW { + UINT NumDigits; + UINT LeadingZero; + UINT Grouping; + LPWSTR lpDecimalSep; + LPWSTR lpThousandSep; + UINT NegativeOrder; + UINT PositiveOrder; + LPWSTR lpCurrencySymbol; +} CURRENCYFMTW; +typedef struct _numberfmtA { + UINT NumDigits; + UINT LeadingZero; + UINT Grouping; + LPSTR lpDecimalSep; + LPSTR lpThousandSep; + UINT NegativeOrder; +} NUMBERFMTA; +typedef struct _numberfmtW { + UINT NumDigits; + UINT LeadingZero; + UINT Grouping; + LPWSTR lpDecimalSep; + LPWSTR lpThousandSep; + UINT NegativeOrder; +} NUMBERFMTW; + +int WINAPI CompareStringA(LCID,DWORD,LPCSTR,int,LPCSTR,int); +int WINAPI CompareStringW(LCID,DWORD,LPCWSTR,int,LPCWSTR,int); +LCID WINAPI ConvertDefaultLocale(LCID); +BOOL WINAPI EnumCalendarInfoA(CALINFO_ENUMPROCA,LCID,CALID,CALTYPE); +BOOL WINAPI EnumCalendarInfoW(CALINFO_ENUMPROCW,LCID,CALID,CALTYPE); +BOOL WINAPI EnumDateFormatsA(DATEFMT_ENUMPROCA,LCID,DWORD); +BOOL WINAPI EnumDateFormatsW(DATEFMT_ENUMPROCW,LCID,DWORD); +BOOL WINAPI EnumSystemCodePagesA(CODEPAGE_ENUMPROCA,DWORD); +BOOL WINAPI EnumSystemCodePagesW(CODEPAGE_ENUMPROCW,DWORD); +BOOL WINAPI EnumSystemLocalesA(LOCALE_ENUMPROCA,DWORD); +BOOL WINAPI EnumSystemLocalesW(LOCALE_ENUMPROCW,DWORD); +BOOL WINAPI EnumTimeFormatsA(TIMEFMT_ENUMPROCA,LCID,DWORD); +BOOL WINAPI EnumTimeFormatsW(TIMEFMT_ENUMPROCW,LCID,DWORD); +int WINAPI FoldStringA(DWORD,LPCSTR,int,LPSTR,int); +int WINAPI FoldStringW(DWORD,LPCWSTR,int,LPWSTR,int); +UINT WINAPI GetACP(void); +BOOL WINAPI GetCPInfo(UINT,LPCPINFO); +int WINAPI GetCurrencyFormatA(LCID,DWORD,LPCSTR,const CURRENCYFMTA*,LPSTR,int); +int WINAPI GetCurrencyFormatW(LCID,DWORD,LPCWSTR,const CURRENCYFMTW*,LPWSTR,int); +int WINAPI GetDateFormatA(LCID,DWORD,const SYSTEMTIME*,LPCSTR,LPSTR,int); +int WINAPI GetDateFormatW(LCID,DWORD,const SYSTEMTIME*,LPCWSTR,LPWSTR,int); +int WINAPI GetLocaleInfoA(LCID,LCTYPE,LPSTR,int); +int WINAPI GetLocaleInfoW(LCID,LCTYPE,LPWSTR,int); +int WINAPI GetNumberFormatA(LCID,DWORD,LPCSTR,const NUMBERFMTA*,LPSTR,int); +int WINAPI GetNumberFormatW(LCID,DWORD,LPCWSTR,const NUMBERFMTW*,LPWSTR,int); +UINT WINAPI GetOEMCP(void); +BOOL WINAPI GetStringTypeA(LCID,DWORD,LPCSTR,int,LPWORD); +BOOL WINAPI GetStringTypeW(DWORD,LPCWSTR,int,LPWORD); +BOOL WINAPI GetStringTypeExA(LCID,DWORD,LPCSTR,int,LPWORD); +BOOL WINAPI GetStringTypeExW(LCID,DWORD,LPCWSTR,int,LPWORD); +LANGID WINAPI GetSystemDefaultLangID(void); +LCID WINAPI GetSystemDefaultLCID(void); +LCID WINAPI GetThreadLocale(void); +int WINAPI GetTimeFormatA(LCID,DWORD,const SYSTEMTIME*,LPCSTR,LPSTR,int); +int WINAPI GetTimeFormatW(LCID,DWORD,const SYSTEMTIME*,LPCWSTR,LPWSTR,int); +LANGID WINAPI GetUserDefaultLangID(void); +LCID WINAPI GetUserDefaultLCID(void); +BOOL WINAPI IsDBCSLeadByte(BYTE); +BOOL WINAPI IsDBCSLeadByteEx(UINT,BYTE); +BOOL WINAPI IsValidCodePage(UINT); +BOOL WINAPI IsValidLocale(LCID,DWORD); +int WINAPI LCMapStringA(LCID,DWORD,LPCSTR,int,LPSTR,int); +int WINAPI LCMapStringW(LCID,DWORD,LPCWSTR,int,LPWSTR,int); +int WINAPI MultiByteToWideChar(UINT,DWORD,LPCSTR,int,LPWSTR,int); +BOOL WINAPI SetLocaleInfoA(LCID,LCTYPE,LPCSTR); +BOOL WINAPI SetLocaleInfoW(LCID,LCTYPE,LPCWSTR); +BOOL WINAPI SetThreadLocale(LCID); +int WINAPI WideCharToMultiByte(UINT,DWORD,LPCWSTR,int,LPSTR,int,LPCSTR,LPBOOL); + +#ifdef UNICODE +#define CALINFO_ENUMPROC CALINFO_ENUMPROCW +#define LOCALE_ENUMPROC LOCALE_ENUMPROCW +#define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCW +#define DATEFMT_ENUMPROC DATEFMT_ENUMPROCW +#define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCW +typedef CURRENCYFMTW CURRENCYFMT; +typedef NUMBERFMTW NUMBERFMT; +#define CompareString CompareStringW +#define EnumCalendarInfo EnumCalendarInfoW +#define EnumSystemCodePages EnumSystemCodePagesW +#define EnumSystemLocales EnumSystemLocalesW +#define EnumTimeFormats EnumTimeFormatsW +#define FoldString FoldStringA +#define GetCurrencyFormat GetCurrencyFormatW +#define GetDateFormat GetDateFormatW +#define GetLocaleInfo GetLocaleInfoW +#define GetNumberFormat GetNumberFormatW +#define GetStringTypeEx GetStringTypeExW +#define GetTimeFormat GetTimeFormatW +#define LCMapString LCMapStringW +#define SetLocaleInfo SetLocaleInfoW +#else +#define CALINFO_ENUMPROC CALINFO_ENUMPROCA +#define LOCALE_ENUMPROC LOCALE_ENUMPROCA +#define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCA +#define DATEFMT_ENUMPROC DATEFMT_ENUMPROCA +#define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCA +typedef CURRENCYFMTA CURRENCYFMT; +typedef NUMBERFMTA NUMBERFMT; +#define CompareString CompareStringA +#define EnumCalendarInfo EnumCalendarInfoA +#define EnumSystemCodePages EnumSystemCodePagesA +#define EnumSystemLocales EnumSystemLocalesA +#define EnumTimeFormats EnumTimeFormatsA +#define FoldString FoldStringW +#define GetCurrencyFormat GetCurrencyFormatA +#define GetDateFormat GetDateFormatA +#define GetLocaleInfo GetLocaleInfoA +#define GetNumberFormat GetNumberFormatA +#define GetStringTypeEx GetStringTypeExA +#define GetTimeFormat GetTimeFormatA +#define LCMapString LCMapStringA +#define SetLocaleInfo SetLocaleInfoA +#endif +#endif +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/winnt.h b/winsup/w32api/include/winnt.h new file mode 100644 index 000000000..71c0e353a --- /dev/null +++ b/winsup/w32api/include/winnt.h @@ -0,0 +1,2231 @@ +#ifndef _WINNT_H +#define _WINNT_H +/* translate GCC target defines to MS equivalents. Keep this synchronized + with windows.h. */ +#if defined(__i686__) && !defined(_M_IX86) +#define _M_IX86 600 +#elif defined(__i586__) && !defined(_M_IX86) +#define _M_IX86 500 +#elif defined(__i486__) && !defined(_M_IX86) +#define _M_IX86 400 +#elif defined(__i386__) && !defined(_M_IX86) +#define _M_IX86 300 +#endif +#if defined(_M_IX86) && !defined(_X86_) +#define _X86_ +#elif defined(_M_ALPHA) && !defined(_ALPHA_) +#define _ALPHA_ +#elif defined(_M_PPC) && !defined(_PPC_) +#define _PPC_ +#elif defined(_M_MRX000) && !defined(_MIPS_) +#define _MIPS_ +#elif defined(_M_M68K) && !defined(_68K_) +#define _68K_ +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#include <winerror.h> + +#ifndef RC_INVOKED +#include <string.h> + +/* FIXME: add more architectures. Is there a way to specify this in GCC? */ +#ifdef _X86_ +#define UNALIGNED +#else +#define UNALIGNED +#endif + +#ifndef VOID +#define VOID void +typedef char CHAR; +typedef short SHORT; +typedef long LONG; +#endif +typedef CHAR CCHAR; +typedef unsigned char UCHAR,*PUCHAR; +typedef unsigned short USHORT,*PUSHORT; +typedef unsigned long ULONG,*PULONG; +typedef char *PSZ; + +#ifndef _WCHAR_T_DEFINED +#define _WCHAR_T_DEFINED +#ifndef _WCHAR_T_ +#define _WCHAR_T_ +#undef __need_wchar_t +#ifndef __cplusplus +typedef unsigned short wchar_t; +#endif +#endif +#endif + +typedef wchar_t WCHAR; +typedef WCHAR *PWCHAR,*LPWCH,*PWCH,*NWPSTR,*LPWSTR,*PWSTR; +typedef CONST WCHAR *LPCWCH,*PCWCH,*LPCWSTR,*PCWSTR; +typedef CHAR *PCHAR,*LPCH,*PCH,*NPSTR,*LPSTR,*PSTR; +typedef CONST CHAR *LPCCH,*PCSTR,*LPCSTR; +#ifndef _TCHAR_DEFINED +#define _TCHAR_DEFINED +#ifdef UNICODE +typedef WCHAR TCHAR; +#else +typedef CHAR TCHAR; +#endif +#endif +typedef TCHAR TBYTE,*PTCH,*PTBYTE; +typedef TCHAR *LPTCH,*PTSTR,*LPTSTR,*LP,*PTCHAR; +typedef const TCHAR *LPCTSTR; +#ifdef UNICODE +#define TEXT(q) L##q +#else +#define TEXT(q) q +#endif +#ifndef _T +#define _T TEXT +#endif +typedef SHORT *PSHORT; +typedef LONG *PLONG; +typedef void *HANDLE; +typedef HANDLE *PHANDLE,*LPHANDLE; +#ifdef STRICT +#define DECLARE_HANDLE(n) typedef struct n##__{int i;}*n +#else +#define DECLARE_HANDLE(n) typedef HANDLE n +#endif +typedef DWORD LCID; +typedef PDWORD PLCID; +typedef WORD LANGID; +#ifdef __GNUC__ +#define HAVE_INT64 +#define _INTEGRAL_MAX_BITS 64 +#undef __int64 +#define __int64 long long +#endif +#if defined(HAVE_INT64) || (defined(_INTEGRAL_MAX_BITS) && _INTEGRAL_MAX_BITS >= 64) +typedef __int64 LONGLONG; +typedef unsigned __int64 DWORDLONG; +#else +typedef double LONGLONG,DWORDLONG; +#endif +typedef LONGLONG *PLONGLONG; +typedef DWORDLONG *PDWORDLONG; +typedef DWORDLONG ULONGLONG,*PULONGLONG; +typedef LONGLONG USN; +#ifdef HAVE_INT64 +#define Int32x32To64(a,b) ((LONGLONG)(a)*(LONGLONG)(b)) +#define UInt32x32To64(a,b) ((DWORDLONG)(a)*(DWORDLONG)(b)) +#define Int64ShllMod32(a,b) ((DWORDLONG)(a)<<(b)) +#define Int64ShraMod32(a,b) ((LONGLONG)(a)>>(b)) +#define Int64ShrlMod32(a,b) ((DWORDLONG)(a)>>(b)) +#endif +#define ANSI_NULL '\0' +#define UNICODE_NULL L'\0' +typedef BYTE BOOLEAN,*PBOOLEAN; +#endif + +#define NTAPI __stdcall +#define APPLICATION_ERROR_MASK 0x20000000 +#define ERROR_SEVERITY_SUCCESS 0x00000000 +#define ERROR_SEVERITY_INFORMATIONAL 0x40000000 +#define ERROR_SEVERITY_WARNING 0x80000000 +#define ERROR_SEVERITY_ERROR 0xC0000000 +#define COMPRESSION_FORMAT_NONE 0 +#define COMPRESSION_FORMAT_DEFAULT 1 +#define COMPRESSION_FORMAT_LZNT1 2 +#define COMPRESSION_ENGINE_STANDARD 0 +#define COMPRESSION_ENGINE_MAXIMUM 256 +#define ACCESS_ALLOWED_ACE_TYPE 0 +#define ACCESS_DENIED_ACE_TYPE 1 +#define ANYSIZE_ARRAY 1 +#define SYSTEM_AUDIT_ACE_TYPE 2 +#define SYSTEM_ALARM_ACE_TYPE 3 +#define OBJECT_INHERIT_ACE 1 +#define CONTAINER_INHERIT_ACE 2 +#define NO_PROPAGATE_INHERIT_ACE 4 +#define INHERIT_ONLY_ACE 8 +#define VALID_INHERIT_FLAGS 16 +#define SUCCESSFUL_ACCESS_ACE_FLAG 64 +#define FAILED_ACCESS_ACE_FLAG 128 +#define DELETE 0x00010000L +#define READ_CONTROL 0x20000L +#define WRITE_DAC 0x40000L +#define WRITE_OWNER 0x80000L +#define SYNCHRONIZE 0x100000L +#define STANDARD_RIGHTS_REQUIRED 0xF0000 +#define STANDARD_RIGHTS_READ 0x20000 +#define STANDARD_RIGHTS_WRITE 0x20000 +#define STANDARD_RIGHTS_EXECUTE 0x20000 +#define STANDARD_RIGHTS_ALL 0x1F0000 +#define SPECIFIC_RIGHTS_ALL 0xFFFF +#define ACCESS_SYSTEM_SECURITY 0x1000000 +#define MAXIMUM_ALLOWED 0x2000000 +#define GENERIC_READ 0x80000000 +#define GENERIC_WRITE 0x40000000 +#define GENERIC_EXECUTE 0x20000000 +#define GENERIC_ALL 0x10000000 +#define FILE_READ_DATA 1 +#define FILE_LIST_DIRECTORY 1 +#define FILE_WRITE_DATA 2 +#define FILE_ADD_FILE 2 +#define FILE_APPEND_DATA 4 +#define FILE_ADD_SUBDIRECTORY 4 +#define FILE_CREATE_PIPE_INSTANCE 4 +#define FILE_READ_EA 8 +#define FILE_READ_PROPERTIES 8 +#define FILE_WRITE_EA 16 +#define FILE_WRITE_PROPERTIES 16 +#define FILE_EXECUTE 32 +#define FILE_TRAVERSE 32 +#define FILE_DELETE_CHILD 64 +#define FILE_READ_ATTRIBUTES 128 +#define FILE_WRITE_ATTRIBUTES 256 +#define FILE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x1FF) +#define FILE_GENERIC_READ (STANDARD_RIGHTS_READ|FILE_READ_DATA|FILE_READ_ATTRIBUTES|FILE_READ_EA|SYNCHRONIZE) +#define FILE_GENERIC_WRITE (STANDARD_RIGHTS_WRITE|FILE_WRITE_DATA|FILE_WRITE_ATTRIBUTES|FILE_WRITE_EA|FILE_APPEND_DATA|SYNCHRONIZE) +#define FILE_GENERIC_EXECUTE (STANDARD_RIGHTS_EXECUTE|FILE_READ_ATTRIBUTES|FILE_EXECUTE|SYNCHRONIZE) +#define FILE_SHARE_READ 1 +#define FILE_SHARE_WRITE 2 +#define FILE_SHARE_DELETE 4 +#define FILE_ATTRIBUTE_READONLY 1 +#define FILE_ATTRIBUTE_HIDDEN 2 +#define FILE_ATTRIBUTE_SYSTEM 4 +#define FILE_ATTRIBUTE_DIRECTORY 16 +#define FILE_ATTRIBUTE_ARCHIVE 32 +#define FILE_ATTRIBUTE_NORMAL 128 +#define FILE_ATTRIBUTE_TEMPORARY 256 +#define FILE_ATTRIBUTE_COMPRESSED 2048 +#define FILE_ATTRIBUTE_OFFLINE 0x1000 +#define FILE_NOTIFY_CHANGE_FILE_NAME 1 +#define FILE_NOTIFY_CHANGE_DIR_NAME 2 +#define FILE_NOTIFY_CHANGE_ATTRIBUTES 4 +#define FILE_NOTIFY_CHANGE_SIZE 8 +#define FILE_NOTIFY_CHANGE_LAST_WRITE 16 +#define FILE_NOTIFY_CHANGE_LAST_ACCESS 32 +#define FILE_NOTIFY_CHANGE_CREATION 64 +#define FILE_NOTIFY_CHANGE_SECURITY 256 +#define MAILSLOT_NO_MESSAGE ((DWORD)-1) +#define MAILSLOT_WAIT_FOREVER ((DWORD)-1) +#define FILE_CASE_SENSITIVE_SEARCH 1 +#define FILE_CASE_PRESERVED_NAMES 2 +#define FILE_UNICODE_ON_DISK 4 +#define FILE_PERSISTENT_ACLS 8 +#define FILE_FILE_COMPRESSION 16 +#define FILE_VOLUME_IS_COMPRESSED 0x8000 +#define IO_COMPLETION_MODIFY_STATE 2 +#define IO_COMPLETION_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|3) +#define DUPLICATE_CLOSE_SOURCE 1 +#define DUPLICATE_SAME_ACCESS 2 +#define PROCESS_TERMINATE 1 +#define PROCESS_CREATE_THREAD 2 +#define PROCESS_VM_OPERATION 8 +#define PROCESS_VM_READ 16 +#define PROCESS_VM_WRITE 32 +#define PROCESS_DUP_HANDLE 64 +#define PROCESS_CREATE_PROCESS 128 +#define PROCESS_SET_QUOTA 256 +#define PROCESS_SET_INFORMATION 512 +#define PROCESS_QUERY_INFORMATION 1024 +#define PROCESS_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0xFFF) +#define THREAD_TERMINATE 1 +#define THREAD_SUSPEND_RESUME 2 +#define THREAD_GET_CONTEXT 8 +#define THREAD_SET_CONTEXT 16 +#define THREAD_SET_INFORMATION 32 +#define THREAD_QUERY_INFORMATION 64 +#define THREAD_SET_THREAD_TOKEN 128 +#define THREAD_IMPERSONATE 256 +#define THREAD_DIRECT_IMPERSONATION 0x200 +#define THREAD_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3FF) +#define EXCEPTION_NONCONTINUABLE 1 +#define EXCEPTION_MAXIMUM_PARAMETERS 15 +#define SECURITY_NULL_SID_AUTHORITY {0,0,0,0,0,0} +#define SECURITY_WORLD_SID_AUTHORITY {0,0,0,0,0,1} +#define SECURITY_LOCAL_SID_AUTHORITY {0,0,0,0,0,2} +#define SECURITY_CREATOR_SID_AUTHORITY {0,0,0,0,0,3} +#define SECURITY_NON_UNIQUE_AUTHORITY {0,0,0,0,0,4} +#define SECURITY_NT_AUTHORITY {0,0,0,0,0,5} +#define SECURITY_NULL_RID 0 +#define SECURITY_WORLD_RID 0 +#define SECURITY_LOCAL_RID 0 +#define SECURITY_CREATOR_OWNER_RID 0 +#define SECURITY_CREATOR_GROUP_RID 1 +#define SECURITY_DIALUP_RID 1 +#define SECURITY_NETWORK_RID 2 +#define SECURITY_BATCH_RID 3 +#define SECURITY_INTERACTIVE_RID 4 +#define SECURITY_LOGON_IDS_RID 5 +#define SECURITY_SERVICE_RID 6 +#define SECURITY_LOCAL_SYSTEM_RID 18 +#define SECURITY_BUILTIN_DOMAIN_RID 32 +#define SECURITY_PRINCIPAL_SELF_RID 10 +#define DOMAIN_USER_RID_ADMIN 0x1F4L +#define DOMAIN_USER_RID_GUEST 0x1F5L +#define DOMAIN_GROUP_RID_ADMINS 0x200L +#define DOMAIN_GROUP_RID_USERS 0x201L +#define DOMAIN_ALIAS_RID_ADMINS 0x220L +#define DOMAIN_ALIAS_RID_USERS 0x221L +#define DOMAIN_ALIAS_RID_GUESTS 0x222L +#define DOMAIN_ALIAS_RID_POWER_USERS 0x223L +#define DOMAIN_ALIAS_RID_ACCOUNT_OPS 0x224L +#define DOMAIN_ALIAS_RID_SYSTEM_OPS 0x225L +#define DOMAIN_ALIAS_RID_PRINT_OPS 0x226L +#define DOMAIN_ALIAS_RID_BACKUP_OPS 0x227L +#define DOMAIN_ALIAS_RID_REPLICATOR 0x228L +#define SE_CREATE_TOKEN_NAME TEXT("SeCreateTokenPrivilege") +#define SE_ASSIGNPRIMARYTOKEN_NAME TEXT("SeAssignPrimaryTokenPrivilege") +#define SE_LOCK_MEMORY_NAME TEXT("SeLockMemoryPrivilege") +#define SE_INCREASE_QUOTA_NAME TEXT("SeIncreaseQuotaPrivilege") +#define SE_UNSOLICITED_INPUT_NAME TEXT("SeUnsolicitedInputPrivilege") +#define SE_MACHINE_ACCOUNT_NAME TEXT("SeMachineAccountPrivilege") +#define SE_TCB_NAME TEXT("SeTcbPrivilege") +#define SE_SECURITY_NAME TEXT("SeSecurityPrivilege") +#define SE_TAKE_OWNERSHIP_NAME TEXT("SeTakeOwnershipPrivilege") +#define SE_LOAD_DRIVER_NAME TEXT("SeLoadDriverPrivilege") +#define SE_SYSTEM_PROFILE_NAME TEXT("SeSystemProfilePrivilege") +#define SE_SYSTEMTIME_NAME TEXT("SeSystemtimePrivilege") +#define SE_PROF_SINGLE_PROCESS_NAME TEXT("SeProfileSingleProcessPrivilege") +#define SE_INC_BASE_PRIORITY_NAME TEXT("SeIncreaseBasePriorityPrivilege") +#define SE_CREATE_PAGEFILE_NAME TEXT("SeCreatePagefilePrivilege") +#define SE_CREATE_PERMANENT_NAME TEXT("SeCreatePermanentPrivilege") +#define SE_BACKUP_NAME TEXT("SeBackupPrivilege") +#define SE_RESTORE_NAME TEXT("SeRestorePrivilege") +#define SE_SHUTDOWN_NAME TEXT("SeShutdownPrivilege") +#define SE_DEBUG_NAME TEXT("SeDebugPrivilege") +#define SE_AUDIT_NAME TEXT("SeAuditPrivilege") +#define SE_SYSTEM_ENVIRONMENT_NAME TEXT("SeSystemEnvironmentPrivilege") +#define SE_CHANGE_NOTIFY_NAME TEXT("SeChangeNotifyPrivilege") +#define SE_REMOTE_SHUTDOWN_NAME TEXT("SeRemoteShutdownPrivilege") +#define LANG_BULGARIAN 2 +#define LANG_CHINESE 4 +#define LANG_CROATIAN 26 +#define LANG_CZECH 5 +#define LANG_DANISH 6 +#define LANG_DUTCH 19 +#define LANG_ENGLISH 9 +#define LANG_FINNISH 11 +#define LANG_FRENCH 12 +#define LANG_GERMAN 7 +#define LANG_GREEK 8 +#define LANG_HUNGARIAN 14 +#define LANG_ICELANDIC 15 +#define LANG_ITALIAN 16 +#define LANG_JAPANESE 17 +#define LANG_KOREAN 18 +#define LANG_NEUTRAL 0 +#define LANG_NORWEGIAN 20 +#define LANG_POLISH 21 +#define LANG_PORTUGUESE 22 +#define LANG_ROMANIAN 24 +#define LANG_RUSSIAN 25 +#define LANG_SLOVAK 27 +#define LANG_SLOVENIAN 36 +#define LANG_SPANISH 10 +#define LANG_SWEDISH 29 +#define LANG_TURKISH 31 +#define SUBLANG_CHINESE_SIMPLIFIED 2 +#define SUBLANG_CHINESE_TRADITIONAL 1 +#define SUBLANG_CHINESE_HONGKONG 3 +#define SUBLANG_CHINESE_SINGAPORE 4 +#define SUBLANG_DEFAULT 1 +#define SUBLANG_DUTCH 1 +#define SUBLANG_DUTCH_BELGIAN 2 +#define SUBLANG_ENGLISH_AUS 3 +#define SUBLANG_ENGLISH_CAN 4 +#define SUBLANG_ENGLISH_EIRE 6 +#define SUBLANG_ENGLISH_NZ 5 +#define SUBLANG_ENGLISH_UK 2 +#define SUBLANG_ENGLISH_US 1 +#define SUBLANG_FRENCH 1 +#define SUBLANG_FRENCH_BELGIAN 2 +#define SUBLANG_FRENCH_CANADIAN 3 +#define SUBLANG_FRENCH_SWISS 4 +#define SUBLANG_GERMAN 1 +#define SUBLANG_GERMAN_AUSTRIAN 3 +#define SUBLANG_GERMAN_SWISS 2 +#define SUBLANG_ITALIAN 1 +#define SUBLANG_ITALIAN_SWISS 2 +#define SUBLANG_NEUTRAL 0 +#define SUBLANG_NORWEGIAN_BOKMAL 1 +#define SUBLANG_NORWEGIAN_NYNORSK 2 +#define SUBLANG_PORTUGUESE 2 +#define SUBLANG_PORTUGUESE_BRAZILIAN 1 +#define SUBLANG_SPANISH 1 +#define SUBLANG_SPANISH_MEXICAN 2 +#define SUBLANG_SPANISH_MODERN 3 +#define SUBLANG_SYS_DEFAULT 2 +#define NLS_VALID_LOCALE_MASK 1048575 +#define SORT_DEFAULT 0 +#define SORT_JAPANESE_XJIS 0 +#define SORT_JAPANESE_UNICODE 1 +#define SORT_CHINESE_BIG5 0 +#define SORT_CHINESE_UNICODE 1 +#define SORT_KOREAN_KSC 0 +#define SORT_KOREAN_UNICODE 1 +#define MAKELANGID(p,s) ((((WORD)(s))<<10)|(WORD)(p)) +#define MAKELCID(l,s) ((DWORD)((((DWORD)((WORD)(s)))<<16)|((DWORD)((WORD)(l))))) +#define PRIMARYLANGID(l) ((WORD)(l)&0x3ff) +#define SORTIDFROMLCID(l) ((WORD)((((DWORD)(l))&NLS_VALID_LOCALE_MASK)>>16)) +#define SORTVERSIONFROMLCID(l) ((WORD)((((DWORD)(l))>>20)&0xf)) +#define SUBLANGID(l) ((WORD)(l)>>10) +#define LANGIDFROMLCID(l) ((WORD)(l)) +#define LANG_SYSTEM_DEFAULT MAKELANGID(LANG_NEUTRAL,SUBLANG_SYS_DEFAULT) +#define LANG_USER_DEFAULT MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT) +#define LOCALE_NEUTRAL MAKELCID(MAKELANGID(LANG_NEUTRAL,SUBLANG_NEUTRAL),SORT_DEFAULT) +#define ACL_REVISION 2 +#define ACL_REVISION_DS 4 +#define ACL_REVISION1 1 +#define ACL_REVISION2 2 +#define ACL_REVISION3 3 +#define ACL_REVISION4 4 +#define MIN_ACL_REVISION 2 +#define MAX_ACL_REVISION 4 +#define MINCHAR 0x80 +#define MAXCHAR 0x7f +#define MINSHORT 0x8000 +#define MAXSHORT 0x7fff +#define MINLONG 0x80000000 +#define MAXLONG 0x7fffffff +#define MAXBYTE 0xff +#define MAXWORD 0xffff +#define MAXDWORD 0xffffffff +#define PROCESSOR_INTEL_386 386 +#define PROCESSOR_INTEL_486 486 +#define PROCESSOR_INTEL_PENTIUM 586 +#define PROCESSOR_MIPS_R4000 4000 +#define PROCESSOR_ALPHA_21064 21064 +#define PROCESSOR_ARCHITECTURE_INTEL 0 +#define PROCESSOR_ARCHITECTURE_MIPS 1 +#define PROCESSOR_ARCHITECTURE_ALPHA 2 +#define PROCESSOR_ARCHITECTURE_PPC 3 +#define PROCESSOR_ARCHITECTURE_UNKNOWN 0xFFFF +#define PAGE_READONLY 2 +#define PAGE_READWRITE 4 +#define PAGE_WRITECOPY 8 +#define FILE_ACTION_ADDED 1 +#define FILE_ACTION_REMOVED 2 +#define FILE_ACTION_MODIFIED 3 +#define FILE_ACTION_RENAMED_OLD_NAME 4 +#define FILE_ACTION_RENAMED_NEW_NAME 5 +#define HEAP_NO_SERIALIZE 1 +#define HEAP_GROWABLE 2 +#define HEAP_GENERATE_EXCEPTIONS 4 +#define HEAP_ZERO_MEMORY 8 +#define HEAP_REALLOC_IN_PLACE_ONLY 16 +#define HEAP_TAIL_CHECKING_ENABLED 32 +#define HEAP_FREE_CHECKING_ENABLED 64 +#define HEAP_DISABLE_COALESCE_ON_FREE 128 +#define HEAP_CREATE_ALIGN_16 0x0000 +#define HEAP_CREATE_ENABLE_TRACING 0x20000 +#define HEAP_MAXIMUM_TAG 0xFFF +#define HEAP_PSEUDO_TAG_FLAG 0x8000 +#define HEAP_TAG_SHIFT 16 +#define HEAP_MAKE_TAG_FLAGS(b,o) ((DWORD)((b)+(o)<<16))) +#define KEY_QUERY_VALUE 1 +#define KEY_SET_VALUE 2 +#define KEY_CREATE_SUB_KEY 4 +#define KEY_ENUMERATE_SUB_KEYS 8 +#define KEY_NOTIFY 16 +#define KEY_CREATE_LINK 32 +#define KEY_WRITE 0x20006 +#define KEY_EXECUTE 0x20019 +#define KEY_READ 0x20019 +#define KEY_ALL_ACCESS 0xf003f +#define REG_WHOLE_HIVE_VOLATILE 1 +#define REG_REFRESH_HIVE 2 +#define REG_NO_LAZY_FLUSH 4 +#define REG_OPTION_RESERVED 0 +#define REG_OPTION_NON_VOLATILE 0 +#define REG_OPTION_VOLATILE 1 +#define REG_OPTION_CREATE_LINK 2 +#define REG_OPTION_BACKUP_RESTORE 4 +#define REG_OPTION_OPEN_LINK 8 +#define REG_LEGAL_OPTION 15 +#define OWNER_SECURITY_INFORMATION 1 +#define GROUP_SECURITY_INFORMATION 2 +#define DACL_SECURITY_INFORMATION 4 +#define SACL_SECURITY_INFORMATION 8 +#define MAXIMUM_PROCESSORS 32 +#define PAGE_EXECUTE 16 +#define PAGE_EXECUTE_READ 32 +#define PAGE_EXECUTE_READWRITE 64 +#define PAGE_GUARD 256 +#define PAGE_NOACCESS 1 +#define PAGE_NOCACHE 512 +#define MEM_COMMIT 4096 +#define MEM_FREE 65536 +#define MEM_RESERVE 8192 +#define MEM_IMAGE 16777216 +#define MEM_MAPPED 262144 +#define MEM_PRIVATE 131072 +#define MEM_DECOMMIT 16384 +#define MEM_RELEASE 32768 +#define PAGE_EXECUTE_WRITECOPY 128 +#define SECTION_EXTEND_SIZE 16 +#define SECTION_MAP_READ 4 +#define SECTION_MAP_WRITE 2 +#define SECTION_QUERY 1 +#define SECTION_ALL_ACCESS 0xf001f +#define MESSAGE_RESOURCE_UNICODE 1 +#define RTL_CRITSECT_TYPE 0 +#define RTL_RESOURCE_TYPE 1 +#define FIELD_OFFSET(t,f) ((LONG)&(((t*)0)->f)) +#define IMAGE_SIZEOF_FILE_HEADER 20 +#define IMAGE_FILE_RELOCS_STRIPPED 1 +#define IMAGE_FILE_EXECUTABLE_IMAGE 2 +#define IMAGE_FILE_LINE_NUMS_STRIPPED 4 +#define IMAGE_FILE_LOCAL_SYMS_STRIPPED 8 +#define IMAGE_FILE_BYTES_REVERSED_LO 128 +#define IMAGE_FILE_32BIT_MACHINE 256 +#define IMAGE_FILE_DEBUG_STRIPPED 512 +#define IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP 1024 +#define IMAGE_FILE_NET_RUN_FROM_SWAP 2048 +#define IMAGE_FILE_SYSTEM 4096 +#define IMAGE_FILE_DLL 8192 +#define IMAGE_FILE_UP_SYSTEM_ONLY 16384 +#define IMAGE_FILE_BYTES_REVERSED_HI 32768 +#define IMAGE_FILE_MACHINE_UNKNOWN 0 +#define IMAGE_FILE_MACHINE_I386 332 +#define IMAGE_FILE_MACHINE_R3000 354 +#define IMAGE_FILE_MACHINE_R4000 358 +#define IMAGE_FILE_MACHINE_R10000 360 +#define IMAGE_FILE_MACHINE_ALPHA 388 +#define IMAGE_FILE_MACHINE_POWERPC 496 +#define IMAGE_DOS_SIGNATURE 0x5A4D +#define IMAGE_OS2_SIGNATURE 0x454E +#define IMAGE_OS2_SIGNATURE_LE 0x454C +#define IMAGE_VXD_SIGNATURE 0x454C +#define IMAGE_NT_SIGNATURE 0x00004550 +#define IMAGE_NT_OPTIONAL_HDR_MAGIC 0x10b +#define IMAGE_ROM_OPTIONAL_HDR_MAGIC 0x107 +#define IMAGE_SEPARATE_DEBUG_SIGNATURE 0x4944 +#define IMAGE_NUMBEROF_DIRECTORY_ENTRIES 16 +#define IMAGE_SIZEOF_ROM_OPTIONAL_HEADER 56 +#define IMAGE_SIZEOF_STD_OPTIONAL_HEADER 28 +#define IMAGE_SIZEOF_NT_OPTIONAL_HEADER 224 +#define IMAGE_SIZEOF_SHORT_NAME 8 +#define IMAGE_SIZEOF_SECTION_HEADER 40 +#define IMAGE_SIZEOF_SYMBOL 18 +#define IMAGE_SIZEOF_AUX_SYMBOL 18 +#define IMAGE_SIZEOF_RELOCATION 10 +#define IMAGE_SIZEOF_BASE_RELOCATION 8 +#define IMAGE_SIZEOF_LINENUMBER 6 +#define IMAGE_SIZEOF_ARCHIVE_MEMBER_HDR 60 +#define SIZEOF_RFPO_DATA 16 +#define IMAGE_SUBSYSTEM_UNKNOWN 0 +#define IMAGE_SUBSYSTEM_NATIVE 1 +#define IMAGE_SUBSYSTEM_WINDOWS_GUI 2 +#define IMAGE_SUBSYSTEM_WINDOWS_CUI 3 +#define IMAGE_SUBSYSTEM_OS2_CUI 5 +#define IMAGE_SUBSYSTEM_POSIX_CUI 7 +#define IMAGE_FIRST_SECTION(h) ((PIMAGE_SECTION_HEADER) ((DWORD)h+FIELD_OFFSET(IMAGE_NT_HEADERS,OptionalHeader)+((PIMAGE_NT_HEADERS)(h))->FileHeader.SizeOfOptionalHeader)) +#define IMAGE_DIRECTORY_ENTRY_EXPORT 0 +#define IMAGE_DIRECTORY_ENTRY_IMPORT 1 +#define IMAGE_DIRECTORY_ENTRY_RESOURCE 2 +#define IMAGE_DIRECTORY_ENTRY_EXCEPTION 3 +#define IMAGE_DIRECTORY_ENTRY_SECURITY 4 +#define IMAGE_DIRECTORY_ENTRY_BASERELOC 5 +#define IMAGE_DIRECTORY_ENTRY_DEBUG 6 +#define IMAGE_DIRECTORY_ENTRY_COPYRIGHT 7 +#define IMAGE_DIRECTORY_ENTRY_GLOBALPTR 8 +#define IMAGE_DIRECTORY_ENTRY_TLS 9 +#define IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG 10 +#define IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT 11 +#define IMAGE_DIRECTORY_ENTRY_IAT 12 +#define IMAGE_SCN_TYPE_NO_PAD 8 +#define IMAGE_SCN_CNT_CODE 32 +#define IMAGE_SCN_CNT_INITIALIZED_DATA 64 +#define IMAGE_SCN_CNT_UNINITIALIZED_DATA 128 +#define IMAGE_SCN_LNK_OTHER 256 +#define IMAGE_SCN_LNK_INFO 512 +#define IMAGE_SCN_LNK_REMOVE 2048 +#define IMAGE_SCN_LNK_COMDAT 4096 +#define IMAGE_SCN_MEM_FARDATA 0x8000 +#define IMAGE_SCN_MEM_PURGEABLE 0x20000 +#define IMAGE_SCN_MEM_16BIT 0x20000 +#define IMAGE_SCN_MEM_LOCKED 0x40000 +#define IMAGE_SCN_MEM_PRELOAD 0x80000 +#define IMAGE_SCN_ALIGN_1BYTES 0x100000 +#define IMAGE_SCN_ALIGN_2BYTES 0x200000 +#define IMAGE_SCN_ALIGN_4BYTES 0x300000 +#define IMAGE_SCN_ALIGN_8BYTES 0x400000 +#define IMAGE_SCN_ALIGN_16BYTES 0x500000 +#define IMAGE_SCN_ALIGN_32BYTES 0x600000 +#define IMAGE_SCN_ALIGN_64BYTES 0x700000 +#define IMAGE_SCN_LNK_NRELOC_OVFL 0x1000000 +#define IMAGE_SCN_MEM_DISCARDABLE 0x2000000 +#define IMAGE_SCN_MEM_NOT_CACHED 0x4000000 +#define IMAGE_SCN_MEM_NOT_PAGED 0x8000000 +#define IMAGE_SCN_MEM_SHARED 0x10000000 +#define IMAGE_SCN_MEM_EXECUTE 0x20000000 +#define IMAGE_SCN_MEM_READ 0x40000000 +#define IMAGE_SCN_MEM_WRITE 0x80000000 +#define IMAGE_SYM_UNDEFINED 0 +#define IMAGE_SYM_ABSOLUTE (-1) +#define IMAGE_SYM_DEBUG (-2) +#define IMAGE_SYM_TYPE_NULL 0 +#define IMAGE_SYM_TYPE_VOID 1 +#define IMAGE_SYM_TYPE_CHAR 2 +#define IMAGE_SYM_TYPE_SHORT 3 +#define IMAGE_SYM_TYPE_INT 4 +#define IMAGE_SYM_TYPE_LONG 5 +#define IMAGE_SYM_TYPE_FLOAT 6 +#define IMAGE_SYM_TYPE_DOUBLE 7 +#define IMAGE_SYM_TYPE_STRUCT 8 +#define IMAGE_SYM_TYPE_UNION 9 +#define IMAGE_SYM_TYPE_ENUM 10 +#define IMAGE_SYM_TYPE_MOE 11 +#define IMAGE_SYM_TYPE_BYTE 12 +#define IMAGE_SYM_TYPE_WORD 13 +#define IMAGE_SYM_TYPE_UINT 14 +#define IMAGE_SYM_TYPE_DWORD 15 +#define IMAGE_SYM_TYPE_PCODE 32768 +#define IMAGE_SYM_DTYPE_NULL 0 +#define IMAGE_SYM_DTYPE_POINTER 1 +#define IMAGE_SYM_DTYPE_FUNCTION 2 +#define IMAGE_SYM_DTYPE_ARRAY 3 +#define IMAGE_SYM_CLASS_END_OF_FUNCTION (-1) +#define IMAGE_SYM_CLASS_NULL 0 +#define IMAGE_SYM_CLASS_AUTOMATIC 1 +#define IMAGE_SYM_CLASS_EXTERNAL 2 +#define IMAGE_SYM_CLASS_STATIC 3 +#define IMAGE_SYM_CLASS_REGISTER 4 +#define IMAGE_SYM_CLASS_EXTERNAL_DEF 5 +#define IMAGE_SYM_CLASS_LABEL 6 +#define IMAGE_SYM_CLASS_UNDEFINED_LABEL 7 +#define IMAGE_SYM_CLASS_MEMBER_OF_STRUCT 8 +#define IMAGE_SYM_CLASS_ARGUMENT 9 +#define IMAGE_SYM_CLASS_STRUCT_TAG 10 +#define IMAGE_SYM_CLASS_MEMBER_OF_UNION 11 +#define IMAGE_SYM_CLASS_UNION_TAG 12 +#define IMAGE_SYM_CLASS_TYPE_DEFINITION 13 +#define IMAGE_SYM_CLASS_UNDEFINED_STATIC 14 +#define IMAGE_SYM_CLASS_ENUM_TAG 15 +#define IMAGE_SYM_CLASS_MEMBER_OF_ENUM 16 +#define IMAGE_SYM_CLASS_REGISTER_PARAM 17 +#define IMAGE_SYM_CLASS_BIT_FIELD 18 +#define IMAGE_SYM_CLASS_FAR_EXTERNAL 68 +#define IMAGE_SYM_CLASS_BLOCK 100 +#define IMAGE_SYM_CLASS_FUNCTION 101 +#define IMAGE_SYM_CLASS_END_OF_STRUCT 102 +#define IMAGE_SYM_CLASS_FILE 103 +#define IMAGE_SYM_CLASS_SECTION 104 +#define IMAGE_SYM_CLASS_WEAK_EXTERNAL 105 +#define IMAGE_COMDAT_SELECT_NODUPLICATES 1 +#define IMAGE_COMDAT_SELECT_ANY 2 +#define IMAGE_COMDAT_SELECT_SAME_SIZE 3 +#define IMAGE_COMDAT_SELECT_EXACT_MATCH 4 +#define IMAGE_COMDAT_SELECT_ASSOCIATIVE 5 +#define IMAGE_COMDAT_SELECT_LARGEST 6 +#define IMAGE_COMDAT_SELECT_NEWEST 7 +#define IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY 1 +#define IMAGE_WEAK_EXTERN_SEARCH_LIBRARY 2 +#define IMAGE_WEAK_EXTERN_SEARCH_ALIAS 3 +#define IMAGE_REL_I386_ABSOLUTE 0 +#define IMAGE_REL_I386_DIR16 1 +#define IMAGE_REL_I386_REL16 2 +#define IMAGE_REL_I386_DIR32 6 +#define IMAGE_REL_I386_DIR32NB 7 +#define IMAGE_REL_I386_SEG12 9 +#define IMAGE_REL_I386_SECTION 10 +#define IMAGE_REL_I386_SECREL 11 +#define IMAGE_REL_I386_REL32 20 +#define IMAGE_REL_MIPS_ABSOLUTE 0 +#define IMAGE_REL_MIPS_REFHALF 1 +#define IMAGE_REL_MIPS_REFWORD 2 +#define IMAGE_REL_MIPS_JMPADDR 3 +#define IMAGE_REL_MIPS_REFHI 4 +#define IMAGE_REL_MIPS_REFLO 5 +#define IMAGE_REL_MIPS_GPREL 6 +#define IMAGE_REL_MIPS_LITERAL 7 +#define IMAGE_REL_MIPS_SECTION 10 +#define IMAGE_REL_MIPS_SECREL 11 +#define IMAGE_REL_MIPS_SECRELLO 12 +#define IMAGE_REL_MIPS_SECRELHI 13 +#define IMAGE_REL_MIPS_REFWORDNB 34 +#define IMAGE_REL_MIPS_PAIR 35 +#define IMAGE_REL_ALPHA_ABSOLUTE 0 +#define IMAGE_REL_ALPHA_REFLONG 1 +#define IMAGE_REL_ALPHA_REFQUAD 2 +#define IMAGE_REL_ALPHA_GPREL32 3 +#define IMAGE_REL_ALPHA_LITERAL 4 +#define IMAGE_REL_ALPHA_LITUSE 5 +#define IMAGE_REL_ALPHA_GPDISP 6 +#define IMAGE_REL_ALPHA_BRADDR 7 +#define IMAGE_REL_ALPHA_HINT 8 +#define IMAGE_REL_ALPHA_INLINE_REFLONG 9 +#define IMAGE_REL_ALPHA_REFHI 10 +#define IMAGE_REL_ALPHA_REFLO 11 +#define IMAGE_REL_ALPHA_PAIR 12 +#define IMAGE_REL_ALPHA_MATCH 13 +#define IMAGE_REL_ALPHA_SECTION 14 +#define IMAGE_REL_ALPHA_SECREL 15 +#define IMAGE_REL_ALPHA_REFLONGNB 16 +#define IMAGE_REL_ALPHA_SECRELLO 17 +#define IMAGE_REL_ALPHA_SECRELHI 18 +#define IMAGE_REL_PPC_ABSOLUTE 0 +#define IMAGE_REL_PPC_ADDR64 1 +#define IMAGE_REL_PPC_ADDR32 2 +#define IMAGE_REL_PPC_ADDR24 3 +#define IMAGE_REL_PPC_ADDR16 4 +#define IMAGE_REL_PPC_ADDR14 5 +#define IMAGE_REL_PPC_REL24 6 +#define IMAGE_REL_PPC_REL14 7 +#define IMAGE_REL_PPC_TOCREL16 8 +#define IMAGE_REL_PPC_TOCREL14 9 +#define IMAGE_REL_PPC_ADDR32NB 10 +#define IMAGE_REL_PPC_SECREL 11 +#define IMAGE_REL_PPC_SECTION 12 +#define IMAGE_REL_PPC_IFGLUE 13 +#define IMAGE_REL_PPC_IMGLUE 14 +#define IMAGE_REL_PPC_SECREL16 15 +#define IMAGE_REL_PPC_REFHI 16 +#define IMAGE_REL_PPC_REFLO 17 +#define IMAGE_REL_PPC_PAIR 18 +#define IMAGE_REL_PPC_TYPEMASK 255 +#define IMAGE_REL_PPC_NEG 256 +#define IMAGE_REL_PPC_BRTAKEN 512 +#define IMAGE_REL_PPC_BRNTAKEN 1024 +#define IMAGE_REL_PPC_TOCDEFN 2048 +#define IMAGE_REL_BASED_ABSOLUTE 0 +#define IMAGE_REL_BASED_HIGH 1 +#define IMAGE_REL_BASED_LOW 2 +#define IMAGE_REL_BASED_HIGHLOW 3 +#define IMAGE_REL_BASED_HIGHADJ 4 +#define IMAGE_REL_BASED_MIPS_JMPADDR 5 +#define IMAGE_ARCHIVE_START_SIZE 8 +#define IMAGE_ARCHIVE_START "!<arch>\n" +#define IMAGE_ARCHIVE_END "`\n" +#define IMAGE_ARCHIVE_PAD "\n" +#define IMAGE_ARCHIVE_LINKER_MEMBER "/ " +#define IMAGE_ARCHIVE_LONGNAMES_MEMBER "// " +#define IMAGE_ORDINAL_FLAG 0x80000000 +#define IMAGE_SNAP_BY_ORDINAL(o) ((o&IMAGE_ORDINAL_FLAG)!=0) +#define IMAGE_ORDINAL(o) (o&0xffff) +#define IMAGE_RESOURCE_NAME_IS_STRING 0x80000000 +#define IMAGE_RESOURCE_DATA_IS_DIRECTORY 0x80000000 +#define IMAGE_DEBUG_TYPE_UNKNOWN 0 +#define IMAGE_DEBUG_TYPE_COFF 1 +#define IMAGE_DEBUG_TYPE_CODEVIEW 2 +#define IMAGE_DEBUG_TYPE_FPO 3 +#define IMAGE_DEBUG_TYPE_MISC 4 +#define IMAGE_DEBUG_TYPE_EXCEPTION 5 +#define IMAGE_DEBUG_TYPE_FIXUP 6 +#define IMAGE_DEBUG_TYPE_OMAP_TO_SRC 7 +#define IMAGE_DEBUG_TYPE_OMAP_FROM_SRC 8 +#define FRAME_FPO 0 +#define FRAME_TRAP 1 +#define FRAME_TSS 2 +#define FRAME_NONFPO 3 +#define IMAGE_DEBUG_MISC_EXENAME 1 +#define N_BTMASK 0x000F +#define N_TMASK 0x0030 +#define N_TMASK1 0x00C0 +#define N_TMASK2 0x00F0 +#define N_BTSHFT 4 +#define N_TSHIFT 2 +#define IS_TEXT_UNICODE_ASCII16 1 +#define IS_TEXT_UNICODE_REVERSE_ASCII16 16 +#define IS_TEXT_UNICODE_STATISTICS 2 +#define IS_TEXT_UNICODE_REVERSE_STATISTICS 32 +#define IS_TEXT_UNICODE_CONTROLS 4 +#define IS_TEXT_UNICODE_REVERSE_CONTROLS 64 +#define IS_TEXT_UNICODE_SIGNATURE 8 +#define IS_TEXT_UNICODE_REVERSE_SIGNATURE 128 +#define IS_TEXT_UNICODE_ILLEGAL_CHARS 256 +#define IS_TEXT_UNICODE_ODD_LENGTH 512 +#define IS_TEXT_UNICODE_NULL_BYTES 4096 +#define IS_TEXT_UNICODE_UNICODE_MASK 15 +#define IS_TEXT_UNICODE_REVERSE_MASK 240 +#define IS_TEXT_UNICODE_NOT_UNICODE_MASK 3840 +#define IS_TEXT_UNICODE_NOT_ASCII_MASK 61440 +#define SERVICE_KERNEL_DRIVER 1 +#define SERVICE_FILE_SYSTEM_DRIVER 2 +#define SERVICE_ADAPTER 4 +#define SERVICE_RECOGNIZER_DRIVER 8 +#define SERVICE_DRIVER (SERVICE_KERNEL_DRIVER|SERVICE_FILE_SYSTEM_DRIVER|SERVICE_RECOGNIZER_DRIVER) +#define SERVICE_WIN32_OWN_PROCESS 16 +#define SERVICE_WIN32_SHARE_PROCESS 32 +#define SERVICE_WIN32 (SERVICE_WIN32_OWN_PROCESS|SERVICE_WIN32_SHARE_PROCESS) +#define SERVICE_INTERACTIVE_PROCESS 256 +#define SERVICE_TYPE_ALL (SERVICE_WIN32|SERVICE_ADAPTER|SERVICE_DRIVER|SERVICE_INTERACTIVE_PROCESS) +#define SERVICE_BOOT_START 0 +#define SERVICE_SYSTEM_START 1 +#define SERVICE_AUTO_START 2 +#define SERVICE_DEMAND_START 3 +#define SERVICE_DISABLED 4 +#define SERVICE_ERROR_IGNORE 0 +#define SERVICE_ERROR_NORMAL 1 +#define SERVICE_ERROR_SEVERE 2 +#define SERVICE_ERROR_CRITICAL 3 +#define SE_OWNER_DEFAULTED 1 +#define SE_GROUP_DEFAULTED 2 +#define SE_DACL_PRESENT 4 +#define SE_DACL_DEFAULTED 8 +#define SE_SACL_PRESENT 16 +#define SE_SACL_DEFAULTED 32 +#define SE_DACL_AUTO_INHERIT_REQ 256 +#define SE_SACL_AUTO_INHERIT_REQ 512 +#define SE_DACL_AUTO_INHERITED 1024 +#define SE_SACL_AUTO_INHERITED 2048 +#define SE_DACL_PROTECTED 4096 +#define SE_SACL_PROTECTED 8192 +#define SE_SELF_RELATIVE 0x8000 +#define SECURITY_DESCRIPTOR_MIN_LENGTH 20 +#define SECURITY_DESCRIPTOR_REVISION 1 +#define SECURITY_DESCRIPTOR_REVISION1 1 +#define SE_PRIVILEGE_ENABLED_BY_DEFAULT 1 +#define SE_PRIVILEGE_ENABLED 2 +#define SE_PRIVILEGE_USED_FOR_ACCESS 0x80000000 +#define PRIVILEGE_SET_ALL_NECESSARY 1 +#define SECURITY_MAX_IMPERSONATION_LEVEL SecurityDelegation +#define DEFAULT_IMPERSONATION_LEVEL SecurityImpersonation +#define SECURITY_DYNAMIC_TRACKING TRUE +#define SECURITY_STATIC_TRACKING FALSE +#define TOKEN_SOURCE_LENGTH 8 +#define TOKEN_ADJUST_DEFAULT 128 +#define TOKEN_ADJUST_GROUPS 64 +#define TOKEN_ADJUST_PRIVILEGES 32 +#define TOKEN_ALL_ACCESS 0xf00ff +#define TOKEN_ASSIGN_PRIMARY 1 +#define TOKEN_DUPLICATE 2 +#define TOKEN_EXECUTE 0x20000 +#define TOKEN_IMPERSONATE 4 +#define TOKEN_QUERY 8 +#define TOKEN_QUERY_SOURCE 16 +#define TOKEN_READ 0x20008 +#define TOKEN_WRITE 0x200e0 +#define DLL_PROCESS_DETACH 0 +#define DLL_PROCESS_ATTACH 1 +#define DLL_THREAD_ATTACH 2 +#define DLL_THREAD_DETACH 3 +#define DBG_CONTINUE 0x10002 +#define DBG_TERMINATE_THREAD 0x40010003 +#define DBG_TERMINATE_PROCESS 0x40010004 +#define DBG_CONTROL_C 0x40010005 +#define DBG_CONTROL_BREAK 0x40010008 +#define DBG_EXCEPTION_NOT_HANDLED 0x80010001 +#define TAPE_ABSOLUTE_POSITION 0 +#define TAPE_LOGICAL_POSITION 1 +#define TAPE_PSEUDO_LOGICAL_POSITION 2 +#define TAPE_REWIND 0 +#define TAPE_ABSOLUTE_BLOCK 1 +#define TAPE_LOGICAL_BLOCK 2 +#define TAPE_PSEUDO_LOGICAL_BLOCK 3 +#define TAPE_SPACE_END_OF_DATA 4 +#define TAPE_SPACE_RELATIVE_BLOCKS 5 +#define TAPE_SPACE_FILEMARKS 6 +#define TAPE_SPACE_SEQUENTIAL_FMKS 7 +#define TAPE_SPACE_SETMARKS 8 +#define TAPE_SPACE_SEQUENTIAL_SMKS 9 +#define TAPE_DRIVE_FIXED 1 +#define TAPE_DRIVE_SELECT 2 +#define TAPE_DRIVE_INITIATOR 4 +#define TAPE_DRIVE_ERASE_SHORT 16 +#define TAPE_DRIVE_ERASE_LONG 32 +#define TAPE_DRIVE_ERASE_BOP_ONLY 64 +#define TAPE_DRIVE_ERASE_IMMEDIATE 128 +#define TAPE_DRIVE_TAPE_CAPACITY 256 +#define TAPE_DRIVE_TAPE_REMAINING 512 +#define TAPE_DRIVE_FIXED_BLOCK 1024 +#define TAPE_DRIVE_VARIABLE_BLOCK 2048 +#define TAPE_DRIVE_WRITE_PROTECT 4096 +#define TAPE_DRIVE_EOT_WZ_SIZE 8192 +#define TAPE_DRIVE_ECC 0x10000 +#define TAPE_DRIVE_COMPRESSION 0x20000 +#define TAPE_DRIVE_PADDING 0x40000 +#define TAPE_DRIVE_REPORT_SMKS 0x80000 +#define TAPE_DRIVE_GET_ABSOLUTE_BLK 0x100000 +#define TAPE_DRIVE_GET_LOGICAL_BLK 0x200000 +#define TAPE_DRIVE_SET_EOT_WZ_SIZE 0x400000 +#define TAPE_DRIVE_RESERVED_BIT 0x80000000 +#define TAPE_DRIVE_LOAD_UNLOAD 0x80000001 +#define TAPE_DRIVE_TENSION 0x80000002 +#define TAPE_DRIVE_LOCK_UNLOCK 0x80000004 +#define TAPE_DRIVE_REWIND_IMMEDIATE 0x80000008 +#define TAPE_DRIVE_SET_BLOCK_SIZE 0x80000010 +#define TAPE_DRIVE_LOAD_UNLD_IMMED 0x80000020 +#define TAPE_DRIVE_TENSION_IMMED 0x80000040 +#define TAPE_DRIVE_LOCK_UNLK_IMMED 0x80000080 +#define TAPE_DRIVE_SET_ECC 0x80000100 +#define TAPE_DRIVE_SET_COMPRESSION 0x80000200 +#define TAPE_DRIVE_SET_PADDING 0x80000400 +#define TAPE_DRIVE_SET_REPORT_SMKS 0x80000800 +#define TAPE_DRIVE_ABSOLUTE_BLK 0x80001000 +#define TAPE_DRIVE_ABS_BLK_IMMED 0x80002000 +#define TAPE_DRIVE_LOGICAL_BLK 0x80004000 +#define TAPE_DRIVE_LOG_BLK_IMMED 0x80008000 +#define TAPE_DRIVE_END_OF_DATA 0x80010000 +#define TAPE_DRIVE_RELATIVE_BLKS 0x80020000 +#define TAPE_DRIVE_FILEMARKS 0x80040000 +#define TAPE_DRIVE_SEQUENTIAL_FMKS 0x80080000 +#define TAPE_DRIVE_SETMARKS 0x80100000 +#define TAPE_DRIVE_SEQUENTIAL_SMKS 0x80200000 +#define TAPE_DRIVE_REVERSE_POSITION 0x80400000 +#define TAPE_DRIVE_SPACE_IMMEDIATE 0x80800000 +#define TAPE_DRIVE_WRITE_SETMARKS 0x81000000 +#define TAPE_DRIVE_WRITE_FILEMARKS 0x82000000 +#define TAPE_DRIVE_WRITE_SHORT_FMKS 0x84000000 +#define TAPE_DRIVE_WRITE_LONG_FMKS 0x88000000 +#define TAPE_DRIVE_WRITE_MARK_IMMED 0x90000000 +#define TAPE_DRIVE_FORMAT 0xA0000000 +#define TAPE_DRIVE_FORMAT_IMMEDIATE 0xC0000000 +#define TAPE_DRIVE_HIGH_FEATURES 0x80000000 +#define TAPE_FIXED_PARTITIONS 0 +#define TAPE_INITIATOR_PARTITIONS 2 +#define TAPE_SELECT_PARTITIONS 1 +#define TAPE_FILEMARKS 1 +#define TAPE_LONG_FILEMARKS 3 +#define TAPE_SETMARKS 0 +#define TAPE_SHORT_FILEMARKS 2 +#define TAPE_ERASE_LONG 1 +#define TAPE_ERASE_SHORT 0 +#define TAPE_LOAD 0 +#define TAPE_UNLOAD 1 +#define TAPE_TENSION 2 +#define TAPE_LOCK 3 +#define TAPE_UNLOCK 4 +#define TAPE_FORMAT 5 +#define BTYPE(x) ((x)&N_BTMASK) +#define ISPTR(x) (((x)&N_TMASK)==(IMAGE_SYM_DTYPE_POINTER<<N_BTSHFT)) +#define ISFCN(x) (((x)&N_TMASK)==(IMAGE_SYM_DTYPE_FUNCTION<<N_BTSHFT)) +#define ISARY(x) (((x)&N_TMASK)==(IMAGE_SYM_DTYPE_ARRAY<<N_BTSHFT)) +#define ISTAG(x) ((x)==IMAGE_SYM_CLASS_STRUCT_TAG||(x)==IMAGE_SYM_CLASS_UNION_TAG||(x)==IMAGE_SYM_CLASS_ENUM_TAG) +#define INCREF(x) ((((x)&~N_BTMASK)<<N_TSHIFT)|(IMAGE_SYM_DTYPE_POINTER<<N_BTSHFT)|((x)&N_BTMASK)) +#define DECREF(x) ((((x)>>N_TSHIFT)&~N_BTMASK)|((x)&N_BTMASK)) + +#ifndef RC_INVOKED +typedef DWORD ACCESS_MASK; +typedef struct _GENERIC_MAPPING { + ACCESS_MASK GenericRead; + ACCESS_MASK GenericWrite; + ACCESS_MASK GenericExecute; + ACCESS_MASK GenericAll; +} GENERIC_MAPPING, *PGENERIC_MAPPING; +typedef struct _ACE_HEADER { + BYTE AceType; + BYTE AceFlags; + WORD AceSize; +} ACE_HEADER; +typedef struct _ACCESS_ALLOWED_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD SidStart; +} ACCESS_ALLOWED_ACE; +typedef struct _ACCESS_DENIED_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD SidStart; +} ACCESS_DENIED_ACE; +typedef struct _ACL { + BYTE AclRevision; + BYTE Sbz1; + WORD AclSize; + WORD AceCount; + WORD Sbz2; +} ACL,*PACL; +typedef struct _ACL_REVISION_INFORMATION { + DWORD AclRevision; +} ACL_REVISION_INFORMATION; +typedef struct _ACL_SIZE_INFORMATION { + DWORD AceCount; + DWORD AclBytesInUse; + DWORD AclBytesFree; +} ACL_SIZE_INFORMATION; + +/* FIXME: add more machines */ +#ifdef _X86_ +#define SIZE_OF_80387_REGISTERS 80 +#define CONTEXT_i386 0x10000 +#define CONTEXT_i486 0x10000 +#define CONTEXT_CONTROL (CONTEXT_i386|0x00000001L) +#define CONTEXT_INTEGER (CONTEXT_i386|0x00000002L) +#define CONTEXT_SEGMENTS (CONTEXT_i386|0x00000004L) +#define CONTEXT_FLOATING_POINT (CONTEXT_i386|0x00000008L) +#define CONTEXT_DEBUG_REGISTERS (CONTEXT_i386|0x00000010L) +#define CONTEXT_FULL (CONTEXT_CONTROL|CONTEXT_INTEGER|CONTEXT_SEGMENTS) +typedef struct _FLOATING_SAVE_AREA { + DWORD ControlWord; + DWORD StatusWord; + DWORD TagWord; + DWORD ErrorOffset; + DWORD ErrorSelector; + DWORD DataOffset; + DWORD DataSelector; + BYTE RegisterArea[80]; + DWORD Cr0NpxState; +} FLOATING_SAVE_AREA; +typedef struct _CONTEXT { + DWORD ContextFlags; + DWORD Dr0; + DWORD Dr1; + DWORD Dr2; + DWORD Dr3; + DWORD Dr6; + DWORD Dr7; + FLOATING_SAVE_AREA FloatSave; + DWORD SegGs; + DWORD SegFs; + DWORD SegEs; + DWORD SegDs; + DWORD Edi; + DWORD Esi; + DWORD Ebx; + DWORD Edx; + DWORD Ecx; + DWORD Eax; + DWORD Ebp; + DWORD Eip; + DWORD SegCs; + DWORD EFlags; + DWORD Esp; + DWORD SegSs; +} CONTEXT; +#elif defined(_PPC_) +#define CONTEXT_CONTROL 1L +#define CONTEXT_FLOATING_POINT 2L +#define CONTEXT_INTEGER 4L +#define CONTEXT_DEBUG_REGISTERS 8L +#define CONTEXT_FULL (CONTEXT_CONTROL|CONTEXT_FLOATING_POINT|CONTEXT_INTEGER) +typedef struct { + double Fpr0; + double Fpr1; + double Fpr2; + double Fpr3; + double Fpr4; + double Fpr5; + double Fpr6; + double Fpr7; + double Fpr8; + double Fpr9; + double Fpr10; + double Fpr11; + double Fpr12; + double Fpr13; + double Fpr14; + double Fpr15; + double Fpr16; + double Fpr17; + double Fpr18; + double Fpr19; + double Fpr20; + double Fpr21; + double Fpr22; + double Fpr23; + double Fpr24; + double Fpr25; + double Fpr26; + double Fpr27; + double Fpr28; + double Fpr29; + double Fpr30; + double Fpr31; + double Fpscr; + DWORD Gpr0; + DWORD Gpr1; + DWORD Gpr2; + DWORD Gpr3; + DWORD Gpr4; + DWORD Gpr5; + DWORD Gpr6; + DWORD Gpr7; + DWORD Gpr8; + DWORD Gpr9; + DWORD Gpr10; + DWORD Gpr11; + DWORD Gpr12; + DWORD Gpr13; + DWORD Gpr14; + DWORD Gpr15; + DWORD Gpr16; + DWORD Gpr17; + DWORD Gpr18; + DWORD Gpr19; + DWORD Gpr20; + DWORD Gpr21; + DWORD Gpr22; + DWORD Gpr23; + DWORD Gpr24; + DWORD Gpr25; + DWORD Gpr26; + DWORD Gpr27; + DWORD Gpr28; + DWORD Gpr29; + DWORD Gpr30; + DWORD Gpr31; + DWORD Cr; + DWORD Xer; + DWORD Msr; + DWORD Iar; + DWORD Lr; + DWORD Ctr; + DWORD ContextFlags; + DWORD Fill[3]; + DWORD Dr0; + DWORD Dr1; + DWORD Dr2; + DWORD Dr3; + DWORD Dr4; + DWORD Dr5; + DWORD Dr6; + DWORD Dr7; +} CONTEXT; +#elif defined(_ALPHA_) +#define CONTEXT_ALPHA 0x20000 +#define CONTEXT_CONTROL (CONTEXT_ALPHA|1L) +#define CONTEXT_FLOATING_POINT (CONTEXT_ALPHA|2L) +#define CONTEXT_INTEGER (CONTEXT_ALPHA|4L) +#define CONTEXT_FULL (CONTEXT_CONTROL|CONTEXT_FLOATING_POINT|CONTEXT_INTEGER) +typedef struct _CONTEXT { + ULONGLONG FltF0; + ULONGLONG FltF1; + ULONGLONG FltF2; + ULONGLONG FltF3; + ULONGLONG FltF4; + ULONGLONG FltF5; + ULONGLONG FltF6; + ULONGLONG FltF7; + ULONGLONG FltF8; + ULONGLONG FltF9; + ULONGLONG FltF10; + ULONGLONG FltF11; + ULONGLONG FltF12; + ULONGLONG FltF13; + ULONGLONG FltF14; + ULONGLONG FltF15; + ULONGLONG FltF16; + ULONGLONG FltF17; + ULONGLONG FltF18; + ULONGLONG FltF19; + ULONGLONG FltF20; + ULONGLONG FltF21; + ULONGLONG FltF22; + ULONGLONG FltF23; + ULONGLONG FltF24; + ULONGLONG FltF25; + ULONGLONG FltF26; + ULONGLONG FltF27; + ULONGLONG FltF28; + ULONGLONG FltF29; + ULONGLONG FltF30; + ULONGLONG FltF31; + ULONGLONG IntV0; + ULONGLONG IntT0; + ULONGLONG IntT1; + ULONGLONG IntT2; + ULONGLONG IntT3; + ULONGLONG IntT4; + ULONGLONG IntT5; + ULONGLONG IntT6; + ULONGLONG IntT7; + ULONGLONG IntS0; + ULONGLONG IntS1; + ULONGLONG IntS2; + ULONGLONG IntS3; + ULONGLONG IntS4; + ULONGLONG IntS5; + ULONGLONG IntFp; + ULONGLONG IntA0; + ULONGLONG IntA1; + ULONGLONG IntA2; + ULONGLONG IntA3; + ULONGLONG IntA4; + ULONGLONG IntA5; + ULONGLONG IntT8; + ULONGLONG IntT9; + ULONGLONG IntT10; + ULONGLONG IntT11; + ULONGLONG IntRa; + ULONGLONG IntT12; + ULONGLONG IntAt; + ULONGLONG IntGp; + ULONGLONG IntSp; + ULONGLONG IntZero; + ULONGLONG Fpcr; + ULONGLONG SoftFpcr; + ULONGLONG Fir; + DWORD Psr; + DWORD ContextFlags; + DWORD Fill[4]; +} CONTEXT, *PCONTEXT; +#elif defined(SHx) + +/* These are the debug or break registers on the SH3 */ +typedef struct _DEBUG_REGISTERS { + ULONG BarA; + UCHAR BasrA; + UCHAR BamrA; + USHORT BbrA; + ULONG BarB; + UCHAR BasrB; + UCHAR BamrB; + USHORT BbrB; + ULONG BdrB; + ULONG BdmrB; + USHORT Brcr; + USHORT Align; +} DEBUG_REGISTERS, *PDEBUG_REGISTERS; + +/* The following flags control the contents of the CONTEXT structure. */ + +#define CONTEXT_SH3 0x00000040 +#define CONTEXT_SH4 0x000000c0 /* CONTEXT_SH3 | 0x80 - must contain the SH3 bits */ + +#ifdef SH3 +#define CONTEXT_CONTROL (CONTEXT_SH3 | 0x00000001L) +#define CONTEXT_INTEGER (CONTEXT_SH3 | 0x00000002L) +#define CONTEXT_DEBUG_REGISTERS (CONTEXT_SH3 | 0x00000008L) +#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_DEBUG_REGISTERS) +#else /* SH4 */ +#define CONTEXT_CONTROL (CONTEXT_SH4 | 0x00000001L) +#define CONTEXT_INTEGER (CONTEXT_SH4 | 0x00000002L) +#define CONTEXT_DEBUG_REGISTERS (CONTEXT_SH4 | 0x00000008L) +#define CONTEXT_FLOATING_POINT (CONTEXT_SH4 | 0x00000004L) +#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_DEBUG_REGISTERS | CONTEXT_FLOATING_POINT) +#endif + +/* Context Frame */ + +/* This frame is used to store a limited processor context into the */ +/* Thread structure for CPUs which have no floating point support. */ + +typedef struct _CONTEXT { + /* The flags values within this flag control the contents of */ + /* a CONTEXT record. */ + + /* If the context record is used as an input parameter, then */ + /* for each portion of the context record controlled by a flag */ + /* whose value is set, it is assumed that that portion of the */ + /* context record contains valid context. If the context record */ + /* is being used to modify a thread's context, then only that */ + /* portion of the threads context will be modified. */ + + /* If the context record is used as an IN OUT parameter to capture */ + /* the context of a thread, then only those portions of the thread's */ + /* context corresponding to set flags will be returned. */ + + /* The context record is never used as an OUT only parameter. */ + + + ULONG ContextFlags; + + /* This section is specified/returned if the ContextFlags word contains */ + /* the flag CONTEXT_INTEGER. */ + + /* N.B. The registers RA and R15 are defined in this section, but are */ + /* considered part of the control context rather than part of the integer */ + /* context. */ + + ULONG PR; + ULONG MACH; + ULONG MACL; + ULONG GBR; + ULONG R0; + ULONG R1; + ULONG R2; + ULONG R3; + ULONG R4; + ULONG R5; + ULONG R6; + ULONG R7; + ULONG R8; + ULONG R9; + ULONG R10; + ULONG R11; + ULONG R12; + ULONG R13; + ULONG R14; + ULONG R15; + + /* This section is specified/returned if the ContextFlags word contains */ + /* the flag CONTEXT_CONTROL. */ + + /* N.B. The registers r15 and ra are defined in the integer section, */ + /* but are considered part of the control context rather than part of */ + /* the integer context. */ + + ULONG Fir; + ULONG Psr; + +#if !defined(SH3e) && !defined(SH4) + ULONG OldStuff[2]; + DEBUG_REGISTERS DebugRegisters; +#else + ULONG Fpscr; + ULONG Fpul; + ULONG FRegs[16]; +#if defined(SH4) + ULONG xFRegs[16]; +#endif +#endif +} CONTEXT,*PCONTEXT,*LPCONTEXT; + +#elif defined(MIPS) + +/* The following flags control the contents of the CONTEXT structure. */ + +#define CONTEXT_R4000 0x00010000 /* r4000 context */ + +#define CONTEXT_CONTROL (CONTEXT_R4000 | 0x00000001L) +#define CONTEXT_FLOATING_POINT (CONTEXT_R4000 | 0x00000002L) +#define CONTEXT_INTEGER (CONTEXT_R4000 | 0x00000004L) + +#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_FLOATING_POINT | CONTEXT_INTEGER) + +/* Context Frame */ + +/* N.B. This frame must be exactly a multiple of 16 bytes in length. */ + +/* This frame has a several purposes: 1) it is used as an argument to */ +/* NtContinue, 2) it is used to constuct a call frame for APC delivery, */ +/* 3) it is used to construct a call frame for exception dispatching */ +/* in user mode, and 4) it is used in the user level thread creation */ +/* routines. */ + +/* The layout of the record conforms to a standard call frame. */ + + +typedef struct _CONTEXT { + + /* This section is always present and is used as an argument build */ + /* area. */ + + DWORD Argument[4]; + + /* This section is specified/returned if the ContextFlags word contains */ + /* the flag CONTEXT_FLOATING_POINT. */ + + DWORD FltF0; + DWORD FltF1; + DWORD FltF2; + DWORD FltF3; + DWORD FltF4; + DWORD FltF5; + DWORD FltF6; + DWORD FltF7; + DWORD FltF8; + DWORD FltF9; + DWORD FltF10; + DWORD FltF11; + DWORD FltF12; + DWORD FltF13; + DWORD FltF14; + DWORD FltF15; + DWORD FltF16; + DWORD FltF17; + DWORD FltF18; + DWORD FltF19; + DWORD FltF20; + DWORD FltF21; + DWORD FltF22; + DWORD FltF23; + DWORD FltF24; + DWORD FltF25; + DWORD FltF26; + DWORD FltF27; + DWORD FltF28; + DWORD FltF29; + DWORD FltF30; + DWORD FltF31; + + /* This section is specified/returned if the ContextFlags word contains */ + /* the flag CONTEXT_INTEGER. */ + + /* N.B. The registers gp, sp, and ra are defined in this section, but are */ + /* considered part of the control context rather than part of the integer */ + /* context. */ + + /* N.B. Register zero is not stored in the frame. */ + + DWORD IntZero; + DWORD IntAt; + DWORD IntV0; + DWORD IntV1; + DWORD IntA0; + DWORD IntA1; + DWORD IntA2; + DWORD IntA3; + DWORD IntT0; + DWORD IntT1; + DWORD IntT2; + DWORD IntT3; + DWORD IntT4; + DWORD IntT5; + DWORD IntT6; + DWORD IntT7; + DWORD IntS0; + DWORD IntS1; + DWORD IntS2; + DWORD IntS3; + DWORD IntS4; + DWORD IntS5; + DWORD IntS6; + DWORD IntS7; + DWORD IntT8; + DWORD IntT9; + DWORD IntK0; + DWORD IntK1; + DWORD IntGp; + DWORD IntSp; + DWORD IntS8; + DWORD IntRa; + DWORD IntLo; + DWORD IntHi; + + /* This section is specified/returned if the ContextFlags word contains */ + /* the flag CONTEXT_FLOATING_POINT. */ + + DWORD Fsr; + + /* This section is specified/returned if the ContextFlags word contains */ + /* the flag CONTEXT_CONTROL. */ + + /* N.B. The registers gp, sp, and ra are defined in the integer section, */ + /* but are considered part of the control context rather than part of */ + /* the integer context. */ + + DWORD Fir; + DWORD Psr; + + /* The flags values within this flag control the contents of */ + /* a CONTEXT record. */ + + /* If the context record is used as an input parameter, then */ + /* for each portion of the context record controlled by a flag */ + /* whose value is set, it is assumed that that portion of the */ + /* context record contains valid context. If the context record */ + /* is being used to modify a thread's context, then only that */ + /* portion of the threads context will be modified. */ + + /* If the context record is used as an IN OUT parameter to capture */ + /* the context of a thread, then only those portions of the thread's */ + /* context corresponding to set flags will be returned. */ + + /* The context record is never used as an OUT only parameter. */ + + DWORD ContextFlags; + + DWORD Fill[2]; + +} CONTEXT,*PCONTEXT,*LPCONTEXT; +#elif defined(ARM) +// +// The following flags control the contents of the CONTEXT structure. +// + +#define CONTEXT_ARM 0x0000040 +#define CONTEXT_CONTROL (CONTEXT_ARM | 0x00000001L) +#define CONTEXT_INTEGER (CONTEXT_ARM | 0x00000002L) + +#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER) + +typedef struct _CONTEXT { + /* The flags values within this flag control the contents of + a CONTEXT record. + + If the context record is used as an input parameter, then + for each portion of the context record controlled by a flag + whose value is set, it is assumed that that portion of the + context record contains valid context. If the context record + is being used to modify a thread's context, then only that + portion of the threads context will be modified. + + If the context record is used as an IN OUT parameter to capture + the context of a thread, then only those portions of the thread's + context corresponding to set flags will be returned. + + The context record is never used as an OUT only parameter. */ + + ULONG ContextFlags; + + /* This section is specified/returned if the ContextFlags word contains + the flag CONTEXT_INTEGER. */ + ULONG R0; + ULONG R1; + ULONG R2; + ULONG R3; + ULONG R4; + ULONG R5; + ULONG R6; + ULONG R7; + ULONG R8; + ULONG R9; + ULONG R10; + ULONG R11; + ULONG R12; + + ULONG Sp; + ULONG Lr; + ULONG Pc; + ULONG Psr; +} CONTEXT, *PCONTEXT; + +#else +#error "undefined processor type" +#endif +typedef CONTEXT *PCONTEXT,*LPCONTEXT; +typedef struct _EXCEPTION_RECORD { + DWORD ExceptionCode; + DWORD ExceptionFlags; + struct _EXCEPTION_RECORD *ExceptionRecord; + PVOID ExceptionAddress; + DWORD NumberParameters; + DWORD ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]; +} EXCEPTION_RECORD,*PEXCEPTION_RECORD; +typedef struct _EXCEPTION_POINTERS { + PEXCEPTION_RECORD ExceptionRecord; + PCONTEXT ContextRecord; +} EXCEPTION_POINTERS,*PEXCEPTION_POINTERS,*LPEXCEPTION_POINTERS; +typedef union _LARGE_INTEGER { + struct { + DWORD LowPart; + LONG HighPart; + }_STRUCT_NAME(u); + LONGLONG QuadPart; +} LARGE_INTEGER; +typedef LARGE_INTEGER *PLARGE_INTEGER; +typedef union _ULARGE_INTEGER { + struct { + DWORD LowPart; + DWORD HighPart; + }_STRUCT_NAME(u); + DWORDLONG QuadPart; +} ULARGE_INTEGER; +typedef ULARGE_INTEGER *PULARGE_INTEGER; +typedef LARGE_INTEGER LUID,*PLUID; +#pragma pack(push,4) +typedef struct _LUID_AND_ATTRIBUTES { + LUID Luid; + DWORD Attributes; +} LUID_AND_ATTRIBUTES; +#pragma pack(pop) +typedef LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY]; +typedef LUID_AND_ATTRIBUTES_ARRAY *PLUID_AND_ATTRIBUTES_ARRAY; +typedef struct _PRIVILEGE_SET { + DWORD PrivilegeCount; + DWORD Control; + LUID_AND_ATTRIBUTES Privilege[ANYSIZE_ARRAY]; +} PRIVILEGE_SET,*PPRIVILEGE_SET; +typedef struct _SECURITY_ATTRIBUTES { + DWORD nLength; + LPVOID lpSecurityDescriptor; + BOOL bInheritHandle; +} SECURITY_ATTRIBUTES,*PSECURITY_ATTRIBUTES,*LPSECURITY_ATTRIBUTES; +typedef enum _SECURITY_IMPERSONATION_LEVEL { + SecurityAnonymous, + SecurityIdentification, + SecurityImpersonation, + SecurityDelegation +} SECURITY_IMPERSONATION_LEVEL; +typedef BOOLEAN SECURITY_CONTEXT_TRACKING_MODE,*PSECURITY_CONTEXT_TRACKING_MODE; +typedef struct _SECURITY_QUALITY_OF_SERVICE { + DWORD Length; + SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; + SECURITY_CONTEXT_TRACKING_MODE ContextTrackingMode; + BOOLEAN EffectiveOnly; +} SECURITY_QUALITY_OF_SERVICE,*PSECURITY_QUALITY_OF_SERVICE; +typedef PVOID PACCESS_TOKEN; +typedef struct _SE_IMPERSONATION_STATE { + PACCESS_TOKEN Token; + BOOLEAN CopyOnOpen; + BOOLEAN EffectiveOnly; + SECURITY_IMPERSONATION_LEVEL Level; +} SE_IMPERSONATION_STATE,*PSE_IMPERSONATION_STATE; + +typedef struct _SID_IDENTIFIER_AUTHORITY { + BYTE Value[6]; +} SID_IDENTIFIER_AUTHORITY,*PSID_IDENTIFIER_AUTHORITY,*LPSID_IDENTIFIER_AUTHORITY; + +typedef PVOID PSID; +typedef struct _SID { + BYTE Revision; + BYTE SubAuthorityCount; + SID_IDENTIFIER_AUTHORITY IdentifierAuthority; + DWORD SubAuthority[ANYSIZE_ARRAY]; +} SID, *PISID; + +typedef struct _SID_AND_ATTRIBUTES { + PSID Sid; + DWORD Attributes; +} SID_AND_ATTRIBUTES; +typedef SID_AND_ATTRIBUTES SID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY]; +typedef SID_AND_ATTRIBUTES_ARRAY *PSID_AND_ATTRIBUTES_ARRAY; +typedef struct _TOKEN_SOURCE { + CHAR SourceName[8]; + LUID SourceIdentifier; +} TOKEN_SOURCE; +typedef struct _TOKEN_CONTROL { + LUID TokenId; + LUID AuthenticationId; + LUID ModifiedId; + TOKEN_SOURCE TokenSource; +} TOKEN_CONTROL; +typedef struct _TOKEN_DEFAULT_DACL { + PACL DefaultDacl; +} TOKEN_DEFAULT_DACL; +typedef struct _TOKEN_GROUPS { + DWORD GroupCount; + SID_AND_ATTRIBUTES Groups[ANYSIZE_ARRAY]; +} TOKEN_GROUPS,*PTOKEN_GROUPS,*LPTOKEN_GROUPS; +typedef struct _TOKEN_OWNER { + PSID Owner; +} TOKEN_OWNER; +typedef struct _TOKEN_PRIMARY_GROUP { + PSID PrimaryGroup; +} TOKEN_PRIMARY_GROUP; +typedef struct _TOKEN_PRIVILEGES { + DWORD PrivilegeCount; + LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY]; +} TOKEN_PRIVILEGES,*PTOKEN_PRIVILEGES,*LPTOKEN_PRIVILEGES; +typedef enum tagTOKEN_TYPE { TokenPrimary=1,TokenImpersonation }TOKEN_TYPE; +typedef struct _TOKEN_STATISTICS { + LUID TokenId; + LUID AuthenticationId; + LARGE_INTEGER ExpirationTime; + TOKEN_TYPE TokenType; + SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; + DWORD DynamicCharged; + DWORD DynamicAvailable; + DWORD GroupCount; + DWORD PrivilegeCount; + LUID ModifiedId; +} TOKEN_STATISTICS; +typedef struct _TOKEN_USER { + SID_AND_ATTRIBUTES User; +} TOKEN_USER; +typedef DWORD SECURITY_INFORMATION,*PSECURITY_INFORMATION; +typedef WORD SECURITY_DESCRIPTOR_CONTROL,*PSECURITY_DESCRIPTOR_CONTROL; +typedef struct _SECURITY_DESCRIPTOR { + BYTE Revision; + BYTE Sbz1; + SECURITY_DESCRIPTOR_CONTROL Control; + PSID Owner; + PSID Group; + PACL Sacl; + PACL Dacl; +} SECURITY_DESCRIPTOR, *PSECURITY_DESCRIPTOR, *PISECURITY_DESCRIPTOR; +typedef enum _TOKEN_INFORMATION_CLASS { + TokenUser=1,TokenGroups,TokenPrivileges,TokenOwner, + TokenPrimaryGroup,TokenDefaultDacl,TokenSource,TokenType, + TokenImpersonationLevel,TokenStatistics +} TOKEN_INFORMATION_CLASS; +typedef enum _SID_NAME_USE { + SidTypeUser=1,SidTypeGroup,SidTypeDomain,SidTypeAlias,SidTypeWellKnownGroup, + SidTypeDeletedAccount,SidTypeInvalid,SidTypeUnknown +} SID_NAME_USE,*PSID_NAME_USE; +typedef struct _FILE_NOTIFY_INFORMATION { + DWORD NextEntryOffset; + DWORD Action; + DWORD FileNameLength; + WCHAR FileName[1]; +} FILE_NOTIFY_INFORMATION,*PFILE_NOTIFY_INFORMATION; +typedef struct _TAPE_ERASE { + DWORD Type; + BOOLEAN Immediate; +} TAPE_ERASE,*PTAPE_ERASE; +typedef struct _TAPE_GET_DRIVE_PARAMETERS { + BOOLEAN ECC; + BOOLEAN Compression; + BOOLEAN DataPadding; + BOOLEAN ReportSetmarks; + DWORD DefaultBlockSize; + DWORD MaximumBlockSize; + DWORD MinimumBlockSize; + DWORD MaximumPartitionCount; + DWORD FeaturesLow; + DWORD FeaturesHigh; + DWORD EOTWarningZoneSize; +} TAPE_GET_DRIVE_PARAMETERS,*PTAPE_GET_DRIVE_PARAMETERS; +typedef struct _TAPE_GET_MEDIA_PARAMETERS { + LARGE_INTEGER Capacity; + LARGE_INTEGER Remaining; + DWORD BlockSize; + DWORD PartitionCount; + BOOLEAN WriteProtected; +} TAPE_GET_MEDIA_PARAMETERS,*PTAPE_GET_MEDIA_PARAMETERS; +typedef struct _TAPE_GET_POSITION { + ULONG Type; + ULONG Partition; + ULONG OffsetLow; + ULONG OffsetHigh; +} TAPE_GET_POSITION,*PTAPE_GET_POSITION; +typedef struct _TAPE_PREPARE { + DWORD Operation; + BOOLEAN Immediate; +} TAPE_PREPARE,*PTAPE_PREPARE; +typedef struct _TAPE_SET_DRIVE_PARAMETERS { + BOOLEAN ECC; + BOOLEAN Compression; + BOOLEAN DataPadding; + BOOLEAN ReportSetmarks; + ULONG EOTWarningZoneSize; +} TAPE_SET_DRIVE_PARAMETERS,*PTAPE_SET_DRIVE_PARAMETERS; +typedef struct _TAPE_SET_MEDIA_PARAMETERS { + ULONG BlockSize; +} TAPE_SET_MEDIA_PARAMETERS,*PTAPE_SET_MEDIA_PARAMETERS; +typedef struct _TAPE_SET_POSITION { + DWORD Method; + DWORD Partition; + LARGE_INTEGER Offset; + BOOLEAN Immediate; +} TAPE_SET_POSITION,*PTAPE_SET_POSITION; +typedef struct _TAPE_WRITE_MARKS { + DWORD Type; + DWORD Count; + BOOLEAN Immediate; +} TAPE_WRITE_MARKS,*PTAPE_WRITE_MARKS; +typedef struct _TAPE_CREATE_PARTITION { + DWORD Method; + DWORD Count; + DWORD Size; +} TAPE_CREATE_PARTITION,*PTAPE_CREATE_PARTITION; +typedef struct _MEMORY_BASIC_INFORMATION { + PVOID BaseAddress; + PVOID AllocationBase; + DWORD AllocationProtect; + DWORD RegionSize; + DWORD State; + DWORD Protect; + DWORD Type; +} MEMORY_BASIC_INFORMATION,*PMEMORY_BASIC_INFORMATION; +typedef struct _MESSAGE_RESOURCE_ENTRY { + WORD Length; + WORD Flags; + BYTE Text[1]; +} MESSAGE_RESOURCE_ENTRY,*PMESSAGE_RESOURCE_ENTRY; +typedef struct _MESSAGE_RESOURCE_BLOCK { + DWORD LowId; + DWORD HighId; + DWORD OffsetToEntries; +} MESSAGE_RESOURCE_BLOCK,*PMESSAGE_RESOURCE_BLOCK; +typedef struct _MESSAGE_RESOURCE_DATA { + DWORD NumberOfBlocks; + MESSAGE_RESOURCE_BLOCK Blocks[1]; +} MESSAGE_RESOURCE_DATA,*PMESSAGE_RESOURCE_DATA; +typedef struct _LIST_ENTRY { + struct _LIST_ENTRY *Flink; + struct _LIST_ENTRY *Blink; +} LIST_ENTRY,*PLIST_ENTRY; +typedef struct _RTL_CRITICAL_SECTION_DEBUG { + WORD Type; + WORD CreatorBackTraceIndex; + struct _RTL_CRITICAL_SECTION *CriticalSection; + LIST_ENTRY ProcessLocksList; + DWORD EntryCount; + DWORD ContentionCount; + DWORD Spare[2]; +} RTL_CRITICAL_SECTION_DEBUG,*PRTL_CRITICAL_SECTION_DEBUG; +typedef struct _RTL_CRITICAL_SECTION { + PRTL_CRITICAL_SECTION_DEBUG DebugInfo; + LONG LockCount; + LONG RecursionCount; + HANDLE OwningThread; + HANDLE LockSemaphore; + DWORD Reserved; +} RTL_CRITICAL_SECTION,*PRTL_CRITICAL_SECTION; +typedef struct _EVENTLOGRECORD { + DWORD Length; + DWORD Reserved; + DWORD RecordNumber; + DWORD TimeGenerated; + DWORD TimeWritten; + DWORD EventID; + WORD EventType; + WORD NumStrings; + WORD EventCategory; + WORD ReservedFlags; + DWORD ClosingRecordNumber; + DWORD StringOffset; + DWORD UserSidLength; + DWORD UserSidOffset; + DWORD DataLength; + DWORD DataOffset; +} EVENTLOGRECORD,*PEVENTLOGRECORD; +#pragma pack(push,2) +typedef struct _IMAGE_VXD_HEADER { + WORD e32_magic; + BYTE e32_border; + BYTE e32_worder; + DWORD e32_level; + WORD e32_cpu; + WORD e32_os; + DWORD e32_ver; + DWORD e32_mflags; + DWORD e32_mpages; + DWORD e32_startobj; + DWORD e32_eip; + DWORD e32_stackobj; + DWORD e32_esp; + DWORD e32_pagesize; + DWORD e32_lastpagesize; + DWORD e32_fixupsize; + DWORD e32_fixupsum; + DWORD e32_ldrsize; + DWORD e32_ldrsum; + DWORD e32_objtab; + DWORD e32_objcnt; + DWORD e32_objmap; + DWORD e32_itermap; + DWORD e32_rsrctab; + DWORD e32_rsrccnt; + DWORD e32_restab; + DWORD e32_enttab; + DWORD e32_dirtab; + DWORD e32_dircnt; + DWORD e32_fpagetab; + DWORD e32_frectab; + DWORD e32_impmod; + DWORD e32_impmodcnt; + DWORD e32_impproc; + DWORD e32_pagesum; + DWORD e32_datapage; + DWORD e32_preload; + DWORD e32_nrestab; + DWORD e32_cbnrestab; + DWORD e32_nressum; + DWORD e32_autodata; + DWORD e32_debuginfo; + DWORD e32_debuglen; + DWORD e32_instpreload; + DWORD e32_instdemand; + DWORD e32_heapsize; + BYTE e32_res3[12]; + DWORD e32_winresoff; + DWORD e32_winreslen; + WORD e32_devid; + WORD e32_ddkver; +} IMAGE_VXD_HEADER,*PIMAGE_VXD_HEADER; +#pragma pack(pop) +#pragma pack(push,4) +typedef struct _IMAGE_FILE_HEADER { + WORD Machine; + WORD NumberOfSections; + DWORD TimeDateStamp; + DWORD PointerToSymbolTable; + DWORD NumberOfSymbols; + WORD SizeOfOptionalHeader; + WORD Characteristics; +} IMAGE_FILE_HEADER, *PIMAGE_FILE_HEADER; +typedef struct _IMAGE_DATA_DIRECTORY { + DWORD VirtualAddress; + DWORD Size; +} IMAGE_DATA_DIRECTORY,*PIMAGE_DATA_DIRECTORY; +typedef struct _IMAGE_OPTIONAL_HEADER { + WORD Magic; + BYTE MajorLinkerVersion; + BYTE MinorLinkerVersion; + DWORD SizeOfCode; + DWORD SizeOfInitializedData; + DWORD SizeOfUninitializedData; + DWORD AddressOfEntryPoint; + DWORD BaseOfCode; + DWORD BaseOfData; + DWORD ImageBase; + DWORD SectionAlignment; + DWORD FileAlignment; + WORD MajorOperatingSystemVersion; + WORD MinorOperatingSystemVersion; + WORD MajorImageVersion; + WORD MinorImageVersion; + WORD MajorSubsystemVersion; + WORD MinorSubsystemVersion; + DWORD Reserved1; + DWORD SizeOfImage; + DWORD SizeOfHeaders; + DWORD CheckSum; + WORD Subsystem; + WORD DllCharacteristics; + DWORD SizeOfStackReserve; + DWORD SizeOfStackCommit; + DWORD SizeOfHeapReserve; + DWORD SizeOfHeapCommit; + DWORD LoaderFlags; + DWORD NumberOfRvaAndSizes; + IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES]; +} IMAGE_OPTIONAL_HEADER,*PIMAGE_OPTIONAL_HEADER; +typedef struct _IMAGE_ROM_OPTIONAL_HEADER { + WORD Magic; + BYTE MajorLinkerVersion; + BYTE MinorLinkerVersion; + DWORD SizeOfCode; + DWORD SizeOfInitializedData; + DWORD SizeOfUninitializedData; + DWORD AddressOfEntryPoint; + DWORD BaseOfCode; + DWORD BaseOfData; + DWORD BaseOfBss; + DWORD GprMask; + DWORD CprMask[4]; + DWORD GpValue; +} IMAGE_ROM_OPTIONAL_HEADER,*PIMAGE_ROM_OPTIONAL_HEADER; +#pragma pack(pop) +#pragma pack(push,2) +typedef struct _IMAGE_DOS_HEADER { + WORD e_magic; + WORD e_cblp; + WORD e_cp; + WORD e_crlc; + WORD e_cparhdr; + WORD e_minalloc; + WORD e_maxalloc; + WORD e_ss; + WORD e_sp; + WORD e_csum; + WORD e_ip; + WORD e_cs; + WORD e_lfarlc; + WORD e_ovno; + WORD e_res[4]; + WORD e_oemid; + WORD e_oeminfo; + WORD e_res2[10]; + LONG e_lfanew; +} IMAGE_DOS_HEADER,*PIMAGE_DOS_HEADER; +typedef struct _IMAGE_OS2_HEADER { + WORD ne_magic; + CHAR ne_ver; + CHAR ne_rev; + WORD ne_enttab; + WORD ne_cbenttab; + LONG ne_crc; + WORD ne_flags; + WORD ne_autodata; + WORD ne_heap; + WORD ne_stack; + LONG ne_csip; + LONG ne_sssp; + WORD ne_cseg; + WORD ne_cmod; + WORD ne_cbnrestab; + WORD ne_segtab; + WORD ne_rsrctab; + WORD ne_restab; + WORD ne_modtab; + WORD ne_imptab; + LONG ne_nrestab; + WORD ne_cmovent; + WORD ne_align; + WORD ne_cres; + BYTE ne_exetyp; + BYTE ne_flagsothers; + WORD ne_pretthunks; + WORD ne_psegrefbytes; + WORD ne_swaparea; + WORD ne_expver; +} IMAGE_OS2_HEADER,*PIMAGE_OS2_HEADER; +#pragma pack(pop) +#pragma pack(push,4) +typedef struct _IMAGE_NT_HEADERS { + DWORD Signature; + IMAGE_FILE_HEADER FileHeader; + IMAGE_OPTIONAL_HEADER OptionalHeader; +} IMAGE_NT_HEADERS,*PIMAGE_NT_HEADERS; +typedef struct _IMAGE_ROM_HEADERS { + IMAGE_FILE_HEADER FileHeader; + IMAGE_ROM_OPTIONAL_HEADER OptionalHeader; +} IMAGE_ROM_HEADERS,*PIMAGE_ROM_HEADERS; +typedef struct _IMAGE_SECTION_HEADER { + BYTE Name[IMAGE_SIZEOF_SHORT_NAME]; + union { + DWORD PhysicalAddress; + DWORD VirtualSize; + } Misc; + DWORD VirtualAddress; + DWORD SizeOfRawData; + DWORD PointerToRawData; + DWORD PointerToRelocations; + DWORD PointerToLinenumbers; + WORD NumberOfRelocations; + WORD NumberOfLinenumbers; + DWORD Characteristics; +} IMAGE_SECTION_HEADER,*PIMAGE_SECTION_HEADER; +#pragma pack(pop) +#pragma pack(push,2) +typedef struct _IMAGE_SYMBOL { + union { + BYTE ShortName[8]; + struct { + DWORD Short; + DWORD Long; + } Name; + PBYTE LongName[2]; + } N; + DWORD Value; + SHORT SectionNumber; + WORD Type; + BYTE StorageClass; + BYTE NumberOfAuxSymbols; +} IMAGE_SYMBOL,*PIMAGE_SYMBOL; +typedef union _IMAGE_AUX_SYMBOL { + struct { + DWORD TagIndex; + union { + struct { + WORD Linenumber; + WORD Size; + } LnSz; + DWORD TotalSize; + } Misc; + union { + struct { + DWORD PointerToLinenumber; + DWORD PointerToNextFunction; + } Function; + struct { + WORD Dimension[4]; + } Array; + } FcnAry; + WORD TvIndex; + } Sym; + struct { + BYTE Name[IMAGE_SIZEOF_SYMBOL]; + } File; + struct { + DWORD Length; + WORD NumberOfRelocations; + WORD NumberOfLinenumbers; + DWORD CheckSum; + SHORT Number; + BYTE Selection; + } Section; +} IMAGE_AUX_SYMBOL,*PIMAGE_AUX_SYMBOL; +typedef struct _IMAGE_COFF_SYMBOLS_HEADER { + DWORD NumberOfSymbols; + DWORD LvaToFirstSymbol; + DWORD NumberOfLinenumbers; + DWORD LvaToFirstLinenumber; + DWORD RvaToFirstByteOfCode; + DWORD RvaToLastByteOfCode; + DWORD RvaToFirstByteOfData; + DWORD RvaToLastByteOfData; +} IMAGE_COFF_SYMBOLS_HEADER,*PIMAGE_COFF_SYMBOLS_HEADER; +typedef struct _IMAGE_RELOCATION { + union { + DWORD VirtualAddress; + DWORD RelocCount; + } DUMMYUNIONNAME; + DWORD SymbolTableIndex; + WORD Type; +} IMAGE_RELOCATION,*PIMAGE_RELOCATION; +#pragma pack(pop) +#pragma pack(push,4) +typedef struct _IMAGE_BASE_RELOCATION { + DWORD VirtualAddress; + DWORD SizeOfBlock; +} IMAGE_BASE_RELOCATION,*PIMAGE_BASE_RELOCATION; +#pragma pack(pop) +#pragma pack(push,2) +typedef struct _IMAGE_LINENUMBER { + union { + DWORD SymbolTableIndex; + DWORD VirtualAddress; + } Type; + WORD Linenumber; +} IMAGE_LINENUMBER,*PIMAGE_LINENUMBER; +#pragma pack(pop) +#pragma pack(push,4) +typedef struct _IMAGE_ARCHIVE_MEMBER_HEADER { + BYTE Name[16]; + BYTE Date[12]; + BYTE UserID[6]; + BYTE GroupID[6]; + BYTE Mode[8]; + BYTE Size[10]; + BYTE EndHeader[2]; +} IMAGE_ARCHIVE_MEMBER_HEADER,*PIMAGE_ARCHIVE_MEMBER_HEADER; +typedef struct _IMAGE_EXPORT_DIRECTORY { + DWORD Characteristics; + DWORD TimeDateStamp; + WORD MajorVersion; + WORD MinorVersion; + DWORD Name; + DWORD Base; + DWORD NumberOfFunctions; + DWORD NumberOfNames; + PDWORD *AddressOfFunctions; + PDWORD *AddressOfNames; + PWORD *AddressOfNameOrdinals; +} IMAGE_EXPORT_DIRECTORY,*PIMAGE_EXPORT_DIRECTORY; +typedef struct _IMAGE_IMPORT_BY_NAME { + WORD Hint; + BYTE Name[1]; +} IMAGE_IMPORT_BY_NAME,*PIMAGE_IMPORT_BY_NAME; +typedef struct _IMAGE_THUNK_DATA { + union { + PBYTE ForwarderString; + PDWORD Function; + DWORD Ordinal; + PIMAGE_IMPORT_BY_NAME AddressOfData; + } u1; +} IMAGE_THUNK_DATA,*PIMAGE_THUNK_DATA; +typedef struct _IMAGE_IMPORT_DESCRIPTOR { + union { + DWORD Characteristics; + PIMAGE_THUNK_DATA OriginalFirstThunk; + } DUMMYUNIONNAME; + DWORD TimeDateStamp; + DWORD ForwarderChain; + DWORD Name; + PIMAGE_THUNK_DATA FirstThunk; +} IMAGE_IMPORT_DESCRIPTOR,*PIMAGE_IMPORT_DESCRIPTOR; +typedef struct _IMAGE_BOUND_IMPORT_DESCRIPTOR { + DWORD TimeDateStamp; + WORD OffsetModuleName; + WORD NumberOfModuleForwarderRefs; +} IMAGE_BOUND_IMPORT_DESCRIPTOR,*PIMAGE_BOUND_IMPORT_DESCRIPTOR; +typedef struct _IMAGE_BOUND_FORWARDER_REF { + DWORD TimeDateStamp; + WORD OffsetModuleName; + WORD Reserved; +} IMAGE_BOUND_FORWARDER_REF,*PIMAGE_BOUND_FORWARDER_REF; +typedef void(NTAPI *PIMAGE_TLS_CALLBACK)(PVOID,DWORD,PVOID); +typedef struct _IMAGE_TLS_DIRECTORY { + DWORD StartAddressOfRawData; + DWORD EndAddressOfRawData; + PDWORD AddressOfIndex; + PIMAGE_TLS_CALLBACK *AddressOfCallBacks; + DWORD SizeOfZeroFill; + DWORD Characteristics; +} IMAGE_TLS_DIRECTORY,*PIMAGE_TLS_DIRECTORY; +typedef struct _IMAGE_RESOURCE_DIRECTORY { + DWORD Characteristics; + DWORD TimeDateStamp; + WORD MajorVersion; + WORD MinorVersion; + WORD NumberOfNamedEntries; + WORD NumberOfIdEntries; +} IMAGE_RESOURCE_DIRECTORY,*PIMAGE_RESOURCE_DIRECTORY; +typedef struct _IMAGE_RESOURCE_DIRECTORY_ENTRY { + union { + struct { + DWORD NameOffset:31; + DWORD NameIsString:1; + }DUMMYSTRUCTNAME; + DWORD Name; + WORD Id; + } DUMMYUNIONNAME; + union { + DWORD OffsetToData; + struct { + DWORD OffsetToDirectory:31; + DWORD DataIsDirectory:1; + } DUMMYSTRUCTNAME2; + } DUMMYUNIONNAME2; +} IMAGE_RESOURCE_DIRECTORY_ENTRY,*PIMAGE_RESOURCE_DIRECTORY_ENTRY; +typedef struct _IMAGE_RESOURCE_DIRECTORY_STRING { + WORD Length; + CHAR NameString[1]; +} IMAGE_RESOURCE_DIRECTORY_STRING,*PIMAGE_RESOURCE_DIRECTORY_STRING; +typedef struct _IMAGE_RESOURCE_DIR_STRING_U { + WORD Length; + WCHAR NameString[1]; +} IMAGE_RESOURCE_DIR_STRING_U,*PIMAGE_RESOURCE_DIR_STRING_U; +typedef struct _IMAGE_RESOURCE_DATA_ENTRY { + DWORD OffsetToData; + DWORD Size; + DWORD CodePage; + DWORD Reserved; +} IMAGE_RESOURCE_DATA_ENTRY,*PIMAGE_RESOURCE_DATA_ENTRY; +typedef struct _IMAGE_LOAD_CONFIG_DIRECTORY { + DWORD Characteristics; + DWORD TimeDateStamp; + WORD MajorVersion; + WORD MinorVersion; + DWORD GlobalFlagsClear; + DWORD GlobalFlagsSet; + DWORD CriticalSectionDefaultTimeout; + DWORD DeCommitFreeBlockThreshold; + DWORD DeCommitTotalFreeThreshold; + PVOID LockPrefixTable; + DWORD MaximumAllocationSize; + DWORD VirtualMemoryThreshold; + DWORD ProcessHeapFlags; + DWORD Reserved[4]; +} IMAGE_LOAD_CONFIG_DIRECTORY,*PIMAGE_LOAD_CONFIG_DIRECTORY; +typedef struct _IMAGE_RUNTIME_FUNCTION_ENTRY { + DWORD BeginAddress; + DWORD EndAddress; + PVOID ExceptionHandler; + PVOID HandlerData; + DWORD PrologEndAddress; +} IMAGE_RUNTIME_FUNCTION_ENTRY,*PIMAGE_RUNTIME_FUNCTION_ENTRY; +typedef struct _IMAGE_DEBUG_DIRECTORY { + DWORD Characteristics; + DWORD TimeDateStamp; + WORD MajorVersion; + WORD MinorVersion; + DWORD Type; + DWORD SizeOfData; + DWORD AddressOfRawData; + DWORD PointerToRawData; +} IMAGE_DEBUG_DIRECTORY,*PIMAGE_DEBUG_DIRECTORY; +typedef struct _FPO_DATA { + DWORD ulOffStart; + DWORD cbProcSize; + DWORD cdwLocals; + WORD cdwParams; + WORD cbProlog:8; + WORD cbRegs:3; + WORD fHasSEH:1; + WORD fUseBP:1; + WORD reserved:1; + WORD cbFrame:2; +} FPO_DATA,*PFPO_DATA; +typedef struct _IMAGE_DEBUG_MISC { + DWORD DataType; + DWORD Length; + BOOLEAN Unicode; + BYTE Reserved[3]; + BYTE Data[1]; +} IMAGE_DEBUG_MISC,*PIMAGE_DEBUG_MISC; +typedef struct _IMAGE_FUNCTION_ENTRY { + DWORD StartingAddress; + DWORD EndingAddress; + DWORD EndOfPrologue; +} IMAGE_FUNCTION_ENTRY,*PIMAGE_FUNCTION_ENTRY; +typedef struct _IMAGE_SEPARATE_DEBUG_HEADER { + WORD Signature; + WORD Flags; + WORD Machine; + WORD Characteristics; + DWORD TimeDateStamp; + DWORD CheckSum; + DWORD ImageBase; + DWORD SizeOfImage; + DWORD NumberOfSections; + DWORD ExportedNamesSize; + DWORD DebugDirectorySize; + DWORD Reserved[3]; +} IMAGE_SEPARATE_DEBUG_HEADER,*PIMAGE_SEPARATE_DEBUG_HEADER; +#pragma pack(pop) +typedef enum _CM_SERVICE_NODE_TYPE { + DriverType=SERVICE_KERNEL_DRIVER, + FileSystemType=SERVICE_FILE_SYSTEM_DRIVER, + Win32ServiceOwnProcess=SERVICE_WIN32_OWN_PROCESS, + Win32ServiceShareProcess=SERVICE_WIN32_SHARE_PROCESS, + AdapterType=SERVICE_ADAPTER, + RecognizerType=SERVICE_RECOGNIZER_DRIVER +} SERVICE_NODE_TYPE; +typedef enum _CM_SERVICE_LOAD_TYPE { + BootLoad=SERVICE_BOOT_START, + SystemLoad=SERVICE_SYSTEM_START, + AutoLoad=SERVICE_AUTO_START, + DemandLoad=SERVICE_DEMAND_START, + DisableLoad=SERVICE_DISABLED +} SERVICE_LOAD_TYPE; +typedef enum _CM_ERROR_CONTROL_TYPE { + IgnoreError=SERVICE_ERROR_IGNORE, + NormalError=SERVICE_ERROR_NORMAL, + SevereError=SERVICE_ERROR_SEVERE, + CriticalError=SERVICE_ERROR_CRITICAL +} SERVICE_ERROR_TYPE; + +PVOID GetCurrentFiber(void); +PVOID GetFiberData(void); +#endif +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/winperf.h b/winsup/w32api/include/winperf.h new file mode 100644 index 000000000..99620e47e --- /dev/null +++ b/winsup/w32api/include/winperf.h @@ -0,0 +1,135 @@ +#ifndef _WINPERF_H +#define _WINPERF_H +#ifdef __cplusplus +extern "C" { +#endif +#define PERF_DATA_VERSION 1 +#define PERF_DATA_REVISION 1 +#define PERF_NO_INSTANCES -1 +#define PERF_SIZE_DWORD 0 +#define PERF_SIZE_LARGE 256 +#define PERF_SIZE_ZERO 512 +#define PERF_SIZE_VARIABLE_LEN 768 +#define PERF_TYPE_NUMBER 0 +#define PERF_TYPE_COUNTER 1024 +#define PERF_TYPE_TEXT 2048 +#define PERF_TYPE_ZERO 0xC00 +#define PERF_NUMBER_HEX 0 +#define PERF_NUMBER_DECIMAL 0x10000 +#define PERF_NUMBER_DEC_1000 0x20000 +#define PERF_COUNTER_VALUE 0 +#define PERF_COUNTER_RATE 0x10000 +#define PERF_COUNTER_FRACTION 0x20000 +#define PERF_COUNTER_BASE 0x30000 +#define PERF_COUNTER_ELAPSED 0x40000 +#define PERF_COUNTER_QUEUELEN 0x50000 +#define PERF_COUNTER_HISTOGRAM 0x60000 +#define PERF_TEXT_UNICODE 0 +#define PERF_TEXT_ASCII 0x10000 +#define PERF_TIMER_TICK 0 +#define PERF_TIMER_100NS 0x100000 +#define PERF_OBJECT_TIMER 0x200000 +#define PERF_DELTA_COUNTER 0x400000 +#define PERF_DELTA_BASE 0x800000 +#define PERF_INVERSE_COUNTER 0x1000000 +#define PERF_MULTI_COUNTER 0x2000000 +#define PERF_DISPLAY_NO_SUFFIX 0 +#define PERF_DISPLAY_PER_SEC 0x10000000 +#define PERF_DISPLAY_PERCENT 0x20000000 +#define PERF_DISPLAY_SECONDS 0x30000000 +#define PERF_DISPLAY_NOSHOW 0x40000000 +#define PERF_COUNTER_HISTOGRAM_TYPE 0x80000000 +#define PERF_NO_UNIQUE_ID (-1) +#define PERF_DETAIL_NOVICE 100 +#define PERF_DETAIL_ADVANCED 200 +#define PERF_DETAIL_EXPERT 300 +#define PERF_DETAIL_WIZARD 400 +#define PERF_COUNTER_COUNTER (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_DISPLAY_PER_SEC) +#define PERF_COUNTER_TIMER (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_DISPLAY_PERCENT) +#define PERF_COUNTER_QUEUELEN_TYPE (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_QUEUELEN|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_DISPLAY_NO_SUFFIX) +#define PERF_COUNTER_BULK_COUNT (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_DISPLAY_PER_SEC) +#define PERF_COUNTER_TEXT (PERF_SIZE_VARIABLE_LEN|PERF_TYPE_TEXT|PERF_TEXT_UNICODE|PERF_DISPLAY_NO_SUFFIX) +#define PERF_COUNTER_RAWCOUNT (PERF_SIZE_DWORD|PERF_TYPE_NUMBER|PERF_NUMBER_DECIMAL|PERF_DISPLAY_NO_SUFFIX) +#define PERF_COUNTER_LARGE_RAWCOUNT (PERF_SIZE_LARGE|PERF_TYPE_NUMBER|PERF_NUMBER_DECIMAL|PERF_DISPLAY_NO_SUFFIX) +#define PERF_COUNTER_RAWCOUNT_HEX (PERF_SIZE_DWORD|PERF_TYPE_NUMBER|PERF_NUMBER_HEX|PERF_DISPLAY_NO_SUFFIX) +#define PERF_COUNTER_LARGE_RAWCOUNT_HEX (PERF_SIZE_LARGE|PERF_TYPE_NUMBER|PERF_NUMBER_HEX|PERF_DISPLAY_NO_SUFFIX) +#define PERF_SAMPLE_FRACTION (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_FRACTION|PERF_DELTA_COUNTER|PERF_DELTA_BASE|PERF_DISPLAY_PERCENT) +#define PERF_SAMPLE_COUNTER (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_DISPLAY_NO_SUFFIX) +#define PERF_COUNTER_NODATA (PERF_SIZE_ZERO|PERF_DISPLAY_NOSHOW) +#define PERF_COUNTER_TIMER_INV (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_INVERSE_COUNTER|PERF_DISPLAY_PERCENT) +#define PERF_SAMPLE_BASE (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_BASE|PERF_DISPLAY_NOSHOW|1) +#define PERF_AVERAGE_TIMER (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_FRACTION|PERF_DISPLAY_SECONDS) +#define PERF_AVERAGE_BASE (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_BASE|PERF_DISPLAY_NOSHOW|2) +#define PERF_AVERAGE_BULK (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_FRACTION|PERF_DISPLAY_NOSHOW) +#define PERF_100NSEC_TIMER (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_100NS|PERF_DELTA_COUNTER|PERF_DISPLAY_PERCENT) +#define PERF_100NSEC_TIMER_INV (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_100NS|PERF_DELTA_COUNTER|PERF_INVERSE_COUNTER|PERF_DISPLAY_PERCENT) +#define PERF_COUNTER_MULTI_TIMER (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_DELTA_COUNTER|PERF_TIMER_TICK|PERF_MULTI_COUNTER|PERF_DISPLAY_PERCENT) +#define PERF_COUNTER_MULTI_TIMER_INV (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_DELTA_COUNTER|PERF_MULTI_COUNTER|PERF_TIMER_TICK|PERF_INVERSE_COUNTER|PERF_DISPLAY_PERCENT) +#define PERF_COUNTER_MULTI_BASE (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_BASE|PERF_MULTI_COUNTER|PERF_DISPLAY_NOSHOW) +#define PERF_100NSEC_MULTI_TIMER (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_DELTA_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_100NS|PERF_MULTI_COUNTER|PERF_DISPLAY_PERCENT) +#define PERF_100NSEC_MULTI_TIMER_INV (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_DELTA_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_100NS|PERF_MULTI_COUNTER|PERF_INVERSE_COUNTER|PERF_DISPLAY_PERCENT) +#define PERF_RAW_FRACTION (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_FRACTION|PERF_DISPLAY_PERCENT) +#define PERF_RAW_BASE (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_BASE|PERF_DISPLAY_NOSHOW|3) +#define PERF_ELAPSED_TIME (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_ELAPSED|PERF_OBJECT_TIMER|PERF_DISPLAY_SECONDS) +typedef struct _PERF_DATA_BLOCK { + WCHAR Signature[4]; + DWORD LittleEndian; + DWORD Version; + DWORD Revision; + DWORD TotalByteLength; + DWORD HeaderLength; + DWORD NumObjectTypes; + LONG DefaultObject; + SYSTEMTIME SystemTime; + LARGE_INTEGER PerfTime; + LARGE_INTEGER PerfFreq; + LARGE_INTEGER PerfTime100nSec; + DWORD SystemNameLength; + DWORD SystemNameOffset; +} PERF_DATA_BLOCK, *PPERF_DATA_BLOCK; +typedef struct _PERF_OBJECT_TYPE { + DWORD TotalByteLength; + DWORD DefinitionLength; + DWORD HeaderLength; + DWORD ObjectNameTitleIndex; + LPWSTR ObjectNameTitle; + DWORD ObjectHelpTitleIndex; + LPWSTR ObjectHelpTitle; + DWORD DetailLevel; + DWORD NumCounters; + LONG DefaultCounter; + LONG NumInstances; + DWORD CodePage; + LARGE_INTEGER PerfTime; + LARGE_INTEGER PerfFreq; +} PERF_OBJECT_TYPE, *PPERF_OBJECT_TYPE; +typedef struct _PERF_COUNTER_DEFINITION { + DWORD ByteLength; + DWORD CounterNameTitleIndex; + LPWSTR CounterNameTitle; + DWORD CounterHelpTitleIndex; + LPWSTR CounterHelpTitle; + LONG DefaultScale; + DWORD DetailLevel; + DWORD CounterType; + DWORD CounterSize; + DWORD CounterOffset; +} PERF_COUNTER_DEFINITION,*PPERF_COUNTER_DEFINITION; +typedef struct _PERF_INSTANCE_DEFINITION { + DWORD ByteLength; + DWORD ParentObjectTitleIndex; + DWORD ParentObjectInstance; + LONG UniqueID; + DWORD NameOffset; + DWORD NameLength; +} PERF_INSTANCE_DEFINITION,*PPERF_INSTANCE_DEFINITION; +typedef struct _PERF_COUNTER_BLOCK { + DWORD ByteLength; +} PERF_COUNTER_BLOCK, *PPERF_COUNTER_BLOCK; +typedef DWORD(CALLBACK PM_OPEN_PROC)(LPWSTR); +typedef DWORD(CALLBACK PM_COLLECT_PROC)(LPWSTR,PVOID*,PDWORD,PDWORD); +typedef DWORD(CALLBACK PM_CLOSE_PROC)(void); +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/winreg.h b/winsup/w32api/include/winreg.h new file mode 100644 index 000000000..aae020a39 --- /dev/null +++ b/winsup/w32api/include/winreg.h @@ -0,0 +1,155 @@ +#ifndef _WINREG_H +#define _WINREG_H +#ifdef __cplusplus +extern "C" { +#endif +#define HKEY_CLASSES_ROOT ((HKEY)0x80000000) +#define HKEY_CURRENT_USER ((HKEY)0x80000001) +#define HKEY_LOCAL_MACHINE ((HKEY)0x80000002) +#define HKEY_USERS ((HKEY)0x80000003) +#define HKEY_PERFORMANCE_DATA ((HKEY)0x80000004) +#define HKEY_CURRENT_CONFIG ((HKEY)0x80000005) +#define HKEY_DYN_DATA ((HKEY)0x80000006) +#define REG_OPTION_VOLATILE 1 +#define REG_OPTION_NON_VOLATILE 0 +#define REG_CREATED_NEW_KEY 1 +#define REG_OPENED_EXISTING_KEY 2 +#define REG_NONE 0 +#define REG_SZ 1 +#define REG_EXPAND_SZ 2 +#define REG_BINARY 3 +#define REG_DWORD 4 +#define REG_DWORD_BIG_ENDIAN 5 +#define REG_DWORD_LITTLE_ENDIAN 4 +#define REG_LINK 6 +#define REG_MULTI_SZ 7 +#define REG_RESOURCE_LIST 8 +#define REG_FULL_RESOURCE_DESCRIPTOR 9 +#define REG_RESOURCE_REQUIREMENTS_LIST 10 +#define REG_NOTIFY_CHANGE_NAME 1 +#define REG_NOTIFY_CHANGE_ATTRIBUTES 2 +#define REG_NOTIFY_CHANGE_LAST_SET 4 +#define REG_NOTIFY_CHANGE_SECURITY 8 + +#ifndef RC_INVOKED +typedef ACCESS_MASK REGSAM; +typedef struct value_entA { + LPSTR ve_valuename; + DWORD ve_valuelen; + DWORD ve_valueptr; + DWORD ve_type; +} VALENTA,*PVALENTA; +typedef struct value_entW { + LPWSTR ve_valuename; + DWORD ve_valuelen; + DWORD ve_valueptr; + DWORD ve_type; +} VALENTW,*PVALENTW; +BOOL WINAPI AbortSystemShutdownA(LPCSTR); +BOOL WINAPI AbortSystemShutdownW(LPCWSTR); +BOOL WINAPI InitiateSystemShutdownA(LPSTR,LPSTR,DWORD,BOOL,BOOL); +BOOL WINAPI InitiateSystemShutdownW(LPWSTR,LPWSTR,DWORD,BOOL,BOOL); +LONG WINAPI RegCloseKey(HKEY); +LONG WINAPI RegConnectRegistryA(LPSTR,HKEY,PHKEY); +LONG WINAPI RegConnectRegistryW(LPWSTR,HKEY,PHKEY); +LONG WINAPI RegCreateKeyA(HKEY,LPCSTR,PHKEY); +LONG WINAPI RegCreateKeyExA(HKEY,LPCSTR,DWORD,LPSTR,DWORD,REGSAM,LPSECURITY_ATTRIBUTES,PHKEY,PDWORD); +LONG WINAPI RegCreateKeyExW(HKEY,LPCWSTR,DWORD,LPWSTR,DWORD,REGSAM,LPSECURITY_ATTRIBUTES,PHKEY,PDWORD); +LONG WINAPI RegCreateKeyW(HKEY,LPCWSTR,PHKEY); +LONG WINAPI RegDeleteKeyA(HKEY,LPCSTR); +LONG WINAPI RegDeleteKeyW(HKEY,LPCWSTR); +LONG WINAPI RegDeleteValueA (HKEY,LPCSTR); +LONG WINAPI RegDeleteValueW(HKEY,LPCWSTR); +LONG WINAPI RegEnumKeyA (HKEY,DWORD,LPSTR,DWORD); +LONG WINAPI RegEnumKeyW(HKEY,DWORD,LPWSTR,DWORD); +LONG WINAPI RegEnumKeyExA(HKEY,DWORD,LPSTR,PDWORD,PDWORD,LPSTR,PDWORD,PFILETIME); +LONG WINAPI RegEnumKeyExW(HKEY,DWORD,LPWSTR,PDWORD,PDWORD,LPWSTR,PDWORD,PFILETIME); +LONG WINAPI RegEnumValueA(HKEY,DWORD,LPSTR,PDWORD,PDWORD,PDWORD,LPBYTE,PDWORD); +LONG WINAPI RegEnumValueW(HKEY,DWORD,LPWSTR,PDWORD,PDWORD,PDWORD,LPBYTE,PDWORD); +LONG WINAPI RegFlushKey(HKEY); +LONG WINAPI RegGetKeySecurity(HKEY,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,PDWORD); +LONG WINAPI RegLoadKeyA(HKEY,LPCSTR,LPCSTR); +LONG WINAPI RegLoadKeyW(HKEY,LPCWSTR,LPCWSTR); +LONG WINAPI RegNotifyChangeKeyValue(HKEY,BOOL,DWORD,HANDLE,BOOL); +LONG WINAPI RegOpenKeyA(HKEY,LPCSTR,PHKEY); +LONG WINAPI RegOpenKeyExA(HKEY,LPCSTR,DWORD,REGSAM,PHKEY); +LONG WINAPI RegOpenKeyExW(HKEY,LPCWSTR,DWORD,REGSAM,PHKEY); +LONG WINAPI RegOpenKeyW(HKEY,LPCWSTR,PHKEY); +LONG WINAPI RegQueryInfoKeyA(HKEY,LPSTR,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PFILETIME); +LONG WINAPI RegQueryInfoKeyW(HKEY,LPWSTR,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PFILETIME); +LONG WINAPI RegQueryMultipleValuesA(HKEY,PVALENTA,DWORD,LPSTR,PDWORD); +LONG WINAPI RegQueryMultipleValuesW(HKEY,PVALENTW,DWORD,LPWSTR,PDWORD); +LONG WINAPI RegQueryValueA(HKEY,LPCSTR,LPSTR,PLONG); +LONG WINAPI RegQueryValueExA (HKEY,LPCSTR,PDWORD,PDWORD,LPBYTE,PDWORD); +LONG WINAPI RegQueryValueExW(HKEY,LPCWSTR,PDWORD,PDWORD,LPBYTE,PDWORD); +LONG WINAPI RegQueryValueW(HKEY,LPCWSTR,LPWSTR,PLONG); +LONG WINAPI RegReplaceKeyA(HKEY,LPCSTR,LPCSTR,LPCSTR); +LONG WINAPI RegReplaceKeyW(HKEY,LPCWSTR,LPCWSTR,LPCWSTR); +LONG WINAPI RegRestoreKeyA (HKEY,LPCSTR,DWORD); +LONG WINAPI RegRestoreKeyW(HKEY,LPCWSTR,DWORD); +LONG WINAPI RegSaveKeyA(HKEY,LPCSTR,LPSECURITY_ATTRIBUTES); +LONG WINAPI RegSaveKeyW(HKEY,LPCWSTR,LPSECURITY_ATTRIBUTES); +LONG WINAPI RegSetKeySecurity(HKEY,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR); +LONG WINAPI RegSetValueA(HKEY,LPCSTR,DWORD,LPCSTR,DWORD); +LONG WINAPI RegSetValueExA(HKEY,LPCSTR,DWORD,DWORD,const BYTE*,DWORD); +LONG WINAPI RegSetValueExW(HKEY,LPCWSTR,DWORD,DWORD,const BYTE*,DWORD); +LONG WINAPI RegSetValueW(HKEY,LPCWSTR,DWORD,LPCWSTR,DWORD); +LONG WINAPI RegUnLoadKeyA(HKEY,LPCSTR); +LONG WINAPI RegUnLoadKeyW(HKEY,LPCWSTR); + +#ifdef UNICODE +typedef VALENTW VALENT,*PVALENT; +#define AbortSystemShutdown AbortSystemShutdownW +#define InitiateSystemShutdown InitiateSystemShutdownW +#define RegConnectRegistry RegConnectRegistryW +#define RegCreateKey RegCreateKeyW +#define RegCreateKeyEx RegCreateKeyExW +#define RegDeleteKey RegDeleteKeyW +#define RegDeleteValue RegDeleteValueW +#define RegEnumKey RegEnumKeyW +#define RegEnumKeyEx RegEnumKeyExW +#define RegEnumValue RegEnumValueW +#define RegLoadKey RegLoadKeyW +#define RegOpenKey RegOpenKeyW +#define RegOpenKeyEx RegOpenKeyExW +#define RegQueryInfoKey RegQueryInfoKeyW +#define RegQueryMultipleValues RegQueryMultipleValuesW +#define RegQueryValue RegQueryValueW +#define RegQueryValueEx RegQueryValueExW +#define RegReplaceKey RegReplaceKeyW +#define RegRestoreKey RegRestoreKeyW +#define RegSaveKey RegSaveKeyW +#define RegSetValue RegSetValueW +#define RegSetValueEx RegSetValueExW +#define RegUnLoadKey RegUnLoadKeyW +#else +typedef VALENTA VALENT,*PVALENT; +#define AbortSystemShutdown AbortSystemShutdownA +#define InitiateSystemShutdown InitiateSystemShutdownA +#define RegConnectRegistry RegConnectRegistryA +#define RegCreateKey RegCreateKeyA +#define RegCreateKeyEx RegCreateKeyExA +#define RegDeleteKey RegDeleteKeyA +#define RegDeleteValue RegDeleteValueA +#define RegEnumKey RegEnumKeyA +#define RegEnumKeyEx RegEnumKeyExA +#define RegEnumValue RegEnumValueA +#define RegLoadKey RegLoadKeyA +#define RegOpenKey RegOpenKeyA +#define RegOpenKeyEx RegOpenKeyExA +#define RegQueryInfoKey RegQueryInfoKeyA +#define RegQueryMultipleValues RegQueryMultipleValuesA +#define RegQueryValue RegQueryValueA +#define RegQueryValueEx RegQueryValueExA +#define RegReplaceKey RegReplaceKeyA +#define RegRestoreKey RegRestoreKeyA +#define RegSaveKey RegSaveKeyA +#define RegSetValue RegSetValueA +#define RegSetValueEx RegSetValueExA +#define RegUnLoadKey RegUnLoadKeyA +#endif +#endif +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/winresrc.h b/winsup/w32api/include/winresrc.h new file mode 100644 index 000000000..59e0cd062 --- /dev/null +++ b/winsup/w32api/include/winresrc.h @@ -0,0 +1,10 @@ +#ifndef _WINRESRC_H +#define _WINRESRC_H +#define WIN32_LEAN_AND_MEAN +#include <winuser.h> +#include <winnt.h> +#include <winver.h> +#include <dde.h> +#include <dlgs.h> +#include <commctrl.h> +#endif diff --git a/winsup/w32api/include/winsock.h b/winsup/w32api/include/winsock.h new file mode 100644 index 000000000..93986d02e --- /dev/null +++ b/winsup/w32api/include/winsock.h @@ -0,0 +1,510 @@ +/* + + Definitions for winsock 1.1 + + Portions Copyright (c) 1980, 1983, 1988, 1993 + The Regents of the University of California. All rights reserved. + + Portions Copyright (c) 1993 by Digital Equipment Corporation. + */ + +#ifndef _WINSOCK_H +#define _WINSOCK_H +#define _GNU_H_WINDOWS32_SOCKETS +#include <windows.h> + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef _SYS_TYPES_H +typedef unsigned char u_char; +typedef unsigned short u_short; +typedef unsigned int u_int; +typedef unsigned long u_long; +#endif /* ndef _SYS_TYPES_H */ +typedef u_int SOCKET; +#ifndef FD_SETSIZE +#define FD_SETSIZE 64 +#endif + +/* shutdown() how types */ +#define SD_RECEIVE 0x00 +#define SD_SEND 0x01 +#define SD_BOTH 0x02 + +#ifndef _SYS_TYPES_H +/* fd_set may have been defined by the newlib <sys/types.h>. */ +#ifdef fd_set +#undef fd_set +#endif +typedef struct fd_set { + u_int fd_count; + SOCKET fd_array[FD_SETSIZE]; +} fd_set; +int PASCAL __WSAFDIsSet(SOCKET,fd_set*); +#ifndef FD_CLR +#define FD_CLR(fd,set) do { u_int __i;\ +for (__i = 0; __i < ((fd_set *)(set))->fd_count ; __i++) {\ + if (((fd_set *)(set))->fd_array[__i] == fd) {\ + while (__i < ((fd_set *)(set))->fd_count-1) {\ + ((fd_set*)(set))->fd_array[__i] = ((fd_set*)(set))->fd_array[__i+1];\ + __i++;\ + }\ + ((fd_set*)(set))->fd_count--;\ + break;\ + }\ +}\ +} while (0) +#endif +#ifndef FD_SET +#define FD_SET(fd, set) do { \ + if (((fd_set *)(set))->fd_count < FD_SETSIZE) \ + ((fd_set *)(set))->fd_array[((fd_set *)(set))->fd_count++]=(fd);\ +}while (0) +#endif +#ifndef FD_ZERO +#define FD_ZERO(set) (((fd_set *)(set))->fd_count=0) +#endif +#ifndef FD_ISSET +#define FD_ISSET(fd, set) __WSAFDIsSet((SOCKET)(fd), (fd_set *)(set)) +#endif +#endif /* ndef _SYS_TYPES_H */ +#ifndef __INSIDE_CYGWIN__ +struct timeval { + long tv_sec; + long tv_usec; +}; +struct hostent { + char *h_name; + char **h_aliases; + short h_addrtype; + short h_length; + char **h_addr_list; +#define h_addr h_addr_list[0] +}; +struct linger { + u_short l_onoff; + u_short l_linger; +}; +#endif /* ndef __INSIDE_CYGWIN__ */ +#define timerisset(tvp) ((tvp)->tv_sec || (tvp)->tv_usec) +#define timercmp(tvp, uvp, cmp) \ + ((tvp)->tv_sec cmp (uvp)->tv_sec || \ + (tvp)->tv_sec == (uvp)->tv_sec && (tvp)->tv_usec cmp (uvp)->tv_usec) +#define timerclear(tvp) (tvp)->tv_sec = (tvp)->tv_usec = 0 +#define IOCPARM_MASK 0x7f +#define IOC_VOID 0x20000000 +#define IOC_OUT 0x40000000 +#define IOC_IN 0x80000000 +#define IOC_INOUT (IOC_IN|IOC_OUT) + +#ifndef __INSIDE_CYGWIN__ +#define _IO(x,y) (IOC_VOID|((x)<<8)|(y)) +#define _IOR(x,y,t) (IOC_OUT|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y)) +#define _IOW(x,y,t) (IOC_IN|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y)) +#define FIONBIO _IOW('f', 126, u_long) +#endif /* ndef __INSIDE_CYGWIN__ */ + +#define FIONREAD _IOR('f', 127, u_long) +#define FIOASYNC _IOW('f', 125, u_long) +#define SIOCSHIWAT _IOW('s', 0, u_long) +#define SIOCGHIWAT _IOR('s', 1, u_long) +#define SIOCSLOWAT _IOW('s', 2, u_long) +#define SIOCGLOWAT _IOR('s', 3, u_long) +#define SIOCATMARK _IOR('s', 7, u_long) + +#ifndef __INSIDE_CYGWIN__ +struct netent { + char * n_name; + char **n_aliases; + short n_addrtype; + u_long n_net; +}; +struct servent { + char *s_name; + char **s_aliases; + short s_port; + char *s_proto; +}; +struct protoent { + char *p_name; + char **p_aliases; + short p_proto; +}; +#endif /* __INSIDE_CYGWIN__ */ + +#define IPPROTO_IP 0 +#define IPPROTO_ICMP 1 +#define IPPROTO_GGP 2 +#define IPPROTO_TCP 6 +#define IPPROTO_PUP 12 +#define IPPROTO_UDP 17 +#define IPPROTO_IDP 22 +#define IPPROTO_ND 77 +#define IPPROTO_RAW 255 +#define IPPROTO_MAX 256 +#define IPPORT_ECHO 7 +#define IPPORT_DISCARD 9 +#define IPPORT_SYSTAT 11 +#define IPPORT_DAYTIME 13 +#define IPPORT_NETSTAT 15 +#define IPPORT_FTP 21 +#define IPPORT_TELNET 23 +#define IPPORT_SMTP 25 +#define IPPORT_TIMESERVER 37 +#define IPPORT_NAMESERVER 42 +#define IPPORT_WHOIS 43 +#define IPPORT_MTP 57 +#define IPPORT_TFTP 69 +#define IPPORT_RJE 77 +#define IPPORT_FINGER 79 +#define IPPORT_TTYLINK 87 +#define IPPORT_SUPDUP 95 +#define IPPORT_EXECSERVER 512 +#define IPPORT_LOGINSERVER 513 +#define IPPORT_CMDSERVER 514 +#define IPPORT_EFSSERVER 520 +#define IPPORT_BIFFUDP 512 +#define IPPORT_WHOSERVER 513 +#define IPPORT_ROUTESERVER 520 +#define IPPORT_RESERVED 1024 +#define IMPLINK_IP 155 +#define IMPLINK_LOWEXPER 156 +#define IMPLINK_HIGHEXPER 158 +struct in_addr { + union { + struct { u_char s_b1,s_b2,s_b3,s_b4; } S_un_b; + struct { u_short s_w1,s_w2; } S_un_w; + u_long S_addr; + } S_un; +#define s_addr S_un.S_addr +#define s_host S_un.S_un_b.s_b2 +#define s_net S_un.S_un_b.s_b1 +#define s_imp S_un.S_un_w.s_w2 +#define s_impno S_un.S_un_b.s_b4 +#define s_lh S_un.S_un_b.s_b3 +}; +#define IN_CLASSA(i) ((long)(i)&0x80000000) +#define IN_CLASSA_NET 0xff000000 +#define IN_CLASSA_NSHIFT 24 +#define IN_CLASSA_HOST 0x00ffffff +#define IN_CLASSA_MAX 128 +#define IN_CLASSB(i) (((long)(i)&0xc0000000)==0x80000000) +#define IN_CLASSB_NET 0xffff0000 +#define IN_CLASSB_NSHIFT 16 +#define IN_CLASSB_HOST 0x0000ffff +#define IN_CLASSB_MAX 65536 +#define IN_CLASSC(i) (((long)(i)&0xe0000000)==0xc0000000) +#define IN_CLASSC_NET 0xffffff00 +#define IN_CLASSC_NSHIFT 8 +#define IN_CLASSC_HOST 0xff +#define INADDR_ANY (u_long)0 +#define INADDR_LOOPBACK 0x7f000001 +#define INADDR_BROADCAST (u_long)0xffffffff +#define INADDR_NONE 0xffffffff +struct sockaddr_in { + short sin_family; + u_short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; +#define WSADESCRIPTION_LEN 256 +#define WSASYS_STATUS_LEN 128 +typedef struct WSAData { + WORD wVersion; + WORD wHighVersion; + char szDescription[WSADESCRIPTION_LEN+1]; + char szSystemStatus[WSASYS_STATUS_LEN+1]; + unsigned short iMaxSockets; + unsigned short iMaxUdpDg; + char * lpVendorInfo; +} WSADATA; +typedef WSADATA *LPWSADATA; + +#ifndef __INSIDE_CYGWIN__ +#define IP_OPTIONS 1 +#define SO_DEBUG 1 +#define SO_ACCEPTCONN 2 +#define SO_REUSEADDR 4 +#define SO_KEEPALIVE 8 +#define SO_DONTROUTE 16 +#define SO_BROADCAST 32 +#define SO_USELOOPBACK 64 +#define SO_LINGER 128 +#define SO_OOBINLINE 256 +#define SO_DONTLINGER (u_int)(~SO_LINGER) +#define SO_SNDBUF 0x1001 +#define SO_RCVBUF 0x1002 +#define SO_SNDLOWAT 0x1003 +#define SO_RCVLOWAT 0x1004 +#define SO_SNDTIMEO 0x1005 +#define SO_RCVTIMEO 0x1006 +#define SO_ERROR 0x1007 +#define SO_TYPE 0x1008 +#define SO_CONNDATA 0x7000 +#define SO_CONNOPT 0x7001 +#define SO_DISCDATA 0x7002 +#define SO_DISCOPT 0x7003 +#define SO_CONNDATALEN 0x7004 +#define SO_CONNOPTLEN 0x7005 +#define SO_DISCDATALEN 0x7006 +#define SO_DISCOPTLEN 0x7007 +#define SO_OPENTYPE 0x7008 +#define SO_SYNCHRONOUS_ALERT 0x10 +#define SO_SYNCHRONOUS_NONALERT 0x20 +#define SO_MAXDG 0x7009 +#define SO_MAXPATHDG 0x700A +#define SO_UPDATE_ACCEPT_CONTEXT 0x700B +#define SO_CONNECT_TIME 0x700C +#endif +#define IP_MULTICAST_IF 2 +#define IP_MULTICAST_TTL 3 +#define IP_MULTICAST_LOOP 4 +#define IP_ADD_MEMBERSHIP 5 +#define IP_DROP_MEMBERSHIP 6 +#define IP_DEFAULT_MULTICAST_TTL 1 +#define IP_DEFAULT_MULTICAST_LOOP 1 +#define IP_MAX_MEMBERSHIPS 20 +struct ip_mreq { + struct in_addr imr_multiaddr; + struct in_addr imr_interface; +}; +#define INVALID_SOCKET (SOCKET)(~0) +#define SOCKET_ERROR (-1) +#define SOCK_STREAM 1 +#define SOCK_DGRAM 2 +#define SOCK_RAW 3 +#define SOCK_RDM 4 +#define SOCK_SEQPACKET 5 +#define TCP_NODELAY 0x0001 +#define TCP_BSDURGENT 0x7000 +#define AF_UNSPEC 0 +#define AF_UNIX 1 +#define AF_INET 2 +#define AF_IMPLINK 3 +#define AF_PUP 4 +#define AF_CHAOS 5 +#define AF_IPX 6 +#define AF_NS 6 +#define AF_ISO 7 +#define AF_OSI AF_ISO +#define AF_ECMA 8 +#define AF_DATAKIT 9 +#define AF_CCITT 10 +#define AF_SNA 11 +#define AF_DECnet 12 +#define AF_DLI 13 +#define AF_LAT 14 +#define AF_HYLINK 15 +#define AF_APPLETALK 16 +#define AF_NETBIOS 17 +#define AF_VOICEVIEW 18 +#ifndef __INSIDE_CYGWIN__ +#define AF_MAX 19 +struct sockaddr { + u_short sa_family; + char sa_data[14]; +}; +#endif /* ndef __INSIDE_CYGWIN__ */ + +struct sockproto { + u_short sp_family; + u_short sp_protocol; +}; +#define PF_UNSPEC AF_UNSPEC +#define PF_UNIX AF_UNIX +#define PF_INET AF_INET +#define PF_IMPLINK AF_IMPLINK +#define PF_PUP AF_PUP +#define PF_CHAOS AF_CHAOS +#define PF_NS AF_NS +#define PF_IPX AF_IPX +#define PF_ISO AF_ISO +#define PF_OSI AF_OSI +#define PF_ECMA AF_ECMA +#define PF_DATAKIT AF_DATAKIT +#define PF_CCITT AF_CCITT +#define PF_SNA AF_SNA +#define PF_DECnet AF_DECnet +#define PF_DLI AF_DLI +#define PF_LAT AF_LAT +#define PF_HYLINK AF_HYLINK +#define PF_APPLETALK AF_APPLETALK +#define PF_VOICEVIEW AF_VOICEVIEW +#define PF_MAX AF_MAX +#define SOL_SOCKET 0xffff +#define SOMAXCONN 5 +#ifndef __INSIDE_CYGWIN__ +#define MSG_OOB 1 +#define MSG_PEEK 2 +#define MSG_DONTROUTE 4 +#endif /* ndef __INSIDE_CYGWIN__ */ +#define MSG_MAXIOVLEN 16 +#define MSG_PARTIAL 0x8000 +#define MAXGETHOSTSTRUCT 1024 +#define FD_READ 1 +#define FD_WRITE 2 +#define FD_OOB 4 +#define FD_ACCEPT 8 +#define FD_CONNECT 16 +#define FD_CLOSE 32 +#define WSABASEERR 10000 +#define WSAEINTR (WSABASEERR+4) +#define WSAEBADF (WSABASEERR+9) +#define WSAEACCES (WSABASEERR+13) +#define WSAEFAULT (WSABASEERR+14) +#define WSAEINVAL (WSABASEERR+22) +#define WSAEMFILE (WSABASEERR+24) +#define WSAEWOULDBLOCK (WSABASEERR+35) +#define WSAEINPROGRESS (WSABASEERR+36) +#define WSAEALREADY (WSABASEERR+37) +#define WSAENOTSOCK (WSABASEERR+38) +#define WSAEDESTADDRREQ (WSABASEERR+39) +#define WSAEMSGSIZE (WSABASEERR+40) +#define WSAEPROTOTYPE (WSABASEERR+41) +#define WSAENOPROTOOPT (WSABASEERR+42) +#define WSAEPROTONOSUPPORT (WSABASEERR+43) +#define WSAESOCKTNOSUPPORT (WSABASEERR+44) +#define WSAEOPNOTSUPP (WSABASEERR+45) +#define WSAEPFNOSUPPORT (WSABASEERR+46) +#define WSAEAFNOSUPPORT (WSABASEERR+47) +#define WSAEADDRINUSE (WSABASEERR+48) +#define WSAEADDRNOTAVAIL (WSABASEERR+49) +#define WSAENETDOWN (WSABASEERR+50) +#define WSAENETUNREACH (WSABASEERR+51) +#define WSAENETRESET (WSABASEERR+52) +#define WSAECONNABORTED (WSABASEERR+53) +#define WSAECONNRESET (WSABASEERR+54) +#define WSAENOBUFS (WSABASEERR+55) +#define WSAEISCONN (WSABASEERR+56) +#define WSAENOTCONN (WSABASEERR+57) +#define WSAESHUTDOWN (WSABASEERR+58) +#define WSAETOOMANYREFS (WSABASEERR+59) +#define WSAETIMEDOUT (WSABASEERR+60) +#define WSAECONNREFUSED (WSABASEERR+61) +#define WSAELOOP (WSABASEERR+62) +#define WSAENAMETOOLONG (WSABASEERR+63) +#define WSAEHOSTDOWN (WSABASEERR+64) +#define WSAEHOSTUNREACH (WSABASEERR+65) +#define WSAENOTEMPTY (WSABASEERR+66) +#define WSAEPROCLIM (WSABASEERR+67) +#define WSAEUSERS (WSABASEERR+68) +#define WSAEDQUOT (WSABASEERR+69) +#define WSAESTALE (WSABASEERR+70) +#define WSAEREMOTE (WSABASEERR+71) +#define WSAEDISCON (WSABASEERR+101) +#define WSASYSNOTREADY (WSABASEERR+91) +#define WSAVERNOTSUPPORTED (WSABASEERR+92) +#define WSANOTINITIALISED (WSABASEERR+93) +#define WSAHOST_NOT_FOUND (WSABASEERR+1001) +#define WSATRY_AGAIN (WSABASEERR+1002) +#define WSANO_RECOVERY (WSABASEERR+1003) +#define WSANO_DATA (WSABASEERR+1004) +#define WSANO_ADDRESS WSANO_DATA +#ifndef __INSIDE_CYGWIN__ +#define h_errno WSAGetLastError() +#define HOST_NOT_FOUND WSAHOST_NOT_FOUND +#define TRY_AGAIN WSATRY_AGAIN +#define NO_RECOVERY WSANO_RECOVERY +#define NO_DATA WSANO_DATA +#define NO_ADDRESS WSANO_ADDRESS +#endif +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 * PASCAL inet_ntoa(struct 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*); +int PASCAL WSAStartup(WORD,LPWSADATA); +int PASCAL WSACleanup(void); +void PASCAL WSASetLastError(int); +int PASCAL WSAGetLastError(void); +BOOL PASCAL WSAIsBlocking(void); +int PASCAL WSAUnhookBlockingHook(void); +FARPROC PASCAL WSASetBlockingHook(FARPROC); +int PASCAL WSACancelBlockingCall(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 WSARecvEx(SOCKET,char*,int,int*); +typedef struct _TRANSMIT_FILE_BUFFERS { + PVOID Head; + DWORD HeadLength; + PVOID Tail; + DWORD TailLength; +} TRANSMIT_FILE_BUFFERS, *PTRANSMIT_FILE_BUFFERS, *LPTRANSMIT_FILE_BUFFERS; +BOOL PASCAL TransmitFile(SOCKET,HANDLE,DWORD,DWORD,LPOVERLAPPED,LPTRANSMIT_FILE_BUFFERS,DWORD); +BOOL PASCAL AcceptEx(SOCKET,SOCKET,PVOID,DWORD,DWORD,DWORD,LPDWORD,LPOVERLAPPED); +VOID PASCAL GetAcceptExSockaddrs(PVOID,DWORD,DWORD,DWORD,struct sockaddr**, LPINT, struct sockaddr**, LPINT); +#ifndef __INSIDE_CYGWIN__ +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); +#endif /* ndef __INSIDE_CYGWIN__ */ + +#define WSAMAKEASYNCREPLY(b,e) MAKELONG(b,e) +#define WSAMAKESELECTREPLY(e,error) MAKELONG(e,error) +#define WSAGETASYNCBUFLEN(l) LOWORD(l) +#define WSAGETASYNCERROR(l) HIWORD(l) +#define WSAGETSELECTEVENT(l) LOWORD(l) +#define WSAGETSELECTERROR(l) HIWORD(l) + +typedef struct sockaddr SOCKADDR; +typedef struct sockaddr *PSOCKADDR; +typedef struct sockaddr *LPSOCKADDR; +typedef struct sockaddr_in SOCKADDR_IN; +typedef struct sockaddr_in *PSOCKADDR_IN; +typedef struct sockaddr_in *LPSOCKADDR_IN; +typedef struct linger LINGER; +typedef struct linger *PLINGER; +typedef struct linger *LPLINGER; +typedef struct in_addr IN_ADDR; +typedef struct in_addr *PIN_ADDR; +typedef struct in_addr *LPIN_ADDR; +typedef struct fd_set FD_SET; +typedef struct fd_set *PFD_SET; +typedef struct fd_set *LPFD_SET; +typedef struct hostent HOSTENT; +typedef struct hostent *PHOSTENT; +typedef struct hostent *LPHOSTENT; +typedef struct servent SERVENT; +typedef struct servent *PSERVENT; +typedef struct servent *LPSERVENT; +typedef struct protoent PROTOENT; +typedef struct protoent *PPROTOENT; +typedef struct protoent *LPPROTOENT; +typedef struct timeval TIMEVAL; +typedef struct timeval *PTIMEVAL; +typedef struct timeval *LPTIMEVAL; + +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/winsock2.h b/winsup/w32api/include/winsock2.h new file mode 100644 index 000000000..ea748f0dc --- /dev/null +++ b/winsup/w32api/include/winsock2.h @@ -0,0 +1,129 @@ +/* + + Definitions for winsock 2 + + FIXME: This is mostly a stub for now. Taken from the Wine project. + + Portions Copyright (c) 1980, 1983, 1988, 1993 + The Regents of the University of California. All rights reserved. + + Portions Copyright (c) 1993 by Digital Equipment Corporation. + */ + +#ifndef _WINSOCK2_H +#define _WINSOCK2_H +#define _GNU_H_WINDOWS32_SOCKETS +#ifdef __cplusplus +extern "C" { +#endif + +#include <winsock.h> + +#define FD_MAX_EVENTS 10 +#define FD_READ_BIT 0 +#define FD_WRITE_BIT 1 +#define FD_OOB_BIT 2 +#define FD_ACCEPT_BIT 3 +#define FD_CONNECT_BIT 4 +#define FD_CLOSE_BIT 5 +#define FROM_PROTOCOL_INFO -1 +#define SO_GROUP_ID 0x2001 +#define SO_GROUP_PRIORITY 0x2002 +#define SO_MAX_MSG_SIZE 0x2003 +#define SO_PROTOCOL_INFOA 0x2004 +#define SO_PROTOCOL_INFOW 0x2005 +#define MAX_PROTOCOL_CHAIN 7 +#define BASE_PROTOCOL 1 +#define LAYERED_PROTOCOL 0 +#define WSAPROTOCOL_LEN 255 +#define WSA_FLAG_OVERLAPPED 0x01 +#define WSA_FLAG_MULTIPOINT_C_ROOT 0x02 +#define WSA_FLAG_MULTIPOINT_C_LEAF 0x04 +#define WSA_FLAG_MULTIPOINT_D_ROOT 0x08 +#define WSA_FLAG_MULTIPOINT_D_LEAF 0x10 +typedef HANDLE WSAEVENT; +typedef unsigned int GROUP; +#ifndef GUID_DEFINED +#define GUID_DEFINED +typedef struct _GUID { + unsigned long Data1; + unsigned short Data2; + unsigned short Data3; + unsigned char Data4[8]; +} GUID,*REFGUID,*LPGUID; +#endif /* GUID_DEFINED */ +typedef struct _WSANETWORKEVENTS { + long lNetworkEvents; + int iErrorCode[FD_MAX_EVENTS]; +} WSANETWORKEVENTS, *LPWSANETWORKEVENTS; +typedef struct _WSAPROTOCOLCHAIN { + int ChainLen; + DWORD ChainEntries[MAX_PROTOCOL_CHAIN]; +} WSAPROTOCOLCHAIN,*LPWSAPROTOCOLCHAIN; +typedef struct _WSAPROTOCOL_INFOA { + DWORD dwServiceFlags1; + DWORD dwServiceFlags2; + DWORD dwServiceFlags3; + DWORD dwServiceFlags4; + DWORD dwProviderFlags; + GUID ProviderId; + DWORD dwCatalogEntryId; + WSAPROTOCOLCHAIN ProtocolChain; + int iVersion; + int iAddressFamily; + int iMaxSockAddr; + int iMinSockAddr; + int iSocketType; + int iProtocol; + int iProtocolMaxOffset; + int iNetworkByteOrder; + int iSecurityScheme; + DWORD dwMessageSize; + DWORD dwProviderReserved; + CHAR szProtocol[WSAPROTOCOL_LEN+1]; +} WSAPROTOCOL_INFOA,*LPWSAPROTOCOL_INFOA; +typedef struct _WSAPROTOCOL_INFOW { + DWORD dwServiceFlags1; + DWORD dwServiceFlags2; + DWORD dwServiceFlags3; + DWORD dwServiceFlags4; + DWORD dwProviderFlags; + GUID ProviderId; + DWORD dwCatalogEntryId; + WSAPROTOCOLCHAIN ProtocolChain; + int iVersion; + int iAddressFamily; + int iMaxSockAddr; + int iMinSockAddr; + int iSocketType; + int iProtocol; + int iProtocolMaxOffset; + int iNetworkByteOrder; + int iSecurityScheme; + DWORD dwMessageSize; + DWORD dwProviderReserved; + WCHAR szProtocol[WSAPROTOCOL_LEN+1]; +} WSAPROTOCOL_INFOW,*LPWSAPROTOCOL_INFOW; +SOCKET PASCAL WSASocketA(int,int,int,LPWSAPROTOCOL_INFOA,GROUP,DWORD); +SOCKET PASCAL WSASocketW(int,int,int,LPWSAPROTOCOL_INFOW,GROUP,DWORD); +#define WSACreateEvent() CreateEvent(NULL, TRUE, FALSE, NULL) +int PASCAL WSAEnumNetworkEvents(SOCKET s, WSAEVENT hEventObject, LPWSANETWORKEVENTS lpNetworkEvents); +int PASCAL WSAEventSelect(SOCKET s, WSAEVENT hEventObject, long lNetworkEvents); + +#ifdef UNICODE +#define SO_PROTOCOL_INFO SO_PROTOCOL_INFOW +#define WSAPROTOCOL_INFO WSAPROTOCOL_INFOW +#define LPWSAPROTOCOL_INFO LPWSAPROTOCOL_INFOW +#define WSASocket WSASocketW +#else +#define SO_PROTOCOL_INFO SO_PROTOCOL_INFOA +#define WSAPROTOCOL_INFO WSAPROTOCOL_INFOA +#define LPWSAPROTOCOL_INFO LPWSAPROTOCOL_INFOA +#define WSASocket WSASocketA +#endif /* UNICODE */ + +#ifdef __cplusplus +} +#endif +#endif + diff --git a/winsup/w32api/include/winspool.h b/winsup/w32api/include/winspool.h new file mode 100644 index 000000000..7d9f280e1 --- /dev/null +++ b/winsup/w32api/include/winspool.h @@ -0,0 +1,776 @@ +#ifndef _WINSPOOL_H +#define _WINSPOOL_H +#ifdef __cplusplus +extern "C" { +#endif +#define DI_CHANNEL 1 +#define DI_CHANNEL_WRITE 2 +#define DI_READ_SPOOL_JOB 3 +#define FORM_BUILTIN 1 +#define JOB_CONTROL_PAUSE 1 +#define JOB_CONTROL_RESUME 2 +#define JOB_CONTROL_CANCEL 3 +#define JOB_CONTROL_RESTART 4 +#define JOB_CONTROL_DELETE 5 +#define JOB_STATUS_PAUSED 1 +#define JOB_STATUS_ERROR 2 +#define JOB_STATUS_DELETING 4 +#define JOB_STATUS_SPOOLING 8 +#define JOB_STATUS_PRINTING 16 +#define JOB_STATUS_OFFLINE 32 +#define JOB_STATUS_PAPEROUT 0x40 +#define JOB_STATUS_PRINTED 0x80 +#define JOB_STATUS_DELETED 0x100 +#define JOB_STATUS_BLOCKED_DEVQ 0x200 +#define JOB_STATUS_USER_INTERVENTION 0x400 +#define JOB_POSITION_UNSPECIFIED 0 +#define JOB_NOTIFY_TYPE 1 +#define JOB_NOTIFY_FIELD_PRINTER_NAME 0 +#define JOB_NOTIFY_FIELD_MACHINE_NAME 1 +#define JOB_NOTIFY_FIELD_PORT_NAME 2 +#define JOB_NOTIFY_FIELD_USER_NAME 3 +#define JOB_NOTIFY_FIELD_NOTIFY_NAME 4 +#define JOB_NOTIFY_FIELD_DATATYPE 5 +#define JOB_NOTIFY_FIELD_PRINT_PROCESSOR 6 +#define JOB_NOTIFY_FIELD_PARAMETERS 7 +#define JOB_NOTIFY_FIELD_DRIVER_NAME 8 +#define JOB_NOTIFY_FIELD_DEVMODE 9 +#define JOB_NOTIFY_FIELD_STATUS 10 +#define JOB_NOTIFY_FIELD_STATUS_STRING 11 +#define JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR 12 +#define JOB_NOTIFY_FIELD_DOCUMENT 13 +#define JOB_NOTIFY_FIELD_PRIORITY 14 +#define JOB_NOTIFY_FIELD_POSITION 15 +#define JOB_NOTIFY_FIELD_SUBMITTED 16 +#define JOB_NOTIFY_FIELD_START_TIME 17 +#define JOB_NOTIFY_FIELD_UNTIL_TIME 18 +#define JOB_NOTIFY_FIELD_TIME 19 +#define JOB_NOTIFY_FIELD_TOTAL_PAGES 20 +#define JOB_NOTIFY_FIELD_PAGES_PRINTED 21 +#define JOB_NOTIFY_FIELD_TOTAL_BYTES 22 +#define JOB_NOTIFY_FIELD_BYTES_PRINTED 23 +#define JOB_ACCESS_ADMINISTER 16 +#define JOB_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|JOB_ACCESS_ADMINISTER) +#define JOB_READ (STANDARD_RIGHTS_READ| JOB_ACCESS_ADMINISTER) +#define JOB_WRITE (STANDARD_RIGHTS_WRITE|JOB_ACCESS_ADMINISTER) +#define JOB_EXECUTE (STANDARD_RIGHTS_EXECUTE|JOB_ACCESS_ADMINISTER) +#define PRINTER_NOTIFY_OPTIONS_REFRESH 1 +#define PRINTER_ACCESS_ADMINISTER 4 +#define PRINTER_ACCESS_USE 8 +#define PRINTER_ERROR_INFORMATION 0x80000000 +#define PRINTER_ERROR_WARNING 0x40000000 +#define PRINTER_ERROR_SEVERE 0x20000000 +#define PRINTER_ERROR_OUTOFPAPER 1 +#define PRINTER_ERROR_JAM 2 +#define PRINTER_ERROR_OUTOFTONER 4 +#define PRINTER_CONTROL_PAUSE 1 +#define PRINTER_CONTROL_RESUME 2 +#define PRINTER_CONTROL_PURGE 3 +#define PRINTER_CONTROL_SET_STATUS 4 +#define PRINTER_STATUS_PAUSED 1 +#define PRINTER_STATUS_ERROR 2 +#define PRINTER_STATUS_PENDING_DELETION 4 +#define PRINTER_STATUS_PAPER_JAM 8 +#define PRINTER_STATUS_PAPER_OUT 0x10 +#define PRINTER_STATUS_MANUAL_FEED 0x20 +#define PRINTER_STATUS_PAPER_PROBLEM 0x40 +#define PRINTER_STATUS_OFFLINE 0x80 +#define PRINTER_STATUS_IO_ACTIVE 0x100 +#define PRINTER_STATUS_BUSY 0x200 +#define PRINTER_STATUS_PRINTING 0x400 +#define PRINTER_STATUS_OUTPUT_BIN_FULL 0x800 +#define PRINTER_STATUS_NOT_AVAILABLE 0x1000 +#define PRINTER_STATUS_WAITING 0x2000 +#define PRINTER_STATUS_PROCESSING 0x4000 +#define PRINTER_STATUS_INITIALIZING 0x8000 +#define PRINTER_STATUS_WARMING_UP 0x10000 +#define PRINTER_STATUS_TONER_LOW 0x20000 +#define PRINTER_STATUS_NO_TONER 0x40000 +#define PRINTER_STATUS_PAGE_PUNT 0x80000 +#define PRINTER_STATUS_USER_INTERVENTION 0x100000 +#define PRINTER_STATUS_OUT_OF_MEMORY 0x200000 +#define PRINTER_STATUS_DOOR_OPEN 0x400000 +#define PRINTER_STATUS_SERVER_UNKNOWN 0x800000 +#define PRINTER_STATUS_POWER_SAVE 0x1000000 +#define PRINTER_ATTRIBUTE_QUEUED 1 +#define PRINTER_ATTRIBUTE_DIRECT 2 +#define PRINTER_ATTRIBUTE_DEFAULT 4 +#define PRINTER_ATTRIBUTE_SHARED 8 +#define PRINTER_ATTRIBUTE_NETWORK 0x10 +#define PRINTER_ATTRIBUTE_HIDDEN 0x20 +#define PRINTER_ATTRIBUTE_LOCAL 0x40 +#define PRINTER_ATTRIBUTE_ENABLE_DEVQ 0x80 +#define PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS 0x100 +#define PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST 0x200 +#define PRINTER_ATTRIBUTE_WORK_OFFLINE 0x400 +#define PRINTER_ATTRIBUTE_ENABLE_BIDI 0x800 +#define PRINTER_ENUM_DEFAULT 1 +#define PRINTER_ENUM_LOCAL 2 +#define PRINTER_ENUM_CONNECTIONS 4 +#define PRINTER_ENUM_FAVORITE 4 +#define PRINTER_ENUM_NAME 8 +#define PRINTER_ENUM_REMOTE 16 +#define PRINTER_ENUM_SHARED 32 +#define PRINTER_ENUM_NETWORK 0x40 +#define PRINTER_ENUM_EXPAND 0x4000 +#define PRINTER_ENUM_CONTAINER 0x8000 +#define PRINTER_ENUM_ICONMASK 0xff0000 +#define PRINTER_ENUM_ICON1 0x10000 +#define PRINTER_ENUM_ICON2 0x20000 +#define PRINTER_ENUM_ICON3 0x40000 +#define PRINTER_ENUM_ICON4 0x80000 +#define PRINTER_ENUM_ICON5 0x100000 +#define PRINTER_ENUM_ICON6 0x200000 +#define PRINTER_ENUM_ICON7 0x400000 +#define PRINTER_ENUM_ICON8 0x800000 +#define PRINTER_NOTIFY_TYPE 0 +#define PRINTER_NOTIFY_FIELD_SERVER_NAME 0 +#define PRINTER_NOTIFY_FIELD_PRINTER_NAME 1 +#define PRINTER_NOTIFY_FIELD_SHARE_NAME 2 +#define PRINTER_NOTIFY_FIELD_PORT_NAME 3 +#define PRINTER_NOTIFY_FIELD_DRIVER_NAME 4 +#define PRINTER_NOTIFY_FIELD_COMMENT 5 +#define PRINTER_NOTIFY_FIELD_LOCATION 6 +#define PRINTER_NOTIFY_FIELD_DEVMODE 7 +#define PRINTER_NOTIFY_FIELD_SEPFILE 8 +#define PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR 9 +#define PRINTER_NOTIFY_FIELD_PARAMETERS 10 +#define PRINTER_NOTIFY_FIELD_DATATYPE 11 +#define PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR 12 +#define PRINTER_NOTIFY_FIELD_ATTRIBUTES 13 +#define PRINTER_NOTIFY_FIELD_PRIORITY 14 +#define PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY 15 +#define PRINTER_NOTIFY_FIELD_START_TIME 16 +#define PRINTER_NOTIFY_FIELD_UNTIL_TIME 17 +#define PRINTER_NOTIFY_FIELD_STATUS 18 +#define PRINTER_NOTIFY_FIELD_STATUS_STRING 19 +#define PRINTER_NOTIFY_FIELD_CJOBS 20 +#define PRINTER_NOTIFY_FIELD_AVERAGE_PPM 21 +#define PRINTER_NOTIFY_FIELD_TOTAL_PAGES 22 +#define PRINTER_NOTIFY_FIELD_PAGES_PRINTED 23 +#define PRINTER_NOTIFY_FIELD_TOTAL_BYTES 24 +#define PRINTER_NOTIFY_FIELD_BYTES_PRINTED 25 +#define PRINTER_CHANGE_ADD_PRINTER 1 +#define PRINTER_CHANGE_SET_PRINTER 2 +#define PRINTER_CHANGE_DELETE_PRINTER 4 +#define PRINTER_CHANGE_FAILED_CONNECTION_PRINTER 8 +#define PRINTER_CHANGE_PRINTER 0xFF +#define PRINTER_CHANGE_ADD_JOB 0x100 +#define PRINTER_CHANGE_SET_JOB 0x200 +#define PRINTER_CHANGE_DELETE_JOB 0x400 +#define PRINTER_CHANGE_WRITE_JOB 0x800 +#define PRINTER_CHANGE_JOB 0xFF00 +#define PRINTER_CHANGE_ADD_FORM 0x10000 +#define PRINTER_CHANGE_SET_FORM 0x20000 +#define PRINTER_CHANGE_DELETE_FORM 0x40000 +#define PRINTER_CHANGE_FORM 0x70000 +#define PRINTER_CHANGE_ADD_PORT 0x100000 +#define PRINTER_CHANGE_CONFIGURE_PORT 0x200000 +#define PRINTER_CHANGE_DELETE_PORT 0x400000 +#define PRINTER_CHANGE_PORT 0x700000 +#define PRINTER_CHANGE_ADD_PRINT_PROCESSOR 0x1000000 +#define PRINTER_CHANGE_DELETE_PRINT_PROCESSOR 0x4000000 +#define PRINTER_CHANGE_PRINT_PROCESSOR 0x7000000 +#define PRINTER_CHANGE_ADD_PRINTER_DRIVER 0x10000000 +#define PRINTER_CHANGE_SET_PRINTER_DRIVER 0x20000000 +#define PRINTER_CHANGE_DELETE_PRINTER_DRIVER 0x40000000 +#define PRINTER_CHANGE_PRINTER_DRIVER 0x70000000 +#define PRINTER_CHANGE_TIMEOUT 0x80000000 +#define PRINTER_CHANGE_ALL 0x7777FFFF +#define PRINTER_NOTIFY_INFO_DISCARDED 1 +#define PRINTER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|PRINTER_ACCESS_ADMINISTER|PRINTER_ACCESS_USE) +#define PRINTER_READ (STANDARD_RIGHTS_READ|PRINTER_ACCESS_USE) +#define PRINTER_WRITE (STANDARD_RIGHTS_WRITE|PRINTER_ACCESS_USE) +#define PRINTER_EXECUTE (STANDARD_RIGHTS_EXECUTE|PRINTER_ACCESS_USE) +#define NO_PRIORITY 0 +#define MAX_PRIORITY 99 +#define MIN_PRIORITY 1 +#define DEF_PRIORITY 1 +#define PORT_TYPE_WRITE 1 +#define PORT_TYPE_READ 2 +#define PORT_TYPE_REDIRECTED 4 +#define PORT_TYPE_NET_ATTACHED 8 +#define SERVER_ACCESS_ADMINISTER 1 +#define SERVER_ACCESS_ENUMERATE 2 +#define SERVER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SERVER_ACCESS_ADMINISTER|SERVER_ACCESS_ENUMERATE) +#define SERVER_READ (STANDARD_RIGHTS_READ|SERVER_ACCESS_ENUMERATE) +#define SERVER_WRITE (STANDARD_RIGHTS_WRITE|SERVER_ACCESS_ADMINISTER|SERVER_ACCESS_ENUMERATE) +#define SERVER_EXECUTE (STANDARD_RIGHTS_EXECUTE|SERVER_ACCESS_ENUMERATE) +#define PORT_STATUS_TYPE_ERROR 1 +#define PORT_STATUS_TYPE_WARNING 2 +#define PORT_STATUS_TYPE_INFO 3 +#define PORT_STATUS_OFFLINE 1 +#define PORT_STATUS_PAPER_JAM 2 +#define PORT_STATUS_PAPER_OUT 3 +#define PORT_STATUS_OUTPUT_BIN_FULL 4 +#define PORT_STATUS_PAPER_PROBLEM 5 +#define PORT_STATUS_NO_TONER 6 +#define PORT_STATUS_DOOR_OPEN 7 +#define PORT_STATUS_USER_INTERVENTION 8 +#define PORT_STATUS_OUT_OF_MEMORY 9 +#define PORT_STATUS_TONER_LOW 10 +#define PORT_STATUS_WARMING_UP 11 +#define PORT_STATUS_POWER_SAVE 12 +#ifndef RC_INVOKED +typedef struct _ADDJOB_INFO_1A { + LPSTR Path; + DWORD JobId; +} ADDJOB_INFO_1A,*PADDJOB_INFO_1A,*LPADDJOB_INFO_1A; +typedef struct _ADDJOB_INFO_1W { + LPWSTR Path; + DWORD JobId; +} ADDJOB_INFO_1W,*PADDJOB_INFO_1W,*LPADDJOB_INFO_1W; +typedef struct _DATATYPES_INFO_1A{LPSTR pName;} DATATYPES_INFO_1A,*PDATATYPES_INFO_1A,*LPDATATYPES_INFO_1A; +typedef struct _DATATYPES_INFO_1W{LPWSTR pName;} DATATYPES_INFO_1W,*PDATATYPES_INFO_1W,*LPDATATYPES_INFO_1W; +typedef struct _JOB_INFO_1A { + DWORD JobId; + LPSTR pPrinterName; + LPSTR pMachineName; + LPSTR pUserName; + LPSTR pDocument; + LPSTR pDatatype; + LPSTR pStatus; + DWORD Status; + DWORD Priority; + DWORD Position; + DWORD TotalPages; + DWORD PagesPrinted; + SYSTEMTIME Submitted; +} JOB_INFO_1A,*PJOB_INFO_1A,*LPJOB_INFO_1A; +typedef struct _JOB_INFO_1W { + DWORD JobId; + LPWSTR pPrinterName; + LPWSTR pMachineName; + LPWSTR pUserName; + LPWSTR pDocument; + LPWSTR pDatatype; + LPWSTR pStatus; + DWORD Status; + DWORD Priority; + DWORD Position; + DWORD TotalPages; + DWORD PagesPrinted; + SYSTEMTIME Submitted; +} JOB_INFO_1W,*PJOB_INFO_1W,*LPJOB_INFO_1W; +typedef struct _JOB_INFO_2A { + DWORD JobId; + LPSTR pPrinterName; + LPSTR pMachineName; + LPSTR pUserName; + LPSTR pDocument; + LPSTR pNotifyName; + LPSTR pDatatype; + LPSTR pPrintProcessor; + LPSTR pParameters; + LPSTR pDriverName; + LPDEVMODEA pDevMode; + LPSTR pStatus; + PSECURITY_DESCRIPTOR pSecurityDescriptor; + DWORD Status; + DWORD Priority; + DWORD Position; + DWORD StartTime; + DWORD UntilTime; + DWORD TotalPages; + DWORD Size; + SYSTEMTIME Submitted; + DWORD Time; + DWORD PagesPrinted; +} JOB_INFO_2A,*PJOB_INFO_2A,*LPJOB_INFO_2A; +typedef struct _JOB_INFO_2W { + DWORD JobId; + LPWSTR pPrinterName; + LPWSTR pMachineName; + LPWSTR pUserName; + LPWSTR pDocument; + LPWSTR pNotifyName; + LPWSTR pDatatype; + LPWSTR pPrintProcessor; + LPWSTR pParameters; + LPWSTR pDriverName; + LPDEVMODEW pDevMode; + LPWSTR pStatus; + PSECURITY_DESCRIPTOR pSecurityDescriptor; + DWORD Status; + DWORD Priority; + DWORD Position; + DWORD StartTime; + DWORD UntilTime; + DWORD TotalPages; + DWORD Size; + SYSTEMTIME Submitted; + DWORD Time; + DWORD PagesPrinted; +} JOB_INFO_2W,*PJOB_INFO_2W,*LPJOB_INFO_2W; +typedef struct _DOC_INFO_1A { + LPSTR pDocName; + LPSTR pOutputFile; + LPSTR pDatatype; +} DOC_INFO_1A,*PDOC_INFO_1A,*LPDOC_INFO_1A; +typedef struct _DOC_INFO_1W { + LPWSTR pDocName; + LPWSTR pOutputFile; + LPWSTR pDatatype; +} DOC_INFO_1W,*PDOC_INFO_1W,*LPDOC_INFO_1W; +typedef struct _DOC_INFO_2A { + LPSTR pDocName; + LPSTR pOutputFile; + LPSTR pDatatype; + DWORD dwMode; + DWORD JobId; +} DOC_INFO_2A,*PDOC_INFO_2A,*LPDOC_INFO_2A; +typedef struct _DOC_INFO_2W { + LPWSTR pDocName; + LPWSTR pOutputFile; + LPWSTR pDatatype; + DWORD dwMode; + DWORD JobId; +} DOC_INFO_2W,*PDOC_INFO_2W,*LPDOC_INFO_2W; +typedef struct _DRIVER_INFO_1A {LPSTR pName;} DRIVER_INFO_1A,*PDRIVER_INFO_1A,*LPDRIVER_INFO_1A; +typedef struct _DRIVER_INFO_1W {LPWSTR pName;} DRIVER_INFO_1W,*PDRIVER_INFO_1W,*LPDRIVER_INFO_1W; +typedef struct _DRIVER_INFO_2A { + DWORD cVersion; + LPSTR pName; + LPSTR pEnvironment; + LPSTR pDriverPath; + LPSTR pDataFile; + LPSTR pConfigFile; +} DRIVER_INFO_2A,*PDRIVER_INFO_2A,*LPDRIVER_INFO_2A; +typedef struct _DRIVER_INFO_2W { + DWORD cVersion; + LPWSTR pName; + LPWSTR pEnvironment; + LPWSTR pDriverPath; + LPWSTR pDataFile; + LPWSTR pConfigFile; +} DRIVER_INFO_2W,*PDRIVER_INFO_2W,*LPDRIVER_INFO_2W; +typedef struct _DRIVER_INFO_3A { + DWORD cVersion; + LPSTR pName; + LPSTR pEnvironment; + LPSTR pDriverPath; + LPSTR pDataFile; + LPSTR pConfigFile; + LPSTR pHelpFile; + LPSTR pDependentFiles; + LPSTR pMonitorName; + LPSTR pDefaultDataType; +} DRIVER_INFO_3A,*PDRIVER_INFO_3A,*LPDRIVER_INFO_3A; +typedef struct _DRIVER_INFO_3W { + DWORD cVersion; + LPWSTR pName; + LPWSTR pEnvironment; + LPWSTR pDriverPath; + LPWSTR pDataFile; + LPWSTR pConfigFile; + LPWSTR pHelpFile; + LPWSTR pDependentFiles; + LPWSTR pMonitorName; + LPWSTR pDefaultDataType; +} DRIVER_INFO_3W,*PDRIVER_INFO_3W,*LPDRIVER_INFO_3W; +typedef struct _MONITOR_INFO_1A{LPSTR pName;} MONITOR_INFO_1A,*PMONITOR_INFO_1A,*LPMONITOR_INFO_1A; +typedef struct _MONITOR_INFO_1W{LPWSTR pName;} MONITOR_INFO_1W,*PMONITOR_INFO_1W,*LPMONITOR_INFO_1W; +typedef struct _PORT_INFO_1A {LPSTR pName;} PORT_INFO_1A,*PPORT_INFO_1A,*LPPORT_INFO_1A; +typedef struct _PORT_INFO_1W {LPWSTR pName;} PORT_INFO_1W,*PPORT_INFO_1W,*LPPORT_INFO_1W; +typedef struct _MONITOR_INFO_2A{ + LPSTR pName; + LPSTR pEnvironment; + LPSTR pDLLName; +} MONITOR_INFO_2A,*PMONITOR_INFO_2A,*LPMONITOR_INFO_2A; +typedef struct _MONITOR_INFO_2W{ + LPWSTR pName; + LPWSTR pEnvironment; + LPWSTR pDLLName; +} MONITOR_INFO_2W,*PMONITOR_INFO_2W,*LPMONITOR_INFO_2W; +typedef struct _PORT_INFO_2A { + LPSTR pPortName; + LPSTR pMonitorName; + LPSTR pDescription; + DWORD fPortType; + DWORD Reserved; +} PORT_INFO_2A,*PPORT_INFO_2A,*LPPORT_INFO_2A; +typedef struct _PORT_INFO_2W { + LPWSTR pPortName; + LPWSTR pMonitorName; + LPWSTR pDescription; + DWORD fPortType; + DWORD Reserved; +} PORT_INFO_2W,*PPORT_INFO_2W,*LPPORT_INFO_2W; +typedef struct _PORT_INFO_3A { + DWORD dwStatus; + LPSTR pszStatus; + DWORD dwSeverity; +} PORT_INFO_3A,*PPORT_INFO_3A,*LPPORT_INFO_3A; +typedef struct _PORT_INFO_3W { + DWORD dwStatus; + LPWSTR pszStatus; + DWORD dwSeverity; +} PORT_INFO_3W,*PPORT_INFO_3W,*LPPORT_INFO_3W; +typedef struct _PRINTER_INFO_1A { + DWORD Flags; + LPSTR pDescription; + LPSTR pName; + LPSTR pComment; +} PRINTER_INFO_1A,*PPRINTER_INFO_1A,*LPPRINTER_INFO_1A; +typedef struct _PRINTER_INFO_1W { + DWORD Flags; + LPWSTR pDescription; + LPWSTR pName; + LPWSTR pComment; +} PRINTER_INFO_1W,*PPRINTER_INFO_1W,*LPPRINTER_INFO_1W; +typedef struct _PRINTER_INFO_2A { + LPSTR pServerName; + LPSTR pPrinterName; + LPSTR pShareName; + LPSTR pPortName; + LPSTR pDriverName; + LPSTR pComment; + LPSTR pLocation; + LPDEVMODEA pDevMode; + LPSTR pSepFile; + LPSTR pPrintProcessor; + LPSTR pDatatype; + LPSTR pParameters; + PSECURITY_DESCRIPTOR pSecurityDescriptor; + DWORD Attributes; + DWORD Priority; + DWORD DefaultPriority; + DWORD StartTime; + DWORD UntilTime; + DWORD Status; + DWORD cJobs; + DWORD AveragePPM; +} PRINTER_INFO_2A,*PPRINTER_INFO_2A,*LPPRINTER_INFO_2A; +typedef struct _PRINTER_INFO_2W { + LPWSTR pServerName; + LPWSTR pPrinterName; + LPWSTR pShareName; + LPWSTR pPortName; + LPWSTR pDriverName; + LPWSTR pComment; + LPWSTR pLocation; + LPDEVMODEW pDevMode; + LPWSTR pSepFile; + LPWSTR pPrintProcessor; + LPWSTR pDatatype; + LPWSTR pParameters; + PSECURITY_DESCRIPTOR pSecurityDescriptor; + DWORD Attributes; + DWORD Priority; + DWORD DefaultPriority; + DWORD StartTime; + DWORD UntilTime; + DWORD Status; + DWORD cJobs; + DWORD AveragePPM; +} PRINTER_INFO_2W,*PPRINTER_INFO_2W,*LPPRINTER_INFO_2W; +typedef struct _PRINTER_INFO_3 { + PSECURITY_DESCRIPTOR pSecurityDescriptor; +} PRINTER_INFO_3,*PPRINTER_INFO_3,*LPPRINTER_INFO_3; +typedef struct _PRINTER_INFO_4A { + LPSTR pPrinterName; + LPSTR pServerName; + DWORD Attributes; +} PRINTER_INFO_4A,*PPRINTER_INFO_4A,*LPPRINTER_INFO_4A; +typedef struct _PRINTER_INFO_4W { + LPWSTR pPrinterName; + LPWSTR pServerName; + DWORD Attributes; +} PRINTER_INFO_4W,*PPRINTER_INFO_4W,*LPPRINTER_INFO_4W; +typedef struct _PRINTER_INFO_5A { + LPSTR pPrinterName; + LPSTR pPortName; + DWORD Attributes; + DWORD DeviceNotSelectedTimeout; + DWORD TransmissionRetryTimeout; +} PRINTER_INFO_5A,*PPRINTER_INFO_5A,*LPPRINTER_INFO_5A; +typedef struct _PRINTER_INFO_5W { + LPWSTR pPrinterName; + LPWSTR pPortName; + DWORD Attributes; + DWORD DeviceNotSelectedTimeout; + DWORD TransmissionRetryTimeout; +} PRINTER_INFO_5W,*PPRINTER_INFO_5W,*LPPRINTER_INFO_5W; +typedef struct _PRINTPROCESSOR_INFO_1A {LPSTR pName;} PRINTPROCESSOR_INFO_1A,*PPRINTPROCESSOR_INFO_1A,*LPPRINTPROCESSOR_INFO_1A; +typedef struct _PRINTPROCESSOR_INFO_1W {LPWSTR pName;} PRINTPROCESSOR_INFO_1W,*PPRINTPROCESSOR_INFO_1W,*LPPRINTPROCESSOR_INFO_1W; +typedef struct _PRINTER_NOTIFY_INFO_DATA { + WORD Type; + WORD Field; + DWORD Reserved; + DWORD Id; + union { + DWORD adwData[2]; + struct { + DWORD cbBuf; + PVOID pBuf; + } Data; + } NotifyData; +} PRINTER_NOTIFY_INFO_DATA,*PPRINTER_NOTIFY_INFO_DATA,*LPPRINTER_NOTIFY_INFO_DATA; +typedef struct _PRINTER_NOTIFY_INFO { + DWORD Version; + DWORD Flags; + DWORD Count; + PRINTER_NOTIFY_INFO_DATA aData[1]; +} PRINTER_NOTIFY_INFO,*PPRINTER_NOTIFY_INFO,*LPPRINTER_NOTIFY_INFO; +typedef struct _FORM_INFO_1A { + DWORD Flags; + LPSTR pName; + SIZEL Size; + RECTL ImageableArea; +} FORM_INFO_1A,*PFORM_INFO_1A,*LPFORM_INFO_1A; +typedef struct _FORM_INFO_1W { + DWORD Flags; + LPWSTR pName; + SIZEL Size; + RECTL ImageableArea; +} FORM_INFO_1W,*PFORM_INFO_1W,*LPFORM_INFO_1W; +typedef struct _PRINTER_DEFAULTSA { + LPSTR pDatatype; + LPDEVMODE pDevMode; + ACCESS_MASK DesiredAccess; +} PRINTER_DEFAULTSA,*PPRINTER_DEFAULTSA,*LPPRINTER_DEFAULTSA; +typedef struct _PRINTER_DEFAULTSW { + LPWSTR pDatatype; + LPDEVMODE pDevMode; + ACCESS_MASK DesiredAccess; +} PRINTER_DEFAULTSW,*PPRINTER_DEFAULTSW,*LPPRINTER_DEFAULTSW; + +BOOL WINAPI AbortPrinter(HANDLE); +BOOL WINAPI AddFormA(HANDLE,DWORD,PBYTE); +BOOL WINAPI AddFormW(HANDLE,DWORD,PBYTE); +BOOL WINAPI AddJobA(HANDLE,DWORD,PBYTE,DWORD,PDWORD); +BOOL WINAPI AddJobW(HANDLE,DWORD,PBYTE,DWORD,PDWORD); +BOOL WINAPI AddMonitorA(LPSTR,DWORD,PBYTE); +BOOL WINAPI AddMonitorW(LPWSTR,DWORD,PBYTE); +BOOL WINAPI AddPortA(LPSTR,HWND,LPSTR); +BOOL WINAPI AddPortW(LPWSTR,HWND,LPWSTR); +HANDLE WINAPI AddPrinterA(LPSTR,DWORD,PBYTE); +HANDLE WINAPI AddPrinterW(LPWSTR,DWORD,PBYTE); +BOOL WINAPI AddPrinterConnectionA(LPSTR); +BOOL WINAPI AddPrinterConnectionW(LPWSTR); +BOOL WINAPI AddPrinterDriverA(LPSTR,DWORD,PBYTE); +BOOL WINAPI AddPrinterDriverW(LPWSTR,DWORD,PBYTE); +BOOL WINAPI AddPrintProcessorA(LPSTR,LPSTR,LPSTR,LPSTR); +BOOL WINAPI AddPrintProcessorW(LPWSTR,LPWSTR,LPWSTR,LPWSTR); +BOOL WINAPI AddPrintProvidorA(LPSTR,DWORD,PBYTE); +BOOL WINAPI AddPrintProvidorW(LPWSTR,DWORD,PBYTE); +LONG WINAPI AdvancedDocumentPropertiesA(HWND,HANDLE,LPSTR,PDEVMODE,PDEVMODEA); +LONG WINAPI AdvancedDocumentPropertiesW(HWND,HANDLE,LPWSTR,PDEVMODE,PDEVMODEW); +BOOL WINAPI ClosePrinter(HANDLE); +BOOL WINAPI ConfigurePortA(LPSTR,HWND,LPSTR); +BOOL WINAPI ConfigurePortW(LPWSTR,HWND,LPWSTR); +HANDLE WINAPI ConnectToPrinterDlg(HWND,DWORD); +BOOL WINAPI DeleteFormA(HANDLE,LPSTR); +BOOL WINAPI DeleteFormW(HANDLE,LPWSTR); +BOOL WINAPI DeleteMonitorA(LPSTR,LPSTR,LPSTR); +BOOL WINAPI DeleteMonitorW(LPWSTR,LPWSTR,LPWSTR); +BOOL WINAPI DeletePortA(LPSTR,HWND,LPSTR); +BOOL WINAPI DeletePortW(LPWSTR,HWND,LPWSTR); +BOOL WINAPI DeletePrinter(HANDLE); +BOOL WINAPI DeletePrinterConnectionA(LPSTR); +BOOL WINAPI DeletePrinterConnectionW(LPWSTR); +DWORD WINAPI DeletePrinterDataA(HANDLE,LPSTR); +DWORD WINAPI DeletePrinterDataW(HANDLE,LPWSTR); +BOOL WINAPI DeletePrinterDriverA(LPSTR,LPSTR,LPSTR); +BOOL WINAPI DeletePrinterDriverW(LPWSTR,LPWSTR,LPWSTR); +BOOL WINAPI DeletePrintProcessorA(LPSTR,LPSTR,LPSTR); +BOOL WINAPI DeletePrintProcessorW(LPWSTR,LPWSTR,LPWSTR); +BOOL WINAPI DeletePrintProvidorA(LPSTR,LPSTR,LPSTR); +BOOL WINAPI DeletePrintProvidorW(LPWSTR,LPWSTR,LPWSTR); +LONG WINAPI DocumentPropertiesA(HWND,HANDLE,LPSTR,PDEVMODEA,PDEVMODEA,DWORD); +LONG WINAPI DocumentPropertiesW(HWND,HANDLE,LPWSTR,PDEVMODEA,PDEVMODEA,DWORD); +BOOL WINAPI EndDocPrinter(HANDLE); +BOOL WINAPI EndPagePrinter(HANDLE); +BOOL WINAPI EnumFormsA(HANDLE,DWORD,PBYTE,DWORD,PDWORD,PDWORD); +BOOL WINAPI EnumFormsW(HANDLE,DWORD,PBYTE,DWORD,PDWORD,PDWORD); +BOOL WINAPI EnumJobsA(HANDLE,DWORD,DWORD,DWORD,PBYTE,DWORD,PDWORD,PDWORD); +BOOL WINAPI EnumJobsW(HANDLE,DWORD,DWORD,DWORD,PBYTE,DWORD,PDWORD,PDWORD); +BOOL WINAPI EnumMonitorsA(LPSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD); +BOOL WINAPI EnumMonitorsW(LPWSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD); +BOOL WINAPI EnumPortsA(LPSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD); +BOOL WINAPI EnumPortsW(LPWSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD); +DWORD WINAPI EnumPrinterDataA(HANDLE,DWORD,LPSTR,DWORD,PDWORD,PDWORD,PBYTE,DWORD,PDWORD); +DWORD WINAPI EnumPrinterDataW(HANDLE,DWORD,LPWSTR,DWORD,PDWORD,PDWORD,PBYTE,DWORD,PDWORD); +BOOL WINAPI EnumPrinterDriversA(LPSTR,LPSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD); +BOOL WINAPI EnumPrinterDriversW(LPWSTR,LPWSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD); +BOOL WINAPI EnumPrintersA(DWORD,LPSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD); +BOOL WINAPI EnumPrintersW(DWORD,LPWSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD); +BOOL WINAPI EnumPrintProcessorDatatypesA(LPSTR,LPSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD); +BOOL WINAPI EnumPrintProcessorDatatypesW(LPWSTR,LPWSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD); +BOOL WINAPI EnumPrintProcessorsA(LPSTR,LPSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD); +BOOL WINAPI EnumPrintProcessorsW(LPWSTR,LPWSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD); +BOOL WINAPI FindClosePrinterChangeNotification(HANDLE); +HANDLE WINAPI FindFirstPrinterChangeNotification(HANDLE,DWORD,DWORD,PVOID); +HANDLE WINAPI FindNextPrinterChangeNotification(HANDLE,PDWORD,PVOID,PVOID*); +BOOL WINAPI FreePrinterNotifyInfo(PPRINTER_NOTIFY_INFO); +BOOL WINAPI GetFormA(HANDLE,LPSTR,DWORD,PBYTE,DWORD,PDWORD); +BOOL WINAPI GetFormW(HANDLE,LPWSTR,DWORD,PBYTE,DWORD,PDWORD); +BOOL WINAPI GetJobA(HANDLE,DWORD,DWORD,PBYTE,DWORD,PDWORD); +BOOL WINAPI GetJobW(HANDLE,DWORD,DWORD,PBYTE,DWORD,PDWORD); +BOOL WINAPI GetPrinterA(HANDLE,DWORD,PBYTE,DWORD,PDWORD); +BOOL WINAPI GetPrinterW(HANDLE,DWORD,PBYTE,DWORD,PDWORD); +DWORD WINAPI GetPrinterDataA(HANDLE,LPSTR,PDWORD,PBYTE,DWORD,PDWORD); +DWORD WINAPI GetPrinterDataW(HANDLE,LPWSTR,PDWORD,PBYTE,DWORD,PDWORD); +DWORD WINAPI GetPrinterDriverA(HANDLE,LPSTR,DWORD,PBYTE,DWORD,PDWORD); +DWORD WINAPI GetPrinterDriverW(HANDLE,LPWSTR,DWORD,PBYTE,DWORD,PDWORD); +DWORD WINAPI GetPrinterDriverDirectoryA(LPSTR,LPSTR,DWORD,PBYTE,DWORD,PDWORD); +DWORD WINAPI GetPrinterDriverDirectoryW(LPWSTR,LPWSTR,DWORD,PBYTE,DWORD,PDWORD); +DWORD WINAPI GetPrintProcessorDirectoryA(LPSTR,LPSTR,DWORD,PBYTE,DWORD,PDWORD); +DWORD WINAPI GetPrintProcessorDirectoryW(LPWSTR,LPWSTR,DWORD,PBYTE,DWORD,PDWORD); +BOOL WINAPI OpenPrinterA(LPSTR,PHANDLE,LPPRINTER_DEFAULTSA); +BOOL WINAPI OpenPrinterW(LPWSTR,PHANDLE,LPPRINTER_DEFAULTSW); +DWORD WINAPI PrinterMessageBoxA(HANDLE,DWORD,HWND,LPSTR,LPSTR,DWORD); +DWORD WINAPI PrinterMessageBoxW(HANDLE,DWORD,HWND,LPWSTR,LPWSTR,DWORD); +BOOL WINAPI PrinterProperties(HWND,HANDLE); +BOOL WINAPI ReadPrinter(HANDLE,PVOID,DWORD,PDWORD); +BOOL WINAPI ResetPrinterA(HANDLE,LPPRINTER_DEFAULTSA); +BOOL WINAPI ResetPrinterW(HANDLE,LPPRINTER_DEFAULTSW); +BOOL WINAPI ScheduleJob(HANDLE,DWORD); +BOOL WINAPI SetFormA(HANDLE,LPSTR,DWORD,PBYTE); +BOOL WINAPI SetFormW(HANDLE,LPWSTR,DWORD,PBYTE); +BOOL WINAPI SetJobA(HANDLE,DWORD,DWORD,PBYTE,DWORD); +BOOL WINAPI SetJobW(HANDLE,DWORD,DWORD,PBYTE,DWORD); +BOOL WINAPI SetPrinterA(HANDLE,DWORD,PBYTE,DWORD); +BOOL WINAPI SetPrinterW(HANDLE,DWORD,PBYTE,DWORD); +BOOL WINAPI SetPrinterDataA(HANDLE,LPSTR,DWORD,PBYTE,DWORD); +BOOL WINAPI SetPrinterDataW(HANDLE,LPWSTR,DWORD,PBYTE,DWORD); +DWORD WINAPI StartDocPrinterA(HANDLE,DWORD,PBYTE); +DWORD WINAPI StartDocPrinterW(HANDLE,DWORD,PBYTE); +BOOL WINAPI StartPagePrinter(HANDLE); +DWORD WINAPI WaitForPrinterChange(HANDLE,DWORD); +BOOL WINAPI WritePrinter(HANDLE,PVOID,DWORD,PDWORD); + +#ifdef UNICODE +typedef JOB_INFO_1W JOB_INFO_1,*PJOB_INFO_1,*LPJOB_INFO_1; +typedef JOB_INFO_2W JOB_INFO_2,*PJOB_INFO_2,*LPJOB_INFO_2; +typedef ADDJOB_INFO_1W ADDJOB_INFO_1,*PADDJOB_INFO_1,*LPADDJOB_INFO_1; +typedef DATATYPES_INFO_1W DATATYPES_INFO_1,*PDATATYPES_INFO_1,*LPDATATYPES_INFO_1; +typedef MONITOR_INFO_1W MONITOR_INFO_1,*PMONITOR_INFO_1,*LPMONITOR_INFO_1; +typedef MONITOR_INFO_2W MONITOR_INFO_2,*PMONITOR_INFO_2,*LPMONITOR_INFO_2; +typedef DOC_INFO_1W DOC_INFO_1,*PDOC_INFO_1,*LPDOC_INFO_1; +typedef DOC_INFO_2W DOC_INFO_2,*PDOC_INFO_2,*LPDOC_INFO_2; +typedef PORT_INFO_1W PORT_INFO_1,*PPORT_INFO_1,*LPPORT_INFO_1; +typedef PORT_INFO_2W PORT_INFO_2,*PPORT_INFO_2,*LPPORT_INFO_2; +typedef PORT_INFO_3W PORT_INFO_3,*PPORT_INFO_3,*LPPORT_INFO_3; +typedef DRIVER_INFO_2W DRIVER_INFO_2,*PDRIVER_INFO_2,*LPDRIVER_INFO_2; +typedef PRINTER_INFO_1W PRINTER_INFO_1,*PPRINTER_INFO_1,*LPPRINTER_INFO_1; +typedef PRINTER_INFO_2W PRINTER_INFO_2,*PPRINTER_INFO_2,*LPPRINTER_INFO_2; +typedef PRINTER_INFO_4W PRINTER_INFO_4,*PPRINTER_INFO_4,*LPPRINTER_INFO_4; +typedef PRINTER_INFO_5W PRINTER_INFO_5,*PPRINTER_INFO_5,*LPPRINTER_INFO_5; +typedef PRINTPROCESSOR_INFO_1W PRINTPROCESSOR_INFO_1,*PPRINTPROCESSOR_INFO_1,*LPPRINTPROCESSOR_INFO_1; +typedef FORM_INFO_1W FORM_INFO_1,*PFORM_INFO_1,*LPFORM_INFO_1; +typedef PRINTER_DEFAULTSW PRINTER_DEFAULTS,*PPRINTER_DEFAULTS,*LPPRINTER_DEFAULTS; +#define AddForm AddFormW +#define AddJob AddJobW +#define AddMonitor AddMonitorW +#define AddPort AddPortW +#define AddPrinter AddPrinterW +#define AddPrinterConnection AddPrinterConnectionW +#define AddPrinterDriver AddPrinterDriverW +#define AddPrintProcessor AddPrintProcessorW +#define AddPrintProvidor AddPrintProvidorW +#define AdvancedDocumentProperties AdvancedDocumentPropertiesW +#define ConfigurePort ConfigurePortW +#define DeleteForm DeleteFormW +#define DeleteMonitor DeleteMonitorW +#define DeletePort DeletePortW +#define DeletePrinterConnection DeletePrinterConnectionW +#define DeletePrinterData DeletePrinterDataW +#define DeletePrinterDriver DeletePrinterDriverW +#define DeletePrintProcessor DeletePrinterProcessorW +#define DeletePrintProvidor DeletePrinterProvidorW +#define DocumentProperties DocumentPropertiesW +#define EnumForms EnumFormsW +#define EnumJobs EnumJobsW +#define EnumMonitors EnumMonitorsW +#define EnumPorts EnumPortsW +#define EnumPrinterData EnumPrinterDataW +#define EnumPrinterDrivers EnumPrinterDriversW +#define EnumPrinters EnumPrintersW +#define EnumPrintProcessorDatatypes EnumPrintProcessorDatatypesW +#define EnumPrintProcessors EnumPrintProcessorsW +#define GetForm GetFormW +#define GetJob GetJobW +#define GetPrinter GetPrinterW +#define GetPrinterData GetPrinterDataW +#define GetPrinterDriver GetPrinterDriverW +#define GetPrinterDriverDirectory GetPrinterDriverDirectoryW +#define GetPrintProcessorDirectory GetPrintProcessorDirectoryW +#define OpenPrinter OpenPrinterW +#define PrinterMessageBox PrinterMessageBoxW +#define ResetPrinter ResetPrinterW +#define SetForm SetFormW +#define SetJob SetJobW +#define SetPrinter SetPrinterW +#define SetPrinterData SetPrinterDataW +#define StartDocPrinter StartDocPrinterW +#else +typedef JOB_INFO_1A JOB_INFO_1,*PJOB_INFO_1,*LPJOB_INFO_1; +typedef JOB_INFO_2A JOB_INFO_2,*PJOB_INFO_2,*LPJOB_INFO_2; +typedef ADDJOB_INFO_1A ADDJOB_INFO_1,*PADDJOB_INFO_1,*LPADDJOB_INFO_1; +typedef DATATYPES_INFO_1A DATATYPES_INFO_1,*PDATATYPES_INFO_1,*LPDATATYPES_INFO_1; +typedef MONITOR_INFO_1A MONITOR_INFO_1,*PMONITOR_INFO_1,*LPMONITOR_INFO_1; +typedef MONITOR_INFO_2A MONITOR_INFO_2,*PMONITOR_INFO_2,*LPMONITOR_INFO_2; +typedef DOC_INFO_1A DOC_INFO_1,*PDOC_INFO_1,*LPDOC_INFO_1; +typedef DOC_INFO_2A DOC_INFO_2,*PDOC_INFO_2,*LPDOC_INFO_2; +typedef PORT_INFO_1A PORT_INFO_1,*PPORT_INFO_1,*LPPORT_INFO_1; +typedef PORT_INFO_2A PORT_INFO_2,*PPORT_INFO_2,*LPPORT_INFO_2; +typedef PORT_INFO_3A PORT_INFO_3,*PPORT_INFO_3,*LPPORT_INFO_3; +typedef DRIVER_INFO_2A DRIVER_INFO_2,*PDRIVER_INFO_2,*LPDRIVER_INFO_2; +typedef PRINTER_INFO_1A PRINTER_INFO_1,*PPRINTER_INFO_1,*LPPRINTER_INFO_1; +typedef PRINTER_INFO_2A PRINTER_INFO_2,*PPRINTER_INFO_2,*LPPRINTER_INFO_2; +typedef PRINTER_INFO_4A PRINTER_INFO_4,*PPRINTER_INFO_4,*LPPRINTER_INFO_4; +typedef PRINTER_INFO_5A PRINTER_INFO_5,*PPRINTER_INFO_5,*LPPRINTER_INFO_5; +typedef PRINTPROCESSOR_INFO_1A PRINTPROCESSOR_INFO_1,*PPRINTPROCESSOR_INFO_1,*LPPRINTPROCESSOR_INFO_1; +typedef FORM_INFO_1A FORM_INFO_1,*PFORM_INFO_1,*LPFORM_INFO_1; +typedef PRINTER_DEFAULTSA PRINTER_DEFAULTS,*PPRINTER_DEFAULTS,*LPPRINTER_DEFAULTS; +#define AddForm AddFormA +#define AddJob AddJobA +#define AddMonitor AddMonitorA +#define AddPort AddPortA +#define AddPrinter AddPrinterA +#define AddPrinterConnection AddPrinterConnectionA +#define AddPrinterDriver AddPrinterDriverA +#define AddPrintProcessor AddPrintProcessorA +#define AddPrintProvidor AddPrintProvidorA +#define AdvancedDocumentProperties AdvancedDocumentPropertiesA +#define ConfigurePort ConfigurePortA +#define DeleteForm DeleteFormA +#define DeleteMonitor DeleteMonitorA +#define DeletePort DeletePortA +#define DeletePrinterConnection DeletePrinterConnectionA +#define DeletePrinterData DeletePrinterDataA +#define DeletePrinterDriver DeletePrinterDriverA +#define DeletePrintProcessor DeletePrinterProcessorA +#define DeletePrintProvidor DeletePrinterProvidorA +#define DocumentProperties DocumentPropertiesA +#define EnumForms EnumFormsA +#define EnumJobs EnumJobsA +#define EnumMonitors EnumMonitorsA +#define EnumPorts EnumPortsA +#define EnumPrinterData EnumPrinterDataA +#define EnumPrinterDrivers EnumPrinterDriversA +#define EnumPrinters EnumPrintersA +#define EnumPrintProcessorDatatypes EnumPrintProcessorDatatypesA +#define EnumPrintProcessors EnumPrintProcessorsA +#define GetForm GetFormA +#define GetJob GetJobA +#define GetPrinter GetPrinterA +#define GetPrinterData GetPrinterDataA +#define GetPrinterDriver GetPrinterDriverA +#define GetPrinterDriverDirectory GetPrinterDriverDirectoryA +#define GetPrintProcessorDirectory GetPrintProcessorDirectoryA +#define OpenPrinter OpenPrinterA +#define PrinterMessageBox PrinterMessageBoxA +#define ResetPrinter ResetPrinterA +#define SetForm SetFormA +#define SetJob SetJobA +#define SetPrinter SetPrinterA +#define SetPrinterData SetPrinterDataA +#define StartDocPrinter StartDocPrinterA +#endif +#endif /* RC_INVOKED */ +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/winsvc.h b/winsup/w32api/include/winsvc.h new file mode 100644 index 000000000..11b136145 --- /dev/null +++ b/winsup/w32api/include/winsvc.h @@ -0,0 +1,202 @@ +#ifndef _WINSVC_H +#define _WINSVC_H +#ifdef __cplusplus +extern "C" { +#endif +#define SERVICES_ACTIVE_DATABASEA "ServicesActive" +#define SERVICES_ACTIVE_DATABASEW L"ServicesActive" +#define SERVICES_FAILED_DATABASEA "ServicesFailed" +#define SERVICES_FAILED_DATABASEW L"ServicesFailed" +#define SC_GROUP_IDENTIFIERA '+' +#define SC_GROUP_IDENTIFIERW L'+' +#define SC_MANAGER_ALL_ACCESS 0xf003f +#define SC_MANAGER_CONNECT 1 +#define SC_MANAGER_CREATE_SERVICE 2 +#define SC_MANAGER_ENUMERATE_SERVICE 4 +#define SC_MANAGER_LOCK 8 +#define SC_MANAGER_QUERY_LOCK_STATUS 16 +#define SC_MANAGER_MODIFY_BOOT_CONFIG 32 +#define SERVICE_NO_CHANGE (-1) +#define SERVICE_STOPPED 1 +#define SERVICE_START_PENDING 2 +#define SERVICE_STOP_PENDING 3 +#define SERVICE_RUNNING 4 +#define SERVICE_CONTINUE_PENDING 5 +#define SERVICE_PAUSE_PENDING 6 +#define SERVICE_PAUSED 7 +#define SERVICE_ACCEPT_STOP 1 +#define SERVICE_ACCEPT_PAUSE_CONTINUE 2 +#define SERVICE_ACCEPT_SHUTDOWN 4 +#define SERVICE_CONTROL_STOP 1 +#define SERVICE_CONTROL_PAUSE 2 +#define SERVICE_CONTROL_CONTINUE 3 +#define SERVICE_CONTROL_INTERROGATE 4 +#define SERVICE_CONTROL_SHUTDOWN 5 +#define SERVICE_ACTIVE 1 +#define SERVICE_INACTIVE 2 +#define SERVICE_STATE_ALL 3 +#define SERVICE_QUERY_CONFIG 1 +#define SERVICE_CHANGE_CONFIG 2 +#define SERVICE_QUERY_STATUS 4 +#define SERVICE_ENUMERATE_DEPENDENTS 8 +#define SERVICE_START 16 +#define SERVICE_STOP 32 +#define SERVICE_PAUSE_CONTINUE 64 +#define SERVICE_INTERROGATE 128 +#define SERVICE_USER_DEFINED_CONTROL 256 +#define SERVICE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SERVICE_QUERY_CONFIG|SERVICE_CHANGE_CONFIG|SERVICE_QUERY_STATUS|SERVICE_ENUMERATE_DEPENDENTS|SERVICE_START|SERVICE_STOP|SERVICE_PAUSE_CONTINUE|SERVICE_INTERROGATE|SERVICE_USER_DEFINED_CONTROL) + + +typedef struct _SERVICE_STATUS { + DWORD dwServiceType; + DWORD dwCurrentState; + DWORD dwControlsAccepted; + DWORD dwWin32ExitCode; + DWORD dwServiceSpecificExitCode; + DWORD dwCheckPoint; + DWORD dwWaitHint; +} SERVICE_STATUS,*LPSERVICE_STATUS; +typedef struct _ENUM_SERVICE_STATUSA { + LPSTR lpServiceName; + LPSTR lpDisplayName; + SERVICE_STATUS ServiceStatus; +} ENUM_SERVICE_STATUSA,*LPENUM_SERVICE_STATUSA; +typedef struct _ENUM_SERVICE_STATUSW { + LPWSTR lpServiceName; + LPWSTR lpDisplayName; + SERVICE_STATUS ServiceStatus; +} ENUM_SERVICE_STATUSW,*LPENUM_SERVICE_STATUSW; +typedef struct _QUERY_SERVICE_CONFIGA { + DWORD dwServiceType; + DWORD dwStartType; + DWORD dwErrorControl; + LPSTR lpBinaryPathName; + LPSTR lpLoadOrderGroup; + DWORD dwTagId; + LPSTR lpDependencies; + LPSTR lpServiceStartName; + LPSTR lpDisplayName; +} QUERY_SERVICE_CONFIGA,*LPQUERY_SERVICE_CONFIGA; +typedef struct _QUERY_SERVICE_CONFIGW { + DWORD dwServiceType; + DWORD dwStartType; + DWORD dwErrorControl; + LPWSTR lpBinaryPathName; + LPWSTR lpLoadOrderGroup; + DWORD dwTagId; + LPWSTR lpDependencies; + LPWSTR lpServiceStartName; + LPWSTR lpDisplayName; +} QUERY_SERVICE_CONFIGW,*LPQUERY_SERVICE_CONFIGW; +typedef struct _QUERY_SERVICE_LOCK_STATUSA { + DWORD fIsLocked; + LPSTR lpLockOwner; + DWORD dwLockDuration; +} QUERY_SERVICE_LOCK_STATUSA,*LPQUERY_SERVICE_LOCK_STATUSA; +typedef struct _QUERY_SERVICE_LOCK_STATUSW { + DWORD fIsLocked; + LPWSTR lpLockOwner; + DWORD dwLockDuration; +} QUERY_SERVICE_LOCK_STATUSW,*LPQUERY_SERVICE_LOCK_STATUSW; +typedef void (WINAPI *LPSERVICE_MAIN_FUNCTIONA)(DWORD,LPSTR*); +typedef void (WINAPI *LPSERVICE_MAIN_FUNCTIONW)(DWORD,LPWSTR*); +typedef struct _SERVICE_TABLE_ENTRYA { + LPSTR lpServiceName; + LPSERVICE_MAIN_FUNCTIONA lpServiceProc; +} SERVICE_TABLE_ENTRYA,*LPSERVICE_TABLE_ENTRYA; +typedef struct _SERVICE_TABLE_ENTRYW { + LPWSTR lpServiceName; + LPSERVICE_MAIN_FUNCTIONW lpServiceProc; +} SERVICE_TABLE_ENTRYW,*LPSERVICE_TABLE_ENTRYW; +DECLARE_HANDLE(SC_HANDLE); +typedef SC_HANDLE *LPSC_HANDLE; +typedef PVOID SC_LOCK; +typedef DWORD SERVICE_STATUS_HANDLE; +typedef VOID(WINAPI *LPHANDLER_FUNCTION)(DWORD); + +BOOL WINAPI ChangeServiceConfigA(SC_HANDLE,DWORD,DWORD,DWORD,LPCSTR,LPCSTR,LPDWORD,LPCSTR,LPCSTR,LPCSTR,LPCSTR); +BOOL WINAPI ChangeServiceConfigW(SC_HANDLE,DWORD,DWORD,DWORD,LPCWSTR,LPCWSTR,LPDWORD,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR); +BOOL WINAPI CloseServiceHandle(SC_HANDLE); +BOOL WINAPI ControlService(SC_HANDLE,DWORD,LPSERVICE_STATUS); +SC_HANDLE WINAPI CreateServiceA(SC_HANDLE,LPCSTR,LPCSTR,DWORD,DWORD,DWORD,DWORD,LPCSTR,LPCSTR,PDWORD,LPCSTR,LPCSTR,LPCSTR); +SC_HANDLE WINAPI CreateServiceW(SC_HANDLE,LPCWSTR,LPCWSTR,DWORD,DWORD,DWORD,DWORD,LPCWSTR,LPCWSTR,PDWORD,LPCWSTR,LPCWSTR,LPCWSTR); +BOOL WINAPI DeleteService(SC_HANDLE); +BOOL WINAPI EnumDependentServicesA(SC_HANDLE,DWORD,LPENUM_SERVICE_STATUSA,DWORD,PDWORD,PDWORD); +BOOL WINAPI EnumDependentServicesW(SC_HANDLE,DWORD,LPENUM_SERVICE_STATUSW,DWORD,PDWORD,PDWORD); +BOOL WINAPI EnumServicesStatusA(SC_HANDLE,DWORD,DWORD,LPENUM_SERVICE_STATUSA,DWORD,PDWORD,PDWORD,PDWORD); +BOOL WINAPI EnumServicesStatusW(SC_HANDLE,DWORD,DWORD,LPENUM_SERVICE_STATUSW,DWORD,PDWORD,PDWORD,PDWORD); +BOOL WINAPI GetServiceDisplayNameA(SC_HANDLE,LPCSTR,LPSTR,PDWORD); +BOOL WINAPI GetServiceDisplayNameW(SC_HANDLE,LPCWSTR,LPWSTR,PDWORD); +BOOL WINAPI GetServiceKeyNameA(SC_HANDLE,LPCSTR,LPSTR,PDWORD); +BOOL WINAPI GetServiceKeyNameW(SC_HANDLE,LPCWSTR,LPWSTR,PDWORD); +SC_LOCK WINAPI LockServiceDatabase(SC_HANDLE); +BOOL WINAPI NotifyBootConfigStatus(BOOL); +SC_HANDLE WINAPI OpenSCManagerA(LPCSTR,LPCSTR,DWORD); +SC_HANDLE WINAPI OpenSCManagerW(LPCWSTR,LPCWSTR,DWORD); +SC_HANDLE WINAPI OpenServiceA(SC_HANDLE,LPCSTR,DWORD); +SC_HANDLE WINAPI OpenServiceW(SC_HANDLE,LPCWSTR,DWORD); +BOOL WINAPI QueryServiceConfigA(SC_HANDLE,LPQUERY_SERVICE_CONFIGA,DWORD,PDWORD); +BOOL WINAPI QueryServiceConfigW(SC_HANDLE,LPQUERY_SERVICE_CONFIGW,DWORD,PDWORD); +BOOL WINAPI QueryServiceLockStatusA(SC_HANDLE,LPQUERY_SERVICE_LOCK_STATUSA,DWORD,PDWORD); +BOOL WINAPI QueryServiceLockStatusW(SC_HANDLE,LPQUERY_SERVICE_LOCK_STATUSW,DWORD,PDWORD); +BOOL WINAPI QueryServiceObjectSecurity(SC_HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,LPDWORD); +BOOL WINAPI QueryServiceStatus(SC_HANDLE,LPSERVICE_STATUS); +SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerA(LPCSTR,LPHANDLER_FUNCTION); +SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerW(LPCWSTR,LPHANDLER_FUNCTION); +BOOL WINAPI SetServiceObjectSecurity(SC_HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR); +BOOL WINAPI SetServiceStatus(SERVICE_STATUS_HANDLE,LPSERVICE_STATUS); +BOOL WINAPI StartServiceA(SC_HANDLE,DWORD,LPCSTR*); +BOOL WINAPI StartServiceCtrlDispatcherA(LPSERVICE_TABLE_ENTRYA); +BOOL WINAPI StartServiceCtrlDispatcherW(LPSERVICE_TABLE_ENTRYW); +BOOL WINAPI StartServiceW(SC_HANDLE,DWORD,LPCWSTR); +BOOL WINAPI UnlockServiceDatabase(SC_LOCK); + +#ifdef UNICODE +typedef ENUM_SERVICE_STATUSW ENUM_SERVICE_STATUS,*LPENUM_SERVICE_STATUS; +typedef QUERY_SERVICE_CONFIGW QUERY_SERVICE_CONFIG,*LPQUERY_SERVICE_CONFIG; +typedef QUERY_SERVICE_LOCK_STATUSW QUERY_SERVICE_LOCK_STATUS,*LPQUERY_SERVICE_LOCK_STATUS; +typedef SERVICE_TABLE_ENTRYW SERVICE_TABLE_ENTRY,*LPSERVICE_TABLE_ENTRY; +typedef LPSERVICE_MAIN_FUNCTIONW LPSERVICE_MAIN_FUNCTION; +#define SERVICES_ACTIVE_DATABASE SERVICES_ACTIVE_DATABASEW +#define SERVICES_FAILED_DATABASE SERVICES_FAILED_DATABASEW +#define SC_GROUP_IDENTIFIER SC_GROUP_IDENTIFIERW +#define ChangeServiceConfig ChangeServiceConfigW +#define CreateService CreateServiceW +#define EnumDependentServices EnumDependentServicesW +#define EnumServicesStatus EnumServicesStatusW +#define GetServiceDisplayName GetServiceDisplayNameW +#define GetServiceKeyName GetServiceKeyNameW +#define OpenSCManager OpenSCManagerW +#define OpenService OpenServiceW +#define QueryServiceConfig QueryServiceConfigW +#define QueryServiceLockStatus QueryServiceLockStatusW +#define RegisterServiceCtrlHandler RegisterServiceCtrlHandlerW +#define StartService StartServiceW +#define StartServiceCtrlDispatcher StartServiceCtrlDispatcherW +#else +typedef ENUM_SERVICE_STATUSA ENUM_SERVICE_STATUS,*LPENUM_SERVICE_STATUS; +typedef QUERY_SERVICE_CONFIGA QUERY_SERVICE_CONFIG,*LPQUERY_SERVICE_CONFIG; +typedef QUERY_SERVICE_LOCK_STATUSA QUERY_SERVICE_LOCK_STATUS,*LPQUERY_SERVICE_LOCK_STATUS; +typedef SERVICE_TABLE_ENTRYA SERVICE_TABLE_ENTRY,*LPSERVICE_TABLE_ENTRY; +typedef LPSERVICE_MAIN_FUNCTIONA LPSERVICE_MAIN_FUNCTION; +#define SERVICES_ACTIVE_DATABASE SERVICES_ACTIVE_DATABASEA +#define SERVICES_FAILED_DATABASE SERVICES_FAILED_DATABASEA +#define SC_GROUP_IDENTIFIER SC_GROUP_IDENTIFIERA +#define ChangeServiceConfig ChangeServiceConfigA +#define CreateService CreateServiceA +#define EnumDependentServices EnumDependentServicesA +#define EnumServicesStatus EnumServicesStatusA +#define GetServiceDisplayName GetServiceDisplayNameA +#define GetServiceKeyName GetServiceKeyNameA +#define OpenSCManager OpenSCManagerA +#define OpenService OpenServiceA +#define QueryServiceConfig QueryServiceConfigA +#define QueryServiceLockStatus QueryServiceLockStatusA +#define RegisterServiceCtrlHandler RegisterServiceCtrlHandlerA +#define StartService StartServiceA +#define StartServiceCtrlDispatcher StartServiceCtrlDispatcherA +#endif +#ifdef __cplusplus +} +#endif +#endif /* _WINSVC_H */ diff --git a/winsup/w32api/include/winuser.h b/winsup/w32api/include/winuser.h new file mode 100644 index 000000000..8c2fe7d41 --- /dev/null +++ b/winsup/w32api/include/winuser.h @@ -0,0 +1,3236 @@ +#ifndef _WINUSER_H +#define _WINUSER_H +#ifdef __cplusplus +extern "C" { +#endif +#define WC_DIALOG MAKEINTATOM(0x8002) +#define FALT 16 +#define FCONTROL 8 +#define FNOINVERT 2 +#define FSHIFT 4 +#define FVIRTKEY 1 +#define ATF_TIMEOUTON 1 +#define ATF_ONOFFFEEDBACK 2 +#define WH_MIN (-1) +#define WH_MSGFILTER (-1) +#define WH_JOURNALRECORD 0 +#define WH_JOURNALPLAYBACK 1 +#define WH_KEYBOARD 2 +#define WH_GETMESSAGE 3 +#define WH_CALLWNDPROC 4 +#define WH_CBT 5 +#define WH_SYSMSGFILTER 6 +#define WH_MOUSE 7 +#define WH_HARDWARE 8 +#define WH_DEBUG 9 +#define WH_SHELL 10 +#define WH_FOREGROUNDIDLE 11 +#define WH_CALLWNDPROCRET 12 +#define WH_KEYBOARD_LL 13 +#define WH_MOUSE_LL 14 +#define WH_MAX 14 +#define WH_MINHOOK WH_MIN +#define WH_MAXHOOK WH_MAX +#define HC_ACTION 0 +#define HC_GETNEXT 1 +#define HC_SKIP 2 +#define HC_NOREMOVE 3 +#define HC_NOREM 3 +#define HC_SYSMODALON 4 +#define HC_SYSMODALOFF 5 +#define HCBT_MOVESIZE 0 +#define HCBT_MINMAX 1 +#define HCBT_QS 2 +#define HCBT_CREATEWND 3 +#define HCBT_DESTROYWND 4 +#define HCBT_ACTIVATE 5 +#define HCBT_CLICKSKIPPED 6 +#define HCBT_KEYSKIPPED 7 +#define HCBT_SYSCOMMAND 8 +#define HCBT_SETFOCUS 9 +#define CF_TEXT 1 +#define CF_BITMAP 2 +#define CF_METAFILEPICT 3 +#define CF_SYLK 4 +#define CF_DIF 5 +#define CF_TIFF 6 +#define CF_OEMTEXT 7 +#define CF_DIB 8 +#define CF_PALETTE 9 +#define CF_PENDATA 10 +#define CF_RIFF 11 +#define CF_WAVE 12 +#define CF_UNICODETEXT 13 +#define CF_ENHMETAFILE 14 +#define CF_HDROP 15 +#define CF_LOCALE 16 +#define CF_MAX 17 +#define CF_OWNERDISPLAY 128 +#define CF_DSPTEXT 129 +#define CF_DSPBITMAP 130 +#define CF_DSPMETAFILEPICT 131 +#define CF_DSPENHMETAFILE 142 +#define CF_PRIVATEFIRST 512 +#define CF_PRIVATELAST 767 +#define CF_GDIOBJFIRST 768 +#define CF_GDIOBJLAST 1023 +#define HKL_NEXT 1 +#define HKL_PREV 0 +#define KLF_ACTIVATE 1 +#define KLF_SUBSTITUTE_OK 2 +#define KLF_UNLOADPREVIOUS 4 +#define KLF_REORDER 8 +#define KLF_REPLACELANG 16 +#define KLF_NOTELLSHELL 128 +#define KLF_SETFORPROCESS 256 +#define KL_NAMELENGTH 9 +#define MF_ENABLED 0 +#define MF_GRAYED 1 +#define MF_DISABLED 2 +#define MF_BITMAP 4 +#define MF_CHECKED 8 +#define MF_MENUBARBREAK 32 +#define MF_MENUBREAK 64 +#define MF_OWNERDRAW 256 +#define MF_POPUP 16 +#define MF_SEPARATOR 0x800 +#define MF_STRING 0 +#define MF_UNCHECKED 0 +#define MF_DEFAULT 4096 +#define MF_SYSMENU 0x2000 +#define MF_HELP 0x4000 +#define MF_END 128 +#define MF_RIGHTJUSTIFY 0x4000 +#define MF_MOUSESELECT 0x8000 +#define MF_INSERT 0 +#define MF_CHANGE 128 +#define MF_APPEND 256 +#define MF_DELETE 512 +#define MF_REMOVE 4096 +#define MF_USECHECKBITMAPS 512 +#define MF_UNHILITE 0 +#define MF_HILITE 128 +#define BSF_IGNORECURRENTTASK 2 +#define BSF_QUERY 1 +#define BSF_FLUSHDISK 4 +#define BSF_NOHANG 8 +#define BSF_POSTMESSAGE 16 +#define BSF_FORCEIFHUNG 32 +#define BSF_NOTIMEOUTIFNOTHUNG 64 +#define BSM_ALLCOMPONENTS 0 +#define BSM_APPLICATIONS 8 +#define BSM_ALLDESKTOPS 16 +#define BSM_INSTALLABLEDRIVERS 4 +#define BSM_NETDRIVER 2 +#define BSM_VXDS 1 +#define BROADCAST_QUERY_DENY 1112363332 +#define DM_BITSPERPEL 0x40000 +#define DM_PELSWIDTH 0x80000 +#define DM_PELSHEIGHT 0x100000 +#define DM_DISPLAYFLAGS 0x200000 +#define DM_DISPLAYFREQUENCY 0x400000 +#define CDS_UPDATEREGISTRY 1 +#define CDS_TEST 2 +#define CDS_FULLSCREEN 4 +#define CDS_GLOBAL 8 +#define CDS_SET_PRIMARY 16 +#define CDS_RESET 0x40000000 +#define CDS_SETRECT 0x20000000 +#define CDS_NORESET 0x10000000 +#define DISP_CHANGE_SUCCESSFUL 0 +#define DISP_CHANGE_RESTART 1 +#define DISP_CHANGE_BADFLAGS (-4) +#define DISP_CHANGE_BADPARAM (-5) +#define DISP_CHANGE_FAILED (-1) +#define DISP_CHANGE_BADMODE (-2) +#define DISP_CHANGE_NOTUPDATED (-3) +#define BST_CHECKED 1 +#define BST_INDETERMINATE 2 +#define BST_UNCHECKED 0 +#define BST_FOCUS 8 +#define BST_PUSHED 4 +#define MF_BYCOMMAND 0 +#define MF_BYPOSITION 1024 +#define MF_UNCHECKED 0 +#define MF_HILITE 128 +#define MF_UNHILITE 0 +#define CWP_ALL 0 +#define CWP_SKIPINVISIBLE 1 +#define CWP_SKIPDISABLED 2 +#define CWP_SKIPTRANSPARENT 4 +#define IMAGE_BITMAP 0 +#define IMAGE_ICON 1 +#define IMAGE_CURSOR 2 +#define IMAGE_ENHMETAFILE 3 +#define DF_ALLOWOTHERACCOUNTHOOK 1 +#define DESKTOP_CREATEMENU 4 +#define DESKTOP_CREATEWINDOW 2 +#define DESKTOP_ENUMERATE 64 +#define DESKTOP_HOOKCONTROL 8 +#define DESKTOP_JOURNALPLAYBACK 32 +#define DESKTOP_JOURNALRECORD 16 +#define DESKTOP_READOBJECTS 1 +#define DESKTOP_SWITCHDESKTOP 256 +#define DESKTOP_WRITEOBJECTS 128 +#define CW_USEDEFAULT 0x80000000 +#define WS_BORDER 0x800000 +#define WS_CAPTION 0xc00000 +#define WS_CHILD 0x40000000 +#define WS_CHILDWINDOW 0x40000000 +#define WS_CLIPCHILDREN 0x2000000 +#define WS_CLIPSIBLINGS 0x4000000 +#define WS_DISABLED 0x8000000 +#define WS_DLGFRAME 0x400000 +#define WS_GROUP 0x20000 +#define WS_HSCROLL 0x100000 +#define WS_ICONIC 0x20000000 +#define WS_MAXIMIZE 0x1000000 +#define WS_MAXIMIZEBOX 0x10000 +#define WS_MINIMIZE 0x20000000 +#define WS_MINIMIZEBOX 0x20000 +#define WS_OVERLAPPED 0 +#define WS_OVERLAPPEDWINDOW 0xcf0000 +#define WS_POPUP 0x80000000 +#define WS_POPUPWINDOW 0x80880000 +#define WS_SIZEBOX 0x40000 +#define WS_SYSMENU 0x80000 +#define WS_TABSTOP 0x10000 +#define WS_THICKFRAME 0x40000 +#define WS_TILED 0 +#define WS_TILEDWINDOW 0xcf0000 +#define WS_VISIBLE 0x10000000 +#define WS_VSCROLL 0x200000 +#define MDIS_ALLCHILDSTYLES 1 +#define BS_3STATE 5 +#define BS_AUTO3STATE 6 +#define BS_AUTOCHECKBOX 3 +#define BS_AUTORADIOBUTTON 9 +#define BS_BITMAP 128 +#define BS_BOTTOM 0x800 +#define BS_CENTER 0x300 +#define BS_CHECKBOX 2 +#define BS_DEFPUSHBUTTON 1 +#define BS_GROUPBOX 7 +#define BS_ICON 64 +#define BS_LEFT 256 +#define BS_LEFTTEXT 32 +#define BS_MULTILINE 0x2000 +#define BS_NOTIFY 0x4000 +#define BS_OWNERDRAW 0xb +#define BS_PUSHBUTTON 0 +#define BS_PUSHLIKE 4096 +#define BS_RADIOBUTTON 4 +#define BS_RIGHT 512 +#define BS_RIGHTBUTTON 32 +#define BS_TEXT 0 +#define BS_TOP 0x400 +#define BS_USERBUTTON 8 +#define BS_VCENTER 0xc00 +#define BS_FLAT 0x8000 +#define CBS_AUTOHSCROLL 64 +#define CBS_DISABLENOSCROLL 0x800 +#define CBS_DROPDOWN 2 +#define CBS_DROPDOWNLIST 3 +#define CBS_HASSTRINGS 512 +#define CBS_LOWERCASE 0x4000 +#define CBS_NOINTEGRALHEIGHT 0x400 +#define CBS_OEMCONVERT 128 +#define CBS_OWNERDRAWFIXED 16 +#define CBS_OWNERDRAWVARIABLE 32 +#define CBS_SIMPLE 1 +#define CBS_SORT 256 +#define CBS_UPPERCASE 0x2000 +#define ES_AUTOHSCROLL 128 +#define ES_AUTOVSCROLL 64 +#define ES_CENTER 1 +#define ES_LEFT 0 +#define ES_LOWERCASE 16 +#define ES_MULTILINE 4 +#define ES_NOHIDESEL 256 +#define ES_NUMBER 0x2000 +#define ES_OEMCONVERT 0x400 +#define ES_PASSWORD 32 +#define ES_READONLY 0x800 +#define ES_RIGHT 2 +#define ES_UPPERCASE 8 +#define ES_WANTRETURN 4096 +#define LBS_DISABLENOSCROLL 4096 +#define LBS_EXTENDEDSEL 0x800 +#define LBS_HASSTRINGS 64 +#define LBS_MULTICOLUMN 512 +#define LBS_MULTIPLESEL 8 +#define LBS_NODATA 0x2000 +#define LBS_NOINTEGRALHEIGHT 256 +#define LBS_NOREDRAW 4 +#define LBS_NOSEL 0x4000 +#define LBS_NOTIFY 1 +#define LBS_OWNERDRAWFIXED 16 +#define LBS_OWNERDRAWVARIABLE 32 +#define LBS_SORT 2 +#define LBS_STANDARD 0xa00003 +#define LBS_USETABSTOPS 128 +#define LBS_WANTKEYBOARDINPUT 0x400 +#define SBS_BOTTOMALIGN 4 +#define SBS_HORZ 0 +#define SBS_LEFTALIGN 2 +#define SBS_RIGHTALIGN 4 +#define SBS_SIZEBOX 8 +#define SBS_SIZEBOXBOTTOMRIGHTALIGN 4 +#define SBS_SIZEBOXTOPLEFTALIGN 2 +#define SBS_SIZEGRIP 16 +#define SBS_TOPALIGN 2 +#define SBS_VERT 1 +#define SS_BITMAP 14 +#define SS_BLACKFRAME 7 +#define SS_BLACKRECT 4 +#define SS_CENTER 1 +#define SS_CENTERIMAGE 512 +#define SS_ENHMETAFILE 15 +#define SS_ETCHEDFRAME 18 +#define SS_ETCHEDHORZ 16 +#define SS_ETCHEDVERT 17 +#define SS_GRAYFRAME 8 +#define SS_GRAYRECT 5 +#define SS_ICON 3 +#define SS_LEFT 0 +#define SS_LEFTNOWORDWRAP 0xc +#define SS_NOPREFIX 128 +#define SS_NOTIFY 256 +#define SS_OWNERDRAW 0xd +#define SS_REALSIZEIMAGE 0x800 +#define SS_RIGHT 2 +#define SS_RIGHTJUST 0x400 +#define SS_SIMPLE 11 +#define SS_SUNKEN 4096 +#define SS_WHITEFRAME 9 +#define SS_WHITERECT 6 +#define SS_USERITEM 10 +#define DS_3DLOOK 4 +#define DS_ABSALIGN 1 +#define DS_CENTER 0x800 +#define DS_CENTERMOUSE 4096 +#define DS_CONTEXTHELP 0x2000 +#define DS_CONTROL 0x400 +#define DS_FIXEDSYS 8 +#define DS_LOCALEDIT 32 +#define DS_MODALFRAME 128 +#define DS_NOFAILCREATE 16 +#define DS_NOIDLEMSG 256 +#define DS_SETFONT 64 +#define DS_SETFOREGROUND 512 +#define DS_SYSMODAL 2 +#define WS_EX_ACCEPTFILES 16 +#define WS_EX_APPWINDOW 0x40000 +#define WS_EX_CLIENTEDGE 512 +#define WS_EX_CONTEXTHELP 0x400 +#define WS_EX_CONTROLPARENT 0x10000 +#define WS_EX_DLGMODALFRAME 1 +#define WS_EX_LEFT 0 +#define WS_EX_LEFTSCROLLBAR 0x4000 +#define WS_EX_LTRREADING 0 +#define WS_EX_MDICHILD 64 +#define WS_EX_NOPARENTNOTIFY 4 +#define WS_EX_OVERLAPPEDWINDOW 0x300 +#define WS_EX_PALETTEWINDOW 0x188 +#define WS_EX_RIGHT 0x1000 +#define WS_EX_RIGHTSCROLLBAR 0 +#define WS_EX_RTLREADING 0x2000 +#define WS_EX_STATICEDGE 0x20000 +#define WS_EX_TOOLWINDOW 128 +#define WS_EX_TOPMOST 8 +#define WS_EX_TRANSPARENT 32 +#define WS_EX_WINDOWEDGE 256 +#define WINSTA_ACCESSCLIPBOARD 4 +#define WINSTA_ACCESSGLOBALATOMS 32 +#define WINSTA_CREATEDESKTOP 8 +#define WINSTA_ENUMDESKTOPS 1 +#define WINSTA_ENUMERATE 256 +#define WINSTA_EXITWINDOWS 64 +#define WINSTA_READATTRIBUTES 2 +#define WINSTA_READSCREEN 512 +#define WINSTA_WRITEATTRIBUTES 16 +#define DDL_READWRITE 0 +#define DDL_READONLY 1 +#define DDL_HIDDEN 2 +#define DDL_SYSTEM 4 +#define DDL_DIRECTORY 16 +#define DDL_ARCHIVE 32 +#define DDL_POSTMSGS 8192 +#define DDL_DRIVES 16384 +#define DDL_EXCLUSIVE 32768 +#define DC_ACTIVE 1 +#define DC_SMALLCAP 2 +#define DC_ICON 4 +#define DC_TEXT 8 +#define DC_INBUTTON 16 +#define DC_CAPTION (DC_ICON|DC_TEXT|DC_BUTTONS) +#define DC_NC (DC_CAPTION|DC_FRAME) +#define BDR_RAISEDOUTER 1 +#define BDR_SUNKENOUTER 2 +#define BDR_RAISEDINNER 4 +#define BDR_SUNKENINNER 8 +#define BDR_OUTER 3 +#define BDR_INNER 0xc +#define BDR_RAISED 5 +#define BDR_SUNKEN 10 +#define EDGE_RAISED (BDR_RAISEDOUTER|BDR_RAISEDINNER) +#define EDGE_SUNKEN (BDR_SUNKENOUTER|BDR_SUNKENINNER) +#define EDGE_ETCHED (BDR_SUNKENOUTER|BDR_RAISEDINNER) +#define EDGE_BUMP (BDR_RAISEDOUTER|BDR_SUNKENINNER) +#define BF_LEFT 1 +#define BF_TOP 2 +#define BF_RIGHT 4 +#define BF_BOTTOM 8 +#define BF_TOPLEFT (BF_TOP|BF_LEFT) +#define BF_TOPRIGHT (BF_TOP|BF_RIGHT) +#define BF_BOTTOMLEFT (BF_BOTTOM|BF_LEFT) +#define BF_BOTTOMRIGHT (BF_BOTTOM|BF_RIGHT) +#define BF_RECT (BF_LEFT|BF_TOP|BF_RIGHT|BF_BOTTOM) +#define BF_DIAGONAL 16 +#define BF_DIAGONAL_ENDTOPRIGHT (BF_DIAGONAL|BF_TOP|BF_RIGHT) +#define BF_DIAGONAL_ENDTOPLEFT (BF_DIAGONAL|BF_TOP|BF_LEFT) +#define BF_DIAGONAL_ENDBOTTOMLEFT (BF_DIAGONAL|BF_BOTTOM|BF_LEFT) +#define BF_DIAGONAL_ENDBOTTOMRIGHT (BF_DIAGONAL|BF_BOTTOM|BF_RIGHT) +#define BF_MIDDLE 0x800 +#define BF_SOFT 0x1000 +#define BF_ADJUST 0x2000 +#define BF_FLAT 0x4000 +#define BF_MONO 0x8000 +#define DFC_CAPTION 1 +#define DFC_MENU 2 +#define DFC_SCROLL 3 +#define DFC_BUTTON 4 +#define DFCS_CAPTIONCLOSE 0 +#define DFCS_CAPTIONMIN 1 +#define DFCS_CAPTIONMAX 2 +#define DFCS_CAPTIONRESTORE 3 +#define DFCS_CAPTIONHELP 4 +#define DFCS_MENUARROW 0 +#define DFCS_MENUCHECK 1 +#define DFCS_MENUBULLET 2 +#define DFCS_MENUARROWRIGHT 4 +#define DFCS_SCROLLUP 0 +#define DFCS_SCROLLDOWN 1 +#define DFCS_SCROLLLEFT 2 +#define DFCS_SCROLLRIGHT 3 +#define DFCS_SCROLLCOMBOBOX 5 +#define DFCS_SCROLLSIZEGRIP 8 +#define DFCS_SCROLLSIZEGRIPRIGHT 16 +#define DFCS_BUTTONCHECK 0 +#define DFCS_BUTTONRADIOIMAGE 1 +#define DFCS_BUTTONRADIOMASK 2 +#define DFCS_BUTTONRADIO 4 +#define DFCS_BUTTON3STATE 8 +#define DFCS_BUTTONPUSH 16 +#define DFCS_INACTIVE 256 +#define DFCS_PUSHED 512 +#define DFCS_CHECKED 1024 +#define DFCS_ADJUSTRECT 0x2000 +#define DFCS_FLAT 0x4000 +#define DFCS_MONO 0x8000 +#define DST_COMPLEX 0 +#define DST_TEXT 1 +#define DST_PREFIXTEXT 2 +#define DST_ICON 3 +#define DST_BITMAP 4 +#define DSS_NORMAL 0 +#define DSS_UNION 16 +#define DSS_DISABLED 32 +#define DSS_MONO 128 +#define DSS_RIGHT 0x8000 +#define DT_BOTTOM 8 +#define DT_CALCRECT 1024 +#define DT_CENTER 1 +#define DT_EDITCONTROL 8192 +#define DT_END_ELLIPSIS 32768 +#define DT_PATH_ELLIPSIS 16384 +#define DT_WORD_ELLIPSIS 0x40000 +#define DT_EXPANDTABS 64 +#define DT_EXTERNALLEADING 512 +#define DT_LEFT 0 +#define DT_MODIFYSTRING 65536 +#define DT_NOCLIP 256 +#define DT_NOPREFIX 2048 +#define DT_RIGHT 2 +#define DT_RTLREADING 131072 +#define DT_SINGLELINE 32 +#define DT_TABSTOP 128 +#define DT_TOP 0 +#define DT_VCENTER 4 +#define DT_WORDBREAK 16 +#define DT_INTERNAL 4096 +#define WB_ISDELIMITER 2 +#define WB_LEFT 0 +#define WB_RIGHT 1 +#define SB_HORZ 0 +#define SB_VERT 1 +#define SB_CTL 2 +#define SB_BOTH 3 +#define ESB_DISABLE_BOTH 3 +#define ESB_DISABLE_DOWN 2 +#define ESB_DISABLE_LEFT 1 +#define ESB_DISABLE_LTUP 1 +#define ESB_DISABLE_RIGHT 2 +#define ESB_DISABLE_RTDN 2 +#define ESB_DISABLE_UP 1 +#define ESB_ENABLE_BOTH 0 +#define SB_LINEUP 0 +#define SB_LINEDOWN 1 +#define SB_LINELEFT 0 +#define SB_LINERIGHT 1 +#define SB_PAGEUP 2 +#define SB_PAGEDOWN 3 +#define SB_PAGELEFT 2 +#define SB_PAGERIGHT 3 +#define SB_THUMBPOSITION 4 +#define SB_THUMBTRACK 5 +#define SB_ENDSCROLL 8 +#define SB_LEFT 6 +#define SB_RIGHT 7 +#define SB_BOTTOM 7 +#define SB_TOP 6 +#define MAKEINTRESOURCEA(i) (LPSTR)((DWORD)((WORD)(i))) +#define MAKEINTRESOURCEW(i) (LPWSTR)((DWORD)((WORD)(i))) +#define RT_CURSOR MAKEINTRESOURCE(1) +#define RT_BITMAP MAKEINTRESOURCE(2) +#define RT_ICON MAKEINTRESOURCE(3) +#define RT_MENU MAKEINTRESOURCE(4) +#define RT_DIALOG MAKEINTRESOURCE(5) +#define RT_STRING MAKEINTRESOURCE(6) +#define RT_FONTDIR MAKEINTRESOURCE(7) +#define RT_FONT MAKEINTRESOURCE(8) +#define RT_ACCELERATOR MAKEINTRESOURCE(9) +#define RT_RCDATA MAKEINTRESOURCE(10) +#define RT_MESSAGETABLE MAKEINTRESOURCE(11) +#define DIFFERENCE 11 +#define RT_GROUP_CURSOR MAKEINTRESOURCE((DWORD)RT_CURSOR+DIFFERENCE) +#define RT_GROUP_ICON MAKEINTRESOURCE((DWORD)RT_ICON+DIFFERENCE) +#define RT_VERSION MAKEINTRESOURCE(16) +#define RT_DLGINCLUDE MAKEINTRESOURCE(17) +#define RT_PLUGPLAY MAKEINTRESOURCE(19) +#define RT_VXD MAKEINTRESOURCE(20) +#define RT_ANICURSOR MAKEINTRESOURCE(21) +#define RT_ANIICON MAKEINTRESOURCE(22) +#define RT_HTML MAKEINTRESOURCE(23) +#define EWX_FORCE 4 +#define EWX_LOGOFF 0 +#define EWX_POWEROFF 8 +#define EWX_REBOOT 2 +#define EWX_SHUTDOWN 1 +#define CS_BYTEALIGNCLIENT 4096 +#define CS_BYTEALIGNWINDOW 8192 +#define CS_KEYCVTWINDOW 4 +#define CS_NOKEYCVT 256 +#define CS_CLASSDC 64 +#define CS_DBLCLKS 8 +#define CS_GLOBALCLASS 16384 +#define CS_HREDRAW 2 +#define CS_NOCLOSE 512 +#define CS_OWNDC 32 +#define CS_PARENTDC 128 +#define CS_SAVEBITS 2048 +#define CS_VREDRAW 1 +#define CS_IME 0x10000 +#define GCW_ATOM (-32) +#define GCL_CBCLSEXTRA (-20) +#define GCL_CBWNDEXTRA (-18) +#define GCL_HBRBACKGROUND (-10) +#define GCL_HCURSOR (-12) +#define GCL_HICON (-14) +#define GCL_HICONSM (-34) +#define GCL_HMODULE (-16) +#define GCL_MENUNAME (-8) +#define GCL_STYLE (-26) +#define GCL_WNDPROC (-24) +#define IDC_ARROW MAKEINTRESOURCE(32512) +#define IDC_IBEAM MAKEINTRESOURCE(32513) +#define IDC_WAIT MAKEINTRESOURCE(32514) +#define IDC_CROSS MAKEINTRESOURCE(32515) +#define IDC_UPARROW MAKEINTRESOURCE(32516) +#define IDC_SIZENWSE MAKEINTRESOURCE(32642) +#define IDC_SIZENESW MAKEINTRESOURCE(32643) +#define IDC_SIZEWE MAKEINTRESOURCE(32644) +#define IDC_SIZENS MAKEINTRESOURCE(32645) +#define IDC_SIZEALL MAKEINTRESOURCE(32646) +#define IDC_NO MAKEINTRESOURCE(32648) +#define IDC_APPSTARTING MAKEINTRESOURCE(32650) +#define IDC_HELP MAKEINTRESOURCE(32651) +#define IDC_ICON MAKEINTRESOURCE(32641) +#define IDC_SIZE MAKEINTRESOURCE(32640) +#ifndef RC_INVOKED +#define IDI_APPLICATION MAKEINTRESOURCE(32512) +#define IDI_HAND MAKEINTRESOURCE(32513) +#define IDI_QUESTION MAKEINTRESOURCE(32514) +#define IDI_EXCLAMATION MAKEINTRESOURCE(32515) +#define IDI_ASTERISK MAKEINTRESOURCE(32516) +#define IDI_WINLOGO MAKEINTRESOURCE(32517) +#else +#define IDI_APPLICATION 32512 +#define IDI_HAND 32513 +#define IDI_QUESTION 32514 +#define IDI_EXCLAMATION 32515 +#define IDI_ASTERISK 32516 +#define IDI_WINLOGO 32517 +#endif +#define IDI_WARNING IDI_EXCLAMATION +#define IDI_ERROR IDI_HAND +#define IDI_INFORMATION IDI_ASTERISK +#define MIIM_STATE 1 +#define MIIM_ID 2 +#define MIIM_SUBMENU 4 +#define MIIM_CHECKMARKS 8 +#define MIIM_TYPE 16 +#define MIIM_DATA 32 +#define MIIM_STRING 64 +#define MIIM_BITMAP 128 +#define MIIM_FTYPE 256 +#define MFT_BITMAP 4 +#define MFT_MENUBARBREAK 32 +#define MFT_MENUBREAK 64 +#define MFT_OWNERDRAW 256 +#define MFT_RADIOCHECK 512 +#define MFT_RIGHTJUSTIFY 0x4000 +#define MFT_SEPARATOR 0x800 +#define MFT_RIGHTORDER 0x2000L +#define MFT_STRING 0 +#define MFS_CHECKED 8 +#define MFS_DEFAULT 4096 +#define MFS_DISABLED 3 +#define MFS_ENABLED 0 +#define MFS_GRAYED 3 +#define MFS_HILITE 128 +#define MFS_UNCHECKED 0 +#define MFS_UNHILITE 0 +#define GW_HWNDNEXT 2 +#define GW_HWNDPREV 3 +#define GW_CHILD 5 +#define GW_HWNDFIRST 0 +#define GW_HWNDLAST 1 +#define GW_OWNER 4 +#define SW_HIDE 0 +#define SW_NORMAL 1 +#define SW_SHOWNORMAL 1 +#define SW_SHOWMINIMIZED 2 +#define SW_MAXIMIZE 3 +#define SW_SHOWMAXIMIZED 3 +#define SW_SHOWNOACTIVATE 4 +#define SW_SHOW 5 +#define SW_MINIMIZE 6 +#define SW_SHOWMINNOACTIVE 7 +#define SW_SHOWNA 8 +#define SW_RESTORE 9 +#define SW_SHOWDEFAULT 10 +#define SW_FORCEMINIMIZE 11 +#define SW_MAX 11 +#define MB_USERICON 128 +#define MB_ICONASTERISK 64 +#define MB_ICONEXCLAMATION 0x30 +#define MB_ICONWARNING 0x30 +#define MB_ICONERROR 16 +#define MB_ICONHAND 16 +#define MB_ICONQUESTION 32 +#define MB_OK 0 +#define MB_ABORTRETRYIGNORE 2 +#define MB_APPLMODAL 0 +#define MB_DEFAULT_DESKTOP_ONLY 0x20000 +#define MB_HELP 0x4000 +#define MB_RIGHT 0x80000 +#define MB_RTLREADING 0x100000 +#define MB_TOPMOST 0x40000 +#define MB_DEFBUTTON1 0 +#define MB_DEFBUTTON2 256 +#define MB_DEFBUTTON3 512 +#define MB_DEFBUTTON4 0x300 +#define MB_ICONINFORMATION 64 +#define MB_ICONSTOP 16 +#define MB_OKCANCEL 1 +#define MB_RETRYCANCEL 5 +#define MB_SERVICE_NOTIFICATION 0x40000 +#define MB_SETFOREGROUND 0x10000 +#define MB_SYSTEMMODAL 4096 +#define MB_TASKMODAL 0x2000 +#define MB_YESNO 4 +#define MB_YESNOCANCEL 3 +#define MB_ICONMASK 240 +#define MB_DEFMASK 3840 +#define MB_MODEMASK 0x00003000 +#define MB_MISCMASK 0x0000C000 +#define MB_NOFOCUS 0x00008000 +#define MB_TYPEMASK 15 +#define MB_TOPMOST 0x40000 +#define IDABORT 3 +#define IDCANCEL 2 +#define IDCLOSE 8 +#define IDHELP 9 +#define IDIGNORE 5 +#define IDNO 7 +#define IDOK 1 +#define IDRETRY 4 +#define IDYES 6 +#define GWL_EXSTYLE (-20) +#define GWL_STYLE (-16) +#define GWL_WNDPROC (-4) +#define GWL_HINSTANCE (-6) +#define GWL_HWNDPARENT (-8) +#define GWL_ID (-12) +#define GWL_USERDATA (-21) +#define DWL_DLGPROC 4 +#define DWL_MSGRESULT 0 +#define DWL_USER 8 +#define QS_ALLEVENTS 191 +#define QS_ALLINPUT 255 +#define QS_HOTKEY 128 +#define QS_INPUT 7 +#define QS_KEY 1 +#define QS_MOUSE 6 +#define QS_MOUSEBUTTON 4 +#define QS_MOUSEMOVE 2 +#define QS_PAINT 32 +#define QS_POSTMESSAGE 8 +#define QS_SENDMESSAGE 64 +#define QS_TIMER 16 +#define COLOR_3DDKSHADOW 21 +#define COLOR_3DFACE 15 +#define COLOR_3DHILIGHT 20 +#define COLOR_3DHIGHLIGHT 20 +#define COLOR_3DLIGHT 22 +#define COLOR_BTNHILIGHT 20 +#define COLOR_3DSHADOW 16 +#define COLOR_ACTIVEBORDER 10 +#define COLOR_ACTIVECAPTION 2 +#define COLOR_APPWORKSPACE 12 +#define COLOR_BACKGROUND 1 +#define COLOR_DESKTOP 1 +#define COLOR_BTNFACE 15 +#define COLOR_BTNHIGHLIGHT 20 +#define COLOR_BTNSHADOW 16 +#define COLOR_BTNTEXT 18 +#define COLOR_CAPTIONTEXT 9 +#define COLOR_GRAYTEXT 17 +#define COLOR_HIGHLIGHT 13 +#define COLOR_HIGHLIGHTTEXT 14 +#define COLOR_INACTIVEBORDER 11 +#define COLOR_INACTIVECAPTION 3 +#define COLOR_INACTIVECAPTIONTEXT 19 +#define COLOR_INFOBK 24 +#define COLOR_INFOTEXT 23 +#define COLOR_MENU 4 +#define COLOR_MENUTEXT 7 +#define COLOR_SCROLLBAR 0 +#define COLOR_WINDOW 5 +#define COLOR_WINDOWFRAME 6 +#define COLOR_WINDOWTEXT 8 +#define CTLCOLOR_MSGBOX 0 +#define CTLCOLOR_EDIT 1 +#define CTLCOLOR_LISTBOX 2 +#define CTLCOLOR_BTN 3 +#define CTLCOLOR_DLG 4 +#define CTLCOLOR_SCROLLBAR 5 +#define CTLCOLOR_STATIC 6 +#define CTLCOLOR_MAX 7 +#define SM_CXSCREEN 0 +#define SM_CYSCREEN 1 +#define SM_CXVSCROLL 2 +#define SM_CYHSCROLL 3 +#define SM_CYCAPTION 4 +#define SM_CXBORDER 5 +#define SM_CYBORDER 6 +#define SM_CXDLGFRAME 7 +#define SM_CXFIXEDFRAME 7 +#define SM_CYDLGFRAME 8 +#define SM_CYFIXEDFRAME 8 +#define SM_CYVTHUMB 9 +#define SM_CXHTHUMB 10 +#define SM_CXICON 11 +#define SM_CYICON 12 +#define SM_CXCURSOR 13 +#define SM_CYCURSOR 14 +#define SM_CYMENU 15 +#define SM_CXFULLSCREEN 16 +#define SM_CYFULLSCREEN 17 +#define SM_CYKANJIWINDOW 18 +#define SM_MOUSEPRESENT 19 +#define SM_CYVSCROLL 20 +#define SM_CXHSCROLL 21 +#define SM_DEBUG 22 +#define SM_SWAPBUTTON 23 +#define SM_RESERVED1 24 +#define SM_RESERVED2 25 +#define SM_RESERVED3 26 +#define SM_RESERVED4 27 +#define SM_CXMIN 28 +#define SM_CYMIN 29 +#define SM_CXSIZE 30 +#define SM_CYSIZE 31 +#define SM_CXSIZEFRAME 32 +#define SM_CXFRAME 32 +#define SM_CYSIZEFRAME 33 +#define SM_CYFRAME 33 +#define SM_CXMINTRACK 34 +#define SM_CYMINTRACK 35 +#define SM_CXDOUBLECLK 36 +#define SM_CYDOUBLECLK 37 +#define SM_CXICONSPACING 38 +#define SM_CYICONSPACING 39 +#define SM_MENUDROPALIGNMENT 40 +#define SM_PENWINDOWS 41 +#define SM_DBCSENABLED 42 +#define SM_CMOUSEBUTTONS 43 +#define SM_SECURE 44 +#define SM_CXEDGE 45 +#define SM_CYEDGE 46 +#define SM_CXMINSPACING 47 +#define SM_CYMINSPACING 48 +#define SM_CXSMICON 49 +#define SM_CYSMICON 50 +#define SM_CYSMCAPTION 51 +#define SM_CXSMSIZE 52 +#define SM_CYSMSIZE 53 +#define SM_CXMENUSIZE 54 +#define SM_CYMENUSIZE 55 +#define SM_ARRANGE 56 +#define SM_CXMINIMIZED 57 +#define SM_CYMINIMIZED 58 +#define SM_CXMAXTRACK 59 +#define SM_CYMAXTRACK 60 +#define SM_CXMAXIMIZED 61 +#define SM_CYMAXIMIZED 62 +#define SM_NETWORK 63 +#define LR_DEFAULTSIZE 64 +#define SM_CLEANBOOT 67 +#define SM_CXDRAG 68 +#define SM_CYDRAG 69 +#define SM_SHOWSOUNDS 70 +#define SM_CXMENUCHECK 71 +#define SM_CYMENUCHECK 72 +#define SM_SLOWMACHINE 73 +#define SM_MIDEASTENABLED 74 +#define SM_MOUSEWHEELPRESENT 75 +#define SM_XVIRTUALSCREEN 76 +#define SM_YVIRTUALSCREEN 77 +#define SM_CXVIRTUALSCREEN 78 +#define SM_CYVIRTUALSCREEN 79 +#define SM_CMONITORS 80 +#define SM_SAMEDISPLAYFORMAT 81 +#if (_WIN32_WINNT < 0x0400) +#define SM_CMETRICS 76 +#else +#define SM_CMETRICS 83 +#endif +#define ARW_BOTTOMLEFT 0 +#define ARW_BOTTOMRIGHT 1 +#define ARW_HIDE 8 +#define ARW_TOPLEFT 2 +#define ARW_TOPRIGHT 3 +#define ARW_DOWN 4 +#define ARW_LEFT 0 +#define ARW_RIGHT 0 +#define ARW_UP 4 +#define UOI_FLAGS 1 +#define UOI_NAME 2 +#define UOI_TYPE 3 +#define UOI_USER_SID 4 +#define LR_DEFAULTCOLOR 0 +#define LR_MONOCHROME 1 +#define LR_COLOR 2 +#define LR_COPYRETURNORG 4 +#define LR_COPYDELETEORG 8 +#define LR_LOADFROMFILE 16 +#define LR_LOADTRANSPARENT 32 +#define LR_LOADREALSIZE 128 +#define LR_LOADMAP3DCOLORS 4096 +#define LR_CREATEDIBSECTION 8192 +#define LR_COPYFROMRESOURCE 0x4000 +#define LR_SHARED 32768 +#define KEYEVENTF_EXTENDEDKEY 1 +#define KEYEVENTF_KEYUP 2 +#define OBM_BTNCORNERS 32758 +#define OBM_BTSIZE 32761 +#define OBM_CHECK 32760 +#define OBM_CHECKBOXES 32759 +#define OBM_CLOSE 32754 +#define OBM_COMBO 32738 +#define OBM_DNARROW 32752 +#define OBM_DNARROWD 32742 +#define OBM_DNARROWI 32736 +#define OBM_LFARROW 32750 +#define OBM_LFARROWI 32734 +#define OBM_LFARROWD 32740 +#define OBM_MNARROW 32739 +#define OBM_OLD_CLOSE 32767 +#define OBM_OLD_DNARROW 32764 +#define OBM_OLD_LFARROW 32762 +#define OBM_OLD_REDUCE 32757 +#define OBM_OLD_RESTORE 32755 +#define OBM_OLD_RGARROW 32763 +#define OBM_OLD_UPARROW 32765 +#define OBM_OLD_ZOOM 32756 +#define OBM_REDUCE 32749 +#define OBM_REDUCED 32746 +#define OBM_RESTORE 32747 +#define OBM_RESTORED 32744 +#define OBM_RGARROW 32751 +#define OBM_RGARROWD 32741 +#define OBM_RGARROWI 32735 +#define OBM_SIZE 32766 +#define OBM_UPARROW 32753 +#define OBM_UPARROWD 32743 +#define OBM_UPARROWI 32737 +#define OBM_ZOOM 32748 +#define OBM_ZOOMD 32745 +#define OCR_NORMAL 32512 +#define OCR_IBEAM 32513 +#define OCR_WAIT 32514 +#define OCR_CROSS 32515 +#define OCR_UP 32516 +#define OCR_SIZE 32640 +#define OCR_ICON 32641 +#define OCR_SIZENWSE 32642 +#define OCR_SIZENESW 32643 +#define OCR_SIZEWE 32644 +#define OCR_SIZENS 32645 +#define OCR_SIZEALL 32646 +#define OCR_NO 32648 +#define OCR_APPSTARTING 32650 +#define HELPINFO_MENUITEM 2 +#define HELPINFO_WINDOW 1 +#define MSGF_DIALOGBOX 0 +#define MSGF_MESSAGEBOX 1 +#define MSGF_MENU 2 +#define MSGF_MOVE 3 +#define MSGF_SIZE 4 +#define MSGF_SCROLLBAR 5 +#define MSGF_NEXTWINDOW 6 +#define MSGF_MAINLOOP 8 +#define MSGF_USER 4096 +#define MOUSEEVENTF_MOVE 1 +#define MOUSEEVENTF_LEFTDOWN 2 +#define MOUSEEVENTF_LEFTUP 4 +#define MOUSEEVENTF_RIGHTDOWN 8 +#define MOUSEEVENTF_RIGHTUP 16 +#define MOUSEEVENTF_MIDDLEDOWN 32 +#define MOUSEEVENTF_MIDDLEUP 64 +#define MOUSEEVENTF_ABSOLUTE 32768 +#define PM_NOREMOVE 0 +#define PM_REMOVE 1 +#define PM_NOYIELD 2 +#define HWND_BROADCAST ((HWND)0xffff) +#define HWND_BOTTOM ((HWND)1) +#define HWND_NOTOPMOST ((HWND)(-2)) +#define HWND_TOP ((HWND)0) +#define HWND_TOPMOST ((HWND)(-1)) +#define HWND_DESKTOP (HWND)0 +#define RDW_ERASE 4 +#define RDW_FRAME 1024 +#define RDW_INTERNALPAINT 2 +#define RDW_INVALIDATE 1 +#define RDW_NOERASE 32 +#define RDW_NOFRAME 2048 +#define RDW_NOINTERNALPAINT 16 +#define RDW_VALIDATE 8 +#define RDW_ERASENOW 512 +#define RDW_UPDATENOW 256 +#define RDW_ALLCHILDREN 128 +#define RDW_NOCHILDREN 64 +#define SMTO_ABORTIFHUNG 2 +#define SMTO_BLOCK 1 +#define SMTO_NORMAL 0 +#define SIF_ALL 23 +#define SIF_PAGE 2 +#define SIF_POS 4 +#define SIF_RANGE 1 +#define SIF_DISABLENOSCROLL 8 +#define SIF_TRACKPOS 16 +#define SWP_DRAWFRAME 32 +#define SWP_FRAMECHANGED 32 +#define SWP_HIDEWINDOW 128 +#define SWP_NOACTIVATE 16 +#define SWP_NOCOPYBITS 256 +#define SWP_NOMOVE 2 +#define SWP_NOSIZE 1 +#define SWP_NOREDRAW 8 +#define SWP_NOZORDER 4 +#define SWP_SHOWWINDOW 64 +#define SWP_NOOWNERZORDER 512 +#define SWP_NOREPOSITION 512 +#define SWP_NOSENDCHANGING 1024 +#define SWP_DEFERERASE 8192 +#define SWP_ASYNCWINDOWPOS 16384 +#define HSHELL_ACTIVATESHELLWINDOW 3 +#define HSHELL_GETMINRECT 5 +#define HSHELL_LANGUAGE 8 +#define HSHELL_REDRAW 6 +#define HSHELL_TASKMAN 7 +#define HSHELL_WINDOWACTIVATED 4 +#define HSHELL_WINDOWCREATED 1 +#define HSHELL_WINDOWDESTROYED 2 +#define SPI_GETACCESSTIMEOUT 60 +#define SPI_GETANIMATION 72 +#define SPI_GETBEEP 1 +#define SPI_GETBORDER 5 +#define SPI_GETDEFAULTINPUTLANG 89 +#define SPI_GETDRAGFULLWINDOWS 38 +#define SPI_GETFASTTASKSWITCH 35 +#define SPI_GETFILTERKEYS 50 +#define SPI_GETFONTSMOOTHING 74 +#define SPI_GETGRIDGRANULARITY 18 +#define SPI_GETHIGHCONTRAST 66 +#define SPI_GETICONMETRICS 45 +#define SPI_GETICONTITLELOGFONT 31 +#define SPI_GETICONTITLEWRAP 25 +#define SPI_GETKEYBOARDDELAY 22 +#define SPI_GETKEYBOARDPREF 68 +#define SPI_GETKEYBOARDSPEED 10 +#define SPI_GETLOWPOWERACTIVE 83 +#define SPI_GETLOWPOWERTIMEOUT 79 +#define SPI_GETMENUDROPALIGNMENT 27 +#define SPI_GETMINIMIZEDMETRICS 43 +#define SPI_GETMOUSE 3 +#define SPI_GETMOUSEKEYS 54 +#define SPI_GETMOUSETRAILS 94 +#define SPI_GETNONCLIENTMETRICS 41 +#define SPI_GETPOWEROFFACTIVE 84 +#define SPI_GETPOWEROFFTIMEOUT 80 +#define SPI_GETSCREENREADER 70 +#define SPI_GETSCREENSAVEACTIVE 16 +#define SPI_GETSCREENSAVETIMEOUT 14 +#define SPI_GETSERIALKEYS 62 +#define SPI_GETSHOWSOUNDS 56 +#define SPI_GETSOUNDSENTRY 64 +#define SPI_GETSTICKYKEYS 58 +#define SPI_GETTOGGLEKEYS 52 +#define SPI_GETWINDOWSEXTENSION 92 +#define SPI_GETWORKAREA 48 +#define SPI_ICONHORIZONTALSPACING 13 +#define SPI_ICONVERTICALSPACING 24 +#define SPI_LANGDRIVER 12 +#define SPI_SCREENSAVERRUNNING 97 +#define SPI_SETACCESSTIMEOUT 61 +#define SPI_SETANIMATION 73 +#define SPI_SETBEEP 2 +#define SPI_SETBORDER 6 +#define SPI_SETDEFAULTINPUTLANG 90 +#define SPI_SETDESKPATTERN 21 +#define SPI_SETDESKWALLPAPER 20 +#define SPI_SETDOUBLECLICKTIME 32 +#define SPI_SETDOUBLECLKHEIGHT 30 +#define SPI_SETDOUBLECLKWIDTH 29 +#define SPI_SETDRAGFULLWINDOWS 37 +#define SPI_SETDRAGHEIGHT 77 +#define SPI_SETDRAGWIDTH 76 +#define SPI_SETFASTTASKSWITCH 36 +#define SPI_SETFILTERKEYS 51 +#define SPI_SETFONTSMOOTHING 75 +#define SPI_SETGRIDGRANULARITY 19 +#define SPI_SETHANDHELD 78 +#define SPI_SETHIGHCONTRAST 67 +#define SPI_SETICONMETRICS 46 +#define SPI_SETICONTITLELOGFONT 34 +#define SPI_SETICONTITLEWRAP 26 +#define SPI_SETKEYBOARDDELAY 23 +#define SPI_SETKEYBOARDPREF 69 +#define SPI_SETKEYBOARDSPEED 11 +#define SPI_SETLANGTOGGLE 91 +#define SPI_SETLOWPOWERACTIVE 85 +#define SPI_SETLOWPOWERTIMEOUT 81 +#define SPI_SETMENUDROPALIGNMENT 28 +#define SPI_SETMINIMIZEDMETRICS 44 +#define SPI_SETMOUSE 4 +#define SPI_SETMOUSEBUTTONSWAP 33 +#define SPI_SETMOUSEKEYS 55 +#define SPI_SETMOUSETRAILS 93 +#define SPI_SETNONCLIENTMETRICS 42 +#define SPI_SETPENWINDOWS 49 +#define SPI_SETPOWEROFFACTIVE 86 +#define SPI_SETPOWEROFFTIMEOUT 82 +#define SPI_SETSCREENREADER 71 +#define SPI_SETSCREENSAVEACTIVE 17 +#define SPI_SETSCREENSAVETIMEOUT 15 +#define SPI_SETSERIALKEYS 63 +#define SPI_SETSHOWSOUNDS 57 +#define SPI_SETSOUNDSENTRY 65 +#define SPI_SETSTICKYKEYS 59 +#define SPI_SETTOGGLEKEYS 53 +#define SPI_SETWORKAREA 47 +#define SPIF_UPDATEINIFILE 1 +#define SPIF_SENDWININICHANGE 2 +#define SPIF_SENDCHANGE 2 +#define ATF_ONOFFFEEDBACK 2 +#define ATF_TIMEOUTON 1 +#define WM_APP 32768 +#define WM_ACTIVATE 6 +#define WM_ACTIVATEAPP 28 +#define WM_ASKCBFORMATNAME 780 +#define WM_CANCELJOURNAL 75 +#define WM_CANCELMODE 31 +#define WM_CAPTURECHANGED 533 +#define WM_CHANGECBCHAIN 781 +#define WM_CHAR 258 +#define WM_CHARTOITEM 47 +#define WM_CHILDACTIVATE 34 +#define WM_CLEAR 771 +#define WM_CLOSE 16 +#define WM_COMMAND 273 +#define WM_COMPACTING 65 +#define WM_COMPAREITEM 57 +#define WM_CONTEXTMENU 123 +#define WM_COPY 769 +#define WM_COPYDATA 74 +#define WM_CREATE 1 +#define WM_CTLCOLORBTN 309 +#define WM_CTLCOLORDLG 310 +#define WM_CTLCOLOREDIT 307 +#define WM_CTLCOLORLISTBOX 308 +#define WM_CTLCOLORMSGBOX 306 +#define WM_CTLCOLORSCROLLBAR 311 +#define WM_CTLCOLORSTATIC 312 +#define WM_CUT 768 +#define WM_DEADCHAR 259 +#define WM_DELETEITEM 45 +#define WM_DESTROY 2 +#define WM_DESTROYCLIPBOARD 775 +#define WM_DEVICECHANGE 537 +#define WM_DEVMODECHANGE 27 +#define WM_DISPLAYCHANGE 126 +#define WM_DRAWCLIPBOARD 776 +#define WM_DRAWITEM 43 +#define WM_DROPFILES 563 +#define WM_ENABLE 10 +#define WM_ENDSESSION 22 +#define WM_ENTERIDLE 289 +#define WM_ENTERMENULOOP 529 +#define WM_ENTERSIZEMOVE 561 +#define WM_ERASEBKGND 20 +#define WM_EXITMENULOOP 530 +#define WM_EXITSIZEMOVE 562 +#define WM_FONTCHANGE 29 +#define WM_GETDLGCODE 135 +#define WM_GETFONT 49 +#define WM_GETHOTKEY 51 +#define WM_GETICON 127 +#define WM_GETMINMAXINFO 36 +#define WM_GETTEXT 13 +#define WM_GETTEXTLENGTH 14 +#define WM_HELP 83 +#define WM_HOTKEY 786 +#define WM_HSCROLL 276 +#define WM_HSCROLLCLIPBOARD 782 +#define WM_ICONERASEBKGND 39 +#define WM_INITDIALOG 272 +#define WM_INITMENU 278 +#define WM_INITMENUPOPUP 279 +#define WM_INPUTLANGCHANGE 81 +#define WM_INPUTLANGCHANGEREQUEST 80 +#define WM_KEYDOWN 256 +#define WM_KEYUP 257 +#define WM_KILLFOCUS 8 +#define WM_MDIACTIVATE 546 +#define WM_MDICASCADE 551 +#define WM_MDICREATE 544 +#define WM_MDIDESTROY 545 +#define WM_MDIGETACTIVE 553 +#define WM_MDIICONARRANGE 552 +#define WM_MDIMAXIMIZE 549 +#define WM_MDINEXT 548 +#define WM_MDIREFRESHMENU 564 +#define WM_MDIRESTORE 547 +#define WM_MDISETMENU 560 +#define WM_MDITILE 550 +#define WM_MEASUREITEM 44 +#define WM_MENUCHAR 288 +#define WM_MENUSELECT 287 +#define WM_NEXTMENU 531 +#define WM_MOVE 3 +#define WM_MOVING 534 +#define WM_NCACTIVATE 134 +#define WM_NCCALCSIZE 131 +#define WM_NCCREATE 129 +#define WM_NCDESTROY 130 +#define WM_NCHITTEST 132 +#define WM_NCLBUTTONDBLCLK 163 +#define WM_NCLBUTTONDOWN 161 +#define WM_NCLBUTTONUP 162 +#define WM_NCMBUTTONDBLCLK 169 +#define WM_NCMBUTTONDOWN 167 +#define WM_NCMBUTTONUP 168 +#define WM_NCMOUSEMOVE 160 +#define WM_NCPAINT 133 +#define WM_NCRBUTTONDBLCLK 166 +#define WM_NCRBUTTONDOWN 164 +#define WM_NCRBUTTONUP 165 +#define WM_NEXTDLGCTL 40 +#define WM_NEXTMENU 531 +#define WM_NOTIFY 78 +#define WM_NOTIFYFORMAT 85 +#define WM_NULL 0 +#define WM_PAINT 15 +#define WM_PAINTCLIPBOARD 777 +#define WM_PAINTICON 38 +#define WM_PALETTECHANGED 785 +#define WM_PALETTEISCHANGING 784 +#define WM_PARENTNOTIFY 528 +#define WM_PASTE 770 +#define WM_PENWINFIRST 896 +#define WM_PENWINLAST 911 +#define WM_POWER 72 +#define WM_POWERBROADCAST 536 +#define WM_PRINT 791 +#define WM_PRINTCLIENT 792 +#define WM_QUERYDRAGICON 55 +#define WM_QUERYENDSESSION 17 +#define WM_QUERYNEWPALETTE 783 +#define WM_QUERYOPEN 19 +#define WM_QUEUESYNC 35 +#define WM_QUIT 18 +#define WM_RENDERALLFORMATS 774 +#define WM_RENDERFORMAT 773 +#define WM_SETCURSOR 32 +#define WM_SETFOCUS 7 +#define WM_SETFONT 48 +#define WM_SETHOTKEY 50 +#define WM_SETICON 128 +#define WM_SETREDRAW 11 +#define WM_SETTEXT 12 +#define WM_SETTINGCHANGE 26 +#define WM_SHOWWINDOW 24 +#define WM_SIZE 5 +#define WM_SIZECLIPBOARD 779 +#define WM_SIZING 532 +#define WM_SPOOLERSTATUS 42 +#define WM_STYLECHANGED 125 +#define WM_STYLECHANGING 124 +#define WM_SYSCHAR 262 +#define WM_SYSCOLORCHANGE 21 +#define WM_SYSCOMMAND 274 +#define WM_SYSDEADCHAR 263 +#define WM_SYSKEYDOWN 260 +#define WM_SYSKEYUP 261 +#define WM_TCARD 82 +#define WM_TIMECHANGE 30 +#define WM_TIMER 275 +#define WM_UNDO 772 +#define WM_USER 1024 +#define WM_USERCHANGED 84 +#define WM_VKEYTOITEM 46 +#define WM_VSCROLL 277 +#define WM_VSCROLLCLIPBOARD 778 +#define WM_WINDOWPOSCHANGED 71 +#define WM_WINDOWPOSCHANGING 70 +#define WM_WININICHANGE 26 +#define WM_KEYFIRST 256 +#define WM_KEYLAST 264 +#define WM_SYNCPAINT 136 +#define WM_MOUSEACTIVATE 33 +#define WM_MOUSEMOVE 512 +#define WM_LBUTTONDOWN 513 +#define WM_LBUTTONUP 514 +#define WM_LBUTTONDBLCLK 515 +#define WM_RBUTTONDOWN 516 +#define WM_RBUTTONUP 517 +#define WM_RBUTTONDBLCLK 518 +#define WM_MBUTTONDOWN 519 +#define WM_MBUTTONUP 520 +#define WM_MBUTTONDBLCLK 521 +#define WM_MOUSEWHEEL 522 +#define WM_MOUSEFIRST 512 +#define WM_MOUSELAST 522 +#define WM_MOUSEHOVER 0x2A1 +#define WM_MOUSELEAVE 0x2A3 +#define WHEEL_DELTA 120 +#define BM_CLICK 245 +#define BM_GETCHECK 240 +#define BM_GETIMAGE 246 +#define BM_GETSTATE 242 +#define BM_SETCHECK 241 +#define BM_SETIMAGE 247 +#define BM_SETSTATE 243 +#define BM_SETSTYLE 244 +#define BN_CLICKED 0 +#define BN_DBLCLK 5 +#define BN_DISABLE 4 +#define BN_DOUBLECLICKED 5 +#define BN_HILITE 2 +#define BN_KILLFOCUS 7 +#define BN_PAINT 1 +#define BN_PUSHED 2 +#define BN_SETFOCUS 6 +#define BN_UNHILITE 3 +#define BN_UNPUSHED 3 +#define CB_ADDSTRING 323 +#define CB_DELETESTRING 324 +#define CB_DIR 325 +#define CB_FINDSTRING 332 +#define CB_FINDSTRINGEXACT 344 +#define CB_GETCOUNT 326 +#define CB_GETCURSEL 327 +#define CB_GETDROPPEDCONTROLRECT 338 +#define CB_GETDROPPEDSTATE 343 +#define CB_GETDROPPEDWIDTH 351 +#define CB_GETEDITSEL 320 +#define CB_GETEXTENDEDUI 342 +#define CB_GETHORIZONTALEXTENT 349 +#define CB_GETITEMDATA 336 +#define CB_GETITEMHEIGHT 340 +#define CB_GETLBTEXT 328 +#define CB_GETLBTEXTLEN 329 +#define CB_GETLOCALE 346 +#define CB_GETTOPINDEX 347 +#define CB_INITSTORAGE 353 +#define CB_INSERTSTRING 330 +#define CB_LIMITTEXT 321 +#define CB_RESETCONTENT 331 +#define CB_SELECTSTRING 333 +#define CB_SETCURSEL 334 +#define CB_SETDROPPEDWIDTH 352 +#define CB_SETEDITSEL 322 +#define CB_SETEXTENDEDUI 341 +#define CB_SETHORIZONTALEXTENT 350 +#define CB_SETITEMDATA 337 +#define CB_SETITEMHEIGHT 339 +#define CB_SETLOCALE 345 +#define CB_SETTOPINDEX 348 +#define CB_SHOWDROPDOWN 335 +#define CBN_CLOSEUP 8 +#define CBN_DBLCLK 2 +#define CBN_DROPDOWN 7 +#define CBN_EDITCHANGE 5 +#define CBN_EDITUPDATE 6 +#define CBN_ERRSPACE (-1) +#define CBN_KILLFOCUS 4 +#define CBN_SELCHANGE 1 +#define CBN_SELENDCANCEL 10 +#define CBN_SELENDOK 9 +#define CBN_SETFOCUS 3 +#define EM_CANUNDO 198 +#define EM_CHARFROMPOS 215 +#define EM_EMPTYUNDOBUFFER 205 +#define EM_FMTLINES 200 +#define EM_GETFIRSTVISIBLELINE 206 +#define EM_GETHANDLE 189 +#define EM_GETLIMITTEXT 213 +#define EM_GETLINE 196 +#define EM_GETLINECOUNT 186 +#define EM_GETMARGINS 212 +#define EM_GETMODIFY 184 +#define EM_GETPASSWORDCHAR 210 +#define EM_GETRECT 178 +#define EM_GETSEL 176 +#define EM_GETTHUMB 190 +#define EM_GETWORDBREAKPROC 209 +#define EM_LIMITTEXT 197 +#define EM_LINEFROMCHAR 201 +#define EM_LINEINDEX 187 +#define EM_LINELENGTH 193 +#define EM_LINESCROLL 182 +#define EM_POSFROMCHAR 214 +#define EM_REPLACESEL 194 +#define EM_SCROLL 181 +#define EM_SCROLLCARET 183 +#define EM_SETHANDLE 188 +#define EM_SETLIMITTEXT 197 +#define EM_SETMARGINS 211 +#define EM_SETMODIFY 185 +#define EM_SETPASSWORDCHAR 204 +#define EM_SETREADONLY 207 +#define EM_SETRECT 179 +#define EM_SETRECTNP 180 +#define EM_SETSEL 177 +#define EM_SETTABSTOPS 203 +#define EM_SETWORDBREAKPROC 208 +#define EM_UNDO 199 +#define EN_CHANGE 768 +#define EN_ERRSPACE 1280 +#define EN_HSCROLL 1537 +#define EN_KILLFOCUS 512 +#define EN_MAXTEXT 1281 +#define EN_SETFOCUS 256 +#define EN_UPDATE 1024 +#define EN_VSCROLL 1538 +#define LB_ADDFILE 406 +#define LB_ADDSTRING 384 +#define LB_DELETESTRING 386 +#define LB_DIR 397 +#define LB_FINDSTRING 399 +#define LB_FINDSTRINGEXACT 418 +#define LB_GETANCHORINDEX 413 +#define LB_GETCARETINDEX 415 +#define LB_GETCOUNT 395 +#define LB_GETCURSEL 392 +#define LB_GETHORIZONTALEXTENT 403 +#define LB_GETITEMDATA 409 +#define LB_GETITEMHEIGHT 417 +#define LB_GETITEMRECT 408 +#define LB_GETLOCALE 422 +#define LB_GETSEL 391 +#define LB_GETSELCOUNT 400 +#define LB_GETSELITEMS 401 +#define LB_GETTEXT 393 +#define LB_GETTEXTLEN 394 +#define LB_GETTOPINDEX 398 +#define LB_INITSTORAGE 424 +#define LB_INSERTSTRING 385 +#define LB_ITEMFROMPOINT 425 +#define LB_RESETCONTENT 388 +#define LB_SELECTSTRING 396 +#define LB_SELITEMRANGE 411 +#define LB_SELITEMRANGEEX 387 +#define LB_SETANCHORINDEX 412 +#define LB_SETCARETINDEX 414 +#define LB_SETCOLUMNWIDTH 405 +#define LB_SETCOUNT 423 +#define LB_SETCURSEL 390 +#define LB_SETHORIZONTALEXTENT 404 +#define LB_SETITEMDATA 410 +#define LB_SETITEMHEIGHT 416 +#define LB_SETLOCALE 421 +#define LB_SETSEL 389 +#define LB_SETTABSTOPS 402 +#define LB_SETTOPINDEX 407 +#define LBN_DBLCLK 2 +#define LBN_ERRSPACE (-2) +#define LBN_KILLFOCUS 5 +#define LBN_SELCANCEL 3 +#define LBN_SELCHANGE 1 +#define LBN_SETFOCUS 4 +#define SBM_ENABLE_ARROWS 228 +#define SBM_GETPOS 225 +#define SBM_GETRANGE 227 +#define SBM_GETSCROLLINFO 234 +#define SBM_SETPOS 224 +#define SBM_SETRANGE 226 +#define SBM_SETRANGEREDRAW 230 +#define SBM_SETSCROLLINFO 233 +#define STM_GETICON 369 +#define STM_GETIMAGE 371 +#define STM_SETICON 368 +#define STM_SETIMAGE 370 +#define STN_CLICKED 0 +#define STN_DBLCLK 1 +#define STN_DISABLE 3 +#define STN_ENABLE 2 +#define DM_GETDEFID WM_USER +#define DM_SETDEFID (WM_USER+1) +#define DM_REPOSITION (WM_USER+2) +#define PSM_PAGEINFO (WM_USER+100) +#define PSM_SHEETINFO (WM_USER+101) +#define PSI_SETACTIVE 1 +#define PSI_KILLACTIVE 2 +#define PSI_APPLY 3 +#define PSI_RESET 4 +#define PSI_HASHELP 5 +#define PSI_HELP 6 +#define PSI_CHANGED 1 +#define PSI_GUISTART 2 +#define PSI_REBOOT 3 +#define PSI_GETSIBLINGS 4 +#define DCX_WINDOW 1 +#define DCX_CACHE 2 +#define DCX_PARENTCLIP 32 +#define DCX_CLIPSIBLINGS 16 +#define DCX_CLIPCHILDREN 8 +#define DCX_NORESETATTRS 4 +#define DCX_LOCKWINDOWUPDATE 0x400 +#define DCX_EXCLUDERGN 64 +#define DCX_INTERSECTRGN 128 +#define DCX_VALIDATE 0x200000 +#define GMDI_GOINTOPOPUPS 2 +#define GMDI_USEDISABLED 1 +#define FKF_AVAILABLE 2 +#define FKF_CLICKON 64 +#define FKF_FILTERKEYSON 1 +#define FKF_HOTKEYACTIVE 4 +#define FKF_HOTKEYSOUND 16 +#define FKF_CONFIRMHOTKEY 8 +#define FKF_INDICATOR 32 +#define HCF_HIGHCONTRASTON 1 +#define HCF_AVAILABLE 2 +#define HCF_HOTKEYACTIVE 4 +#define HCF_CONFIRMHOTKEY 8 +#define HCF_HOTKEYSOUND 16 +#define HCF_INDICATOR 32 +#define HCF_HOTKEYAVAILABLE 64 +#define MKF_AVAILABLE 2 +#define MKF_CONFIRMHOTKEY 8 +#define MKF_HOTKEYACTIVE 4 +#define MKF_HOTKEYSOUND 16 +#define MKF_INDICATOR 32 +#define MKF_MOUSEKEYSON 1 +#define MKF_MODIFIERS 64 +#define MKF_REPLACENUMBERS 128 +#define SERKF_AVAILABLE 2 +#define SERKF_INDICATOR 4 +#define SERKF_SERIALKEYSON 1 +#define SSF_AVAILABLE 2 +#define SSF_SOUNDSENTRYON 1 +#define SSTF_BORDER 2 +#define SSTF_CHARS 1 +#define SSTF_DISPLAY 3 +#define SSTF_NONE 0 +#define SSGF_DISPLAY 3 +#define SSGF_NONE 0 +#define SSWF_CUSTOM 4 +#define SSWF_DISPLAY 3 +#define SSWF_NONE 0 +#define SSWF_TITLE 1 +#define SSWF_WINDOW 2 +#define SKF_AUDIBLEFEEDBACK 64 +#define SKF_AVAILABLE 2 +#define SKF_CONFIRMHOTKEY 8 +#define SKF_HOTKEYACTIVE 4 +#define SKF_HOTKEYSOUND 16 +#define SKF_INDICATOR 32 +#define SKF_STICKYKEYSON 1 +#define SKF_TRISTATE 128 +#define SKF_TWOKEYSOFF 256 +#define TKF_AVAILABLE 2 +#define TKF_CONFIRMHOTKEY 8 +#define TKF_HOTKEYACTIVE 4 +#define TKF_HOTKEYSOUND 16 +#define TKF_TOGGLEKEYSON 1 +#define MDITILE_SKIPDISABLED 2 +#define MDITILE_HORIZONTAL 1 +#define MDITILE_VERTICAL 0 +#define VK_LBUTTON 1 +#define VK_RBUTTON 2 +#define VK_CANCEL 3 +#define VK_MBUTTON 4 +#define VK_BACK 8 +#define VK_TAB 9 +#define VK_CLEAR 12 +#define VK_RETURN 13 +#define VK_SHIFT 16 +#define VK_CONTROL 17 +#define VK_MENU 18 +#define VK_PAUSE 19 +#define VK_CAPITAL 20 +#define VK_ESCAPE 0x1B +#define VK_SPACE 32 +#define VK_PRIOR 33 +#define VK_NEXT 34 +#define VK_END 35 +#define VK_HOME 36 +#define VK_LEFT 37 +#define VK_UP 38 +#define VK_RIGHT 39 +#define VK_DOWN 40 +#define VK_SELECT 41 +#define VK_PRINT 42 +#define VK_EXECUTE 43 +#define VK_SNAPSHOT 44 +#define VK_INSERT 45 +#define VK_DELETE 46 +#define VK_HELP 47 +#define VK_LWIN 0x5B +#define VK_RWIN 0x5C +#define VK_APPS 0x5D +#define VK_NUMPAD0 0x60 +#define VK_NUMPAD1 0x61 +#define VK_NUMPAD2 0x62 +#define VK_NUMPAD3 0x63 +#define VK_NUMPAD4 0x64 +#define VK_NUMPAD5 0x65 +#define VK_NUMPAD6 0x66 +#define VK_NUMPAD7 0x67 +#define VK_NUMPAD8 0x68 +#define VK_NUMPAD9 0x69 +#define VK_MULTIPLY 0x6A +#define VK_ADD 0x6B +#define VK_SEPARATOR 0x6C +#define VK_SUBTRACT 0x6D +#define VK_DECIMAL 0x6E +#define VK_DIVIDE 0x6F +#define VK_F1 0x70 +#define VK_F2 0x71 +#define VK_F3 0x72 +#define VK_F4 0x73 +#define VK_F5 0x74 +#define VK_F6 0x75 +#define VK_F7 0x76 +#define VK_F8 0x77 +#define VK_F9 0x78 +#define VK_F10 0x79 +#define VK_F11 0x7A +#define VK_F12 0x7B +#define VK_F13 0x7C +#define VK_F14 0x7D +#define VK_F15 0x7E +#define VK_F16 0x7F +#define VK_F17 0x80 +#define VK_F18 0x81 +#define VK_F19 0x82 +#define VK_F20 0x83 +#define VK_F21 0x84 +#define VK_F22 0x85 +#define VK_F23 0x86 +#define VK_F24 0x87 +#define VK_NUMLOCK 0x90 +#define VK_SCROLL 0x91 +#define VK_LSHIFT 0xA0 +#define VK_RSHIFT 0xA1 +#define VK_LCONTROL 0xA2 +#define VK_RCONTROL 0xA3 +#define VK_LMENU 0xA4 +#define VK_RMENU 0xA5 +#define VK_PROCESSKEY 0xE5 +#define VK_ATTN 0xF6 +#define VK_CRSEL 0xF7 +#define VK_EXSEL 0xF8 +#define VK_EREOF 0xF9 +#define VK_PLAY 0xFA +#define VK_ZOOM 0xFB +#define VK_NONAME 0xFC +#define VK_PA1 0xFD +#define VK_OEM_CLEAR 0xFE +#define TME_HOVER 1 +#define TME_LEAVE 2 +#define TME_QUERY 0x40000000 +#define TME_CANCEL 0x80000000 +#define HOVER_DEFAULT 0xFFFFFFFF +#define MK_LBUTTON 1 +#define MK_RBUTTON 2 +#define MK_SHIFT 4 +#define MK_CONTROL 8 +#define MK_MBUTTON 16 +#define TPM_CENTERALIGN 4 +#define TPM_LEFTALIGN 0 +#define TPM_RIGHTALIGN 8 +#define TPM_LEFTBUTTON 0 +#define TPM_RIGHTBUTTON 2 +#define TPM_HORIZONTAL 0 +#define TPM_VERTICAL 64 +#define TPM_TOPALIGN 0 +#define TPM_VCENTERALIGN 16 +#define TPM_BOTTOMALIGN 32 +#define TPM_NONOTIFY 128 +#define TPM_RETURNCMD 256 +#define HELP_COMMAND 0x102 +#define HELP_CONTENTS 3 +#define HELP_CONTEXT 1 +#define HELP_CONTEXTPOPUP 8 +#define HELP_FORCEFILE 9 +#define HELP_HELPONHELP 4 +#define HELP_INDEX 3 +#define HELP_KEY 0x101 +#define HELP_MULTIKEY 0x201 +#define HELP_PARTIALKEY 0x105 +#define HELP_QUIT 2 +#define HELP_SETCONTENTS 5 +#define HELP_SETINDEX 5 +#define HELP_CONTEXTMENU 0xa +#define HELP_FINDER 0xb +#define HELP_WM_HELP 0xc +#define HELP_TCARD 0x8000 +#define HELP_TCARD_DATA 16 +#define HELP_TCARD_OTHER_CALLER 0x11 +#define IDH_NO_HELP 28440 +#define IDH_MISSING_CONTEXT 28441 +#define IDH_GENERIC_HELP_BUTTON 28442 +#define IDH_OK 28443 +#define IDH_CANCEL 28444 +#define IDH_HELP 28445 +#define LB_CTLCODE 0 +#define LB_OKAY 0 +#define LB_ERR (-1) +#define LB_ERRSPACE (-2) +#define CB_OKAY 0 +#define CB_ERR (-1) +#define CB_ERRSPACE (-2) +#define HIDE_WINDOW 0 +#define SHOW_OPENWINDOW 1 +#define SHOW_ICONWINDOW 2 +#define SHOW_FULLSCREEN 3 +#define SHOW_OPENNOACTIVATE 4 +#define SW_PARENTCLOSING 1 +#define SW_OTHERZOOM 2 +#define SW_PARENTOPENING 3 +#define SW_OTHERUNZOOM 4 +#define KF_EXTENDED 256 +#define KF_DLGMODE 2048 +#define KF_MENUMODE 4096 +#define KF_ALTDOWN 8192 +#define KF_REPEAT 16384 +#define KF_UP 32768 +#define WSF_VISIBLE 1 +#define PWR_OK 1 +#define PWR_FAIL (-1) +#define PWR_SUSPENDREQUEST 1 +#define PWR_SUSPENDRESUME 2 +#define PWR_CRITICALRESUME 3 +#define NFR_ANSI 1 +#define NFR_UNICODE 2 +#define NF_QUERY 3 +#define NF_REQUERY 4 +#define MENULOOP_WINDOW 0 +#define MENULOOP_POPUP 1 +#define WMSZ_LEFT 1 +#define WMSZ_RIGHT 2 +#define WMSZ_TOP 3 +#define WMSZ_TOPLEFT 4 +#define WMSZ_TOPRIGHT 5 +#define WMSZ_BOTTOM 6 +#define WMSZ_BOTTOMLEFT 7 +#define WMSZ_BOTTOMRIGHT 8 +#define HTERROR (-2) +#define HTTRANSPARENT (-1) +#define HTNOWHERE 0 +#define HTCLIENT 1 +#define HTCAPTION 2 +#define HTSYSMENU 3 +#define HTGROWBOX 4 +#define HTSIZE 4 +#define HTMENU 5 +#define HTHSCROLL 6 +#define HTVSCROLL 7 +#define HTMINBUTTON 8 +#define HTMAXBUTTON 9 +#define HTREDUCE 8 +#define HTZOOM 9 +#define HTLEFT 10 +#define HTSIZEFIRST 10 +#define HTRIGHT 11 +#define HTTOP 12 +#define HTTOPLEFT 13 +#define HTTOPRIGHT 14 +#define HTBOTTOM 15 +#define HTBOTTOMLEFT 16 +#define HTBOTTOMRIGHT 17 +#define HTSIZELAST 17 +#define HTBORDER 18 +#define HTOBJECT 19 +#define HTCLOSE 20 +#define HTHELP 21 +#define MA_ACTIVATE 1 +#define MA_ACTIVATEANDEAT 2 +#define MA_NOACTIVATE 3 +#define MA_NOACTIVATEANDEAT 4 +#define SIZE_RESTORED 0 +#define SIZE_MINIMIZED 1 +#define SIZE_MAXIMIZED 2 +#define SIZE_MAXSHOW 3 +#define SIZE_MAXHIDE 4 +#define SIZENORMAL 0 +#define SIZEICONIC 1 +#define SIZEFULLSCREEN 2 +#define SIZEZOOMSHOW 3 +#define SIZEZOOMHIDE 4 +#define WVR_ALIGNTOP 16 +#define WVR_ALIGNLEFT 32 +#define WVR_ALIGNBOTTOM 64 +#define WVR_ALIGNRIGHT 128 +#define WVR_HREDRAW 256 +#define WVR_VREDRAW 512 +#define WVR_REDRAW (WVR_HREDRAW|WVR_VREDRAW) +#define WVR_VALIDRECTS 1024 +#define PRF_CHECKVISIBLE 1 +#define PRF_NONCLIENT 2 +#define PRF_CLIENT 4 +#define PRF_ERASEBKGND 8 +#define PRF_CHILDREN 16 +#define PRF_OWNED 32 +#define IDANI_OPEN 1 +#define IDANI_CLOSE 2 +#define IDANI_CAPTION 3 +#define WPF_RESTORETOMAXIMIZED 2 +#define WPF_SETMINPOSITION 1 +#define ODT_MENU 1 +#define ODT_LISTBOX 2 +#define ODT_COMBOBOX 3 +#define ODT_BUTTON 4 +#define ODT_STATIC 5 +#define ODA_DRAWENTIRE 1 +#define ODA_SELECT 2 +#define ODA_FOCUS 4 +#define ODS_SELECTED 1 +#define ODS_GRAYED 2 +#define ODS_DISABLED 4 +#define ODS_CHECKED 8 +#define ODS_FOCUS 16 +#define ODS_DEFAULT 32 +#define ODS_COMBOBOXEDIT 4096 +#define IDHOT_SNAPWINDOW (-1) +#define IDHOT_SNAPDESKTOP (-2) +#define DBWF_LPARAMPOINTER 0x8000 +#define DLGWINDOWEXTRA 30 +#define MNC_IGNORE 0 +#define MNC_CLOSE 1 +#define MNC_EXECUTE 2 +#define MNC_SELECT 3 +#define DOF_EXECUTABLE 0x8001 +#define DOF_DOCUMENT 0x8002 +#define DOF_DIRECTORY 0x8003 +#define DOF_MULTIPLE 0x8004 +#define DOF_PROGMAN 1 +#define DOF_SHELLDATA 2 +#define DO_DROPFILE 0x454C4946 +#define DO_PRINTFILE 0x544E5250 +#define SW_SCROLLCHILDREN 1 +#define SW_INVALIDATE 2 +#define SW_ERASE 4 +#define SC_SIZE 0xF000 +#define SC_MOVE 0xF010 +#define SC_MINIMIZE 0xF020 +#define SC_ICON 0xf020 +#define SC_MAXIMIZE 0xF030 +#define SC_ZOOM 0xF030 +#define SC_NEXTWINDOW 0xF040 +#define SC_PREVWINDOW 0xF050 +#define SC_CLOSE 0xF060 +#define SC_VSCROLL 0xF070 +#define SC_HSCROLL 0xF080 +#define SC_MOUSEMENU 0xF090 +#define SC_KEYMENU 0xF100 +#define SC_ARRANGE 0xF110 +#define SC_RESTORE 0xF120 +#define SC_TASKLIST 0xF130 +#define SC_SCREENSAVE 0xF140 +#define SC_HOTKEY 0xF150 +#define SC_DEFAULT 0xF160 +#define SC_MONITORPOWER 0xF170 +#define SC_CONTEXTHELP 0xF180 +#define SC_SEPARATOR 0xF00F +#define EC_LEFTMARGIN 1 +#define EC_RIGHTMARGIN 2 +#define EC_USEFONTINFO 0xffff +#define DC_HASDEFID 0x534B +#define DLGC_WANTARROWS 1 +#define DLGC_WANTTAB 2 +#define DLGC_WANTALLKEYS 4 +#define DLGC_WANTMESSAGE 4 +#define DLGC_HASSETSEL 8 +#define DLGC_DEFPUSHBUTTON 16 +#define DLGC_UNDEFPUSHBUTTON 32 +#define DLGC_RADIOBUTTON 64 +#define DLGC_WANTCHARS 128 +#define DLGC_STATIC 256 +#define DLGC_BUTTON 0x2000 +#define LB_CTLCODE 0 +#define WA_INACTIVE 0 +#define WA_ACTIVE 1 +#define WA_CLICKACTIVE 2 +#define ICON_SMALL 0 +#define ICON_BIG 1 +#define HBMMENU_CALLBACK ((HBITMAP) -1) +#define HBMMENU_SYSTEM ((HBITMAP)1) +#define HBMMENU_MBAR_RESTORE ((HBITMAP)2) +#define HBMMENU_MBAR_MINIMIZE ((HBITMAP)3) +#define HBMMENU_MBAR_CLOSE ((HBITMAP)5) +#define HBMMENU_MBAR_CLOSE_D ((HBITMAP)6) +#define HBMMENU_MBAR_MINIMIZE_D ((HBITMAP)7) +#define HBMMENU_POPUP_CLOSE ((HBITMAP)8) +#define HBMMENU_POPUP_RESTORE ((HBITMAP)9) +#define HBMMENU_POPUP_MAXIMIZE ((HBITMAP)10) +#define HBMMENU_POPUP_MINIMIZE ((HBITMAP)11) +#define MOD_ALT 1 +#define MOD_CONTROL 2 +#define MOD_SHIFT 4 +#define MOD_WIN 8 +#define MOD_IGNORE_ALL_MODIFIER 1024 +#define MOD_ON_KEYUP 2048 +#define MOD_RIGHT 16384 +#define MOD_LEFT 32768 +#ifndef RC_INVOKED +typedef BOOL(CALLBACK *DLGPROC)(HWND,UINT,WPARAM,LPARAM); +typedef VOID(CALLBACK *TIMERPROC)(HWND,UINT,UINT,DWORD); +typedef BOOL(CALLBACK *GRAYSTRINGPROC)(HDC,LPARAM,int); +typedef LRESULT(CALLBACK *HOOKPROC)(int,WPARAM,LPARAM); +typedef BOOL(CALLBACK *PROPENUMPROCA)(HWND,LPCSTR,HANDLE); +typedef BOOL(CALLBACK *PROPENUMPROCW)(HWND,LPCWSTR,HANDLE); +typedef BOOL(CALLBACK *PROPENUMPROCEXA)(HWND,LPSTR,HANDLE,DWORD); +typedef BOOL(CALLBACK *PROPENUMPROCEXW)(HWND,LPWSTR,HANDLE,DWORD); +typedef int(CALLBACK *EDITWORDBREAKPROCA)(LPSTR,int,int,int); +typedef int(CALLBACK *EDITWORDBREAKPROCW)(LPWSTR,int,int,int); +typedef LRESULT(CALLBACK *WNDPROC)(HWND,UINT,WPARAM,LPARAM); +typedef BOOL(CALLBACK *DRAWSTATEPROC)(HDC,LPARAM,WPARAM,int,int); +typedef BOOL(CALLBACK *WNDENUMPROC)(HWND,LPARAM); +typedef BOOL(CALLBACK *ENUMWINDOWSPROC)(HWND,LPARAM); +typedef BOOL(CALLBACK *NAMEENUMPROCA)(LPSTR,LPARAM); +typedef BOOL(CALLBACK *NAMEENUMPROCW)(LPWSTR,LPARAM); +typedef NAMEENUMPROCA DESKTOPENUMPROCA; +typedef NAMEENUMPROCW DESKTOPENUMPROCW; +typedef NAMEENUMPROCA WINSTAENUMPROCA; +typedef NAMEENUMPROCW WINSTAENUMPROCW; +typedef void(CALLBACK *SENDASYNCPROC)(HWND,UINT,DWORD,LRESULT); +DECLARE_HANDLE(HHOOK); +DECLARE_HANDLE(HDWP); +typedef struct tagACCEL { + BYTE fVirt; + WORD key; + WORD cmd; +} ACCEL,*LPACCEL; +typedef struct tagACCESSTIMEOUT { + UINT cbSize; + DWORD dwFlags; + DWORD iTimeOutMSec; +} ACCESSTIMEOUT; +typedef struct tagANIMATIONINFO { + UINT cbSize; + int iMinAnimate; +} ANIMATIONINFO,*LPANIMATIONINFO; +typedef struct tagCREATESTRUCT { + LPVOID lpCreateParams; + HINSTANCE hInstance; + HMENU hMenu; + HWND hwndParent; + int cy; + int cx; + int y; + int x; + LONG style; + LPCTSTR lpszName; + LPCTSTR lpszClass; + DWORD dwExStyle; +} CREATESTRUCT,*LPCREATESTRUCT; +typedef struct tagCBT_CREATEWND { + LPCREATESTRUCT lpcs; + HWND hwndInsertAfter; +} CBT_CREATEWND; +typedef struct tagCBTACTIVATESTRUCT { + BOOL fMouse; + HWND hWndActive; +} CBTACTIVATESTRUCT,*LPCBTACTIVATESTRUCT; +typedef struct tagCLIENTCREATESTRUCT { + HANDLE hWindowMenu; + UINT idFirstChild; +} CLIENTCREATESTRUCT,*LPCLIENTCREATESTRUCT; +typedef struct tagCOMPAREITEMSTRUCT { + UINT CtlType; + UINT CtlID; + HWND hwndItem; + UINT itemID1; + DWORD itemData1; + UINT itemID2; + DWORD itemData2; + DWORD dwLocaleId; +} COMPAREITEMSTRUCT,*LPCOMPAREITEMSTRUCT; +typedef struct tagCOPYDATASTRUCT { + DWORD dwData; + DWORD cbData; + PVOID lpData; +} COPYDATASTRUCT; +typedef struct tagCURSORSHAPE { + int xHotSpot; + int yHotSpot; + int cx; + int cy; + int cbWidth; + BYTE Planes; + BYTE BitsPixel; +} CURSORSHAPE,*LPCURSORSHAPE; +typedef struct tagCWPRETSTRUCT { + LRESULT lResult; + LPARAM lParam; + WPARAM wParam; + DWORD message; + HWND hwnd; +} CWPRETSTRUCT; +typedef struct tagCWPSTRUCT { + LPARAM lParam; + WPARAM wParam; + UINT message; + HWND hwnd; +} CWPSTRUCT,*PWCWPSTRUCT; +typedef struct tagDEBUGHOOKINFO { + DWORD idThread; + DWORD idThreadInstaller; + LPARAM lParam; + WPARAM wParam; + int code; +} DEBUGHOOKINFO,*PDEBUGHOOKINFO,*LPDEBUGHOOKINFO; +typedef struct tagDELETEITEMSTRUCT { + UINT CtlType; + UINT CtlID; + UINT itemID; + HWND hwndItem; + UINT itemData; +} DELETEITEMSTRUCT,*PDELETEITEMSTRUCT,*LPDELETEITEMSTRUCT; +#pragma pack(push,2) +typedef struct { + DWORD style; + DWORD dwExtendedStyle; + short x; + short y; + short cx; + short cy; + WORD id; +} DLGITEMTEMPLATE,*LPDLGITEMTEMPLATE; +typedef struct { + DWORD style; + DWORD dwExtendedStyle; + WORD cdit; + short x; + short y; + short cx; + short cy; +} DLGTEMPLATE,*LPDLGTEMPLATE; +typedef const DLGTEMPLATE *LPCDLGTEMPLATE; +#pragma pack(pop) +typedef struct tagDRAWITEMSTRUCT { + UINT CtlType; + UINT CtlID; + UINT itemID; + UINT itemAction; + UINT itemState; + HWND hwndItem; + HDC hDC; + RECT rcItem; + DWORD itemData; +} DRAWITEMSTRUCT,*LPDRAWITEMSTRUCT,*PDRAWITEMSTRUCT; +typedef struct { + UINT cbSize; + int iTabLength; + int iLeftMargin; + int iRightMargin; + UINT uiLengthDrawn; +} DRAWTEXTPARAMS,*LPDRAWTEXTPARAMS; +typedef struct tagPAINTSTRUCT { + HDC hdc; + BOOL fErase; + RECT rcPaint; + BOOL fRestore; + BOOL fIncUpdate; + BYTE rgbReserved[32]; +} PAINTSTRUCT,*LPPAINTSTRUCT; +typedef struct tagMSG { + HWND hwnd; + UINT message; + WPARAM wParam; + LPARAM lParam; + DWORD time; + POINT pt; +} MSG,*LPMSG,*PMSG; +typedef struct _ICONINFO { + BOOL fIcon; + DWORD xHotspot; + DWORD yHotspot; + HBITMAP hbmMask; + HBITMAP hbmColor; +} ICONINFO,*PICONINFO; +typedef struct tagNMHDR { + HWND hwndFrom; + UINT idFrom; + UINT code; +} NMHDR,*LPNMHDR; +typedef struct _WNDCLASSA { + UINT style; + WNDPROC lpfnWndProc; + int cbClsExtra; + int cbWndExtra; + HANDLE hInstance; + HICON hIcon; + HCURSOR hCursor; + HBRUSH hbrBackground; + LPCSTR lpszMenuName; + LPCSTR lpszClassName; +} WNDCLASSA,*LPWNDCLASSA,*PWNDCLASSA; +typedef struct _WNDCLASSW { + UINT style; + WNDPROC lpfnWndProc; + int cbClsExtra; + int cbWndExtra; + HANDLE hInstance; + HICON hIcon; + HCURSOR hCursor; + HBRUSH hbrBackground; + LPCWSTR lpszMenuName; + LPCWSTR lpszClassName; +} WNDCLASSW,*LPWNDCLASSW,*PWNDCLASSW; +typedef struct _WNDCLASSEXA { + UINT cbSize; + UINT style; + WNDPROC lpfnWndProc; + int cbClsExtra; + int cbWndExtra; + HANDLE hInstance; + HICON hIcon; + HCURSOR hCursor; + HBRUSH hbrBackground; + LPCSTR lpszMenuName; + LPCSTR lpszClassName; + HICON hIconSm; +} WNDCLASSEXA,*LPWNDCLASSEXA,*PWNDCLASSEXA; +typedef struct _WNDCLASSEXW { + UINT cbSize; + UINT style; + WNDPROC lpfnWndProc; + int cbClsExtra; + int cbWndExtra; + HANDLE hInstance; + HICON hIcon; + HCURSOR hCursor; + HBRUSH hbrBackground; + LPCWSTR lpszMenuName; + LPCWSTR lpszClassName; + HICON hIconSm; +} WNDCLASSEXW,*LPWNDCLASSEXW,*PWNDCLASSEXW; +typedef struct tagMENUITEMINFOA { + UINT cbSize; + UINT fMask; + UINT fType; + UINT fState; + UINT wID; + HMENU hSubMenu; + HBITMAP hbmpChecked; + HBITMAP hbmpUnchecked; + DWORD dwItemData; + LPSTR dwTypeData; + UINT cch; +#if (_WIN32_WINNT >= 0x0500) + HBITMAP hbmpItem; +#endif +} MENUITEMINFOA,*LPMENUITEMINFOA; +typedef const MENUITEMINFOA *LPCMENUITEMINFOA; +typedef struct tagMENUITEMINFOW { + UINT cbSize; + UINT fMask; + UINT fType; + UINT fState; + UINT wID; + HMENU hSubMenu; + HBITMAP hbmpChecked; + HBITMAP hbmpUnchecked; + DWORD dwItemData; + LPWSTR dwTypeData; + UINT cch; +#if (_WIN32_WINNT >= 0x0500) + HBITMAP hbmpItem; +#endif +} MENUITEMINFOW,*LPMENUITEMINFOW; +typedef const MENUITEMINFOW *LPCMENUITEMINFOW; +typedef struct tagSCROLLINFO { + UINT cbSize; + UINT fMask; + int nMin; + int nMax; + UINT nPage; + int nPos; + int nTrackPos; +} SCROLLINFO,*LPSCROLLINFO; +typedef const SCROLLINFO *LPCSCROLLINFO; +typedef struct _WINDOWPLACEMENT { + UINT length; + UINT flags; + UINT showCmd; + POINT ptMinPosition; + POINT ptMaxPosition; + RECT rcNormalPosition; +} WINDOWPLACEMENT,*LPWINDOWPLACEMENT,*PWINDOWPLACEMENT; +typedef struct { + WORD versionNumber; + WORD offset; +} MENUITEMTEMPLATEHEADER; +typedef struct { + WORD mtOption; + WORD mtID; + WCHAR mtString[1]; +} MENUITEMTEMPLATE; +typedef void MENUTEMPLATE,MENUTEMPLATEA,MENUTEMPLATEW,*LPMENUTEMPLATEA,*LPMENUTEMPLATEW,*LPMENUTEMPLATE; +typedef struct tagHELPINFO { + UINT cbSize; + int iContextType; + int iCtrlId; + HANDLE hItemHandle; + DWORD dwContextId; + POINT MousePos; +} HELPINFO,*LPHELPINFO; +typedef void(CALLBACK *MSGBOXCALLBACK)(LPHELPINFO); +typedef struct { + UINT cbSize; + HWND hwndOwner; + HINSTANCE hInstance; + LPCSTR lpszText; + LPCSTR lpszCaption; + DWORD dwStyle; + LPCSTR lpszIcon; + DWORD dwContextHelpId; + MSGBOXCALLBACK lpfnMsgBoxCallback; + DWORD dwLanguageId; +} MSGBOXPARAMSA,*PMSGBOXPARAMSA,*LPMSGBOXPARAMSA; +typedef struct { + UINT cbSize; + HWND hwndOwner; + HINSTANCE hInstance; + LPCWSTR lpszText; + LPCWSTR lpszCaption; + DWORD dwStyle; + LPCWSTR lpszIcon; + DWORD dwContextHelpId; + MSGBOXCALLBACK lpfnMsgBoxCallback; + DWORD dwLanguageId; +} MSGBOXPARAMSW,*PMSGBOXPARAMSW,*LPMSGBOXPARAMSW; +typedef struct tagUSEROBJECTFLAGS { + BOOL fInherit; + BOOL fReserved; + DWORD dwFlags; +} USEROBJECTFLAGS; +typedef struct tagFILTERKEYS { + UINT cbSize; + DWORD dwFlags; + DWORD iWaitMSec; + DWORD iDelayMSec; + DWORD iRepeatMSec; + DWORD iBounceMSec; +} FILTERKEYS; +typedef struct tagHIGHCONTRASTA { + UINT cbSize; + DWORD dwFlags; + LPSTR lpszDefaultScheme; +} HIGHCONTRASTA,*LPHIGHCONTRASTA; +typedef struct tagHIGHCONTRASTW { + UINT cbSize; + DWORD dwFlags; + LPWSTR lpszDefaultScheme; +} HIGHCONTRASTW,*LPHIGHCONTRASTW; +typedef struct tagICONMETRICSA { + UINT cbSize; + int iHorzSpacing; + int iVertSpacing; + int iTitleWrap; + LOGFONTA lfFont; +} ICONMETRICSA,*LPICONMETRICSA; +typedef struct tagICONMETRICSW { + UINT cbSize; + int iHorzSpacing; + int iVertSpacing; + int iTitleWrap; + LOGFONTW lfFont; +} ICONMETRICSW,*LPICONMETRICSW; +typedef struct tagMINIMIZEDMETRICS { + UINT cbSize; + int iWidth; + int iHorzGap; + int iVertGap; + int iArrange; +} MINIMIZEDMETRICS,*LPMINIMIZEDMETRICS; +typedef struct tagNONCLIENTMETRICSA { + UINT cbSize; + int iBorderWidth; + int iScrollWidth; + int iScrollHeight; + int iCaptionWidth; + int iCaptionHeight; + LOGFONTA lfCaptionFont; + int iSmCaptionWidth; + int iSmCaptionHeight; + LOGFONTA lfSmCaptionFont; + int iMenuWidth; + int iMenuHeight; + LOGFONTA lfMenuFont; + LOGFONTA lfStatusFont; + LOGFONTA lfMessageFont; +} NONCLIENTMETRICSA,*LPNONCLIENTMETRICSA; +typedef struct tagNONCLIENTMETRICSW { + UINT cbSize; + int iBorderWidth; + int iScrollWidth; + int iScrollHeight; + int iCaptionWidth; + int iCaptionHeight; + LOGFONTW lfCaptionFont; + int iSmCaptionWidth; + int iSmCaptionHeight; + LOGFONTW lfSmCaptionFont; + int iMenuWidth; + int iMenuHeight; + LOGFONTW lfMenuFont; + LOGFONTW lfStatusFont; + LOGFONTW lfMessageFont; +} NONCLIENTMETRICSW,*LPNONCLIENTMETRICSW; +typedef struct tagSERIALKEYSA { + UINT cbSize; + DWORD dwFlags; + LPSTR lpszActivePort; + LPSTR lpszPort; + UINT iBaudRate; + UINT iPortState; + UINT iActive; +} SERIALKEYSA,*LPSERIALKEYSA; +typedef struct tagSERIALKEYSW { + UINT cbSize; + DWORD dwFlags; + LPWSTR lpszActivePort; + LPWSTR lpszPort; + UINT iBaudRate; + UINT iPortState; + UINT iActive; +} SERIALKEYSW,*LPSERIALKEYSW; +typedef struct tagSOUNDSENTRYA { + UINT cbSize; + DWORD dwFlags; + DWORD iFSTextEffect; + DWORD iFSTextEffectMSec; + DWORD iFSTextEffectColorBits; + DWORD iFSGrafEffect; + DWORD iFSGrafEffectMSec; + DWORD iFSGrafEffectColor; + DWORD iWindowsEffect; + DWORD iWindowsEffectMSec; + LPSTR lpszWindowsEffectDLL; + DWORD iWindowsEffectOrdinal; +} SOUNDSENTRYA,*LPSOUNDSENTRYA; +typedef struct tagSOUNDSENTRYW { + UINT cbSize; + DWORD dwFlags; + DWORD iFSTextEffect; + DWORD iFSTextEffectMSec; + DWORD iFSTextEffectColorBits; + DWORD iFSGrafEffect; + DWORD iFSGrafEffectMSec; + DWORD iFSGrafEffectColor; + DWORD iWindowsEffect; + DWORD iWindowsEffectMSec; + LPWSTR lpszWindowsEffectDLL; + DWORD iWindowsEffectOrdinal; +} SOUNDSENTRYW,*LPSOUNDSENTRYW; +typedef struct tagSTICKYKEYS { + DWORD cbSize; + DWORD dwFlags; +} STICKYKEYS,*LPSTICKYKEYS; +typedef struct tagTOGGLEKEYS { + DWORD cbSize; + DWORD dwFlags; +} TOGGLEKEYS; +typedef struct tagTRACKMOUSEEVENT { + DWORD cbSize; + DWORD dwFlags; + HWND hwndTrack; + DWORD dwHoverTime; +} TRACKMOUSEEVENT,*LPTRACKMOUSEEVENT; +typedef struct tagTPMPARAMS { + UINT cbSize; + RECT rcExclude; +} TPMPARAMS,*LPTPMPARAMS; +typedef struct tagEVENTMSG { + UINT message; + UINT paramL; + UINT paramH; + DWORD time; + HWND hwnd; +} EVENTMSG,*PEVENTMSGMSG,*LPEVENTMSGMSG, *PEVENTMSG, *LPEVENTMSG; +typedef struct _WINDOWPOS { + HWND hwnd; + HWND hwndInsertAfter; + int x; + int y; + int cx; + int cy; + UINT flags; +} WINDOWPOS,*PWINDOWPOS,*LPWINDOWPOS; +typedef struct tagMDICREATESTRUCTA { + LPCSTR szClass; + LPCSTR szTitle; + HANDLE hOwner; + int x; + int y; + int cx; + int cy; + DWORD style; + LPARAM lParam; +} MDICREATESTRUCTA,*LPMDICREATESTRUCTA; +typedef struct tagMDICREATESTRUCTW { + LPCWSTR szClass; + LPCWSTR szTitle; + HANDLE hOwner; + int x; + int y; + int cx; + int cy; + DWORD style; + LPARAM lParam; +} MDICREATESTRUCTW,*LPMDICREATESTRUCTW; +typedef struct tagMINMAXINFO { + POINT ptReserved; + POINT ptMaxSize; + POINT ptMaxPosition; + POINT ptMinTrackSize; + POINT ptMaxTrackSize; +} MINMAXINFO,*PMINMAXINFO,*LPMINMAXINFO; +typedef struct tagMDINEXTMENU { + HMENU hmenuIn; + HMENU hmenuNext; + HWND hwndNext; +} MDINEXTMENU,*PMDINEXTMENU,*LPMDINEXTMENU; +typedef struct tagMEASUREITEMSTRUCT { + UINT CtlType; + UINT CtlID; + UINT itemID; + UINT itemWidth; + UINT itemHeight; + DWORD itemData; +} MEASUREITEMSTRUCT,*PMEASUREITEMSTRUCT,*LPMEASUREITEMSTRUCT; +typedef struct tagDROPSTRUCT { + HWND hwndSource; + HWND hwndSink; + DWORD wFmt; + DWORD dwData; + POINT ptDrop; + DWORD dwControlData; +} DROPSTRUCT,*PDROPSTRUCT,*LPDROPSTRUCT; +typedef DWORD HELPPOLY; +typedef struct tagMULTIKEYHELPA { + DWORD mkSize; + CHAR mkKeylist; + CHAR szKeyphrase[1]; +} MULTIKEYHELPA,*PMULTIKEYHELPA,*LPMULTIKEYHELPA; +typedef struct tagMULTIKEYHELPW { + DWORD mkSize; + WCHAR mkKeylist; + WCHAR szKeyphrase[1]; +} MULTIKEYHELPW,*PMULTIKEYHELPW,*LPMULTIKEYHELPW; +typedef struct tagHELPWININFOA { + int wStructSize; + int x; + int y; + int dx; + int dy; + int wMax; + CHAR rgchMember[2]; +} HELPWININFOA,*PHELPWININFOA,*LPHELPWININFOA; +typedef struct tagHELPWININFOW { + int wStructSize; + int x; + int y; + int dx; + int dy; + int wMax; + WCHAR rgchMember[2]; +} HELPWININFOW,*PHELPWININFOW,*LPHELPWININFOW; +typedef struct tagSTYLESTRUCT { + DWORD styleOld; + DWORD styleNew; +} STYLESTRUCT,*LPSTYLESTRUCT; + +#define AnsiToOem CharToOemA +#define OemToAnsi OemToCharA +#define AnsiToOemBuff CharToOemBuffA +#define OemToAnsiBuff OemToCharBuffA +#define AnsiUpper CharUpperA +#define AnsiUpperBuff CharUpperBuffA +#define AnsiLower CharLowerA +#define AnsiLowerBuff CharLowerBuffA +#define AnsiNext CharNextA +#define AnsiPrev CharPrevA +#define MAKELPARAM(l,h) ((LPARAM)MAKELONG(l,h)) +#define MAKEWPARAM(l,h) ((WPARAM)MAKELONG(l,h)) +#define MAKELRESULT(l,h) ((LRESULT)MAKELONG(l,h)) +#define POINTSTOPOINT(p,ps) {(p).x=LOWORD(pts);(ps).y=HIWORD(ps);} +#define POINTTOPOINTS(p) ((POINTS)MAKELONG((p).x,(p).y)) + +HKL WINAPI ActivateKeyboardLayout(HKL,UINT); +BOOL WINAPI AdjustWindowRect(LPRECT,DWORD,BOOL); +BOOL WINAPI AdjustWindowRectEx(LPRECT,DWORD,BOOL,DWORD); +BOOL WINAPI AnyPopup(void); +BOOL WINAPI AppendMenuA(HMENU,UINT,UINT,LPCSTR); +BOOL WINAPI AppendMenuW(HMENU,UINT,UINT,LPCWSTR); +UINT WINAPI ArrangeIconicWindows(HWND); +BOOL WINAPI AttachThreadInput(DWORD,DWORD,BOOL); +HDWP WINAPI BeginDeferWindowPos(int); +HDC WINAPI BeginPaint(HWND,LPPAINTSTRUCT); +BOOL WINAPI BringWindowToTop(HWND); +long WINAPI BroadcastSystemMessage(DWORD,LPDWORD,UINT,WPARAM,LPARAM); +BOOL WINAPI CallMsgFilter(PMSG,int); +LRESULT WINAPI CallNextHookEx(HHOOK,int,WPARAM,LPARAM); +LRESULT WINAPI CallWindowProcA(WNDPROC,HWND,UINT,WPARAM,LPARAM); +LRESULT WINAPI CallWindowProcW(WNDPROC,HWND,UINT,WPARAM,LPARAM); +WORD WINAPI CascadeWindows(HWND,UINT,LPCRECT,UINT,const HWND*); +BOOL WINAPI ChangeClipboardChain(HWND,HWND); +LONG WINAPI ChangeDisplaySettingsA(PDEVMODEA,DWORD); +LONG WINAPI ChangeDisplaySettingsW(PDEVMODEW,DWORD); +BOOL WINAPI ChangeMenuA(HMENU,UINT,LPCSTR,UINT,UINT); +BOOL WINAPI ChangeMenuW(HMENU,UINT,LPCWSTR,UINT,UINT); +LPSTR WINAPI CharLowerA(LPSTR); +LPWSTR WINAPI CharLowerW(LPWSTR); +DWORD WINAPI CharLowerBuffA(LPSTR,DWORD); +DWORD WINAPI CharLowerBuffW(LPWSTR,DWORD); +LPSTR WINAPI CharNextA(LPCSTR); +LPWSTR WINAPI CharNextW(LPCWSTR); +LPSTR WINAPI CharNextExA(WORD,LPCSTR,DWORD); +LPWSTR WINAPI CharNextExW(WORD,LPCWSTR,DWORD); +LPSTR WINAPI CharPrevA(LPCSTR,LPCSTR); +LPWSTR WINAPI CharPrevW(LPCWSTR,LPCWSTR); +LPSTR WINAPI CharPrevExA(WORD,LPCSTR,LPCSTR,DWORD); +LPWSTR WINAPI CharPrevExW(WORD,LPCWSTR,LPCWSTR,DWORD); +BOOL WINAPI CharToOemA(LPCSTR,LPSTR); +BOOL WINAPI CharToOemW(LPCWSTR,LPSTR); +BOOL WINAPI CharToOemBuffA(LPCSTR,LPSTR,DWORD); +BOOL WINAPI CharToOemBuffW(LPCWSTR,LPSTR,DWORD); +LPSTR WINAPI CharUpperA(LPSTR); +LPWSTR WINAPI CharUpperW(LPWSTR); +DWORD WINAPI CharUpperBuffA(LPSTR,DWORD); +DWORD WINAPI CharUpperBuffW(LPWSTR,DWORD); +BOOL WINAPI CheckDlgButton(HWND,int,UINT); +DWORD WINAPI CheckMenuItem(HMENU,UINT,UINT); +BOOL WINAPI CheckMenuRadioItem(HMENU,UINT,UINT,UINT,UINT); +BOOL WINAPI CheckRadioButton(HWND,int,int,int); +HWND WINAPI ChildWindowFromPoint(HWND,POINT); +HWND WINAPI ChildWindowFromPointEx(HWND,POINT,UINT); +BOOL WINAPI ClientToScreen(HWND,LPPOINT); +BOOL WINAPI ClipCursor(LPCRECT); +BOOL WINAPI CloseClipboard(void); +BOOL WINAPI CloseDesktop(HDESK); +BOOL WINAPI CloseWindow(HWND); +BOOL WINAPI CloseWindowStation(HWINSTA); +int WINAPI CopyAcceleratorTableA(HACCEL,LPACCEL,int); +int WINAPI CopyAcceleratorTableW(HACCEL,LPACCEL,int); +HCURSOR WINAPI CopyCursor(HCURSOR); +HICON WINAPI CopyIcon(HICON); +HANDLE WINAPI CopyImage(HANDLE,UINT,int,int,UINT); +BOOL WINAPI CopyRect(LPRECT,LPCRECT); +int WINAPI CountClipboardFormats(void); +HACCEL WINAPI CreateAcceleratorTableA(LPACCEL,int); +HACCEL WINAPI CreateAcceleratorTableW(LPACCEL,int); +BOOL WINAPI CreateCaret(HWND,HBITMAP,int,int); +HCURSOR WINAPI CreateCursor(HINSTANCE,int,int,int,int,PCVOID,PCVOID); +HDESK WINAPI CreateDesktopA(LPSTR,LPSTR,LPDEVMODEA,DWORD,DWORD,LPSECURITY_ATTRIBUTES); +HDESK WINAPI CreateDesktopW(LPWSTR,LPWSTR,LPDEVMODEW,DWORD,DWORD,LPSECURITY_ATTRIBUTES); +#define CreateDialogA(h,n,w,f) CreateDialogParamA(h,n,w,f,0) +#define CreateDialogW(h,n,w,f) CreateDialogParamW(h,n,w,f,0) +#define CreateDialogIndirectA(h,t,w,f) CreateDialogIndirectParamA(h,t,w,f,0) +#define CreateDialogIndirectW(h,t,w,f) CreateDialogIndirectParamW(h,t,w,f,0) +HWND WINAPI CreateDialogIndirectParamA(HINSTANCE,LPCDLGTEMPLATE,HWND,DLGPROC,LPARAM); +HWND WINAPI CreateDialogIndirectParamW(HINSTANCE,LPCDLGTEMPLATE,HWND,DLGPROC,LPARAM); +HWND WINAPI CreateDialogParamA(HINSTANCE,LPCSTR,HWND,DLGPROC,LPARAM); +HWND WINAPI CreateDialogParamW(HINSTANCE,LPCWSTR,HWND,DLGPROC,LPARAM); +HICON WINAPI CreateIcon(HINSTANCE,int,int,BYTE,BYTE,const BYTE*,const BYTE*); +HICON WINAPI CreateIconFromResource(PBYTE,DWORD,BOOL,DWORD); +HICON WINAPI CreateIconFromResourceEx(PBYTE,DWORD,BOOL,DWORD,int,int,UINT); +HICON WINAPI CreateIconIndirect(PICONINFO); +HWND WINAPI CreateMDIWindowA(LPSTR,LPSTR,DWORD,int,int,int,int,HWND,HINSTANCE,LPARAM); +HWND WINAPI CreateMDIWindowW(LPWSTR,LPWSTR,DWORD,int,int,int,int,HWND,HINSTANCE,LPARAM); +HMENU WINAPI CreateMenu(void); +HMENU WINAPI CreatePopupMenu(void); +#define CreateWindowA(a,b,c,d,e,f,g,h,i,j,k) CreateWindowExA(0,a,b,c,d,e,f,g,h,i,j,k) +#define CreateWindowW(a,b,c,d,e,f,g,h,i,j,k) CreateWindowExW(0,a,b,c,d,e,f,g,h,i,j,k) +HWND WINAPI CreateWindowExA(DWORD,LPCSTR,LPCSTR,DWORD,int,int,int,int,HWND,HMENU,HINSTANCE,LPVOID); +HWND WINAPI CreateWindowExW(DWORD,LPCWSTR,LPCWSTR,DWORD,int,int,int,int,HWND,HMENU,HINSTANCE,LPVOID); +HWINSTA WINAPI CreateWindowStationA(LPSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES); +HWINSTA WINAPI CreateWindowStationW(LPWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES); +LRESULT WINAPI DefDlgProcA(HWND,UINT,WPARAM,LPARAM); +LRESULT WINAPI DefDlgProcW(HWND,UINT,WPARAM,LPARAM); +HDWP WINAPI DeferWindowPos(HDWP,HWND,HWND,int,int,int,int,UINT); +LRESULT WINAPI DefFrameProcA(HWND,HWND,UINT,WPARAM,LPARAM); +LRESULT WINAPI DefFrameProcW(HWND,HWND,UINT,WPARAM,LPARAM); +#define DefHookProc(c,p,lp,h) CallNextHookEx((HHOOK)*h,c,p,lp) +LRESULT WINAPI DefMDIChildProcA(HWND,UINT,WPARAM,LPARAM); +LRESULT WINAPI DefMDIChildProcW(HWND,UINT,WPARAM,LPARAM); +LRESULT WINAPI DefWindowProcA(HWND,UINT,WPARAM,LPARAM); +LRESULT WINAPI DefWindowProcW(HWND,UINT,WPARAM,LPARAM); +BOOL WINAPI DeleteMenu(HMENU,UINT,UINT); +BOOL WINAPI DestroyAcceleratorTable(HACCEL); +BOOL WINAPI DestroyCaret(void); +BOOL WINAPI DestroyCursor(HCURSOR); +BOOL WINAPI DestroyIcon(HICON); +BOOL WINAPI DestroyMenu(HMENU); +BOOL WINAPI DestroyWindow(HWND); +#define DialogBoxA(i,t,p,f) DialogBoxParamA(i,t,p,f,0) +#define DialogBoxW(i,t,p,f) DialogBoxParamW(i,t,p,f,0) +#define DialogBoxIndirectA(i,t,p,f) DialogBoxIndirectParamA(i,t,p,f,0) +#define DialogBoxIndirectW(i,t,p,f) DialogBoxIndirectParamW(i,t,p,f,0) +int WINAPI DialogBoxIndirectParamA(HINSTANCE,LPCDLGTEMPLATE,HWND,DLGPROC,LPARAM); +int WINAPI DialogBoxIndirectParamW(HINSTANCE,LPCDLGTEMPLATE,HWND,DLGPROC,LPARAM); +int WINAPI DialogBoxParamA(HINSTANCE,LPCSTR,HWND,DLGPROC,LPARAM); +int WINAPI DialogBoxParamW(HINSTANCE,LPCWSTR,HWND,DLGPROC,LPARAM); +LONG WINAPI DispatchMessageA(const MSG*); +LONG WINAPI DispatchMessageW(const MSG*); +int WINAPI DlgDirListA(HWND,LPSTR,int,int,UINT); +int WINAPI DlgDirListW(HWND,LPWSTR,int,int,UINT); +int WINAPI DlgDirListComboBoxA(HWND,LPSTR,int,int,UINT); +int WINAPI DlgDirListComboBoxW(HWND,LPWSTR,int,int,UINT); +BOOL WINAPI DlgDirSelectComboBoxExA(HWND,LPSTR,int,int); +BOOL WINAPI DlgDirSelectComboBoxExW(HWND,LPWSTR,int,int); +BOOL WINAPI DlgDirSelectExA(HWND,LPSTR,int,int); +BOOL WINAPI DlgDirSelectExW(HWND,LPWSTR,int,int); +BOOL WINAPI DragDetect(HWND,POINT); +DWORD WINAPI DragObject(HWND,HWND,UINT,DWORD,HCURSOR); +BOOL WINAPI DrawAnimatedRects(HWND,int,LPCRECT,LPCRECT); +BOOL WINAPI DrawCaption(HWND,HDC,LPCRECT,UINT); +BOOL WINAPI DrawEdge(HDC,LPRECT,UINT,UINT); +BOOL WINAPI DrawFocusRect(HDC,LPCRECT); +BOOL WINAPI DrawFrameControl(HDC,LPRECT,UINT,UINT); +BOOL WINAPI DrawIcon(HDC,int,int,HICON); +BOOL WINAPI DrawIconEx(HDC,int,int,HICON,int,int,UINT,HBRUSH,UINT); +BOOL WINAPI DrawMenuBar(HWND); +BOOL WINAPI DrawStateA(HDC,HBRUSH,DRAWSTATEPROC,LPARAM,WPARAM,int,int,int,int,UINT); +BOOL WINAPI DrawStateW(HDC,HBRUSH,DRAWSTATEPROC,LPARAM,WPARAM,int,int,int,int,UINT); +int WINAPI DrawTextA(HDC,LPCSTR,int,LPRECT,UINT); +int WINAPI DrawTextW(HDC,LPCWSTR,int,LPRECT,UINT); +int WINAPI DrawTextExA(HDC,LPSTR,int,LPRECT,UINT,LPDRAWTEXTPARAMS); +int WINAPI DrawTextExW(HDC,LPWSTR,int,LPRECT,UINT,LPDRAWTEXTPARAMS); +BOOL WINAPI EmptyClipboard(void); +BOOL WINAPI EnableMenuItem(HMENU,UINT,UINT); +BOOL WINAPI EnableScrollBar(HWND,UINT,UINT); +BOOL WINAPI EnableWindow(HWND,BOOL); +BOOL WINAPI EndDeferWindowPos(HDWP); +BOOL WINAPI EndDialog(HWND,int); +BOOL WINAPI EndPaint(HWND,const PAINTSTRUCT*); +BOOL WINAPI EnumChildWindows(HWND,ENUMWINDOWSPROC,LPARAM); +UINT WINAPI EnumClipboardFormats(UINT); +BOOL WINAPI EnumDesktopsA(HWINSTA,DESKTOPENUMPROCA,LPARAM); +BOOL WINAPI EnumDesktopsW(HWINSTA,DESKTOPENUMPROCW,LPARAM); +BOOL WINAPI EnumDesktopWindows(HDESK,ENUMWINDOWSPROC,LPARAM); +BOOL WINAPI EnumDisplaySettingsA(LPCSTR,DWORD,PDEVMODEA); +BOOL WINAPI EnumDisplaySettingsW(LPCWSTR,DWORD,PDEVMODEW); +int WINAPI EnumPropsA(HWND,PROPENUMPROCA); +int WINAPI EnumPropsW(HWND,PROPENUMPROCW); +int WINAPI EnumPropsExA(HWND,PROPENUMPROCEXA,LPARAM); +int WINAPI EnumPropsExW(HWND,PROPENUMPROCEXW,LPARAM); +#define EnumTaskWindows(h,f,p) EnumThreadWindows((DWORD)h,f,p) +BOOL WINAPI EnumThreadWindows(DWORD,WNDENUMPROC,LPARAM); +BOOL WINAPI EnumWindows(WNDENUMPROC,LPARAM); +BOOL WINAPI EnumWindowStationsA(WINSTAENUMPROCA,LPARAM); +BOOL WINAPI EnumWindowStationsW(WINSTAENUMPROCW,LPARAM); +BOOL WINAPI EqualRect(LPCRECT,LPCRECT); +#define ExitWindows(r,c) ExitWindowsEx(EWX_LOGOFF,0) +BOOL WINAPI ExitWindowsEx(UINT,DWORD); +HWND WINAPI FindWindowA(LPCSTR,LPCSTR); +HWND WINAPI FindWindowExA(HWND,HWND,LPCSTR,LPCSTR); +HWND WINAPI FindWindowExW(HWND,HWND,LPCWSTR,LPCWSTR); +HWND WINAPI FindWindowW(LPCWSTR,LPCWSTR); +BOOL WINAPI FlashWindow(HWND,BOOL); +int WINAPI FrameRect(HDC,LPCRECT,HBRUSH); +BOOL WINAPI FrameRgn(HDC,HRGN,HBRUSH,int,int); +HWND WINAPI GetActiveWindow(void); +SHORT WINAPI GetAsyncKeyState(int); +HWND WINAPI GetCapture(void); +UINT WINAPI GetCaretBlinkTime(void); +BOOL WINAPI GetCaretPos(LPPOINT); +BOOL WINAPI GetClassInfoA(HINSTANCE,LPCSTR,PWNDCLASSA); +BOOL WINAPI GetClassInfoExA(HINSTANCE,LPCSTR,PWNDCLASSEXA); +BOOL WINAPI GetClassInfoW(HINSTANCE,LPCWSTR,PWNDCLASSW); +BOOL WINAPI GetClassInfoExW(HINSTANCE,LPCWSTR,PWNDCLASSEXW); +DWORD WINAPI GetClassLongA(HWND,int); +DWORD WINAPI GetClassLongW(HWND,int); +int WINAPI GetClassNameA(HWND,LPSTR,int); +int WINAPI GetClassNameW(HWND,LPWSTR,int); +WORD WINAPI GetClassWord(HWND,int); +BOOL WINAPI GetClientRect(HWND,LPRECT); +HANDLE WINAPI GetClipboardData(UINT); +int WINAPI GetClipboardFormatNameA(UINT,LPSTR,int); +int WINAPI GetClipboardFormatNameW(UINT,LPWSTR,int); +HWND WINAPI GetClipboardOwner(void); +HWND WINAPI GetClipboardViewer(void); +BOOL WINAPI GetClipCursor(LPRECT); +BOOL WINAPI GetCursorPos(LPPOINT); +HDC WINAPI GetDC(HWND); +HDC WINAPI GetDCEx(HWND,HRGN,DWORD); +HWND WINAPI GetDesktopWindow(void); +long WINAPI GetDialogBaseUnits(void); +int WINAPI GetDlgCtrlID(HWND); +HWND WINAPI GetDlgItem(HWND,int); +UINT WINAPI GetDlgItemInt(HWND,int,PBOOL,BOOL); +UINT WINAPI GetDlgItemTextA(HWND,int,LPSTR,int); +UINT WINAPI GetDlgItemTextW(HWND,int,LPWSTR,int); +UINT WINAPI GetDoubleClickTime(void); +HWND WINAPI GetFocus(void); +HWND WINAPI GetForegroundWindow(void); +BOOL WINAPI GetIconInfo(HICON,PICONINFO); +BOOL WINAPI GetInputState(void); +UINT WINAPI GetKBCodePage(void); +HKL WINAPI GetKeyboardLayout(DWORD); +int WINAPI GetKeyboardLayoutList(int,HKL*); +BOOL WINAPI GetKeyboardLayoutNameA(LPSTR); +BOOL WINAPI GetKeyboardLayoutNameW(LPWSTR); +BOOL WINAPI GetKeyboardState(PBYTE); +int WINAPI GetKeyboardType(int); +int WINAPI GetKeyNameTextA(LONG,LPSTR,int); +int WINAPI GetKeyNameTextW(LONG,LPWSTR,int); +SHORT WINAPI GetKeyState(int); +HWND WINAPI GetLastActivePopup(HWND); +DWORD WINAPI GetLastError(void); +HMENU WINAPI GetMenu(HWND); +LONG WINAPI GetMenuCheckMarkDimensions(void); +DWORD WINAPI GetMenuContextHelpId(HMENU); +UINT WINAPI GetMenuDefaultItem(HMENU,UINT,UINT); +int WINAPI GetMenuItemCount(HMENU); +UINT WINAPI GetMenuItemID(HMENU,int); +BOOL WINAPI GetMenuItemInfoA(HMENU,UINT,BOOL,LPMENUITEMINFOA); +BOOL WINAPI GetMenuItemInfoW(HMENU,UINT,BOOL,LPMENUITEMINFOW); +BOOL WINAPI GetMenuItemRect(HWND,HMENU,UINT,LPRECT); +UINT WINAPI GetMenuState(HMENU,UINT,UINT); +int WINAPI GetMenuStringA(HMENU,UINT,LPSTR,int,UINT); +int WINAPI GetMenuStringW(HMENU,UINT,LPWSTR,int,UINT); +BOOL WINAPI GetMessageA(LPMSG,HWND,UINT,UINT); +BOOL WINAPI GetMessageW(LPMSG,HWND,UINT,UINT); +LONG WINAPI GetMessageExtraInfo(void); +DWORD WINAPI GetMessagePos(void); +LONG WINAPI GetMessageTime(void); +HWND WINAPI GetNextDlgGroupItem(HWND,HWND,BOOL); +HWND WINAPI GetNextDlgTabItem(HWND,HWND,BOOL); +#define GetNextWindow(h,c) GetWindow(h,c) +HWND WINAPI GetOpenClipboardWindow(void); +HWND WINAPI GetParent(HWND); +int WINAPI GetPriorityClipboardFormat(UINT*,int); +HANDLE WINAPI GetPropA(HWND,LPCSTR); +HANDLE WINAPI GetPropW(HWND,LPCWSTR); +DWORD WINAPI GetQueueStatus(UINT); +BOOL WINAPI GetScrollInfo(HWND,int,LPSCROLLINFO); +int WINAPI GetScrollPos(HWND,int); +BOOL WINAPI GetScrollRange(HWND,int,LPINT,LPINT); +HMENU WINAPI GetSubMenu(HMENU,int); +DWORD WINAPI GetSysColor(int); +HBRUSH WINAPI GetSysColorBrush(int); +#define GetSysModalWindow() (NULL) +HMENU WINAPI GetSystemMenu(HWND,BOOL); +int WINAPI GetSystemMetrics(int); +DWORD WINAPI GetTabbedTextExtentA(HDC,LPCSTR,int,int,LPINT); +DWORD WINAPI GetTabbedTextExtentW(HDC,LPCWSTR,int,int,LPINT); +LONG WINAPI GetWindowLongA(HWND,int); +LONG WINAPI GetWindowLongW(HWND,int); +HDESK WINAPI GetThreadDesktop(DWORD); +HWND WINAPI GetTopWindow(HWND); +BOOL WINAPI GetUpdateRect(HWND,LPRECT,BOOL); +int WINAPI GetUpdateRgn(HWND,HRGN,BOOL); +BOOL WINAPI GetUserObjectInformationA(HANDLE,int,PVOID,DWORD,PDWORD); +BOOL WINAPI GetUserObjectInformationW(HANDLE,int,PVOID,DWORD,PDWORD); +BOOL WINAPI GetUserObjectSecurity(HANDLE,PSECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD); +HWND WINAPI GetWindow(HWND,UINT); +DWORD WINAPI GetWindowContextHelpId(HWND); +HDC WINAPI GetWindowDC(HWND); +BOOL WINAPI GetWindowExtEx(HDC,LPSIZE); +BOOL WINAPI GetWindowPlacement(HWND,WINDOWPLACEMENT*); +BOOL WINAPI GetWindowRect(HWND,LPRECT); +int WINAPI GetWindowRgn(HWND,HRGN); +#define GetWindowTask(hWnd) ((HANDLE)GetWindowThreadProcessId(hWnd, NULL)) +int WINAPI GetWindowTextA(HWND,LPSTR,int); +int WINAPI GetWindowTextLengthA(HWND); +int WINAPI GetWindowTextLengthW(HWND); +int WINAPI GetWindowTextW(HWND,LPWSTR,int); +WORD WINAPI GetWindowWord(HWND,int); +BOOL WINAPI GrayStringA(HDC,HBRUSH,GRAYSTRINGPROC,LPARAM,int,int,int,int,int); +BOOL WINAPI GrayStringW(HDC,HBRUSH,GRAYSTRINGPROC,LPARAM,int,int,int,int,int); +BOOL WINAPI HideCaret(HWND); +BOOL WINAPI HiliteMenuItem(HWND,HMENU,UINT,UINT); +BOOL WINAPI InflateRect(LPRECT,int,int); +BOOL WINAPI InSendMessage(VOID); +BOOL WINAPI InsertMenuA(HMENU,UINT,UINT,UINT,LPCSTR); +BOOL WINAPI InsertMenuW(HMENU,UINT,UINT,UINT,LPCWSTR); +BOOL WINAPI InsertMenuItemA(HMENU,UINT,BOOL,LPCMENUITEMINFOA); +BOOL WINAPI InsertMenuItemW(HMENU,UINT,BOOL,LPCMENUITEMINFOW); +BOOL WINAPI IntersectRect(LPRECT,LPCRECT,LPCRECT); +BOOL WINAPI InvalidateRect(HWND,LPCRECT,BOOL); +BOOL WINAPI InvalidateRgn(HWND,HRGN,BOOL); +BOOL WINAPI InvertRect(HDC,LPCRECT); +BOOL WINAPI IsCharAlphaA(CHAR ch); +BOOL WINAPI IsCharAlphaNumericA(CHAR); +BOOL WINAPI IsCharAlphaNumericW(WCHAR); +BOOL WINAPI IsCharAlphaW(WCHAR); +BOOL WINAPI IsCharLowerA(CHAR); +BOOL WINAPI IsCharLowerW(WCHAR); +BOOL WINAPI IsCharUpperA(CHAR); +BOOL WINAPI IsCharUpperW(WCHAR); +BOOL WINAPI IsChild(HWND,HWND); +BOOL WINAPI IsClipboardFormatAvailable(UINT); +BOOL WINAPI IsDialogMessageA(HWND,LPMSG); +BOOL WINAPI IsDialogMessageW(HWND,LPMSG); +UINT WINAPI IsDlgButtonChecked(HWND,int); +BOOL WINAPI IsIconic(HWND); +BOOL WINAPI IsMenu(HMENU); +BOOL WINAPI IsRectEmpty(LPCRECT); +BOOL WINAPI IsWindow(HWND); +BOOL WINAPI IsWindowEnabled(HWND); +BOOL WINAPI IsWindowUnicode(HWND); +BOOL WINAPI IsWindowVisible(HWND); +BOOL WINAPI IsZoomed(HWND); +VOID WINAPI keybd_event(BYTE,BYTE,DWORD,DWORD); +BOOL WINAPI KillTimer(HWND,UINT); +HACCEL WINAPI LoadAcceleratorsA(HINSTANCE,LPCSTR); +HACCEL WINAPI LoadAcceleratorsW(HINSTANCE,LPCWSTR); +HBITMAP WINAPI LoadBitmapA(HINSTANCE,LPCSTR); +HBITMAP WINAPI LoadBitmapW(HINSTANCE,LPCWSTR); +HCURSOR WINAPI LoadCursorA(HINSTANCE,LPCSTR); +HCURSOR WINAPI LoadCursorFromFileA(LPCSTR); +HCURSOR WINAPI LoadCursorFromFileW(LPCWSTR); +HCURSOR WINAPI LoadCursorW(HINSTANCE,LPCWSTR); +HICON WINAPI LoadIconA(HINSTANCE,LPCSTR); +HICON WINAPI LoadIconW(HINSTANCE,LPCWSTR); +HANDLE WINAPI LoadImageA(HINSTANCE,LPCSTR,UINT,int,int,UINT); +HANDLE WINAPI LoadImageW(HINSTANCE,LPCWSTR,UINT,int,int,UINT); +HKL WINAPI LoadKeyboardLayoutA(LPCSTR,UINT); +HKL WINAPI LoadKeyboardLayoutW(LPCWSTR,UINT); +HMENU WINAPI LoadMenuA(HINSTANCE,LPCSTR); +HMENU WINAPI LoadMenuIndirectA(const MENUTEMPLATE*); +HMENU WINAPI LoadMenuIndirectW(const MENUTEMPLATE*); +HMENU WINAPI LoadMenuW(HINSTANCE,LPCWSTR); +int WINAPI LoadStringA(HINSTANCE,UINT,LPSTR,int); +int WINAPI LoadStringW(HINSTANCE,UINT,LPWSTR,int); +BOOL WINAPI LockWindowUpdate(HWND); +int WINAPI LookupIconIdFromDirectory(PBYTE,BOOL); +int WINAPI LookupIconIdFromDirectoryEx(PBYTE,BOOL,int,int,UINT); +BOOL WINAPI MapDialogRect(HWND,LPRECT); +UINT WINAPI MapVirtualKeyA(UINT,UINT); +UINT WINAPI MapVirtualKeyExA(UINT,UINT,HKL); +UINT WINAPI MapVirtualKeyExW(UINT,UINT,HKL); +UINT WINAPI MapVirtualKeyW(UINT,UINT); +int WINAPI MapWindowPoints(HWND,HWND,LPPOINT,UINT); +int WINAPI MenuItemFromPoint(HWND,HMENU,POINT); +BOOL WINAPI MessageBeep(UINT); +int WINAPI MessageBoxA(HWND,LPCSTR,LPCSTR,UINT); +int WINAPI MessageBoxW(HWND,LPCWSTR,LPCWSTR,UINT); +int WINAPI MessageBoxExA(HWND,LPCSTR,LPCSTR,UINT,WORD); +int WINAPI MessageBoxExW(HWND,LPCWSTR,LPCWSTR,UINT,WORD); +int WINAPI MessageBoxIndirectA(LPMSGBOXPARAMSA); +int WINAPI MessageBoxIndirectW(LPMSGBOXPARAMSW); +BOOL WINAPI ModifyMenuA(HMENU,UINT,UINT,UINT,LPCSTR); +BOOL WINAPI ModifyMenuW(HMENU,UINT,UINT,UINT,LPCWSTR); +void WINAPI mouse_event(DWORD,DWORD,DWORD,DWORD,DWORD); +BOOL WINAPI MoveWindow(HWND,int,int,int,int,BOOL); +DWORD WINAPI MsgWaitForMultipleObjects(DWORD,LPHANDLE,BOOL,DWORD,DWORD); +DWORD WINAPI MsgWaitForMultipleObjectsEx(DWORD,LPHANDLE,DWORD,DWORD,DWORD); +DWORD WINAPI OemKeyScan(WORD); +BOOL WINAPI OemToCharA(LPCSTR,LPSTR); +BOOL WINAPI OemToCharBuffA(LPCSTR,LPSTR,DWORD); +BOOL WINAPI OemToCharBuffW(LPCSTR,LPWSTR,DWORD); +BOOL WINAPI OemToCharW(LPCSTR,LPWSTR); +BOOL WINAPI OffsetRect(LPRECT,int,int); +BOOL WINAPI OpenClipboard(HWND); +HDESK WINAPI OpenDesktopA(LPSTR,DWORD,BOOL,DWORD); +HDESK WINAPI OpenDesktopW(LPWSTR,DWORD,BOOL,DWORD); +BOOL WINAPI OpenIcon(HWND); +HDESK WINAPI OpenInputDesktop(DWORD,BOOL,DWORD); +HWINSTA WINAPI OpenWindowStationA(LPSTR,BOOL,DWORD); +HWINSTA WINAPI OpenWindowStationW(LPWSTR,BOOL,DWORD); +BOOL WINAPI PaintDesktop(HDC); +BOOL WINAPI PeekMessageA(LPMSG,HWND,UINT,UINT,UINT); +BOOL WINAPI PeekMessageW(LPMSG,HWND,UINT,UINT,UINT); +#define PostAppMessageA(t,m,w,l) PostThreadMessageA((DWORD)t,m,w,l) +#define PostAppMessageW(t,m,w,l) PostThreadMessageW((DWORD)t,m,w,l) +BOOL WINAPI PostMessageA(HWND,UINT,WPARAM,LPARAM); +BOOL WINAPI PostMessageW(HWND,UINT,WPARAM,LPARAM); +void WINAPI PostQuitMessage(int); +BOOL WINAPI PostThreadMessageA(DWORD,UINT,WPARAM,LPARAM); +BOOL WINAPI PostThreadMessageW(DWORD,UINT,WPARAM,LPARAM); +BOOL WINAPI PtInRect(LPCRECT,POINT); +BOOL WINAPI RedrawWindow(HWND,LPCRECT,HRGN,UINT); +ATOM WINAPI RegisterClassA(const WNDCLASSA*); +ATOM WINAPI RegisterClassW(const WNDCLASSW*); +ATOM WINAPI RegisterClassExA(const WNDCLASSEXA*); +ATOM WINAPI RegisterClassExW(const WNDCLASSEXW*); +UINT WINAPI RegisterClipboardFormatA(LPCSTR); +UINT WINAPI RegisterClipboardFormatW(LPCWSTR); +BOOL WINAPI RegisterHotKey(HWND,int,UINT,UINT); +UINT WINAPI RegisterWindowMessageA(LPCSTR); +UINT WINAPI RegisterWindowMessageW(LPCWSTR); +BOOL WINAPI ReleaseCapture(void); +int WINAPI ReleaseDC(HWND,HDC); +BOOL WINAPI RemoveMenu(HMENU,UINT,UINT); +HANDLE WINAPI RemovePropA(HWND,LPCSTR); +HANDLE WINAPI RemovePropW(HWND,LPCWSTR); +BOOL WINAPI ReplyMessage(LRESULT); +BOOL WINAPI ScreenToClient(HWND,LPPOINT); +BOOL WINAPI ScrollDC(HDC,int,int,LPCRECT,LPCRECT,HRGN,LPRECT); +BOOL WINAPI ScrollWindow(HWND,int,int,LPCRECT,LPCRECT); +int WINAPI ScrollWindowEx(HWND,int,int,LPCRECT,LPCRECT,HRGN,LPRECT,UINT); +LONG WINAPI SendDlgItemMessageA(HWND,int,UINT,WPARAM,LPARAM); +LONG WINAPI SendDlgItemMessageW(HWND,int,UINT,WPARAM,LPARAM); +LRESULT WINAPI SendMessageA(HWND,UINT,WPARAM,LPARAM); +BOOL WINAPI SendMessageCallbackA(HWND,UINT,WPARAM,LPARAM,SENDASYNCPROC,DWORD); +BOOL WINAPI SendMessageCallbackW(HWND,UINT,WPARAM,LPARAM,SENDASYNCPROC,DWORD); +LRESULT WINAPI SendMessageTimeoutA(HWND,UINT,WPARAM,LPARAM,UINT,UINT,PDWORD); +LRESULT WINAPI SendMessageTimeoutW(HWND,UINT,WPARAM,LPARAM,UINT,UINT,PDWORD); +LRESULT WINAPI SendMessageW(HWND,UINT,WPARAM,LPARAM); +BOOL WINAPI SendNotifyMessageA(HWND,UINT,WPARAM,LPARAM); +BOOL WINAPI SendNotifyMessageW(HWND,UINT,WPARAM,LPARAM); +HWND WINAPI SetActiveWindow(HWND); +HWND WINAPI SetCapture(HWND hWnd); +BOOL WINAPI SetCaretBlinkTime(UINT); +BOOL WINAPI SetCaretPos(int,int); +DWORD WINAPI SetClassLongA(HWND,int,LONG); +DWORD WINAPI SetClassLongW(HWND,int,LONG); +WORD WINAPI SetClassWord(HWND,int,WORD); +HANDLE WINAPI SetClipboardData(UINT,HANDLE); +HWND WINAPI SetClipboardViewer(HWND); +HCURSOR WINAPI SetCursor(HCURSOR); +BOOL WINAPI SetCursorPos(int,int); +VOID WINAPI SetDebugErrorLevel(DWORD); +BOOL WINAPI SetDlgItemInt(HWND,int,UINT,BOOL); +BOOL WINAPI SetDlgItemTextA(HWND,int,LPCSTR); +BOOL WINAPI SetDlgItemTextW(HWND,int,LPCWSTR); +BOOL WINAPI SetDoubleClickTime(UINT); +HWND WINAPI SetFocus(HWND); +BOOL WINAPI SetForegroundWindow(HWND); +BOOL WINAPI SetKeyboardState(PBYTE); +BOOL WINAPI SetMenu(HWND,HMENU); +BOOL WINAPI SetMenuContextHelpId(HMENU,DWORD); +BOOL WINAPI SetMenuDefaultItem(HMENU,UINT,UINT); +BOOL WINAPI SetMenuItemBitmaps(HMENU,UINT,UINT,HBITMAP,HBITMAP); +BOOL WINAPI SetMenuItemInfoA(HMENU,UINT,BOOL,LPCMENUITEMINFOA); +BOOL WINAPI SetMenuItemInfoW( HMENU,UINT,BOOL,LPCMENUITEMINFOW); +LPARAM WINAPI SetMessageExtraInfo(LPARAM); +BOOL WINAPI SetMessageQueue(int); +HWND WINAPI SetParent(HWND,HWND); +BOOL WINAPI SetProcessWindowStation(HWINSTA); +BOOL WINAPI SetPropA(HWND,LPCSTR,HANDLE); +BOOL WINAPI SetPropW(HWND,LPCWSTR,HANDLE); +BOOL WINAPI SetRect(LPRECT,int,int,int,int); +BOOL WINAPI SetRectEmpty(LPRECT); +int WINAPI SetScrollInfo(HWND,int,LPCSCROLLINFO,BOOL); +int WINAPI SetScrollPos(HWND,int,int,BOOL); +BOOL WINAPI SetScrollRange(HWND,int,int,int,BOOL); +BOOL WINAPI SetSysColors(int,const INT *,const COLORREF *); +#define SetSysModalWindow(h) (NULL) +BOOL WINAPI SetSystemCursor(HCURSOR,DWORD); +BOOL WINAPI SetThreadDesktop(HDESK); +UINT WINAPI SetTimer(HWND,UINT,UINT,TIMERPROC); +BOOL WINAPI SetUserObjectInformationA(HANDLE,int,PVOID,DWORD); +BOOL WINAPI SetUserObjectInformationW(HANDLE,int,PVOID,DWORD); +BOOL WINAPI SetUserObjectSecurity(HANDLE,PSECURITY_INFORMATION,PSECURITY_DESCRIPTOR); +BOOL WINAPI SetWindowContextHelpId(HWND,DWORD); +LONG WINAPI SetWindowLongA(HWND,int,LONG); +LONG WINAPI SetWindowLongW(HWND,int,LONG); +BOOL WINAPI SetWindowPlacement(HWND hWnd,const WINDOWPLACEMENT*); +BOOL WINAPI SetWindowPos(HWND,HWND,int,int,int,int,UINT); +int WINAPI SetWindowRgn(HWND,HRGN,BOOL); +HOOKPROC WINAPI SetWindowsHookA(int,HOOKPROC); +HHOOK WINAPI SetWindowsHookExA(int,HOOKPROC,HINSTANCE,DWORD); +HHOOK WINAPI SetWindowsHookExW(int,HOOKPROC,HINSTANCE,DWORD); +BOOL WINAPI SetWindowTextA(HWND,LPCSTR); +BOOL WINAPI SetWindowTextW(HWND,LPCWSTR); +WORD WINAPI SetWindowWord(HWND,int,WORD); +BOOL WINAPI ShowCaret(HWND); +int WINAPI ShowCursor(BOOL); +BOOL WINAPI ShowOwnedPopups(HWND,BOOL); +BOOL WINAPI ShowScrollBar(HWND,int,BOOL); +BOOL WINAPI ShowWindow(HWND,int); +BOOL WINAPI ShowWindowAsync(HWND,int); +BOOL WINAPI SubtractRect(LPRECT,LPCRECT,LPCRECT); +BOOL WINAPI SwapMouseButton(BOOL); +BOOL WINAPI SwitchDesktop(HDESK); +BOOL WINAPI SystemParametersInfoA(UINT,UINT,PVOID,UINT); +BOOL WINAPI SystemParametersInfoW(UINT,UINT,PVOID,UINT); +LONG WINAPI TabbedTextOutA(HDC,int,int,LPCSTR,int,int,LPINT,int); +LONG WINAPI TabbedTextOutW(HDC,int,int,LPCWSTR,int,int,LPINT,int); +WORD WINAPI TileWindows(HWND,UINT,LPCRECT,UINT,const HWND *); +int WINAPI ToAscii(UINT,UINT,PBYTE,LPWORD,UINT); +int WINAPI ToAsciiEx(UINT,UINT,PBYTE,LPWORD,UINT,HKL); +int WINAPI ToUnicode(UINT,UINT,PBYTE,LPWSTR,int,UINT); +int WINAPI ToUnicodeEx(UINT,UINT,PBYTE,LPWSTR,int,UINT,HKL); +BOOL WINAPI TrackMouseEvent(LPTRACKMOUSEEVENT); +BOOL WINAPI TrackPopupMenu(HMENU,UINT,int,int,int,HWND,LPCRECT); +BOOL WINAPI TrackPopupMenuEx(HMENU,UINT,int,int,HWND,LPTPMPARAMS); +int WINAPI TranslateAcceleratorA(HWND,HACCEL,LPMSG); +int WINAPI TranslateAcceleratorW(HWND,HACCEL,LPMSG); +BOOL WINAPI TranslateMDISysAccel(HWND,LPMSG); +BOOL WINAPI TranslateMessage(const MSG*); +BOOL WINAPI UnhookWindowsHook(int,HOOKPROC); +BOOL WINAPI UnhookWindowsHookEx(HHOOK); +BOOL WINAPI UnionRect(LPRECT,LPCRECT,LPCRECT); +BOOL WINAPI UnloadKeyboardLayout(HKL); +BOOL WINAPI UnregisterClassA(LPCSTR,HINSTANCE); +BOOL WINAPI UnregisterClassW(LPCWSTR,HINSTANCE); +BOOL WINAPI UnregisterHotKey(HWND,int); +BOOL WINAPI UpdateWindow(HWND); +BOOL WINAPI ValidateRect(HWND,LPCRECT); +BOOL WINAPI ValidateRgn(HWND,HRGN); +SHORT WINAPI VkKeyScanA(CHAR); +SHORT WINAPI VkKeyScanExA(CHAR,HKL); +SHORT WINAPI VkKeyScanExW(WCHAR,HKL); +SHORT WINAPI VkKeyScanW(WCHAR); +DWORD WINAPI WaitForInputIdle(HANDLE,DWORD); +BOOL WINAPI WaitMessage(void); +HWND WINAPI WindowFromDC(HDC hDC); +HWND WINAPI WindowFromPoint(POINT); +UINT WINAPI WinExec(LPCSTR,UINT); +BOOL WINAPI WinHelpA(HWND,LPCSTR,UINT,DWORD); +BOOL WINAPI WinHelpW(HWND,LPCWSTR,UINT,DWORD); +int WINAPIV wsprintfA(LPSTR,LPCSTR,...); +int WINAPIV wsprintfW(LPWSTR,LPCWSTR,...); +int WINAPI wvsprintfA(LPSTR,LPCSTR,va_list arglist); +int WINAPI wvsprintfW(LPWSTR,LPCWSTR,va_list arglist); + +#ifdef UNICODE +#define EDITWORDBREAKPROC EDITWORDBREAKPROCW +#define PROPENUMPROC PROPENUMPROCW +#define PROPENUMPROCEX PROPENUMPROCEXW +#define DEKSTOPENUMPROC DEKSTOPENUMPROCW +#define WINSTAENUMPROC WINSTAENUMPROCW +#define PROPENUMPROC PROPENUMPROCW +#define PROPENUMPROCEX PROPENUMPROCEXW +#define MAKEINTRESOURCE MAKEINTRESOURCEW +typedef WNDCLASSW WNDCLASS,*LPWNDCLASS,*PWNDCLASS; +typedef WNDCLASSEXW WNDCLASSEX,*LPWNDCLASSEX,*PWNDCLASSEX; +typedef MENUITEMINFOW MENUITEMINFO,*LPMENUITEMINFO; +typedef LPCMENUITEMINFOW LPCMENUITEMINFO; +typedef MSGBOXPARAMSW MSGBOXPARAMS,*PMSGBOXPARAMS,*LPMSGBOXPARAMS; +typedef HIGHCONTRASTW HIGHCONTRAST,*LPHIGHCONTRAST; +typedef ICONMETRICSW ICONMETRICS,*LPICONMETRICS; +typedef NONCLIENTMETRICSW NONCLIENTMETRICS,*LPNONCLIENTMETRICS; +typedef SERIALKEYSW SERIALKEYS,*LPSERIALKEYS; +typedef SOUNDSENTRYW SOUNDSENTRY,*LPSOUNDSENTRY; +typedef MDICREATESTRUCTW MDICREATESTRUCT,*LPMDICREATESTRUCT; +typedef MULTIKEYHELPW MULTIKEYHELP,*PMULTIKEYHELP,*LPMULTIKEYHELP; +#define AppendMenu AppendMenuW +#define CallWindowProc CallWindowProcW +#define ChangeDisplaySettings ChangeDisplaySettingsW +#define ChangeMenu ChangeMenuW +#define CharLower CharLowerW +#define CharLowerBuff CharLowerBuffW +#define CharNext CharNextW +#define CharNextEx CharNextExW +#define CharPrev CharPrevW +#define CharPrevEx CharPrevExW +#define CharToOem CharToOemW +#define CharToOemBuff CharToOemBuffW +#define CharUpper CharUpperW +#define CharUpperBuff CharUpperBuffW +#define CopyAcceleratorTable CopyAcceleratorTableW +#define CreateAcceleratorTable CreateAcceleratorTableW +#define CreateDesktop CreateDesktopW +#define CreateDialog CreateDialogW +#define CreateDialogIndirect CreateDialogIndirectW +#define CreateDialogIndirectParam CreateDialogIndirectParamW +#define CreateDialogParam CreateDialogParamW +#define CreateMDIWindow CreateMDIWindowW +#define CreateWindow CreateWindowW +#define CreateWindowEx CreateWindowExW +#define CreateWindowStation CreateWindowStationW +#define DefDlgProc DefDlgProcW +#define DefFrameProc DefFrameProcW +#define DefMDIChildProc DefMDIChildProcW +#define DefWindowProc DefWindowProcW +#define DialogBox DialogBoxW +#define DialogBoxIndirect DialogBoxIndirectW +#define DialogBoxIndirectParam DialogBoxIndirectParamW +#define DialogBoxParam DialogBoxParamW +#define DispatchMessage DispatchMessageW +#define DlgDirList DlgDirListW +#define DlgDirListComboBox DlgDirListComboBoxW +#define DlgDirSelectComboBoxEx DlgDirSelectComboBoxExW +#define DlgDirSelectEx DlgDirSelectExW +#define DrawState DrawStateW +#define DrawText DrawTextW +#define DrawTextEx DrawTextExW +#define EnumDesktops EnumDesktopsW +#define EnumDisplaySettings EnumDisplaySettingsW +#define EnumProps EnumPropsW +#define EnumPropsEx EnumPropsExW +#define EnumWindowStations EnumWindowStationsW +#define FindWindow FindWindowW +#define FindWindowEx FindWindowExW +#define GetClassInfo GetClassInfoW +#define GetClassInfoEx GetClassInfoExW +#define GetClassLong GetClassLongW +#define GetClassName GetClassNameW +#define GetClipboardFormatName GetClipboardFormatNameW +#define GetDlgItemText GetDlgItemTextW +#define GetKeyboardLayoutName GetKeyboardLayoutNameW +#define GetKeyNameText GetKeyNameTextW +#define GetMenuItemInfo GetMenuItemInfoW +#define GetMenuString GetMenuStringW +#define GetMessage GetMessageW +#define GetProp GetPropW +#define GetTabbedTextExtent GetTabbedTextExtentW +#define GetUserObjectInformation GetUserObjectInformationW +#define GetWindowLong GetWindowLongW +#define GetWindowText GetWindowTextW +#define GetWindowTextLength GetWindowTextLengthW +#define GrayString GrayStringW +#define InsertMenu InsertMenuW +#define InsertMenuItem InsertMenuItemW +#define IsCharAlpha IsCharAlphaW +#define IsCharAlphaNumeric IsCharAlphaNumericW +#define IsCharLower IsCharLowerW +#define IsCharUpper IsCharUpperW +#define IsDialogMessage IsDialogMessageW +#define LoadAccelerators LoadAcceleratorsW +#define LoadBitmap LoadBitmapW +#define LoadCursor LoadCursorW +#define LoadCursorFromFile LoadCursorFromFileW +#define LoadIcon LoadIconW +#define LoadImage LoadImageW +#define LoadKeyboardLayout LoadKeyboardLayoutW +#define LoadMenu LoadMenuW +#define LoadMenuIndirect LoadMenuIndirectW +#define LoadString LoadStringW +#define MapVirtualKey MapVirtualKeyW +#define MapVirtualKeyEx MapVirtualKeyExW +#define MessageBox MessageBoxW +#define MessageBoxEx MessageBoxExW +#define MessageBoxIndirect MessageBoxIndirectW +#define ModifyMenu ModifyMenuW +#define OemToChar OemToCharW +#define OemToCharBuff OemToCharBuffW +#define OpenDesktop OpenDesktopW +#define OpenWindowStation OpenWindowStationW +#define PeekMessage PeekMessageW +#define PostAppMessage PostAppMessageW +#define PostMessage PostMessageW +#define PostThreadMessage PostThreadMessageW +#define RegisterClass RegisterClassW +#define RegisterClassEx RegisterClassExW +#define RegisterClipboardFormat RegisterClipboardFormatW +#define RegisterWindowMessage RegisterWindowMessageW +#define RemoveProp RemovePropW +#define SendDlgItemMessage SendDlgItemMessageW +#define SendMessage SendMessageW +#define SendMessageCallback SendMessageCallbackW +#define SendMessageTimeout SendMessageTimeoutW +#define SendNotifyMessage SendNotifyMessageW +#define SetClassLong SetClassLongW +#define SetDlgItemText SetDlgItemTextW +#define SetMenuItemInfo SetMenuItemInfoW +#define SetProp SetPropW +#define SetUserObjectInformation SetUserObjectInformationW +#define SetWindowLong SetWindowLongW +#define SetWindowsHook SetWindowsHookW +#define SetWindowsHookEx SetWindowsHookExW +#define SetWindowText SetWindowTextW +#define SystemParametersInfo SystemParametersInfoW +#define TabbedTextOut TabbedTextOutW +#define TranslateAccelerator TranslateAcceleratorW +#define UnregisterClass UnregisterClassW +#define VkKeyScan VkKeyScanW +#define VkKeyScanEx VkKeyScanExW +#define WinHelp WinHelpW +#define wsprintf wsprintfW +#define wvsprintf wvsprintfW +#else +#define EDITWORDBREAKPROC EDITWORDBREAKPROCA +#define PROPENUMPROC PROPENUMPROCA +#define PROPENUMPROCEX PROPENUMPROCEXA +#define DEKSTOPENUMPROC DEKSTOPENUMPROCA +#define WINSTAENUMPROC WINSTAENUMPROCA +#define PROPENUMPROC PROPENUMPROCA +#define PROPENUMPROCEX PROPENUMPROCEXA +#define MAKEINTRESOURCE MAKEINTRESOURCEA +typedef WNDCLASSA WNDCLASS,*LPWNDCLASS,*PWNDCLASS; +typedef WNDCLASSEXA WNDCLASSEX,*LPWNDCLASSEX,*PWNDCLASSEX; +typedef MENUITEMINFOA MENUITEMINFO,*LPMENUITEMINFO; +typedef LPCMENUITEMINFOA LPCMENUITEMINFO; +typedef MSGBOXPARAMSA MSGBOXPARAMS,*PMSGBOXPARAMS,*LPMSGBOXPARAMS; +typedef HIGHCONTRASTA HIGHCONTRAST,*LPHIGHCONTRAST; +typedef ICONMETRICSA ICONMETRICS,*LPICONMETRICS; +typedef NONCLIENTMETRICSA NONCLIENTMETRICS,*LPNONCLIENTMETRICS; +typedef SERIALKEYSA SERIALKEYS,*LPSERIALKEYS; +typedef SOUNDSENTRYA SOUNDSENTRY,*LPSOUNDSENTRY; +typedef MDICREATESTRUCTA MDICREATESTRUCT,*LPMDICREATESTRUCT; +typedef MULTIKEYHELPA MULTIKEYHELP,*PMULTIKEYHELP,*LPMULTIKEYHELP; +#define AppendMenu AppendMenuA +#define CallWindowProc CallWindowProcA +#define ChangeDisplaySettings ChangeDisplaySettingsA +#define ChangeMenu ChangeMenuA +#define CharLower CharLowerA +#define CharLowerBuff CharLowerBuffA +#define CharNext CharNextA +#define CharNextEx CharNextExA +#define CharPrev CharPrevA +#define CharPrevEx CharPrevExA +#define CharToOem CharToOemA +#define CharToOemBuff CharToOemBuffA +#define CharUpper CharUpperA +#define CharUpperBuff CharUpperBuffA +#define CopyAcceleratorTable CopyAcceleratorTableA +#define CreateAcceleratorTable CreateAcceleratorTableA +#define CreateDesktop CreateDesktopA +#define CreateDialog CreateDialogA +#define CreateDialogIndirect CreateDialogIndirectA +#define CreateDialogIndirectParam CreateDialogIndirectParamA +#define CreateDialogParam CreateDialogParamA +#define CreateMDIWindow CreateMDIWindowA +#define CreateWindow CreateWindowA +#define CreateWindowEx CreateWindowExA +#define CreateWindowStation CreateWindowStationA +#define DefDlgProc DefDlgProcA +#define DefFrameProc DefFrameProcA +#define DefMDIChildProc DefMDIChildProcA +#define DefWindowProc DefWindowProcA +#define DialogBox DialogBoxA +#define DialogBoxIndirect DialogBoxIndirectA +#define DialogBoxIndirectParam DialogBoxIndirectParamA +#define DialogBoxParam DialogBoxParamA +#define DispatchMessage DispatchMessageA +#define DlgDirList DlgDirListA +#define DlgDirListComboBox DlgDirListComboBoxA +#define DlgDirSelectComboBoxEx DlgDirSelectComboBoxExA +#define DlgDirSelectEx DlgDirSelectExA +#define DrawState DrawStateA +#define DrawText DrawTextA +#define DrawTextEx DrawTextExA +#define EnumDesktops EnumDesktopsA +#define EnumDisplaySettings EnumDisplaySettingsA +#define EnumProps EnumPropsA +#define EnumPropsEx EnumPropsExA +#define EnumWindowStations EnumWindowStationsA +#define FindWindow FindWindowA +#define FindWindowEx FindWindowExA +#define GetClassInfo GetClassInfoA +#define GetClassInfoEx GetClassInfoExA +#define GetClassLong GetClassLongA +#define GetClassName GetClassNameA +#define GetClipboardFormatName GetClipboardFormatNameA +#define GetDlgItemText GetDlgItemTextA +#define GetKeyboardLayoutName GetKeyboardLayoutNameA +#define GetKeyNameText GetKeyNameTextA +#define GetMenuItemInfo GetMenuItemInfoA +#define GetMenuString GetMenuStringA +#define GetMessage GetMessageA +#define GetProp GetPropA +#define GetTabbedTextExtent GetTabbedTextExtentA +#define GetUserObjectInformation GetUserObjectInformationA +#define GetWindowLong GetWindowLongA +#define GetWindowText GetWindowTextA +#define GetWindowTextLength GetWindowTextLengthA +#define GrayString GrayStringA +#define InsertMenu InsertMenuA +#define InsertMenuItem InsertMenuItemA +#define IsCharAlpha IsCharAlphaA +#define IsCharAlphaNumeric IsCharAlphaNumericA +#define IsCharLower IsCharLowerA +#define IsCharUpper IsCharUpperA +#define IsDialogMessage IsDialogMessageA +#define LoadAccelerators LoadAcceleratorsA +#define LoadBitmap LoadBitmapA +#define LoadCursor LoadCursorA +#define LoadIcon LoadIconA +#define LoadCursorFromFile LoadCursorFromFileA +#define LoadImage LoadImageA +#define LoadKeyboardLayout LoadKeyboardLayoutA +#define LoadMenu LoadMenuA +#define LoadMenuIndirect LoadMenuIndirectA +#define LoadString LoadStringA +#define MapVirtualKey MapVirtualKeyA +#define MapVirtualKeyEx MapVirtualKeyExA +#define MessageBox MessageBoxA +#define MessageBoxEx MessageBoxExA +#define MessageBoxIndirect MessageBoxIndirectA +#define ModifyMenu ModifyMenuA +#define OemToChar OemToCharA +#define OemToCharBuff OemToCharBuffA +#define OpenDesktop OpenDesktopA +#define OpenWindowStation OpenWindowStationA +#define PeekMessage PeekMessageA +#define PostAppMessage PostAppMessageA +#define PostMessage PostMessageA +#define PostThreadMessage PostThreadMessageA +#define RegisterClass RegisterClassA +#define RegisterClassEx RegisterClassExA +#define RegisterClipboardFormat RegisterClipboardFormatA +#define RegisterWindowMessage RegisterWindowMessageA +#define RemoveProp RemovePropA +#define SendDlgItemMessage SendDlgItemMessageA +#define SendMessage SendMessageA +#define SendMessageCallback SendMessageCallbackA +#define SendMessageTimeout SendMessageTimeoutA +#define SendNotifyMessage SendNotifyMessageA +#define SetClassLong SetClassLongA +#define SetDlgItemText SetDlgItemTextA +#define SetMenuItemInfo SetMenuItemInfoA +#define SetProp SetPropA +#define SetUserObjectInformation SetUserObjectInformationA +#define SetWindowLong SetWindowLongA +#define SetWindowsHook SetWindowsHookA +#define SetWindowsHookEx SetWindowsHookExA +#define SetWindowText SetWindowTextA +#define SystemParametersInfo SystemParametersInfoA +#define TabbedTextOut TabbedTextOutA +#define TranslateAccelerator TranslateAcceleratorA +#define UnregisterClass UnregisterClassA +#define VkKeyScan VkKeyScanA +#define VkKeyScanEx VkKeyScanExA +#define WinHelp WinHelpA +#define wsprintf wsprintfA +#define wvsprintf wvsprintfA +#endif +#endif +#ifdef __cplusplus +} +#endif +#endif /* _WINUSER_H */ diff --git a/winsup/w32api/include/winver.h b/winsup/w32api/include/winver.h new file mode 100644 index 000000000..93f5e533d --- /dev/null +++ b/winsup/w32api/include/winver.h @@ -0,0 +1,129 @@ +#ifndef _WINVER_H +#define _WINVER_H +#ifdef __cplusplus +extern "C" { +#endif +#define VS_FILE_INFO RT_VERSION +#define VS_VERSION_INFO 1 +#define VS_USER_DEFINED 100 +#define VS_FFI_SIGNATURE 0xFEEF04BD +#define VS_FFI_STRUCVERSION 0x10000 +#define VS_FFI_FILEFLAGSMASK 0x3F +#define VS_FF_DEBUG 1 +#define VS_FF_PRERELEASE 2 +#define VS_FF_PATCHED 4 +#define VS_FF_PRIVATEBUILD 8 +#define VS_FF_INFOINFERRED 16 +#define VS_FF_SPECIALBUILD 32 +#define VOS_UNKNOWN 0 +#define VOS_DOS 0x10000 +#define VOS_OS216 0x20000 +#define VOS_OS232 0x30000 +#define VOS_NT 0x40000 +#define VOS__BASE 0 +#define VOS__WINDOWS16 1 +#define VOS__PM16 2 +#define VOS__PM32 3 +#define VOS__WINDOWS32 4 +#define VOS_DOS_WINDOWS16 0x10001 +#define VOS_DOS_WINDOWS32 0x10004 +#define VOS_OS216_PM16 0x20002 +#define VOS_OS232_PM32 0x30003 +#define VOS_NT_WINDOWS32 0x40004 +#define VFT_UNKNOWN 0 +#define VFT_APP 1 +#define VFT_DLL 2 +#define VFT_DRV 3 +#define VFT_FONT 4 +#define VFT_VXD 5 +#define VFT_STATIC_LIB 7 +#define VFT2_UNKNOWN 0 +#define VFT2_DRV_PRINTER 1 +#define VFT2_DRV_KEYBOARD 2 +#define VFT2_DRV_LANGUAGE 3 +#define VFT2_DRV_DISPLAY 4 +#define VFT2_DRV_MOUSE 5 +#define VFT2_DRV_NETWORK 6 +#define VFT2_DRV_SYSTEM 7 +#define VFT2_DRV_INSTALLABLE 8 +#define VFT2_DRV_SOUND 9 +#define VFT2_DRV_COMM 10 +#define VFT2_DRV_INPUTMETHOD 11 +#define VFT2_FONT_RASTER 1 +#define VFT2_FONT_VECTOR 2 +#define VFT2_FONT_TRUETYPE 3 +#define VFFF_ISSHAREDFILE 1 +#define VFF_CURNEDEST 1 +#define VFF_FILEINUSE 2 +#define VFF_BUFFTOOSMALL 4 +#define VIFF_FORCEINSTALL 1 +#define VIFF_DONTDELETEOLD 2 +#define VIF_TEMPFILE 1 +#define VIF_MISMATCH 2 +#define VIF_SRCOLD 4 +#define VIF_DIFFLANG 8 +#define VIF_DIFFCODEPG 16 +#define VIF_DIFFTYPE 32 +#define VIF_WRITEPROT 64 +#define VIF_FILEINUSE 128 +#define VIF_OUTOFSPACE 256 +#define VIF_ACCESSVIOLATION 512 +#define VIF_SHARINGVIOLATION 1024 +#define VIF_CANNOTCREATE 2048 +#define VIF_CANNOTDELETE 4096 +#define VIF_CANNOTRENAME 8192 +#define VIF_CANNOTDELETECUR 16384 +#define VIF_OUTOFMEMORY 32768 +#define VIF_CANNOTREADSRC 65536 +#define VIF_CANNOTREADDST 0x20000 +#define VIF_BUFFTOOSMALL 0x40000 +#ifndef RC_INVOKED +typedef struct tagVS_FIXEDFILEINFO { + DWORD dwSignature; + DWORD dwStrucVersion; + DWORD dwFileVersionMS; + DWORD dwFileVersionLS; + DWORD dwProductVersionMS; + DWORD dwProductVersionLS; + DWORD dwFileFlagsMask; + DWORD dwFileFlags; + DWORD dwFileOS; + DWORD dwFileType; + DWORD dwFileSubtype; + DWORD dwFileDateMS; + DWORD dwFileDateLS; +} VS_FIXEDFILEINFO; +DWORD WINAPI VerFindFileA(DWORD,LPSTR,LPSTR,LPSTR,LPSTR,PUINT,LPSTR,PUINT); +DWORD WINAPI VerFindFileW(DWORD,LPWSTR,LPWSTR,LPWSTR,LPWSTR,PUINT,LPWSTR,PUINT); +DWORD WINAPI VerInstallFileA(DWORD,LPSTR,LPSTR,LPSTR,LPSTR,LPSTR,LPSTR,PUINT); +DWORD WINAPI VerInstallFileW(DWORD,LPWSTR,LPWSTR,LPWSTR,LPWSTR,LPWSTR,LPWSTR,PUINT); +DWORD WINAPI GetFileVersionInfoSizeA(LPSTR,PDWORD); +DWORD WINAPI GetFileVersionInfoSizeW(LPWSTR,PDWORD); +BOOL WINAPI GetFileVersionInfoA(LPSTR,DWORD,DWORD,PVOID); +BOOL WINAPI GetFileVersionInfoW(LPWSTR,DWORD,DWORD,PVOID); +DWORD WINAPI VerLanguageNameA(DWORD,LPSTR,DWORD); +DWORD WINAPI VerLanguageNameW(DWORD,LPWSTR,DWORD); +BOOL WINAPI VerQueryValueA(PCVOID,LPSTR,PVOID*,PUINT); +BOOL WINAPI VerQueryValueW(PCVOID,LPWSTR,PVOID*,PUINT); +#ifdef UNICODE +#define VerFindFile VerFindFileW +#define VerQueryValue VerQueryValueW +#define VerInstallFile VerInstallFileW +#define GetFileVersionInfoSize GetFileVersionInfoSizeW +#define GetFileVersionInfo GetFileVersionInfoW +#define VerLanguageName VerLanguageNameW +#define VerQueryValue VerQueryValueW +#else +#define VerQueryValue VerQueryValueA +#define VerFindFile VerFindFileA +#define VerInstallFile VerInstallFileA +#define GetFileVersionInfoSize GetFileVersionInfoSizeA +#define GetFileVersionInfo GetFileVersionInfoA +#define VerLanguageName VerLanguageNameA +#define VerQueryValue VerQueryValueA +#endif +#endif +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/wtypes.h b/winsup/w32api/include/wtypes.h new file mode 100644 index 000000000..2222f91af --- /dev/null +++ b/winsup/w32api/include/wtypes.h @@ -0,0 +1,152 @@ +#ifndef _WTYPES_H +#define _WTYPES_H +#include <rpc.h> +#include <rpcndr.h> +#ifdef __cplusplus +extern "C" { +#endif + +#define IID_NULL GUID_NULL +#define CLSID_NULL GUID_NULL +#define CBPCLIPDATA(d) ((d).cbSize-sizeof((d).ulClipFmt)) +#define DECIMAL_NEG ((BYTE)0x80) +#define DECIMAL_SETZERO(d) {(dec).Lo64=(dec).Hi32=(dec).signscale=0;} +typedef struct _BLOB { + ULONG cbSize; + BYTE *pBlobData; +} BLOB; +typedef enum tagDVASPECT { + DVASPECT_CONTENT=1, + DVASPECT_THUMBNAIL=2, + DVASPECT_ICON=4, + DVASPECT_DOCPRINT=8 +} DVASPECT; +typedef enum tagDVASPECT2 { + DVASPECT_OPAQUE=16, + DVASPECT_TRANSPARENT=32 +} DVASPECT2; +typedef enum tagSTATFLAG { + STATFLAG_DEFAULT=0, + STATFLAG_NONAME=1 +} STATFLAG; +typedef enum tagMEMCTX { + MEMCTX_TASK=1, + MEMCTX_SHARED, + MEMCTX_MACSYSTEM, + MEMCTX_UNKNOWN=-1, + MEMCTX_SAME=-2 +} MEMCTX; +typedef enum tagMSHCTX { + MSHCTX_LOCAL, + MSHCTX_NOSHAREDMEM, + MSHCTX_DIFFERENTMACHINE, + MSHCTX_INPROC +} MSHCTX; +typedef +enum tagCLSCTX { + CLSCTX_INPROC_SERVER=1,CLSCTX_INPROC_HANDLER=2,CLSCTX_LOCAL_SERVER=4, + CLSCTX_INPROC_SERVER16=8,CLSCTX_REMOTE_SERVER=16 +} CLSCTX; +typedef enum tagMSHLFLAGS { + MSHLFLAGS_NORMAL,MSHLFLAGS_TABLESTRONG,MSHLFLAGS_TABLEWEAK +} MSHLFLAGS; +typedef struct _FLAGGED_WORD_BLOB { + unsigned long fFlags; + unsigned long clSize; + unsigned short asData[1]; +}FLAGGED_WORD_BLOB; + +#ifndef OLE2ANSI +typedef WCHAR OLECHAR; +typedef LPWSTR LPOLESTR; +typedef LPCWSTR LPCOLESTR; +#define OLESTR(s) L##s +#else +typedef char OLECHAR; +typedef LPSTR LPOLESTR; +typedef LPCSTR LPCOLESTR; +#define OLESTR(s) s +#endif +typedef unsigned short VARTYPE; +typedef short VARIANT_BOOL; +typedef VARIANT_BOOL _VARIANT_BOOL; +#define VARIANT_TRUE ((VARIANT_BOOL)0xffff) +#define VARIANT_FALSE ((VARIANT_BOOL)0) +typedef OLECHAR *BSTR; +typedef FLAGGED_WORD_BLOB *wireBSTR; +typedef BSTR *LPBSTR; +typedef LONG SCODE; +typedef void *HCONTEXT; +typedef union tagCY { + struct { + unsigned long Lo; + long Hi; + }_STRUCT_NAME(s); + LONGLONG int64; +} CY; +typedef double DATE; +typedef struct tagBSTRBLOB { + ULONG cbSize; + PBYTE pData; +}BSTRBLOB; +typedef struct tagBSTRBLOB *LPBSTRBLOB; +typedef struct tagCLIPDATA { + ULONG cbSize; + long ulClipFmt; + PBYTE pClipData; +}CLIPDATA; +typedef enum tagSTGC { + STGC_DEFAULT,STGC_OVERWRITE,STGC_ONLYIFCURRENT, + STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE +}STGC; +typedef enum tagSTGMOVE { + STGMOVE_MOVE,STGMOVE_COPY,STGMOVE_SHALLOWCOPY +}STGMOVE; +enum VARENUM { + VT_EMPTY,VT_NULL,VT_I2,VT_I4,VT_R4,VT_R8,VT_CY,VT_DATE,VT_BSTR,VT_DISPATCH, + VT_ERROR,VT_BOOL,VT_VARIANT,VT_UNKNOWN,VT_DECIMAL,VT_I1=16,VT_UI1,VT_UI2,VT_UI4,VT_I8, + VT_UI8,VT_INT,VT_UINT,VT_VOID,VT_HRESULT,VT_PTR,VT_SAFEARRAY,VT_CARRAY,VT_USERDEFINED, + VT_LPSTR,VT_LPWSTR,VT_FILETIME=64,VT_BLOB,VT_STREAM,VT_STORAGE,VT_STREAMED_OBJECT, + VT_STORED_OBJECT,VT_BLOB_OBJECT,VT_CF,VT_CLSID,VT_BSTR_BLOB=0xfff,VT_VECTOR=0x1000, + VT_ARRAY=0x2000,VT_BYREF=0x4000,VT_RESERVED=0x8000,VT_ILLEGAL= 0xffff,VT_ILLEGALMASKED=0xfff, + VT_TYPEMASK=0xfff +}; +typedef struct _BYTE_SIZEDARR { + unsigned long clSize; + byte *pData; +}BYTE_SIZEDARR; +typedef struct _SHORT_SIZEDARR { + unsigned long clSize; + unsigned short *pData; +}WORD_SIZEDARR; +typedef struct _LONG_SIZEDARR { + unsigned long clSize; + unsigned long *pData; +}DWORD_SIZEDARR; +typedef struct _HYPER_SIZEDARR { + unsigned long clSize; + hyper *pData; +}HYPER_SIZEDARR; +typedef double DOUBLE; +typedef struct tagDEC { + USHORT wReserved; + union { + struct { + BYTE scale; + BYTE sign; + }_STRUCT_NAME(s); + USHORT signscale; + } DUMMYUNIONNAME; + ULONG Hi32; + union { + struct { + ULONG Lo32; + ULONG Mid32; + }_STRUCT_NAME(s2); + ULONGLONG Lo64; + } DUMMYUNIONNAME2; +} DECIMAL; +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/zmouse.h b/winsup/w32api/include/zmouse.h new file mode 100644 index 000000000..aa6073c7e --- /dev/null +++ b/winsup/w32api/include/zmouse.h @@ -0,0 +1,24 @@ +/* + zmouse.h - Header for IntelliMouse. + + This file is part of a free library for the Win32 API. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + FIXME: This file is obviously horribly incomplete! + +*/ + +#ifndef _ZMOUSE_H +#define _ZMOUSE_H + +#ifndef WM_MOUSEWHEEL +# define WM_MOUSEWHEEL (WM_MOUSELAST + 1) +#endif + +#define WHEEL_DELTA 120 +#define WHEEL_PAGESCROLL UINT_MAX + +#endif /* _ZMOUSE_H */ |