1 // Copyright © 2015, Peter Atashian 2 // Licensed under the MIT License <LICENSE.md> 3 //! this ALWAYS GENERATED file contains the definitions for the interfaces 4 //Terrible forward declarations that need to be filled in 5 #[repr(C)] #[derive(Clone, Copy, Debug)] 6 pub struct IContextMenu; 7 #[repr(C)] #[derive(Clone, Copy, Debug)] 8 pub struct IContextMenu2; 9 #[repr(C)] #[derive(Clone, Copy, Debug)] 10 pub struct IContextMenu3; 11 #[repr(C)] #[derive(Clone, Copy, Debug)] 12 pub struct IExecuteCommand; 13 #[repr(C)] #[derive(Clone, Copy, Debug)] 14 pub struct IPersistFolder; 15 #[repr(C)] #[derive(Clone, Copy, Debug)] 16 pub struct IRunnableTask; 17 #[repr(C)] #[derive(Clone, Copy, Debug)] 18 pub struct IShellTaskScheduler; 19 #[repr(C)] #[derive(Clone, Copy, Debug)] 20 pub struct IQueryCodePage; 21 #[repr(C)] #[derive(Clone, Copy, Debug)] 22 pub struct IPersistFolder2; 23 #[repr(C)] #[derive(Clone, Copy, Debug)] 24 pub struct IPersistFolder3; 25 #[repr(C)] #[derive(Clone, Copy, Debug)] 26 pub struct IPersistIDList; 27 #[repr(C)] #[derive(Clone, Copy, Debug)] 28 pub struct IEnumIDList; 29 #[repr(C)] #[derive(Clone, Copy, Debug)] 30 pub struct IEnumFullIDList; 31 #[repr(C)] #[derive(Clone, Copy, Debug)] 32 pub struct IFileSyncMergeHandler; 33 #[repr(C)] #[derive(Clone, Copy, Debug)] 34 pub struct IObjectWithFolderEnumMode; 35 #[repr(C)] #[derive(Clone, Copy, Debug)] 36 pub struct IParseAndCreateItem; 37 #[repr(C)] #[derive(Clone, Copy, Debug)] 38 pub struct IShellFolder; 39 #[repr(C)] #[derive(Clone, Copy, Debug)] 40 pub struct IEnumExtraSearch; 41 #[repr(C)] #[derive(Clone, Copy, Debug)] 42 pub struct IShellFolder2; 43 #[repr(C)] #[derive(Clone, Copy, Debug)] 44 pub struct IFolderViewOptions; 45 #[repr(C)] #[derive(Clone, Copy, Debug)] 46 pub struct IShellView; 47 #[repr(C)] #[derive(Clone, Copy, Debug)] 48 pub struct IShellView2; 49 #[repr(C)] #[derive(Clone, Copy, Debug)] 50 pub struct IShellView3; 51 #[repr(C)] #[derive(Clone, Copy, Debug)] 52 pub struct IFolderView; 53 #[repr(C)] #[derive(Clone, Copy, Debug)] 54 pub struct ISearchBoxInfo; 55 #[repr(C)] #[derive(Clone, Copy, Debug)] 56 pub struct IFolderView2; 57 #[repr(C)] #[derive(Clone, Copy, Debug)] 58 pub struct IFolderViewSettings; 59 #[repr(C)] #[derive(Clone, Copy, Debug)] 60 pub struct IPreviewHandlerVisuals; 61 #[repr(C)] #[derive(Clone, Copy, Debug)] 62 pub struct IVisualProperties; 63 #[repr(C)] #[derive(Clone, Copy, Debug)] 64 pub struct ICommDlgBrowser; 65 #[repr(C)] #[derive(Clone, Copy, Debug)] 66 pub struct ICommDlgBrowser2; 67 #[repr(C)] #[derive(Clone, Copy, Debug)] 68 pub struct ICommDlgBrowser3; 69 #[repr(C)] #[derive(Clone, Copy, Debug)] 70 pub struct IColumnManager; 71 #[repr(C)] #[derive(Clone, Copy, Debug)] 72 pub struct IFolderFilterSite; 73 #[repr(C)] #[derive(Clone, Copy, Debug)] 74 pub struct IFolderFilter; 75 #[repr(C)] #[derive(Clone, Copy, Debug)] 76 pub struct IInputObjectSite; 77 #[repr(C)] #[derive(Clone, Copy, Debug)] 78 pub struct IInputObject; 79 #[repr(C)] #[derive(Clone, Copy, Debug)] 80 pub struct IInputObject2; 81 #[repr(C)] #[derive(Clone, Copy, Debug)] 82 pub struct IShellIcon; 83 #[repr(C)] #[derive(Clone, Copy, Debug)] 84 pub struct IShellBrowser; 85 #[repr(C)] #[derive(Clone, Copy, Debug)] 86 pub struct IProfferService; 87 #[repr(C)] #[derive(Clone, Copy, Debug)] 88 pub struct IShellItem2; 89 #[repr(C)] #[derive(Clone, Copy, Debug)] 90 pub struct IShellItemImageFactory; 91 #[repr(C)] #[derive(Clone, Copy, Debug)] 92 pub struct IUserAccountChangeCallback; 93 #[repr(C)] #[derive(Clone, Copy, Debug)] 94 pub struct IEnumShellItems; 95 #[repr(C)] #[derive(Clone, Copy, Debug)] 96 pub struct ITransferAdviseSink; 97 #[repr(C)] #[derive(Clone, Copy, Debug)] 98 pub struct ITransferSource; 99 #[repr(C)] #[derive(Clone, Copy, Debug)] 100 pub struct IEnumResources; 101 #[repr(C)] #[derive(Clone, Copy, Debug)] 102 pub struct IShellItemResources; 103 #[repr(C)] #[derive(Clone, Copy, Debug)] 104 pub struct ITransferDestination; 105 #[repr(C)] #[derive(Clone, Copy, Debug)] 106 pub struct IStreamAsync; 107 #[repr(C)] #[derive(Clone, Copy, Debug)] 108 pub struct IStreamUnbufferedInfo; 109 #[repr(C)] #[derive(Clone, Copy, Debug)] 110 pub struct IInitializeWithItem; 111 #[repr(C)] #[derive(Clone, Copy, Debug)] 112 pub struct IObjectWithSelection; 113 #[repr(C)] #[derive(Clone, Copy, Debug)] 114 pub struct IObjectWithBackReferences; 115 #[repr(C)] #[derive(Clone, Copy, Debug)] 116 pub struct IPropertyUI; 117 #[repr(C)] #[derive(Clone, Copy, Debug)] 118 pub struct ICategoryProvider; 119 #[repr(C)] #[derive(Clone, Copy, Debug)] 120 pub struct ICategorizer; 121 #[repr(C)] #[derive(Clone, Copy, Debug)] 122 pub struct IDropTargetHelper; 123 #[repr(C)] #[derive(Clone, Copy, Debug)] 124 pub struct IDragSourceHelper; 125 #[repr(C)] #[derive(Clone, Copy, Debug)] 126 pub struct IDragSourceHelper2; 127 #[repr(C)] #[derive(Clone, Copy, Debug)] 128 pub struct IShellLinkA; 129 #[repr(C)] #[derive(Clone, Copy, Debug)] 130 pub struct IShellLinkW; 131 #[repr(C)] #[derive(Clone, Copy, Debug)] 132 pub struct IShellLinkDataList; 133 #[repr(C)] #[derive(Clone, Copy, Debug)] 134 pub struct IResolveShellLink; 135 #[repr(C)] #[derive(Clone, Copy, Debug)] 136 pub struct IActionProgressDialog; 137 #[repr(C)] #[derive(Clone, Copy, Debug)] 138 pub struct IHWEventHandler; 139 #[repr(C)] #[derive(Clone, Copy, Debug)] 140 pub struct IHWEventHandler2; 141 #[repr(C)] #[derive(Clone, Copy, Debug)] 142 pub struct IQueryCancelAutoPlay; 143 #[repr(C)] #[derive(Clone, Copy, Debug)] 144 pub struct IDynamicHWHandler; 145 #[repr(C)] #[derive(Clone, Copy, Debug)] 146 pub struct IActionProgress; 147 #[repr(C)] #[derive(Clone, Copy, Debug)] 148 pub struct IShellExtInit; 149 #[repr(C)] #[derive(Clone, Copy, Debug)] 150 pub struct IShellPropSheetExt; 151 #[repr(C)] #[derive(Clone, Copy, Debug)] 152 pub struct IRemoteComputer; 153 #[repr(C)] #[derive(Clone, Copy, Debug)] 154 pub struct IQueryContinue; 155 #[repr(C)] #[derive(Clone, Copy, Debug)] 156 pub struct IObjectWithCancelEvent; 157 #[repr(C)] #[derive(Clone, Copy, Debug)] 158 pub struct IUserNotification; 159 #[repr(C)] #[derive(Clone, Copy, Debug)] 160 pub struct IUserNotificationCallback; 161 #[repr(C)] #[derive(Clone, Copy, Debug)] 162 pub struct IUserNotification2; 163 #[repr(C)] #[derive(Clone, Copy, Debug)] 164 pub struct IItemNameLimits; 165 #[repr(C)] #[derive(Clone, Copy, Debug)] 166 pub struct ISearchFolderItemFactory; 167 #[repr(C)] #[derive(Clone, Copy, Debug)] 168 pub struct IExtractImage; 169 #[repr(C)] #[derive(Clone, Copy, Debug)] 170 pub struct IExtractImage2; 171 #[repr(C)] #[derive(Clone, Copy, Debug)] 172 pub struct IThumbnailHandlerFactory; 173 #[repr(C)] #[derive(Clone, Copy, Debug)] 174 pub struct IParentAndItem; 175 #[repr(C)] #[derive(Clone, Copy, Debug)] 176 pub struct IDockingWindow; 177 #[repr(C)] #[derive(Clone, Copy, Debug)] 178 pub struct IDeskBand; 179 #[repr(C)] #[derive(Clone, Copy, Debug)] 180 pub struct IDeskBandInfo; 181 #[repr(C)] #[derive(Clone, Copy, Debug)] 182 pub struct IDeskBand2; 183 #[repr(C)] #[derive(Clone, Copy, Debug)] 184 pub struct ITaskbarList; 185 #[repr(C)] #[derive(Clone, Copy, Debug)] 186 pub struct ITaskbarList2; 187 #[repr(C)] #[derive(Clone, Copy, Debug)] 188 pub struct ITaskbarList3; 189 #[repr(C)] #[derive(Clone, Copy, Debug)] 190 pub struct ITaskbarList4; 191 #[repr(C)] #[derive(Clone, Copy, Debug)] 192 pub struct IStartMenuPinnedList; 193 #[repr(C)] #[derive(Clone, Copy, Debug)] 194 pub struct ICDBurn; 195 #[repr(C)] #[derive(Clone, Copy, Debug)] 196 pub struct IWizardSite; 197 #[repr(C)] #[derive(Clone, Copy, Debug)] 198 pub struct IWizardExtension; 199 #[repr(C)] #[derive(Clone, Copy, Debug)] 200 pub struct IWebWizardExtension; 201 #[repr(C)] #[derive(Clone, Copy, Debug)] 202 pub struct IPublishingWizard; 203 #[repr(C)] #[derive(Clone, Copy, Debug)] 204 pub struct IFolderViewHost; 205 #[repr(C)] #[derive(Clone, Copy, Debug)] 206 pub struct IExplorerBrowserEvents; 207 #[repr(C)] #[derive(Clone, Copy, Debug)] 208 pub struct IExplorerBrowser; 209 #[repr(C)] #[derive(Clone, Copy, Debug)] 210 pub struct IAccessibleObject; 211 #[repr(C)] #[derive(Clone, Copy, Debug)] 212 pub struct IResultsFolder; 213 #[repr(C)] #[derive(Clone, Copy, Debug)] 214 pub struct IEnumObjects; 215 #[repr(C)] #[derive(Clone, Copy, Debug)] 216 pub struct IOperationsProgressDialog; 217 #[repr(C)] #[derive(Clone, Copy, Debug)] 218 pub struct IIOCancelInformation; 219 #[repr(C)] #[derive(Clone, Copy, Debug)] 220 pub struct IFileOperation; 221 #[repr(C)] #[derive(Clone, Copy, Debug)] 222 pub struct IObjectProvider; 223 #[repr(C)] #[derive(Clone, Copy, Debug)] 224 pub struct INamespaceWalkCB; 225 #[repr(C)] #[derive(Clone, Copy, Debug)] 226 pub struct INamespaceWalkCB2; 227 #[repr(C)] #[derive(Clone, Copy, Debug)] 228 pub struct INamespaceWalk; 229 #[repr(C)] #[derive(Clone, Copy, Debug)] 230 pub struct IAutoCompleteDropDown; 231 #[repr(C)] #[derive(Clone, Copy, Debug)] 232 pub struct IBandSite; 233 #[repr(C)] #[derive(Clone, Copy, Debug)] 234 pub struct ICDBurnExt; 235 #[repr(C)] #[derive(Clone, Copy, Debug)] 236 pub struct IContextMenuSite; 237 #[repr(C)] #[derive(Clone, Copy, Debug)] 238 pub struct IEnumReadyCallback; 239 #[repr(C)] #[derive(Clone, Copy, Debug)] 240 pub struct IEnumerableView; 241 #[repr(C)] #[derive(Clone, Copy, Debug)] 242 pub struct IInsertItem; 243 #[repr(C)] #[derive(Clone, Copy, Debug)] 244 pub struct IMenuBand; 245 #[repr(C)] #[derive(Clone, Copy, Debug)] 246 pub struct IFolderBandPriv; 247 #[repr(C)] #[derive(Clone, Copy, Debug)] 248 pub struct IRegTreeItem; 249 #[repr(C)] #[derive(Clone, Copy, Debug)] 250 pub struct IImageRecompress; 251 #[repr(C)] #[derive(Clone, Copy, Debug)] 252 pub struct IDeskBar; 253 #[repr(C)] #[derive(Clone, Copy, Debug)] 254 pub struct IMenuPopup; 255 #[repr(C)] #[derive(Clone, Copy, Debug)] 256 pub struct IFileIsInUse; 257 #[repr(C)] #[derive(Clone, Copy, Debug)] 258 pub struct IApplicationAssociationRegistration; 259 #[repr(C)] #[derive(Clone, Copy, Debug)] 260 pub struct IApplicationAssociationRegistrationUI; 261 #[repr(C)] #[derive(Clone, Copy, Debug)] 262 pub struct IDelegateFolder; 263 #[repr(C)] #[derive(Clone, Copy, Debug)] 264 pub struct IBrowserFrameOptions; 265 #[repr(C)] #[derive(Clone, Copy, Debug)] 266 pub struct INewWindowManager; 267 #[repr(C)] #[derive(Clone, Copy, Debug)] 268 pub struct IAttachmentExecute; 269 #[repr(C)] #[derive(Clone, Copy, Debug)] 270 pub struct IShellMenuCallback; 271 #[repr(C)] #[derive(Clone, Copy, Debug)] 272 pub struct IShellMenu; 273 #[repr(C)] #[derive(Clone, Copy, Debug)] 274 pub struct IShellRunDll; 275 #[repr(C)] #[derive(Clone, Copy, Debug)] 276 pub struct IKnownFolder; 277 #[repr(C)] #[derive(Clone, Copy, Debug)] 278 pub struct IKnownFolderManager; 279 #[repr(C)] #[derive(Clone, Copy, Debug)] 280 pub struct ISharingConfigurationManager; 281 #[repr(C)] #[derive(Clone, Copy, Debug)] 282 pub struct IPreviousVersionsInfo; 283 #[repr(C)] #[derive(Clone, Copy, Debug)] 284 pub struct IRelatedItem; 285 #[repr(C)] #[derive(Clone, Copy, Debug)] 286 pub struct IIdentityName; 287 #[repr(C)] #[derive(Clone, Copy, Debug)] 288 pub struct IDelegateItem; 289 #[repr(C)] #[derive(Clone, Copy, Debug)] 290 pub struct ICurrentItem; 291 #[repr(C)] #[derive(Clone, Copy, Debug)] 292 pub struct ITransferMediumItem; 293 #[repr(C)] #[derive(Clone, Copy, Debug)] 294 pub struct IUseToBrowseItem; 295 #[repr(C)] #[derive(Clone, Copy, Debug)] 296 pub struct IDisplayItem; 297 #[repr(C)] #[derive(Clone, Copy, Debug)] 298 pub struct IViewStateIdentityItem; 299 #[repr(C)] #[derive(Clone, Copy, Debug)] 300 pub struct IPreviewItem; 301 #[repr(C)] #[derive(Clone, Copy, Debug)] 302 pub struct IDestinationStreamFactory; 303 #[repr(C)] #[derive(Clone, Copy, Debug)] 304 pub struct INewMenuClient; 305 #[repr(C)] #[derive(Clone, Copy, Debug)] 306 pub struct IInitializeWithBindCtx; 307 #[repr(C)] #[derive(Clone, Copy, Debug)] 308 pub struct INameSpaceTreeControl; 309 #[repr(C)] #[derive(Clone, Copy, Debug)] 310 pub struct INameSpaceTreeControl2; 311 #[repr(C)] #[derive(Clone, Copy, Debug)] 312 pub struct INameSpaceTreeControlEvents; 313 #[repr(C)] #[derive(Clone, Copy, Debug)] 314 pub struct INameSpaceTreeControlDropHandler; 315 #[repr(C)] #[derive(Clone, Copy, Debug)] 316 pub struct INameSpaceTreeAccessible; 317 #[repr(C)] #[derive(Clone, Copy, Debug)] 318 pub struct INameSpaceTreeControlCustomDraw; 319 #[repr(C)] #[derive(Clone, Copy, Debug)] 320 pub struct INameSpaceTreeControlFolderCapabilities; 321 #[repr(C)] #[derive(Clone, Copy, Debug)] 322 pub struct IPreviewHandler; 323 #[repr(C)] #[derive(Clone, Copy, Debug)] 324 pub struct IPreviewHandlerFrame; 325 #[repr(C)] #[derive(Clone, Copy, Debug)] 326 pub struct ITrayDeskBand; 327 #[repr(C)] #[derive(Clone, Copy, Debug)] 328 pub struct IBandHost; 329 #[repr(C)] #[derive(Clone, Copy, Debug)] 330 pub struct IExplorerPaneVisibility; 331 #[repr(C)] #[derive(Clone, Copy, Debug)] 332 pub struct IContextMenuCB; 333 #[repr(C)] #[derive(Clone, Copy, Debug)] 334 pub struct IDefaultExtractIconInit; 335 #[repr(C)] #[derive(Clone, Copy, Debug)] 336 pub struct IExplorerCommand; 337 #[repr(C)] #[derive(Clone, Copy, Debug)] 338 pub struct IExplorerCommandState; 339 #[repr(C)] #[derive(Clone, Copy, Debug)] 340 pub struct IInitializeCommand; 341 #[repr(C)] #[derive(Clone, Copy, Debug)] 342 pub struct IEnumExplorerCommand; 343 #[repr(C)] #[derive(Clone, Copy, Debug)] 344 pub struct IExplorerCommandProvider; 345 #[repr(C)] #[derive(Clone, Copy, Debug)] 346 pub struct IMarkupCallback; 347 #[repr(C)] #[derive(Clone, Copy, Debug)] 348 pub struct IControlMarkup; 349 #[repr(C)] #[derive(Clone, Copy, Debug)] 350 pub struct IInitializeNetworkFolder; 351 #[repr(C)] #[derive(Clone, Copy, Debug)] 352 pub struct IOpenControlPanel; 353 #[repr(C)] #[derive(Clone, Copy, Debug)] 354 pub struct IComputerInfoChangeNotify; 355 #[repr(C)] #[derive(Clone, Copy, Debug)] 356 pub struct IFileSystemBindData; 357 #[repr(C)] #[derive(Clone, Copy, Debug)] 358 pub struct IFileSystemBindData2; 359 #[repr(C)] #[derive(Clone, Copy, Debug)] 360 pub struct ICustomDestinationList; 361 #[repr(C)] #[derive(Clone, Copy, Debug)] 362 pub struct IApplicationDestinations; 363 #[repr(C)] #[derive(Clone, Copy, Debug)] 364 pub struct IApplicationDocumentLists; 365 #[repr(C)] #[derive(Clone, Copy, Debug)] 366 pub struct IObjectWithAppUserModelID; 367 #[repr(C)] #[derive(Clone, Copy, Debug)] 368 pub struct IObjectWithProgID; 369 #[repr(C)] #[derive(Clone, Copy, Debug)] 370 pub struct IUpdateIDList; 371 #[repr(C)] #[derive(Clone, Copy, Debug)] 372 pub struct IDesktopGadget; 373 #[repr(C)] #[derive(Clone, Copy, Debug)] 374 pub struct IDesktopWallpaper; 375 #[repr(C)] #[derive(Clone, Copy, Debug)] 376 pub struct IHomeGroup; 377 #[repr(C)] #[derive(Clone, Copy, Debug)] 378 pub struct IInitializeWithPropertyStore; 379 #[repr(C)] #[derive(Clone, Copy, Debug)] 380 pub struct IOpenSearchSource; 381 #[repr(C)] #[derive(Clone, Copy, Debug)] 382 pub struct IShellLibrary; 383 #[repr(C)] #[derive(Clone, Copy, Debug)] 384 pub struct IDefaultFolderMenuInitialize; 385 #[repr(C)] #[derive(Clone, Copy, Debug)] 386 pub struct IApplicationActivationManager; 387 #[repr(C)] #[derive(Clone, Copy, Debug)] 388 pub struct IAssocHandlerInvoker; 389 #[repr(C)] #[derive(Clone, Copy, Debug)] 390 pub struct IAssocHandler; 391 #[repr(C)] #[derive(Clone, Copy, Debug)] 392 pub struct IEnumAssocHandlers; 393 #[repr(C)] #[derive(Clone, Copy, Debug)] 394 pub struct IDataObjectProvider; 395 #[repr(C)] #[derive(Clone, Copy, Debug)] 396 pub struct IDataTransferManagerInterop; 397 #[repr(C)] #[derive(Clone, Copy, Debug)] 398 pub struct IFrameworkInputPaneHandler; 399 #[repr(C)] #[derive(Clone, Copy, Debug)] 400 pub struct IFrameworkInputPane; 401 #[repr(C)] #[derive(Clone, Copy, Debug)] 402 pub struct IAccessibilityDockingServiceCallback; 403 #[repr(C)] #[derive(Clone, Copy, Debug)] 404 pub struct IAccessibilityDockingService; 405 #[repr(C)] #[derive(Clone, Copy, Debug)] 406 pub struct IAppVisibilityEvents; 407 #[repr(C)] #[derive(Clone, Copy, Debug)] 408 pub struct IAppVisibility; 409 #[repr(C)] #[derive(Clone, Copy, Debug)] 410 pub struct IPackageExecutionStateChangeNotification; 411 #[repr(C)] #[derive(Clone, Copy, Debug)] 412 pub struct IPackageDebugSettings; 413 #[repr(C)] #[derive(Clone, Copy, Debug)] 414 pub struct ISuspensionDependencyManager; 415 #[repr(C)] #[derive(Clone, Copy, Debug)] 416 pub struct IExecuteCommandApplicationHostEnvironment; 417 #[repr(C)] #[derive(Clone, Copy, Debug)] 418 pub struct IExecuteCommandHost; 419 #[repr(C)] #[derive(Clone, Copy, Debug)] 420 pub struct IApplicationDesignModeSettings; 421 #[repr(C)] #[derive(Clone, Copy, Debug)] 422 pub struct IApplicationDesignModeSettings2; 423 #[repr(C)] #[derive(Clone, Copy, Debug)] 424 pub struct ILaunchTargetMonitor; 425 #[repr(C)] #[derive(Clone, Copy, Debug)] 426 pub struct ILaunchSourceViewSizePreference; 427 #[repr(C)] #[derive(Clone, Copy, Debug)] 428 pub struct ILaunchTargetViewSizePreference; 429 #[repr(C)] #[derive(Clone, Copy, Debug)] 430 pub struct ILaunchSourceAppUserModelId; 431 #[repr(C)] #[derive(Clone, Copy, Debug)] 432 pub struct IInitializeWithWindow; 433 #[repr(C)] #[derive(Clone, Copy, Debug)] 434 pub struct IHandlerInfo; 435 #[repr(C)] #[derive(Clone, Copy, Debug)] 436 pub struct IHandlerActivationHost; 437 #[repr(C)] #[derive(Clone, Copy, Debug)] 438 pub struct IContactManagerInterop; 439 //4498 440 pub type SFGAOF = ::ULONG; 441 //9466 442 ENUM!{enum SIGDN { 443 SIGDN_NORMALDISPLAY = 0, 444 SIGDN_PARENTRELATIVEPARSING = 0x80018001, 445 SIGDN_DESKTOPABSOLUTEPARSING = 0x80028000, 446 SIGDN_PARENTRELATIVEEDITING = 0x80031001, 447 SIGDN_DESKTOPABSOLUTEEDITING = 0x8004c000, 448 SIGDN_FILESYSPATH = 0x80058000, 449 SIGDN_URL = 0x80068000, 450 SIGDN_PARENTRELATIVEFORADDRESSBAR = 0x8007c001, 451 SIGDN_PARENTRELATIVE = 0x80080001, 452 SIGDN_PARENTRELATIVEFORUI = 0x80094001, 453 }} 454 ENUM!{enum SICHINTF { 455 SICHINT_DISPLAY = 0, 456 SICHINT_ALLFIELDS = 0x80000000, 457 SICHINT_CANONICAL = 0x10000000, 458 SICHINT_TEST_FILESYSPATH_IF_NOT_EQUAL = 0x20000000, 459 }} 460 //9498 461 RIDL!( 462 interface IShellItem(IShellItemVtbl): IUnknown(IUnknownVtbl) { 463 fn BindToHandler( 464 &mut self, pbc: *mut ::IBindCtx, bhid: ::REFGUID, riid: ::REFIID, ppv: *mut *mut ::c_void 465 ) -> ::HRESULT, 466 fn GetParent(&mut self, ppsi: *mut *mut IShellItem) -> ::HRESULT, 467 fn GetDisplayName(&mut self, sigdnName: SIGDN, ppszName: *mut ::LPWSTR) -> ::HRESULT, 468 fn GetAttributes(&mut self, sfgaoMask: SFGAOF, psfgaoAttribs: *mut SFGAOF) -> ::HRESULT, 469 fn Compare(&mut self, psi: *mut IShellItem, hint: SICHINTF, piOrder: *mut ::c_int) -> ::HRESULT 470 } 471 ); 472 //11963 473 pub type IFileOperationProgressSink = ::IUnknown; // TODO 474 pub type IShellItemArray = ::IUnknown; // TODO 475 //20869 476 RIDL!( 477 interface IModalWindow(IModalWindowVtbl): IUnknown(IUnknownVtbl) { 478 fn Show(&mut self, hwndOwner: ::HWND) -> ::HRESULT 479 } 480 ); 481 //22307 482 ENUM!{enum FDE_OVERWRITE_RESPONSE { 483 FDEOR_DEFAULT = 0, 484 FDEOR_ACCEPT = 1, 485 FDEOR_REFUSE = 2, 486 }} 487 ENUM!{enum FDE_SHAREVIOLATION_RESPONSE { 488 FDESVR_DEFAULT = 0, 489 FDESVR_ACCEPT = 1, 490 FDESVR_REFUSE = 2, 491 }} 492 ENUM!{enum FDAP { 493 FDAP_BOTTOM = 0, 494 FDAP_TOP = 1, 495 }} 496 RIDL!( 497 interface IFileDialogEvents(IFileDialogEventsVtbl): IUnknown(IUnknownVtbl) { 498 fn OnFileOk(&mut self, pfd: *mut IFileDialog) -> ::HRESULT, 499 fn OnFolderChanging(&mut self, pfd: *mut IFileDialog, psiFolder: *mut IShellItem) -> ::HRESULT, 500 fn OnFolderChange(&mut self, pfd: *mut IFileDialog) -> ::HRESULT, 501 fn OnSelectionChange(&mut self, pfd: *mut IFileDialog) -> ::HRESULT, 502 fn OnShareViolation( 503 &mut self, pfd: *mut IFileDialog, psi: *mut IShellItem, 504 pResponse: *mut FDE_SHAREVIOLATION_RESPONSE 505 ) -> ::HRESULT, 506 fn OnTypeChange(&mut self, pfd: *mut IFileDialog) -> ::HRESULT, 507 fn OnOverwrite( 508 &mut self, pfd: *mut IFileDialog, psi: *mut IShellItem, 509 pResponse: *mut FDE_OVERWRITE_RESPONSE 510 ) -> ::HRESULT 511 } 512 ); 513 FLAGS!{enum FILEOPENDIALOGOPTIONS { 514 FOS_OVERWRITEPROMPT = 0x2, 515 FOS_STRICTFILETYPES = 0x4, 516 FOS_NOCHANGEDIR = 0x8, 517 FOS_PICKFOLDERS = 0x20, 518 FOS_FORCEFILESYSTEM = 0x40, 519 FOS_ALLNONSTORAGEITEMS = 0x80, 520 FOS_NOVALIDATE = 0x100, 521 FOS_ALLOWMULTISELECT = 0x200, 522 FOS_PATHMUSTEXIST = 0x800, 523 FOS_FILEMUSTEXIST = 0x1000, 524 FOS_CREATEPROMPT = 0x2000, 525 FOS_SHAREAWARE = 0x4000, 526 FOS_NOREADONLYRETURN = 0x8000, 527 FOS_NOTESTFILECREATE = 0x10000, 528 FOS_HIDEMRUPLACES = 0x20000, 529 FOS_HIDEPINNEDPLACES = 0x40000, 530 FOS_NODEREFERENCELINKS = 0x100000, 531 FOS_DONTADDTORECENT = 0x2000000, 532 FOS_FORCESHOWHIDDEN = 0x10000000, 533 FOS_DEFAULTNOMINIMODE = 0x20000000, 534 FOS_FORCEPREVIEWPANEON = 0x40000000, 535 FOS_SUPPORTSTREAMABLEITEMS = 0x80000000, 536 }} 537 RIDL!( 538 interface IFileDialog(IFileDialogVtbl): IModalWindow(IModalWindowVtbl) { 539 fn SetFileTypes( 540 &mut self, cFileTypes: ::UINT, rgFilterSpec: *const ::COMDLG_FILTERSPEC 541 ) -> ::HRESULT, 542 fn SetFileTypeIndex(&mut self, iFileType: ::UINT) -> ::HRESULT, 543 fn GetFileTypeIndex(&mut self, piFileType: *mut ::UINT) -> ::HRESULT, 544 fn Advise(&mut self, pfde: *mut IFileDialogEvents, pdwCookie: *mut ::DWORD) -> ::HRESULT, 545 fn Unadvise(&mut self, dwCookie: ::DWORD) -> ::HRESULT, 546 fn SetOptions(&mut self, fos: FILEOPENDIALOGOPTIONS) -> ::HRESULT, 547 fn GetOptions(&mut self, pfos: *mut FILEOPENDIALOGOPTIONS) -> ::HRESULT, 548 fn SetDefaultFolder(&mut self, psi: *mut IShellItem) -> ::HRESULT, 549 fn SetFolder(&mut self, psi: *mut IShellItem) -> ::HRESULT, 550 fn GetFolder(&mut self, ppsi: *mut *mut IShellItem) -> ::HRESULT, 551 fn GetCurrentSelection(&mut self, ppsi: *mut *mut IShellItem) -> ::HRESULT, 552 fn SetFileName(&mut self, pszName: ::LPCWSTR) -> ::HRESULT, 553 fn GetFileName(&mut self, pszName: *mut ::LPWSTR) -> ::HRESULT, 554 fn SetTitle(&mut self, pszTitle: ::LPCWSTR) -> ::HRESULT, 555 fn SetOkButtonLabel(&mut self, pszText: ::LPCWSTR) -> ::HRESULT, 556 fn SetFileNameLabel(&mut self, pszLabel: ::LPCWSTR) -> ::HRESULT, 557 fn GetResult(&mut self, ppsi: *mut *mut IShellItem) -> ::HRESULT, 558 fn AddPlace(&mut self, psi: *mut IShellItem, fdap: FDAP) -> ::HRESULT, 559 fn SetDefaultExtension(&mut self, pszDefaultExtension: ::LPCWSTR) -> ::HRESULT, 560 fn Close(&mut self, hr: ::HRESULT) -> ::HRESULT, 561 fn SetClientGuid(&mut self, guid: ::REFGUID) -> ::HRESULT, 562 fn ClearClientData(&mut self) -> ::HRESULT, 563 fn SetFilter(&mut self, pFilter: *mut IShellItemFilter) -> ::HRESULT 564 } 565 ); 566 RIDL!( 567 interface IFileSaveDialog(IFileSaveDialogVtbl): IFileDialog(IFileDialogVtbl) { 568 fn SetSaveAsItem(&mut self, psi: *mut IShellItem) -> ::HRESULT, 569 fn SetProperties(&mut self, pStore: *mut ::IPropertyStore) -> ::HRESULT, 570 fn SetCollectedProperties( 571 &mut self, pList: *mut ::IPropertyDescriptionList, fAppendDefault: ::BOOL 572 ) -> ::HRESULT, 573 fn GetProperties(&mut self, ppStore: *mut *mut ::IPropertyStore) -> ::HRESULT, 574 fn ApplyProperties( 575 &mut self, psi: *mut IShellItem, pStore: *mut ::IPropertyStore, hwnd: ::HWND, 576 pSink: *mut IFileOperationProgressSink 577 ) -> ::HRESULT 578 } 579 ); 580 RIDL!( 581 interface IFileOpenDialog(IFileOpenDialogVtbl): IFileDialog(IFileDialogVtbl) { 582 fn GetResults(&mut self, ppenum: *mut *mut IShellItemArray) -> ::HRESULT, 583 fn GetSelectedItems(&mut self, ppsai: *mut *mut IShellItemArray) -> ::HRESULT 584 } 585 ); 586 ENUM!{enum CDCONTROLSTATE { 587 CDCS_INACTIVE = 0x00000000, 588 CDCS_ENABLED = 0x00000001, 589 CDCS_VISIBLE = 0x00000002, 590 CDCS_ENABLEDVISIBLE = 0x00000003, 591 }} 592 RIDL!( 593 interface IFileDialogCustomize(IFileDialogCustomizeVtbl): IUnknown(IUnknownVtbl) { 594 fn EnableOpenDropDown(&mut self, dwIDCtl: ::DWORD) -> ::HRESULT, 595 fn AddMenu(&mut self, dwIDCtl: ::DWORD, pszLabel: ::LPCWSTR) -> ::HRESULT, 596 fn AddPushButton(&mut self, dwIDCtl: ::DWORD, pszLabel: ::LPCWSTR) -> ::HRESULT, 597 fn AddComboBox(&mut self, dwIDCtl: ::DWORD) -> ::HRESULT, 598 fn AddRadioButtonList(&mut self, dwIDCtl: ::DWORD) -> ::HRESULT, 599 fn AddCheckButton( 600 &mut self, dwIDCtl: ::DWORD, pszLabel: ::LPCWSTR, bChecked: ::BOOL 601 ) -> ::HRESULT, 602 fn AddEditBox(&mut self, dwIDCtl: ::DWORD, pszText: ::LPCWSTR) -> ::HRESULT, 603 fn AddSeparator(&mut self, dwIDCtl: ::DWORD) -> ::HRESULT, 604 fn AddText(&mut self, dwIDCtl: ::DWORD, pszText: ::LPCWSTR) -> ::HRESULT, 605 fn SetControlLabel(&mut self, dwIDCtl: ::DWORD, pszLabel: ::LPCWSTR) -> ::HRESULT, 606 fn GetControlState(&mut self, dwIDCtl: ::DWORD, pdwState: *mut CDCONTROLSTATE) -> ::HRESULT, 607 fn SetControlState(&mut self, dwIDCtl: ::DWORD, dwState: CDCONTROLSTATE) -> ::HRESULT, 608 fn GetEditBoxText(&mut self, dwIDCtl: ::DWORD, ppszText: *mut *mut ::WCHAR) -> ::HRESULT, 609 fn SetEditBoxText(&mut self, dwIDCtl: ::DWORD, pszText: ::LPCWSTR) -> ::HRESULT, 610 fn GetCheckButtonState(&mut self, dwIDCtl: ::DWORD, pbChecked: *mut ::BOOL) -> ::HRESULT, 611 fn SetCheckButtonState(&mut self, dwIDCtl: ::DWORD, bChecked: ::BOOL) -> ::HRESULT, 612 fn AddControlItem( 613 &mut self, dwIDCtl: ::DWORD, dwIDItem: ::DWORD, pszLabel: ::LPCWSTR 614 ) -> ::HRESULT, 615 fn RemoveControlItem(&mut self, dwIDCtl: ::DWORD, dwIDItem: ::DWORD) -> ::HRESULT, 616 fn RemoveAllControlItems(&mut self, dwIDCtl: ::DWORD) -> ::HRESULT, 617 fn GetControlItemState( 618 &mut self, dwIDCtl: ::DWORD, dwIDItem: ::DWORD, pdwState: *mut CDCONTROLSTATE 619 ) -> ::HRESULT, 620 fn SetControlItemState( 621 &mut self, dwIDCtl: ::DWORD, dwIDItem: ::DWORD, dwState: CDCONTROLSTATE 622 ) -> ::HRESULT, 623 fn GetSelectedControlItem(&mut self, dwIDCtl: ::DWORD, pdwIDItem: *mut ::DWORD) -> ::HRESULT, 624 fn SetSelectedControlItem(&mut self, dwIDCtl: ::DWORD, dwIDItem: ::DWORD) -> ::HRESULT, 625 fn StartVisualGroup(&mut self, dwIDCtl: ::DWORD, pszLabel: ::LPCWSTR) -> ::HRESULT, 626 fn EndVisualGroup(&mut self) -> ::HRESULT, 627 fn MakeProminent(&mut self, dwIDCtl: ::DWORD) -> ::HRESULT, 628 fn SetControlItemText(&mut self, dwIDCtl: ::DWORD, dwIDItem: ::DWORD, pszLabel: ::LPCWSTR) -> ::HRESULT 629 } 630 ); 631 RIDL!( 632 interface IFileDialogControlEvents(IFileDialogControlEventsVtbl): IUnknown(IUnknownVtbl) { 633 fn OnItemSelected( 634 &mut self, pfdc: *mut IFileDialogCustomize, dwIDCtl: ::DWORD, dwIDItem: ::DWORD 635 ) -> ::HRESULT, 636 fn OnButtonClicked(&mut self, pfdc: *mut IFileDialogCustomize, dwIDCtl: ::DWORD) -> ::HRESULT, 637 fn OnCheckButtonToggled( 638 &mut self, pfdc: *mut IFileDialogCustomize, dwIDCtl: ::DWORD, bChecked: ::BOOL 639 ) -> ::HRESULT, 640 fn OnControlActivating( 641 &mut self, pfdc: *mut IFileDialogCustomize, dwIDCtl: ::DWORD 642 ) -> ::HRESULT 643 } 644 ); 645 RIDL!( 646 interface IFileDialog2(IFileDialog2Vtbl): IFileDialog(IFileDialogVtbl) { 647 fn SetCancelButtonLabel(&mut self, pszLabel: ::LPCWSTR) -> ::HRESULT, 648 fn SetNavigationRoot(&mut self, psi: IShellItem) -> ::HRESULT 649 } 650 ); 651 //27457 652 pub type IShellItemFilter = ::IUnknown; // TODO 653