1/** 2 * This file is part of the mingw-w64 runtime package. 3 * No warranty is given; refer to the file DISCLAIMER within this package. 4 */ 5 6cpp_quote("#include <winapifamily.h>") 7cpp_quote("") 8cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") 9 10#include <olectl.h> 11 12import "ocidl.idl"; 13 14#include "shdispid.h" 15 16dispinterface DShellFolderViewEvents; 17interface IAutoComplete; 18interface FolderItem; 19interface FolderItems; 20interface FolderItemVerb; 21interface FolderItemVerbs; 22 23[uuid (50a7e9b0-70ef-11d1-b75a-00a0c90564fe), lcid (0x0000), version (1.0)] 24library Shell32 { 25 importlib ("stdole2.tlb"); 26 27 [uuid (9ba05970-F6A8-11cf-A442-00a0c90a8f39), hidden, oleautomation, dual, odl] 28 interface IFolderViewOC : IDispatch { 29 HRESULT SetFolderView ([in] IDispatch *pdisp); 30 } 31 32 [uuid (62112aa2-ebe4-11cf-a5fb-0020afe7292d)] 33 dispinterface DShellFolderViewEvents { 34 properties: 35 methods: 36 [id (DISPID_SELECTIONCHANGED)] void SelectionChanged (); 37 [id (DISPID_FILELISTENUMDONE)] void EnumDone (); 38 [id (DISPID_VERBINVOKED)] VARIANT_BOOL VerbInvoked (); 39 [id (DISPID_DEFAULTVERBINVOKED)] VARIANT_BOOL DefaultVerbInvoked (); 40 [id (DISPID_BEGINDRAG)] VARIANT_BOOL BeginDrag (); 41 } 42 43 [uuid (9ba05971-F6A8-11cf-A442-00a0c90a8f39), hidden] 44 coclass ShellFolderViewOC { 45 [default] interface IFolderViewOC; 46 [default, source] dispinterface DShellFolderViewEvents; 47 } 48 49 [uuid (4a3df050-23bd-11d2-939f-00a0c91eedba), oleautomation, dual] 50 interface DFConstraint : IDispatch { 51 [propget] HRESULT Name ([out, retval] BSTR *pbs); 52 [propget] HRESULT Value ([out, retval] VARIANT *pv); 53 } 54 55 [uuid (BBCBDE60-C3FF-11ce-8350-444553540000), oleautomation, dual] 56 interface Folder : IDispatch { 57 [id (0), propget] HRESULT Title ([out, retval] BSTR *pbs); 58 [propget] HRESULT Application ([out, retval] IDispatch **ppid); 59 [propget] HRESULT Parent ([out, retval] IDispatch **ppid); 60 [propget] HRESULT ParentFolder ([out, retval] Folder **ppsf); 61 HRESULT Items ([out, retval] FolderItems **ppid); 62 HRESULT ParseName ([in] BSTR bName,[out, retval] FolderItem **ppid); 63 HRESULT NewFolder ([in] BSTR bName,[in, optional] VARIANT vOptions); 64 HRESULT MoveHere ([in] VARIANT vItem,[in, optional] VARIANT vOptions); 65 HRESULT CopyHere ([in] VARIANT vItem,[in, optional] VARIANT vOptions); 66 HRESULT GetDetailsOf ([in] VARIANT vItem,[in] int iColumn,[out, retval]BSTR *pbs); 67 } 68 69 [uuid (f0d2d8ef-3890-11d2-bf8b-00c04fb93661), oleautomation, dual] 70 interface Folder2 : Folder { 71 [propget] HRESULT Self ([out, retval] FolderItem **ppfi); 72 [propget] HRESULT OfflineStatus ([out, retval] LONG *pul); 73 HRESULT Synchronize (void); 74 [id (1), propget] HRESULT HaveToShowWebViewBarricade ([out, retval] VARIANT_BOOL *pbHaveToShowWebViewBarricade); 75 HRESULT DismissedWebViewBarricade (); 76 } 77 78 typedef [uuid (35f1a0d0-3e9a-11d2-8499-005345000000)] enum OfflineFolderStatus { 79 OFS_INACTIVE = -1, 80 OFS_ONLINE, 81 OFS_OFFLINE, 82 OFS_SERVERBACK, 83 OFS_DIRTYCACHE, 84 } OfflineFolderStatus; 85 86 [uuid (A7AE5F64-C4D7-4d7f-9307-4d24ee54b841), oleautomation, dual] 87 interface Folder3 : Folder2 { 88 [id (2), propget] HRESULT ShowWebViewBarricade ([out, retval] VARIANT_BOOL *pbShowWebViewBarricade); 89 [id (2), propput] HRESULT ShowWebViewBarricade ([in] VARIANT_BOOL bShowWebViewBarricade); 90 } 91 92 [uuid (FAC32C80-CBE4-11ce-8350-444553540000), oleautomation, dual] 93 interface FolderItem : IDispatch { 94 typedef [unique] FolderItem *LPFOLDERITEM; 95 [propget] HRESULT Application ([out, retval] IDispatch **ppid); 96 [propget] HRESULT Parent ([out, retval] IDispatch **ppid); 97 [id (0), propget] HRESULT Name ([out, retval] BSTR *pbs); 98 [id (0), propput] HRESULT Name ([in] BSTR bs); 99 [propget] HRESULT Path ([out, retval]BSTR *pbs); 100 [propget] HRESULT GetLink ([out, retval] IDispatch **ppid); 101 [propget] HRESULT GetFolder ([out, retval] IDispatch **ppid); 102 [propget] HRESULT IsLink ([out, retval] VARIANT_BOOL *pb); 103 [propget] HRESULT IsFolder ([out, retval] VARIANT_BOOL *pb); 104 [propget] HRESULT IsFileSystem ([out, retval] VARIANT_BOOL *pb); 105 [propget] HRESULT IsBrowsable ([out, retval] VARIANT_BOOL *pb); 106 [propget] HRESULT ModifyDate ([out, retval] DATE *pdt); 107 [propput] HRESULT ModifyDate ([in] DATE dt); 108 [propget] HRESULT Size ([out, retval] LONG *pul); 109 [propget] HRESULT Type ([out, retval] BSTR *pbs); 110 HRESULT Verbs ([out, retval] FolderItemVerbs **ppfic); 111 HRESULT InvokeVerb ([in, optional] VARIANT vVerb); 112 } 113 114 [uuid (edc817aa-92b8-11d1-b075-00c04fc33aa5), oleautomation, dual] 115 interface FolderItem2 : FolderItem { 116 HRESULT InvokeVerbEx ([in, optional] VARIANT vVerb,[in, optional] VARIANT vArgs); 117 HRESULT ExtendedProperty ([in] BSTR bstrPropName,[out, retval] VARIANT *pvRet); 118 } 119 120 [uuid (2fe352ea-fd1f-11d2-b1f4-00c04f8eeb3e), noncreatable] 121 coclass ShellFolderItem { 122 [default] interface FolderItem2; 123 } 124 125 [uuid (744129e0-CBE5-11ce-8350-444553540000), oleautomation, dual] 126 interface FolderItems : IDispatch { 127 [propget] HRESULT Count ([out, retval] long *plCount); 128 [propget] HRESULT Application ([out, retval] IDispatch **ppid); 129 [propget] HRESULT Parent ([out, retval] IDispatch **ppid); 130 HRESULT Item ([in, optional] VARIANT index,[out, retval]FolderItem **ppid); 131 [id (-4)] HRESULT _NewEnum ([out, retval] IUnknown **ppunk); 132 } 133 134 [uuid (C94F0AD0-F363-11d2-A327-00c04f8eec7f), oleautomation, dual, odl] 135 interface FolderItems2 : FolderItems { 136 HRESULT InvokeVerbEx ([in, optional] VARIANT vVerb,[in, optional] VARIANT vArgs); 137 } 138 139 [uuid (eaa7c309-bbec-49d5-821d-64d966cb667f), oleautomation, dual, odl] 140 interface FolderItems3 : FolderItems2 { 141 HRESULT Filter ([in] long grfFlags,[in] BSTR bstrFileSpec); 142 [id (0), propget] HRESULT Verbs ([out, retval] FolderItemVerbs **ppfic); 143 } 144 145 [uuid (08ec3e00-50b0-11cf-960c-0080c7f4ee85), oleautomation, dual] 146 interface FolderItemVerb : IDispatch { 147 [propget] HRESULT Application ([out, retval] IDispatch **ppid); 148 [propget] HRESULT Parent ([out, retval] IDispatch **ppid); 149 [id (0), propget] HRESULT Name ([out, retval] BSTR *pbs); 150 HRESULT DoIt (); 151 } 152 153 [uuid (1f8352c0-50b0-11cf-960c-0080c7f4ee85), oleautomation, dual] 154 interface FolderItemVerbs : IDispatch { 155 [propget] HRESULT Count ([out, retval] long *plCount); 156 [propget] HRESULT Application ([out, retval] IDispatch **ppid); 157 [propget] HRESULT Parent ([out, retval] IDispatch **ppid); 158 HRESULT Item ([in, optional] VARIANT index,[out, retval]FolderItemVerb **ppid); 159 [id (-4)] HRESULT _NewEnum ([out, retval] IUnknown **ppunk); 160 } 161 162 [uuid (88a05c00-F000-11ce-8350-444553540000), oleautomation, dual, hidden] 163 interface IShellLinkDual : IDispatch { 164 [propget] HRESULT Path ([out, retval] BSTR *pbs); 165 [propput] HRESULT Path ([in] BSTR bs); 166 [propget] HRESULT Description ([out, retval] BSTR *pbs); 167 [propput] HRESULT Description ([in] BSTR bs); 168 [propget] HRESULT WorkingDirectory ([out, retval] BSTR *pbs); 169 [propput] HRESULT WorkingDirectory ([in] BSTR bs); 170 [propget] HRESULT Arguments ([out, retval] BSTR *pbs); 171 [propput] HRESULT Arguments ([in] BSTR bs); 172 [propget] HRESULT Hotkey ([out, retval] int *piHK); 173 [propput] HRESULT Hotkey ([in] int iHK); 174 [propget] HRESULT ShowCommand ([out, retval] int *piShowCommand); 175 [propput] HRESULT ShowCommand ([in] int iShowCommand); 176 HRESULT Resolve ([in] int fFlags); 177 HRESULT GetIconLocation ([out] BSTR *pbs,[out, retval] int *piIcon); 178 HRESULT SetIconLocation ([in] BSTR bs,[in] int iIcon); 179 HRESULT Save ([in, optional] VARIANT vWhere); 180 } 181 182 [uuid (317ee249-F12E-11d2-B1E4-00c04f8eeb3e), oleautomation, dual, hidden] 183 interface IShellLinkDual2 : IShellLinkDual { 184 [propget] HRESULT Target ([out, retval] FolderItem **ppfi); 185 } 186 187 [uuid (11219420-1768-11d1-95be-00609797ea4f), noncreatable] 188 coclass ShellLinkObject { 189 [default] interface IShellLinkDual2; 190 } 191 192 [uuid (E7A1AF80-4d96-11cf-960c-0080c7f4ee85), oleautomation, hidden, dual] 193 interface IShellFolderViewDual : IDispatch { 194 [propget] HRESULT Application ([out, retval] IDispatch **ppid); 195 [propget] HRESULT Parent ([out, retval] IDispatch **ppid); 196 [propget] HRESULT Folder ([out, retval] Folder **ppid); 197 HRESULT SelectedItems ([out, retval] FolderItems **ppid); 198 [propget] HRESULT FocusedItem ([out, retval] FolderItem **ppid); 199 HRESULT SelectItem ([in]VARIANT *pvfi,[in] int dwFlags); 200 HRESULT PopupItemMenu ([in]FolderItem *pfi,[in, optional]VARIANT vx,[in, optional]VARIANT vy,[out, retval] BSTR *pbs); 201 [propget] HRESULT Script ([out, retval] IDispatch **ppDisp); 202 [propget] HRESULT ViewOptions ([out, retval] long *plViewOptions); 203 } 204 205 [uuid (31c147b6-0ade-4a3c-B514-DDF932EF6D17), oleautomation, hidden, dual] 206 interface IShellFolderViewDual2 : IShellFolderViewDual { 207 [propget] HRESULT CurrentViewMode ([out, retval] UINT *pViewMode); 208 [propput] HRESULT CurrentViewMode ([in] UINT ViewMode); 209 HRESULT SelectItemRelative ([in] int iRelative); 210 } 211 212 [uuid (29ec8e6c-46d3-411f-BAAA-611a6c9cac66), oleautomation, hidden, dual] 213 interface IShellFolderViewDual3 : IShellFolderViewDual2 { 214 [propget] HRESULT GroupBy ([out, retval] BSTR *pbstrGroupBy); 215 [propput] HRESULT GroupBy ([in] BSTR bstrGroupBy); 216 [propget] HRESULT FolderFlags ([out, retval] DWORD *pdwFlags); 217 [propput] HRESULT FolderFlags ([in] DWORD dwFlags); 218 [propget] HRESULT SortColumns ([out, retval] BSTR *pbstrSortColumns); 219 [propput] HRESULT SortColumns ([in] BSTR bstrSortColumns); 220 [propput] HRESULT IconSize ([in] int iIconSize); 221 [propget] HRESULT IconSize ([out, retval] int *piIconSize); 222 HRESULT FilterView ([in, unique] BSTR bstrFilterText); 223 } 224 225 [uuid (62112aa1-EBE4-11cf-A5FB-0020afe7292d)] 226 coclass ShellFolderView { 227 [default] interface IShellFolderViewDual3; 228 [source, default] dispinterface DShellFolderViewEvents; 229 } 230 231 typedef [uuid (742a99a0-C77E-11d0-A32C-00a0c91eedba)] enum ShellFolderViewOptions { 232 SFVVO_SHOWALLOBJECTS = 0x00000001, 233 SFVVO_SHOWEXTENSIONS = 0x00000002, 234 SFVVO_SHOWCOMPCOLOR = 0x00000008, 235 SFVVO_SHOWSYSFILES = 0x00000020, 236 SFVVO_WIN95CLASSIC = 0x00000040, 237 SFVVO_DOUBLECLICKINWEBVIEW = 0x00000080, 238 SFVVO_DESKTOPHTML = 0x00000200, 239 } ShellFolderViewOptions; 240 241 [uuid (D8F015C0-C278-11ce-A49E-444553540000), oleautomation, hidden, dual] 242 interface IShellDispatch : IDispatch { 243 [propget] HRESULT Application ([out, retval] IDispatch **ppid); 244 [propget] HRESULT Parent ([out, retval] IDispatch **ppid); 245 HRESULT NameSpace ([in] VARIANT vDir,[out, retval] Folder **ppsdf); 246 HRESULT BrowseForFolder ([in] long Hwnd,[in] BSTR Title,[in] long Options,[in, optional] VARIANT RootFolder,[out, retval] Folder **ppsdf); 247 HRESULT Windows ([out, retval] IDispatch **ppid); 248 HRESULT Open ([in] VARIANT vDir); 249 HRESULT Explore ([in] VARIANT vDir); 250 HRESULT MinimizeAll (void); 251 HRESULT UndoMinimizeALL (void); 252 HRESULT FileRun (void); 253 HRESULT CascadeWindows (void); 254 HRESULT TileVertically (void); 255 HRESULT TileHorizontally (void); 256 HRESULT ShutdownWindows (void); 257 HRESULT Suspend (void); 258 HRESULT EjectPC (void); 259 HRESULT SetTime (void); 260 HRESULT TrayProperties (void); 261 HRESULT Help (void); 262 HRESULT FindFiles (void); 263 HRESULT FindComputer (void); 264 HRESULT RefreshMenu (void); 265 HRESULT ControlPanelItem ([in] BSTR bstrDir); 266 } 267 268 [uuid (A4C6892C-3ba9-11d2-9dea-00c04fb16162), oleautomation, hidden, dual] 269 interface IShellDispatch2 : IShellDispatch { 270 HRESULT IsRestricted ([in] BSTR Group,[in] BSTR Restriction,[out, retval] long *plRestrictValue); 271 HRESULT ShellExecute ([in] BSTR File,[in, optional] VARIANT vArgs,[in, optional] VARIANT vDir,[in, optional] VARIANT vOperation,[in, optional] VARIANT vShow); 272 HRESULT FindPrinter ([in, optional] BSTR name,[in, optional] BSTR location,[in, optional] BSTR model); 273 HRESULT GetSystemInformation ([in] BSTR name,[out, retval] VARIANT *pv); 274 HRESULT ServiceStart ([in] BSTR ServiceName,[in] VARIANT Persistent,[out, retval] VARIANT *pSuccess); 275 HRESULT ServiceStop ([in] BSTR ServiceName,[in] VARIANT Persistent,[out, retval] VARIANT *pSuccess); 276 HRESULT IsServiceRunning ([in] BSTR ServiceName,[out, retval] VARIANT *pRunning); 277 HRESULT CanStartStopService ([in] BSTR ServiceName,[out, retval] VARIANT *pCanStartStop); 278 HRESULT ShowBrowserBar ([in]BSTR bstrClsid,[in]VARIANT bShow,[out, retval] VARIANT *pSuccess); 279 } 280 281 [uuid (177160ca-bb5a-411c-841d-bd38facdeaa0), oleautomation, hidden, dual] 282 interface IShellDispatch3 : IShellDispatch2 { 283 HRESULT AddToRecent ([in] VARIANT varFile,[in, optional] BSTR bstrCategory); 284 } 285 286 [uuid (efd84b2d-4bcf-4298-be25-eb542a59fbda), oleautomation, hidden, dual] 287 interface IShellDispatch4 : IShellDispatch3 { 288 HRESULT WindowsSecurity (void); 289 HRESULT ToggleDesktop (void); 290 HRESULT ExplorerPolicy ([in] BSTR bstrPolicyName,[out, retval] VARIANT *pValue); 291 HRESULT GetSetting ([in] long lSetting,[out, retval] VARIANT_BOOL *pResult); 292 } 293 294 [uuid (866738b9-6cf2-4de8-8767-f794ebe74f4e), oleautomation, hidden, dual] 295 interface IShellDispatch5 : IShellDispatch4 { 296 HRESULT WindowSwitcher (void); 297 } 298 299 cpp_quote("#if NTDDI_VERSION >= NTDDI_WIN8") 300 [uuid (286e6f1b-7113-4355-9562-96b7e9d64c54), oleautomation, hidden, dual] 301 interface IShellDispatch6 : IShellDispatch5 { 302 HRESULT SearchCommand (void); 303 } 304 cpp_quote("#endif") 305 306 [uuid (13709620-C279-11ce-A49E-444553540000)] 307 coclass Shell { 308 [default] interface IShellDispatch6; 309 } 310 311 [uuid (0a89a860-D7B1-11ce-8350-444553540000), hidden] 312 coclass ShellDispatchInproc { 313 interface IUnknown; 314 } 315 316 typedef [uuid (CA31EA20-48d0-11cf-8350-444553540000)] enum ShellSpecialFolderConstants { 317 ssfDESKTOP = 0x0000, 318 ssfPROGRAMS = 0x0002, 319 ssfCONTROLS = 0x0003, 320 ssfPRINTERS = 0x0004, 321 ssfPERSONAL = 0x0005, 322 ssfFAVORITES = 0x0006, 323 ssfSTARTUP = 0x0007, 324 ssfRECENT = 0x0008, 325 ssfSENDTO = 0x0009, 326 ssfBITBUCKET = 0x000a, 327 ssfSTARTMENU = 0x000b, 328 ssfDESKTOPDIRECTORY = 0x0010, 329 ssfDRIVES = 0x0011, 330 ssfNETWORK = 0x0012, 331 ssfNETHOOD = 0x0013, 332 ssfFONTS = 0x0014, 333 ssfTEMPLATES = 0x0015, 334 ssfCOMMONSTARTMENU = 0x0016, 335 ssfCOMMONPROGRAMS = 0x0017, 336 ssfCOMMONSTARTUP = 0x0018, 337 ssfCOMMONDESKTOPDIR = 0x0019, 338 ssfAPPDATA = 0x001a, 339 ssfPRINTHOOD = 0x001b, 340 ssfLOCALAPPDATA = 0x001c, 341 ssfALTSTARTUP = 0x001d, 342 ssfCOMMONALTSTARTUP = 0x001e, 343 ssfCOMMONFAVORITES = 0x001f, 344 ssfINTERNETCACHE = 0x0020, 345 ssfCOOKIES = 0x0021, 346 ssfHISTORY = 0x0022, 347 ssfCOMMONAPPDATA = 0x0023, 348 ssfWINDOWS = 0x0024, 349 ssfSYSTEM = 0x0025, 350 ssfPROGRAMFILES = 0x0026, 351 ssfMYPICTURES = 0x0027, 352 ssfPROFILE = 0x0028, 353 ssfSYSTEMx86 = 0x0029, 354 ssfPROGRAMFILESx86 = 0x0030, 355 } ShellSpecialFolderConstants; 356 357 [uuid (2d91eea1-9932-11d2-BE86-00a0c9a83da1), oleautomation, dual, hidden, pointer_default (unique)] 358 interface IFileSearchBand : IDispatch { 359 [id (1)] HRESULT SetFocus (void); 360 [id (2)] HRESULT SetSearchParameters ([in] BSTR *pbstrSearchID,[in]VARIANT_BOOL bNavToResults,[in, optional] VARIANT *pvarScope,[in, optional]VARIANT *pvarQueryFile); 361 [id (3), propget] HRESULT SearchID ([out, retval] BSTR *pbstrSearchID); 362 [id (4), propget] HRESULT Scope ([out, retval] VARIANT *pvarScope); 363 [id (5), propget] HRESULT QueryFile ([out, retval] VARIANT *pvarFile); 364 }; 365 366 [uuid (C4EE31F3-4768-11d2-BE5C-00a0c9a83da1), hidden] 367 coclass FileSearchBand { 368 [default] interface IFileSearchBand; 369 }; 370 371 [uuid (18bcc359-4990-4bfb-b951-3c83702be5f9), object, dual] 372 interface IWebWizardHost : IDispatch { 373 [id (0)] HRESULT FinalBack (); 374 [id (1)] HRESULT FinalNext (); 375 [id (2)] HRESULT Cancel (); 376 [id (3), propput] HRESULT Caption ([in] BSTR bstrCaption); 377 [id (3), propget] HRESULT Caption ([out, retval] BSTR *pbstrCaption); 378 [id (4), propput] HRESULT Property ([in] BSTR bstrPropertyName,[in] VARIANT *pvProperty); 379 [id (4), propget] HRESULT Property ([in] BSTR bstrPropertyName,[out, retval] VARIANT *pvProperty); 380 [id (5)] HRESULT SetWizardButtons ([in] VARIANT_BOOL vfEnableBack,[in] VARIANT_BOOL vfEnableNext,[in] VARIANT_BOOL vfLastPage); 381 [id (6)] HRESULT SetHeaderText ([in] BSTR bstrHeaderTitle,[in] BSTR bstrHeaderSubtitle); 382 }; 383 [uuid (0751c551-7568-41c9-8e5b-e22e38919236), object, dual] 384 interface INewWDEvents: IWebWizardHost { 385 [id (7)] HRESULT PassportAuthenticate ([in] BSTR bstrSignInUrl,[out, retval] VARIANT_BOOL *pvfAuthenitcated); 386 }; 387}; 388 389[local, object, uuid (00bb2762-6a77-11d0-a535-00c04fd7d062), pointer_default (unique)] 390interface IAutoComplete : IUnknown { 391 typedef [unique] IAutoComplete *LPAUTOCOMPLETE; 392 393 HRESULT Init ([in] HWND hwndEdit,[in, unique] IUnknown *punkACL,[in, unique] LPCWSTR pwszRegKeyPath,[in] LPCWSTR pwszQuickComplete); 394 HRESULT Enable ([in] BOOL fEnable); 395} 396 397[local, object, uuid (EAC04BC0-3791-11d2-BB95-0060977b464c), pointer_default (unique)] 398interface IAutoComplete2 : IAutoComplete { 399 typedef [unique] IAutoComplete2 *LPAUTOCOMPLETE2; 400 typedef enum _tagAUTOCOMPLETEOPTIONS { 401 ACO_NONE = 0x00, 402 ACO_AUTOSUGGEST = 0x01, 403 ACO_AUTOAPPEND = 0x02, 404 ACO_SEARCH = 0x04, 405 ACO_FILTERPREFIXES = 0x08, 406 ACO_USETAB = 0x10, 407 ACO_UPDOWNKEYDROPSLIST = 0x20, 408 ACO_RTLREADING = 0x40, 409 ACO_WORD_FILTER = 0x80, 410 ACO_NOPREFIXFILTERING = 0x100, 411 } AUTOCOMPLETEOPTIONS; 412 413 HRESULT SetOptions ([in] DWORD dwFlag); 414 HRESULT GetOptions ([out] DWORD *pdwFlag); 415} 416 417cpp_quote("") 418[local, object, uuid (8e74c210-CF9D-4eaf-A403-7356428f0a5a), pointer_default (unique)] 419interface IEnumACString : IEnumString { 420 typedef [unique] IEnumACString *PENUMACSTRING; 421 typedef [unique] IEnumACString *LPENUMACSTRING; 422 typedef enum _tagACENUMOPTION { 423 ACEO_NONE = 0x0000, 424 ACEO_MOSTRECENTFIRST = 0x1, 425 ACEO_FIRSTUNUSED = 0x10000, 426 } ACENUMOPTION; 427 428 HRESULT NextItem ([out, string, unique, size_is (cchMax)] LPWSTR pszUrl,[in] ULONG cchMax,[out] ULONG *pulSortIndex); 429 HRESULT SetEnumOptions ([in] DWORD dwOptions); 430 HRESULT GetEnumOptions ([out] DWORD *pdwOptions); 431} 432 433[uuid (3d8b0590-F691-11d2-8ea9-006097df5bd4), object] 434interface IDataObjectAsyncCapability : IUnknown { 435 HRESULT SetAsyncMode ([in] BOOL fDoOpAsync); 436 HRESULT GetAsyncMode ([out] BOOL *pfIsOpAsync); 437 HRESULT StartOperation ([in, unique, optional] IBindCtx *pbcReserved); 438 HRESULT InOperation ([out] BOOL *pfInAsyncOp); 439 HRESULT EndOperation ([in] HRESULT hResult,[in, unique] IBindCtx *pbcReserved,[in] DWORD dwEffects); 440} 441 442cpp_quote("#endif") 443