oledlg.h 35 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034
  1. /**
  2. * This file has no copyright assigned and is placed in the Public Domain.
  3. * This file is part of the mingw-w64 runtime package.
  4. * No warranty is given; refer to the file DISCLAIMER.PD within this package.
  5. */
  6. #ifndef _OLEDLG_H_
  7. #define _OLEDLG_H_
  8. #include <_mingw_unicode.h>
  9. #ifndef RC_INVOKED
  10. #ifndef __cplusplus
  11. /* #define NONAMELESSUNION */
  12. #endif
  13. #if defined(_UNICODE) && !defined(UNICODE)
  14. #define UNICODE
  15. #endif
  16. #if defined(UNICODE) && !defined(_UNICODE)
  17. #define _UNICODE
  18. #endif
  19. #include <windows.h>
  20. #include <shellapi.h>
  21. #include <commdlg.h>
  22. #include <ole2.h>
  23. #include <string.h>
  24. #include <tchar.h>
  25. #endif /* End RC_INVOKED */
  26. #include <dlgs.h>
  27. #define IDC_OLEUIHELP 99
  28. #define IDC_IO_CREATENEW 2100
  29. #define IDC_IO_CREATEFROMFILE 2101
  30. #define IDC_IO_LINKFILE 2102
  31. #define IDC_IO_OBJECTTYPELIST 2103
  32. #define IDC_IO_DISPLAYASICON 2104
  33. #define IDC_IO_CHANGEICON 2105
  34. #define IDC_IO_FILE 2106
  35. #define IDC_IO_FILEDISPLAY 2107
  36. #define IDC_IO_RESULTIMAGE 2108
  37. #define IDC_IO_RESULTTEXT 2109
  38. #define IDC_IO_ICONDISPLAY 2110
  39. #define IDC_IO_OBJECTTYPETEXT 2111
  40. #define IDC_IO_FILETEXT 2112
  41. #define IDC_IO_FILETYPE 2113
  42. #define IDC_IO_INSERTCONTROL 2114
  43. #define IDC_IO_ADDCONTROL 2115
  44. #define IDC_IO_CONTROLTYPELIST 2116
  45. #define IDC_PS_PASTE 500
  46. #define IDC_PS_PASTELINK 501
  47. #define IDC_PS_SOURCETEXT 502
  48. #define IDC_PS_PASTELIST 503
  49. #define IDC_PS_PASTELINKLIST 504
  50. #define IDC_PS_DISPLAYLIST 505
  51. #define IDC_PS_DISPLAYASICON 506
  52. #define IDC_PS_ICONDISPLAY 507
  53. #define IDC_PS_CHANGEICON 508
  54. #define IDC_PS_RESULTIMAGE 509
  55. #define IDC_PS_RESULTTEXT 510
  56. #define IDC_CI_GROUP 120
  57. #define IDC_CI_CURRENT 121
  58. #define IDC_CI_CURRENTICON 122
  59. #define IDC_CI_DEFAULT 123
  60. #define IDC_CI_DEFAULTICON 124
  61. #define IDC_CI_FROMFILE 125
  62. #define IDC_CI_FROMFILEEDIT 126
  63. #define IDC_CI_ICONLIST 127
  64. #define IDC_CI_LABEL 128
  65. #define IDC_CI_LABELEDIT 129
  66. #define IDC_CI_BROWSE 130
  67. #define IDC_CI_ICONDISPLAY 131
  68. #define IDC_CV_OBJECTTYPE 150
  69. #define IDC_CV_DISPLAYASICON 152
  70. #define IDC_CV_CHANGEICON 153
  71. #define IDC_CV_ACTIVATELIST 154
  72. #define IDC_CV_CONVERTTO 155
  73. #define IDC_CV_ACTIVATEAS 156
  74. #define IDC_CV_RESULTTEXT 157
  75. #define IDC_CV_CONVERTLIST 158
  76. #define IDC_CV_ICONDISPLAY 165
  77. #define IDC_EL_CHANGESOURCE 201
  78. #define IDC_EL_AUTOMATIC 202
  79. #define IDC_EL_CANCELLINK 209
  80. #define IDC_EL_UPDATENOW 210
  81. #define IDC_EL_OPENSOURCE 211
  82. #define IDC_EL_MANUAL 212
  83. #define IDC_EL_LINKSOURCE 216
  84. #define IDC_EL_LINKTYPE 217
  85. #define IDC_EL_LINKSLISTBOX 206
  86. #define IDC_EL_COL1 220
  87. #define IDC_EL_COL2 221
  88. #define IDC_EL_COL3 222
  89. #define IDC_BZ_RETRY 600
  90. #define IDC_BZ_ICON 601
  91. #define IDC_BZ_MESSAGE1 602
  92. #define IDC_BZ_SWITCHTO 604
  93. #define IDC_UL_METER 1029
  94. #define IDC_UL_STOP 1030
  95. #define IDC_UL_PERCENT 1031
  96. #define IDC_UL_PROGRESS 1032
  97. #define IDC_PU_LINKS 900
  98. #define IDC_PU_TEXT 901
  99. #define IDC_PU_CONVERT 902
  100. #define IDC_PU_ICON 908
  101. #define IDC_GP_OBJECTNAME 1009
  102. #define IDC_GP_OBJECTTYPE 1010
  103. #define IDC_GP_OBJECTSIZE 1011
  104. #define IDC_GP_CONVERT 1013
  105. #define IDC_GP_OBJECTICON 1014
  106. #define IDC_GP_OBJECTLOCATION 1022
  107. #define IDC_VP_PERCENT 1000
  108. #define IDC_VP_CHANGEICON 1001
  109. #define IDC_VP_EDITABLE 1002
  110. #define IDC_VP_ASICON 1003
  111. #define IDC_VP_RELATIVE 1005
  112. #define IDC_VP_SPIN 1006
  113. #define IDC_VP_SCALETXT 1034
  114. #define IDC_VP_ICONDISPLAY 1021
  115. #define IDC_VP_RESULTIMAGE 1033
  116. #define IDC_LP_OPENSOURCE 1006
  117. #define IDC_LP_UPDATENOW 1007
  118. #define IDC_LP_BREAKLINK 1008
  119. #define IDC_LP_LINKSOURCE 1012
  120. #define IDC_LP_CHANGESOURCE 1015
  121. #define IDC_LP_AUTOMATIC 1016
  122. #define IDC_LP_MANUAL 1017
  123. #define IDC_LP_DATE 1018
  124. #define IDC_LP_TIME 1019
  125. #define IDD_INSERTOBJECT 1000
  126. #define IDD_CHANGEICON 1001
  127. #define IDD_CONVERT 1002
  128. #define IDD_PASTESPECIAL 1003
  129. #define IDD_EDITLINKS 1004
  130. #define IDD_BUSY 1006
  131. #define IDD_UPDATELINKS 1007
  132. #define IDD_CHANGESOURCE 1009
  133. #define IDD_INSERTFILEBROWSE 1010
  134. #define IDD_CHANGEICONBROWSE 1011
  135. #define IDD_CONVERTONLY 1012
  136. #define IDD_CHANGESOURCE4 1013
  137. #define IDD_GNRLPROPS 1100
  138. #define IDD_VIEWPROPS 1101
  139. #define IDD_LINKPROPS 1102
  140. #define IDD_CONVERT4 1103
  141. #define IDD_CONVERTONLY4 1104
  142. #define IDD_EDITLINKS4 1105
  143. #define IDD_GNRLPROPS4 1106
  144. #define IDD_LINKPROPS4 1107
  145. #define IDD_PASTESPECIAL4 1108
  146. #define IDD_CANNOTUPDATELINK 1008
  147. #define IDD_LINKSOURCEUNAVAILABLE 1020
  148. #define IDD_SERVERNOTFOUND 1023
  149. #define IDD_OUTOFMEMORY 1024
  150. #define IDD_SERVERNOTREGW 1021
  151. #define IDD_LINKTYPECHANGEDW 1022
  152. #define IDD_SERVERNOTREGA 1025
  153. #define IDD_LINKTYPECHANGEDA 1026
  154. #define IDD_SERVERNOTREG __MINGW_NAME_AW(IDD_SERVERNOTREG)
  155. #define IDD_LINKTYPECHANGED __MINGW_NAME_AW(IDD_LINKTYPECHANGED)
  156. #ifndef RC_INVOKED
  157. #ifdef __cplusplus
  158. extern "C" {
  159. #endif
  160. #pragma pack(push,8)
  161. #define OLESTDDELIM TEXT("\\")
  162. typedef UINT (CALLBACK *LPFNOLEUIHOOK)(HWND,UINT,WPARAM,LPARAM);
  163. #define SZOLEUI_MSG_HELP TEXT("OLEUI_MSG_HELP")
  164. #define SZOLEUI_MSG_ENDDIALOG TEXT("OLEUI_MSG_ENDDIALOG")
  165. #define SZOLEUI_MSG_BROWSE TEXT("OLEUI_MSG_BROWSE")
  166. #define SZOLEUI_MSG_CHANGEICON TEXT("OLEUI_MSG_CHANGEICON")
  167. #define SZOLEUI_MSG_CLOSEBUSYDIALOG TEXT("OLEUI_MSG_CLOSEBUSYDIALOG")
  168. #define SZOLEUI_MSG_CONVERT TEXT("OLEUI_MSG_CONVERT")
  169. #define SZOLEUI_MSG_CHANGESOURCE TEXT("OLEUI_MSG_CHANGESOURCE")
  170. #define SZOLEUI_MSG_ADDCONTROL TEXT("OLEUI_MSG_ADDCONTROL")
  171. #define SZOLEUI_MSG_BROWSE_OFN TEXT("OLEUI_MSG_BROWSE_OFN")
  172. #define ID_BROWSE_CHANGEICON 1
  173. #define ID_BROWSE_INSERTFILE 2
  174. #define ID_BROWSE_ADDCONTROL 3
  175. #define ID_BROWSE_CHANGESOURCE 4
  176. #define OLEUI_FALSE 0
  177. #define OLEUI_SUCCESS 1
  178. #define OLEUI_OK 1
  179. #define OLEUI_CANCEL 2
  180. #define OLEUI_ERR_STANDARDMIN 100
  181. #define OLEUI_ERR_OLEMEMALLOC 100
  182. #define OLEUI_ERR_STRUCTURENULL 101
  183. #define OLEUI_ERR_STRUCTUREINVALID 102
  184. #define OLEUI_ERR_CBSTRUCTINCORRECT 103
  185. #define OLEUI_ERR_HWNDOWNERINVALID 104
  186. #define OLEUI_ERR_LPSZCAPTIONINVALID 105
  187. #define OLEUI_ERR_LPFNHOOKINVALID 106
  188. #define OLEUI_ERR_HINSTANCEINVALID 107
  189. #define OLEUI_ERR_LPSZTEMPLATEINVALID 108
  190. #define OLEUI_ERR_HRESOURCEINVALID 109
  191. #define OLEUI_ERR_FINDTEMPLATEFAILURE 110
  192. #define OLEUI_ERR_LOADTEMPLATEFAILURE 111
  193. #define OLEUI_ERR_DIALOGFAILURE 112
  194. #define OLEUI_ERR_LOCALMEMALLOC 113
  195. #define OLEUI_ERR_GLOBALMEMALLOC 114
  196. #define OLEUI_ERR_LOADSTRING 115
  197. #define OLEUI_ERR_STANDARDMAX 116
  198. STDAPI_(WINBOOL) OleUIAddVerbMenuW(LPOLEOBJECT lpOleObj,LPCWSTR lpszShortType,HMENU hMenu,UINT uPos,UINT uIDVerbMin,UINT uIDVerbMax,WINBOOL bAddConvert,UINT idConvert,HMENU *lphMenu);
  199. STDAPI_(WINBOOL) OleUIAddVerbMenuA(LPOLEOBJECT lpOleObj,LPCSTR lpszShortType,HMENU hMenu,UINT uPos,UINT uIDVerbMin,UINT uIDVerbMax,WINBOOL bAddConvert,UINT idConvert,HMENU *lphMenu);
  200. #define OleUIAddVerbMenu __MINGW_NAME_AW(OleUIAddVerbMenu)
  201. typedef struct tagOLEUIINSERTOBJECTW {
  202. DWORD cbStruct;
  203. DWORD dwFlags;
  204. HWND hWndOwner;
  205. LPCWSTR lpszCaption;
  206. LPFNOLEUIHOOK lpfnHook;
  207. LPARAM lCustData;
  208. HINSTANCE hInstance;
  209. LPCWSTR lpszTemplate;
  210. HRSRC hResource;
  211. CLSID clsid;
  212. LPWSTR lpszFile;
  213. UINT cchFile;
  214. UINT cClsidExclude;
  215. LPCLSID lpClsidExclude;
  216. IID iid;
  217. DWORD oleRender;
  218. LPFORMATETC lpFormatEtc;
  219. LPOLECLIENTSITE lpIOleClientSite;
  220. LPSTORAGE lpIStorage;
  221. LPVOID *ppvObj;
  222. SCODE sc;
  223. HGLOBAL hMetaPict;
  224. } OLEUIINSERTOBJECTW,*POLEUIINSERTOBJECTW,*LPOLEUIINSERTOBJECTW;
  225. typedef struct tagOLEUIINSERTOBJECTA {
  226. DWORD cbStruct;
  227. DWORD dwFlags;
  228. HWND hWndOwner;
  229. LPCSTR lpszCaption;
  230. LPFNOLEUIHOOK lpfnHook;
  231. LPARAM lCustData;
  232. HINSTANCE hInstance;
  233. LPCSTR lpszTemplate;
  234. HRSRC hResource;
  235. CLSID clsid;
  236. LPSTR lpszFile;
  237. UINT cchFile;
  238. UINT cClsidExclude;
  239. LPCLSID lpClsidExclude;
  240. IID iid;
  241. DWORD oleRender;
  242. LPFORMATETC lpFormatEtc;
  243. LPOLECLIENTSITE lpIOleClientSite;
  244. LPSTORAGE lpIStorage;
  245. LPVOID *ppvObj;
  246. SCODE sc;
  247. HGLOBAL hMetaPict;
  248. } OLEUIINSERTOBJECTA,*POLEUIINSERTOBJECTA,*LPOLEUIINSERTOBJECTA;
  249. STDAPI_(UINT) OleUIInsertObjectW(LPOLEUIINSERTOBJECTW);
  250. STDAPI_(UINT) OleUIInsertObjectA(LPOLEUIINSERTOBJECTA);
  251. #define tagOLEUIINSERTOBJECT __MINGW_NAME_AW(tagOLEUIINSERTOBJECT)
  252. #define OLEUIINSERTOBJECT __MINGW_NAME_AW(OLEUIINSERTOBJECT)
  253. #define POLEUIINSERTOBJECT __MINGW_NAME_AW(POLEUIINSERTOBJECT)
  254. #define LPOLEUIINSERTOBJECT __MINGW_NAME_AW(LPOLEUIINSERTOBJECT)
  255. #define OleUIInsertObject __MINGW_NAME_AW(OleUIInsertObject)
  256. #define IOF_SHOWHELP __MSABI_LONG(0x00000001)
  257. #define IOF_SELECTCREATENEW __MSABI_LONG(0x00000002)
  258. #define IOF_SELECTCREATEFROMFILE __MSABI_LONG(0x00000004)
  259. #define IOF_CHECKLINK __MSABI_LONG(0x00000008)
  260. #define IOF_CHECKDISPLAYASICON __MSABI_LONG(0x00000010)
  261. #define IOF_CREATENEWOBJECT __MSABI_LONG(0x00000020)
  262. #define IOF_CREATEFILEOBJECT __MSABI_LONG(0x00000040)
  263. #define IOF_CREATELINKOBJECT __MSABI_LONG(0x00000080)
  264. #define IOF_DISABLELINK __MSABI_LONG(0x00000100)
  265. #define IOF_VERIFYSERVERSEXIST __MSABI_LONG(0x00000200)
  266. #define IOF_DISABLEDISPLAYASICON __MSABI_LONG(0x00000400)
  267. #define IOF_HIDECHANGEICON __MSABI_LONG(0x00000800)
  268. #define IOF_SHOWINSERTCONTROL __MSABI_LONG(0x00001000)
  269. #define IOF_SELECTCREATECONTROL __MSABI_LONG(0x00002000)
  270. #define OLEUI_IOERR_LPSZFILEINVALID (OLEUI_ERR_STANDARDMAX+0)
  271. #define OLEUI_IOERR_LPSZLABELINVALID (OLEUI_ERR_STANDARDMAX+1)
  272. #define OLEUI_IOERR_HICONINVALID (OLEUI_ERR_STANDARDMAX+2)
  273. #define OLEUI_IOERR_LPFORMATETCINVALID (OLEUI_ERR_STANDARDMAX+3)
  274. #define OLEUI_IOERR_PPVOBJINVALID (OLEUI_ERR_STANDARDMAX+4)
  275. #define OLEUI_IOERR_LPIOLECLIENTSITEINVALID (OLEUI_ERR_STANDARDMAX+5)
  276. #define OLEUI_IOERR_LPISTORAGEINVALID (OLEUI_ERR_STANDARDMAX+6)
  277. #define OLEUI_IOERR_SCODEHASERROR (OLEUI_ERR_STANDARDMAX+7)
  278. #define OLEUI_IOERR_LPCLSIDEXCLUDEINVALID (OLEUI_ERR_STANDARDMAX+8)
  279. #define OLEUI_IOERR_CCHFILEINVALID (OLEUI_ERR_STANDARDMAX+9)
  280. typedef enum tagOLEUIPASTEFLAG {
  281. OLEUIPASTE_ENABLEICON = 2048,OLEUIPASTE_PASTEONLY = 0,OLEUIPASTE_PASTE = 512,OLEUIPASTE_LINKANYTYPE = 1024,OLEUIPASTE_LINKTYPE1 = 1,
  282. OLEUIPASTE_LINKTYPE2 = 2,OLEUIPASTE_LINKTYPE3 = 4,OLEUIPASTE_LINKTYPE4 = 8,OLEUIPASTE_LINKTYPE5 = 16,OLEUIPASTE_LINKTYPE6 = 32,
  283. OLEUIPASTE_LINKTYPE7 = 64,OLEUIPASTE_LINKTYPE8 = 128
  284. } OLEUIPASTEFLAG;
  285. typedef struct tagOLEUIPASTEENTRYW {
  286. FORMATETC fmtetc;
  287. LPCWSTR lpstrFormatName;
  288. LPCWSTR lpstrResultText;
  289. DWORD dwFlags;
  290. DWORD dwScratchSpace;
  291. } OLEUIPASTEENTRYW,*POLEUIPASTEENTRYW,*LPOLEUIPASTEENTRYW;
  292. typedef struct tagOLEUIPASTEENTRYA {
  293. FORMATETC fmtetc;
  294. LPCSTR lpstrFormatName;
  295. LPCSTR lpstrResultText;
  296. DWORD dwFlags;
  297. DWORD dwScratchSpace;
  298. } OLEUIPASTEENTRYA,*POLEUIPASTEENTRYA,*LPOLEUIPASTEENTRYA;
  299. #define tagOLEUIPASTEENTRY __MINGW_NAME_AW(tagOLEUIPASTEENTRY)
  300. #define OLEUIPASTEENTRY __MINGW_NAME_AW(OLEUIPASTEENTRY)
  301. #define POLEUIPASTEENTRY __MINGW_NAME_AW(POLEUIPASTEENTRY)
  302. #define LPOLEUIPASTEENTRY __MINGW_NAME_AW(LPOLEUIPASTEENTRY)
  303. #define PS_MAXLINKTYPES 8
  304. typedef struct tagOLEUIPASTESPECIALW {
  305. DWORD cbStruct;
  306. DWORD dwFlags;
  307. HWND hWndOwner;
  308. LPCWSTR lpszCaption;
  309. LPFNOLEUIHOOK lpfnHook;
  310. LPARAM lCustData;
  311. HINSTANCE hInstance;
  312. LPCWSTR lpszTemplate;
  313. HRSRC hResource;
  314. LPDATAOBJECT lpSrcDataObj;
  315. LPOLEUIPASTEENTRYW arrPasteEntries;
  316. int cPasteEntries;
  317. UINT *arrLinkTypes;
  318. int cLinkTypes;
  319. UINT cClsidExclude;
  320. LPCLSID lpClsidExclude;
  321. int nSelectedIndex;
  322. WINBOOL fLink;
  323. HGLOBAL hMetaPict;
  324. SIZEL sizel;
  325. } OLEUIPASTESPECIALW,*POLEUIPASTESPECIALW,*LPOLEUIPASTESPECIALW;
  326. typedef struct tagOLEUIPASTESPECIALA {
  327. DWORD cbStruct;
  328. DWORD dwFlags;
  329. HWND hWndOwner;
  330. LPCSTR lpszCaption;
  331. LPFNOLEUIHOOK lpfnHook;
  332. LPARAM lCustData;
  333. HINSTANCE hInstance;
  334. LPCSTR lpszTemplate;
  335. HRSRC hResource;
  336. LPDATAOBJECT lpSrcDataObj;
  337. LPOLEUIPASTEENTRYA arrPasteEntries;
  338. int cPasteEntries;
  339. UINT *arrLinkTypes;
  340. int cLinkTypes;
  341. UINT cClsidExclude;
  342. LPCLSID lpClsidExclude;
  343. int nSelectedIndex;
  344. WINBOOL fLink;
  345. HGLOBAL hMetaPict;
  346. SIZEL sizel;
  347. } OLEUIPASTESPECIALA,*POLEUIPASTESPECIALA,*LPOLEUIPASTESPECIALA;
  348. #define tagOLEUIPASTESPECIAL __MINGW_NAME_AW(tagOLEUIPASTESPECIAL)
  349. #define OLEUIPASTESPECIAL __MINGW_NAME_AW(OLEUIPASTESPECIAL)
  350. #define POLEUIPASTESPECIAL __MINGW_NAME_AW(POLEUIPASTESPECIAL)
  351. #define LPOLEUIPASTESPECIAL __MINGW_NAME_AW(LPOLEUIPASTESPECIAL)
  352. STDAPI_(UINT) OleUIPasteSpecialW(LPOLEUIPASTESPECIALW);
  353. STDAPI_(UINT) OleUIPasteSpecialA(LPOLEUIPASTESPECIALA);
  354. #define OleUIPasteSpecial __MINGW_NAME_AW(OleUIPasteSpecial)
  355. #define PSF_SHOWHELP __MSABI_LONG(0x00000001)
  356. #define PSF_SELECTPASTE __MSABI_LONG(0x00000002)
  357. #define PSF_SELECTPASTELINK __MSABI_LONG(0x00000004)
  358. #define PSF_CHECKDISPLAYASICON __MSABI_LONG(0x00000008)
  359. #define PSF_DISABLEDISPLAYASICON __MSABI_LONG(0x00000010)
  360. #define PSF_HIDECHANGEICON __MSABI_LONG(0x00000020)
  361. #define PSF_STAYONCLIPBOARDCHANGE __MSABI_LONG(0x00000040)
  362. #define PSF_NOREFRESHDATAOBJECT __MSABI_LONG(0x00000080)
  363. #define OLEUI_IOERR_SRCDATAOBJECTINVALID (OLEUI_ERR_STANDARDMAX+0)
  364. #define OLEUI_IOERR_ARRPASTEENTRIESINVALID (OLEUI_ERR_STANDARDMAX+1)
  365. #define OLEUI_IOERR_ARRLINKTYPESINVALID (OLEUI_ERR_STANDARDMAX+2)
  366. #define OLEUI_PSERR_CLIPBOARDCHANGED (OLEUI_ERR_STANDARDMAX+3)
  367. #define OLEUI_PSERR_GETCLIPBOARDFAILED (OLEUI_ERR_STANDARDMAX+4)
  368. #undef INTERFACE
  369. #define INTERFACE IOleUILinkContainerW
  370. DECLARE_INTERFACE_(IOleUILinkContainerW,IUnknown) {
  371. STDMETHOD(QueryInterface)(THIS_ REFIID riid,LPVOID *ppvObj) PURE;
  372. STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  373. STDMETHOD_(ULONG,Release)(THIS) PURE;
  374. STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE;
  375. STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink,DWORD dwUpdateOpt) PURE;
  376. STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink,DWORD *lpdwUpdateOpt) PURE;
  377. STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink,LPWSTR lpszDisplayName,ULONG lenFileName,ULONG *pchEaten,WINBOOL fValidateSource) PURE;
  378. STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink,LPWSTR *lplpszDisplayName,ULONG *lplenFileName,LPWSTR *lplpszFullLinkType,LPWSTR *lplpszShortLinkType,WINBOOL *lpfSourceAvailable,WINBOOL *lpfIsSelected) PURE;
  379. STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE;
  380. STDMETHOD(UpdateLink)(THIS_ DWORD dwLink,WINBOOL fErrorMessage,WINBOOL fReserved) PURE;
  381. STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
  382. };
  383. typedef IOleUILinkContainerW *LPOLEUILINKCONTAINERW;
  384. #undef INTERFACE
  385. #define INTERFACE IOleUILinkContainerA
  386. DECLARE_INTERFACE_(IOleUILinkContainerA,IUnknown) {
  387. STDMETHOD(QueryInterface)(THIS_ REFIID riid,LPVOID *ppvObj) PURE;
  388. STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  389. STDMETHOD_(ULONG,Release)(THIS) PURE;
  390. STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE;
  391. STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink,DWORD dwUpdateOpt) PURE;
  392. STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink,DWORD *lpdwUpdateOpt) PURE;
  393. STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink,LPSTR lpszDisplayName,ULONG lenFileName,ULONG *pchEaten,WINBOOL fValidateSource) PURE;
  394. STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink,LPSTR *lplpszDisplayName,ULONG *lplenFileName,LPSTR *lplpszFullLinkType,LPSTR *lplpszShortLinkType,WINBOOL *lpfSourceAvailable,WINBOOL *lpfIsSelected) PURE;
  395. STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE;
  396. STDMETHOD(UpdateLink)(THIS_ DWORD dwLink,WINBOOL fErrorMessage,WINBOOL fReserved) PURE;
  397. STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
  398. };
  399. typedef IOleUILinkContainerA *LPOLEUILINKCONTAINERA;
  400. #define IOleUILinkContainer __MINGW_NAME_AW(IOleUILinkContainer)
  401. #define LPOLEUILINKCONTAINER __MINGW_NAME_AW(LPOLEUILINKCONTAINER)
  402. #define IOleUILinkContainerVtbl __MINGW_NAME_AW_EXT(IOleUILinkContainer,Vtbl)
  403. typedef struct tagOLEUIEDITLINKSW {
  404. DWORD cbStruct;
  405. DWORD dwFlags;
  406. HWND hWndOwner;
  407. LPCWSTR lpszCaption;
  408. LPFNOLEUIHOOK lpfnHook;
  409. LPARAM lCustData;
  410. HINSTANCE hInstance;
  411. LPCWSTR lpszTemplate;
  412. HRSRC hResource;
  413. LPOLEUILINKCONTAINERW lpOleUILinkContainer;
  414. } OLEUIEDITLINKSW,*POLEUIEDITLINKSW,*LPOLEUIEDITLINKSW;
  415. typedef struct tagOLEUIEDITLINKSA {
  416. DWORD cbStruct;
  417. DWORD dwFlags;
  418. HWND hWndOwner;
  419. LPCSTR lpszCaption;
  420. LPFNOLEUIHOOK lpfnHook;
  421. LPARAM lCustData;
  422. HINSTANCE hInstance;
  423. LPCSTR lpszTemplate;
  424. HRSRC hResource;
  425. LPOLEUILINKCONTAINERA lpOleUILinkContainer;
  426. } OLEUIEDITLINKSA,*POLEUIEDITLINKSA,*LPOLEUIEDITLINKSA;
  427. #define tagOLEUIEDITLINKS __MINGW_NAME_AW(tagOLEUIEDITLINKS)
  428. #define OLEUIEDITLINKS __MINGW_NAME_AW(OLEUIEDITLINKS)
  429. #define POLEUIEDITLINKS __MINGW_NAME_AW(POLEUIEDITLINKS)
  430. #define LPOLEUIEDITLINKS __MINGW_NAME_AW(LPOLEUIEDITLINKS)
  431. #define OLEUI_ELERR_LINKCNTRNULL (OLEUI_ERR_STANDARDMAX+0)
  432. #define OLEUI_ELERR_LINKCNTRINVALID (OLEUI_ERR_STANDARDMAX+1)
  433. STDAPI_(UINT) OleUIEditLinksW(LPOLEUIEDITLINKSW);
  434. STDAPI_(UINT) OleUIEditLinksA(LPOLEUIEDITLINKSA);
  435. #define OleUIEditLinks __MINGW_NAME_AW(OleUIEditLinks)
  436. #define ELF_SHOWHELP __MSABI_LONG(0x00000001)
  437. #define ELF_DISABLEUPDATENOW __MSABI_LONG(0x00000002)
  438. #define ELF_DISABLEOPENSOURCE __MSABI_LONG(0x00000004)
  439. #define ELF_DISABLECHANGESOURCE __MSABI_LONG(0x00000008)
  440. #define ELF_DISABLECANCELLINK __MSABI_LONG(0x00000010)
  441. typedef struct tagOLEUICHANGEICONW {
  442. DWORD cbStruct;
  443. DWORD dwFlags;
  444. HWND hWndOwner;
  445. LPCWSTR lpszCaption;
  446. LPFNOLEUIHOOK lpfnHook;
  447. LPARAM lCustData;
  448. HINSTANCE hInstance;
  449. LPCWSTR lpszTemplate;
  450. HRSRC hResource;
  451. HGLOBAL hMetaPict;
  452. CLSID clsid;
  453. WCHAR szIconExe[MAX_PATH];
  454. int cchIconExe;
  455. } OLEUICHANGEICONW,*POLEUICHANGEICONW,*LPOLEUICHANGEICONW;
  456. typedef struct tagOLEUICHANGEICONA {
  457. DWORD cbStruct;
  458. DWORD dwFlags;
  459. HWND hWndOwner;
  460. LPCSTR lpszCaption;
  461. LPFNOLEUIHOOK lpfnHook;
  462. LPARAM lCustData;
  463. HINSTANCE hInstance;
  464. LPCSTR lpszTemplate;
  465. HRSRC hResource;
  466. HGLOBAL hMetaPict;
  467. CLSID clsid;
  468. CHAR szIconExe[MAX_PATH];
  469. int cchIconExe;
  470. } OLEUICHANGEICONA,*POLEUICHANGEICONA,*LPOLEUICHANGEICONA;
  471. STDAPI_(UINT) OleUIChangeIconW(LPOLEUICHANGEICONW);
  472. STDAPI_(UINT) OleUIChangeIconA(LPOLEUICHANGEICONA);
  473. #define tagOLEUICHANGEICON __MINGW_NAME_AW(tagOLEUICHANGEICON)
  474. #define OLEUICHANGEICON __MINGW_NAME_AW(OLEUICHANGEICON)
  475. #define POLEUICHANGEICON __MINGW_NAME_AW(POLEUICHANGEICON)
  476. #define LPOLEUICHANGEICON __MINGW_NAME_AW(LPOLEUICHANGEICON)
  477. #define OleUIChangeIcon __MINGW_NAME_AW(OleUIChangeIcon)
  478. #define CIF_SHOWHELP __MSABI_LONG(0x00000001)
  479. #define CIF_SELECTCURRENT __MSABI_LONG(0x00000002)
  480. #define CIF_SELECTDEFAULT __MSABI_LONG(0x00000004)
  481. #define CIF_SELECTFROMFILE __MSABI_LONG(0x00000008)
  482. #define CIF_USEICONEXE __MSABI_LONG(0x00000010)
  483. #define OLEUI_CIERR_MUSTHAVECLSID (OLEUI_ERR_STANDARDMAX+0)
  484. #define OLEUI_CIERR_MUSTHAVECURRENTMETAFILE (OLEUI_ERR_STANDARDMAX+1)
  485. #define OLEUI_CIERR_SZICONEXEINVALID (OLEUI_ERR_STANDARDMAX+2)
  486. #define PROP_HWND_CHGICONDLG TEXT("HWND_CIDLG")
  487. typedef struct tagOLEUICONVERTW {
  488. DWORD cbStruct;
  489. DWORD dwFlags;
  490. HWND hWndOwner;
  491. LPCWSTR lpszCaption;
  492. LPFNOLEUIHOOK lpfnHook;
  493. LPARAM lCustData;
  494. HINSTANCE hInstance;
  495. LPCWSTR lpszTemplate;
  496. HRSRC hResource;
  497. CLSID clsid;
  498. CLSID clsidConvertDefault;
  499. CLSID clsidActivateDefault;
  500. CLSID clsidNew;
  501. DWORD dvAspect;
  502. WORD wFormat;
  503. WINBOOL fIsLinkedObject;
  504. HGLOBAL hMetaPict;
  505. LPWSTR lpszUserType;
  506. WINBOOL fObjectsIconChanged;
  507. LPWSTR lpszDefLabel;
  508. UINT cClsidExclude;
  509. LPCLSID lpClsidExclude;
  510. } OLEUICONVERTW,*POLEUICONVERTW,*LPOLEUICONVERTW;
  511. typedef struct tagOLEUICONVERTA {
  512. DWORD cbStruct;
  513. DWORD dwFlags;
  514. HWND hWndOwner;
  515. LPCSTR lpszCaption;
  516. LPFNOLEUIHOOK lpfnHook;
  517. LPARAM lCustData;
  518. HINSTANCE hInstance;
  519. LPCSTR lpszTemplate;
  520. HRSRC hResource;
  521. CLSID clsid;
  522. CLSID clsidConvertDefault;
  523. CLSID clsidActivateDefault;
  524. CLSID clsidNew;
  525. DWORD dvAspect;
  526. WORD wFormat;
  527. WINBOOL fIsLinkedObject;
  528. HGLOBAL hMetaPict;
  529. LPSTR lpszUserType;
  530. WINBOOL fObjectsIconChanged;
  531. LPSTR lpszDefLabel;
  532. UINT cClsidExclude;
  533. LPCLSID lpClsidExclude;
  534. } OLEUICONVERTA,*POLEUICONVERTA,*LPOLEUICONVERTA;
  535. STDAPI_(UINT) OleUIConvertW(LPOLEUICONVERTW);
  536. STDAPI_(UINT) OleUIConvertA(LPOLEUICONVERTA);
  537. #define tagOLEUICONVERT __MINGW_NAME_AW(tagOLEUICONVERT)
  538. #define OLEUICONVERT __MINGW_NAME_AW(OLEUICONVERT)
  539. #define POLEUICONVERT __MINGW_NAME_AW(POLEUICONVERT)
  540. #define LPOLEUICONVERT __MINGW_NAME_AW(LPOLEUICONVERT)
  541. #define OleUIConvert __MINGW_NAME_AW(OleUIConvert)
  542. STDAPI_(WINBOOL) OleUICanConvertOrActivateAs(REFCLSID rClsid,WINBOOL fIsLinkedObject,WORD wFormat);
  543. #define CF_SHOWHELPBUTTON __MSABI_LONG(0x00000001)
  544. #define CF_SETCONVERTDEFAULT __MSABI_LONG(0x00000002)
  545. #define CF_SETACTIVATEDEFAULT __MSABI_LONG(0x00000004)
  546. #define CF_SELECTCONVERTTO __MSABI_LONG(0x00000008)
  547. #define CF_SELECTACTIVATEAS __MSABI_LONG(0x00000010)
  548. #define CF_DISABLEDISPLAYASICON __MSABI_LONG(0x00000020)
  549. #define CF_DISABLEACTIVATEAS __MSABI_LONG(0x00000040)
  550. #define CF_HIDECHANGEICON __MSABI_LONG(0x00000080)
  551. #define CF_CONVERTONLY __MSABI_LONG(0x00000100)
  552. #define OLEUI_CTERR_CLASSIDINVALID (OLEUI_ERR_STANDARDMAX+1)
  553. #define OLEUI_CTERR_DVASPECTINVALID (OLEUI_ERR_STANDARDMAX+2)
  554. #define OLEUI_CTERR_CBFORMATINVALID (OLEUI_ERR_STANDARDMAX+3)
  555. #define OLEUI_CTERR_HMETAPICTINVALID (OLEUI_ERR_STANDARDMAX+4)
  556. #define OLEUI_CTERR_STRINGINVALID (OLEUI_ERR_STANDARDMAX+5)
  557. typedef struct tagOLEUIBUSYW {
  558. DWORD cbStruct;
  559. DWORD dwFlags;
  560. HWND hWndOwner;
  561. LPCWSTR lpszCaption;
  562. LPFNOLEUIHOOK lpfnHook;
  563. LPARAM lCustData;
  564. HINSTANCE hInstance;
  565. LPCWSTR lpszTemplate;
  566. HRSRC hResource;
  567. HTASK hTask;
  568. HWND *lphWndDialog;
  569. } OLEUIBUSYW,*POLEUIBUSYW,*LPOLEUIBUSYW;
  570. typedef struct tagOLEUIBUSYA {
  571. DWORD cbStruct;
  572. DWORD dwFlags;
  573. HWND hWndOwner;
  574. LPCSTR lpszCaption;
  575. LPFNOLEUIHOOK lpfnHook;
  576. LPARAM lCustData;
  577. HINSTANCE hInstance;
  578. LPCSTR lpszTemplate;
  579. HRSRC hResource;
  580. HTASK hTask;
  581. HWND *lphWndDialog;
  582. } OLEUIBUSYA,*POLEUIBUSYA,*LPOLEUIBUSYA;
  583. STDAPI_(UINT) OleUIBusyW(LPOLEUIBUSYW);
  584. STDAPI_(UINT) OleUIBusyA(LPOLEUIBUSYA);
  585. #define tagOLEUIBUSY __MINGW_NAME_AW(tagOLEUIBUSY)
  586. #define OLEUIBUSY __MINGW_NAME_AW(OLEUIBUSY)
  587. #define POLEUIBUSY __MINGW_NAME_AW(POLEUIBUSY)
  588. #define LPOLEUIBUSY __MINGW_NAME_AW(LPOLEUIBUSY)
  589. #define OleUIBusy __MINGW_NAME_AW(OleUIBusy)
  590. #define BZ_DISABLECANCELBUTTON __MSABI_LONG(0x00000001)
  591. #define BZ_DISABLESWITCHTOBUTTON __MSABI_LONG(0x00000002)
  592. #define BZ_DISABLERETRYBUTTON __MSABI_LONG(0x00000004)
  593. #define BZ_NOTRESPONDINGDIALOG __MSABI_LONG(0x00000008)
  594. #define OLEUI_BZERR_HTASKINVALID (OLEUI_ERR_STANDARDMAX+0)
  595. #define OLEUI_BZ_SWITCHTOSELECTED (OLEUI_ERR_STANDARDMAX+1)
  596. #define OLEUI_BZ_RETRYSELECTED (OLEUI_ERR_STANDARDMAX+2)
  597. #define OLEUI_BZ_CALLUNBLOCKED (OLEUI_ERR_STANDARDMAX+3)
  598. typedef struct tagOLEUICHANGESOURCEW {
  599. DWORD cbStruct;
  600. DWORD dwFlags;
  601. HWND hWndOwner;
  602. LPCWSTR lpszCaption;
  603. LPFNOLEUIHOOK lpfnHook;
  604. LPARAM lCustData;
  605. HINSTANCE hInstance;
  606. LPCWSTR lpszTemplate;
  607. HRSRC hResource;
  608. OPENFILENAMEW *lpOFN;
  609. DWORD dwReserved1[4];
  610. LPOLEUILINKCONTAINERW lpOleUILinkContainer;
  611. DWORD dwLink;
  612. LPWSTR lpszDisplayName;
  613. ULONG nFileLength;
  614. LPWSTR lpszFrom;
  615. LPWSTR lpszTo;
  616. } OLEUICHANGESOURCEW,*POLEUICHANGESOURCEW,*LPOLEUICHANGESOURCEW;
  617. typedef struct tagOLEUICHANGESOURCEA {
  618. DWORD cbStruct;
  619. DWORD dwFlags;
  620. HWND hWndOwner;
  621. LPCSTR lpszCaption;
  622. LPFNOLEUIHOOK lpfnHook;
  623. LPARAM lCustData;
  624. HINSTANCE hInstance;
  625. LPCSTR lpszTemplate;
  626. HRSRC hResource;
  627. OPENFILENAMEA *lpOFN;
  628. DWORD dwReserved1[4];
  629. LPOLEUILINKCONTAINERA lpOleUILinkContainer;
  630. DWORD dwLink;
  631. LPSTR lpszDisplayName;
  632. ULONG nFileLength;
  633. LPSTR lpszFrom;
  634. LPSTR lpszTo;
  635. } OLEUICHANGESOURCEA,*POLEUICHANGESOURCEA,*LPOLEUICHANGESOURCEA;
  636. STDAPI_(UINT) OleUIChangeSourceW(LPOLEUICHANGESOURCEW);
  637. STDAPI_(UINT) OleUIChangeSourceA(LPOLEUICHANGESOURCEA);
  638. #define tagOLEUICHANGESOURCE __MINGW_NAME_AW(tagOLEUICHANGESOURCE)
  639. #define OLEUICHANGESOURCE __MINGW_NAME_AW(OLEUICHANGESOURCE)
  640. #define POLEUICHANGESOURCE __MINGW_NAME_AW(POLEUICHANGESOURCE)
  641. #define LPOLEUICHANGESOURCE __MINGW_NAME_AW(LPOLEUICHANGESOURCE)
  642. #define OleUIChangeSource __MINGW_NAME_AW(OleUIChangeSource)
  643. #define CSF_SHOWHELP __MSABI_LONG(0x00000001)
  644. #define CSF_VALIDSOURCE __MSABI_LONG(0x00000002)
  645. #define CSF_ONLYGETSOURCE __MSABI_LONG(0x00000004)
  646. #define CSF_EXPLORER __MSABI_LONG(0x00000008)
  647. #define OLEUI_CSERR_LINKCNTRNULL (OLEUI_ERR_STANDARDMAX+0)
  648. #define OLEUI_CSERR_LINKCNTRINVALID (OLEUI_ERR_STANDARDMAX+1)
  649. #define OLEUI_CSERR_FROMNOTNULL (OLEUI_ERR_STANDARDMAX+2)
  650. #define OLEUI_CSERR_TONOTNULL (OLEUI_ERR_STANDARDMAX+3)
  651. #define OLEUI_CSERR_SOURCENULL (OLEUI_ERR_STANDARDMAX+4)
  652. #define OLEUI_CSERR_SOURCEINVALID (OLEUI_ERR_STANDARDMAX+5)
  653. #define OLEUI_CSERR_SOURCEPARSERROR (OLEUI_ERR_STANDARDMAX+6)
  654. #define OLEUI_CSERR_SOURCEPARSEERROR (OLEUI_ERR_STANDARDMAX+6)
  655. #undef INTERFACE
  656. #define INTERFACE IOleUIObjInfoW
  657. DECLARE_INTERFACE_(IOleUIObjInfoW,IUnknown) {
  658. STDMETHOD(QueryInterface)(THIS_ REFIID riid,LPVOID *ppvObj) PURE;
  659. STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  660. STDMETHOD_(ULONG,Release)(THIS) PURE;
  661. STDMETHOD(GetObjectInfo)(THIS_ DWORD dwObject,DWORD *lpdwObjSize,LPWSTR *lplpszLabel,LPWSTR *lplpszType,LPWSTR *lplpszShortType,LPWSTR *lplpszLocation) PURE;
  662. STDMETHOD(GetConvertInfo)(THIS_ DWORD dwObject,CLSID *lpClassID,WORD *lpwFormat,CLSID *lpConvertDefaultClassID,LPCLSID *lplpClsidExclude,UINT *lpcClsidExclude) PURE;
  663. STDMETHOD(ConvertObject)(THIS_ DWORD dwObject,REFCLSID clsidNew) PURE;
  664. STDMETHOD(GetViewInfo)(THIS_ DWORD dwObject,HGLOBAL *phMetaPict,DWORD *pdvAspect,int *pnCurrentScale) PURE;
  665. STDMETHOD(SetViewInfo)(THIS_ DWORD dwObject,HGLOBAL hMetaPict,DWORD dvAspect,int nCurrentScale,WINBOOL bRelativeToOrig) PURE;
  666. };
  667. typedef IOleUIObjInfoW *LPOLEUIOBJINFOW;
  668. #undef INTERFACE
  669. #define INTERFACE IOleUIObjInfoA
  670. DECLARE_INTERFACE_(IOleUIObjInfoA,IUnknown) {
  671. STDMETHOD(QueryInterface)(THIS_ REFIID riid,LPVOID *ppvObj) PURE;
  672. STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  673. STDMETHOD_(ULONG,Release)(THIS) PURE;
  674. STDMETHOD(GetObjectInfo)(THIS_ DWORD dwObject,DWORD *lpdwObjSize,LPSTR *lplpszLabel,LPSTR *lplpszType,LPSTR *lplpszShortType,LPSTR *lplpszLocation) PURE;
  675. STDMETHOD(GetConvertInfo)(THIS_ DWORD dwObject,CLSID *lpClassID,WORD *lpwFormat,CLSID *lpConvertDefaultClassID,LPCLSID *lplpClsidExclude,UINT *lpcClsidExclude) PURE;
  676. STDMETHOD(ConvertObject)(THIS_ DWORD dwObject,REFCLSID clsidNew) PURE;
  677. STDMETHOD(GetViewInfo)(THIS_ DWORD dwObject,HGLOBAL *phMetaPict,DWORD *pdvAspect,int *pnCurrentScale) PURE;
  678. STDMETHOD(SetViewInfo)(THIS_ DWORD dwObject,HGLOBAL hMetaPict,DWORD dvAspect,int nCurrentScale,WINBOOL bRelativeToOrig) PURE;
  679. };
  680. typedef IOleUIObjInfoA *LPOLEUIOBJINFOA;
  681. #define IOleUIObjInfo __MINGW_NAME_AW(IOleUIObjInfo)
  682. #define LPOLEUIOBJINFO __MINGW_NAME_AW(LPOLEUIOBJINFO)
  683. #define IOleUIObjInfoVtbl __MINGW_NAME_AW_EXT(IOleUIObjInfo,Vtbl)
  684. #undef INTERFACE
  685. #define INTERFACE IOleUILinkInfoW
  686. DECLARE_INTERFACE_(IOleUILinkInfoW,IOleUILinkContainerW) {
  687. STDMETHOD(QueryInterface)(THIS_ REFIID riid,LPVOID *ppvObj) PURE;
  688. STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  689. STDMETHOD_(ULONG,Release)(THIS) PURE;
  690. STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE;
  691. STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink,DWORD dwUpdateOpt) PURE;
  692. STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink,DWORD *lpdwUpdateOpt) PURE;
  693. STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink,LPWSTR lpszDisplayName,ULONG lenFileName,ULONG *pchEaten,WINBOOL fValidateSource) PURE;
  694. STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink,LPWSTR *lplpszDisplayName,ULONG *lplenFileName,LPWSTR *lplpszFullLinkType,LPWSTR *lplpszShortLinkType,WINBOOL *lpfSourceAvailable,WINBOOL *lpfIsSelected) PURE;
  695. STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE;
  696. STDMETHOD(UpdateLink)(THIS_ DWORD dwLink,WINBOOL fErrorMessage,WINBOOL fReserved) PURE;
  697. STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
  698. STDMETHOD(GetLastUpdate)(THIS_ DWORD dwLink,FILETIME *lpLastUpdate) PURE;
  699. };
  700. typedef IOleUILinkInfoW *LPOLEUILINKINFOW;
  701. #undef INTERFACE
  702. #define INTERFACE IOleUILinkInfoA
  703. DECLARE_INTERFACE_(IOleUILinkInfoA,IOleUILinkContainerA) {
  704. STDMETHOD(QueryInterface)(THIS_ REFIID riid,LPVOID *ppvObj) PURE;
  705. STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  706. STDMETHOD_(ULONG,Release)(THIS) PURE;
  707. STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE;
  708. STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink,DWORD dwUpdateOpt) PURE;
  709. STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink,DWORD *lpdwUpdateOpt) PURE;
  710. STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink,LPSTR lpszDisplayName,ULONG lenFileName,ULONG *pchEaten,WINBOOL fValidateSource) PURE;
  711. STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink,LPSTR *lplpszDisplayName,ULONG *lplenFileName,LPSTR *lplpszFullLinkType,LPSTR *lplpszShortLinkType,WINBOOL *lpfSourceAvailable,WINBOOL *lpfIsSelected) PURE;
  712. STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE;
  713. STDMETHOD(UpdateLink)(THIS_ DWORD dwLink,WINBOOL fErrorMessage,WINBOOL fReserved) PURE;
  714. STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
  715. STDMETHOD(GetLastUpdate)(THIS_ DWORD dwLink,FILETIME *lpLastUpdate) PURE;
  716. };
  717. typedef IOleUILinkInfoA *LPOLEUILINKINFOA;
  718. #define IOleUILinkInfo __MINGW_NAME_AW(IOleUILinkInfo)
  719. #define LPOLEUILINKINFO __MINGW_NAME_AW(LPOLEUILINKINFO)
  720. #define IOleUILinkInfoVtbl __MINGW_NAME_AW_EXT(IOleUILinkInfo,Vtbl)
  721. struct tagOLEUIOBJECTPROPSW;
  722. struct tagOLEUIOBJECTPROPSA;
  723. typedef struct tagOLEUIGNRLPROPSW {
  724. DWORD cbStruct;
  725. DWORD dwFlags;
  726. DWORD dwReserved1[2];
  727. LPFNOLEUIHOOK lpfnHook;
  728. LPARAM lCustData;
  729. DWORD dwReserved2[3];
  730. struct tagOLEUIOBJECTPROPSW *lpOP;
  731. } OLEUIGNRLPROPSW,*POLEUIGNRLPROPSW,*LPOLEUIGNRLPROPSW;
  732. typedef struct tagOLEUIGNRLPROPSA {
  733. DWORD cbStruct;
  734. DWORD dwFlags;
  735. DWORD dwReserved1[2];
  736. LPFNOLEUIHOOK lpfnHook;
  737. LPARAM lCustData;
  738. DWORD dwReserved2[3];
  739. struct tagOLEUIOBJECTPROPSA *lpOP;
  740. } OLEUIGNRLPROPSA,*POLEUIGNRLPROPSA,*LPOLEUIGNRLPROPSA;
  741. #define tagOLEUIGNRLPROPS __MINGW_NAME_AW(tagOLEUIGNRLPROPS)
  742. #define OLEUIGNRLPROPS __MINGW_NAME_AW(OLEUIGNRLPROPS)
  743. #define POLEUIGNRLPROPS __MINGW_NAME_AW(POLEUIGNRLPROPS)
  744. #define LPOLEUIGNRLPROPS __MINGW_NAME_AW(LPOLEUIGNRLPROPS)
  745. typedef struct tagOLEUIVIEWPROPSW {
  746. DWORD cbStruct;
  747. DWORD dwFlags;
  748. DWORD dwReserved1[2];
  749. LPFNOLEUIHOOK lpfnHook;
  750. LPARAM lCustData;
  751. DWORD dwReserved2[3];
  752. struct tagOLEUIOBJECTPROPSW *lpOP;
  753. int nScaleMin;
  754. int nScaleMax;
  755. } OLEUIVIEWPROPSW,*POLEUIVIEWPROPSW,*LPOLEUIVIEWPROPSW;
  756. typedef struct tagOLEUIVIEWPROPSA {
  757. DWORD cbStruct;
  758. DWORD dwFlags;
  759. DWORD dwReserved1[2];
  760. LPFNOLEUIHOOK lpfnHook;
  761. LPARAM lCustData;
  762. DWORD dwReserved2[3];
  763. struct tagOLEUIOBJECTPROPSA *lpOP;
  764. int nScaleMin;
  765. int nScaleMax;
  766. } OLEUIVIEWPROPSA,*POLEUIVIEWPROPSA,*LPOLEUIVIEWPROPSA;
  767. #define tagOLEUIVIEWPROPS __MINGW_NAME_AW(tagOLEUIVIEWPROPS)
  768. #define OLEUIVIEWPROPS __MINGW_NAME_AW(OLEUIVIEWPROPS)
  769. #define POLEUIVIEWPROPS __MINGW_NAME_AW(POLEUIVIEWPROPS)
  770. #define LPOLEUIVIEWPROPS __MINGW_NAME_AW(LPOLEUIVIEWPROPS)
  771. #define VPF_SELECTRELATIVE __MSABI_LONG(0x00000001)
  772. #define VPF_DISABLERELATIVE __MSABI_LONG(0x00000002)
  773. #define VPF_DISABLESCALE __MSABI_LONG(0x00000004)
  774. typedef struct tagOLEUILINKPROPSW {
  775. DWORD cbStruct;
  776. DWORD dwFlags;
  777. DWORD dwReserved1[2];
  778. LPFNOLEUIHOOK lpfnHook;
  779. LPARAM lCustData;
  780. DWORD dwReserved2[3];
  781. struct tagOLEUIOBJECTPROPSW *lpOP;
  782. } OLEUILINKPROPSW,*POLEUILINKPROPSW,*LPOLEUILINKPROPSW;
  783. typedef struct tagOLEUILINKPROPSA {
  784. DWORD cbStruct;
  785. DWORD dwFlags;
  786. DWORD dwReserved1[2];
  787. LPFNOLEUIHOOK lpfnHook;
  788. LPARAM lCustData;
  789. DWORD dwReserved2[3];
  790. struct tagOLEUIOBJECTPROPSA *lpOP;
  791. } OLEUILINKPROPSA,*POLEUILINKPROPSA,*LPOLEUILINKPROPSA;
  792. #define tagOLEUILINKPROPS __MINGW_NAME_AW(tagOLEUILINKPROPS)
  793. #define OLEUILINKPROPS __MINGW_NAME_AW(OLEUILINKPROPS)
  794. #define POLEUILINKPROPS __MINGW_NAME_AW(POLEUILINKPROPS)
  795. #define LPOLEUILINKPROPS __MINGW_NAME_AW(LPOLEUILINKPROPS)
  796. #include <prsht.h>
  797. #ifndef PSM_SETFINISHTEXTA
  798. typedef struct _PROPSHEETHEADER *LPPROPSHEETHEADERW;
  799. typedef struct _PROPSHEETHEADER *LPPROPSHEETHEADERA;
  800. #else
  801. typedef struct _PROPSHEETHEADERW *LPPROPSHEETHEADERW;
  802. typedef struct _PROPSHEETHEADERA *LPPROPSHEETHEADERA;
  803. #define LPPROPSHEETHEADER __MINGW_NAME_AW(LPPROPSHEETHEADER)
  804. #endif
  805. typedef struct tagOLEUIOBJECTPROPSW {
  806. DWORD cbStruct;
  807. DWORD dwFlags;
  808. LPPROPSHEETHEADERW lpPS;
  809. DWORD dwObject;
  810. LPOLEUIOBJINFOW lpObjInfo;
  811. DWORD dwLink;
  812. LPOLEUILINKINFOW lpLinkInfo;
  813. LPOLEUIGNRLPROPSW lpGP;
  814. LPOLEUIVIEWPROPSW lpVP;
  815. LPOLEUILINKPROPSW lpLP;
  816. } OLEUIOBJECTPROPSW,*POLEUIOBJECTPROPSW,*LPOLEUIOBJECTPROPSW;
  817. typedef struct tagOLEUIOBJECTPROPSA {
  818. DWORD cbStruct;
  819. DWORD dwFlags;
  820. LPPROPSHEETHEADERA lpPS;
  821. DWORD dwObject;
  822. LPOLEUIOBJINFOA lpObjInfo;
  823. DWORD dwLink;
  824. LPOLEUILINKINFOA lpLinkInfo;
  825. LPOLEUIGNRLPROPSA lpGP;
  826. LPOLEUIVIEWPROPSA lpVP;
  827. LPOLEUILINKPROPSA lpLP;
  828. } OLEUIOBJECTPROPSA,*POLEUIOBJECTPROPSA,*LPOLEUIOBJECTPROPSA;
  829. STDAPI_(UINT) OleUIObjectPropertiesW(LPOLEUIOBJECTPROPSW);
  830. STDAPI_(UINT) OleUIObjectPropertiesA(LPOLEUIOBJECTPROPSA);
  831. #define tagOLEUIOBJECTPROPS __MINGW_NAME_AW(tagOLEUIOBJECTPROPS)
  832. #define OLEUIOBJECTPROPS __MINGW_NAME_AW(OLEUIOBJECTPROPS)
  833. #define POLEUIOBJECTPROPS __MINGW_NAME_AW(POLEUIOBJECTPROPS)
  834. #define LPOLEUIOBJECTPROPS __MINGW_NAME_AW(LPOLEUIOBJECTPROPS)
  835. #define OleUIObjectProperties __MINGW_NAME_AW(OleUIObjectProperties)
  836. #define OPF_OBJECTISLINK __MSABI_LONG(0x00000001)
  837. #define OPF_NOFILLDEFAULT __MSABI_LONG(0x00000002)
  838. #define OPF_SHOWHELP __MSABI_LONG(0x00000004)
  839. #define OPF_DISABLECONVERT __MSABI_LONG(0x00000008)
  840. #define OLEUI_OPERR_SUBPROPNULL (OLEUI_ERR_STANDARDMAX+0)
  841. #define OLEUI_OPERR_SUBPROPINVALID (OLEUI_ERR_STANDARDMAX+1)
  842. #define OLEUI_OPERR_PROPSHEETNULL (OLEUI_ERR_STANDARDMAX+2)
  843. #define OLEUI_OPERR_PROPSHEETINVALID (OLEUI_ERR_STANDARDMAX+3)
  844. #define OLEUI_OPERR_SUPPROP (OLEUI_ERR_STANDARDMAX+4)
  845. #define OLEUI_OPERR_PROPSINVALID (OLEUI_ERR_STANDARDMAX+5)
  846. #define OLEUI_OPERR_PAGESINCORRECT (OLEUI_ERR_STANDARDMAX+6)
  847. #define OLEUI_OPERR_INVALIDPAGES (OLEUI_ERR_STANDARDMAX+7)
  848. #define OLEUI_OPERR_NOTSUPPORTED (OLEUI_ERR_STANDARDMAX+8)
  849. #define OLEUI_OPERR_DLGPROCNOTNULL (OLEUI_ERR_STANDARDMAX+9)
  850. #define OLEUI_OPERR_LPARAMNOTZERO (OLEUI_ERR_STANDARDMAX+10)
  851. #define OLEUI_GPERR_STRINGINVALID (OLEUI_ERR_STANDARDMAX+11)
  852. #define OLEUI_GPERR_CLASSIDINVALID (OLEUI_ERR_STANDARDMAX+12)
  853. #define OLEUI_GPERR_LPCLSIDEXCLUDEINVALID (OLEUI_ERR_STANDARDMAX+13)
  854. #define OLEUI_GPERR_CBFORMATINVALID (OLEUI_ERR_STANDARDMAX+14)
  855. #define OLEUI_VPERR_METAPICTINVALID (OLEUI_ERR_STANDARDMAX+15)
  856. #define OLEUI_VPERR_DVASPECTINVALID (OLEUI_ERR_STANDARDMAX+16)
  857. #define OLEUI_LPERR_LINKCNTRNULL (OLEUI_ERR_STANDARDMAX+17)
  858. #define OLEUI_LPERR_LINKCNTRINVALID (OLEUI_ERR_STANDARDMAX+18)
  859. #define OLEUI_OPERR_PROPERTYSHEET (OLEUI_ERR_STANDARDMAX+19)
  860. #define OLEUI_OPERR_OBJINFOINVALID (OLEUI_ERR_STANDARDMAX+20)
  861. #define OLEUI_OPERR_LINKINFOINVALID (OLEUI_ERR_STANDARDMAX+21)
  862. #define OLEUI_QUERY_GETCLASSID 0xFF00
  863. #define OLEUI_QUERY_LINKBROKEN 0xFF01
  864. int __cdecl OleUIPromptUserW(int nTemplate,HWND hwndParent,...);
  865. int __cdecl OleUIPromptUserA(int nTemplate,HWND hwndParent,...);
  866. #define OleUIPromptUser __MINGW_NAME_AW(OleUIPromptUser)
  867. STDAPI_(WINBOOL) OleUIUpdateLinksW(LPOLEUILINKCONTAINERW lpOleUILinkCntr,HWND hwndParent,LPWSTR lpszTitle,int cLinks);
  868. STDAPI_(WINBOOL) OleUIUpdateLinksA(LPOLEUILINKCONTAINERA lpOleUILinkCntr,HWND hwndParent,LPSTR lpszTitle,int cLinks);
  869. #define OleUIUpdateLinks __MINGW_NAME_AW(OleUIUpdateLinks)
  870. #pragma pack(pop)
  871. #ifdef __cplusplus
  872. }
  873. #endif
  874. #endif
  875. #endif