/** * Windows API header module * * Translated from MinGW Windows headers * * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) * Source: $(DRUNTIMESRC core/sys/windows/_oledlg.d) */ module core.sys.windows.oledlg; @system: version (Windows): version (ANSI) {} else version = Unicode; import core.sys.windows.commdlg, core.sys.windows.dlgs, core.sys.windows.ole2, core.sys.windows.prsht, core.sys.windows.shellapi; import core.sys.windows.winbase, core.sys.windows.objidl, core.sys.windows.objfwd, core.sys.windows.winnt; // FIXME: remove inherited methods from interface definitions enum PS_MAXLINKTYPES=8; const TCHAR[] OLESTDDELIM = "\\"; const TCHAR[] SZOLEUI_MSG_HELP = "OLEUI_MSG_HELP"; const TCHAR[] SZOLEUI_MSG_ENDDIALOG = "OLEUI_MSG_ENDDIALOG"; const TCHAR[] SZOLEUI_MSG_BROWSE = "OLEUI_MSG_BROWSE"; const TCHAR[] SZOLEUI_MSG_CHANGEICON = "OLEUI_MSG_CHANGEICON"; const TCHAR[] SZOLEUI_MSG_CLOSEBUSYDIALOG = "OLEUI_MSG_CLOSEBUSYDIALOG"; const TCHAR[] SZOLEUI_MSG_CONVERT = "OLEUI_MSG_CONVERT"; const TCHAR[] SZOLEUI_MSG_CHANGESOURCE = "OLEUI_MSG_CHANGESOURCE"; const TCHAR[] SZOLEUI_MSG_ADDCONTROL = "OLEUI_MSG_ADDCONTROL"; const TCHAR[] SZOLEUI_MSG_BROWSE_OFN = "OLEUI_MSG_BROWSE_OFN"; const TCHAR[] PROP_HWND_CHGICONDLG = "HWND_CIDLG"; enum IDC_OLEUIHELP=99; enum { IDC_IO_CREATENEW = 2100, IDC_IO_CREATEFROMFILE, IDC_IO_LINKFILE, IDC_IO_OBJECTTYPELIST, IDC_IO_DISPLAYASICON, IDC_IO_CHANGEICON, IDC_IO_FILE, IDC_IO_FILEDISPLAY, IDC_IO_RESULTIMAGE, IDC_IO_RESULTTEXT, IDC_IO_ICONDISPLAY, IDC_IO_OBJECTTYPETEXT, IDC_IO_FILETEXT, IDC_IO_FILETYPE, IDC_IO_INSERTCONTROL, IDC_IO_ADDCONTROL, IDC_IO_CONTROLTYPELIST // = 2116 } enum IDC_PS_PASTE=500; enum IDC_PS_PASTELINK=501; enum IDC_PS_SOURCETEXT=502; enum IDC_PS_PASTELIST=503; enum IDC_PS_PASTELINKLIST=504; enum IDC_PS_DISPLAYLIST=505; enum IDC_PS_DISPLAYASICON=506; enum IDC_PS_ICONDISPLAY=507; enum IDC_PS_CHANGEICON=508; enum IDC_PS_RESULTIMAGE=509; enum IDC_PS_RESULTTEXT=510; enum IDC_CI_GROUP=120; enum IDC_CI_CURRENT=121; enum IDC_CI_CURRENTICON=122; enum IDC_CI_DEFAULT=123; enum IDC_CI_DEFAULTICON=124; enum IDC_CI_FROMFILE=125; enum IDC_CI_FROMFILEEDIT=126; enum IDC_CI_ICONLIST=127; enum IDC_CI_LABEL=128; enum IDC_CI_LABELEDIT=129; enum IDC_CI_BROWSE=130; enum IDC_CI_ICONDISPLAY=131; enum IDC_CV_OBJECTTYPE=150; enum IDC_CV_DISPLAYASICON=152; enum IDC_CV_CHANGEICON=153; enum IDC_CV_ACTIVATELIST=154; enum IDC_CV_CONVERTTO=155; enum IDC_CV_ACTIVATEAS=156; enum IDC_CV_RESULTTEXT=157; enum IDC_CV_CONVERTLIST=158; enum IDC_CV_ICONDISPLAY=165; enum IDC_EL_CHANGESOURCE=201; enum IDC_EL_AUTOMATIC=202; enum IDC_EL_CANCELLINK=209; enum IDC_EL_UPDATENOW=210; enum IDC_EL_OPENSOURCE=211; enum IDC_EL_MANUAL=212; enum IDC_EL_LINKSOURCE=216; enum IDC_EL_LINKTYPE=217; enum IDC_EL_LINKSLISTBOX=206; enum IDC_EL_COL1=220; enum IDC_EL_COL2=221; enum IDC_EL_COL3=222; enum IDC_BZ_RETRY=600; enum IDC_BZ_ICON=601; enum IDC_BZ_MESSAGE1=602; enum IDC_BZ_SWITCHTO=604; enum IDC_UL_METER=1029; enum IDC_UL_STOP=1030; enum IDC_UL_PERCENT=1031; enum IDC_UL_PROGRESS=1032; enum IDC_PU_LINKS=900; enum IDC_PU_TEXT=901; enum IDC_PU_CONVERT=902; enum IDC_PU_ICON=908; enum IDC_GP_OBJECTNAME=1009; enum IDC_GP_OBJECTTYPE=1010; enum IDC_GP_OBJECTSIZE=1011; enum IDC_GP_CONVERT=1013; enum IDC_GP_OBJECTICON=1014; enum IDC_GP_OBJECTLOCATION=1022; enum IDC_VP_PERCENT=1000; enum IDC_VP_CHANGEICON=1001; enum IDC_VP_EDITABLE=1002; enum IDC_VP_ASICON=1003; enum IDC_VP_RELATIVE=1005; enum IDC_VP_SPIN=1006; enum IDC_VP_SCALETXT=1034; enum IDC_VP_ICONDISPLAY=1021; enum IDC_VP_RESULTIMAGE=1033; enum IDC_LP_OPENSOURCE=1006; enum IDC_LP_UPDATENOW=1007; enum IDC_LP_BREAKLINK=1008; enum IDC_LP_LINKSOURCE=1012; enum IDC_LP_CHANGESOURCE=1015; enum IDC_LP_AUTOMATIC=1016; enum IDC_LP_MANUAL=1017; enum IDC_LP_DATE=1018; enum IDC_LP_TIME=1019; enum IDD_INSERTOBJECT=1000; enum IDD_CHANGEICON=1001; enum IDD_CONVERT=1002; enum IDD_PASTESPECIAL=1003; enum IDD_EDITLINKS=1004; enum IDD_BUSY=1006; enum IDD_UPDATELINKS=1007; enum IDD_CHANGESOURCE=1009; enum IDD_INSERTFILEBROWSE=1010; enum IDD_CHANGEICONBROWSE=1011; enum IDD_CONVERTONLY=1012; enum IDD_CHANGESOURCE4=1013; enum IDD_GNRLPROPS=1100; enum IDD_VIEWPROPS=1101; enum IDD_LINKPROPS=1102; enum IDD_CANNOTUPDATELINK=1008; enum IDD_LINKSOURCEUNAVAILABLE=1020; enum IDD_SERVERNOTFOUND=1023; enum IDD_OUTOFMEMORY=1024; enum IDD_SERVERNOTREGW=1021; enum IDD_LINKTYPECHANGEDW=1022; enum IDD_SERVERNOTREGA=1025; enum IDD_LINKTYPECHANGEDA=1026; enum ID_BROWSE_CHANGEICON=1; enum ID_BROWSE_INSERTFILE=2; enum ID_BROWSE_ADDCONTROL=3; enum ID_BROWSE_CHANGESOURCE=4; enum OLEUI_FALSE=0; enum OLEUI_SUCCESS=1; enum OLEUI_OK=1; enum OLEUI_CANCEL=2; enum OLEUI_ERR_STANDARDMIN=100; enum OLEUI_ERR_STRUCTURENULL=101; enum OLEUI_ERR_STRUCTUREINVALID=102; enum OLEUI_ERR_CBSTRUCTINCORRECT=103; enum OLEUI_ERR_HWNDOWNERINVALID=104; enum OLEUI_ERR_LPSZCAPTIONINVALID=105; enum OLEUI_ERR_LPFNHOOKINVALID=106; enum OLEUI_ERR_HINSTANCEINVALID=107; enum OLEUI_ERR_LPSZTEMPLATEINVALID=108; enum OLEUI_ERR_HRESOURCEINVALID=109; enum OLEUI_ERR_FINDTEMPLATEFAILURE=110; enum OLEUI_ERR_LOADTEMPLATEFAILURE=111; enum OLEUI_ERR_DIALOGFAILURE=112; enum OLEUI_ERR_LOCALMEMALLOC=113; enum OLEUI_ERR_GLOBALMEMALLOC=114; enum OLEUI_ERR_LOADSTRING=115; enum OLEUI_ERR_OLEMEMALLOC=116; enum OLEUI_ERR_STANDARDMAX=116; enum OPF_OBJECTISLINK=1; enum OPF_NOFILLDEFAULT=2; enum OPF_SHOWHELP=4; enum OPF_DISABLECONVERT=8; enum OLEUI_OPERR_SUBPROPNULL=OLEUI_ERR_STANDARDMAX; enum OLEUI_OPERR_SUBPROPINVALID=(OLEUI_ERR_STANDARDMAX+1); enum OLEUI_OPERR_PROPSHEETNULL=(OLEUI_ERR_STANDARDMAX+2); enum OLEUI_OPERR_PROPSHEETINVALID=(OLEUI_ERR_STANDARDMAX+3); enum OLEUI_OPERR_SUPPROP=(OLEUI_ERR_STANDARDMAX+4); enum OLEUI_OPERR_PROPSINVALID=(OLEUI_ERR_STANDARDMAX+5); enum OLEUI_OPERR_PAGESINCORRECT=(OLEUI_ERR_STANDARDMAX+6); enum OLEUI_OPERR_INVALIDPAGES=(OLEUI_ERR_STANDARDMAX+7); enum OLEUI_OPERR_NOTSUPPORTED=(OLEUI_ERR_STANDARDMAX+8); enum OLEUI_OPERR_DLGPROCNOTNULL=(OLEUI_ERR_STANDARDMAX+9); enum OLEUI_OPERR_LPARAMNOTZERO=(OLEUI_ERR_STANDARDMAX+10); enum OLEUI_GPERR_STRINGINVALID=(OLEUI_ERR_STANDARDMAX+11); enum OLEUI_GPERR_CLASSIDINVALID=(OLEUI_ERR_STANDARDMAX+12); enum OLEUI_GPERR_LPCLSIDEXCLUDEINVALID=(OLEUI_ERR_STANDARDMAX+13); enum OLEUI_GPERR_CBFORMATINVALID=(OLEUI_ERR_STANDARDMAX+14); enum OLEUI_VPERR_METAPICTINVALID=(OLEUI_ERR_STANDARDMAX+15); enum OLEUI_VPERR_DVASPECTINVALID=(OLEUI_ERR_STANDARDMAX+16); enum OLEUI_LPERR_LINKCNTRNULL=(OLEUI_ERR_STANDARDMAX+17); enum OLEUI_LPERR_LINKCNTRINVALID=(OLEUI_ERR_STANDARDMAX+18); enum OLEUI_OPERR_PROPERTYSHEET=(OLEUI_ERR_STANDARDMAX+19); enum OLEUI_OPERR_OBJINFOINVALID=(OLEUI_ERR_STANDARDMAX+20); enum OLEUI_OPERR_LINKINFOINVALID=(OLEUI_ERR_STANDARDMAX+21); enum OLEUI_QUERY_GETCLASSID=65280; enum OLEUI_QUERY_LINKBROKEN=65281; enum IOF_SHOWHELP=1; enum IOF_SELECTCREATENEW=2; enum IOF_SELECTCREATEFROMFILE=4; enum IOF_CHECKLINK=8; enum IOF_CHECKDISPLAYASICON=16; enum IOF_CREATENEWOBJECT=32; enum IOF_CREATEFILEOBJECT=64; enum IOF_CREATELINKOBJECT=128; enum IOF_DISABLELINK=256; enum IOF_VERIFYSERVERSEXIST=512; enum IOF_DISABLEDISPLAYASICON=1024; enum IOF_HIDECHANGEICON=2048; enum IOF_SHOWINSERTCONTROL=4096; enum IOF_SELECTCREATECONTROL=8192; enum OLEUI_IOERR_LPSZFILEINVALID=OLEUI_ERR_STANDARDMAX; enum OLEUI_IOERR_LPSZLABELINVALID=(OLEUI_ERR_STANDARDMAX+1); enum OLEUI_IOERR_HICONINVALID=(OLEUI_ERR_STANDARDMAX+2); enum OLEUI_IOERR_LPFORMATETCINVALID=(OLEUI_ERR_STANDARDMAX+3); enum OLEUI_IOERR_PPVOBJINVALID=(OLEUI_ERR_STANDARDMAX+4); enum OLEUI_IOERR_LPIOLECLIENTSITEINVALID=(OLEUI_ERR_STANDARDMAX+5); enum OLEUI_IOERR_LPISTORAGEINVALID=(OLEUI_ERR_STANDARDMAX+6); enum OLEUI_IOERR_SCODEHASERROR=(OLEUI_ERR_STANDARDMAX+7); enum OLEUI_IOERR_LPCLSIDEXCLUDEINVALID=(OLEUI_ERR_STANDARDMAX+8); enum OLEUI_IOERR_CCHFILEINVALID=(OLEUI_ERR_STANDARDMAX+9); enum PSF_SHOWHELP=1; enum PSF_SELECTPASTE=2; enum PSF_SELECTPASTELINK=4; enum PSF_CHECKDISPLAYASICON=8; enum PSF_DISABLEDISPLAYASICON=16; enum PSF_HIDECHANGEICON=32; enum PSF_STAYONCLIPBOARDCHANGE=64; enum PSF_NOREFRESHDATAOBJECT=128; enum OLEUI_IOERR_SRCDATAOBJECTINVALID=OLEUI_ERR_STANDARDMAX; enum OLEUI_IOERR_ARRPASTEENTRIESINVALID=(OLEUI_ERR_STANDARDMAX+1); enum OLEUI_IOERR_ARRLINKTYPESINVALID=(OLEUI_ERR_STANDARDMAX+2); enum OLEUI_PSERR_CLIPBOARDCHANGED=(OLEUI_ERR_STANDARDMAX+3); enum OLEUI_PSERR_GETCLIPBOARDFAILED=(OLEUI_ERR_STANDARDMAX+4); enum OLEUI_ELERR_LINKCNTRNULL=OLEUI_ERR_STANDARDMAX; enum OLEUI_ELERR_LINKCNTRINVALID=(OLEUI_ERR_STANDARDMAX+1); enum ELF_SHOWHELP=1; enum ELF_DISABLEUPDATENOW=2; enum ELF_DISABLEOPENSOURCE=4; enum ELF_DISABLECHANGESOURCE=8; enum ELF_DISABLECANCELLINK=16; enum CIF_SHOWHELP=1; enum CIF_SELECTCURRENT=2; enum CIF_SELECTDEFAULT=4; enum CIF_SELECTFROMFILE=8; enum CIF_USEICONEXE=16; enum OLEUI_CIERR_MUSTHAVECLSID=OLEUI_ERR_STANDARDMAX; enum OLEUI_CIERR_MUSTHAVECURRENTMETAFILE=OLEUI_ERR_STANDARDMAX+1; enum OLEUI_CIERR_SZICONEXEINVALID=OLEUI_ERR_STANDARDMAX+2; enum CF_SHOWHELPBUTTON=1; enum CF_SETCONVERTDEFAULT=2; enum CF_SETACTIVATEDEFAULT=4; enum CF_SELECTCONVERTTO=8; enum CF_SELECTACTIVATEAS=16; enum CF_DISABLEDISPLAYASICON=32; enum CF_DISABLEACTIVATEAS=64; enum CF_HIDECHANGEICON=128; enum CF_CONVERTONLY=256; enum OLEUI_CTERR_CLASSIDINVALID = OLEUI_ERR_STANDARDMAX+1; enum OLEUI_CTERR_DVASPECTINVALID = OLEUI_ERR_STANDARDMAX+2; enum OLEUI_CTERR_CBFORMATINVALID = OLEUI_ERR_STANDARDMAX+3; enum OLEUI_CTERR_HMETAPICTINVALID = OLEUI_ERR_STANDARDMAX+4; enum OLEUI_CTERR_STRINGINVALID = OLEUI_ERR_STANDARDMAX+5; enum BZ_DISABLECANCELBUTTON = 1; enum BZ_DISABLESWITCHTOBUTTON = 2; enum BZ_DISABLERETRYBUTTON = 4; enum BZ_NOTRESPONDINGDIALOG = 8; enum OLEUI_BZERR_HTASKINVALID = OLEUI_ERR_STANDARDMAX; enum OLEUI_BZ_SWITCHTOSELECTED = OLEUI_ERR_STANDARDMAX+1; enum OLEUI_BZ_RETRYSELECTED = OLEUI_ERR_STANDARDMAX+2; enum OLEUI_BZ_CALLUNBLOCKED = OLEUI_ERR_STANDARDMAX+3; enum CSF_SHOWHELP = 1; enum CSF_VALIDSOURCE = 2; enum CSF_ONLYGETSOURCE = 4; enum CSF_EXPLORER = 8; enum OLEUI_CSERR_LINKCNTRNULL = OLEUI_ERR_STANDARDMAX; enum OLEUI_CSERR_LINKCNTRINVALID = OLEUI_ERR_STANDARDMAX+1; enum OLEUI_CSERR_FROMNOTNULL = OLEUI_ERR_STANDARDMAX+2; enum OLEUI_CSERR_TONOTNULL = OLEUI_ERR_STANDARDMAX+3; enum OLEUI_CSERR_SOURCENULL = OLEUI_ERR_STANDARDMAX+4; enum OLEUI_CSERR_SOURCEINVALID = OLEUI_ERR_STANDARDMAX+5; enum OLEUI_CSERR_SOURCEPARSERROR = OLEUI_ERR_STANDARDMAX+6; enum OLEUI_CSERR_SOURCEPARSEERROR = OLEUI_ERR_STANDARDMAX+7; enum VPF_SELECTRELATIVE=1; enum VPF_DISABLERELATIVE=2; enum VPF_DISABLESCALE=4; align(8): extern (Windows) { alias UINT function(HWND, UINT, WPARAM, LPARAM) LPFNOLEUIHOOK; } struct OLEUIINSERTOBJECTW { 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; } alias OLEUIINSERTOBJECTW* POLEUIINSERTOBJECTW, LPOLEUIINSERTOBJECTW; struct OLEUIINSERTOBJECTA { 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; } alias OLEUIINSERTOBJECTA* POLEUIINSERTOBJECTA, LPOLEUIINSERTOBJECTA; extern (Windows) { UINT OleUIInsertObjectW(LPOLEUIINSERTOBJECTW); UINT OleUIInsertObjectA(LPOLEUIINSERTOBJECTA); } enum OLEUIPASTEFLAG { 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 } struct OLEUIPASTEENTRYW { FORMATETC fmtetc; LPCWSTR lpstrFormatName; LPCWSTR lpstrResultText; DWORD dwFlags; DWORD dwScratchSpace; } alias OLEUIPASTEENTRYW* POLEUIPASTEENTRYW, LPOLEUIPASTEENTRYW; struct OLEUIPASTEENTRYA { FORMATETC fmtetc; LPCSTR lpstrFormatName; LPCSTR lpstrResultText; DWORD dwFlags; DWORD dwScratchSpace; } alias OLEUIPASTEENTRYA* POLEUIPASTEENTRYA, LPOLEUIPASTEENTRYA; struct OLEUIPASTESPECIALW { 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; } alias OLEUIPASTESPECIALW* POLEUIPASTESPECIALW, LPOLEUIPASTESPECIALW; struct OLEUIPASTESPECIALA { 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; } alias OLEUIPASTESPECIALA* POLEUIPASTESPECIALA, LPOLEUIPASTESPECIALA; interface IOleUILinkContainerW : IUnknown { HRESULT QueryInterface(REFIID, PVOID*); ULONG AddRef(); ULONG Release(); DWORD GetNextLink(DWORD dwLink); HRESULT SetLinkUpdateOptions(DWORD, DWORD); HRESULT GetLinkUpdateOptions(DWORD, PDWORD); HRESULT SetLinkSource(DWORD, LPWSTR, ULONG, PULONG, BOOL); HRESULT GetLinkSource(DWORD, LPWSTR*, PULONG, LPWSTR*, LPWSTR*, BOOL*, BOOL*); HRESULT OpenLinkSource(DWORD); HRESULT UpdateLink(DWORD, BOOL, BOOL); HRESULT CancelLink(DWORD); } alias IOleUILinkContainerW LPOLEUILINKCONTAINERW; interface IOleUILinkContainerA : IUnknown { HRESULT QueryInterface(REFIID, PVOID*); ULONG AddRef(); ULONG Release(); DWORD GetNextLink(DWORD); HRESULT SetLinkUpdateOptions(DWORD, DWORD); HRESULT GetLinkUpdateOptions(DWORD, PDWORD); HRESULT SetLinkSource(DWORD, LPSTR, ULONG, PULONG, BOOL); HRESULT GetLinkSource(DWORD, LPSTR*, PULONG, LPSTR*, LPSTR*, BOOL*, BOOL*); HRESULT OpenLinkSource(DWORD); HRESULT UpdateLink(DWORD, BOOL, BOOL); HRESULT CancelLink(DWORD); } alias IOleUILinkContainerA LPOLEUILINKCONTAINERA; struct OLEUIEDITLINKSW { DWORD cbStruct; DWORD dwFlags; HWND hWndOwner; LPCWSTR lpszCaption; LPFNOLEUIHOOK lpfnHook; LPARAM lCustData; HINSTANCE hInstance; LPCWSTR lpszTemplate; HRSRC hResource; LPOLEUILINKCONTAINERW lpOleUILinkContainer; } alias OLEUIEDITLINKSW* POLEUIEDITLINKSW, LPOLEUIEDITLINKSW; struct OLEUIEDITLINKSA { DWORD cbStruct; DWORD dwFlags; HWND hWndOwner; LPCSTR lpszCaption; LPFNOLEUIHOOK lpfnHook; LPARAM lCustData; HINSTANCE hInstance; LPCSTR lpszTemplate; HRSRC hResource; LPOLEUILINKCONTAINERA lpOleUILinkContainer; } alias OLEUIEDITLINKSA* POLEUIEDITLINKSA, LPOLEUIEDITLINKSA; struct OLEUICHANGEICONW { DWORD cbStruct; DWORD dwFlags; HWND hWndOwner; LPCWSTR lpszCaption; LPFNOLEUIHOOK lpfnHook; LPARAM lCustData; HINSTANCE hInstance; LPCWSTR lpszTemplate; HRSRC hResource; HGLOBAL hMetaPict; CLSID clsid; WCHAR[MAX_PATH] szIconExe = 0; int cchIconExe; } alias OLEUICHANGEICONW* POLEUICHANGEICONW, LPOLEUICHANGEICONW; struct OLEUICHANGEICONA { DWORD cbStruct; DWORD dwFlags; HWND hWndOwner; LPCSTR lpszCaption; LPFNOLEUIHOOK lpfnHook; LPARAM lCustData; HINSTANCE hInstance; LPCSTR lpszTemplate; HRSRC hResource; HGLOBAL hMetaPict; CLSID clsid; CHAR[MAX_PATH] szIconExe = 0; int cchIconExe; } alias OLEUICHANGEICONA* POLEUICHANGEICONA, LPOLEUICHANGEICONA; struct OLEUICONVERTW { 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; } alias OLEUICONVERTW* POLEUICONVERTW, LPOLEUICONVERTW; struct OLEUICONVERTA { 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; } alias OLEUICONVERTA* POLEUICONVERTA, LPOLEUICONVERTA; struct OLEUIBUSYW { DWORD cbStruct; DWORD dwFlags; HWND hWndOwner; LPCWSTR lpszCaption; LPFNOLEUIHOOK lpfnHook; LPARAM lCustData; HINSTANCE hInstance; LPCWSTR lpszTemplate; HRSRC hResource; HTASK hTask; HWND *lphWndDialog; } alias OLEUIBUSYW* POLEUIBUSYW, LPOLEUIBUSYW; struct OLEUIBUSYA { DWORD cbStruct; DWORD dwFlags; HWND hWndOwner; LPCSTR lpszCaption; LPFNOLEUIHOOK lpfnHook; LPARAM lCustData; HINSTANCE hInstance; LPCSTR lpszTemplate; HRSRC hResource; HTASK hTask; HWND *lphWndDialog; } alias OLEUIBUSYA* POLEUIBUSYA, LPOLEUIBUSYA; struct OLEUICHANGESOURCEW { DWORD cbStruct; DWORD dwFlags; HWND hWndOwner; LPCWSTR lpszCaption; LPFNOLEUIHOOK lpfnHook; LPARAM lCustData; HINSTANCE hInstance; LPCWSTR lpszTemplate; HRSRC hResource; OPENFILENAMEW* lpOFN; DWORD[4] dwReserved1; LPOLEUILINKCONTAINERW lpOleUILinkContainer; DWORD dwLink; LPWSTR lpszDisplayName; ULONG nFileLength; LPWSTR lpszFrom; LPWSTR lpszTo; } alias OLEUICHANGESOURCEW* POLEUICHANGESOURCEW, LPOLEUICHANGESOURCEW; struct OLEUICHANGESOURCEA { DWORD cbStruct; DWORD dwFlags; HWND hWndOwner; LPCSTR lpszCaption; LPFNOLEUIHOOK lpfnHook; LPARAM lCustData; HINSTANCE hInstance; LPCSTR lpszTemplate; HRSRC hResource; OPENFILENAMEA *lpOFN; DWORD[4] dwReserved1; LPOLEUILINKCONTAINERA lpOleUILinkContainer; DWORD dwLink; LPSTR lpszDisplayName; ULONG nFileLength; LPSTR lpszFrom; LPSTR lpszTo; } alias OLEUICHANGESOURCEA* POLEUICHANGESOURCEA, LPOLEUICHANGESOURCEA; interface IOleUIObjInfoW : IUnknown { HRESULT QueryInterface(REFIID, PVOID*); ULONG AddRef(); ULONG Release(); HRESULT GetObjectInfo(DWORD, PDWORD, LPWSTR*, LPWSTR*, LPWSTR*, LPWSTR*); HRESULT GetConvertInfo(DWORD, CLSID*, PWORD, CLSID*, LPCLSID*, UINT*); HRESULT ConvertObject(DWORD, REFCLSID); HRESULT GetViewInfo(DWORD, HGLOBAL*, PDWORD, int*); HRESULT SetViewInfo(DWORD, HGLOBAL, DWORD, int, BOOL); } alias IOleUIObjInfoW LPOLEUIOBJINFOW; interface IOleUIObjInfoA : IUnknown { HRESULT QueryInterface(REFIID, PVOID*); ULONG AddRef(); ULONG Release(); HRESULT GetObjectInfo(DWORD, PDWORD, LPSTR*, LPSTR*, LPSTR*, LPSTR*); HRESULT GetConvertInfo(DWORD, CLSID*, PWORD, CLSID*, LPCLSID*, UINT*); HRESULT ConvertObject(DWORD, REFCLSID); HRESULT GetViewInfo(DWORD, HGLOBAL*, PDWORD, int*); HRESULT SetViewInfo(DWORD, HGLOBAL, DWORD, int, BOOL); } alias IOleUIObjInfoA LPOLEUIOBJINFOA; interface IOleUILinkInfoW : IOleUILinkContainerW { HRESULT QueryInterface(REFIID, PVOID*); ULONG AddRef(); ULONG Release(); DWORD GetNextLink(DWORD); HRESULT SetLinkUpdateOptions(DWORD, DWORD); HRESULT GetLinkUpdateOptions(DWORD, DWORD*); HRESULT SetLinkSource(DWORD, LPWSTR, ULONG, PULONG, BOOL); HRESULT GetLinkSource(DWORD, LPWSTR*, PULONG, LPWSTR*, LPWSTR*, BOOL*, BOOL*); HRESULT OpenLinkSource(DWORD); HRESULT UpdateLink(DWORD, BOOL, BOOL); HRESULT CancelLink(DWORD); HRESULT GetLastUpdate(DWORD, FILETIME*); } alias IOleUILinkInfoW LPOLEUILINKINFOW; interface IOleUILinkInfoA : IOleUILinkContainerA { HRESULT QueryInterface(REFIID, PVOID*); ULONG AddRef(); ULONG Release(); DWORD GetNextLink(DWORD); HRESULT SetLinkUpdateOptions(DWORD, DWORD); HRESULT GetLinkUpdateOptions(DWORD, DWORD*); HRESULT SetLinkSource(DWORD, LPSTR, ULONG, PULONG, BOOL); HRESULT GetLinkSource(DWORD, LPSTR*, PULONG, LPSTR*, LPSTR*, BOOL*, BOOL*); HRESULT OpenLinkSource(DWORD); HRESULT UpdateLink(DWORD, BOOL, BOOL); HRESULT CancelLink(DWORD); HRESULT GetLastUpdate(DWORD, FILETIME*); } alias IOleUILinkInfoA LPOLEUILINKINFOA; struct OLEUIGNRLPROPSW { DWORD cbStruct; DWORD dwFlags; DWORD[2] dwReserved1; LPFNOLEUIHOOK lpfnHook; LPARAM lCustData; DWORD[3] dwReserved2; OLEUIOBJECTPROPSW* lpOP; } alias OLEUIGNRLPROPSW* POLEUIGNRLPROPSW, LPOLEUIGNRLPROPSW; struct OLEUIGNRLPROPSA { DWORD cbStruct; DWORD dwFlags; DWORD[2] dwReserved1; LPFNOLEUIHOOK lpfnHook; LPARAM lCustData; DWORD[3] dwReserved2; OLEUIOBJECTPROPSA* lpOP; } alias OLEUIGNRLPROPSA* POLEUIGNRLPROPSA, LPOLEUIGNRLPROPSA; struct OLEUIVIEWPROPSW { DWORD cbStruct; DWORD dwFlags; DWORD[2] dwReserved1; LPFNOLEUIHOOK lpfnHook; LPARAM lCustData; DWORD[3] dwReserved2; OLEUIOBJECTPROPSW* lpOP; int nScaleMin; int nScaleMax; } alias OLEUIVIEWPROPSW* POLEUIVIEWPROPSW, LPOLEUIVIEWPROPSW; struct OLEUIVIEWPROPSA { DWORD cbStruct; DWORD dwFlags; DWORD[2] dwReserved1; LPFNOLEUIHOOK lpfnHook; LPARAM lCustData; DWORD[3] dwReserved2; OLEUIOBJECTPROPSA *lpOP; int nScaleMin; int nScaleMax; } alias OLEUIVIEWPROPSA* POLEUIVIEWPROPSA, LPOLEUIVIEWPROPSA; struct OLEUILINKPROPSW { DWORD cbStruct; DWORD dwFlags; DWORD[2] dwReserved1; LPFNOLEUIHOOK lpfnHook; LPARAM lCustData; DWORD[3] dwReserved2; OLEUIOBJECTPROPSW *lpOP; } alias OLEUILINKPROPSW* POLEUILINKPROPSW, LPOLEUILINKPROPSW; struct OLEUILINKPROPSA { DWORD cbStruct; DWORD dwFlags; DWORD[2] dwReserved1; LPFNOLEUIHOOK lpfnHook; LPARAM lCustData; DWORD[3] dwReserved2; OLEUIOBJECTPROPSA* lpOP; } alias OLEUILINKPROPSA* POLEUILINKPROPSA, LPOLEUILINKPROPSA; struct OLEUIOBJECTPROPSW { DWORD cbStruct; DWORD dwFlags; LPPROPSHEETHEADERW lpPS; DWORD dwObject; LPOLEUIOBJINFOW lpObjInfo; DWORD dwLink; LPOLEUILINKINFOW lpLinkInfo; LPOLEUIGNRLPROPSW lpGP; LPOLEUIVIEWPROPSW lpVP; LPOLEUILINKPROPSW lpLP; } alias OLEUIOBJECTPROPSW* POLEUIOBJECTPROPSW, LPOLEUIOBJECTPROPSW; struct OLEUIOBJECTPROPSA { DWORD cbStruct; DWORD dwFlags; LPPROPSHEETHEADERA lpPS; DWORD dwObject; LPOLEUIOBJINFOA lpObjInfo; DWORD dwLink; LPOLEUILINKINFOA lpLinkInfo; LPOLEUIGNRLPROPSA lpGP; LPOLEUIVIEWPROPSA lpVP; LPOLEUILINKPROPSA lpLP; } alias OLEUIOBJECTPROPSA* POLEUIOBJECTPROPSA, LPOLEUIOBJECTPROPSA; extern (Windows) { BOOL OleUIAddVerbMenuW(LPOLEOBJECT, LPCWSTR, HMENU, UINT, UINT, UINT, BOOL, UINT, HMENU*); BOOL OleUIAddVerbMenuA(LPOLEOBJECT, LPCSTR, HMENU, UINT, UINT, UINT, BOOL, UINT, HMENU*); UINT OleUIBusyW(LPOLEUIBUSYW); UINT OleUIBusyA(LPOLEUIBUSYA); BOOL OleUICanConvertOrActivateAs(REFCLSID, BOOL, WORD); UINT OleUIChangeIconW(LPOLEUICHANGEICONW); UINT OleUIChangeIconA(LPOLEUICHANGEICONA); UINT OleUIChangeSourceW(LPOLEUICHANGESOURCEW); UINT OleUIChangeSourceA(LPOLEUICHANGESOURCEA); UINT OleUIConvertW(LPOLEUICONVERTW); UINT OleUIConvertA(LPOLEUICONVERTA); UINT OleUIEditLinksW(LPOLEUIEDITLINKSW); UINT OleUIEditLinksA(LPOLEUIEDITLINKSA); UINT OleUIObjectPropertiesW(LPOLEUIOBJECTPROPSW); UINT OleUIObjectPropertiesA(LPOLEUIOBJECTPROPSA); UINT OleUIPasteSpecialW(LPOLEUIPASTESPECIALW); UINT OleUIPasteSpecialA(LPOLEUIPASTESPECIALA); BOOL OleUIUpdateLinksW(LPOLEUILINKCONTAINERW, HWND, LPWSTR, int); BOOL OleUIUpdateLinksA(LPOLEUILINKCONTAINERA, HWND, LPSTR, int); } extern (C) { int OleUIPromptUserW(int, HWND, ...); int OleUIPromptUserA(int, HWND, ...); } version (Unicode) { alias IDD_SERVERNOTREGW IDD_SERVERNOTREG; alias IDD_LINKTYPECHANGEDW IDD_LINKTYPECHANGED; alias OleUIUpdateLinksW OleUIUpdateLinks; alias OleUIAddVerbMenuW OleUIAddVerbMenu; alias OLEUIOBJECTPROPSW OLEUIOBJECTPROPS; alias POLEUIOBJECTPROPSW POLEUIOBJECTPROPS; alias LPOLEUIOBJECTPROPSW LPOLEUIOBJECTPROPS; alias OleUIObjectPropertiesW OleUIObjectProperties; alias OLEUIINSERTOBJECTW OLEUIINSERTOBJECT; alias POLEUIINSERTOBJECTW POLEUIINSERTOBJECT; alias LPOLEUIINSERTOBJECTW LPOLEUIINSERTOBJECT; alias OleUIInsertObjectW OleUIInsertObject; alias OleUIPromptUserW OleUIPromptUser; alias OLEUIPASTEENTRYW OLEUIPASTEENTRY; alias POLEUIPASTEENTRYW POLEUIPASTEENTRY; alias LPOLEUIPASTEENTRYW LPOLEUIPASTEENTRY; alias OLEUIPASTESPECIALW OLEUIPASTESPECIAL; alias POLEUIPASTESPECIALW POLEUIPASTESPECIAL; alias LPOLEUIPASTESPECIALW LPOLEUIPASTESPECIAL; alias OleUIPasteSpecialW OleUIPasteSpecial; alias IOleUILinkContainerW IOleUILinkContainer; alias LPOLEUILINKCONTAINERW LPOLEUILINKCONTAINER; alias OLEUIEDITLINKSW OLEUIEDITLINKS; alias POLEUIEDITLINKSW POLEUIEDITLINKS; alias LPOLEUIEDITLINKSW LPOLEUIEDITLINKS; alias OleUIEditLinksW OleUIEditLinks; alias OLEUICHANGEICONW OLEUICHANGEICON; alias POLEUICHANGEICONW POLEUICHANGEICON; alias LPOLEUICHANGEICONW LPOLEUICHANGEICON; alias OleUIChangeIconW OleUIChangeIcon; alias OLEUICONVERTW OLEUICONVERT; alias POLEUICONVERTW POLEUICONVERT; alias LPOLEUICONVERTW LPOLEUICONVERT; alias OleUIConvertW OleUIConvert; alias OLEUIBUSYW OLEUIBUSY; alias POLEUIBUSYW POLEUIBUSY; alias LPOLEUIBUSYW LPOLEUIBUSY; alias OleUIBusyW OleUIBusy; alias OLEUICHANGESOURCEW OLEUICHANGESOURCE; alias POLEUICHANGESOURCEW POLEUICHANGESOURCE; alias LPOLEUICHANGESOURCEW LPOLEUICHANGESOURCE; alias OleUIChangeSourceW OleUIChangeSource; alias IOleUIObjInfoW IOleUIObjInfo; alias LPOLEUIOBJINFOW LPOLEUIOBJINFO; alias IOleUILinkInfoW IOleUILinkInfo; //alias IOleUILinkInfoWVtbl IOleUILinkInfoVtbl; alias LPOLEUILINKINFOW LPOLEUILINKINFO; alias OLEUIGNRLPROPSW OLEUIGNRLPROPS; alias POLEUIGNRLPROPSW POLEUIGNRLPROPS; alias LPOLEUIGNRLPROPSW LPOLEUIGNRLPROPS; alias OLEUIVIEWPROPSW OLEUIVIEWPROPS; alias POLEUIVIEWPROPSW POLEUIVIEWPROPS; alias LPOLEUIVIEWPROPSW LPOLEUIVIEWPROPS; alias OLEUILINKPROPSW OLEUILINKPROPS; alias POLEUILINKPROPSW POLEUILINKPROPS; alias LPOLEUILINKPROPSW LPOLEUILINKPROPS; } else { alias IDD_SERVERNOTREGA IDD_SERVERNOTREG; alias IDD_LINKTYPECHANGEDA IDD_LINKTYPECHANGED; alias OleUIUpdateLinksA OleUIUpdateLinks; alias OleUIAddVerbMenuA OleUIAddVerbMenu; alias OLEUIOBJECTPROPSA OLEUIOBJECTPROPS; alias POLEUIOBJECTPROPSA POLEUIOBJECTPROPS; alias LPOLEUIOBJECTPROPSA LPOLEUIOBJECTPROPS; alias OleUIObjectPropertiesA OleUIObjectProperties; alias OLEUIINSERTOBJECTA OLEUIINSERTOBJECT; alias POLEUIINSERTOBJECTA POLEUIINSERTOBJECT; alias LPOLEUIINSERTOBJECTA LPOLEUIINSERTOBJECT; alias OleUIInsertObjectA OleUIInsertObject; alias OleUIPromptUserA OleUIPromptUser; alias OLEUIPASTEENTRYA OLEUIPASTEENTRY; alias POLEUIPASTEENTRYA POLEUIPASTEENTRY; alias LPOLEUIPASTEENTRYA LPOLEUIPASTEENTRY; alias OLEUIPASTESPECIALA OLEUIPASTESPECIAL; alias POLEUIPASTESPECIALA POLEUIPASTESPECIAL; alias LPOLEUIPASTESPECIALA LPOLEUIPASTESPECIAL; alias OleUIPasteSpecialA OleUIPasteSpecial; alias IOleUILinkContainerA IOleUILinkContainer; alias LPOLEUILINKCONTAINERA LPOLEUILINKCONTAINER; alias OLEUIEDITLINKSA OLEUIEDITLINKS; alias POLEUIEDITLINKSA POLEUIEDITLINKS; alias LPOLEUIEDITLINKSA LPOLEUIEDITLINKS; alias OleUIEditLinksA OleUIEditLinks; alias OLEUICHANGEICONA OLEUICHANGEICON; alias POLEUICHANGEICONA POLEUICHANGEICON; alias LPOLEUICHANGEICONA LPOLEUICHANGEICON; alias OleUIChangeIconA OleUIChangeIcon; alias OLEUICONVERTA OLEUICONVERT; alias POLEUICONVERTA POLEUICONVERT; alias LPOLEUICONVERTA LPOLEUICONVERT; alias OleUIConvertA OleUIConvert; alias OLEUIBUSYA OLEUIBUSY; alias POLEUIBUSYA POLEUIBUSY; alias LPOLEUIBUSYA LPOLEUIBUSY; alias OleUIBusyA OleUIBusy; alias OLEUICHANGESOURCEA OLEUICHANGESOURCE; alias POLEUICHANGESOURCEA POLEUICHANGESOURCE; alias LPOLEUICHANGESOURCEA LPOLEUICHANGESOURCE; alias OleUIChangeSourceA OleUIChangeSource; alias IOleUIObjInfoA IOleUIObjInfo; alias LPOLEUIOBJINFOA LPOLEUIOBJINFO; alias IOleUILinkInfoA IOleUILinkInfo; //alias IOleUILinkInfoAVtbl IOleUILinkInfoVtbl; alias LPOLEUILINKINFOA LPOLEUILINKINFO; alias OLEUIGNRLPROPSA OLEUIGNRLPROPS; alias POLEUIGNRLPROPSA POLEUIGNRLPROPS; alias LPOLEUIGNRLPROPSA LPOLEUIGNRLPROPS; alias OLEUIVIEWPROPSA OLEUIVIEWPROPS; alias POLEUIVIEWPROPSA POLEUIVIEWPROPS; alias LPOLEUIVIEWPROPSA LPOLEUIVIEWPROPS; alias OLEUILINKPROPSA OLEUILINKPROPS; alias POLEUILINKPROPSA POLEUILINKPROPS; alias LPOLEUILINKPROPSA LPOLEUILINKPROPS; }