blob: 7c60452a9112d0b527b6d438d8b487fe6a0a76bc [file] [log] [blame]
/*** Autogenerated by WIDL 4.12.1 from include/shobjidl.idl - Do not edit ***/
#ifdef _WIN32
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif
#include <rpc.h>
#include <rpcndr.h>
#endif
#ifndef COM_NO_WINDOWS_H
#include <windows.h>
#include <ole2.h>
#endif
#ifndef __shobjidl_h__
#define __shobjidl_h__
/* Forward declarations */
#ifndef __IContextMenu_FWD_DEFINED__
#define __IContextMenu_FWD_DEFINED__
typedef interface IContextMenu IContextMenu;
#ifdef __cplusplus
interface IContextMenu;
#endif /* __cplusplus */
#endif
#ifndef __IContextMenu2_FWD_DEFINED__
#define __IContextMenu2_FWD_DEFINED__
typedef interface IContextMenu2 IContextMenu2;
#ifdef __cplusplus
interface IContextMenu2;
#endif /* __cplusplus */
#endif
#ifndef __IContextMenu3_FWD_DEFINED__
#define __IContextMenu3_FWD_DEFINED__
typedef interface IContextMenu3 IContextMenu3;
#ifdef __cplusplus
interface IContextMenu3;
#endif /* __cplusplus */
#endif
#ifndef __IExecuteCommand_FWD_DEFINED__
#define __IExecuteCommand_FWD_DEFINED__
typedef interface IExecuteCommand IExecuteCommand;
#ifdef __cplusplus
interface IExecuteCommand;
#endif /* __cplusplus */
#endif
#ifndef __IPersistFolder_FWD_DEFINED__
#define __IPersistFolder_FWD_DEFINED__
typedef interface IPersistFolder IPersistFolder;
#ifdef __cplusplus
interface IPersistFolder;
#endif /* __cplusplus */
#endif
#ifndef __IRunnableTask_FWD_DEFINED__
#define __IRunnableTask_FWD_DEFINED__
typedef interface IRunnableTask IRunnableTask;
#ifdef __cplusplus
interface IRunnableTask;
#endif /* __cplusplus */
#endif
#ifndef __IShellTaskScheduler_FWD_DEFINED__
#define __IShellTaskScheduler_FWD_DEFINED__
typedef interface IShellTaskScheduler IShellTaskScheduler;
#ifdef __cplusplus
interface IShellTaskScheduler;
#endif /* __cplusplus */
#endif
#ifndef __IQueryCodePage_FWD_DEFINED__
#define __IQueryCodePage_FWD_DEFINED__
typedef interface IQueryCodePage IQueryCodePage;
#ifdef __cplusplus
interface IQueryCodePage;
#endif /* __cplusplus */
#endif
#ifndef __IPersistFolder2_FWD_DEFINED__
#define __IPersistFolder2_FWD_DEFINED__
typedef interface IPersistFolder2 IPersistFolder2;
#ifdef __cplusplus
interface IPersistFolder2;
#endif /* __cplusplus */
#endif
#ifndef __IPersistFolder3_FWD_DEFINED__
#define __IPersistFolder3_FWD_DEFINED__
typedef interface IPersistFolder3 IPersistFolder3;
#ifdef __cplusplus
interface IPersistFolder3;
#endif /* __cplusplus */
#endif
#ifndef __IPersistIDList_FWD_DEFINED__
#define __IPersistIDList_FWD_DEFINED__
typedef interface IPersistIDList IPersistIDList;
#ifdef __cplusplus
interface IPersistIDList;
#endif /* __cplusplus */
#endif
#ifndef __IEnumIDList_FWD_DEFINED__
#define __IEnumIDList_FWD_DEFINED__
typedef interface IEnumIDList IEnumIDList;
#ifdef __cplusplus
interface IEnumIDList;
#endif /* __cplusplus */
#endif
#ifndef __IEnumFullIDList_FWD_DEFINED__
#define __IEnumFullIDList_FWD_DEFINED__
typedef interface IEnumFullIDList IEnumFullIDList;
#ifdef __cplusplus
interface IEnumFullIDList;
#endif /* __cplusplus */
#endif
#ifndef __IObjectWithFolderEnumMode_FWD_DEFINED__
#define __IObjectWithFolderEnumMode_FWD_DEFINED__
typedef interface IObjectWithFolderEnumMode IObjectWithFolderEnumMode;
#ifdef __cplusplus
interface IObjectWithFolderEnumMode;
#endif /* __cplusplus */
#endif
#ifndef __IParseAndCreateItem_FWD_DEFINED__
#define __IParseAndCreateItem_FWD_DEFINED__
typedef interface IParseAndCreateItem IParseAndCreateItem;
#ifdef __cplusplus
interface IParseAndCreateItem;
#endif /* __cplusplus */
#endif
#ifndef __IShellFolder_FWD_DEFINED__
#define __IShellFolder_FWD_DEFINED__
typedef interface IShellFolder IShellFolder;
#ifdef __cplusplus
interface IShellFolder;
#endif /* __cplusplus */
#endif
#ifndef __IEnumExtraSearch_FWD_DEFINED__
#define __IEnumExtraSearch_FWD_DEFINED__
typedef interface IEnumExtraSearch IEnumExtraSearch;
#ifdef __cplusplus
interface IEnumExtraSearch;
#endif /* __cplusplus */
#endif
#ifndef __IShellFolder2_FWD_DEFINED__
#define __IShellFolder2_FWD_DEFINED__
typedef interface IShellFolder2 IShellFolder2;
#ifdef __cplusplus
interface IShellFolder2;
#endif /* __cplusplus */
#endif
#ifndef __IFolderViewOptions_FWD_DEFINED__
#define __IFolderViewOptions_FWD_DEFINED__
typedef interface IFolderViewOptions IFolderViewOptions;
#ifdef __cplusplus
interface IFolderViewOptions;
#endif /* __cplusplus */
#endif
#ifndef __IShellView_FWD_DEFINED__
#define __IShellView_FWD_DEFINED__
typedef interface IShellView IShellView;
#ifdef __cplusplus
interface IShellView;
#endif /* __cplusplus */
#endif
#ifndef __IShellView2_FWD_DEFINED__
#define __IShellView2_FWD_DEFINED__
typedef interface IShellView2 IShellView2;
#ifdef __cplusplus
interface IShellView2;
#endif /* __cplusplus */
#endif
#ifndef __IShellView3_FWD_DEFINED__
#define __IShellView3_FWD_DEFINED__
typedef interface IShellView3 IShellView3;
#ifdef __cplusplus
interface IShellView3;
#endif /* __cplusplus */
#endif
#ifndef __IFolderView_FWD_DEFINED__
#define __IFolderView_FWD_DEFINED__
typedef interface IFolderView IFolderView;
#ifdef __cplusplus
interface IFolderView;
#endif /* __cplusplus */
#endif
#ifndef __ISearchBoxInfo_FWD_DEFINED__
#define __ISearchBoxInfo_FWD_DEFINED__
typedef interface ISearchBoxInfo ISearchBoxInfo;
#ifdef __cplusplus
interface ISearchBoxInfo;
#endif /* __cplusplus */
#endif
#ifndef __IFolderView2_FWD_DEFINED__
#define __IFolderView2_FWD_DEFINED__
typedef interface IFolderView2 IFolderView2;
#ifdef __cplusplus
interface IFolderView2;
#endif /* __cplusplus */
#endif
#ifndef __IFolderViewSettings_FWD_DEFINED__
#define __IFolderViewSettings_FWD_DEFINED__
typedef interface IFolderViewSettings IFolderViewSettings;
#ifdef __cplusplus
interface IFolderViewSettings;
#endif /* __cplusplus */
#endif
#ifndef __IPreviewHandlerVisuals_FWD_DEFINED__
#define __IPreviewHandlerVisuals_FWD_DEFINED__
typedef interface IPreviewHandlerVisuals IPreviewHandlerVisuals;
#ifdef __cplusplus
interface IPreviewHandlerVisuals;
#endif /* __cplusplus */
#endif
#ifndef __IVisualProperties_FWD_DEFINED__
#define __IVisualProperties_FWD_DEFINED__
typedef interface IVisualProperties IVisualProperties;
#ifdef __cplusplus
interface IVisualProperties;
#endif /* __cplusplus */
#endif
#ifndef __ICommDlgBrowser_FWD_DEFINED__
#define __ICommDlgBrowser_FWD_DEFINED__
typedef interface ICommDlgBrowser ICommDlgBrowser;
#ifdef __cplusplus
interface ICommDlgBrowser;
#endif /* __cplusplus */
#endif
#ifndef __ICommDlgBrowser2_FWD_DEFINED__
#define __ICommDlgBrowser2_FWD_DEFINED__
typedef interface ICommDlgBrowser2 ICommDlgBrowser2;
#ifdef __cplusplus
interface ICommDlgBrowser2;
#endif /* __cplusplus */
#endif
#ifndef __ICommDlgBrowser3_FWD_DEFINED__
#define __ICommDlgBrowser3_FWD_DEFINED__
typedef interface ICommDlgBrowser3 ICommDlgBrowser3;
#ifdef __cplusplus
interface ICommDlgBrowser3;
#endif /* __cplusplus */
#endif
#ifndef __IColumnManager_FWD_DEFINED__
#define __IColumnManager_FWD_DEFINED__
typedef interface IColumnManager IColumnManager;
#ifdef __cplusplus
interface IColumnManager;
#endif /* __cplusplus */
#endif
#ifndef __IFolderFilterSite_FWD_DEFINED__
#define __IFolderFilterSite_FWD_DEFINED__
typedef interface IFolderFilterSite IFolderFilterSite;
#ifdef __cplusplus
interface IFolderFilterSite;
#endif /* __cplusplus */
#endif
#ifndef __IFolderFilter_FWD_DEFINED__
#define __IFolderFilter_FWD_DEFINED__
typedef interface IFolderFilter IFolderFilter;
#ifdef __cplusplus
interface IFolderFilter;
#endif /* __cplusplus */
#endif
#ifndef __IInputObjectSite_FWD_DEFINED__
#define __IInputObjectSite_FWD_DEFINED__
typedef interface IInputObjectSite IInputObjectSite;
#ifdef __cplusplus
interface IInputObjectSite;
#endif /* __cplusplus */
#endif
#ifndef __IInputObject_FWD_DEFINED__
#define __IInputObject_FWD_DEFINED__
typedef interface IInputObject IInputObject;
#ifdef __cplusplus
interface IInputObject;
#endif /* __cplusplus */
#endif
#ifndef __IInputObject2_FWD_DEFINED__
#define __IInputObject2_FWD_DEFINED__
typedef interface IInputObject2 IInputObject2;
#ifdef __cplusplus
interface IInputObject2;
#endif /* __cplusplus */
#endif
#ifndef __IShellIcon_FWD_DEFINED__
#define __IShellIcon_FWD_DEFINED__
typedef interface IShellIcon IShellIcon;
#ifdef __cplusplus
interface IShellIcon;
#endif /* __cplusplus */
#endif
#ifndef __IShellBrowser_FWD_DEFINED__
#define __IShellBrowser_FWD_DEFINED__
typedef interface IShellBrowser IShellBrowser;
#ifdef __cplusplus
interface IShellBrowser;
#endif /* __cplusplus */
#endif
#ifndef __IProfferService_FWD_DEFINED__
#define __IProfferService_FWD_DEFINED__
typedef interface IProfferService IProfferService;
#ifdef __cplusplus
interface IProfferService;
#endif /* __cplusplus */
#endif
#ifndef __IShellItem_FWD_DEFINED__
#define __IShellItem_FWD_DEFINED__
typedef interface IShellItem IShellItem;
#ifdef __cplusplus
interface IShellItem;
#endif /* __cplusplus */
#endif
#ifndef __IShellItem2_FWD_DEFINED__
#define __IShellItem2_FWD_DEFINED__
typedef interface IShellItem2 IShellItem2;
#ifdef __cplusplus
interface IShellItem2;
#endif /* __cplusplus */
#endif
#ifndef __IShellItemImageFactory_FWD_DEFINED__
#define __IShellItemImageFactory_FWD_DEFINED__
typedef interface IShellItemImageFactory IShellItemImageFactory;
#ifdef __cplusplus
interface IShellItemImageFactory;
#endif /* __cplusplus */
#endif
#ifndef __IUserAccountChangeCallback_FWD_DEFINED__
#define __IUserAccountChangeCallback_FWD_DEFINED__
typedef interface IUserAccountChangeCallback IUserAccountChangeCallback;
#ifdef __cplusplus
interface IUserAccountChangeCallback;
#endif /* __cplusplus */
#endif
#ifndef __IEnumShellItems_FWD_DEFINED__
#define __IEnumShellItems_FWD_DEFINED__
typedef interface IEnumShellItems IEnumShellItems;
#ifdef __cplusplus
interface IEnumShellItems;
#endif /* __cplusplus */
#endif
#ifndef __ITransferAdviseSink_FWD_DEFINED__
#define __ITransferAdviseSink_FWD_DEFINED__
typedef interface ITransferAdviseSink ITransferAdviseSink;
#ifdef __cplusplus
interface ITransferAdviseSink;
#endif /* __cplusplus */
#endif
#ifndef __ITransferSource_FWD_DEFINED__
#define __ITransferSource_FWD_DEFINED__
typedef interface ITransferSource ITransferSource;
#ifdef __cplusplus
interface ITransferSource;
#endif /* __cplusplus */
#endif
#ifndef __IEnumResources_FWD_DEFINED__
#define __IEnumResources_FWD_DEFINED__
typedef interface IEnumResources IEnumResources;
#ifdef __cplusplus
interface IEnumResources;
#endif /* __cplusplus */
#endif
#ifndef __IShellItemResources_FWD_DEFINED__
#define __IShellItemResources_FWD_DEFINED__
typedef interface IShellItemResources IShellItemResources;
#ifdef __cplusplus
interface IShellItemResources;
#endif /* __cplusplus */
#endif
#ifndef __ITransferDestination_FWD_DEFINED__
#define __ITransferDestination_FWD_DEFINED__
typedef interface ITransferDestination ITransferDestination;
#ifdef __cplusplus
interface ITransferDestination;
#endif /* __cplusplus */
#endif
#ifndef __IStreamAsync_FWD_DEFINED__
#define __IStreamAsync_FWD_DEFINED__
typedef interface IStreamAsync IStreamAsync;
#ifdef __cplusplus
interface IStreamAsync;
#endif /* __cplusplus */
#endif
#ifndef __IStreamUnbufferedInfo_FWD_DEFINED__
#define __IStreamUnbufferedInfo_FWD_DEFINED__
typedef interface IStreamUnbufferedInfo IStreamUnbufferedInfo;
#ifdef __cplusplus
interface IStreamUnbufferedInfo;
#endif /* __cplusplus */
#endif
#ifndef __IFileOperationProgressSink_FWD_DEFINED__
#define __IFileOperationProgressSink_FWD_DEFINED__
typedef interface IFileOperationProgressSink IFileOperationProgressSink;
#ifdef __cplusplus
interface IFileOperationProgressSink;
#endif /* __cplusplus */
#endif
#ifndef __IShellItemArray_FWD_DEFINED__
#define __IShellItemArray_FWD_DEFINED__
typedef interface IShellItemArray IShellItemArray;
#ifdef __cplusplus
interface IShellItemArray;
#endif /* __cplusplus */
#endif
#ifndef __IInitializeWithItem_FWD_DEFINED__
#define __IInitializeWithItem_FWD_DEFINED__
typedef interface IInitializeWithItem IInitializeWithItem;
#ifdef __cplusplus
interface IInitializeWithItem;
#endif /* __cplusplus */
#endif
#ifndef __IObjectWithSelection_FWD_DEFINED__
#define __IObjectWithSelection_FWD_DEFINED__
typedef interface IObjectWithSelection IObjectWithSelection;
#ifdef __cplusplus
interface IObjectWithSelection;
#endif /* __cplusplus */
#endif
#ifndef __IObjectWithBackReferences_FWD_DEFINED__
#define __IObjectWithBackReferences_FWD_DEFINED__
typedef interface IObjectWithBackReferences IObjectWithBackReferences;
#ifdef __cplusplus
interface IObjectWithBackReferences;
#endif /* __cplusplus */
#endif
#ifndef __IPropertyUI_FWD_DEFINED__
#define __IPropertyUI_FWD_DEFINED__
typedef interface IPropertyUI IPropertyUI;
#ifdef __cplusplus
interface IPropertyUI;
#endif /* __cplusplus */
#endif
#ifndef __ICategoryProvider_FWD_DEFINED__
#define __ICategoryProvider_FWD_DEFINED__
typedef interface ICategoryProvider ICategoryProvider;
#ifdef __cplusplus
interface ICategoryProvider;
#endif /* __cplusplus */
#endif
#ifndef __ICategorizer_FWD_DEFINED__
#define __ICategorizer_FWD_DEFINED__
typedef interface ICategorizer ICategorizer;
#ifdef __cplusplus
interface ICategorizer;
#endif /* __cplusplus */
#endif
#ifndef __IDropTargetHelper_FWD_DEFINED__
#define __IDropTargetHelper_FWD_DEFINED__
typedef interface IDropTargetHelper IDropTargetHelper;
#ifdef __cplusplus
interface IDropTargetHelper;
#endif /* __cplusplus */
#endif
#ifndef __IDragSourceHelper_FWD_DEFINED__
#define __IDragSourceHelper_FWD_DEFINED__
typedef interface IDragSourceHelper IDragSourceHelper;
#ifdef __cplusplus
interface IDragSourceHelper;
#endif /* __cplusplus */
#endif
#ifndef __IDragSourceHelper2_FWD_DEFINED__
#define __IDragSourceHelper2_FWD_DEFINED__
typedef interface IDragSourceHelper2 IDragSourceHelper2;
#ifdef __cplusplus
interface IDragSourceHelper2;
#endif /* __cplusplus */
#endif
#ifndef __IShellLinkA_FWD_DEFINED__
#define __IShellLinkA_FWD_DEFINED__
typedef interface IShellLinkA IShellLinkA;
#ifdef __cplusplus
interface IShellLinkA;
#endif /* __cplusplus */
#endif
#ifndef __IShellLinkW_FWD_DEFINED__
#define __IShellLinkW_FWD_DEFINED__
typedef interface IShellLinkW IShellLinkW;
#ifdef __cplusplus
interface IShellLinkW;
#endif /* __cplusplus */
#endif
#ifndef __IShellLinkDataList_FWD_DEFINED__
#define __IShellLinkDataList_FWD_DEFINED__
typedef interface IShellLinkDataList IShellLinkDataList;
#ifdef __cplusplus
interface IShellLinkDataList;
#endif /* __cplusplus */
#endif
#ifndef __IResolveShellLink_FWD_DEFINED__
#define __IResolveShellLink_FWD_DEFINED__
typedef interface IResolveShellLink IResolveShellLink;
#ifdef __cplusplus
interface IResolveShellLink;
#endif /* __cplusplus */
#endif
#ifndef __IActionProgressDialog_FWD_DEFINED__
#define __IActionProgressDialog_FWD_DEFINED__
typedef interface IActionProgressDialog IActionProgressDialog;
#ifdef __cplusplus
interface IActionProgressDialog;
#endif /* __cplusplus */
#endif
#ifndef __IHWEventHandler_FWD_DEFINED__
#define __IHWEventHandler_FWD_DEFINED__
typedef interface IHWEventHandler IHWEventHandler;
#ifdef __cplusplus
interface IHWEventHandler;
#endif /* __cplusplus */
#endif
#ifndef __IHWEventHandler2_FWD_DEFINED__
#define __IHWEventHandler2_FWD_DEFINED__
typedef interface IHWEventHandler2 IHWEventHandler2;
#ifdef __cplusplus
interface IHWEventHandler2;
#endif /* __cplusplus */
#endif
#ifndef __IQueryCancelAutoPlay_FWD_DEFINED__
#define __IQueryCancelAutoPlay_FWD_DEFINED__
typedef interface IQueryCancelAutoPlay IQueryCancelAutoPlay;
#ifdef __cplusplus
interface IQueryCancelAutoPlay;
#endif /* __cplusplus */
#endif
#ifndef __IDynamicHWHandler_FWD_DEFINED__
#define __IDynamicHWHandler_FWD_DEFINED__
typedef interface IDynamicHWHandler IDynamicHWHandler;
#ifdef __cplusplus
interface IDynamicHWHandler;
#endif /* __cplusplus */
#endif
#ifndef __IActionProgress_FWD_DEFINED__
#define __IActionProgress_FWD_DEFINED__
typedef interface IActionProgress IActionProgress;
#ifdef __cplusplus
interface IActionProgress;
#endif /* __cplusplus */
#endif
#ifndef __IShellExtInit_FWD_DEFINED__
#define __IShellExtInit_FWD_DEFINED__
typedef interface IShellExtInit IShellExtInit;
#ifdef __cplusplus
interface IShellExtInit;
#endif /* __cplusplus */
#endif
#ifndef __IShellPropSheetExt_FWD_DEFINED__
#define __IShellPropSheetExt_FWD_DEFINED__
typedef interface IShellPropSheetExt IShellPropSheetExt;
#ifdef __cplusplus
interface IShellPropSheetExt;
#endif /* __cplusplus */
#endif
#ifndef __IRemoteComputer_FWD_DEFINED__
#define __IRemoteComputer_FWD_DEFINED__
typedef interface IRemoteComputer IRemoteComputer;
#ifdef __cplusplus
interface IRemoteComputer;
#endif /* __cplusplus */
#endif
#ifndef __IQueryContinue_FWD_DEFINED__
#define __IQueryContinue_FWD_DEFINED__
typedef interface IQueryContinue IQueryContinue;
#ifdef __cplusplus
interface IQueryContinue;
#endif /* __cplusplus */
#endif
#ifndef __IObjectWithCancelEvent_FWD_DEFINED__
#define __IObjectWithCancelEvent_FWD_DEFINED__
typedef interface IObjectWithCancelEvent IObjectWithCancelEvent;
#ifdef __cplusplus
interface IObjectWithCancelEvent;
#endif /* __cplusplus */
#endif
#ifndef __IUserNotification_FWD_DEFINED__
#define __IUserNotification_FWD_DEFINED__
typedef interface IUserNotification IUserNotification;
#ifdef __cplusplus
interface IUserNotification;
#endif /* __cplusplus */
#endif
#ifndef __IUserNotificationCallback_FWD_DEFINED__
#define __IUserNotificationCallback_FWD_DEFINED__
typedef interface IUserNotificationCallback IUserNotificationCallback;
#ifdef __cplusplus
interface IUserNotificationCallback;
#endif /* __cplusplus */
#endif
#ifndef __IUserNotification2_FWD_DEFINED__
#define __IUserNotification2_FWD_DEFINED__
typedef interface IUserNotification2 IUserNotification2;
#ifdef __cplusplus
interface IUserNotification2;
#endif /* __cplusplus */
#endif
#ifndef __IItemNameLimits_FWD_DEFINED__
#define __IItemNameLimits_FWD_DEFINED__
typedef interface IItemNameLimits IItemNameLimits;
#ifdef __cplusplus
interface IItemNameLimits;
#endif /* __cplusplus */
#endif
#ifndef __ISearchFolderItemFactory_FWD_DEFINED__
#define __ISearchFolderItemFactory_FWD_DEFINED__
typedef interface ISearchFolderItemFactory ISearchFolderItemFactory;
#ifdef __cplusplus
interface ISearchFolderItemFactory;
#endif /* __cplusplus */
#endif
#ifndef __IExtractImage_FWD_DEFINED__
#define __IExtractImage_FWD_DEFINED__
typedef interface IExtractImage IExtractImage;
#ifdef __cplusplus
interface IExtractImage;
#endif /* __cplusplus */
#endif
#ifndef __IExtractImage2_FWD_DEFINED__
#define __IExtractImage2_FWD_DEFINED__
typedef interface IExtractImage2 IExtractImage2;
#ifdef __cplusplus
interface IExtractImage2;
#endif /* __cplusplus */
#endif
#ifndef __IThumbnailHandlerFactory_FWD_DEFINED__
#define __IThumbnailHandlerFactory_FWD_DEFINED__
typedef interface IThumbnailHandlerFactory IThumbnailHandlerFactory;
#ifdef __cplusplus
interface IThumbnailHandlerFactory;
#endif /* __cplusplus */
#endif
#ifndef __IParentAndItem_FWD_DEFINED__
#define __IParentAndItem_FWD_DEFINED__
typedef interface IParentAndItem IParentAndItem;
#ifdef __cplusplus
interface IParentAndItem;
#endif /* __cplusplus */
#endif
#ifndef __IDockingWindow_FWD_DEFINED__
#define __IDockingWindow_FWD_DEFINED__
typedef interface IDockingWindow IDockingWindow;
#ifdef __cplusplus
interface IDockingWindow;
#endif /* __cplusplus */
#endif
#ifndef __IDeskBand_FWD_DEFINED__
#define __IDeskBand_FWD_DEFINED__
typedef interface IDeskBand IDeskBand;
#ifdef __cplusplus
interface IDeskBand;
#endif /* __cplusplus */
#endif
#ifndef __IDeskBandInfo_FWD_DEFINED__
#define __IDeskBandInfo_FWD_DEFINED__
typedef interface IDeskBandInfo IDeskBandInfo;
#ifdef __cplusplus
interface IDeskBandInfo;
#endif /* __cplusplus */
#endif
#ifndef __IDeskBand2_FWD_DEFINED__
#define __IDeskBand2_FWD_DEFINED__
typedef interface IDeskBand2 IDeskBand2;
#ifdef __cplusplus
interface IDeskBand2;
#endif /* __cplusplus */
#endif
#ifndef __ITaskbarList_FWD_DEFINED__
#define __ITaskbarList_FWD_DEFINED__
typedef interface ITaskbarList ITaskbarList;
#ifdef __cplusplus
interface ITaskbarList;
#endif /* __cplusplus */
#endif
#ifndef __ITaskbarList2_FWD_DEFINED__
#define __ITaskbarList2_FWD_DEFINED__
typedef interface ITaskbarList2 ITaskbarList2;
#ifdef __cplusplus
interface ITaskbarList2;
#endif /* __cplusplus */
#endif
#ifndef __ITaskbarList3_FWD_DEFINED__
#define __ITaskbarList3_FWD_DEFINED__
typedef interface ITaskbarList3 ITaskbarList3;
#ifdef __cplusplus
interface ITaskbarList3;
#endif /* __cplusplus */
#endif
#ifndef __ITaskbarList4_FWD_DEFINED__
#define __ITaskbarList4_FWD_DEFINED__
typedef interface ITaskbarList4 ITaskbarList4;
#ifdef __cplusplus
interface ITaskbarList4;
#endif /* __cplusplus */
#endif
#ifndef __IStartMenuPinnedList_FWD_DEFINED__
#define __IStartMenuPinnedList_FWD_DEFINED__
typedef interface IStartMenuPinnedList IStartMenuPinnedList;
#ifdef __cplusplus
interface IStartMenuPinnedList;
#endif /* __cplusplus */
#endif
#ifndef __ICDBurn_FWD_DEFINED__
#define __ICDBurn_FWD_DEFINED__
typedef interface ICDBurn ICDBurn;
#ifdef __cplusplus
interface ICDBurn;
#endif /* __cplusplus */
#endif
#ifndef __IWizardSite_FWD_DEFINED__
#define __IWizardSite_FWD_DEFINED__
typedef interface IWizardSite IWizardSite;
#ifdef __cplusplus
interface IWizardSite;
#endif /* __cplusplus */
#endif
#ifndef __IWizardExtension_FWD_DEFINED__
#define __IWizardExtension_FWD_DEFINED__
typedef interface IWizardExtension IWizardExtension;
#ifdef __cplusplus
interface IWizardExtension;
#endif /* __cplusplus */
#endif
#ifndef __IWebWizardExtension_FWD_DEFINED__
#define __IWebWizardExtension_FWD_DEFINED__
typedef interface IWebWizardExtension IWebWizardExtension;
#ifdef __cplusplus
interface IWebWizardExtension;
#endif /* __cplusplus */
#endif
#ifndef __IPublishingWizard_FWD_DEFINED__
#define __IPublishingWizard_FWD_DEFINED__
typedef interface IPublishingWizard IPublishingWizard;
#ifdef __cplusplus
interface IPublishingWizard;
#endif /* __cplusplus */
#endif
#ifndef __IFolderViewHost_FWD_DEFINED__
#define __IFolderViewHost_FWD_DEFINED__
typedef interface IFolderViewHost IFolderViewHost;
#ifdef __cplusplus
interface IFolderViewHost;
#endif /* __cplusplus */
#endif
#ifndef __IExplorerBrowserEvents_FWD_DEFINED__
#define __IExplorerBrowserEvents_FWD_DEFINED__
typedef interface IExplorerBrowserEvents IExplorerBrowserEvents;
#ifdef __cplusplus
interface IExplorerBrowserEvents;
#endif /* __cplusplus */
#endif
#ifndef __IExplorerBrowser_FWD_DEFINED__
#define __IExplorerBrowser_FWD_DEFINED__
typedef interface IExplorerBrowser IExplorerBrowser;
#ifdef __cplusplus
interface IExplorerBrowser;
#endif /* __cplusplus */
#endif
#ifndef __IAccessibleObject_FWD_DEFINED__
#define __IAccessibleObject_FWD_DEFINED__
typedef interface IAccessibleObject IAccessibleObject;
#ifdef __cplusplus
interface IAccessibleObject;
#endif /* __cplusplus */
#endif
#ifndef __IResultsFolder_FWD_DEFINED__
#define __IResultsFolder_FWD_DEFINED__
typedef interface IResultsFolder IResultsFolder;
#ifdef __cplusplus
interface IResultsFolder;
#endif /* __cplusplus */
#endif
#ifndef __IEnumObjects_FWD_DEFINED__
#define __IEnumObjects_FWD_DEFINED__
typedef interface IEnumObjects IEnumObjects;
#ifdef __cplusplus
interface IEnumObjects;
#endif /* __cplusplus */
#endif
#ifndef __IOperationsProgressDialog_FWD_DEFINED__
#define __IOperationsProgressDialog_FWD_DEFINED__
typedef interface IOperationsProgressDialog IOperationsProgressDialog;
#ifdef __cplusplus
interface IOperationsProgressDialog;
#endif /* __cplusplus */
#endif
#ifndef __IIOCancelInformation_FWD_DEFINED__
#define __IIOCancelInformation_FWD_DEFINED__
typedef interface IIOCancelInformation IIOCancelInformation;
#ifdef __cplusplus
interface IIOCancelInformation;
#endif /* __cplusplus */
#endif
#ifndef __IFileOperation_FWD_DEFINED__
#define __IFileOperation_FWD_DEFINED__
typedef interface IFileOperation IFileOperation;
#ifdef __cplusplus
interface IFileOperation;
#endif /* __cplusplus */
#endif
#ifndef __IObjectProvider_FWD_DEFINED__
#define __IObjectProvider_FWD_DEFINED__
typedef interface IObjectProvider IObjectProvider;
#ifdef __cplusplus
interface IObjectProvider;
#endif /* __cplusplus */
#endif
#ifndef __INamespaceWalkCB_FWD_DEFINED__
#define __INamespaceWalkCB_FWD_DEFINED__
typedef interface INamespaceWalkCB INamespaceWalkCB;
#ifdef __cplusplus
interface INamespaceWalkCB;
#endif /* __cplusplus */
#endif
#ifndef __INamespaceWalkCB2_FWD_DEFINED__
#define __INamespaceWalkCB2_FWD_DEFINED__
typedef interface INamespaceWalkCB2 INamespaceWalkCB2;
#ifdef __cplusplus
interface INamespaceWalkCB2;
#endif /* __cplusplus */
#endif
#ifndef __INamespaceWalk_FWD_DEFINED__
#define __INamespaceWalk_FWD_DEFINED__
typedef interface INamespaceWalk INamespaceWalk;
#ifdef __cplusplus
interface INamespaceWalk;
#endif /* __cplusplus */
#endif
#ifndef __IAutoCompleteDropDown_FWD_DEFINED__
#define __IAutoCompleteDropDown_FWD_DEFINED__
typedef interface IAutoCompleteDropDown IAutoCompleteDropDown;
#ifdef __cplusplus
interface IAutoCompleteDropDown;
#endif /* __cplusplus */
#endif
#ifndef __IBandSite_FWD_DEFINED__
#define __IBandSite_FWD_DEFINED__
typedef interface IBandSite IBandSite;
#ifdef __cplusplus
interface IBandSite;
#endif /* __cplusplus */
#endif
#ifndef __IModalWindow_FWD_DEFINED__
#define __IModalWindow_FWD_DEFINED__
typedef interface IModalWindow IModalWindow;
#ifdef __cplusplus
interface IModalWindow;
#endif /* __cplusplus */
#endif
#ifndef __ICDBurnExt_FWD_DEFINED__
#define __ICDBurnExt_FWD_DEFINED__
typedef interface ICDBurnExt ICDBurnExt;
#ifdef __cplusplus
interface ICDBurnExt;
#endif /* __cplusplus */
#endif
#ifndef __IContextMenuSite_FWD_DEFINED__
#define __IContextMenuSite_FWD_DEFINED__
typedef interface IContextMenuSite IContextMenuSite;
#ifdef __cplusplus
interface IContextMenuSite;
#endif /* __cplusplus */
#endif
#ifndef __IEnumReadyCallback_FWD_DEFINED__
#define __IEnumReadyCallback_FWD_DEFINED__
typedef interface IEnumReadyCallback IEnumReadyCallback;
#ifdef __cplusplus
interface IEnumReadyCallback;
#endif /* __cplusplus */
#endif
#ifndef __IEnumerableView_FWD_DEFINED__
#define __IEnumerableView_FWD_DEFINED__
typedef interface IEnumerableView IEnumerableView;
#ifdef __cplusplus
interface IEnumerableView;
#endif /* __cplusplus */
#endif
#ifndef __IInsertItem_FWD_DEFINED__
#define __IInsertItem_FWD_DEFINED__
typedef interface IInsertItem IInsertItem;
#ifdef __cplusplus
interface IInsertItem;
#endif /* __cplusplus */
#endif
#ifndef __IMenuBand_FWD_DEFINED__
#define __IMenuBand_FWD_DEFINED__
typedef interface IMenuBand IMenuBand;
#ifdef __cplusplus
interface IMenuBand;
#endif /* __cplusplus */
#endif
#ifndef __IFolderBandPriv_FWD_DEFINED__
#define __IFolderBandPriv_FWD_DEFINED__
typedef interface IFolderBandPriv IFolderBandPriv;
#ifdef __cplusplus
interface IFolderBandPriv;
#endif /* __cplusplus */
#endif
#ifndef __IRegTreeItem_FWD_DEFINED__
#define __IRegTreeItem_FWD_DEFINED__
typedef interface IRegTreeItem IRegTreeItem;
#ifdef __cplusplus
interface IRegTreeItem;
#endif /* __cplusplus */
#endif
#ifndef __IImageRecompress_FWD_DEFINED__
#define __IImageRecompress_FWD_DEFINED__
typedef interface IImageRecompress IImageRecompress;
#ifdef __cplusplus
interface IImageRecompress;
#endif /* __cplusplus */
#endif
#ifndef __IDeskBar_FWD_DEFINED__
#define __IDeskBar_FWD_DEFINED__
typedef interface IDeskBar IDeskBar;
#ifdef __cplusplus
interface IDeskBar;
#endif /* __cplusplus */
#endif
#ifndef __IMenuPopup_FWD_DEFINED__
#define __IMenuPopup_FWD_DEFINED__
typedef interface IMenuPopup IMenuPopup;
#ifdef __cplusplus
interface IMenuPopup;
#endif /* __cplusplus */
#endif
#ifndef __IFileIsInUse_FWD_DEFINED__
#define __IFileIsInUse_FWD_DEFINED__
typedef interface IFileIsInUse IFileIsInUse;
#ifdef __cplusplus
interface IFileIsInUse;
#endif /* __cplusplus */
#endif
#ifndef __IFileDialogEvents_FWD_DEFINED__
#define __IFileDialogEvents_FWD_DEFINED__
typedef interface IFileDialogEvents IFileDialogEvents;
#ifdef __cplusplus
interface IFileDialogEvents;
#endif /* __cplusplus */
#endif
#ifndef __IFileDialog_FWD_DEFINED__
#define __IFileDialog_FWD_DEFINED__
typedef interface IFileDialog IFileDialog;
#ifdef __cplusplus
interface IFileDialog;
#endif /* __cplusplus */
#endif
#ifndef __IFileSaveDialog_FWD_DEFINED__
#define __IFileSaveDialog_FWD_DEFINED__
typedef interface IFileSaveDialog IFileSaveDialog;
#ifdef __cplusplus
interface IFileSaveDialog;
#endif /* __cplusplus */
#endif
#ifndef __IFileOpenDialog_FWD_DEFINED__
#define __IFileOpenDialog_FWD_DEFINED__
typedef interface IFileOpenDialog IFileOpenDialog;
#ifdef __cplusplus
interface IFileOpenDialog;
#endif /* __cplusplus */
#endif
#ifndef __IFileDialogCustomize_FWD_DEFINED__
#define __IFileDialogCustomize_FWD_DEFINED__
typedef interface IFileDialogCustomize IFileDialogCustomize;
#ifdef __cplusplus
interface IFileDialogCustomize;
#endif /* __cplusplus */
#endif
#ifndef __IFileDialogControlEvents_FWD_DEFINED__
#define __IFileDialogControlEvents_FWD_DEFINED__
typedef interface IFileDialogControlEvents IFileDialogControlEvents;
#ifdef __cplusplus
interface IFileDialogControlEvents;
#endif /* __cplusplus */
#endif
#ifndef __IFileDialog2_FWD_DEFINED__
#define __IFileDialog2_FWD_DEFINED__
typedef interface IFileDialog2 IFileDialog2;
#ifdef __cplusplus
interface IFileDialog2;
#endif /* __cplusplus */
#endif
#ifndef __IApplicationAssociationRegistration_FWD_DEFINED__
#define __IApplicationAssociationRegistration_FWD_DEFINED__
typedef interface IApplicationAssociationRegistration IApplicationAssociationRegistration;
#ifdef __cplusplus
interface IApplicationAssociationRegistration;
#endif /* __cplusplus */
#endif
#ifndef __IApplicationAssociationRegistrationUI_FWD_DEFINED__
#define __IApplicationAssociationRegistrationUI_FWD_DEFINED__
typedef interface IApplicationAssociationRegistrationUI IApplicationAssociationRegistrationUI;
#ifdef __cplusplus
interface IApplicationAssociationRegistrationUI;
#endif /* __cplusplus */
#endif
#ifndef __IDelegateFolder_FWD_DEFINED__
#define __IDelegateFolder_FWD_DEFINED__
typedef interface IDelegateFolder IDelegateFolder;
#ifdef __cplusplus
interface IDelegateFolder;
#endif /* __cplusplus */
#endif
#ifndef __IBrowserFrameOptions_FWD_DEFINED__
#define __IBrowserFrameOptions_FWD_DEFINED__
typedef interface IBrowserFrameOptions IBrowserFrameOptions;
#ifdef __cplusplus
interface IBrowserFrameOptions;
#endif /* __cplusplus */
#endif
#ifndef __INewWindowManager_FWD_DEFINED__
#define __INewWindowManager_FWD_DEFINED__
typedef interface INewWindowManager INewWindowManager;
#ifdef __cplusplus
interface INewWindowManager;
#endif /* __cplusplus */
#endif
#ifndef __IAttachmentExecute_FWD_DEFINED__
#define __IAttachmentExecute_FWD_DEFINED__
typedef interface IAttachmentExecute IAttachmentExecute;
#ifdef __cplusplus
interface IAttachmentExecute;
#endif /* __cplusplus */
#endif
#ifndef __IShellMenuCallback_FWD_DEFINED__
#define __IShellMenuCallback_FWD_DEFINED__
typedef interface IShellMenuCallback IShellMenuCallback;
#ifdef __cplusplus
interface IShellMenuCallback;
#endif /* __cplusplus */
#endif
#ifndef __IShellMenu_FWD_DEFINED__
#define __IShellMenu_FWD_DEFINED__
typedef interface IShellMenu IShellMenu;
#ifdef __cplusplus
interface IShellMenu;
#endif /* __cplusplus */
#endif
#ifndef __IShellRunDll_FWD_DEFINED__
#define __IShellRunDll_FWD_DEFINED__
typedef interface IShellRunDll IShellRunDll;
#ifdef __cplusplus
interface IShellRunDll;
#endif /* __cplusplus */
#endif
#ifndef __IKnownFolder_FWD_DEFINED__
#define __IKnownFolder_FWD_DEFINED__
typedef interface IKnownFolder IKnownFolder;
#ifdef __cplusplus
interface IKnownFolder;
#endif /* __cplusplus */
#endif
#ifndef __IKnownFolderManager_FWD_DEFINED__
#define __IKnownFolderManager_FWD_DEFINED__
typedef interface IKnownFolderManager IKnownFolderManager;
#ifdef __cplusplus
interface IKnownFolderManager;
#endif /* __cplusplus */
#endif
#ifndef __ISharingConfigurationManager_FWD_DEFINED__
#define __ISharingConfigurationManager_FWD_DEFINED__
typedef interface ISharingConfigurationManager ISharingConfigurationManager;
#ifdef __cplusplus
interface ISharingConfigurationManager;
#endif /* __cplusplus */
#endif
#ifndef __IPreviousVersionsInfo_FWD_DEFINED__
#define __IPreviousVersionsInfo_FWD_DEFINED__
typedef interface IPreviousVersionsInfo IPreviousVersionsInfo;
#ifdef __cplusplus
interface IPreviousVersionsInfo;
#endif /* __cplusplus */
#endif
#ifndef __IRelatedItem_FWD_DEFINED__
#define __IRelatedItem_FWD_DEFINED__
typedef interface IRelatedItem IRelatedItem;
#ifdef __cplusplus
interface IRelatedItem;
#endif /* __cplusplus */
#endif
#ifndef __IIdentityName_FWD_DEFINED__
#define __IIdentityName_FWD_DEFINED__
typedef interface IIdentityName IIdentityName;
#ifdef __cplusplus
interface IIdentityName;
#endif /* __cplusplus */
#endif
#ifndef __IDelegateItem_FWD_DEFINED__
#define __IDelegateItem_FWD_DEFINED__
typedef interface IDelegateItem IDelegateItem;
#ifdef __cplusplus
interface IDelegateItem;
#endif /* __cplusplus */
#endif
#ifndef __ICurrentItem_FWD_DEFINED__
#define __ICurrentItem_FWD_DEFINED__
typedef interface ICurrentItem ICurrentItem;
#ifdef __cplusplus
interface ICurrentItem;
#endif /* __cplusplus */
#endif
#ifndef __ITransferMediumItem_FWD_DEFINED__
#define __ITransferMediumItem_FWD_DEFINED__
typedef interface ITransferMediumItem ITransferMediumItem;
#ifdef __cplusplus
interface ITransferMediumItem;
#endif /* __cplusplus */
#endif
#ifndef __IUseToBrowseItem_FWD_DEFINED__
#define __IUseToBrowseItem_FWD_DEFINED__
typedef interface IUseToBrowseItem IUseToBrowseItem;
#ifdef __cplusplus
interface IUseToBrowseItem;
#endif /* __cplusplus */
#endif
#ifndef __IDisplayItem_FWD_DEFINED__
#define __IDisplayItem_FWD_DEFINED__
typedef interface IDisplayItem IDisplayItem;
#ifdef __cplusplus
interface IDisplayItem;
#endif /* __cplusplus */
#endif
#ifndef __IViewStateIdentityItem_FWD_DEFINED__
#define __IViewStateIdentityItem_FWD_DEFINED__
typedef interface IViewStateIdentityItem IViewStateIdentityItem;
#ifdef __cplusplus
interface IViewStateIdentityItem;
#endif /* __cplusplus */
#endif
#ifndef __IPreviewItem_FWD_DEFINED__
#define __IPreviewItem_FWD_DEFINED__
typedef interface IPreviewItem IPreviewItem;
#ifdef __cplusplus
interface IPreviewItem;
#endif /* __cplusplus */
#endif
#ifndef __IDestinationStreamFactory_FWD_DEFINED__
#define __IDestinationStreamFactory_FWD_DEFINED__
typedef interface IDestinationStreamFactory IDestinationStreamFactory;
#ifdef __cplusplus
interface IDestinationStreamFactory;
#endif /* __cplusplus */
#endif
#ifndef __INewMenuClient_FWD_DEFINED__
#define __INewMenuClient_FWD_DEFINED__
typedef interface INewMenuClient INewMenuClient;
#ifdef __cplusplus
interface INewMenuClient;
#endif /* __cplusplus */
#endif
#ifndef __IInitializeWithBindCtx_FWD_DEFINED__
#define __IInitializeWithBindCtx_FWD_DEFINED__
typedef interface IInitializeWithBindCtx IInitializeWithBindCtx;
#ifdef __cplusplus
interface IInitializeWithBindCtx;
#endif /* __cplusplus */
#endif
#ifndef __IShellItemFilter_FWD_DEFINED__
#define __IShellItemFilter_FWD_DEFINED__
typedef interface IShellItemFilter IShellItemFilter;
#ifdef __cplusplus
interface IShellItemFilter;
#endif /* __cplusplus */
#endif
#ifndef __INameSpaceTreeControl_FWD_DEFINED__
#define __INameSpaceTreeControl_FWD_DEFINED__
typedef interface INameSpaceTreeControl INameSpaceTreeControl;
#ifdef __cplusplus
interface INameSpaceTreeControl;
#endif /* __cplusplus */
#endif
#ifndef __INameSpaceTreeControl2_FWD_DEFINED__
#define __INameSpaceTreeControl2_FWD_DEFINED__
typedef interface INameSpaceTreeControl2 INameSpaceTreeControl2;
#ifdef __cplusplus
interface INameSpaceTreeControl2;
#endif /* __cplusplus */
#endif
#ifndef __INameSpaceTreeControlEvents_FWD_DEFINED__
#define __INameSpaceTreeControlEvents_FWD_DEFINED__
typedef interface INameSpaceTreeControlEvents INameSpaceTreeControlEvents;
#ifdef __cplusplus
interface INameSpaceTreeControlEvents;
#endif /* __cplusplus */
#endif
#ifndef __INameSpaceTreeControlDropHandler_FWD_DEFINED__
#define __INameSpaceTreeControlDropHandler_FWD_DEFINED__
typedef interface INameSpaceTreeControlDropHandler INameSpaceTreeControlDropHandler;
#ifdef __cplusplus
interface INameSpaceTreeControlDropHandler;
#endif /* __cplusplus */
#endif
#ifndef __INameSpaceTreeAccessible_FWD_DEFINED__
#define __INameSpaceTreeAccessible_FWD_DEFINED__
typedef interface INameSpaceTreeAccessible INameSpaceTreeAccessible;
#ifdef __cplusplus
interface INameSpaceTreeAccessible;
#endif /* __cplusplus */
#endif
#ifndef __INameSpaceTreeControlCustomDraw_FWD_DEFINED__
#define __INameSpaceTreeControlCustomDraw_FWD_DEFINED__
typedef interface INameSpaceTreeControlCustomDraw INameSpaceTreeControlCustomDraw;
#ifdef __cplusplus
interface INameSpaceTreeControlCustomDraw;
#endif /* __cplusplus */
#endif
#ifndef __INameSpaceTreeControlFolderCapabilities_FWD_DEFINED__
#define __INameSpaceTreeControlFolderCapabilities_FWD_DEFINED__
typedef interface INameSpaceTreeControlFolderCapabilities INameSpaceTreeControlFolderCapabilities;
#ifdef __cplusplus
interface INameSpaceTreeControlFolderCapabilities;
#endif /* __cplusplus */
#endif
#ifndef __IPreviewHandler_FWD_DEFINED__
#define __IPreviewHandler_FWD_DEFINED__
typedef interface IPreviewHandler IPreviewHandler;
#ifdef __cplusplus
interface IPreviewHandler;
#endif /* __cplusplus */
#endif
#ifndef __IPreviewHandlerFrame_FWD_DEFINED__
#define __IPreviewHandlerFrame_FWD_DEFINED__
typedef interface IPreviewHandlerFrame IPreviewHandlerFrame;
#ifdef __cplusplus
interface IPreviewHandlerFrame;
#endif /* __cplusplus */
#endif
#ifndef __ITrayDeskBand_FWD_DEFINED__
#define __ITrayDeskBand_FWD_DEFINED__
typedef interface ITrayDeskBand ITrayDeskBand;
#ifdef __cplusplus
interface ITrayDeskBand;
#endif /* __cplusplus */
#endif
#ifndef __IBandHost_FWD_DEFINED__
#define __IBandHost_FWD_DEFINED__
typedef interface IBandHost IBandHost;
#ifdef __cplusplus
interface IBandHost;
#endif /* __cplusplus */
#endif
#ifndef __IExplorerPaneVisibility_FWD_DEFINED__
#define __IExplorerPaneVisibility_FWD_DEFINED__
typedef interface IExplorerPaneVisibility IExplorerPaneVisibility;
#ifdef __cplusplus
interface IExplorerPaneVisibility;
#endif /* __cplusplus */
#endif
#ifndef __IContextMenuCB_FWD_DEFINED__
#define __IContextMenuCB_FWD_DEFINED__
typedef interface IContextMenuCB IContextMenuCB;
#ifdef __cplusplus
interface IContextMenuCB;
#endif /* __cplusplus */
#endif
#ifndef __IDefaultExtractIconInit_FWD_DEFINED__
#define __IDefaultExtractIconInit_FWD_DEFINED__
typedef interface IDefaultExtractIconInit IDefaultExtractIconInit;
#ifdef __cplusplus
interface IDefaultExtractIconInit;
#endif /* __cplusplus */
#endif
#ifndef __IExplorerCommand_FWD_DEFINED__
#define __IExplorerCommand_FWD_DEFINED__
typedef interface IExplorerCommand IExplorerCommand;
#ifdef __cplusplus
interface IExplorerCommand;
#endif /* __cplusplus */
#endif
#ifndef __IExplorerCommandState_FWD_DEFINED__
#define __IExplorerCommandState_FWD_DEFINED__
typedef interface IExplorerCommandState IExplorerCommandState;
#ifdef __cplusplus
interface IExplorerCommandState;
#endif /* __cplusplus */
#endif
#ifndef __IInitializeCommand_FWD_DEFINED__
#define __IInitializeCommand_FWD_DEFINED__
typedef interface IInitializeCommand IInitializeCommand;
#ifdef __cplusplus
interface IInitializeCommand;
#endif /* __cplusplus */
#endif
#ifndef __IEnumExplorerCommand_FWD_DEFINED__
#define __IEnumExplorerCommand_FWD_DEFINED__
typedef interface IEnumExplorerCommand IEnumExplorerCommand;
#ifdef __cplusplus
interface IEnumExplorerCommand;
#endif /* __cplusplus */
#endif
#ifndef __IExplorerCommandProvider_FWD_DEFINED__
#define __IExplorerCommandProvider_FWD_DEFINED__
typedef interface IExplorerCommandProvider IExplorerCommandProvider;
#ifdef __cplusplus
interface IExplorerCommandProvider;
#endif /* __cplusplus */
#endif
#ifndef __IInitializeNetworkFolder_FWD_DEFINED__
#define __IInitializeNetworkFolder_FWD_DEFINED__
typedef interface IInitializeNetworkFolder IInitializeNetworkFolder;
#ifdef __cplusplus
interface IInitializeNetworkFolder;
#endif /* __cplusplus */
#endif
#ifndef __IOpenControlPanel_FWD_DEFINED__
#define __IOpenControlPanel_FWD_DEFINED__
typedef interface IOpenControlPanel IOpenControlPanel;
#ifdef __cplusplus
interface IOpenControlPanel;
#endif /* __cplusplus */
#endif
#ifndef __IComputerInfoChangeNotify_FWD_DEFINED__
#define __IComputerInfoChangeNotify_FWD_DEFINED__
typedef interface IComputerInfoChangeNotify IComputerInfoChangeNotify;
#ifdef __cplusplus
interface IComputerInfoChangeNotify;
#endif /* __cplusplus */
#endif
#ifndef __IFileSystemBindData_FWD_DEFINED__
#define __IFileSystemBindData_FWD_DEFINED__
typedef interface IFileSystemBindData IFileSystemBindData;
#ifdef __cplusplus
interface IFileSystemBindData;
#endif /* __cplusplus */
#endif
#ifndef __IFileSystemBindData2_FWD_DEFINED__
#define __IFileSystemBindData2_FWD_DEFINED__
typedef interface IFileSystemBindData2 IFileSystemBindData2;
#ifdef __cplusplus
interface IFileSystemBindData2;
#endif /* __cplusplus */
#endif
#ifndef __ICustomDestinationList_FWD_DEFINED__
#define __ICustomDestinationList_FWD_DEFINED__
typedef interface ICustomDestinationList ICustomDestinationList;
#ifdef __cplusplus
interface ICustomDestinationList;
#endif /* __cplusplus */
#endif
#ifndef __IApplicationDestinations_FWD_DEFINED__
#define __IApplicationDestinations_FWD_DEFINED__
typedef interface IApplicationDestinations IApplicationDestinations;
#ifdef __cplusplus
interface IApplicationDestinations;
#endif /* __cplusplus */
#endif
#ifndef __IApplicationDocumentLists_FWD_DEFINED__
#define __IApplicationDocumentLists_FWD_DEFINED__
typedef interface IApplicationDocumentLists IApplicationDocumentLists;
#ifdef __cplusplus
interface IApplicationDocumentLists;
#endif /* __cplusplus */
#endif
#ifndef __IObjectWithAppUserModelID_FWD_DEFINED__
#define __IObjectWithAppUserModelID_FWD_DEFINED__
typedef interface IObjectWithAppUserModelID IObjectWithAppUserModelID;
#ifdef __cplusplus
interface IObjectWithAppUserModelID;
#endif /* __cplusplus */
#endif
#ifndef __IObjectWithProgID_FWD_DEFINED__
#define __IObjectWithProgID_FWD_DEFINED__
typedef interface IObjectWithProgID IObjectWithProgID;
#ifdef __cplusplus
interface IObjectWithProgID;
#endif /* __cplusplus */
#endif
#ifndef __IUpdateIDList_FWD_DEFINED__
#define __IUpdateIDList_FWD_DEFINED__
typedef interface IUpdateIDList IUpdateIDList;
#ifdef __cplusplus
interface IUpdateIDList;
#endif /* __cplusplus */
#endif
#ifndef __IDesktopGadget_FWD_DEFINED__
#define __IDesktopGadget_FWD_DEFINED__
typedef interface IDesktopGadget IDesktopGadget;
#ifdef __cplusplus
interface IDesktopGadget;
#endif /* __cplusplus */
#endif
#ifndef __IDesktopWallpaper_FWD_DEFINED__
#define __IDesktopWallpaper_FWD_DEFINED__
typedef interface IDesktopWallpaper IDesktopWallpaper;
#ifdef __cplusplus
interface IDesktopWallpaper;
#endif /* __cplusplus */
#endif
#ifndef __IHomeGroup_FWD_DEFINED__
#define __IHomeGroup_FWD_DEFINED__
typedef interface IHomeGroup IHomeGroup;
#ifdef __cplusplus
interface IHomeGroup;
#endif /* __cplusplus */
#endif
#ifndef __IInitializeWithPropertyStore_FWD_DEFINED__
#define __IInitializeWithPropertyStore_FWD_DEFINED__
typedef interface IInitializeWithPropertyStore IInitializeWithPropertyStore;
#ifdef __cplusplus
interface IInitializeWithPropertyStore;
#endif /* __cplusplus */
#endif
#ifndef __IOpenSearchSource_FWD_DEFINED__
#define __IOpenSearchSource_FWD_DEFINED__
typedef interface IOpenSearchSource IOpenSearchSource;
#ifdef __cplusplus
interface IOpenSearchSource;
#endif /* __cplusplus */
#endif
#ifndef __IShellLibrary_FWD_DEFINED__
#define __IShellLibrary_FWD_DEFINED__
typedef interface IShellLibrary IShellLibrary;
#ifdef __cplusplus
interface IShellLibrary;
#endif /* __cplusplus */
#endif
#ifndef __IPlaybackManagerEvents_FWD_DEFINED__
#define __IPlaybackManagerEvents_FWD_DEFINED__
typedef interface IPlaybackManagerEvents IPlaybackManagerEvents;
#ifdef __cplusplus
interface IPlaybackManagerEvents;
#endif /* __cplusplus */
#endif
#ifndef __IPlaybackManager_FWD_DEFINED__
#define __IPlaybackManager_FWD_DEFINED__
typedef interface IPlaybackManager IPlaybackManager;
#ifdef __cplusplus
interface IPlaybackManager;
#endif /* __cplusplus */
#endif
#ifndef __IDefaultFolderMenuInitialize_FWD_DEFINED__
#define __IDefaultFolderMenuInitialize_FWD_DEFINED__
typedef interface IDefaultFolderMenuInitialize IDefaultFolderMenuInitialize;
#ifdef __cplusplus
interface IDefaultFolderMenuInitialize;
#endif /* __cplusplus */
#endif
#ifndef __IApplicationActivationManager_FWD_DEFINED__
#define __IApplicationActivationManager_FWD_DEFINED__
typedef interface IApplicationActivationManager IApplicationActivationManager;
#ifdef __cplusplus
interface IApplicationActivationManager;
#endif /* __cplusplus */
#endif
#ifndef __DesktopWallpaper_FWD_DEFINED__
#define __DesktopWallpaper_FWD_DEFINED__
#ifdef __cplusplus
typedef class DesktopWallpaper DesktopWallpaper;
#else
typedef struct DesktopWallpaper DesktopWallpaper;
#endif /* defined __cplusplus */
#endif /* defined __DesktopWallpaper_FWD_DEFINED__ */
#ifndef __ShellDesktop_FWD_DEFINED__
#define __ShellDesktop_FWD_DEFINED__
#ifdef __cplusplus
typedef class ShellDesktop ShellDesktop;
#else
typedef struct ShellDesktop ShellDesktop;
#endif /* defined __cplusplus */
#endif /* defined __ShellDesktop_FWD_DEFINED__ */
#ifndef __ShellFSFolder_FWD_DEFINED__
#define __ShellFSFolder_FWD_DEFINED__
#ifdef __cplusplus
typedef class ShellFSFolder ShellFSFolder;
#else
typedef struct ShellFSFolder ShellFSFolder;
#endif /* defined __cplusplus */
#endif /* defined __ShellFSFolder_FWD_DEFINED__ */
#ifndef __NetworkPlaces_FWD_DEFINED__
#define __NetworkPlaces_FWD_DEFINED__
#ifdef __cplusplus
typedef class NetworkPlaces NetworkPlaces;
#else
typedef struct NetworkPlaces NetworkPlaces;
#endif /* defined __cplusplus */
#endif /* defined __NetworkPlaces_FWD_DEFINED__ */
#ifndef __ShellLink_FWD_DEFINED__
#define __ShellLink_FWD_DEFINED__
#ifdef __cplusplus
typedef class ShellLink ShellLink;
#else
typedef struct ShellLink ShellLink;
#endif /* defined __cplusplus */
#endif /* defined __ShellLink_FWD_DEFINED__ */
#ifndef __QueryCancelAutoPlay_FWD_DEFINED__
#define __QueryCancelAutoPlay_FWD_DEFINED__
#ifdef __cplusplus
typedef class QueryCancelAutoPlay QueryCancelAutoPlay;
#else
typedef struct QueryCancelAutoPlay QueryCancelAutoPlay;
#endif /* defined __cplusplus */
#endif /* defined __QueryCancelAutoPlay_FWD_DEFINED__ */
#ifndef __DriveSizeCategorizer_FWD_DEFINED__
#define __DriveSizeCategorizer_FWD_DEFINED__
#ifdef __cplusplus
typedef class DriveSizeCategorizer DriveSizeCategorizer;
#else
typedef struct DriveSizeCategorizer DriveSizeCategorizer;
#endif /* defined __cplusplus */
#endif /* defined __DriveSizeCategorizer_FWD_DEFINED__ */
#ifndef __DriveTypeCategorizer_FWD_DEFINED__
#define __DriveTypeCategorizer_FWD_DEFINED__
#ifdef __cplusplus
typedef class DriveTypeCategorizer DriveTypeCategorizer;
#else
typedef struct DriveTypeCategorizer DriveTypeCategorizer;
#endif /* defined __cplusplus */
#endif /* defined __DriveTypeCategorizer_FWD_DEFINED__ */
#ifndef __FreeSpaceCategorizer_FWD_DEFINED__
#define __FreeSpaceCategorizer_FWD_DEFINED__
#ifdef __cplusplus
typedef class FreeSpaceCategorizer FreeSpaceCategorizer;
#else
typedef struct FreeSpaceCategorizer FreeSpaceCategorizer;
#endif /* defined __cplusplus */
#endif /* defined __FreeSpaceCategorizer_FWD_DEFINED__ */
#ifndef __TimeCategorizer_FWD_DEFINED__
#define __TimeCategorizer_FWD_DEFINED__
#ifdef __cplusplus
typedef class TimeCategorizer TimeCategorizer;
#else
typedef struct TimeCategorizer TimeCategorizer;
#endif /* defined __cplusplus */
#endif /* defined __TimeCategorizer_FWD_DEFINED__ */
#ifndef __SizeCategorizer_FWD_DEFINED__
#define __SizeCategorizer_FWD_DEFINED__
#ifdef __cplusplus
typedef class SizeCategorizer SizeCategorizer;
#else
typedef struct SizeCategorizer SizeCategorizer;
#endif /* defined __cplusplus */
#endif /* defined __SizeCategorizer_FWD_DEFINED__ */
#ifndef __AlphabeticalCategorizer_FWD_DEFINED__
#define __AlphabeticalCategorizer_FWD_DEFINED__
#ifdef __cplusplus
typedef class AlphabeticalCategorizer AlphabeticalCategorizer;
#else
typedef struct AlphabeticalCategorizer AlphabeticalCategorizer;
#endif /* defined __cplusplus */
#endif /* defined __AlphabeticalCategorizer_FWD_DEFINED__ */
#ifndef __MergedCategorizer_FWD_DEFINED__
#define __MergedCategorizer_FWD_DEFINED__
#ifdef __cplusplus
typedef class MergedCategorizer MergedCategorizer;
#else
typedef struct MergedCategorizer MergedCategorizer;
#endif /* defined __cplusplus */
#endif /* defined __MergedCategorizer_FWD_DEFINED__ */
#ifndef __ImageProperties_FWD_DEFINED__
#define __ImageProperties_FWD_DEFINED__
#ifdef __cplusplus
typedef class ImageProperties ImageProperties;
#else
typedef struct ImageProperties ImageProperties;
#endif /* defined __cplusplus */
#endif /* defined __ImageProperties_FWD_DEFINED__ */
#ifndef __PropertiesUI_FWD_DEFINED__
#define __PropertiesUI_FWD_DEFINED__
#ifdef __cplusplus
typedef class PropertiesUI PropertiesUI;
#else
typedef struct PropertiesUI PropertiesUI;
#endif /* defined __cplusplus */
#endif /* defined __PropertiesUI_FWD_DEFINED__ */
#ifndef __UserNotification_FWD_DEFINED__
#define __UserNotification_FWD_DEFINED__
#ifdef __cplusplus
typedef class UserNotification UserNotification;
#else
typedef struct UserNotification UserNotification;
#endif /* defined __cplusplus */
#endif /* defined __UserNotification_FWD_DEFINED__ */
#ifndef __CDBurn_FWD_DEFINED__
#define __CDBurn_FWD_DEFINED__
#ifdef __cplusplus
typedef class CDBurn CDBurn;
#else
typedef struct CDBurn CDBurn;
#endif /* defined __cplusplus */
#endif /* defined __CDBurn_FWD_DEFINED__ */
#ifndef __TaskbarList_FWD_DEFINED__
#define __TaskbarList_FWD_DEFINED__
#ifdef __cplusplus
typedef class TaskbarList TaskbarList;
#else
typedef struct TaskbarList TaskbarList;
#endif /* defined __cplusplus */
#endif /* defined __TaskbarList_FWD_DEFINED__ */
#ifndef __StartMenuPin_FWD_DEFINED__
#define __StartMenuPin_FWD_DEFINED__
#ifdef __cplusplus
typedef class StartMenuPin StartMenuPin;
#else
typedef struct StartMenuPin StartMenuPin;
#endif /* defined __cplusplus */
#endif /* defined __StartMenuPin_FWD_DEFINED__ */
#ifndef __WebWizardHost_FWD_DEFINED__
#define __WebWizardHost_FWD_DEFINED__
#ifdef __cplusplus
typedef class WebWizardHost WebWizardHost;
#else
typedef struct WebWizardHost WebWizardHost;
#endif /* defined __cplusplus */
#endif /* defined __WebWizardHost_FWD_DEFINED__ */
#ifndef __PublishDropTarget_FWD_DEFINED__
#define __PublishDropTarget_FWD_DEFINED__
#ifdef __cplusplus
typedef class PublishDropTarget PublishDropTarget;
#else
typedef struct PublishDropTarget PublishDropTarget;
#endif /* defined __cplusplus */
#endif /* defined __PublishDropTarget_FWD_DEFINED__ */
#ifndef __PublishingWizard_FWD_DEFINED__
#define __PublishingWizard_FWD_DEFINED__
#ifdef __cplusplus
typedef class PublishingWizard PublishingWizard;
#else
typedef struct PublishingWizard PublishingWizard;
#endif /* defined __cplusplus */
#endif /* defined __PublishingWizard_FWD_DEFINED__ */
#ifndef __InternetPrintOrdering_FWD_DEFINED__
#define __InternetPrintOrdering_FWD_DEFINED__
#ifdef __cplusplus
typedef class InternetPrintOrdering InternetPrintOrdering;
#else
typedef struct InternetPrintOrdering InternetPrintOrdering;
#endif /* defined __cplusplus */
#endif /* defined __InternetPrintOrdering_FWD_DEFINED__ */
#ifndef __FolderViewHost_FWD_DEFINED__
#define __FolderViewHost_FWD_DEFINED__
#ifdef __cplusplus
typedef class FolderViewHost FolderViewHost;
#else
typedef struct FolderViewHost FolderViewHost;
#endif /* defined __cplusplus */
#endif /* defined __FolderViewHost_FWD_DEFINED__ */
#ifndef __ExplorerBrowser_FWD_DEFINED__
#define __ExplorerBrowser_FWD_DEFINED__
#ifdef __cplusplus
typedef class ExplorerBrowser ExplorerBrowser;
#else
typedef struct ExplorerBrowser ExplorerBrowser;
#endif /* defined __cplusplus */
#endif /* defined __ExplorerBrowser_FWD_DEFINED__ */
#ifndef __ImageRecompress_FWD_DEFINED__
#define __ImageRecompress_FWD_DEFINED__
#ifdef __cplusplus
typedef class ImageRecompress ImageRecompress;
#else
typedef struct ImageRecompress ImageRecompress;
#endif /* defined __cplusplus */
#endif /* defined __ImageRecompress_FWD_DEFINED__ */
#ifndef __TrayBandSiteService_FWD_DEFINED__
#define __TrayBandSiteService_FWD_DEFINED__
#ifdef __cplusplus
typedef class TrayBandSiteService TrayBandSiteService;
#else
typedef struct TrayBandSiteService TrayBandSiteService;
#endif /* defined __cplusplus */
#endif /* defined __TrayBandSiteService_FWD_DEFINED__ */
#ifndef __TrayDeskBand_FWD_DEFINED__
#define __TrayDeskBand_FWD_DEFINED__
#ifdef __cplusplus
typedef class TrayDeskBand TrayDeskBand;
#else
typedef struct TrayDeskBand TrayDeskBand;
#endif /* defined __cplusplus */
#endif /* defined __TrayDeskBand_FWD_DEFINED__ */
#ifndef __AttachmentServices_FWD_DEFINED__
#define __AttachmentServices_FWD_DEFINED__
#ifdef __cplusplus
typedef class AttachmentServices AttachmentServices;
#else
typedef struct AttachmentServices AttachmentServices;
#endif /* defined __cplusplus */
#endif /* defined __AttachmentServices_FWD_DEFINED__ */
#ifndef __DocPropShellExtension_FWD_DEFINED__
#define __DocPropShellExtension_FWD_DEFINED__
#ifdef __cplusplus
typedef class DocPropShellExtension DocPropShellExtension;
#else
typedef struct DocPropShellExtension DocPropShellExtension;
#endif /* defined __cplusplus */
#endif /* defined __DocPropShellExtension_FWD_DEFINED__ */
#ifndef __ShellItem_FWD_DEFINED__
#define __ShellItem_FWD_DEFINED__
#ifdef __cplusplus
typedef class ShellItem ShellItem;
#else
typedef struct ShellItem ShellItem;
#endif /* defined __cplusplus */
#endif /* defined __ShellItem_FWD_DEFINED__ */
#ifndef __NamespaceWalker_FWD_DEFINED__
#define __NamespaceWalker_FWD_DEFINED__
#ifdef __cplusplus
typedef class NamespaceWalker NamespaceWalker;
#else
typedef struct NamespaceWalker NamespaceWalker;
#endif /* defined __cplusplus */
#endif /* defined __NamespaceWalker_FWD_DEFINED__ */
#ifndef __FileOperation_FWD_DEFINED__
#define __FileOperation_FWD_DEFINED__
#ifdef __cplusplus
typedef class FileOperation FileOperation;
#else
typedef struct FileOperation FileOperation;
#endif /* defined __cplusplus */
#endif /* defined __FileOperation_FWD_DEFINED__ */
#ifndef __FileOpenDialog_FWD_DEFINED__
#define __FileOpenDialog_FWD_DEFINED__
#ifdef __cplusplus
typedef class FileOpenDialog FileOpenDialog;
#else
typedef struct FileOpenDialog FileOpenDialog;
#endif /* defined __cplusplus */
#endif /* defined __FileOpenDialog_FWD_DEFINED__ */
#ifndef __FileSaveDialog_FWD_DEFINED__
#define __FileSaveDialog_FWD_DEFINED__
#ifdef __cplusplus
typedef class FileSaveDialog FileSaveDialog;
#else
typedef struct FileSaveDialog FileSaveDialog;
#endif /* defined __cplusplus */
#endif /* defined __FileSaveDialog_FWD_DEFINED__ */
#ifndef __KnownFolderManager_FWD_DEFINED__
#define __KnownFolderManager_FWD_DEFINED__
#ifdef __cplusplus
typedef class KnownFolderManager KnownFolderManager;
#else
typedef struct KnownFolderManager KnownFolderManager;
#endif /* defined __cplusplus */
#endif /* defined __KnownFolderManager_FWD_DEFINED__ */
#ifndef __FSCopyHandler_FWD_DEFINED__
#define __FSCopyHandler_FWD_DEFINED__
#ifdef __cplusplus
typedef class FSCopyHandler FSCopyHandler;
#else
typedef struct FSCopyHandler FSCopyHandler;
#endif /* defined __cplusplus */
#endif /* defined __FSCopyHandler_FWD_DEFINED__ */
#ifndef __SharingConfigurationManager_FWD_DEFINED__
#define __SharingConfigurationManager_FWD_DEFINED__
#ifdef __cplusplus
typedef class SharingConfigurationManager SharingConfigurationManager;
#else
typedef struct SharingConfigurationManager SharingConfigurationManager;
#endif /* defined __cplusplus */
#endif /* defined __SharingConfigurationManager_FWD_DEFINED__ */
#ifndef __PreviousVersions_FWD_DEFINED__
#define __PreviousVersions_FWD_DEFINED__
#ifdef __cplusplus
typedef class PreviousVersions PreviousVersions;
#else
typedef struct PreviousVersions PreviousVersions;
#endif /* defined __cplusplus */
#endif /* defined __PreviousVersions_FWD_DEFINED__ */
#ifndef __NetworkConnections_FWD_DEFINED__
#define __NetworkConnections_FWD_DEFINED__
#ifdef __cplusplus
typedef class NetworkConnections NetworkConnections;
#else
typedef struct NetworkConnections NetworkConnections;
#endif /* defined __cplusplus */
#endif /* defined __NetworkConnections_FWD_DEFINED__ */
#ifndef __NamespaceTreeControl_FWD_DEFINED__
#define __NamespaceTreeControl_FWD_DEFINED__
#ifdef __cplusplus
typedef class NamespaceTreeControl NamespaceTreeControl;
#else
typedef struct NamespaceTreeControl NamespaceTreeControl;
#endif /* defined __cplusplus */
#endif /* defined __NamespaceTreeControl_FWD_DEFINED__ */
#ifndef __IENamespaceTreeControl_FWD_DEFINED__
#define __IENamespaceTreeControl_FWD_DEFINED__
#ifdef __cplusplus
typedef class IENamespaceTreeControl IENamespaceTreeControl;
#else
typedef struct IENamespaceTreeControl IENamespaceTreeControl;
#endif /* defined __cplusplus */
#endif /* defined __IENamespaceTreeControl_FWD_DEFINED__ */
#ifndef __ScheduledTasks_FWD_DEFINED__
#define __ScheduledTasks_FWD_DEFINED__
#ifdef __cplusplus
typedef class ScheduledTasks ScheduledTasks;
#else
typedef struct ScheduledTasks ScheduledTasks;
#endif /* defined __cplusplus */
#endif /* defined __ScheduledTasks_FWD_DEFINED__ */
#ifndef __ApplicationAssociationRegistration_FWD_DEFINED__
#define __ApplicationAssociationRegistration_FWD_DEFINED__
#ifdef __cplusplus
typedef class ApplicationAssociationRegistration ApplicationAssociationRegistration;
#else
typedef struct ApplicationAssociationRegistration ApplicationAssociationRegistration;
#endif /* defined __cplusplus */
#endif /* defined __ApplicationAssociationRegistration_FWD_DEFINED__ */
#ifndef __ApplicationAssociationRegistrationUI_FWD_DEFINED__
#define __ApplicationAssociationRegistrationUI_FWD_DEFINED__
#ifdef __cplusplus
typedef class ApplicationAssociationRegistrationUI ApplicationAssociationRegistrationUI;
#else
typedef struct ApplicationAssociationRegistrationUI ApplicationAssociationRegistrationUI;
#endif /* defined __cplusplus */
#endif /* defined __ApplicationAssociationRegistrationUI_FWD_DEFINED__ */
#ifndef __SearchFolderItemFactory_FWD_DEFINED__
#define __SearchFolderItemFactory_FWD_DEFINED__
#ifdef __cplusplus
typedef class SearchFolderItemFactory SearchFolderItemFactory;
#else
typedef struct SearchFolderItemFactory SearchFolderItemFactory;
#endif /* defined __cplusplus */
#endif /* defined __SearchFolderItemFactory_FWD_DEFINED__ */
#ifndef __OpenControlPanel_FWD_DEFINED__
#define __OpenControlPanel_FWD_DEFINED__
#ifdef __cplusplus
typedef class OpenControlPanel OpenControlPanel;
#else
typedef struct OpenControlPanel OpenControlPanel;
#endif /* defined __cplusplus */
#endif /* defined __OpenControlPanel_FWD_DEFINED__ */
#ifndef __MailRecipient_FWD_DEFINED__
#define __MailRecipient_FWD_DEFINED__
#ifdef __cplusplus
typedef class MailRecipient MailRecipient;
#else
typedef struct MailRecipient MailRecipient;
#endif /* defined __cplusplus */
#endif /* defined __MailRecipient_FWD_DEFINED__ */
#ifndef __NetworkExplorerFolder_FWD_DEFINED__
#define __NetworkExplorerFolder_FWD_DEFINED__
#ifdef __cplusplus
typedef class NetworkExplorerFolder NetworkExplorerFolder;
#else
typedef struct NetworkExplorerFolder NetworkExplorerFolder;
#endif /* defined __cplusplus */
#endif /* defined __NetworkExplorerFolder_FWD_DEFINED__ */
#ifndef __DestinationList_FWD_DEFINED__
#define __DestinationList_FWD_DEFINED__
#ifdef __cplusplus
typedef class DestinationList DestinationList;
#else
typedef struct DestinationList DestinationList;
#endif /* defined __cplusplus */
#endif /* defined __DestinationList_FWD_DEFINED__ */
#ifndef __ApplicationDestinations_FWD_DEFINED__
#define __ApplicationDestinations_FWD_DEFINED__
#ifdef __cplusplus
typedef class ApplicationDestinations ApplicationDestinations;
#else
typedef struct ApplicationDestinations ApplicationDestinations;
#endif /* defined __cplusplus */
#endif /* defined __ApplicationDestinations_FWD_DEFINED__ */
#ifndef __ApplicationDocumentLists_FWD_DEFINED__
#define __ApplicationDocumentLists_FWD_DEFINED__
#ifdef __cplusplus
typedef class ApplicationDocumentLists ApplicationDocumentLists;
#else
typedef struct ApplicationDocumentLists ApplicationDocumentLists;
#endif /* defined __cplusplus */
#endif /* defined __ApplicationDocumentLists_FWD_DEFINED__ */
#ifndef __HomeGroup_FWD_DEFINED__
#define __HomeGroup_FWD_DEFINED__
#ifdef __cplusplus
typedef class HomeGroup HomeGroup;
#else
typedef struct HomeGroup HomeGroup;
#endif /* defined __cplusplus */
#endif /* defined __HomeGroup_FWD_DEFINED__ */
#ifndef __ShellLibrary_FWD_DEFINED__
#define __ShellLibrary_FWD_DEFINED__
#ifdef __cplusplus
typedef class ShellLibrary ShellLibrary;
#else
typedef struct ShellLibrary ShellLibrary;
#endif /* defined __cplusplus */
#endif /* defined __ShellLibrary_FWD_DEFINED__ */
#ifndef __AppStartupLink_FWD_DEFINED__
#define __AppStartupLink_FWD_DEFINED__
#ifdef __cplusplus
typedef class AppStartupLink AppStartupLink;
#else
typedef struct AppStartupLink AppStartupLink;
#endif /* defined __cplusplus */
#endif /* defined __AppStartupLink_FWD_DEFINED__ */
#ifndef __EnumerableObjectCollection_FWD_DEFINED__
#define __EnumerableObjectCollection_FWD_DEFINED__
#ifdef __cplusplus
typedef class EnumerableObjectCollection EnumerableObjectCollection;
#else
typedef struct EnumerableObjectCollection EnumerableObjectCollection;
#endif /* defined __cplusplus */
#endif /* defined __EnumerableObjectCollection_FWD_DEFINED__ */
#ifndef __DesktopGadget_FWD_DEFINED__
#define __DesktopGadget_FWD_DEFINED__
#ifdef __cplusplus
typedef class DesktopGadget DesktopGadget;
#else
typedef struct DesktopGadget DesktopGadget;
#endif /* defined __cplusplus */
#endif /* defined __DesktopGadget_FWD_DEFINED__ */
#ifndef __PlaybackManager_FWD_DEFINED__
#define __PlaybackManager_FWD_DEFINED__
#ifdef __cplusplus
typedef class PlaybackManager PlaybackManager;
#else
typedef struct PlaybackManager PlaybackManager;
#endif /* defined __cplusplus */
#endif /* defined __PlaybackManager_FWD_DEFINED__ */
#ifndef __AccessibilityDockingService_FWD_DEFINED__
#define __AccessibilityDockingService_FWD_DEFINED__
#ifdef __cplusplus
typedef class AccessibilityDockingService AccessibilityDockingService;
#else
typedef struct AccessibilityDockingService AccessibilityDockingService;
#endif /* defined __cplusplus */
#endif /* defined __AccessibilityDockingService_FWD_DEFINED__ */
#ifndef __FrameworkInputPane_FWD_DEFINED__
#define __FrameworkInputPane_FWD_DEFINED__
#ifdef __cplusplus
typedef class FrameworkInputPane FrameworkInputPane;
#else
typedef struct FrameworkInputPane FrameworkInputPane;
#endif /* defined __cplusplus */
#endif /* defined __FrameworkInputPane_FWD_DEFINED__ */
#ifndef __DefFolderMenu_FWD_DEFINED__
#define __DefFolderMenu_FWD_DEFINED__
#ifdef __cplusplus
typedef class DefFolderMenu DefFolderMenu;
#else
typedef struct DefFolderMenu DefFolderMenu;
#endif /* defined __cplusplus */
#endif /* defined __DefFolderMenu_FWD_DEFINED__ */
#ifndef __AppVisibility_FWD_DEFINED__
#define __AppVisibility_FWD_DEFINED__
#ifdef __cplusplus
typedef class AppVisibility AppVisibility;
#else
typedef struct AppVisibility AppVisibility;
#endif /* defined __cplusplus */
#endif /* defined __AppVisibility_FWD_DEFINED__ */
#ifndef __AppShellVerbHandler_FWD_DEFINED__
#define __AppShellVerbHandler_FWD_DEFINED__
#ifdef __cplusplus
typedef class AppShellVerbHandler AppShellVerbHandler;
#else
typedef struct AppShellVerbHandler AppShellVerbHandler;
#endif /* defined __cplusplus */
#endif /* defined __AppShellVerbHandler_FWD_DEFINED__ */
#ifndef __ExecuteUnknown_FWD_DEFINED__
#define __ExecuteUnknown_FWD_DEFINED__
#ifdef __cplusplus
typedef class ExecuteUnknown ExecuteUnknown;
#else
typedef struct ExecuteUnknown ExecuteUnknown;
#endif /* defined __cplusplus */
#endif /* defined __ExecuteUnknown_FWD_DEFINED__ */
#ifndef __PackageDebugSettings_FWD_DEFINED__
#define __PackageDebugSettings_FWD_DEFINED__
#ifdef __cplusplus
typedef class PackageDebugSettings PackageDebugSettings;
#else
typedef struct PackageDebugSettings PackageDebugSettings;
#endif /* defined __cplusplus */
#endif /* defined __PackageDebugSettings_FWD_DEFINED__ */
#ifndef __ApplicationActivationManager_FWD_DEFINED__
#define __ApplicationActivationManager_FWD_DEFINED__
#ifdef __cplusplus
typedef class ApplicationActivationManager ApplicationActivationManager;
#else
typedef struct ApplicationActivationManager ApplicationActivationManager;
#endif /* defined __cplusplus */
#endif /* defined __ApplicationActivationManager_FWD_DEFINED__ */
#ifndef __ApplicationDesignModeSettings_FWD_DEFINED__
#define __ApplicationDesignModeSettings_FWD_DEFINED__
#ifdef __cplusplus
typedef class ApplicationDesignModeSettings ApplicationDesignModeSettings;
#else
typedef struct ApplicationDesignModeSettings ApplicationDesignModeSettings;
#endif /* defined __cplusplus */
#endif /* defined __ApplicationDesignModeSettings_FWD_DEFINED__ */
#ifndef __ExecuteFolder_FWD_DEFINED__
#define __ExecuteFolder_FWD_DEFINED__
#ifdef __cplusplus
typedef class ExecuteFolder ExecuteFolder;
#else
typedef struct ExecuteFolder ExecuteFolder;
#endif /* defined __cplusplus */
#endif /* defined __ExecuteFolder_FWD_DEFINED__ */
#ifndef __IAssocHandlerInvoker_FWD_DEFINED__
#define __IAssocHandlerInvoker_FWD_DEFINED__
typedef interface IAssocHandlerInvoker IAssocHandlerInvoker;
#ifdef __cplusplus
interface IAssocHandlerInvoker;
#endif /* __cplusplus */
#endif
#ifndef __IAssocHandler_FWD_DEFINED__
#define __IAssocHandler_FWD_DEFINED__
typedef interface IAssocHandler IAssocHandler;
#ifdef __cplusplus
interface IAssocHandler;
#endif /* __cplusplus */
#endif
#ifndef __IEnumAssocHandlers_FWD_DEFINED__
#define __IEnumAssocHandlers_FWD_DEFINED__
typedef interface IEnumAssocHandlers IEnumAssocHandlers;
#ifdef __cplusplus
interface IEnumAssocHandlers;
#endif /* __cplusplus */
#endif
#ifndef __IDataObjectProvider_FWD_DEFINED__
#define __IDataObjectProvider_FWD_DEFINED__
typedef interface IDataObjectProvider IDataObjectProvider;
#ifdef __cplusplus
interface IDataObjectProvider;
#endif /* __cplusplus */
#endif
#ifndef __IDataTransferManagerInterop_FWD_DEFINED__
#define __IDataTransferManagerInterop_FWD_DEFINED__
typedef interface IDataTransferManagerInterop IDataTransferManagerInterop;
#ifdef __cplusplus
interface IDataTransferManagerInterop;
#endif /* __cplusplus */
#endif
#ifndef __IFrameworkInputPaneHandler_FWD_DEFINED__
#define __IFrameworkInputPaneHandler_FWD_DEFINED__
typedef interface IFrameworkInputPaneHandler IFrameworkInputPaneHandler;
#ifdef __cplusplus
interface IFrameworkInputPaneHandler;
#endif /* __cplusplus */
#endif
#ifndef __IFrameworkInputPane_FWD_DEFINED__
#define __IFrameworkInputPane_FWD_DEFINED__
typedef interface IFrameworkInputPane IFrameworkInputPane;
#ifdef __cplusplus
interface IFrameworkInputPane;
#endif /* __cplusplus */
#endif
#ifndef __ISearchableApplication_FWD_DEFINED__
#define __ISearchableApplication_FWD_DEFINED__
typedef interface ISearchableApplication ISearchableApplication;
#ifdef __cplusplus
interface ISearchableApplication;
#endif /* __cplusplus */
#endif
#ifndef __IAccessibilityDockingServiceCallback_FWD_DEFINED__
#define __IAccessibilityDockingServiceCallback_FWD_DEFINED__
typedef interface IAccessibilityDockingServiceCallback IAccessibilityDockingServiceCallback;
#ifdef __cplusplus
interface IAccessibilityDockingServiceCallback;
#endif /* __cplusplus */
#endif
#ifndef __IAccessibilityDockingService_FWD_DEFINED__
#define __IAccessibilityDockingService_FWD_DEFINED__
typedef interface IAccessibilityDockingService IAccessibilityDockingService;
#ifdef __cplusplus
interface IAccessibilityDockingService;
#endif /* __cplusplus */
#endif
#ifndef __IAppVisibilityEvents_FWD_DEFINED__
#define __IAppVisibilityEvents_FWD_DEFINED__
typedef interface IAppVisibilityEvents IAppVisibilityEvents;
#ifdef __cplusplus
interface IAppVisibilityEvents;
#endif /* __cplusplus */
#endif
#ifndef __IAppVisibility_FWD_DEFINED__
#define __IAppVisibility_FWD_DEFINED__
typedef interface IAppVisibility IAppVisibility;
#ifdef __cplusplus
interface IAppVisibility;
#endif /* __cplusplus */
#endif
#ifndef __IPackageExecutionStateChangeNotification_FWD_DEFINED__
#define __IPackageExecutionStateChangeNotification_FWD_DEFINED__
typedef interface IPackageExecutionStateChangeNotification IPackageExecutionStateChangeNotification;
#ifdef __cplusplus
interface IPackageExecutionStateChangeNotification;
#endif /* __cplusplus */
#endif
#ifndef __IPackageDebugSettings_FWD_DEFINED__
#define __IPackageDebugSettings_FWD_DEFINED__
typedef interface IPackageDebugSettings IPackageDebugSettings;
#ifdef __cplusplus
interface IPackageDebugSettings;
#endif /* __cplusplus */
#endif
#ifndef __IExecuteCommandApplicationHostEnvironment_FWD_DEFINED__
#define __IExecuteCommandApplicationHostEnvironment_FWD_DEFINED__
typedef interface IExecuteCommandApplicationHostEnvironment IExecuteCommandApplicationHostEnvironment;
#ifdef __cplusplus
interface IExecuteCommandApplicationHostEnvironment;
#endif /* __cplusplus */
#endif
#ifndef __IExecuteCommandHost_FWD_DEFINED__
#define __IExecuteCommandHost_FWD_DEFINED__
typedef interface IExecuteCommandHost IExecuteCommandHost;
#ifdef __cplusplus
interface IExecuteCommandHost;
#endif /* __cplusplus */
#endif
#ifndef __IApplicationDesignModeSettings_FWD_DEFINED__
#define __IApplicationDesignModeSettings_FWD_DEFINED__
typedef interface IApplicationDesignModeSettings IApplicationDesignModeSettings;
#ifdef __cplusplus
interface IApplicationDesignModeSettings;
#endif /* __cplusplus */
#endif
#ifndef __IInitializeWithWindow_FWD_DEFINED__
#define __IInitializeWithWindow_FWD_DEFINED__
typedef interface IInitializeWithWindow IInitializeWithWindow;
#ifdef __cplusplus
interface IInitializeWithWindow;
#endif /* __cplusplus */
#endif
#ifndef __IHandlerInfo_FWD_DEFINED__
#define __IHandlerInfo_FWD_DEFINED__
typedef interface IHandlerInfo IHandlerInfo;
#ifdef __cplusplus
interface IHandlerInfo;
#endif /* __cplusplus */
#endif
#ifndef __IHandlerActivationHost_FWD_DEFINED__
#define __IHandlerActivationHost_FWD_DEFINED__
typedef interface IHandlerActivationHost IHandlerActivationHost;
#ifdef __cplusplus
interface IHandlerActivationHost;
#endif /* __cplusplus */
#endif
/* Headers for imported files */
#include <objidl.h>
#include <oleidl.h>
#include <oaidl.h>
#include <docobj.h>
#include <shtypes.h>
#include <servprov.h>
#include <comcat.h>
#include <propidl.h>
#include <prsht.h>
#include <msxml.h>
#include <wtypes.h>
#include <propsys.h>
#include <objectarray.h>
#include <structuredquerycondition.h>
#ifdef __cplusplus
extern "C" {
#endif
/**
* This file is part of the mingw-w64 runtime package.
* No warranty is given; refer to the file DISCLAIMER within this package.
*/
#include <winapifamily.h>
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#include <_mingw_unicode.h>
#include <sherrors.h>
#ifndef SHSTDAPI
#ifdef _SHELL32_
#define SHSTDAPI STDAPI
#define SHSTDAPI_(type) STDAPI_(type)
#else
#define SHSTDAPI EXTERN_C DECLSPEC_IMPORT HRESULT STDAPICALLTYPE
#define SHSTDAPI_(type) EXTERN_C DECLSPEC_IMPORT type STDAPICALLTYPE
#endif
#endif
#define CMF_NORMAL 0x0
#define CMF_DEFAULTONLY 0x1
#define CMF_VERBSONLY 0x2
#define CMF_EXPLORE 0x4
#define CMF_NOVERBS 0x8
#define CMF_CANRENAME 0x10
#define CMF_NODEFAULT 0x20
#if NTDDI_VERSION < NTDDI_VISTA
#define CMF_INCLUDESTATIC 0x40
#endif
#if NTDDI_VERSION >= NTDDI_VISTA
#define CMF_ITEMMENU 0x80
#endif
#define CMF_EXTENDEDVERBS 0x100
#if NTDDI_VERSION >= NTDDI_VISTA
#define CMF_DISABLEDVERBS 0x200
#endif
#define CMF_ASYNCVERBSTATE 0x400
#define CMF_OPTIMIZEFORINVOKE 0x800
#define CMF_SYNCCASCADEMENU 0x1000
#define CMF_DONOTPICKDEFAULT 0x2000
#define CMF_RESERVED 0xffff0000
#define GCS_VERBA 0x0
#define GCS_HELPTEXTA 0x1
#define GCS_VALIDATEA 0x2
#define GCS_VERBW 0x4
#define GCS_HELPTEXTW 0x5
#define GCS_VALIDATEW 0x6
#define GCS_VERBICONW 0x14
#define GCS_UNICODE 0x4
#define GCS_VERB __MINGW_NAME_AW(GCS_VERB)
#define GCS_HELPTEXT __MINGW_NAME_AW(GCS_HELPTEXT)
#define GCS_VALIDATE __MINGW_NAME_AW(GCS_VALIDATE)
#define CMDSTR_NEWFOLDERA "NewFolder"
#define CMDSTR_VIEWLISTA "ViewList"
#define CMDSTR_VIEWDETAILSA "ViewDetails"
#define CMDSTR_NEWFOLDERW L"NewFolder"
#define CMDSTR_VIEWLISTW L"ViewList"
#define CMDSTR_VIEWDETAILSW L"ViewDetails"
#define CMDSTR_NEWFOLDER __MINGW_NAME_AW(CMDSTR_NEWFOLDER)
#define CMDSTR_VIEWLIST __MINGW_NAME_AW(CMDSTR_VIEWLIST)
#define CMDSTR_VIEWDETAILS __MINGW_NAME_AW(CMDSTR_VIEWDETAILS)
#define CMIC_MASK_HOTKEY SEE_MASK_HOTKEY
#define CMIC_MASK_ICON SEE_MASK_ICON
#define CMIC_MASK_FLAG_NO_UI SEE_MASK_FLAG_NO_UI
#define CMIC_MASK_UNICODE SEE_MASK_UNICODE
#define CMIC_MASK_NO_CONSOLE SEE_MASK_NO_CONSOLE
#if NTDDI_VERSION < NTDDI_VISTA
#define CMIC_MASK_HASLINKNAME SEE_MASK_HASLINKNAME
#define CMIC_MASK_HASTITLE SEE_MASK_HASTITLE
#endif
#define CMIC_MASK_FLAG_SEP_VDM SEE_MASK_FLAG_SEPVDM
#define CMIC_MASK_ASYNCOK SEE_MASK_ASYNCOK
#if NTDDI_VERSION >= NTDDI_VISTA
#define CMIC_MASK_NOASYNC SEE_MASK_NOASYNC
#endif
#define CMIC_MASK_SHIFT_DOWN 0x10000000
#define CMIC_MASK_CONTROL_DOWN 0x40000000
#define CMIC_MASK_FLAG_LOG_USAGE SEE_MASK_FLAG_LOG_USAGE
#define CMIC_MASK_NOZONECHECKS SEE_MASK_NOZONECHECKS
#define CMIC_MASK_PTINVOKE 0x20000000
#include <pshpack8.h>
typedef struct _CMINVOKECOMMANDINFO {
DWORD cbSize;
DWORD fMask;
HWND hwnd;
LPCSTR lpVerb;
LPCSTR lpParameters;
LPCSTR lpDirectory;
int nShow;
DWORD dwHotKey;
HANDLE hIcon;
} CMINVOKECOMMANDINFO;
typedef CMINVOKECOMMANDINFO *LPCMINVOKECOMMANDINFO;
typedef const CMINVOKECOMMANDINFO *PCCMINVOKECOMMANDINFO;
typedef struct _CMINVOKECOMMANDINFOEX {
DWORD cbSize;
DWORD fMask;
HWND hwnd;
LPCSTR lpVerb;
LPCSTR lpParameters;
LPCSTR lpDirectory;
int nShow;
DWORD dwHotKey;
HANDLE hIcon;
LPCSTR lpTitle;
LPCWSTR lpVerbW;
LPCWSTR lpParametersW;
LPCWSTR lpDirectoryW;
LPCWSTR lpTitleW;
POINT ptInvoke;
} CMINVOKECOMMANDINFOEX;
typedef CMINVOKECOMMANDINFOEX *LPCMINVOKECOMMANDINFOEX;
typedef const CMINVOKECOMMANDINFOEX *PCCMINVOKECOMMANDINFOEX;
#include <poppack.h>
/*****************************************************************************
* IContextMenu interface
*/
#ifndef __IContextMenu_INTERFACE_DEFINED__
#define __IContextMenu_INTERFACE_DEFINED__
DEFINE_GUID(IID_IContextMenu, 0x000214e4, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("000214e4-0000-0000-c000-000000000046")
IContextMenu : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE QueryContextMenu(
HMENU hmenu,
UINT indexMenu,
UINT idCmdFirst,
UINT idCmdLast,
UINT uFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE InvokeCommand(
CMINVOKECOMMANDINFO *pici) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCommandString(
UINT_PTR idCmd,
UINT uType,
UINT *pReserved,
CHAR *pszName,
UINT cchMax) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IContextMenu, 0x000214e4, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
#endif
#else
typedef struct IContextMenuVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IContextMenu *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IContextMenu *This);
ULONG (STDMETHODCALLTYPE *Release)(
IContextMenu *This);
/*** IContextMenu methods ***/
HRESULT (STDMETHODCALLTYPE *QueryContextMenu)(
IContextMenu *This,
HMENU hmenu,
UINT indexMenu,
UINT idCmdFirst,
UINT idCmdLast,
UINT uFlags);
HRESULT (STDMETHODCALLTYPE *InvokeCommand)(
IContextMenu *This,
CMINVOKECOMMANDINFO *pici);
HRESULT (STDMETHODCALLTYPE *GetCommandString)(
IContextMenu *This,
UINT_PTR idCmd,
UINT uType,
UINT *pReserved,
CHAR *pszName,
UINT cchMax);
END_INTERFACE
} IContextMenuVtbl;
interface IContextMenu {
CONST_VTBL IContextMenuVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IContextMenu_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IContextMenu_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IContextMenu_Release(This) (This)->lpVtbl->Release(This)
/*** IContextMenu methods ***/
#define IContextMenu_QueryContextMenu(This,hmenu,indexMenu,idCmdFirst,idCmdLast,uFlags) (This)->lpVtbl->QueryContextMenu(This,hmenu,indexMenu,idCmdFirst,idCmdLast,uFlags)
#define IContextMenu_InvokeCommand(This,pici) (This)->lpVtbl->InvokeCommand(This,pici)
#define IContextMenu_GetCommandString(This,idCmd,uType,pReserved,pszName,cchMax) (This)->lpVtbl->GetCommandString(This,idCmd,uType,pReserved,pszName,cchMax)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IContextMenu_QueryInterface(IContextMenu* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IContextMenu_AddRef(IContextMenu* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IContextMenu_Release(IContextMenu* This) {
return This->lpVtbl->Release(This);
}
/*** IContextMenu methods ***/
static FORCEINLINE HRESULT IContextMenu_QueryContextMenu(IContextMenu* This,HMENU hmenu,UINT indexMenu,UINT idCmdFirst,UINT idCmdLast,UINT uFlags) {
return This->lpVtbl->QueryContextMenu(This,hmenu,indexMenu,idCmdFirst,idCmdLast,uFlags);
}
static FORCEINLINE HRESULT IContextMenu_InvokeCommand(IContextMenu* This,CMINVOKECOMMANDINFO *pici) {
return This->lpVtbl->InvokeCommand(This,pici);
}
static FORCEINLINE HRESULT IContextMenu_GetCommandString(IContextMenu* This,UINT_PTR idCmd,UINT uType,UINT *pReserved,CHAR *pszName,UINT cchMax) {
return This->lpVtbl->GetCommandString(This,idCmd,uType,pReserved,pszName,cchMax);
}
#endif
#endif
#endif
#endif /* __IContextMenu_INTERFACE_DEFINED__ */
typedef IContextMenu *LPCONTEXTMENU;
/*****************************************************************************
* IContextMenu2 interface
*/
#ifndef __IContextMenu2_INTERFACE_DEFINED__
#define __IContextMenu2_INTERFACE_DEFINED__
DEFINE_GUID(IID_IContextMenu2, 0x000214f4, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("000214f4-0000-0000-c000-000000000046")
IContextMenu2 : public IContextMenu
{
virtual HRESULT STDMETHODCALLTYPE HandleMenuMsg(
UINT uMsg,
WPARAM wParam,
LPARAM lParam) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IContextMenu2, 0x000214f4, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
#endif
#else
typedef struct IContextMenu2Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IContextMenu2 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IContextMenu2 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IContextMenu2 *This);
/*** IContextMenu methods ***/
HRESULT (STDMETHODCALLTYPE *QueryContextMenu)(
IContextMenu2 *This,
HMENU hmenu,
UINT indexMenu,
UINT idCmdFirst,
UINT idCmdLast,
UINT uFlags);
HRESULT (STDMETHODCALLTYPE *InvokeCommand)(
IContextMenu2 *This,
CMINVOKECOMMANDINFO *pici);
HRESULT (STDMETHODCALLTYPE *GetCommandString)(
IContextMenu2 *This,
UINT_PTR idCmd,
UINT uType,
UINT *pReserved,
CHAR *pszName,
UINT cchMax);
/*** IContextMenu2 methods ***/
HRESULT (STDMETHODCALLTYPE *HandleMenuMsg)(
IContextMenu2 *This,
UINT uMsg,
WPARAM wParam,
LPARAM lParam);
END_INTERFACE
} IContextMenu2Vtbl;
interface IContextMenu2 {
CONST_VTBL IContextMenu2Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IContextMenu2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IContextMenu2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IContextMenu2_Release(This) (This)->lpVtbl->Release(This)
/*** IContextMenu methods ***/
#define IContextMenu2_QueryContextMenu(This,hmenu,indexMenu,idCmdFirst,idCmdLast,uFlags) (This)->lpVtbl->QueryContextMenu(This,hmenu,indexMenu,idCmdFirst,idCmdLast,uFlags)
#define IContextMenu2_InvokeCommand(This,pici) (This)->lpVtbl->InvokeCommand(This,pici)
#define IContextMenu2_GetCommandString(This,idCmd,uType,pReserved,pszName,cchMax) (This)->lpVtbl->GetCommandString(This,idCmd,uType,pReserved,pszName,cchMax)
/*** IContextMenu2 methods ***/
#define IContextMenu2_HandleMenuMsg(This,uMsg,wParam,lParam) (This)->lpVtbl->HandleMenuMsg(This,uMsg,wParam,lParam)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IContextMenu2_QueryInterface(IContextMenu2* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IContextMenu2_AddRef(IContextMenu2* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IContextMenu2_Release(IContextMenu2* This) {
return This->lpVtbl->Release(This);
}
/*** IContextMenu methods ***/
static FORCEINLINE HRESULT IContextMenu2_QueryContextMenu(IContextMenu2* This,HMENU hmenu,UINT indexMenu,UINT idCmdFirst,UINT idCmdLast,UINT uFlags) {
return This->lpVtbl->QueryContextMenu(This,hmenu,indexMenu,idCmdFirst,idCmdLast,uFlags);
}
static FORCEINLINE HRESULT IContextMenu2_InvokeCommand(IContextMenu2* This,CMINVOKECOMMANDINFO *pici) {
return This->lpVtbl->InvokeCommand(This,pici);
}
static FORCEINLINE HRESULT IContextMenu2_GetCommandString(IContextMenu2* This,UINT_PTR idCmd,UINT uType,UINT *pReserved,CHAR *pszName,UINT cchMax) {
return This->lpVtbl->GetCommandString(This,idCmd,uType,pReserved,pszName,cchMax);
}
/*** IContextMenu2 methods ***/
static FORCEINLINE HRESULT IContextMenu2_HandleMenuMsg(IContextMenu2* This,UINT uMsg,WPARAM wParam,LPARAM lParam) {
return This->lpVtbl->HandleMenuMsg(This,uMsg,wParam,lParam);
}
#endif
#endif
#endif
#endif /* __IContextMenu2_INTERFACE_DEFINED__ */
typedef IContextMenu2 *LPCONTEXTMENU2;
/*****************************************************************************
* IContextMenu3 interface
*/
#ifndef __IContextMenu3_INTERFACE_DEFINED__
#define __IContextMenu3_INTERFACE_DEFINED__
DEFINE_GUID(IID_IContextMenu3, 0xbcfce0a0, 0xec17, 0x11d0, 0x8d,0x10, 0x00,0xa0,0xc9,0x0f,0x27,0x19);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("bcfce0a0-ec17-11d0-8d10-00a0c90f2719")
IContextMenu3 : public IContextMenu2
{
virtual HRESULT STDMETHODCALLTYPE HandleMenuMsg2(
UINT uMsg,
WPARAM wParam,
LPARAM lParam,
LRESULT *plResult) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IContextMenu3, 0xbcfce0a0, 0xec17, 0x11d0, 0x8d,0x10, 0x00,0xa0,0xc9,0x0f,0x27,0x19)
#endif
#else
typedef struct IContextMenu3Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IContextMenu3 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IContextMenu3 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IContextMenu3 *This);
/*** IContextMenu methods ***/
HRESULT (STDMETHODCALLTYPE *QueryContextMenu)(
IContextMenu3 *This,
HMENU hmenu,
UINT indexMenu,
UINT idCmdFirst,
UINT idCmdLast,
UINT uFlags);
HRESULT (STDMETHODCALLTYPE *InvokeCommand)(
IContextMenu3 *This,
CMINVOKECOMMANDINFO *pici);
HRESULT (STDMETHODCALLTYPE *GetCommandString)(
IContextMenu3 *This,
UINT_PTR idCmd,
UINT uType,
UINT *pReserved,
CHAR *pszName,
UINT cchMax);
/*** IContextMenu2 methods ***/
HRESULT (STDMETHODCALLTYPE *HandleMenuMsg)(
IContextMenu3 *This,
UINT uMsg,
WPARAM wParam,
LPARAM lParam);
/*** IContextMenu3 methods ***/
HRESULT (STDMETHODCALLTYPE *HandleMenuMsg2)(
IContextMenu3 *This,
UINT uMsg,
WPARAM wParam,
LPARAM lParam,
LRESULT *plResult);
END_INTERFACE
} IContextMenu3Vtbl;
interface IContextMenu3 {
CONST_VTBL IContextMenu3Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IContextMenu3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IContextMenu3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IContextMenu3_Release(This) (This)->lpVtbl->Release(This)
/*** IContextMenu methods ***/
#define IContextMenu3_QueryContextMenu(This,hmenu,indexMenu,idCmdFirst,idCmdLast,uFlags) (This)->lpVtbl->QueryContextMenu(This,hmenu,indexMenu,idCmdFirst,idCmdLast,uFlags)
#define IContextMenu3_InvokeCommand(This,pici) (This)->lpVtbl->InvokeCommand(This,pici)
#define IContextMenu3_GetCommandString(This,idCmd,uType,pReserved,pszName,cchMax) (This)->lpVtbl->GetCommandString(This,idCmd,uType,pReserved,pszName,cchMax)
/*** IContextMenu2 methods ***/
#define IContextMenu3_HandleMenuMsg(This,uMsg,wParam,lParam) (This)->lpVtbl->HandleMenuMsg(This,uMsg,wParam,lParam)
/*** IContextMenu3 methods ***/
#define IContextMenu3_HandleMenuMsg2(This,uMsg,wParam,lParam,plResult) (This)->lpVtbl->HandleMenuMsg2(This,uMsg,wParam,lParam,plResult)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IContextMenu3_QueryInterface(IContextMenu3* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IContextMenu3_AddRef(IContextMenu3* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IContextMenu3_Release(IContextMenu3* This) {
return This->lpVtbl->Release(This);
}
/*** IContextMenu methods ***/
static FORCEINLINE HRESULT IContextMenu3_QueryContextMenu(IContextMenu3* This,HMENU hmenu,UINT indexMenu,UINT idCmdFirst,UINT idCmdLast,UINT uFlags) {
return This->lpVtbl->QueryContextMenu(This,hmenu,indexMenu,idCmdFirst,idCmdLast,uFlags);
}
static FORCEINLINE HRESULT IContextMenu3_InvokeCommand(IContextMenu3* This,CMINVOKECOMMANDINFO *pici) {
return This->lpVtbl->InvokeCommand(This,pici);
}
static FORCEINLINE HRESULT IContextMenu3_GetCommandString(IContextMenu3* This,UINT_PTR idCmd,UINT uType,UINT *pReserved,CHAR *pszName,UINT cchMax) {
return This->lpVtbl->GetCommandString(This,idCmd,uType,pReserved,pszName,cchMax);
}
/*** IContextMenu2 methods ***/
static FORCEINLINE HRESULT IContextMenu3_HandleMenuMsg(IContextMenu3* This,UINT uMsg,WPARAM wParam,LPARAM lParam) {
return This->lpVtbl->HandleMenuMsg(This,uMsg,wParam,lParam);
}
/*** IContextMenu3 methods ***/
static FORCEINLINE HRESULT IContextMenu3_HandleMenuMsg2(IContextMenu3* This,UINT uMsg,WPARAM wParam,LPARAM lParam,LRESULT *plResult) {
return This->lpVtbl->HandleMenuMsg2(This,uMsg,wParam,lParam,plResult);
}
#endif
#endif
#endif
#endif /* __IContextMenu3_INTERFACE_DEFINED__ */
typedef IContextMenu3 *LPCONTEXTMENU3;
/*****************************************************************************
* IExecuteCommand interface
*/
#ifndef __IExecuteCommand_INTERFACE_DEFINED__
#define __IExecuteCommand_INTERFACE_DEFINED__
DEFINE_GUID(IID_IExecuteCommand, 0x7f9185b0, 0xcb92, 0x43c5, 0x80,0xa9, 0x92,0x27,0x7a,0x4f,0x7b,0x54);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("7f9185b0-cb92-43c5-80a9-92277a4f7b54")
IExecuteCommand : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetKeyState(
DWORD grfKeyState) = 0;
virtual HRESULT STDMETHODCALLTYPE SetParameters(
LPCWSTR pszParameters) = 0;
virtual HRESULT STDMETHODCALLTYPE SetPosition(
POINT pt) = 0;
virtual HRESULT STDMETHODCALLTYPE SetShowWindow(
int nShow) = 0;
virtual HRESULT STDMETHODCALLTYPE SetNoShowUI(
WINBOOL fNoShowUI) = 0;
virtual HRESULT STDMETHODCALLTYPE SetDirectory(
LPCWSTR pszDirectory) = 0;
virtual HRESULT STDMETHODCALLTYPE Execute(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IExecuteCommand, 0x7f9185b0, 0xcb92, 0x43c5, 0x80,0xa9, 0x92,0x27,0x7a,0x4f,0x7b,0x54)
#endif
#else
typedef struct IExecuteCommandVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IExecuteCommand *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IExecuteCommand *This);
ULONG (STDMETHODCALLTYPE *Release)(
IExecuteCommand *This);
/*** IExecuteCommand methods ***/
HRESULT (STDMETHODCALLTYPE *SetKeyState)(
IExecuteCommand *This,
DWORD grfKeyState);
HRESULT (STDMETHODCALLTYPE *SetParameters)(
IExecuteCommand *This,
LPCWSTR pszParameters);
HRESULT (STDMETHODCALLTYPE *SetPosition)(
IExecuteCommand *This,
POINT pt);
HRESULT (STDMETHODCALLTYPE *SetShowWindow)(
IExecuteCommand *This,
int nShow);
HRESULT (STDMETHODCALLTYPE *SetNoShowUI)(
IExecuteCommand *This,
WINBOOL fNoShowUI);
HRESULT (STDMETHODCALLTYPE *SetDirectory)(
IExecuteCommand *This,
LPCWSTR pszDirectory);
HRESULT (STDMETHODCALLTYPE *Execute)(
IExecuteCommand *This);
END_INTERFACE
} IExecuteCommandVtbl;
interface IExecuteCommand {
CONST_VTBL IExecuteCommandVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IExecuteCommand_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IExecuteCommand_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IExecuteCommand_Release(This) (This)->lpVtbl->Release(This)
/*** IExecuteCommand methods ***/
#define IExecuteCommand_SetKeyState(This,grfKeyState) (This)->lpVtbl->SetKeyState(This,grfKeyState)
#define IExecuteCommand_SetParameters(This,pszParameters) (This)->lpVtbl->SetParameters(This,pszParameters)
#define IExecuteCommand_SetPosition(This,pt) (This)->lpVtbl->SetPosition(This,pt)
#define IExecuteCommand_SetShowWindow(This,nShow) (This)->lpVtbl->SetShowWindow(This,nShow)
#define IExecuteCommand_SetNoShowUI(This,fNoShowUI) (This)->lpVtbl->SetNoShowUI(This,fNoShowUI)
#define IExecuteCommand_SetDirectory(This,pszDirectory) (This)->lpVtbl->SetDirectory(This,pszDirectory)
#define IExecuteCommand_Execute(This) (This)->lpVtbl->Execute(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IExecuteCommand_QueryInterface(IExecuteCommand* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IExecuteCommand_AddRef(IExecuteCommand* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IExecuteCommand_Release(IExecuteCommand* This) {
return This->lpVtbl->Release(This);
}
/*** IExecuteCommand methods ***/
static FORCEINLINE HRESULT IExecuteCommand_SetKeyState(IExecuteCommand* This,DWORD grfKeyState) {
return This->lpVtbl->SetKeyState(This,grfKeyState);
}
static FORCEINLINE HRESULT IExecuteCommand_SetParameters(IExecuteCommand* This,LPCWSTR pszParameters) {
return This->lpVtbl->SetParameters(This,pszParameters);
}
static FORCEINLINE HRESULT IExecuteCommand_SetPosition(IExecuteCommand* This,POINT pt) {
return This->lpVtbl->SetPosition(This,pt);
}
static FORCEINLINE HRESULT IExecuteCommand_SetShowWindow(IExecuteCommand* This,int nShow) {
return This->lpVtbl->SetShowWindow(This,nShow);
}
static FORCEINLINE HRESULT IExecuteCommand_SetNoShowUI(IExecuteCommand* This,WINBOOL fNoShowUI) {
return This->lpVtbl->SetNoShowUI(This,fNoShowUI);
}
static FORCEINLINE HRESULT IExecuteCommand_SetDirectory(IExecuteCommand* This,LPCWSTR pszDirectory) {
return This->lpVtbl->SetDirectory(This,pszDirectory);
}
static FORCEINLINE HRESULT IExecuteCommand_Execute(IExecuteCommand* This) {
return This->lpVtbl->Execute(This);
}
#endif
#endif
#endif
#endif /* __IExecuteCommand_INTERFACE_DEFINED__ */
/*****************************************************************************
* IPersistFolder interface
*/
#ifndef __IPersistFolder_INTERFACE_DEFINED__
#define __IPersistFolder_INTERFACE_DEFINED__
DEFINE_GUID(IID_IPersistFolder, 0x000214ea, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("000214ea-0000-0000-c000-000000000046")
IPersistFolder : public IPersist
{
virtual HRESULT STDMETHODCALLTYPE Initialize(
PCIDLIST_ABSOLUTE pidl) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IPersistFolder, 0x000214ea, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
#endif
#else
typedef struct IPersistFolderVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IPersistFolder *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IPersistFolder *This);
ULONG (STDMETHODCALLTYPE *Release)(
IPersistFolder *This);
/*** IPersist methods ***/
HRESULT (STDMETHODCALLTYPE *GetClassID)(
IPersistFolder *This,
CLSID *pClassID);
/*** IPersistFolder methods ***/
HRESULT (STDMETHODCALLTYPE *Initialize)(
IPersistFolder *This,
PCIDLIST_ABSOLUTE pidl);
END_INTERFACE
} IPersistFolderVtbl;
interface IPersistFolder {
CONST_VTBL IPersistFolderVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IPersistFolder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IPersistFolder_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IPersistFolder_Release(This) (This)->lpVtbl->Release(This)
/*** IPersist methods ***/
#define IPersistFolder_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
/*** IPersistFolder methods ***/
#define IPersistFolder_Initialize(This,pidl) (This)->lpVtbl->Initialize(This,pidl)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IPersistFolder_QueryInterface(IPersistFolder* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IPersistFolder_AddRef(IPersistFolder* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IPersistFolder_Release(IPersistFolder* This) {
return This->lpVtbl->Release(This);
}
/*** IPersist methods ***/
static FORCEINLINE HRESULT IPersistFolder_GetClassID(IPersistFolder* This,CLSID *pClassID) {
return This->lpVtbl->GetClassID(This,pClassID);
}
/*** IPersistFolder methods ***/
static FORCEINLINE HRESULT IPersistFolder_Initialize(IPersistFolder* This,PCIDLIST_ABSOLUTE pidl) {
return This->lpVtbl->Initialize(This,pidl);
}
#endif
#endif
#endif
#endif /* __IPersistFolder_INTERFACE_DEFINED__ */
typedef IPersistFolder *LPPERSISTFOLDER;
#define IRTIR_TASK_NOT_RUNNING 0
#define IRTIR_TASK_RUNNING 1
#define IRTIR_TASK_SUSPENDED 2
#define IRTIR_TASK_PENDING 3
#define IRTIR_TASK_FINISHED 4
/*****************************************************************************
* IRunnableTask interface
*/
#ifndef __IRunnableTask_INTERFACE_DEFINED__
#define __IRunnableTask_INTERFACE_DEFINED__
DEFINE_GUID(IID_IRunnableTask, 0x85788d00, 0x6807, 0x11d0, 0xb8,0x10, 0x00,0xc0,0x4f,0xd7,0x06,0xec);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("85788d00-6807-11d0-b810-00c04fd706ec")
IRunnableTask : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Run(
) = 0;
virtual HRESULT STDMETHODCALLTYPE Kill(
WINBOOL bWait) = 0;
virtual HRESULT STDMETHODCALLTYPE Suspend(
) = 0;
virtual HRESULT STDMETHODCALLTYPE Resume(
) = 0;
virtual ULONG STDMETHODCALLTYPE IsRunning(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IRunnableTask, 0x85788d00, 0x6807, 0x11d0, 0xb8,0x10, 0x00,0xc0,0x4f,0xd7,0x06,0xec)
#endif
#else
typedef struct IRunnableTaskVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IRunnableTask *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IRunnableTask *This);
ULONG (STDMETHODCALLTYPE *Release)(
IRunnableTask *This);
/*** IRunnableTask methods ***/
HRESULT (STDMETHODCALLTYPE *Run)(
IRunnableTask *This);
HRESULT (STDMETHODCALLTYPE *Kill)(
IRunnableTask *This,
WINBOOL bWait);
HRESULT (STDMETHODCALLTYPE *Suspend)(
IRunnableTask *This);
HRESULT (STDMETHODCALLTYPE *Resume)(
IRunnableTask *This);
ULONG (STDMETHODCALLTYPE *IsRunning)(
IRunnableTask *This);
END_INTERFACE
} IRunnableTaskVtbl;
interface IRunnableTask {
CONST_VTBL IRunnableTaskVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IRunnableTask_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IRunnableTask_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IRunnableTask_Release(This) (This)->lpVtbl->Release(This)
/*** IRunnableTask methods ***/
#define IRunnableTask_Run(This) (This)->lpVtbl->Run(This)
#define IRunnableTask_Kill(This,bWait) (This)->lpVtbl->Kill(This,bWait)
#define IRunnableTask_Suspend(This) (This)->lpVtbl->Suspend(This)
#define IRunnableTask_Resume(This) (This)->lpVtbl->Resume(This)
#define IRunnableTask_IsRunning(This) (This)->lpVtbl->IsRunning(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IRunnableTask_QueryInterface(IRunnableTask* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IRunnableTask_AddRef(IRunnableTask* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IRunnableTask_Release(IRunnableTask* This) {
return This->lpVtbl->Release(This);
}
/*** IRunnableTask methods ***/
static FORCEINLINE HRESULT IRunnableTask_Run(IRunnableTask* This) {
return This->lpVtbl->Run(This);
}
static FORCEINLINE HRESULT IRunnableTask_Kill(IRunnableTask* This,WINBOOL bWait) {
return This->lpVtbl->Kill(This,bWait);
}
static FORCEINLINE HRESULT IRunnableTask_Suspend(IRunnableTask* This) {
return This->lpVtbl->Suspend(This);
}
static FORCEINLINE HRESULT IRunnableTask_Resume(IRunnableTask* This) {
return This->lpVtbl->Resume(This);
}
static FORCEINLINE ULONG IRunnableTask_IsRunning(IRunnableTask* This) {
return This->lpVtbl->IsRunning(This);
}
#endif
#endif
#endif
#endif /* __IRunnableTask_INTERFACE_DEFINED__ */
#define TOID_NULL GUID_NULL
#define ITSAT_DEFAULT_LPARAM ((DWORD_PTR)-1)
#define ITSAT_DEFAULT_PRIORITY 0x10000000
#define ITSAT_MAX_PRIORITY 0x7fffffff
#define ITSAT_MIN_PRIORITY 0x00000000
#define ITSSFLAG_COMPLETE_ON_DESTROY 0x0
#define ITSSFLAG_KILL_ON_DESTROY 0x1
#define ITSSFLAG_FLAGS_MASK 0x3
#define ITSS_THREAD_DESTROY_DEFAULT_TIMEOUT (10 * 1000)
#define ITSS_THREAD_TERMINATE_TIMEOUT (INFINITE)
#define ITSS_THREAD_TIMEOUT_NO_CHANGE (INFINITE - 1)
/*****************************************************************************
* IShellTaskScheduler interface
*/
#ifndef __IShellTaskScheduler_INTERFACE_DEFINED__
#define __IShellTaskScheduler_INTERFACE_DEFINED__
DEFINE_GUID(IID_IShellTaskScheduler, 0x6ccb7be0, 0x6807, 0x11d0, 0xb8,0x10, 0x00,0xc0,0x4f,0xd7,0x06,0xec);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("6ccb7be0-6807-11d0-b810-00c04fd706ec")
IShellTaskScheduler : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE AddTask(
IRunnableTask *prt,
REFTASKOWNERID rtoid,
DWORD_PTR lParam,
DWORD dwPriority) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveTasks(
REFTASKOWNERID rtoid,
DWORD_PTR lParam,
WINBOOL bWaitIfRunning) = 0;
virtual UINT STDMETHODCALLTYPE CountTasks(
REFTASKOWNERID rtoid) = 0;
virtual HRESULT STDMETHODCALLTYPE Status(
DWORD dwReleaseStatus,
DWORD dwThreadTimeout) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IShellTaskScheduler, 0x6ccb7be0, 0x6807, 0x11d0, 0xb8,0x10, 0x00,0xc0,0x4f,0xd7,0x06,0xec)
#endif
#else
typedef struct IShellTaskSchedulerVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IShellTaskScheduler *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IShellTaskScheduler *This);
ULONG (STDMETHODCALLTYPE *Release)(
IShellTaskScheduler *This);
/*** IShellTaskScheduler methods ***/
HRESULT (STDMETHODCALLTYPE *AddTask)(
IShellTaskScheduler *This,
IRunnableTask *prt,
REFTASKOWNERID rtoid,
DWORD_PTR lParam,
DWORD dwPriority);
HRESULT (STDMETHODCALLTYPE *RemoveTasks)(
IShellTaskScheduler *This,
REFTASKOWNERID rtoid,
DWORD_PTR lParam,
WINBOOL bWaitIfRunning);
UINT (STDMETHODCALLTYPE *CountTasks)(
IShellTaskScheduler *This,
REFTASKOWNERID rtoid);
HRESULT (STDMETHODCALLTYPE *Status)(
IShellTaskScheduler *This,
DWORD dwReleaseStatus,
DWORD dwThreadTimeout);
END_INTERFACE
} IShellTaskSchedulerVtbl;
interface IShellTaskScheduler {
CONST_VTBL IShellTaskSchedulerVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IShellTaskScheduler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IShellTaskScheduler_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IShellTaskScheduler_Release(This) (This)->lpVtbl->Release(This)
/*** IShellTaskScheduler methods ***/
#define IShellTaskScheduler_AddTask(This,prt,rtoid,lParam,dwPriority) (This)->lpVtbl->AddTask(This,prt,rtoid,lParam,dwPriority)
#define IShellTaskScheduler_RemoveTasks(This,rtoid,lParam,bWaitIfRunning) (This)->lpVtbl->RemoveTasks(This,rtoid,lParam,bWaitIfRunning)
#define IShellTaskScheduler_CountTasks(This,rtoid) (This)->lpVtbl->CountTasks(This,rtoid)
#define IShellTaskScheduler_Status(This,dwReleaseStatus,dwThreadTimeout) (This)->lpVtbl->Status(This,dwReleaseStatus,dwThreadTimeout)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IShellTaskScheduler_QueryInterface(IShellTaskScheduler* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IShellTaskScheduler_AddRef(IShellTaskScheduler* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IShellTaskScheduler_Release(IShellTaskScheduler* This) {
return This->lpVtbl->Release(This);
}
/*** IShellTaskScheduler methods ***/
static FORCEINLINE HRESULT IShellTaskScheduler_AddTask(IShellTaskScheduler* This,IRunnableTask *prt,REFTASKOWNERID rtoid,DWORD_PTR lParam,DWORD dwPriority) {
return This->lpVtbl->AddTask(This,prt,rtoid,lParam,dwPriority);
}
static FORCEINLINE HRESULT IShellTaskScheduler_RemoveTasks(IShellTaskScheduler* This,REFTASKOWNERID rtoid,DWORD_PTR lParam,WINBOOL bWaitIfRunning) {
return This->lpVtbl->RemoveTasks(This,rtoid,lParam,bWaitIfRunning);
}
static FORCEINLINE UINT IShellTaskScheduler_CountTasks(IShellTaskScheduler* This,REFTASKOWNERID rtoid) {
return This->lpVtbl->CountTasks(This,rtoid);
}
static FORCEINLINE HRESULT IShellTaskScheduler_Status(IShellTaskScheduler* This,DWORD dwReleaseStatus,DWORD dwThreadTimeout) {
return This->lpVtbl->Status(This,dwReleaseStatus,dwThreadTimeout);
}
#endif
#endif
#endif
#endif /* __IShellTaskScheduler_INTERFACE_DEFINED__ */
#define SID_ShellTaskScheduler IID_IShellTaskScheduler
/*****************************************************************************
* IQueryCodePage interface
*/
#ifndef __IQueryCodePage_INTERFACE_DEFINED__
#define __IQueryCodePage_INTERFACE_DEFINED__
DEFINE_GUID(IID_IQueryCodePage, 0xc7b236ce, 0xee80, 0x11d0, 0x98,0x5f, 0x00,0x60,0x08,0x05,0x93,0x82);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("c7b236ce-ee80-11d0-985f-006008059382")
IQueryCodePage : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetCodePage(
UINT *puiCodePage) = 0;
virtual HRESULT STDMETHODCALLTYPE SetCodePage(
UINT uiCodePage) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IQueryCodePage, 0xc7b236ce, 0xee80, 0x11d0, 0x98,0x5f, 0x00,0x60,0x08,0x05,0x93,0x82)
#endif
#else
typedef struct IQueryCodePageVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IQueryCodePage *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IQueryCodePage *This);
ULONG (STDMETHODCALLTYPE *Release)(
IQueryCodePage *This);
/*** IQueryCodePage methods ***/
HRESULT (STDMETHODCALLTYPE *GetCodePage)(
IQueryCodePage *This,
UINT *puiCodePage);
HRESULT (STDMETHODCALLTYPE *SetCodePage)(
IQueryCodePage *This,
UINT uiCodePage);
END_INTERFACE
} IQueryCodePageVtbl;
interface IQueryCodePage {
CONST_VTBL IQueryCodePageVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IQueryCodePage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IQueryCodePage_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IQueryCodePage_Release(This) (This)->lpVtbl->Release(This)
/*** IQueryCodePage methods ***/
#define IQueryCodePage_GetCodePage(This,puiCodePage) (This)->lpVtbl->GetCodePage(This,puiCodePage)
#define IQueryCodePage_SetCodePage(This,uiCodePage) (This)->lpVtbl->SetCodePage(This,uiCodePage)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IQueryCodePage_QueryInterface(IQueryCodePage* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IQueryCodePage_AddRef(IQueryCodePage* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IQueryCodePage_Release(IQueryCodePage* This) {
return This->lpVtbl->Release(This);
}
/*** IQueryCodePage methods ***/
static FORCEINLINE HRESULT IQueryCodePage_GetCodePage(IQueryCodePage* This,UINT *puiCodePage) {
return This->lpVtbl->GetCodePage(This,puiCodePage);
}
static FORCEINLINE HRESULT IQueryCodePage_SetCodePage(IQueryCodePage* This,UINT uiCodePage) {
return This->lpVtbl->SetCodePage(This,uiCodePage);
}
#endif
#endif
#endif
#endif /* __IQueryCodePage_INTERFACE_DEFINED__ */
/*****************************************************************************
* IPersistFolder2 interface
*/
#ifndef __IPersistFolder2_INTERFACE_DEFINED__
#define __IPersistFolder2_INTERFACE_DEFINED__
DEFINE_GUID(IID_IPersistFolder2, 0x1ac3d9f0, 0x175c, 0x11d1, 0x95,0xbe, 0x00,0x60,0x97,0x97,0xea,0x4f);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("1ac3d9f0-175c-11d1-95be-00609797ea4f")
IPersistFolder2 : public IPersistFolder
{
virtual HRESULT STDMETHODCALLTYPE GetCurFolder(
PIDLIST_ABSOLUTE *ppidl) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IPersistFolder2, 0x1ac3d9f0, 0x175c, 0x11d1, 0x95,0xbe, 0x00,0x60,0x97,0x97,0xea,0x4f)
#endif
#else
typedef struct IPersistFolder2Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IPersistFolder2 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IPersistFolder2 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IPersistFolder2 *This);
/*** IPersist methods ***/
HRESULT (STDMETHODCALLTYPE *GetClassID)(
IPersistFolder2 *This,
CLSID *pClassID);
/*** IPersistFolder methods ***/
HRESULT (STDMETHODCALLTYPE *Initialize)(
IPersistFolder2 *This,
PCIDLIST_ABSOLUTE pidl);
/*** IPersistFolder2 methods ***/
HRESULT (STDMETHODCALLTYPE *GetCurFolder)(
IPersistFolder2 *This,
PIDLIST_ABSOLUTE *ppidl);
END_INTERFACE
} IPersistFolder2Vtbl;
interface IPersistFolder2 {
CONST_VTBL IPersistFolder2Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IPersistFolder2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IPersistFolder2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IPersistFolder2_Release(This) (This)->lpVtbl->Release(This)
/*** IPersist methods ***/
#define IPersistFolder2_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
/*** IPersistFolder methods ***/
#define IPersistFolder2_Initialize(This,pidl) (This)->lpVtbl->Initialize(This,pidl)
/*** IPersistFolder2 methods ***/
#define IPersistFolder2_GetCurFolder(This,ppidl) (This)->lpVtbl->GetCurFolder(This,ppidl)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IPersistFolder2_QueryInterface(IPersistFolder2* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IPersistFolder2_AddRef(IPersistFolder2* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IPersistFolder2_Release(IPersistFolder2* This) {
return This->lpVtbl->Release(This);
}
/*** IPersist methods ***/
static FORCEINLINE HRESULT IPersistFolder2_GetClassID(IPersistFolder2* This,CLSID *pClassID) {
return This->lpVtbl->GetClassID(This,pClassID);
}
/*** IPersistFolder methods ***/
static FORCEINLINE HRESULT IPersistFolder2_Initialize(IPersistFolder2* This,PCIDLIST_ABSOLUTE pidl) {
return This->lpVtbl->Initialize(This,pidl);
}
/*** IPersistFolder2 methods ***/
static FORCEINLINE HRESULT IPersistFolder2_GetCurFolder(IPersistFolder2* This,PIDLIST_ABSOLUTE *ppidl) {
return This->lpVtbl->GetCurFolder(This,ppidl);
}
#endif
#endif
#endif
#endif /* __IPersistFolder2_INTERFACE_DEFINED__ */
#define CSIDL_FLAG_PFTI_TRACKTARGET CSIDL_FLAG_DONT_VERIFY
#include <pshpack8.h>
typedef struct _PERSIST_FOLDER_TARGET_INFO {
PIDLIST_ABSOLUTE pidlTargetFolder;
WCHAR szTargetParsingName[260];
WCHAR szNetworkProvider[260];
DWORD dwAttributes;
int csidl;
} PERSIST_FOLDER_TARGET_INFO;
#include <poppack.h>
/*****************************************************************************
* IPersistFolder3 interface
*/
#ifndef __IPersistFolder3_INTERFACE_DEFINED__
#define __IPersistFolder3_INTERFACE_DEFINED__
DEFINE_GUID(IID_IPersistFolder3, 0xcef04fdf, 0xfe72, 0x11d2, 0x87,0xa5, 0x00,0xc0,0x4f,0x68,0x37,0xcf);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("cef04fdf-fe72-11d2-87a5-00c04f6837cf")
IPersistFolder3 : public IPersistFolder2
{
virtual HRESULT STDMETHODCALLTYPE InitializeEx(
IBindCtx *pbc,
PCIDLIST_ABSOLUTE pidlRoot,
const PERSIST_FOLDER_TARGET_INFO *ppfti) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFolderTargetInfo(
PERSIST_FOLDER_TARGET_INFO *ppfti) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IPersistFolder3, 0xcef04fdf, 0xfe72, 0x11d2, 0x87,0xa5, 0x00,0xc0,0x4f,0x68,0x37,0xcf)
#endif
#else
typedef struct IPersistFolder3Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IPersistFolder3 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IPersistFolder3 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IPersistFolder3 *This);
/*** IPersist methods ***/
HRESULT (STDMETHODCALLTYPE *GetClassID)(
IPersistFolder3 *This,
CLSID *pClassID);
/*** IPersistFolder methods ***/
HRESULT (STDMETHODCALLTYPE *Initialize)(
IPersistFolder3 *This,
PCIDLIST_ABSOLUTE pidl);
/*** IPersistFolder2 methods ***/
HRESULT (STDMETHODCALLTYPE *GetCurFolder)(
IPersistFolder3 *This,
PIDLIST_ABSOLUTE *ppidl);
/*** IPersistFolder3 methods ***/
HRESULT (STDMETHODCALLTYPE *InitializeEx)(
IPersistFolder3 *This,
IBindCtx *pbc,
PCIDLIST_ABSOLUTE pidlRoot,
const PERSIST_FOLDER_TARGET_INFO *ppfti);
HRESULT (STDMETHODCALLTYPE *GetFolderTargetInfo)(
IPersistFolder3 *This,
PERSIST_FOLDER_TARGET_INFO *ppfti);
END_INTERFACE
} IPersistFolder3Vtbl;
interface IPersistFolder3 {
CONST_VTBL IPersistFolder3Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IPersistFolder3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IPersistFolder3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IPersistFolder3_Release(This) (This)->lpVtbl->Release(This)
/*** IPersist methods ***/
#define IPersistFolder3_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
/*** IPersistFolder methods ***/
#define IPersistFolder3_Initialize(This,pidl) (This)->lpVtbl->Initialize(This,pidl)
/*** IPersistFolder2 methods ***/
#define IPersistFolder3_GetCurFolder(This,ppidl) (This)->lpVtbl->GetCurFolder(This,ppidl)
/*** IPersistFolder3 methods ***/
#define IPersistFolder3_InitializeEx(This,pbc,pidlRoot,ppfti) (This)->lpVtbl->InitializeEx(This,pbc,pidlRoot,ppfti)
#define IPersistFolder3_GetFolderTargetInfo(This,ppfti) (This)->lpVtbl->GetFolderTargetInfo(This,ppfti)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IPersistFolder3_QueryInterface(IPersistFolder3* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IPersistFolder3_AddRef(IPersistFolder3* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IPersistFolder3_Release(IPersistFolder3* This) {
return This->lpVtbl->Release(This);
}
/*** IPersist methods ***/
static FORCEINLINE HRESULT IPersistFolder3_GetClassID(IPersistFolder3* This,CLSID *pClassID) {
return This->lpVtbl->GetClassID(This,pClassID);
}
/*** IPersistFolder methods ***/
static FORCEINLINE HRESULT IPersistFolder3_Initialize(IPersistFolder3* This,PCIDLIST_ABSOLUTE pidl) {
return This->lpVtbl->Initialize(This,pidl);
}
/*** IPersistFolder2 methods ***/
static FORCEINLINE HRESULT IPersistFolder3_GetCurFolder(IPersistFolder3* This,PIDLIST_ABSOLUTE *ppidl) {
return This->lpVtbl->GetCurFolder(This,ppidl);
}
/*** IPersistFolder3 methods ***/
static FORCEINLINE HRESULT IPersistFolder3_InitializeEx(IPersistFolder3* This,IBindCtx *pbc,PCIDLIST_ABSOLUTE pidlRoot,const PERSIST_FOLDER_TARGET_INFO *ppfti) {
return This->lpVtbl->InitializeEx(This,pbc,pidlRoot,ppfti);
}
static FORCEINLINE HRESULT IPersistFolder3_GetFolderTargetInfo(IPersistFolder3* This,PERSIST_FOLDER_TARGET_INFO *ppfti) {
return This->lpVtbl->GetFolderTargetInfo(This,ppfti);
}
#endif
#endif
#endif
#endif /* __IPersistFolder3_INTERFACE_DEFINED__ */
/*****************************************************************************
* IPersistIDList interface
*/
#ifndef __IPersistIDList_INTERFACE_DEFINED__
#define __IPersistIDList_INTERFACE_DEFINED__
DEFINE_GUID(IID_IPersistIDList, 0x1079acfc, 0x29bd, 0x11d3, 0x8e,0x0d, 0x00,0xc0,0x4f,0x68,0x37,0xd5);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("1079acfc-29bd-11d3-8e0d-00c04f6837d5")
IPersistIDList : public IPersist
{
virtual HRESULT STDMETHODCALLTYPE SetIDList(
PCIDLIST_ABSOLUTE pidl) = 0;
virtual HRESULT STDMETHODCALLTYPE GetIDList(
PIDLIST_ABSOLUTE *ppidl) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IPersistIDList, 0x1079acfc, 0x29bd, 0x11d3, 0x8e,0x0d, 0x00,0xc0,0x4f,0x68,0x37,0xd5)
#endif
#else
typedef struct IPersistIDListVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IPersistIDList *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IPersistIDList *This);
ULONG (STDMETHODCALLTYPE *Release)(
IPersistIDList *This);
/*** IPersist methods ***/
HRESULT (STDMETHODCALLTYPE *GetClassID)(
IPersistIDList *This,
CLSID *pClassID);
/*** IPersistIDList methods ***/
HRESULT (STDMETHODCALLTYPE *SetIDList)(
IPersistIDList *This,
PCIDLIST_ABSOLUTE pidl);
HRESULT (STDMETHODCALLTYPE *GetIDList)(
IPersistIDList *This,
PIDLIST_ABSOLUTE *ppidl);
END_INTERFACE
} IPersistIDListVtbl;
interface IPersistIDList {
CONST_VTBL IPersistIDListVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IPersistIDList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IPersistIDList_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IPersistIDList_Release(This) (This)->lpVtbl->Release(This)
/*** IPersist methods ***/
#define IPersistIDList_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
/*** IPersistIDList methods ***/
#define IPersistIDList_SetIDList(This,pidl) (This)->lpVtbl->SetIDList(This,pidl)
#define IPersistIDList_GetIDList(This,ppidl) (This)->lpVtbl->GetIDList(This,ppidl)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IPersistIDList_QueryInterface(IPersistIDList* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IPersistIDList_AddRef(IPersistIDList* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IPersistIDList_Release(IPersistIDList* This) {
return This->lpVtbl->Release(This);
}
/*** IPersist methods ***/
static FORCEINLINE HRESULT IPersistIDList_GetClassID(IPersistIDList* This,CLSID *pClassID) {
return This->lpVtbl->GetClassID(This,pClassID);
}
/*** IPersistIDList methods ***/
static FORCEINLINE HRESULT IPersistIDList_SetIDList(IPersistIDList* This,PCIDLIST_ABSOLUTE pidl) {
return This->lpVtbl->SetIDList(This,pidl);
}
static FORCEINLINE HRESULT IPersistIDList_GetIDList(IPersistIDList* This,PIDLIST_ABSOLUTE *ppidl) {
return This->lpVtbl->GetIDList(This,ppidl);
}
#endif
#endif
#endif
#endif /* __IPersistIDList_INTERFACE_DEFINED__ */
/*****************************************************************************
* IEnumIDList interface
*/
#ifndef __IEnumIDList_INTERFACE_DEFINED__
#define __IEnumIDList_INTERFACE_DEFINED__
DEFINE_GUID(IID_IEnumIDList, 0x000214f2, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("000214f2-0000-0000-c000-000000000046")
IEnumIDList : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Next(
ULONG celt,
PITEMID_CHILD *rgelt,
ULONG *pceltFetched) = 0;
virtual HRESULT STDMETHODCALLTYPE Skip(
ULONG celt) = 0;
virtual HRESULT STDMETHODCALLTYPE Reset(
) = 0;
virtual HRESULT STDMETHODCALLTYPE Clone(
IEnumIDList **ppenum) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IEnumIDList, 0x000214f2, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
#endif
#else
typedef struct IEnumIDListVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IEnumIDList *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IEnumIDList *This);
ULONG (STDMETHODCALLTYPE *Release)(
IEnumIDList *This);
/*** IEnumIDList methods ***/
HRESULT (STDMETHODCALLTYPE *Next)(
IEnumIDList *This,
ULONG celt,
PITEMID_CHILD *rgelt,
ULONG *pceltFetched);
HRESULT (STDMETHODCALLTYPE *Skip)(
IEnumIDList *This,
ULONG celt);
HRESULT (STDMETHODCALLTYPE *Reset)(
IEnumIDList *This);
HRESULT (STDMETHODCALLTYPE *Clone)(
IEnumIDList *This,
IEnumIDList **ppenum);
END_INTERFACE
} IEnumIDListVtbl;
interface IEnumIDList {
CONST_VTBL IEnumIDListVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IEnumIDList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IEnumIDList_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IEnumIDList_Release(This) (This)->lpVtbl->Release(This)
/*** IEnumIDList methods ***/
#define IEnumIDList_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
#define IEnumIDList_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
#define IEnumIDList_Reset(This) (This)->lpVtbl->Reset(This)
#define IEnumIDList_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IEnumIDList_QueryInterface(IEnumIDList* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IEnumIDList_AddRef(IEnumIDList* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IEnumIDList_Release(IEnumIDList* This) {
return This->lpVtbl->Release(This);
}
/*** IEnumIDList methods ***/
static FORCEINLINE HRESULT IEnumIDList_Next(IEnumIDList* This,ULONG celt,PITEMID_CHILD *rgelt,ULONG *pceltFetched) {
return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
}
static FORCEINLINE HRESULT IEnumIDList_Skip(IEnumIDList* This,ULONG celt) {
return This->lpVtbl->Skip(This,celt);
}
static FORCEINLINE HRESULT IEnumIDList_Reset(IEnumIDList* This) {
return This->lpVtbl->Reset(This);
}
static FORCEINLINE HRESULT IEnumIDList_Clone(IEnumIDList* This,IEnumIDList **ppenum) {
return This->lpVtbl->Clone(This,ppenum);
}
#endif
#endif
#endif
HRESULT STDMETHODCALLTYPE IEnumIDList_RemoteNext_Proxy(
IEnumIDList* This,
ULONG celt,
PITEMID_CHILD *rgelt,
ULONG *pceltFetched);
void __RPC_STUB IEnumIDList_RemoteNext_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IEnumIDList_Next_Proxy(
IEnumIDList* This,
ULONG celt,
PITEMID_CHILD *rgelt,
ULONG *pceltFetched);
HRESULT __RPC_STUB IEnumIDList_Next_Stub(
IEnumIDList* This,
ULONG celt,
PITEMID_CHILD *rgelt,
ULONG *pceltFetched);
#endif /* __IEnumIDList_INTERFACE_DEFINED__ */
typedef IEnumIDList *LPENUMIDLIST;
/*****************************************************************************
* IEnumFullIDList interface
*/
#ifndef __IEnumFullIDList_INTERFACE_DEFINED__
#define __IEnumFullIDList_INTERFACE_DEFINED__
DEFINE_GUID(IID_IEnumFullIDList, 0xd0191542, 0x7954, 0x4908, 0xbc,0x06, 0xb2,0x36,0x0b,0xbe,0x45,0xba);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("d0191542-7954-4908-bc06-b2360bbe45ba")
IEnumFullIDList : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Next(
ULONG celt,
PIDLIST_ABSOLUTE *rgelt,
ULONG *pceltFetched) = 0;
virtual HRESULT STDMETHODCALLTYPE Skip(
ULONG celt) = 0;
virtual HRESULT STDMETHODCALLTYPE Reset(
) = 0;
virtual HRESULT STDMETHODCALLTYPE Clone(
IEnumFullIDList **ppenum) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IEnumFullIDList, 0xd0191542, 0x7954, 0x4908, 0xbc,0x06, 0xb2,0x36,0x0b,0xbe,0x45,0xba)
#endif
#else
typedef struct IEnumFullIDListVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IEnumFullIDList *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IEnumFullIDList *This);
ULONG (STDMETHODCALLTYPE *Release)(
IEnumFullIDList *This);
/*** IEnumFullIDList methods ***/
HRESULT (STDMETHODCALLTYPE *Next)(
IEnumFullIDList *This,
ULONG celt,
PIDLIST_ABSOLUTE *rgelt,
ULONG *pceltFetched);
HRESULT (STDMETHODCALLTYPE *Skip)(
IEnumFullIDList *This,
ULONG celt);
HRESULT (STDMETHODCALLTYPE *Reset)(
IEnumFullIDList *This);
HRESULT (STDMETHODCALLTYPE *Clone)(
IEnumFullIDList *This,
IEnumFullIDList **ppenum);
END_INTERFACE
} IEnumFullIDListVtbl;
interface IEnumFullIDList {
CONST_VTBL IEnumFullIDListVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IEnumFullIDList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IEnumFullIDList_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IEnumFullIDList_Release(This) (This)->lpVtbl->Release(This)
/*** IEnumFullIDList methods ***/
#define IEnumFullIDList_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
#define IEnumFullIDList_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
#define IEnumFullIDList_Reset(This) (This)->lpVtbl->Reset(This)
#define IEnumFullIDList_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IEnumFullIDList_QueryInterface(IEnumFullIDList* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IEnumFullIDList_AddRef(IEnumFullIDList* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IEnumFullIDList_Release(IEnumFullIDList* This) {
return This->lpVtbl->Release(This);
}
/*** IEnumFullIDList methods ***/
static FORCEINLINE HRESULT IEnumFullIDList_Next(IEnumFullIDList* This,ULONG celt,PIDLIST_ABSOLUTE *rgelt,ULONG *pceltFetched) {
return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
}
static FORCEINLINE HRESULT IEnumFullIDList_Skip(IEnumFullIDList* This,ULONG celt) {
return This->lpVtbl->Skip(This,celt);
}
static FORCEINLINE HRESULT IEnumFullIDList_Reset(IEnumFullIDList* This) {
return This->lpVtbl->Reset(This);
}
static FORCEINLINE HRESULT IEnumFullIDList_Clone(IEnumFullIDList* This,IEnumFullIDList **ppenum) {
return This->lpVtbl->Clone(This,ppenum);
}
#endif
#endif
#endif
HRESULT STDMETHODCALLTYPE IEnumFullIDList_RemoteNext_Proxy(
IEnumFullIDList* This,
ULONG celt,
PIDLIST_ABSOLUTE *rgelt,
ULONG *pceltFetched);
void __RPC_STUB IEnumFullIDList_RemoteNext_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IEnumFullIDList_Next_Proxy(
IEnumFullIDList* This,
ULONG celt,
PIDLIST_ABSOLUTE *rgelt,
ULONG *pceltFetched);
HRESULT __RPC_STUB IEnumFullIDList_Next_Stub(
IEnumFullIDList* This,
ULONG celt,
PIDLIST_ABSOLUTE *rgelt,
ULONG *pceltFetched);
#endif /* __IEnumFullIDList_INTERFACE_DEFINED__ */
enum _SHGDNF {
SHGDN_NORMAL = 0x0,
SHGDN_INFOLDER = 0x1,
SHGDN_FOREDITING = 0x1000,
SHGDN_FORADDRESSBAR = 0x4000,
SHGDN_FORPARSING = 0x8000
};
typedef DWORD SHGDNF;
enum _SHCONTF {
SHCONTF_CHECKING_FOR_CHILDREN = 0x10,
SHCONTF_FOLDERS = 0x20,
SHCONTF_NONFOLDERS = 0x40,
SHCONTF_INCLUDEHIDDEN = 0x80,
SHCONTF_INIT_ON_FIRST_NEXT = 0x100,
SHCONTF_NETPRINTERSRCH = 0x200,
SHCONTF_SHAREABLE = 0x400,
SHCONTF_STORAGE = 0x800,
SHCONTF_NAVIGATION_ENUM = 0x1000,
SHCONTF_FASTITEMS = 0x2000,
SHCONTF_FLATLIST = 0x4000,
SHCONTF_ENABLE_ASYNC = 0x8000,
SHCONTF_INCLUDESUPERHIDDEN = 0x10000
};
typedef DWORD SHCONTF;
#define SHCIDS_ALLFIELDS __MSABI_LONG(0x80000000)
#define SHCIDS_CANONICALONLY __MSABI_LONG(0x10000000)
#define SHCIDS_BITMASK __MSABI_LONG(0xffff0000)
#define SHCIDS_COLUMNMASK __MSABI_LONG(0x0000ffff)
#define SFGAO_CANCOPY DROPEFFECT_COPY
#define SFGAO_CANMOVE DROPEFFECT_MOVE
#define SFGAO_CANLINK DROPEFFECT_LINK
#define SFGAO_STORAGE __MSABI_LONG(0x8)
#define SFGAO_CANRENAME __MSABI_LONG(0x10)
#define SFGAO_CANDELETE __MSABI_LONG(0x20)
#define SFGAO_HASPROPSHEET __MSABI_LONG(0x40)
#define SFGAO_DROPTARGET __MSABI_LONG(0x100)
#define SFGAO_CAPABILITYMASK __MSABI_LONG(0x177)
#define SFGAO_SYSTEM __MSABI_LONG(0x1000)
#define SFGAO_ENCRYPTED __MSABI_LONG(0x2000)
#define SFGAO_ISSLOW __MSABI_LONG(0x4000)
#define SFGAO_GHOSTED __MSABI_LONG(0x8000)
#define SFGAO_LINK __MSABI_LONG(0x10000)
#define SFGAO_SHARE __MSABI_LONG(0x20000)
#define SFGAO_READONLY __MSABI_LONG(0x40000)
#define SFGAO_HIDDEN __MSABI_LONG(0x80000)
#define SFGAO_DISPLAYATTRMASK __MSABI_LONG(0xfc000)
#define SFGAO_FILESYSANCESTOR __MSABI_LONG(0x10000000)
#define SFGAO_FOLDER __MSABI_LONG(0x20000000)
#define SFGAO_FILESYSTEM __MSABI_LONG(0x40000000)
#define SFGAO_HASSUBFOLDER __MSABI_LONG(0x80000000)
#define SFGAO_CONTENTSMASK __MSABI_LONG(0x80000000)
#define SFGAO_VALIDATE __MSABI_LONG(0x1000000)
#define SFGAO_REMOVABLE __MSABI_LONG(0x2000000)
#define SFGAO_COMPRESSED __MSABI_LONG(0x4000000)
#define SFGAO_BROWSABLE __MSABI_LONG(0x8000000)
#define SFGAO_NONENUMERATED __MSABI_LONG(0x100000)
#define SFGAO_NEWCONTENT __MSABI_LONG(0x200000)
#define SFGAO_CANMONIKER __MSABI_LONG(0x400000)
#define SFGAO_HASSTORAGE __MSABI_LONG(0x400000)
#define SFGAO_STREAM __MSABI_LONG(0x400000)
#define SFGAO_STORAGEANCESTOR __MSABI_LONG(0x00800000)
#define SFGAO_STORAGECAPMASK __MSABI_LONG(0x70c50008)
#define SFGAO_PKEYSFGAOMASK __MSABI_LONG(0x81044000)
typedef ULONG SFGAOF;
#define STR_BIND_FORCE_FOLDER_SHORTCUT_RESOLVE L"Force Folder Shortcut Resolve"
#define STR_AVOID_DRIVE_RESTRICTION_POLICY L"Avoid Drive Restriction Policy"
#define STR_AVOID_DRIVE_RESTRICTION_POLICY L"Avoid Drive Restriction Policy"
#define STR_SKIP_BINDING_CLSID L"Skip Binding CLSID"
#define STR_PARSE_PREFER_FOLDER_BROWSING L"Parse Prefer Folder Browsing"
#define STR_DONT_PARSE_RELATIVE L"Don't Parse Relative"
#define STR_PARSE_TRANSLATE_ALIASES L"Parse Translate Aliases"
#define STR_PARSE_SKIP_NET_CACHE L"Skip Net Resource Cache"
#define STR_PARSE_SHELL_PROTOCOL_TO_FILE_OBJECTS L"Parse Shell Protocol To File Objects"
#if _WIN32_IE >= 0x0700
#define STR_TRACK_CLSID L"Track the CLSID"
#define STR_INTERNAL_NAVIGATE L"Internal Navigation"
#define STR_PARSE_PROPERTYSTORE L"DelegateNamedProperties"
#define STR_NO_VALIDATE_FILENAME_CHARS L"NoValidateFilenameChars"
#define STR_BIND_DELEGATE_CREATE_OBJECT L"Delegate Object Creation"
#define STR_PARSE_ALLOW_INTERNET_SHELL_FOLDERS L"Allow binding to Internet shell folder handlers and negate STR_PARSE_PREFER_WEB_BROWSING"
#define STR_PARSE_PREFER_WEB_BROWSING L"Do not bind to Internet shell folder handlers"
#define STR_PARSE_SHOW_NET_DIAGNOSTICS_UI L"Show network diagnostics UI"
#define STR_PARSE_DONT_REQUIRE_VALIDATED_URLS L"Do not require validated URLs"
#define STR_INTERNETFOLDER_PARSE_ONLY_URLMON_BINDABLE L"Validate URL"
#endif
#if NTDDI_VERSION >= NTDDI_WIN8
#define BIND_INTERRUPTABLE 0xffffffff
#endif
#if NTDDI_VERSION >= NTDDI_WIN7
#define STR_BIND_FOLDERS_READ_ONLY L"Folders As Read Only"
#define STR_BIND_FOLDER_ENUM_MODE L"Folder Enum Mode"
typedef enum FOLDER_ENUM_MODE {
FEM_VIEWRESULT = 0,
FEM_NAVIGATION = 1
} FOLDER_ENUM_MODE;
/*****************************************************************************
* IObjectWithFolderEnumMode interface
*/
#ifndef __IObjectWithFolderEnumMode_INTERFACE_DEFINED__
#define __IObjectWithFolderEnumMode_INTERFACE_DEFINED__
DEFINE_GUID(IID_IObjectWithFolderEnumMode, 0x6a9d9026, 0x0e6e, 0x464c, 0xb0,0x00, 0x42,0xec,0xc0,0x7d,0xe6,0x73);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("6a9d9026-0e6e-464c-b000-42ecc07de673")
IObjectWithFolderEnumMode : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetMode(
FOLDER_ENUM_MODE feMode) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMode(
FOLDER_ENUM_MODE *pfeMode) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IObjectWithFolderEnumMode, 0x6a9d9026, 0x0e6e, 0x464c, 0xb0,0x00, 0x42,0xec,0xc0,0x7d,0xe6,0x73)
#endif
#else
typedef struct IObjectWithFolderEnumModeVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IObjectWithFolderEnumMode *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IObjectWithFolderEnumMode *This);
ULONG (STDMETHODCALLTYPE *Release)(
IObjectWithFolderEnumMode *This);
/*** IObjectWithFolderEnumMode methods ***/
HRESULT (STDMETHODCALLTYPE *SetMode)(
IObjectWithFolderEnumMode *This,
FOLDER_ENUM_MODE feMode);
HRESULT (STDMETHODCALLTYPE *GetMode)(
IObjectWithFolderEnumMode *This,
FOLDER_ENUM_MODE *pfeMode);
END_INTERFACE
} IObjectWithFolderEnumModeVtbl;
interface IObjectWithFolderEnumMode {
CONST_VTBL IObjectWithFolderEnumModeVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IObjectWithFolderEnumMode_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IObjectWithFolderEnumMode_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IObjectWithFolderEnumMode_Release(This) (This)->lpVtbl->Release(This)
/*** IObjectWithFolderEnumMode methods ***/
#define IObjectWithFolderEnumMode_SetMode(This,feMode) (This)->lpVtbl->SetMode(This,feMode)
#define IObjectWithFolderEnumMode_GetMode(This,pfeMode) (This)->lpVtbl->GetMode(This,pfeMode)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IObjectWithFolderEnumMode_QueryInterface(IObjectWithFolderEnumMode* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IObjectWithFolderEnumMode_AddRef(IObjectWithFolderEnumMode* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IObjectWithFolderEnumMode_Release(IObjectWithFolderEnumMode* This) {
return This->lpVtbl->Release(This);
}
/*** IObjectWithFolderEnumMode methods ***/
static FORCEINLINE HRESULT IObjectWithFolderEnumMode_SetMode(IObjectWithFolderEnumMode* This,FOLDER_ENUM_MODE feMode) {
return This->lpVtbl->SetMode(This,feMode);
}
static FORCEINLINE HRESULT IObjectWithFolderEnumMode_GetMode(IObjectWithFolderEnumMode* This,FOLDER_ENUM_MODE *pfeMode) {
return This->lpVtbl->GetMode(This,pfeMode);
}
#endif
#endif
#endif
#endif /* __IObjectWithFolderEnumMode_INTERFACE_DEFINED__ */
#define STR_PARSE_WITH_EXPLICIT_PROGID L"ExplicitProgid"
#define STR_PARSE_WITH_EXPLICIT_ASSOCAPP L"ExplicitAssociationApp"
#define STR_PARSE_EXPLICIT_ASSOCIATION_SUCCESSFUL L"ExplicitAssociationSuccessful"
#define STR_PARSE_AND_CREATE_ITEM L"ParseAndCreateItem"
#define STR_PROPERTYBAG_PARAM L"SHBindCtxPropertyBag"
#define STR_ENUM_ITEMS_FLAGS L"SHCONTF"
#ifndef __IShellItem_FWD_DEFINED__
#define __IShellItem_FWD_DEFINED__
typedef interface IShellItem IShellItem;
#ifdef __cplusplus
interface IShellItem;
#endif /* __cplusplus */
#endif
/*****************************************************************************
* IParseAndCreateItem interface
*/
#ifndef __IParseAndCreateItem_INTERFACE_DEFINED__
#define __IParseAndCreateItem_INTERFACE_DEFINED__
DEFINE_GUID(IID_IParseAndCreateItem, 0x67efed0e, 0xe827, 0x4408, 0xb4,0x93, 0x78,0xf3,0x98,0x2b,0x68,0x5c);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("67efed0e-e827-4408-b493-78f3982b685c")
IParseAndCreateItem : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetItem(
IShellItem *psi) = 0;
virtual HRESULT STDMETHODCALLTYPE GetItem(
REFIID riid,
void **ppv) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IParseAndCreateItem, 0x67efed0e, 0xe827, 0x4408, 0xb4,0x93, 0x78,0xf3,0x98,0x2b,0x68,0x5c)
#endif
#else
typedef struct IParseAndCreateItemVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IParseAndCreateItem *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IParseAndCreateItem *This);
ULONG (STDMETHODCALLTYPE *Release)(
IParseAndCreateItem *This);
/*** IParseAndCreateItem methods ***/
HRESULT (STDMETHODCALLTYPE *SetItem)(
IParseAndCreateItem *This,
IShellItem *psi);
HRESULT (STDMETHODCALLTYPE *GetItem)(
IParseAndCreateItem *This,
REFIID riid,
void **ppv);
END_INTERFACE
} IParseAndCreateItemVtbl;
interface IParseAndCreateItem {
CONST_VTBL IParseAndCreateItemVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IParseAndCreateItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IParseAndCreateItem_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IParseAndCreateItem_Release(This) (This)->lpVtbl->Release(This)
/*** IParseAndCreateItem methods ***/
#define IParseAndCreateItem_SetItem(This,psi) (This)->lpVtbl->SetItem(This,psi)
#define IParseAndCreateItem_GetItem(This,riid,ppv) (This)->lpVtbl->GetItem(This,riid,ppv)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IParseAndCreateItem_QueryInterface(IParseAndCreateItem* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IParseAndCreateItem_AddRef(IParseAndCreateItem* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IParseAndCreateItem_Release(IParseAndCreateItem* This) {
return This->lpVtbl->Release(This);
}
/*** IParseAndCreateItem methods ***/
static FORCEINLINE HRESULT IParseAndCreateItem_SetItem(IParseAndCreateItem* This,IShellItem *psi) {
return This->lpVtbl->SetItem(This,psi);
}
static FORCEINLINE HRESULT IParseAndCreateItem_GetItem(IParseAndCreateItem* This,REFIID riid,void **ppv) {
return This->lpVtbl->GetItem(This,riid,ppv);
}
#endif
#endif
#endif
#endif /* __IParseAndCreateItem_INTERFACE_DEFINED__ */
#define STR_ITEM_CACHE_CONTEXT L"ItemCacheContext"
#endif
#ifndef __IShellFolder_FWD_DEFINED__
#define __IShellFolder_FWD_DEFINED__
typedef interface IShellFolder IShellFolder;
#ifdef __cplusplus
interface IShellFolder;
#endif /* __cplusplus */
#endif
/*****************************************************************************
* IShellFolder interface
*/
#ifndef __IShellFolder_INTERFACE_DEFINED__
#define __IShellFolder_INTERFACE_DEFINED__
DEFINE_GUID(IID_IShellFolder, 0x000214e6, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("000214e6-0000-0000-c000-000000000046")
IShellFolder : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE ParseDisplayName(
HWND hwnd,
IBindCtx *pbc,
LPWSTR pszDisplayName,
ULONG *pchEaten,
PIDLIST_RELATIVE *ppidl,
ULONG *pdwAttributes) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumObjects(
HWND hwnd,
SHCONTF grfFlags,
IEnumIDList **ppenumIDList) = 0;
virtual HRESULT STDMETHODCALLTYPE BindToObject(
PCUIDLIST_RELATIVE pidl,
IBindCtx *pbc,
REFIID riid,
void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE BindToStorage(
PCUIDLIST_RELATIVE pidl,
IBindCtx *pbc,
REFIID riid,
void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE CompareIDs(
LPARAM lParam,
PCUIDLIST_RELATIVE pidl1,
PCUIDLIST_RELATIVE pidl2) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateViewObject(
HWND hwndOwner,
REFIID riid,
void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAttributesOf(
UINT cidl,
PCUITEMID_CHILD_ARRAY apidl,
SFGAOF *rgfInOut) = 0;
virtual HRESULT STDMETHODCALLTYPE GetUIObjectOf(
HWND hwndOwner,
UINT cidl,
PCUITEMID_CHILD_ARRAY apidl,
REFIID riid,
UINT *rgfReserved,
void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDisplayNameOf(
PCUITEMID_CHILD pidl,
SHGDNF uFlags,
STRRET *pName) = 0;
virtual HRESULT STDMETHODCALLTYPE SetNameOf(
HWND hwnd,
PCUITEMID_CHILD pidl,
LPCWSTR pszName,
SHGDNF uFlags,
PITEMID_CHILD *ppidlOut) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IShellFolder, 0x000214e6, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
#endif
#else
typedef struct IShellFolderVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IShellFolder *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IShellFolder *This);
ULONG (STDMETHODCALLTYPE *Release)(
IShellFolder *This);
/*** IShellFolder methods ***/
HRESULT (STDMETHODCALLTYPE *ParseDisplayName)(
IShellFolder *This,
HWND hwnd,
IBindCtx *pbc,
LPWSTR pszDisplayName,
ULONG *pchEaten,
PIDLIST_RELATIVE *ppidl,
ULONG *pdwAttributes);
HRESULT (STDMETHODCALLTYPE *EnumObjects)(
IShellFolder *This,
HWND hwnd,
SHCONTF grfFlags,
IEnumIDList **ppenumIDList);
HRESULT (STDMETHODCALLTYPE *BindToObject)(
IShellFolder *This,
PCUIDLIST_RELATIVE pidl,
IBindCtx *pbc,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *BindToStorage)(
IShellFolder *This,
PCUIDLIST_RELATIVE pidl,
IBindCtx *pbc,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *CompareIDs)(
IShellFolder *This,
LPARAM lParam,
PCUIDLIST_RELATIVE pidl1,
PCUIDLIST_RELATIVE pidl2);
HRESULT (STDMETHODCALLTYPE *CreateViewObject)(
IShellFolder *This,
HWND hwndOwner,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *GetAttributesOf)(
IShellFolder *This,
UINT cidl,
PCUITEMID_CHILD_ARRAY apidl,
SFGAOF *rgfInOut);
HRESULT (STDMETHODCALLTYPE *GetUIObjectOf)(
IShellFolder *This,
HWND hwndOwner,
UINT cidl,
PCUITEMID_CHILD_ARRAY apidl,
REFIID riid,
UINT *rgfReserved,
void **ppv);
HRESULT (STDMETHODCALLTYPE *GetDisplayNameOf)(
IShellFolder *This,
PCUITEMID_CHILD pidl,
SHGDNF uFlags,
STRRET *pName);
HRESULT (STDMETHODCALLTYPE *SetNameOf)(
IShellFolder *This,
HWND hwnd,
PCUITEMID_CHILD pidl,
LPCWSTR pszName,
SHGDNF uFlags,
PITEMID_CHILD *ppidlOut);
END_INTERFACE
} IShellFolderVtbl;
interface IShellFolder {
CONST_VTBL IShellFolderVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IShellFolder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IShellFolder_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IShellFolder_Release(This) (This)->lpVtbl->Release(This)
/*** IShellFolder methods ***/
#define IShellFolder_ParseDisplayName(This,hwnd,pbc,pszDisplayName,pchEaten,ppidl,pdwAttributes) (This)->lpVtbl->ParseDisplayName(This,hwnd,pbc,pszDisplayName,pchEaten,ppidl,pdwAttributes)
#define IShellFolder_EnumObjects(This,hwnd,grfFlags,ppenumIDList) (This)->lpVtbl->EnumObjects(This,hwnd,grfFlags,ppenumIDList)
#define IShellFolder_BindToObject(This,pidl,pbc,riid,ppv) (This)->lpVtbl->BindToObject(This,pidl,pbc,riid,ppv)
#define IShellFolder_BindToStorage(This,pidl,pbc,riid,ppv) (This)->lpVtbl->BindToStorage(This,pidl,pbc,riid,ppv)
#define IShellFolder_CompareIDs(This,lParam,pidl1,pidl2) (This)->lpVtbl->CompareIDs(This,lParam,pidl1,pidl2)
#define IShellFolder_CreateViewObject(This,hwndOwner,riid,ppv) (This)->lpVtbl->CreateViewObject(This,hwndOwner,riid,ppv)
#define IShellFolder_GetAttributesOf(This,cidl,apidl,rgfInOut) (This)->lpVtbl->GetAttributesOf(This,cidl,apidl,rgfInOut)
#define IShellFolder_GetUIObjectOf(This,hwndOwner,cidl,apidl,riid,rgfReserved,ppv) (This)->lpVtbl->GetUIObjectOf(This,hwndOwner,cidl,apidl,riid,rgfReserved,ppv)
#define IShellFolder_GetDisplayNameOf(This,pidl,uFlags,pName) (This)->lpVtbl->GetDisplayNameOf(This,pidl,uFlags,pName)
#define IShellFolder_SetNameOf(This,hwnd,pidl,pszName,uFlags,ppidlOut) (This)->lpVtbl->SetNameOf(This,hwnd,pidl,pszName,uFlags,ppidlOut)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IShellFolder_QueryInterface(IShellFolder* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IShellFolder_AddRef(IShellFolder* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IShellFolder_Release(IShellFolder* This) {
return This->lpVtbl->Release(This);
}
/*** IShellFolder methods ***/
static FORCEINLINE HRESULT IShellFolder_ParseDisplayName(IShellFolder* This,HWND hwnd,IBindCtx *pbc,LPWSTR pszDisplayName,ULONG *pchEaten,PIDLIST_RELATIVE *ppidl,ULONG *pdwAttributes) {
return This->lpVtbl->ParseDisplayName(This,hwnd,pbc,pszDisplayName,pchEaten,ppidl,pdwAttributes);
}
static FORCEINLINE HRESULT IShellFolder_EnumObjects(IShellFolder* This,HWND hwnd,SHCONTF grfFlags,IEnumIDList **ppenumIDList) {
return This->lpVtbl->EnumObjects(This,hwnd,grfFlags,ppenumIDList);
}
static FORCEINLINE HRESULT IShellFolder_BindToObject(IShellFolder* This,PCUIDLIST_RELATIVE pidl,IBindCtx *pbc,REFIID riid,void **ppv) {
return This->lpVtbl->BindToObject(This,pidl,pbc,riid,ppv);
}
static FORCEINLINE HRESULT IShellFolder_BindToStorage(IShellFolder* This,PCUIDLIST_RELATIVE pidl,IBindCtx *pbc,REFIID riid,void **ppv) {
return This->lpVtbl->BindToStorage(This,pidl,pbc,riid,ppv);
}
static FORCEINLINE HRESULT IShellFolder_CompareIDs(IShellFolder* This,LPARAM lParam,PCUIDLIST_RELATIVE pidl1,PCUIDLIST_RELATIVE pidl2) {
return This->lpVtbl->CompareIDs(This,lParam,pidl1,pidl2);
}
static FORCEINLINE HRESULT IShellFolder_CreateViewObject(IShellFolder* This,HWND hwndOwner,REFIID riid,void **ppv) {
return This->lpVtbl->CreateViewObject(This,hwndOwner,riid,ppv);
}
static FORCEINLINE HRESULT IShellFolder_GetAttributesOf(IShellFolder* This,UINT cidl,PCUITEMID_CHILD_ARRAY apidl,SFGAOF *rgfInOut) {
return This->lpVtbl->GetAttributesOf(This,cidl,apidl,rgfInOut);
}
static FORCEINLINE HRESULT IShellFolder_GetUIObjectOf(IShellFolder* This,HWND hwndOwner,UINT cidl,PCUITEMID_CHILD_ARRAY apidl,REFIID riid,UINT *rgfReserved,void **ppv) {
return This->lpVtbl->GetUIObjectOf(This,hwndOwner,cidl,apidl,riid,rgfReserved,ppv);
}
static FORCEINLINE HRESULT IShellFolder_GetDisplayNameOf(IShellFolder* This,PCUITEMID_CHILD pidl,SHGDNF uFlags,STRRET *pName) {
return This->lpVtbl->GetDisplayNameOf(This,pidl,uFlags,pName);
}
static FORCEINLINE HRESULT IShellFolder_SetNameOf(IShellFolder* This,HWND hwnd,PCUITEMID_CHILD pidl,LPCWSTR pszName,SHGDNF uFlags,PITEMID_CHILD *ppidlOut) {
return This->lpVtbl->SetNameOf(This,hwnd,pidl,pszName,uFlags,ppidlOut);
}
#endif
#endif
#endif
HRESULT STDMETHODCALLTYPE IShellFolder_RemoteSetNameOf_Proxy(
IShellFolder* This,
HWND hwnd,
PCUITEMID_CHILD pidl,
LPCWSTR pszName,
SHGDNF uFlags,
PITEMID_CHILD *ppidlOut);
void __RPC_STUB IShellFolder_RemoteSetNameOf_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IShellFolder_SetNameOf_Proxy(
IShellFolder* This,
HWND hwnd,
PCUITEMID_CHILD pidl,
LPCWSTR pszName,
SHGDNF uFlags,
PITEMID_CHILD *ppidlOut);
HRESULT __RPC_STUB IShellFolder_SetNameOf_Stub(
IShellFolder* This,
HWND hwnd,
PCUITEMID_CHILD pidl,
LPCWSTR pszName,
SHGDNF uFlags,
PITEMID_CHILD *ppidlOut);
#endif /* __IShellFolder_INTERFACE_DEFINED__ */
typedef IShellFolder *LPSHELLFOLDER;
typedef struct EXTRASEARCH {
GUID guidSearch;
WCHAR wszFriendlyName[80];
WCHAR wszUrl[2084];
} EXTRASEARCH;
typedef struct EXTRASEARCH *LPEXTRASEARCH;
/*****************************************************************************
* IEnumExtraSearch interface
*/
#ifndef __IEnumExtraSearch_INTERFACE_DEFINED__
#define __IEnumExtraSearch_INTERFACE_DEFINED__
DEFINE_GUID(IID_IEnumExtraSearch, 0x0e700be1, 0x9db6, 0x11d1, 0xa1,0xce, 0x00,0xc0,0x4f,0xd7,0x5d,0x13);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("0e700be1-9db6-11d1-a1ce-00c04fd75d13")
IEnumExtraSearch : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Next(
ULONG celt,
EXTRASEARCH *rgelt,
ULONG *pceltFetched) = 0;
virtual HRESULT STDMETHODCALLTYPE Skip(
ULONG celt) = 0;
virtual HRESULT STDMETHODCALLTYPE Reset(
) = 0;
virtual HRESULT STDMETHODCALLTYPE Clone(
IEnumExtraSearch **ppenum) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IEnumExtraSearch, 0x0e700be1, 0x9db6, 0x11d1, 0xa1,0xce, 0x00,0xc0,0x4f,0xd7,0x5d,0x13)
#endif
#else
typedef struct IEnumExtraSearchVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IEnumExtraSearch *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IEnumExtraSearch *This);
ULONG (STDMETHODCALLTYPE *Release)(
IEnumExtraSearch *This);
/*** IEnumExtraSearch methods ***/
HRESULT (STDMETHODCALLTYPE *Next)(
IEnumExtraSearch *This,
ULONG celt,
EXTRASEARCH *rgelt,
ULONG *pceltFetched);
HRESULT (STDMETHODCALLTYPE *Skip)(
IEnumExtraSearch *This,
ULONG celt);
HRESULT (STDMETHODCALLTYPE *Reset)(
IEnumExtraSearch *This);
HRESULT (STDMETHODCALLTYPE *Clone)(
IEnumExtraSearch *This,
IEnumExtraSearch **ppenum);
END_INTERFACE
} IEnumExtraSearchVtbl;
interface IEnumExtraSearch {
CONST_VTBL IEnumExtraSearchVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IEnumExtraSearch_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IEnumExtraSearch_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IEnumExtraSearch_Release(This) (This)->lpVtbl->Release(This)
/*** IEnumExtraSearch methods ***/
#define IEnumExtraSearch_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
#define IEnumExtraSearch_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
#define IEnumExtraSearch_Reset(This) (This)->lpVtbl->Reset(This)
#define IEnumExtraSearch_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IEnumExtraSearch_QueryInterface(IEnumExtraSearch* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IEnumExtraSearch_AddRef(IEnumExtraSearch* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IEnumExtraSearch_Release(IEnumExtraSearch* This) {
return This->lpVtbl->Release(This);
}
/*** IEnumExtraSearch methods ***/
static FORCEINLINE HRESULT IEnumExtraSearch_Next(IEnumExtraSearch* This,ULONG celt,EXTRASEARCH *rgelt,ULONG *pceltFetched) {
return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
}
static FORCEINLINE HRESULT IEnumExtraSearch_Skip(IEnumExtraSearch* This,ULONG celt) {
return This->lpVtbl->Skip(This,celt);
}
static FORCEINLINE HRESULT IEnumExtraSearch_Reset(IEnumExtraSearch* This) {
return This->lpVtbl->Reset(This);
}
static FORCEINLINE HRESULT IEnumExtraSearch_Clone(IEnumExtraSearch* This,IEnumExtraSearch **ppenum) {
return This->lpVtbl->Clone(This,ppenum);
}
#endif
#endif
#endif
#endif /* __IEnumExtraSearch_INTERFACE_DEFINED__ */
typedef IEnumExtraSearch *LPENUMEXTRASEARCH;
/*****************************************************************************
* IShellFolder2 interface
*/
#ifndef __IShellFolder2_INTERFACE_DEFINED__
#define __IShellFolder2_INTERFACE_DEFINED__
DEFINE_GUID(IID_IShellFolder2, 0x93f2f68c, 0x1d1b, 0x11d3, 0xa3,0x0e, 0x00,0xc0,0x4f,0x79,0xab,0xd1);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("93f2f68c-1d1b-11d3-a30e-00c04f79abd1")
IShellFolder2 : public IShellFolder
{
virtual HRESULT STDMETHODCALLTYPE GetDefaultSearchGUID(
GUID *pguid) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumSearches(
IEnumExtraSearch **ppenum) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDefaultColumn(
DWORD dwRes,
ULONG *pSort,
ULONG *pDisplay) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDefaultColumnState(
UINT iColumn,
SHCOLSTATEF *pcsFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDetailsEx(
PCUITEMID_CHILD pidl,
const SHCOLUMNID *pscid,
VARIANT *pv) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDetailsOf(
PCUITEMID_CHILD pidl,
UINT iColumn,
SHELLDETAILS *psd) = 0;
virtual HRESULT STDMETHODCALLTYPE MapColumnToSCID(
UINT iColumn,
SHCOLUMNID *pscid) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IShellFolder2, 0x93f2f68c, 0x1d1b, 0x11d3, 0xa3,0x0e, 0x00,0xc0,0x4f,0x79,0xab,0xd1)
#endif
#else
typedef struct IShellFolder2Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IShellFolder2 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IShellFolder2 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IShellFolder2 *This);
/*** IShellFolder methods ***/
HRESULT (STDMETHODCALLTYPE *ParseDisplayName)(
IShellFolder2 *This,
HWND hwnd,
IBindCtx *pbc,
LPWSTR pszDisplayName,
ULONG *pchEaten,
PIDLIST_RELATIVE *ppidl,
ULONG *pdwAttributes);
HRESULT (STDMETHODCALLTYPE *EnumObjects)(
IShellFolder2 *This,
HWND hwnd,
SHCONTF grfFlags,
IEnumIDList **ppenumIDList);
HRESULT (STDMETHODCALLTYPE *BindToObject)(
IShellFolder2 *This,
PCUIDLIST_RELATIVE pidl,
IBindCtx *pbc,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *BindToStorage)(
IShellFolder2 *This,
PCUIDLIST_RELATIVE pidl,
IBindCtx *pbc,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *CompareIDs)(
IShellFolder2 *This,
LPARAM lParam,
PCUIDLIST_RELATIVE pidl1,
PCUIDLIST_RELATIVE pidl2);
HRESULT (STDMETHODCALLTYPE *CreateViewObject)(
IShellFolder2 *This,
HWND hwndOwner,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *GetAttributesOf)(
IShellFolder2 *This,
UINT cidl,
PCUITEMID_CHILD_ARRAY apidl,
SFGAOF *rgfInOut);
HRESULT (STDMETHODCALLTYPE *GetUIObjectOf)(
IShellFolder2 *This,
HWND hwndOwner,
UINT cidl,
PCUITEMID_CHILD_ARRAY apidl,
REFIID riid,
UINT *rgfReserved,
void **ppv);
HRESULT (STDMETHODCALLTYPE *GetDisplayNameOf)(
IShellFolder2 *This,
PCUITEMID_CHILD pidl,
SHGDNF uFlags,
STRRET *pName);
HRESULT (STDMETHODCALLTYPE *SetNameOf)(
IShellFolder2 *This,
HWND hwnd,
PCUITEMID_CHILD pidl,
LPCWSTR pszName,
SHGDNF uFlags,
PITEMID_CHILD *ppidlOut);
/*** IShellFolder2 methods ***/
HRESULT (STDMETHODCALLTYPE *GetDefaultSearchGUID)(
IShellFolder2 *This,
GUID *pguid);
HRESULT (STDMETHODCALLTYPE *EnumSearches)(
IShellFolder2 *This,
IEnumExtraSearch **ppenum);
HRESULT (STDMETHODCALLTYPE *GetDefaultColumn)(
IShellFolder2 *This,
DWORD dwRes,
ULONG *pSort,
ULONG *pDisplay);
HRESULT (STDMETHODCALLTYPE *GetDefaultColumnState)(
IShellFolder2 *This,
UINT iColumn,
SHCOLSTATEF *pcsFlags);
HRESULT (STDMETHODCALLTYPE *GetDetailsEx)(
IShellFolder2 *This,
PCUITEMID_CHILD pidl,
const SHCOLUMNID *pscid,
VARIANT *pv);
HRESULT (STDMETHODCALLTYPE *GetDetailsOf)(
IShellFolder2 *This,
PCUITEMID_CHILD pidl,
UINT iColumn,
SHELLDETAILS *psd);
HRESULT (STDMETHODCALLTYPE *MapColumnToSCID)(
IShellFolder2 *This,
UINT iColumn,
SHCOLUMNID *pscid);
END_INTERFACE
} IShellFolder2Vtbl;
interface IShellFolder2 {
CONST_VTBL IShellFolder2Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IShellFolder2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IShellFolder2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IShellFolder2_Release(This) (This)->lpVtbl->Release(This)
/*** IShellFolder methods ***/
#define IShellFolder2_ParseDisplayName(This,hwnd,pbc,pszDisplayName,pchEaten,ppidl,pdwAttributes) (This)->lpVtbl->ParseDisplayName(This,hwnd,pbc,pszDisplayName,pchEaten,ppidl,pdwAttributes)
#define IShellFolder2_EnumObjects(This,hwnd,grfFlags,ppenumIDList) (This)->lpVtbl->EnumObjects(This,hwnd,grfFlags,ppenumIDList)
#define IShellFolder2_BindToObject(This,pidl,pbc,riid,ppv) (This)->lpVtbl->BindToObject(This,pidl,pbc,riid,ppv)
#define IShellFolder2_BindToStorage(This,pidl,pbc,riid,ppv) (This)->lpVtbl->BindToStorage(This,pidl,pbc,riid,ppv)
#define IShellFolder2_CompareIDs(This,lParam,pidl1,pidl2) (This)->lpVtbl->CompareIDs(This,lParam,pidl1,pidl2)
#define IShellFolder2_CreateViewObject(This,hwndOwner,riid,ppv) (This)->lpVtbl->CreateViewObject(This,hwndOwner,riid,ppv)
#define IShellFolder2_GetAttributesOf(This,cidl,apidl,rgfInOut) (This)->lpVtbl->GetAttributesOf(This,cidl,apidl,rgfInOut)
#define IShellFolder2_GetUIObjectOf(This,hwndOwner,cidl,apidl,riid,rgfReserved,ppv) (This)->lpVtbl->GetUIObjectOf(This,hwndOwner,cidl,apidl,riid,rgfReserved,ppv)
#define IShellFolder2_GetDisplayNameOf(This,pidl,uFlags,pName) (This)->lpVtbl->GetDisplayNameOf(This,pidl,uFlags,pName)
#define IShellFolder2_SetNameOf(This,hwnd,pidl,pszName,uFlags,ppidlOut) (This)->lpVtbl->SetNameOf(This,hwnd,pidl,pszName,uFlags,ppidlOut)
/*** IShellFolder2 methods ***/
#define IShellFolder2_GetDefaultSearchGUID(This,pguid) (This)->lpVtbl->GetDefaultSearchGUID(This,pguid)
#define IShellFolder2_EnumSearches(This,ppenum) (This)->lpVtbl->EnumSearches(This,ppenum)
#define IShellFolder2_GetDefaultColumn(This,dwRes,pSort,pDisplay) (This)->lpVtbl->GetDefaultColumn(This,dwRes,pSort,pDisplay)
#define IShellFolder2_GetDefaultColumnState(This,iColumn,pcsFlags) (This)->lpVtbl->GetDefaultColumnState(This,iColumn,pcsFlags)
#define IShellFolder2_GetDetailsEx(This,pidl,pscid,pv) (This)->lpVtbl->GetDetailsEx(This,pidl,pscid,pv)
#define IShellFolder2_GetDetailsOf(This,pidl,iColumn,psd) (This)->lpVtbl->GetDetailsOf(This,pidl,iColumn,psd)
#define IShellFolder2_MapColumnToSCID(This,iColumn,pscid) (This)->lpVtbl->MapColumnToSCID(This,iColumn,pscid)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IShellFolder2_QueryInterface(IShellFolder2* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IShellFolder2_AddRef(IShellFolder2* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IShellFolder2_Release(IShellFolder2* This) {
return This->lpVtbl->Release(This);
}
/*** IShellFolder methods ***/
static FORCEINLINE HRESULT IShellFolder2_ParseDisplayName(IShellFolder2* This,HWND hwnd,IBindCtx *pbc,LPWSTR pszDisplayName,ULONG *pchEaten,PIDLIST_RELATIVE *ppidl,ULONG *pdwAttributes) {
return This->lpVtbl->ParseDisplayName(This,hwnd,pbc,pszDisplayName,pchEaten,ppidl,pdwAttributes);
}
static FORCEINLINE HRESULT IShellFolder2_EnumObjects(IShellFolder2* This,HWND hwnd,SHCONTF grfFlags,IEnumIDList **ppenumIDList) {
return This->lpVtbl->EnumObjects(This,hwnd,grfFlags,ppenumIDList);
}
static FORCEINLINE HRESULT IShellFolder2_BindToObject(IShellFolder2* This,PCUIDLIST_RELATIVE pidl,IBindCtx *pbc,REFIID riid,void **ppv) {
return This->lpVtbl->BindToObject(This,pidl,pbc,riid,ppv);
}
static FORCEINLINE HRESULT IShellFolder2_BindToStorage(IShellFolder2* This,PCUIDLIST_RELATIVE pidl,IBindCtx *pbc,REFIID riid,void **ppv) {
return This->lpVtbl->BindToStorage(This,pidl,pbc,riid,ppv);
}
static FORCEINLINE HRESULT IShellFolder2_CompareIDs(IShellFolder2* This,LPARAM lParam,PCUIDLIST_RELATIVE pidl1,PCUIDLIST_RELATIVE pidl2) {
return This->lpVtbl->CompareIDs(This,lParam,pidl1,pidl2);
}
static FORCEINLINE HRESULT IShellFolder2_CreateViewObject(IShellFolder2* This,HWND hwndOwner,REFIID riid,void **ppv) {
return This->lpVtbl->CreateViewObject(This,hwndOwner,riid,ppv);
}
static FORCEINLINE HRESULT IShellFolder2_GetAttributesOf(IShellFolder2* This,UINT cidl,PCUITEMID_CHILD_ARRAY apidl,SFGAOF *rgfInOut) {
return This->lpVtbl->GetAttributesOf(This,cidl,apidl,rgfInOut);
}
static FORCEINLINE HRESULT IShellFolder2_GetUIObjectOf(IShellFolder2* This,HWND hwndOwner,UINT cidl,PCUITEMID_CHILD_ARRAY apidl,REFIID riid,UINT *rgfReserved,void **ppv) {
return This->lpVtbl->GetUIObjectOf(This,hwndOwner,cidl,apidl,riid,rgfReserved,ppv);
}
static FORCEINLINE HRESULT IShellFolder2_GetDisplayNameOf(IShellFolder2* This,PCUITEMID_CHILD pidl,SHGDNF uFlags,STRRET *pName) {
return This->lpVtbl->GetDisplayNameOf(This,pidl,uFlags,pName);
}
static FORCEINLINE HRESULT IShellFolder2_SetNameOf(IShellFolder2* This,HWND hwnd,PCUITEMID_CHILD pidl,LPCWSTR pszName,SHGDNF uFlags,PITEMID_CHILD *ppidlOut) {
return This->lpVtbl->SetNameOf(This,hwnd,pidl,pszName,uFlags,ppidlOut);
}
/*** IShellFolder2 methods ***/
static FORCEINLINE HRESULT IShellFolder2_GetDefaultSearchGUID(IShellFolder2* This,GUID *pguid) {
return This->lpVtbl->GetDefaultSearchGUID(This,pguid);
}
static FORCEINLINE HRESULT IShellFolder2_EnumSearches(IShellFolder2* This,IEnumExtraSearch **ppenum) {
return This->lpVtbl->EnumSearches(This,ppenum);
}
static FORCEINLINE HRESULT IShellFolder2_GetDefaultColumn(IShellFolder2* This,DWORD dwRes,ULONG *pSort,ULONG *pDisplay) {
return This->lpVtbl->GetDefaultColumn(This,dwRes,pSort,pDisplay);
}
static FORCEINLINE HRESULT IShellFolder2_GetDefaultColumnState(IShellFolder2* This,UINT iColumn,SHCOLSTATEF *pcsFlags) {
return This->lpVtbl->GetDefaultColumnState(This,iColumn,pcsFlags);
}
static FORCEINLINE HRESULT IShellFolder2_GetDetailsEx(IShellFolder2* This,PCUITEMID_CHILD pidl,const SHCOLUMNID *pscid,VARIANT *pv) {
return This->lpVtbl->GetDetailsEx(This,pidl,pscid,pv);
}
static FORCEINLINE HRESULT IShellFolder2_GetDetailsOf(IShellFolder2* This,PCUITEMID_CHILD pidl,UINT iColumn,SHELLDETAILS *psd) {
return This->lpVtbl->GetDetailsOf(This,pidl,iColumn,psd);
}
static FORCEINLINE HRESULT IShellFolder2_MapColumnToSCID(IShellFolder2* This,UINT iColumn,SHCOLUMNID *pscid) {
return This->lpVtbl->MapColumnToSCID(This,iColumn,pscid);
}
#endif
#endif
#endif
#endif /* __IShellFolder2_INTERFACE_DEFINED__ */
typedef char *LPVIEWSETTINGS;
typedef enum FOLDERFLAGS {
FWF_NONE = 0x0,
FWF_AUTOARRANGE = 0x1,
FWF_ABBREVIATEDNAMES = 0x2,
FWF_SNAPTOGRID = 0x4,
FWF_OWNERDATA = 0x8,
FWF_BESTFITWINDOW = 0x10,
FWF_DESKTOP = 0x20,
FWF_SINGLESEL = 0x40,
FWF_NOSUBFOLDERS = 0x80,
FWF_TRANSPARENT = 0x100,
FWF_NOCLIENTEDGE = 0x200,
FWF_NOSCROLL = 0x400,
FWF_ALIGNLEFT = 0x800,
FWF_NOICONS = 0x1000,
FWF_SHOWSELALWAYS = 0x2000,
FWF_NOVISIBLE = 0x4000,
FWF_SINGLECLICKACTIVATE = 0x8000,
FWF_NOWEBVIEW = 0x10000,
FWF_HIDEFILENAMES = 0x20000,
FWF_CHECKSELECT = 0x40000,
FWF_NOENUMREFRESH = 0x80000,
FWF_NOGROUPING = 0x100000,
FWF_FULLROWSELECT = 0x200000,
FWF_NOFILTERS = 0x400000,
FWF_NOCOLUMNHEADER = 0x800000,
FWF_NOHEADERINALLVIEWS = 0x1000000,
FWF_EXTENDEDTILES = 0x2000000,
FWF_TRICHECKSELECT = 0x4000000,
FWF_AUTOCHECKSELECT = 0x8000000,
FWF_NOBROWSERVIEWSTATE = 0x10000000,
FWF_SUBSETGROUPS = 0x20000000,
FWF_USESEARCHFOLDER = 0x40000000,
FWF_ALLOWRTLREADING = 0x80000000
} FOLDERFLAGS;
DEFINE_ENUM_FLAG_OPERATORS(FOLDERFLAGS)
typedef enum FOLDERVIEWMODE {
FVM_AUTO = -1,
FVM_FIRST = 1,
FVM_ICON = 1,
FVM_SMALLICON = 2,
FVM_LIST = 3,
FVM_DETAILS = 4,
FVM_THUMBNAIL = 5,
FVM_TILE = 6,
FVM_THUMBSTRIP = 7,
FVM_CONTENT = 8,
FVM_LAST = 8
} FOLDERVIEWMODE;
#if NTDDI_VERSION >= NTDDI_VISTA
typedef enum FOLDERLOGICALVIEWMODE {
FLVM_UNSPECIFIED = -1,
FLVM_FIRST = 1,
FLVM_DETAILS = 1,
FLVM_TILES = 2,
FLVM_ICONS = 3,
FLVM_LIST = 4,
FLVM_CONTENT = 5,
FLVM_LAST = 5
} FOLDERLOGICALVIEWMODE;
#endif
typedef struct FOLDERSETTINGS {
UINT ViewMode;
UINT fFlags;
} FOLDERSETTINGS;
typedef FOLDERSETTINGS *LPFOLDERSETTINGS;
typedef const FOLDERSETTINGS *LPCFOLDERSETTINGS;
typedef FOLDERSETTINGS *PFOLDERSETTINGS;
/*****************************************************************************
* IFolderViewOptions interface
*/
#ifndef __IFolderViewOptions_INTERFACE_DEFINED__
#define __IFolderViewOptions_INTERFACE_DEFINED__
typedef enum FOLDERVIEWOPTIONS {
FVO_DEFAULT = 0x0,
FVO_VISTALAYOUT = 0x1,
FVO_CUSTOMPOSITION = 0x2,
FVO_CUSTOMORDERING = 0x4,
FVO_SUPPORTHYPERLINKS = 0x8,
FVO_NOANIMATIONS = 0x10,
FVO_NOSCROLLTIPS = 0x20
} FOLDERVIEWOPTIONS;
DEFINE_ENUM_FLAG_OPERATORS(FOLDERVIEWOPTIONS)
DEFINE_GUID(IID_IFolderViewOptions, 0x3cc974d2, 0xb302, 0x4d36, 0xad,0x3e, 0x06,0xd9,0x3f,0x69,0x5d,0x3f);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3cc974d2-b302-4d36-ad3e-06d93f695d3f")
IFolderViewOptions : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetFolderViewOptions(
FOLDERVIEWOPTIONS fvoMask,
FOLDERVIEWOPTIONS fvoFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFolderViewOptions(
FOLDERVIEWOPTIONS *pfvoFlags) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IFolderViewOptions, 0x3cc974d2, 0xb302, 0x4d36, 0xad,0x3e, 0x06,0xd9,0x3f,0x69,0x5d,0x3f)
#endif
#else
typedef struct IFolderViewOptionsVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IFolderViewOptions *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IFolderViewOptions *This);
ULONG (STDMETHODCALLTYPE *Release)(
IFolderViewOptions *This);
/*** IFolderViewOptions methods ***/
HRESULT (STDMETHODCALLTYPE *SetFolderViewOptions)(
IFolderViewOptions *This,
FOLDERVIEWOPTIONS fvoMask,
FOLDERVIEWOPTIONS fvoFlags);
HRESULT (STDMETHODCALLTYPE *GetFolderViewOptions)(
IFolderViewOptions *This,
FOLDERVIEWOPTIONS *pfvoFlags);
END_INTERFACE
} IFolderViewOptionsVtbl;
interface IFolderViewOptions {
CONST_VTBL IFolderViewOptionsVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IFolderViewOptions_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IFolderViewOptions_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IFolderViewOptions_Release(This) (This)->lpVtbl->Release(This)
/*** IFolderViewOptions methods ***/
#define IFolderViewOptions_SetFolderViewOptions(This,fvoMask,fvoFlags) (This)->lpVtbl->SetFolderViewOptions(This,fvoMask,fvoFlags)
#define IFolderViewOptions_GetFolderViewOptions(This,pfvoFlags) (This)->lpVtbl->GetFolderViewOptions(This,pfvoFlags)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IFolderViewOptions_QueryInterface(IFolderViewOptions* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IFolderViewOptions_AddRef(IFolderViewOptions* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IFolderViewOptions_Release(IFolderViewOptions* This) {
return This->lpVtbl->Release(This);
}
/*** IFolderViewOptions methods ***/
static FORCEINLINE HRESULT IFolderViewOptions_SetFolderViewOptions(IFolderViewOptions* This,FOLDERVIEWOPTIONS fvoMask,FOLDERVIEWOPTIONS fvoFlags) {
return This->lpVtbl->SetFolderViewOptions(This,fvoMask,fvoFlags);
}
static FORCEINLINE HRESULT IFolderViewOptions_GetFolderViewOptions(IFolderViewOptions* This,FOLDERVIEWOPTIONS *pfvoFlags) {
return This->lpVtbl->GetFolderViewOptions(This,pfvoFlags);
}
#endif
#endif
#endif
#endif /* __IFolderViewOptions_INTERFACE_DEFINED__ */
typedef enum _SVSIF {
SVSI_DESELECT = 0x0,
SVSI_SELECT = 0x1,
SVSI_EDIT = 0x3,
SVSI_DESELECTOTHERS = 0x4,
SVSI_ENSUREVISIBLE = 0x8,
SVSI_FOCUSED = 0x10,
SVSI_TRANSLATEPT = 0x20,
SVSI_SELECTIONMARK = 0x40,
SVSI_POSITIONITEM = 0x80,
SVSI_CHECK = 0x100,
SVSI_CHECK2 = 0x200,
SVSI_KEYBOARDSELECT = 0x401,
SVSI_NOTAKEFOCUS = 0x40000000
} _SVSIF;
#define SVSI_NOSTATECHANGE ((UINT)0x80000000)
typedef UINT SVSIF;
typedef enum _SVGIO {
SVGIO_BACKGROUND = 0x0,
SVGIO_SELECTION = 0x1,
SVGIO_ALLVIEW = 0x2,
SVGIO_CHECKED = 0x3,
SVGIO_TYPE_MASK = 0xf,
SVGIO_FLAG_VIEWORDER = 0x80000000
} _SVGIO;
DEFINE_ENUM_FLAG_OPERATORS(_SVGIO)
typedef int SVGIO;
typedef enum SVUIA_STATUS {
SVUIA_DEACTIVATE = 0,
SVUIA_ACTIVATE_NOFOCUS = 1,
SVUIA_ACTIVATE_FOCUS = 2,
SVUIA_INPLACEACTIVATE = 3
} SVUIA_STATUS;
#ifdef _FIX_ENABLEMODELESS_CONFLICT
#define EnableModeless EnableModelessSV
#endif
#if 0
typedef LPARAM LPFNSVADDPROPSHEETPAGE;
#else
#include <prsht.h>
typedef LPFNADDPROPSHEETPAGE LPFNSVADDPROPSHEETPAGE;
#endif
#ifndef __IShellBrowser_FWD_DEFINED__
#define __IShellBrowser_FWD_DEFINED__
typedef interface IShellBrowser IShellBrowser;
#ifdef __cplusplus
interface IShellBrowser;
#endif /* __cplusplus */
#endif
/*****************************************************************************
* IShellView interface
*/
#ifndef __IShellView_INTERFACE_DEFINED__
#define __IShellView_INTERFACE_DEFINED__
DEFINE_GUID(IID_IShellView, 0x000214e3, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("000214e3-0000-0000-c000-000000000046")
IShellView : public IOleWindow
{
virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator(
MSG *pmsg) = 0;
virtual HRESULT STDMETHODCALLTYPE EnableModeless(
WINBOOL fEnable) = 0;
virtual HRESULT STDMETHODCALLTYPE UIActivate(
UINT uState) = 0;
virtual HRESULT STDMETHODCALLTYPE Refresh(
) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateViewWindow(
IShellView *psvPrevious,
LPCFOLDERSETTINGS pfs,
IShellBrowser *psb,
RECT *prcView,
HWND *phWnd) = 0;
virtual HRESULT STDMETHODCALLTYPE DestroyViewWindow(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentInfo(
LPFOLDERSETTINGS pfs) = 0;
virtual HRESULT STDMETHODCALLTYPE AddPropertySheetPages(
DWORD dwReserved,
LPFNSVADDPROPSHEETPAGE pfn,
LPARAM lparam) = 0;
virtual HRESULT STDMETHODCALLTYPE SaveViewState(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SelectItem(
PCUITEMID_CHILD pidlItem,
SVSIF uFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetItemObject(
UINT uItem,
REFIID riid,
void **ppv) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IShellView, 0x000214e3, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
#endif
#else
typedef struct IShellViewVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IShellView *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IShellView *This);
ULONG (STDMETHODCALLTYPE *Release)(
IShellView *This);
/*** IOleWindow methods ***/
HRESULT (STDMETHODCALLTYPE *GetWindow)(
IShellView *This,
HWND *phwnd);
HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
IShellView *This,
WINBOOL fEnterMode);
/*** IShellView methods ***/
HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)(
IShellView *This,
MSG *pmsg);
HRESULT (STDMETHODCALLTYPE *EnableModeless)(
IShellView *This,
WINBOOL fEnable);
HRESULT (STDMETHODCALLTYPE *UIActivate)(
IShellView *This,
UINT uState);
HRESULT (STDMETHODCALLTYPE *Refresh)(
IShellView *This);
HRESULT (STDMETHODCALLTYPE *CreateViewWindow)(
IShellView *This,
IShellView *psvPrevious,
LPCFOLDERSETTINGS pfs,
IShellBrowser *psb,
RECT *prcView,
HWND *phWnd);
HRESULT (STDMETHODCALLTYPE *DestroyViewWindow)(
IShellView *This);
HRESULT (STDMETHODCALLTYPE *GetCurrentInfo)(
IShellView *This,
LPFOLDERSETTINGS pfs);
HRESULT (STDMETHODCALLTYPE *AddPropertySheetPages)(
IShellView *This,
DWORD dwReserved,
LPFNSVADDPROPSHEETPAGE pfn,
LPARAM lparam);
HRESULT (STDMETHODCALLTYPE *SaveViewState)(
IShellView *This);
HRESULT (STDMETHODCALLTYPE *SelectItem)(
IShellView *This,
PCUITEMID_CHILD pidlItem,
SVSIF uFlags);
HRESULT (STDMETHODCALLTYPE *GetItemObject)(
IShellView *This,
UINT uItem,
REFIID riid,
void **ppv);
END_INTERFACE
} IShellViewVtbl;
interface IShellView {
CONST_VTBL IShellViewVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IShellView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IShellView_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IShellView_Release(This) (This)->lpVtbl->Release(This)
/*** IOleWindow methods ***/
#define IShellView_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
#define IShellView_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
/*** IShellView methods ***/
#define IShellView_TranslateAccelerator(This,pmsg) (This)->lpVtbl->TranslateAccelerator(This,pmsg)
#define IShellView_EnableModeless(This,fEnable) (This)->lpVtbl->EnableModeless(This,fEnable)
#define IShellView_UIActivate(This,uState) (This)->lpVtbl->UIActivate(This,uState)
#define IShellView_Refresh(This) (This)->lpVtbl->Refresh(This)
#define IShellView_CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd) (This)->lpVtbl->CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd)
#define IShellView_DestroyViewWindow(This) (This)->lpVtbl->DestroyViewWindow(This)
#define IShellView_GetCurrentInfo(This,pfs) (This)->lpVtbl->GetCurrentInfo(This,pfs)
#define IShellView_AddPropertySheetPages(This,dwReserved,pfn,lparam) (This)->lpVtbl->AddPropertySheetPages(This,dwReserved,pfn,lparam)
#define IShellView_SaveViewState(This) (This)->lpVtbl->SaveViewState(This)
#define IShellView_SelectItem(This,pidlItem,uFlags) (This)->lpVtbl->SelectItem(This,pidlItem,uFlags)
#define IShellView_GetItemObject(This,uItem,riid,ppv) (This)->lpVtbl->GetItemObject(This,uItem,riid,ppv)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IShellView_QueryInterface(IShellView* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IShellView_AddRef(IShellView* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IShellView_Release(IShellView* This) {
return This->lpVtbl->Release(This);
}
/*** IOleWindow methods ***/
static FORCEINLINE HRESULT IShellView_GetWindow(IShellView* This,HWND *phwnd) {
return This->lpVtbl->GetWindow(This,phwnd);
}
static FORCEINLINE HRESULT IShellView_ContextSensitiveHelp(IShellView* This,WINBOOL fEnterMode) {
return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode);
}
/*** IShellView methods ***/
static FORCEINLINE HRESULT IShellView_TranslateAccelerator(IShellView* This,MSG *pmsg) {
return This->lpVtbl->TranslateAccelerator(This,pmsg);
}
static FORCEINLINE HRESULT IShellView_EnableModeless(IShellView* This,WINBOOL fEnable) {
return This->lpVtbl->EnableModeless(This,fEnable);
}
static FORCEINLINE HRESULT IShellView_UIActivate(IShellView* This,UINT uState) {
return This->lpVtbl->UIActivate(This,uState);
}
static FORCEINLINE HRESULT IShellView_Refresh(IShellView* This) {
return This->lpVtbl->Refresh(This);
}
static FORCEINLINE HRESULT IShellView_CreateViewWindow(IShellView* This,IShellView *psvPrevious,LPCFOLDERSETTINGS pfs,IShellBrowser *psb,RECT *prcView,HWND *phWnd) {
return This->lpVtbl->CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd);
}
static FORCEINLINE HRESULT IShellView_DestroyViewWindow(IShellView* This) {
return This->lpVtbl->DestroyViewWindow(This);
}
static FORCEINLINE HRESULT IShellView_GetCurrentInfo(IShellView* This,LPFOLDERSETTINGS pfs) {
return This->lpVtbl->GetCurrentInfo(This,pfs);
}
static FORCEINLINE HRESULT IShellView_AddPropertySheetPages(IShellView* This,DWORD dwReserved,LPFNSVADDPROPSHEETPAGE pfn,LPARAM lparam) {
return This->lpVtbl->AddPropertySheetPages(This,dwReserved,pfn,lparam);
}
static FORCEINLINE HRESULT IShellView_SaveViewState(IShellView* This) {
return This->lpVtbl->SaveViewState(This);
}
static FORCEINLINE HRESULT IShellView_SelectItem(IShellView* This,PCUITEMID_CHILD pidlItem,SVSIF uFlags) {
return This->lpVtbl->SelectItem(This,pidlItem,uFlags);
}
static FORCEINLINE HRESULT IShellView_GetItemObject(IShellView* This,UINT uItem,REFIID riid,void **ppv) {
return This->lpVtbl->GetItemObject(This,uItem,riid,ppv);
}
#endif
#endif
#endif
#endif /* __IShellView_INTERFACE_DEFINED__ */
typedef IShellView *LPSHELLVIEW;
/*****************************************************************************
* IShellView2 interface
*/
#ifndef __IShellView2_INTERFACE_DEFINED__
#define __IShellView2_INTERFACE_DEFINED__
typedef GUID SHELLVIEWID;
#define SV2GV_CURRENTVIEW ((UINT)-1)
#define SV2GV_DEFAULTVIEW ((UINT)-2)
#include <pshpack8.h>
typedef struct _SV2CVW2_PARAMS {
DWORD cbSize;
IShellView *psvPrev;
LPCFOLDERSETTINGS pfs;
IShellBrowser *psbOwner;
RECT *prcView;
const SHELLVIEWID *pvid;
HWND hwndView;
} SV2CVW2_PARAMS;
typedef struct _SV2CVW2_PARAMS *LPSV2CVW2_PARAMS;
#include <poppack.h>
DEFINE_GUID(IID_IShellView2, 0x88e39e80, 0x3578, 0x11cf, 0xae,0x69, 0x08,0x00,0x2b,0x2e,0x12,0x62);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("88e39e80-3578-11cf-ae69-08002b2e1262")
IShellView2 : public IShellView
{
virtual HRESULT STDMETHODCALLTYPE GetView(
SHELLVIEWID *pvid,
ULONG uView) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateViewWindow2(
LPSV2CVW2_PARAMS lpParams) = 0;
virtual HRESULT STDMETHODCALLTYPE HandleRename(
PCUITEMID_CHILD pidlNew) = 0;
virtual HRESULT STDMETHODCALLTYPE SelectAndPositionItem(
PCUITEMID_CHILD pidlItem,
UINT uFlags,
POINT *ppt) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IShellView2, 0x88e39e80, 0x3578, 0x11cf, 0xae,0x69, 0x08,0x00,0x2b,0x2e,0x12,0x62)
#endif
#else
typedef struct IShellView2Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IShellView2 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IShellView2 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IShellView2 *This);
/*** IOleWindow methods ***/
HRESULT (STDMETHODCALLTYPE *GetWindow)(
IShellView2 *This,
HWND *phwnd);
HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
IShellView2 *This,
WINBOOL fEnterMode);
/*** IShellView methods ***/
HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)(
IShellView2 *This,
MSG *pmsg);
HRESULT (STDMETHODCALLTYPE *EnableModeless)(
IShellView2 *This,
WINBOOL fEnable);
HRESULT (STDMETHODCALLTYPE *UIActivate)(
IShellView2 *This,
UINT uState);
HRESULT (STDMETHODCALLTYPE *Refresh)(
IShellView2 *This);
HRESULT (STDMETHODCALLTYPE *CreateViewWindow)(
IShellView2 *This,
IShellView *psvPrevious,
LPCFOLDERSETTINGS pfs,
IShellBrowser *psb,
RECT *prcView,
HWND *phWnd);
HRESULT (STDMETHODCALLTYPE *DestroyViewWindow)(
IShellView2 *This);
HRESULT (STDMETHODCALLTYPE *GetCurrentInfo)(
IShellView2 *This,
LPFOLDERSETTINGS pfs);
HRESULT (STDMETHODCALLTYPE *AddPropertySheetPages)(
IShellView2 *This,
DWORD dwReserved,
LPFNSVADDPROPSHEETPAGE pfn,
LPARAM lparam);
HRESULT (STDMETHODCALLTYPE *SaveViewState)(
IShellView2 *This);
HRESULT (STDMETHODCALLTYPE *SelectItem)(
IShellView2 *This,
PCUITEMID_CHILD pidlItem,
SVSIF uFlags);
HRESULT (STDMETHODCALLTYPE *GetItemObject)(
IShellView2 *This,
UINT uItem,
REFIID riid,
void **ppv);
/*** IShellView2 methods ***/
HRESULT (STDMETHODCALLTYPE *GetView)(
IShellView2 *This,
SHELLVIEWID *pvid,
ULONG uView);
HRESULT (STDMETHODCALLTYPE *CreateViewWindow2)(
IShellView2 *This,
LPSV2CVW2_PARAMS lpParams);
HRESULT (STDMETHODCALLTYPE *HandleRename)(
IShellView2 *This,
PCUITEMID_CHILD pidlNew);
HRESULT (STDMETHODCALLTYPE *SelectAndPositionItem)(
IShellView2 *This,
PCUITEMID_CHILD pidlItem,
UINT uFlags,
POINT *ppt);
END_INTERFACE
} IShellView2Vtbl;
interface IShellView2 {
CONST_VTBL IShellView2Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IShellView2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IShellView2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IShellView2_Release(This) (This)->lpVtbl->Release(This)
/*** IOleWindow methods ***/
#define IShellView2_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
#define IShellView2_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
/*** IShellView methods ***/
#define IShellView2_TranslateAccelerator(This,pmsg) (This)->lpVtbl->TranslateAccelerator(This,pmsg)
#define IShellView2_EnableModeless(This,fEnable) (This)->lpVtbl->EnableModeless(This,fEnable)
#define IShellView2_UIActivate(This,uState) (This)->lpVtbl->UIActivate(This,uState)
#define IShellView2_Refresh(This) (This)->lpVtbl->Refresh(This)
#define IShellView2_CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd) (This)->lpVtbl->CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd)
#define IShellView2_DestroyViewWindow(This) (This)->lpVtbl->DestroyViewWindow(This)
#define IShellView2_GetCurrentInfo(This,pfs) (This)->lpVtbl->GetCurrentInfo(This,pfs)
#define IShellView2_AddPropertySheetPages(This,dwReserved,pfn,lparam) (This)->lpVtbl->AddPropertySheetPages(This,dwReserved,pfn,lparam)
#define IShellView2_SaveViewState(This) (This)->lpVtbl->SaveViewState(This)
#define IShellView2_SelectItem(This,pidlItem,uFlags) (This)->lpVtbl->SelectItem(This,pidlItem,uFlags)
#define IShellView2_GetItemObject(This,uItem,riid,ppv) (This)->lpVtbl->GetItemObject(This,uItem,riid,ppv)
/*** IShellView2 methods ***/
#define IShellView2_GetView(This,pvid,uView) (This)->lpVtbl->GetView(This,pvid,uView)
#define IShellView2_CreateViewWindow2(This,lpParams) (This)->lpVtbl->CreateViewWindow2(This,lpParams)
#define IShellView2_HandleRename(This,pidlNew) (This)->lpVtbl->HandleRename(This,pidlNew)
#define IShellView2_SelectAndPositionItem(This,pidlItem,uFlags,ppt) (This)->lpVtbl->SelectAndPositionItem(This,pidlItem,uFlags,ppt)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IShellView2_QueryInterface(IShellView2* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IShellView2_AddRef(IShellView2* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IShellView2_Release(IShellView2* This) {
return This->lpVtbl->Release(This);
}
/*** IOleWindow methods ***/
static FORCEINLINE HRESULT IShellView2_GetWindow(IShellView2* This,HWND *phwnd) {
return This->lpVtbl->GetWindow(This,phwnd);
}
static FORCEINLINE HRESULT IShellView2_ContextSensitiveHelp(IShellView2* This,WINBOOL fEnterMode) {
return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode);
}
/*** IShellView methods ***/
static FORCEINLINE HRESULT IShellView2_TranslateAccelerator(IShellView2* This,MSG *pmsg) {
return This->lpVtbl->TranslateAccelerator(This,pmsg);
}
static FORCEINLINE HRESULT IShellView2_EnableModeless(IShellView2* This,WINBOOL fEnable) {
return This->lpVtbl->EnableModeless(This,fEnable);
}
static FORCEINLINE HRESULT IShellView2_UIActivate(IShellView2* This,UINT uState) {
return This->lpVtbl->UIActivate(This,uState);
}
static FORCEINLINE HRESULT IShellView2_Refresh(IShellView2* This) {
return This->lpVtbl->Refresh(This);
}
static FORCEINLINE HRESULT IShellView2_CreateViewWindow(IShellView2* This,IShellView *psvPrevious,LPCFOLDERSETTINGS pfs,IShellBrowser *psb,RECT *prcView,HWND *phWnd) {
return This->lpVtbl->CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd);
}
static FORCEINLINE HRESULT IShellView2_DestroyViewWindow(IShellView2* This) {
return This->lpVtbl->DestroyViewWindow(This);
}
static FORCEINLINE HRESULT IShellView2_GetCurrentInfo(IShellView2* This,LPFOLDERSETTINGS pfs) {
return This->lpVtbl->GetCurrentInfo(This,pfs);
}
static FORCEINLINE HRESULT IShellView2_AddPropertySheetPages(IShellView2* This,DWORD dwReserved,LPFNSVADDPROPSHEETPAGE pfn,LPARAM lparam) {
return This->lpVtbl->AddPropertySheetPages(This,dwReserved,pfn,lparam);
}
static FORCEINLINE HRESULT IShellView2_SaveViewState(IShellView2* This) {
return This->lpVtbl->SaveViewState(This);
}
static FORCEINLINE HRESULT IShellView2_SelectItem(IShellView2* This,PCUITEMID_CHILD pidlItem,SVSIF uFlags) {
return This->lpVtbl->SelectItem(This,pidlItem,uFlags);
}
static FORCEINLINE HRESULT IShellView2_GetItemObject(IShellView2* This,UINT uItem,REFIID riid,void **ppv) {
return This->lpVtbl->GetItemObject(This,uItem,riid,ppv);
}
/*** IShellView2 methods ***/
static FORCEINLINE HRESULT IShellView2_GetView(IShellView2* This,SHELLVIEWID *pvid,ULONG uView) {
return This->lpVtbl->GetView(This,pvid,uView);
}
static FORCEINLINE HRESULT IShellView2_CreateViewWindow2(IShellView2* This,LPSV2CVW2_PARAMS lpParams) {
return This->lpVtbl->CreateViewWindow2(This,lpParams);
}
static FORCEINLINE HRESULT IShellView2_HandleRename(IShellView2* This,PCUITEMID_CHILD pidlNew) {
return This->lpVtbl->HandleRename(This,pidlNew);
}
static FORCEINLINE HRESULT IShellView2_SelectAndPositionItem(IShellView2* This,PCUITEMID_CHILD pidlItem,UINT uFlags,POINT *ppt) {
return This->lpVtbl->SelectAndPositionItem(This,pidlItem,uFlags,ppt);
}
#endif
#endif
#endif
#endif /* __IShellView2_INTERFACE_DEFINED__ */
#if NTDDI_VERSION >= NTDDI_VISTA
/*****************************************************************************
* IShellView3 interface
*/
#ifndef __IShellView3_INTERFACE_DEFINED__
#define __IShellView3_INTERFACE_DEFINED__
enum _SV3CVW3_FLAGS {
SV3CVW3_DEFAULT = 0x0,
SV3CVW3_NONINTERACTIVE = 0x1,
SV3CVW3_FORCEVIEWMODE = 0x2,
SV3CVW3_FORCEFOLDERFLAGS = 0x4
};
typedef DWORD SV3CVW3_FLAGS;
DEFINE_GUID(IID_IShellView3, 0xec39fa88, 0xf8af, 0x41c5, 0x84,0x21, 0x38,0xbe,0xd2,0x8f,0x46,0x73);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("ec39fa88-f8af-41c5-8421-38bed28f4673")
IShellView3 : public IShellView2
{
virtual HRESULT STDMETHODCALLTYPE CreateViewWindow3(
IShellBrowser *psbOwner,
IShellView *psvPrev,
SV3CVW3_FLAGS dwViewFlags,
FOLDERFLAGS dwMask,
FOLDERFLAGS dwFlags,
FOLDERVIEWMODE fvMode,
const SHELLVIEWID *pvid,
const RECT *prcView,
HWND *phwndView) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IShellView3, 0xec39fa88, 0xf8af, 0x41c5, 0x84,0x21, 0x38,0xbe,0xd2,0x8f,0x46,0x73)
#endif
#else
typedef struct IShellView3Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IShellView3 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IShellView3 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IShellView3 *This);
/*** IOleWindow methods ***/
HRESULT (STDMETHODCALLTYPE *GetWindow)(
IShellView3 *This,
HWND *phwnd);
HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
IShellView3 *This,
WINBOOL fEnterMode);
/*** IShellView methods ***/
HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)(
IShellView3 *This,
MSG *pmsg);
HRESULT (STDMETHODCALLTYPE *EnableModeless)(
IShellView3 *This,
WINBOOL fEnable);
HRESULT (STDMETHODCALLTYPE *UIActivate)(
IShellView3 *This,
UINT uState);
HRESULT (STDMETHODCALLTYPE *Refresh)(
IShellView3 *This);
HRESULT (STDMETHODCALLTYPE *CreateViewWindow)(
IShellView3 *This,
IShellView *psvPrevious,
LPCFOLDERSETTINGS pfs,
IShellBrowser *psb,
RECT *prcView,
HWND *phWnd);
HRESULT (STDMETHODCALLTYPE *DestroyViewWindow)(
IShellView3 *This);
HRESULT (STDMETHODCALLTYPE *GetCurrentInfo)(
IShellView3 *This,
LPFOLDERSETTINGS pfs);
HRESULT (STDMETHODCALLTYPE *AddPropertySheetPages)(
IShellView3 *This,
DWORD dwReserved,
LPFNSVADDPROPSHEETPAGE pfn,
LPARAM lparam);
HRESULT (STDMETHODCALLTYPE *SaveViewState)(
IShellView3 *This);
HRESULT (STDMETHODCALLTYPE *SelectItem)(
IShellView3 *This,
PCUITEMID_CHILD pidlItem,
SVSIF uFlags);
HRESULT (STDMETHODCALLTYPE *GetItemObject)(
IShellView3 *This,
UINT uItem,
REFIID riid,
void **ppv);
/*** IShellView2 methods ***/
HRESULT (STDMETHODCALLTYPE *GetView)(
IShellView3 *This,
SHELLVIEWID *pvid,
ULONG uView);
HRESULT (STDMETHODCALLTYPE *CreateViewWindow2)(
IShellView3 *This,
LPSV2CVW2_PARAMS lpParams);
HRESULT (STDMETHODCALLTYPE *HandleRename)(
IShellView3 *This,
PCUITEMID_CHILD pidlNew);
HRESULT (STDMETHODCALLTYPE *SelectAndPositionItem)(
IShellView3 *This,
PCUITEMID_CHILD pidlItem,
UINT uFlags,
POINT *ppt);
/*** IShellView3 methods ***/
HRESULT (STDMETHODCALLTYPE *CreateViewWindow3)(
IShellView3 *This,
IShellBrowser *psbOwner,
IShellView *psvPrev,
SV3CVW3_FLAGS dwViewFlags,
FOLDERFLAGS dwMask,
FOLDERFLAGS dwFlags,
FOLDERVIEWMODE fvMode,
const SHELLVIEWID *pvid,
const RECT *prcView,
HWND *phwndView);
END_INTERFACE
} IShellView3Vtbl;
interface IShellView3 {
CONST_VTBL IShellView3Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IShellView3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IShellView3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IShellView3_Release(This) (This)->lpVtbl->Release(This)
/*** IOleWindow methods ***/
#define IShellView3_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
#define IShellView3_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
/*** IShellView methods ***/
#define IShellView3_TranslateAccelerator(This,pmsg) (This)->lpVtbl->TranslateAccelerator(This,pmsg)
#define IShellView3_EnableModeless(This,fEnable) (This)->lpVtbl->EnableModeless(This,fEnable)
#define IShellView3_UIActivate(This,uState) (This)->lpVtbl->UIActivate(This,uState)
#define IShellView3_Refresh(This) (This)->lpVtbl->Refresh(This)
#define IShellView3_CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd) (This)->lpVtbl->CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd)
#define IShellView3_DestroyViewWindow(This) (This)->lpVtbl->DestroyViewWindow(This)
#define IShellView3_GetCurrentInfo(This,pfs) (This)->lpVtbl->GetCurrentInfo(This,pfs)
#define IShellView3_AddPropertySheetPages(This,dwReserved,pfn,lparam) (This)->lpVtbl->AddPropertySheetPages(This,dwReserved,pfn,lparam)
#define IShellView3_SaveViewState(This) (This)->lpVtbl->SaveViewState(This)
#define IShellView3_SelectItem(This,pidlItem,uFlags) (This)->lpVtbl->SelectItem(This,pidlItem,uFlags)
#define IShellView3_GetItemObject(This,uItem,riid,ppv) (This)->lpVtbl->GetItemObject(This,uItem,riid,ppv)
/*** IShellView2 methods ***/
#define IShellView3_GetView(This,pvid,uView) (This)->lpVtbl->GetView(This,pvid,uView)
#define IShellView3_CreateViewWindow2(This,lpParams) (This)->lpVtbl->CreateViewWindow2(This,lpParams)
#define IShellView3_HandleRename(This,pidlNew) (This)->lpVtbl->HandleRename(This,pidlNew)
#define IShellView3_SelectAndPositionItem(This,pidlItem,uFlags,ppt) (This)->lpVtbl->SelectAndPositionItem(This,pidlItem,uFlags,ppt)
/*** IShellView3 methods ***/
#define IShellView3_CreateViewWindow3(This,psbOwner,psvPrev,dwViewFlags,dwMask,dwFlags,fvMode,pvid,prcView,phwndView) (This)->lpVtbl->CreateViewWindow3(This,psbOwner,psvPrev,dwViewFlags,dwMask,dwFlags,fvMode,pvid,prcView,phwndView)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IShellView3_QueryInterface(IShellView3* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IShellView3_AddRef(IShellView3* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IShellView3_Release(IShellView3* This) {
return This->lpVtbl->Release(This);
}
/*** IOleWindow methods ***/
static FORCEINLINE HRESULT IShellView3_GetWindow(IShellView3* This,HWND *phwnd) {
return This->lpVtbl->GetWindow(This,phwnd);
}
static FORCEINLINE HRESULT IShellView3_ContextSensitiveHelp(IShellView3* This,WINBOOL fEnterMode) {
return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode);
}
/*** IShellView methods ***/
static FORCEINLINE HRESULT IShellView3_TranslateAccelerator(IShellView3* This,MSG *pmsg) {
return This->lpVtbl->TranslateAccelerator(This,pmsg);
}
static FORCEINLINE HRESULT IShellView3_EnableModeless(IShellView3* This,WINBOOL fEnable) {
return This->lpVtbl->EnableModeless(This,fEnable);
}
static FORCEINLINE HRESULT IShellView3_UIActivate(IShellView3* This,UINT uState) {
return This->lpVtbl->UIActivate(This,uState);
}
static FORCEINLINE HRESULT IShellView3_Refresh(IShellView3* This) {
return This->lpVtbl->Refresh(This);
}
static FORCEINLINE HRESULT IShellView3_CreateViewWindow(IShellView3* This,IShellView *psvPrevious,LPCFOLDERSETTINGS pfs,IShellBrowser *psb,RECT *prcView,HWND *phWnd) {
return This->lpVtbl->CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd);
}
static FORCEINLINE HRESULT IShellView3_DestroyViewWindow(IShellView3* This) {
return This->lpVtbl->DestroyViewWindow(This);
}
static FORCEINLINE HRESULT IShellView3_GetCurrentInfo(IShellView3* This,LPFOLDERSETTINGS pfs) {
return This->lpVtbl->GetCurrentInfo(This,pfs);
}
static FORCEINLINE HRESULT IShellView3_AddPropertySheetPages(IShellView3* This,DWORD dwReserved,LPFNSVADDPROPSHEETPAGE pfn,LPARAM lparam) {
return This->lpVtbl->AddPropertySheetPages(This,dwReserved,pfn,lparam);
}
static FORCEINLINE HRESULT IShellView3_SaveViewState(IShellView3* This) {
return This->lpVtbl->SaveViewState(This);
}
static FORCEINLINE HRESULT IShellView3_SelectItem(IShellView3* This,PCUITEMID_CHILD pidlItem,SVSIF uFlags) {
return This->lpVtbl->SelectItem(This,pidlItem,uFlags);
}
static FORCEINLINE HRESULT IShellView3_GetItemObject(IShellView3* This,UINT uItem,REFIID riid,void **ppv) {
return This->lpVtbl->GetItemObject(This,uItem,riid,ppv);
}
/*** IShellView2 methods ***/
static FORCEINLINE HRESULT IShellView3_GetView(IShellView3* This,SHELLVIEWID *pvid,ULONG uView) {
return This->lpVtbl->GetView(This,pvid,uView);
}
static FORCEINLINE HRESULT IShellView3_CreateViewWindow2(IShellView3* This,LPSV2CVW2_PARAMS lpParams) {
return This->lpVtbl->CreateViewWindow2(This,lpParams);
}
static FORCEINLINE HRESULT IShellView3_HandleRename(IShellView3* This,PCUITEMID_CHILD pidlNew) {
return This->lpVtbl->HandleRename(This,pidlNew);
}
static FORCEINLINE HRESULT IShellView3_SelectAndPositionItem(IShellView3* This,PCUITEMID_CHILD pidlItem,UINT uFlags,POINT *ppt) {
return This->lpVtbl->SelectAndPositionItem(This,pidlItem,uFlags,ppt);
}
/*** IShellView3 methods ***/
static FORCEINLINE HRESULT IShellView3_CreateViewWindow3(IShellView3* This,IShellBrowser *psbOwner,IShellView *psvPrev,SV3CVW3_FLAGS dwViewFlags,FOLDERFLAGS dwMask,FOLDERFLAGS dwFlags,FOLDERVIEWMODE fvMode,const SHELLVIEWID *pvid,const RECT *prcView,HWND *phwndView) {
return This->lpVtbl->CreateViewWindow3(This,psbOwner,psvPrev,dwViewFlags,dwMask,dwFlags,fvMode,pvid,prcView,phwndView);
}
#endif
#endif
#endif
#endif /* __IShellView3_INTERFACE_DEFINED__ */
#endif
#ifdef _FIX_ENABLEMODELESS_CONFLICT
#undef EnableModeless
#endif
/*****************************************************************************
* IFolderView interface
*/
#ifndef __IFolderView_INTERFACE_DEFINED__
#define __IFolderView_INTERFACE_DEFINED__
DEFINE_GUID(IID_IFolderView, 0xcde725b0, 0xccc9, 0x4519, 0x91,0x7e, 0x32,0x5d,0x72,0xfa,0xb4,0xce);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("cde725b0-ccc9-4519-917e-325d72fab4ce")
IFolderView : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetCurrentViewMode(
UINT *pViewMode) = 0;
virtual HRESULT STDMETHODCALLTYPE SetCurrentViewMode(
UINT ViewMode) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFolder(
REFIID riid,
void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE Item(
int iItemIndex,
PITEMID_CHILD *ppidl) = 0;
virtual HRESULT STDMETHODCALLTYPE ItemCount(
UINT uFlags,
int *pcItems) = 0;
virtual HRESULT STDMETHODCALLTYPE Items(
UINT uFlags,
REFIID riid,
void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSelectionMarkedItem(
int *piItem) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFocusedItem(
int *piItem) = 0;
virtual HRESULT STDMETHODCALLTYPE GetItemPosition(
PCUITEMID_CHILD pidl,
POINT *ppt) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSpacing(
POINT *ppt) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDefaultSpacing(
POINT *ppt) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAutoArrange(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SelectItem(
int iItem,
DWORD dwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE SelectAndPositionItems(
UINT cidl,
PCUITEMID_CHILD_ARRAY apidl,
POINT *apt,
DWORD dwFlags) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IFolderView, 0xcde725b0, 0xccc9, 0x4519, 0x91,0x7e, 0x32,0x5d,0x72,0xfa,0xb4,0xce)
#endif
#else
typedef struct IFolderViewVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IFolderView *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IFolderView *This);
ULONG (STDMETHODCALLTYPE *Release)(
IFolderView *This);
/*** IFolderView methods ***/
HRESULT (STDMETHODCALLTYPE *GetCurrentViewMode)(
IFolderView *This,
UINT *pViewMode);
HRESULT (STDMETHODCALLTYPE *SetCurrentViewMode)(
IFolderView *This,
UINT ViewMode);
HRESULT (STDMETHODCALLTYPE *GetFolder)(
IFolderView *This,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *Item)(
IFolderView *This,
int iItemIndex,
PITEMID_CHILD *ppidl);
HRESULT (STDMETHODCALLTYPE *ItemCount)(
IFolderView *This,
UINT uFlags,
int *pcItems);
HRESULT (STDMETHODCALLTYPE *Items)(
IFolderView *This,
UINT uFlags,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *GetSelectionMarkedItem)(
IFolderView *This,
int *piItem);
HRESULT (STDMETHODCALLTYPE *GetFocusedItem)(
IFolderView *This,
int *piItem);
HRESULT (STDMETHODCALLTYPE *GetItemPosition)(
IFolderView *This,
PCUITEMID_CHILD pidl,
POINT *ppt);
HRESULT (STDMETHODCALLTYPE *GetSpacing)(
IFolderView *This,
POINT *ppt);
HRESULT (STDMETHODCALLTYPE *GetDefaultSpacing)(
IFolderView *This,
POINT *ppt);
HRESULT (STDMETHODCALLTYPE *GetAutoArrange)(
IFolderView *This);
HRESULT (STDMETHODCALLTYPE *SelectItem)(
IFolderView *This,
int iItem,
DWORD dwFlags);
HRESULT (STDMETHODCALLTYPE *SelectAndPositionItems)(
IFolderView *This,
UINT cidl,
PCUITEMID_CHILD_ARRAY apidl,
POINT *apt,
DWORD dwFlags);
END_INTERFACE
} IFolderViewVtbl;
interface IFolderView {
CONST_VTBL IFolderViewVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IFolderView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IFolderView_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IFolderView_Release(This) (This)->lpVtbl->Release(This)
/*** IFolderView methods ***/
#define IFolderView_GetCurrentViewMode(This,pViewMode) (This)->lpVtbl->GetCurrentViewMode(This,pViewMode)
#define IFolderView_SetCurrentViewMode(This,ViewMode) (This)->lpVtbl->SetCurrentViewMode(This,ViewMode)
#define IFolderView_GetFolder(This,riid,ppv) (This)->lpVtbl->GetFolder(This,riid,ppv)
#define IFolderView_Item(This,iItemIndex,ppidl) (This)->lpVtbl->Item(This,iItemIndex,ppidl)
#define IFolderView_ItemCount(This,uFlags,pcItems) (This)->lpVtbl->ItemCount(This,uFlags,pcItems)
#define IFolderView_Items(This,uFlags,riid,ppv) (This)->lpVtbl->Items(This,uFlags,riid,ppv)
#define IFolderView_GetSelectionMarkedItem(This,piItem) (This)->lpVtbl->GetSelectionMarkedItem(This,piItem)
#define IFolderView_GetFocusedItem(This,piItem) (This)->lpVtbl->GetFocusedItem(This,piItem)
#define IFolderView_GetItemPosition(This,pidl,ppt) (This)->lpVtbl->GetItemPosition(This,pidl,ppt)
#define IFolderView_GetSpacing(This,ppt) (This)->lpVtbl->GetSpacing(This,ppt)
#define IFolderView_GetDefaultSpacing(This,ppt) (This)->lpVtbl->GetDefaultSpacing(This,ppt)
#define IFolderView_GetAutoArrange(This) (This)->lpVtbl->GetAutoArrange(This)
#define IFolderView_SelectItem(This,iItem,dwFlags) (This)->lpVtbl->SelectItem(This,iItem,dwFlags)
#define IFolderView_SelectAndPositionItems(This,cidl,apidl,apt,dwFlags) (This)->lpVtbl->SelectAndPositionItems(This,cidl,apidl,apt,dwFlags)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IFolderView_QueryInterface(IFolderView* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IFolderView_AddRef(IFolderView* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IFolderView_Release(IFolderView* This) {
return This->lpVtbl->Release(This);
}
/*** IFolderView methods ***/
static FORCEINLINE HRESULT IFolderView_GetCurrentViewMode(IFolderView* This,UINT *pViewMode) {
return This->lpVtbl->GetCurrentViewMode(This,pViewMode);
}
static FORCEINLINE HRESULT IFolderView_SetCurrentViewMode(IFolderView* This,UINT ViewMode) {
return This->lpVtbl->SetCurrentViewMode(This,ViewMode);
}
static FORCEINLINE HRESULT IFolderView_GetFolder(IFolderView* This,REFIID riid,void **ppv) {
return This->lpVtbl->GetFolder(This,riid,ppv);
}
static FORCEINLINE HRESULT IFolderView_Item(IFolderView* This,int iItemIndex,PITEMID_CHILD *ppidl) {
return This->lpVtbl->Item(This,iItemIndex,ppidl);
}
static FORCEINLINE HRESULT IFolderView_ItemCount(IFolderView* This,UINT uFlags,int *pcItems) {
return This->lpVtbl->ItemCount(This,uFlags,pcItems);
}
static FORCEINLINE HRESULT IFolderView_Items(IFolderView* This,UINT uFlags,REFIID riid,void **ppv) {
return This->lpVtbl->Items(This,uFlags,riid,ppv);
}
static FORCEINLINE HRESULT IFolderView_GetSelectionMarkedItem(IFolderView* This,int *piItem) {
return This->lpVtbl->GetSelectionMarkedItem(This,piItem);
}
static FORCEINLINE HRESULT IFolderView_GetFocusedItem(IFolderView* This,int *piItem) {
return This->lpVtbl->GetFocusedItem(This,piItem);
}
static FORCEINLINE HRESULT IFolderView_GetItemPosition(IFolderView* This,PCUITEMID_CHILD pidl,POINT *ppt) {
return This->lpVtbl->GetItemPosition(This,pidl,ppt);
}
static FORCEINLINE HRESULT IFolderView_GetSpacing(IFolderView* This,POINT *ppt) {
return This->lpVtbl->GetSpacing(This,ppt);
}
static FORCEINLINE HRESULT IFolderView_GetDefaultSpacing(IFolderView* This,POINT *ppt) {
return This->lpVtbl->GetDefaultSpacing(This,ppt);
}
static FORCEINLINE HRESULT IFolderView_GetAutoArrange(IFolderView* This) {
return This->lpVtbl->GetAutoArrange(This);
}
static FORCEINLINE HRESULT IFolderView_SelectItem(IFolderView* This,int iItem,DWORD dwFlags) {
return This->lpVtbl->SelectItem(This,iItem,dwFlags);
}
static FORCEINLINE HRESULT IFolderView_SelectAndPositionItems(IFolderView* This,UINT cidl,PCUITEMID_CHILD_ARRAY apidl,POINT *apt,DWORD dwFlags) {
return This->lpVtbl->SelectAndPositionItems(This,cidl,apidl,apt,dwFlags);
}
#endif
#endif
#endif
#endif /* __IFolderView_INTERFACE_DEFINED__ */
#define SID_SFolderView IID_IFolderView
#if NTDDI_VERSION >= NTDDI_WIN7
/*****************************************************************************
* ISearchBoxInfo interface
*/
#ifndef __ISearchBoxInfo_INTERFACE_DEFINED__
#define __ISearchBoxInfo_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISearchBoxInfo, 0x6af6e03f, 0xd664, 0x4ef4, 0x96,0x26, 0xf7,0xe0,0xed,0x36,0x75,0x5e);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("6af6e03f-d664-4ef4-9626-f7e0ed36755e")
ISearchBoxInfo : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetCondition(
REFIID riid,
void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE GetText(
LPWSTR *ppsz) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISearchBoxInfo, 0x6af6e03f, 0xd664, 0x4ef4, 0x96,0x26, 0xf7,0xe0,0xed,0x36,0x75,0x5e)
#endif
#else
typedef struct ISearchBoxInfoVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISearchBoxInfo *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISearchBoxInfo *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISearchBoxInfo *This);
/*** ISearchBoxInfo methods ***/
HRESULT (STDMETHODCALLTYPE *GetCondition)(
ISearchBoxInfo *This,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *GetText)(
ISearchBoxInfo *This,
LPWSTR *ppsz);
END_INTERFACE
} ISearchBoxInfoVtbl;
interface ISearchBoxInfo {
CONST_VTBL ISearchBoxInfoVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISearchBoxInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISearchBoxInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISearchBoxInfo_Release(This) (This)->lpVtbl->Release(This)
/*** ISearchBoxInfo methods ***/
#define ISearchBoxInfo_GetCondition(This,riid,ppv) (This)->lpVtbl->GetCondition(This,riid,ppv)
#define ISearchBoxInfo_GetText(This,ppsz) (This)->lpVtbl->GetText(This,ppsz)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISearchBoxInfo_QueryInterface(ISearchBoxInfo* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISearchBoxInfo_AddRef(ISearchBoxInfo* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISearchBoxInfo_Release(ISearchBoxInfo* This) {
return This->lpVtbl->Release(This);
}
/*** ISearchBoxInfo methods ***/
static FORCEINLINE HRESULT ISearchBoxInfo_GetCondition(ISearchBoxInfo* This,REFIID riid,void **ppv) {
return This->lpVtbl->GetCondition(This,riid,ppv);
}
static FORCEINLINE HRESULT ISearchBoxInfo_GetText(ISearchBoxInfo* This,LPWSTR *ppsz) {
return This->lpVtbl->GetText(This,ppsz);
}
#endif
#endif
#endif
#endif /* __ISearchBoxInfo_INTERFACE_DEFINED__ */
#endif
#if NTDDI_VERSION >= NTDDI_VISTA || _WIN32_IE >= _WIN32_IE_IE70
#ifndef NO_SHOBJIDL_SORTDIRECTION
enum tagSORTDIRECTION {
SORT_DESCENDING = -1,
SORT_ASCENDING = 1
};
#endif
typedef int SORTDIRECTION;
typedef struct SORTCOLUMN {
PROPERTYKEY propkey;
SORTDIRECTION direction;
} SORTCOLUMN;
typedef enum FVTEXTTYPE {
FVST_EMPTYTEXT = 0
} FVTEXTTYPE;
#ifndef __IShellItemArray_FWD_DEFINED__
#define __IShellItemArray_FWD_DEFINED__
typedef interface IShellItemArray IShellItemArray;
#ifdef __cplusplus
interface IShellItemArray;
#endif /* __cplusplus */
#endif
typedef HRESULT DEPRECATED_HRESULT;
#ifdef __cplusplus
#define DEPRECATED_HRESULT HRESULT
#endif
/*****************************************************************************
* IFolderView2 interface
*/
#ifndef __IFolderView2_INTERFACE_DEFINED__
#define __IFolderView2_INTERFACE_DEFINED__
DEFINE_GUID(IID_IFolderView2, 0x1af3a467, 0x214f, 0x4298, 0x90,0x8e, 0x06,0xb0,0x3e,0x0b,0x39,0xf9);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("1af3a467-214f-4298-908e-06b03e0b39f9")
IFolderView2 : public IFolderView
{
virtual HRESULT STDMETHODCALLTYPE SetGroupBy(
REFPROPERTYKEY key,
WINBOOL fAscending) = 0;
virtual HRESULT STDMETHODCALLTYPE GetGroupBy(
PROPERTYKEY *pkey,
WINBOOL *pfAscending) = 0;
virtual HRESULT STDMETHODCALLTYPE SetViewProperty(
PCUITEMID_CHILD pidl,
REFPROPERTYKEY propkey,
REFPROPVARIANT propvar) = 0;
virtual HRESULT STDMETHODCALLTYPE GetViewProperty(
PCUITEMID_CHILD pidl,
REFPROPERTYKEY propkey,
PROPVARIANT *ppropvar) = 0;
virtual HRESULT STDMETHODCALLTYPE SetTileViewProperties(
PCUITEMID_CHILD pidl,
LPCWSTR pszPropList) = 0;
virtual HRESULT STDMETHODCALLTYPE SetExtendedTileViewProperties(
PCUITEMID_CHILD pidl,
LPCWSTR pszPropList) = 0;
virtual HRESULT STDMETHODCALLTYPE SetText(
FVTEXTTYPE iType,
LPCWSTR pwszText) = 0;
virtual HRESULT STDMETHODCALLTYPE SetCurrentFolderFlags(
DWORD dwMask,
DWORD dwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentFolderFlags(
DWORD *pdwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSortColumnCount(
int *pcColumns) = 0;
virtual HRESULT STDMETHODCALLTYPE SetSortColumns(
const SORTCOLUMN *rgSortColumns,
int cColumns) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSortColumns(
SORTCOLUMN *rgSortColumns,
int cColumns) = 0;
virtual HRESULT STDMETHODCALLTYPE GetItem(
int iItem,
REFIID riid,
void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE GetVisibleItem(
int iStart,
WINBOOL fPrevious,
int *piItem) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSelectedItem(
int iStart,
int *piItem) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSelection(
WINBOOL fNoneImpliesFolder,
IShellItemArray **ppsia) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSelectionState(
PCUITEMID_CHILD pidl,
DWORD *pdwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE InvokeVerbOnSelection(
LPCSTR pszVerb) = 0;
virtual HRESULT STDMETHODCALLTYPE SetViewModeAndIconSize(
FOLDERVIEWMODE uViewMode,
int iImageSize) = 0;
virtual HRESULT STDMETHODCALLTYPE GetViewModeAndIconSize(
FOLDERVIEWMODE *puViewMode,
int *piImageSize) = 0;
virtual HRESULT STDMETHODCALLTYPE SetGroupSubsetCount(
UINT cVisibleRows) = 0;
virtual HRESULT STDMETHODCALLTYPE GetGroupSubsetCount(
UINT *pcVisibleRows) = 0;
virtual HRESULT STDMETHODCALLTYPE SetRedraw(
WINBOOL fRedrawOn) = 0;
virtual HRESULT STDMETHODCALLTYPE IsMoveInSameFolder(
) = 0;
virtual HRESULT STDMETHODCALLTYPE DoRename(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IFolderView2, 0x1af3a467, 0x214f, 0x4298, 0x90,0x8e, 0x06,0xb0,0x3e,0x0b,0x39,0xf9)
#endif
#else
typedef struct IFolderView2Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IFolderView2 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IFolderView2 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IFolderView2 *This);
/*** IFolderView methods ***/
HRESULT (STDMETHODCALLTYPE *GetCurrentViewMode)(
IFolderView2 *This,
UINT *pViewMode);
HRESULT (STDMETHODCALLTYPE *SetCurrentViewMode)(
IFolderView2 *This,
UINT ViewMode);
HRESULT (STDMETHODCALLTYPE *GetFolder)(
IFolderView2 *This,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *Item)(
IFolderView2 *This,
int iItemIndex,
PITEMID_CHILD *ppidl);
HRESULT (STDMETHODCALLTYPE *ItemCount)(
IFolderView2 *This,
UINT uFlags,
int *pcItems);
HRESULT (STDMETHODCALLTYPE *Items)(
IFolderView2 *This,
UINT uFlags,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *GetSelectionMarkedItem)(
IFolderView2 *This,
int *piItem);
HRESULT (STDMETHODCALLTYPE *GetFocusedItem)(
IFolderView2 *This,
int *piItem);
HRESULT (STDMETHODCALLTYPE *GetItemPosition)(
IFolderView2 *This,
PCUITEMID_CHILD pidl,
POINT *ppt);
HRESULT (STDMETHODCALLTYPE *GetSpacing)(
IFolderView2 *This,
POINT *ppt);
HRESULT (STDMETHODCALLTYPE *GetDefaultSpacing)(
IFolderView2 *This,
POINT *ppt);
HRESULT (STDMETHODCALLTYPE *GetAutoArrange)(
IFolderView2 *This);
HRESULT (STDMETHODCALLTYPE *SelectItem)(
IFolderView2 *This,
int iItem,
DWORD dwFlags);
HRESULT (STDMETHODCALLTYPE *SelectAndPositionItems)(
IFolderView2 *This,
UINT cidl,
PCUITEMID_CHILD_ARRAY apidl,
POINT *apt,
DWORD dwFlags);
/*** IFolderView2 methods ***/
HRESULT (STDMETHODCALLTYPE *SetGroupBy)(
IFolderView2 *This,
REFPROPERTYKEY key,
WINBOOL fAscending);
HRESULT (STDMETHODCALLTYPE *GetGroupBy)(
IFolderView2 *This,
PROPERTYKEY *pkey,
WINBOOL *pfAscending);
HRESULT (STDMETHODCALLTYPE *SetViewProperty)(
IFolderView2 *This,
PCUITEMID_CHILD pidl,
REFPROPERTYKEY propkey,
REFPROPVARIANT propvar);
HRESULT (STDMETHODCALLTYPE *GetViewProperty)(
IFolderView2 *This,
PCUITEMID_CHILD pidl,
REFPROPERTYKEY propkey,
PROPVARIANT *ppropvar);
HRESULT (STDMETHODCALLTYPE *SetTileViewProperties)(
IFolderView2 *This,
PCUITEMID_CHILD pidl,
LPCWSTR pszPropList);
HRESULT (STDMETHODCALLTYPE *SetExtendedTileViewProperties)(
IFolderView2 *This,
PCUITEMID_CHILD pidl,
LPCWSTR pszPropList);
HRESULT (STDMETHODCALLTYPE *SetText)(
IFolderView2 *This,
FVTEXTTYPE iType,
LPCWSTR pwszText);
HRESULT (STDMETHODCALLTYPE *SetCurrentFolderFlags)(
IFolderView2 *This,
DWORD dwMask,
DWORD dwFlags);
HRESULT (STDMETHODCALLTYPE *GetCurrentFolderFlags)(
IFolderView2 *This,
DWORD *pdwFlags);
HRESULT (STDMETHODCALLTYPE *GetSortColumnCount)(
IFolderView2 *This,
int *pcColumns);
HRESULT (STDMETHODCALLTYPE *SetSortColumns)(
IFolderView2 *This,
const SORTCOLUMN *rgSortColumns,
int cColumns);
HRESULT (STDMETHODCALLTYPE *GetSortColumns)(
IFolderView2 *This,
SORTCOLUMN *rgSortColumns,
int cColumns);
HRESULT (STDMETHODCALLTYPE *GetItem)(
IFolderView2 *This,
int iItem,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *GetVisibleItem)(
IFolderView2 *This,
int iStart,
WINBOOL fPrevious,
int *piItem);
HRESULT (STDMETHODCALLTYPE *GetSelectedItem)(
IFolderView2 *This,
int iStart,
int *piItem);
HRESULT (STDMETHODCALLTYPE *GetSelection)(
IFolderView2 *This,
WINBOOL fNoneImpliesFolder,
IShellItemArray **ppsia);
HRESULT (STDMETHODCALLTYPE *GetSelectionState)(
IFolderView2 *This,
PCUITEMID_CHILD pidl,
DWORD *pdwFlags);
HRESULT (STDMETHODCALLTYPE *InvokeVerbOnSelection)(
IFolderView2 *This,
LPCSTR pszVerb);
HRESULT (STDMETHODCALLTYPE *SetViewModeAndIconSize)(
IFolderView2 *This,
FOLDERVIEWMODE uViewMode,
int iImageSize);
HRESULT (STDMETHODCALLTYPE *GetViewModeAndIconSize)(
IFolderView2 *This,
FOLDERVIEWMODE *puViewMode,
int *piImageSize);
HRESULT (STDMETHODCALLTYPE *SetGroupSubsetCount)(
IFolderView2 *This,
UINT cVisibleRows);
HRESULT (STDMETHODCALLTYPE *GetGroupSubsetCount)(
IFolderView2 *This,
UINT *pcVisibleRows);
HRESULT (STDMETHODCALLTYPE *SetRedraw)(
IFolderView2 *This,
WINBOOL fRedrawOn);
HRESULT (STDMETHODCALLTYPE *IsMoveInSameFolder)(
IFolderView2 *This);
HRESULT (STDMETHODCALLTYPE *DoRename)(
IFolderView2 *This);
END_INTERFACE
} IFolderView2Vtbl;
interface IFolderView2 {
CONST_VTBL IFolderView2Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IFolderView2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IFolderView2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IFolderView2_Release(This) (This)->lpVtbl->Release(This)
/*** IFolderView methods ***/
#define IFolderView2_GetCurrentViewMode(This,pViewMode) (This)->lpVtbl->GetCurrentViewMode(This,pViewMode)
#define IFolderView2_SetCurrentViewMode(This,ViewMode) (This)->lpVtbl->SetCurrentViewMode(This,ViewMode)
#define IFolderView2_GetFolder(This,riid,ppv) (This)->lpVtbl->GetFolder(This,riid,ppv)
#define IFolderView2_Item(This,iItemIndex,ppidl) (This)->lpVtbl->Item(This,iItemIndex,ppidl)
#define IFolderView2_ItemCount(This,uFlags,pcItems) (This)->lpVtbl->ItemCount(This,uFlags,pcItems)
#define IFolderView2_Items(This,uFlags,riid,ppv) (This)->lpVtbl->Items(This,uFlags,riid,ppv)
#define IFolderView2_GetSelectionMarkedItem(This,piItem) (This)->lpVtbl->GetSelectionMarkedItem(This,piItem)
#define IFolderView2_GetFocusedItem(This,piItem) (This)->lpVtbl->GetFocusedItem(This,piItem)
#define IFolderView2_GetItemPosition(This,pidl,ppt) (This)->lpVtbl->GetItemPosition(This,pidl,ppt)
#define IFolderView2_GetSpacing(This,ppt) (This)->lpVtbl->GetSpacing(This,ppt)
#define IFolderView2_GetDefaultSpacing(This,ppt) (This)->lpVtbl->GetDefaultSpacing(This,ppt)
#define IFolderView2_GetAutoArrange(This) (This)->lpVtbl->GetAutoArrange(This)
#define IFolderView2_SelectItem(This,iItem,dwFlags) (This)->lpVtbl->SelectItem(This,iItem,dwFlags)
#define IFolderView2_SelectAndPositionItems(This,cidl,apidl,apt,dwFlags) (This)->lpVtbl->SelectAndPositionItems(This,cidl,apidl,apt,dwFlags)
/*** IFolderView2 methods ***/
#define IFolderView2_SetGroupBy(This,key,fAscending) (This)->lpVtbl->SetGroupBy(This,key,fAscending)
#define IFolderView2_GetGroupBy(This,pkey,pfAscending) (This)->lpVtbl->GetGroupBy(This,pkey,pfAscending)
#define IFolderView2_SetViewProperty(This,pidl,propkey,propvar) (This)->lpVtbl->SetViewProperty(This,pidl,propkey,propvar)
#define IFolderView2_GetViewProperty(This,pidl,propkey,ppropvar) (This)->lpVtbl->GetViewProperty(This,pidl,propkey,ppropvar)
#define IFolderView2_SetTileViewProperties(This,pidl,pszPropList) (This)->lpVtbl->SetTileViewProperties(This,pidl,pszPropList)
#define IFolderView2_SetExtendedTileViewProperties(This,pidl,pszPropList) (This)->lpVtbl->SetExtendedTileViewProperties(This,pidl,pszPropList)
#define IFolderView2_SetText(This,iType,pwszText) (This)->lpVtbl->SetText(This,iType,pwszText)
#define IFolderView2_SetCurrentFolderFlags(This,dwMask,dwFlags) (This)->lpVtbl->SetCurrentFolderFlags(This,dwMask,dwFlags)
#define IFolderView2_GetCurrentFolderFlags(This,pdwFlags) (This)->lpVtbl->GetCurrentFolderFlags(This,pdwFlags)
#define IFolderView2_GetSortColumnCount(This,pcColumns) (This)->lpVtbl->GetSortColumnCount(This,pcColumns)
#define IFolderView2_SetSortColumns(This,rgSortColumns,cColumns) (This)->lpVtbl->SetSortColumns(This,rgSortColumns,cColumns)
#define IFolderView2_GetSortColumns(This,rgSortColumns,cColumns) (This)->lpVtbl->GetSortColumns(This,rgSortColumns,cColumns)
#define IFolderView2_GetItem(This,iItem,riid,ppv) (This)->lpVtbl->GetItem(This,iItem,riid,ppv)
#define IFolderView2_GetVisibleItem(This,iStart,fPrevious,piItem) (This)->lpVtbl->GetVisibleItem(This,iStart,fPrevious,piItem)
#define IFolderView2_GetSelectedItem(This,iStart,piItem) (This)->lpVtbl->GetSelectedItem(This,iStart,piItem)
#define IFolderView2_GetSelection(This,fNoneImpliesFolder,ppsia) (This)->lpVtbl->GetSelection(This,fNoneImpliesFolder,ppsia)
#define IFolderView2_GetSelectionState(This,pidl,pdwFlags) (This)->lpVtbl->GetSelectionState(This,pidl,pdwFlags)
#define IFolderView2_InvokeVerbOnSelection(This,pszVerb) (This)->lpVtbl->InvokeVerbOnSelection(This,pszVerb)
#define IFolderView2_SetViewModeAndIconSize(This,uViewMode,iImageSize) (This)->lpVtbl->SetViewModeAndIconSize(This,uViewMode,iImageSize)
#define IFolderView2_GetViewModeAndIconSize(This,puViewMode,piImageSize) (This)->lpVtbl->GetViewModeAndIconSize(This,puViewMode,piImageSize)
#define IFolderView2_SetGroupSubsetCount(This,cVisibleRows) (This)->lpVtbl->SetGroupSubsetCount(This,cVisibleRows)
#define IFolderView2_GetGroupSubsetCount(This,pcVisibleRows) (This)->lpVtbl->GetGroupSubsetCount(This,pcVisibleRows)
#define IFolderView2_SetRedraw(This,fRedrawOn) (This)->lpVtbl->SetRedraw(This,fRedrawOn)
#define IFolderView2_IsMoveInSameFolder(This) (This)->lpVtbl->IsMoveInSameFolder(This)
#define IFolderView2_DoRename(This) (This)->lpVtbl->DoRename(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IFolderView2_QueryInterface(IFolderView2* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IFolderView2_AddRef(IFolderView2* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IFolderView2_Release(IFolderView2* This) {
return This->lpVtbl->Release(This);
}
/*** IFolderView methods ***/
static FORCEINLINE HRESULT IFolderView2_GetCurrentViewMode(IFolderView2* This,UINT *pViewMode) {
return This->lpVtbl->GetCurrentViewMode(This,pViewMode);
}
static FORCEINLINE HRESULT IFolderView2_SetCurrentViewMode(IFolderView2* This,UINT ViewMode) {
return This->lpVtbl->SetCurrentViewMode(This,ViewMode);
}
static FORCEINLINE HRESULT IFolderView2_GetFolder(IFolderView2* This,REFIID riid,void **ppv) {
return This->lpVtbl->GetFolder(This,riid,ppv);
}
static FORCEINLINE HRESULT IFolderView2_Item(IFolderView2* This,int iItemIndex,PITEMID_CHILD *ppidl) {
return This->lpVtbl->Item(This,iItemIndex,ppidl);
}
static FORCEINLINE HRESULT IFolderView2_ItemCount(IFolderView2* This,UINT uFlags,int *pcItems) {
return This->lpVtbl->ItemCount(This,uFlags,pcItems);
}
static FORCEINLINE HRESULT IFolderView2_Items(IFolderView2* This,UINT uFlags,REFIID riid,void **ppv) {
return This->lpVtbl->Items(This,uFlags,riid,ppv);
}
static FORCEINLINE HRESULT IFolderView2_GetSelectionMarkedItem(IFolderView2* This,int *piItem) {
return This->lpVtbl->GetSelectionMarkedItem(This,piItem);
}
static FORCEINLINE HRESULT IFolderView2_GetFocusedItem(IFolderView2* This,int *piItem) {
return This->lpVtbl->GetFocusedItem(This,piItem);
}
static FORCEINLINE HRESULT IFolderView2_GetItemPosition(IFolderView2* This,PCUITEMID_CHILD pidl,POINT *ppt) {
return This->lpVtbl->GetItemPosition(This,pidl,ppt);
}
static FORCEINLINE HRESULT IFolderView2_GetSpacing(IFolderView2* This,POINT *ppt) {
return This->lpVtbl->GetSpacing(This,ppt);
}
static FORCEINLINE HRESULT IFolderView2_GetDefaultSpacing(IFolderView2* This,POINT *ppt) {
return This->lpVtbl->GetDefaultSpacing(This,ppt);
}
static FORCEINLINE HRESULT IFolderView2_GetAutoArrange(IFolderView2* This) {
return This->lpVtbl->GetAutoArrange(This);
}
static FORCEINLINE HRESULT IFolderView2_SelectItem(IFolderView2* This,int iItem,DWORD dwFlags) {
return This->lpVtbl->SelectItem(This,iItem,dwFlags);
}
static FORCEINLINE HRESULT IFolderView2_SelectAndPositionItems(IFolderView2* This,UINT cidl,PCUITEMID_CHILD_ARRAY apidl,POINT *apt,DWORD dwFlags) {
return This->lpVtbl->SelectAndPositionItems(This,cidl,apidl,apt,dwFlags);
}
/*** IFolderView2 methods ***/
static FORCEINLINE HRESULT IFolderView2_SetGroupBy(IFolderView2* This,REFPROPERTYKEY key,WINBOOL fAscending) {
return This->lpVtbl->SetGroupBy(This,key,fAscending);
}
static FORCEINLINE HRESULT IFolderView2_GetGroupBy(IFolderView2* This,PROPERTYKEY *pkey,WINBOOL *pfAscending) {
return This->lpVtbl->GetGroupBy(This,pkey,pfAscending);
}
static FORCEINLINE HRESULT IFolderView2_SetViewProperty(IFolderView2* This,PCUITEMID_CHILD pidl,REFPROPERTYKEY propkey,REFPROPVARIANT propvar) {
return This->lpVtbl->SetViewProperty(This,pidl,propkey,propvar);
}
static FORCEINLINE HRESULT IFolderView2_GetViewProperty(IFolderView2* This,PCUITEMID_CHILD pidl,REFPROPERTYKEY propkey,PROPVARIANT *ppropvar) {
return This->lpVtbl->GetViewProperty(This,pidl,propkey,ppropvar);
}
static FORCEINLINE HRESULT IFolderView2_SetTileViewProperties(IFolderView2* This,PCUITEMID_CHILD pidl,LPCWSTR pszPropList) {
return This->lpVtbl->SetTileViewProperties(This,pidl,pszPropList);
}
static FORCEINLINE HRESULT IFolderView2_SetExtendedTileViewProperties(IFolderView2* This,PCUITEMID_CHILD pidl,LPCWSTR pszPropList) {
return This->lpVtbl->SetExtendedTileViewProperties(This,pidl,pszPropList);
}
static FORCEINLINE HRESULT IFolderView2_SetText(IFolderView2* This,FVTEXTTYPE iType,LPCWSTR pwszText) {
return This->lpVtbl->SetText(This,iType,pwszText);
}
static FORCEINLINE HRESULT IFolderView2_SetCurrentFolderFlags(IFolderView2* This,DWORD dwMask,DWORD dwFlags) {
return This->lpVtbl->SetCurrentFolderFlags(This,dwMask,dwFlags);
}
static FORCEINLINE HRESULT IFolderView2_GetCurrentFolderFlags(IFolderView2* This,DWORD *pdwFlags) {
return This->lpVtbl->GetCurrentFolderFlags(This,pdwFlags);
}
static FORCEINLINE HRESULT IFolderView2_GetSortColumnCount(IFolderView2* This,int *pcColumns) {
return This->lpVtbl->GetSortColumnCount(This,pcColumns);
}
static FORCEINLINE HRESULT IFolderView2_SetSortColumns(IFolderView2* This,const SORTCOLUMN *rgSortColumns,int cColumns) {
return This->lpVtbl->SetSortColumns(This,rgSortColumns,cColumns);
}
static FORCEINLINE HRESULT IFolderView2_GetSortColumns(IFolderView2* This,SORTCOLUMN *rgSortColumns,int cColumns) {
return This->lpVtbl->GetSortColumns(This,rgSortColumns,cColumns);
}
static FORCEINLINE HRESULT IFolderView2_GetItem(IFolderView2* This,int iItem,REFIID riid,void **ppv) {
return This->lpVtbl->GetItem(This,iItem,riid,ppv);
}
static FORCEINLINE HRESULT IFolderView2_GetVisibleItem(IFolderView2* This,int iStart,WINBOOL fPrevious,int *piItem) {
return This->lpVtbl->GetVisibleItem(This,iStart,fPrevious,piItem);
}
static FORCEINLINE HRESULT IFolderView2_GetSelectedItem(IFolderView2* This,int iStart,int *piItem) {
return This->lpVtbl->GetSelectedItem(This,iStart,piItem);
}
static FORCEINLINE HRESULT IFolderView2_GetSelection(IFolderView2* This,WINBOOL fNoneImpliesFolder,IShellItemArray **ppsia) {
return This->lpVtbl->GetSelection(This,fNoneImpliesFolder,ppsia);
}
static FORCEINLINE HRESULT IFolderView2_GetSelectionState(IFolderView2* This,PCUITEMID_CHILD pidl,DWORD *pdwFlags) {
return This->lpVtbl->GetSelectionState(This,pidl,pdwFlags);
}
static FORCEINLINE HRESULT IFolderView2_InvokeVerbOnSelection(IFolderView2* This,LPCSTR pszVerb) {
return This->lpVtbl->InvokeVerbOnSelection(This,pszVerb);
}
static FORCEINLINE HRESULT IFolderView2_SetViewModeAndIconSize(IFolderView2* This,FOLDERVIEWMODE uViewMode,int iImageSize) {
return This->lpVtbl->SetViewModeAndIconSize(This,uViewMode,iImageSize);
}
static FORCEINLINE HRESULT IFolderView2_GetViewModeAndIconSize(IFolderView2* This,FOLDERVIEWMODE *puViewMode,int *piImageSize) {
return This->lpVtbl->GetViewModeAndIconSize(This,puViewMode,piImageSize);
}
static FORCEINLINE HRESULT IFolderView2_SetGroupSubsetCount(IFolderView2* This,UINT cVisibleRows) {
return This->lpVtbl->SetGroupSubsetCount(This,cVisibleRows);
}
static FORCEINLINE HRESULT IFolderView2_GetGroupSubsetCount(IFolderView2* This,UINT *pcVisibleRows) {
return This->lpVtbl->GetGroupSubsetCount(This,pcVisibleRows);
}
static FORCEINLINE HRESULT IFolderView2_SetRedraw(IFolderView2* This,WINBOOL fRedrawOn) {
return This->lpVtbl->SetRedraw(This,fRedrawOn);
}
static FORCEINLINE HRESULT IFolderView2_IsMoveInSameFolder(IFolderView2* This) {
return This->lpVtbl->IsMoveInSameFolder(This);
}
static FORCEINLINE HRESULT IFolderView2_DoRename(IFolderView2* This) {
return This->lpVtbl->DoRename(This);
}
#endif
#endif
#endif
HRESULT STDMETHODCALLTYPE IFolderView2_RemoteGetGroupBy_Proxy(
IFolderView2* This,
PROPERTYKEY *pkey,
WINBOOL *pfAscending);
void __RPC_STUB IFolderView2_RemoteGetGroupBy_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IFolderView2_GetGroupBy_Proxy(
IFolderView2* This,
PROPERTYKEY *pkey,
WINBOOL *pfAscending);
HRESULT __RPC_STUB IFolderView2_GetGroupBy_Stub(
IFolderView2* This,
PROPERTYKEY *pkey,
WINBOOL *pfAscending);
#endif /* __IFolderView2_INTERFACE_DEFINED__ */
#if NTDDI_VERSION >= NTDDI_VISTA
/*****************************************************************************
* IFolderViewSettings interface
*/
#ifndef __IFolderViewSettings_INTERFACE_DEFINED__
#define __IFolderViewSettings_INTERFACE_DEFINED__
DEFINE_GUID(IID_IFolderViewSettings, 0xae8c987d, 0x8797, 0x4ed3, 0xbe,0x72, 0x2a,0x47,0xdd,0x93,0x8d,0xb0);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("ae8c987d-8797-4ed3-be72-2a47dd938db0")
IFolderViewSettings : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetColumnPropertyList(
REFIID riid,
void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE GetGroupByProperty(
PROPERTYKEY *pkey,
WINBOOL *pfGroupAscending) = 0;
virtual HRESULT STDMETHODCALLTYPE GetViewMode(
FOLDERLOGICALVIEWMODE *plvm) = 0;
virtual HRESULT STDMETHODCALLTYPE GetIconSize(
UINT *puIconSize) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFolderFlags(
FOLDERFLAGS *pfolderMask,
FOLDERFLAGS *pfolderFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSortColumns(
SORTCOLUMN *rgSortColumns,
UINT cColumnsIn,
UINT *pcColumnsOut) = 0;
virtual HRESULT STDMETHODCALLTYPE GetGroupSubsetCount(
UINT *pcVisibleRows) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IFolderViewSettings, 0xae8c987d, 0x8797, 0x4ed3, 0xbe,0x72, 0x2a,0x47,0xdd,0x93,0x8d,0xb0)
#endif
#else
typedef struct IFolderViewSettingsVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IFolderViewSettings *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IFolderViewSettings *This);
ULONG (STDMETHODCALLTYPE *Release)(
IFolderViewSettings *This);
/*** IFolderViewSettings methods ***/
HRESULT (STDMETHODCALLTYPE *GetColumnPropertyList)(
IFolderViewSettings *This,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *GetGroupByProperty)(
IFolderViewSettings *This,
PROPERTYKEY *pkey,
WINBOOL *pfGroupAscending);
HRESULT (STDMETHODCALLTYPE *GetViewMode)(
IFolderViewSettings *This,
FOLDERLOGICALVIEWMODE *plvm);
HRESULT (STDMETHODCALLTYPE *GetIconSize)(
IFolderViewSettings *This,
UINT *puIconSize);
HRESULT (STDMETHODCALLTYPE *GetFolderFlags)(
IFolderViewSettings *This,
FOLDERFLAGS *pfolderMask,
FOLDERFLAGS *pfolderFlags);
HRESULT (STDMETHODCALLTYPE *GetSortColumns)(
IFolderViewSettings *This,
SORTCOLUMN *rgSortColumns,
UINT cColumnsIn,
UINT *pcColumnsOut);
HRESULT (STDMETHODCALLTYPE *GetGroupSubsetCount)(
IFolderViewSettings *This,
UINT *pcVisibleRows);
END_INTERFACE
} IFolderViewSettingsVtbl;
interface IFolderViewSettings {
CONST_VTBL IFolderViewSettingsVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IFolderViewSettings_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IFolderViewSettings_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IFolderViewSettings_Release(This) (This)->lpVtbl->Release(This)
/*** IFolderViewSettings methods ***/
#define IFolderViewSettings_GetColumnPropertyList(This,riid,ppv) (This)->lpVtbl->GetColumnPropertyList(This,riid,ppv)
#define IFolderViewSettings_GetGroupByProperty(This,pkey,pfGroupAscending) (This)->lpVtbl->GetGroupByProperty(This,pkey,pfGroupAscending)
#define IFolderViewSettings_GetViewMode(This,plvm) (This)->lpVtbl->GetViewMode(This,plvm)
#define IFolderViewSettings_GetIconSize(This,puIconSize) (This)->lpVtbl->GetIconSize(This,puIconSize)
#define IFolderViewSettings_GetFolderFlags(This,pfolderMask,pfolderFlags) (This)->lpVtbl->GetFolderFlags(This,pfolderMask,pfolderFlags)
#define IFolderViewSettings_GetSortColumns(This,rgSortColumns,cColumnsIn,pcColumnsOut) (This)->lpVtbl->GetSortColumns(This,rgSortColumns,cColumnsIn,pcColumnsOut)
#define IFolderViewSettings_GetGroupSubsetCount(This,pcVisibleRows) (This)->lpVtbl->GetGroupSubsetCount(This,pcVisibleRows)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IFolderViewSettings_QueryInterface(IFolderViewSettings* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IFolderViewSettings_AddRef(IFolderViewSettings* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IFolderViewSettings_Release(IFolderViewSettings* This) {
return This->lpVtbl->Release(This);
}
/*** IFolderViewSettings methods ***/
static FORCEINLINE HRESULT IFolderViewSettings_GetColumnPropertyList(IFolderViewSettings* This,REFIID riid,void **ppv) {
return This->lpVtbl->GetColumnPropertyList(This,riid,ppv);
}
static FORCEINLINE HRESULT IFolderViewSettings_GetGroupByProperty(IFolderViewSettings* This,PROPERTYKEY *pkey,WINBOOL *pfGroupAscending) {
return This->lpVtbl->GetGroupByProperty(This,pkey,pfGroupAscending);
}
static FORCEINLINE HRESULT IFolderViewSettings_GetViewMode(IFolderViewSettings* This,FOLDERLOGICALVIEWMODE *plvm) {
return This->lpVtbl->GetViewMode(This,plvm);
}
static FORCEINLINE HRESULT IFolderViewSettings_GetIconSize(IFolderViewSettings* This,UINT *puIconSize) {
return This->lpVtbl->GetIconSize(This,puIconSize);
}
static FORCEINLINE HRESULT IFolderViewSettings_GetFolderFlags(IFolderViewSettings* This,FOLDERFLAGS *pfolderMask,FOLDERFLAGS *pfolderFlags) {
return This->lpVtbl->GetFolderFlags(This,pfolderMask,pfolderFlags);
}
static FORCEINLINE HRESULT IFolderViewSettings_GetSortColumns(IFolderViewSettings* This,SORTCOLUMN *rgSortColumns,UINT cColumnsIn,UINT *pcColumnsOut) {
return This->lpVtbl->GetSortColumns(This,rgSortColumns,cColumnsIn,pcColumnsOut);
}
static FORCEINLINE HRESULT IFolderViewSettings_GetGroupSubsetCount(IFolderViewSettings* This,UINT *pcVisibleRows) {
return This->lpVtbl->GetGroupSubsetCount(This,pcVisibleRows);
}
#endif
#endif
#endif
#endif /* __IFolderViewSettings_INTERFACE_DEFINED__ */
#endif
#endif
#if _WIN32_IE >= _WIN32_IE_IE70
/*****************************************************************************
* IPreviewHandlerVisuals interface
*/
#ifndef __IPreviewHandlerVisuals_INTERFACE_DEFINED__
#define __IPreviewHandlerVisuals_INTERFACE_DEFINED__
DEFINE_GUID(IID_IPreviewHandlerVisuals, 0x196bf9a5, 0xb346, 0x4ef0, 0xaa,0x1e, 0x5d,0xcd,0xb7,0x67,0x68,0xb1);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("196bf9a5-b346-4ef0-aa1e-5dcdb76768b1")
IPreviewHandlerVisuals : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetBackgroundColor(
COLORREF color) = 0;
virtual HRESULT STDMETHODCALLTYPE SetFont(
const LOGFONTW *plf) = 0;
virtual HRESULT STDMETHODCALLTYPE SetTextColor(
COLORREF color) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IPreviewHandlerVisuals, 0x196bf9a5, 0xb346, 0x4ef0, 0xaa,0x1e, 0x5d,0xcd,0xb7,0x67,0x68,0xb1)
#endif
#else
typedef struct IPreviewHandlerVisualsVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IPreviewHandlerVisuals *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IPreviewHandlerVisuals *This);
ULONG (STDMETHODCALLTYPE *Release)(
IPreviewHandlerVisuals *This);
/*** IPreviewHandlerVisuals methods ***/
HRESULT (STDMETHODCALLTYPE *SetBackgroundColor)(
IPreviewHandlerVisuals *This,
COLORREF color);
HRESULT (STDMETHODCALLTYPE *SetFont)(
IPreviewHandlerVisuals *This,
const LOGFONTW *plf);
HRESULT (STDMETHODCALLTYPE *SetTextColor)(
IPreviewHandlerVisuals *This,
COLORREF color);
END_INTERFACE
} IPreviewHandlerVisualsVtbl;
interface IPreviewHandlerVisuals {
CONST_VTBL IPreviewHandlerVisualsVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IPreviewHandlerVisuals_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IPreviewHandlerVisuals_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IPreviewHandlerVisuals_Release(This) (This)->lpVtbl->Release(This)
/*** IPreviewHandlerVisuals methods ***/
#define IPreviewHandlerVisuals_SetBackgroundColor(This,color) (This)->lpVtbl->SetBackgroundColor(This,color)
#define IPreviewHandlerVisuals_SetFont(This,plf) (This)->lpVtbl->SetFont(This,plf)
#define IPreviewHandlerVisuals_SetTextColor(This,color) (This)->lpVtbl->SetTextColor(This,color)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IPreviewHandlerVisuals_QueryInterface(IPreviewHandlerVisuals* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IPreviewHandlerVisuals_AddRef(IPreviewHandlerVisuals* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IPreviewHandlerVisuals_Release(IPreviewHandlerVisuals* This) {
return This->lpVtbl->Release(This);
}
/*** IPreviewHandlerVisuals methods ***/
static FORCEINLINE HRESULT IPreviewHandlerVisuals_SetBackgroundColor(IPreviewHandlerVisuals* This,COLORREF color) {
return This->lpVtbl->SetBackgroundColor(This,color);
}
static FORCEINLINE HRESULT IPreviewHandlerVisuals_SetFont(IPreviewHandlerVisuals* This,const LOGFONTW *plf) {
return This->lpVtbl->SetFont(This,plf);
}
static FORCEINLINE HRESULT IPreviewHandlerVisuals_SetTextColor(IPreviewHandlerVisuals* This,COLORREF color) {
return This->lpVtbl->SetTextColor(This,color);
}
#endif
#endif
#endif
#endif /* __IPreviewHandlerVisuals_INTERFACE_DEFINED__ */
/*****************************************************************************
* IVisualProperties interface
*/
#ifndef __IVisualProperties_INTERFACE_DEFINED__
#define __IVisualProperties_INTERFACE_DEFINED__
typedef enum VPWATERMARKFLAGS {
VPWF_DEFAULT = 0x0,
VPWF_ALPHABLEND = 0x1
} VPWATERMARKFLAGS;
typedef enum VPCOLORFLAGS {
VPCF_TEXT = 1,
VPCF_BACKGROUND = 2,
VPCF_SORTCOLUMN = 3,
VPCF_SUBTEXT = 4,
VPCF_TEXTBACKGROUND = 5
} VPCOLORFLAGS;
DEFINE_ENUM_FLAG_OPERATORS(VPWATERMARKFLAGS)
DEFINE_GUID(IID_IVisualProperties, 0xe693cf68, 0xd967, 0x4112, 0x87,0x63, 0x99,0x17,0x2a,0xee,0x5e,0x5a);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("e693cf68-d967-4112-8763-99172aee5e5a")
IVisualProperties : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetWatermark(
HBITMAP hbmp,
VPWATERMARKFLAGS vpwf) = 0;
virtual HRESULT STDMETHODCALLTYPE SetColor(
VPCOLORFLAGS vpcf,
COLORREF cr) = 0;
virtual HRESULT STDMETHODCALLTYPE GetColor(
VPCOLORFLAGS vpcf,
COLORREF *pcr) = 0;
virtual HRESULT STDMETHODCALLTYPE SetItemHeight(
int cyItemInPixels) = 0;
virtual HRESULT STDMETHODCALLTYPE GetItemHeight(
int *cyItemInPixels) = 0;
virtual HRESULT STDMETHODCALLTYPE SetFont(
const LOGFONTW *plf,
WINBOOL bRedraw) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFont(
LOGFONTW *plf) = 0;
virtual HRESULT STDMETHODCALLTYPE SetTheme(
LPCWSTR pszSubAppName,
LPCWSTR pszSubIdList) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IVisualProperties, 0xe693cf68, 0xd967, 0x4112, 0x87,0x63, 0x99,0x17,0x2a,0xee,0x5e,0x5a)
#endif
#else
typedef struct IVisualPropertiesVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IVisualProperties *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IVisualProperties *This);
ULONG (STDMETHODCALLTYPE *Release)(
IVisualProperties *This);
/*** IVisualProperties methods ***/
HRESULT (STDMETHODCALLTYPE *SetWatermark)(
IVisualProperties *This,
HBITMAP hbmp,
VPWATERMARKFLAGS vpwf);
HRESULT (STDMETHODCALLTYPE *SetColor)(
IVisualProperties *This,
VPCOLORFLAGS vpcf,
COLORREF cr);
HRESULT (STDMETHODCALLTYPE *GetColor)(
IVisualProperties *This,
VPCOLORFLAGS vpcf,
COLORREF *pcr);
HRESULT (STDMETHODCALLTYPE *SetItemHeight)(
IVisualProperties *This,
int cyItemInPixels);
HRESULT (STDMETHODCALLTYPE *GetItemHeight)(
IVisualProperties *This,
int *cyItemInPixels);
HRESULT (STDMETHODCALLTYPE *SetFont)(
IVisualProperties *This,
const LOGFONTW *plf,
WINBOOL bRedraw);
HRESULT (STDMETHODCALLTYPE *GetFont)(
IVisualProperties *This,
LOGFONTW *plf);
HRESULT (STDMETHODCALLTYPE *SetTheme)(
IVisualProperties *This,
LPCWSTR pszSubAppName,
LPCWSTR pszSubIdList);
END_INTERFACE
} IVisualPropertiesVtbl;
interface IVisualProperties {
CONST_VTBL IVisualPropertiesVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IVisualProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IVisualProperties_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IVisualProperties_Release(This) (This)->lpVtbl->Release(This)
/*** IVisualProperties methods ***/
#define IVisualProperties_SetWatermark(This,hbmp,vpwf) (This)->lpVtbl->SetWatermark(This,hbmp,vpwf)
#define IVisualProperties_SetColor(This,vpcf,cr) (This)->lpVtbl->SetColor(This,vpcf,cr)
#define IVisualProperties_GetColor(This,vpcf,pcr) (This)->lpVtbl->GetColor(This,vpcf,pcr)
#define IVisualProperties_SetItemHeight(This,cyItemInPixels) (This)->lpVtbl->SetItemHeight(This,cyItemInPixels)
#define IVisualProperties_GetItemHeight(This,cyItemInPixels) (This)->lpVtbl->GetItemHeight(This,cyItemInPixels)
#define IVisualProperties_SetFont(This,plf,bRedraw) (This)->lpVtbl->SetFont(This,plf,bRedraw)
#define IVisualProperties_GetFont(This,plf) (This)->lpVtbl->GetFont(This,plf)
#define IVisualProperties_SetTheme(This,pszSubAppName,pszSubIdList) (This)->lpVtbl->SetTheme(This,pszSubAppName,pszSubIdList)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IVisualProperties_QueryInterface(IVisualProperties* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IVisualProperties_AddRef(IVisualProperties* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IVisualProperties_Release(IVisualProperties* This) {
return This->lpVtbl->Release(This);
}
/*** IVisualProperties methods ***/
static FORCEINLINE HRESULT IVisualProperties_SetWatermark(IVisualProperties* This,HBITMAP hbmp,VPWATERMARKFLAGS vpwf) {
return This->lpVtbl->SetWatermark(This,hbmp,vpwf);
}
static FORCEINLINE HRESULT IVisualProperties_SetColor(IVisualProperties* This,VPCOLORFLAGS vpcf,COLORREF cr) {
return This->lpVtbl->SetColor(This,vpcf,cr);
}
static FORCEINLINE HRESULT IVisualProperties_GetColor(IVisualProperties* This,VPCOLORFLAGS vpcf,COLORREF *pcr) {
return This->lpVtbl->GetColor(This,vpcf,pcr);
}
static FORCEINLINE HRESULT IVisualProperties_SetItemHeight(IVisualProperties* This,int cyItemInPixels) {
return This->lpVtbl->SetItemHeight(This,cyItemInPixels);
}
static FORCEINLINE HRESULT IVisualProperties_GetItemHeight(IVisualProperties* This,int *cyItemInPixels) {
return This->lpVtbl->GetItemHeight(This,cyItemInPixels);
}
static FORCEINLINE HRESULT IVisualProperties_SetFont(IVisualProperties* This,const LOGFONTW *plf,WINBOOL bRedraw) {
return This->lpVtbl->SetFont(This,plf,bRedraw);
}
static FORCEINLINE HRESULT IVisualProperties_GetFont(IVisualProperties* This,LOGFONTW *plf) {
return This->lpVtbl->GetFont(This,plf);
}
static FORCEINLINE HRESULT IVisualProperties_SetTheme(IVisualProperties* This,LPCWSTR pszSubAppName,LPCWSTR pszSubIdList) {
return This->lpVtbl->SetTheme(This,pszSubAppName,pszSubIdList);
}
#endif
#endif
#endif
#endif /* __IVisualProperties_INTERFACE_DEFINED__ */
#endif
#define CDBOSC_SETFOCUS 0x00000000
#define CDBOSC_KILLFOCUS 0x00000001
#define CDBOSC_SELCHANGE 0x00000002
#define CDBOSC_RENAME 0x00000003
#define CDBOSC_STATECHANGE 0x00000004
/*****************************************************************************
* ICommDlgBrowser interface
*/
#ifndef __ICommDlgBrowser_INTERFACE_DEFINED__
#define __ICommDlgBrowser_INTERFACE_DEFINED__
DEFINE_GUID(IID_ICommDlgBrowser, 0x000214f1, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("000214f1-0000-0000-c000-000000000046")
ICommDlgBrowser : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE OnDefaultCommand(
IShellView *ppshv) = 0;
virtual HRESULT STDMETHODCALLTYPE OnStateChange(
IShellView *ppshv,
ULONG uChange) = 0;
virtual HRESULT STDMETHODCALLTYPE IncludeObject(
IShellView *ppshv,
PCUITEMID_CHILD pidl) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ICommDlgBrowser, 0x000214f1, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
#endif
#else
typedef struct ICommDlgBrowserVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ICommDlgBrowser *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ICommDlgBrowser *This);
ULONG (STDMETHODCALLTYPE *Release)(
ICommDlgBrowser *This);
/*** ICommDlgBrowser methods ***/
HRESULT (STDMETHODCALLTYPE *OnDefaultCommand)(
ICommDlgBrowser *This,
IShellView *ppshv);
HRESULT (STDMETHODCALLTYPE *OnStateChange)(
ICommDlgBrowser *This,
IShellView *ppshv,
ULONG uChange);
HRESULT (STDMETHODCALLTYPE *IncludeObject)(
ICommDlgBrowser *This,
IShellView *ppshv,
PCUITEMID_CHILD pidl);
END_INTERFACE
} ICommDlgBrowserVtbl;
interface ICommDlgBrowser {
CONST_VTBL ICommDlgBrowserVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ICommDlgBrowser_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ICommDlgBrowser_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ICommDlgBrowser_Release(This) (This)->lpVtbl->Release(This)
/*** ICommDlgBrowser methods ***/
#define ICommDlgBrowser_OnDefaultCommand(This,ppshv) (This)->lpVtbl->OnDefaultCommand(This,ppshv)
#define ICommDlgBrowser_OnStateChange(This,ppshv,uChange) (This)->lpVtbl->OnStateChange(This,ppshv,uChange)
#define ICommDlgBrowser_IncludeObject(This,ppshv,pidl) (This)->lpVtbl->IncludeObject(This,ppshv,pidl)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ICommDlgBrowser_QueryInterface(ICommDlgBrowser* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ICommDlgBrowser_AddRef(ICommDlgBrowser* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ICommDlgBrowser_Release(ICommDlgBrowser* This) {
return This->lpVtbl->Release(This);
}
/*** ICommDlgBrowser methods ***/
static FORCEINLINE HRESULT ICommDlgBrowser_OnDefaultCommand(ICommDlgBrowser* This,IShellView *ppshv) {
return This->lpVtbl->OnDefaultCommand(This,ppshv);
}
static FORCEINLINE HRESULT ICommDlgBrowser_OnStateChange(ICommDlgBrowser* This,IShellView *ppshv,ULONG uChange) {
return This->lpVtbl->OnStateChange(This,ppshv,uChange);
}
static FORCEINLINE HRESULT ICommDlgBrowser_IncludeObject(ICommDlgBrowser* This,IShellView *ppshv,PCUITEMID_CHILD pidl) {
return This->lpVtbl->IncludeObject(This,ppshv,pidl);
}
#endif
#endif
#endif
#endif /* __ICommDlgBrowser_INTERFACE_DEFINED__ */
typedef ICommDlgBrowser *LPCOMMDLGBROWSER;
#define SID_SExplorerBrowserFrame IID_ICommDlgBrowser
#define CDB2N_CONTEXTMENU_DONE 0x00000001
#define CDB2N_CONTEXTMENU_START 0x00000002
#define CDB2GVF_SHOWALLFILES 0x1
#if NTDDI_VERSION >= NTDDI_VISTA
#define CDB2GVF_ISFILESAVE 0x2
#define CDB2GVF_ALLOWPREVIEWPANE 0x4
#define CDB2GVF_NOSELECTVERB 0x8
#define CDB2GVF_NOINCLUDEITEM 0x10
#define CDB2GVF_ISFOLDERPICKER 0x20
#define CDB2GVF_ADDSHIELD 0x40
#endif
/*****************************************************************************
* ICommDlgBrowser2 interface
*/
#ifndef __ICommDlgBrowser2_INTERFACE_DEFINED__
#define __ICommDlgBrowser2_INTERFACE_DEFINED__
DEFINE_GUID(IID_ICommDlgBrowser2, 0x10339516, 0x2894, 0x11d2, 0x90,0x39, 0x00,0xc0,0x4f,0x8e,0xeb,0x3e);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("10339516-2894-11d2-9039-00c04f8eeb3e")
ICommDlgBrowser2 : public ICommDlgBrowser
{
virtual HRESULT STDMETHODCALLTYPE Notify(
IShellView *ppshv,
DWORD dwNotifyType) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDefaultMenuText(
IShellView *ppshv,
LPWSTR pszText,
int cchMax) = 0;
virtual HRESULT STDMETHODCALLTYPE GetViewFlags(
DWORD *pdwFlags) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ICommDlgBrowser2, 0x10339516, 0x2894, 0x11d2, 0x90,0x39, 0x00,0xc0,0x4f,0x8e,0xeb,0x3e)
#endif
#else
typedef struct ICommDlgBrowser2Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ICommDlgBrowser2 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ICommDlgBrowser2 *This);
ULONG (STDMETHODCALLTYPE *Release)(
ICommDlgBrowser2 *This);
/*** ICommDlgBrowser methods ***/
HRESULT (STDMETHODCALLTYPE *OnDefaultCommand)(
ICommDlgBrowser2 *This,
IShellView *ppshv);
HRESULT (STDMETHODCALLTYPE *OnStateChange)(
ICommDlgBrowser2 *This,
IShellView *ppshv,
ULONG uChange);
HRESULT (STDMETHODCALLTYPE *IncludeObject)(
ICommDlgBrowser2 *This,
IShellView *ppshv,
PCUITEMID_CHILD pidl);
/*** ICommDlgBrowser2 methods ***/
HRESULT (STDMETHODCALLTYPE *Notify)(
ICommDlgBrowser2 *This,
IShellView *ppshv,
DWORD dwNotifyType);
HRESULT (STDMETHODCALLTYPE *GetDefaultMenuText)(
ICommDlgBrowser2 *This,
IShellView *ppshv,
LPWSTR pszText,
int cchMax);
HRESULT (STDMETHODCALLTYPE *GetViewFlags)(
ICommDlgBrowser2 *This,
DWORD *pdwFlags);
END_INTERFACE
} ICommDlgBrowser2Vtbl;
interface ICommDlgBrowser2 {
CONST_VTBL ICommDlgBrowser2Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ICommDlgBrowser2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ICommDlgBrowser2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ICommDlgBrowser2_Release(This) (This)->lpVtbl->Release(This)
/*** ICommDlgBrowser methods ***/
#define ICommDlgBrowser2_OnDefaultCommand(This,ppshv) (This)->lpVtbl->OnDefaultCommand(This,ppshv)
#define ICommDlgBrowser2_OnStateChange(This,ppshv,uChange) (This)->lpVtbl->OnStateChange(This,ppshv,uChange)
#define ICommDlgBrowser2_IncludeObject(This,ppshv,pidl) (This)->lpVtbl->IncludeObject(This,ppshv,pidl)
/*** ICommDlgBrowser2 methods ***/
#define ICommDlgBrowser2_Notify(This,ppshv,dwNotifyType) (This)->lpVtbl->Notify(This,ppshv,dwNotifyType)
#define ICommDlgBrowser2_GetDefaultMenuText(This,ppshv,pszText,cchMax) (This)->lpVtbl->GetDefaultMenuText(This,ppshv,pszText,cchMax)
#define ICommDlgBrowser2_GetViewFlags(This,pdwFlags) (This)->lpVtbl->GetViewFlags(This,pdwFlags)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ICommDlgBrowser2_QueryInterface(ICommDlgBrowser2* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ICommDlgBrowser2_AddRef(ICommDlgBrowser2* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ICommDlgBrowser2_Release(ICommDlgBrowser2* This) {
return This->lpVtbl->Release(This);
}
/*** ICommDlgBrowser methods ***/
static FORCEINLINE HRESULT ICommDlgBrowser2_OnDefaultCommand(ICommDlgBrowser2* This,IShellView *ppshv) {
return This->lpVtbl->OnDefaultCommand(This,ppshv);
}
static FORCEINLINE HRESULT ICommDlgBrowser2_OnStateChange(ICommDlgBrowser2* This,IShellView *ppshv,ULONG uChange) {
return This->lpVtbl->OnStateChange(This,ppshv,uChange);
}
static FORCEINLINE HRESULT ICommDlgBrowser2_IncludeObject(ICommDlgBrowser2* This,IShellView *ppshv,PCUITEMID_CHILD pidl) {
return This->lpVtbl->IncludeObject(This,ppshv,pidl);
}
/*** ICommDlgBrowser2 methods ***/
static FORCEINLINE HRESULT ICommDlgBrowser2_Notify(ICommDlgBrowser2* This,IShellView *ppshv,DWORD dwNotifyType) {
return This->lpVtbl->Notify(This,ppshv,dwNotifyType);
}
static FORCEINLINE HRESULT ICommDlgBrowser2_GetDefaultMenuText(ICommDlgBrowser2* This,IShellView *ppshv,LPWSTR pszText,int cchMax) {
return This->lpVtbl->GetDefaultMenuText(This,ppshv,pszText,cchMax);
}
static FORCEINLINE HRESULT ICommDlgBrowser2_GetViewFlags(ICommDlgBrowser2* This,DWORD *pdwFlags) {
return This->lpVtbl->GetViewFlags(This,pdwFlags);
}
#endif
#endif
#endif
#endif /* __ICommDlgBrowser2_INTERFACE_DEFINED__ */
typedef ICommDlgBrowser2 *LPCOMMDLGBROWSER2;
#if _WIN32_IE >= _WIN32_IE_IE70
/*****************************************************************************
* ICommDlgBrowser3 interface
*/
#ifndef __ICommDlgBrowser3_INTERFACE_DEFINED__
#define __ICommDlgBrowser3_INTERFACE_DEFINED__
DEFINE_GUID(IID_ICommDlgBrowser3, 0xc8ad25a1, 0x3294, 0x41ee, 0x81,0x65, 0x71,0x17,0x4b,0xd0,0x1c,0x57);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("c8ad25a1-3294-41ee-8165-71174bd01c57")
ICommDlgBrowser3 : public ICommDlgBrowser2
{
virtual HRESULT STDMETHODCALLTYPE OnColumnClicked(
IShellView *ppshv,
int iColumn) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentFilter(
LPWSTR pszFileSpec,
int cchFileSpec) = 0;
virtual HRESULT STDMETHODCALLTYPE OnPreViewCreated(
IShellView *ppshv) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ICommDlgBrowser3, 0xc8ad25a1, 0x3294, 0x41ee, 0x81,0x65, 0x71,0x17,0x4b,0xd0,0x1c,0x57)
#endif
#else
typedef struct ICommDlgBrowser3Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ICommDlgBrowser3 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ICommDlgBrowser3 *This);
ULONG (STDMETHODCALLTYPE *Release)(
ICommDlgBrowser3 *This);
/*** ICommDlgBrowser methods ***/
HRESULT (STDMETHODCALLTYPE *OnDefaultCommand)(
ICommDlgBrowser3 *This,
IShellView *ppshv);
HRESULT (STDMETHODCALLTYPE *OnStateChange)(
ICommDlgBrowser3 *This,
IShellView *ppshv,
ULONG uChange);
HRESULT (STDMETHODCALLTYPE *IncludeObject)(
ICommDlgBrowser3 *This,
IShellView *ppshv,
PCUITEMID_CHILD pidl);
/*** ICommDlgBrowser2 methods ***/
HRESULT (STDMETHODCALLTYPE *Notify)(
ICommDlgBrowser3 *This,
IShellView *ppshv,
DWORD dwNotifyType);
HRESULT (STDMETHODCALLTYPE *GetDefaultMenuText)(
ICommDlgBrowser3 *This,
IShellView *ppshv,
LPWSTR pszText,
int cchMax);
HRESULT (STDMETHODCALLTYPE *GetViewFlags)(
ICommDlgBrowser3 *This,
DWORD *pdwFlags);
/*** ICommDlgBrowser3 methods ***/
HRESULT (STDMETHODCALLTYPE *OnColumnClicked)(
ICommDlgBrowser3 *This,
IShellView *ppshv,
int iColumn);
HRESULT (STDMETHODCALLTYPE *GetCurrentFilter)(
ICommDlgBrowser3 *This,
LPWSTR pszFileSpec,
int cchFileSpec);
HRESULT (STDMETHODCALLTYPE *OnPreViewCreated)(
ICommDlgBrowser3 *This,
IShellView *ppshv);
END_INTERFACE
} ICommDlgBrowser3Vtbl;
interface ICommDlgBrowser3 {
CONST_VTBL ICommDlgBrowser3Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ICommDlgBrowser3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ICommDlgBrowser3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ICommDlgBrowser3_Release(This) (This)->lpVtbl->Release(This)
/*** ICommDlgBrowser methods ***/
#define ICommDlgBrowser3_OnDefaultCommand(This,ppshv) (This)->lpVtbl->OnDefaultCommand(This,ppshv)
#define ICommDlgBrowser3_OnStateChange(This,ppshv,uChange) (This)->lpVtbl->OnStateChange(This,ppshv,uChange)
#define ICommDlgBrowser3_IncludeObject(This,ppshv,pidl) (This)->lpVtbl->IncludeObject(This,ppshv,pidl)
/*** ICommDlgBrowser2 methods ***/
#define ICommDlgBrowser3_Notify(This,ppshv,dwNotifyType) (This)->lpVtbl->Notify(This,ppshv,dwNotifyType)
#define ICommDlgBrowser3_GetDefaultMenuText(This,ppshv,pszText,cchMax) (This)->lpVtbl->GetDefaultMenuText(This,ppshv,pszText,cchMax)
#define ICommDlgBrowser3_GetViewFlags(This,pdwFlags) (This)->lpVtbl->GetViewFlags(This,pdwFlags)
/*** ICommDlgBrowser3 methods ***/
#define ICommDlgBrowser3_OnColumnClicked(This,ppshv,iColumn) (This)->lpVtbl->OnColumnClicked(This,ppshv,iColumn)
#define ICommDlgBrowser3_GetCurrentFilter(This,pszFileSpec,cchFileSpec) (This)->lpVtbl->GetCurrentFilter(This,pszFileSpec,cchFileSpec)
#define ICommDlgBrowser3_OnPreViewCreated(This,ppshv) (This)->lpVtbl->OnPreViewCreated(This,ppshv)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ICommDlgBrowser3_QueryInterface(ICommDlgBrowser3* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ICommDlgBrowser3_AddRef(ICommDlgBrowser3* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ICommDlgBrowser3_Release(ICommDlgBrowser3* This) {
return This->lpVtbl->Release(This);
}
/*** ICommDlgBrowser methods ***/
static FORCEINLINE HRESULT ICommDlgBrowser3_OnDefaultCommand(ICommDlgBrowser3* This,IShellView *ppshv) {
return This->lpVtbl->OnDefaultCommand(This,ppshv);
}
static FORCEINLINE HRESULT ICommDlgBrowser3_OnStateChange(ICommDlgBrowser3* This,IShellView *ppshv,ULONG uChange) {
return This->lpVtbl->OnStateChange(This,ppshv,uChange);
}
static FORCEINLINE HRESULT ICommDlgBrowser3_IncludeObject(ICommDlgBrowser3* This,IShellView *ppshv,PCUITEMID_CHILD pidl) {
return This->lpVtbl->IncludeObject(This,ppshv,pidl);
}
/*** ICommDlgBrowser2 methods ***/
static FORCEINLINE HRESULT ICommDlgBrowser3_Notify(ICommDlgBrowser3* This,IShellView *ppshv,DWORD dwNotifyType) {
return This->lpVtbl->Notify(This,ppshv,dwNotifyType);
}
static FORCEINLINE HRESULT ICommDlgBrowser3_GetDefaultMenuText(ICommDlgBrowser3* This,IShellView *ppshv,LPWSTR pszText,int cchMax) {
return This->lpVtbl->GetDefaultMenuText(This,ppshv,pszText,cchMax);
}
static FORCEINLINE HRESULT ICommDlgBrowser3_GetViewFlags(ICommDlgBrowser3* This,DWORD *pdwFlags) {
return This->lpVtbl->GetViewFlags(This,pdwFlags);
}
/*** ICommDlgBrowser3 methods ***/
static FORCEINLINE HRESULT ICommDlgBrowser3_OnColumnClicked(ICommDlgBrowser3* This,IShellView *ppshv,int iColumn) {
return This->lpVtbl->OnColumnClicked(This,ppshv,iColumn);
}
static FORCEINLINE HRESULT ICommDlgBrowser3_GetCurrentFilter(ICommDlgBrowser3* This,LPWSTR pszFileSpec,int cchFileSpec) {
return This->lpVtbl->GetCurrentFilter(This,pszFileSpec,cchFileSpec);
}
static FORCEINLINE HRESULT ICommDlgBrowser3_OnPreViewCreated(ICommDlgBrowser3* This,IShellView *ppshv) {
return This->lpVtbl->OnPreViewCreated(This,ppshv);
}
#endif
#endif
#endif
#endif /* __ICommDlgBrowser3_INTERFACE_DEFINED__ */
typedef enum CM_MASK {
CM_MASK_WIDTH = 0x1,
CM_MASK_DEFAULTWIDTH = 0x2,
CM_MASK_IDEALWIDTH = 0x4,
CM_MASK_NAME = 0x8,
CM_MASK_STATE = 0x10
} CM_MASK;
DEFINE_ENUM_FLAG_OPERATORS(CM_MASK)
typedef enum CM_STATE {
CM_STATE_NONE = 0x0,
CM_STATE_VISIBLE = 0x1,
CM_STATE_FIXEDWIDTH = 0x2,
CM_STATE_NOSORTBYFOLDERNESS = 0x4,
CM_STATE_ALWAYSVISIBLE = 0x8
} CM_STATE;
DEFINE_ENUM_FLAG_OPERATORS(CM_STATE)
typedef enum CM_ENUM_FLAGS {
CM_ENUM_ALL = 0x1,
CM_ENUM_VISIBLE = 0x2
} CM_ENUM_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(CM_ENUM_FLAGS)
typedef enum CM_SET_WIDTH_VALUE {
CM_WIDTH_USEDEFAULT = -1,
CM_WIDTH_AUTOSIZE = -2
} CM_SET_WIDTH_VALUE;
typedef struct CM_COLUMNINFO {
DWORD cbSize;
DWORD dwMask;
DWORD dwState;
UINT uWidth;
UINT uDefaultWidth;
UINT uIdealWidth;
WCHAR wszName[80];
} CM_COLUMNINFO;
/*****************************************************************************
* IColumnManager interface
*/
#ifndef __IColumnManager_INTERFACE_DEFINED__
#define __IColumnManager_INTERFACE_DEFINED__
DEFINE_GUID(IID_IColumnManager, 0xd8ec27bb, 0x3f3b, 0x4042, 0xb1,0x0a, 0x4a,0xcf,0xd9,0x24,0xd4,0x53);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("d8ec27bb-3f3b-4042-b10a-4acfd924d453")
IColumnManager : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetColumnInfo(
REFPROPERTYKEY propkey,
const CM_COLUMNINFO *pcmci) = 0;
virtual HRESULT STDMETHODCALLTYPE GetColumnInfo(
REFPROPERTYKEY propkey,
CM_COLUMNINFO *pcmci) = 0;
virtual HRESULT STDMETHODCALLTYPE GetColumnCount(
CM_ENUM_FLAGS dwFlags,
UINT *puCount) = 0;
virtual HRESULT STDMETHODCALLTYPE GetColumns(
CM_ENUM_FLAGS dwFlags,
PROPERTYKEY *rgkeyOrder,
UINT cColumns) = 0;
virtual HRESULT STDMETHODCALLTYPE SetColumns(
const PROPERTYKEY *rgkeyOrder,
UINT cVisible) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IColumnManager, 0xd8ec27bb, 0x3f3b, 0x4042, 0xb1,0x0a, 0x4a,0xcf,0xd9,0x24,0xd4,0x53)
#endif
#else
typedef struct IColumnManagerVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IColumnManager *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IColumnManager *This);
ULONG (STDMETHODCALLTYPE *Release)(
IColumnManager *This);
/*** IColumnManager methods ***/
HRESULT (STDMETHODCALLTYPE *SetColumnInfo)(
IColumnManager *This,
REFPROPERTYKEY propkey,
const CM_COLUMNINFO *pcmci);
HRESULT (STDMETHODCALLTYPE *GetColumnInfo)(
IColumnManager *This,
REFPROPERTYKEY propkey,
CM_COLUMNINFO *pcmci);
HRESULT (STDMETHODCALLTYPE *GetColumnCount)(
IColumnManager *This,
CM_ENUM_FLAGS dwFlags,
UINT *puCount);
HRESULT (STDMETHODCALLTYPE *GetColumns)(
IColumnManager *This,
CM_ENUM_FLAGS dwFlags,
PROPERTYKEY *rgkeyOrder,
UINT cColumns);
HRESULT (STDMETHODCALLTYPE *SetColumns)(
IColumnManager *This,
const PROPERTYKEY *rgkeyOrder,
UINT cVisible);
END_INTERFACE
} IColumnManagerVtbl;
interface IColumnManager {
CONST_VTBL IColumnManagerVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IColumnManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IColumnManager_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IColumnManager_Release(This) (This)->lpVtbl->Release(This)
/*** IColumnManager methods ***/
#define IColumnManager_SetColumnInfo(This,propkey,pcmci) (This)->lpVtbl->SetColumnInfo(This,propkey,pcmci)
#define IColumnManager_GetColumnInfo(This,propkey,pcmci) (This)->lpVtbl->GetColumnInfo(This,propkey,pcmci)
#define IColumnManager_GetColumnCount(This,dwFlags,puCount) (This)->lpVtbl->GetColumnCount(This,dwFlags,puCount)
#define IColumnManager_GetColumns(This,dwFlags,rgkeyOrder,cColumns) (This)->lpVtbl->GetColumns(This,dwFlags,rgkeyOrder,cColumns)
#define IColumnManager_SetColumns(This,rgkeyOrder,cVisible) (This)->lpVtbl->SetColumns(This,rgkeyOrder,cVisible)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IColumnManager_QueryInterface(IColumnManager* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IColumnManager_AddRef(IColumnManager* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IColumnManager_Release(IColumnManager* This) {
return This->lpVtbl->Release(This);
}
/*** IColumnManager methods ***/
static FORCEINLINE HRESULT IColumnManager_SetColumnInfo(IColumnManager* This,REFPROPERTYKEY propkey,const CM_COLUMNINFO *pcmci) {
return This->lpVtbl->SetColumnInfo(This,propkey,pcmci);
}
static FORCEINLINE HRESULT IColumnManager_GetColumnInfo(IColumnManager* This,REFPROPERTYKEY propkey,CM_COLUMNINFO *pcmci) {
return This->lpVtbl->GetColumnInfo(This,propkey,pcmci);
}
static FORCEINLINE HRESULT IColumnManager_GetColumnCount(IColumnManager* This,CM_ENUM_FLAGS dwFlags,UINT *puCount) {
return This->lpVtbl->GetColumnCount(This,dwFlags,puCount);
}
static FORCEINLINE HRESULT IColumnManager_GetColumns(IColumnManager* This,CM_ENUM_FLAGS dwFlags,PROPERTYKEY *rgkeyOrder,UINT cColumns) {
return This->lpVtbl->GetColumns(This,dwFlags,rgkeyOrder,cColumns);
}
static FORCEINLINE HRESULT IColumnManager_SetColumns(IColumnManager* This,const PROPERTYKEY *rgkeyOrder,UINT cVisible) {
return This->lpVtbl->SetColumns(This,rgkeyOrder,cVisible);
}
#endif
#endif
#endif
#endif /* __IColumnManager_INTERFACE_DEFINED__ */
#endif
/*****************************************************************************
* IFolderFilterSite interface
*/
#ifndef __IFolderFilterSite_INTERFACE_DEFINED__
#define __IFolderFilterSite_INTERFACE_DEFINED__
DEFINE_GUID(IID_IFolderFilterSite, 0xc0a651f5, 0xb48b, 0x11d2, 0xb5,0xed, 0x00,0x60,0x97,0xc6,0x86,0xf6);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("c0a651f5-b48b-11d2-b5ed-006097c686f6")
IFolderFilterSite : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetFilter(
IUnknown *punk) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IFolderFilterSite, 0xc0a651f5, 0xb48b, 0x11d2, 0xb5,0xed, 0x00,0x60,0x97,0xc6,0x86,0xf6)
#endif
#else
typedef struct IFolderFilterSiteVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IFolderFilterSite *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IFolderFilterSite *This);
ULONG (STDMETHODCALLTYPE *Release)(
IFolderFilterSite *This);
/*** IFolderFilterSite methods ***/
HRESULT (STDMETHODCALLTYPE *SetFilter)(
IFolderFilterSite *This,
IUnknown *punk);
END_INTERFACE
} IFolderFilterSiteVtbl;
interface IFolderFilterSite {
CONST_VTBL IFolderFilterSiteVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IFolderFilterSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IFolderFilterSite_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IFolderFilterSite_Release(This) (This)->lpVtbl->Release(This)
/*** IFolderFilterSite methods ***/
#define IFolderFilterSite_SetFilter(This,punk) (This)->lpVtbl->SetFilter(This,punk)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IFolderFilterSite_QueryInterface(IFolderFilterSite* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IFolderFilterSite_AddRef(IFolderFilterSite* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IFolderFilterSite_Release(IFolderFilterSite* This) {
return This->lpVtbl->Release(This);
}
/*** IFolderFilterSite methods ***/
static FORCEINLINE HRESULT IFolderFilterSite_SetFilter(IFolderFilterSite* This,IUnknown *punk) {
return This->lpVtbl->SetFilter(This,punk);
}
#endif
#endif
#endif
#endif /* __IFolderFilterSite_INTERFACE_DEFINED__ */
/*****************************************************************************
* IFolderFilter interface
*/
#ifndef __IFolderFilter_INTERFACE_DEFINED__
#define __IFolderFilter_INTERFACE_DEFINED__
DEFINE_GUID(IID_IFolderFilter, 0x9cc22886, 0xdc8e, 0x11d2, 0xb1,0xd0, 0x00,0xc0,0x4f,0x8e,0xeb,0x3e);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("9cc22886-dc8e-11d2-b1d0-00c04f8eeb3e")
IFolderFilter : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE ShouldShow(
IShellFolder *psf,
PCIDLIST_ABSOLUTE pidlFolder,
PCUITEMID_CHILD pidlItem) = 0;
virtual HRESULT STDMETHODCALLTYPE GetEnumFlags(
IShellFolder *psf,
PCIDLIST_ABSOLUTE pidlFolder,
HWND *phwnd,
DWORD *pgrfFlags) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IFolderFilter, 0x9cc22886, 0xdc8e, 0x11d2, 0xb1,0xd0, 0x00,0xc0,0x4f,0x8e,0xeb,0x3e)
#endif
#else
typedef struct IFolderFilterVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IFolderFilter *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IFolderFilter *This);
ULONG (STDMETHODCALLTYPE *Release)(
IFolderFilter *This);
/*** IFolderFilter methods ***/
HRESULT (STDMETHODCALLTYPE *ShouldShow)(
IFolderFilter *This,
IShellFolder *psf,
PCIDLIST_ABSOLUTE pidlFolder,
PCUITEMID_CHILD pidlItem);
HRESULT (STDMETHODCALLTYPE *GetEnumFlags)(
IFolderFilter *This,
IShellFolder *psf,
PCIDLIST_ABSOLUTE pidlFolder,
HWND *phwnd,
DWORD *pgrfFlags);
END_INTERFACE
} IFolderFilterVtbl;
interface IFolderFilter {
CONST_VTBL IFolderFilterVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IFolderFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IFolderFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IFolderFilter_Release(This) (This)->lpVtbl->Release(This)
/*** IFolderFilter methods ***/
#define IFolderFilter_ShouldShow(This,psf,pidlFolder,pidlItem) (This)->lpVtbl->ShouldShow(This,psf,pidlFolder,pidlItem)
#define IFolderFilter_GetEnumFlags(This,psf,pidlFolder,phwnd,pgrfFlags) (This)->lpVtbl->GetEnumFlags(This,psf,pidlFolder,phwnd,pgrfFlags)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IFolderFilter_QueryInterface(IFolderFilter* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IFolderFilter_AddRef(IFolderFilter* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IFolderFilter_Release(IFolderFilter* This) {
return This->lpVtbl->Release(This);
}
/*** IFolderFilter methods ***/
static FORCEINLINE HRESULT IFolderFilter_ShouldShow(IFolderFilter* This,IShellFolder *psf,PCIDLIST_ABSOLUTE pidlFolder,PCUITEMID_CHILD pidlItem) {
return This->lpVtbl->ShouldShow(This,psf,pidlFolder,pidlItem);
}
static FORCEINLINE HRESULT IFolderFilter_GetEnumFlags(IFolderFilter* This,IShellFolder *psf,PCIDLIST_ABSOLUTE pidlFolder,HWND *phwnd,DWORD *pgrfFlags) {
return This->lpVtbl->GetEnumFlags(This,psf,pidlFolder,phwnd,pgrfFlags);
}
#endif
#endif
#endif
#endif /* __IFolderFilter_INTERFACE_DEFINED__ */
/*****************************************************************************
* IInputObjectSite interface
*/
#ifndef __IInputObjectSite_INTERFACE_DEFINED__
#define __IInputObjectSite_INTERFACE_DEFINED__
DEFINE_GUID(IID_IInputObjectSite, 0xf1db8392, 0x7331, 0x11d0, 0x8c,0x99, 0x00,0xa0,0xc9,0x2d,0xbf,0xe8);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("f1db8392-7331-11d0-8c99-00a0c92dbfe8")
IInputObjectSite : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE OnFocusChangeIS(
IUnknown *punkObj,
WINBOOL fSetFocus) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IInputObjectSite, 0xf1db8392, 0x7331, 0x11d0, 0x8c,0x99, 0x00,0xa0,0xc9,0x2d,0xbf,0xe8)
#endif
#else
typedef struct IInputObjectSiteVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IInputObjectSite *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IInputObjectSite *This);
ULONG (STDMETHODCALLTYPE *Release)(
IInputObjectSite *This);
/*** IInputObjectSite methods ***/
HRESULT (STDMETHODCALLTYPE *OnFocusChangeIS)(
IInputObjectSite *This,
IUnknown *punkObj,
WINBOOL fSetFocus);
END_INTERFACE
} IInputObjectSiteVtbl;
interface IInputObjectSite {
CONST_VTBL IInputObjectSiteVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IInputObjectSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IInputObjectSite_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IInputObjectSite_Release(This) (This)->lpVtbl->Release(This)
/*** IInputObjectSite methods ***/
#define IInputObjectSite_OnFocusChangeIS(This,punkObj,fSetFocus) (This)->lpVtbl->OnFocusChangeIS(This,punkObj,fSetFocus)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IInputObjectSite_QueryInterface(IInputObjectSite* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IInputObjectSite_AddRef(IInputObjectSite* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IInputObjectSite_Release(IInputObjectSite* This) {
return This->lpVtbl->Release(This);
}
/*** IInputObjectSite methods ***/
static FORCEINLINE HRESULT IInputObjectSite_OnFocusChangeIS(IInputObjectSite* This,IUnknown *punkObj,WINBOOL fSetFocus) {
return This->lpVtbl->OnFocusChangeIS(This,punkObj,fSetFocus);
}
#endif
#endif
#endif
#endif /* __IInputObjectSite_INTERFACE_DEFINED__ */
/*****************************************************************************
* IInputObject interface
*/
#ifndef __IInputObject_INTERFACE_DEFINED__
#define __IInputObject_INTERFACE_DEFINED__
DEFINE_GUID(IID_IInputObject, 0x68284faa, 0x6a48, 0x11d0, 0x8c,0x78, 0x00,0xc0,0x4f,0xd9,0x18,0xb4);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("68284faa-6a48-11d0-8c78-00c04fd918b4")
IInputObject : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE UIActivateIO(
WINBOOL fActivate,
MSG *pMsg) = 0;
virtual HRESULT STDMETHODCALLTYPE HasFocusIO(
) = 0;
virtual HRESULT STDMETHODCALLTYPE TranslateAcceleratorIO(
MSG *pMsg) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IInputObject, 0x68284faa, 0x6a48, 0x11d0, 0x8c,0x78, 0x00,0xc0,0x4f,0xd9,0x18,0xb4)
#endif
#else
typedef struct IInputObjectVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IInputObject *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IInputObject *This);
ULONG (STDMETHODCALLTYPE *Release)(
IInputObject *This);
/*** IInputObject methods ***/
HRESULT (STDMETHODCALLTYPE *UIActivateIO)(
IInputObject *This,
WINBOOL fActivate,
MSG *pMsg);
HRESULT (STDMETHODCALLTYPE *HasFocusIO)(
IInputObject *This);
HRESULT (STDMETHODCALLTYPE *TranslateAcceleratorIO)(
IInputObject *This,
MSG *pMsg);
END_INTERFACE
} IInputObjectVtbl;
interface IInputObject {
CONST_VTBL IInputObjectVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IInputObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IInputObject_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IInputObject_Release(This) (This)->lpVtbl->Release(This)
/*** IInputObject methods ***/
#define IInputObject_UIActivateIO(This,fActivate,pMsg) (This)->lpVtbl->UIActivateIO(This,fActivate,pMsg)
#define IInputObject_HasFocusIO(This) (This)->lpVtbl->HasFocusIO(This)
#define IInputObject_TranslateAcceleratorIO(This,pMsg) (This)->lpVtbl->TranslateAcceleratorIO(This,pMsg)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IInputObject_QueryInterface(IInputObject* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IInputObject_AddRef(IInputObject* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IInputObject_Release(IInputObject* This) {
return This->lpVtbl->Release(This);
}
/*** IInputObject methods ***/
static FORCEINLINE HRESULT IInputObject_UIActivateIO(IInputObject* This,WINBOOL fActivate,MSG *pMsg) {
return This->lpVtbl->UIActivateIO(This,fActivate,pMsg);
}
static FORCEINLINE HRESULT IInputObject_HasFocusIO(IInputObject* This) {
return This->lpVtbl->HasFocusIO(This);
}
static FORCEINLINE HRESULT IInputObject_TranslateAcceleratorIO(IInputObject* This,MSG *pMsg) {
return This->lpVtbl->TranslateAcceleratorIO(This,pMsg);
}
#endif
#endif
#endif
#endif /* __IInputObject_INTERFACE_DEFINED__ */
/*****************************************************************************
* IInputObject2 interface
*/
#ifndef __IInputObject2_INTERFACE_DEFINED__
#define __IInputObject2_INTERFACE_DEFINED__
DEFINE_GUID(IID_IInputObject2, 0x6915c085, 0x510b, 0x44cd, 0x94,0xaf, 0x28,0xdf,0xa5,0x6c,0xf9,0x2b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("6915c085-510b-44cd-94af-28dfa56cf92b")
IInputObject2 : public IInputObject
{
virtual HRESULT STDMETHODCALLTYPE TranslateAcceleratorGlobal(
MSG *pMsg) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IInputObject2, 0x6915c085, 0x510b, 0x44cd, 0x94,0xaf, 0x28,0xdf,0xa5,0x6c,0xf9,0x2b)
#endif
#else
typedef struct IInputObject2Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IInputObject2 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IInputObject2 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IInputObject2 *This);
/*** IInputObject methods ***/
HRESULT (STDMETHODCALLTYPE *UIActivateIO)(
IInputObject2 *This,
WINBOOL fActivate,
MSG *pMsg);
HRESULT (STDMETHODCALLTYPE *HasFocusIO)(
IInputObject2 *This);
HRESULT (STDMETHODCALLTYPE *TranslateAcceleratorIO)(
IInputObject2 *This,
MSG *pMsg);
/*** IInputObject2 methods ***/
HRESULT (STDMETHODCALLTYPE *TranslateAcceleratorGlobal)(
IInputObject2 *This,
MSG *pMsg);
END_INTERFACE
} IInputObject2Vtbl;
interface IInputObject2 {
CONST_VTBL IInputObject2Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IInputObject2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IInputObject2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IInputObject2_Release(This) (This)->lpVtbl->Release(This)
/*** IInputObject methods ***/
#define IInputObject2_UIActivateIO(This,fActivate,pMsg) (This)->lpVtbl->UIActivateIO(This,fActivate,pMsg)
#define IInputObject2_HasFocusIO(This) (This)->lpVtbl->HasFocusIO(This)
#define IInputObject2_TranslateAcceleratorIO(This,pMsg) (This)->lpVtbl->TranslateAcceleratorIO(This,pMsg)
/*** IInputObject2 methods ***/
#define IInputObject2_TranslateAcceleratorGlobal(This,pMsg) (This)->lpVtbl->TranslateAcceleratorGlobal(This,pMsg)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IInputObject2_QueryInterface(IInputObject2* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IInputObject2_AddRef(IInputObject2* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IInputObject2_Release(IInputObject2* This) {
return This->lpVtbl->Release(This);
}
/*** IInputObject methods ***/
static FORCEINLINE HRESULT IInputObject2_UIActivateIO(IInputObject2* This,WINBOOL fActivate,MSG *pMsg) {
return This->lpVtbl->UIActivateIO(This,fActivate,pMsg);
}
static FORCEINLINE HRESULT IInputObject2_HasFocusIO(IInputObject2* This) {
return This->lpVtbl->HasFocusIO(This);
}
static FORCEINLINE HRESULT IInputObject2_TranslateAcceleratorIO(IInputObject2* This,MSG *pMsg) {
return This->lpVtbl->TranslateAcceleratorIO(This,pMsg);
}
/*** IInputObject2 methods ***/
static FORCEINLINE HRESULT IInputObject2_TranslateAcceleratorGlobal(IInputObject2* This,MSG *pMsg) {
return This->lpVtbl->TranslateAcceleratorGlobal(This,pMsg);
}
#endif
#endif
#endif
#endif /* __IInputObject2_INTERFACE_DEFINED__ */
/*****************************************************************************
* IShellIcon interface
*/
#ifndef __IShellIcon_INTERFACE_DEFINED__
#define __IShellIcon_INTERFACE_DEFINED__
DEFINE_GUID(IID_IShellIcon, 0x000214e5, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("000214e5-0000-0000-c000-000000000046")
IShellIcon : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetIconOf(
PCUITEMID_CHILD pidl,
UINT flags,
int *pIconIndex) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IShellIcon, 0x000214e5, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
#endif
#else
typedef struct IShellIconVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IShellIcon *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IShellIcon *This);
ULONG (STDMETHODCALLTYPE *Release)(
IShellIcon *This);
/*** IShellIcon methods ***/
HRESULT (STDMETHODCALLTYPE *GetIconOf)(
IShellIcon *This,
PCUITEMID_CHILD pidl,
UINT flags,
int *pIconIndex);
END_INTERFACE
} IShellIconVtbl;
interface IShellIcon {
CONST_VTBL IShellIconVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IShellIcon_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IShellIcon_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IShellIcon_Release(This) (This)->lpVtbl->Release(This)
/*** IShellIcon methods ***/
#define IShellIcon_GetIconOf(This,pidl,flags,pIconIndex) (This)->lpVtbl->GetIconOf(This,pidl,flags,pIconIndex)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IShellIcon_QueryInterface(IShellIcon* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IShellIcon_AddRef(IShellIcon* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IShellIcon_Release(IShellIcon* This) {
return This->lpVtbl->Release(This);
}
/*** IShellIcon methods ***/
static FORCEINLINE HRESULT IShellIcon_GetIconOf(IShellIcon* This,PCUITEMID_CHILD pidl,UINT flags,int *pIconIndex) {
return This->lpVtbl->GetIconOf(This,pidl,flags,pIconIndex);
}
#endif
#endif
#endif
#endif /* __IShellIcon_INTERFACE_DEFINED__ */
#define SBSP_DEFBROWSER 0x0000
#define SBSP_SAMEBROWSER 0x0001
#define SBSP_NEWBROWSER 0x0002
#define SBSP_DEFMODE 0x0000
#define SBSP_OPENMODE 0x0010
#define SBSP_EXPLOREMODE 0x0020
#define SBSP_HELPMODE 0x0040
#define SBSP_NOTRANSFERHIST 0x0080
#define SBSP_ABSOLUTE 0x0000
#define SBSP_RELATIVE 0x1000
#define SBSP_PARENT 0x2000
#define SBSP_NAVIGATEBACK 0x4000
#define SBSP_NAVIGATEFORWARD 0x8000
#define SBSP_ALLOW_AUTONAVIGATE 0x00010000
#if NTDDI_VERSION >= NTDDI_VISTA
#define SBSP_KEEPSAMETEMPLATE 0x00020000
#define SBSP_KEEPWORDWHEELTEXT 0x00040000
#define SBSP_ACTIVATE_NOFOCUS 0x00080000
#define SBSP_CREATENOHISTORY 0x00100000
#define SBSP_PLAYNOSOUND 0x00200000
#endif
#if _WIN32_IE >= _WIN32_IE_IE60SP2
#define SBSP_CALLERUNTRUSTED 0x00800000
#define SBSP_TRUSTFIRSTDOWNLOAD 0x01000000
#define SBSP_UNTRUSTEDFORDOWNLOAD 0x02000000
#endif
#define SBSP_NOAUTOSELECT 0x04000000
#define SBSP_WRITENOHISTORY 0x08000000
#if _WIN32_IE >= _WIN32_IE_IE60SP2
#define SBSP_TRUSTEDFORACTIVEX 0x10000000
#endif
#if _WIN32_IE >= _WIN32_IE_IE70
#define SBSP_FEEDNAVIGATION 0x20000000
#endif
#define SBSP_REDIRECT 0x40000000
#define SBSP_INITIATEDBYHLINKFRAME 0x80000000
#define FCW_STATUS 0x0001
#define FCW_TOOLBAR 0x0002
#define FCW_TREE 0x0003
#define FCW_INTERNETBAR 0x0006
#define FCW_PROGRESS 0x0008
#define FCT_MERGE 0x0001
#define FCT_CONFIGABLE 0x0002
#define FCT_ADDTOEND 0x0004
#if 0
typedef LPARAM LPTBBUTTONSB;
#else
#include <commctrl.h>
typedef LPTBBUTTON LPTBBUTTONSB;
#endif
/*****************************************************************************
* IShellBrowser interface
*/
#ifndef __IShellBrowser_INTERFACE_DEFINED__
#define __IShellBrowser_INTERFACE_DEFINED__
DEFINE_GUID(IID_IShellBrowser, 0x000214e2, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("000214e2-0000-0000-c000-000000000046")
IShellBrowser : public IOleWindow
{
virtual HRESULT STDMETHODCALLTYPE InsertMenusSB(
HMENU hmenuShared,
LPOLEMENUGROUPWIDTHS lpMenuWidths) = 0;
virtual HRESULT STDMETHODCALLTYPE SetMenuSB(
HMENU hmenuShared,
HOLEMENU holemenuRes,
HWND hwndActiveObject) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveMenusSB(
HMENU hmenuShared) = 0;
virtual HRESULT STDMETHODCALLTYPE SetStatusTextSB(
LPCWSTR pszStatusText) = 0;
virtual HRESULT STDMETHODCALLTYPE EnableModelessSB(
WINBOOL fEnable) = 0;
virtual HRESULT STDMETHODCALLTYPE TranslateAcceleratorSB(
MSG *pmsg,
WORD wID) = 0;
virtual HRESULT STDMETHODCALLTYPE BrowseObject(
PCUIDLIST_RELATIVE pidl,
UINT wFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetViewStateStream(
DWORD grfMode,
IStream **ppStrm) = 0;
virtual HRESULT STDMETHODCALLTYPE GetControlWindow(
UINT id,
HWND *phwnd) = 0;
virtual HRESULT STDMETHODCALLTYPE SendControlMsg(
UINT id,
UINT uMsg,
WPARAM wParam,
LPARAM lParam,
LRESULT *pret) = 0;
virtual HRESULT STDMETHODCALLTYPE QueryActiveShellView(
IShellView **ppshv) = 0;
virtual HRESULT STDMETHODCALLTYPE OnViewWindowActive(
IShellView *pshv) = 0;
virtual HRESULT STDMETHODCALLTYPE SetToolbarItems(
LPTBBUTTONSB lpButtons,
UINT nButtons,
UINT uFlags) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IShellBrowser, 0x000214e2, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
#endif
#else
typedef struct IShellBrowserVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IShellBrowser *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IShellBrowser *This);
ULONG (STDMETHODCALLTYPE *Release)(
IShellBrowser *This);
/*** IOleWindow methods ***/
HRESULT (STDMETHODCALLTYPE *GetWindow)(
IShellBrowser *This,
HWND *phwnd);
HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
IShellBrowser *This,
WINBOOL fEnterMode);
/*** IShellBrowser methods ***/
HRESULT (STDMETHODCALLTYPE *InsertMenusSB)(
IShellBrowser *This,
HMENU hmenuShared,
LPOLEMENUGROUPWIDTHS lpMenuWidths);
HRESULT (STDMETHODCALLTYPE *SetMenuSB)(
IShellBrowser *This,
HMENU hmenuShared,
HOLEMENU holemenuRes,
HWND hwndActiveObject);
HRESULT (STDMETHODCALLTYPE *RemoveMenusSB)(
IShellBrowser *This,
HMENU hmenuShared);
HRESULT (STDMETHODCALLTYPE *SetStatusTextSB)(
IShellBrowser *This,
LPCWSTR pszStatusText);
HRESULT (STDMETHODCALLTYPE *EnableModelessSB)(
IShellBrowser *This,
WINBOOL fEnable);
HRESULT (STDMETHODCALLTYPE *TranslateAcceleratorSB)(
IShellBrowser *This,
MSG *pmsg,
WORD wID);
HRESULT (STDMETHODCALLTYPE *BrowseObject)(
IShellBrowser *This,
PCUIDLIST_RELATIVE pidl,
UINT wFlags);
HRESULT (STDMETHODCALLTYPE *GetViewStateStream)(
IShellBrowser *This,
DWORD grfMode,
IStream **ppStrm);
HRESULT (STDMETHODCALLTYPE *GetControlWindow)(
IShellBrowser *This,
UINT id,
HWND *phwnd);
HRESULT (STDMETHODCALLTYPE *SendControlMsg)(
IShellBrowser *This,
UINT id,
UINT uMsg,
WPARAM wParam,
LPARAM lParam,
LRESULT *pret);
HRESULT (STDMETHODCALLTYPE *QueryActiveShellView)(
IShellBrowser *This,
IShellView **ppshv);
HRESULT (STDMETHODCALLTYPE *OnViewWindowActive)(
IShellBrowser *This,
IShellView *pshv);
HRESULT (STDMETHODCALLTYPE *SetToolbarItems)(
IShellBrowser *This,
LPTBBUTTONSB lpButtons,
UINT nButtons,
UINT uFlags);
END_INTERFACE
} IShellBrowserVtbl;
interface IShellBrowser {
CONST_VTBL IShellBrowserVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IShellBrowser_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IShellBrowser_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IShellBrowser_Release(This) (This)->lpVtbl->Release(This)
/*** IOleWindow methods ***/
#define IShellBrowser_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
#define IShellBrowser_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
/*** IShellBrowser methods ***/
#define IShellBrowser_InsertMenusSB(This,hmenuShared,lpMenuWidths) (This)->lpVtbl->InsertMenusSB(This,hmenuShared,lpMenuWidths)
#define IShellBrowser_SetMenuSB(This,hmenuShared,holemenuRes,hwndActiveObject) (This)->lpVtbl->SetMenuSB(This,hmenuShared,holemenuRes,hwndActiveObject)
#define IShellBrowser_RemoveMenusSB(This,hmenuShared) (This)->lpVtbl->RemoveMenusSB(This,hmenuShared)
#define IShellBrowser_SetStatusTextSB(This,pszStatusText) (This)->lpVtbl->SetStatusTextSB(This,pszStatusText)
#define IShellBrowser_EnableModelessSB(This,fEnable) (This)->lpVtbl->EnableModelessSB(This,fEnable)
#define IShellBrowser_TranslateAcceleratorSB(This,pmsg,wID) (This)->lpVtbl->TranslateAcceleratorSB(This,pmsg,wID)
#define IShellBrowser_BrowseObject(This,pidl,wFlags) (This)->lpVtbl->BrowseObject(This,pidl,wFlags)
#define IShellBrowser_GetViewStateStream(This,grfMode,ppStrm) (This)->lpVtbl->GetViewStateStream(This,grfMode,ppStrm)
#define IShellBrowser_GetControlWindow(This,id,phwnd) (This)->lpVtbl->GetControlWindow(This,id,phwnd)
#define IShellBrowser_SendControlMsg(This,id,uMsg,wParam,lParam,pret) (This)->lpVtbl->SendControlMsg(This,id,uMsg,wParam,lParam,pret)
#define IShellBrowser_QueryActiveShellView(This,ppshv) (This)->lpVtbl->QueryActiveShellView(This,ppshv)
#define IShellBrowser_OnViewWindowActive(This,pshv) (This)->lpVtbl->OnViewWindowActive(This,pshv)
#define IShellBrowser_SetToolbarItems(This,lpButtons,nButtons,uFlags) (This)->lpVtbl->SetToolbarItems(This,lpButtons,nButtons,uFlags)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IShellBrowser_QueryInterface(IShellBrowser* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IShellBrowser_AddRef(IShellBrowser* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IShellBrowser_Release(IShellBrowser* This) {
return This->lpVtbl->Release(This);
}
/*** IOleWindow methods ***/
static FORCEINLINE HRESULT IShellBrowser_GetWindow(IShellBrowser* This,HWND *phwnd) {
return This->lpVtbl->GetWindow(This,phwnd);
}
static FORCEINLINE HRESULT IShellBrowser_ContextSensitiveHelp(IShellBrowser* This,WINBOOL fEnterMode) {
return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode);
}
/*** IShellBrowser methods ***/
static FORCEINLINE HRESULT IShellBrowser_InsertMenusSB(IShellBrowser* This,HMENU hmenuShared,LPOLEMENUGROUPWIDTHS lpMenuWidths) {
return This->lpVtbl->InsertMenusSB(This,hmenuShared,lpMenuWidths);
}
static FORCEINLINE HRESULT IShellBrowser_SetMenuSB(IShellBrowser* This,HMENU hmenuShared,HOLEMENU holemenuRes,HWND hwndActiveObject) {
return This->lpVtbl->SetMenuSB(This,hmenuShared,holemenuRes,hwndActiveObject);
}
static FORCEINLINE HRESULT IShellBrowser_RemoveMenusSB(IShellBrowser* This,HMENU hmenuShared) {
return This->lpVtbl->RemoveMenusSB(This,hmenuShared);
}
static FORCEINLINE HRESULT IShellBrowser_SetStatusTextSB(IShellBrowser* This,LPCWSTR pszStatusText) {
return This->lpVtbl->SetStatusTextSB(This,pszStatusText);
}
static FORCEINLINE HRESULT IShellBrowser_EnableModelessSB(IShellBrowser* This,WINBOOL fEnable) {
return This->lpVtbl->EnableModelessSB(This,fEnable);
}
static FORCEINLINE HRESULT IShellBrowser_TranslateAcceleratorSB(IShellBrowser* This,MSG *pmsg,WORD wID) {
return This->lpVtbl->TranslateAcceleratorSB(This,pmsg,wID);
}
static FORCEINLINE HRESULT IShellBrowser_BrowseObject(IShellBrowser* This,PCUIDLIST_RELATIVE pidl,UINT wFlags) {
return This->lpVtbl->BrowseObject(This,pidl,wFlags);
}
static FORCEINLINE HRESULT IShellBrowser_GetViewStateStream(IShellBrowser* This,DWORD grfMode,IStream **ppStrm) {
return This->lpVtbl->GetViewStateStream(This,grfMode,ppStrm);
}
static FORCEINLINE HRESULT IShellBrowser_GetControlWindow(IShellBrowser* This,UINT id,HWND *phwnd) {
return This->lpVtbl->GetControlWindow(This,id,phwnd);
}
static FORCEINLINE HRESULT IShellBrowser_SendControlMsg(IShellBrowser* This,UINT id,UINT uMsg,WPARAM wParam,LPARAM lParam,LRESULT *pret) {
return This->lpVtbl->SendControlMsg(This,id,uMsg,wParam,lParam,pret);
}
static FORCEINLINE HRESULT IShellBrowser_QueryActiveShellView(IShellBrowser* This,IShellView **ppshv) {
return This->lpVtbl->QueryActiveShellView(This,ppshv);
}
static FORCEINLINE HRESULT IShellBrowser_OnViewWindowActive(IShellBrowser* This,IShellView *pshv) {
return This->lpVtbl->OnViewWindowActive(This,pshv);
}
static FORCEINLINE HRESULT IShellBrowser_SetToolbarItems(IShellBrowser* This,LPTBBUTTONSB lpButtons,UINT nButtons,UINT uFlags) {
return This->lpVtbl->SetToolbarItems(This,lpButtons,nButtons,uFlags);
}
#endif
#endif
#endif
#endif /* __IShellBrowser_INTERFACE_DEFINED__ */
typedef IShellBrowser *LPSHELLBROWSER;
/*****************************************************************************
* IProfferService interface
*/
#ifndef __IProfferService_INTERFACE_DEFINED__
#define __IProfferService_INTERFACE_DEFINED__
DEFINE_GUID(IID_IProfferService, 0xcb728b20, 0xf786, 0x11ce, 0x92,0xad, 0x00,0xaa,0x00,0xa7,0x4c,0xd0);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("cb728b20-f786-11ce-92ad-00aa00a74cd0")
IProfferService : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE ProfferService(
REFGUID guidService,
IServiceProvider *psp,
DWORD *pdwCookie) = 0;
virtual HRESULT STDMETHODCALLTYPE RevokeService(
DWORD dwCookie) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IProfferService, 0xcb728b20, 0xf786, 0x11ce, 0x92,0xad, 0x00,0xaa,0x00,0xa7,0x4c,0xd0)
#endif
#else
typedef struct IProfferServiceVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IProfferService *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IProfferService *This);
ULONG (STDMETHODCALLTYPE *Release)(
IProfferService *This);
/*** IProfferService methods ***/
HRESULT (STDMETHODCALLTYPE *ProfferService)(
IProfferService *This,
REFGUID guidService,
IServiceProvider *psp,
DWORD *pdwCookie);
HRESULT (STDMETHODCALLTYPE *RevokeService)(
IProfferService *This,
DWORD dwCookie);
END_INTERFACE
} IProfferServiceVtbl;
interface IProfferService {
CONST_VTBL IProfferServiceVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IProfferService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IProfferService_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IProfferService_Release(This) (This)->lpVtbl->Release(This)
/*** IProfferService methods ***/
#define IProfferService_ProfferService(This,guidService,psp,pdwCookie) (This)->lpVtbl->ProfferService(This,guidService,psp,pdwCookie)
#define IProfferService_RevokeService(This,dwCookie) (This)->lpVtbl->RevokeService(This,dwCookie)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IProfferService_QueryInterface(IProfferService* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IProfferService_AddRef(IProfferService* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IProfferService_Release(IProfferService* This) {
return This->lpVtbl->Release(This);
}
/*** IProfferService methods ***/
static FORCEINLINE HRESULT IProfferService_ProfferService(IProfferService* This,REFGUID guidService,IServiceProvider *psp,DWORD *pdwCookie) {
return This->lpVtbl->ProfferService(This,guidService,psp,pdwCookie);
}
static FORCEINLINE HRESULT IProfferService_RevokeService(IProfferService* This,DWORD dwCookie) {
return This->lpVtbl->RevokeService(This,dwCookie);
}
#endif
#endif
#endif
#endif /* __IProfferService_INTERFACE_DEFINED__ */
#define SID_SProfferService IID_IProfferService
#define STR_DONT_RESOLVE_LINK L"Don't Resolve Link"
#define STR_GET_ASYNC_HANDLER L"GetAsyncHandler"
/*****************************************************************************
* IShellItem interface
*/
#ifndef __IShellItem_INTERFACE_DEFINED__
#define __IShellItem_INTERFACE_DEFINED__
typedef enum _SIGDN {
SIGDN_NORMALDISPLAY = 0x0,
SIGDN_PARENTRELATIVEPARSING = (int)0x80018001,
SIGDN_DESKTOPABSOLUTEPARSING = (int)0x80028000,
SIGDN_PARENTRELATIVEEDITING = (int)0x80031001,
SIGDN_DESKTOPABSOLUTEEDITING = (int)0x8004c000,
SIGDN_FILESYSPATH = (int)0x80058000,
SIGDN_URL = (int)0x80068000,
SIGDN_PARENTRELATIVEFORADDRESSBAR = (int)0x8007c001,
SIGDN_PARENTRELATIVE = (int)0x80080001,
SIGDN_PARENTRELATIVEFORUI = (int)0x80094001
} SIGDN;
enum _SICHINTF {
SICHINT_DISPLAY = 0x0,
SICHINT_ALLFIELDS = (int)0x80000000,
SICHINT_CANONICAL = 0x10000000,
SICHINT_TEST_FILESYSPATH_IF_NOT_EQUAL = 0x20000000
};
typedef DWORD SICHINTF;
DEFINE_GUID(IID_IShellItem, 0x43826d1e, 0xe718, 0x42ee, 0xbc,0x55, 0xa1,0xe2,0x61,0xc3,0x7b,0xfe);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("43826d1e-e718-42ee-bc55-a1e261c37bfe")
IShellItem : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE BindToHandler(
IBindCtx *pbc,
REFGUID bhid,
REFIID riid,
void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE GetParent(
IShellItem **ppsi) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDisplayName(
SIGDN sigdnName,
LPWSTR *ppszName) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAttributes(
SFGAOF sfgaoMask,
SFGAOF *psfgaoAttribs) = 0;
virtual HRESULT STDMETHODCALLTYPE Compare(
IShellItem *psi,
SICHINTF hint,
int *piOrder) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IShellItem, 0x43826d1e, 0xe718, 0x42ee, 0xbc,0x55, 0xa1,0xe2,0x61,0xc3,0x7b,0xfe)
#endif
#else
typedef struct IShellItemVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IShellItem *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IShellItem *This);
ULONG (STDMETHODCALLTYPE *Release)(
IShellItem *This);
/*** IShellItem methods ***/
HRESULT (STDMETHODCALLTYPE *BindToHandler)(
IShellItem *This,
IBindCtx *pbc,
REFGUID bhid,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *GetParent)(
IShellItem *This,
IShellItem **ppsi);
HRESULT (STDMETHODCALLTYPE *GetDisplayName)(
IShellItem *This,
SIGDN sigdnName,
LPWSTR *ppszName);
HRESULT (STDMETHODCALLTYPE *GetAttributes)(
IShellItem *This,
SFGAOF sfgaoMask,
SFGAOF *psfgaoAttribs);
HRESULT (STDMETHODCALLTYPE *Compare)(
IShellItem *This,
IShellItem *psi,
SICHINTF hint,
int *piOrder);
END_INTERFACE
} IShellItemVtbl;
interface IShellItem {
CONST_VTBL IShellItemVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IShellItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IShellItem_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IShellItem_Release(This) (This)->lpVtbl->Release(This)
/*** IShellItem methods ***/
#define IShellItem_BindToHandler(This,pbc,bhid,riid,ppv) (This)->lpVtbl->BindToHandler(This,pbc,bhid,riid,ppv)
#define IShellItem_GetParent(This,ppsi) (This)->lpVtbl->GetParent(This,ppsi)
#define IShellItem_GetDisplayName(This,sigdnName,ppszName) (This)->lpVtbl->GetDisplayName(This,sigdnName,ppszName)
#define IShellItem_GetAttributes(This,sfgaoMask,psfgaoAttribs) (This)->lpVtbl->GetAttributes(This,sfgaoMask,psfgaoAttribs)
#define IShellItem_Compare(This,psi,hint,piOrder) (This)->lpVtbl->Compare(This,psi,hint,piOrder)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IShellItem_QueryInterface(IShellItem* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IShellItem_AddRef(IShellItem* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IShellItem_Release(IShellItem* This) {
return This->lpVtbl->Release(This);
}
/*** IShellItem methods ***/
static FORCEINLINE HRESULT IShellItem_BindToHandler(IShellItem* This,IBindCtx *pbc,REFGUID bhid,REFIID riid,void **ppv) {
return This->lpVtbl->BindToHandler(This,pbc,bhid,riid,ppv);
}
static FORCEINLINE HRESULT IShellItem_GetParent(IShellItem* This,IShellItem **ppsi) {
return This->lpVtbl->GetParent(This,ppsi);
}
static FORCEINLINE HRESULT IShellItem_GetDisplayName(IShellItem* This,SIGDN sigdnName,LPWSTR *ppszName) {
return This->lpVtbl->GetDisplayName(This,sigdnName,ppszName);
}
static FORCEINLINE HRESULT IShellItem_GetAttributes(IShellItem* This,SFGAOF sfgaoMask,SFGAOF *psfgaoAttribs) {
return This->lpVtbl->GetAttributes(This,sfgaoMask,psfgaoAttribs);
}
static FORCEINLINE HRESULT IShellItem_Compare(IShellItem* This,IShellItem *psi,SICHINTF hint,int *piOrder) {
return This->lpVtbl->Compare(This,psi,hint,piOrder);
}
#endif
#endif
#endif
#endif /* __IShellItem_INTERFACE_DEFINED__ */
SHSTDAPI_(PIDLIST_ABSOLUTE) SHSimpleIDListFromPath(PCWSTR pszPath);
#if _WIN32_IE >= _WIN32_IE_IE70
SHSTDAPI SHCreateItemFromIDList(PCIDLIST_ABSOLUTE pidl, REFIID riid, void **ppv);
SHSTDAPI SHCreateItemFromParsingName(PCWSTR pszPath, IBindCtx *pbc, REFIID riid, void **ppv);
SHSTDAPI SHCreateItemWithParent(PCIDLIST_ABSOLUTE pidlParent, IShellFolder *psfParent, PCUITEMID_CHILD pidl, REFIID riid, void **ppvItem);
SHSTDAPI SHCreateItemFromRelativeName(IShellItem *psiParent, PCWSTR pszName, IBindCtx *pbc, REFIID riid, void **ppv);
#endif
#if NTDDI_VERSION >= NTDDI_VISTA
SHSTDAPI SHCreateItemInKnownFolder(REFKNOWNFOLDERID kfid, DWORD dwKFFlags, PCWSTR pszItem, REFIID riid, void **ppv);
SHSTDAPI SHGetIDListFromObject(IUnknown *punk, PIDLIST_ABSOLUTE *ppidl);
SHSTDAPI SHGetItemFromObject(IUnknown *punk, REFIID riid, void **ppv);
SHSTDAPI SHGetPropertyStoreFromIDList(PCIDLIST_ABSOLUTE pidl, GETPROPERTYSTOREFLAGS flags, REFIID riid, void **ppv);
SHSTDAPI SHGetPropertyStoreFromParsingName(PCWSTR pszPath, IBindCtx *pbc, GETPROPERTYSTOREFLAGS flags, REFIID riid, void **ppv);
SHSTDAPI SHGetNameFromIDList(PCIDLIST_ABSOLUTE pidl, SIGDN sigdnName, PWSTR *ppszName);
#endif
#if NTDDI_VERSION >= NTDDI_WIN7
typedef enum DATAOBJ_GET_ITEM_FLAGS {
DOGIF_DEFAULT = 0x0,
DOGIF_TRAVERSE_LINK = 0x1,
DOGIF_NO_HDROP = 0x2,
DOGIF_NO_URL = 0x4,
DOGIF_ONLY_IF_ONE = 0x8
} DATAOBJ_GET_ITEM_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(DATAOBJ_GET_ITEM_FLAGS)
STDAPI SHGetItemFromDataObject(IDataObject *pdtobj, DATAOBJ_GET_ITEM_FLAGS dwFlags, REFIID riid, void **ppv);
#endif
#define STR_GPS_HANDLERPROPERTIESONLY L"GPS_HANDLERPROPERTIESONLY"
#define STR_GPS_FASTPROPERTIESONLY L"GPS_FASTPROPERTIESONLY"
#define STR_GPS_OPENSLOWITEM L"GPS_OPENSLOWITEM"
#define STR_GPS_DELAYCREATION L"GPS_DELAYCREATION"
#define STR_GPS_BESTEFFORT L"GPS_BESTEFFORT"
#define STR_GPS_NO_OPLOCK L"GPS_NO_OPLOCK"
/*****************************************************************************
* IShellItem2 interface
*/
#ifndef __IShellItem2_INTERFACE_DEFINED__
#define __IShellItem2_INTERFACE_DEFINED__
DEFINE_GUID(IID_IShellItem2, 0x7e9fb0d3, 0x919f, 0x4307, 0xab,0x2e, 0x9b,0x18,0x60,0x31,0x0c,0x93);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("7e9fb0d3-919f-4307-ab2e-9b1860310c93")
IShellItem2 : public IShellItem
{
virtual HRESULT STDMETHODCALLTYPE GetPropertyStore(
GETPROPERTYSTOREFLAGS flags,
REFIID riid,
void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPropertyStoreWithCreateObject(
GETPROPERTYSTOREFLAGS flags,
IUnknown *punkCreateObject,
REFIID riid,
void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPropertyStoreForKeys(
const PROPERTYKEY *rgKeys,
UINT cKeys,
GETPROPERTYSTOREFLAGS flags,
REFIID riid,
void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPropertyDescriptionList(
REFPROPERTYKEY keyType,
REFIID riid,
void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE Update(
IBindCtx *pbc) = 0;
virtual HRESULT STDMETHODCALLTYPE GetProperty(
REFPROPERTYKEY key,
PROPVARIANT *ppropvar) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCLSID(
REFPROPERTYKEY key,
CLSID *pclsid) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFileTime(
REFPROPERTYKEY key,
FILETIME *pft) = 0;
virtual HRESULT STDMETHODCALLTYPE GetInt32(
REFPROPERTYKEY key,
int *pi) = 0;
virtual HRESULT STDMETHODCALLTYPE GetString(
REFPROPERTYKEY key,
LPWSTR *ppsz) = 0;
virtual HRESULT STDMETHODCALLTYPE GetUInt32(
REFPROPERTYKEY key,
ULONG *pui) = 0;
virtual HRESULT STDMETHODCALLTYPE GetUInt64(
REFPROPERTYKEY key,
ULONGLONG *pull) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBool(
REFPROPERTYKEY key,
WINBOOL *pf) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IShellItem2, 0x7e9fb0d3, 0x919f, 0x4307, 0xab,0x2e, 0x9b,0x18,0x60,0x31,0x0c,0x93)
#endif
#else
typedef struct IShellItem2Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IShellItem2 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IShellItem2 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IShellItem2 *This);
/*** IShellItem methods ***/
HRESULT (STDMETHODCALLTYPE *BindToHandler)(
IShellItem2 *This,
IBindCtx *pbc,
REFGUID bhid,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *GetParent)(
IShellItem2 *This,
IShellItem **ppsi);
HRESULT (STDMETHODCALLTYPE *GetDisplayName)(
IShellItem2 *This,
SIGDN sigdnName,
LPWSTR *ppszName);
HRESULT (STDMETHODCALLTYPE *GetAttributes)(
IShellItem2 *This,
SFGAOF sfgaoMask,
SFGAOF *psfgaoAttribs);
HRESULT (STDMETHODCALLTYPE *Compare)(
IShellItem2 *This,
IShellItem *psi,
SICHINTF hint,
int *piOrder);
/*** IShellItem2 methods ***/
HRESULT (STDMETHODCALLTYPE *GetPropertyStore)(
IShellItem2 *This,
GETPROPERTYSTOREFLAGS flags,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *GetPropertyStoreWithCreateObject)(
IShellItem2 *This,
GETPROPERTYSTOREFLAGS flags,
IUnknown *punkCreateObject,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *GetPropertyStoreForKeys)(
IShellItem2 *This,
const PROPERTYKEY *rgKeys,
UINT cKeys,
GETPROPERTYSTOREFLAGS flags,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *GetPropertyDescriptionList)(
IShellItem2 *This,
REFPROPERTYKEY keyType,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *Update)(
IShellItem2 *This,
IBindCtx *pbc);
HRESULT (STDMETHODCALLTYPE *GetProperty)(
IShellItem2 *This,
REFPROPERTYKEY key,
PROPVARIANT *ppropvar);
HRESULT (STDMETHODCALLTYPE *GetCLSID)(
IShellItem2 *This,
REFPROPERTYKEY key,
CLSID *pclsid);
HRESULT (STDMETHODCALLTYPE *GetFileTime)(
IShellItem2 *This,
REFPROPERTYKEY key,
FILETIME *pft);
HRESULT (STDMETHODCALLTYPE *GetInt32)(
IShellItem2 *This,
REFPROPERTYKEY key,
int *pi);
HRESULT (STDMETHODCALLTYPE *GetString)(
IShellItem2 *This,
REFPROPERTYKEY key,
LPWSTR *ppsz);
HRESULT (STDMETHODCALLTYPE *GetUInt32)(
IShellItem2 *This,
REFPROPERTYKEY key,
ULONG *pui);
HRESULT (STDMETHODCALLTYPE *GetUInt64)(
IShellItem2 *This,
REFPROPERTYKEY key,
ULONGLONG *pull);
HRESULT (STDMETHODCALLTYPE *GetBool)(
IShellItem2 *This,
REFPROPERTYKEY key,
WINBOOL *pf);
END_INTERFACE
} IShellItem2Vtbl;
interface IShellItem2 {
CONST_VTBL IShellItem2Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IShellItem2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IShellItem2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IShellItem2_Release(This) (This)->lpVtbl->Release(This)
/*** IShellItem methods ***/
#define IShellItem2_BindToHandler(This,pbc,bhid,riid,ppv) (This)->lpVtbl->BindToHandler(This,pbc,bhid,riid,ppv)
#define IShellItem2_GetParent(This,ppsi) (This)->lpVtbl->GetParent(This,ppsi)
#define IShellItem2_GetDisplayName(This,sigdnName,ppszName) (This)->lpVtbl->GetDisplayName(This,sigdnName,ppszName)
#define IShellItem2_GetAttributes(This,sfgaoMask,psfgaoAttribs) (This)->lpVtbl->GetAttributes(This,sfgaoMask,psfgaoAttribs)
#define IShellItem2_Compare(This,psi,hint,piOrder) (This)->lpVtbl->Compare(This,psi,hint,piOrder)
/*** IShellItem2 methods ***/
#define IShellItem2_GetPropertyStore(This,flags,riid,ppv) (This)->lpVtbl->GetPropertyStore(This,flags,riid,ppv)
#define IShellItem2_GetPropertyStoreWithCreateObject(This,flags,punkCreateObject,riid,ppv) (This)->lpVtbl->GetPropertyStoreWithCreateObject(This,flags,punkCreateObject,riid,ppv)
#define IShellItem2_GetPropertyStoreForKeys(This,rgKeys,cKeys,flags,riid,ppv) (This)->lpVtbl->GetPropertyStoreForKeys(This,rgKeys,cKeys,flags,riid,ppv)
#define IShellItem2_GetPropertyDescriptionList(This,keyType,riid,ppv) (This)->lpVtbl->GetPropertyDescriptionList(This,keyType,riid,ppv)
#define IShellItem2_Update(This,pbc) (This)->lpVtbl->Update(This,pbc)
#define IShellItem2_GetProperty(This,key,ppropvar) (This)->lpVtbl->GetProperty(This,key,ppropvar)
#define IShellItem2_GetCLSID(This,key,pclsid) (This)->lpVtbl->GetCLSID(This,key,pclsid)
#define IShellItem2_GetFileTime(This,key,pft) (This)->lpVtbl->GetFileTime(This,key,pft)
#define IShellItem2_GetInt32(This,key,pi) (This)->lpVtbl->GetInt32(This,key,pi)
#define IShellItem2_GetString(This,key,ppsz) (This)->lpVtbl->GetString(This,key,ppsz)
#define IShellItem2_GetUInt32(This,key,pui) (This)->lpVtbl->GetUInt32(This,key,pui)
#define IShellItem2_GetUInt64(This,key,pull) (This)->lpVtbl->GetUInt64(This,key,pull)
#define IShellItem2_GetBool(This,key,pf) (This)->lpVtbl->GetBool(This,key,pf)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IShellItem2_QueryInterface(IShellItem2* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IShellItem2_AddRef(IShellItem2* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IShellItem2_Release(IShellItem2* This) {
return This->lpVtbl->Release(This);
}
/*** IShellItem methods ***/
static FORCEINLINE HRESULT IShellItem2_BindToHandler(IShellItem2* This,IBindCtx *pbc,REFGUID bhid,REFIID riid,void **ppv) {
return This->lpVtbl->BindToHandler(This,pbc,bhid,riid,ppv);
}
static FORCEINLINE HRESULT IShellItem2_GetParent(IShellItem2* This,IShellItem **ppsi) {
return This->lpVtbl->GetParent(This,ppsi);
}
static FORCEINLINE HRESULT IShellItem2_GetDisplayName(IShellItem2* This,SIGDN sigdnName,LPWSTR *ppszName) {
return This->lpVtbl->GetDisplayName(This,sigdnName,ppszName);
}
static FORCEINLINE HRESULT IShellItem2_GetAttributes(IShellItem2* This,SFGAOF sfgaoMask,SFGAOF *psfgaoAttribs) {
return This->lpVtbl->GetAttributes(This,sfgaoMask,psfgaoAttribs);
}
static FORCEINLINE HRESULT IShellItem2_Compare(IShellItem2* This,IShellItem *psi,SICHINTF hint,int *piOrder) {
return This->lpVtbl->Compare(This,psi,hint,piOrder);
}
/*** IShellItem2 methods ***/
static FORCEINLINE HRESULT IShellItem2_GetPropertyStore(IShellItem2* This,GETPROPERTYSTOREFLAGS flags,REFIID riid,void **ppv) {
return This->lpVtbl->GetPropertyStore(This,flags,riid,ppv);
}
static FORCEINLINE HRESULT IShellItem2_GetPropertyStoreWithCreateObject(IShellItem2* This,GETPROPERTYSTOREFLAGS flags,IUnknown *punkCreateObject,REFIID riid,void **ppv) {
return This->lpVtbl->GetPropertyStoreWithCreateObject(This,flags,punkCreateObject,riid,ppv);
}
static FORCEINLINE HRESULT IShellItem2_GetPropertyStoreForKeys(IShellItem2* This,const PROPERTYKEY *rgKeys,UINT cKeys,GETPROPERTYSTOREFLAGS flags,REFIID riid,void **ppv) {
return This->lpVtbl->GetPropertyStoreForKeys(This,rgKeys,cKeys,flags,riid,ppv);
}
static FORCEINLINE HRESULT IShellItem2_GetPropertyDescriptionList(IShellItem2* This,REFPROPERTYKEY keyType,REFIID riid,void **ppv) {
return This->lpVtbl->GetPropertyDescriptionList(This,keyType,riid,ppv);
}
static FORCEINLINE HRESULT IShellItem2_Update(IShellItem2* This,IBindCtx *pbc) {
return This->lpVtbl->Update(This,pbc);
}
static FORCEINLINE HRESULT IShellItem2_GetProperty(IShellItem2* This,REFPROPERTYKEY key,PROPVARIANT *ppropvar) {
return This->lpVtbl->GetProperty(This,key,ppropvar);
}
static FORCEINLINE HRESULT IShellItem2_GetCLSID(IShellItem2* This,REFPROPERTYKEY key,CLSID *pclsid) {
return This->lpVtbl->GetCLSID(This,key,pclsid);
}
static FORCEINLINE HRESULT IShellItem2_GetFileTime(IShellItem2* This,REFPROPERTYKEY key,FILETIME *pft) {
return This->lpVtbl->GetFileTime(This,key,pft);
}
static FORCEINLINE HRESULT IShellItem2_GetInt32(IShellItem2* This,REFPROPERTYKEY key,int *pi) {
return This->lpVtbl->GetInt32(This,key,pi);
}
static FORCEINLINE HRESULT IShellItem2_GetString(IShellItem2* This,REFPROPERTYKEY key,LPWSTR *ppsz) {
return This->lpVtbl->GetString(This,key,ppsz);
}
static FORCEINLINE HRESULT IShellItem2_GetUInt32(IShellItem2* This,REFPROPERTYKEY key,ULONG *pui) {
return This->lpVtbl->GetUInt32(This,key,pui);
}
static FORCEINLINE HRESULT IShellItem2_GetUInt64(IShellItem2* This,REFPROPERTYKEY key,ULONGLONG *pull) {
return This->lpVtbl->GetUInt64(This,key,pull);
}
static FORCEINLINE HRESULT IShellItem2_GetBool(IShellItem2* This,REFPROPERTYKEY key,WINBOOL *pf) {
return This->lpVtbl->GetBool(This,key,pf);
}
#endif
#endif
#endif
#endif /* __IShellItem2_INTERFACE_DEFINED__ */
enum _SIIGBF {
SIIGBF_RESIZETOFIT = 0x0,
SIIGBF_BIGGERSIZEOK = 0x1,
SIIGBF_MEMORYONLY = 0x2,
SIIGBF_ICONONLY = 0x4,
SIIGBF_THUMBNAILONLY = 0x8,
SIIGBF_INCACHEONLY = 0x10,
SIIGBF_CROPTOSQUARE = 0x20,
SIIGBF_WIDETHUMBNAILS = 0x40,
SIIGBF_ICONBACKGROUND = 0x80,
SIIGBF_SCALEUP = 0x100
};
typedef int SIIGBF;
/*****************************************************************************
* IShellItemImageFactory interface
*/
#ifndef __IShellItemImageFactory_INTERFACE_DEFINED__
#define __IShellItemImageFactory_INTERFACE_DEFINED__
DEFINE_GUID(IID_IShellItemImageFactory, 0xbcc18b79, 0xba16, 0x442f, 0x80,0xc4, 0x8a,0x59,0xc3,0x0c,0x46,0x3b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("bcc18b79-ba16-442f-80c4-8a59c30c463b")
IShellItemImageFactory : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetImage(
SIZE size,
SIIGBF flags,
HBITMAP *phbm) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IShellItemImageFactory, 0xbcc18b79, 0xba16, 0x442f, 0x80,0xc4, 0x8a,0x59,0xc3,0x0c,0x46,0x3b)
#endif
#else
typedef struct IShellItemImageFactoryVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IShellItemImageFactory *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IShellItemImageFactory *This);
ULONG (STDMETHODCALLTYPE *Release)(
IShellItemImageFactory *This);
/*** IShellItemImageFactory methods ***/
HRESULT (STDMETHODCALLTYPE *GetImage)(
IShellItemImageFactory *This,
SIZE size,
SIIGBF flags,
HBITMAP *phbm);
END_INTERFACE
} IShellItemImageFactoryVtbl;
interface IShellItemImageFactory {
CONST_VTBL IShellItemImageFactoryVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IShellItemImageFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IShellItemImageFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IShellItemImageFactory_Release(This) (This)->lpVtbl->Release(This)
/*** IShellItemImageFactory methods ***/
#define IShellItemImageFactory_GetImage(This,size,flags,phbm) (This)->lpVtbl->GetImage(This,size,flags,phbm)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IShellItemImageFactory_QueryInterface(IShellItemImageFactory* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IShellItemImageFactory_AddRef(IShellItemImageFactory* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IShellItemImageFactory_Release(IShellItemImageFactory* This) {
return This->lpVtbl->Release(This);
}
/*** IShellItemImageFactory methods ***/
static FORCEINLINE HRESULT IShellItemImageFactory_GetImage(IShellItemImageFactory* This,SIZE size,SIIGBF flags,HBITMAP *phbm) {
return This->lpVtbl->GetImage(This,size,flags,phbm);
}
#endif
#endif
#endif
#endif /* __IShellItemImageFactory_INTERFACE_DEFINED__ */
/*****************************************************************************
* IUserAccountChangeCallback interface
*/
#ifndef __IUserAccountChangeCallback_INTERFACE_DEFINED__
#define __IUserAccountChangeCallback_INTERFACE_DEFINED__
DEFINE_GUID(IID_IUserAccountChangeCallback, 0xa561e69a, 0xb4b8, 0x4113, 0x91,0xa5, 0x64,0xc6,0xbc,0xca,0x34,0x30);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("a561e69a-b4b8-4113-91a5-64c6bcca3430")
IUserAccountChangeCallback : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE OnPictureChange(
LPCWSTR pszUserName) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IUserAccountChangeCallback, 0xa561e69a, 0xb4b8, 0x4113, 0x91,0xa5, 0x64,0xc6,0xbc,0xca,0x34,0x30)
#endif
#else
typedef struct IUserAccountChangeCallbackVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IUserAccountChangeCallback *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IUserAccountChangeCallback *This);
ULONG (STDMETHODCALLTYPE *Release)(
IUserAccountChangeCallback *This);
/*** IUserAccountChangeCallback methods ***/
HRESULT (STDMETHODCALLTYPE *OnPictureChange)(
IUserAccountChangeCallback *This,
LPCWSTR pszUserName);
END_INTERFACE
} IUserAccountChangeCallbackVtbl;
interface IUserAccountChangeCallback {
CONST_VTBL IUserAccountChangeCallbackVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IUserAccountChangeCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IUserAccountChangeCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IUserAccountChangeCallback_Release(This) (This)->lpVtbl->Release(This)
/*** IUserAccountChangeCallback methods ***/
#define IUserAccountChangeCallback_OnPictureChange(This,pszUserName) (This)->lpVtbl->OnPictureChange(This,pszUserName)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IUserAccountChangeCallback_QueryInterface(IUserAccountChangeCallback* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IUserAccountChangeCallback_AddRef(IUserAccountChangeCallback* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IUserAccountChangeCallback_Release(IUserAccountChangeCallback* This) {
return This->lpVtbl->Release(This);
}
/*** IUserAccountChangeCallback methods ***/
static FORCEINLINE HRESULT IUserAccountChangeCallback_OnPictureChange(IUserAccountChangeCallback* This,LPCWSTR pszUserName) {
return This->lpVtbl->OnPictureChange(This,pszUserName);
}
#endif
#endif
#endif
#endif /* __IUserAccountChangeCallback_INTERFACE_DEFINED__ */
/*****************************************************************************
* IEnumShellItems interface
*/
#ifndef __IEnumShellItems_INTERFACE_DEFINED__
#define __IEnumShellItems_INTERFACE_DEFINED__
DEFINE_GUID(IID_IEnumShellItems, 0x70629033, 0xe363, 0x4a28, 0xa5,0x67, 0x0d,0xb7,0x80,0x06,0xe6,0xd7);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("70629033-e363-4a28-a567-0db78006e6d7")
IEnumShellItems : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Next(
ULONG celt,
IShellItem **rgelt,
ULONG *pceltFetched) = 0;
virtual HRESULT STDMETHODCALLTYPE Skip(
ULONG celt) = 0;
virtual HRESULT STDMETHODCALLTYPE Reset(
) = 0;
virtual HRESULT STDMETHODCALLTYPE Clone(
IEnumShellItems **ppenum) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IEnumShellItems, 0x70629033, 0xe363, 0x4a28, 0xa5,0x67, 0x0d,0xb7,0x80,0x06,0xe6,0xd7)
#endif
#else
typedef struct IEnumShellItemsVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IEnumShellItems *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IEnumShellItems *This);
ULONG (STDMETHODCALLTYPE *Release)(
IEnumShellItems *This);
/*** IEnumShellItems methods ***/
HRESULT (STDMETHODCALLTYPE *Next)(
IEnumShellItems *This,
ULONG celt,
IShellItem **rgelt,
ULONG *pceltFetched);
HRESULT (STDMETHODCALLTYPE *Skip)(
IEnumShellItems *This,
ULONG celt);
HRESULT (STDMETHODCALLTYPE *Reset)(
IEnumShellItems *This);
HRESULT (STDMETHODCALLTYPE *Clone)(
IEnumShellItems *This,
IEnumShellItems **ppenum);
END_INTERFACE
} IEnumShellItemsVtbl;
interface IEnumShellItems {
CONST_VTBL IEnumShellItemsVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IEnumShellItems_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IEnumShellItems_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IEnumShellItems_Release(This) (This)->lpVtbl->Release(This)
/*** IEnumShellItems methods ***/
#define IEnumShellItems_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
#define IEnumShellItems_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
#define IEnumShellItems_Reset(This) (This)->lpVtbl->Reset(This)
#define IEnumShellItems_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IEnumShellItems_QueryInterface(IEnumShellItems* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IEnumShellItems_AddRef(IEnumShellItems* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IEnumShellItems_Release(IEnumShellItems* This) {
return This->lpVtbl->Release(This);
}
/*** IEnumShellItems methods ***/
static FORCEINLINE HRESULT IEnumShellItems_Next(IEnumShellItems* This,ULONG celt,IShellItem **rgelt,ULONG *pceltFetched) {
return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
}
static FORCEINLINE HRESULT IEnumShellItems_Skip(IEnumShellItems* This,ULONG celt) {
return This->lpVtbl->Skip(This,celt);
}
static FORCEINLINE HRESULT IEnumShellItems_Reset(IEnumShellItems* This) {
return This->lpVtbl->Reset(This);
}
static FORCEINLINE HRESULT IEnumShellItems_Clone(IEnumShellItems* This,IEnumShellItems **ppenum) {
return This->lpVtbl->Clone(This,ppenum);
}
#endif
#endif
#endif
HRESULT STDMETHODCALLTYPE IEnumShellItems_RemoteNext_Proxy(
IEnumShellItems* This,
ULONG celt,
IShellItem **rgelt,
ULONG *pceltFetched);
void __RPC_STUB IEnumShellItems_RemoteNext_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IEnumShellItems_Next_Proxy(
IEnumShellItems* This,
ULONG celt,
IShellItem **rgelt,
ULONG *pceltFetched);
HRESULT __RPC_STUB IEnumShellItems_Next_Stub(
IEnumShellItems* This,
ULONG celt,
IShellItem **rgelt,
ULONG *pceltFetched);
#endif /* __IEnumShellItems_INTERFACE_DEFINED__ */
typedef GUID STGTRANSCONFIRMATION;
typedef GUID *LPSTGTRANSCONFIRMATION;
typedef enum STGOP {
STGOP_MOVE = 1,
STGOP_COPY = 2,
STGOP_SYNC = 3,
STGOP_REMOVE = 5,
STGOP_RENAME = 6,
STGOP_APPLYPROPERTIES = 8,
STGOP_NEW = 10
} STGOP;
enum _TRANSFER_SOURCE_FLAGS {
TSF_NORMAL = 0x0,
TSF_FAIL_EXIST = 0x0,
TSF_RENAME_EXIST = 0x1,
TSF_OVERWRITE_EXIST = 0x2,
TSF_ALLOW_DECRYPTION = 0x4,
TSF_NO_SECURITY = 0x8,
TSF_COPY_CREATION_TIME = 0x10,
TSF_COPY_WRITE_TIME = 0x20,
TSF_USE_FULL_ACCESS = 0x40,
TSF_DELETE_RECYCLE_IF_POSSIBLE = 0x80,
TSF_COPY_HARD_LINK = 0x100,
TSF_COPY_LOCALIZED_NAME = 0x200,
TSF_MOVE_AS_COPY_DELETE = 0x400,
TSF_SUSPEND_SHELLEVENTS = 0x800
};
typedef DWORD TRANSFER_SOURCE_FLAGS;
#if _WIN32_IE >= _WIN32_IE_IE70
/*****************************************************************************
* ITransferAdviseSink interface
*/
#ifndef __ITransferAdviseSink_INTERFACE_DEFINED__
#define __ITransferAdviseSink_INTERFACE_DEFINED__
enum _TRANSFER_ADVISE_STATE {
TS_NONE = 0x0,
TS_PERFORMING = 0x1,
TS_PREPARING = 0x2,
TS_INDETERMINATE = 0x4
};
typedef DWORD TRANSFER_ADVISE_STATE;
DEFINE_GUID(IID_ITransferAdviseSink, 0xd594d0d8, 0x8da7, 0x457b, 0xb3,0xb4, 0xce,0x5d,0xba,0xac,0x0b,0x88);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("d594d0d8-8da7-457b-b3b4-ce5dbaac0b88")
ITransferAdviseSink : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE UpdateProgress(
ULONGLONG ullSizeCurrent,
ULONGLONG ullSizeTotal,
int nFilesCurrent,
int nFilesTotal,
int nFoldersCurrent,
int nFoldersTotal) = 0;
virtual HRESULT STDMETHODCALLTYPE UpdateTransferState(
TRANSFER_ADVISE_STATE ts) = 0;
virtual HRESULT STDMETHODCALLTYPE ConfirmOverwrite(
IShellItem *psiSource,
IShellItem *psiDestParent,
LPCWSTR pszName) = 0;
virtual HRESULT STDMETHODCALLTYPE ConfirmEncryptionLoss(
IShellItem *psiSource) = 0;
virtual HRESULT STDMETHODCALLTYPE FileFailure(
IShellItem *psi,
LPCWSTR pszItem,
HRESULT hrError,
LPWSTR pszRename,
ULONG cchRename) = 0;
virtual HRESULT STDMETHODCALLTYPE SubStreamFailure(
IShellItem *psi,
LPCWSTR pszStreamName,
HRESULT hrError) = 0;
virtual HRESULT STDMETHODCALLTYPE PropertyFailure(
IShellItem *psi,
const PROPERTYKEY *pkey,
HRESULT hrError) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ITransferAdviseSink, 0xd594d0d8, 0x8da7, 0x457b, 0xb3,0xb4, 0xce,0x5d,0xba,0xac,0x0b,0x88)
#endif
#else
typedef struct ITransferAdviseSinkVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ITransferAdviseSink *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ITransferAdviseSink *This);
ULONG (STDMETHODCALLTYPE *Release)(
ITransferAdviseSink *This);
/*** ITransferAdviseSink methods ***/
HRESULT (STDMETHODCALLTYPE *UpdateProgress)(
ITransferAdviseSink *This,
ULONGLONG ullSizeCurrent,
ULONGLONG ullSizeTotal,
int nFilesCurrent,
int nFilesTotal,
int nFoldersCurrent,
int nFoldersTotal);
HRESULT (STDMETHODCALLTYPE *UpdateTransferState)(
ITransferAdviseSink *This,
TRANSFER_ADVISE_STATE ts);
HRESULT (STDMETHODCALLTYPE *ConfirmOverwrite)(
ITransferAdviseSink *This,
IShellItem *psiSource,
IShellItem *psiDestParent,
LPCWSTR pszName);
HRESULT (STDMETHODCALLTYPE *ConfirmEncryptionLoss)(
ITransferAdviseSink *This,
IShellItem *psiSource);
HRESULT (STDMETHODCALLTYPE *FileFailure)(
ITransferAdviseSink *This,
IShellItem *psi,
LPCWSTR pszItem,
HRESULT hrError,
LPWSTR pszRename,
ULONG cchRename);
HRESULT (STDMETHODCALLTYPE *SubStreamFailure)(
ITransferAdviseSink *This,
IShellItem *psi,
LPCWSTR pszStreamName,
HRESULT hrError);
HRESULT (STDMETHODCALLTYPE *PropertyFailure)(
ITransferAdviseSink *This,
IShellItem *psi,
const PROPERTYKEY *pkey,
HRESULT hrError);
END_INTERFACE
} ITransferAdviseSinkVtbl;
interface ITransferAdviseSink {
CONST_VTBL ITransferAdviseSinkVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ITransferAdviseSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ITransferAdviseSink_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ITransferAdviseSink_Release(This) (This)->lpVtbl->Release(This)
/*** ITransferAdviseSink methods ***/
#define ITransferAdviseSink_UpdateProgress(This,ullSizeCurrent,ullSizeTotal,nFilesCurrent,nFilesTotal,nFoldersCurrent,nFoldersTotal) (This)->lpVtbl->UpdateProgress(This,ullSizeCurrent,ullSizeTotal,nFilesCurrent,nFilesTotal,nFoldersCurrent,nFoldersTotal)
#define ITransferAdviseSink_UpdateTransferState(This,ts) (This)->lpVtbl->UpdateTransferState(This,ts)
#define ITransferAdviseSink_ConfirmOverwrite(This,psiSource,psiDestParent,pszName) (This)->lpVtbl->ConfirmOverwrite(This,psiSource,psiDestParent,pszName)
#define ITransferAdviseSink_ConfirmEncryptionLoss(This,psiSource) (This)->lpVtbl->ConfirmEncryptionLoss(This,psiSource)
#define ITransferAdviseSink_FileFailure(This,psi,pszItem,hrError,pszRename,cchRename) (This)->lpVtbl->FileFailure(This,psi,pszItem,hrError,pszRename,cchRename)
#define ITransferAdviseSink_SubStreamFailure(This,psi,pszStreamName,hrError) (This)->lpVtbl->SubStreamFailure(This,psi,pszStreamName,hrError)
#define ITransferAdviseSink_PropertyFailure(This,psi,pkey,hrError) (This)->lpVtbl->PropertyFailure(This,psi,pkey,hrError)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ITransferAdviseSink_QueryInterface(ITransferAdviseSink* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ITransferAdviseSink_AddRef(ITransferAdviseSink* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ITransferAdviseSink_Release(ITransferAdviseSink* This) {
return This->lpVtbl->Release(This);
}
/*** ITransferAdviseSink methods ***/
static FORCEINLINE HRESULT ITransferAdviseSink_UpdateProgress(ITransferAdviseSink* This,ULONGLONG ullSizeCurrent,ULONGLONG ullSizeTotal,int nFilesCurrent,int nFilesTotal,int nFoldersCurrent,int nFoldersTotal) {
return This->lpVtbl->UpdateProgress(This,ullSizeCurrent,ullSizeTotal,nFilesCurrent,nFilesTotal,nFoldersCurrent,nFoldersTotal);
}
static FORCEINLINE HRESULT ITransferAdviseSink_UpdateTransferState(ITransferAdviseSink* This,TRANSFER_ADVISE_STATE ts) {
return This->lpVtbl->UpdateTransferState(This,ts);
}
static FORCEINLINE HRESULT ITransferAdviseSink_ConfirmOverwrite(ITransferAdviseSink* This,IShellItem *psiSource,IShellItem *psiDestParent,LPCWSTR pszName) {
return This->lpVtbl->ConfirmOverwrite(This,psiSource,psiDestParent,pszName);
}
static FORCEINLINE HRESULT ITransferAdviseSink_ConfirmEncryptionLoss(ITransferAdviseSink* This,IShellItem *psiSource) {
return This->lpVtbl->ConfirmEncryptionLoss(This,psiSource);
}
static FORCEINLINE HRESULT ITransferAdviseSink_FileFailure(ITransferAdviseSink* This,IShellItem *psi,LPCWSTR pszItem,HRESULT hrError,LPWSTR pszRename,ULONG cchRename) {
return This->lpVtbl->FileFailure(This,psi,pszItem,hrError,pszRename,cchRename);
}
static FORCEINLINE HRESULT ITransferAdviseSink_SubStreamFailure(ITransferAdviseSink* This,IShellItem *psi,LPCWSTR pszStreamName,HRESULT hrError) {
return This->lpVtbl->SubStreamFailure(This,psi,pszStreamName,hrError);
}
static FORCEINLINE HRESULT ITransferAdviseSink_PropertyFailure(ITransferAdviseSink* This,IShellItem *psi,const PROPERTYKEY *pkey,HRESULT hrError) {
return This->lpVtbl->PropertyFailure(This,psi,pkey,hrError);
}
#endif
#endif
#endif
#endif /* __ITransferAdviseSink_INTERFACE_DEFINED__ */
#endif
#if NTDDI_VERSION >= NTDDI_VISTA
/*****************************************************************************
* ITransferSource interface
*/
#ifndef __ITransferSource_INTERFACE_DEFINED__
#define __ITransferSource_INTERFACE_DEFINED__
DEFINE_GUID(IID_ITransferSource, 0x00adb003, 0xbde9, 0x45c6, 0x8e,0x29, 0xd0,0x9f,0x93,0x53,0xe1,0x08);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("00adb003-bde9-45c6-8e29-d09f9353e108")
ITransferSource : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Advise(
ITransferAdviseSink *psink,
DWORD *pdwCookie) = 0;
virtual HRESULT STDMETHODCALLTYPE Unadvise(
DWORD dwCookie) = 0;
virtual HRESULT STDMETHODCALLTYPE SetProperties(
IPropertyChangeArray *pproparray) = 0;
virtual HRESULT STDMETHODCALLTYPE OpenItem(
IShellItem *psi,
TRANSFER_SOURCE_FLAGS flags,
REFIID riid,
void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE MoveItem(
IShellItem *psi,
IShellItem *psiParentDst,
LPCWSTR pszNameDst,
TRANSFER_SOURCE_FLAGS flags,
IShellItem **ppsiNew) = 0;
virtual HRESULT STDMETHODCALLTYPE RecycleItem(
IShellItem *psiSource,
IShellItem *psiParentDest,
TRANSFER_SOURCE_FLAGS flags,
IShellItem **ppsiNewDest) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveItem(
IShellItem *psiSource,
TRANSFER_SOURCE_FLAGS flags) = 0;
virtual HRESULT STDMETHODCALLTYPE RenameItem(
IShellItem *psiSource,
LPCWSTR pszNewName,
TRANSFER_SOURCE_FLAGS flags,
IShellItem **ppsiNewDest) = 0;
virtual HRESULT STDMETHODCALLTYPE LinkItem(
IShellItem *psiSource,
IShellItem *psiParentDest,
LPCWSTR pszNewName,
TRANSFER_SOURCE_FLAGS flags,
IShellItem **ppsiNewDest) = 0;
virtual HRESULT STDMETHODCALLTYPE ApplyPropertiesToItem(
IShellItem *psiSource,
IShellItem **ppsiNew) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDefaultDestinationName(
IShellItem *psiSource,
IShellItem *psiParentDest,
LPWSTR *ppszDestinationName) = 0;
virtual HRESULT STDMETHODCALLTYPE EnterFolder(
IShellItem *psiChildFolderDest) = 0;
virtual HRESULT STDMETHODCALLTYPE LeaveFolder(
IShellItem *psiChildFolderDest) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ITransferSource, 0x00adb003, 0xbde9, 0x45c6, 0x8e,0x29, 0xd0,0x9f,0x93,0x53,0xe1,0x08)
#endif
#else
typedef struct ITransferSourceVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ITransferSource *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ITransferSource *This);
ULONG (STDMETHODCALLTYPE *Release)(
ITransferSource *This);
/*** ITransferSource methods ***/
HRESULT (STDMETHODCALLTYPE *Advise)(
ITransferSource *This,
ITransferAdviseSink *psink,
DWORD *pdwCookie);
HRESULT (STDMETHODCALLTYPE *Unadvise)(
ITransferSource *This,
DWORD dwCookie);
HRESULT (STDMETHODCALLTYPE *SetProperties)(
ITransferSource *This,
IPropertyChangeArray *pproparray);
HRESULT (STDMETHODCALLTYPE *OpenItem)(
ITransferSource *This,
IShellItem *psi,
TRANSFER_SOURCE_FLAGS flags,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *MoveItem)(
ITransferSource *This,
IShellItem *psi,
IShellItem *psiParentDst,
LPCWSTR pszNameDst,
TRANSFER_SOURCE_FLAGS flags,
IShellItem **ppsiNew);
HRESULT (STDMETHODCALLTYPE *RecycleItem)(
ITransferSource *This,
IShellItem *psiSource,
IShellItem *psiParentDest,
TRANSFER_SOURCE_FLAGS flags,
IShellItem **ppsiNewDest);
HRESULT (STDMETHODCALLTYPE *RemoveItem)(
ITransferSource *This,
IShellItem *psiSource,
TRANSFER_SOURCE_FLAGS flags);
HRESULT (STDMETHODCALLTYPE *RenameItem)(
ITransferSource *This,
IShellItem *psiSource,
LPCWSTR pszNewName,
TRANSFER_SOURCE_FLAGS flags,
IShellItem **ppsiNewDest);
HRESULT (STDMETHODCALLTYPE *LinkItem)(
ITransferSource *This,
IShellItem *psiSource,
IShellItem *psiParentDest,
LPCWSTR pszNewName,
TRANSFER_SOURCE_FLAGS flags,
IShellItem **ppsiNewDest);
HRESULT (STDMETHODCALLTYPE *ApplyPropertiesToItem)(
ITransferSource *This,
IShellItem *psiSource,
IShellItem **ppsiNew);
HRESULT (STDMETHODCALLTYPE *GetDefaultDestinationName)(
ITransferSource *This,
IShellItem *psiSource,
IShellItem *psiParentDest,
LPWSTR *ppszDestinationName);
HRESULT (STDMETHODCALLTYPE *EnterFolder)(
ITransferSource *This,
IShellItem *psiChildFolderDest);
HRESULT (STDMETHODCALLTYPE *LeaveFolder)(
ITransferSource *This,
IShellItem *psiChildFolderDest);
END_INTERFACE
} ITransferSourceVtbl;
interface ITransferSource {
CONST_VTBL ITransferSourceVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ITransferSource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ITransferSource_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ITransferSource_Release(This) (This)->lpVtbl->Release(This)
/*** ITransferSource methods ***/
#define ITransferSource_Advise(This,psink,pdwCookie) (This)->lpVtbl->Advise(This,psink,pdwCookie)
#define ITransferSource_Unadvise(This,dwCookie) (This)->lpVtbl->Unadvise(This,dwCookie)
#define ITransferSource_SetProperties(This,pproparray) (This)->lpVtbl->SetProperties(This,pproparray)
#define ITransferSource_OpenItem(This,psi,flags,riid,ppv) (This)->lpVtbl->OpenItem(This,psi,flags,riid,ppv)
#define ITransferSource_MoveItem(This,psi,psiParentDst,pszNameDst,flags,ppsiNew) (This)->lpVtbl->MoveItem(This,psi,psiParentDst,pszNameDst,flags,ppsiNew)
#define ITransferSource_RecycleItem(This,psiSource,psiParentDest,flags,ppsiNewDest) (This)->lpVtbl->RecycleItem(This,psiSource,psiParentDest,flags,ppsiNewDest)
#define ITransferSource_RemoveItem(This,psiSource,flags) (This)->lpVtbl->RemoveItem(This,psiSource,flags)
#define ITransferSource_RenameItem(This,psiSource,pszNewName,flags,ppsiNewDest) (This)->lpVtbl->RenameItem(This,psiSource,pszNewName,flags,ppsiNewDest)
#define ITransferSource_LinkItem(This,psiSource,psiParentDest,pszNewName,flags,ppsiNewDest) (This)->lpVtbl->LinkItem(This,psiSource,psiParentDest,pszNewName,flags,ppsiNewDest)
#define ITransferSource_ApplyPropertiesToItem(This,psiSource,ppsiNew) (This)->lpVtbl->ApplyPropertiesToItem(This,psiSource,ppsiNew)
#define ITransferSource_GetDefaultDestinationName(This,psiSource,psiParentDest,ppszDestinationName) (This)->lpVtbl->GetDefaultDestinationName(This,psiSource,psiParentDest,ppszDestinationName)
#define ITransferSource_EnterFolder(This,psiChildFolderDest) (This)->lpVtbl->EnterFolder(This,psiChildFolderDest)
#define ITransferSource_LeaveFolder(This,psiChildFolderDest) (This)->lpVtbl->LeaveFolder(This,psiChildFolderDest)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ITransferSource_QueryInterface(ITransferSource* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ITransferSource_AddRef(ITransferSource* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ITransferSource_Release(ITransferSource* This) {
return This->lpVtbl->Release(This);
}
/*** ITransferSource methods ***/
static FORCEINLINE HRESULT ITransferSource_Advise(ITransferSource* This,ITransferAdviseSink *psink,DWORD *pdwCookie) {
return This->lpVtbl->Advise(This,psink,pdwCookie);
}
static FORCEINLINE HRESULT ITransferSource_Unadvise(ITransferSource* This,DWORD dwCookie) {
return This->lpVtbl->Unadvise(This,dwCookie);
}
static FORCEINLINE HRESULT ITransferSource_SetProperties(ITransferSource* This,IPropertyChangeArray *pproparray) {
return This->lpVtbl->SetProperties(This,pproparray);
}
static FORCEINLINE HRESULT ITransferSource_OpenItem(ITransferSource* This,IShellItem *psi,TRANSFER_SOURCE_FLAGS flags,REFIID riid,void **ppv) {
return This->lpVtbl->OpenItem(This,psi,flags,riid,ppv);
}
static FORCEINLINE HRESULT ITransferSource_MoveItem(ITransferSource* This,IShellItem *psi,IShellItem *psiParentDst,LPCWSTR pszNameDst,TRANSFER_SOURCE_FLAGS flags,IShellItem **ppsiNew) {
return This->lpVtbl->MoveItem(This,psi,psiParentDst,pszNameDst,flags,ppsiNew);
}
static FORCEINLINE HRESULT ITransferSource_RecycleItem(ITransferSource* This,IShellItem *psiSource,IShellItem *psiParentDest,TRANSFER_SOURCE_FLAGS flags,IShellItem **ppsiNewDest) {
return This->lpVtbl->RecycleItem(This,psiSource,psiParentDest,flags,ppsiNewDest);
}
static FORCEINLINE HRESULT ITransferSource_RemoveItem(ITransferSource* This,IShellItem *psiSource,TRANSFER_SOURCE_FLAGS flags) {
return This->lpVtbl->RemoveItem(This,psiSource,flags);
}
static FORCEINLINE HRESULT ITransferSource_RenameItem(ITransferSource* This,IShellItem *psiSource,LPCWSTR pszNewName,TRANSFER_SOURCE_FLAGS flags,IShellItem **ppsiNewDest) {
return This->lpVtbl->RenameItem(This,psiSource,pszNewName,flags,ppsiNewDest);
}
static FORCEINLINE HRESULT ITransferSource_LinkItem(ITransferSource* This,IShellItem *psiSource,IShellItem *psiParentDest,LPCWSTR pszNewName,TRANSFER_SOURCE_FLAGS flags,IShellItem **ppsiNewDest) {
return This->lpVtbl->LinkItem(This,psiSource,psiParentDest,pszNewName,flags,ppsiNewDest);
}
static FORCEINLINE HRESULT ITransferSource_ApplyPropertiesToItem(ITransferSource* This,IShellItem *psiSource,IShellItem **ppsiNew) {
return This->lpVtbl->ApplyPropertiesToItem(This,psiSource,ppsiNew);
}
static FORCEINLINE HRESULT ITransferSource_GetDefaultDestinationName(ITransferSource* This,IShellItem *psiSource,IShellItem *psiParentDest,LPWSTR *ppszDestinationName) {
return This->lpVtbl->GetDefaultDestinationName(This,psiSource,psiParentDest,ppszDestinationName);
}
static FORCEINLINE HRESULT ITransferSource_EnterFolder(ITransferSource* This,IShellItem *psiChildFolderDest) {
return This->lpVtbl->EnterFolder(This,psiChildFolderDest);
}
static FORCEINLINE HRESULT ITransferSource_LeaveFolder(ITransferSource* This,IShellItem *psiChildFolderDest) {
return This->lpVtbl->LeaveFolder(This,psiChildFolderDest);
}
#endif
#endif
#endif
#endif /* __ITransferSource_INTERFACE_DEFINED__ */
#endif
typedef struct SHELL_ITEM_RESOURCE {
GUID guidType;
WCHAR szName[260];
} SHELL_ITEM_RESOURCE;
/*****************************************************************************
* IEnumResources interface
*/
#ifndef __IEnumResources_INTERFACE_DEFINED__
#define __IEnumResources_INTERFACE_DEFINED__
DEFINE_GUID(IID_IEnumResources, 0x2dd81fe3, 0xa83c, 0x4da9, 0xa3,0x30, 0x47,0x24,0x9d,0x34,0x5b,0xa1);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("2dd81fe3-a83c-4da9-a330-47249d345ba1")
IEnumResources : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Next(
ULONG celt,
SHELL_ITEM_RESOURCE *psir,
ULONG *pceltFetched) = 0;
virtual HRESULT STDMETHODCALLTYPE Skip(
ULONG celt) = 0;
virtual HRESULT STDMETHODCALLTYPE Reset(
) = 0;
virtual HRESULT STDMETHODCALLTYPE Clone(
IEnumResources **ppenumr) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IEnumResources, 0x2dd81fe3, 0xa83c, 0x4da9, 0xa3,0x30, 0x47,0x24,0x9d,0x34,0x5b,0xa1)
#endif
#else
typedef struct IEnumResourcesVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IEnumResources *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IEnumResources *This);
ULONG (STDMETHODCALLTYPE *Release)(
IEnumResources *This);
/*** IEnumResources methods ***/
HRESULT (STDMETHODCALLTYPE *Next)(
IEnumResources *This,
ULONG celt,
SHELL_ITEM_RESOURCE *psir,
ULONG *pceltFetched);
HRESULT (STDMETHODCALLTYPE *Skip)(
IEnumResources *This,
ULONG celt);
HRESULT (STDMETHODCALLTYPE *Reset)(
IEnumResources *This);
HRESULT (STDMETHODCALLTYPE *Clone)(
IEnumResources *This,
IEnumResources **ppenumr);
END_INTERFACE
} IEnumResourcesVtbl;
interface IEnumResources {
CONST_VTBL IEnumResourcesVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IEnumResources_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IEnumResources_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IEnumResources_Release(This) (This)->lpVtbl->Release(This)
/*** IEnumResources methods ***/
#define IEnumResources_Next(This,celt,psir,pceltFetched) (This)->lpVtbl->Next(This,celt,psir,pceltFetched)
#define IEnumResources_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
#define IEnumResources_Reset(This) (This)->lpVtbl->Reset(This)
#define IEnumResources_Clone(This,ppenumr) (This)->lpVtbl->Clone(This,ppenumr)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IEnumResources_QueryInterface(IEnumResources* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IEnumResources_AddRef(IEnumResources* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IEnumResources_Release(IEnumResources* This) {
return This->lpVtbl->Release(This);
}
/*** IEnumResources methods ***/
static FORCEINLINE HRESULT IEnumResources_Next(IEnumResources* This,ULONG celt,SHELL_ITEM_RESOURCE *psir,ULONG *pceltFetched) {
return This->lpVtbl->Next(This,celt,psir,pceltFetched);
}
static FORCEINLINE HRESULT IEnumResources_Skip(IEnumResources* This,ULONG celt) {
return This->lpVtbl->Skip(This,celt);
}
static FORCEINLINE HRESULT IEnumResources_Reset(IEnumResources* This) {
return This->lpVtbl->Reset(This);
}
static FORCEINLINE HRESULT IEnumResources_Clone(IEnumResources* This,IEnumResources **ppenumr) {
return This->lpVtbl->Clone(This,ppenumr);
}
#endif
#endif
#endif
#endif /* __IEnumResources_INTERFACE_DEFINED__ */
/*****************************************************************************
* IShellItemResources interface
*/
#ifndef __IShellItemResources_INTERFACE_DEFINED__
#define __IShellItemResources_INTERFACE_DEFINED__
DEFINE_GUID(IID_IShellItemResources, 0xff5693be, 0x2ce0, 0x4d48, 0xb5,0xc5, 0x40,0x81,0x7d,0x1a,0xcd,0xb9);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("ff5693be-2ce0-4d48-b5c5-40817d1acdb9")
IShellItemResources : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetAttributes(
DWORD *pdwAttributes) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSize(
ULONGLONG *pullSize) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTimes(
FILETIME *pftCreation,
FILETIME *pftWrite,
FILETIME *pftAccess) = 0;
virtual HRESULT STDMETHODCALLTYPE SetTimes(
const FILETIME *pftCreation,
const FILETIME *pftWrite,
const FILETIME *pftAccess) = 0;
virtual HRESULT STDMETHODCALLTYPE GetResourceDescription(
const SHELL_ITEM_RESOURCE *pcsir,
LPWSTR *ppszDescription) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumResources(
IEnumResources **ppenumr) = 0;
virtual HRESULT STDMETHODCALLTYPE SupportsResource(
const SHELL_ITEM_RESOURCE *pcsir) = 0;
virtual HRESULT STDMETHODCALLTYPE OpenResource(
const SHELL_ITEM_RESOURCE *pcsir,
REFIID riid,
void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateResource(
const SHELL_ITEM_RESOURCE *pcsir,
REFIID riid,
void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE MarkForDelete(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IShellItemResources, 0xff5693be, 0x2ce0, 0x4d48, 0xb5,0xc5, 0x40,0x81,0x7d,0x1a,0xcd,0xb9)
#endif
#else
typedef struct IShellItemResourcesVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IShellItemResources *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IShellItemResources *This);
ULONG (STDMETHODCALLTYPE *Release)(
IShellItemResources *This);
/*** IShellItemResources methods ***/
HRESULT (STDMETHODCALLTYPE *GetAttributes)(
IShellItemResources *This,
DWORD *pdwAttributes);
HRESULT (STDMETHODCALLTYPE *GetSize)(
IShellItemResources *This,
ULONGLONG *pullSize);
HRESULT (STDMETHODCALLTYPE *GetTimes)(
IShellItemResources *This,
FILETIME *pftCreation,
FILETIME *pftWrite,
FILETIME *pftAccess);
HRESULT (STDMETHODCALLTYPE *SetTimes)(
IShellItemResources *This,
const FILETIME *pftCreation,
const FILETIME *pftWrite,
const FILETIME *pftAccess);
HRESULT (STDMETHODCALLTYPE *GetResourceDescription)(
IShellItemResources *This,
const SHELL_ITEM_RESOURCE *pcsir,
LPWSTR *ppszDescription);
HRESULT (STDMETHODCALLTYPE *EnumResources)(
IShellItemResources *This,
IEnumResources **ppenumr);
HRESULT (STDMETHODCALLTYPE *SupportsResource)(
IShellItemResources *This,
const SHELL_ITEM_RESOURCE *pcsir);
HRESULT (STDMETHODCALLTYPE *OpenResource)(
IShellItemResources *This,
const SHELL_ITEM_RESOURCE *pcsir,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *CreateResource)(
IShellItemResources *This,
const SHELL_ITEM_RESOURCE *pcsir,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *MarkForDelete)(
IShellItemResources *This);
END_INTERFACE
} IShellItemResourcesVtbl;
interface IShellItemResources {
CONST_VTBL IShellItemResourcesVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IShellItemResources_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IShellItemResources_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IShellItemResources_Release(This) (This)->lpVtbl->Release(This)
/*** IShellItemResources methods ***/
#define IShellItemResources_GetAttributes(This,pdwAttributes) (This)->lpVtbl->GetAttributes(This,pdwAttributes)
#define IShellItemResources_GetSize(This,pullSize) (This)->lpVtbl->GetSize(This,pullSize)
#define IShellItemResources_GetTimes(This,pftCreation,pftWrite,pftAccess) (This)->lpVtbl->GetTimes(This,pftCreation,pftWrite,pftAccess)
#define IShellItemResources_SetTimes(This,pftCreation,pftWrite,pftAccess) (This)->lpVtbl->SetTimes(This,pftCreation,pftWrite,pftAccess)
#define IShellItemResources_GetResourceDescription(This,pcsir,ppszDescription) (This)->lpVtbl->GetResourceDescription(This,pcsir,ppszDescription)
#define IShellItemResources_EnumResources(This,ppenumr) (This)->lpVtbl->EnumResources(This,ppenumr)
#define IShellItemResources_SupportsResource(This,pcsir) (This)->lpVtbl->SupportsResource(This,pcsir)
#define IShellItemResources_OpenResource(This,pcsir,riid,ppv) (This)->lpVtbl->OpenResource(This,pcsir,riid,ppv)
#define IShellItemResources_CreateResource(This,pcsir,riid,ppv) (This)->lpVtbl->CreateResource(This,pcsir,riid,ppv)
#define IShellItemResources_MarkForDelete(This) (This)->lpVtbl->MarkForDelete(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IShellItemResources_QueryInterface(IShellItemResources* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IShellItemResources_AddRef(IShellItemResources* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IShellItemResources_Release(IShellItemResources* This) {
return This->lpVtbl->Release(This);
}
/*** IShellItemResources methods ***/
static FORCEINLINE HRESULT IShellItemResources_GetAttributes(IShellItemResources* This,DWORD *pdwAttributes) {
return This->lpVtbl->GetAttributes(This,pdwAttributes);
}
static FORCEINLINE HRESULT IShellItemResources_GetSize(IShellItemResources* This,ULONGLONG *pullSize) {
return This->lpVtbl->GetSize(This,pullSize);
}
static FORCEINLINE HRESULT IShellItemResources_GetTimes(IShellItemResources* This,FILETIME *pftCreation,FILETIME *pftWrite,FILETIME *pftAccess) {
return This->lpVtbl->GetTimes(This,pftCreation,pftWrite,pftAccess);
}
static FORCEINLINE HRESULT IShellItemResources_SetTimes(IShellItemResources* This,const FILETIME *pftCreation,const FILETIME *pftWrite,const FILETIME *pftAccess) {
return This->lpVtbl->SetTimes(This,pftCreation,pftWrite,pftAccess);
}
static FORCEINLINE HRESULT IShellItemResources_GetResourceDescription(IShellItemResources* This,const SHELL_ITEM_RESOURCE *pcsir,LPWSTR *ppszDescription) {
return This->lpVtbl->GetResourceDescription(This,pcsir,ppszDescription);
}
static FORCEINLINE HRESULT IShellItemResources_EnumResources(IShellItemResources* This,IEnumResources **ppenumr) {
return This->lpVtbl->EnumResources(This,ppenumr);
}
static FORCEINLINE HRESULT IShellItemResources_SupportsResource(IShellItemResources* This,const SHELL_ITEM_RESOURCE *pcsir) {
return This->lpVtbl->SupportsResource(This,pcsir);
}
static FORCEINLINE HRESULT IShellItemResources_OpenResource(IShellItemResources* This,const SHELL_ITEM_RESOURCE *pcsir,REFIID riid,void **ppv) {
return This->lpVtbl->OpenResource(This,pcsir,riid,ppv);
}
static FORCEINLINE HRESULT IShellItemResources_CreateResource(IShellItemResources* This,const SHELL_ITEM_RESOURCE *pcsir,REFIID riid,void **ppv) {
return This->lpVtbl->CreateResource(This,pcsir,riid,ppv);
}
static FORCEINLINE HRESULT IShellItemResources_MarkForDelete(IShellItemResources* This) {
return This->lpVtbl->MarkForDelete(This);
}
#endif
#endif
#endif
#endif /* __IShellItemResources_INTERFACE_DEFINED__ */
/*****************************************************************************
* ITransferDestination interface
*/
#ifndef __ITransferDestination_INTERFACE_DEFINED__
#define __ITransferDestination_INTERFACE_DEFINED__
DEFINE_GUID(IID_ITransferDestination, 0x48addd32, 0x3ca5, 0x4124, 0xab,0xe3, 0xb5,0xa7,0x25,0x31,0xb2,0x07);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("48addd32-3ca5-4124-abe3-b5a72531b207")
ITransferDestination : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Advise(
ITransferAdviseSink *psink,
DWORD *pdwCookie) = 0;
virtual HRESULT STDMETHODCALLTYPE Unadvise(
DWORD dwCookie) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateItem(
LPCWSTR pszName,
DWORD dwAttributes,
ULONGLONG ullSize,
TRANSFER_SOURCE_FLAGS flags,
REFIID riidItem,
void **ppvItem,
REFIID riidResources,
void **ppvResources) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ITransferDestination, 0x48addd32, 0x3ca5, 0x4124, 0xab,0xe3, 0xb5,0xa7,0x25,0x31,0xb2,0x07)
#endif
#else
typedef struct ITransferDestinationVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ITransferDestination *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ITransferDestination *This);
ULONG (STDMETHODCALLTYPE *Release)(
ITransferDestination *This);
/*** ITransferDestination methods ***/
HRESULT (STDMETHODCALLTYPE *Advise)(
ITransferDestination *This,
ITransferAdviseSink *psink,
DWORD *pdwCookie);
HRESULT (STDMETHODCALLTYPE *Unadvise)(
ITransferDestination *This,
DWORD dwCookie);
HRESULT (STDMETHODCALLTYPE *CreateItem)(
ITransferDestination *This,
LPCWSTR pszName,
DWORD dwAttributes,
ULONGLONG ullSize,
TRANSFER_SOURCE_FLAGS flags,
REFIID riidItem,
void **ppvItem,
REFIID riidResources,
void **ppvResources);
END_INTERFACE
} ITransferDestinationVtbl;
interface ITransferDestination {
CONST_VTBL ITransferDestinationVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ITransferDestination_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ITransferDestination_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ITransferDestination_Release(This) (This)->lpVtbl->Release(This)
/*** ITransferDestination methods ***/
#define ITransferDestination_Advise(This,psink,pdwCookie) (This)->lpVtbl->Advise(This,psink,pdwCookie)
#define ITransferDestination_Unadvise(This,dwCookie) (This)->lpVtbl->Unadvise(This,dwCookie)
#define ITransferDestination_CreateItem(This,pszName,dwAttributes,ullSize,flags,riidItem,ppvItem,riidResources,ppvResources) (This)->lpVtbl->CreateItem(This,pszName,dwAttributes,ullSize,flags,riidItem,ppvItem,riidResources,ppvResources)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ITransferDestination_QueryInterface(ITransferDestination* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ITransferDestination_AddRef(ITransferDestination* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ITransferDestination_Release(ITransferDestination* This) {
return This->lpVtbl->Release(This);
}
/*** ITransferDestination methods ***/
static FORCEINLINE HRESULT ITransferDestination_Advise(ITransferDestination* This,ITransferAdviseSink *psink,DWORD *pdwCookie) {
return This->lpVtbl->Advise(This,psink,pdwCookie);
}
static FORCEINLINE HRESULT ITransferDestination_Unadvise(ITransferDestination* This,DWORD dwCookie) {
return This->lpVtbl->Unadvise(This,dwCookie);
}
static FORCEINLINE HRESULT ITransferDestination_CreateItem(ITransferDestination* This,LPCWSTR pszName,DWORD dwAttributes,ULONGLONG ullSize,TRANSFER_SOURCE_FLAGS flags,REFIID riidItem,void **ppvItem,REFIID riidResources,void **ppvResources) {
return This->lpVtbl->CreateItem(This,pszName,dwAttributes,ullSize,flags,riidItem,ppvItem,riidResources,ppvResources);
}
#endif
#endif
#endif
#endif /* __ITransferDestination_INTERFACE_DEFINED__ */
#if 0
typedef struct _OVERLAPPED {
ULONG_PTR Internal;
ULONG_PTR InternalHigh;
__C89_NAMELESS union {
__C89_NAMELESS struct {
DWORD Offset;
DWORD OffsetHigh;
} __C89_NAMELESSSTRUCTNAME;
PVOID Pointer;
} __C89_NAMELESSUNIONNAME;
HANDLE hEvent;
} OVERLAPPED;
typedef struct _OVERLAPPED *LPOVERLAPPED;
#endif
/*****************************************************************************
* IStreamAsync interface
*/
#ifndef __IStreamAsync_INTERFACE_DEFINED__
#define __IStreamAsync_INTERFACE_DEFINED__
DEFINE_GUID(IID_IStreamAsync, 0xfe0b6665, 0xe0ca, 0x49b9, 0xa1,0x78, 0x2b,0x5c,0xb4,0x8d,0x92,0xa5);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("fe0b6665-e0ca-49b9-a178-2b5cb48d92a5")
IStreamAsync : public IStream
{
virtual HRESULT STDMETHODCALLTYPE ReadAsync(
void *pv,
DWORD cb,
LPDWORD pcbRead,
LPOVERLAPPED lpOverlapped) = 0;
virtual HRESULT STDMETHODCALLTYPE WriteAsync(
const void *lpBuffer,
DWORD cb,
LPDWORD pcbWritten,
LPOVERLAPPED lpOverlapped) = 0;
virtual HRESULT STDMETHODCALLTYPE OverlappedResult(
LPOVERLAPPED lpOverlapped,
LPDWORD lpNumberOfBytesTransferred,
WINBOOL bWait) = 0;
virtual HRESULT STDMETHODCALLTYPE CancelIo(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IStreamAsync, 0xfe0b6665, 0xe0ca, 0x49b9, 0xa1,0x78, 0x2b,0x5c,0xb4,0x8d,0x92,0xa5)
#endif
#else
typedef struct IStreamAsyncVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IStreamAsync *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IStreamAsync *This);
ULONG (STDMETHODCALLTYPE *Release)(
IStreamAsync *This);
/*** ISequentialStream methods ***/
HRESULT (STDMETHODCALLTYPE *Read)(
IStreamAsync *This,
void *pv,
ULONG cb,
ULONG *pcbRead);
HRESULT (STDMETHODCALLTYPE *Write)(
IStreamAsync *This,
const void *pv,
ULONG cb,
ULONG *pcbWritten);
/*** IStream methods ***/
HRESULT (STDMETHODCALLTYPE *Seek)(
IStreamAsync *This,
LARGE_INTEGER dlibMove,
DWORD dwOrigin,
ULARGE_INTEGER *plibNewPosition);
HRESULT (STDMETHODCALLTYPE *SetSize)(
IStreamAsync *This,
ULARGE_INTEGER libNewSize);
HRESULT (STDMETHODCALLTYPE *CopyTo)(
IStreamAsync *This,
IStream *pstm,
ULARGE_INTEGER cb,
ULARGE_INTEGER *pcbRead,
ULARGE_INTEGER *pcbWritten);
HRESULT (STDMETHODCALLTYPE *Commit)(
IStreamAsync *This,
DWORD grfCommitFlags);
HRESULT (STDMETHODCALLTYPE *Revert)(
IStreamAsync *This);
HRESULT (STDMETHODCALLTYPE *LockRegion)(
IStreamAsync *This,
ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb,
DWORD dwLockType);
HRESULT (STDMETHODCALLTYPE *UnlockRegion)(
IStreamAsync *This,
ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb,
DWORD dwLockType);
HRESULT (STDMETHODCALLTYPE *Stat)(
IStreamAsync *This,
STATSTG *pstatstg,
DWORD grfStatFlag);
HRESULT (STDMETHODCALLTYPE *Clone)(
IStreamAsync *This,
IStream **ppstm);
/*** IStreamAsync methods ***/
HRESULT (STDMETHODCALLTYPE *ReadAsync)(
IStreamAsync *This,
void *pv,
DWORD cb,
LPDWORD pcbRead,
LPOVERLAPPED lpOverlapped);
HRESULT (STDMETHODCALLTYPE *WriteAsync)(
IStreamAsync *This,
const void *lpBuffer,
DWORD cb,
LPDWORD pcbWritten,
LPOVERLAPPED lpOverlapped);
HRESULT (STDMETHODCALLTYPE *OverlappedResult)(
IStreamAsync *This,
LPOVERLAPPED lpOverlapped,
LPDWORD lpNumberOfBytesTransferred,
WINBOOL bWait);
HRESULT (STDMETHODCALLTYPE *CancelIo)(
IStreamAsync *This);
END_INTERFACE
} IStreamAsyncVtbl;
interface IStreamAsync {
CONST_VTBL IStreamAsyncVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IStreamAsync_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IStreamAsync_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IStreamAsync_Release(This) (This)->lpVtbl->Release(This)
/*** ISequentialStream methods ***/
#define IStreamAsync_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead)
#define IStreamAsync_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten)
/*** IStream methods ***/
#define IStreamAsync_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition)
#define IStreamAsync_SetSize(This,libNewSize) (This)->lpVtbl->SetSize(This,libNewSize)
#define IStreamAsync_CopyTo(This,pstm,cb,pcbRead,pcbWritten) (This)->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten)
#define IStreamAsync_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags)
#define IStreamAsync_Revert(This) (This)->lpVtbl->Revert(This)
#define IStreamAsync_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType)
#define IStreamAsync_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType)
#define IStreamAsync_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
#define IStreamAsync_Clone(This,ppstm) (This)->lpVtbl->Clone(This,ppstm)
/*** IStreamAsync methods ***/
#define IStreamAsync_ReadAsync(This,pv,cb,pcbRead,lpOverlapped) (This)->lpVtbl->ReadAsync(This,pv,cb,pcbRead,lpOverlapped)
#define IStreamAsync_WriteAsync(This,lpBuffer,cb,pcbWritten,lpOverlapped) (This)->lpVtbl->WriteAsync(This,lpBuffer,cb,pcbWritten,lpOverlapped)
#define IStreamAsync_OverlappedResult(This,lpOverlapped,lpNumberOfBytesTransferred,bWait) (This)->lpVtbl->OverlappedResult(This,lpOverlapped,lpNumberOfBytesTransferred,bWait)
#define IStreamAsync_CancelIo(This) (This)->lpVtbl->CancelIo(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IStreamAsync_QueryInterface(IStreamAsync* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IStreamAsync_AddRef(IStreamAsync* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IStreamAsync_Release(IStreamAsync* This) {
return This->lpVtbl->Release(This);
}
/*** ISequentialStream methods ***/
static FORCEINLINE HRESULT IStreamAsync_Read(IStreamAsync* This,void *pv,ULONG cb,ULONG *pcbRead) {
return This->lpVtbl->Read(This,pv,cb,pcbRead);
}
static FORCEINLINE HRESULT IStreamAsync_Write(IStreamAsync* This,const void *pv,ULONG cb,ULONG *pcbWritten) {
return This->lpVtbl->Write(This,pv,cb,pcbWritten);
}
/*** IStream methods ***/
static FORCEINLINE HRESULT IStreamAsync_Seek(IStreamAsync* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) {
return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition);
}
static FORCEINLINE HRESULT IStreamAsync_SetSize(IStreamAsync* This,ULARGE_INTEGER libNewSize) {
return This->lpVtbl->SetSize(This,libNewSize);
}
static FORCEINLINE HRESULT IStreamAsync_CopyTo(IStreamAsync* This,IStream *pstm,ULARGE_INTEGER cb,ULARGE_INTEGER *pcbRead,ULARGE_INTEGER *pcbWritten) {
return This->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten);
}
static FORCEINLINE HRESULT IStreamAsync_Commit(IStreamAsync* This,DWORD grfCommitFlags) {
return This->lpVtbl->Commit(This,grfCommitFlags);
}
static FORCEINLINE HRESULT IStreamAsync_Revert(IStreamAsync* This) {
return This->lpVtbl->Revert(This);
}
static FORCEINLINE HRESULT IStreamAsync_LockRegion(IStreamAsync* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType);
}
static FORCEINLINE HRESULT IStreamAsync_UnlockRegion(IStreamAsync* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType);
}
static FORCEINLINE HRESULT IStreamAsync_Stat(IStreamAsync* This,STATSTG *pstatstg,DWORD grfStatFlag) {
return This->lpVtbl->Stat(This,pstatstg,grfStatFlag);
}
static FORCEINLINE HRESULT IStreamAsync_Clone(IStreamAsync* This,IStream **ppstm) {
return This->lpVtbl->Clone(This,ppstm);
}
/*** IStreamAsync methods ***/
static FORCEINLINE HRESULT IStreamAsync_ReadAsync(IStreamAsync* This,void *pv,DWORD cb,LPDWORD pcbRead,LPOVERLAPPED lpOverlapped) {
return This->lpVtbl->ReadAsync(This,pv,cb,pcbRead,lpOverlapped);
}
static FORCEINLINE HRESULT IStreamAsync_WriteAsync(IStreamAsync* This,const void *lpBuffer,DWORD cb,LPDWORD pcbWritten,LPOVERLAPPED lpOverlapped) {
return This->lpVtbl->WriteAsync(This,lpBuffer,cb,pcbWritten,lpOverlapped);
}
static FORCEINLINE HRESULT IStreamAsync_OverlappedResult(IStreamAsync* This,LPOVERLAPPED lpOverlapped,LPDWORD lpNumberOfBytesTransferred,WINBOOL bWait) {
return This->lpVtbl->OverlappedResult(This,lpOverlapped,lpNumberOfBytesTransferred,bWait);
}
static FORCEINLINE HRESULT IStreamAsync_CancelIo(IStreamAsync* This) {
return This->lpVtbl->CancelIo(This);
}
#endif
#endif
#endif
#endif /* __IStreamAsync_INTERFACE_DEFINED__ */
/*****************************************************************************
* IStreamUnbufferedInfo interface
*/
#ifndef __IStreamUnbufferedInfo_INTERFACE_DEFINED__
#define __IStreamUnbufferedInfo_INTERFACE_DEFINED__
DEFINE_GUID(IID_IStreamUnbufferedInfo, 0x8a68fdda, 0x1fdc, 0x4c20, 0x8c,0xeb, 0x41,0x66,0x43,0xb5,0xa6,0x25);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("8a68fdda-1fdc-4c20-8ceb-416643b5a625")
IStreamUnbufferedInfo : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetSectorSize(
ULONG *pcbSectorSize) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IStreamUnbufferedInfo, 0x8a68fdda, 0x1fdc, 0x4c20, 0x8c,0xeb, 0x41,0x66,0x43,0xb5,0xa6,0x25)
#endif
#else
typedef struct IStreamUnbufferedInfoVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IStreamUnbufferedInfo *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IStreamUnbufferedInfo *This);
ULONG (STDMETHODCALLTYPE *Release)(
IStreamUnbufferedInfo *This);
/*** IStreamUnbufferedInfo methods ***/
HRESULT (STDMETHODCALLTYPE *GetSectorSize)(
IStreamUnbufferedInfo *This,
ULONG *pcbSectorSize);
END_INTERFACE
} IStreamUnbufferedInfoVtbl;
interface IStreamUnbufferedInfo {
CONST_VTBL IStreamUnbufferedInfoVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IStreamUnbufferedInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IStreamUnbufferedInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IStreamUnbufferedInfo_Release(This) (This)->lpVtbl->Release(This)
/*** IStreamUnbufferedInfo methods ***/
#define IStreamUnbufferedInfo_GetSectorSize(This,pcbSectorSize) (This)->lpVtbl->GetSectorSize(This,pcbSectorSize)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IStreamUnbufferedInfo_QueryInterface(IStreamUnbufferedInfo* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IStreamUnbufferedInfo_AddRef(IStreamUnbufferedInfo* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IStreamUnbufferedInfo_Release(IStreamUnbufferedInfo* This) {
return This->lpVtbl->Release(This);
}
/*** IStreamUnbufferedInfo methods ***/
static FORCEINLINE HRESULT IStreamUnbufferedInfo_GetSectorSize(IStreamUnbufferedInfo* This,ULONG *pcbSectorSize) {
return This->lpVtbl->GetSectorSize(This,pcbSectorSize);
}
#endif
#endif
#endif
#endif /* __IStreamUnbufferedInfo_INTERFACE_DEFINED__ */
#if _WIN32_IE >= _WIN32_IE_IE70
/*****************************************************************************
* IFileOperationProgressSink interface
*/
#ifndef __IFileOperationProgressSink_INTERFACE_DEFINED__
#define __IFileOperationProgressSink_INTERFACE_DEFINED__
DEFINE_GUID(IID_IFileOperationProgressSink, 0x04b0f1a7, 0x9490, 0x44bc, 0x96,0xe1, 0x42,0x96,0xa3,0x12,0x52,0xe2);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("04b0f1a7-9490-44bc-96e1-4296a31252e2")
IFileOperationProgressSink : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE StartOperations(
) = 0;
virtual HRESULT STDMETHODCALLTYPE FinishOperations(
HRESULT hrResult) = 0;
virtual HRESULT STDMETHODCALLTYPE PreRenameItem(
DWORD dwFlags,
IShellItem *psiItem,
LPCWSTR pszNewName) = 0;
virtual HRESULT STDMETHODCALLTYPE PostRenameItem(
DWORD dwFlags,
IShellItem *psiItem,
LPCWSTR pszNewName,
HRESULT hrRename,
IShellItem *psiNewlyCreated) = 0;
virtual HRESULT STDMETHODCALLTYPE PreMoveItem(
DWORD dwFlags,
IShellItem *psiItem,
IShellItem *psiDestinationFolder,
LPCWSTR pszNewName) = 0;
virtual HRESULT STDMETHODCALLTYPE PostMoveItem(
DWORD dwFlags,
IShellItem *psiItem,
IShellItem *psiDestinationFolder,
LPCWSTR pszNewName,
HRESULT hrMove,
IShellItem *psiNewlyCreated) = 0;
virtual HRESULT STDMETHODCALLTYPE PreCopyItem(
DWORD dwFlags,
IShellItem *psiItem,
IShellItem *psiDestinationFolder,
LPCWSTR pszNewName) = 0;
virtual HRESULT STDMETHODCALLTYPE PostCopyItem(
DWORD dwFlags,
IShellItem *psiItem,
IShellItem *psiDestinationFolder,
LPCWSTR pszNewName,
HRESULT hrCopy,
IShellItem *psiNewlyCreated) = 0;
virtual HRESULT STDMETHODCALLTYPE PreDeleteItem(
DWORD dwFlags,
IShellItem *psiItem) = 0;
virtual HRESULT STDMETHODCALLTYPE PostDeleteItem(
DWORD dwFlags,
IShellItem *psiItem,
HRESULT hrDelete,
IShellItem *psiNewlyCreated) = 0;
virtual HRESULT STDMETHODCALLTYPE PreNewItem(
DWORD dwFlags,
IShellItem *psiDestinationFolder,
LPCWSTR pszNewName) = 0;
virtual HRESULT STDMETHODCALLTYPE PostNewItem(
DWORD dwFlags,
IShellItem *psiDestinationFolder,
LPCWSTR pszNewName,
LPCWSTR pszTemplateName,
DWORD dwFileAttributes,
HRESULT hrNew,
IShellItem *psiNewItem) = 0;
virtual HRESULT STDMETHODCALLTYPE UpdateProgress(
UINT iWorkTotal,
UINT iWorkSoFar) = 0;
virtual HRESULT STDMETHODCALLTYPE ResetTimer(
) = 0;
virtual HRESULT STDMETHODCALLTYPE PauseTimer(
) = 0;
virtual HRESULT STDMETHODCALLTYPE ResumeTimer(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IFileOperationProgressSink, 0x04b0f1a7, 0x9490, 0x44bc, 0x96,0xe1, 0x42,0x96,0xa3,0x12,0x52,0xe2)
#endif
#else
typedef struct IFileOperationProgressSinkVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IFileOperationProgressSink *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IFileOperationProgressSink *This);
ULONG (STDMETHODCALLTYPE *Release)(
IFileOperationProgressSink *This);
/*** IFileOperationProgressSink methods ***/
HRESULT (STDMETHODCALLTYPE *StartOperations)(
IFileOperationProgressSink *This);
HRESULT (STDMETHODCALLTYPE *FinishOperations)(
IFileOperationProgressSink *This,
HRESULT hrResult);
HRESULT (STDMETHODCALLTYPE *PreRenameItem)(
IFileOperationProgressSink *This,
DWORD dwFlags,
IShellItem *psiItem,
LPCWSTR pszNewName);
HRESULT (STDMETHODCALLTYPE *PostRenameItem)(
IFileOperationProgressSink *This,
DWORD dwFlags,
IShellItem *psiItem,
LPCWSTR pszNewName,
HRESULT hrRename,
IShellItem *psiNewlyCreated);
HRESULT (STDMETHODCALLTYPE *PreMoveItem)(
IFileOperationProgressSink *This,
DWORD dwFlags,
IShellItem *psiItem,
IShellItem *psiDestinationFolder,
LPCWSTR pszNewName);
HRESULT (STDMETHODCALLTYPE *PostMoveItem)(
IFileOperationProgressSink *This,
DWORD dwFlags,
IShellItem *psiItem,
IShellItem *psiDestinationFolder,
LPCWSTR pszNewName,
HRESULT hrMove,
IShellItem *psiNewlyCreated);
HRESULT (STDMETHODCALLTYPE *PreCopyItem)(
IFileOperationProgressSink *This,
DWORD dwFlags,
IShellItem *psiItem,
IShellItem *psiDestinationFolder,
LPCWSTR pszNewName);
HRESULT (STDMETHODCALLTYPE *PostCopyItem)(
IFileOperationProgressSink *This,
DWORD dwFlags,
IShellItem *psiItem,
IShellItem *psiDestinationFolder,
LPCWSTR pszNewName,
HRESULT hrCopy,
IShellItem *psiNewlyCreated);
HRESULT (STDMETHODCALLTYPE *PreDeleteItem)(
IFileOperationProgressSink *This,
DWORD dwFlags,
IShellItem *psiItem);
HRESULT (STDMETHODCALLTYPE *PostDeleteItem)(
IFileOperationProgressSink *This,
DWORD dwFlags,
IShellItem *psiItem,
HRESULT hrDelete,
IShellItem *psiNewlyCreated);
HRESULT (STDMETHODCALLTYPE *PreNewItem)(
IFileOperationProgressSink *This,
DWORD dwFlags,
IShellItem *psiDestinationFolder,
LPCWSTR pszNewName);
HRESULT (STDMETHODCALLTYPE *PostNewItem)(
IFileOperationProgressSink *This,
DWORD dwFlags,
IShellItem *psiDestinationFolder,
LPCWSTR pszNewName,
LPCWSTR pszTemplateName,
DWORD dwFileAttributes,
HRESULT hrNew,
IShellItem *psiNewItem);
HRESULT (STDMETHODCALLTYPE *UpdateProgress)(
IFileOperationProgressSink *This,
UINT iWorkTotal,
UINT iWorkSoFar);
HRESULT (STDMETHODCALLTYPE *ResetTimer)(
IFileOperationProgressSink *This);
HRESULT (STDMETHODCALLTYPE *PauseTimer)(
IFileOperationProgressSink *This);
HRESULT (STDMETHODCALLTYPE *ResumeTimer)(
IFileOperationProgressSink *This);
END_INTERFACE
} IFileOperationProgressSinkVtbl;
interface IFileOperationProgressSink {
CONST_VTBL IFileOperationProgressSinkVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IFileOperationProgressSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IFileOperationProgressSink_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IFileOperationProgressSink_Release(This) (This)->lpVtbl->Release(This)
/*** IFileOperationProgressSink methods ***/
#define IFileOperationProgressSink_StartOperations(This) (This)->lpVtbl->StartOperations(This)
#define IFileOperationProgressSink_FinishOperations(This,hrResult) (This)->lpVtbl->FinishOperations(This,hrResult)
#define IFileOperationProgressSink_PreRenameItem(This,dwFlags,psiItem,pszNewName) (This)->lpVtbl->PreRenameItem(This,dwFlags,psiItem,pszNewName)
#define IFileOperationProgressSink_PostRenameItem(This,dwFlags,psiItem,pszNewName,hrRename,psiNewlyCreated) (This)->lpVtbl->PostRenameItem(This,dwFlags,psiItem,pszNewName,hrRename,psiNewlyCreated)
#define IFileOperationProgressSink_PreMoveItem(This,dwFlags,psiItem,psiDestinationFolder,pszNewName) (This)->lpVtbl->PreMoveItem(This,dwFlags,psiItem,psiDestinationFolder,pszNewName)
#define IFileOperationProgressSink_PostMoveItem(This,dwFlags,psiItem,psiDestinationFolder,pszNewName,hrMove,psiNewlyCreated) (This)->lpVtbl->PostMoveItem(This,dwFlags,psiItem,psiDestinationFolder,pszNewName,hrMove,psiNewlyCreated)
#define IFileOperationProgressSink_PreCopyItem(This,dwFlags,psiItem,psiDestinationFolder,pszNewName) (This)->lpVtbl->PreCopyItem(This,dwFlags,psiItem,psiDestinationFolder,pszNewName)
#define IFileOperationProgressSink_PostCopyItem(This,dwFlags,psiItem,psiDestinationFolder,pszNewName,hrCopy,psiNewlyCreated) (This)->lpVtbl->PostCopyItem(This,dwFlags,psiItem,psiDestinationFolder,pszNewName,hrCopy,psiNewlyCreated)
#define IFileOperationProgressSink_PreDeleteItem(This,dwFlags,psiItem) (This)->lpVtbl->PreDeleteItem(This,dwFlags,psiItem)
#define IFileOperationProgressSink_PostDeleteItem(This,dwFlags,psiItem,hrDelete,psiNewlyCreated) (This)->lpVtbl->PostDeleteItem(This,dwFlags,psiItem,hrDelete,psiNewlyCreated)
#define IFileOperationProgressSink_PreNewItem(This,dwFlags,psiDestinationFolder,pszNewName) (This)->lpVtbl->PreNewItem(This,dwFlags,psiDestinationFolder,pszNewName)
#define IFileOperationProgressSink_PostNewItem(This,dwFlags,psiDestinationFolder,pszNewName,pszTemplateName,dwFileAttributes,hrNew,psiNewItem) (This)->lpVtbl->PostNewItem(This,dwFlags,psiDestinationFolder,pszNewName,pszTemplateName,dwFileAttributes,hrNew,psiNewItem)
#define IFileOperationProgressSink_UpdateProgress(This,iWorkTotal,iWorkSoFar) (This)->lpVtbl->UpdateProgress(This,iWorkTotal,iWorkSoFar)
#define IFileOperationProgressSink_ResetTimer(This) (This)->lpVtbl->ResetTimer(This)
#define IFileOperationProgressSink_PauseTimer(This) (This)->lpVtbl->PauseTimer(This)
#define IFileOperationProgressSink_ResumeTimer(This) (This)->lpVtbl->ResumeTimer(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IFileOperationProgressSink_QueryInterface(IFileOperationProgressSink* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IFileOperationProgressSink_AddRef(IFileOperationProgressSink* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IFileOperationProgressSink_Release(IFileOperationProgressSink* This) {
return This->lpVtbl->Release(This);
}
/*** IFileOperationProgressSink methods ***/
static FORCEINLINE HRESULT IFileOperationProgressSink_StartOperations(IFileOperationProgressSink* This) {
return This->lpVtbl->StartOperations(This);
}
static FORCEINLINE HRESULT IFileOperationProgressSink_FinishOperations(IFileOperationProgressSink* This,HRESULT hrResult) {
return This->lpVtbl->FinishOperations(This,hrResult);
}
static FORCEINLINE HRESULT IFileOperationProgressSink_PreRenameItem(IFileOperationProgressSink* This,DWORD dwFlags,IShellItem *psiItem,LPCWSTR pszNewName) {
return This->lpVtbl->PreRenameItem(This,dwFlags,psiItem,pszNewName);
}
static FORCEINLINE HRESULT IFileOperationProgressSink_PostRenameItem(IFileOperationProgressSink* This,DWORD dwFlags,IShellItem *psiItem,LPCWSTR pszNewName,HRESULT hrRename,IShellItem *psiNewlyCreated) {
return This->lpVtbl->PostRenameItem(This,dwFlags,psiItem,pszNewName,hrRename,psiNewlyCreated);
}
static FORCEINLINE HRESULT IFileOperationProgressSink_PreMoveItem(IFileOperationProgressSink* This,DWORD dwFlags,IShellItem *psiItem,IShellItem *psiDestinationFolder,LPCWSTR pszNewName) {
return This->lpVtbl->PreMoveItem(This,dwFlags,psiItem,psiDestinationFolder,pszNewName);
}
static FORCEINLINE HRESULT IFileOperationProgressSink_PostMoveItem(IFileOperationProgressSink* This,DWORD dwFlags,IShellItem *psiItem,IShellItem *psiDestinationFolder,LPCWSTR pszNewName,HRESULT hrMove,IShellItem *psiNewlyCreated) {
return This->lpVtbl->PostMoveItem(This,dwFlags,psiItem,psiDestinationFolder,pszNewName,hrMove,psiNewlyCreated);
}
static FORCEINLINE HRESULT IFileOperationProgressSink_PreCopyItem(IFileOperationProgressSink* This,DWORD dwFlags,IShellItem *psiItem,IShellItem *psiDestinationFolder,LPCWSTR pszNewName) {
return This->lpVtbl->PreCopyItem(This,dwFlags,psiItem,psiDestinationFolder,pszNewName);
}
static FORCEINLINE HRESULT IFileOperationProgressSink_PostCopyItem(IFileOperationProgressSink* This,DWORD dwFlags,IShellItem *psiItem,IShellItem *psiDestinationFolder,LPCWSTR pszNewName,HRESULT hrCopy,IShellItem *psiNewlyCreated) {
return This->lpVtbl->PostCopyItem(This,dwFlags,psiItem,psiDestinationFolder,pszNewName,hrCopy,psiNewlyCreated);
}
static FORCEINLINE HRESULT IFileOperationProgressSink_PreDeleteItem(IFileOperationProgressSink* This,DWORD dwFlags,IShellItem *psiItem) {
return This->lpVtbl->PreDeleteItem(This,dwFlags,psiItem);
}
static FORCEINLINE HRESULT IFileOperationProgressSink_PostDeleteItem(IFileOperationProgressSink* This,DWORD dwFlags,IShellItem *psiItem,HRESULT hrDelete,IShellItem *psiNewlyCreated) {
return This->lpVtbl->PostDeleteItem(This,dwFlags,psiItem,hrDelete,psiNewlyCreated);
}
static FORCEINLINE HRESULT IFileOperationProgressSink_PreNewItem(IFileOperationProgressSink* This,DWORD dwFlags,IShellItem *psiDestinationFolder,LPCWSTR pszNewName) {
return This->lpVtbl->PreNewItem(This,dwFlags,psiDestinationFolder,pszNewName);
}
static FORCEINLINE HRESULT IFileOperationProgressSink_PostNewItem(IFileOperationProgressSink* This,DWORD dwFlags,IShellItem *psiDestinationFolder,LPCWSTR pszNewName,LPCWSTR pszTemplateName,DWORD dwFileAttributes,HRESULT hrNew,IShellItem *psiNewItem) {
return This->lpVtbl->PostNewItem(This,dwFlags,psiDestinationFolder,pszNewName,pszTemplateName,dwFileAttributes,hrNew,psiNewItem);
}
static FORCEINLINE HRESULT IFileOperationProgressSink_UpdateProgress(IFileOperationProgressSink* This,UINT iWorkTotal,UINT iWorkSoFar) {
return This->lpVtbl->UpdateProgress(This,iWorkTotal,iWorkSoFar);
}
static FORCEINLINE HRESULT IFileOperationProgressSink_ResetTimer(IFileOperationProgressSink* This) {
return This->lpVtbl->ResetTimer(This);
}
static FORCEINLINE HRESULT IFileOperationProgressSink_PauseTimer(IFileOperationProgressSink* This) {
return This->lpVtbl->PauseTimer(This);
}
static FORCEINLINE HRESULT IFileOperationProgressSink_ResumeTimer(IFileOperationProgressSink* This) {
return This->lpVtbl->ResumeTimer(This);
}
#endif
#endif
#endif
#endif /* __IFileOperationProgressSink_INTERFACE_DEFINED__ */
#endif
/*****************************************************************************
* IShellItemArray interface
*/
#ifndef __IShellItemArray_INTERFACE_DEFINED__
#define __IShellItemArray_INTERFACE_DEFINED__
typedef enum SIATTRIBFLAGS {
SIATTRIBFLAGS_AND = 0x1,
SIATTRIBFLAGS_OR = 0x2,
SIATTRIBFLAGS_APPCOMPAT = 0x3,
SIATTRIBFLAGS_MASK = 0x3,
SIATTRIBFLAGS_ALLITEMS = 0x4000
} SIATTRIBFLAGS;
DEFINE_ENUM_FLAG_OPERATORS(SIATTRIBFLAGS)
DEFINE_GUID(IID_IShellItemArray, 0xb63ea76d, 0x1f85, 0x456f, 0xa1,0x9c, 0x48,0x15,0x9e,0xfa,0x85,0x8b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("b63ea76d-1f85-456f-a19c-48159efa858b")
IShellItemArray : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE BindToHandler(
IBindCtx *pbc,
REFGUID bhid,
REFIID riid,
void **ppvOut) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPropertyStore(
GETPROPERTYSTOREFLAGS flags,
REFIID riid,
void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPropertyDescriptionList(
REFPROPERTYKEY keyType,
REFIID riid,
void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAttributes(
SIATTRIBFLAGS AttribFlags,
SFGAOF sfgaoMask,
SFGAOF *psfgaoAttribs) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCount(
DWORD *pdwNumItems) = 0;
virtual HRESULT STDMETHODCALLTYPE GetItemAt(
DWORD dwIndex,
IShellItem **ppsi) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumItems(
IEnumShellItems **ppenumShellItems) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IShellItemArray, 0xb63ea76d, 0x1f85, 0x456f, 0xa1,0x9c, 0x48,0x15,0x9e,0xfa,0x85,0x8b)
#endif
#else
typedef struct IShellItemArrayVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IShellItemArray *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IShellItemArray *This);
ULONG (STDMETHODCALLTYPE *Release)(
IShellItemArray *This);
/*** IShellItemArray methods ***/
HRESULT (STDMETHODCALLTYPE *BindToHandler)(
IShellItemArray *This,
IBindCtx *pbc,
REFGUID bhid,
REFIID riid,
void **ppvOut);
HRESULT (STDMETHODCALLTYPE *GetPropertyStore)(
IShellItemArray *This,
GETPROPERTYSTOREFLAGS flags,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *GetPropertyDescriptionList)(
IShellItemArray *This,
REFPROPERTYKEY keyType,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *GetAttributes)(
IShellItemArray *This,
SIATTRIBFLAGS AttribFlags,
SFGAOF sfgaoMask,
SFGAOF *psfgaoAttribs);
HRESULT (STDMETHODCALLTYPE *GetCount)(
IShellItemArray *This,
DWORD *pdwNumItems);
HRESULT (STDMETHODCALLTYPE *GetItemAt)(
IShellItemArray *This,
DWORD dwIndex,
IShellItem **ppsi);
HRESULT (STDMETHODCALLTYPE *EnumItems)(
IShellItemArray *This,
IEnumShellItems **ppenumShellItems);
END_INTERFACE
} IShellItemArrayVtbl;
interface IShellItemArray {
CONST_VTBL IShellItemArrayVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IShellItemArray_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IShellItemArray_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IShellItemArray_Release(This) (This)->lpVtbl->Release(This)
/*** IShellItemArray methods ***/
#define IShellItemArray_BindToHandler(This,pbc,bhid,riid,ppvOut) (This)->lpVtbl->BindToHandler(This,pbc,bhid,riid,ppvOut)
#define IShellItemArray_GetPropertyStore(This,flags,riid,ppv) (This)->lpVtbl->GetPropertyStore(This,flags,riid,ppv)
#define IShellItemArray_GetPropertyDescriptionList(This,keyType,riid,ppv) (This)->lpVtbl->GetPropertyDescriptionList(This,keyType,riid,ppv)
#define IShellItemArray_GetAttributes(This,AttribFlags,sfgaoMask,psfgaoAttribs) (This)->lpVtbl->GetAttributes(This,AttribFlags,sfgaoMask,psfgaoAttribs)
#define IShellItemArray_GetCount(This,pdwNumItems) (This)->lpVtbl->GetCount(This,pdwNumItems)
#define IShellItemArray_GetItemAt(This,dwIndex,ppsi) (This)->lpVtbl->GetItemAt(This,dwIndex,ppsi)
#define IShellItemArray_EnumItems(This,ppenumShellItems) (This)->lpVtbl->EnumItems(This,ppenumShellItems)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IShellItemArray_QueryInterface(IShellItemArray* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IShellItemArray_AddRef(IShellItemArray* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IShellItemArray_Release(IShellItemArray* This) {
return This->lpVtbl->Release(This);
}
/*** IShellItemArray methods ***/
static FORCEINLINE HRESULT IShellItemArray_BindToHandler(IShellItemArray* This,IBindCtx *pbc,REFGUID bhid,REFIID riid,void **ppvOut) {
return This->lpVtbl->BindToHandler(This,pbc,bhid,riid,ppvOut);
}
static FORCEINLINE HRESULT IShellItemArray_GetPropertyStore(IShellItemArray* This,GETPROPERTYSTOREFLAGS flags,REFIID riid,void **ppv) {
return This->lpVtbl->GetPropertyStore(This,flags,riid,ppv);
}
static FORCEINLINE HRESULT IShellItemArray_GetPropertyDescriptionList(IShellItemArray* This,REFPROPERTYKEY keyType,REFIID riid,void **ppv) {
return This->lpVtbl->GetPropertyDescriptionList(This,keyType,riid,ppv);
}
static FORCEINLINE HRESULT IShellItemArray_GetAttributes(IShellItemArray* This,SIATTRIBFLAGS AttribFlags,SFGAOF sfgaoMask,SFGAOF *psfgaoAttribs) {
return This->lpVtbl->GetAttributes(This,AttribFlags,sfgaoMask,psfgaoAttribs);
}
static FORCEINLINE HRESULT IShellItemArray_GetCount(IShellItemArray* This,DWORD *pdwNumItems) {
return This->lpVtbl->GetCount(This,pdwNumItems);
}
static FORCEINLINE HRESULT IShellItemArray_GetItemAt(IShellItemArray* This,DWORD dwIndex,IShellItem **ppsi) {
return This->lpVtbl->GetItemAt(This,dwIndex,ppsi);
}
static FORCEINLINE HRESULT IShellItemArray_EnumItems(IShellItemArray* This,IEnumShellItems **ppenumShellItems) {
return This->lpVtbl->EnumItems(This,ppenumShellItems);
}
#endif
#endif
#endif
#endif /* __IShellItemArray_INTERFACE_DEFINED__ */
#if _WIN32_IE >= _WIN32_IE_IE70
SHSTDAPI SHCreateShellItemArray(PCIDLIST_ABSOLUTE pidlParent, IShellFolder *psf, UINT cidl, PCUITEMID_CHILD_ARRAY ppidl, IShellItemArray **ppsiItemArray);
SHSTDAPI SHCreateShellItemArrayFromDataObject(IDataObject *pdo, REFIID riid, void **ppv);
SHSTDAPI SHCreateShellItemArrayFromIDLists(UINT cidl, PCIDLIST_ABSOLUTE_ARRAY rgpidl, IShellItemArray **ppsiItemArray);
SHSTDAPI SHCreateShellItemArrayFromShellItem(IShellItem *psi, REFIID riid, void **ppv);
#endif
/*****************************************************************************
* IInitializeWithItem interface
*/
#ifndef __IInitializeWithItem_INTERFACE_DEFINED__
#define __IInitializeWithItem_INTERFACE_DEFINED__
DEFINE_GUID(IID_IInitializeWithItem, 0x7f73be3f, 0xfb79, 0x493c, 0xa6,0xc7, 0x7e,0xe1,0x4e,0x24,0x58,0x41);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("7f73be3f-fb79-493c-a6c7-7ee14e245841")
IInitializeWithItem : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Initialize(
IShellItem *psi,
DWORD grfMode) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IInitializeWithItem, 0x7f73be3f, 0xfb79, 0x493c, 0xa6,0xc7, 0x7e,0xe1,0x4e,0x24,0x58,0x41)
#endif
#else
typedef struct IInitializeWithItemVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IInitializeWithItem *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IInitializeWithItem *This);
ULONG (STDMETHODCALLTYPE *Release)(
IInitializeWithItem *This);
/*** IInitializeWithItem methods ***/
HRESULT (STDMETHODCALLTYPE *Initialize)(
IInitializeWithItem *This,
IShellItem *psi,
DWORD grfMode);
END_INTERFACE
} IInitializeWithItemVtbl;
interface IInitializeWithItem {
CONST_VTBL IInitializeWithItemVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IInitializeWithItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IInitializeWithItem_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IInitializeWithItem_Release(This) (This)->lpVtbl->Release(This)
/*** IInitializeWithItem methods ***/
#define IInitializeWithItem_Initialize(This,psi,grfMode) (This)->lpVtbl->Initialize(This,psi,grfMode)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IInitializeWithItem_QueryInterface(IInitializeWithItem* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IInitializeWithItem_AddRef(IInitializeWithItem* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IInitializeWithItem_Release(IInitializeWithItem* This) {
return This->lpVtbl->Release(This);
}
/*** IInitializeWithItem methods ***/
static FORCEINLINE HRESULT IInitializeWithItem_Initialize(IInitializeWithItem* This,IShellItem *psi,DWORD grfMode) {
return This->lpVtbl->Initialize(This,psi,grfMode);
}
#endif
#endif
#endif
#endif /* __IInitializeWithItem_INTERFACE_DEFINED__ */
/*****************************************************************************
* IObjectWithSelection interface
*/
#ifndef __IObjectWithSelection_INTERFACE_DEFINED__
#define __IObjectWithSelection_INTERFACE_DEFINED__
DEFINE_GUID(IID_IObjectWithSelection, 0x1c9cd5bb, 0x98e9, 0x4491, 0xa6,0x0f, 0x31,0xaa,0xcc,0x72,0xb8,0x3c);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("1c9cd5bb-98e9-4491-a60f-31aacc72b83c")
IObjectWithSelection : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetSelection(
IShellItemArray *psia) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSelection(
REFIID riid,
void **ppv) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IObjectWithSelection, 0x1c9cd5bb, 0x98e9, 0x4491, 0xa6,0x0f, 0x31,0xaa,0xcc,0x72,0xb8,0x3c)
#endif
#else
typedef struct IObjectWithSelectionVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IObjectWithSelection *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IObjectWithSelection *This);
ULONG (STDMETHODCALLTYPE *Release)(
IObjectWithSelection *This);
/*** IObjectWithSelection methods ***/
HRESULT (STDMETHODCALLTYPE *SetSelection)(
IObjectWithSelection *This,
IShellItemArray *psia);
HRESULT (STDMETHODCALLTYPE *GetSelection)(
IObjectWithSelection *This,
REFIID riid,
void **ppv);
END_INTERFACE
} IObjectWithSelectionVtbl;
interface IObjectWithSelection {
CONST_VTBL IObjectWithSelectionVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IObjectWithSelection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IObjectWithSelection_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IObjectWithSelection_Release(This) (This)->lpVtbl->Release(This)
/*** IObjectWithSelection methods ***/
#define IObjectWithSelection_SetSelection(This,psia) (This)->lpVtbl->SetSelection(This,psia)
#define IObjectWithSelection_GetSelection(This,riid,ppv) (This)->lpVtbl->GetSelection(This,riid,ppv)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IObjectWithSelection_QueryInterface(IObjectWithSelection* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IObjectWithSelection_AddRef(IObjectWithSelection* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IObjectWithSelection_Release(IObjectWithSelection* This) {
return This->lpVtbl->Release(This);
}
/*** IObjectWithSelection methods ***/
static FORCEINLINE HRESULT IObjectWithSelection_SetSelection(IObjectWithSelection* This,IShellItemArray *psia) {
return This->lpVtbl->SetSelection(This,psia);
}
static FORCEINLINE HRESULT IObjectWithSelection_GetSelection(IObjectWithSelection* This,REFIID riid,void **ppv) {
return This->lpVtbl->GetSelection(This,riid,ppv);
}
#endif
#endif
#endif
#endif /* __IObjectWithSelection_INTERFACE_DEFINED__ */
/*****************************************************************************
* IObjectWithBackReferences interface
*/
#ifndef __IObjectWithBackReferences_INTERFACE_DEFINED__
#define __IObjectWithBackReferences_INTERFACE_DEFINED__
DEFINE_GUID(IID_IObjectWithBackReferences, 0x321a6a6a, 0xd61f, 0x4bf3, 0x97,0xae, 0x14,0xbe,0x29,0x86,0xbb,0x36);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("321a6a6a-d61f-4bf3-97ae-14be2986bb36")
IObjectWithBackReferences : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE RemoveBackReferences(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IObjectWithBackReferences, 0x321a6a6a, 0xd61f, 0x4bf3, 0x97,0xae, 0x14,0xbe,0x29,0x86,0xbb,0x36)
#endif
#else
typedef struct IObjectWithBackReferencesVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IObjectWithBackReferences *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IObjectWithBackReferences *This);
ULONG (STDMETHODCALLTYPE *Release)(
IObjectWithBackReferences *This);
/*** IObjectWithBackReferences methods ***/
HRESULT (STDMETHODCALLTYPE *RemoveBackReferences)(
IObjectWithBackReferences *This);
END_INTERFACE
} IObjectWithBackReferencesVtbl;
interface IObjectWithBackReferences {
CONST_VTBL IObjectWithBackReferencesVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IObjectWithBackReferences_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IObjectWithBackReferences_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IObjectWithBackReferences_Release(This) (This)->lpVtbl->Release(This)
/*** IObjectWithBackReferences methods ***/
#define IObjectWithBackReferences_RemoveBackReferences(This) (This)->lpVtbl->RemoveBackReferences(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IObjectWithBackReferences_QueryInterface(IObjectWithBackReferences* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IObjectWithBackReferences_AddRef(IObjectWithBackReferences* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IObjectWithBackReferences_Release(IObjectWithBackReferences* This) {
return This->lpVtbl->Release(This);
}
/*** IObjectWithBackReferences methods ***/
static FORCEINLINE HRESULT IObjectWithBackReferences_RemoveBackReferences(IObjectWithBackReferences* This) {
return This->lpVtbl->RemoveBackReferences(This);
}
#endif
#endif
#endif
#endif /* __IObjectWithBackReferences_INTERFACE_DEFINED__ */
enum _PROPERTYUI_NAME_FLAGS {
PUIFNF_DEFAULT = 0x0,
PUIFNF_MNEMONIC = 0x1
};
typedef DWORD PROPERTYUI_NAME_FLAGS;
enum _PROPERTYUI_FLAGS {
PUIF_DEFAULT = 0x0,
PUIF_RIGHTALIGN = 0x1,
PUIF_NOLABELININFOTIP = 0x2
};
typedef DWORD PROPERTYUI_FLAGS;
enum _PROPERTYUI_FORMAT_FLAGS {
PUIFFDF_DEFAULT = 0x0,
PUIFFDF_RIGHTTOLEFT = 0x1,
PUIFFDF_SHORTFORMAT = 0x2,
PUIFFDF_NOTIME = 0x4,
PUIFFDF_FRIENDLYDATE = 0x8
};
typedef DWORD PROPERTYUI_FORMAT_FLAGS;
/*****************************************************************************
* IPropertyUI interface
*/
#ifndef __IPropertyUI_INTERFACE_DEFINED__
#define __IPropertyUI_INTERFACE_DEFINED__
DEFINE_GUID(IID_IPropertyUI, 0x757a7d9f, 0x919a, 0x4118, 0x99,0xd7, 0xdb,0xb2,0x08,0xc8,0xcc,0x66);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("757a7d9f-919a-4118-99d7-dbb208c8cc66")
IPropertyUI : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE ParsePropertyName(
LPCWSTR pszName,
FMTID *pfmtid,
PROPID *ppid,
ULONG *pchEaten) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCannonicalName(
REFFMTID fmtid,
PROPID pid,
LPWSTR pwszText,
DWORD cchText) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDisplayName(
REFFMTID fmtid,
PROPID pid,
PROPERTYUI_NAME_FLAGS flags,
LPWSTR pwszText,
DWORD cchText) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPropertyDescription(
REFFMTID fmtid,
PROPID pid,
LPWSTR pwszText,
DWORD cchText) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDefaultWidth(
REFFMTID fmtid,
PROPID pid,
ULONG *pcxChars) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFlags(
REFFMTID fmtid,
PROPID pid,
PROPERTYUI_FLAGS *pflags) = 0;
virtual HRESULT STDMETHODCALLTYPE FormatForDisplay(
REFFMTID fmtid,
PROPID pid,
const PROPVARIANT *ppropvar,
PROPERTYUI_FORMAT_FLAGS puiff,
LPWSTR pwszText,
DWORD cchText) = 0;
virtual HRESULT STDMETHODCALLTYPE GetHelpInfo(
REFFMTID fmtid,
PROPID pid,
LPWSTR pwszHelpFile,
DWORD cch,
UINT *puHelpID) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IPropertyUI, 0x757a7d9f, 0x919a, 0x4118, 0x99,0xd7, 0xdb,0xb2,0x08,0xc8,0xcc,0x66)
#endif
#else
typedef struct IPropertyUIVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IPropertyUI *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IPropertyUI *This);
ULONG (STDMETHODCALLTYPE *Release)(
IPropertyUI *This);
/*** IPropertyUI methods ***/
HRESULT (STDMETHODCALLTYPE *ParsePropertyName)(
IPropertyUI *This,
LPCWSTR pszName,
FMTID *pfmtid,
PROPID *ppid,
ULONG *pchEaten);
HRESULT (STDMETHODCALLTYPE *GetCannonicalName)(
IPropertyUI *This,
REFFMTID fmtid,
PROPID pid,
LPWSTR pwszText,
DWORD cchText);
HRESULT (STDMETHODCALLTYPE *GetDisplayName)(
IPropertyUI *This,
REFFMTID fmtid,
PROPID pid,
PROPERTYUI_NAME_FLAGS flags,
LPWSTR pwszText,
DWORD cchText);
HRESULT (STDMETHODCALLTYPE *GetPropertyDescription)(
IPropertyUI *This,
REFFMTID fmtid,
PROPID pid,
LPWSTR pwszText,
DWORD cchText);
HRESULT (STDMETHODCALLTYPE *GetDefaultWidth)(
IPropertyUI *This,
REFFMTID fmtid,
PROPID pid,
ULONG *pcxChars);
HRESULT (STDMETHODCALLTYPE *GetFlags)(
IPropertyUI *This,
REFFMTID fmtid,
PROPID pid,
PROPERTYUI_FLAGS *pflags);
HRESULT (STDMETHODCALLTYPE *FormatForDisplay)(
IPropertyUI *This,
REFFMTID fmtid,
PROPID pid,
const PROPVARIANT *ppropvar,
PROPERTYUI_FORMAT_FLAGS puiff,
LPWSTR pwszText,
DWORD cchText);
HRESULT (STDMETHODCALLTYPE *GetHelpInfo)(
IPropertyUI *This,
REFFMTID fmtid,
PROPID pid,
LPWSTR pwszHelpFile,
DWORD cch,
UINT *puHelpID);
END_INTERFACE
} IPropertyUIVtbl;
interface IPropertyUI {
CONST_VTBL IPropertyUIVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IPropertyUI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IPropertyUI_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IPropertyUI_Release(This) (This)->lpVtbl->Release(This)
/*** IPropertyUI methods ***/
#define IPropertyUI_ParsePropertyName(This,pszName,pfmtid,ppid,pchEaten) (This)->lpVtbl->ParsePropertyName(This,pszName,pfmtid,ppid,pchEaten)
#define IPropertyUI_GetCannonicalName(This,fmtid,pid,pwszText,cchText) (This)->lpVtbl->GetCannonicalName(This,fmtid,pid,pwszText,cchText)
#define IPropertyUI_GetDisplayName(This,fmtid,pid,flags,pwszText,cchText) (This)->lpVtbl->GetDisplayName(This,fmtid,pid,flags,pwszText,cchText)
#define IPropertyUI_GetPropertyDescription(This,fmtid,pid,pwszText,cchText) (This)->lpVtbl->GetPropertyDescription(This,fmtid,pid,pwszText,cchText)
#define IPropertyUI_GetDefaultWidth(This,fmtid,pid,pcxChars) (This)->lpVtbl->GetDefaultWidth(This,fmtid,pid,pcxChars)
#define IPropertyUI_GetFlags(This,fmtid,pid,pflags) (This)->lpVtbl->GetFlags(This,fmtid,pid,pflags)
#define IPropertyUI_FormatForDisplay(This,fmtid,pid,ppropvar,puiff,pwszText,cchText) (This)->lpVtbl->FormatForDisplay(This,fmtid,pid,ppropvar,puiff,pwszText,cchText)
#define IPropertyUI_GetHelpInfo(This,fmtid,pid,pwszHelpFile,cch,puHelpID) (This)->lpVtbl->GetHelpInfo(This,fmtid,pid,pwszHelpFile,cch,puHelpID)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IPropertyUI_QueryInterface(IPropertyUI* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IPropertyUI_AddRef(IPropertyUI* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IPropertyUI_Release(IPropertyUI* This) {
return This->lpVtbl->Release(This);
}
/*** IPropertyUI methods ***/
static FORCEINLINE HRESULT IPropertyUI_ParsePropertyName(IPropertyUI* This,LPCWSTR pszName,FMTID *pfmtid,PROPID *ppid,ULONG *pchEaten) {
return This->lpVtbl->ParsePropertyName(This,pszName,pfmtid,ppid,pchEaten);
}
static FORCEINLINE HRESULT IPropertyUI_GetCannonicalName(IPropertyUI* This,REFFMTID fmtid,PROPID pid,LPWSTR pwszText,DWORD cchText) {
return This->lpVtbl->GetCannonicalName(This,fmtid,pid,pwszText,cchText);
}
static FORCEINLINE HRESULT IPropertyUI_GetDisplayName(IPropertyUI* This,REFFMTID fmtid,PROPID pid,PROPERTYUI_NAME_FLAGS flags,LPWSTR pwszText,DWORD cchText) {
return This->lpVtbl->GetDisplayName(This,fmtid,pid,flags,pwszText,cchText);
}
static FORCEINLINE HRESULT IPropertyUI_GetPropertyDescription(IPropertyUI* This,REFFMTID fmtid,PROPID pid,LPWSTR pwszText,DWORD cchText) {
return This->lpVtbl->GetPropertyDescription(This,fmtid,pid,pwszText,cchText);
}
static FORCEINLINE HRESULT IPropertyUI_GetDefaultWidth(IPropertyUI* This,REFFMTID fmtid,PROPID pid,ULONG *pcxChars) {
return This->lpVtbl->GetDefaultWidth(This,fmtid,pid,pcxChars);
}
static FORCEINLINE HRESULT IPropertyUI_GetFlags(IPropertyUI* This,REFFMTID fmtid,PROPID pid,PROPERTYUI_FLAGS *pflags) {
return This->lpVtbl->GetFlags(This,fmtid,pid,pflags);
}
static FORCEINLINE HRESULT IPropertyUI_FormatForDisplay(IPropertyUI* This,REFFMTID fmtid,PROPID pid,const PROPVARIANT *ppropvar,PROPERTYUI_FORMAT_FLAGS puiff,LPWSTR pwszText,DWORD cchText) {
return This->lpVtbl->FormatForDisplay(This,fmtid,pid,ppropvar,puiff,pwszText,cchText);
}
static FORCEINLINE HRESULT IPropertyUI_GetHelpInfo(IPropertyUI* This,REFFMTID fmtid,PROPID pid,LPWSTR pwszHelpFile,DWORD cch,UINT *puHelpID) {
return This->lpVtbl->GetHelpInfo(This,fmtid,pid,pwszHelpFile,cch,puHelpID);
}
#endif
#endif
#endif
#endif /* __IPropertyUI_INTERFACE_DEFINED__ */
#if _WIN32_IE >= _WIN32_IE_IE70
SHSTDAPI SHRemovePersonalPropertyValues(IShellItemArray *psia);
SHSTDAPI SHAddDefaultPropertiesByExt(PCWSTR pszExt, IPropertyStore *pPropStore);
SHSTDAPI SHCreateDefaultPropertiesOp(IShellItem *psi, IFileOperation **ppFileOp);
SHSTDAPI SHSetDefaultProperties(HWND hwnd, IShellItem *psi, DWORD dwFileOpFlags, IFileOperationProgressSink *pfops);
#endif
/*****************************************************************************
* ICategoryProvider interface
*/
#ifndef __ICategoryProvider_INTERFACE_DEFINED__
#define __ICategoryProvider_INTERFACE_DEFINED__
DEFINE_GUID(IID_ICategoryProvider, 0x9af64809, 0x5864, 0x4c26, 0xa7,0x20, 0xc1,0xf7,0x8c,0x08,0x6e,0xe3);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("9af64809-5864-4c26-a720-c1f78c086ee3")
ICategoryProvider : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE CanCategorizeOnSCID(
const SHCOLUMNID *pscid) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDefaultCategory(
GUID *pguid,
SHCOLUMNID *pscid) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCategoryForSCID(
const SHCOLUMNID *pscid,
GUID *pguid) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumCategories(
IEnumGUID **penum) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCategoryName(
const GUID *pguid,
LPWSTR pszName,
UINT cch) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateCategory(
const GUID *pguid,
REFIID riid,
void **ppv) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ICategoryProvider, 0x9af64809, 0x5864, 0x4c26, 0xa7,0x20, 0xc1,0xf7,0x8c,0x08,0x6e,0xe3)
#endif
#else
typedef struct ICategoryProviderVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ICategoryProvider *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ICategoryProvider *This);
ULONG (STDMETHODCALLTYPE *Release)(
ICategoryProvider *This);
/*** ICategoryProvider methods ***/
HRESULT (STDMETHODCALLTYPE *CanCategorizeOnSCID)(
ICategoryProvider *This,
const SHCOLUMNID *pscid);
HRESULT (STDMETHODCALLTYPE *GetDefaultCategory)(
ICategoryProvider *This,
GUID *pguid,
SHCOLUMNID *pscid);
HRESULT (STDMETHODCALLTYPE *GetCategoryForSCID)(
ICategoryProvider *This,
const SHCOLUMNID *pscid,
GUID *pguid);
HRESULT (STDMETHODCALLTYPE *EnumCategories)(
ICategoryProvider *This,
IEnumGUID **penum);
HRESULT (STDMETHODCALLTYPE *GetCategoryName)(
ICategoryProvider *This,
const GUID *pguid,
LPWSTR pszName,
UINT cch);
HRESULT (STDMETHODCALLTYPE *CreateCategory)(
ICategoryProvider *This,
const GUID *pguid,
REFIID riid,
void **ppv);
END_INTERFACE
} ICategoryProviderVtbl;
interface ICategoryProvider {
CONST_VTBL ICategoryProviderVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ICategoryProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ICategoryProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ICategoryProvider_Release(This) (This)->lpVtbl->Release(This)
/*** ICategoryProvider methods ***/
#define ICategoryProvider_CanCategorizeOnSCID(This,pscid) (This)->lpVtbl->CanCategorizeOnSCID(This,pscid)
#define ICategoryProvider_GetDefaultCategory(This,pguid,pscid) (This)->lpVtbl->GetDefaultCategory(This,pguid,pscid)
#define ICategoryProvider_GetCategoryForSCID(This,pscid,pguid) (This)->lpVtbl->GetCategoryForSCID(This,pscid,pguid)
#define ICategoryProvider_EnumCategories(This,penum) (This)->lpVtbl->EnumCategories(This,penum)
#define ICategoryProvider_GetCategoryName(This,pguid,pszName,cch) (This)->lpVtbl->GetCategoryName(This,pguid,pszName,cch)
#define ICategoryProvider_CreateCategory(This,pguid,riid,ppv) (This)->lpVtbl->CreateCategory(This,pguid,riid,ppv)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ICategoryProvider_QueryInterface(ICategoryProvider* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ICategoryProvider_AddRef(ICategoryProvider* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ICategoryProvider_Release(ICategoryProvider* This) {
return This->lpVtbl->Release(This);
}
/*** ICategoryProvider methods ***/
static FORCEINLINE HRESULT ICategoryProvider_CanCategorizeOnSCID(ICategoryProvider* This,const SHCOLUMNID *pscid) {
return This->lpVtbl->CanCategorizeOnSCID(This,pscid);
}
static FORCEINLINE HRESULT ICategoryProvider_GetDefaultCategory(ICategoryProvider* This,GUID *pguid,SHCOLUMNID *pscid) {
return This->lpVtbl->GetDefaultCategory(This,pguid,pscid);
}
static FORCEINLINE HRESULT ICategoryProvider_GetCategoryForSCID(ICategoryProvider* This,const SHCOLUMNID *pscid,GUID *pguid) {
return This->lpVtbl->GetCategoryForSCID(This,pscid,pguid);
}
static FORCEINLINE HRESULT ICategoryProvider_EnumCategories(ICategoryProvider* This,IEnumGUID **penum) {
return This->lpVtbl->EnumCategories(This,penum);
}
static FORCEINLINE HRESULT ICategoryProvider_GetCategoryName(ICategoryProvider* This,const GUID *pguid,LPWSTR pszName,UINT cch) {
return This->lpVtbl->GetCategoryName(This,pguid,pszName,cch);
}
static FORCEINLINE HRESULT ICategoryProvider_CreateCategory(ICategoryProvider* This,const GUID *pguid,REFIID riid,void **ppv) {
return This->lpVtbl->CreateCategory(This,pguid,riid,ppv);
}
#endif
#endif
#endif
#endif /* __ICategoryProvider_INTERFACE_DEFINED__ */
typedef enum CATEGORYINFO_FLAGS {
CATINFO_NORMAL = 0x0,
CATINFO_COLLAPSED = 0x1,
CATINFO_HIDDEN = 0x2,
CATINFO_EXPANDED = 0x4,
CATINFO_NOHEADER = 0x8,
CATINFO_NOTCOLLAPSIBLE = 0x10,
CATINFO_NOHEADERCOUNT = 0x20,
CATINFO_SUBSETTED = 0x40
} CATEGORYINFO_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(CATEGORYINFO_FLAGS)
typedef enum CATSORT_FLAGS {
CATSORT_DEFAULT = 0x0,
CATSORT_NAME = 0x1
} CATSORT_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(CATSORT_FLAGS)
typedef struct CATEGORY_INFO {
CATEGORYINFO_FLAGS cif;
WCHAR wszName[260];
} CATEGORY_INFO;
/*****************************************************************************
* ICategorizer interface
*/
#ifndef __ICategorizer_INTERFACE_DEFINED__
#define __ICategorizer_INTERFACE_DEFINED__
DEFINE_GUID(IID_ICategorizer, 0xa3b14589, 0x9174, 0x49a8, 0x89,0xa3, 0x06,0xa1,0xae,0x2b,0x9b,0xa7);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("a3b14589-9174-49a8-89a3-06a1ae2b9ba7")
ICategorizer : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetDescription(
LPWSTR pszDesc,
UINT cch) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCategory(
UINT cidl,
PCUITEMID_CHILD_ARRAY apidl,
DWORD *rgCategoryIds) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCategoryInfo(
DWORD dwCategoryId,
CATEGORY_INFO *pci) = 0;
virtual HRESULT STDMETHODCALLTYPE CompareCategory(
CATSORT_FLAGS csfFlags,
DWORD dwCategoryId1,
DWORD dwCategoryId2) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ICategorizer, 0xa3b14589, 0x9174, 0x49a8, 0x89,0xa3, 0x06,0xa1,0xae,0x2b,0x9b,0xa7)
#endif
#else
typedef struct ICategorizerVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ICategorizer *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ICategorizer *This);
ULONG (STDMETHODCALLTYPE *Release)(
ICategorizer *This);
/*** ICategorizer methods ***/
HRESULT (STDMETHODCALLTYPE *GetDescription)(
ICategorizer *This,
LPWSTR pszDesc,
UINT cch);
HRESULT (STDMETHODCALLTYPE *GetCategory)(
ICategorizer *This,
UINT cidl,
PCUITEMID_CHILD_ARRAY apidl,
DWORD *rgCategoryIds);
HRESULT (STDMETHODCALLTYPE *GetCategoryInfo)(
ICategorizer *This,
DWORD dwCategoryId,
CATEGORY_INFO *pci);
HRESULT (STDMETHODCALLTYPE *CompareCategory)(
ICategorizer *This,
CATSORT_FLAGS csfFlags,
DWORD dwCategoryId1,
DWORD dwCategoryId2);
END_INTERFACE
} ICategorizerVtbl;
interface ICategorizer {
CONST_VTBL ICategorizerVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ICategorizer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ICategorizer_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ICategorizer_Release(This) (This)->lpVtbl->Release(This)
/*** ICategorizer methods ***/
#define ICategorizer_GetDescription(This,pszDesc,cch) (This)->lpVtbl->GetDescription(This,pszDesc,cch)
#define ICategorizer_GetCategory(This,cidl,apidl,rgCategoryIds) (This)->lpVtbl->GetCategory(This,cidl,apidl,rgCategoryIds)
#define ICategorizer_GetCategoryInfo(This,dwCategoryId,pci) (This)->lpVtbl->GetCategoryInfo(This,dwCategoryId,pci)
#define ICategorizer_CompareCategory(This,csfFlags,dwCategoryId1,dwCategoryId2) (This)->lpVtbl->CompareCategory(This,csfFlags,dwCategoryId1,dwCategoryId2)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ICategorizer_QueryInterface(ICategorizer* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ICategorizer_AddRef(ICategorizer* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ICategorizer_Release(ICategorizer* This) {
return This->lpVtbl->Release(This);
}
/*** ICategorizer methods ***/
static FORCEINLINE HRESULT ICategorizer_GetDescription(ICategorizer* This,LPWSTR pszDesc,UINT cch) {
return This->lpVtbl->GetDescription(This,pszDesc,cch);
}
static FORCEINLINE HRESULT ICategorizer_GetCategory(ICategorizer* This,UINT cidl,PCUITEMID_CHILD_ARRAY apidl,DWORD *rgCategoryIds) {
return This->lpVtbl->GetCategory(This,cidl,apidl,rgCategoryIds);
}
static FORCEINLINE HRESULT ICategorizer_GetCategoryInfo(ICategorizer* This,DWORD dwCategoryId,CATEGORY_INFO *pci) {
return This->lpVtbl->GetCategoryInfo(This,dwCategoryId,pci);
}
static FORCEINLINE HRESULT ICategorizer_CompareCategory(ICategorizer* This,CATSORT_FLAGS csfFlags,DWORD dwCategoryId1,DWORD dwCategoryId2) {
return This->lpVtbl->CompareCategory(This,csfFlags,dwCategoryId1,dwCategoryId2);
}
#endif
#endif
#endif
#endif /* __ICategorizer_INTERFACE_DEFINED__ */
#include <pshpack8.h>
typedef struct SHDRAGIMAGE {
SIZE sizeDragImage;
POINT ptOffset;
HBITMAP hbmpDragImage;
COLORREF crColorKey;
} SHDRAGIMAGE;
typedef struct SHDRAGIMAGE *LPSHDRAGIMAGE;
#include <poppack.h>
#define DI_GETDRAGIMAGE TEXT("ShellGetDragImage")
/*****************************************************************************
* IDropTargetHelper interface
*/
#ifndef __IDropTargetHelper_INTERFACE_DEFINED__
#define __IDropTargetHelper_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDropTargetHelper, 0x4657278b, 0x411b, 0x11d2, 0x83,0x9a, 0x00,0xc0,0x4f,0xd9,0x18,0xd0);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("4657278b-411b-11d2-839a-00c04fd918d0")
IDropTargetHelper : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE DragEnter(
HWND hwndTarget,
IDataObject *pDataObject,
POINT *ppt,
DWORD dwEffect) = 0;
virtual HRESULT STDMETHODCALLTYPE DragLeave(
) = 0;
virtual HRESULT STDMETHODCALLTYPE DragOver(
POINT *ppt,
DWORD dwEffect) = 0;
virtual HRESULT STDMETHODCALLTYPE Drop(
IDataObject *pDataObject,
POINT *ppt,
DWORD dwEffect) = 0;
virtual HRESULT STDMETHODCALLTYPE Show(
WINBOOL fShow) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDropTargetHelper, 0x4657278b, 0x411b, 0x11d2, 0x83,0x9a, 0x00,0xc0,0x4f,0xd9,0x18,0xd0)
#endif
#else
typedef struct IDropTargetHelperVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDropTargetHelper *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDropTargetHelper *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDropTargetHelper *This);
/*** IDropTargetHelper methods ***/
HRESULT (STDMETHODCALLTYPE *DragEnter)(
IDropTargetHelper *This,
HWND hwndTarget,
IDataObject *pDataObject,
POINT *ppt,
DWORD dwEffect);
HRESULT (STDMETHODCALLTYPE *DragLeave)(
IDropTargetHelper *This);
HRESULT (STDMETHODCALLTYPE *DragOver)(
IDropTargetHelper *This,
POINT *ppt,
DWORD dwEffect);
HRESULT (STDMETHODCALLTYPE *Drop)(
IDropTargetHelper *This,
IDataObject *pDataObject,
POINT *ppt,
DWORD dwEffect);
HRESULT (STDMETHODCALLTYPE *Show)(
IDropTargetHelper *This,
WINBOOL fShow);
END_INTERFACE
} IDropTargetHelperVtbl;
interface IDropTargetHelper {
CONST_VTBL IDropTargetHelperVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDropTargetHelper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDropTargetHelper_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDropTargetHelper_Release(This) (This)->lpVtbl->Release(This)
/*** IDropTargetHelper methods ***/
#define IDropTargetHelper_DragEnter(This,hwndTarget,pDataObject,ppt,dwEffect) (This)->lpVtbl->DragEnter(This,hwndTarget,pDataObject,ppt,dwEffect)
#define IDropTargetHelper_DragLeave(This) (This)->lpVtbl->DragLeave(This)
#define IDropTargetHelper_DragOver(This,ppt,dwEffect) (This)->lpVtbl->DragOver(This,ppt,dwEffect)
#define IDropTargetHelper_Drop(This,pDataObject,ppt,dwEffect) (This)->lpVtbl->Drop(This,pDataObject,ppt,dwEffect)
#define IDropTargetHelper_Show(This,fShow) (This)->lpVtbl->Show(This,fShow)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDropTargetHelper_QueryInterface(IDropTargetHelper* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDropTargetHelper_AddRef(IDropTargetHelper* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDropTargetHelper_Release(IDropTargetHelper* This) {
return This->lpVtbl->Release(This);
}
/*** IDropTargetHelper methods ***/
static FORCEINLINE HRESULT IDropTargetHelper_DragEnter(IDropTargetHelper* This,HWND hwndTarget,IDataObject *pDataObject,POINT *ppt,DWORD dwEffect) {
return This->lpVtbl->DragEnter(This,hwndTarget,pDataObject,ppt,dwEffect);
}
static FORCEINLINE HRESULT IDropTargetHelper_DragLeave(IDropTargetHelper* This) {
return This->lpVtbl->DragLeave(This);
}
static FORCEINLINE HRESULT IDropTargetHelper_DragOver(IDropTargetHelper* This,POINT *ppt,DWORD dwEffect) {
return This->lpVtbl->DragOver(This,ppt,dwEffect);
}
static FORCEINLINE HRESULT IDropTargetHelper_Drop(IDropTargetHelper* This,IDataObject *pDataObject,POINT *ppt,DWORD dwEffect) {
return This->lpVtbl->Drop(This,pDataObject,ppt,dwEffect);
}
static FORCEINLINE HRESULT IDropTargetHelper_Show(IDropTargetHelper* This,WINBOOL fShow) {
return This->lpVtbl->Show(This,fShow);
}
#endif
#endif
#endif
#endif /* __IDropTargetHelper_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDragSourceHelper interface
*/
#ifndef __IDragSourceHelper_INTERFACE_DEFINED__
#define __IDragSourceHelper_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDragSourceHelper, 0xde5bf786, 0x477a, 0x11d2, 0x83,0x9d, 0x00,0xc0,0x4f,0xd9,0x18,0xd0);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("de5bf786-477a-11d2-839d-00c04fd918d0")
IDragSourceHelper : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE InitializeFromBitmap(
LPSHDRAGIMAGE pshdi,
IDataObject *pDataObject) = 0;
virtual HRESULT STDMETHODCALLTYPE InitializeFromWindow(
HWND hwnd,
POINT *ppt,
IDataObject *pDataObject) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDragSourceHelper, 0xde5bf786, 0x477a, 0x11d2, 0x83,0x9d, 0x00,0xc0,0x4f,0xd9,0x18,0xd0)
#endif
#else
typedef struct IDragSourceHelperVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDragSourceHelper *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDragSourceHelper *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDragSourceHelper *This);
/*** IDragSourceHelper methods ***/
HRESULT (STDMETHODCALLTYPE *InitializeFromBitmap)(
IDragSourceHelper *This,
LPSHDRAGIMAGE pshdi,
IDataObject *pDataObject);
HRESULT (STDMETHODCALLTYPE *InitializeFromWindow)(
IDragSourceHelper *This,
HWND hwnd,
POINT *ppt,
IDataObject *pDataObject);
END_INTERFACE
} IDragSourceHelperVtbl;
interface IDragSourceHelper {
CONST_VTBL IDragSourceHelperVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDragSourceHelper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDragSourceHelper_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDragSourceHelper_Release(This) (This)->lpVtbl->Release(This)
/*** IDragSourceHelper methods ***/
#define IDragSourceHelper_InitializeFromBitmap(This,pshdi,pDataObject) (This)->lpVtbl->InitializeFromBitmap(This,pshdi,pDataObject)
#define IDragSourceHelper_InitializeFromWindow(This,hwnd,ppt,pDataObject) (This)->lpVtbl->InitializeFromWindow(This,hwnd,ppt,pDataObject)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDragSourceHelper_QueryInterface(IDragSourceHelper* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDragSourceHelper_AddRef(IDragSourceHelper* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDragSourceHelper_Release(IDragSourceHelper* This) {
return This->lpVtbl->Release(This);
}
/*** IDragSourceHelper methods ***/
static FORCEINLINE HRESULT IDragSourceHelper_InitializeFromBitmap(IDragSourceHelper* This,LPSHDRAGIMAGE pshdi,IDataObject *pDataObject) {
return This->lpVtbl->InitializeFromBitmap(This,pshdi,pDataObject);
}
static FORCEINLINE HRESULT IDragSourceHelper_InitializeFromWindow(IDragSourceHelper* This,HWND hwnd,POINT *ppt,IDataObject *pDataObject) {
return This->lpVtbl->InitializeFromWindow(This,hwnd,ppt,pDataObject);
}
#endif
#endif
#endif
#endif /* __IDragSourceHelper_INTERFACE_DEFINED__ */
#if NTDDI_VERSION >= NTDDI_VISTA
typedef enum DSH_FLAGS {
DSH_ALLOWDROPDESCRIPTIONTEXT = 0x1
} DSH_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(DSH_FLAGS)
/*****************************************************************************
* IDragSourceHelper2 interface
*/
#ifndef __IDragSourceHelper2_INTERFACE_DEFINED__
#define __IDragSourceHelper2_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDragSourceHelper2, 0x83e07d0d, 0x0c5f, 0x4163, 0xbf,0x1a, 0x60,0xb2,0x74,0x05,0x1e,0x40);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("83e07d0d-0c5f-4163-bf1a-60b274051e40")
IDragSourceHelper2 : public IDragSourceHelper
{
virtual HRESULT STDMETHODCALLTYPE SetFlags(
DWORD dwFlags) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDragSourceHelper2, 0x83e07d0d, 0x0c5f, 0x4163, 0xbf,0x1a, 0x60,0xb2,0x74,0x05,0x1e,0x40)
#endif
#else
typedef struct IDragSourceHelper2Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDragSourceHelper2 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDragSourceHelper2 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDragSourceHelper2 *This);
/*** IDragSourceHelper methods ***/
HRESULT (STDMETHODCALLTYPE *InitializeFromBitmap)(
IDragSourceHelper2 *This,
LPSHDRAGIMAGE pshdi,
IDataObject *pDataObject);
HRESULT (STDMETHODCALLTYPE *InitializeFromWindow)(
IDragSourceHelper2 *This,
HWND hwnd,
POINT *ppt,
IDataObject *pDataObject);
/*** IDragSourceHelper2 methods ***/
HRESULT (STDMETHODCALLTYPE *SetFlags)(
IDragSourceHelper2 *This,
DWORD dwFlags);
END_INTERFACE
} IDragSourceHelper2Vtbl;
interface IDragSourceHelper2 {
CONST_VTBL IDragSourceHelper2Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDragSourceHelper2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDragSourceHelper2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDragSourceHelper2_Release(This) (This)->lpVtbl->Release(This)
/*** IDragSourceHelper methods ***/
#define IDragSourceHelper2_InitializeFromBitmap(This,pshdi,pDataObject) (This)->lpVtbl->InitializeFromBitmap(This,pshdi,pDataObject)
#define IDragSourceHelper2_InitializeFromWindow(This,hwnd,ppt,pDataObject) (This)->lpVtbl->InitializeFromWindow(This,hwnd,ppt,pDataObject)
/*** IDragSourceHelper2 methods ***/
#define IDragSourceHelper2_SetFlags(This,dwFlags) (This)->lpVtbl->SetFlags(This,dwFlags)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDragSourceHelper2_QueryInterface(IDragSourceHelper2* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDragSourceHelper2_AddRef(IDragSourceHelper2* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDragSourceHelper2_Release(IDragSourceHelper2* This) {
return This->lpVtbl->Release(This);
}
/*** IDragSourceHelper methods ***/
static FORCEINLINE HRESULT IDragSourceHelper2_InitializeFromBitmap(IDragSourceHelper2* This,LPSHDRAGIMAGE pshdi,IDataObject *pDataObject) {
return This->lpVtbl->InitializeFromBitmap(This,pshdi,pDataObject);
}
static FORCEINLINE HRESULT IDragSourceHelper2_InitializeFromWindow(IDragSourceHelper2* This,HWND hwnd,POINT *ppt,IDataObject *pDataObject) {
return This->lpVtbl->InitializeFromWindow(This,hwnd,ppt,pDataObject);
}
/*** IDragSourceHelper2 methods ***/
static FORCEINLINE HRESULT IDragSourceHelper2_SetFlags(IDragSourceHelper2* This,DWORD dwFlags) {
return This->lpVtbl->SetFlags(This,dwFlags);
}
#endif
#endif
#endif
#endif /* __IDragSourceHelper2_INTERFACE_DEFINED__ */
#endif
#define IShellLink __MINGW_NAME_AW(IShellLink)
typedef enum SLR_FLAGS {
SLR_NO_UI = 0x1,
SLR_ANY_MATCH = 0x2,
SLR_UPDATE = 0x4,
SLR_NOUPDATE = 0x8,
SLR_NOSEARCH = 0x10,
SLR_NOTRACK = 0x20,
SLR_NOLINKINFO = 0x40,
SLR_INVOKE_MSI = 0x80,
SLR_NO_UI_WITH_MSG_PUMP = 0x101,
SLR_OFFER_DELETE_WITHOUT_FILE = 0x200,
SLR_KNOWNFOLDER = 0x400,
SLR_MACHINE_IN_LOCAL_TARGET = 0x800,
SLR_UPDATE_MACHINE_AND_SID = 0x1000
} SLR_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(SLR_FLAGS)
typedef enum SLGP_FLAGS {
SLGP_SHORTPATH = 0x1,
SLGP_UNCPRIORITY = 0x2,
SLGP_RAWPATH = 0x4,
SLGP_RELATIVEPRIORITY = 0x8
} SLGP_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(SLGP_FLAGS)
/*****************************************************************************
* IShellLinkA interface
*/
#ifndef __IShellLinkA_INTERFACE_DEFINED__
#define __IShellLinkA_INTERFACE_DEFINED__
DEFINE_GUID(IID_IShellLinkA, 0x000214ee, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("000214ee-0000-0000-c000-000000000046")
IShellLinkA : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetPath(
LPSTR pszFile,
int cch,
WIN32_FIND_DATAA *pfd,
DWORD fFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetIDList(
PIDLIST_ABSOLUTE *ppidl) = 0;
virtual HRESULT STDMETHODCALLTYPE SetIDList(
PCIDLIST_ABSOLUTE pidl) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDescription(
LPSTR pszName,
int cch) = 0;
virtual HRESULT STDMETHODCALLTYPE SetDescription(
LPCSTR pszName) = 0;
virtual HRESULT STDMETHODCALLTYPE GetWorkingDirectory(
LPSTR pszDir,
int cch) = 0;
virtual HRESULT STDMETHODCALLTYPE SetWorkingDirectory(
LPCSTR pszDir) = 0;
virtual HRESULT STDMETHODCALLTYPE GetArguments(
LPSTR pszArgs,
int cch) = 0;
virtual HRESULT STDMETHODCALLTYPE SetArguments(
LPCSTR pszArgs) = 0;
virtual HRESULT STDMETHODCALLTYPE GetHotkey(
WORD *pwHotkey) = 0;
virtual HRESULT STDMETHODCALLTYPE SetHotkey(
WORD wHotkey) = 0;
virtual HRESULT STDMETHODCALLTYPE GetShowCmd(
int *piShowCmd) = 0;
virtual HRESULT STDMETHODCALLTYPE SetShowCmd(
int iShowCmd) = 0;
virtual HRESULT STDMETHODCALLTYPE GetIconLocation(
LPSTR pszIconPath,
int cch,
int *piIcon) = 0;
virtual HRESULT STDMETHODCALLTYPE SetIconLocation(
LPCSTR pszIconPath,
int iIcon) = 0;
virtual HRESULT STDMETHODCALLTYPE SetRelativePath(
LPCSTR pszPathRel,
DWORD dwReserved) = 0;
virtual HRESULT STDMETHODCALLTYPE Resolve(
HWND hwnd,
DWORD fFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE SetPath(
LPCSTR pszFile) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IShellLinkA, 0x000214ee, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
#endif
#else
typedef struct IShellLinkAVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IShellLinkA *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IShellLinkA *This);
ULONG (STDMETHODCALLTYPE *Release)(
IShellLinkA *This);
/*** IShellLinkA methods ***/
HRESULT (STDMETHODCALLTYPE *GetPath)(
IShellLinkA *This,
LPSTR pszFile,
int cch,
WIN32_FIND_DATAA *pfd,
DWORD fFlags);
HRESULT (STDMETHODCALLTYPE *GetIDList)(
IShellLinkA *This,
PIDLIST_ABSOLUTE *ppidl);
HRESULT (STDMETHODCALLTYPE *SetIDList)(
IShellLinkA *This,
PCIDLIST_ABSOLUTE pidl);
HRESULT (STDMETHODCALLTYPE *GetDescription)(
IShellLinkA *This,
LPSTR pszName,
int cch);
HRESULT (STDMETHODCALLTYPE *SetDescription)(
IShellLinkA *This,
LPCSTR pszName);
HRESULT (STDMETHODCALLTYPE *GetWorkingDirectory)(
IShellLinkA *This,
LPSTR pszDir,
int cch);
HRESULT (STDMETHODCALLTYPE *SetWorkingDirectory)(
IShellLinkA *This,
LPCSTR pszDir);
HRESULT (STDMETHODCALLTYPE *GetArguments)(
IShellLinkA *This,
LPSTR pszArgs,
int cch);
HRESULT (STDMETHODCALLTYPE *SetArguments)(
IShellLinkA *This,
LPCSTR pszArgs);
HRESULT (STDMETHODCALLTYPE *GetHotkey)(
IShellLinkA *This,
WORD *pwHotkey);
HRESULT (STDMETHODCALLTYPE *SetHotkey)(
IShellLinkA *This,
WORD wHotkey);
HRESULT (STDMETHODCALLTYPE *GetShowCmd)(
IShellLinkA *This,
int *piShowCmd);
HRESULT (STDMETHODCALLTYPE *SetShowCmd)(
IShellLinkA *This,
int iShowCmd);
HRESULT (STDMETHODCALLTYPE *GetIconLocation)(
IShellLinkA *This,
LPSTR pszIconPath,
int cch,
int *piIcon);
HRESULT (STDMETHODCALLTYPE *SetIconLocation)(
IShellLinkA *This,
LPCSTR pszIconPath,
int iIcon);
HRESULT (STDMETHODCALLTYPE *SetRelativePath)(
IShellLinkA *This,
LPCSTR pszPathRel,
DWORD dwReserved);
HRESULT (STDMETHODCALLTYPE *Resolve)(
IShellLinkA *This,
HWND hwnd,
DWORD fFlags);
HRESULT (STDMETHODCALLTYPE *SetPath)(
IShellLinkA *This,
LPCSTR pszFile);
END_INTERFACE
} IShellLinkAVtbl;
interface IShellLinkA {
CONST_VTBL IShellLinkAVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IShellLinkA_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IShellLinkA_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IShellLinkA_Release(This) (This)->lpVtbl->Release(This)
/*** IShellLinkA methods ***/
#define IShellLinkA_GetPath(This,pszFile,cch,pfd,fFlags) (This)->lpVtbl->GetPath(This,pszFile,cch,pfd,fFlags)
#define IShellLinkA_GetIDList(This,ppidl) (This)->lpVtbl->GetIDList(This,ppidl)
#define IShellLinkA_SetIDList(This,pidl) (This)->lpVtbl->SetIDList(This,pidl)
#define IShellLinkA_GetDescription(This,pszName,cch) (This)->lpVtbl->GetDescription(This,pszName,cch)
#define IShellLinkA_SetDescription(This,pszName) (This)->lpVtbl->SetDescription(This,pszName)
#define IShellLinkA_GetWorkingDirectory(This,pszDir,cch) (This)->lpVtbl->GetWorkingDirectory(This,pszDir,cch)
#define IShellLinkA_SetWorkingDirectory(This,pszDir) (This)->lpVtbl->SetWorkingDirectory(This,pszDir)
#define IShellLinkA_GetArguments(This,pszArgs,cch) (This)->lpVtbl->GetArguments(This,pszArgs,cch)
#define IShellLinkA_SetArguments(This,pszArgs) (This)->lpVtbl->SetArguments(This,pszArgs)
#define IShellLinkA_GetHotkey(This,pwHotkey) (This)->lpVtbl->GetHotkey(This,pwHotkey)
#define IShellLinkA_SetHotkey(This,wHotkey) (This)->lpVtbl->SetHotkey(This,wHotkey)
#define IShellLinkA_GetShowCmd(This,piShowCmd) (This)->lpVtbl->GetShowCmd(This,piShowCmd)
#define IShellLinkA_SetShowCmd(This,iShowCmd) (This)->lpVtbl->SetShowCmd(This,iShowCmd)
#define IShellLinkA_GetIconLocation(This,pszIconPath,cch,piIcon) (This)->lpVtbl->GetIconLocation(This,pszIconPath,cch,piIcon)
#define IShellLinkA_SetIconLocation(This,pszIconPath,iIcon) (This)->lpVtbl->SetIconLocation(This,pszIconPath,iIcon)
#define IShellLinkA_SetRelativePath(This,pszPathRel,dwReserved) (This)->lpVtbl->SetRelativePath(This,pszPathRel,dwReserved)
#define IShellLinkA_Resolve(This,hwnd,fFlags) (This)->lpVtbl->Resolve(This,hwnd,fFlags)
#define IShellLinkA_SetPath(This,pszFile) (This)->lpVtbl->SetPath(This,pszFile)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IShellLinkA_QueryInterface(IShellLinkA* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IShellLinkA_AddRef(IShellLinkA* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IShellLinkA_Release(IShellLinkA* This) {
return This->lpVtbl->Release(This);
}
/*** IShellLinkA methods ***/
static FORCEINLINE HRESULT IShellLinkA_GetPath(IShellLinkA* This,LPSTR pszFile,int cch,WIN32_FIND_DATAA *pfd,DWORD fFlags) {
return This->lpVtbl->GetPath(This,pszFile,cch,pfd,fFlags);
}
static FORCEINLINE HRESULT IShellLinkA_GetIDList(IShellLinkA* This,PIDLIST_ABSOLUTE *ppidl) {
return This->lpVtbl->GetIDList(This,ppidl);
}
static FORCEINLINE HRESULT IShellLinkA_SetIDList(IShellLinkA* This,PCIDLIST_ABSOLUTE pidl) {
return This->lpVtbl->SetIDList(This,pidl);
}
static FORCEINLINE HRESULT IShellLinkA_GetDescription(IShellLinkA* This,LPSTR pszName,int cch) {
return This->lpVtbl->GetDescription(This,pszName,cch);
}
static FORCEINLINE HRESULT IShellLinkA_SetDescription(IShellLinkA* This,LPCSTR pszName) {
return This->lpVtbl->SetDescription(This,pszName);
}
static FORCEINLINE HRESULT IShellLinkA_GetWorkingDirectory(IShellLinkA* This,LPSTR pszDir,int cch) {
return This->lpVtbl->GetWorkingDirectory(This,pszDir,cch);
}
static FORCEINLINE HRESULT IShellLinkA_SetWorkingDirectory(IShellLinkA* This,LPCSTR pszDir) {
return This->lpVtbl->SetWorkingDirectory(This,pszDir);
}
static FORCEINLINE HRESULT IShellLinkA_GetArguments(IShellLinkA* This,LPSTR pszArgs,int cch) {
return This->lpVtbl->GetArguments(This,pszArgs,cch);
}
static FORCEINLINE HRESULT IShellLinkA_SetArguments(IShellLinkA* This,LPCSTR pszArgs) {
return This->lpVtbl->SetArguments(This,pszArgs);
}
static FORCEINLINE HRESULT IShellLinkA_GetHotkey(IShellLinkA* This,WORD *pwHotkey) {
return This->lpVtbl->GetHotkey(This,pwHotkey);
}
static FORCEINLINE HRESULT IShellLinkA_SetHotkey(IShellLinkA* This,WORD wHotkey) {
return This->lpVtbl->SetHotkey(This,wHotkey);
}
static FORCEINLINE HRESULT IShellLinkA_GetShowCmd(IShellLinkA* This,int *piShowCmd) {
return This->lpVtbl->GetShowCmd(This,piShowCmd);
}
static FORCEINLINE HRESULT IShellLinkA_SetShowCmd(IShellLinkA* This,int iShowCmd) {
return This->lpVtbl->SetShowCmd(This,iShowCmd);
}
static FORCEINLINE HRESULT IShellLinkA_GetIconLocation(IShellLinkA* This,LPSTR pszIconPath,int cch,int *piIcon) {
return This->lpVtbl->GetIconLocation(This,pszIconPath,cch,piIcon);
}
static FORCEINLINE HRESULT IShellLinkA_SetIconLocation(IShellLinkA* This,LPCSTR pszIconPath,int iIcon) {
return This->lpVtbl->SetIconLocation(This,pszIconPath,iIcon);
}
static FORCEINLINE HRESULT IShellLinkA_SetRelativePath(IShellLinkA* This,LPCSTR pszPathRel,DWORD dwReserved) {
return This->lpVtbl->SetRelativePath(This,pszPathRel,dwReserved);
}
static FORCEINLINE HRESULT IShellLinkA_Resolve(IShellLinkA* This,HWND hwnd,DWORD fFlags) {
return This->lpVtbl->Resolve(This,hwnd,fFlags);
}
static FORCEINLINE HRESULT IShellLinkA_SetPath(IShellLinkA* This,LPCSTR pszFile) {
return This->lpVtbl->SetPath(This,pszFile);
}
#endif
#endif
#endif
#endif /* __IShellLinkA_INTERFACE_DEFINED__ */
/*****************************************************************************
* IShellLinkW interface
*/
#ifndef __IShellLinkW_INTERFACE_DEFINED__
#define __IShellLinkW_INTERFACE_DEFINED__
DEFINE_GUID(IID_IShellLinkW, 0x000214f9, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("000214f9-0000-0000-c000-000000000046")
IShellLinkW : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetPath(
LPWSTR pszFile,
int cch,
WIN32_FIND_DATAW *pfd,
DWORD fFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetIDList(
PIDLIST_ABSOLUTE *ppidl) = 0;
virtual HRESULT STDMETHODCALLTYPE SetIDList(
PCIDLIST_ABSOLUTE pidl) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDescription(
LPWSTR pszName,
int cch) = 0;
virtual HRESULT STDMETHODCALLTYPE SetDescription(
LPCWSTR pszName) = 0;
virtual HRESULT STDMETHODCALLTYPE GetWorkingDirectory(
LPWSTR pszDir,
int cch) = 0;
virtual HRESULT STDMETHODCALLTYPE SetWorkingDirectory(
LPCWSTR pszDir) = 0;
virtual HRESULT STDMETHODCALLTYPE GetArguments(
LPWSTR pszArgs,
int cch) = 0;
virtual HRESULT STDMETHODCALLTYPE SetArguments(
LPCWSTR pszArgs) = 0;
virtual HRESULT STDMETHODCALLTYPE GetHotkey(
WORD *pwHotkey) = 0;
virtual HRESULT STDMETHODCALLTYPE SetHotkey(
WORD wHotkey) = 0;
virtual HRESULT STDMETHODCALLTYPE GetShowCmd(
int *piShowCmd) = 0;
virtual HRESULT STDMETHODCALLTYPE SetShowCmd(
int iShowCmd) = 0;
virtual HRESULT STDMETHODCALLTYPE GetIconLocation(
LPWSTR pszIconPath,
int cch,
int *piIcon) = 0;
virtual HRESULT STDMETHODCALLTYPE SetIconLocation(
LPCWSTR pszIconPath,
int iIcon) = 0;
virtual HRESULT STDMETHODCALLTYPE SetRelativePath(
LPCWSTR pszPathRel,
DWORD dwReserved) = 0;
virtual HRESULT STDMETHODCALLTYPE Resolve(
HWND hwnd,
DWORD fFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE SetPath(
LPCWSTR pszFile) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IShellLinkW, 0x000214f9, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
#endif
#else
typedef struct IShellLinkWVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IShellLinkW *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IShellLinkW *This);
ULONG (STDMETHODCALLTYPE *Release)(
IShellLinkW *This);
/*** IShellLinkW methods ***/
HRESULT (STDMETHODCALLTYPE *GetPath)(
IShellLinkW *This,
LPWSTR pszFile,
int cch,
WIN32_FIND_DATAW *pfd,
DWORD fFlags);
HRESULT (STDMETHODCALLTYPE *GetIDList)(
IShellLinkW *This,
PIDLIST_ABSOLUTE *ppidl);
HRESULT (STDMETHODCALLTYPE *SetIDList)(
IShellLinkW *This,
PCIDLIST_ABSOLUTE pidl);
HRESULT (STDMETHODCALLTYPE *GetDescription)(
IShellLinkW *This,
LPWSTR pszName,
int cch);
HRESULT (STDMETHODCALLTYPE *SetDescription)(
IShellLinkW *This,
LPCWSTR pszName);
HRESULT (STDMETHODCALLTYPE *GetWorkingDirectory)(
IShellLinkW *This,
LPWSTR pszDir,
int cch);
HRESULT (STDMETHODCALLTYPE *SetWorkingDirectory)(
IShellLinkW *This,
LPCWSTR pszDir);
HRESULT (STDMETHODCALLTYPE *GetArguments)(
IShellLinkW *This,
LPWSTR pszArgs,
int cch);
HRESULT (STDMETHODCALLTYPE *SetArguments)(
IShellLinkW *This,
LPCWSTR pszArgs);
HRESULT (STDMETHODCALLTYPE *GetHotkey)(
IShellLinkW *This,
WORD *pwHotkey);
HRESULT (STDMETHODCALLTYPE *SetHotkey)(
IShellLinkW *This,
WORD wHotkey);
HRESULT (STDMETHODCALLTYPE *GetShowCmd)(
IShellLinkW *This,
int *piShowCmd);
HRESULT (STDMETHODCALLTYPE *SetShowCmd)(
IShellLinkW *This,
int iShowCmd);
HRESULT (STDMETHODCALLTYPE *GetIconLocation)(
IShellLinkW *This,
LPWSTR pszIconPath,
int cch,
int *piIcon);
HRESULT (STDMETHODCALLTYPE *SetIconLocation)(
IShellLinkW *This,
LPCWSTR pszIconPath,
int iIcon);
HRESULT (STDMETHODCALLTYPE *SetRelativePath)(
IShellLinkW *This,
LPCWSTR pszPathRel,
DWORD dwReserved);
HRESULT (STDMETHODCALLTYPE *Resolve)(
IShellLinkW *This,
HWND hwnd,
DWORD fFlags);
HRESULT (STDMETHODCALLTYPE *SetPath)(
IShellLinkW *This,
LPCWSTR pszFile);
END_INTERFACE
} IShellLinkWVtbl;
interface IShellLinkW {
CONST_VTBL IShellLinkWVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IShellLinkW_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IShellLinkW_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IShellLinkW_Release(This) (This)->lpVtbl->Release(This)
/*** IShellLinkW methods ***/
#define IShellLinkW_GetPath(This,pszFile,cch,pfd,fFlags) (This)->lpVtbl->GetPath(This,pszFile,cch,pfd,fFlags)
#define IShellLinkW_GetIDList(This,ppidl) (This)->lpVtbl->GetIDList(This,ppidl)
#define IShellLinkW_SetIDList(This,pidl) (This)->lpVtbl->SetIDList(This,pidl)
#define IShellLinkW_GetDescription(This,pszName,cch) (This)->lpVtbl->GetDescription(This,pszName,cch)
#define IShellLinkW_SetDescription(This,pszName) (This)->lpVtbl->SetDescription(This,pszName)
#define IShellLinkW_GetWorkingDirectory(This,pszDir,cch) (This)->lpVtbl->GetWorkingDirectory(This,pszDir,cch)
#define IShellLinkW_SetWorkingDirectory(This,pszDir) (This)->lpVtbl->SetWorkingDirectory(This,pszDir)
#define IShellLinkW_GetArguments(This,pszArgs,cch) (This)->lpVtbl->GetArguments(This,pszArgs,cch)
#define IShellLinkW_SetArguments(This,pszArgs) (This)->lpVtbl->SetArguments(This,pszArgs)
#define IShellLinkW_GetHotkey(This,pwHotkey) (This)->lpVtbl->GetHotkey(This,pwHotkey)
#define IShellLinkW_SetHotkey(This,wHotkey) (This)->lpVtbl->SetHotkey(This,wHotkey)
#define IShellLinkW_GetShowCmd(This,piShowCmd) (This)->lpVtbl->GetShowCmd(This,piShowCmd)
#define IShellLinkW_SetShowCmd(This,iShowCmd) (This)->lpVtbl->SetShowCmd(This,iShowCmd)
#define IShellLinkW_GetIconLocation(This,pszIconPath,cch,piIcon) (This)->lpVtbl->GetIconLocation(This,pszIconPath,cch,piIcon)
#define IShellLinkW_SetIconLocation(This,pszIconPath,iIcon) (This)->lpVtbl->SetIconLocation(This,pszIconPath,iIcon)
#define IShellLinkW_SetRelativePath(This,pszPathRel,dwReserved) (This)->lpVtbl->SetRelativePath(This,pszPathRel,dwReserved)
#define IShellLinkW_Resolve(This,hwnd,fFlags) (This)->lpVtbl->Resolve(This,hwnd,fFlags)
#define IShellLinkW_SetPath(This,pszFile) (This)->lpVtbl->SetPath(This,pszFile)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IShellLinkW_QueryInterface(IShellLinkW* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IShellLinkW_AddRef(IShellLinkW* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IShellLinkW_Release(IShellLinkW* This) {
return This->lpVtbl->Release(This);
}
/*** IShellLinkW methods ***/
static FORCEINLINE HRESULT IShellLinkW_GetPath(IShellLinkW* This,LPWSTR pszFile,int cch,WIN32_FIND_DATAW *pfd,DWORD fFlags) {
return This->lpVtbl->GetPath(This,pszFile,cch,pfd,fFlags);
}
static FORCEINLINE HRESULT IShellLinkW_GetIDList(IShellLinkW* This,PIDLIST_ABSOLUTE *ppidl) {
return This->lpVtbl->GetIDList(This,ppidl);
}
static FORCEINLINE HRESULT IShellLinkW_SetIDList(IShellLinkW* This,PCIDLIST_ABSOLUTE pidl) {
return This->lpVtbl->SetIDList(This,pidl);
}
static FORCEINLINE HRESULT IShellLinkW_GetDescription(IShellLinkW* This,LPWSTR pszName,int cch) {
return This->lpVtbl->GetDescription(This,pszName,cch);
}
static FORCEINLINE HRESULT IShellLinkW_SetDescription(IShellLinkW* This,LPCWSTR pszName) {
return This->lpVtbl->SetDescription(This,pszName);
}
static FORCEINLINE HRESULT IShellLinkW_GetWorkingDirectory(IShellLinkW* This,LPWSTR pszDir,int cch) {
return This->lpVtbl->GetWorkingDirectory(This,pszDir,cch);
}
static FORCEINLINE HRESULT IShellLinkW_SetWorkingDirectory(IShellLinkW* This,LPCWSTR pszDir) {
return This->lpVtbl->SetWorkingDirectory(This,pszDir);
}
static FORCEINLINE HRESULT IShellLinkW_GetArguments(IShellLinkW* This,LPWSTR pszArgs,int cch) {
return This->lpVtbl->GetArguments(This,pszArgs,cch);
}
static FORCEINLINE HRESULT IShellLinkW_SetArguments(IShellLinkW* This,LPCWSTR pszArgs) {
return This->lpVtbl->SetArguments(This,pszArgs);
}
static FORCEINLINE HRESULT IShellLinkW_GetHotkey(IShellLinkW* This,WORD *pwHotkey) {
return This->lpVtbl->GetHotkey(This,pwHotkey);
}
static FORCEINLINE HRESULT IShellLinkW_SetHotkey(IShellLinkW* This,WORD wHotkey) {
return This->lpVtbl->SetHotkey(This,wHotkey);
}
static FORCEINLINE HRESULT IShellLinkW_GetShowCmd(IShellLinkW* This,int *piShowCmd) {
return This->lpVtbl->GetShowCmd(This,piShowCmd);
}
static FORCEINLINE HRESULT IShellLinkW_SetShowCmd(IShellLinkW* This,int iShowCmd) {
return This->lpVtbl->SetShowCmd(This,iShowCmd);
}
static FORCEINLINE HRESULT IShellLinkW_GetIconLocation(IShellLinkW* This,LPWSTR pszIconPath,int cch,int *piIcon) {
return This->lpVtbl->GetIconLocation(This,pszIconPath,cch,piIcon);
}
static FORCEINLINE HRESULT IShellLinkW_SetIconLocation(IShellLinkW* This,LPCWSTR pszIconPath,int iIcon) {
return This->lpVtbl->SetIconLocation(This,pszIconPath,iIcon);
}
static FORCEINLINE HRESULT IShellLinkW_SetRelativePath(IShellLinkW* This,LPCWSTR pszPathRel,DWORD dwReserved) {
return This->lpVtbl->SetRelativePath(This,pszPathRel,dwReserved);
}
static FORCEINLINE HRESULT IShellLinkW_Resolve(IShellLinkW* This,HWND hwnd,DWORD fFlags) {
return This->lpVtbl->Resolve(This,hwnd,fFlags);
}
static FORCEINLINE HRESULT IShellLinkW_SetPath(IShellLinkW* This,LPCWSTR pszFile) {
return This->lpVtbl->SetPath(This,pszFile);
}
#endif
#endif
#endif
#endif /* __IShellLinkW_INTERFACE_DEFINED__ */
/*****************************************************************************
* IShellLinkDataList interface
*/
#ifndef __IShellLinkDataList_INTERFACE_DEFINED__
#define __IShellLinkDataList_INTERFACE_DEFINED__
DEFINE_GUID(IID_IShellLinkDataList, 0x45e2b4ae, 0xb1c3, 0x11d0, 0xb9,0x2f, 0x00,0xa0,0xc9,0x03,0x12,0xe1);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("45e2b4ae-b1c3-11d0-b92f-00a0c90312e1")
IShellLinkDataList : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE AddDataBlock(
void *pDataBlock) = 0;
virtual HRESULT STDMETHODCALLTYPE CopyDataBlock(
DWORD dwSig,
void **ppDataBlock) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveDataBlock(
DWORD dwSig) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFlags(
DWORD *pdwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE SetFlags(
DWORD dwFlags) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IShellLinkDataList, 0x45e2b4ae, 0xb1c3, 0x11d0, 0xb9,0x2f, 0x00,0xa0,0xc9,0x03,0x12,0xe1)
#endif
#else
typedef struct IShellLinkDataListVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IShellLinkDataList *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IShellLinkDataList *This);
ULONG (STDMETHODCALLTYPE *Release)(
IShellLinkDataList *This);
/*** IShellLinkDataList methods ***/
HRESULT (STDMETHODCALLTYPE *AddDataBlock)(
IShellLinkDataList *This,
void *pDataBlock);
HRESULT (STDMETHODCALLTYPE *CopyDataBlock)(
IShellLinkDataList *This,
DWORD dwSig,
void **ppDataBlock);
HRESULT (STDMETHODCALLTYPE *RemoveDataBlock)(
IShellLinkDataList *This,
DWORD dwSig);
HRESULT (STDMETHODCALLTYPE *GetFlags)(
IShellLinkDataList *This,
DWORD *pdwFlags);
HRESULT (STDMETHODCALLTYPE *SetFlags)(
IShellLinkDataList *This,
DWORD dwFlags);
END_INTERFACE
} IShellLinkDataListVtbl;
interface IShellLinkDataList {
CONST_VTBL IShellLinkDataListVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IShellLinkDataList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IShellLinkDataList_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IShellLinkDataList_Release(This) (This)->lpVtbl->Release(This)
/*** IShellLinkDataList methods ***/
#define IShellLinkDataList_AddDataBlock(This,pDataBlock) (This)->lpVtbl->AddDataBlock(This,pDataBlock)
#define IShellLinkDataList_CopyDataBlock(This,dwSig,ppDataBlock) (This)->lpVtbl->CopyDataBlock(This,dwSig,ppDataBlock)
#define IShellLinkDataList_RemoveDataBlock(This,dwSig) (This)->lpVtbl->RemoveDataBlock(This,dwSig)
#define IShellLinkDataList_GetFlags(This,pdwFlags) (This)->lpVtbl->GetFlags(This,pdwFlags)
#define IShellLinkDataList_SetFlags(This,dwFlags) (This)->lpVtbl->SetFlags(This,dwFlags)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IShellLinkDataList_QueryInterface(IShellLinkDataList* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IShellLinkDataList_AddRef(IShellLinkDataList* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IShellLinkDataList_Release(IShellLinkDataList* This) {
return This->lpVtbl->Release(This);
}
/*** IShellLinkDataList methods ***/
static FORCEINLINE HRESULT IShellLinkDataList_AddDataBlock(IShellLinkDataList* This,void *pDataBlock) {
return This->lpVtbl->AddDataBlock(This,pDataBlock);
}
static FORCEINLINE HRESULT IShellLinkDataList_CopyDataBlock(IShellLinkDataList* This,DWORD dwSig,void **ppDataBlock) {
return This->lpVtbl->CopyDataBlock(This,dwSig,ppDataBlock);
}
static FORCEINLINE HRESULT IShellLinkDataList_RemoveDataBlock(IShellLinkDataList* This,DWORD dwSig) {
return This->lpVtbl->RemoveDataBlock(This,dwSig);
}
static FORCEINLINE HRESULT IShellLinkDataList_GetFlags(IShellLinkDataList* This,DWORD *pdwFlags) {
return This->lpVtbl->GetFlags(This,pdwFlags);
}
static FORCEINLINE HRESULT IShellLinkDataList_SetFlags(IShellLinkDataList* This,DWORD dwFlags) {
return This->lpVtbl->SetFlags(This,dwFlags);
}
#endif
#endif
#endif
#endif /* __IShellLinkDataList_INTERFACE_DEFINED__ */
/*****************************************************************************
* IResolveShellLink interface
*/
#ifndef __IResolveShellLink_INTERFACE_DEFINED__
#define __IResolveShellLink_INTERFACE_DEFINED__
DEFINE_GUID(IID_IResolveShellLink, 0x5cd52983, 0x9449, 0x11d2, 0x96,0x3a, 0x00,0xc0,0x4f,0x79,0xad,0xf0);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("5cd52983-9449-11d2-963a-00c04f79adf0")
IResolveShellLink : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE ResolveShellLink(
IUnknown *punkLink,
HWND hwnd,
DWORD fFlags) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IResolveShellLink, 0x5cd52983, 0x9449, 0x11d2, 0x96,0x3a, 0x00,0xc0,0x4f,0x79,0xad,0xf0)
#endif
#else
typedef struct IResolveShellLinkVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IResolveShellLink *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IResolveShellLink *This);
ULONG (STDMETHODCALLTYPE *Release)(
IResolveShellLink *This);
/*** IResolveShellLink methods ***/
HRESULT (STDMETHODCALLTYPE *ResolveShellLink)(
IResolveShellLink *This,
IUnknown *punkLink,
HWND hwnd,
DWORD fFlags);
END_INTERFACE
} IResolveShellLinkVtbl;
interface IResolveShellLink {
CONST_VTBL IResolveShellLinkVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IResolveShellLink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IResolveShellLink_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IResolveShellLink_Release(This) (This)->lpVtbl->Release(This)
/*** IResolveShellLink methods ***/
#define IResolveShellLink_ResolveShellLink(This,punkLink,hwnd,fFlags) (This)->lpVtbl->ResolveShellLink(This,punkLink,hwnd,fFlags)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IResolveShellLink_QueryInterface(IResolveShellLink* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IResolveShellLink_AddRef(IResolveShellLink* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IResolveShellLink_Release(IResolveShellLink* This) {
return This->lpVtbl->Release(This);
}
/*** IResolveShellLink methods ***/
static FORCEINLINE HRESULT IResolveShellLink_ResolveShellLink(IResolveShellLink* This,IUnknown *punkLink,HWND hwnd,DWORD fFlags) {
return This->lpVtbl->ResolveShellLink(This,punkLink,hwnd,fFlags);
}
#endif
#endif
#endif
#endif /* __IResolveShellLink_INTERFACE_DEFINED__ */
/*****************************************************************************
* IActionProgressDialog interface
*/
#ifndef __IActionProgressDialog_INTERFACE_DEFINED__
#define __IActionProgressDialog_INTERFACE_DEFINED__
enum _SPINITF {
SPINITF_NORMAL = 0x0,
SPINITF_MODAL = 0x1,
SPINITF_NOMINIMIZE = 0x8
};
typedef DWORD SPINITF;
DEFINE_GUID(IID_IActionProgressDialog, 0x49ff1172, 0xeadc, 0x446d, 0x92,0x85, 0x15,0x64,0x53,0xa6,0x43,0x1c);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("49ff1172-eadc-446d-9285-156453a6431c")
IActionProgressDialog : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Initialize(
SPINITF flags,
LPCWSTR pszTitle,
LPCWSTR pszCancel) = 0;
virtual HRESULT STDMETHODCALLTYPE Stop(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IActionProgressDialog, 0x49ff1172, 0xeadc, 0x446d, 0x92,0x85, 0x15,0x64,0x53,0xa6,0x43,0x1c)
#endif
#else
typedef struct IActionProgressDialogVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IActionProgressDialog *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IActionProgressDialog *This);
ULONG (STDMETHODCALLTYPE *Release)(
IActionProgressDialog *This);
/*** IActionProgressDialog methods ***/
HRESULT (STDMETHODCALLTYPE *Initialize)(
IActionProgressDialog *This,
SPINITF flags,
LPCWSTR pszTitle,
LPCWSTR pszCancel);
HRESULT (STDMETHODCALLTYPE *Stop)(
IActionProgressDialog *This);
END_INTERFACE
} IActionProgressDialogVtbl;
interface IActionProgressDialog {
CONST_VTBL IActionProgressDialogVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IActionProgressDialog_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IActionProgressDialog_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IActionProgressDialog_Release(This) (This)->lpVtbl->Release(This)
/*** IActionProgressDialog methods ***/
#define IActionProgressDialog_Initialize(This,flags,pszTitle,pszCancel) (This)->lpVtbl->Initialize(This,flags,pszTitle,pszCancel)
#define IActionProgressDialog_Stop(This) (This)->lpVtbl->Stop(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IActionProgressDialog_QueryInterface(IActionProgressDialog* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IActionProgressDialog_AddRef(IActionProgressDialog* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IActionProgressDialog_Release(IActionProgressDialog* This) {
return This->lpVtbl->Release(This);
}
/*** IActionProgressDialog methods ***/
static FORCEINLINE HRESULT IActionProgressDialog_Initialize(IActionProgressDialog* This,SPINITF flags,LPCWSTR pszTitle,LPCWSTR pszCancel) {
return This->lpVtbl->Initialize(This,flags,pszTitle,pszCancel);
}
static FORCEINLINE HRESULT IActionProgressDialog_Stop(IActionProgressDialog* This) {
return This->lpVtbl->Stop(This);
}
#endif
#endif
#endif
#endif /* __IActionProgressDialog_INTERFACE_DEFINED__ */
/*****************************************************************************
* IHWEventHandler interface
*/
#ifndef __IHWEventHandler_INTERFACE_DEFINED__
#define __IHWEventHandler_INTERFACE_DEFINED__
DEFINE_GUID(IID_IHWEventHandler, 0xc1fb73d0, 0xec3a, 0x4ba2, 0xb5,0x12, 0x8c,0xdb,0x91,0x87,0xb6,0xd1);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("c1fb73d0-ec3a-4ba2-b512-8cdb9187b6d1")
IHWEventHandler : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Initialize(
LPCWSTR pszParams) = 0;
virtual HRESULT STDMETHODCALLTYPE HandleEvent(
LPCWSTR pszDeviceID,
LPCWSTR pszAltDeviceID,
LPCWSTR pszEventType) = 0;
virtual HRESULT STDMETHODCALLTYPE HandleEventWithContent(
LPCWSTR pszDeviceID,
LPCWSTR pszAltDeviceID,
LPCWSTR pszEventType,
LPCWSTR pszContentTypeHandler,
IDataObject *pdataobject) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHWEventHandler, 0xc1fb73d0, 0xec3a, 0x4ba2, 0xb5,0x12, 0x8c,0xdb,0x91,0x87,0xb6,0xd1)
#endif
#else
typedef struct IHWEventHandlerVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IHWEventHandler *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IHWEventHandler *This);
ULONG (STDMETHODCALLTYPE *Release)(
IHWEventHandler *This);
/*** IHWEventHandler methods ***/
HRESULT (STDMETHODCALLTYPE *Initialize)(
IHWEventHandler *This,
LPCWSTR pszParams);
HRESULT (STDMETHODCALLTYPE *HandleEvent)(
IHWEventHandler *This,
LPCWSTR pszDeviceID,
LPCWSTR pszAltDeviceID,
LPCWSTR pszEventType);
HRESULT (STDMETHODCALLTYPE *HandleEventWithContent)(
IHWEventHandler *This,
LPCWSTR pszDeviceID,
LPCWSTR pszAltDeviceID,
LPCWSTR pszEventType,
LPCWSTR pszContentTypeHandler,
IDataObject *pdataobject);
END_INTERFACE
} IHWEventHandlerVtbl;
interface IHWEventHandler {
CONST_VTBL IHWEventHandlerVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHWEventHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHWEventHandler_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHWEventHandler_Release(This) (This)->lpVtbl->Release(This)
/*** IHWEventHandler methods ***/
#define IHWEventHandler_Initialize(This,pszParams) (This)->lpVtbl->Initialize(This,pszParams)
#define IHWEventHandler_HandleEvent(This,pszDeviceID,pszAltDeviceID,pszEventType) (This)->lpVtbl->HandleEvent(This,pszDeviceID,pszAltDeviceID,pszEventType)
#define IHWEventHandler_HandleEventWithContent(This,pszDeviceID,pszAltDeviceID,pszEventType,pszContentTypeHandler,pdataobject) (This)->lpVtbl->HandleEventWithContent(This,pszDeviceID,pszAltDeviceID,pszEventType,pszContentTypeHandler,pdataobject)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IHWEventHandler_QueryInterface(IHWEventHandler* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHWEventHandler_AddRef(IHWEventHandler* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHWEventHandler_Release(IHWEventHandler* This) {
return This->lpVtbl->Release(This);
}
/*** IHWEventHandler methods ***/
static FORCEINLINE HRESULT IHWEventHandler_Initialize(IHWEventHandler* This,LPCWSTR pszParams) {
return This->lpVtbl->Initialize(This,pszParams);
}
static FORCEINLINE HRESULT IHWEventHandler_HandleEvent(IHWEventHandler* This,LPCWSTR pszDeviceID,LPCWSTR pszAltDeviceID,LPCWSTR pszEventType) {
return This->lpVtbl->HandleEvent(This,pszDeviceID,pszAltDeviceID,pszEventType);
}
static FORCEINLINE HRESULT IHWEventHandler_HandleEventWithContent(IHWEventHandler* This,LPCWSTR pszDeviceID,LPCWSTR pszAltDeviceID,LPCWSTR pszEventType,LPCWSTR pszContentTypeHandler,IDataObject *pdataobject) {
return This->lpVtbl->HandleEventWithContent(This,pszDeviceID,pszAltDeviceID,pszEventType,pszContentTypeHandler,pdataobject);
}
#endif
#endif
#endif
#endif /* __IHWEventHandler_INTERFACE_DEFINED__ */
/*****************************************************************************
* IHWEventHandler2 interface
*/
#ifndef __IHWEventHandler2_INTERFACE_DEFINED__
#define __IHWEventHandler2_INTERFACE_DEFINED__
DEFINE_GUID(IID_IHWEventHandler2, 0xcfcc809f, 0x295d, 0x42e8, 0x9f,0xfc, 0x42,0x4b,0x33,0xc4,0x87,0xe6);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("cfcc809f-295d-42e8-9ffc-424b33c487e6")
IHWEventHandler2 : public IHWEventHandler
{
virtual HRESULT STDMETHODCALLTYPE HandleEventWithHWND(
LPCWSTR pszDeviceID,
LPCWSTR pszAltDeviceID,
LPCWSTR pszEventType,
HWND hwndOwner) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHWEventHandler2, 0xcfcc809f, 0x295d, 0x42e8, 0x9f,0xfc, 0x42,0x4b,0x33,0xc4,0x87,0xe6)
#endif
#else
typedef struct IHWEventHandler2Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IHWEventHandler2 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IHWEventHandler2 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IHWEventHandler2 *This);
/*** IHWEventHandler methods ***/
HRESULT (STDMETHODCALLTYPE *Initialize)(
IHWEventHandler2 *This,
LPCWSTR pszParams);
HRESULT (STDMETHODCALLTYPE *HandleEvent)(
IHWEventHandler2 *This,
LPCWSTR pszDeviceID,
LPCWSTR pszAltDeviceID,
LPCWSTR pszEventType);
HRESULT (STDMETHODCALLTYPE *HandleEventWithContent)(
IHWEventHandler2 *This,
LPCWSTR pszDeviceID,
LPCWSTR pszAltDeviceID,
LPCWSTR pszEventType,
LPCWSTR pszContentTypeHandler,
IDataObject *pdataobject);
/*** IHWEventHandler2 methods ***/
HRESULT (STDMETHODCALLTYPE *HandleEventWithHWND)(
IHWEventHandler2 *This,
LPCWSTR pszDeviceID,
LPCWSTR pszAltDeviceID,
LPCWSTR pszEventType,
HWND hwndOwner);
END_INTERFACE
} IHWEventHandler2Vtbl;
interface IHWEventHandler2 {
CONST_VTBL IHWEventHandler2Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHWEventHandler2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHWEventHandler2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHWEventHandler2_Release(This) (This)->lpVtbl->Release(This)
/*** IHWEventHandler methods ***/
#define IHWEventHandler2_Initialize(This,pszParams) (This)->lpVtbl->Initialize(This,pszParams)
#define IHWEventHandler2_HandleEvent(This,pszDeviceID,pszAltDeviceID,pszEventType) (This)->lpVtbl->HandleEvent(This,pszDeviceID,pszAltDeviceID,pszEventType)
#define IHWEventHandler2_HandleEventWithContent(This,pszDeviceID,pszAltDeviceID,pszEventType,pszContentTypeHandler,pdataobject) (This)->lpVtbl->HandleEventWithContent(This,pszDeviceID,pszAltDeviceID,pszEventType,pszContentTypeHandler,pdataobject)
/*** IHWEventHandler2 methods ***/
#define IHWEventHandler2_HandleEventWithHWND(This,pszDeviceID,pszAltDeviceID,pszEventType,hwndOwner) (This)->lpVtbl->HandleEventWithHWND(This,pszDeviceID,pszAltDeviceID,pszEventType,hwndOwner)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IHWEventHandler2_QueryInterface(IHWEventHandler2* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHWEventHandler2_AddRef(IHWEventHandler2* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHWEventHandler2_Release(IHWEventHandler2* This) {
return This->lpVtbl->Release(This);
}
/*** IHWEventHandler methods ***/
static FORCEINLINE HRESULT IHWEventHandler2_Initialize(IHWEventHandler2* This,LPCWSTR pszParams) {
return This->lpVtbl->Initialize(This,pszParams);
}
static FORCEINLINE HRESULT IHWEventHandler2_HandleEvent(IHWEventHandler2* This,LPCWSTR pszDeviceID,LPCWSTR pszAltDeviceID,LPCWSTR pszEventType) {
return This->lpVtbl->HandleEvent(This,pszDeviceID,pszAltDeviceID,pszEventType);
}
static FORCEINLINE HRESULT IHWEventHandler2_HandleEventWithContent(IHWEventHandler2* This,LPCWSTR pszDeviceID,LPCWSTR pszAltDeviceID,LPCWSTR pszEventType,LPCWSTR pszContentTypeHandler,IDataObject *pdataobject) {
return This->lpVtbl->HandleEventWithContent(This,pszDeviceID,pszAltDeviceID,pszEventType,pszContentTypeHandler,pdataobject);
}
/*** IHWEventHandler2 methods ***/
static FORCEINLINE HRESULT IHWEventHandler2_HandleEventWithHWND(IHWEventHandler2* This,LPCWSTR pszDeviceID,LPCWSTR pszAltDeviceID,LPCWSTR pszEventType,HWND hwndOwner) {
return This->lpVtbl->HandleEventWithHWND(This,pszDeviceID,pszAltDeviceID,pszEventType,hwndOwner);
}
#endif
#endif
#endif
#endif /* __IHWEventHandler2_INTERFACE_DEFINED__ */
#define ARCONTENT_AUTORUNINF 0x00000002
#define ARCONTENT_AUDIOCD 0x00000004
#define ARCONTENT_DVDMOVIE 0x00000008
#define ARCONTENT_BLANKCD 0x00000010
#define ARCONTENT_BLANKDVD 0x00000020
#define ARCONTENT_UNKNOWNCONTENT 0x00000040
#define ARCONTENT_AUTOPLAYPIX 0x00000080
#define ARCONTENT_AUTOPLAYMUSIC 0x00000100
#define ARCONTENT_AUTOPLAYVIDEO 0x00000200
#if NTDDI_VERSION >= NTDDI_VISTA
#define ARCONTENT_VCD 0x00000400
#define ARCONTENT_SVCD 0x00000800
#define ARCONTENT_DVDAUDIO 0x00001000
#define ARCONTENT_BLANKBD 0x00002000
#define ARCONTENT_BLURAY 0x00004000
#define ARCONTENT_CAMERASTORAGE 0x00008000
#define ARCONTENT_CUSTOMEVENT 0x00010000
#define ARCONTENT_NONE 0x00000000
#define ARCONTENT_MASK 0x0001FFFE
#define ARCONTENT_PHASE_UNKNOWN 0x00000000
#define ARCONTENT_PHASE_PRESNIFF 0x10000000
#define ARCONTENT_PHASE_SNIFFING 0x20000000
#define ARCONTENT_PHASE_FINAL 0x40000000
#define ARCONTENT_PHASE_MASK 0x70000000
#endif
/*****************************************************************************
* IQueryCancelAutoPlay interface
*/
#ifndef __IQueryCancelAutoPlay_INTERFACE_DEFINED__
#define __IQueryCancelAutoPlay_INTERFACE_DEFINED__
DEFINE_GUID(IID_IQueryCancelAutoPlay, 0xddefe873, 0x6997, 0x4e68, 0xbe,0x26, 0x39,0xb6,0x33,0xad,0xbe,0x12);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("ddefe873-6997-4e68-be26-39b633adbe12")
IQueryCancelAutoPlay : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE AllowAutoPlay(
LPCWSTR pszPath,
DWORD dwContentType,
LPCWSTR pszLabel,
DWORD dwSerialNumber) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IQueryCancelAutoPlay, 0xddefe873, 0x6997, 0x4e68, 0xbe,0x26, 0x39,0xb6,0x33,0xad,0xbe,0x12)
#endif
#else
typedef struct IQueryCancelAutoPlayVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IQueryCancelAutoPlay *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IQueryCancelAutoPlay *This);
ULONG (STDMETHODCALLTYPE *Release)(
IQueryCancelAutoPlay *This);
/*** IQueryCancelAutoPlay methods ***/
HRESULT (STDMETHODCALLTYPE *AllowAutoPlay)(
IQueryCancelAutoPlay *This,
LPCWSTR pszPath,
DWORD dwContentType,
LPCWSTR pszLabel,
DWORD dwSerialNumber);
END_INTERFACE
} IQueryCancelAutoPlayVtbl;
interface IQueryCancelAutoPlay {
CONST_VTBL IQueryCancelAutoPlayVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IQueryCancelAutoPlay_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IQueryCancelAutoPlay_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IQueryCancelAutoPlay_Release(This) (This)->lpVtbl->Release(This)
/*** IQueryCancelAutoPlay methods ***/
#define IQueryCancelAutoPlay_AllowAutoPlay(This,pszPath,dwContentType,pszLabel,dwSerialNumber) (This)->lpVtbl->AllowAutoPlay(This,pszPath,dwContentType,pszLabel,dwSerialNumber)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IQueryCancelAutoPlay_QueryInterface(IQueryCancelAutoPlay* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IQueryCancelAutoPlay_AddRef(IQueryCancelAutoPlay* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IQueryCancelAutoPlay_Release(IQueryCancelAutoPlay* This) {
return This->lpVtbl->Release(This);
}
/*** IQueryCancelAutoPlay methods ***/
static FORCEINLINE HRESULT IQueryCancelAutoPlay_AllowAutoPlay(IQueryCancelAutoPlay* This,LPCWSTR pszPath,DWORD dwContentType,LPCWSTR pszLabel,DWORD dwSerialNumber) {
return This->lpVtbl->AllowAutoPlay(This,pszPath,dwContentType,pszLabel,dwSerialNumber);
}
#endif
#endif
#endif
#endif /* __IQueryCancelAutoPlay_INTERFACE_DEFINED__ */
#if NTDDI_VERSION >= NTDDI_VISTA
/*****************************************************************************
* IDynamicHWHandler interface
*/
#ifndef __IDynamicHWHandler_INTERFACE_DEFINED__
#define __IDynamicHWHandler_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDynamicHWHandler, 0xdc2601d7, 0x059e, 0x42fc, 0xa0,0x9d, 0x2a,0xfd,0x21,0xb6,0xd5,0xf7);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("dc2601d7-059e-42fc-a09d-2afd21b6d5f7")
IDynamicHWHandler : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetDynamicInfo(
LPCWSTR pszDeviceID,
DWORD dwContentType,
LPWSTR *ppszAction) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDynamicHWHandler, 0xdc2601d7, 0x059e, 0x42fc, 0xa0,0x9d, 0x2a,0xfd,0x21,0xb6,0xd5,0xf7)
#endif
#else
typedef struct IDynamicHWHandlerVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDynamicHWHandler *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDynamicHWHandler *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDynamicHWHandler *This);
/*** IDynamicHWHandler methods ***/
HRESULT (STDMETHODCALLTYPE *GetDynamicInfo)(
IDynamicHWHandler *This,
LPCWSTR pszDeviceID,
DWORD dwContentType,
LPWSTR *ppszAction);
END_INTERFACE
} IDynamicHWHandlerVtbl;
interface IDynamicHWHandler {
CONST_VTBL IDynamicHWHandlerVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDynamicHWHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDynamicHWHandler_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDynamicHWHandler_Release(This) (This)->lpVtbl->Release(This)
/*** IDynamicHWHandler methods ***/
#define IDynamicHWHandler_GetDynamicInfo(This,pszDeviceID,dwContentType,ppszAction) (This)->lpVtbl->GetDynamicInfo(This,pszDeviceID,dwContentType,ppszAction)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDynamicHWHandler_QueryInterface(IDynamicHWHandler* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDynamicHWHandler_AddRef(IDynamicHWHandler* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDynamicHWHandler_Release(IDynamicHWHandler* This) {
return This->lpVtbl->Release(This);
}
/*** IDynamicHWHandler methods ***/
static FORCEINLINE HRESULT IDynamicHWHandler_GetDynamicInfo(IDynamicHWHandler* This,LPCWSTR pszDeviceID,DWORD dwContentType,LPWSTR *ppszAction) {
return This->lpVtbl->GetDynamicInfo(This,pszDeviceID,dwContentType,ppszAction);
}
#endif
#endif
#endif
#endif /* __IDynamicHWHandler_INTERFACE_DEFINED__ */
#endif
/*****************************************************************************
* IActionProgress interface
*/
#ifndef __IActionProgress_INTERFACE_DEFINED__
#define __IActionProgress_INTERFACE_DEFINED__
enum _SPBEGINF {
SPBEGINF_NORMAL = 0x0,
SPBEGINF_AUTOTIME = 0x2,
SPBEGINF_NOPROGRESSBAR = 0x10,
SPBEGINF_MARQUEEPROGRESS = 0x20,
SPBEGINF_NOCANCELBUTTON = 0x40
};
typedef DWORD SPBEGINF;
typedef enum _SPACTION {
SPACTION_NONE = 0,
SPACTION_MOVING = 1,
SPACTION_COPYING = 2,
SPACTION_RECYCLING = 3,
SPACTION_APPLYINGATTRIBS = 4,
SPACTION_DOWNLOADING = 5,
SPACTION_SEARCHING_INTERNET = 6,
SPACTION_CALCULATING = 7,
SPACTION_UPLOADING = 8,
SPACTION_SEARCHING_FILES = 9,
SPACTION_DELETING = 10,
SPACTION_RENAMING = 11,
SPACTION_FORMATTING = 12,
SPACTION_COPY_MOVING = 13
} SPACTION;
typedef enum _SPTEXT {
SPTEXT_ACTIONDESCRIPTION = 1,
SPTEXT_ACTIONDETAIL = 2
} SPTEXT;
DEFINE_GUID(IID_IActionProgress, 0x49ff1173, 0xeadc, 0x446d, 0x92,0x85, 0x15,0x64,0x53,0xa6,0x43,0x1c);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("49ff1173-eadc-446d-9285-156453a6431c")
IActionProgress : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Begin(
SPACTION action,
SPBEGINF flags) = 0;
virtual HRESULT STDMETHODCALLTYPE UpdateProgress(
ULONGLONG ulCompleted,
ULONGLONG ulTotal) = 0;
virtual HRESULT STDMETHODCALLTYPE UpdateText(
SPTEXT sptext,
LPCWSTR pszText,
WINBOOL fMayCompact) = 0;
virtual HRESULT STDMETHODCALLTYPE QueryCancel(
WINBOOL *pfCancelled) = 0;
virtual HRESULT STDMETHODCALLTYPE ResetCancel(
) = 0;
virtual HRESULT STDMETHODCALLTYPE End(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IActionProgress, 0x49ff1173, 0xeadc, 0x446d, 0x92,0x85, 0x15,0x64,0x53,0xa6,0x43,0x1c)
#endif
#else
typedef struct IActionProgressVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IActionProgress *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IActionProgress *This);
ULONG (STDMETHODCALLTYPE *Release)(
IActionProgress *This);
/*** IActionProgress methods ***/
HRESULT (STDMETHODCALLTYPE *Begin)(
IActionProgress *This,
SPACTION action,
SPBEGINF flags);
HRESULT (STDMETHODCALLTYPE *UpdateProgress)(
IActionProgress *This,
ULONGLONG ulCompleted,
ULONGLONG ulTotal);
HRESULT (STDMETHODCALLTYPE *UpdateText)(
IActionProgress *This,
SPTEXT sptext,
LPCWSTR pszText,
WINBOOL fMayCompact);
HRESULT (STDMETHODCALLTYPE *QueryCancel)(
IActionProgress *This,
WINBOOL *pfCancelled);
HRESULT (STDMETHODCALLTYPE *ResetCancel)(
IActionProgress *This);
HRESULT (STDMETHODCALLTYPE *End)(
IActionProgress *This);
END_INTERFACE
} IActionProgressVtbl;
interface IActionProgress {
CONST_VTBL IActionProgressVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IActionProgress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IActionProgress_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IActionProgress_Release(This) (This)->lpVtbl->Release(This)
/*** IActionProgress methods ***/
#define IActionProgress_Begin(This,action,flags) (This)->lpVtbl->Begin(This,action,flags)
#define IActionProgress_UpdateProgress(This,ulCompleted,ulTotal) (This)->lpVtbl->UpdateProgress(This,ulCompleted,ulTotal)
#define IActionProgress_UpdateText(This,sptext,pszText,fMayCompact) (This)->lpVtbl->UpdateText(This,sptext,pszText,fMayCompact)
#define IActionProgress_QueryCancel(This,pfCancelled) (This)->lpVtbl->QueryCancel(This,pfCancelled)
#define IActionProgress_ResetCancel(This) (This)->lpVtbl->ResetCancel(This)
#define IActionProgress_End(This) (This)->lpVtbl->End(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IActionProgress_QueryInterface(IActionProgress* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IActionProgress_AddRef(IActionProgress* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IActionProgress_Release(IActionProgress* This) {
return This->lpVtbl->Release(This);
}
/*** IActionProgress methods ***/
static FORCEINLINE HRESULT IActionProgress_Begin(IActionProgress* This,SPACTION action,SPBEGINF flags) {
return This->lpVtbl->Begin(This,action,flags);
}
static FORCEINLINE HRESULT IActionProgress_UpdateProgress(IActionProgress* This,ULONGLONG ulCompleted,ULONGLONG ulTotal) {
return This->lpVtbl->UpdateProgress(This,ulCompleted,ulTotal);
}
static FORCEINLINE HRESULT IActionProgress_UpdateText(IActionProgress* This,SPTEXT sptext,LPCWSTR pszText,WINBOOL fMayCompact) {
return This->lpVtbl->UpdateText(This,sptext,pszText,fMayCompact);
}
static FORCEINLINE HRESULT IActionProgress_QueryCancel(IActionProgress* This,WINBOOL *pfCancelled) {
return This->lpVtbl->QueryCancel(This,pfCancelled);
}
static FORCEINLINE HRESULT IActionProgress_ResetCancel(IActionProgress* This) {
return This->lpVtbl->ResetCancel(This);
}
static FORCEINLINE HRESULT IActionProgress_End(IActionProgress* This) {
return This->lpVtbl->End(This);
}
#endif
#endif
#endif
#endif /* __IActionProgress_INTERFACE_DEFINED__ */
/*****************************************************************************
* IShellExtInit interface
*/
#ifndef __IShellExtInit_INTERFACE_DEFINED__
#define __IShellExtInit_INTERFACE_DEFINED__
DEFINE_GUID(IID_IShellExtInit, 0x000214e8, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("000214e8-0000-0000-c000-000000000046")
IShellExtInit : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Initialize(
PCIDLIST_ABSOLUTE pidlFolder,
IDataObject *pdtobj,
HKEY hkeyProgID) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IShellExtInit, 0x000214e8, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
#endif
#else
typedef struct IShellExtInitVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IShellExtInit *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IShellExtInit *This);
ULONG (STDMETHODCALLTYPE *Release)(
IShellExtInit *This);
/*** IShellExtInit methods ***/
HRESULT (STDMETHODCALLTYPE *Initialize)(
IShellExtInit *This,
PCIDLIST_ABSOLUTE pidlFolder,
IDataObject *pdtobj,
HKEY hkeyProgID);
END_INTERFACE
} IShellExtInitVtbl;
interface IShellExtInit {
CONST_VTBL IShellExtInitVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IShellExtInit_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IShellExtInit_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IShellExtInit_Release(This) (This)->lpVtbl->Release(This)
/*** IShellExtInit methods ***/
#define IShellExtInit_Initialize(This,pidlFolder,pdtobj,hkeyProgID) (This)->lpVtbl->Initialize(This,pidlFolder,pdtobj,hkeyProgID)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IShellExtInit_QueryInterface(IShellExtInit* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IShellExtInit_AddRef(IShellExtInit* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IShellExtInit_Release(IShellExtInit* This) {
return This->lpVtbl->Release(This);
}
/*** IShellExtInit methods ***/
static FORCEINLINE HRESULT IShellExtInit_Initialize(IShellExtInit* This,PCIDLIST_ABSOLUTE pidlFolder,IDataObject *pdtobj,HKEY hkeyProgID) {
return This->lpVtbl->Initialize(This,pidlFolder,pdtobj,hkeyProgID);
}
#endif
#endif
#endif
#endif /* __IShellExtInit_INTERFACE_DEFINED__ */
typedef IShellExtInit *LPSHELLEXTINIT;
/*****************************************************************************
* IShellPropSheetExt interface
*/
#ifndef __IShellPropSheetExt_INTERFACE_DEFINED__
#define __IShellPropSheetExt_INTERFACE_DEFINED__
enum _EXPPS {
EXPPS_FILETYPES = 0x1
};
typedef UINT EXPPS;
DEFINE_GUID(IID_IShellPropSheetExt, 0x000214e9, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("000214e9-0000-0000-c000-000000000046")
IShellPropSheetExt : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE AddPages(
LPFNSVADDPROPSHEETPAGE pfnAddPage,
LPARAM lParam) = 0;
virtual HRESULT STDMETHODCALLTYPE ReplacePage(
EXPPS uPageID,
LPFNSVADDPROPSHEETPAGE pfnReplaceWith,
LPARAM lParam) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IShellPropSheetExt, 0x000214e9, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
#endif
#else
typedef struct IShellPropSheetExtVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IShellPropSheetExt *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IShellPropSheetExt *This);
ULONG (STDMETHODCALLTYPE *Release)(
IShellPropSheetExt *This);
/*** IShellPropSheetExt methods ***/
HRESULT (STDMETHODCALLTYPE *AddPages)(
IShellPropSheetExt *This,
LPFNSVADDPROPSHEETPAGE pfnAddPage,
LPARAM lParam);
HRESULT (STDMETHODCALLTYPE *ReplacePage)(
IShellPropSheetExt *This,
EXPPS uPageID,
LPFNSVADDPROPSHEETPAGE pfnReplaceWith,
LPARAM lParam);
END_INTERFACE
} IShellPropSheetExtVtbl;
interface IShellPropSheetExt {
CONST_VTBL IShellPropSheetExtVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IShellPropSheetExt_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IShellPropSheetExt_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IShellPropSheetExt_Release(This) (This)->lpVtbl->Release(This)
/*** IShellPropSheetExt methods ***/
#define IShellPropSheetExt_AddPages(This,pfnAddPage,lParam) (This)->lpVtbl->AddPages(This,pfnAddPage,lParam)
#define IShellPropSheetExt_ReplacePage(This,uPageID,pfnReplaceWith,lParam) (This)->lpVtbl->ReplacePage(This,uPageID,pfnReplaceWith,lParam)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IShellPropSheetExt_QueryInterface(IShellPropSheetExt* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IShellPropSheetExt_AddRef(IShellPropSheetExt* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IShellPropSheetExt_Release(IShellPropSheetExt* This) {
return This->lpVtbl->Release(This);
}
/*** IShellPropSheetExt methods ***/
static FORCEINLINE HRESULT IShellPropSheetExt_AddPages(IShellPropSheetExt* This,LPFNSVADDPROPSHEETPAGE pfnAddPage,LPARAM lParam) {
return This->lpVtbl->AddPages(This,pfnAddPage,lParam);
}
static FORCEINLINE HRESULT IShellPropSheetExt_ReplacePage(IShellPropSheetExt* This,EXPPS uPageID,LPFNSVADDPROPSHEETPAGE pfnReplaceWith,LPARAM lParam) {
return This->lpVtbl->ReplacePage(This,uPageID,pfnReplaceWith,lParam);
}
#endif
#endif
#endif
#endif /* __IShellPropSheetExt_INTERFACE_DEFINED__ */
typedef IShellPropSheetExt *LPSHELLPROPSHEETEXT;
/*****************************************************************************
* IRemoteComputer interface
*/
#ifndef __IRemoteComputer_INTERFACE_DEFINED__
#define __IRemoteComputer_INTERFACE_DEFINED__
DEFINE_GUID(IID_IRemoteComputer, 0x000214fe, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("000214fe-0000-0000-c000-000000000046")
IRemoteComputer : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Initialize(
LPCWSTR pszMachine,
WINBOOL bEnumerating) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IRemoteComputer, 0x000214fe, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
#endif
#else
typedef struct IRemoteComputerVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IRemoteComputer *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IRemoteComputer *This);
ULONG (STDMETHODCALLTYPE *Release)(
IRemoteComputer *This);
/*** IRemoteComputer methods ***/
HRESULT (STDMETHODCALLTYPE *Initialize)(
IRemoteComputer *This,
LPCWSTR pszMachine,
WINBOOL bEnumerating);
END_INTERFACE
} IRemoteComputerVtbl;
interface IRemoteComputer {
CONST_VTBL IRemoteComputerVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IRemoteComputer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IRemoteComputer_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IRemoteComputer_Release(This) (This)->lpVtbl->Release(This)
/*** IRemoteComputer methods ***/
#define IRemoteComputer_Initialize(This,pszMachine,bEnumerating) (This)->lpVtbl->Initialize(This,pszMachine,bEnumerating)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IRemoteComputer_QueryInterface(IRemoteComputer* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IRemoteComputer_AddRef(IRemoteComputer* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IRemoteComputer_Release(IRemoteComputer* This) {
return This->lpVtbl->Release(This);
}
/*** IRemoteComputer methods ***/
static FORCEINLINE HRESULT IRemoteComputer_Initialize(IRemoteComputer* This,LPCWSTR pszMachine,WINBOOL bEnumerating) {
return This->lpVtbl->Initialize(This,pszMachine,bEnumerating);
}
#endif
#endif
#endif
#endif /* __IRemoteComputer_INTERFACE_DEFINED__ */
/*****************************************************************************
* IQueryContinue interface
*/
#ifndef __IQueryContinue_INTERFACE_DEFINED__
#define __IQueryContinue_INTERFACE_DEFINED__
DEFINE_GUID(IID_IQueryContinue, 0x7307055c, 0xb24a, 0x486b, 0x9f,0x25, 0x16,0x3e,0x59,0x7a,0x28,0xa9);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("7307055c-b24a-486b-9f25-163e597a28a9")
IQueryContinue : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE QueryContinue(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IQueryContinue, 0x7307055c, 0xb24a, 0x486b, 0x9f,0x25, 0x16,0x3e,0x59,0x7a,0x28,0xa9)
#endif
#else
typedef struct IQueryContinueVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IQueryContinue *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IQueryContinue *This);
ULONG (STDMETHODCALLTYPE *Release)(
IQueryContinue *This);
/*** IQueryContinue methods ***/
HRESULT (STDMETHODCALLTYPE *QueryContinue)(
IQueryContinue *This);
END_INTERFACE
} IQueryContinueVtbl;
interface IQueryContinue {
CONST_VTBL IQueryContinueVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IQueryContinue_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IQueryContinue_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IQueryContinue_Release(This) (This)->lpVtbl->Release(This)
/*** IQueryContinue methods ***/
#define IQueryContinue_QueryContinue(This) (This)->lpVtbl->QueryContinue(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IQueryContinue_QueryInterface(IQueryContinue* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IQueryContinue_AddRef(IQueryContinue* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IQueryContinue_Release(IQueryContinue* This) {
return This->lpVtbl->Release(This);
}
/*** IQueryContinue methods ***/
static FORCEINLINE HRESULT IQueryContinue_QueryContinue(IQueryContinue* This) {
return This->lpVtbl->QueryContinue(This);
}
#endif
#endif
#endif
#endif /* __IQueryContinue_INTERFACE_DEFINED__ */
/*****************************************************************************
* IObjectWithCancelEvent interface
*/
#ifndef __IObjectWithCancelEvent_INTERFACE_DEFINED__
#define __IObjectWithCancelEvent_INTERFACE_DEFINED__
DEFINE_GUID(IID_IObjectWithCancelEvent, 0xf279b885, 0x0ae9, 0x4b85, 0xac,0x06, 0xdd,0xec,0xf9,0x40,0x89,0x41);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("f279b885-0ae9-4b85-ac06-ddecf9408941")
IObjectWithCancelEvent : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetCancelEvent(
HANDLE *phEvent) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IObjectWithCancelEvent, 0xf279b885, 0x0ae9, 0x4b85, 0xac,0x06, 0xdd,0xec,0xf9,0x40,0x89,0x41)
#endif
#else
typedef struct IObjectWithCancelEventVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IObjectWithCancelEvent *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IObjectWithCancelEvent *This);
ULONG (STDMETHODCALLTYPE *Release)(
IObjectWithCancelEvent *This);
/*** IObjectWithCancelEvent methods ***/
HRESULT (STDMETHODCALLTYPE *GetCancelEvent)(
IObjectWithCancelEvent *This,
HANDLE *phEvent);
END_INTERFACE
} IObjectWithCancelEventVtbl;
interface IObjectWithCancelEvent {
CONST_VTBL IObjectWithCancelEventVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IObjectWithCancelEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IObjectWithCancelEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IObjectWithCancelEvent_Release(This) (This)->lpVtbl->Release(This)
/*** IObjectWithCancelEvent methods ***/
#define IObjectWithCancelEvent_GetCancelEvent(This,phEvent) (This)->lpVtbl->GetCancelEvent(This,phEvent)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IObjectWithCancelEvent_QueryInterface(IObjectWithCancelEvent* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IObjectWithCancelEvent_AddRef(IObjectWithCancelEvent* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IObjectWithCancelEvent_Release(IObjectWithCancelEvent* This) {
return This->lpVtbl->Release(This);
}
/*** IObjectWithCancelEvent methods ***/
static FORCEINLINE HRESULT IObjectWithCancelEvent_GetCancelEvent(IObjectWithCancelEvent* This,HANDLE *phEvent) {
return This->lpVtbl->GetCancelEvent(This,phEvent);
}
#endif
#endif
#endif
#endif /* __IObjectWithCancelEvent_INTERFACE_DEFINED__ */
/*****************************************************************************
* IUserNotification interface
*/
#ifndef __IUserNotification_INTERFACE_DEFINED__
#define __IUserNotification_INTERFACE_DEFINED__
DEFINE_GUID(IID_IUserNotification, 0xba9711ba, 0x5893, 0x4787, 0xa7,0xe1, 0x41,0x27,0x71,0x51,0x55,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("ba9711ba-5893-4787-a7e1-41277151550b")
IUserNotification : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetBalloonInfo(
LPCWSTR pszTitle,
LPCWSTR pszText,
DWORD dwInfoFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE SetBalloonRetry(
DWORD dwShowTime,
DWORD dwInterval,
UINT cRetryCount) = 0;
virtual HRESULT STDMETHODCALLTYPE SetIconInfo(
HICON hIcon,
LPCWSTR pszToolTip) = 0;
virtual HRESULT STDMETHODCALLTYPE Show(
IQueryContinue *pqc,
DWORD dwContinuePollInterval) = 0;
virtual HRESULT STDMETHODCALLTYPE PlaySound(
LPCWSTR pszSoundName) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IUserNotification, 0xba9711ba, 0x5893, 0x4787, 0xa7,0xe1, 0x41,0x27,0x71,0x51,0x55,0x0b)
#endif
#else
typedef struct IUserNotificationVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IUserNotification *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IUserNotification *This);
ULONG (STDMETHODCALLTYPE *Release)(
IUserNotification *This);
/*** IUserNotification methods ***/
HRESULT (STDMETHODCALLTYPE *SetBalloonInfo)(
IUserNotification *This,
LPCWSTR pszTitle,
LPCWSTR pszText,
DWORD dwInfoFlags);
HRESULT (STDMETHODCALLTYPE *SetBalloonRetry)(
IUserNotification *This,
DWORD dwShowTime,
DWORD dwInterval,
UINT cRetryCount);
HRESULT (STDMETHODCALLTYPE *SetIconInfo)(
IUserNotification *This,
HICON hIcon,
LPCWSTR pszToolTip);
HRESULT (STDMETHODCALLTYPE *Show)(
IUserNotification *This,
IQueryContinue *pqc,
DWORD dwContinuePollInterval);
HRESULT (STDMETHODCALLTYPE *PlaySound)(
IUserNotification *This,
LPCWSTR pszSoundName);
END_INTERFACE
} IUserNotificationVtbl;
interface IUserNotification {
CONST_VTBL IUserNotificationVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IUserNotification_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IUserNotification_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IUserNotification_Release(This) (This)->lpVtbl->Release(This)
/*** IUserNotification methods ***/
#define IUserNotification_SetBalloonInfo(This,pszTitle,pszText,dwInfoFlags) (This)->lpVtbl->SetBalloonInfo(This,pszTitle,pszText,dwInfoFlags)
#define IUserNotification_SetBalloonRetry(This,dwShowTime,dwInterval,cRetryCount) (This)->lpVtbl->SetBalloonRetry(This,dwShowTime,dwInterval,cRetryCount)
#define IUserNotification_SetIconInfo(This,hIcon,pszToolTip) (This)->lpVtbl->SetIconInfo(This,hIcon,pszToolTip)
#define IUserNotification_Show(This,pqc,dwContinuePollInterval) (This)->lpVtbl->Show(This,pqc,dwContinuePollInterval)
#define IUserNotification_PlaySound(This,pszSoundName) (This)->lpVtbl->PlaySound(This,pszSoundName)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IUserNotification_QueryInterface(IUserNotification* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IUserNotification_AddRef(IUserNotification* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IUserNotification_Release(IUserNotification* This) {
return This->lpVtbl->Release(This);
}
/*** IUserNotification methods ***/
static FORCEINLINE HRESULT IUserNotification_SetBalloonInfo(IUserNotification* This,LPCWSTR pszTitle,LPCWSTR pszText,DWORD dwInfoFlags) {
return This->lpVtbl->SetBalloonInfo(This,pszTitle,pszText,dwInfoFlags);
}
static FORCEINLINE HRESULT IUserNotification_SetBalloonRetry(IUserNotification* This,DWORD dwShowTime,DWORD dwInterval,UINT cRetryCount) {
return This->lpVtbl->SetBalloonRetry(This,dwShowTime,dwInterval,cRetryCount);
}
static FORCEINLINE HRESULT IUserNotification_SetIconInfo(IUserNotification* This,HICON hIcon,LPCWSTR pszToolTip) {
return This->lpVtbl->SetIconInfo(This,hIcon,pszToolTip);
}
static FORCEINLINE HRESULT IUserNotification_Show(IUserNotification* This,IQueryContinue *pqc,DWORD dwContinuePollInterval) {
return This->lpVtbl->Show(This,pqc,dwContinuePollInterval);
}
static FORCEINLINE HRESULT IUserNotification_PlaySound(IUserNotification* This,LPCWSTR pszSoundName) {
return This->lpVtbl->PlaySound(This,pszSoundName);
}
#endif
#endif
#endif
#endif /* __IUserNotification_INTERFACE_DEFINED__ */
/*****************************************************************************
* IUserNotificationCallback interface
*/
#ifndef __IUserNotificationCallback_INTERFACE_DEFINED__
#define __IUserNotificationCallback_INTERFACE_DEFINED__
DEFINE_GUID(IID_IUserNotificationCallback, 0x19108294, 0x0441, 0x4aff, 0x80,0x13, 0xfa,0x0a,0x73,0x0b,0x0b,0xea);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("19108294-0441-4aff-8013-fa0a730b0bea")
IUserNotificationCallback : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE OnBalloonUserClick(
POINT *pt) = 0;
virtual HRESULT STDMETHODCALLTYPE OnLeftClick(
POINT *pt) = 0;
virtual HRESULT STDMETHODCALLTYPE OnContextMenu(
POINT *pt) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IUserNotificationCallback, 0x19108294, 0x0441, 0x4aff, 0x80,0x13, 0xfa,0x0a,0x73,0x0b,0x0b,0xea)
#endif
#else
typedef struct IUserNotificationCallbackVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IUserNotificationCallback *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IUserNotificationCallback *This);
ULONG (STDMETHODCALLTYPE *Release)(
IUserNotificationCallback *This);
/*** IUserNotificationCallback methods ***/
HRESULT (STDMETHODCALLTYPE *OnBalloonUserClick)(
IUserNotificationCallback *This,
POINT *pt);
HRESULT (STDMETHODCALLTYPE *OnLeftClick)(
IUserNotificationCallback *This,
POINT *pt);
HRESULT (STDMETHODCALLTYPE *OnContextMenu)(
IUserNotificationCallback *This,
POINT *pt);
END_INTERFACE
} IUserNotificationCallbackVtbl;
interface IUserNotificationCallback {
CONST_VTBL IUserNotificationCallbackVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IUserNotificationCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IUserNotificationCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IUserNotificationCallback_Release(This) (This)->lpVtbl->Release(This)
/*** IUserNotificationCallback methods ***/
#define IUserNotificationCallback_OnBalloonUserClick(This,pt) (This)->lpVtbl->OnBalloonUserClick(This,pt)
#define IUserNotificationCallback_OnLeftClick(This,pt) (This)->lpVtbl->OnLeftClick(This,pt)
#define IUserNotificationCallback_OnContextMenu(This,pt) (This)->lpVtbl->OnContextMenu(This,pt)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IUserNotificationCallback_QueryInterface(IUserNotificationCallback* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IUserNotificationCallback_AddRef(IUserNotificationCallback* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IUserNotificationCallback_Release(IUserNotificationCallback* This) {
return This->lpVtbl->Release(This);
}
/*** IUserNotificationCallback methods ***/
static FORCEINLINE HRESULT IUserNotificationCallback_OnBalloonUserClick(IUserNotificationCallback* This,POINT *pt) {
return This->lpVtbl->OnBalloonUserClick(This,pt);
}
static FORCEINLINE HRESULT IUserNotificationCallback_OnLeftClick(IUserNotificationCallback* This,POINT *pt) {
return This->lpVtbl->OnLeftClick(This,pt);
}
static FORCEINLINE HRESULT IUserNotificationCallback_OnContextMenu(IUserNotificationCallback* This,POINT *pt) {
return This->lpVtbl->OnContextMenu(This,pt);
}
#endif
#endif
#endif
#endif /* __IUserNotificationCallback_INTERFACE_DEFINED__ */
/*****************************************************************************
* IUserNotification2 interface
*/
#ifndef __IUserNotification2_INTERFACE_DEFINED__
#define __IUserNotification2_INTERFACE_DEFINED__
DEFINE_GUID(IID_IUserNotification2, 0x215913cc, 0x57eb, 0x4fab, 0xab,0x5a, 0xe5,0xfa,0x7b,0xea,0x2a,0x6c);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("215913cc-57eb-4fab-ab5a-e5fa7bea2a6c")
IUserNotification2 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetBalloonInfo(
LPCWSTR pszTitle,
LPCWSTR pszText,
DWORD dwInfoFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE SetBalloonRetry(
DWORD dwShowTime,
DWORD dwInterval,
UINT cRetryCount) = 0;
virtual HRESULT STDMETHODCALLTYPE SetIconInfo(
HICON hIcon,
LPCWSTR pszToolTip) = 0;
virtual HRESULT STDMETHODCALLTYPE Show(
IQueryContinue *pqc,
DWORD dwContinuePollInterval,
IUserNotificationCallback *pSink) = 0;
virtual HRESULT STDMETHODCALLTYPE PlaySound(
LPCWSTR pszSoundName) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IUserNotification2, 0x215913cc, 0x57eb, 0x4fab, 0xab,0x5a, 0xe5,0xfa,0x7b,0xea,0x2a,0x6c)
#endif
#else
typedef struct IUserNotification2Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IUserNotification2 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IUserNotification2 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IUserNotification2 *This);
/*** IUserNotification2 methods ***/
HRESULT (STDMETHODCALLTYPE *SetBalloonInfo)(
IUserNotification2 *This,
LPCWSTR pszTitle,
LPCWSTR pszText,
DWORD dwInfoFlags);
HRESULT (STDMETHODCALLTYPE *SetBalloonRetry)(
IUserNotification2 *This,
DWORD dwShowTime,
DWORD dwInterval,
UINT cRetryCount);
HRESULT (STDMETHODCALLTYPE *SetIconInfo)(
IUserNotification2 *This,
HICON hIcon,
LPCWSTR pszToolTip);
HRESULT (STDMETHODCALLTYPE *Show)(
IUserNotification2 *This,
IQueryContinue *pqc,
DWORD dwContinuePollInterval,
IUserNotificationCallback *pSink);
HRESULT (STDMETHODCALLTYPE *PlaySound)(
IUserNotification2 *This,
LPCWSTR pszSoundName);
END_INTERFACE
} IUserNotification2Vtbl;
interface IUserNotification2 {
CONST_VTBL IUserNotification2Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IUserNotification2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IUserNotification2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IUserNotification2_Release(This) (This)->lpVtbl->Release(This)
/*** IUserNotification2 methods ***/
#define IUserNotification2_SetBalloonInfo(This,pszTitle,pszText,dwInfoFlags) (This)->lpVtbl->SetBalloonInfo(This,pszTitle,pszText,dwInfoFlags)
#define IUserNotification2_SetBalloonRetry(This,dwShowTime,dwInterval,cRetryCount) (This)->lpVtbl->SetBalloonRetry(This,dwShowTime,dwInterval,cRetryCount)
#define IUserNotification2_SetIconInfo(This,hIcon,pszToolTip) (This)->lpVtbl->SetIconInfo(This,hIcon,pszToolTip)
#define IUserNotification2_Show(This,pqc,dwContinuePollInterval,pSink) (This)->lpVtbl->Show(This,pqc,dwContinuePollInterval,pSink)
#define IUserNotification2_PlaySound(This,pszSoundName) (This)->lpVtbl->PlaySound(This,pszSoundName)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IUserNotification2_QueryInterface(IUserNotification2* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IUserNotification2_AddRef(IUserNotification2* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IUserNotification2_Release(IUserNotification2* This) {
return This->lpVtbl->Release(This);
}
/*** IUserNotification2 methods ***/
static FORCEINLINE HRESULT IUserNotification2_SetBalloonInfo(IUserNotification2* This,LPCWSTR pszTitle,LPCWSTR pszText,DWORD dwInfoFlags) {
return This->lpVtbl->SetBalloonInfo(This,pszTitle,pszText,dwInfoFlags);
}
static FORCEINLINE HRESULT IUserNotification2_SetBalloonRetry(IUserNotification2* This,DWORD dwShowTime,DWORD dwInterval,UINT cRetryCount) {
return This->lpVtbl->SetBalloonRetry(This,dwShowTime,dwInterval,cRetryCount);
}
static FORCEINLINE HRESULT IUserNotification2_SetIconInfo(IUserNotification2* This,HICON hIcon,LPCWSTR pszToolTip) {
return This->lpVtbl->SetIconInfo(This,hIcon,pszToolTip);
}
static FORCEINLINE HRESULT IUserNotification2_Show(IUserNotification2* This,IQueryContinue *pqc,DWORD dwContinuePollInterval,IUserNotificationCallback *pSink) {
return This->lpVtbl->Show(This,pqc,dwContinuePollInterval,pSink);
}
static FORCEINLINE HRESULT IUserNotification2_PlaySound(IUserNotification2* This,LPCWSTR pszSoundName) {
return This->lpVtbl->PlaySound(This,pszSoundName);
}
#endif
#endif
#endif
#endif /* __IUserNotification2_INTERFACE_DEFINED__ */
/*****************************************************************************
* IItemNameLimits interface
*/
#ifndef __IItemNameLimits_INTERFACE_DEFINED__
#define __IItemNameLimits_INTERFACE_DEFINED__
DEFINE_GUID(IID_IItemNameLimits, 0x1df0d7f1, 0xb267, 0x4d28, 0x8b,0x10, 0x12,0xe2,0x32,0x02,0xa5,0xc4);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("1df0d7f1-b267-4d28-8b10-12e23202a5c4")
IItemNameLimits : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetValidCharacters(
LPWSTR *ppwszValidChars,
LPWSTR *ppwszInvalidChars) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMaxLength(
LPCWSTR pszName,
int *piMaxNameLen) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IItemNameLimits, 0x1df0d7f1, 0xb267, 0x4d28, 0x8b,0x10, 0x12,0xe2,0x32,0x02,0xa5,0xc4)
#endif
#else
typedef struct IItemNameLimitsVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IItemNameLimits *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IItemNameLimits *This);
ULONG (STDMETHODCALLTYPE *Release)(
IItemNameLimits *This);
/*** IItemNameLimits methods ***/
HRESULT (STDMETHODCALLTYPE *GetValidCharacters)(
IItemNameLimits *This,
LPWSTR *ppwszValidChars,
LPWSTR *ppwszInvalidChars);
HRESULT (STDMETHODCALLTYPE *GetMaxLength)(
IItemNameLimits *This,
LPCWSTR pszName,
int *piMaxNameLen);
END_INTERFACE
} IItemNameLimitsVtbl;
interface IItemNameLimits {
CONST_VTBL IItemNameLimitsVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IItemNameLimits_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IItemNameLimits_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IItemNameLimits_Release(This) (This)->lpVtbl->Release(This)
/*** IItemNameLimits methods ***/
#define IItemNameLimits_GetValidCharacters(This,ppwszValidChars,ppwszInvalidChars) (This)->lpVtbl->GetValidCharacters(This,ppwszValidChars,ppwszInvalidChars)
#define IItemNameLimits_GetMaxLength(This,pszName,piMaxNameLen) (This)->lpVtbl->GetMaxLength(This,pszName,piMaxNameLen)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IItemNameLimits_QueryInterface(IItemNameLimits* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IItemNameLimits_AddRef(IItemNameLimits* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IItemNameLimits_Release(IItemNameLimits* This) {
return This->lpVtbl->Release(This);
}
/*** IItemNameLimits methods ***/
static FORCEINLINE HRESULT IItemNameLimits_GetValidCharacters(IItemNameLimits* This,LPWSTR *ppwszValidChars,LPWSTR *ppwszInvalidChars) {
return This->lpVtbl->GetValidCharacters(This,ppwszValidChars,ppwszInvalidChars);
}
static FORCEINLINE HRESULT IItemNameLimits_GetMaxLength(IItemNameLimits* This,LPCWSTR pszName,int *piMaxNameLen) {
return This->lpVtbl->GetMaxLength(This,pszName,piMaxNameLen);
}
#endif
#endif
#endif
#endif /* __IItemNameLimits_INTERFACE_DEFINED__ */
#if NTDDI_VERSION >= NTDDI_VISTA
#ifndef __ICondition_FWD_DEFINED__
#define __ICondition_FWD_DEFINED__
typedef interface ICondition ICondition;
#ifdef __cplusplus
interface ICondition;
#endif /* __cplusplus */
#endif
/*****************************************************************************
* ISearchFolderItemFactory interface
*/
#ifndef __ISearchFolderItemFactory_INTERFACE_DEFINED__
#define __ISearchFolderItemFactory_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISearchFolderItemFactory, 0xa0ffbc28, 0x5482, 0x4366, 0xbe,0x27, 0x3e,0x81,0xe7,0x8e,0x06,0xc2);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("a0ffbc28-5482-4366-be27-3e81e78e06c2")
ISearchFolderItemFactory : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetDisplayName(
LPCWSTR pszDisplayName) = 0;
virtual HRESULT STDMETHODCALLTYPE SetFolderTypeID(
FOLDERTYPEID ftid) = 0;
virtual HRESULT STDMETHODCALLTYPE SetFolderLogicalViewMode(
FOLDERLOGICALVIEWMODE flvm) = 0;
virtual HRESULT STDMETHODCALLTYPE SetIconSize(
int iIconSize) = 0;
virtual HRESULT STDMETHODCALLTYPE SetVisibleColumns(
UINT cVisibleColumns,
PROPERTYKEY *rgKey) = 0;
virtual HRESULT STDMETHODCALLTYPE SetSortColumns(
UINT cSortColumns,
SORTCOLUMN *rgSortColumns) = 0;
virtual HRESULT STDMETHODCALLTYPE SetGroupColumn(
REFPROPERTYKEY keyGroup) = 0;
virtual HRESULT STDMETHODCALLTYPE SetStacks(
UINT cStackKeys,
PROPERTYKEY *rgStackKeys) = 0;
virtual HRESULT STDMETHODCALLTYPE SetScope(
IShellItemArray *psiaScope) = 0;
virtual HRESULT STDMETHODCALLTYPE SetCondition(
ICondition *pCondition) = 0;
virtual HRESULT STDMETHODCALLTYPE GetShellItem(
REFIID riid,
void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE GetIDList(
PIDLIST_ABSOLUTE *ppidl) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISearchFolderItemFactory, 0xa0ffbc28, 0x5482, 0x4366, 0xbe,0x27, 0x3e,0x81,0xe7,0x8e,0x06,0xc2)
#endif
#else
typedef struct ISearchFolderItemFactoryVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISearchFolderItemFactory *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISearchFolderItemFactory *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISearchFolderItemFactory *This);
/*** ISearchFolderItemFactory methods ***/
HRESULT (STDMETHODCALLTYPE *SetDisplayName)(
ISearchFolderItemFactory *This,
LPCWSTR pszDisplayName);
HRESULT (STDMETHODCALLTYPE *SetFolderTypeID)(
ISearchFolderItemFactory *This,
FOLDERTYPEID ftid);
HRESULT (STDMETHODCALLTYPE *SetFolderLogicalViewMode)(
ISearchFolderItemFactory *This,
FOLDERLOGICALVIEWMODE flvm);
HRESULT (STDMETHODCALLTYPE *SetIconSize)(
ISearchFolderItemFactory *This,
int iIconSize);
HRESULT (STDMETHODCALLTYPE *SetVisibleColumns)(
ISearchFolderItemFactory *This,
UINT cVisibleColumns,
PROPERTYKEY *rgKey);
HRESULT (STDMETHODCALLTYPE *SetSortColumns)(
ISearchFolderItemFactory *This,
UINT cSortColumns,
SORTCOLUMN *rgSortColumns);
HRESULT (STDMETHODCALLTYPE *SetGroupColumn)(
ISearchFolderItemFactory *This,
REFPROPERTYKEY keyGroup);
HRESULT (STDMETHODCALLTYPE *SetStacks)(
ISearchFolderItemFactory *This,
UINT cStackKeys,
PROPERTYKEY *rgStackKeys);
HRESULT (STDMETHODCALLTYPE *SetScope)(
ISearchFolderItemFactory *This,
IShellItemArray *psiaScope);
HRESULT (STDMETHODCALLTYPE *SetCondition)(
ISearchFolderItemFactory *This,
ICondition *pCondition);
HRESULT (STDMETHODCALLTYPE *GetShellItem)(
ISearchFolderItemFactory *This,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *GetIDList)(
ISearchFolderItemFactory *This,
PIDLIST_ABSOLUTE *ppidl);
END_INTERFACE
} ISearchFolderItemFactoryVtbl;
interface ISearchFolderItemFactory {
CONST_VTBL ISearchFolderItemFactoryVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISearchFolderItemFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISearchFolderItemFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISearchFolderItemFactory_Release(This) (This)->lpVtbl->Release(This)
/*** ISearchFolderItemFactory methods ***/
#define ISearchFolderItemFactory_SetDisplayName(This,pszDisplayName) (This)->lpVtbl->SetDisplayName(This,pszDisplayName)
#define ISearchFolderItemFactory_SetFolderTypeID(This,ftid) (This)->lpVtbl->SetFolderTypeID(This,ftid)
#define ISearchFolderItemFactory_SetFolderLogicalViewMode(This,flvm) (This)->lpVtbl->SetFolderLogicalViewMode(This,flvm)
#define ISearchFolderItemFactory_SetIconSize(This,iIconSize) (This)->lpVtbl->SetIconSize(This,iIconSize)
#define ISearchFolderItemFactory_SetVisibleColumns(This,cVisibleColumns,rgKey) (This)->lpVtbl->SetVisibleColumns(This,cVisibleColumns,rgKey)
#define ISearchFolderItemFactory_SetSortColumns(This,cSortColumns,rgSortColumns) (This)->lpVtbl->SetSortColumns(This,cSortColumns,rgSortColumns)
#define ISearchFolderItemFactory_SetGroupColumn(This,keyGroup) (This)->lpVtbl->SetGroupColumn(This,keyGroup)
#define ISearchFolderItemFactory_SetStacks(This,cStackKeys,rgStackKeys) (This)->lpVtbl->SetStacks(This,cStackKeys,rgStackKeys)
#define ISearchFolderItemFactory_SetScope(This,psiaScope) (This)->lpVtbl->SetScope(This,psiaScope)
#define ISearchFolderItemFactory_SetCondition(This,pCondition) (This)->lpVtbl->SetCondition(This,pCondition)
#define ISearchFolderItemFactory_GetShellItem(This,riid,ppv) (This)->lpVtbl->GetShellItem(This,riid,ppv)
#define ISearchFolderItemFactory_GetIDList(This,ppidl) (This)->lpVtbl->GetIDList(This,ppidl)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISearchFolderItemFactory_QueryInterface(ISearchFolderItemFactory* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISearchFolderItemFactory_AddRef(ISearchFolderItemFactory* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISearchFolderItemFactory_Release(ISearchFolderItemFactory* This) {
return This->lpVtbl->Release(This);
}
/*** ISearchFolderItemFactory methods ***/
static FORCEINLINE HRESULT ISearchFolderItemFactory_SetDisplayName(ISearchFolderItemFactory* This,LPCWSTR pszDisplayName) {
return This->lpVtbl->SetDisplayName(This,pszDisplayName);
}
static FORCEINLINE HRESULT ISearchFolderItemFactory_SetFolderTypeID(ISearchFolderItemFactory* This,FOLDERTYPEID ftid) {
return This->lpVtbl->SetFolderTypeID(This,ftid);
}
static FORCEINLINE HRESULT ISearchFolderItemFactory_SetFolderLogicalViewMode(ISearchFolderItemFactory* This,FOLDERLOGICALVIEWMODE flvm) {
return This->lpVtbl->SetFolderLogicalViewMode(This,flvm);
}
static FORCEINLINE HRESULT ISearchFolderItemFactory_SetIconSize(ISearchFolderItemFactory* This,int iIconSize) {
return This->lpVtbl->SetIconSize(This,iIconSize);
}
static FORCEINLINE HRESULT ISearchFolderItemFactory_SetVisibleColumns(ISearchFolderItemFactory* This,UINT cVisibleColumns,PROPERTYKEY *rgKey) {
return This->lpVtbl->SetVisibleColumns(This,cVisibleColumns,rgKey);
}
static FORCEINLINE HRESULT ISearchFolderItemFactory_SetSortColumns(ISearchFolderItemFactory* This,UINT cSortColumns,SORTCOLUMN *rgSortColumns) {
return This->lpVtbl->SetSortColumns(This,cSortColumns,rgSortColumns);
}
static FORCEINLINE HRESULT ISearchFolderItemFactory_SetGroupColumn(ISearchFolderItemFactory* This,REFPROPERTYKEY keyGroup) {
return This->lpVtbl->SetGroupColumn(This,keyGroup);
}
static FORCEINLINE HRESULT ISearchFolderItemFactory_SetStacks(ISearchFolderItemFactory* This,UINT cStackKeys,PROPERTYKEY *rgStackKeys) {
return This->lpVtbl->SetStacks(This,cStackKeys,rgStackKeys);
}
static FORCEINLINE HRESULT ISearchFolderItemFactory_SetScope(ISearchFolderItemFactory* This,IShellItemArray *psiaScope) {
return This->lpVtbl->SetScope(This,psiaScope);
}
static FORCEINLINE HRESULT ISearchFolderItemFactory_SetCondition(ISearchFolderItemFactory* This,ICondition *pCondition) {
return This->lpVtbl->SetCondition(This,pCondition);
}
static FORCEINLINE HRESULT ISearchFolderItemFactory_GetShellItem(ISearchFolderItemFactory* This,REFIID riid,void **ppv) {
return This->lpVtbl->GetShellItem(This,riid,ppv);
}
static FORCEINLINE HRESULT ISearchFolderItemFactory_GetIDList(ISearchFolderItemFactory* This,PIDLIST_ABSOLUTE *ppidl) {
return This->lpVtbl->GetIDList(This,ppidl);
}
#endif
#endif
#endif
#endif /* __ISearchFolderItemFactory_INTERFACE_DEFINED__ */
#endif
#define IEI_PRIORITY_MAX ITSAT_MAX_PRIORITY
#define IEI_PRIORITY_MIN ITSAT_MIN_PRIORITY
#define IEIT_PRIORITY_NORMAL ITSAT_DEFAULT_PRIORITY
#define IEIFLAG_ASYNC 0x0001
#define IEIFLAG_CACHE 0x0002
#define IEIFLAG_ASPECT 0x0004
#define IEIFLAG_OFFLINE 0x0008
#define IEIFLAG_GLEAM 0x0010
#define IEIFLAG_SCREEN 0x0020
#define IEIFLAG_ORIGSIZE 0x0040
#define IEIFLAG_NOSTAMP 0x0080
#define IEIFLAG_NOBORDER 0x0100
#define IEIFLAG_QUALITY 0x0200
#define IEIFLAG_REFRESH 0x0400
/*****************************************************************************
* IExtractImage interface
*/
#ifndef __IExtractImage_INTERFACE_DEFINED__
#define __IExtractImage_INTERFACE_DEFINED__
DEFINE_GUID(IID_IExtractImage, 0xbb2e617c, 0x0920, 0x11d1, 0x9a,0x0b, 0x00,0xc0,0x4f,0xc2,0xd6,0xc1);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("bb2e617c-0920-11d1-9a0b-00c04fc2d6c1")
IExtractImage : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetLocation(
LPWSTR pszPathBuffer,
DWORD cch,
DWORD *pdwPriority,
const SIZE *prgSize,
DWORD dwRecClrDepth,
DWORD *pdwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE Extract(
HBITMAP *phBmpThumbnail) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IExtractImage, 0xbb2e617c, 0x0920, 0x11d1, 0x9a,0x0b, 0x00,0xc0,0x4f,0xc2,0xd6,0xc1)
#endif
#else
typedef struct IExtractImageVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IExtractImage *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IExtractImage *This);
ULONG (STDMETHODCALLTYPE *Release)(
IExtractImage *This);
/*** IExtractImage methods ***/
HRESULT (STDMETHODCALLTYPE *GetLocation)(
IExtractImage *This,
LPWSTR pszPathBuffer,
DWORD cch,
DWORD *pdwPriority,
const SIZE *prgSize,
DWORD dwRecClrDepth,
DWORD *pdwFlags);
HRESULT (STDMETHODCALLTYPE *Extract)(
IExtractImage *This,
HBITMAP *phBmpThumbnail);
END_INTERFACE
} IExtractImageVtbl;
interface IExtractImage {
CONST_VTBL IExtractImageVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IExtractImage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IExtractImage_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IExtractImage_Release(This) (This)->lpVtbl->Release(This)
/*** IExtractImage methods ***/
#define IExtractImage_GetLocation(This,pszPathBuffer,cch,pdwPriority,prgSize,dwRecClrDepth,pdwFlags) (This)->lpVtbl->GetLocation(This,pszPathBuffer,cch,pdwPriority,prgSize,dwRecClrDepth,pdwFlags)
#define IExtractImage_Extract(This,phBmpThumbnail) (This)->lpVtbl->Extract(This,phBmpThumbnail)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IExtractImage_QueryInterface(IExtractImage* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IExtractImage_AddRef(IExtractImage* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IExtractImage_Release(IExtractImage* This) {
return This->lpVtbl->Release(This);
}
/*** IExtractImage methods ***/
static FORCEINLINE HRESULT IExtractImage_GetLocation(IExtractImage* This,LPWSTR pszPathBuffer,DWORD cch,DWORD *pdwPriority,const SIZE *prgSize,DWORD dwRecClrDepth,DWORD *pdwFlags) {
return This->lpVtbl->GetLocation(This,pszPathBuffer,cch,pdwPriority,prgSize,dwRecClrDepth,pdwFlags);
}
static FORCEINLINE HRESULT IExtractImage_Extract(IExtractImage* This,HBITMAP *phBmpThumbnail) {
return This->lpVtbl->Extract(This,phBmpThumbnail);
}
#endif
#endif
#endif
#endif /* __IExtractImage_INTERFACE_DEFINED__ */
typedef IExtractImage *LPEXTRACTIMAGE;
/*****************************************************************************
* IExtractImage2 interface
*/
#ifndef __IExtractImage2_INTERFACE_DEFINED__
#define __IExtractImage2_INTERFACE_DEFINED__
DEFINE_GUID(IID_IExtractImage2, 0x953bb1ee, 0x93b4, 0x11d1, 0x98,0xa3, 0x00,0xc0,0x4f,0xb6,0x87,0xda);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("953bb1ee-93b4-11d1-98a3-00c04fb687da")
IExtractImage2 : public IExtractImage
{
virtual HRESULT STDMETHODCALLTYPE GetDateStamp(
FILETIME *pDateStamp) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IExtractImage2, 0x953bb1ee, 0x93b4, 0x11d1, 0x98,0xa3, 0x00,0xc0,0x4f,0xb6,0x87,0xda)
#endif
#else
typedef struct IExtractImage2Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IExtractImage2 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IExtractImage2 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IExtractImage2 *This);
/*** IExtractImage methods ***/
HRESULT (STDMETHODCALLTYPE *GetLocation)(
IExtractImage2 *This,
LPWSTR pszPathBuffer,
DWORD cch,
DWORD *pdwPriority,
const SIZE *prgSize,
DWORD dwRecClrDepth,
DWORD *pdwFlags);
HRESULT (STDMETHODCALLTYPE *Extract)(
IExtractImage2 *This,
HBITMAP *phBmpThumbnail);
/*** IExtractImage2 methods ***/
HRESULT (STDMETHODCALLTYPE *GetDateStamp)(
IExtractImage2 *This,
FILETIME *pDateStamp);
END_INTERFACE
} IExtractImage2Vtbl;
interface IExtractImage2 {
CONST_VTBL IExtractImage2Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IExtractImage2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IExtractImage2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IExtractImage2_Release(This) (This)->lpVtbl->Release(This)
/*** IExtractImage methods ***/
#define IExtractImage2_GetLocation(This,pszPathBuffer,cch,pdwPriority,prgSize,dwRecClrDepth,pdwFlags) (This)->lpVtbl->GetLocation(This,pszPathBuffer,cch,pdwPriority,prgSize,dwRecClrDepth,pdwFlags)
#define IExtractImage2_Extract(This,phBmpThumbnail) (This)->lpVtbl->Extract(This,phBmpThumbnail)
/*** IExtractImage2 methods ***/
#define IExtractImage2_GetDateStamp(This,pDateStamp) (This)->lpVtbl->GetDateStamp(This,pDateStamp)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IExtractImage2_QueryInterface(IExtractImage2* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IExtractImage2_AddRef(IExtractImage2* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IExtractImage2_Release(IExtractImage2* This) {
return This->lpVtbl->Release(This);
}
/*** IExtractImage methods ***/
static FORCEINLINE HRESULT IExtractImage2_GetLocation(IExtractImage2* This,LPWSTR pszPathBuffer,DWORD cch,DWORD *pdwPriority,const SIZE *prgSize,DWORD dwRecClrDepth,DWORD *pdwFlags) {
return This->lpVtbl->GetLocation(This,pszPathBuffer,cch,pdwPriority,prgSize,dwRecClrDepth,pdwFlags);
}
static FORCEINLINE HRESULT IExtractImage2_Extract(IExtractImage2* This,HBITMAP *phBmpThumbnail) {
return This->lpVtbl->Extract(This,phBmpThumbnail);
}
/*** IExtractImage2 methods ***/
static FORCEINLINE HRESULT IExtractImage2_GetDateStamp(IExtractImage2* This,FILETIME *pDateStamp) {
return This->lpVtbl->GetDateStamp(This,pDateStamp);
}
#endif
#endif
#endif
#endif /* __IExtractImage2_INTERFACE_DEFINED__ */
typedef IExtractImage2 *LPEXTRACTIMAGE2;
/*****************************************************************************
* IThumbnailHandlerFactory interface
*/
#ifndef __IThumbnailHandlerFactory_INTERFACE_DEFINED__
#define __IThumbnailHandlerFactory_INTERFACE_DEFINED__
DEFINE_GUID(IID_IThumbnailHandlerFactory, 0xe35b4b2e, 0x00da, 0x4bc1, 0x9f,0x13, 0x38,0xbc,0x11,0xf5,0xd4,0x17);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("e35b4b2e-00da-4bc1-9f13-38bc11f5d417")
IThumbnailHandlerFactory : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetThumbnailHandler(
PCUITEMID_CHILD pidlChild,
IBindCtx *pbc,
REFIID riid,
void **ppv) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IThumbnailHandlerFactory, 0xe35b4b2e, 0x00da, 0x4bc1, 0x9f,0x13, 0x38,0xbc,0x11,0xf5,0xd4,0x17)
#endif
#else
typedef struct IThumbnailHandlerFactoryVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IThumbnailHandlerFactory *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IThumbnailHandlerFactory *This);
ULONG (STDMETHODCALLTYPE *Release)(
IThumbnailHandlerFactory *This);
/*** IThumbnailHandlerFactory methods ***/
HRESULT (STDMETHODCALLTYPE *GetThumbnailHandler)(
IThumbnailHandlerFactory *This,
PCUITEMID_CHILD pidlChild,
IBindCtx *pbc,
REFIID riid,
void **ppv);
END_INTERFACE
} IThumbnailHandlerFactoryVtbl;
interface IThumbnailHandlerFactory {
CONST_VTBL IThumbnailHandlerFactoryVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IThumbnailHandlerFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IThumbnailHandlerFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IThumbnailHandlerFactory_Release(This) (This)->lpVtbl->Release(This)
/*** IThumbnailHandlerFactory methods ***/
#define IThumbnailHandlerFactory_GetThumbnailHandler(This,pidlChild,pbc,riid,ppv) (This)->lpVtbl->GetThumbnailHandler(This,pidlChild,pbc,riid,ppv)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IThumbnailHandlerFactory_QueryInterface(IThumbnailHandlerFactory* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IThumbnailHandlerFactory_AddRef(IThumbnailHandlerFactory* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IThumbnailHandlerFactory_Release(IThumbnailHandlerFactory* This) {
return This->lpVtbl->Release(This);
}
/*** IThumbnailHandlerFactory methods ***/
static FORCEINLINE HRESULT IThumbnailHandlerFactory_GetThumbnailHandler(IThumbnailHandlerFactory* This,PCUITEMID_CHILD pidlChild,IBindCtx *pbc,REFIID riid,void **ppv) {
return This->lpVtbl->GetThumbnailHandler(This,pidlChild,pbc,riid,ppv);
}
#endif
#endif
#endif
#endif /* __IThumbnailHandlerFactory_INTERFACE_DEFINED__ */
/*****************************************************************************
* IParentAndItem interface
*/
#ifndef __IParentAndItem_INTERFACE_DEFINED__
#define __IParentAndItem_INTERFACE_DEFINED__
DEFINE_GUID(IID_IParentAndItem, 0xb3a4b685, 0xb685, 0x4805, 0x99,0xd9, 0x5d,0xea,0xd2,0x87,0x32,0x36);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("b3a4b685-b685-4805-99d9-5dead2873236")
IParentAndItem : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetParentAndItem(
PCIDLIST_ABSOLUTE pidlParent,
IShellFolder *psf,
PCUITEMID_CHILD pidlChild) = 0;
virtual HRESULT STDMETHODCALLTYPE GetParentAndItem(
PIDLIST_ABSOLUTE *ppidlParent,
IShellFolder **ppsf,
PITEMID_CHILD *ppidlChild) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IParentAndItem, 0xb3a4b685, 0xb685, 0x4805, 0x99,0xd9, 0x5d,0xea,0xd2,0x87,0x32,0x36)
#endif
#else
typedef struct IParentAndItemVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IParentAndItem *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IParentAndItem *This);
ULONG (STDMETHODCALLTYPE *Release)(
IParentAndItem *This);
/*** IParentAndItem methods ***/
HRESULT (STDMETHODCALLTYPE *SetParentAndItem)(
IParentAndItem *This,
PCIDLIST_ABSOLUTE pidlParent,
IShellFolder *psf,
PCUITEMID_CHILD pidlChild);
HRESULT (STDMETHODCALLTYPE *GetParentAndItem)(
IParentAndItem *This,
PIDLIST_ABSOLUTE *ppidlParent,
IShellFolder **ppsf,
PITEMID_CHILD *ppidlChild);
END_INTERFACE
} IParentAndItemVtbl;
interface IParentAndItem {
CONST_VTBL IParentAndItemVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IParentAndItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IParentAndItem_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IParentAndItem_Release(This) (This)->lpVtbl->Release(This)
/*** IParentAndItem methods ***/
#define IParentAndItem_SetParentAndItem(This,pidlParent,psf,pidlChild) (This)->lpVtbl->SetParentAndItem(This,pidlParent,psf,pidlChild)
#define IParentAndItem_GetParentAndItem(This,ppidlParent,ppsf,ppidlChild) (This)->lpVtbl->GetParentAndItem(This,ppidlParent,ppsf,ppidlChild)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IParentAndItem_QueryInterface(IParentAndItem* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IParentAndItem_AddRef(IParentAndItem* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IParentAndItem_Release(IParentAndItem* This) {
return This->lpVtbl->Release(This);
}
/*** IParentAndItem methods ***/
static FORCEINLINE HRESULT IParentAndItem_SetParentAndItem(IParentAndItem* This,PCIDLIST_ABSOLUTE pidlParent,IShellFolder *psf,PCUITEMID_CHILD pidlChild) {
return This->lpVtbl->SetParentAndItem(This,pidlParent,psf,pidlChild);
}
static FORCEINLINE HRESULT IParentAndItem_GetParentAndItem(IParentAndItem* This,PIDLIST_ABSOLUTE *ppidlParent,IShellFolder **ppsf,PITEMID_CHILD *ppidlChild) {
return This->lpVtbl->GetParentAndItem(This,ppidlParent,ppsf,ppidlChild);
}
#endif
#endif
#endif
HRESULT STDMETHODCALLTYPE IParentAndItem_RemoteGetParentAndItem_Proxy(
IParentAndItem* This,
PIDLIST_ABSOLUTE *ppidlParent,
IShellFolder **ppsf,
PITEMID_CHILD *ppidlChild);
void __RPC_STUB IParentAndItem_RemoteGetParentAndItem_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IParentAndItem_GetParentAndItem_Proxy(
IParentAndItem* This,
PIDLIST_ABSOLUTE *ppidlParent,
IShellFolder **ppsf,
PITEMID_CHILD *ppidlChild);
HRESULT __RPC_STUB IParentAndItem_GetParentAndItem_Stub(
IParentAndItem* This,
PIDLIST_ABSOLUTE *ppidlParent,
IShellFolder **ppsf,
PITEMID_CHILD *ppidlChild);
#endif /* __IParentAndItem_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDockingWindow interface
*/
#ifndef __IDockingWindow_INTERFACE_DEFINED__
#define __IDockingWindow_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDockingWindow, 0x012dd920, 0x7b26, 0x11d0, 0x8c,0xa9, 0x00,0xa0,0xc9,0x2d,0xbf,0xe8);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("012dd920-7b26-11d0-8ca9-00a0c92dbfe8")
IDockingWindow : public IOleWindow
{
virtual HRESULT STDMETHODCALLTYPE ShowDW(
WINBOOL fShow) = 0;
virtual HRESULT STDMETHODCALLTYPE CloseDW(
DWORD dwReserved) = 0;
virtual HRESULT STDMETHODCALLTYPE ResizeBorderDW(
LPCRECT prcBorder,
IUnknown *punkToolbarSite,
WINBOOL fReserved) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDockingWindow, 0x012dd920, 0x7b26, 0x11d0, 0x8c,0xa9, 0x00,0xa0,0xc9,0x2d,0xbf,0xe8)
#endif
#else
typedef struct IDockingWindowVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDockingWindow *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDockingWindow *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDockingWindow *This);
/*** IOleWindow methods ***/
HRESULT (STDMETHODCALLTYPE *GetWindow)(
IDockingWindow *This,
HWND *phwnd);
HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
IDockingWindow *This,
WINBOOL fEnterMode);
/*** IDockingWindow methods ***/
HRESULT (STDMETHODCALLTYPE *ShowDW)(
IDockingWindow *This,
WINBOOL fShow);
HRESULT (STDMETHODCALLTYPE *CloseDW)(
IDockingWindow *This,
DWORD dwReserved);
HRESULT (STDMETHODCALLTYPE *ResizeBorderDW)(
IDockingWindow *This,
LPCRECT prcBorder,
IUnknown *punkToolbarSite,
WINBOOL fReserved);
END_INTERFACE
} IDockingWindowVtbl;
interface IDockingWindow {
CONST_VTBL IDockingWindowVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDockingWindow_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDockingWindow_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDockingWindow_Release(This) (This)->lpVtbl->Release(This)
/*** IOleWindow methods ***/
#define IDockingWindow_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
#define IDockingWindow_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
/*** IDockingWindow methods ***/
#define IDockingWindow_ShowDW(This,fShow) (This)->lpVtbl->ShowDW(This,fShow)
#define IDockingWindow_CloseDW(This,dwReserved) (This)->lpVtbl->CloseDW(This,dwReserved)
#define IDockingWindow_ResizeBorderDW(This,prcBorder,punkToolbarSite,fReserved) (This)->lpVtbl->ResizeBorderDW(This,prcBorder,punkToolbarSite,fReserved)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDockingWindow_QueryInterface(IDockingWindow* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDockingWindow_AddRef(IDockingWindow* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDockingWindow_Release(IDockingWindow* This) {
return This->lpVtbl->Release(This);
}
/*** IOleWindow methods ***/
static FORCEINLINE HRESULT IDockingWindow_GetWindow(IDockingWindow* This,HWND *phwnd) {
return This->lpVtbl->GetWindow(This,phwnd);
}
static FORCEINLINE HRESULT IDockingWindow_ContextSensitiveHelp(IDockingWindow* This,WINBOOL fEnterMode) {
return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode);
}
/*** IDockingWindow methods ***/
static FORCEINLINE HRESULT IDockingWindow_ShowDW(IDockingWindow* This,WINBOOL fShow) {
return This->lpVtbl->ShowDW(This,fShow);
}
static FORCEINLINE HRESULT IDockingWindow_CloseDW(IDockingWindow* This,DWORD dwReserved) {
return This->lpVtbl->CloseDW(This,dwReserved);
}
static FORCEINLINE HRESULT IDockingWindow_ResizeBorderDW(IDockingWindow* This,LPCRECT prcBorder,IUnknown *punkToolbarSite,WINBOOL fReserved) {
return This->lpVtbl->ResizeBorderDW(This,prcBorder,punkToolbarSite,fReserved);
}
#endif
#endif
#endif
#endif /* __IDockingWindow_INTERFACE_DEFINED__ */
#define DBIM_MINSIZE 0x0001
#define DBIM_MAXSIZE 0x0002
#define DBIM_INTEGRAL 0x0004
#define DBIM_ACTUAL 0x0008
#define DBIM_TITLE 0x0010
#define DBIM_MODEFLAGS 0x0020
#define DBIM_BKCOLOR 0x0040
#include <pshpack8.h>
typedef struct DESKBANDINFO {
DWORD dwMask;
POINTL ptMinSize;
POINTL ptMaxSize;
POINTL ptIntegral;
POINTL ptActual;
WCHAR wszTitle[256];
DWORD dwModeFlags;
COLORREF crBkgnd;
} DESKBANDINFO;
#include <poppack.h>
#define DBIMF_NORMAL 0x0000
#define DBIMF_FIXED 0x0001
#define DBIMF_FIXEDBMP 0x0004
#define DBIMF_VARIABLEHEIGHT 0x0008
#define DBIMF_UNDELETEABLE 0x0010
#define DBIMF_DEBOSSED 0x0020
#define DBIMF_BKCOLOR 0x0040
#define DBIMF_USECHEVRON 0x0080
#define DBIMF_BREAK 0x0100
#define DBIMF_ADDTOFRONT 0x0200
#define DBIMF_TOPALIGN 0x0400
#if NTDDI_VERSION >= NTDDI_VISTA
#define DBIMF_NOGRIPPER 0x0800
#define DBIMF_ALWAYSGRIPPER 0x1000
#define DBIMF_NOMARGINS 0x2000
#endif
#define DBIF_VIEWMODE_NORMAL 0x0000
#define DBIF_VIEWMODE_VERTICAL 0x0001
#define DBIF_VIEWMODE_FLOATING 0x0002
#define DBIF_VIEWMODE_TRANSPARENT 0x0004
enum tagDESKBANDCID {
DBID_BANDINFOCHANGED = 0,
DBID_SHOWONLY = 1,
DBID_MAXIMIZEBAND = 2,
DBID_PUSHCHEVRON = 3,
DBID_DELAYINIT = 4,
DBID_FINISHINIT = 5,
DBID_SETWINDOWTHEME = 6,
DBID_PERMITAUTOHIDE = 7
};
#define DBPC_SELECTFIRST (DWORD)-1
#define DBPC_SELECTLAST (DWORD)-2
#define CGID_DeskBand IID_IDeskBand
/*****************************************************************************
* IDeskBand interface
*/
#ifndef __IDeskBand_INTERFACE_DEFINED__
#define __IDeskBand_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeskBand, 0xeb0fe172, 0x1a3a, 0x11d0, 0x89,0xb3, 0x00,0xa0,0xc9,0x0a,0x90,0xac);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("eb0fe172-1a3a-11d0-89b3-00a0c90a90ac")
IDeskBand : public IDockingWindow
{
virtual HRESULT STDMETHODCALLTYPE GetBandInfo(
DWORD dwBandID,
DWORD dwViewMode,
DESKBANDINFO *pdbi) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeskBand, 0xeb0fe172, 0x1a3a, 0x11d0, 0x89,0xb3, 0x00,0xa0,0xc9,0x0a,0x90,0xac)
#endif
#else
typedef struct IDeskBandVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeskBand *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeskBand *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeskBand *This);
/*** IOleWindow methods ***/
HRESULT (STDMETHODCALLTYPE *GetWindow)(
IDeskBand *This,
HWND *phwnd);
HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
IDeskBand *This,
WINBOOL fEnterMode);
/*** IDockingWindow methods ***/
HRESULT (STDMETHODCALLTYPE *ShowDW)(
IDeskBand *This,
WINBOOL fShow);
HRESULT (STDMETHODCALLTYPE *CloseDW)(
IDeskBand *This,
DWORD dwReserved);
HRESULT (STDMETHODCALLTYPE *ResizeBorderDW)(
IDeskBand *This,
LPCRECT prcBorder,
IUnknown *punkToolbarSite,
WINBOOL fReserved);
/*** IDeskBand methods ***/
HRESULT (STDMETHODCALLTYPE *GetBandInfo)(
IDeskBand *This,
DWORD dwBandID,
DWORD dwViewMode,
DESKBANDINFO *pdbi);
END_INTERFACE
} IDeskBandVtbl;
interface IDeskBand {
CONST_VTBL IDeskBandVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeskBand_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeskBand_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeskBand_Release(This) (This)->lpVtbl->Release(This)
/*** IOleWindow methods ***/
#define IDeskBand_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
#define IDeskBand_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
/*** IDockingWindow methods ***/
#define IDeskBand_ShowDW(This,fShow) (This)->lpVtbl->ShowDW(This,fShow)
#define IDeskBand_CloseDW(This,dwReserved) (This)->lpVtbl->CloseDW(This,dwReserved)
#define IDeskBand_ResizeBorderDW(This,prcBorder,punkToolbarSite,fReserved) (This)->lpVtbl->ResizeBorderDW(This,prcBorder,punkToolbarSite,fReserved)
/*** IDeskBand methods ***/
#define IDeskBand_GetBandInfo(This,dwBandID,dwViewMode,pdbi) (This)->lpVtbl->GetBandInfo(This,dwBandID,dwViewMode,pdbi)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeskBand_QueryInterface(IDeskBand* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeskBand_AddRef(IDeskBand* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeskBand_Release(IDeskBand* This) {
return This->lpVtbl->Release(This);
}
/*** IOleWindow methods ***/
static FORCEINLINE HRESULT IDeskBand_GetWindow(IDeskBand* This,HWND *phwnd) {
return This->lpVtbl->GetWindow(This,phwnd);
}
static FORCEINLINE HRESULT IDeskBand_ContextSensitiveHelp(IDeskBand* This,WINBOOL fEnterMode) {
return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode);
}
/*** IDockingWindow methods ***/
static FORCEINLINE HRESULT IDeskBand_ShowDW(IDeskBand* This,WINBOOL fShow) {
return This->lpVtbl->ShowDW(This,fShow);
}
static FORCEINLINE HRESULT IDeskBand_CloseDW(IDeskBand* This,DWORD dwReserved) {
return This->lpVtbl->CloseDW(This,dwReserved);
}
static FORCEINLINE HRESULT IDeskBand_ResizeBorderDW(IDeskBand* This,LPCRECT prcBorder,IUnknown *punkToolbarSite,WINBOOL fReserved) {
return This->lpVtbl->ResizeBorderDW(This,prcBorder,punkToolbarSite,fReserved);
}
/*** IDeskBand methods ***/
static FORCEINLINE HRESULT IDeskBand_GetBandInfo(IDeskBand* This,DWORD dwBandID,DWORD dwViewMode,DESKBANDINFO *pdbi) {
return This->lpVtbl->GetBandInfo(This,dwBandID,dwViewMode,pdbi);
}
#endif
#endif
#endif
#endif /* __IDeskBand_INTERFACE_DEFINED__ */
#if NTDDI_VERSION >= NTDDI_VISTA
/*****************************************************************************
* IDeskBandInfo interface
*/
#ifndef __IDeskBandInfo_INTERFACE_DEFINED__
#define __IDeskBandInfo_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeskBandInfo, 0x77e425fc, 0xcbf9, 0x4307, 0xba,0x6a, 0xbb,0x57,0x27,0x74,0x56,0x61);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("77e425fc-cbf9-4307-ba6a-bb5727745661")
IDeskBandInfo : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetDefaultBandWidth(
DWORD dwBandID,
DWORD dwViewMode,
int *pnWidth) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeskBandInfo, 0x77e425fc, 0xcbf9, 0x4307, 0xba,0x6a, 0xbb,0x57,0x27,0x74,0x56,0x61)
#endif
#else
typedef struct IDeskBandInfoVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeskBandInfo *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeskBandInfo *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeskBandInfo *This);
/*** IDeskBandInfo methods ***/
HRESULT (STDMETHODCALLTYPE *GetDefaultBandWidth)(
IDeskBandInfo *This,
DWORD dwBandID,
DWORD dwViewMode,
int *pnWidth);
END_INTERFACE
} IDeskBandInfoVtbl;
interface IDeskBandInfo {
CONST_VTBL IDeskBandInfoVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeskBandInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeskBandInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeskBandInfo_Release(This) (This)->lpVtbl->Release(This)
/*** IDeskBandInfo methods ***/
#define IDeskBandInfo_GetDefaultBandWidth(This,dwBandID,dwViewMode,pnWidth) (This)->lpVtbl->GetDefaultBandWidth(This,dwBandID,dwViewMode,pnWidth)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeskBandInfo_QueryInterface(IDeskBandInfo* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeskBandInfo_AddRef(IDeskBandInfo* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeskBandInfo_Release(IDeskBandInfo* This) {
return This->lpVtbl->Release(This);
}
/*** IDeskBandInfo methods ***/
static FORCEINLINE HRESULT IDeskBandInfo_GetDefaultBandWidth(IDeskBandInfo* This,DWORD dwBandID,DWORD dwViewMode,int *pnWidth) {
return This->lpVtbl->GetDefaultBandWidth(This,dwBandID,dwViewMode,pnWidth);
}
#endif
#endif
#endif
#endif /* __IDeskBandInfo_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDeskBand2 interface
*/
#ifndef __IDeskBand2_INTERFACE_DEFINED__
#define __IDeskBand2_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeskBand2, 0x79d16de4, 0xabee, 0x4021, 0x8d,0x9d, 0x91,0x69,0xb2,0x61,0xd6,0x57);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("79d16de4-abee-4021-8d9d-9169b261d657")
IDeskBand2 : public IDeskBand
{
virtual HRESULT STDMETHODCALLTYPE CanRenderComposited(
WINBOOL *pfCanRenderComposited) = 0;
virtual HRESULT STDMETHODCALLTYPE SetCompositionState(
WINBOOL fCompositionEnabled) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCompositionState(
WINBOOL *pfCompositionEnabled) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeskBand2, 0x79d16de4, 0xabee, 0x4021, 0x8d,0x9d, 0x91,0x69,0xb2,0x61,0xd6,0x57)
#endif
#else
typedef struct IDeskBand2Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeskBand2 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeskBand2 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeskBand2 *This);
/*** IOleWindow methods ***/
HRESULT (STDMETHODCALLTYPE *GetWindow)(
IDeskBand2 *This,
HWND *phwnd);
HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
IDeskBand2 *This,
WINBOOL fEnterMode);
/*** IDockingWindow methods ***/
HRESULT (STDMETHODCALLTYPE *ShowDW)(
IDeskBand2 *This,
WINBOOL fShow);
HRESULT (STDMETHODCALLTYPE *CloseDW)(
IDeskBand2 *This,
DWORD dwReserved);
HRESULT (STDMETHODCALLTYPE *ResizeBorderDW)(
IDeskBand2 *This,
LPCRECT prcBorder,
IUnknown *punkToolbarSite,
WINBOOL fReserved);
/*** IDeskBand methods ***/
HRESULT (STDMETHODCALLTYPE *GetBandInfo)(
IDeskBand2 *This,
DWORD dwBandID,
DWORD dwViewMode,
DESKBANDINFO *pdbi);
/*** IDeskBand2 methods ***/
HRESULT (STDMETHODCALLTYPE *CanRenderComposited)(
IDeskBand2 *This,
WINBOOL *pfCanRenderComposited);
HRESULT (STDMETHODCALLTYPE *SetCompositionState)(
IDeskBand2 *This,
WINBOOL fCompositionEnabled);
HRESULT (STDMETHODCALLTYPE *GetCompositionState)(
IDeskBand2 *This,
WINBOOL *pfCompositionEnabled);
END_INTERFACE
} IDeskBand2Vtbl;
interface IDeskBand2 {
CONST_VTBL IDeskBand2Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeskBand2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeskBand2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeskBand2_Release(This) (This)->lpVtbl->Release(This)
/*** IOleWindow methods ***/
#define IDeskBand2_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
#define IDeskBand2_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
/*** IDockingWindow methods ***/
#define IDeskBand2_ShowDW(This,fShow) (This)->lpVtbl->ShowDW(This,fShow)
#define IDeskBand2_CloseDW(This,dwReserved) (This)->lpVtbl->CloseDW(This,dwReserved)
#define IDeskBand2_ResizeBorderDW(This,prcBorder,punkToolbarSite,fReserved) (This)->lpVtbl->ResizeBorderDW(This,prcBorder,punkToolbarSite,fReserved)
/*** IDeskBand methods ***/
#define IDeskBand2_GetBandInfo(This,dwBandID,dwViewMode,pdbi) (This)->lpVtbl->GetBandInfo(This,dwBandID,dwViewMode,pdbi)
/*** IDeskBand2 methods ***/
#define IDeskBand2_CanRenderComposited(This,pfCanRenderComposited) (This)->lpVtbl->CanRenderComposited(This,pfCanRenderComposited)
#define IDeskBand2_SetCompositionState(This,fCompositionEnabled) (This)->lpVtbl->SetCompositionState(This,fCompositionEnabled)
#define IDeskBand2_GetCompositionState(This,pfCompositionEnabled) (This)->lpVtbl->GetCompositionState(This,pfCompositionEnabled)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeskBand2_QueryInterface(IDeskBand2* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeskBand2_AddRef(IDeskBand2* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeskBand2_Release(IDeskBand2* This) {
return This->lpVtbl->Release(This);
}
/*** IOleWindow methods ***/
static FORCEINLINE HRESULT IDeskBand2_GetWindow(IDeskBand2* This,HWND *phwnd) {
return This->lpVtbl->GetWindow(This,phwnd);
}
static FORCEINLINE HRESULT IDeskBand2_ContextSensitiveHelp(IDeskBand2* This,WINBOOL fEnterMode) {
return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode);
}
/*** IDockingWindow methods ***/
static FORCEINLINE HRESULT IDeskBand2_ShowDW(IDeskBand2* This,WINBOOL fShow) {
return This->lpVtbl->ShowDW(This,fShow);
}
static FORCEINLINE HRESULT IDeskBand2_CloseDW(IDeskBand2* This,DWORD dwReserved) {
return This->lpVtbl->CloseDW(This,dwReserved);
}
static FORCEINLINE HRESULT IDeskBand2_ResizeBorderDW(IDeskBand2* This,LPCRECT prcBorder,IUnknown *punkToolbarSite,WINBOOL fReserved) {
return This->lpVtbl->ResizeBorderDW(This,prcBorder,punkToolbarSite,fReserved);
}
/*** IDeskBand methods ***/
static FORCEINLINE HRESULT IDeskBand2_GetBandInfo(IDeskBand2* This,DWORD dwBandID,DWORD dwViewMode,DESKBANDINFO *pdbi) {
return This->lpVtbl->GetBandInfo(This,dwBandID,dwViewMode,pdbi);
}
/*** IDeskBand2 methods ***/
static FORCEINLINE HRESULT IDeskBand2_CanRenderComposited(IDeskBand2* This,WINBOOL *pfCanRenderComposited) {
return This->lpVtbl->CanRenderComposited(This,pfCanRenderComposited);
}
static FORCEINLINE HRESULT IDeskBand2_SetCompositionState(IDeskBand2* This,WINBOOL fCompositionEnabled) {
return This->lpVtbl->SetCompositionState(This,fCompositionEnabled);
}
static FORCEINLINE HRESULT IDeskBand2_GetCompositionState(IDeskBand2* This,WINBOOL *pfCompositionEnabled) {
return This->lpVtbl->GetCompositionState(This,pfCompositionEnabled);
}
#endif
#endif
#endif
#endif /* __IDeskBand2_INTERFACE_DEFINED__ */
#endif
/*****************************************************************************
* ITaskbarList interface
*/
#ifndef __ITaskbarList_INTERFACE_DEFINED__
#define __ITaskbarList_INTERFACE_DEFINED__
DEFINE_GUID(IID_ITaskbarList, 0x56fdf342, 0xfd6d, 0x11d0, 0x95,0x8a, 0x00,0x60,0x97,0xc9,0xa0,0x90);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("56fdf342-fd6d-11d0-958a-006097c9a090")
ITaskbarList : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE HrInit(
) = 0;
virtual HRESULT STDMETHODCALLTYPE AddTab(
HWND hwnd) = 0;
virtual HRESULT STDMETHODCALLTYPE DeleteTab(
HWND hwnd) = 0;
virtual HRESULT STDMETHODCALLTYPE ActivateTab(
HWND hwnd) = 0;
virtual HRESULT STDMETHODCALLTYPE SetActiveAlt(
HWND hwnd) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ITaskbarList, 0x56fdf342, 0xfd6d, 0x11d0, 0x95,0x8a, 0x00,0x60,0x97,0xc9,0xa0,0x90)
#endif
#else
typedef struct ITaskbarListVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ITaskbarList *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ITaskbarList *This);
ULONG (STDMETHODCALLTYPE *Release)(
ITaskbarList *This);
/*** ITaskbarList methods ***/
HRESULT (STDMETHODCALLTYPE *HrInit)(
ITaskbarList *This);
HRESULT (STDMETHODCALLTYPE *AddTab)(
ITaskbarList *This,
HWND hwnd);
HRESULT (STDMETHODCALLTYPE *DeleteTab)(
ITaskbarList *This,
HWND hwnd);
HRESULT (STDMETHODCALLTYPE *ActivateTab)(
ITaskbarList *This,
HWND hwnd);
HRESULT (STDMETHODCALLTYPE *SetActiveAlt)(
ITaskbarList *This,
HWND hwnd);
END_INTERFACE
} ITaskbarListVtbl;
interface ITaskbarList {
CONST_VTBL ITaskbarListVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ITaskbarList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ITaskbarList_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ITaskbarList_Release(This) (This)->lpVtbl->Release(This)
/*** ITaskbarList methods ***/
#define ITaskbarList_HrInit(This) (This)->lpVtbl->HrInit(This)
#define ITaskbarList_AddTab(This,hwnd) (This)->lpVtbl->AddTab(This,hwnd)
#define ITaskbarList_DeleteTab(This,hwnd) (This)->lpVtbl->DeleteTab(This,hwnd)
#define ITaskbarList_ActivateTab(This,hwnd) (This)->lpVtbl->ActivateTab(This,hwnd)
#define ITaskbarList_SetActiveAlt(This,hwnd) (This)->lpVtbl->SetActiveAlt(This,hwnd)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ITaskbarList_QueryInterface(ITaskbarList* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ITaskbarList_AddRef(ITaskbarList* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ITaskbarList_Release(ITaskbarList* This) {
return This->lpVtbl->Release(This);
}
/*** ITaskbarList methods ***/
static FORCEINLINE HRESULT ITaskbarList_HrInit(ITaskbarList* This) {
return This->lpVtbl->HrInit(This);
}
static FORCEINLINE HRESULT ITaskbarList_AddTab(ITaskbarList* This,HWND hwnd) {
return This->lpVtbl->AddTab(This,hwnd);
}
static FORCEINLINE HRESULT ITaskbarList_DeleteTab(ITaskbarList* This,HWND hwnd) {
return This->lpVtbl->DeleteTab(This,hwnd);
}
static FORCEINLINE HRESULT ITaskbarList_ActivateTab(ITaskbarList* This,HWND hwnd) {
return This->lpVtbl->ActivateTab(This,hwnd);
}
static FORCEINLINE HRESULT ITaskbarList_SetActiveAlt(ITaskbarList* This,HWND hwnd) {
return This->lpVtbl->SetActiveAlt(This,hwnd);
}
#endif
#endif
#endif
#endif /* __ITaskbarList_INTERFACE_DEFINED__ */
/*****************************************************************************
* ITaskbarList2 interface
*/
#ifndef __ITaskbarList2_INTERFACE_DEFINED__
#define __ITaskbarList2_INTERFACE_DEFINED__
DEFINE_GUID(IID_ITaskbarList2, 0x602d4995, 0xb13a, 0x429b, 0xa6,0x6e, 0x19,0x35,0xe4,0x4f,0x43,0x17);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("602d4995-b13a-429b-a66e-1935e44f4317")
ITaskbarList2 : public ITaskbarList
{
virtual HRESULT STDMETHODCALLTYPE MarkFullscreenWindow(
HWND hwnd,
WINBOOL fFullscreen) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ITaskbarList2, 0x602d4995, 0xb13a, 0x429b, 0xa6,0x6e, 0x19,0x35,0xe4,0x4f,0x43,0x17)
#endif
#else
typedef struct ITaskbarList2Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ITaskbarList2 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ITaskbarList2 *This);
ULONG (STDMETHODCALLTYPE *Release)(
ITaskbarList2 *This);
/*** ITaskbarList methods ***/
HRESULT (STDMETHODCALLTYPE *HrInit)(
ITaskbarList2 *This);
HRESULT (STDMETHODCALLTYPE *AddTab)(
ITaskbarList2 *This,
HWND hwnd);
HRESULT (STDMETHODCALLTYPE *DeleteTab)(
ITaskbarList2 *This,
HWND hwnd);
HRESULT (STDMETHODCALLTYPE *ActivateTab)(
ITaskbarList2 *This,
HWND hwnd);
HRESULT (STDMETHODCALLTYPE *SetActiveAlt)(
ITaskbarList2 *This,
HWND hwnd);
/*** ITaskbarList2 methods ***/
HRESULT (STDMETHODCALLTYPE *MarkFullscreenWindow)(
ITaskbarList2 *This,
HWND hwnd,
WINBOOL fFullscreen);
END_INTERFACE
} ITaskbarList2Vtbl;
interface ITaskbarList2 {
CONST_VTBL ITaskbarList2Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ITaskbarList2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ITaskbarList2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ITaskbarList2_Release(This) (This)->lpVtbl->Release(This)
/*** ITaskbarList methods ***/
#define ITaskbarList2_HrInit(This) (This)->lpVtbl->HrInit(This)
#define ITaskbarList2_AddTab(This,hwnd) (This)->lpVtbl->AddTab(This,hwnd)
#define ITaskbarList2_DeleteTab(This,hwnd) (This)->lpVtbl->DeleteTab(This,hwnd)
#define ITaskbarList2_ActivateTab(This,hwnd) (This)->lpVtbl->ActivateTab(This,hwnd)
#define ITaskbarList2_SetActiveAlt(This,hwnd) (This)->lpVtbl->SetActiveAlt(This,hwnd)
/*** ITaskbarList2 methods ***/
#define ITaskbarList2_MarkFullscreenWindow(This,hwnd,fFullscreen) (This)->lpVtbl->MarkFullscreenWindow(This,hwnd,fFullscreen)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ITaskbarList2_QueryInterface(ITaskbarList2* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ITaskbarList2_AddRef(ITaskbarList2* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ITaskbarList2_Release(ITaskbarList2* This) {
return This->lpVtbl->Release(This);
}
/*** ITaskbarList methods ***/
static FORCEINLINE HRESULT ITaskbarList2_HrInit(ITaskbarList2* This) {
return This->lpVtbl->HrInit(This);
}
static FORCEINLINE HRESULT ITaskbarList2_AddTab(ITaskbarList2* This,HWND hwnd) {
return This->lpVtbl->AddTab(This,hwnd);
}
static FORCEINLINE HRESULT ITaskbarList2_DeleteTab(ITaskbarList2* This,HWND hwnd) {
return This->lpVtbl->DeleteTab(This,hwnd);
}
static FORCEINLINE HRESULT ITaskbarList2_ActivateTab(ITaskbarList2* This,HWND hwnd) {
return This->lpVtbl->ActivateTab(This,hwnd);
}
static FORCEINLINE HRESULT ITaskbarList2_SetActiveAlt(ITaskbarList2* This,HWND hwnd) {
return This->lpVtbl->SetActiveAlt(This,hwnd);
}
/*** ITaskbarList2 methods ***/
static FORCEINLINE HRESULT ITaskbarList2_MarkFullscreenWindow(ITaskbarList2* This,HWND hwnd,WINBOOL fFullscreen) {
return This->lpVtbl->MarkFullscreenWindow(This,hwnd,fFullscreen);
}
#endif
#endif
#endif
#endif /* __ITaskbarList2_INTERFACE_DEFINED__ */
#if 0
typedef IUnknown *HIMAGELIST;
#endif
typedef enum THUMBBUTTONFLAGS {
THBF_ENABLED = 0x0,
THBF_DISABLED = 0x1,
THBF_DISMISSONCLICK = 0x2,
THBF_NOBACKGROUND = 0x4,
THBF_HIDDEN = 0x8,
THBF_NONINTERACTIVE = 0x10
} THUMBBUTTONFLAGS;
DEFINE_ENUM_FLAG_OPERATORS(THUMBBUTTONFLAGS)
typedef enum THUMBBUTTONMASK {
THB_BITMAP = 0x1,
THB_ICON = 0x2,
THB_TOOLTIP = 0x4,
THB_FLAGS = 0x8
} THUMBBUTTONMASK;
DEFINE_ENUM_FLAG_OPERATORS(THUMBBUTTONMASK)
#include <pshpack8.h>
typedef struct THUMBBUTTON {
THUMBBUTTONMASK dwMask;
UINT iId;
UINT iBitmap;
HICON hIcon;
WCHAR szTip[260];
THUMBBUTTONFLAGS dwFlags;
} THUMBBUTTON;
typedef struct THUMBBUTTON *LPTHUMBBUTTON;
#include <poppack.h>
#define THBN_CLICKED 0x1800
/*****************************************************************************
* ITaskbarList3 interface
*/
#ifndef __ITaskbarList3_INTERFACE_DEFINED__
#define __ITaskbarList3_INTERFACE_DEFINED__
typedef enum TBPFLAG {
TBPF_NOPROGRESS = 0x0,
TBPF_INDETERMINATE = 0x1,
TBPF_NORMAL = 0x2,
TBPF_ERROR = 0x4,
TBPF_PAUSED = 0x8
} TBPFLAG;
DEFINE_ENUM_FLAG_OPERATORS(TBPFLAG)
DEFINE_GUID(IID_ITaskbarList3, 0xea1afb91, 0x9e28, 0x4b86, 0x90,0xe9, 0x9e,0x9f,0x8a,0x5e,0xef,0xaf);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("ea1afb91-9e28-4b86-90e9-9e9f8a5eefaf")
ITaskbarList3 : public ITaskbarList2
{
virtual HRESULT STDMETHODCALLTYPE SetProgressValue(
HWND hwnd,
ULONGLONG ullCompleted,
ULONGLONG ullTotal) = 0;
virtual HRESULT STDMETHODCALLTYPE SetProgressState(
HWND hwnd,
TBPFLAG tbpFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE RegisterTab(
HWND hwndTab,
HWND hwndMDI) = 0;
virtual HRESULT STDMETHODCALLTYPE UnregisterTab(
HWND hwndTab) = 0;
virtual HRESULT STDMETHODCALLTYPE SetTabOrder(
HWND hwndTab,
HWND hwndInsertBefore) = 0;
virtual HRESULT STDMETHODCALLTYPE SetTabActive(
HWND hwndTab,
HWND hwndMDI,
DWORD dwReserved) = 0;
virtual HRESULT STDMETHODCALLTYPE ThumbBarAddButtons(
HWND hwnd,
UINT cButtons,
LPTHUMBBUTTON pButton) = 0;
virtual HRESULT STDMETHODCALLTYPE ThumbBarUpdateButtons(
HWND hwnd,
UINT cButtons,
LPTHUMBBUTTON pButton) = 0;
virtual HRESULT STDMETHODCALLTYPE ThumbBarSetImageList(
HWND hwnd,
HIMAGELIST himl) = 0;
virtual HRESULT STDMETHODCALLTYPE SetOverlayIcon(
HWND hwnd,
HICON hIcon,
LPCWSTR pszDescription) = 0;
virtual HRESULT STDMETHODCALLTYPE SetThumbnailTooltip(
HWND hwnd,
LPCWSTR pszTip) = 0;
virtual HRESULT STDMETHODCALLTYPE SetThumbnailClip(
HWND hwnd,
RECT *prcClip) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ITaskbarList3, 0xea1afb91, 0x9e28, 0x4b86, 0x90,0xe9, 0x9e,0x9f,0x8a,0x5e,0xef,0xaf)
#endif
#else
typedef struct ITaskbarList3Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ITaskbarList3 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ITaskbarList3 *This);
ULONG (STDMETHODCALLTYPE *Release)(
ITaskbarList3 *This);
/*** ITaskbarList methods ***/
HRESULT (STDMETHODCALLTYPE *HrInit)(
ITaskbarList3 *This);
HRESULT (STDMETHODCALLTYPE *AddTab)(
ITaskbarList3 *This,
HWND hwnd);
HRESULT (STDMETHODCALLTYPE *DeleteTab)(
ITaskbarList3 *This,
HWND hwnd);
HRESULT (STDMETHODCALLTYPE *ActivateTab)(
ITaskbarList3 *This,
HWND hwnd);
HRESULT (STDMETHODCALLTYPE *SetActiveAlt)(
ITaskbarList3 *This,
HWND hwnd);
/*** ITaskbarList2 methods ***/
HRESULT (STDMETHODCALLTYPE *MarkFullscreenWindow)(
ITaskbarList3 *This,
HWND hwnd,
WINBOOL fFullscreen);
/*** ITaskbarList3 methods ***/
HRESULT (STDMETHODCALLTYPE *SetProgressValue)(
ITaskbarList3 *This,
HWND hwnd,
ULONGLONG ullCompleted,
ULONGLONG ullTotal);
HRESULT (STDMETHODCALLTYPE *SetProgressState)(
ITaskbarList3 *This,
HWND hwnd,
TBPFLAG tbpFlags);
HRESULT (STDMETHODCALLTYPE *RegisterTab)(
ITaskbarList3 *This,
HWND hwndTab,
HWND hwndMDI);
HRESULT (STDMETHODCALLTYPE *UnregisterTab)(
ITaskbarList3 *This,
HWND hwndTab);
HRESULT (STDMETHODCALLTYPE *SetTabOrder)(
ITaskbarList3 *This,
HWND hwndTab,
HWND hwndInsertBefore);
HRESULT (STDMETHODCALLTYPE *SetTabActive)(
ITaskbarList3 *This,
HWND hwndTab,
HWND hwndMDI,
DWORD dwReserved);
HRESULT (STDMETHODCALLTYPE *ThumbBarAddButtons)(
ITaskbarList3 *This,
HWND hwnd,
UINT cButtons,
LPTHUMBBUTTON pButton);
HRESULT (STDMETHODCALLTYPE *ThumbBarUpdateButtons)(
ITaskbarList3 *This,
HWND hwnd,
UINT cButtons,
LPTHUMBBUTTON pButton);
HRESULT (STDMETHODCALLTYPE *ThumbBarSetImageList)(
ITaskbarList3 *This,
HWND hwnd,
HIMAGELIST himl);
HRESULT (STDMETHODCALLTYPE *SetOverlayIcon)(
ITaskbarList3 *This,
HWND hwnd,
HICON hIcon,
LPCWSTR pszDescription);
HRESULT (STDMETHODCALLTYPE *SetThumbnailTooltip)(
ITaskbarList3 *This,
HWND hwnd,
LPCWSTR pszTip);
HRESULT (STDMETHODCALLTYPE *SetThumbnailClip)(
ITaskbarList3 *This,
HWND hwnd,
RECT *prcClip);
END_INTERFACE
} ITaskbarList3Vtbl;
interface ITaskbarList3 {
CONST_VTBL ITaskbarList3Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ITaskbarList3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ITaskbarList3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ITaskbarList3_Release(This) (This)->lpVtbl->Release(This)
/*** ITaskbarList methods ***/
#define ITaskbarList3_HrInit(This) (This)->lpVtbl->HrInit(This)
#define ITaskbarList3_AddTab(This,hwnd) (This)->lpVtbl->AddTab(This,hwnd)
#define ITaskbarList3_DeleteTab(This,hwnd) (This)->lpVtbl->DeleteTab(This,hwnd)
#define ITaskbarList3_ActivateTab(This,hwnd) (This)->lpVtbl->ActivateTab(This,hwnd)
#define ITaskbarList3_SetActiveAlt(This,hwnd) (This)->lpVtbl->SetActiveAlt(This,hwnd)
/*** ITaskbarList2 methods ***/
#define ITaskbarList3_MarkFullscreenWindow(This,hwnd,fFullscreen) (This)->lpVtbl->MarkFullscreenWindow(This,hwnd,fFullscreen)
/*** ITaskbarList3 methods ***/
#define ITaskbarList3_SetProgressValue(This,hwnd,ullCompleted,ullTotal) (This)->lpVtbl->SetProgressValue(This,hwnd,ullCompleted,ullTotal)
#define ITaskbarList3_SetProgressState(This,hwnd,tbpFlags) (This)->lpVtbl->SetProgressState(This,hwnd,tbpFlags)
#define ITaskbarList3_RegisterTab(This,hwndTab,hwndMDI) (This)->lpVtbl->RegisterTab(This,hwndTab,hwndMDI)
#define ITaskbarList3_UnregisterTab(This,hwndTab) (This)->lpVtbl->UnregisterTab(This,hwndTab)
#define ITaskbarList3_SetTabOrder(This,hwndTab,hwndInsertBefore) (This)->lpVtbl->SetTabOrder(This,hwndTab,hwndInsertBefore)
#define ITaskbarList3_SetTabActive(This,hwndTab,hwndMDI,dwReserved) (This)->lpVtbl->SetTabActive(This,hwndTab,hwndMDI,dwReserved)
#define ITaskbarList3_ThumbBarAddButtons(This,hwnd,cButtons,pButton) (This)->lpVtbl->ThumbBarAddButtons(This,hwnd,cButtons,pButton)
#define ITaskbarList3_ThumbBarUpdateButtons(This,hwnd,cButtons,pButton) (This)->lpVtbl->ThumbBarUpdateButtons(This,hwnd,cButtons,pButton)
#define ITaskbarList3_ThumbBarSetImageList(This,hwnd,himl) (This)->lpVtbl->ThumbBarSetImageList(This,hwnd,himl)
#define ITaskbarList3_SetOverlayIcon(This,hwnd,hIcon,pszDescription) (This)->lpVtbl->SetOverlayIcon(This,hwnd,hIcon,pszDescription)
#define ITaskbarList3_SetThumbnailTooltip(This,hwnd,pszTip) (This)->lpVtbl->SetThumbnailTooltip(This,hwnd,pszTip)
#define ITaskbarList3_SetThumbnailClip(This,hwnd,prcClip) (This)->lpVtbl->SetThumbnailClip(This,hwnd,prcClip)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ITaskbarList3_QueryInterface(ITaskbarList3* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ITaskbarList3_AddRef(ITaskbarList3* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ITaskbarList3_Release(ITaskbarList3* This) {
return This->lpVtbl->Release(This);
}
/*** ITaskbarList methods ***/
static FORCEINLINE HRESULT ITaskbarList3_HrInit(ITaskbarList3* This) {
return This->lpVtbl->HrInit(This);
}
static FORCEINLINE HRESULT ITaskbarList3_AddTab(ITaskbarList3* This,HWND hwnd) {
return This->lpVtbl->AddTab(This,hwnd);
}
static FORCEINLINE HRESULT ITaskbarList3_DeleteTab(ITaskbarList3* This,HWND hwnd) {
return This->lpVtbl->DeleteTab(This,hwnd);
}
static FORCEINLINE HRESULT ITaskbarList3_ActivateTab(ITaskbarList3* This,HWND hwnd) {
return This->lpVtbl->ActivateTab(This,hwnd);
}
static FORCEINLINE HRESULT ITaskbarList3_SetActiveAlt(ITaskbarList3* This,HWND hwnd) {
return This->lpVtbl->SetActiveAlt(This,hwnd);
}
/*** ITaskbarList2 methods ***/
static FORCEINLINE HRESULT ITaskbarList3_MarkFullscreenWindow(ITaskbarList3* This,HWND hwnd,WINBOOL fFullscreen) {
return This->lpVtbl->MarkFullscreenWindow(This,hwnd,fFullscreen);
}
/*** ITaskbarList3 methods ***/
static FORCEINLINE HRESULT ITaskbarList3_SetProgressValue(ITaskbarList3* This,HWND hwnd,ULONGLONG ullCompleted,ULONGLONG ullTotal) {
return This->lpVtbl->SetProgressValue(This,hwnd,ullCompleted,ullTotal);
}
static FORCEINLINE HRESULT ITaskbarList3_SetProgressState(ITaskbarList3* This,HWND hwnd,TBPFLAG tbpFlags) {
return This->lpVtbl->SetProgressState(This,hwnd,tbpFlags);
}
static FORCEINLINE HRESULT ITaskbarList3_RegisterTab(ITaskbarList3* This,HWND hwndTab,HWND hwndMDI) {
return This->lpVtbl->RegisterTab(This,hwndTab,hwndMDI);
}
static FORCEINLINE HRESULT ITaskbarList3_UnregisterTab(ITaskbarList3* This,HWND hwndTab) {
return This->lpVtbl->UnregisterTab(This,hwndTab);
}
static FORCEINLINE HRESULT ITaskbarList3_SetTabOrder(ITaskbarList3* This,HWND hwndTab,HWND hwndInsertBefore) {
return This->lpVtbl->SetTabOrder(This,hwndTab,hwndInsertBefore);
}
static FORCEINLINE HRESULT ITaskbarList3_SetTabActive(ITaskbarList3* This,HWND hwndTab,HWND hwndMDI,DWORD dwReserved) {
return This->lpVtbl->SetTabActive(This,hwndTab,hwndMDI,dwReserved);
}
static FORCEINLINE HRESULT ITaskbarList3_ThumbBarAddButtons(ITaskbarList3* This,HWND hwnd,UINT cButtons,LPTHUMBBUTTON pButton) {
return This->lpVtbl->ThumbBarAddButtons(This,hwnd,cButtons,pButton);
}
static FORCEINLINE HRESULT ITaskbarList3_ThumbBarUpdateButtons(ITaskbarList3* This,HWND hwnd,UINT cButtons,LPTHUMBBUTTON pButton) {
return This->lpVtbl->ThumbBarUpdateButtons(This,hwnd,cButtons,pButton);
}
static FORCEINLINE HRESULT ITaskbarList3_ThumbBarSetImageList(ITaskbarList3* This,HWND hwnd,HIMAGELIST himl) {
return This->lpVtbl->ThumbBarSetImageList(This,hwnd,himl);
}
static FORCEINLINE HRESULT ITaskbarList3_SetOverlayIcon(ITaskbarList3* This,HWND hwnd,HICON hIcon,LPCWSTR pszDescription) {
return This->lpVtbl->SetOverlayIcon(This,hwnd,hIcon,pszDescription);
}
static FORCEINLINE HRESULT ITaskbarList3_SetThumbnailTooltip(ITaskbarList3* This,HWND hwnd,LPCWSTR pszTip) {
return This->lpVtbl->SetThumbnailTooltip(This,hwnd,pszTip);
}
static FORCEINLINE HRESULT ITaskbarList3_SetThumbnailClip(ITaskbarList3* This,HWND hwnd,RECT *prcClip) {
return This->lpVtbl->SetThumbnailClip(This,hwnd,prcClip);
}
#endif
#endif
#endif
#endif /* __ITaskbarList3_INTERFACE_DEFINED__ */
/*****************************************************************************
* ITaskbarList4 interface
*/
#ifndef __ITaskbarList4_INTERFACE_DEFINED__
#define __ITaskbarList4_INTERFACE_DEFINED__
typedef enum STPFLAG {
STPF_NONE = 0x0,
STPF_USEAPPTHUMBNAILALWAYS = 0x1,
STPF_USEAPPTHUMBNAILWHENACTIVE = 0x2,
STPF_USEAPPPEEKALWAYS = 0x4,
STPF_USEAPPPEEKWHENACTIVE = 0x8
} STPFLAG;
DEFINE_ENUM_FLAG_OPERATORS(STPFLAG)
DEFINE_GUID(IID_ITaskbarList4, 0xc43dc798, 0x95d1, 0x4bea, 0x90,0x30, 0xbb,0x99,0xe2,0x98,0x3a,0x1a);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("c43dc798-95d1-4bea-9030-bb99e2983a1a")
ITaskbarList4 : public ITaskbarList3
{
virtual HRESULT STDMETHODCALLTYPE SetTabProperties(
HWND hwndTab,
STPFLAG stpFlags) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ITaskbarList4, 0xc43dc798, 0x95d1, 0x4bea, 0x90,0x30, 0xbb,0x99,0xe2,0x98,0x3a,0x1a)
#endif
#else
typedef struct ITaskbarList4Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ITaskbarList4 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ITaskbarList4 *This);
ULONG (STDMETHODCALLTYPE *Release)(
ITaskbarList4 *This);
/*** ITaskbarList methods ***/
HRESULT (STDMETHODCALLTYPE *HrInit)(
ITaskbarList4 *This);
HRESULT (STDMETHODCALLTYPE *AddTab)(
ITaskbarList4 *This,
HWND hwnd);
HRESULT (STDMETHODCALLTYPE *DeleteTab)(
ITaskbarList4 *This,
HWND hwnd);
HRESULT (STDMETHODCALLTYPE *ActivateTab)(
ITaskbarList4 *This,
HWND hwnd);
HRESULT (STDMETHODCALLTYPE *SetActiveAlt)(
ITaskbarList4 *This,
HWND hwnd);
/*** ITaskbarList2 methods ***/
HRESULT (STDMETHODCALLTYPE *MarkFullscreenWindow)(
ITaskbarList4 *This,
HWND hwnd,
WINBOOL fFullscreen);
/*** ITaskbarList3 methods ***/
HRESULT (STDMETHODCALLTYPE *SetProgressValue)(
ITaskbarList4 *This,
HWND hwnd,
ULONGLONG ullCompleted,
ULONGLONG ullTotal);
HRESULT (STDMETHODCALLTYPE *SetProgressState)(
ITaskbarList4 *This,
HWND hwnd,
TBPFLAG tbpFlags);
HRESULT (STDMETHODCALLTYPE *RegisterTab)(
ITaskbarList4 *This,
HWND hwndTab,
HWND hwndMDI);
HRESULT (STDMETHODCALLTYPE *UnregisterTab)(
ITaskbarList4 *This,
HWND hwndTab);
HRESULT (STDMETHODCALLTYPE *SetTabOrder)(
ITaskbarList4 *This,
HWND hwndTab,
HWND hwndInsertBefore);
HRESULT (STDMETHODCALLTYPE *SetTabActive)(
ITaskbarList4 *This,
HWND hwndTab,
HWND hwndMDI,
DWORD dwReserved);
HRESULT (STDMETHODCALLTYPE *ThumbBarAddButtons)(
ITaskbarList4 *This,
HWND hwnd,
UINT cButtons,
LPTHUMBBUTTON pButton);
HRESULT (STDMETHODCALLTYPE *ThumbBarUpdateButtons)(
ITaskbarList4 *This,
HWND hwnd,
UINT cButtons,
LPTHUMBBUTTON pButton);
HRESULT (STDMETHODCALLTYPE *ThumbBarSetImageList)(
ITaskbarList4 *This,
HWND hwnd,
HIMAGELIST himl);
HRESULT (STDMETHODCALLTYPE *SetOverlayIcon)(
ITaskbarList4 *This,
HWND hwnd,
HICON hIcon,
LPCWSTR pszDescription);
HRESULT (STDMETHODCALLTYPE *SetThumbnailTooltip)(
ITaskbarList4 *This,
HWND hwnd,
LPCWSTR pszTip);
HRESULT (STDMETHODCALLTYPE *SetThumbnailClip)(
ITaskbarList4 *This,
HWND hwnd,
RECT *prcClip);
/*** ITaskbarList4 methods ***/
HRESULT (STDMETHODCALLTYPE *SetTabProperties)(
ITaskbarList4 *This,
HWND hwndTab,
STPFLAG stpFlags);
END_INTERFACE
} ITaskbarList4Vtbl;
interface ITaskbarList4 {
CONST_VTBL ITaskbarList4Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ITaskbarList4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ITaskbarList4_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ITaskbarList4_Release(This) (This)->lpVtbl->Release(This)
/*** ITaskbarList methods ***/
#define ITaskbarList4_HrInit(This) (This)->lpVtbl->HrInit(This)
#define ITaskbarList4_AddTab(This,hwnd) (This)->lpVtbl->AddTab(This,hwnd)
#define ITaskbarList4_DeleteTab(This,hwnd) (This)->lpVtbl->DeleteTab(This,hwnd)
#define ITaskbarList4_ActivateTab(This,hwnd) (This)->lpVtbl->ActivateTab(This,hwnd)
#define ITaskbarList4_SetActiveAlt(This,hwnd) (This)->lpVtbl->SetActiveAlt(This,hwnd)
/*** ITaskbarList2 methods ***/
#define ITaskbarList4_MarkFullscreenWindow(This,hwnd,fFullscreen) (This)->lpVtbl->MarkFullscreenWindow(This,hwnd,fFullscreen)
/*** ITaskbarList3 methods ***/
#define ITaskbarList4_SetProgressValue(This,hwnd,ullCompleted,ullTotal) (This)->lpVtbl->SetProgressValue(This,hwnd,ullCompleted,ullTotal)
#define ITaskbarList4_SetProgressState(This,hwnd,tbpFlags) (This)->lpVtbl->SetProgressState(This,hwnd,tbpFlags)
#define ITaskbarList4_RegisterTab(This,hwndTab,hwndMDI) (This)->lpVtbl->RegisterTab(This,hwndTab,hwndMDI)
#define ITaskbarList4_UnregisterTab(This,hwndTab) (This)->lpVtbl->UnregisterTab(This,hwndTab)
#define ITaskbarList4_SetTabOrder(This,hwndTab,hwndInsertBefore) (This)->lpVtbl->SetTabOrder(This,hwndTab,hwndInsertBefore)
#define ITaskbarList4_SetTabActive(This,hwndTab,hwndMDI,dwReserved) (This)->lpVtbl->SetTabActive(This,hwndTab,hwndMDI,dwReserved)
#define ITaskbarList4_ThumbBarAddButtons(This,hwnd,cButtons,pButton) (This)->lpVtbl->ThumbBarAddButtons(This,hwnd,cButtons,pButton)
#define ITaskbarList4_ThumbBarUpdateButtons(This,hwnd,cButtons,pButton) (This)->lpVtbl->ThumbBarUpdateButtons(This,hwnd,cButtons,pButton)
#define ITaskbarList4_ThumbBarSetImageList(This,hwnd,himl) (This)->lpVtbl->ThumbBarSetImageList(This,hwnd,himl)
#define ITaskbarList4_SetOverlayIcon(This,hwnd,hIcon,pszDescription) (This)->lpVtbl->SetOverlayIcon(This,hwnd,hIcon,pszDescription)
#define ITaskbarList4_SetThumbnailTooltip(This,hwnd,pszTip) (This)->lpVtbl->SetThumbnailTooltip(This,hwnd,pszTip)
#define ITaskbarList4_SetThumbnailClip(This,hwnd,prcClip) (This)->lpVtbl->SetThumbnailClip(This,hwnd,prcClip)
/*** ITaskbarList4 methods ***/
#define ITaskbarList4_SetTabProperties(This,hwndTab,stpFlags) (This)->lpVtbl->SetTabProperties(This,hwndTab,stpFlags)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ITaskbarList4_QueryInterface(ITaskbarList4* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ITaskbarList4_AddRef(ITaskbarList4* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ITaskbarList4_Release(ITaskbarList4* This) {
return This->lpVtbl->Release(This);
}
/*** ITaskbarList methods ***/
static FORCEINLINE HRESULT ITaskbarList4_HrInit(ITaskbarList4* This) {
return This->lpVtbl->HrInit(This);
}
static FORCEINLINE HRESULT ITaskbarList4_AddTab(ITaskbarList4* This,HWND hwnd) {
return This->lpVtbl->AddTab(This,hwnd);
}
static FORCEINLINE HRESULT ITaskbarList4_DeleteTab(ITaskbarList4* This,HWND hwnd) {
return This->lpVtbl->DeleteTab(This,hwnd);
}
static FORCEINLINE HRESULT ITaskbarList4_ActivateTab(ITaskbarList4* This,HWND hwnd) {
return This->lpVtbl->ActivateTab(This,hwnd);
}
static FORCEINLINE HRESULT ITaskbarList4_SetActiveAlt(ITaskbarList4* This,HWND hwnd) {
return This->lpVtbl->SetActiveAlt(This,hwnd);
}
/*** ITaskbarList2 methods ***/
static FORCEINLINE HRESULT ITaskbarList4_MarkFullscreenWindow(ITaskbarList4* This,HWND hwnd,WINBOOL fFullscreen) {
return This->lpVtbl->MarkFullscreenWindow(This,hwnd,fFullscreen);
}
/*** ITaskbarList3 methods ***/
static FORCEINLINE HRESULT ITaskbarList4_SetProgressValue(ITaskbarList4* This,HWND hwnd,ULONGLONG ullCompleted,ULONGLONG ullTotal) {
return This->lpVtbl->SetProgressValue(This,hwnd,ullCompleted,ullTotal);
}
static FORCEINLINE HRESULT ITaskbarList4_SetProgressState(ITaskbarList4* This,HWND hwnd,TBPFLAG tbpFlags) {
return This->lpVtbl->SetProgressState(This,hwnd,tbpFlags);
}
static FORCEINLINE HRESULT ITaskbarList4_RegisterTab(ITaskbarList4* This,HWND hwndTab,HWND hwndMDI) {
return This->lpVtbl->RegisterTab(This,hwndTab,hwndMDI);
}
static FORCEINLINE HRESULT ITaskbarList4_UnregisterTab(ITaskbarList4* This,HWND hwndTab) {
return This->lpVtbl->UnregisterTab(This,hwndTab);
}
static FORCEINLINE HRESULT ITaskbarList4_SetTabOrder(ITaskbarList4* This,HWND hwndTab,HWND hwndInsertBefore) {
return This->lpVtbl->SetTabOrder(This,hwndTab,hwndInsertBefore);
}
static FORCEINLINE HRESULT ITaskbarList4_SetTabActive(ITaskbarList4* This,HWND hwndTab,HWND hwndMDI,DWORD dwReserved) {
return This->lpVtbl->SetTabActive(This,hwndTab,hwndMDI,dwReserved);
}
static FORCEINLINE HRESULT ITaskbarList4_ThumbBarAddButtons(ITaskbarList4* This,HWND hwnd,UINT cButtons,LPTHUMBBUTTON pButton) {
return This->lpVtbl->ThumbBarAddButtons(This,hwnd,cButtons,pButton);
}
static FORCEINLINE HRESULT ITaskbarList4_ThumbBarUpdateButtons(ITaskbarList4* This,HWND hwnd,UINT cButtons,LPTHUMBBUTTON pButton) {
return This->lpVtbl->ThumbBarUpdateButtons(This,hwnd,cButtons,pButton);
}
static FORCEINLINE HRESULT ITaskbarList4_ThumbBarSetImageList(ITaskbarList4* This,HWND hwnd,HIMAGELIST himl) {
return This->lpVtbl->ThumbBarSetImageList(This,hwnd,himl);
}
static FORCEINLINE HRESULT ITaskbarList4_SetOverlayIcon(ITaskbarList4* This,HWND hwnd,HICON hIcon,LPCWSTR pszDescription) {
return This->lpVtbl->SetOverlayIcon(This,hwnd,hIcon,pszDescription);
}
static FORCEINLINE HRESULT ITaskbarList4_SetThumbnailTooltip(ITaskbarList4* This,HWND hwnd,LPCWSTR pszTip) {
return This->lpVtbl->SetThumbnailTooltip(This,hwnd,pszTip);
}
static FORCEINLINE HRESULT ITaskbarList4_SetThumbnailClip(ITaskbarList4* This,HWND hwnd,RECT *prcClip) {
return This->lpVtbl->SetThumbnailClip(This,hwnd,prcClip);
}
/*** ITaskbarList4 methods ***/
static FORCEINLINE HRESULT ITaskbarList4_SetTabProperties(ITaskbarList4* This,HWND hwndTab,STPFLAG stpFlags) {
return This->lpVtbl->SetTabProperties(This,hwndTab,stpFlags);
}
#endif
#endif
#endif
#endif /* __ITaskbarList4_INTERFACE_DEFINED__ */
/*****************************************************************************
* IStartMenuPinnedList interface
*/
#ifndef __IStartMenuPinnedList_INTERFACE_DEFINED__
#define __IStartMenuPinnedList_INTERFACE_DEFINED__
DEFINE_GUID(IID_IStartMenuPinnedList, 0x4cd19ada, 0x25a5, 0x4a32, 0xb3,0xb7, 0x34,0x7b,0xee,0x5b,0xe3,0x6b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("4cd19ada-25a5-4a32-b3b7-347bee5be36b")
IStartMenuPinnedList : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE RemoveFromList(
IShellItem *pitem) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IStartMenuPinnedList, 0x4cd19ada, 0x25a5, 0x4a32, 0xb3,0xb7, 0x34,0x7b,0xee,0x5b,0xe3,0x6b)
#endif
#else
typedef struct IStartMenuPinnedListVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IStartMenuPinnedList *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IStartMenuPinnedList *This);
ULONG (STDMETHODCALLTYPE *Release)(
IStartMenuPinnedList *This);
/*** IStartMenuPinnedList methods ***/
HRESULT (STDMETHODCALLTYPE *RemoveFromList)(
IStartMenuPinnedList *This,
IShellItem *pitem);
END_INTERFACE
} IStartMenuPinnedListVtbl;
interface IStartMenuPinnedList {
CONST_VTBL IStartMenuPinnedListVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IStartMenuPinnedList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IStartMenuPinnedList_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IStartMenuPinnedList_Release(This) (This)->lpVtbl->Release(This)
/*** IStartMenuPinnedList methods ***/
#define IStartMenuPinnedList_RemoveFromList(This,pitem) (This)->lpVtbl->RemoveFromList(This,pitem)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IStartMenuPinnedList_QueryInterface(IStartMenuPinnedList* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IStartMenuPinnedList_AddRef(IStartMenuPinnedList* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IStartMenuPinnedList_Release(IStartMenuPinnedList* This) {
return This->lpVtbl->Release(This);
}
/*** IStartMenuPinnedList methods ***/
static FORCEINLINE HRESULT IStartMenuPinnedList_RemoveFromList(IStartMenuPinnedList* This,IShellItem *pitem) {
return This->lpVtbl->RemoveFromList(This,pitem);
}
#endif
#endif
#endif
#endif /* __IStartMenuPinnedList_INTERFACE_DEFINED__ */
/*****************************************************************************
* ICDBurn interface
*/
#ifndef __ICDBurn_INTERFACE_DEFINED__
#define __ICDBurn_INTERFACE_DEFINED__
DEFINE_GUID(IID_ICDBurn, 0x3d73a659, 0xe5d0, 0x4d42, 0xaf,0xc0, 0x51,0x21,0xba,0x42,0x5c,0x8d);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3d73a659-e5d0-4d42-afc0-5121ba425c8d")
ICDBurn : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetRecorderDriveLetter(
LPWSTR pszDrive,
UINT cch) = 0;
virtual HRESULT STDMETHODCALLTYPE Burn(
HWND hwnd) = 0;
virtual HRESULT STDMETHODCALLTYPE HasRecordableDrive(
WINBOOL *pfHasRecorder) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ICDBurn, 0x3d73a659, 0xe5d0, 0x4d42, 0xaf,0xc0, 0x51,0x21,0xba,0x42,0x5c,0x8d)
#endif
#else
typedef struct ICDBurnVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ICDBurn *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ICDBurn *This);
ULONG (STDMETHODCALLTYPE *Release)(
ICDBurn *This);
/*** ICDBurn methods ***/
HRESULT (STDMETHODCALLTYPE *GetRecorderDriveLetter)(
ICDBurn *This,
LPWSTR pszDrive,
UINT cch);
HRESULT (STDMETHODCALLTYPE *Burn)(
ICDBurn *This,
HWND hwnd);
HRESULT (STDMETHODCALLTYPE *HasRecordableDrive)(
ICDBurn *This,
WINBOOL *pfHasRecorder);
END_INTERFACE
} ICDBurnVtbl;
interface ICDBurn {
CONST_VTBL ICDBurnVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ICDBurn_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ICDBurn_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ICDBurn_Release(This) (This)->lpVtbl->Release(This)
/*** ICDBurn methods ***/
#define ICDBurn_GetRecorderDriveLetter(This,pszDrive,cch) (This)->lpVtbl->GetRecorderDriveLetter(This,pszDrive,cch)
#define ICDBurn_Burn(This,hwnd) (This)->lpVtbl->Burn(This,hwnd)
#define ICDBurn_HasRecordableDrive(This,pfHasRecorder) (This)->lpVtbl->HasRecordableDrive(This,pfHasRecorder)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ICDBurn_QueryInterface(ICDBurn* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ICDBurn_AddRef(ICDBurn* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ICDBurn_Release(ICDBurn* This) {
return This->lpVtbl->Release(This);
}
/*** ICDBurn methods ***/
static FORCEINLINE HRESULT ICDBurn_GetRecorderDriveLetter(ICDBurn* This,LPWSTR pszDrive,UINT cch) {
return This->lpVtbl->GetRecorderDriveLetter(This,pszDrive,cch);
}
static FORCEINLINE HRESULT ICDBurn_Burn(ICDBurn* This,HWND hwnd) {
return This->lpVtbl->Burn(This,hwnd);
}
static FORCEINLINE HRESULT ICDBurn_HasRecordableDrive(ICDBurn* This,WINBOOL *pfHasRecorder) {
return This->lpVtbl->HasRecordableDrive(This,pfHasRecorder);
}
#endif
#endif
#endif
#endif /* __ICDBurn_INTERFACE_DEFINED__ */
#define IDD_WIZEXTN_FIRST 0x5000
#define IDD_WIZEXTN_LAST 0x5100
/*****************************************************************************
* IWizardSite interface
*/
#ifndef __IWizardSite_INTERFACE_DEFINED__
#define __IWizardSite_INTERFACE_DEFINED__
DEFINE_GUID(IID_IWizardSite, 0x88960f5b, 0x422f, 0x4e7b, 0x80,0x13, 0x73,0x41,0x53,0x81,0xc3,0xc3);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("88960f5b-422f-4e7b-8013-73415381c3c3")
IWizardSite : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetPreviousPage(
HPROPSHEETPAGE *phpage) = 0;
virtual HRESULT STDMETHODCALLTYPE GetNextPage(
HPROPSHEETPAGE *phpage) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCancelledPage(
HPROPSHEETPAGE *phpage) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IWizardSite, 0x88960f5b, 0x422f, 0x4e7b, 0x80,0x13, 0x73,0x41,0x53,0x81,0xc3,0xc3)
#endif
#else
typedef struct IWizardSiteVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IWizardSite *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IWizardSite *This);
ULONG (STDMETHODCALLTYPE *Release)(
IWizardSite *This);
/*** IWizardSite methods ***/
HRESULT (STDMETHODCALLTYPE *GetPreviousPage)(
IWizardSite *This,
HPROPSHEETPAGE *phpage);
HRESULT (STDMETHODCALLTYPE *GetNextPage)(
IWizardSite *This,
HPROPSHEETPAGE *phpage);
HRESULT (STDMETHODCALLTYPE *GetCancelledPage)(
IWizardSite *This,
HPROPSHEETPAGE *phpage);
END_INTERFACE
} IWizardSiteVtbl;
interface IWizardSite {
CONST_VTBL IWizardSiteVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IWizardSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IWizardSite_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IWizardSite_Release(This) (This)->lpVtbl->Release(This)
/*** IWizardSite methods ***/
#define IWizardSite_GetPreviousPage(This,phpage) (This)->lpVtbl->GetPreviousPage(This,phpage)
#define IWizardSite_GetNextPage(This,phpage) (This)->lpVtbl->GetNextPage(This,phpage)
#define IWizardSite_GetCancelledPage(This,phpage) (This)->lpVtbl->GetCancelledPage(This,phpage)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IWizardSite_QueryInterface(IWizardSite* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IWizardSite_AddRef(IWizardSite* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IWizardSite_Release(IWizardSite* This) {
return This->lpVtbl->Release(This);
}
/*** IWizardSite methods ***/
static FORCEINLINE HRESULT IWizardSite_GetPreviousPage(IWizardSite* This,HPROPSHEETPAGE *phpage) {
return This->lpVtbl->GetPreviousPage(This,phpage);
}
static FORCEINLINE HRESULT IWizardSite_GetNextPage(IWizardSite* This,HPROPSHEETPAGE *phpage) {
return This->lpVtbl->GetNextPage(This,phpage);
}
static FORCEINLINE HRESULT IWizardSite_GetCancelledPage(IWizardSite* This,HPROPSHEETPAGE *phpage) {
return This->lpVtbl->GetCancelledPage(This,phpage);
}
#endif
#endif
#endif
#endif /* __IWizardSite_INTERFACE_DEFINED__ */
#define SID_WizardSite IID_IWizardSite
/*****************************************************************************
* IWizardExtension interface
*/
#ifndef __IWizardExtension_INTERFACE_DEFINED__
#define __IWizardExtension_INTERFACE_DEFINED__
DEFINE_GUID(IID_IWizardExtension, 0xc02ea696, 0x86cc, 0x491e, 0x9b,0x23, 0x74,0x39,0x4a,0x04,0x44,0xa8);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("c02ea696-86cc-491e-9b23-74394a0444a8")
IWizardExtension : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE AddPages(
HPROPSHEETPAGE *aPages,
UINT cPages,
UINT *pnPagesAdded) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFirstPage(
HPROPSHEETPAGE *phpage) = 0;
virtual HRESULT STDMETHODCALLTYPE GetLastPage(
HPROPSHEETPAGE *phpage) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IWizardExtension, 0xc02ea696, 0x86cc, 0x491e, 0x9b,0x23, 0x74,0x39,0x4a,0x04,0x44,0xa8)
#endif
#else
typedef struct IWizardExtensionVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IWizardExtension *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IWizardExtension *This);
ULONG (STDMETHODCALLTYPE *Release)(
IWizardExtension *This);
/*** IWizardExtension methods ***/
HRESULT (STDMETHODCALLTYPE *AddPages)(
IWizardExtension *This,
HPROPSHEETPAGE *aPages,
UINT cPages,
UINT *pnPagesAdded);
HRESULT (STDMETHODCALLTYPE *GetFirstPage)(
IWizardExtension *This,
HPROPSHEETPAGE *phpage);
HRESULT (STDMETHODCALLTYPE *GetLastPage)(
IWizardExtension *This,
HPROPSHEETPAGE *phpage);
END_INTERFACE
} IWizardExtensionVtbl;
interface IWizardExtension {
CONST_VTBL IWizardExtensionVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IWizardExtension_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IWizardExtension_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IWizardExtension_Release(This) (This)->lpVtbl->Release(This)
/*** IWizardExtension methods ***/
#define IWizardExtension_AddPages(This,aPages,cPages,pnPagesAdded) (This)->lpVtbl->AddPages(This,aPages,cPages,pnPagesAdded)
#define IWizardExtension_GetFirstPage(This,phpage) (This)->lpVtbl->GetFirstPage(This,phpage)
#define IWizardExtension_GetLastPage(This,phpage) (This)->lpVtbl->GetLastPage(This,phpage)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IWizardExtension_QueryInterface(IWizardExtension* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IWizardExtension_AddRef(IWizardExtension* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IWizardExtension_Release(IWizardExtension* This) {
return This->lpVtbl->Release(This);
}
/*** IWizardExtension methods ***/
static FORCEINLINE HRESULT IWizardExtension_AddPages(IWizardExtension* This,HPROPSHEETPAGE *aPages,UINT cPages,UINT *pnPagesAdded) {
return This->lpVtbl->AddPages(This,aPages,cPages,pnPagesAdded);
}
static FORCEINLINE HRESULT IWizardExtension_GetFirstPage(IWizardExtension* This,HPROPSHEETPAGE *phpage) {
return This->lpVtbl->GetFirstPage(This,phpage);
}
static FORCEINLINE HRESULT IWizardExtension_GetLastPage(IWizardExtension* This,HPROPSHEETPAGE *phpage) {
return This->lpVtbl->GetLastPage(This,phpage);
}
#endif
#endif
#endif
#endif /* __IWizardExtension_INTERFACE_DEFINED__ */
/*****************************************************************************
* IWebWizardExtension interface
*/
#ifndef __IWebWizardExtension_INTERFACE_DEFINED__
#define __IWebWizardExtension_INTERFACE_DEFINED__
DEFINE_GUID(IID_IWebWizardExtension, 0x0e6b3f66, 0x98d1, 0x48c0, 0xa2,0x22, 0xfb,0xde,0x74,0xe2,0xfb,0xc5);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("0e6b3f66-98d1-48c0-a222-fbde74e2fbc5")
IWebWizardExtension : public IWizardExtension
{
virtual HRESULT STDMETHODCALLTYPE SetInitialURL(
LPCWSTR pszURL) = 0;
virtual HRESULT STDMETHODCALLTYPE SetErrorURL(
LPCWSTR pszErrorURL) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IWebWizardExtension, 0x0e6b3f66, 0x98d1, 0x48c0, 0xa2,0x22, 0xfb,0xde,0x74,0xe2,0xfb,0xc5)
#endif
#else
typedef struct IWebWizardExtensionVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IWebWizardExtension *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IWebWizardExtension *This);
ULONG (STDMETHODCALLTYPE *Release)(
IWebWizardExtension *This);
/*** IWizardExtension methods ***/
HRESULT (STDMETHODCALLTYPE *AddPages)(
IWebWizardExtension *This,
HPROPSHEETPAGE *aPages,
UINT cPages,
UINT *pnPagesAdded);
HRESULT (STDMETHODCALLTYPE *GetFirstPage)(
IWebWizardExtension *This,
HPROPSHEETPAGE *phpage);
HRESULT (STDMETHODCALLTYPE *GetLastPage)(
IWebWizardExtension *This,
HPROPSHEETPAGE *phpage);
/*** IWebWizardExtension methods ***/
HRESULT (STDMETHODCALLTYPE *SetInitialURL)(
IWebWizardExtension *This,
LPCWSTR pszURL);
HRESULT (STDMETHODCALLTYPE *SetErrorURL)(
IWebWizardExtension *This,
LPCWSTR pszErrorURL);
END_INTERFACE
} IWebWizardExtensionVtbl;
interface IWebWizardExtension {
CONST_VTBL IWebWizardExtensionVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IWebWizardExtension_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IWebWizardExtension_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IWebWizardExtension_Release(This) (This)->lpVtbl->Release(This)
/*** IWizardExtension methods ***/
#define IWebWizardExtension_AddPages(This,aPages,cPages,pnPagesAdded) (This)->lpVtbl->AddPages(This,aPages,cPages,pnPagesAdded)
#define IWebWizardExtension_GetFirstPage(This,phpage) (This)->lpVtbl->GetFirstPage(This,phpage)
#define IWebWizardExtension_GetLastPage(This,phpage) (This)->lpVtbl->GetLastPage(This,phpage)
/*** IWebWizardExtension methods ***/
#define IWebWizardExtension_SetInitialURL(This,pszURL) (This)->lpVtbl->SetInitialURL(This,pszURL)
#define IWebWizardExtension_SetErrorURL(This,pszErrorURL) (This)->lpVtbl->SetErrorURL(This,pszErrorURL)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IWebWizardExtension_QueryInterface(IWebWizardExtension* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IWebWizardExtension_AddRef(IWebWizardExtension* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IWebWizardExtension_Release(IWebWizardExtension* This) {
return This->lpVtbl->Release(This);
}
/*** IWizardExtension methods ***/
static FORCEINLINE HRESULT IWebWizardExtension_AddPages(IWebWizardExtension* This,HPROPSHEETPAGE *aPages,UINT cPages,UINT *pnPagesAdded) {
return This->lpVtbl->AddPages(This,aPages,cPages,pnPagesAdded);
}
static FORCEINLINE HRESULT IWebWizardExtension_GetFirstPage(IWebWizardExtension* This,HPROPSHEETPAGE *phpage) {
return This->lpVtbl->GetFirstPage(This,phpage);
}
static FORCEINLINE HRESULT IWebWizardExtension_GetLastPage(IWebWizardExtension* This,HPROPSHEETPAGE *phpage) {
return This->lpVtbl->GetLastPage(This,phpage);
}
/*** IWebWizardExtension methods ***/
static FORCEINLINE HRESULT IWebWizardExtension_SetInitialURL(IWebWizardExtension* This,LPCWSTR pszURL) {
return This->lpVtbl->SetInitialURL(This,pszURL);
}
static FORCEINLINE HRESULT IWebWizardExtension_SetErrorURL(IWebWizardExtension* This,LPCWSTR pszErrorURL) {
return This->lpVtbl->SetErrorURL(This,pszErrorURL);
}
#endif
#endif
#endif
#endif /* __IWebWizardExtension_INTERFACE_DEFINED__ */
#define SID_WebWizardHost IID_IWebWizardExtension
#define SHPWHF_NORECOMPRESS 0x00000001
#define SHPWHF_NONETPLACECREATE 0x00000002
#define SHPWHF_NOFILESELECTOR 0x00000004
#define SHPWHF_USEMRU 0x00000008
#if NTDDI_VERSION >= NTDDI_VISTA
#define SHPWHF_ANYLOCATION 0x00000100
#endif
#define SHPWHF_VALIDATEVIAWEBFOLDERS 0x00010000
#ifndef __IXMLDOMDocument_FWD_DEFINED__
#define __IXMLDOMDocument_FWD_DEFINED__
typedef interface IXMLDOMDocument IXMLDOMDocument;
#ifdef __cplusplus
interface IXMLDOMDocument;
#endif /* __cplusplus */
#endif
/*****************************************************************************
* IPublishingWizard interface
*/
#ifndef __IPublishingWizard_INTERFACE_DEFINED__
#define __IPublishingWizard_INTERFACE_DEFINED__
DEFINE_GUID(IID_IPublishingWizard, 0xaa9198bb, 0xccec, 0x472d, 0xbe,0xed, 0x19,0xa4,0xf6,0x73,0x3f,0x7a);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("aa9198bb-ccec-472d-beed-19a4f6733f7a")
IPublishingWizard : public IWizardExtension
{
virtual HRESULT STDMETHODCALLTYPE Initialize(
IDataObject *pdo,
DWORD dwOptions,
LPCWSTR pszServiceScope) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTransferManifest(
HRESULT *phrFromTransfer,
IXMLDOMDocument **pdocManifest) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IPublishingWizard, 0xaa9198bb, 0xccec, 0x472d, 0xbe,0xed, 0x19,0xa4,0xf6,0x73,0x3f,0x7a)
#endif
#else
typedef struct IPublishingWizardVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IPublishingWizard *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IPublishingWizard *This);
ULONG (STDMETHODCALLTYPE *Release)(
IPublishingWizard *This);
/*** IWizardExtension methods ***/
HRESULT (STDMETHODCALLTYPE *AddPages)(
IPublishingWizard *This,
HPROPSHEETPAGE *aPages,
UINT cPages,
UINT *pnPagesAdded);
HRESULT (STDMETHODCALLTYPE *GetFirstPage)(
IPublishingWizard *This,
HPROPSHEETPAGE *phpage);
HRESULT (STDMETHODCALLTYPE *GetLastPage)(
IPublishingWizard *This,
HPROPSHEETPAGE *phpage);
/*** IPublishingWizard methods ***/
HRESULT (STDMETHODCALLTYPE *Initialize)(
IPublishingWizard *This,
IDataObject *pdo,
DWORD dwOptions,
LPCWSTR pszServiceScope);
HRESULT (STDMETHODCALLTYPE *GetTransferManifest)(
IPublishingWizard *This,
HRESULT *phrFromTransfer,
IXMLDOMDocument **pdocManifest);
END_INTERFACE
} IPublishingWizardVtbl;
interface IPublishingWizard {
CONST_VTBL IPublishingWizardVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IPublishingWizard_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IPublishingWizard_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IPublishingWizard_Release(This) (This)->lpVtbl->Release(This)
/*** IWizardExtension methods ***/
#define IPublishingWizard_AddPages(This,aPages,cPages,pnPagesAdded) (This)->lpVtbl->AddPages(This,aPages,cPages,pnPagesAdded)
#define IPublishingWizard_GetFirstPage(This,phpage) (This)->lpVtbl->GetFirstPage(This,phpage)
#define IPublishingWizard_GetLastPage(This,phpage) (This)->lpVtbl->GetLastPage(This,phpage)
/*** IPublishingWizard methods ***/
#define IPublishingWizard_Initialize(This,pdo,dwOptions,pszServiceScope) (This)->lpVtbl->Initialize(This,pdo,dwOptions,pszServiceScope)
#define IPublishingWizard_GetTransferManifest(This,phrFromTransfer,pdocManifest) (This)->lpVtbl->GetTransferManifest(This,phrFromTransfer,pdocManifest)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IPublishingWizard_QueryInterface(IPublishingWizard* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IPublishingWizard_AddRef(IPublishingWizard* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IPublishingWizard_Release(IPublishingWizard* This) {
return This->lpVtbl->Release(This);
}
/*** IWizardExtension methods ***/
static FORCEINLINE HRESULT IPublishingWizard_AddPages(IPublishingWizard* This,HPROPSHEETPAGE *aPages,UINT cPages,UINT *pnPagesAdded) {
return This->lpVtbl->AddPages(This,aPages,cPages,pnPagesAdded);
}
static FORCEINLINE HRESULT IPublishingWizard_GetFirstPage(IPublishingWizard* This,HPROPSHEETPAGE *phpage) {
return This->lpVtbl->GetFirstPage(This,phpage);
}
static FORCEINLINE HRESULT IPublishingWizard_GetLastPage(IPublishingWizard* This,HPROPSHEETPAGE *phpage) {
return This->lpVtbl->GetLastPage(This,phpage);
}
/*** IPublishingWizard methods ***/
static FORCEINLINE HRESULT IPublishingWizard_Initialize(IPublishingWizard* This,IDataObject *pdo,DWORD dwOptions,LPCWSTR pszServiceScope) {
return This->lpVtbl->Initialize(This,pdo,dwOptions,pszServiceScope);
}
static FORCEINLINE HRESULT IPublishingWizard_GetTransferManifest(IPublishingWizard* This,HRESULT *phrFromTransfer,IXMLDOMDocument **pdocManifest) {
return This->lpVtbl->GetTransferManifest(This,phrFromTransfer,pdocManifest);
}
#endif
#endif
#endif
#endif /* __IPublishingWizard_INTERFACE_DEFINED__ */
/*****************************************************************************
* IFolderViewHost interface
*/
#ifndef __IFolderViewHost_INTERFACE_DEFINED__
#define __IFolderViewHost_INTERFACE_DEFINED__
DEFINE_GUID(IID_IFolderViewHost, 0x1ea58f02, 0xd55a, 0x411d, 0xb0,0x9e, 0x9e,0x65,0xac,0x21,0x60,0x5b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("1ea58f02-d55a-411d-b09e-9e65ac21605b")
IFolderViewHost : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Initialize(
HWND hwndParent,
IDataObject *pdo,
RECT *prc) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IFolderViewHost, 0x1ea58f02, 0xd55a, 0x411d, 0xb0,0x9e, 0x9e,0x65,0xac,0x21,0x60,0x5b)
#endif
#else
typedef struct IFolderViewHostVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IFolderViewHost *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IFolderViewHost *This);
ULONG (STDMETHODCALLTYPE *Release)(
IFolderViewHost *This);
/*** IFolderViewHost methods ***/
HRESULT (STDMETHODCALLTYPE *Initialize)(
IFolderViewHost *This,
HWND hwndParent,
IDataObject *pdo,
RECT *prc);
END_INTERFACE
} IFolderViewHostVtbl;
interface IFolderViewHost {
CONST_VTBL IFolderViewHostVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IFolderViewHost_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IFolderViewHost_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IFolderViewHost_Release(This) (This)->lpVtbl->Release(This)
/*** IFolderViewHost methods ***/
#define IFolderViewHost_Initialize(This,hwndParent,pdo,prc) (This)->lpVtbl->Initialize(This,hwndParent,pdo,prc)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IFolderViewHost_QueryInterface(IFolderViewHost* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IFolderViewHost_AddRef(IFolderViewHost* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IFolderViewHost_Release(IFolderViewHost* This) {
return This->lpVtbl->Release(This);
}
/*** IFolderViewHost methods ***/
static FORCEINLINE HRESULT IFolderViewHost_Initialize(IFolderViewHost* This,HWND hwndParent,IDataObject *pdo,RECT *prc) {
return This->lpVtbl->Initialize(This,hwndParent,pdo,prc);
}
#endif
#endif
#endif
#endif /* __IFolderViewHost_INTERFACE_DEFINED__ */
#if _WIN32_IE >= _WIN32_IE_IE70
/*****************************************************************************
* IExplorerBrowserEvents interface
*/
#ifndef __IExplorerBrowserEvents_INTERFACE_DEFINED__
#define __IExplorerBrowserEvents_INTERFACE_DEFINED__
DEFINE_GUID(IID_IExplorerBrowserEvents, 0x361bbdc7, 0xe6ee, 0x4e13, 0xbe,0x58, 0x58,0xe2,0x24,0x0c,0x81,0x0f);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("361bbdc7-e6ee-4e13-be58-58e2240c810f")
IExplorerBrowserEvents : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE OnNavigationPending(
PCIDLIST_ABSOLUTE pidlFolder) = 0;
virtual HRESULT STDMETHODCALLTYPE OnViewCreated(
IShellView *psv) = 0;
virtual HRESULT STDMETHODCALLTYPE OnNavigationComplete(
PCIDLIST_ABSOLUTE pidlFolder) = 0;
virtual HRESULT STDMETHODCALLTYPE OnNavigationFailed(
PCIDLIST_ABSOLUTE pidlFolder) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IExplorerBrowserEvents, 0x361bbdc7, 0xe6ee, 0x4e13, 0xbe,0x58, 0x58,0xe2,0x24,0x0c,0x81,0x0f)
#endif
#else
typedef struct IExplorerBrowserEventsVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IExplorerBrowserEvents *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IExplorerBrowserEvents *This);
ULONG (STDMETHODCALLTYPE *Release)(
IExplorerBrowserEvents *This);
/*** IExplorerBrowserEvents methods ***/
HRESULT (STDMETHODCALLTYPE *OnNavigationPending)(
IExplorerBrowserEvents *This,
PCIDLIST_ABSOLUTE pidlFolder);
HRESULT (STDMETHODCALLTYPE *OnViewCreated)(
IExplorerBrowserEvents *This,
IShellView *psv);
HRESULT (STDMETHODCALLTYPE *OnNavigationComplete)(
IExplorerBrowserEvents *This,
PCIDLIST_ABSOLUTE pidlFolder);
HRESULT (STDMETHODCALLTYPE *OnNavigationFailed)(
IExplorerBrowserEvents *This,
PCIDLIST_ABSOLUTE pidlFolder);
END_INTERFACE
} IExplorerBrowserEventsVtbl;
interface IExplorerBrowserEvents {
CONST_VTBL IExplorerBrowserEventsVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IExplorerBrowserEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IExplorerBrowserEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IExplorerBrowserEvents_Release(This) (This)->lpVtbl->Release(This)
/*** IExplorerBrowserEvents methods ***/
#define IExplorerBrowserEvents_OnNavigationPending(This,pidlFolder) (This)->lpVtbl->OnNavigationPending(This,pidlFolder)
#define IExplorerBrowserEvents_OnViewCreated(This,psv) (This)->lpVtbl->OnViewCreated(This,psv)
#define IExplorerBrowserEvents_OnNavigationComplete(This,pidlFolder) (This)->lpVtbl->OnNavigationComplete(This,pidlFolder)
#define IExplorerBrowserEvents_OnNavigationFailed(This,pidlFolder) (This)->lpVtbl->OnNavigationFailed(This,pidlFolder)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IExplorerBrowserEvents_QueryInterface(IExplorerBrowserEvents* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IExplorerBrowserEvents_AddRef(IExplorerBrowserEvents* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IExplorerBrowserEvents_Release(IExplorerBrowserEvents* This) {
return This->lpVtbl->Release(This);
}
/*** IExplorerBrowserEvents methods ***/
static FORCEINLINE HRESULT IExplorerBrowserEvents_OnNavigationPending(IExplorerBrowserEvents* This,PCIDLIST_ABSOLUTE pidlFolder) {
return This->lpVtbl->OnNavigationPending(This,pidlFolder);
}
static FORCEINLINE HRESULT IExplorerBrowserEvents_OnViewCreated(IExplorerBrowserEvents* This,IShellView *psv) {
return This->lpVtbl->OnViewCreated(This,psv);
}
static FORCEINLINE HRESULT IExplorerBrowserEvents_OnNavigationComplete(IExplorerBrowserEvents* This,PCIDLIST_ABSOLUTE pidlFolder) {
return This->lpVtbl->OnNavigationComplete(This,pidlFolder);
}
static FORCEINLINE HRESULT IExplorerBrowserEvents_OnNavigationFailed(IExplorerBrowserEvents* This,PCIDLIST_ABSOLUTE pidlFolder) {
return This->lpVtbl->OnNavigationFailed(This,pidlFolder);
}
#endif
#endif
#endif
#endif /* __IExplorerBrowserEvents_INTERFACE_DEFINED__ */
typedef enum EXPLORER_BROWSER_OPTIONS {
EBO_NONE = 0x0,
EBO_NAVIGATEONCE = 0x1,
EBO_SHOWFRAMES = 0x2,
EBO_ALWAYSNAVIGATE = 0x4,
EBO_NOTRAVELLOG = 0x8,
EBO_NOWRAPPERWINDOW = 0x10,
EBO_HTMLSHAREPOINTVIEW = 0x20,
EBO_NOBORDER = 0x40,
EBO_NOPERSISTVIEWSTATE = 0x80
} EXPLORER_BROWSER_OPTIONS;
DEFINE_ENUM_FLAG_OPERATORS(EXPLORER_BROWSER_OPTIONS)
typedef enum EXPLORER_BROWSER_FILL_FLAGS {
EBF_NONE = 0x0,
EBF_SELECTFROMDATAOBJECT = 0x100,
EBF_NODROPTARGET = 0x200
} EXPLORER_BROWSER_FILL_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(EXPLORER_BROWSER_FILL_FLAGS)
/*****************************************************************************
* IExplorerBrowser interface
*/
#ifndef __IExplorerBrowser_INTERFACE_DEFINED__
#define __IExplorerBrowser_INTERFACE_DEFINED__
DEFINE_GUID(IID_IExplorerBrowser, 0xdfd3b6b5, 0xc10c, 0x4be9, 0x85,0xf6, 0xa6,0x69,0x69,0xf4,0x02,0xf6);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("dfd3b6b5-c10c-4be9-85f6-a66969f402f6")
IExplorerBrowser : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Initialize(
HWND hwndParent,
const RECT *prc,
const FOLDERSETTINGS *pfs) = 0;
virtual HRESULT STDMETHODCALLTYPE Destroy(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SetRect(
HDWP *phdwp,
RECT rcBrowser) = 0;
virtual HRESULT STDMETHODCALLTYPE SetPropertyBag(
LPCWSTR pszPropertyBag) = 0;
virtual HRESULT STDMETHODCALLTYPE SetEmptyText(
LPCWSTR pszEmptyText) = 0;
virtual HRESULT STDMETHODCALLTYPE SetFolderSettings(
const FOLDERSETTINGS *pfs) = 0;
virtual HRESULT STDMETHODCALLTYPE Advise(
IExplorerBrowserEvents *psbe,
DWORD *pdwCookie) = 0;
virtual HRESULT STDMETHODCALLTYPE Unadvise(
DWORD dwCookie) = 0;
virtual HRESULT STDMETHODCALLTYPE SetOptions(
EXPLORER_BROWSER_OPTIONS dwFlag) = 0;
virtual HRESULT STDMETHODCALLTYPE GetOptions(
EXPLORER_BROWSER_OPTIONS *pdwFlag) = 0;
virtual HRESULT STDMETHODCALLTYPE BrowseToIDList(
PCUIDLIST_RELATIVE pidl,
UINT uFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE BrowseToObject(
IUnknown *punk,
UINT uFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE FillFromObject(
IUnknown *punk,
EXPLORER_BROWSER_FILL_FLAGS dwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveAll(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentView(
REFIID riid,
void **ppv) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IExplorerBrowser, 0xdfd3b6b5, 0xc10c, 0x4be9, 0x85,0xf6, 0xa6,0x69,0x69,0xf4,0x02,0xf6)
#endif
#else
typedef struct IExplorerBrowserVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IExplorerBrowser *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IExplorerBrowser *This);
ULONG (STDMETHODCALLTYPE *Release)(
IExplorerBrowser *This);
/*** IExplorerBrowser methods ***/
HRESULT (STDMETHODCALLTYPE *Initialize)(
IExplorerBrowser *This,
HWND hwndParent,
const RECT *prc,
const FOLDERSETTINGS *pfs);
HRESULT (STDMETHODCALLTYPE *Destroy)(
IExplorerBrowser *This);
HRESULT (STDMETHODCALLTYPE *SetRect)(
IExplorerBrowser *This,
HDWP *phdwp,
RECT rcBrowser);
HRESULT (STDMETHODCALLTYPE *SetPropertyBag)(
IExplorerBrowser *This,
LPCWSTR pszPropertyBag);
HRESULT (STDMETHODCALLTYPE *SetEmptyText)(
IExplorerBrowser *This,
LPCWSTR pszEmptyText);
HRESULT (STDMETHODCALLTYPE *SetFolderSettings)(
IExplorerBrowser *This,
const FOLDERSETTINGS *pfs);
HRESULT (STDMETHODCALLTYPE *Advise)(
IExplorerBrowser *This,
IExplorerBrowserEvents *psbe,
DWORD *pdwCookie);
HRESULT (STDMETHODCALLTYPE *Unadvise)(
IExplorerBrowser *This,
DWORD dwCookie);
HRESULT (STDMETHODCALLTYPE *SetOptions)(
IExplorerBrowser *This,
EXPLORER_BROWSER_OPTIONS dwFlag);
HRESULT (STDMETHODCALLTYPE *GetOptions)(
IExplorerBrowser *This,
EXPLORER_BROWSER_OPTIONS *pdwFlag);
HRESULT (STDMETHODCALLTYPE *BrowseToIDList)(
IExplorerBrowser *This,
PCUIDLIST_RELATIVE pidl,
UINT uFlags);
HRESULT (STDMETHODCALLTYPE *BrowseToObject)(
IExplorerBrowser *This,
IUnknown *punk,
UINT uFlags);
HRESULT (STDMETHODCALLTYPE *FillFromObject)(
IExplorerBrowser *This,
IUnknown *punk,
EXPLORER_BROWSER_FILL_FLAGS dwFlags);
HRESULT (STDMETHODCALLTYPE *RemoveAll)(
IExplorerBrowser *This);
HRESULT (STDMETHODCALLTYPE *GetCurrentView)(
IExplorerBrowser *This,
REFIID riid,
void **ppv);
END_INTERFACE
} IExplorerBrowserVtbl;
interface IExplorerBrowser {
CONST_VTBL IExplorerBrowserVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IExplorerBrowser_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IExplorerBrowser_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IExplorerBrowser_Release(This) (This)->lpVtbl->Release(This)
/*** IExplorerBrowser methods ***/
#define IExplorerBrowser_Initialize(This,hwndParent,prc,pfs) (This)->lpVtbl->Initialize(This,hwndParent,prc,pfs)
#define IExplorerBrowser_Destroy(This) (This)->lpVtbl->Destroy(This)
#define IExplorerBrowser_SetRect(This,phdwp,rcBrowser) (This)->lpVtbl->SetRect(This,phdwp,rcBrowser)
#define IExplorerBrowser_SetPropertyBag(This,pszPropertyBag) (This)->lpVtbl->SetPropertyBag(This,pszPropertyBag)
#define IExplorerBrowser_SetEmptyText(This,pszEmptyText) (This)->lpVtbl->SetEmptyText(This,pszEmptyText)
#define IExplorerBrowser_SetFolderSettings(This,pfs) (This)->lpVtbl->SetFolderSettings(This,pfs)
#define IExplorerBrowser_Advise(This,psbe,pdwCookie) (This)->lpVtbl->Advise(This,psbe,pdwCookie)
#define IExplorerBrowser_Unadvise(This,dwCookie) (This)->lpVtbl->Unadvise(This,dwCookie)
#define IExplorerBrowser_SetOptions(This,dwFlag) (This)->lpVtbl->SetOptions(This,dwFlag)
#define IExplorerBrowser_GetOptions(This,pdwFlag) (This)->lpVtbl->GetOptions(This,pdwFlag)
#define IExplorerBrowser_BrowseToIDList(This,pidl,uFlags) (This)->lpVtbl->BrowseToIDList(This,pidl,uFlags)
#define IExplorerBrowser_BrowseToObject(This,punk,uFlags) (This)->lpVtbl->BrowseToObject(This,punk,uFlags)
#define IExplorerBrowser_FillFromObject(This,punk,dwFlags) (This)->lpVtbl->FillFromObject(This,punk,dwFlags)
#define IExplorerBrowser_RemoveAll(This) (This)->lpVtbl->RemoveAll(This)
#define IExplorerBrowser_GetCurrentView(This,riid,ppv) (This)->lpVtbl->GetCurrentView(This,riid,ppv)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IExplorerBrowser_QueryInterface(IExplorerBrowser* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IExplorerBrowser_AddRef(IExplorerBrowser* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IExplorerBrowser_Release(IExplorerBrowser* This) {
return This->lpVtbl->Release(This);
}
/*** IExplorerBrowser methods ***/
static FORCEINLINE HRESULT IExplorerBrowser_Initialize(IExplorerBrowser* This,HWND hwndParent,const RECT *prc,const FOLDERSETTINGS *pfs) {
return This->lpVtbl->Initialize(This,hwndParent,prc,pfs);
}
static FORCEINLINE HRESULT IExplorerBrowser_Destroy(IExplorerBrowser* This) {
return This->lpVtbl->Destroy(This);
}
static FORCEINLINE HRESULT IExplorerBrowser_SetRect(IExplorerBrowser* This,HDWP *phdwp,RECT rcBrowser) {
return This->lpVtbl->SetRect(This,phdwp,rcBrowser);
}
static FORCEINLINE HRESULT IExplorerBrowser_SetPropertyBag(IExplorerBrowser* This,LPCWSTR pszPropertyBag) {
return This->lpVtbl->SetPropertyBag(This,pszPropertyBag);
}
static FORCEINLINE HRESULT IExplorerBrowser_SetEmptyText(IExplorerBrowser* This,LPCWSTR pszEmptyText) {
return This->lpVtbl->SetEmptyText(This,pszEmptyText);
}
static FORCEINLINE HRESULT IExplorerBrowser_SetFolderSettings(IExplorerBrowser* This,const FOLDERSETTINGS *pfs) {
return This->lpVtbl->SetFolderSettings(This,pfs);
}
static FORCEINLINE HRESULT IExplorerBrowser_Advise(IExplorerBrowser* This,IExplorerBrowserEvents *psbe,DWORD *pdwCookie) {
return This->lpVtbl->Advise(This,psbe,pdwCookie);
}
static FORCEINLINE HRESULT IExplorerBrowser_Unadvise(IExplorerBrowser* This,DWORD dwCookie) {
return This->lpVtbl->Unadvise(This,dwCookie);
}
static FORCEINLINE HRESULT IExplorerBrowser_SetOptions(IExplorerBrowser* This,EXPLORER_BROWSER_OPTIONS dwFlag) {
return This->lpVtbl->SetOptions(This,dwFlag);
}
static FORCEINLINE HRESULT IExplorerBrowser_GetOptions(IExplorerBrowser* This,EXPLORER_BROWSER_OPTIONS *pdwFlag) {
return This->lpVtbl->GetOptions(This,pdwFlag);
}
static FORCEINLINE HRESULT IExplorerBrowser_BrowseToIDList(IExplorerBrowser* This,PCUIDLIST_RELATIVE pidl,UINT uFlags) {
return This->lpVtbl->BrowseToIDList(This,pidl,uFlags);
}
static FORCEINLINE HRESULT IExplorerBrowser_BrowseToObject(IExplorerBrowser* This,IUnknown *punk,UINT uFlags) {
return This->lpVtbl->BrowseToObject(This,punk,uFlags);
}
static FORCEINLINE HRESULT IExplorerBrowser_FillFromObject(IExplorerBrowser* This,IUnknown *punk,EXPLORER_BROWSER_FILL_FLAGS dwFlags) {
return This->lpVtbl->FillFromObject(This,punk,dwFlags);
}
static FORCEINLINE HRESULT IExplorerBrowser_RemoveAll(IExplorerBrowser* This) {
return This->lpVtbl->RemoveAll(This);
}
static FORCEINLINE HRESULT IExplorerBrowser_GetCurrentView(IExplorerBrowser* This,REFIID riid,void **ppv) {
return This->lpVtbl->GetCurrentView(This,riid,ppv);
}
#endif
#endif
#endif
#endif /* __IExplorerBrowser_INTERFACE_DEFINED__ */
/*****************************************************************************
* IAccessibleObject interface
*/
#ifndef __IAccessibleObject_INTERFACE_DEFINED__
#define __IAccessibleObject_INTERFACE_DEFINED__
DEFINE_GUID(IID_IAccessibleObject, 0x95a391c5, 0x9ed4, 0x4c28, 0x84,0x01, 0xab,0x9e,0x06,0x71,0x9e,0x11);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("95a391c5-9ed4-4c28-8401-ab9e06719e11")
IAccessibleObject : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetAccessibleName(
LPCWSTR pszName) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IAccessibleObject, 0x95a391c5, 0x9ed4, 0x4c28, 0x84,0x01, 0xab,0x9e,0x06,0x71,0x9e,0x11)
#endif
#else
typedef struct IAccessibleObjectVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IAccessibleObject *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IAccessibleObject *This);
ULONG (STDMETHODCALLTYPE *Release)(
IAccessibleObject *This);
/*** IAccessibleObject methods ***/
HRESULT (STDMETHODCALLTYPE *SetAccessibleName)(
IAccessibleObject *This,
LPCWSTR pszName);
END_INTERFACE
} IAccessibleObjectVtbl;
interface IAccessibleObject {
CONST_VTBL IAccessibleObjectVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IAccessibleObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IAccessibleObject_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IAccessibleObject_Release(This) (This)->lpVtbl->Release(This)
/*** IAccessibleObject methods ***/
#define IAccessibleObject_SetAccessibleName(This,pszName) (This)->lpVtbl->SetAccessibleName(This,pszName)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IAccessibleObject_QueryInterface(IAccessibleObject* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IAccessibleObject_AddRef(IAccessibleObject* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IAccessibleObject_Release(IAccessibleObject* This) {
return This->lpVtbl->Release(This);
}
/*** IAccessibleObject methods ***/
static FORCEINLINE HRESULT IAccessibleObject_SetAccessibleName(IAccessibleObject* This,LPCWSTR pszName) {
return This->lpVtbl->SetAccessibleName(This,pszName);
}
#endif
#endif
#endif
#endif /* __IAccessibleObject_INTERFACE_DEFINED__ */
#endif
/*****************************************************************************
* IResultsFolder interface
*/
#ifndef __IResultsFolder_INTERFACE_DEFINED__
#define __IResultsFolder_INTERFACE_DEFINED__
DEFINE_GUID(IID_IResultsFolder, 0x96e5ae6d, 0x6ae1, 0x4b1c, 0x90,0x0c, 0xc6,0x48,0x0e,0xaa,0x88,0x28);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("96e5ae6d-6ae1-4b1c-900c-c6480eaa8828")
IResultsFolder : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE AddItem(
IShellItem *psi) = 0;
virtual HRESULT STDMETHODCALLTYPE AddIDList(
PCIDLIST_ABSOLUTE pidl,
PITEMID_CHILD *ppidlAdded) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveItem(
IShellItem *psi) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveIDList(
PCIDLIST_ABSOLUTE pidl) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveAll(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IResultsFolder, 0x96e5ae6d, 0x6ae1, 0x4b1c, 0x90,0x0c, 0xc6,0x48,0x0e,0xaa,0x88,0x28)
#endif
#else
typedef struct IResultsFolderVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IResultsFolder *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IResultsFolder *This);
ULONG (STDMETHODCALLTYPE *Release)(
IResultsFolder *This);
/*** IResultsFolder methods ***/
HRESULT (STDMETHODCALLTYPE *AddItem)(
IResultsFolder *This,
IShellItem *psi);
HRESULT (STDMETHODCALLTYPE *AddIDList)(
IResultsFolder *This,
PCIDLIST_ABSOLUTE pidl,
PITEMID_CHILD *ppidlAdded);
HRESULT (STDMETHODCALLTYPE *RemoveItem)(
IResultsFolder *This,
IShellItem *psi);
HRESULT (STDMETHODCALLTYPE *RemoveIDList)(
IResultsFolder *This,
PCIDLIST_ABSOLUTE pidl);
HRESULT (STDMETHODCALLTYPE *RemoveAll)(
IResultsFolder *This);
END_INTERFACE
} IResultsFolderVtbl;
interface IResultsFolder {
CONST_VTBL IResultsFolderVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IResultsFolder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IResultsFolder_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IResultsFolder_Release(This) (This)->lpVtbl->Release(This)
/*** IResultsFolder methods ***/
#define IResultsFolder_AddItem(This,psi) (This)->lpVtbl->AddItem(This,psi)
#define IResultsFolder_AddIDList(This,pidl,ppidlAdded) (This)->lpVtbl->AddIDList(This,pidl,ppidlAdded)
#define IResultsFolder_RemoveItem(This,psi) (This)->lpVtbl->RemoveItem(This,psi)
#define IResultsFolder_RemoveIDList(This,pidl) (This)->lpVtbl->RemoveIDList(This,pidl)
#define IResultsFolder_RemoveAll(This) (This)->lpVtbl->RemoveAll(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IResultsFolder_QueryInterface(IResultsFolder* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IResultsFolder_AddRef(IResultsFolder* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IResultsFolder_Release(IResultsFolder* This) {
return This->lpVtbl->Release(This);
}
/*** IResultsFolder methods ***/
static FORCEINLINE HRESULT IResultsFolder_AddItem(IResultsFolder* This,IShellItem *psi) {
return This->lpVtbl->AddItem(This,psi);
}
static FORCEINLINE HRESULT IResultsFolder_AddIDList(IResultsFolder* This,PCIDLIST_ABSOLUTE pidl,PITEMID_CHILD *ppidlAdded) {
return This->lpVtbl->AddIDList(This,pidl,ppidlAdded);
}
static FORCEINLINE HRESULT IResultsFolder_RemoveItem(IResultsFolder* This,IShellItem *psi) {
return This->lpVtbl->RemoveItem(This,psi);
}
static FORCEINLINE HRESULT IResultsFolder_RemoveIDList(IResultsFolder* This,PCIDLIST_ABSOLUTE pidl) {
return This->lpVtbl->RemoveIDList(This,pidl);
}
static FORCEINLINE HRESULT IResultsFolder_RemoveAll(IResultsFolder* This) {
return This->lpVtbl->RemoveAll(This);
}
#endif
#endif
#endif
HRESULT STDMETHODCALLTYPE IResultsFolder_RemoteAddIDList_Proxy(
IResultsFolder* This,
PCIDLIST_ABSOLUTE pidl,
PITEMID_CHILD *ppidlAdded);
void __RPC_STUB IResultsFolder_RemoteAddIDList_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IResultsFolder_AddIDList_Proxy(
IResultsFolder* This,
PCIDLIST_ABSOLUTE pidl,
PITEMID_CHILD *ppidlAdded);
HRESULT __RPC_STUB IResultsFolder_AddIDList_Stub(
IResultsFolder* This,
PCIDLIST_ABSOLUTE pidl,
PITEMID_CHILD *ppidlAdded);
#endif /* __IResultsFolder_INTERFACE_DEFINED__ */
#if _WIN32_IE >= _WIN32_IE_IE70
/*****************************************************************************
* IEnumObjects interface
*/
#ifndef __IEnumObjects_INTERFACE_DEFINED__
#define __IEnumObjects_INTERFACE_DEFINED__
DEFINE_GUID(IID_IEnumObjects, 0x2c1c7e2e, 0x2d0e, 0x4059, 0x83,0x1e, 0x1e,0x6f,0x82,0x33,0x5c,0x2e);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("2c1c7e2e-2d0e-4059-831e-1e6f82335c2e")
IEnumObjects : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Next(
ULONG celt,
REFIID riid,
void **rgelt,
ULONG *pceltFetched) = 0;
virtual HRESULT STDMETHODCALLTYPE Skip(
ULONG celt) = 0;
virtual HRESULT STDMETHODCALLTYPE Reset(
) = 0;
virtual HRESULT STDMETHODCALLTYPE Clone(
IEnumObjects **ppenum) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IEnumObjects, 0x2c1c7e2e, 0x2d0e, 0x4059, 0x83,0x1e, 0x1e,0x6f,0x82,0x33,0x5c,0x2e)
#endif
#else
typedef struct IEnumObjectsVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IEnumObjects *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IEnumObjects *This);
ULONG (STDMETHODCALLTYPE *Release)(
IEnumObjects *This);
/*** IEnumObjects methods ***/
HRESULT (STDMETHODCALLTYPE *Next)(
IEnumObjects *This,
ULONG celt,
REFIID riid,
void **rgelt,
ULONG *pceltFetched);
HRESULT (STDMETHODCALLTYPE *Skip)(
IEnumObjects *This,
ULONG celt);
HRESULT (STDMETHODCALLTYPE *Reset)(
IEnumObjects *This);
HRESULT (STDMETHODCALLTYPE *Clone)(
IEnumObjects *This,
IEnumObjects **ppenum);
END_INTERFACE
} IEnumObjectsVtbl;
interface IEnumObjects {
CONST_VTBL IEnumObjectsVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IEnumObjects_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IEnumObjects_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IEnumObjects_Release(This) (This)->lpVtbl->Release(This)
/*** IEnumObjects methods ***/
#define IEnumObjects_Next(This,celt,riid,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,riid,rgelt,pceltFetched)
#define IEnumObjects_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
#define IEnumObjects_Reset(This) (This)->lpVtbl->Reset(This)
#define IEnumObjects_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IEnumObjects_QueryInterface(IEnumObjects* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IEnumObjects_AddRef(IEnumObjects* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IEnumObjects_Release(IEnumObjects* This) {
return This->lpVtbl->Release(This);
}
/*** IEnumObjects methods ***/
static FORCEINLINE HRESULT IEnumObjects_Next(IEnumObjects* This,ULONG celt,REFIID riid,void **rgelt,ULONG *pceltFetched) {
return This->lpVtbl->Next(This,celt,riid,rgelt,pceltFetched);
}
static FORCEINLINE HRESULT IEnumObjects_Skip(IEnumObjects* This,ULONG celt) {
return This->lpVtbl->Skip(This,celt);
}
static FORCEINLINE HRESULT IEnumObjects_Reset(IEnumObjects* This) {
return This->lpVtbl->Reset(This);
}
static FORCEINLINE HRESULT IEnumObjects_Clone(IEnumObjects* This,IEnumObjects **ppenum) {
return This->lpVtbl->Clone(This,ppenum);
}
#endif
#endif
#endif
HRESULT STDMETHODCALLTYPE IEnumObjects_RemoteNext_Proxy(
IEnumObjects* This,
ULONG celt,
REFIID riid,
void **rgelt,
ULONG *pceltFetched);
void __RPC_STUB IEnumObjects_RemoteNext_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IEnumObjects_Next_Proxy(
IEnumObjects* This,
ULONG celt,
REFIID riid,
void **rgelt,
ULONG *pceltFetched);
HRESULT __RPC_STUB IEnumObjects_Next_Stub(
IEnumObjects* This,
ULONG celt,
REFIID riid,
void **rgelt,
ULONG *pceltFetched);
#endif /* __IEnumObjects_INTERFACE_DEFINED__ */
enum _OPPROGDLGF {
OPPROGDLG_DEFAULT = 0x0,
OPPROGDLG_ENABLEPAUSE = 0x80,
OPPROGDLG_ALLOWUNDO = 0x100,
OPPROGDLG_DONTDISPLAYSOURCEPATH = 0x200,
OPPROGDLG_DONTDISPLAYDESTPATH = 0x400,
OPPROGDLG_NOMULTIDAYESTIMATES = 0x800,
OPPROGDLG_DONTDISPLAYLOCATIONS = 0x1000
};
typedef DWORD OPPROGDLGF;
/*****************************************************************************
* IOperationsProgressDialog interface
*/
#ifndef __IOperationsProgressDialog_INTERFACE_DEFINED__
#define __IOperationsProgressDialog_INTERFACE_DEFINED__
enum _PDMODE {
PDM_DEFAULT = 0x0,
PDM_RUN = 0x1,
PDM_PREFLIGHT = 0x2,
PDM_UNDOING = 0x4,
PDM_ERRORSBLOCKING = 0x8,
PDM_INDETERMINATE = 0x10
};
typedef DWORD PDMODE;
typedef enum PDOPSTATUS {
PDOPS_RUNNING = 1,
PDOPS_PAUSED = 2,
PDOPS_CANCELLED = 3,
PDOPS_STOPPED = 4,
PDOPS_ERRORS = 5
} PDOPSTATUS;
DEFINE_GUID(IID_IOperationsProgressDialog, 0x0c9fb851, 0xe5c9, 0x43eb, 0xa3,0x70, 0xf0,0x67,0x7b,0x13,0x87,0x4c);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("0c9fb851-e5c9-43eb-a370-f0677b13874c")
IOperationsProgressDialog : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE StartProgressDialog(
HWND hwndOwner,
OPPROGDLGF flags) = 0;
virtual HRESULT STDMETHODCALLTYPE StopProgressDialog(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SetOperation(
SPACTION action) = 0;
virtual HRESULT STDMETHODCALLTYPE SetMode(
PDMODE mode) = 0;
virtual HRESULT STDMETHODCALLTYPE UpdateProgress(
ULONGLONG ullPointsCurrent,
ULONGLONG ullPointsTotal,
ULONGLONG ullSizeCurrent,
ULONGLONG ullSizeTotal,
ULONGLONG ullItemsCurrent,
ULONGLONG ullItemsTotal) = 0;
virtual HRESULT STDMETHODCALLTYPE UpdateLocations(
IShellItem *psiSource,
IShellItem *psiTarget,
IShellItem *psiItem) = 0;
virtual HRESULT STDMETHODCALLTYPE ResetTimer(
) = 0;
virtual HRESULT STDMETHODCALLTYPE PauseTimer(
) = 0;
virtual HRESULT STDMETHODCALLTYPE ResumeTimer(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMilliseconds(
ULONGLONG *pullElapsed,
ULONGLONG *pullRemaining) = 0;
virtual HRESULT STDMETHODCALLTYPE GetOperationStatus(
PDOPSTATUS *popstatus) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IOperationsProgressDialog, 0x0c9fb851, 0xe5c9, 0x43eb, 0xa3,0x70, 0xf0,0x67,0x7b,0x13,0x87,0x4c)
#endif
#else
typedef struct IOperationsProgressDialogVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IOperationsProgressDialog *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IOperationsProgressDialog *This);
ULONG (STDMETHODCALLTYPE *Release)(
IOperationsProgressDialog *This);
/*** IOperationsProgressDialog methods ***/
HRESULT (STDMETHODCALLTYPE *StartProgressDialog)(
IOperationsProgressDialog *This,
HWND hwndOwner,
OPPROGDLGF flags);
HRESULT (STDMETHODCALLTYPE *StopProgressDialog)(
IOperationsProgressDialog *This);
HRESULT (STDMETHODCALLTYPE *SetOperation)(
IOperationsProgressDialog *This,
SPACTION action);
HRESULT (STDMETHODCALLTYPE *SetMode)(
IOperationsProgressDialog *This,
PDMODE mode);
HRESULT (STDMETHODCALLTYPE *UpdateProgress)(
IOperationsProgressDialog *This,
ULONGLONG ullPointsCurrent,
ULONGLONG ullPointsTotal,
ULONGLONG ullSizeCurrent,
ULONGLONG ullSizeTotal,
ULONGLONG ullItemsCurrent,
ULONGLONG ullItemsTotal);
HRESULT (STDMETHODCALLTYPE *UpdateLocations)(
IOperationsProgressDialog *This,
IShellItem *psiSource,
IShellItem *psiTarget,
IShellItem *psiItem);
HRESULT (STDMETHODCALLTYPE *ResetTimer)(
IOperationsProgressDialog *This);
HRESULT (STDMETHODCALLTYPE *PauseTimer)(
IOperationsProgressDialog *This);
HRESULT (STDMETHODCALLTYPE *ResumeTimer)(
IOperationsProgressDialog *This);
HRESULT (STDMETHODCALLTYPE *GetMilliseconds)(
IOperationsProgressDialog *This,
ULONGLONG *pullElapsed,
ULONGLONG *pullRemaining);
HRESULT (STDMETHODCALLTYPE *GetOperationStatus)(
IOperationsProgressDialog *This,
PDOPSTATUS *popstatus);
END_INTERFACE
} IOperationsProgressDialogVtbl;
interface IOperationsProgressDialog {
CONST_VTBL IOperationsProgressDialogVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IOperationsProgressDialog_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IOperationsProgressDialog_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IOperationsProgressDialog_Release(This) (This)->lpVtbl->Release(This)
/*** IOperationsProgressDialog methods ***/
#define IOperationsProgressDialog_StartProgressDialog(This,hwndOwner,flags) (This)->lpVtbl->StartProgressDialog(This,hwndOwner,flags)
#define IOperationsProgressDialog_StopProgressDialog(This) (This)->lpVtbl->StopProgressDialog(This)
#define IOperationsProgressDialog_SetOperation(This,action) (This)->lpVtbl->SetOperation(This,action)
#define IOperationsProgressDialog_SetMode(This,mode) (This)->lpVtbl->SetMode(This,mode)
#define IOperationsProgressDialog_UpdateProgress(This,ullPointsCurrent,ullPointsTotal,ullSizeCurrent,ullSizeTotal,ullItemsCurrent,ullItemsTotal) (This)->lpVtbl->UpdateProgress(This,ullPointsCurrent,ullPointsTotal,ullSizeCurrent,ullSizeTotal,ullItemsCurrent,ullItemsTotal)
#define IOperationsProgressDialog_UpdateLocations(This,psiSource,psiTarget,psiItem) (This)->lpVtbl->UpdateLocations(This,psiSource,psiTarget,psiItem)
#define IOperationsProgressDialog_ResetTimer(This) (This)->lpVtbl->ResetTimer(This)
#define IOperationsProgressDialog_PauseTimer(This) (This)->lpVtbl->PauseTimer(This)
#define IOperationsProgressDialog_ResumeTimer(This) (This)->lpVtbl->ResumeTimer(This)
#define IOperationsProgressDialog_GetMilliseconds(This,pullElapsed,pullRemaining) (This)->lpVtbl->GetMilliseconds(This,pullElapsed,pullRemaining)
#define IOperationsProgressDialog_GetOperationStatus(This,popstatus) (This)->lpVtbl->GetOperationStatus(This,popstatus)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IOperationsProgressDialog_QueryInterface(IOperationsProgressDialog* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IOperationsProgressDialog_AddRef(IOperationsProgressDialog* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IOperationsProgressDialog_Release(IOperationsProgressDialog* This) {
return This->lpVtbl->Release(This);
}
/*** IOperationsProgressDialog methods ***/
static FORCEINLINE HRESULT IOperationsProgressDialog_StartProgressDialog(IOperationsProgressDialog* This,HWND hwndOwner,OPPROGDLGF flags) {
return This->lpVtbl->StartProgressDialog(This,hwndOwner,flags);
}
static FORCEINLINE HRESULT IOperationsProgressDialog_StopProgressDialog(IOperationsProgressDialog* This) {
return This->lpVtbl->StopProgressDialog(This);
}
static FORCEINLINE HRESULT IOperationsProgressDialog_SetOperation(IOperationsProgressDialog* This,SPACTION action) {
return This->lpVtbl->SetOperation(This,action);
}
static FORCEINLINE HRESULT IOperationsProgressDialog_SetMode(IOperationsProgressDialog* This,PDMODE mode) {
return This->lpVtbl->SetMode(This,mode);
}
static FORCEINLINE HRESULT IOperationsProgressDialog_UpdateProgress(IOperationsProgressDialog* This,ULONGLONG ullPointsCurrent,ULONGLONG ullPointsTotal,ULONGLONG ullSizeCurrent,ULONGLONG ullSizeTotal,ULONGLONG ullItemsCurrent,ULONGLONG ullItemsTotal) {
return This->lpVtbl->UpdateProgress(This,ullPointsCurrent,ullPointsTotal,ullSizeCurrent,ullSizeTotal,ullItemsCurrent,ullItemsTotal);
}
static FORCEINLINE HRESULT IOperationsProgressDialog_UpdateLocations(IOperationsProgressDialog* This,IShellItem *psiSource,IShellItem *psiTarget,IShellItem *psiItem) {
return This->lpVtbl->UpdateLocations(This,psiSource,psiTarget,psiItem);
}
static FORCEINLINE HRESULT IOperationsProgressDialog_ResetTimer(IOperationsProgressDialog* This) {
return This->lpVtbl->ResetTimer(This);
}
static FORCEINLINE HRESULT IOperationsProgressDialog_PauseTimer(IOperationsProgressDialog* This) {
return This->lpVtbl->PauseTimer(This);
}
static FORCEINLINE HRESULT IOperationsProgressDialog_ResumeTimer(IOperationsProgressDialog* This) {
return This->lpVtbl->ResumeTimer(This);
}
static FORCEINLINE HRESULT IOperationsProgressDialog_GetMilliseconds(IOperationsProgressDialog* This,ULONGLONG *pullElapsed,ULONGLONG *pullRemaining) {
return This->lpVtbl->GetMilliseconds(This,pullElapsed,pullRemaining);
}
static FORCEINLINE HRESULT IOperationsProgressDialog_GetOperationStatus(IOperationsProgressDialog* This,PDOPSTATUS *popstatus) {
return This->lpVtbl->GetOperationStatus(This,popstatus);
}
#endif
#endif
#endif
#endif /* __IOperationsProgressDialog_INTERFACE_DEFINED__ */
/*****************************************************************************
* IIOCancelInformation interface
*/
#ifndef __IIOCancelInformation_INTERFACE_DEFINED__
#define __IIOCancelInformation_INTERFACE_DEFINED__
DEFINE_GUID(IID_IIOCancelInformation, 0xf5b0bf81, 0x8cb5, 0x4b1b, 0x94,0x49, 0x1a,0x15,0x9e,0x0c,0x73,0x3c);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("f5b0bf81-8cb5-4b1b-9449-1a159e0c733c")
IIOCancelInformation : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetCancelInformation(
DWORD dwThreadID,
UINT uMsgCancel) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCancelInformation(
DWORD *pdwThreadID,
UINT *puMsgCancel) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IIOCancelInformation, 0xf5b0bf81, 0x8cb5, 0x4b1b, 0x94,0x49, 0x1a,0x15,0x9e,0x0c,0x73,0x3c)
#endif
#else
typedef struct IIOCancelInformationVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IIOCancelInformation *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IIOCancelInformation *This);
ULONG (STDMETHODCALLTYPE *Release)(
IIOCancelInformation *This);
/*** IIOCancelInformation methods ***/
HRESULT (STDMETHODCALLTYPE *SetCancelInformation)(
IIOCancelInformation *This,
DWORD dwThreadID,
UINT uMsgCancel);
HRESULT (STDMETHODCALLTYPE *GetCancelInformation)(
IIOCancelInformation *This,
DWORD *pdwThreadID,
UINT *puMsgCancel);
END_INTERFACE
} IIOCancelInformationVtbl;
interface IIOCancelInformation {
CONST_VTBL IIOCancelInformationVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IIOCancelInformation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IIOCancelInformation_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IIOCancelInformation_Release(This) (This)->lpVtbl->Release(This)
/*** IIOCancelInformation methods ***/
#define IIOCancelInformation_SetCancelInformation(This,dwThreadID,uMsgCancel) (This)->lpVtbl->SetCancelInformation(This,dwThreadID,uMsgCancel)
#define IIOCancelInformation_GetCancelInformation(This,pdwThreadID,puMsgCancel) (This)->lpVtbl->GetCancelInformation(This,pdwThreadID,puMsgCancel)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IIOCancelInformation_QueryInterface(IIOCancelInformation* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IIOCancelInformation_AddRef(IIOCancelInformation* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IIOCancelInformation_Release(IIOCancelInformation* This) {
return This->lpVtbl->Release(This);
}
/*** IIOCancelInformation methods ***/
static FORCEINLINE HRESULT IIOCancelInformation_SetCancelInformation(IIOCancelInformation* This,DWORD dwThreadID,UINT uMsgCancel) {
return This->lpVtbl->SetCancelInformation(This,dwThreadID,uMsgCancel);
}
static FORCEINLINE HRESULT IIOCancelInformation_GetCancelInformation(IIOCancelInformation* This,DWORD *pdwThreadID,UINT *puMsgCancel) {
return This->lpVtbl->GetCancelInformation(This,pdwThreadID,puMsgCancel);
}
#endif
#endif
#endif
#endif /* __IIOCancelInformation_INTERFACE_DEFINED__ */
#define FOFX_NOSKIPJUNCTIONS 0x00010000
#define FOFX_PREFERHARDLINK 0x00020000
#define FOFX_SHOWELEVATIONPROMPT 0x00040000
#define FOFX_RECYCLEONDELETE 0x00080000
#define FOFX_EARLYFAILURE 0x00100000
#define FOFX_PRESERVEFILEEXTENSIONS 0x00200000
#define FOFX_KEEPNEWERFILE 0x00400000
#define FOFX_NOCOPYHOOKS 0x00800000
#define FOFX_NOMINIMIZEBOX 0x01000000
#define FOFX_MOVEACLSACROSSVOLUMES 0x02000000
#define FOFX_DONTDISPLAYSOURCEPATH 0x04000000
#define FOFX_DONTDISPLAYDESTPATH 0x08000000
#define FOFX_REQUIREELEVATION 0x10000000
#define FOFX_ADDUNDORECORD 0x20000000
#define FOFX_COPYASDOWNLOAD 0x40000000
#define FOFX_DONTDISPLAYLOCATIONS 0x80000000
/*****************************************************************************
* IFileOperation interface
*/
#ifndef __IFileOperation_INTERFACE_DEFINED__
#define __IFileOperation_INTERFACE_DEFINED__
DEFINE_GUID(IID_IFileOperation, 0x947aab5f, 0x0a5c, 0x4c13, 0xb4,0xd6, 0x4b,0xf7,0x83,0x6f,0xc9,0xf8);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("947aab5f-0a5c-4c13-b4d6-4bf7836fc9f8")
IFileOperation : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Advise(
IFileOperationProgressSink *pfops,
DWORD *pdwCookie) = 0;
virtual HRESULT STDMETHODCALLTYPE Unadvise(
DWORD dwCookie) = 0;
virtual HRESULT STDMETHODCALLTYPE SetOperationFlags(
DWORD dwOperationFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE SetProgressMessage(
LPCWSTR pszMessage) = 0;
virtual HRESULT STDMETHODCALLTYPE SetProgressDialog(
IOperationsProgressDialog *popd) = 0;
virtual HRESULT STDMETHODCALLTYPE SetProperties(
IPropertyChangeArray *pproparray) = 0;
virtual HRESULT STDMETHODCALLTYPE SetOwnerWindow(
HWND hwndOwner) = 0;
virtual HRESULT STDMETHODCALLTYPE ApplyPropertiesToItem(
IShellItem *psiItem) = 0;
virtual HRESULT STDMETHODCALLTYPE ApplyPropertiesToItems(
IUnknown *punkItems) = 0;
virtual HRESULT STDMETHODCALLTYPE RenameItem(
IShellItem *psiItem,
LPCWSTR pszNewName,
IFileOperationProgressSink *pfopsItem) = 0;
virtual HRESULT STDMETHODCALLTYPE RenameItems(
IUnknown *pUnkItems,
LPCWSTR pszNewName) = 0;
virtual HRESULT STDMETHODCALLTYPE MoveItem(
IShellItem *psiItem,
IShellItem *psiDestinationFolder,
LPCWSTR pszNewName,
IFileOperationProgressSink *pfopsItem) = 0;
virtual HRESULT STDMETHODCALLTYPE MoveItems(
IUnknown *punkItems,
IShellItem *psiDestinationFolder) = 0;
virtual HRESULT STDMETHODCALLTYPE CopyItem(
IShellItem *psiItem,
IShellItem *psiDestinationFolder,
LPCWSTR pszCopyName,
IFileOperationProgressSink *pfopsItem) = 0;
virtual HRESULT STDMETHODCALLTYPE CopyItems(
IUnknown *punkItems,
IShellItem *psiDestinationFolder) = 0;
virtual HRESULT STDMETHODCALLTYPE DeleteItem(
IShellItem *psiItem,
IFileOperationProgressSink *pfopsItem) = 0;
virtual HRESULT STDMETHODCALLTYPE DeleteItems(
IUnknown *punkItems) = 0;
virtual HRESULT STDMETHODCALLTYPE NewItem(
IShellItem *psiDestinationFolder,
DWORD dwFileAttributes,
LPCWSTR pszName,
LPCWSTR pszTemplateName,
IFileOperationProgressSink *pfopsItem) = 0;
virtual HRESULT STDMETHODCALLTYPE PerformOperations(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAnyOperationsAborted(
WINBOOL *pfAnyOperationsAborted) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IFileOperation, 0x947aab5f, 0x0a5c, 0x4c13, 0xb4,0xd6, 0x4b,0xf7,0x83,0x6f,0xc9,0xf8)
#endif
#else
typedef struct IFileOperationVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IFileOperation *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IFileOperation *This);
ULONG (STDMETHODCALLTYPE *Release)(
IFileOperation *This);
/*** IFileOperation methods ***/
HRESULT (STDMETHODCALLTYPE *Advise)(
IFileOperation *This,
IFileOperationProgressSink *pfops,
DWORD *pdwCookie);
HRESULT (STDMETHODCALLTYPE *Unadvise)(
IFileOperation *This,
DWORD dwCookie);
HRESULT (STDMETHODCALLTYPE *SetOperationFlags)(
IFileOperation *This,
DWORD dwOperationFlags);
HRESULT (STDMETHODCALLTYPE *SetProgressMessage)(
IFileOperation *This,
LPCWSTR pszMessage);
HRESULT (STDMETHODCALLTYPE *SetProgressDialog)(
IFileOperation *This,
IOperationsProgressDialog *popd);
HRESULT (STDMETHODCALLTYPE *SetProperties)(
IFileOperation *This,
IPropertyChangeArray *pproparray);
HRESULT (STDMETHODCALLTYPE *SetOwnerWindow)(
IFileOperation *This,
HWND hwndOwner);
HRESULT (STDMETHODCALLTYPE *ApplyPropertiesToItem)(
IFileOperation *This,
IShellItem *psiItem);
HRESULT (STDMETHODCALLTYPE *ApplyPropertiesToItems)(
IFileOperation *This,
IUnknown *punkItems);
HRESULT (STDMETHODCALLTYPE *RenameItem)(
IFileOperation *This,
IShellItem *psiItem,
LPCWSTR pszNewName,
IFileOperationProgressSink *pfopsItem);
HRESULT (STDMETHODCALLTYPE *RenameItems)(
IFileOperation *This,
IUnknown *pUnkItems,
LPCWSTR pszNewName);
HRESULT (STDMETHODCALLTYPE *MoveItem)(
IFileOperation *This,
IShellItem *psiItem,
IShellItem *psiDestinationFolder,
LPCWSTR pszNewName,
IFileOperationProgressSink *pfopsItem);
HRESULT (STDMETHODCALLTYPE *MoveItems)(
IFileOperation *This,
IUnknown *punkItems,
IShellItem *psiDestinationFolder);
HRESULT (STDMETHODCALLTYPE *CopyItem)(
IFileOperation *This,
IShellItem *psiItem,
IShellItem *psiDestinationFolder,
LPCWSTR pszCopyName,
IFileOperationProgressSink *pfopsItem);
HRESULT (STDMETHODCALLTYPE *CopyItems)(
IFileOperation *This,
IUnknown *punkItems,
IShellItem *psiDestinationFolder);
HRESULT (STDMETHODCALLTYPE *DeleteItem)(
IFileOperation *This,
IShellItem *psiItem,
IFileOperationProgressSink *pfopsItem);
HRESULT (STDMETHODCALLTYPE *DeleteItems)(
IFileOperation *This,
IUnknown *punkItems);
HRESULT (STDMETHODCALLTYPE *NewItem)(
IFileOperation *This,
IShellItem *psiDestinationFolder,
DWORD dwFileAttributes,
LPCWSTR pszName,
LPCWSTR pszTemplateName,
IFileOperationProgressSink *pfopsItem);
HRESULT (STDMETHODCALLTYPE *PerformOperations)(
IFileOperation *This);
HRESULT (STDMETHODCALLTYPE *GetAnyOperationsAborted)(
IFileOperation *This,
WINBOOL *pfAnyOperationsAborted);
END_INTERFACE
} IFileOperationVtbl;
interface IFileOperation {
CONST_VTBL IFileOperationVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IFileOperation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IFileOperation_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IFileOperation_Release(This) (This)->lpVtbl->Release(This)
/*** IFileOperation methods ***/
#define IFileOperation_Advise(This,pfops,pdwCookie) (This)->lpVtbl->Advise(This,pfops,pdwCookie)
#define IFileOperation_Unadvise(This,dwCookie) (This)->lpVtbl->Unadvise(This,dwCookie)
#define IFileOperation_SetOperationFlags(This,dwOperationFlags) (This)->lpVtbl->SetOperationFlags(This,dwOperationFlags)
#define IFileOperation_SetProgressMessage(This,pszMessage) (This)->lpVtbl->SetProgressMessage(This,pszMessage)
#define IFileOperation_SetProgressDialog(This,popd) (This)->lpVtbl->SetProgressDialog(This,popd)
#define IFileOperation_SetProperties(This,pproparray) (This)->lpVtbl->SetProperties(This,pproparray)
#define IFileOperation_SetOwnerWindow(This,hwndOwner) (This)->lpVtbl->SetOwnerWindow(This,hwndOwner)
#define IFileOperation_ApplyPropertiesToItem(This,psiItem) (This)->lpVtbl->ApplyPropertiesToItem(This,psiItem)
#define IFileOperation_ApplyPropertiesToItems(This,punkItems) (This)->lpVtbl->ApplyPropertiesToItems(This,punkItems)
#define IFileOperation_RenameItem(This,psiItem,pszNewName,pfopsItem) (This)->lpVtbl->RenameItem(This,psiItem,pszNewName,pfopsItem)
#define IFileOperation_RenameItems(This,pUnkItems,pszNewName) (This)->lpVtbl->RenameItems(This,pUnkItems,pszNewName)
#define IFileOperation_MoveItem(This,psiItem,psiDestinationFolder,pszNewName,pfopsItem) (This)->lpVtbl->MoveItem(This,psiItem,psiDestinationFolder,pszNewName,pfopsItem)
#define IFileOperation_MoveItems(This,punkItems,psiDestinationFolder) (This)->lpVtbl->MoveItems(This,punkItems,psiDestinationFolder)
#define IFileOperation_CopyItem(This,psiItem,psiDestinationFolder,pszCopyName,pfopsItem) (This)->lpVtbl->CopyItem(This,psiItem,psiDestinationFolder,pszCopyName,pfopsItem)
#define IFileOperation_CopyItems(This,punkItems,psiDestinationFolder) (This)->lpVtbl->CopyItems(This,punkItems,psiDestinationFolder)
#define IFileOperation_DeleteItem(This,psiItem,pfopsItem) (This)->lpVtbl->DeleteItem(This,psiItem,pfopsItem)
#define IFileOperation_DeleteItems(This,punkItems) (This)->lpVtbl->DeleteItems(This,punkItems)
#define IFileOperation_NewItem(This,psiDestinationFolder,dwFileAttributes,pszName,pszTemplateName,pfopsItem) (This)->lpVtbl->NewItem(This,psiDestinationFolder,dwFileAttributes,pszName,pszTemplateName,pfopsItem)
#define IFileOperation_PerformOperations(This) (This)->lpVtbl->PerformOperations(This)
#define IFileOperation_GetAnyOperationsAborted(This,pfAnyOperationsAborted) (This)->lpVtbl->GetAnyOperationsAborted(This,pfAnyOperationsAborted)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IFileOperation_QueryInterface(IFileOperation* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IFileOperation_AddRef(IFileOperation* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IFileOperation_Release(IFileOperation* This) {
return This->lpVtbl->Release(This);
}
/*** IFileOperation methods ***/
static FORCEINLINE HRESULT IFileOperation_Advise(IFileOperation* This,IFileOperationProgressSink *pfops,DWORD *pdwCookie) {
return This->lpVtbl->Advise(This,pfops,pdwCookie);
}
static FORCEINLINE HRESULT IFileOperation_Unadvise(IFileOperation* This,DWORD dwCookie) {
return This->lpVtbl->Unadvise(This,dwCookie);
}
static FORCEINLINE HRESULT IFileOperation_SetOperationFlags(IFileOperation* This,DWORD dwOperationFlags) {
return This->lpVtbl->SetOperationFlags(This,dwOperationFlags);
}
static FORCEINLINE HRESULT IFileOperation_SetProgressMessage(IFileOperation* This,LPCWSTR pszMessage) {
return This->lpVtbl->SetProgressMessage(This,pszMessage);
}
static FORCEINLINE HRESULT IFileOperation_SetProgressDialog(IFileOperation* This,IOperationsProgressDialog *popd) {
return This->lpVtbl->SetProgressDialog(This,popd);
}
static FORCEINLINE HRESULT IFileOperation_SetProperties(IFileOperation* This,IPropertyChangeArray *pproparray) {
return This->lpVtbl->SetProperties(This,pproparray);
}
static FORCEINLINE HRESULT IFileOperation_SetOwnerWindow(IFileOperation* This,HWND hwndOwner) {
return This->lpVtbl->SetOwnerWindow(This,hwndOwner);
}
static FORCEINLINE HRESULT IFileOperation_ApplyPropertiesToItem(IFileOperation* This,IShellItem *psiItem) {
return This->lpVtbl->ApplyPropertiesToItem(This,psiItem);
}
static FORCEINLINE HRESULT IFileOperation_ApplyPropertiesToItems(IFileOperation* This,IUnknown *punkItems) {
return This->lpVtbl->ApplyPropertiesToItems(This,punkItems);
}
static FORCEINLINE HRESULT IFileOperation_RenameItem(IFileOperation* This,IShellItem *psiItem,LPCWSTR pszNewName,IFileOperationProgressSink *pfopsItem) {
return This->lpVtbl->RenameItem(This,psiItem,pszNewName,pfopsItem);
}
static FORCEINLINE HRESULT IFileOperation_RenameItems(IFileOperation* This,IUnknown *pUnkItems,LPCWSTR pszNewName) {
return This->lpVtbl->RenameItems(This,pUnkItems,pszNewName);
}
static FORCEINLINE HRESULT IFileOperation_MoveItem(IFileOperation* This,IShellItem *psiItem,IShellItem *psiDestinationFolder,LPCWSTR pszNewName,IFileOperationProgressSink *pfopsItem) {
return This->lpVtbl->MoveItem(This,psiItem,psiDestinationFolder,pszNewName,pfopsItem);
}
static FORCEINLINE HRESULT IFileOperation_MoveItems(IFileOperation* This,IUnknown *punkItems,IShellItem *psiDestinationFolder) {
return This->lpVtbl->MoveItems(This,punkItems,psiDestinationFolder);
}
static FORCEINLINE HRESULT IFileOperation_CopyItem(IFileOperation* This,IShellItem *psiItem,IShellItem *psiDestinationFolder,LPCWSTR pszCopyName,IFileOperationProgressSink *pfopsItem) {
return This->lpVtbl->CopyItem(This,psiItem,psiDestinationFolder,pszCopyName,pfopsItem);
}
static FORCEINLINE HRESULT IFileOperation_CopyItems(IFileOperation* This,IUnknown *punkItems,IShellItem *psiDestinationFolder) {
return This->lpVtbl->CopyItems(This,punkItems,psiDestinationFolder);
}
static FORCEINLINE HRESULT IFileOperation_DeleteItem(IFileOperation* This,IShellItem *psiItem,IFileOperationProgressSink *pfopsItem) {
return This->lpVtbl->DeleteItem(This,psiItem,pfopsItem);
}
static FORCEINLINE HRESULT IFileOperation_DeleteItems(IFileOperation* This,IUnknown *punkItems) {
return This->lpVtbl->DeleteItems(This,punkItems);
}
static FORCEINLINE HRESULT IFileOperation_NewItem(IFileOperation* This,IShellItem *psiDestinationFolder,DWORD dwFileAttributes,LPCWSTR pszName,LPCWSTR pszTemplateName,IFileOperationProgressSink *pfopsItem) {
return This->lpVtbl->NewItem(This,psiDestinationFolder,dwFileAttributes,pszName,pszTemplateName,pfopsItem);
}
static FORCEINLINE HRESULT IFileOperation_PerformOperations(IFileOperation* This) {
return This->lpVtbl->PerformOperations(This);
}
static FORCEINLINE HRESULT IFileOperation_GetAnyOperationsAborted(IFileOperation* This,WINBOOL *pfAnyOperationsAborted) {
return This->lpVtbl->GetAnyOperationsAborted(This,pfAnyOperationsAborted);
}
#endif
#endif
#endif
#endif /* __IFileOperation_INTERFACE_DEFINED__ */
/*****************************************************************************
* IObjectProvider interface
*/
#ifndef __IObjectProvider_INTERFACE_DEFINED__
#define __IObjectProvider_INTERFACE_DEFINED__
DEFINE_GUID(IID_IObjectProvider, 0xa6087428, 0x3be3, 0x4d73, 0xb3,0x08, 0x7c,0x04,0xa5,0x40,0xbf,0x1a);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("a6087428-3be3-4d73-b308-7c04a540bf1a")
IObjectProvider : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE QueryObject(
REFGUID guidObject,
REFIID riid,
void **ppvOut) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IObjectProvider, 0xa6087428, 0x3be3, 0x4d73, 0xb3,0x08, 0x7c,0x04,0xa5,0x40,0xbf,0x1a)
#endif
#else
typedef struct IObjectProviderVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IObjectProvider *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IObjectProvider *This);
ULONG (STDMETHODCALLTYPE *Release)(
IObjectProvider *This);
/*** IObjectProvider methods ***/
HRESULT (STDMETHODCALLTYPE *QueryObject)(
IObjectProvider *This,
REFGUID guidObject,
REFIID riid,
void **ppvOut);
END_INTERFACE
} IObjectProviderVtbl;
interface IObjectProvider {
CONST_VTBL IObjectProviderVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IObjectProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IObjectProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IObjectProvider_Release(This) (This)->lpVtbl->Release(This)
/*** IObjectProvider methods ***/
#define IObjectProvider_QueryObject(This,guidObject,riid,ppvOut) (This)->lpVtbl->QueryObject(This,guidObject,riid,ppvOut)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IObjectProvider_QueryInterface(IObjectProvider* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IObjectProvider_AddRef(IObjectProvider* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IObjectProvider_Release(IObjectProvider* This) {
return This->lpVtbl->Release(This);
}
/*** IObjectProvider methods ***/
static FORCEINLINE HRESULT IObjectProvider_QueryObject(IObjectProvider* This,REFGUID guidObject,REFIID riid,void **ppvOut) {
return This->lpVtbl->QueryObject(This,guidObject,riid,ppvOut);
}
#endif
#endif
#endif
#endif /* __IObjectProvider_INTERFACE_DEFINED__ */
#endif
/*****************************************************************************
* INamespaceWalkCB interface
*/
#ifndef __INamespaceWalkCB_INTERFACE_DEFINED__
#define __INamespaceWalkCB_INTERFACE_DEFINED__
DEFINE_GUID(IID_INamespaceWalkCB, 0xd92995f8, 0xcf5e, 0x4a76, 0xbf,0x59, 0xea,0xd3,0x9e,0xa2,0xb9,0x7e);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("d92995f8-cf5e-4a76-bf59-ead39ea2b97e")
INamespaceWalkCB : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE FoundItem(
IShellFolder *psf,
PCUITEMID_CHILD pidl) = 0;
virtual HRESULT STDMETHODCALLTYPE EnterFolder(
IShellFolder *psf,
PCUITEMID_CHILD pidl) = 0;
virtual HRESULT STDMETHODCALLTYPE LeaveFolder(
IShellFolder *psf,
PCUITEMID_CHILD pidl) = 0;
virtual HRESULT STDMETHODCALLTYPE InitializeProgressDialog(
LPWSTR *ppszTitle,
LPWSTR *ppszCancel) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(INamespaceWalkCB, 0xd92995f8, 0xcf5e, 0x4a76, 0xbf,0x59, 0xea,0xd3,0x9e,0xa2,0xb9,0x7e)
#endif
#else
typedef struct INamespaceWalkCBVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
INamespaceWalkCB *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
INamespaceWalkCB *This);
ULONG (STDMETHODCALLTYPE *Release)(
INamespaceWalkCB *This);
/*** INamespaceWalkCB methods ***/
HRESULT (STDMETHODCALLTYPE *FoundItem)(
INamespaceWalkCB *This,
IShellFolder *psf,
PCUITEMID_CHILD pidl);
HRESULT (STDMETHODCALLTYPE *EnterFolder)(
INamespaceWalkCB *This,
IShellFolder *psf,
PCUITEMID_CHILD pidl);
HRESULT (STDMETHODCALLTYPE *LeaveFolder)(
INamespaceWalkCB *This,
IShellFolder *psf,
PCUITEMID_CHILD pidl);
HRESULT (STDMETHODCALLTYPE *InitializeProgressDialog)(
INamespaceWalkCB *This,
LPWSTR *ppszTitle,
LPWSTR *ppszCancel);
END_INTERFACE
} INamespaceWalkCBVtbl;
interface INamespaceWalkCB {
CONST_VTBL INamespaceWalkCBVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define INamespaceWalkCB_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define INamespaceWalkCB_AddRef(This) (This)->lpVtbl->AddRef(This)
#define INamespaceWalkCB_Release(This) (This)->lpVtbl->Release(This)
/*** INamespaceWalkCB methods ***/
#define INamespaceWalkCB_FoundItem(This,psf,pidl) (This)->lpVtbl->FoundItem(This,psf,pidl)
#define INamespaceWalkCB_EnterFolder(This,psf,pidl) (This)->lpVtbl->EnterFolder(This,psf,pidl)
#define INamespaceWalkCB_LeaveFolder(This,psf,pidl) (This)->lpVtbl->LeaveFolder(This,psf,pidl)
#define INamespaceWalkCB_InitializeProgressDialog(This,ppszTitle,ppszCancel) (This)->lpVtbl->InitializeProgressDialog(This,ppszTitle,ppszCancel)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT INamespaceWalkCB_QueryInterface(INamespaceWalkCB* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG INamespaceWalkCB_AddRef(INamespaceWalkCB* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG INamespaceWalkCB_Release(INamespaceWalkCB* This) {
return This->lpVtbl->Release(This);
}
/*** INamespaceWalkCB methods ***/
static FORCEINLINE HRESULT INamespaceWalkCB_FoundItem(INamespaceWalkCB* This,IShellFolder *psf,PCUITEMID_CHILD pidl) {
return This->lpVtbl->FoundItem(This,psf,pidl);
}
static FORCEINLINE HRESULT INamespaceWalkCB_EnterFolder(INamespaceWalkCB* This,IShellFolder *psf,PCUITEMID_CHILD pidl) {
return This->lpVtbl->EnterFolder(This,psf,pidl);
}
static FORCEINLINE HRESULT INamespaceWalkCB_LeaveFolder(INamespaceWalkCB* This,IShellFolder *psf,PCUITEMID_CHILD pidl) {
return This->lpVtbl->LeaveFolder(This,psf,pidl);
}
static FORCEINLINE HRESULT INamespaceWalkCB_InitializeProgressDialog(INamespaceWalkCB* This,LPWSTR *ppszTitle,LPWSTR *ppszCancel) {
return This->lpVtbl->InitializeProgressDialog(This,ppszTitle,ppszCancel);
}
#endif
#endif
#endif
#endif /* __INamespaceWalkCB_INTERFACE_DEFINED__ */
#if _WIN32_IE >= _WIN32_IE_IE70
/*****************************************************************************
* INamespaceWalkCB2 interface
*/
#ifndef __INamespaceWalkCB2_INTERFACE_DEFINED__
#define __INamespaceWalkCB2_INTERFACE_DEFINED__
DEFINE_GUID(IID_INamespaceWalkCB2, 0x7ac7492b, 0xc38e, 0x438a, 0x87,0xdb, 0x68,0x73,0x78,0x44,0xff,0x70);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("7ac7492b-c38e-438a-87db-68737844ff70")
INamespaceWalkCB2 : public INamespaceWalkCB
{
virtual HRESULT STDMETHODCALLTYPE WalkComplete(
HRESULT hr) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(INamespaceWalkCB2, 0x7ac7492b, 0xc38e, 0x438a, 0x87,0xdb, 0x68,0x73,0x78,0x44,0xff,0x70)
#endif
#else
typedef struct INamespaceWalkCB2Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
INamespaceWalkCB2 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
INamespaceWalkCB2 *This);
ULONG (STDMETHODCALLTYPE *Release)(
INamespaceWalkCB2 *This);
/*** INamespaceWalkCB methods ***/
HRESULT (STDMETHODCALLTYPE *FoundItem)(
INamespaceWalkCB2 *This,
IShellFolder *psf,
PCUITEMID_CHILD pidl);
HRESULT (STDMETHODCALLTYPE *EnterFolder)(
INamespaceWalkCB2 *This,
IShellFolder *psf,
PCUITEMID_CHILD pidl);
HRESULT (STDMETHODCALLTYPE *LeaveFolder)(
INamespaceWalkCB2 *This,
IShellFolder *psf,
PCUITEMID_CHILD pidl);
HRESULT (STDMETHODCALLTYPE *InitializeProgressDialog)(
INamespaceWalkCB2 *This,
LPWSTR *ppszTitle,
LPWSTR *ppszCancel);
/*** INamespaceWalkCB2 methods ***/
HRESULT (STDMETHODCALLTYPE *WalkComplete)(
INamespaceWalkCB2 *This,
HRESULT hr);
END_INTERFACE
} INamespaceWalkCB2Vtbl;
interface INamespaceWalkCB2 {
CONST_VTBL INamespaceWalkCB2Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define INamespaceWalkCB2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define INamespaceWalkCB2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define INamespaceWalkCB2_Release(This) (This)->lpVtbl->Release(This)
/*** INamespaceWalkCB methods ***/
#define INamespaceWalkCB2_FoundItem(This,psf,pidl) (This)->lpVtbl->FoundItem(This,psf,pidl)
#define INamespaceWalkCB2_EnterFolder(This,psf,pidl) (This)->lpVtbl->EnterFolder(This,psf,pidl)
#define INamespaceWalkCB2_LeaveFolder(This,psf,pidl) (This)->lpVtbl->LeaveFolder(This,psf,pidl)
#define INamespaceWalkCB2_InitializeProgressDialog(This,ppszTitle,ppszCancel) (This)->lpVtbl->InitializeProgressDialog(This,ppszTitle,ppszCancel)
/*** INamespaceWalkCB2 methods ***/
#define INamespaceWalkCB2_WalkComplete(This,hr) (This)->lpVtbl->WalkComplete(This,hr)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT INamespaceWalkCB2_QueryInterface(INamespaceWalkCB2* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG INamespaceWalkCB2_AddRef(INamespaceWalkCB2* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG INamespaceWalkCB2_Release(INamespaceWalkCB2* This) {
return This->lpVtbl->Release(This);
}
/*** INamespaceWalkCB methods ***/
static FORCEINLINE HRESULT INamespaceWalkCB2_FoundItem(INamespaceWalkCB2* This,IShellFolder *psf,PCUITEMID_CHILD pidl) {
return This->lpVtbl->FoundItem(This,psf,pidl);
}
static FORCEINLINE HRESULT INamespaceWalkCB2_EnterFolder(INamespaceWalkCB2* This,IShellFolder *psf,PCUITEMID_CHILD pidl) {
return This->lpVtbl->EnterFolder(This,psf,pidl);
}
static FORCEINLINE HRESULT INamespaceWalkCB2_LeaveFolder(INamespaceWalkCB2* This,IShellFolder *psf,PCUITEMID_CHILD pidl) {
return This->lpVtbl->LeaveFolder(This,psf,pidl);
}
static FORCEINLINE HRESULT INamespaceWalkCB2_InitializeProgressDialog(INamespaceWalkCB2* This,LPWSTR *ppszTitle,LPWSTR *ppszCancel) {
return This->lpVtbl->InitializeProgressDialog(This,ppszTitle,ppszCancel);
}
/*** INamespaceWalkCB2 methods ***/
static FORCEINLINE HRESULT INamespaceWalkCB2_WalkComplete(INamespaceWalkCB2* This,HRESULT hr) {
return This->lpVtbl->WalkComplete(This,hr);
}
#endif
#endif
#endif
#endif /* __INamespaceWalkCB2_INTERFACE_DEFINED__ */
#endif
/*****************************************************************************
* INamespaceWalk interface
*/
#ifndef __INamespaceWalk_INTERFACE_DEFINED__
#define __INamespaceWalk_INTERFACE_DEFINED__
typedef enum NAMESPACEWALKFLAG {
NSWF_DEFAULT = 0x0,
NSWF_NONE_IMPLIES_ALL = 0x1,
NSWF_ONE_IMPLIES_ALL = 0x2,
NSWF_DONT_TRAVERSE_LINKS = 0x4,
NSWF_DONT_ACCUMULATE_RESULT = 0x8,
NSWF_TRAVERSE_STREAM_JUNCTIONS = 0x10,
NSWF_FILESYSTEM_ONLY = 0x20,
NSWF_SHOW_PROGRESS = 0x40,
NSWF_FLAG_VIEWORDER = 0x80,
NSWF_IGNORE_AUTOPLAY_HIDA = 0x100,
NSWF_ASYNC = 0x200,
NSWF_DONT_RESOLVE_LINKS = 0x400,
NSWF_ACCUMULATE_FOLDERS = 0x800,
NSWF_DONT_SORT = 0x1000,
NSWF_USE_TRANSFER_MEDIUM = 0x2000,
NSWF_DONT_TRAVERSE_STREAM_JUNCTIONS = 0x4000,
NSWF_ANY_IMPLIES_ALL = 0x8000
} NAMESPACEWALKFLAG;
#define NSWF_ENUMERATE_BEST_EFFORT 0x00010000
#define NSWF_TRAVERSE_ONLY_STORAGE 0x00020000
DEFINE_ENUM_FLAG_OPERATORS(NAMESPACEWALKFLAG)
DEFINE_GUID(IID_INamespaceWalk, 0x57ced8a7, 0x3f4a, 0x432c, 0x93,0x50, 0x30,0xf2,0x44,0x83,0xf7,0x4f);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("57ced8a7-3f4a-432c-9350-30f24483f74f")
INamespaceWalk : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Walk(
IUnknown *punkToWalk,
DWORD dwFlags,
int cDepth,
INamespaceWalkCB *pnswcb) = 0;
virtual HRESULT STDMETHODCALLTYPE GetIDArrayResult(
UINT *pcItems,
PIDLIST_ABSOLUTE **prgpidl) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(INamespaceWalk, 0x57ced8a7, 0x3f4a, 0x432c, 0x93,0x50, 0x30,0xf2,0x44,0x83,0xf7,0x4f)
#endif
#else
typedef struct INamespaceWalkVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
INamespaceWalk *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
INamespaceWalk *This);
ULONG (STDMETHODCALLTYPE *Release)(
INamespaceWalk *This);
/*** INamespaceWalk methods ***/
HRESULT (STDMETHODCALLTYPE *Walk)(
INamespaceWalk *This,
IUnknown *punkToWalk,
DWORD dwFlags,
int cDepth,
INamespaceWalkCB *pnswcb);
HRESULT (STDMETHODCALLTYPE *GetIDArrayResult)(
INamespaceWalk *This,
UINT *pcItems,
PIDLIST_ABSOLUTE **prgpidl);
END_INTERFACE
} INamespaceWalkVtbl;
interface INamespaceWalk {
CONST_VTBL INamespaceWalkVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define INamespaceWalk_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define INamespaceWalk_AddRef(This) (This)->lpVtbl->AddRef(This)
#define INamespaceWalk_Release(This) (This)->lpVtbl->Release(This)
/*** INamespaceWalk methods ***/
#define INamespaceWalk_Walk(This,punkToWalk,dwFlags,cDepth,pnswcb) (This)->lpVtbl->Walk(This,punkToWalk,dwFlags,cDepth,pnswcb)
#define INamespaceWalk_GetIDArrayResult(This,pcItems,prgpidl) (This)->lpVtbl->GetIDArrayResult(This,pcItems,prgpidl)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT INamespaceWalk_QueryInterface(INamespaceWalk* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG INamespaceWalk_AddRef(INamespaceWalk* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG INamespaceWalk_Release(INamespaceWalk* This) {
return This->lpVtbl->Release(This);
}
/*** INamespaceWalk methods ***/
static FORCEINLINE HRESULT INamespaceWalk_Walk(INamespaceWalk* This,IUnknown *punkToWalk,DWORD dwFlags,int cDepth,INamespaceWalkCB *pnswcb) {
return This->lpVtbl->Walk(This,punkToWalk,dwFlags,cDepth,pnswcb);
}
static FORCEINLINE HRESULT INamespaceWalk_GetIDArrayResult(INamespaceWalk* This,UINT *pcItems,PIDLIST_ABSOLUTE **prgpidl) {
return This->lpVtbl->GetIDArrayResult(This,pcItems,prgpidl);
}
#endif
#endif
#endif
#endif /* __INamespaceWalk_INTERFACE_DEFINED__ */
__forceinline void FreeIDListArray(PIDLIST_RELATIVE *ppidls, UINT cItems) {
UINT i;
for (i = 0; i < cItems; i++) {
CoTaskMemFree(ppidls[i]);
}
CoTaskMemFree(ppidls);
}
#if defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus)
__forceinline void FreeIDListArrayFull(PIDLIST_ABSOLUTE *ppidls, UINT cItems) {
UINT i;
for (i = 0; i < cItems; i++)
CoTaskMemFree(ppidls[i]);
CoTaskMemFree(ppidls);
}
__forceinline void FreeIDListArrayChild(PITEMID_CHILD *ppidls, UINT cItems) {
UINT i;
for (i = 0; i < cItems; i++)
CoTaskMemFree(ppidls[i]);
CoTaskMemFree(ppidls);
}
#else
#define FreeIDListArrayFull FreeIDListArray
#define FreeIDListArrayChild FreeIDListArray
#endif
#define ACDD_VISIBLE 0x1
/*****************************************************************************
* IAutoCompleteDropDown interface
*/
#ifndef __IAutoCompleteDropDown_INTERFACE_DEFINED__
#define __IAutoCompleteDropDown_INTERFACE_DEFINED__
DEFINE_GUID(IID_IAutoCompleteDropDown, 0x3cd141f4, 0x3c6a, 0x11d2, 0xbc,0xaa, 0x00,0xc0,0x4f,0xd9,0x29,0xdb);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3cd141f4-3c6a-11d2-bcaa-00c04fd929db")
IAutoCompleteDropDown : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetDropDownStatus(
DWORD *pdwFlags,
LPWSTR *ppwszString) = 0;
virtual HRESULT STDMETHODCALLTYPE ResetEnumerator(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IAutoCompleteDropDown, 0x3cd141f4, 0x3c6a, 0x11d2, 0xbc,0xaa, 0x00,0xc0,0x4f,0xd9,0x29,0xdb)
#endif
#else
typedef struct IAutoCompleteDropDownVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IAutoCompleteDropDown *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IAutoCompleteDropDown *This);
ULONG (STDMETHODCALLTYPE *Release)(
IAutoCompleteDropDown *This);
/*** IAutoCompleteDropDown methods ***/
HRESULT (STDMETHODCALLTYPE *GetDropDownStatus)(
IAutoCompleteDropDown *This,
DWORD *pdwFlags,
LPWSTR *ppwszString);
HRESULT (STDMETHODCALLTYPE *ResetEnumerator)(
IAutoCompleteDropDown *This);
END_INTERFACE
} IAutoCompleteDropDownVtbl;
interface IAutoCompleteDropDown {
CONST_VTBL IAutoCompleteDropDownVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IAutoCompleteDropDown_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IAutoCompleteDropDown_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IAutoCompleteDropDown_Release(This) (This)->lpVtbl->Release(This)
/*** IAutoCompleteDropDown methods ***/
#define IAutoCompleteDropDown_GetDropDownStatus(This,pdwFlags,ppwszString) (This)->lpVtbl->GetDropDownStatus(This,pdwFlags,ppwszString)
#define IAutoCompleteDropDown_ResetEnumerator(This) (This)->lpVtbl->ResetEnumerator(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IAutoCompleteDropDown_QueryInterface(IAutoCompleteDropDown* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IAutoCompleteDropDown_AddRef(IAutoCompleteDropDown* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IAutoCompleteDropDown_Release(IAutoCompleteDropDown* This) {
return This->lpVtbl->Release(This);
}
/*** IAutoCompleteDropDown methods ***/
static FORCEINLINE HRESULT IAutoCompleteDropDown_GetDropDownStatus(IAutoCompleteDropDown* This,DWORD *pdwFlags,LPWSTR *ppwszString) {
return This->lpVtbl->GetDropDownStatus(This,pdwFlags,ppwszString);
}
static FORCEINLINE HRESULT IAutoCompleteDropDown_ResetEnumerator(IAutoCompleteDropDown* This) {
return This->lpVtbl->ResetEnumerator(This);
}
#endif
#endif
#endif
#endif /* __IAutoCompleteDropDown_INTERFACE_DEFINED__ */
#include <pshpack8.h>
typedef struct tagBANDSITEINFO {
DWORD dwMask;
DWORD dwState;
DWORD dwStyle;
} BANDSITEINFO;
#include <poppack.h>
enum tagBANDSITECID {
BSID_BANDADDED = 0,
BSID_BANDREMOVED = 1
};
#define BSIM_STATE 0x00000001
#define BSIM_STYLE 0x00000002
#define BSSF_VISIBLE 0x00000001
#define BSSF_NOTITLE 0x00000002
#define BSSF_UNDELETEABLE 0x00001000
#define BSIS_AUTOGRIPPER 0x00000000
#define BSIS_NOGRIPPER 0x00000001
#define BSIS_ALWAYSGRIPPER 0x00000002
#define BSIS_LEFTALIGN 0x00000004
#define BSIS_SINGLECLICK 0x00000008
#define BSIS_NOCONTEXTMENU 0x00000010
#define BSIS_NODROPTARGET 0x00000020
#define BSIS_NOCAPTION 0x00000040
#define BSIS_PREFERNOLINEBREAK 0x00000080
#define BSIS_LOCKED 0x00000100
#if _WIN32_IE >= _WIN32_IE_IE70
#define BSIS_PRESERVEORDERDURINGLAYOUT 0x00000200
#define BSIS_FIXEDORDER 0x00000400
#endif
#define SID_SBandSite IID_IBandSite
#define CGID_BandSite IID_IBandSite
/*****************************************************************************
* IBandSite interface
*/
#ifndef __IBandSite_INTERFACE_DEFINED__
#define __IBandSite_INTERFACE_DEFINED__
DEFINE_GUID(IID_IBandSite, 0x4cf504b0, 0xde96, 0x11d0, 0x8b,0x3f, 0x00,0xa0,0xc9,0x11,0xe8,0xe5);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("4cf504b0-de96-11d0-8b3f-00a0c911e8e5")
IBandSite : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE AddBand(
IUnknown *punk) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumBands(
UINT uBand,
DWORD *pdwBandID) = 0;
virtual HRESULT STDMETHODCALLTYPE QueryBand(
DWORD dwBandID,
IDeskBand **ppstb,
DWORD *pdwState,
LPWSTR pszName,
int cchName) = 0;
virtual HRESULT STDMETHODCALLTYPE SetBandState(
DWORD dwBandID,
DWORD dwMask,
DWORD dwState) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveBand(
DWORD dwBandID) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBandObject(
DWORD dwBandID,
REFIID riid,
void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE SetBandSiteInfo(
const BANDSITEINFO *pbsinfo) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBandSiteInfo(
BANDSITEINFO *pbsinfo) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IBandSite, 0x4cf504b0, 0xde96, 0x11d0, 0x8b,0x3f, 0x00,0xa0,0xc9,0x11,0xe8,0xe5)
#endif
#else
typedef struct IBandSiteVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IBandSite *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IBandSite *This);
ULONG (STDMETHODCALLTYPE *Release)(
IBandSite *This);
/*** IBandSite methods ***/
HRESULT (STDMETHODCALLTYPE *AddBand)(
IBandSite *This,
IUnknown *punk);
HRESULT (STDMETHODCALLTYPE *EnumBands)(
IBandSite *This,
UINT uBand,
DWORD *pdwBandID);
HRESULT (STDMETHODCALLTYPE *QueryBand)(
IBandSite *This,
DWORD dwBandID,
IDeskBand **ppstb,
DWORD *pdwState,
LPWSTR pszName,
int cchName);
HRESULT (STDMETHODCALLTYPE *SetBandState)(
IBandSite *This,
DWORD dwBandID,
DWORD dwMask,
DWORD dwState);
HRESULT (STDMETHODCALLTYPE *RemoveBand)(
IBandSite *This,
DWORD dwBandID);
HRESULT (STDMETHODCALLTYPE *GetBandObject)(
IBandSite *This,
DWORD dwBandID,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *SetBandSiteInfo)(
IBandSite *This,
const BANDSITEINFO *pbsinfo);
HRESULT (STDMETHODCALLTYPE *GetBandSiteInfo)(
IBandSite *This,
BANDSITEINFO *pbsinfo);
END_INTERFACE
} IBandSiteVtbl;
interface IBandSite {
CONST_VTBL IBandSiteVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IBandSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IBandSite_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IBandSite_Release(This) (This)->lpVtbl->Release(This)
/*** IBandSite methods ***/
#define IBandSite_AddBand(This,punk) (This)->lpVtbl->AddBand(This,punk)
#define IBandSite_EnumBands(This,uBand,pdwBandID) (This)->lpVtbl->EnumBands(This,uBand,pdwBandID)
#define IBandSite_QueryBand(This,dwBandID,ppstb,pdwState,pszName,cchName) (This)->lpVtbl->QueryBand(This,dwBandID,ppstb,pdwState,pszName,cchName)
#define IBandSite_SetBandState(This,dwBandID,dwMask,dwState) (This)->lpVtbl->SetBandState(This,dwBandID,dwMask,dwState)
#define IBandSite_RemoveBand(This,dwBandID) (This)->lpVtbl->RemoveBand(This,dwBandID)
#define IBandSite_GetBandObject(This,dwBandID,riid,ppv) (This)->lpVtbl->GetBandObject(This,dwBandID,riid,ppv)
#define IBandSite_SetBandSiteInfo(This,pbsinfo) (This)->lpVtbl->SetBandSiteInfo(This,pbsinfo)
#define IBandSite_GetBandSiteInfo(This,pbsinfo) (This)->lpVtbl->GetBandSiteInfo(This,pbsinfo)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IBandSite_QueryInterface(IBandSite* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IBandSite_AddRef(IBandSite* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IBandSite_Release(IBandSite* This) {
return This->lpVtbl->Release(This);
}
/*** IBandSite methods ***/
static FORCEINLINE HRESULT IBandSite_AddBand(IBandSite* This,IUnknown *punk) {
return This->lpVtbl->AddBand(This,punk);
}
static FORCEINLINE HRESULT IBandSite_EnumBands(IBandSite* This,UINT uBand,DWORD *pdwBandID) {
return This->lpVtbl->EnumBands(This,uBand,pdwBandID);
}
static FORCEINLINE HRESULT IBandSite_QueryBand(IBandSite* This,DWORD dwBandID,IDeskBand **ppstb,DWORD *pdwState,LPWSTR pszName,int cchName) {
return This->lpVtbl->QueryBand(This,dwBandID,ppstb,pdwState,pszName,cchName);
}
static FORCEINLINE HRESULT IBandSite_SetBandState(IBandSite* This,DWORD dwBandID,DWORD dwMask,DWORD dwState) {
return This->lpVtbl->SetBandState(This,dwBandID,dwMask,dwState);
}
static FORCEINLINE HRESULT IBandSite_RemoveBand(IBandSite* This,DWORD dwBandID) {
return This->lpVtbl->RemoveBand(This,dwBandID);
}
static FORCEINLINE HRESULT IBandSite_GetBandObject(IBandSite* This,DWORD dwBandID,REFIID riid,void **ppv) {
return This->lpVtbl->GetBandObject(This,dwBandID,riid,ppv);
}
static FORCEINLINE HRESULT IBandSite_SetBandSiteInfo(IBandSite* This,const BANDSITEINFO *pbsinfo) {
return This->lpVtbl->SetBandSiteInfo(This,pbsinfo);
}
static FORCEINLINE HRESULT IBandSite_GetBandSiteInfo(IBandSite* This,BANDSITEINFO *pbsinfo) {
return This->lpVtbl->GetBandSiteInfo(This,pbsinfo);
}
#endif
#endif
#endif
HRESULT STDMETHODCALLTYPE IBandSite_RemoteQueryBand_Proxy(
IBandSite* This,
DWORD dwBandID,
IDeskBand **ppstb,
DWORD *pdwState,
LPWSTR pszName,
int cchName);
void __RPC_STUB IBandSite_RemoteQueryBand_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IBandSite_QueryBand_Proxy(
IBandSite* This,
DWORD dwBandID,
IDeskBand **ppstb,
DWORD *pdwState,
LPWSTR pszName,
int cchName);
HRESULT __RPC_STUB IBandSite_QueryBand_Stub(
IBandSite* This,
DWORD dwBandID,
IDeskBand **ppstb,
DWORD *pdwState,
LPWSTR pszName,
int cchName);
#endif /* __IBandSite_INTERFACE_DEFINED__ */
/*****************************************************************************
* IModalWindow interface
*/
#ifndef __IModalWindow_INTERFACE_DEFINED__
#define __IModalWindow_INTERFACE_DEFINED__
DEFINE_GUID(IID_IModalWindow, 0xb4db1657, 0x70d7, 0x485e, 0x8e,0x3e, 0x6f,0xcb,0x5a,0x5c,0x18,0x02);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("b4db1657-70d7-485e-8e3e-6fcb5a5c1802")
IModalWindow : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Show(
HWND hwndOwner) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IModalWindow, 0xb4db1657, 0x70d7, 0x485e, 0x8e,0x3e, 0x6f,0xcb,0x5a,0x5c,0x18,0x02)
#endif
#else
typedef struct IModalWindowVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IModalWindow *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IModalWindow *This);
ULONG (STDMETHODCALLTYPE *Release)(
IModalWindow *This);
/*** IModalWindow methods ***/
HRESULT (STDMETHODCALLTYPE *Show)(
IModalWindow *This,
HWND hwndOwner);
END_INTERFACE
} IModalWindowVtbl;
interface IModalWindow {
CONST_VTBL IModalWindowVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IModalWindow_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IModalWindow_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IModalWindow_Release(This) (This)->lpVtbl->Release(This)
/*** IModalWindow methods ***/
#define IModalWindow_Show(This,hwndOwner) (This)->lpVtbl->Show(This,hwndOwner)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IModalWindow_QueryInterface(IModalWindow* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IModalWindow_AddRef(IModalWindow* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IModalWindow_Release(IModalWindow* This) {
return This->lpVtbl->Release(This);
}
/*** IModalWindow methods ***/
static FORCEINLINE HRESULT IModalWindow_Show(IModalWindow* This,HWND hwndOwner) {
return This->lpVtbl->Show(This,hwndOwner);
}
#endif
#endif
#endif
HRESULT STDMETHODCALLTYPE IModalWindow_RemoteShow_Proxy(
IModalWindow* This,
HWND hwndOwner);
void __RPC_STUB IModalWindow_RemoteShow_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IModalWindow_Show_Proxy(
IModalWindow* This,
HWND hwndOwner);
HRESULT __RPC_STUB IModalWindow_Show_Stub(
IModalWindow* This,
HWND hwndOwner);
#endif /* __IModalWindow_INTERFACE_DEFINED__ */
#define PROPSTR_EXTENSIONCOMPLETIONSTATE L"ExtensionCompletionState"
enum tagCDBURNINGEXTENSIONRET {
CDBE_RET_DEFAULT = 0x0,
CDBE_RET_DONTRUNOTHEREXTS = 0x1,
CDBE_RET_STOPWIZARD = 0x2
};
#define SID_CDWizardHost IID_ICDBurnExt
enum _CDBE_ACTIONS {
CDBE_TYPE_MUSIC = 0x1,
CDBE_TYPE_DATA = 0x2,
CDBE_TYPE_ALL = (int)0xffffffff
};
typedef DWORD CDBE_ACTIONS;
/*****************************************************************************
* ICDBurnExt interface
*/
#ifndef __ICDBurnExt_INTERFACE_DEFINED__
#define __ICDBurnExt_INTERFACE_DEFINED__
DEFINE_GUID(IID_ICDBurnExt, 0x2271dcca, 0x74fc, 0x4414, 0x8f,0xb7, 0xc5,0x6b,0x05,0xac,0xe2,0xd7);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("2271dcca-74fc-4414-8fb7-c56b05ace2d7")
ICDBurnExt : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetSupportedActionTypes(
CDBE_ACTIONS *pdwActions) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ICDBurnExt, 0x2271dcca, 0x74fc, 0x4414, 0x8f,0xb7, 0xc5,0x6b,0x05,0xac,0xe2,0xd7)
#endif
#else
typedef struct ICDBurnExtVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ICDBurnExt *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ICDBurnExt *This);
ULONG (STDMETHODCALLTYPE *Release)(
ICDBurnExt *This);
/*** ICDBurnExt methods ***/
HRESULT (STDMETHODCALLTYPE *GetSupportedActionTypes)(
ICDBurnExt *This,
CDBE_ACTIONS *pdwActions);
END_INTERFACE
} ICDBurnExtVtbl;
interface ICDBurnExt {
CONST_VTBL ICDBurnExtVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ICDBurnExt_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ICDBurnExt_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ICDBurnExt_Release(This) (This)->lpVtbl->Release(This)
/*** ICDBurnExt methods ***/
#define ICDBurnExt_GetSupportedActionTypes(This,pdwActions) (This)->lpVtbl->GetSupportedActionTypes(This,pdwActions)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ICDBurnExt_QueryInterface(ICDBurnExt* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ICDBurnExt_AddRef(ICDBurnExt* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ICDBurnExt_Release(ICDBurnExt* This) {
return This->lpVtbl->Release(This);
}
/*** ICDBurnExt methods ***/
static FORCEINLINE HRESULT ICDBurnExt_GetSupportedActionTypes(ICDBurnExt* This,CDBE_ACTIONS *pdwActions) {
return This->lpVtbl->GetSupportedActionTypes(This,pdwActions);
}
#endif
#endif
#endif
#endif /* __ICDBurnExt_INTERFACE_DEFINED__ */
/*****************************************************************************
* IContextMenuSite interface
*/
#ifndef __IContextMenuSite_INTERFACE_DEFINED__
#define __IContextMenuSite_INTERFACE_DEFINED__
DEFINE_GUID(IID_IContextMenuSite, 0x0811aebe, 0x0b87, 0x4c54, 0x9e,0x72, 0x54,0x8c,0xf6,0x49,0x01,0x6b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("0811aebe-0b87-4c54-9e72-548cf649016b")
IContextMenuSite : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE DoContextMenuPopup(
IUnknown *punkContextMenu,
UINT fFlags,
POINT pt) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IContextMenuSite, 0x0811aebe, 0x0b87, 0x4c54, 0x9e,0x72, 0x54,0x8c,0xf6,0x49,0x01,0x6b)
#endif
#else
typedef struct IContextMenuSiteVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IContextMenuSite *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IContextMenuSite *This);
ULONG (STDMETHODCALLTYPE *Release)(
IContextMenuSite *This);
/*** IContextMenuSite methods ***/
HRESULT (STDMETHODCALLTYPE *DoContextMenuPopup)(
IContextMenuSite *This,
IUnknown *punkContextMenu,
UINT fFlags,
POINT pt);
END_INTERFACE
} IContextMenuSiteVtbl;
interface IContextMenuSite {
CONST_VTBL IContextMenuSiteVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IContextMenuSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IContextMenuSite_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IContextMenuSite_Release(This) (This)->lpVtbl->Release(This)
/*** IContextMenuSite methods ***/
#define IContextMenuSite_DoContextMenuPopup(This,punkContextMenu,fFlags,pt) (This)->lpVtbl->DoContextMenuPopup(This,punkContextMenu,fFlags,pt)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IContextMenuSite_QueryInterface(IContextMenuSite* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IContextMenuSite_AddRef(IContextMenuSite* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IContextMenuSite_Release(IContextMenuSite* This) {
return This->lpVtbl->Release(This);
}
/*** IContextMenuSite methods ***/
static FORCEINLINE HRESULT IContextMenuSite_DoContextMenuPopup(IContextMenuSite* This,IUnknown *punkContextMenu,UINT fFlags,POINT pt) {
return This->lpVtbl->DoContextMenuPopup(This,punkContextMenu,fFlags,pt);
}
#endif
#endif
#endif
#endif /* __IContextMenuSite_INTERFACE_DEFINED__ */
/*****************************************************************************
* IEnumReadyCallback interface
*/
#ifndef __IEnumReadyCallback_INTERFACE_DEFINED__
#define __IEnumReadyCallback_INTERFACE_DEFINED__
DEFINE_GUID(IID_IEnumReadyCallback, 0x61e00d45, 0x8fff, 0x4e60, 0x92,0x4e, 0x65,0x37,0xb6,0x16,0x12,0xdd);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("61e00d45-8fff-4e60-924e-6537b61612dd")
IEnumReadyCallback : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE EnumReady(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IEnumReadyCallback, 0x61e00d45, 0x8fff, 0x4e60, 0x92,0x4e, 0x65,0x37,0xb6,0x16,0x12,0xdd)
#endif
#else
typedef struct IEnumReadyCallbackVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IEnumReadyCallback *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IEnumReadyCallback *This);
ULONG (STDMETHODCALLTYPE *Release)(
IEnumReadyCallback *This);
/*** IEnumReadyCallback methods ***/
HRESULT (STDMETHODCALLTYPE *EnumReady)(
IEnumReadyCallback *This);
END_INTERFACE
} IEnumReadyCallbackVtbl;
interface IEnumReadyCallback {
CONST_VTBL IEnumReadyCallbackVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IEnumReadyCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IEnumReadyCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IEnumReadyCallback_Release(This) (This)->lpVtbl->Release(This)
/*** IEnumReadyCallback methods ***/
#define IEnumReadyCallback_EnumReady(This) (This)->lpVtbl->EnumReady(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IEnumReadyCallback_QueryInterface(IEnumReadyCallback* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IEnumReadyCallback_AddRef(IEnumReadyCallback* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IEnumReadyCallback_Release(IEnumReadyCallback* This) {
return This->lpVtbl->Release(This);
}
/*** IEnumReadyCallback methods ***/
static FORCEINLINE HRESULT IEnumReadyCallback_EnumReady(IEnumReadyCallback* This) {
return This->lpVtbl->EnumReady(This);
}
#endif
#endif
#endif
#endif /* __IEnumReadyCallback_INTERFACE_DEFINED__ */
/*****************************************************************************
* IEnumerableView interface
*/
#ifndef __IEnumerableView_INTERFACE_DEFINED__
#define __IEnumerableView_INTERFACE_DEFINED__
DEFINE_GUID(IID_IEnumerableView, 0x8c8bf236, 0x1aec, 0x495f, 0x98,0x94, 0x91,0xd5,0x7c,0x3c,0x68,0x6f);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("8c8bf236-1aec-495f-9894-91d57c3c686f")
IEnumerableView : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetEnumReadyCallback(
IEnumReadyCallback *percb) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateEnumIDListFromContents(
PCIDLIST_ABSOLUTE pidlFolder,
DWORD dwEnumFlags,
IEnumIDList **ppEnumIDList) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IEnumerableView, 0x8c8bf236, 0x1aec, 0x495f, 0x98,0x94, 0x91,0xd5,0x7c,0x3c,0x68,0x6f)
#endif
#else
typedef struct IEnumerableViewVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IEnumerableView *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IEnumerableView *This);
ULONG (STDMETHODCALLTYPE *Release)(
IEnumerableView *This);
/*** IEnumerableView methods ***/
HRESULT (STDMETHODCALLTYPE *SetEnumReadyCallback)(
IEnumerableView *This,
IEnumReadyCallback *percb);
HRESULT (STDMETHODCALLTYPE *CreateEnumIDListFromContents)(
IEnumerableView *This,
PCIDLIST_ABSOLUTE pidlFolder,
DWORD dwEnumFlags,
IEnumIDList **ppEnumIDList);
END_INTERFACE
} IEnumerableViewVtbl;
interface IEnumerableView {
CONST_VTBL IEnumerableViewVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IEnumerableView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IEnumerableView_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IEnumerableView_Release(This) (This)->lpVtbl->Release(This)
/*** IEnumerableView methods ***/
#define IEnumerableView_SetEnumReadyCallback(This,percb) (This)->lpVtbl->SetEnumReadyCallback(This,percb)
#define IEnumerableView_CreateEnumIDListFromContents(This,pidlFolder,dwEnumFlags,ppEnumIDList) (This)->lpVtbl->CreateEnumIDListFromContents(This,pidlFolder,dwEnumFlags,ppEnumIDList)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IEnumerableView_QueryInterface(IEnumerableView* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IEnumerableView_AddRef(IEnumerableView* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IEnumerableView_Release(IEnumerableView* This) {
return This->lpVtbl->Release(This);
}
/*** IEnumerableView methods ***/
static FORCEINLINE HRESULT IEnumerableView_SetEnumReadyCallback(IEnumerableView* This,IEnumReadyCallback *percb) {
return This->lpVtbl->SetEnumReadyCallback(This,percb);
}
static FORCEINLINE HRESULT IEnumerableView_CreateEnumIDListFromContents(IEnumerableView* This,PCIDLIST_ABSOLUTE pidlFolder,DWORD dwEnumFlags,IEnumIDList **ppEnumIDList) {
return This->lpVtbl->CreateEnumIDListFromContents(This,pidlFolder,dwEnumFlags,ppEnumIDList);
}
#endif
#endif
#endif
#endif /* __IEnumerableView_INTERFACE_DEFINED__ */
#define SID_EnumerableView IID_IEnumerableView
/*****************************************************************************
* IInsertItem interface
*/
#ifndef __IInsertItem_INTERFACE_DEFINED__
#define __IInsertItem_INTERFACE_DEFINED__
DEFINE_GUID(IID_IInsertItem, 0xd2b57227, 0x3d23, 0x4b95, 0x93,0xc0, 0x49,0x2b,0xd4,0x54,0xc3,0x56);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("d2b57227-3d23-4b95-93c0-492bd454c356")
IInsertItem : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE InsertItem(
PCUIDLIST_RELATIVE pidl) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IInsertItem, 0xd2b57227, 0x3d23, 0x4b95, 0x93,0xc0, 0x49,0x2b,0xd4,0x54,0xc3,0x56)
#endif
#else
typedef struct IInsertItemVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IInsertItem *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IInsertItem *This);
ULONG (STDMETHODCALLTYPE *Release)(
IInsertItem *This);
/*** IInsertItem methods ***/
HRESULT (STDMETHODCALLTYPE *InsertItem)(
IInsertItem *This,
PCUIDLIST_RELATIVE pidl);
END_INTERFACE
} IInsertItemVtbl;
interface IInsertItem {
CONST_VTBL IInsertItemVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IInsertItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IInsertItem_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IInsertItem_Release(This) (This)->lpVtbl->Release(This)
/*** IInsertItem methods ***/
#define IInsertItem_InsertItem(This,pidl) (This)->lpVtbl->InsertItem(This,pidl)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IInsertItem_QueryInterface(IInsertItem* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IInsertItem_AddRef(IInsertItem* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IInsertItem_Release(IInsertItem* This) {
return This->lpVtbl->Release(This);
}
/*** IInsertItem methods ***/
static FORCEINLINE HRESULT IInsertItem_InsertItem(IInsertItem* This,PCUIDLIST_RELATIVE pidl) {
return This->lpVtbl->InsertItem(This,pidl);
}
#endif
#endif
#endif
#endif /* __IInsertItem_INTERFACE_DEFINED__ */
/*****************************************************************************
* IMenuBand interface
*/
#ifndef __IMenuBand_INTERFACE_DEFINED__
#define __IMenuBand_INTERFACE_DEFINED__
enum tagMENUBANDHANDLERCID {
MBHANDCID_PIDLSELECT = 0
};
DEFINE_GUID(IID_IMenuBand, 0x568804cd, 0xcbd7, 0x11d0, 0x98,0x16, 0x00,0xc0,0x4f,0xd9,0x19,0x72);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("568804cd-cbd7-11d0-9816-00c04fd91972")
IMenuBand : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE IsMenuMessage(
MSG *pmsg) = 0;
virtual HRESULT STDMETHODCALLTYPE TranslateMenuMessage(
MSG *pmsg,
LRESULT *plRet) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IMenuBand, 0x568804cd, 0xcbd7, 0x11d0, 0x98,0x16, 0x00,0xc0,0x4f,0xd9,0x19,0x72)
#endif
#else
typedef struct IMenuBandVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IMenuBand *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IMenuBand *This);
ULONG (STDMETHODCALLTYPE *Release)(
IMenuBand *This);
/*** IMenuBand methods ***/
HRESULT (STDMETHODCALLTYPE *IsMenuMessage)(
IMenuBand *This,
MSG *pmsg);
HRESULT (STDMETHODCALLTYPE *TranslateMenuMessage)(
IMenuBand *This,
MSG *pmsg,
LRESULT *plRet);
END_INTERFACE
} IMenuBandVtbl;
interface IMenuBand {
CONST_VTBL IMenuBandVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IMenuBand_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IMenuBand_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IMenuBand_Release(This) (This)->lpVtbl->Release(This)
/*** IMenuBand methods ***/
#define IMenuBand_IsMenuMessage(This,pmsg) (This)->lpVtbl->IsMenuMessage(This,pmsg)
#define IMenuBand_TranslateMenuMessage(This,pmsg,plRet) (This)->lpVtbl->TranslateMenuMessage(This,pmsg,plRet)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IMenuBand_QueryInterface(IMenuBand* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IMenuBand_AddRef(IMenuBand* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IMenuBand_Release(IMenuBand* This) {
return This->lpVtbl->Release(This);
}
/*** IMenuBand methods ***/
static FORCEINLINE HRESULT IMenuBand_IsMenuMessage(IMenuBand* This,MSG *pmsg) {
return This->lpVtbl->IsMenuMessage(This,pmsg);
}
static FORCEINLINE HRESULT IMenuBand_TranslateMenuMessage(IMenuBand* This,MSG *pmsg,LRESULT *plRet) {
return This->lpVtbl->TranslateMenuMessage(This,pmsg,plRet);
}
#endif
#endif
#endif
#endif /* __IMenuBand_INTERFACE_DEFINED__ */
/*****************************************************************************
* IFolderBandPriv interface
*/
#ifndef __IFolderBandPriv_INTERFACE_DEFINED__
#define __IFolderBandPriv_INTERFACE_DEFINED__
DEFINE_GUID(IID_IFolderBandPriv, 0x47c01f95, 0xe185, 0x412c, 0xb5,0xc5, 0x4f,0x27,0xdf,0x96,0x5a,0xea);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("47c01f95-e185-412c-b5c5-4f27df965aea")
IFolderBandPriv : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetCascade(
WINBOOL fCascade) = 0;
virtual HRESULT STDMETHODCALLTYPE SetAccelerators(
WINBOOL fAccelerators) = 0;
virtual HRESULT STDMETHODCALLTYPE SetNoIcons(
WINBOOL fNoIcons) = 0;
virtual HRESULT STDMETHODCALLTYPE SetNoText(
WINBOOL fNoText) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IFolderBandPriv, 0x47c01f95, 0xe185, 0x412c, 0xb5,0xc5, 0x4f,0x27,0xdf,0x96,0x5a,0xea)
#endif
#else
typedef struct IFolderBandPrivVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IFolderBandPriv *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IFolderBandPriv *This);
ULONG (STDMETHODCALLTYPE *Release)(
IFolderBandPriv *This);
/*** IFolderBandPriv methods ***/
HRESULT (STDMETHODCALLTYPE *SetCascade)(
IFolderBandPriv *This,
WINBOOL fCascade);
HRESULT (STDMETHODCALLTYPE *SetAccelerators)(
IFolderBandPriv *This,
WINBOOL fAccelerators);
HRESULT (STDMETHODCALLTYPE *SetNoIcons)(
IFolderBandPriv *This,
WINBOOL fNoIcons);
HRESULT (STDMETHODCALLTYPE *SetNoText)(
IFolderBandPriv *This,
WINBOOL fNoText);
END_INTERFACE
} IFolderBandPrivVtbl;
interface IFolderBandPriv {
CONST_VTBL IFolderBandPrivVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IFolderBandPriv_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IFolderBandPriv_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IFolderBandPriv_Release(This) (This)->lpVtbl->Release(This)
/*** IFolderBandPriv methods ***/
#define IFolderBandPriv_SetCascade(This,fCascade) (This)->lpVtbl->SetCascade(This,fCascade)
#define IFolderBandPriv_SetAccelerators(This,fAccelerators) (This)->lpVtbl->SetAccelerators(This,fAccelerators)
#define IFolderBandPriv_SetNoIcons(This,fNoIcons) (This)->lpVtbl->SetNoIcons(This,fNoIcons)
#define IFolderBandPriv_SetNoText(This,fNoText) (This)->lpVtbl->SetNoText(This,fNoText)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IFolderBandPriv_QueryInterface(IFolderBandPriv* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IFolderBandPriv_AddRef(IFolderBandPriv* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IFolderBandPriv_Release(IFolderBandPriv* This) {
return This->lpVtbl->Release(This);
}
/*** IFolderBandPriv methods ***/
static FORCEINLINE HRESULT IFolderBandPriv_SetCascade(IFolderBandPriv* This,WINBOOL fCascade) {
return This->lpVtbl->SetCascade(This,fCascade);
}
static FORCEINLINE HRESULT IFolderBandPriv_SetAccelerators(IFolderBandPriv* This,WINBOOL fAccelerators) {
return This->lpVtbl->SetAccelerators(This,fAccelerators);
}
static FORCEINLINE HRESULT IFolderBandPriv_SetNoIcons(IFolderBandPriv* This,WINBOOL fNoIcons) {
return This->lpVtbl->SetNoIcons(This,fNoIcons);
}
static FORCEINLINE HRESULT IFolderBandPriv_SetNoText(IFolderBandPriv* This,WINBOOL fNoText) {
return This->lpVtbl->SetNoText(This,fNoText);
}
#endif
#endif
#endif
#endif /* __IFolderBandPriv_INTERFACE_DEFINED__ */
/*****************************************************************************
* IRegTreeItem interface
*/
#ifndef __IRegTreeItem_INTERFACE_DEFINED__
#define __IRegTreeItem_INTERFACE_DEFINED__
DEFINE_GUID(IID_IRegTreeItem, 0xa9521922, 0x0812, 0x4d44, 0x9e,0xc3, 0x7f,0xd3,0x8c,0x72,0x6f,0x3d);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("a9521922-0812-4d44-9ec3-7fd38c726f3d")
IRegTreeItem : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetCheckState(
WINBOOL *pbCheck) = 0;
virtual HRESULT STDMETHODCALLTYPE SetCheckState(
WINBOOL bCheck) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IRegTreeItem, 0xa9521922, 0x0812, 0x4d44, 0x9e,0xc3, 0x7f,0xd3,0x8c,0x72,0x6f,0x3d)
#endif
#else
typedef struct IRegTreeItemVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IRegTreeItem *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IRegTreeItem *This);
ULONG (STDMETHODCALLTYPE *Release)(
IRegTreeItem *This);
/*** IRegTreeItem methods ***/
HRESULT (STDMETHODCALLTYPE *GetCheckState)(
IRegTreeItem *This,
WINBOOL *pbCheck);
HRESULT (STDMETHODCALLTYPE *SetCheckState)(
IRegTreeItem *This,
WINBOOL bCheck);
END_INTERFACE
} IRegTreeItemVtbl;
interface IRegTreeItem {
CONST_VTBL IRegTreeItemVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IRegTreeItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IRegTreeItem_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IRegTreeItem_Release(This) (This)->lpVtbl->Release(This)
/*** IRegTreeItem methods ***/
#define IRegTreeItem_GetCheckState(This,pbCheck) (This)->lpVtbl->GetCheckState(This,pbCheck)
#define IRegTreeItem_SetCheckState(This,bCheck) (This)->lpVtbl->SetCheckState(This,bCheck)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IRegTreeItem_QueryInterface(IRegTreeItem* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IRegTreeItem_AddRef(IRegTreeItem* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IRegTreeItem_Release(IRegTreeItem* This) {
return This->lpVtbl->Release(This);
}
/*** IRegTreeItem methods ***/
static FORCEINLINE HRESULT IRegTreeItem_GetCheckState(IRegTreeItem* This,WINBOOL *pbCheck) {
return This->lpVtbl->GetCheckState(This,pbCheck);
}
static FORCEINLINE HRESULT IRegTreeItem_SetCheckState(IRegTreeItem* This,WINBOOL bCheck) {
return This->lpVtbl->SetCheckState(This,bCheck);
}
#endif
#endif
#endif
#endif /* __IRegTreeItem_INTERFACE_DEFINED__ */
/*****************************************************************************
* IImageRecompress interface
*/
#ifndef __IImageRecompress_INTERFACE_DEFINED__
#define __IImageRecompress_INTERFACE_DEFINED__
DEFINE_GUID(IID_IImageRecompress, 0x505f1513, 0x6b3e, 0x4892, 0xa2,0x72, 0x59,0xf8,0x88,0x9a,0x4d,0x3e);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("505f1513-6b3e-4892-a272-59f8889a4d3e")
IImageRecompress : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE RecompressImage(
IShellItem *psi,
int cx,
int cy,
int iQuality,
IStorage *pstg,
IStream **ppstrmOut) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IImageRecompress, 0x505f1513, 0x6b3e, 0x4892, 0xa2,0x72, 0x59,0xf8,0x88,0x9a,0x4d,0x3e)
#endif
#else
typedef struct IImageRecompressVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IImageRecompress *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IImageRecompress *This);
ULONG (STDMETHODCALLTYPE *Release)(
IImageRecompress *This);
/*** IImageRecompress methods ***/
HRESULT (STDMETHODCALLTYPE *RecompressImage)(
IImageRecompress *This,
IShellItem *psi,
int cx,
int cy,
int iQuality,
IStorage *pstg,
IStream **ppstrmOut);
END_INTERFACE
} IImageRecompressVtbl;
interface IImageRecompress {
CONST_VTBL IImageRecompressVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IImageRecompress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IImageRecompress_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IImageRecompress_Release(This) (This)->lpVtbl->Release(This)
/*** IImageRecompress methods ***/
#define IImageRecompress_RecompressImage(This,psi,cx,cy,iQuality,pstg,ppstrmOut) (This)->lpVtbl->RecompressImage(This,psi,cx,cy,iQuality,pstg,ppstrmOut)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IImageRecompress_QueryInterface(IImageRecompress* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IImageRecompress_AddRef(IImageRecompress* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IImageRecompress_Release(IImageRecompress* This) {
return This->lpVtbl->Release(This);
}
/*** IImageRecompress methods ***/
static FORCEINLINE HRESULT IImageRecompress_RecompressImage(IImageRecompress* This,IShellItem *psi,int cx,int cy,int iQuality,IStorage *pstg,IStream **ppstrmOut) {
return This->lpVtbl->RecompressImage(This,psi,cx,cy,iQuality,pstg,ppstrmOut);
}
#endif
#endif
#endif
#endif /* __IImageRecompress_INTERFACE_DEFINED__ */
#if _WIN32_IE >= _WIN32_IE_IE60
/*****************************************************************************
* IDeskBar interface
*/
#ifndef __IDeskBar_INTERFACE_DEFINED__
#define __IDeskBar_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDeskBar, 0xeb0fe173, 0x1a3a, 0x11d0, 0x89,0xb3, 0x00,0xa0,0xc9,0x0a,0x90,0xac);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("eb0fe173-1a3a-11d0-89b3-00a0c90a90ac")
IDeskBar : public IOleWindow
{
virtual HRESULT STDMETHODCALLTYPE SetClient(
IUnknown *punkClient) = 0;
virtual HRESULT STDMETHODCALLTYPE GetClient(
IUnknown **ppunkClient) = 0;
virtual HRESULT STDMETHODCALLTYPE OnPosRectChangeDB(
RECT *prc) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDeskBar, 0xeb0fe173, 0x1a3a, 0x11d0, 0x89,0xb3, 0x00,0xa0,0xc9,0x0a,0x90,0xac)
#endif
#else
typedef struct IDeskBarVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDeskBar *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDeskBar *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDeskBar *This);
/*** IOleWindow methods ***/
HRESULT (STDMETHODCALLTYPE *GetWindow)(
IDeskBar *This,
HWND *phwnd);
HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
IDeskBar *This,
WINBOOL fEnterMode);
/*** IDeskBar methods ***/
HRESULT (STDMETHODCALLTYPE *SetClient)(
IDeskBar *This,
IUnknown *punkClient);
HRESULT (STDMETHODCALLTYPE *GetClient)(
IDeskBar *This,
IUnknown **ppunkClient);
HRESULT (STDMETHODCALLTYPE *OnPosRectChangeDB)(
IDeskBar *This,
RECT *prc);
END_INTERFACE
} IDeskBarVtbl;
interface IDeskBar {
CONST_VTBL IDeskBarVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDeskBar_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDeskBar_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDeskBar_Release(This) (This)->lpVtbl->Release(This)
/*** IOleWindow methods ***/
#define IDeskBar_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
#define IDeskBar_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
/*** IDeskBar methods ***/
#define IDeskBar_SetClient(This,punkClient) (This)->lpVtbl->SetClient(This,punkClient)
#define IDeskBar_GetClient(This,ppunkClient) (This)->lpVtbl->GetClient(This,ppunkClient)
#define IDeskBar_OnPosRectChangeDB(This,prc) (This)->lpVtbl->OnPosRectChangeDB(This,prc)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDeskBar_QueryInterface(IDeskBar* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDeskBar_AddRef(IDeskBar* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDeskBar_Release(IDeskBar* This) {
return This->lpVtbl->Release(This);
}
/*** IOleWindow methods ***/
static FORCEINLINE HRESULT IDeskBar_GetWindow(IDeskBar* This,HWND *phwnd) {
return This->lpVtbl->GetWindow(This,phwnd);
}
static FORCEINLINE HRESULT IDeskBar_ContextSensitiveHelp(IDeskBar* This,WINBOOL fEnterMode) {
return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode);
}
/*** IDeskBar methods ***/
static FORCEINLINE HRESULT IDeskBar_SetClient(IDeskBar* This,IUnknown *punkClient) {
return This->lpVtbl->SetClient(This,punkClient);
}
static FORCEINLINE HRESULT IDeskBar_GetClient(IDeskBar* This,IUnknown **ppunkClient) {
return This->lpVtbl->GetClient(This,ppunkClient);
}
static FORCEINLINE HRESULT IDeskBar_OnPosRectChangeDB(IDeskBar* This,RECT *prc) {
return This->lpVtbl->OnPosRectChangeDB(This,prc);
}
#endif
#endif
#endif
#endif /* __IDeskBar_INTERFACE_DEFINED__ */
/*****************************************************************************
* IMenuPopup interface
*/
#ifndef __IMenuPopup_INTERFACE_DEFINED__
#define __IMenuPopup_INTERFACE_DEFINED__
enum tagMENUPOPUPSELECT {
MPOS_EXECUTE = 0,
MPOS_FULLCANCEL = 1,
MPOS_CANCELLEVEL = 2,
MPOS_SELECTLEFT = 3,
MPOS_SELECTRIGHT = 4,
MPOS_CHILDTRACKING = 5
};
enum tagMENUPOPUPPOPUPFLAGS {
MPPF_SETFOCUS = 0x1,
MPPF_INITIALSELECT = 0x2,
MPPF_NOANIMATE = 0x4,
MPPF_KEYBOARD = 0x10,
MPPF_REPOSITION = 0x20,
MPPF_FORCEZORDER = 0x40,
MPPF_FINALSELECT = 0x80,
MPPF_TOP = 0x20000000,
MPPF_LEFT = 0x40000000,
MPPF_RIGHT = 0x60000000,
MPPF_BOTTOM = (int)0x80000000,
MPPF_POS_MASK = (int)0xe0000000,
MPPF_ALIGN_LEFT = 0x2000000,
MPPF_ALIGN_RIGHT = 0x4000000
};
typedef int MP_POPUPFLAGS;
DEFINE_GUID(IID_IMenuPopup, 0xd1e7afeb, 0x6a2e, 0x11d0, 0x8c,0x78, 0x00,0xc0,0x4f,0xd9,0x18,0xb4);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("d1e7afeb-6a2e-11d0-8c78-00c04fd918b4")
IMenuPopup : public IDeskBar
{
virtual HRESULT STDMETHODCALLTYPE Popup(
POINTL *ppt,
RECTL *prcExclude,
MP_POPUPFLAGS dwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE OnSelect(
DWORD dwSelectType) = 0;
virtual HRESULT STDMETHODCALLTYPE SetSubMenu(
IMenuPopup *pmp,
WINBOOL fSet) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IMenuPopup, 0xd1e7afeb, 0x6a2e, 0x11d0, 0x8c,0x78, 0x00,0xc0,0x4f,0xd9,0x18,0xb4)
#endif
#else
typedef struct IMenuPopupVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IMenuPopup *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IMenuPopup *This);
ULONG (STDMETHODCALLTYPE *Release)(
IMenuPopup *This);
/*** IOleWindow methods ***/
HRESULT (STDMETHODCALLTYPE *GetWindow)(
IMenuPopup *This,
HWND *phwnd);
HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
IMenuPopup *This,
WINBOOL fEnterMode);
/*** IDeskBar methods ***/
HRESULT (STDMETHODCALLTYPE *SetClient)(
IMenuPopup *This,
IUnknown *punkClient);
HRESULT (STDMETHODCALLTYPE *GetClient)(
IMenuPopup *This,
IUnknown **ppunkClient);
HRESULT (STDMETHODCALLTYPE *OnPosRectChangeDB)(
IMenuPopup *This,
RECT *prc);
/*** IMenuPopup methods ***/
HRESULT (STDMETHODCALLTYPE *Popup)(
IMenuPopup *This,
POINTL *ppt,
RECTL *prcExclude,
MP_POPUPFLAGS dwFlags);
HRESULT (STDMETHODCALLTYPE *OnSelect)(
IMenuPopup *This,
DWORD dwSelectType);
HRESULT (STDMETHODCALLTYPE *SetSubMenu)(
IMenuPopup *This,
IMenuPopup *pmp,
WINBOOL fSet);
END_INTERFACE
} IMenuPopupVtbl;
interface IMenuPopup {
CONST_VTBL IMenuPopupVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IMenuPopup_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IMenuPopup_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IMenuPopup_Release(This) (This)->lpVtbl->Release(This)
/*** IOleWindow methods ***/
#define IMenuPopup_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
#define IMenuPopup_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
/*** IDeskBar methods ***/
#define IMenuPopup_SetClient(This,punkClient) (This)->lpVtbl->SetClient(This,punkClient)
#define IMenuPopup_GetClient(This,ppunkClient) (This)->lpVtbl->GetClient(This,ppunkClient)
#define IMenuPopup_OnPosRectChangeDB(This,prc) (This)->lpVtbl->OnPosRectChangeDB(This,prc)
/*** IMenuPopup methods ***/
#define IMenuPopup_Popup(This,ppt,prcExclude,dwFlags) (This)->lpVtbl->Popup(This,ppt,prcExclude,dwFlags)
#define IMenuPopup_OnSelect(This,dwSelectType) (This)->lpVtbl->OnSelect(This,dwSelectType)
#define IMenuPopup_SetSubMenu(This,pmp,fSet) (This)->lpVtbl->SetSubMenu(This,pmp,fSet)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IMenuPopup_QueryInterface(IMenuPopup* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IMenuPopup_AddRef(IMenuPopup* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IMenuPopup_Release(IMenuPopup* This) {
return This->lpVtbl->Release(This);
}
/*** IOleWindow methods ***/
static FORCEINLINE HRESULT IMenuPopup_GetWindow(IMenuPopup* This,HWND *phwnd) {
return This->lpVtbl->GetWindow(This,phwnd);
}
static FORCEINLINE HRESULT IMenuPopup_ContextSensitiveHelp(IMenuPopup* This,WINBOOL fEnterMode) {
return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode);
}
/*** IDeskBar methods ***/
static FORCEINLINE HRESULT IMenuPopup_SetClient(IMenuPopup* This,IUnknown *punkClient) {
return This->lpVtbl->SetClient(This,punkClient);
}
static FORCEINLINE HRESULT IMenuPopup_GetClient(IMenuPopup* This,IUnknown **ppunkClient) {
return This->lpVtbl->GetClient(This,ppunkClient);
}
static FORCEINLINE HRESULT IMenuPopup_OnPosRectChangeDB(IMenuPopup* This,RECT *prc) {
return This->lpVtbl->OnPosRectChangeDB(This,prc);
}
/*** IMenuPopup methods ***/
static FORCEINLINE HRESULT IMenuPopup_Popup(IMenuPopup* This,POINTL *ppt,RECTL *prcExclude,MP_POPUPFLAGS dwFlags) {
return This->lpVtbl->Popup(This,ppt,prcExclude,dwFlags);
}
static FORCEINLINE HRESULT IMenuPopup_OnSelect(IMenuPopup* This,DWORD dwSelectType) {
return This->lpVtbl->OnSelect(This,dwSelectType);
}
static FORCEINLINE HRESULT IMenuPopup_SetSubMenu(IMenuPopup* This,IMenuPopup *pmp,WINBOOL fSet) {
return This->lpVtbl->SetSubMenu(This,pmp,fSet);
}
#endif
#endif
#endif
#endif /* __IMenuPopup_INTERFACE_DEFINED__ */
#endif
#if NTDDI_VERSION >= NTDDI_VISTA
typedef enum FILE_USAGE_TYPE {
FUT_PLAYING = 0,
FUT_EDITING = 1,
FUT_GENERIC = 2
} FILE_USAGE_TYPE;
#define OF_CAP_CANSWITCHTO 0x0001
#define OF_CAP_CANCLOSE 0x0002
/*****************************************************************************
* IFileIsInUse interface
*/
#ifndef __IFileIsInUse_INTERFACE_DEFINED__
#define __IFileIsInUse_INTERFACE_DEFINED__
DEFINE_GUID(IID_IFileIsInUse, 0x64a1cbf0, 0x3a1a, 0x4461, 0x91,0x58, 0x37,0x69,0x69,0x69,0x39,0x50);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("64a1cbf0-3a1a-4461-9158-376969693950")
IFileIsInUse : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetAppName(
LPWSTR *ppszName) = 0;
virtual HRESULT STDMETHODCALLTYPE GetUsage(
FILE_USAGE_TYPE *pfut) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCapabilities(
DWORD *pdwCapFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSwitchToHWND(
HWND *phwnd) = 0;
virtual HRESULT STDMETHODCALLTYPE CloseFile(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IFileIsInUse, 0x64a1cbf0, 0x3a1a, 0x4461, 0x91,0x58, 0x37,0x69,0x69,0x69,0x39,0x50)
#endif
#else
typedef struct IFileIsInUseVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IFileIsInUse *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IFileIsInUse *This);
ULONG (STDMETHODCALLTYPE *Release)(
IFileIsInUse *This);
/*** IFileIsInUse methods ***/
HRESULT (STDMETHODCALLTYPE *GetAppName)(
IFileIsInUse *This,
LPWSTR *ppszName);
HRESULT (STDMETHODCALLTYPE *GetUsage)(
IFileIsInUse *This,
FILE_USAGE_TYPE *pfut);
HRESULT (STDMETHODCALLTYPE *GetCapabilities)(
IFileIsInUse *This,
DWORD *pdwCapFlags);
HRESULT (STDMETHODCALLTYPE *GetSwitchToHWND)(
IFileIsInUse *This,
HWND *phwnd);
HRESULT (STDMETHODCALLTYPE *CloseFile)(
IFileIsInUse *This);
END_INTERFACE
} IFileIsInUseVtbl;
interface IFileIsInUse {
CONST_VTBL IFileIsInUseVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IFileIsInUse_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IFileIsInUse_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IFileIsInUse_Release(This) (This)->lpVtbl->Release(This)
/*** IFileIsInUse methods ***/
#define IFileIsInUse_GetAppName(This,ppszName) (This)->lpVtbl->GetAppName(This,ppszName)
#define IFileIsInUse_GetUsage(This,pfut) (This)->lpVtbl->GetUsage(This,pfut)
#define IFileIsInUse_GetCapabilities(This,pdwCapFlags) (This)->lpVtbl->GetCapabilities(This,pdwCapFlags)
#define IFileIsInUse_GetSwitchToHWND(This,phwnd) (This)->lpVtbl->GetSwitchToHWND(This,phwnd)
#define IFileIsInUse_CloseFile(This) (This)->lpVtbl->CloseFile(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IFileIsInUse_QueryInterface(IFileIsInUse* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IFileIsInUse_AddRef(IFileIsInUse* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IFileIsInUse_Release(IFileIsInUse* This) {
return This->lpVtbl->Release(This);
}
/*** IFileIsInUse methods ***/
static FORCEINLINE HRESULT IFileIsInUse_GetAppName(IFileIsInUse* This,LPWSTR *ppszName) {
return This->lpVtbl->GetAppName(This,ppszName);
}
static FORCEINLINE HRESULT IFileIsInUse_GetUsage(IFileIsInUse* This,FILE_USAGE_TYPE *pfut) {
return This->lpVtbl->GetUsage(This,pfut);
}
static FORCEINLINE HRESULT IFileIsInUse_GetCapabilities(IFileIsInUse* This,DWORD *pdwCapFlags) {
return This->lpVtbl->GetCapabilities(This,pdwCapFlags);
}
static FORCEINLINE HRESULT IFileIsInUse_GetSwitchToHWND(IFileIsInUse* This,HWND *phwnd) {
return This->lpVtbl->GetSwitchToHWND(This,phwnd);
}
static FORCEINLINE HRESULT IFileIsInUse_CloseFile(IFileIsInUse* This) {
return This->lpVtbl->CloseFile(This);
}
#endif
#endif
#endif
#endif /* __IFileIsInUse_INTERFACE_DEFINED__ */
#ifndef __IFileDialog_FWD_DEFINED__
#define __IFileDialog_FWD_DEFINED__
typedef interface IFileDialog IFileDialog;
#ifdef __cplusplus
interface IFileDialog;
#endif /* __cplusplus */
#endif
typedef enum FDE_OVERWRITE_RESPONSE {
FDEOR_DEFAULT = 0,
FDEOR_ACCEPT = 1,
FDEOR_REFUSE = 2
} FDE_OVERWRITE_RESPONSE;
typedef enum FDE_SHAREVIOLATION_RESPONSE {
FDESVR_DEFAULT = 0,
FDESVR_ACCEPT = 1,
FDESVR_REFUSE = 2
} FDE_SHAREVIOLATION_RESPONSE;
typedef enum FDAP {
FDAP_BOTTOM = 0,
FDAP_TOP = 1
} FDAP;
/*****************************************************************************
* IFileDialogEvents interface
*/
#ifndef __IFileDialogEvents_INTERFACE_DEFINED__
#define __IFileDialogEvents_INTERFACE_DEFINED__
DEFINE_GUID(IID_IFileDialogEvents, 0x973510db, 0x7d7f, 0x452b, 0x89,0x75, 0x74,0xa8,0x58,0x28,0xd3,0x54);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("973510db-7d7f-452b-8975-74a85828d354")
IFileDialogEvents : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE OnFileOk(
IFileDialog *pfd) = 0;
virtual HRESULT STDMETHODCALLTYPE OnFolderChanging(
IFileDialog *pfd,
IShellItem *psiFolder) = 0;
virtual HRESULT STDMETHODCALLTYPE OnFolderChange(
IFileDialog *pfd) = 0;
virtual HRESULT STDMETHODCALLTYPE OnSelectionChange(
IFileDialog *pfd) = 0;
virtual HRESULT STDMETHODCALLTYPE OnShareViolation(
IFileDialog *pfd,
IShellItem *psi,
FDE_SHAREVIOLATION_RESPONSE *pResponse) = 0;
virtual HRESULT STDMETHODCALLTYPE OnTypeChange(
IFileDialog *pfd) = 0;
virtual HRESULT STDMETHODCALLTYPE OnOverwrite(
IFileDialog *pfd,
IShellItem *psi,
FDE_OVERWRITE_RESPONSE *pResponse) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IFileDialogEvents, 0x973510db, 0x7d7f, 0x452b, 0x89,0x75, 0x74,0xa8,0x58,0x28,0xd3,0x54)
#endif
#else
typedef struct IFileDialogEventsVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IFileDialogEvents *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IFileDialogEvents *This);
ULONG (STDMETHODCALLTYPE *Release)(
IFileDialogEvents *This);
/*** IFileDialogEvents methods ***/
HRESULT (STDMETHODCALLTYPE *OnFileOk)(
IFileDialogEvents *This,
IFileDialog *pfd);
HRESULT (STDMETHODCALLTYPE *OnFolderChanging)(
IFileDialogEvents *This,
IFileDialog *pfd,
IShellItem *psiFolder);
HRESULT (STDMETHODCALLTYPE *OnFolderChange)(
IFileDialogEvents *This,
IFileDialog *pfd);
HRESULT (STDMETHODCALLTYPE *OnSelectionChange)(
IFileDialogEvents *This,
IFileDialog *pfd);
HRESULT (STDMETHODCALLTYPE *OnShareViolation)(
IFileDialogEvents *This,
IFileDialog *pfd,
IShellItem *psi,
FDE_SHAREVIOLATION_RESPONSE *pResponse);
HRESULT (STDMETHODCALLTYPE *OnTypeChange)(
IFileDialogEvents *This,
IFileDialog *pfd);
HRESULT (STDMETHODCALLTYPE *OnOverwrite)(
IFileDialogEvents *This,
IFileDialog *pfd,
IShellItem *psi,
FDE_OVERWRITE_RESPONSE *pResponse);
END_INTERFACE
} IFileDialogEventsVtbl;
interface IFileDialogEvents {
CONST_VTBL IFileDialogEventsVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IFileDialogEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IFileDialogEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IFileDialogEvents_Release(This) (This)->lpVtbl->Release(This)
/*** IFileDialogEvents methods ***/
#define IFileDialogEvents_OnFileOk(This,pfd) (This)->lpVtbl->OnFileOk(This,pfd)
#define IFileDialogEvents_OnFolderChanging(This,pfd,psiFolder) (This)->lpVtbl->OnFolderChanging(This,pfd,psiFolder)
#define IFileDialogEvents_OnFolderChange(This,pfd) (This)->lpVtbl->OnFolderChange(This,pfd)
#define IFileDialogEvents_OnSelectionChange(This,pfd) (This)->lpVtbl->OnSelectionChange(This,pfd)
#define IFileDialogEvents_OnShareViolation(This,pfd,psi,pResponse) (This)->lpVtbl->OnShareViolation(This,pfd,psi,pResponse)
#define IFileDialogEvents_OnTypeChange(This,pfd) (This)->lpVtbl->OnTypeChange(This,pfd)
#define IFileDialogEvents_OnOverwrite(This,pfd,psi,pResponse) (This)->lpVtbl->OnOverwrite(This,pfd,psi,pResponse)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IFileDialogEvents_QueryInterface(IFileDialogEvents* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IFileDialogEvents_AddRef(IFileDialogEvents* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IFileDialogEvents_Release(IFileDialogEvents* This) {
return This->lpVtbl->Release(This);
}
/*** IFileDialogEvents methods ***/
static FORCEINLINE HRESULT IFileDialogEvents_OnFileOk(IFileDialogEvents* This,IFileDialog *pfd) {
return This->lpVtbl->OnFileOk(This,pfd);
}
static FORCEINLINE HRESULT IFileDialogEvents_OnFolderChanging(IFileDialogEvents* This,IFileDialog *pfd,IShellItem *psiFolder) {
return This->lpVtbl->OnFolderChanging(This,pfd,psiFolder);
}
static FORCEINLINE HRESULT IFileDialogEvents_OnFolderChange(IFileDialogEvents* This,IFileDialog *pfd) {
return This->lpVtbl->OnFolderChange(This,pfd);
}
static FORCEINLINE HRESULT IFileDialogEvents_OnSelectionChange(IFileDialogEvents* This,IFileDialog *pfd) {
return This->lpVtbl->OnSelectionChange(This,pfd);
}
static FORCEINLINE HRESULT IFileDialogEvents_OnShareViolation(IFileDialogEvents* This,IFileDialog *pfd,IShellItem *psi,FDE_SHAREVIOLATION_RESPONSE *pResponse) {
return This->lpVtbl->OnShareViolation(This,pfd,psi,pResponse);
}
static FORCEINLINE HRESULT IFileDialogEvents_OnTypeChange(IFileDialogEvents* This,IFileDialog *pfd) {
return This->lpVtbl->OnTypeChange(This,pfd);
}
static FORCEINLINE HRESULT IFileDialogEvents_OnOverwrite(IFileDialogEvents* This,IFileDialog *pfd,IShellItem *psi,FDE_OVERWRITE_RESPONSE *pResponse) {
return This->lpVtbl->OnOverwrite(This,pfd,psi,pResponse);
}
#endif
#endif
#endif
#endif /* __IFileDialogEvents_INTERFACE_DEFINED__ */
#ifndef __IShellItemFilter_FWD_DEFINED__
#define __IShellItemFilter_FWD_DEFINED__
typedef interface IShellItemFilter IShellItemFilter;
#ifdef __cplusplus
interface IShellItemFilter;
#endif /* __cplusplus */
#endif
/*****************************************************************************
* IFileDialog interface
*/
#ifndef __IFileDialog_INTERFACE_DEFINED__
#define __IFileDialog_INTERFACE_DEFINED__
enum _FILEOPENDIALOGOPTIONS {
FOS_OVERWRITEPROMPT = 0x2,
FOS_STRICTFILETYPES = 0x4,
FOS_NOCHANGEDIR = 0x8,
FOS_PICKFOLDERS = 0x20,
FOS_FORCEFILESYSTEM = 0x40,
FOS_ALLNONSTORAGEITEMS = 0x80,
FOS_NOVALIDATE = 0x100,
FOS_ALLOWMULTISELECT = 0x200,
FOS_PATHMUSTEXIST = 0x800,
FOS_FILEMUSTEXIST = 0x1000,
FOS_CREATEPROMPT = 0x2000,
FOS_SHAREAWARE = 0x4000,
FOS_NOREADONLYRETURN = 0x8000,
FOS_NOTESTFILECREATE = 0x10000,
FOS_HIDEMRUPLACES = 0x20000,
FOS_HIDEPINNEDPLACES = 0x40000,
FOS_NODEREFERENCELINKS = 0x100000,
FOS_DONTADDTORECENT = 0x2000000,
FOS_FORCESHOWHIDDEN = 0x10000000,
FOS_DEFAULTNOMINIMODE = 0x20000000,
FOS_FORCEPREVIEWPANEON = 0x40000000,
FOS_SUPPORTSTREAMABLEITEMS = 0x80000000
};
typedef DWORD FILEOPENDIALOGOPTIONS;
DEFINE_GUID(IID_IFileDialog, 0x42f85136, 0xdb7e, 0x439c, 0x85,0xf1, 0xe4,0x07,0x5d,0x13,0x5f,0xc8);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("42f85136-db7e-439c-85f1-e4075d135fc8")
IFileDialog : public IModalWindow
{
virtual HRESULT STDMETHODCALLTYPE SetFileTypes(
UINT cFileTypes,
const COMDLG_FILTERSPEC *rgFilterSpec) = 0;
virtual HRESULT STDMETHODCALLTYPE SetFileTypeIndex(
UINT iFileType) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFileTypeIndex(
UINT *piFileType) = 0;
virtual HRESULT STDMETHODCALLTYPE Advise(
IFileDialogEvents *pfde,
DWORD *pdwCookie) = 0;
virtual HRESULT STDMETHODCALLTYPE Unadvise(
DWORD dwCookie) = 0;
virtual HRESULT STDMETHODCALLTYPE SetOptions(
FILEOPENDIALOGOPTIONS fos) = 0;
virtual HRESULT STDMETHODCALLTYPE GetOptions(
FILEOPENDIALOGOPTIONS *pfos) = 0;
virtual HRESULT STDMETHODCALLTYPE SetDefaultFolder(
IShellItem *psi) = 0;
virtual HRESULT STDMETHODCALLTYPE SetFolder(
IShellItem *psi) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFolder(
IShellItem **ppsi) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentSelection(
IShellItem **ppsi) = 0;
virtual HRESULT STDMETHODCALLTYPE SetFileName(
LPCWSTR pszName) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFileName(
LPWSTR *pszName) = 0;
virtual HRESULT STDMETHODCALLTYPE SetTitle(
LPCWSTR pszTitle) = 0;
virtual HRESULT STDMETHODCALLTYPE SetOkButtonLabel(
LPCWSTR pszText) = 0;
virtual HRESULT STDMETHODCALLTYPE SetFileNameLabel(
LPCWSTR pszLabel) = 0;
virtual HRESULT STDMETHODCALLTYPE GetResult(
IShellItem **ppsi) = 0;
virtual HRESULT STDMETHODCALLTYPE AddPlace(
IShellItem *psi,
FDAP fdap) = 0;
virtual HRESULT STDMETHODCALLTYPE SetDefaultExtension(
LPCWSTR pszDefaultExtension) = 0;
virtual HRESULT STDMETHODCALLTYPE Close(
HRESULT hr) = 0;
virtual HRESULT STDMETHODCALLTYPE SetClientGuid(
REFGUID guid) = 0;
virtual HRESULT STDMETHODCALLTYPE ClearClientData(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SetFilter(
IShellItemFilter *pFilter) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IFileDialog, 0x42f85136, 0xdb7e, 0x439c, 0x85,0xf1, 0xe4,0x07,0x5d,0x13,0x5f,0xc8)
#endif
#else
typedef struct IFileDialogVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IFileDialog *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IFileDialog *This);
ULONG (STDMETHODCALLTYPE *Release)(
IFileDialog *This);
/*** IModalWindow methods ***/
HRESULT (STDMETHODCALLTYPE *Show)(
IFileDialog *This,
HWND hwndOwner);
/*** IFileDialog methods ***/
HRESULT (STDMETHODCALLTYPE *SetFileTypes)(
IFileDialog *This,
UINT cFileTypes,
const COMDLG_FILTERSPEC *rgFilterSpec);
HRESULT (STDMETHODCALLTYPE *SetFileTypeIndex)(
IFileDialog *This,
UINT iFileType);
HRESULT (STDMETHODCALLTYPE *GetFileTypeIndex)(
IFileDialog *This,
UINT *piFileType);
HRESULT (STDMETHODCALLTYPE *Advise)(
IFileDialog *This,
IFileDialogEvents *pfde,
DWORD *pdwCookie);
HRESULT (STDMETHODCALLTYPE *Unadvise)(
IFileDialog *This,
DWORD dwCookie);
HRESULT (STDMETHODCALLTYPE *SetOptions)(
IFileDialog *This,
FILEOPENDIALOGOPTIONS fos);
HRESULT (STDMETHODCALLTYPE *GetOptions)(
IFileDialog *This,
FILEOPENDIALOGOPTIONS *pfos);
HRESULT (STDMETHODCALLTYPE *SetDefaultFolder)(
IFileDialog *This,
IShellItem *psi);
HRESULT (STDMETHODCALLTYPE *SetFolder)(
IFileDialog *This,
IShellItem *psi);
HRESULT (STDMETHODCALLTYPE *GetFolder)(
IFileDialog *This,
IShellItem **ppsi);
HRESULT (STDMETHODCALLTYPE *GetCurrentSelection)(
IFileDialog *This,
IShellItem **ppsi);
HRESULT (STDMETHODCALLTYPE *SetFileName)(
IFileDialog *This,
LPCWSTR pszName);
HRESULT (STDMETHODCALLTYPE *GetFileName)(
IFileDialog *This,
LPWSTR *pszName);
HRESULT (STDMETHODCALLTYPE *SetTitle)(
IFileDialog *This,
LPCWSTR pszTitle);
HRESULT (STDMETHODCALLTYPE *SetOkButtonLabel)(
IFileDialog *This,
LPCWSTR pszText);
HRESULT (STDMETHODCALLTYPE *SetFileNameLabel)(
IFileDialog *This,
LPCWSTR pszLabel);
HRESULT (STDMETHODCALLTYPE *GetResult)(
IFileDialog *This,
IShellItem **ppsi);
HRESULT (STDMETHODCALLTYPE *AddPlace)(
IFileDialog *This,
IShellItem *psi,
FDAP fdap);
HRESULT (STDMETHODCALLTYPE *SetDefaultExtension)(
IFileDialog *This,
LPCWSTR pszDefaultExtension);
HRESULT (STDMETHODCALLTYPE *Close)(
IFileDialog *This,
HRESULT hr);
HRESULT (STDMETHODCALLTYPE *SetClientGuid)(
IFileDialog *This,
REFGUID guid);
HRESULT (STDMETHODCALLTYPE *ClearClientData)(
IFileDialog *This);
HRESULT (STDMETHODCALLTYPE *SetFilter)(
IFileDialog *This,
IShellItemFilter *pFilter);
END_INTERFACE
} IFileDialogVtbl;
interface IFileDialog {
CONST_VTBL IFileDialogVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IFileDialog_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IFileDialog_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IFileDialog_Release(This) (This)->lpVtbl->Release(This)
/*** IModalWindow methods ***/
#define IFileDialog_Show(This,hwndOwner) (This)->lpVtbl->Show(This,hwndOwner)
/*** IFileDialog methods ***/
#define IFileDialog_SetFileTypes(This,cFileTypes,rgFilterSpec) (This)->lpVtbl->SetFileTypes(This,cFileTypes,rgFilterSpec)
#define IFileDialog_SetFileTypeIndex(This,iFileType) (This)->lpVtbl->SetFileTypeIndex(This,iFileType)
#define IFileDialog_GetFileTypeIndex(This,piFileType) (This)->lpVtbl->GetFileTypeIndex(This,piFileType)
#define IFileDialog_Advise(This,pfde,pdwCookie) (This)->lpVtbl->Advise(This,pfde,pdwCookie)
#define IFileDialog_Unadvise(This,dwCookie) (This)->lpVtbl->Unadvise(This,dwCookie)
#define IFileDialog_SetOptions(This,fos) (This)->lpVtbl->SetOptions(This,fos)
#define IFileDialog_GetOptions(This,pfos) (This)->lpVtbl->GetOptions(This,pfos)
#define IFileDialog_SetDefaultFolder(This,psi) (This)->lpVtbl->SetDefaultFolder(This,psi)
#define IFileDialog_SetFolder(This,psi) (This)->lpVtbl->SetFolder(This,psi)
#define IFileDialog_GetFolder(This,ppsi) (This)->lpVtbl->GetFolder(This,ppsi)
#define IFileDialog_GetCurrentSelection(This,ppsi) (This)->lpVtbl->GetCurrentSelection(This,ppsi)
#define IFileDialog_SetFileName(This,pszName) (This)->lpVtbl->SetFileName(This,pszName)
#define IFileDialog_GetFileName(This,pszName) (This)->lpVtbl->GetFileName(This,pszName)
#define IFileDialog_SetTitle(This,pszTitle) (This)->lpVtbl->SetTitle(This,pszTitle)
#define IFileDialog_SetOkButtonLabel(This,pszText) (This)->lpVtbl->SetOkButtonLabel(This,pszText)
#define IFileDialog_SetFileNameLabel(This,pszLabel) (This)->lpVtbl->SetFileNameLabel(This,pszLabel)
#define IFileDialog_GetResult(This,ppsi) (This)->lpVtbl->GetResult(This,ppsi)
#define IFileDialog_AddPlace(This,psi,fdap) (This)->lpVtbl->AddPlace(This,psi,fdap)
#define IFileDialog_SetDefaultExtension(This,pszDefaultExtension) (This)->lpVtbl->SetDefaultExtension(This,pszDefaultExtension)
#define IFileDialog_Close(This,hr) (This)->lpVtbl->Close(This,hr)
#define IFileDialog_SetClientGuid(This,guid) (This)->lpVtbl->SetClientGuid(This,guid)
#define IFileDialog_ClearClientData(This) (This)->lpVtbl->ClearClientData(This)
#define IFileDialog_SetFilter(This,pFilter) (This)->lpVtbl->SetFilter(This,pFilter)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IFileDialog_QueryInterface(IFileDialog* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IFileDialog_AddRef(IFileDialog* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IFileDialog_Release(IFileDialog* This) {
return This->lpVtbl->Release(This);
}
/*** IModalWindow methods ***/
static FORCEINLINE HRESULT IFileDialog_Show(IFileDialog* This,HWND hwndOwner) {
return This->lpVtbl->Show(This,hwndOwner);
}
/*** IFileDialog methods ***/
static FORCEINLINE HRESULT IFileDialog_SetFileTypes(IFileDialog* This,UINT cFileTypes,const COMDLG_FILTERSPEC *rgFilterSpec) {
return This->lpVtbl->SetFileTypes(This,cFileTypes,rgFilterSpec);
}
static FORCEINLINE HRESULT IFileDialog_SetFileTypeIndex(IFileDialog* This,UINT iFileType) {
return This->lpVtbl->SetFileTypeIndex(This,iFileType);
}
static FORCEINLINE HRESULT IFileDialog_GetFileTypeIndex(IFileDialog* This,UINT *piFileType) {
return This->lpVtbl->GetFileTypeIndex(This,piFileType);
}
static FORCEINLINE HRESULT IFileDialog_Advise(IFileDialog* This,IFileDialogEvents *pfde,DWORD *pdwCookie) {
return This->lpVtbl->Advise(This,pfde,pdwCookie);
}
static FORCEINLINE HRESULT IFileDialog_Unadvise(IFileDialog* This,DWORD dwCookie) {
return This->lpVtbl->Unadvise(This,dwCookie);
}
static FORCEINLINE HRESULT IFileDialog_SetOptions(IFileDialog* This,FILEOPENDIALOGOPTIONS fos) {
return This->lpVtbl->SetOptions(This,fos);
}
static FORCEINLINE HRESULT IFileDialog_GetOptions(IFileDialog* This,FILEOPENDIALOGOPTIONS *pfos) {
return This->lpVtbl->GetOptions(This,pfos);
}
static FORCEINLINE HRESULT IFileDialog_SetDefaultFolder(IFileDialog* This,IShellItem *psi) {
return This->lpVtbl->SetDefaultFolder(This,psi);
}
static FORCEINLINE HRESULT IFileDialog_SetFolder(IFileDialog* This,IShellItem *psi) {
return This->lpVtbl->SetFolder(This,psi);
}
static FORCEINLINE HRESULT IFileDialog_GetFolder(IFileDialog* This,IShellItem **ppsi) {
return This->lpVtbl->GetFolder(This,ppsi);
}
static FORCEINLINE HRESULT IFileDialog_GetCurrentSelection(IFileDialog* This,IShellItem **ppsi) {
return This->lpVtbl->GetCurrentSelection(This,ppsi);
}
static FORCEINLINE HRESULT IFileDialog_SetFileName(IFileDialog* This,LPCWSTR pszName) {
return This->lpVtbl->SetFileName(This,pszName);
}
static FORCEINLINE HRESULT IFileDialog_GetFileName(IFileDialog* This,LPWSTR *pszName) {
return This->lpVtbl->GetFileName(This,pszName);
}
static FORCEINLINE HRESULT IFileDialog_SetTitle(IFileDialog* This,LPCWSTR pszTitle) {
return This->lpVtbl->SetTitle(This,pszTitle);
}
static FORCEINLINE HRESULT IFileDialog_SetOkButtonLabel(IFileDialog* This,LPCWSTR pszText) {
return This->lpVtbl->SetOkButtonLabel(This,pszText);
}
static FORCEINLINE HRESULT IFileDialog_SetFileNameLabel(IFileDialog* This,LPCWSTR pszLabel) {
return This->lpVtbl->SetFileNameLabel(This,pszLabel);
}
static FORCEINLINE HRESULT IFileDialog_GetResult(IFileDialog* This,IShellItem **ppsi) {
return This->lpVtbl->GetResult(This,ppsi);
}
static FORCEINLINE HRESULT IFileDialog_AddPlace(IFileDialog* This,IShellItem *psi,FDAP fdap) {
return This->lpVtbl->AddPlace(This,psi,fdap);
}
static FORCEINLINE HRESULT IFileDialog_SetDefaultExtension(IFileDialog* This,LPCWSTR pszDefaultExtension) {
return This->lpVtbl->SetDefaultExtension(This,pszDefaultExtension);
}
static FORCEINLINE HRESULT IFileDialog_Close(IFileDialog* This,HRESULT hr) {
return This->lpVtbl->Close(This,hr);
}
static FORCEINLINE HRESULT IFileDialog_SetClientGuid(IFileDialog* This,REFGUID guid) {
return This->lpVtbl->SetClientGuid(This,guid);
}
static FORCEINLINE HRESULT IFileDialog_ClearClientData(IFileDialog* This) {
return This->lpVtbl->ClearClientData(This);
}
static FORCEINLINE HRESULT IFileDialog_SetFilter(IFileDialog* This,IShellItemFilter *pFilter) {
return This->lpVtbl->SetFilter(This,pFilter);
}
#endif
#endif
#endif
#endif /* __IFileDialog_INTERFACE_DEFINED__ */
/*****************************************************************************
* IFileSaveDialog interface
*/
#ifndef __IFileSaveDialog_INTERFACE_DEFINED__
#define __IFileSaveDialog_INTERFACE_DEFINED__
DEFINE_GUID(IID_IFileSaveDialog, 0x84bccd23, 0x5fde, 0x4cdb, 0xae,0xa4, 0xaf,0x64,0xb8,0x3d,0x78,0xab);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("84bccd23-5fde-4cdb-aea4-af64b83d78ab")
IFileSaveDialog : public IFileDialog
{
virtual HRESULT STDMETHODCALLTYPE SetSaveAsItem(
IShellItem *psi) = 0;
virtual HRESULT STDMETHODCALLTYPE SetProperties(
IPropertyStore *pStore) = 0;
virtual HRESULT STDMETHODCALLTYPE SetCollectedProperties(
IPropertyDescriptionList *pList,
WINBOOL fAppendDefault) = 0;
virtual HRESULT STDMETHODCALLTYPE GetProperties(
IPropertyStore **ppStore) = 0;
virtual HRESULT STDMETHODCALLTYPE ApplyProperties(
IShellItem *psi,
IPropertyStore *pStore,
HWND hwnd,
IFileOperationProgressSink *pSink) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IFileSaveDialog, 0x84bccd23, 0x5fde, 0x4cdb, 0xae,0xa4, 0xaf,0x64,0xb8,0x3d,0x78,0xab)
#endif
#else
typedef struct IFileSaveDialogVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IFileSaveDialog *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IFileSaveDialog *This);
ULONG (STDMETHODCALLTYPE *Release)(
IFileSaveDialog *This);
/*** IModalWindow methods ***/
HRESULT (STDMETHODCALLTYPE *Show)(
IFileSaveDialog *This,
HWND hwndOwner);
/*** IFileDialog methods ***/
HRESULT (STDMETHODCALLTYPE *SetFileTypes)(
IFileSaveDialog *This,
UINT cFileTypes,
const COMDLG_FILTERSPEC *rgFilterSpec);
HRESULT (STDMETHODCALLTYPE *SetFileTypeIndex)(
IFileSaveDialog *This,
UINT iFileType);
HRESULT (STDMETHODCALLTYPE *GetFileTypeIndex)(
IFileSaveDialog *This,
UINT *piFileType);
HRESULT (STDMETHODCALLTYPE *Advise)(
IFileSaveDialog *This,
IFileDialogEvents *pfde,
DWORD *pdwCookie);
HRESULT (STDMETHODCALLTYPE *Unadvise)(
IFileSaveDialog *This,
DWORD dwCookie);
HRESULT (STDMETHODCALLTYPE *SetOptions)(
IFileSaveDialog *This,
FILEOPENDIALOGOPTIONS fos);
HRESULT (STDMETHODCALLTYPE *GetOptions)(
IFileSaveDialog *This,
FILEOPENDIALOGOPTIONS *pfos);
HRESULT (STDMETHODCALLTYPE *SetDefaultFolder)(
IFileSaveDialog *This,
IShellItem *psi);
HRESULT (STDMETHODCALLTYPE *SetFolder)(
IFileSaveDialog *This,
IShellItem *psi);
HRESULT (STDMETHODCALLTYPE *GetFolder)(
IFileSaveDialog *This,
IShellItem **ppsi);
HRESULT (STDMETHODCALLTYPE *GetCurrentSelection)(
IFileSaveDialog *This,
IShellItem **ppsi);
HRESULT (STDMETHODCALLTYPE *SetFileName)(
IFileSaveDialog *This,
LPCWSTR pszName);
HRESULT (STDMETHODCALLTYPE *GetFileName)(
IFileSaveDialog *This,
LPWSTR *pszName);
HRESULT (STDMETHODCALLTYPE *SetTitle)(
IFileSaveDialog *This,
LPCWSTR pszTitle);
HRESULT (STDMETHODCALLTYPE *SetOkButtonLabel)(
IFileSaveDialog *This,
LPCWSTR pszText);
HRESULT (STDMETHODCALLTYPE *SetFileNameLabel)(
IFileSaveDialog *This,
LPCWSTR pszLabel);
HRESULT (STDMETHODCALLTYPE *GetResult)(
IFileSaveDialog *This,
IShellItem **ppsi);
HRESULT (STDMETHODCALLTYPE *AddPlace)(
IFileSaveDialog *This,
IShellItem *psi,
FDAP fdap);
HRESULT (STDMETHODCALLTYPE *SetDefaultExtension)(
IFileSaveDialog *This,
LPCWSTR pszDefaultExtension);
HRESULT (STDMETHODCALLTYPE *Close)(
IFileSaveDialog *This,
HRESULT hr);
HRESULT (STDMETHODCALLTYPE *SetClientGuid)(
IFileSaveDialog *This,
REFGUID guid);
HRESULT (STDMETHODCALLTYPE *ClearClientData)(
IFileSaveDialog *This);
HRESULT (STDMETHODCALLTYPE *SetFilter)(
IFileSaveDialog *This,
IShellItemFilter *pFilter);
/*** IFileSaveDialog methods ***/
HRESULT (STDMETHODCALLTYPE *SetSaveAsItem)(
IFileSaveDialog *This,
IShellItem *psi);
HRESULT (STDMETHODCALLTYPE *SetProperties)(
IFileSaveDialog *This,
IPropertyStore *pStore);
HRESULT (STDMETHODCALLTYPE *SetCollectedProperties)(
IFileSaveDialog *This,
IPropertyDescriptionList *pList,
WINBOOL fAppendDefault);
HRESULT (STDMETHODCALLTYPE *GetProperties)(
IFileSaveDialog *This,
IPropertyStore **ppStore);
HRESULT (STDMETHODCALLTYPE *ApplyProperties)(
IFileSaveDialog *This,
IShellItem *psi,
IPropertyStore *pStore,
HWND hwnd,
IFileOperationProgressSink *pSink);
END_INTERFACE
} IFileSaveDialogVtbl;
interface IFileSaveDialog {
CONST_VTBL IFileSaveDialogVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IFileSaveDialog_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IFileSaveDialog_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IFileSaveDialog_Release(This) (This)->lpVtbl->Release(This)
/*** IModalWindow methods ***/
#define IFileSaveDialog_Show(This,hwndOwner) (This)->lpVtbl->Show(This,hwndOwner)
/*** IFileDialog methods ***/
#define IFileSaveDialog_SetFileTypes(This,cFileTypes,rgFilterSpec) (This)->lpVtbl->SetFileTypes(This,cFileTypes,rgFilterSpec)
#define IFileSaveDialog_SetFileTypeIndex(This,iFileType) (This)->lpVtbl->SetFileTypeIndex(This,iFileType)
#define IFileSaveDialog_GetFileTypeIndex(This,piFileType) (This)->lpVtbl->GetFileTypeIndex(This,piFileType)
#define IFileSaveDialog_Advise(This,pfde,pdwCookie) (This)->lpVtbl->Advise(This,pfde,pdwCookie)
#define IFileSaveDialog_Unadvise(This,dwCookie) (This)->lpVtbl->Unadvise(This,dwCookie)
#define IFileSaveDialog_SetOptions(This,fos) (This)->lpVtbl->SetOptions(This,fos)
#define IFileSaveDialog_GetOptions(This,pfos) (This)->lpVtbl->GetOptions(This,pfos)
#define IFileSaveDialog_SetDefaultFolder(This,psi) (This)->lpVtbl->SetDefaultFolder(This,psi)
#define IFileSaveDialog_SetFolder(This,psi) (This)->lpVtbl->SetFolder(This,psi)
#define IFileSaveDialog_GetFolder(This,ppsi) (This)->lpVtbl->GetFolder(This,ppsi)
#define IFileSaveDialog_GetCurrentSelection(This,ppsi) (This)->lpVtbl->GetCurrentSelection(This,ppsi)
#define IFileSaveDialog_SetFileName(This,pszName) (This)->lpVtbl->SetFileName(This,pszName)
#define IFileSaveDialog_GetFileName(This,pszName) (This)->lpVtbl->GetFileName(This,pszName)
#define IFileSaveDialog_SetTitle(This,pszTitle) (This)->lpVtbl->SetTitle(This,pszTitle)
#define IFileSaveDialog_SetOkButtonLabel(This,pszText) (This)->lpVtbl->SetOkButtonLabel(This,pszText)
#define IFileSaveDialog_SetFileNameLabel(This,pszLabel) (This)->lpVtbl->SetFileNameLabel(This,pszLabel)
#define IFileSaveDialog_GetResult(This,ppsi) (This)->lpVtbl->GetResult(This,ppsi)
#define IFileSaveDialog_AddPlace(This,psi,fdap) (This)->lpVtbl->AddPlace(This,psi,fdap)
#define IFileSaveDialog_SetDefaultExtension(This,pszDefaultExtension) (This)->lpVtbl->SetDefaultExtension(This,pszDefaultExtension)
#define IFileSaveDialog_Close(This,hr) (This)->lpVtbl->Close(This,hr)
#define IFileSaveDialog_SetClientGuid(This,guid) (This)->lpVtbl->SetClientGuid(This,guid)
#define IFileSaveDialog_ClearClientData(This) (This)->lpVtbl->ClearClientData(This)
#define IFileSaveDialog_SetFilter(This,pFilter) (This)->lpVtbl->SetFilter(This,pFilter)
/*** IFileSaveDialog methods ***/
#define IFileSaveDialog_SetSaveAsItem(This,psi) (This)->lpVtbl->SetSaveAsItem(This,psi)
#define IFileSaveDialog_SetProperties(This,pStore) (This)->lpVtbl->SetProperties(This,pStore)
#define IFileSaveDialog_SetCollectedProperties(This,pList,fAppendDefault) (This)->lpVtbl->SetCollectedProperties(This,pList,fAppendDefault)
#define IFileSaveDialog_GetProperties(This,ppStore) (This)->lpVtbl->GetProperties(This,ppStore)
#define IFileSaveDialog_ApplyProperties(This,psi,pStore,hwnd,pSink) (This)->lpVtbl->ApplyProperties(This,psi,pStore,hwnd,pSink)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IFileSaveDialog_QueryInterface(IFileSaveDialog* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IFileSaveDialog_AddRef(IFileSaveDialog* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IFileSaveDialog_Release(IFileSaveDialog* This) {
return This->lpVtbl->Release(This);
}
/*** IModalWindow methods ***/
static FORCEINLINE HRESULT IFileSaveDialog_Show(IFileSaveDialog* This,HWND hwndOwner) {
return This->lpVtbl->Show(This,hwndOwner);
}
/*** IFileDialog methods ***/
static FORCEINLINE HRESULT IFileSaveDialog_SetFileTypes(IFileSaveDialog* This,UINT cFileTypes,const COMDLG_FILTERSPEC *rgFilterSpec) {
return This->lpVtbl->SetFileTypes(This,cFileTypes,rgFilterSpec);
}
static FORCEINLINE HRESULT IFileSaveDialog_SetFileTypeIndex(IFileSaveDialog* This,UINT iFileType) {
return This->lpVtbl->SetFileTypeIndex(This,iFileType);
}
static FORCEINLINE HRESULT IFileSaveDialog_GetFileTypeIndex(IFileSaveDialog* This,UINT *piFileType) {
return This->lpVtbl->GetFileTypeIndex(This,piFileType);
}
static FORCEINLINE HRESULT IFileSaveDialog_Advise(IFileSaveDialog* This,IFileDialogEvents *pfde,DWORD *pdwCookie) {
return This->lpVtbl->Advise(This,pfde,pdwCookie);
}
static FORCEINLINE HRESULT IFileSaveDialog_Unadvise(IFileSaveDialog* This,DWORD dwCookie) {
return This->lpVtbl->Unadvise(This,dwCookie);
}
static FORCEINLINE HRESULT IFileSaveDialog_SetOptions(IFileSaveDialog* This,FILEOPENDIALOGOPTIONS fos) {
return This->lpVtbl->SetOptions(This,fos);
}
static FORCEINLINE HRESULT IFileSaveDialog_GetOptions(IFileSaveDialog* This,FILEOPENDIALOGOPTIONS *pfos) {
return This->lpVtbl->GetOptions(This,pfos);
}
static FORCEINLINE HRESULT IFileSaveDialog_SetDefaultFolder(IFileSaveDialog* This,IShellItem *psi) {
return This->lpVtbl->SetDefaultFolder(This,psi);
}
static FORCEINLINE HRESULT IFileSaveDialog_SetFolder(IFileSaveDialog* This,IShellItem *psi) {
return This->lpVtbl->SetFolder(This,psi);
}
static FORCEINLINE HRESULT IFileSaveDialog_GetFolder(IFileSaveDialog* This,IShellItem **ppsi) {
return This->lpVtbl->GetFolder(This,ppsi);
}
static FORCEINLINE HRESULT IFileSaveDialog_GetCurrentSelection(IFileSaveDialog* This,IShellItem **ppsi) {
return This->lpVtbl->GetCurrentSelection(This,ppsi);
}
static FORCEINLINE HRESULT IFileSaveDialog_SetFileName(IFileSaveDialog* This,LPCWSTR pszName) {
return This->lpVtbl->SetFileName(This,pszName);
}
static FORCEINLINE HRESULT IFileSaveDialog_GetFileName(IFileSaveDialog* This,LPWSTR *pszName) {
return This->lpVtbl->GetFileName(This,pszName);
}
static FORCEINLINE HRESULT IFileSaveDialog_SetTitle(IFileSaveDialog* This,LPCWSTR pszTitle) {
return This->lpVtbl->SetTitle(This,pszTitle);
}
static FORCEINLINE HRESULT IFileSaveDialog_SetOkButtonLabel(IFileSaveDialog* This,LPCWSTR pszText) {
return This->lpVtbl->SetOkButtonLabel(This,pszText);
}
static FORCEINLINE HRESULT IFileSaveDialog_SetFileNameLabel(IFileSaveDialog* This,LPCWSTR pszLabel) {
return This->lpVtbl->SetFileNameLabel(This,pszLabel);
}
static FORCEINLINE HRESULT IFileSaveDialog_GetResult(IFileSaveDialog* This,IShellItem **ppsi) {
return This->lpVtbl->GetResult(This,ppsi);
}
static FORCEINLINE HRESULT IFileSaveDialog_AddPlace(IFileSaveDialog* This,IShellItem *psi,FDAP fdap) {
return This->lpVtbl->AddPlace(This,psi,fdap);
}
static FORCEINLINE HRESULT IFileSaveDialog_SetDefaultExtension(IFileSaveDialog* This,LPCWSTR pszDefaultExtension) {
return This->lpVtbl->SetDefaultExtension(This,pszDefaultExtension);
}
static FORCEINLINE HRESULT IFileSaveDialog_Close(IFileSaveDialog* This,HRESULT hr) {
return This->lpVtbl->Close(This,hr);
}
static FORCEINLINE HRESULT IFileSaveDialog_SetClientGuid(IFileSaveDialog* This,REFGUID guid) {
return This->lpVtbl->SetClientGuid(This,guid);
}
static FORCEINLINE HRESULT IFileSaveDialog_ClearClientData(IFileSaveDialog* This) {
return This->lpVtbl->ClearClientData(This);
}
static FORCEINLINE HRESULT IFileSaveDialog_SetFilter(IFileSaveDialog* This,IShellItemFilter *pFilter) {
return This->lpVtbl->SetFilter(This,pFilter);
}
/*** IFileSaveDialog methods ***/
static FORCEINLINE HRESULT IFileSaveDialog_SetSaveAsItem(IFileSaveDialog* This,IShellItem *psi) {
return This->lpVtbl->SetSaveAsItem(This,psi);
}
static FORCEINLINE HRESULT IFileSaveDialog_SetProperties(IFileSaveDialog* This,IPropertyStore *pStore) {
return This->lpVtbl->SetProperties(This,pStore);
}
static FORCEINLINE HRESULT IFileSaveDialog_SetCollectedProperties(IFileSaveDialog* This,IPropertyDescriptionList *pList,WINBOOL fAppendDefault) {
return This->lpVtbl->SetCollectedProperties(This,pList,fAppendDefault);
}
static FORCEINLINE HRESULT IFileSaveDialog_GetProperties(IFileSaveDialog* This,IPropertyStore **ppStore) {
return This->lpVtbl->GetProperties(This,ppStore);
}
static FORCEINLINE HRESULT IFileSaveDialog_ApplyProperties(IFileSaveDialog* This,IShellItem *psi,IPropertyStore *pStore,HWND hwnd,IFileOperationProgressSink *pSink) {
return This->lpVtbl->ApplyProperties(This,psi,pStore,hwnd,pSink);
}
#endif
#endif
#endif
#endif /* __IFileSaveDialog_INTERFACE_DEFINED__ */
/*****************************************************************************
* IFileOpenDialog interface
*/
#ifndef __IFileOpenDialog_INTERFACE_DEFINED__
#define __IFileOpenDialog_INTERFACE_DEFINED__
DEFINE_GUID(IID_IFileOpenDialog, 0xd57c7288, 0xd4ad, 0x4768, 0xbe,0x02, 0x9d,0x96,0x95,0x32,0xd9,0x60);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("d57c7288-d4ad-4768-be02-9d969532d960")
IFileOpenDialog : public IFileDialog
{
virtual HRESULT STDMETHODCALLTYPE GetResults(
IShellItemArray **ppenum) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSelectedItems(
IShellItemArray **ppsai) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IFileOpenDialog, 0xd57c7288, 0xd4ad, 0x4768, 0xbe,0x02, 0x9d,0x96,0x95,0x32,0xd9,0x60)
#endif
#else
typedef struct IFileOpenDialogVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IFileOpenDialog *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IFileOpenDialog *This);
ULONG (STDMETHODCALLTYPE *Release)(
IFileOpenDialog *This);
/*** IModalWindow methods ***/
HRESULT (STDMETHODCALLTYPE *Show)(
IFileOpenDialog *This,
HWND hwndOwner);
/*** IFileDialog methods ***/
HRESULT (STDMETHODCALLTYPE *SetFileTypes)(
IFileOpenDialog *This,
UINT cFileTypes,
const COMDLG_FILTERSPEC *rgFilterSpec);
HRESULT (STDMETHODCALLTYPE *SetFileTypeIndex)(
IFileOpenDialog *This,
UINT iFileType);
HRESULT (STDMETHODCALLTYPE *GetFileTypeIndex)(
IFileOpenDialog *This,
UINT *piFileType);
HRESULT (STDMETHODCALLTYPE *Advise)(
IFileOpenDialog *This,
IFileDialogEvents *pfde,
DWORD *pdwCookie);
HRESULT (STDMETHODCALLTYPE *Unadvise)(
IFileOpenDialog *This,
DWORD dwCookie);
HRESULT (STDMETHODCALLTYPE *SetOptions)(
IFileOpenDialog *This,
FILEOPENDIALOGOPTIONS fos);
HRESULT (STDMETHODCALLTYPE *GetOptions)(
IFileOpenDialog *This,
FILEOPENDIALOGOPTIONS *pfos);
HRESULT (STDMETHODCALLTYPE *SetDefaultFolder)(
IFileOpenDialog *This,
IShellItem *psi);
HRESULT (STDMETHODCALLTYPE *SetFolder)(
IFileOpenDialog *This,
IShellItem *psi);
HRESULT (STDMETHODCALLTYPE *GetFolder)(
IFileOpenDialog *This,
IShellItem **ppsi);
HRESULT (STDMETHODCALLTYPE *GetCurrentSelection)(
IFileOpenDialog *This,
IShellItem **ppsi);
HRESULT (STDMETHODCALLTYPE *SetFileName)(
IFileOpenDialog *This,
LPCWSTR pszName);
HRESULT (STDMETHODCALLTYPE *GetFileName)(
IFileOpenDialog *This,
LPWSTR *pszName);
HRESULT (STDMETHODCALLTYPE *SetTitle)(
IFileOpenDialog *This,
LPCWSTR pszTitle);
HRESULT (STDMETHODCALLTYPE *SetOkButtonLabel)(
IFileOpenDialog *This,
LPCWSTR pszText);
HRESULT (STDMETHODCALLTYPE *SetFileNameLabel)(
IFileOpenDialog *This,
LPCWSTR pszLabel);
HRESULT (STDMETHODCALLTYPE *GetResult)(
IFileOpenDialog *This,
IShellItem **ppsi);
HRESULT (STDMETHODCALLTYPE *AddPlace)(
IFileOpenDialog *This,
IShellItem *psi,
FDAP fdap);
HRESULT (STDMETHODCALLTYPE *SetDefaultExtension)(
IFileOpenDialog *This,
LPCWSTR pszDefaultExtension);
HRESULT (STDMETHODCALLTYPE *Close)(
IFileOpenDialog *This,
HRESULT hr);
HRESULT (STDMETHODCALLTYPE *SetClientGuid)(
IFileOpenDialog *This,
REFGUID guid);
HRESULT (STDMETHODCALLTYPE *ClearClientData)(
IFileOpenDialog *This);
HRESULT (STDMETHODCALLTYPE *SetFilter)(
IFileOpenDialog *This,
IShellItemFilter *pFilter);
/*** IFileOpenDialog methods ***/
HRESULT (STDMETHODCALLTYPE *GetResults)(
IFileOpenDialog *This,
IShellItemArray **ppenum);
HRESULT (STDMETHODCALLTYPE *GetSelectedItems)(
IFileOpenDialog *This,
IShellItemArray **ppsai);
END_INTERFACE
} IFileOpenDialogVtbl;
interface IFileOpenDialog {
CONST_VTBL IFileOpenDialogVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IFileOpenDialog_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IFileOpenDialog_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IFileOpenDialog_Release(This) (This)->lpVtbl->Release(This)
/*** IModalWindow methods ***/
#define IFileOpenDialog_Show(This,hwndOwner) (This)->lpVtbl->Show(This,hwndOwner)
/*** IFileDialog methods ***/
#define IFileOpenDialog_SetFileTypes(This,cFileTypes,rgFilterSpec) (This)->lpVtbl->SetFileTypes(This,cFileTypes,rgFilterSpec)
#define IFileOpenDialog_SetFileTypeIndex(This,iFileType) (This)->lpVtbl->SetFileTypeIndex(This,iFileType)
#define IFileOpenDialog_GetFileTypeIndex(This,piFileType) (This)->lpVtbl->GetFileTypeIndex(This,piFileType)
#define IFileOpenDialog_Advise(This,pfde,pdwCookie) (This)->lpVtbl->Advise(This,pfde,pdwCookie)
#define IFileOpenDialog_Unadvise(This,dwCookie) (This)->lpVtbl->Unadvise(This,dwCookie)
#define IFileOpenDialog_SetOptions(This,fos) (This)->lpVtbl->SetOptions(This,fos)
#define IFileOpenDialog_GetOptions(This,pfos) (This)->lpVtbl->GetOptions(This,pfos)
#define IFileOpenDialog_SetDefaultFolder(This,psi) (This)->lpVtbl->SetDefaultFolder(This,psi)
#define IFileOpenDialog_SetFolder(This,psi) (This)->lpVtbl->SetFolder(This,psi)
#define IFileOpenDialog_GetFolder(This,ppsi) (This)->lpVtbl->GetFolder(This,ppsi)
#define IFileOpenDialog_GetCurrentSelection(This,ppsi) (This)->lpVtbl->GetCurrentSelection(This,ppsi)
#define IFileOpenDialog_SetFileName(This,pszName) (This)->lpVtbl->SetFileName(This,pszName)
#define IFileOpenDialog_GetFileName(This,pszName) (This)->lpVtbl->GetFileName(This,pszName)
#define IFileOpenDialog_SetTitle(This,pszTitle) (This)->lpVtbl->SetTitle(This,pszTitle)
#define IFileOpenDialog_SetOkButtonLabel(This,pszText) (This)->lpVtbl->SetOkButtonLabel(This,pszText)
#define IFileOpenDialog_SetFileNameLabel(This,pszLabel) (This)->lpVtbl->SetFileNameLabel(This,pszLabel)
#define IFileOpenDialog_GetResult(This,ppsi) (This)->lpVtbl->GetResult(This,ppsi)
#define IFileOpenDialog_AddPlace(This,psi,fdap) (This)->lpVtbl->AddPlace(This,psi,fdap)
#define IFileOpenDialog_SetDefaultExtension(This,pszDefaultExtension) (This)->lpVtbl->SetDefaultExtension(This,pszDefaultExtension)
#define IFileOpenDialog_Close(This,hr) (This)->lpVtbl->Close(This,hr)
#define IFileOpenDialog_SetClientGuid(This,guid) (This)->lpVtbl->SetClientGuid(This,guid)
#define IFileOpenDialog_ClearClientData(This) (This)->lpVtbl->ClearClientData(This)
#define IFileOpenDialog_SetFilter(This,pFilter) (This)->lpVtbl->SetFilter(This,pFilter)
/*** IFileOpenDialog methods ***/
#define IFileOpenDialog_GetResults(This,ppenum) (This)->lpVtbl->GetResults(This,ppenum)
#define IFileOpenDialog_GetSelectedItems(This,ppsai) (This)->lpVtbl->GetSelectedItems(This,ppsai)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IFileOpenDialog_QueryInterface(IFileOpenDialog* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IFileOpenDialog_AddRef(IFileOpenDialog* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IFileOpenDialog_Release(IFileOpenDialog* This) {
return This->lpVtbl->Release(This);
}
/*** IModalWindow methods ***/
static FORCEINLINE HRESULT IFileOpenDialog_Show(IFileOpenDialog* This,HWND hwndOwner) {
return This->lpVtbl->Show(This,hwndOwner);
}
/*** IFileDialog methods ***/
static FORCEINLINE HRESULT IFileOpenDialog_SetFileTypes(IFileOpenDialog* This,UINT cFileTypes,const COMDLG_FILTERSPEC *rgFilterSpec) {
return This->lpVtbl->SetFileTypes(This,cFileTypes,rgFilterSpec);
}
static FORCEINLINE HRESULT IFileOpenDialog_SetFileTypeIndex(IFileOpenDialog* This,UINT iFileType) {
return This->lpVtbl->SetFileTypeIndex(This,iFileType);
}
static FORCEINLINE HRESULT IFileOpenDialog_GetFileTypeIndex(IFileOpenDialog* This,UINT *piFileType) {
return This->lpVtbl->GetFileTypeIndex(This,piFileType);
}
static FORCEINLINE HRESULT IFileOpenDialog_Advise(IFileOpenDialog* This,IFileDialogEvents *pfde,DWORD *pdwCookie) {
return This->lpVtbl->Advise(This,pfde,pdwCookie);
}
static FORCEINLINE HRESULT IFileOpenDialog_Unadvise(IFileOpenDialog* This,DWORD dwCookie) {
return This->lpVtbl->Unadvise(This,dwCookie);
}
static FORCEINLINE HRESULT IFileOpenDialog_SetOptions(IFileOpenDialog* This,FILEOPENDIALOGOPTIONS fos) {
return This->lpVtbl->SetOptions(This,fos);
}
static FORCEINLINE HRESULT IFileOpenDialog_GetOptions(IFileOpenDialog* This,FILEOPENDIALOGOPTIONS *pfos) {
return This->lpVtbl->GetOptions(This,pfos);
}
static FORCEINLINE HRESULT IFileOpenDialog_SetDefaultFolder(IFileOpenDialog* This,IShellItem *psi) {
return This->lpVtbl->SetDefaultFolder(This,psi);
}
static FORCEINLINE HRESULT IFileOpenDialog_SetFolder(IFileOpenDialog* This,IShellItem *psi) {
return This->lpVtbl->SetFolder(This,psi);
}
static FORCEINLINE HRESULT IFileOpenDialog_GetFolder(IFileOpenDialog* This,IShellItem **ppsi) {
return This->lpVtbl->GetFolder(This,ppsi);
}
static FORCEINLINE HRESULT IFileOpenDialog_GetCurrentSelection(IFileOpenDialog* This,IShellItem **ppsi) {
return This->lpVtbl->GetCurrentSelection(This,ppsi);
}
static FORCEINLINE HRESULT IFileOpenDialog_SetFileName(IFileOpenDialog* This,LPCWSTR pszName) {
return This->lpVtbl->SetFileName(This,pszName);
}
static FORCEINLINE HRESULT IFileOpenDialog_GetFileName(IFileOpenDialog* This,LPWSTR *pszName) {
return This->lpVtbl->GetFileName(This,pszName);
}
static FORCEINLINE HRESULT IFileOpenDialog_SetTitle(IFileOpenDialog* This,LPCWSTR pszTitle) {
return This->lpVtbl->SetTitle(This,pszTitle);
}
static FORCEINLINE HRESULT IFileOpenDialog_SetOkButtonLabel(IFileOpenDialog* This,LPCWSTR pszText) {
return This->lpVtbl->SetOkButtonLabel(This,pszText);
}
static FORCEINLINE HRESULT IFileOpenDialog_SetFileNameLabel(IFileOpenDialog* This,LPCWSTR pszLabel) {
return This->lpVtbl->SetFileNameLabel(This,pszLabel);
}
static FORCEINLINE HRESULT IFileOpenDialog_GetResult(IFileOpenDialog* This,IShellItem **ppsi) {
return This->lpVtbl->GetResult(This,ppsi);
}
static FORCEINLINE HRESULT IFileOpenDialog_AddPlace(IFileOpenDialog* This,IShellItem *psi,FDAP fdap) {
return This->lpVtbl->AddPlace(This,psi,fdap);
}
static FORCEINLINE HRESULT IFileOpenDialog_SetDefaultExtension(IFileOpenDialog* This,LPCWSTR pszDefaultExtension) {
return This->lpVtbl->SetDefaultExtension(This,pszDefaultExtension);
}
static FORCEINLINE HRESULT IFileOpenDialog_Close(IFileOpenDialog* This,HRESULT hr) {
return This->lpVtbl->Close(This,hr);
}
static FORCEINLINE HRESULT IFileOpenDialog_SetClientGuid(IFileOpenDialog* This,REFGUID guid) {
return This->lpVtbl->SetClientGuid(This,guid);
}
static FORCEINLINE HRESULT IFileOpenDialog_ClearClientData(IFileOpenDialog* This) {
return This->lpVtbl->ClearClientData(This);
}
static FORCEINLINE HRESULT IFileOpenDialog_SetFilter(IFileOpenDialog* This,IShellItemFilter *pFilter) {
return This->lpVtbl->SetFilter(This,pFilter);
}
/*** IFileOpenDialog methods ***/
static FORCEINLINE HRESULT IFileOpenDialog_GetResults(IFileOpenDialog* This,IShellItemArray **ppenum) {
return This->lpVtbl->GetResults(This,ppenum);
}
static FORCEINLINE HRESULT IFileOpenDialog_GetSelectedItems(IFileOpenDialog* This,IShellItemArray **ppsai) {
return This->lpVtbl->GetSelectedItems(This,ppsai);
}
#endif
#endif
#endif
#endif /* __IFileOpenDialog_INTERFACE_DEFINED__ */
typedef enum CDCONTROLSTATEF {
CDCS_INACTIVE = 0x0,
CDCS_ENABLED = 0x1,
CDCS_VISIBLE = 0x2,
CDCS_ENABLEDVISIBLE = 0x3
} CDCONTROLSTATEF;
DEFINE_ENUM_FLAG_OPERATORS(CDCONTROLSTATEF)
/*****************************************************************************
* IFileDialogCustomize interface
*/
#ifndef __IFileDialogCustomize_INTERFACE_DEFINED__
#define __IFileDialogCustomize_INTERFACE_DEFINED__
DEFINE_GUID(IID_IFileDialogCustomize, 0xe6fdd21a, 0x163f, 0x4975, 0x9c,0x8c, 0xa6,0x9f,0x1b,0xa3,0x70,0x34);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("e6fdd21a-163f-4975-9c8c-a69f1ba37034")
IFileDialogCustomize : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE EnableOpenDropDown(
DWORD dwIDCtl) = 0;
virtual HRESULT STDMETHODCALLTYPE AddMenu(
DWORD dwIDCtl,
LPCWSTR pszLabel) = 0;
virtual HRESULT STDMETHODCALLTYPE AddPushButton(
DWORD dwIDCtl,
LPCWSTR pszLabel) = 0;
virtual HRESULT STDMETHODCALLTYPE AddComboBox(
DWORD dwIDCtl) = 0;
virtual HRESULT STDMETHODCALLTYPE AddRadioButtonList(
DWORD dwIDCtl) = 0;
virtual HRESULT STDMETHODCALLTYPE AddCheckButton(
DWORD dwIDCtl,
LPCWSTR pszLabel,
WINBOOL bChecked) = 0;
virtual HRESULT STDMETHODCALLTYPE AddEditBox(
DWORD dwIDCtl,
LPCWSTR pszText) = 0;
virtual HRESULT STDMETHODCALLTYPE AddSeparator(
DWORD dwIDCtl) = 0;
virtual HRESULT STDMETHODCALLTYPE AddText(
DWORD dwIDCtl,
LPCWSTR pszText) = 0;
virtual HRESULT STDMETHODCALLTYPE SetControlLabel(
DWORD dwIDCtl,
LPCWSTR pszLabel) = 0;
virtual HRESULT STDMETHODCALLTYPE GetControlState(
DWORD dwIDCtl,
CDCONTROLSTATEF *pdwState) = 0;
virtual HRESULT STDMETHODCALLTYPE SetControlState(
DWORD dwIDCtl,
CDCONTROLSTATEF dwState) = 0;
virtual HRESULT STDMETHODCALLTYPE GetEditBoxText(
DWORD dwIDCtl,
WCHAR **ppszText) = 0;
virtual HRESULT STDMETHODCALLTYPE SetEditBoxText(
DWORD dwIDCtl,
LPCWSTR pszText) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCheckButtonState(
DWORD dwIDCtl,
WINBOOL *pbChecked) = 0;
virtual HRESULT STDMETHODCALLTYPE SetCheckButtonState(
DWORD dwIDCtl,
WINBOOL bChecked) = 0;
virtual HRESULT STDMETHODCALLTYPE AddControlItem(
DWORD dwIDCtl,
DWORD dwIDItem,
LPCWSTR pszLabel) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveControlItem(
DWORD dwIDCtl,
DWORD dwIDItem) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveAllControlItems(
DWORD dwIDCtl) = 0;
virtual HRESULT STDMETHODCALLTYPE GetControlItemState(
DWORD dwIDCtl,
DWORD dwIDItem,
CDCONTROLSTATEF *pdwState) = 0;
virtual HRESULT STDMETHODCALLTYPE SetControlItemState(
DWORD dwIDCtl,
DWORD dwIDItem,
CDCONTROLSTATEF dwState) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSelectedControlItem(
DWORD dwIDCtl,
DWORD *pdwIDItem) = 0;
virtual HRESULT STDMETHODCALLTYPE SetSelectedControlItem(
DWORD dwIDCtl,
DWORD dwIDItem) = 0;
virtual HRESULT STDMETHODCALLTYPE StartVisualGroup(
DWORD dwIDCtl,
LPCWSTR pszLabel) = 0;
virtual HRESULT STDMETHODCALLTYPE EndVisualGroup(
) = 0;
virtual HRESULT STDMETHODCALLTYPE MakeProminent(
DWORD dwIDCtl) = 0;
virtual HRESULT STDMETHODCALLTYPE SetControlItemText(
DWORD dwIDCtl,
DWORD dwIDItem,
LPCWSTR pszLabel) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IFileDialogCustomize, 0xe6fdd21a, 0x163f, 0x4975, 0x9c,0x8c, 0xa6,0x9f,0x1b,0xa3,0x70,0x34)
#endif
#else
typedef struct IFileDialogCustomizeVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IFileDialogCustomize *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IFileDialogCustomize *This);
ULONG (STDMETHODCALLTYPE *Release)(
IFileDialogCustomize *This);
/*** IFileDialogCustomize methods ***/
HRESULT (STDMETHODCALLTYPE *EnableOpenDropDown)(
IFileDialogCustomize *This,
DWORD dwIDCtl);
HRESULT (STDMETHODCALLTYPE *AddMenu)(
IFileDialogCustomize *This,
DWORD dwIDCtl,
LPCWSTR pszLabel);
HRESULT (STDMETHODCALLTYPE *AddPushButton)(
IFileDialogCustomize *This,
DWORD dwIDCtl,
LPCWSTR pszLabel);
HRESULT (STDMETHODCALLTYPE *AddComboBox)(
IFileDialogCustomize *This,
DWORD dwIDCtl);
HRESULT (STDMETHODCALLTYPE *AddRadioButtonList)(
IFileDialogCustomize *This,
DWORD dwIDCtl);
HRESULT (STDMETHODCALLTYPE *AddCheckButton)(
IFileDialogCustomize *This,
DWORD dwIDCtl,
LPCWSTR pszLabel,
WINBOOL bChecked);
HRESULT (STDMETHODCALLTYPE *AddEditBox)(
IFileDialogCustomize *This,
DWORD dwIDCtl,
LPCWSTR pszText);
HRESULT (STDMETHODCALLTYPE *AddSeparator)(
IFileDialogCustomize *This,
DWORD dwIDCtl);
HRESULT (STDMETHODCALLTYPE *AddText)(
IFileDialogCustomize *This,
DWORD dwIDCtl,
LPCWSTR pszText);
HRESULT (STDMETHODCALLTYPE *SetControlLabel)(
IFileDialogCustomize *This,
DWORD dwIDCtl,
LPCWSTR pszLabel);
HRESULT (STDMETHODCALLTYPE *GetControlState)(
IFileDialogCustomize *This,
DWORD dwIDCtl,
CDCONTROLSTATEF *pdwState);
HRESULT (STDMETHODCALLTYPE *SetControlState)(
IFileDialogCustomize *This,
DWORD dwIDCtl,
CDCONTROLSTATEF dwState);
HRESULT (STDMETHODCALLTYPE *GetEditBoxText)(
IFileDialogCustomize *This,
DWORD dwIDCtl,
WCHAR **ppszText);
HRESULT (STDMETHODCALLTYPE *SetEditBoxText)(
IFileDialogCustomize *This,
DWORD dwIDCtl,
LPCWSTR pszText);
HRESULT (STDMETHODCALLTYPE *GetCheckButtonState)(
IFileDialogCustomize *This,
DWORD dwIDCtl,
WINBOOL *pbChecked);
HRESULT (STDMETHODCALLTYPE *SetCheckButtonState)(
IFileDialogCustomize *This,
DWORD dwIDCtl,
WINBOOL bChecked);
HRESULT (STDMETHODCALLTYPE *AddControlItem)(
IFileDialogCustomize *This,
DWORD dwIDCtl,
DWORD dwIDItem,
LPCWSTR pszLabel);
HRESULT (STDMETHODCALLTYPE *RemoveControlItem)(
IFileDialogCustomize *This,
DWORD dwIDCtl,
DWORD dwIDItem);
HRESULT (STDMETHODCALLTYPE *RemoveAllControlItems)(
IFileDialogCustomize *This,
DWORD dwIDCtl);
HRESULT (STDMETHODCALLTYPE *GetControlItemState)(
IFileDialogCustomize *This,
DWORD dwIDCtl,
DWORD dwIDItem,
CDCONTROLSTATEF *pdwState);
HRESULT (STDMETHODCALLTYPE *SetControlItemState)(
IFileDialogCustomize *This,
DWORD dwIDCtl,
DWORD dwIDItem,
CDCONTROLSTATEF dwState);
HRESULT (STDMETHODCALLTYPE *GetSelectedControlItem)(
IFileDialogCustomize *This,
DWORD dwIDCtl,
DWORD *pdwIDItem);
HRESULT (STDMETHODCALLTYPE *SetSelectedControlItem)(
IFileDialogCustomize *This,
DWORD dwIDCtl,
DWORD dwIDItem);
HRESULT (STDMETHODCALLTYPE *StartVisualGroup)(
IFileDialogCustomize *This,
DWORD dwIDCtl,
LPCWSTR pszLabel);
HRESULT (STDMETHODCALLTYPE *EndVisualGroup)(
IFileDialogCustomize *This);
HRESULT (STDMETHODCALLTYPE *MakeProminent)(
IFileDialogCustomize *This,
DWORD dwIDCtl);
HRESULT (STDMETHODCALLTYPE *SetControlItemText)(
IFileDialogCustomize *This,
DWORD dwIDCtl,
DWORD dwIDItem,
LPCWSTR pszLabel);
END_INTERFACE
} IFileDialogCustomizeVtbl;
interface IFileDialogCustomize {
CONST_VTBL IFileDialogCustomizeVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IFileDialogCustomize_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IFileDialogCustomize_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IFileDialogCustomize_Release(This) (This)->lpVtbl->Release(This)
/*** IFileDialogCustomize methods ***/
#define IFileDialogCustomize_EnableOpenDropDown(This,dwIDCtl) (This)->lpVtbl->EnableOpenDropDown(This,dwIDCtl)
#define IFileDialogCustomize_AddMenu(This,dwIDCtl,pszLabel) (This)->lpVtbl->AddMenu(This,dwIDCtl,pszLabel)
#define IFileDialogCustomize_AddPushButton(This,dwIDCtl,pszLabel) (This)->lpVtbl->AddPushButton(This,dwIDCtl,pszLabel)
#define IFileDialogCustomize_AddComboBox(This,dwIDCtl) (This)->lpVtbl->AddComboBox(This,dwIDCtl)
#define IFileDialogCustomize_AddRadioButtonList(This,dwIDCtl) (This)->lpVtbl->AddRadioButtonList(This,dwIDCtl)
#define IFileDialogCustomize_AddCheckButton(This,dwIDCtl,pszLabel,bChecked) (This)->lpVtbl->AddCheckButton(This,dwIDCtl,pszLabel,bChecked)
#define IFileDialogCustomize_AddEditBox(This,dwIDCtl,pszText) (This)->lpVtbl->AddEditBox(This,dwIDCtl,pszText)
#define IFileDialogCustomize_AddSeparator(This,dwIDCtl) (This)->lpVtbl->AddSeparator(This,dwIDCtl)
#define IFileDialogCustomize_AddText(This,dwIDCtl,pszText) (This)->lpVtbl->AddText(This,dwIDCtl,pszText)
#define IFileDialogCustomize_SetControlLabel(This,dwIDCtl,pszLabel) (This)->lpVtbl->SetControlLabel(This,dwIDCtl,pszLabel)
#define IFileDialogCustomize_GetControlState(This,dwIDCtl,pdwState) (This)->lpVtbl->GetControlState(This,dwIDCtl,pdwState)
#define IFileDialogCustomize_SetControlState(This,dwIDCtl,dwState) (This)->lpVtbl->SetControlState(This,dwIDCtl,dwState)
#define IFileDialogCustomize_GetEditBoxText(This,dwIDCtl,ppszText) (This)->lpVtbl->GetEditBoxText(This,dwIDCtl,ppszText)
#define IFileDialogCustomize_SetEditBoxText(This,dwIDCtl,pszText) (This)->lpVtbl->SetEditBoxText(This,dwIDCtl,pszText)
#define IFileDialogCustomize_GetCheckButtonState(This,dwIDCtl,pbChecked) (This)->lpVtbl->GetCheckButtonState(This,dwIDCtl,pbChecked)
#define IFileDialogCustomize_SetCheckButtonState(This,dwIDCtl,bChecked) (This)->lpVtbl->SetCheckButtonState(This,dwIDCtl,bChecked)
#define IFileDialogCustomize_AddControlItem(This,dwIDCtl,dwIDItem,pszLabel) (This)->lpVtbl->AddControlItem(This,dwIDCtl,dwIDItem,pszLabel)
#define IFileDialogCustomize_RemoveControlItem(This,dwIDCtl,dwIDItem) (This)->lpVtbl->RemoveControlItem(This,dwIDCtl,dwIDItem)
#define IFileDialogCustomize_RemoveAllControlItems(This,dwIDCtl) (This)->lpVtbl->RemoveAllControlItems(This,dwIDCtl)
#define IFileDialogCustomize_GetControlItemState(This,dwIDCtl,dwIDItem,pdwState) (This)->lpVtbl->GetControlItemState(This,dwIDCtl,dwIDItem,pdwState)
#define IFileDialogCustomize_SetControlItemState(This,dwIDCtl,dwIDItem,dwState) (This)->lpVtbl->SetControlItemState(This,dwIDCtl,dwIDItem,dwState)
#define IFileDialogCustomize_GetSelectedControlItem(This,dwIDCtl,pdwIDItem) (This)->lpVtbl->GetSelectedControlItem(This,dwIDCtl,pdwIDItem)
#define IFileDialogCustomize_SetSelectedControlItem(This,dwIDCtl,dwIDItem) (This)->lpVtbl->SetSelectedControlItem(This,dwIDCtl,dwIDItem)
#define IFileDialogCustomize_StartVisualGroup(This,dwIDCtl,pszLabel) (This)->lpVtbl->StartVisualGroup(This,dwIDCtl,pszLabel)
#define IFileDialogCustomize_EndVisualGroup(This) (This)->lpVtbl->EndVisualGroup(This)
#define IFileDialogCustomize_MakeProminent(This,dwIDCtl) (This)->lpVtbl->MakeProminent(This,dwIDCtl)
#define IFileDialogCustomize_SetControlItemText(This,dwIDCtl,dwIDItem,pszLabel) (This)->lpVtbl->SetControlItemText(This,dwIDCtl,dwIDItem,pszLabel)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IFileDialogCustomize_QueryInterface(IFileDialogCustomize* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IFileDialogCustomize_AddRef(IFileDialogCustomize* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IFileDialogCustomize_Release(IFileDialogCustomize* This) {
return This->lpVtbl->Release(This);
}
/*** IFileDialogCustomize methods ***/
static FORCEINLINE HRESULT IFileDialogCustomize_EnableOpenDropDown(IFileDialogCustomize* This,DWORD dwIDCtl) {
return This->lpVtbl->EnableOpenDropDown(This,dwIDCtl);
}
static FORCEINLINE HRESULT IFileDialogCustomize_AddMenu(IFileDialogCustomize* This,DWORD dwIDCtl,LPCWSTR pszLabel) {
return This->lpVtbl->AddMenu(This,dwIDCtl,pszLabel);
}
static FORCEINLINE HRESULT IFileDialogCustomize_AddPushButton(IFileDialogCustomize* This,DWORD dwIDCtl,LPCWSTR pszLabel) {
return This->lpVtbl->AddPushButton(This,dwIDCtl,pszLabel);
}
static FORCEINLINE HRESULT IFileDialogCustomize_AddComboBox(IFileDialogCustomize* This,DWORD dwIDCtl) {
return This->lpVtbl->AddComboBox(This,dwIDCtl);
}
static FORCEINLINE HRESULT IFileDialogCustomize_AddRadioButtonList(IFileDialogCustomize* This,DWORD dwIDCtl) {
return This->lpVtbl->AddRadioButtonList(This,dwIDCtl);
}
static FORCEINLINE HRESULT IFileDialogCustomize_AddCheckButton(IFileDialogCustomize* This,DWORD dwIDCtl,LPCWSTR pszLabel,WINBOOL bChecked) {
return This->lpVtbl->AddCheckButton(This,dwIDCtl,pszLabel,bChecked);
}
static FORCEINLINE HRESULT IFileDialogCustomize_AddEditBox(IFileDialogCustomize* This,DWORD dwIDCtl,LPCWSTR pszText) {
return This->lpVtbl->AddEditBox(This,dwIDCtl,pszText);
}
static FORCEINLINE HRESULT IFileDialogCustomize_AddSeparator(IFileDialogCustomize* This,DWORD dwIDCtl) {
return This->lpVtbl->AddSeparator(This,dwIDCtl);
}
static FORCEINLINE HRESULT IFileDialogCustomize_AddText(IFileDialogCustomize* This,DWORD dwIDCtl,LPCWSTR pszText) {
return This->lpVtbl->AddText(This,dwIDCtl,pszText);
}
static FORCEINLINE HRESULT IFileDialogCustomize_SetControlLabel(IFileDialogCustomize* This,DWORD dwIDCtl,LPCWSTR pszLabel) {
return This->lpVtbl->SetControlLabel(This,dwIDCtl,pszLabel);
}
static FORCEINLINE HRESULT IFileDialogCustomize_GetControlState(IFileDialogCustomize* This,DWORD dwIDCtl,CDCONTROLSTATEF *pdwState) {
return This->lpVtbl->GetControlState(This,dwIDCtl,pdwState);
}
static FORCEINLINE HRESULT IFileDialogCustomize_SetControlState(IFileDialogCustomize* This,DWORD dwIDCtl,CDCONTROLSTATEF dwState) {
return This->lpVtbl->SetControlState(This,dwIDCtl,dwState);
}
static FORCEINLINE HRESULT IFileDialogCustomize_GetEditBoxText(IFileDialogCustomize* This,DWORD dwIDCtl,WCHAR **ppszText) {
return This->lpVtbl->GetEditBoxText(This,dwIDCtl,ppszText);
}
static FORCEINLINE HRESULT IFileDialogCustomize_SetEditBoxText(IFileDialogCustomize* This,DWORD dwIDCtl,LPCWSTR pszText) {
return This->lpVtbl->SetEditBoxText(This,dwIDCtl,pszText);
}
static FORCEINLINE HRESULT IFileDialogCustomize_GetCheckButtonState(IFileDialogCustomize* This,DWORD dwIDCtl,WINBOOL *pbChecked) {
return This->lpVtbl->GetCheckButtonState(This,dwIDCtl,pbChecked);
}
static FORCEINLINE HRESULT IFileDialogCustomize_SetCheckButtonState(IFileDialogCustomize* This,DWORD dwIDCtl,WINBOOL bChecked) {
return This->lpVtbl->SetCheckButtonState(This,dwIDCtl,bChecked);
}
static FORCEINLINE HRESULT IFileDialogCustomize_AddControlItem(IFileDialogCustomize* This,DWORD dwIDCtl,DWORD dwIDItem,LPCWSTR pszLabel) {
return This->lpVtbl->AddControlItem(This,dwIDCtl,dwIDItem,pszLabel);
}
static FORCEINLINE HRESULT IFileDialogCustomize_RemoveControlItem(IFileDialogCustomize* This,DWORD dwIDCtl,DWORD dwIDItem) {
return This->lpVtbl->RemoveControlItem(This,dwIDCtl,dwIDItem);
}
static FORCEINLINE HRESULT IFileDialogCustomize_RemoveAllControlItems(IFileDialogCustomize* This,DWORD dwIDCtl) {
return This->lpVtbl->RemoveAllControlItems(This,dwIDCtl);
}
static FORCEINLINE HRESULT IFileDialogCustomize_GetControlItemState(IFileDialogCustomize* This,DWORD dwIDCtl,DWORD dwIDItem,CDCONTROLSTATEF *pdwState) {
return This->lpVtbl->GetControlItemState(This,dwIDCtl,dwIDItem,pdwState);
}
static FORCEINLINE HRESULT IFileDialogCustomize_SetControlItemState(IFileDialogCustomize* This,DWORD dwIDCtl,DWORD dwIDItem,CDCONTROLSTATEF dwState) {
return This->lpVtbl->SetControlItemState(This,dwIDCtl,dwIDItem,dwState);
}
static FORCEINLINE HRESULT IFileDialogCustomize_GetSelectedControlItem(IFileDialogCustomize* This,DWORD dwIDCtl,DWORD *pdwIDItem) {
return This->lpVtbl->GetSelectedControlItem(This,dwIDCtl,pdwIDItem);
}
static FORCEINLINE HRESULT IFileDialogCustomize_SetSelectedControlItem(IFileDialogCustomize* This,DWORD dwIDCtl,DWORD dwIDItem) {
return This->lpVtbl->SetSelectedControlItem(This,dwIDCtl,dwIDItem);
}
static FORCEINLINE HRESULT IFileDialogCustomize_StartVisualGroup(IFileDialogCustomize* This,DWORD dwIDCtl,LPCWSTR pszLabel) {
return This->lpVtbl->StartVisualGroup(This,dwIDCtl,pszLabel);
}
static FORCEINLINE HRESULT IFileDialogCustomize_EndVisualGroup(IFileDialogCustomize* This) {
return This->lpVtbl->EndVisualGroup(This);
}
static FORCEINLINE HRESULT IFileDialogCustomize_MakeProminent(IFileDialogCustomize* This,DWORD dwIDCtl) {
return This->lpVtbl->MakeProminent(This,dwIDCtl);
}
static FORCEINLINE HRESULT IFileDialogCustomize_SetControlItemText(IFileDialogCustomize* This,DWORD dwIDCtl,DWORD dwIDItem,LPCWSTR pszLabel) {
return This->lpVtbl->SetControlItemText(This,dwIDCtl,dwIDItem,pszLabel);
}
#endif
#endif
#endif
#endif /* __IFileDialogCustomize_INTERFACE_DEFINED__ */
/*****************************************************************************
* IFileDialogControlEvents interface
*/
#ifndef __IFileDialogControlEvents_INTERFACE_DEFINED__
#define __IFileDialogControlEvents_INTERFACE_DEFINED__
DEFINE_GUID(IID_IFileDialogControlEvents, 0x36116642, 0xd713, 0x4b97, 0x9b,0x83, 0x74,0x84,0xa9,0xd0,0x04,0x33);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("36116642-d713-4b97-9b83-7484a9d00433")
IFileDialogControlEvents : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE OnItemSelected(
IFileDialogCustomize *pfdc,
DWORD dwIDCtl,
DWORD dwIDItem) = 0;
virtual HRESULT STDMETHODCALLTYPE OnButtonClicked(
IFileDialogCustomize *pfdc,
DWORD dwIDCtl) = 0;
virtual HRESULT STDMETHODCALLTYPE OnCheckButtonToggled(
IFileDialogCustomize *pfdc,
DWORD dwIDCtl,
WINBOOL bChecked) = 0;
virtual HRESULT STDMETHODCALLTYPE OnControlActivating(
IFileDialogCustomize *pfdc,
DWORD dwIDCtl) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IFileDialogControlEvents, 0x36116642, 0xd713, 0x4b97, 0x9b,0x83, 0x74,0x84,0xa9,0xd0,0x04,0x33)
#endif
#else
typedef struct IFileDialogControlEventsVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IFileDialogControlEvents *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IFileDialogControlEvents *This);
ULONG (STDMETHODCALLTYPE *Release)(
IFileDialogControlEvents *This);
/*** IFileDialogControlEvents methods ***/
HRESULT (STDMETHODCALLTYPE *OnItemSelected)(
IFileDialogControlEvents *This,
IFileDialogCustomize *pfdc,
DWORD dwIDCtl,
DWORD dwIDItem);
HRESULT (STDMETHODCALLTYPE *OnButtonClicked)(
IFileDialogControlEvents *This,
IFileDialogCustomize *pfdc,
DWORD dwIDCtl);
HRESULT (STDMETHODCALLTYPE *OnCheckButtonToggled)(
IFileDialogControlEvents *This,
IFileDialogCustomize *pfdc,
DWORD dwIDCtl,
WINBOOL bChecked);
HRESULT (STDMETHODCALLTYPE *OnControlActivating)(
IFileDialogControlEvents *This,
IFileDialogCustomize *pfdc,
DWORD dwIDCtl);
END_INTERFACE
} IFileDialogControlEventsVtbl;
interface IFileDialogControlEvents {
CONST_VTBL IFileDialogControlEventsVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IFileDialogControlEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IFileDialogControlEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IFileDialogControlEvents_Release(This) (This)->lpVtbl->Release(This)
/*** IFileDialogControlEvents methods ***/
#define IFileDialogControlEvents_OnItemSelected(This,pfdc,dwIDCtl,dwIDItem) (This)->lpVtbl->OnItemSelected(This,pfdc,dwIDCtl,dwIDItem)
#define IFileDialogControlEvents_OnButtonClicked(This,pfdc,dwIDCtl) (This)->lpVtbl->OnButtonClicked(This,pfdc,dwIDCtl)
#define IFileDialogControlEvents_OnCheckButtonToggled(This,pfdc,dwIDCtl,bChecked) (This)->lpVtbl->OnCheckButtonToggled(This,pfdc,dwIDCtl,bChecked)
#define IFileDialogControlEvents_OnControlActivating(This,pfdc,dwIDCtl) (This)->lpVtbl->OnControlActivating(This,pfdc,dwIDCtl)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IFileDialogControlEvents_QueryInterface(IFileDialogControlEvents* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IFileDialogControlEvents_AddRef(IFileDialogControlEvents* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IFileDialogControlEvents_Release(IFileDialogControlEvents* This) {
return This->lpVtbl->Release(This);
}
/*** IFileDialogControlEvents methods ***/
static FORCEINLINE HRESULT IFileDialogControlEvents_OnItemSelected(IFileDialogControlEvents* This,IFileDialogCustomize *pfdc,DWORD dwIDCtl,DWORD dwIDItem) {
return This->lpVtbl->OnItemSelected(This,pfdc,dwIDCtl,dwIDItem);
}
static FORCEINLINE HRESULT IFileDialogControlEvents_OnButtonClicked(IFileDialogControlEvents* This,IFileDialogCustomize *pfdc,DWORD dwIDCtl) {
return This->lpVtbl->OnButtonClicked(This,pfdc,dwIDCtl);
}
static FORCEINLINE HRESULT IFileDialogControlEvents_OnCheckButtonToggled(IFileDialogControlEvents* This,IFileDialogCustomize *pfdc,DWORD dwIDCtl,WINBOOL bChecked) {
return This->lpVtbl->OnCheckButtonToggled(This,pfdc,dwIDCtl,bChecked);
}
static FORCEINLINE HRESULT IFileDialogControlEvents_OnControlActivating(IFileDialogControlEvents* This,IFileDialogCustomize *pfdc,DWORD dwIDCtl) {
return This->lpVtbl->OnControlActivating(This,pfdc,dwIDCtl);
}
#endif
#endif
#endif
#endif /* __IFileDialogControlEvents_INTERFACE_DEFINED__ */
/*****************************************************************************
* IFileDialog2 interface
*/
#ifndef __IFileDialog2_INTERFACE_DEFINED__
#define __IFileDialog2_INTERFACE_DEFINED__
DEFINE_GUID(IID_IFileDialog2, 0x61744fc7, 0x85b5, 0x4791, 0xa9,0xb0, 0x27,0x22,0x76,0x30,0x9b,0x13);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("61744fc7-85b5-4791-a9b0-272276309b13")
IFileDialog2 : public IFileDialog
{
virtual HRESULT STDMETHODCALLTYPE SetCancelButtonLabel(
LPCWSTR pszLabel) = 0;
virtual HRESULT STDMETHODCALLTYPE SetNavigationRoot(
IShellItem *psi) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IFileDialog2, 0x61744fc7, 0x85b5, 0x4791, 0xa9,0xb0, 0x27,0x22,0x76,0x30,0x9b,0x13)
#endif
#else
typedef struct IFileDialog2Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IFileDialog2 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IFileDialog2 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IFileDialog2 *This);
/*** IModalWindow methods ***/
HRESULT (STDMETHODCALLTYPE *Show)(
IFileDialog2 *This,
HWND hwndOwner);
/*** IFileDialog methods ***/
HRESULT (STDMETHODCALLTYPE *SetFileTypes)(
IFileDialog2 *This,
UINT cFileTypes,
const COMDLG_FILTERSPEC *rgFilterSpec);
HRESULT (STDMETHODCALLTYPE *SetFileTypeIndex)(
IFileDialog2 *This,
UINT iFileType);
HRESULT (STDMETHODCALLTYPE *GetFileTypeIndex)(
IFileDialog2 *This,
UINT *piFileType);
HRESULT (STDMETHODCALLTYPE *Advise)(
IFileDialog2 *This,
IFileDialogEvents *pfde,
DWORD *pdwCookie);
HRESULT (STDMETHODCALLTYPE *Unadvise)(
IFileDialog2 *This,
DWORD dwCookie);
HRESULT (STDMETHODCALLTYPE *SetOptions)(
IFileDialog2 *This,
FILEOPENDIALOGOPTIONS fos);
HRESULT (STDMETHODCALLTYPE *GetOptions)(
IFileDialog2 *This,
FILEOPENDIALOGOPTIONS *pfos);
HRESULT (STDMETHODCALLTYPE *SetDefaultFolder)(
IFileDialog2 *This,
IShellItem *psi);
HRESULT (STDMETHODCALLTYPE *SetFolder)(
IFileDialog2 *This,
IShellItem *psi);
HRESULT (STDMETHODCALLTYPE *GetFolder)(
IFileDialog2 *This,
IShellItem **ppsi);
HRESULT (STDMETHODCALLTYPE *GetCurrentSelection)(
IFileDialog2 *This,
IShellItem **ppsi);
HRESULT (STDMETHODCALLTYPE *SetFileName)(
IFileDialog2 *This,
LPCWSTR pszName);
HRESULT (STDMETHODCALLTYPE *GetFileName)(
IFileDialog2 *This,
LPWSTR *pszName);
HRESULT (STDMETHODCALLTYPE *SetTitle)(
IFileDialog2 *This,
LPCWSTR pszTitle);
HRESULT (STDMETHODCALLTYPE *SetOkButtonLabel)(
IFileDialog2 *This,
LPCWSTR pszText);
HRESULT (STDMETHODCALLTYPE *SetFileNameLabel)(
IFileDialog2 *This,
LPCWSTR pszLabel);
HRESULT (STDMETHODCALLTYPE *GetResult)(
IFileDialog2 *This,
IShellItem **ppsi);
HRESULT (STDMETHODCALLTYPE *AddPlace)(
IFileDialog2 *This,
IShellItem *psi,
FDAP fdap);
HRESULT (STDMETHODCALLTYPE *SetDefaultExtension)(
IFileDialog2 *This,
LPCWSTR pszDefaultExtension);
HRESULT (STDMETHODCALLTYPE *Close)(
IFileDialog2 *This,
HRESULT hr);
HRESULT (STDMETHODCALLTYPE *SetClientGuid)(
IFileDialog2 *This,
REFGUID guid);
HRESULT (STDMETHODCALLTYPE *ClearClientData)(
IFileDialog2 *This);
HRESULT (STDMETHODCALLTYPE *SetFilter)(
IFileDialog2 *This,
IShellItemFilter *pFilter);
/*** IFileDialog2 methods ***/
HRESULT (STDMETHODCALLTYPE *SetCancelButtonLabel)(
IFileDialog2 *This,
LPCWSTR pszLabel);
HRESULT (STDMETHODCALLTYPE *SetNavigationRoot)(
IFileDialog2 *This,
IShellItem *psi);
END_INTERFACE
} IFileDialog2Vtbl;
interface IFileDialog2 {
CONST_VTBL IFileDialog2Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IFileDialog2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IFileDialog2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IFileDialog2_Release(This) (This)->lpVtbl->Release(This)
/*** IModalWindow methods ***/
#define IFileDialog2_Show(This,hwndOwner) (This)->lpVtbl->Show(This,hwndOwner)
/*** IFileDialog methods ***/
#define IFileDialog2_SetFileTypes(This,cFileTypes,rgFilterSpec) (This)->lpVtbl->SetFileTypes(This,cFileTypes,rgFilterSpec)
#define IFileDialog2_SetFileTypeIndex(This,iFileType) (This)->lpVtbl->SetFileTypeIndex(This,iFileType)
#define IFileDialog2_GetFileTypeIndex(This,piFileType) (This)->lpVtbl->GetFileTypeIndex(This,piFileType)
#define IFileDialog2_Advise(This,pfde,pdwCookie) (This)->lpVtbl->Advise(This,pfde,pdwCookie)
#define IFileDialog2_Unadvise(This,dwCookie) (This)->lpVtbl->Unadvise(This,dwCookie)
#define IFileDialog2_SetOptions(This,fos) (This)->lpVtbl->SetOptions(This,fos)
#define IFileDialog2_GetOptions(This,pfos) (This)->lpVtbl->GetOptions(This,pfos)
#define IFileDialog2_SetDefaultFolder(This,psi) (This)->lpVtbl->SetDefaultFolder(This,psi)
#define IFileDialog2_SetFolder(This,psi) (This)->lpVtbl->SetFolder(This,psi)
#define IFileDialog2_GetFolder(This,ppsi) (This)->lpVtbl->GetFolder(This,ppsi)
#define IFileDialog2_GetCurrentSelection(This,ppsi) (This)->lpVtbl->GetCurrentSelection(This,ppsi)
#define IFileDialog2_SetFileName(This,pszName) (This)->lpVtbl->SetFileName(This,pszName)
#define IFileDialog2_GetFileName(This,pszName) (This)->lpVtbl->GetFileName(This,pszName)
#define IFileDialog2_SetTitle(This,pszTitle) (This)->lpVtbl->SetTitle(This,pszTitle)
#define IFileDialog2_SetOkButtonLabel(This,pszText) (This)->lpVtbl->SetOkButtonLabel(This,pszText)
#define IFileDialog2_SetFileNameLabel(This,pszLabel) (This)->lpVtbl->SetFileNameLabel(This,pszLabel)
#define IFileDialog2_GetResult(This,ppsi) (This)->lpVtbl->GetResult(This,ppsi)
#define IFileDialog2_AddPlace(This,psi,fdap) (This)->lpVtbl->AddPlace(This,psi,fdap)
#define IFileDialog2_SetDefaultExtension(This,pszDefaultExtension) (This)->lpVtbl->SetDefaultExtension(This,pszDefaultExtension)
#define IFileDialog2_Close(This,hr) (This)->lpVtbl->Close(This,hr)
#define IFileDialog2_SetClientGuid(This,guid) (This)->lpVtbl->SetClientGuid(This,guid)
#define IFileDialog2_ClearClientData(This) (This)->lpVtbl->ClearClientData(This)
#define IFileDialog2_SetFilter(This,pFilter) (This)->lpVtbl->SetFilter(This,pFilter)
/*** IFileDialog2 methods ***/
#define IFileDialog2_SetCancelButtonLabel(This,pszLabel) (This)->lpVtbl->SetCancelButtonLabel(This,pszLabel)
#define IFileDialog2_SetNavigationRoot(This,psi) (This)->lpVtbl->SetNavigationRoot(This,psi)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IFileDialog2_QueryInterface(IFileDialog2* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IFileDialog2_AddRef(IFileDialog2* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IFileDialog2_Release(IFileDialog2* This) {
return This->lpVtbl->Release(This);
}
/*** IModalWindow methods ***/
static FORCEINLINE HRESULT IFileDialog2_Show(IFileDialog2* This,HWND hwndOwner) {
return This->lpVtbl->Show(This,hwndOwner);
}
/*** IFileDialog methods ***/
static FORCEINLINE HRESULT IFileDialog2_SetFileTypes(IFileDialog2* This,UINT cFileTypes,const COMDLG_FILTERSPEC *rgFilterSpec) {
return This->lpVtbl->SetFileTypes(This,cFileTypes,rgFilterSpec);
}
static FORCEINLINE HRESULT IFileDialog2_SetFileTypeIndex(IFileDialog2* This,UINT iFileType) {
return This->lpVtbl->SetFileTypeIndex(This,iFileType);
}
static FORCEINLINE HRESULT IFileDialog2_GetFileTypeIndex(IFileDialog2* This,UINT *piFileType) {
return This->lpVtbl->GetFileTypeIndex(This,piFileType);
}
static FORCEINLINE HRESULT IFileDialog2_Advise(IFileDialog2* This,IFileDialogEvents *pfde,DWORD *pdwCookie) {
return This->lpVtbl->Advise(This,pfde,pdwCookie);
}
static FORCEINLINE HRESULT IFileDialog2_Unadvise(IFileDialog2* This,DWORD dwCookie) {
return This->lpVtbl->Unadvise(This,dwCookie);
}
static FORCEINLINE HRESULT IFileDialog2_SetOptions(IFileDialog2* This,FILEOPENDIALOGOPTIONS fos) {
return This->lpVtbl->SetOptions(This,fos);
}
static FORCEINLINE HRESULT IFileDialog2_GetOptions(IFileDialog2* This,FILEOPENDIALOGOPTIONS *pfos) {
return This->lpVtbl->GetOptions(This,pfos);
}
static FORCEINLINE HRESULT IFileDialog2_SetDefaultFolder(IFileDialog2* This,IShellItem *psi) {
return This->lpVtbl->SetDefaultFolder(This,psi);
}
static FORCEINLINE HRESULT IFileDialog2_SetFolder(IFileDialog2* This,IShellItem *psi) {
return This->lpVtbl->SetFolder(This,psi);
}
static FORCEINLINE HRESULT IFileDialog2_GetFolder(IFileDialog2* This,IShellItem **ppsi) {
return This->lpVtbl->GetFolder(This,ppsi);
}
static FORCEINLINE HRESULT IFileDialog2_GetCurrentSelection(IFileDialog2* This,IShellItem **ppsi) {
return This->lpVtbl->GetCurrentSelection(This,ppsi);
}
static FORCEINLINE HRESULT IFileDialog2_SetFileName(IFileDialog2* This,LPCWSTR pszName) {
return This->lpVtbl->SetFileName(This,pszName);
}
static FORCEINLINE HRESULT IFileDialog2_GetFileName(IFileDialog2* This,LPWSTR *pszName) {
return This->lpVtbl->GetFileName(This,pszName);
}
static FORCEINLINE HRESULT IFileDialog2_SetTitle(IFileDialog2* This,LPCWSTR pszTitle) {
return This->lpVtbl->SetTitle(This,pszTitle);
}
static FORCEINLINE HRESULT IFileDialog2_SetOkButtonLabel(IFileDialog2* This,LPCWSTR pszText) {
return This->lpVtbl->SetOkButtonLabel(This,pszText);
}
static FORCEINLINE HRESULT IFileDialog2_SetFileNameLabel(IFileDialog2* This,LPCWSTR pszLabel) {
return This->lpVtbl->SetFileNameLabel(This,pszLabel);
}
static FORCEINLINE HRESULT IFileDialog2_GetResult(IFileDialog2* This,IShellItem **ppsi) {
return This->lpVtbl->GetResult(This,ppsi);
}
static FORCEINLINE HRESULT IFileDialog2_AddPlace(IFileDialog2* This,IShellItem *psi,FDAP fdap) {
return This->lpVtbl->AddPlace(This,psi,fdap);
}
static FORCEINLINE HRESULT IFileDialog2_SetDefaultExtension(IFileDialog2* This,LPCWSTR pszDefaultExtension) {
return This->lpVtbl->SetDefaultExtension(This,pszDefaultExtension);
}
static FORCEINLINE HRESULT IFileDialog2_Close(IFileDialog2* This,HRESULT hr) {
return This->lpVtbl->Close(This,hr);
}
static FORCEINLINE HRESULT IFileDialog2_SetClientGuid(IFileDialog2* This,REFGUID guid) {
return This->lpVtbl->SetClientGuid(This,guid);
}
static FORCEINLINE HRESULT IFileDialog2_ClearClientData(IFileDialog2* This) {
return This->lpVtbl->ClearClientData(This);
}
static FORCEINLINE HRESULT IFileDialog2_SetFilter(IFileDialog2* This,IShellItemFilter *pFilter) {
return This->lpVtbl->SetFilter(This,pFilter);
}
/*** IFileDialog2 methods ***/
static FORCEINLINE HRESULT IFileDialog2_SetCancelButtonLabel(IFileDialog2* This,LPCWSTR pszLabel) {
return This->lpVtbl->SetCancelButtonLabel(This,pszLabel);
}
static FORCEINLINE HRESULT IFileDialog2_SetNavigationRoot(IFileDialog2* This,IShellItem *psi) {
return This->lpVtbl->SetNavigationRoot(This,psi);
}
#endif
#endif
#endif
#endif /* __IFileDialog2_INTERFACE_DEFINED__ */
typedef enum ASSOCIATIONLEVEL {
AL_MACHINE = 0,
AL_EFFECTIVE = 1,
AL_USER = 2
} ASSOCIATIONLEVEL;
typedef enum ASSOCIATIONTYPE {
AT_FILEEXTENSION = 0,
AT_URLPROTOCOL = 1,
AT_STARTMENUCLIENT = 2,
AT_MIMETYPE = 3
} ASSOCIATIONTYPE;
/*****************************************************************************
* IApplicationAssociationRegistration interface
*/
#ifndef __IApplicationAssociationRegistration_INTERFACE_DEFINED__
#define __IApplicationAssociationRegistration_INTERFACE_DEFINED__
DEFINE_GUID(IID_IApplicationAssociationRegistration, 0x4e530b0a, 0xe611, 0x4c77, 0xa3,0xac, 0x90,0x31,0xd0,0x22,0x28,0x1b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("4e530b0a-e611-4c77-a3ac-9031d022281b")
IApplicationAssociationRegistration : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE QueryCurrentDefault(
LPCWSTR pszQuery,
ASSOCIATIONTYPE atQueryType,
ASSOCIATIONLEVEL alQueryLevel,
LPWSTR *ppszAssociation) = 0;
virtual HRESULT STDMETHODCALLTYPE QueryAppIsDefault(
LPCWSTR pszQuery,
ASSOCIATIONTYPE atQueryType,
ASSOCIATIONLEVEL alQueryLevel,
LPCWSTR pszAppRegistryName,
WINBOOL *pfDefault) = 0;
virtual HRESULT STDMETHODCALLTYPE QueryAppIsDefaultAll(
ASSOCIATIONLEVEL alQueryLevel,
LPCWSTR pszAppRegistryName,
WINBOOL *pfDefault) = 0;
virtual HRESULT STDMETHODCALLTYPE SetAppAsDefault(
LPCWSTR pszAppRegistryName,
LPCWSTR pszSet,
ASSOCIATIONTYPE atSetType) = 0;
virtual HRESULT STDMETHODCALLTYPE SetAppAsDefaultAll(
LPCWSTR pszAppRegistryName) = 0;
virtual HRESULT STDMETHODCALLTYPE ClearUserAssociations(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IApplicationAssociationRegistration, 0x4e530b0a, 0xe611, 0x4c77, 0xa3,0xac, 0x90,0x31,0xd0,0x22,0x28,0x1b)
#endif
#else
typedef struct IApplicationAssociationRegistrationVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IApplicationAssociationRegistration *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IApplicationAssociationRegistration *This);
ULONG (STDMETHODCALLTYPE *Release)(
IApplicationAssociationRegistration *This);
/*** IApplicationAssociationRegistration methods ***/
HRESULT (STDMETHODCALLTYPE *QueryCurrentDefault)(
IApplicationAssociationRegistration *This,
LPCWSTR pszQuery,
ASSOCIATIONTYPE atQueryType,
ASSOCIATIONLEVEL alQueryLevel,
LPWSTR *ppszAssociation);
HRESULT (STDMETHODCALLTYPE *QueryAppIsDefault)(
IApplicationAssociationRegistration *This,
LPCWSTR pszQuery,
ASSOCIATIONTYPE atQueryType,
ASSOCIATIONLEVEL alQueryLevel,
LPCWSTR pszAppRegistryName,
WINBOOL *pfDefault);
HRESULT (STDMETHODCALLTYPE *QueryAppIsDefaultAll)(
IApplicationAssociationRegistration *This,
ASSOCIATIONLEVEL alQueryLevel,
LPCWSTR pszAppRegistryName,
WINBOOL *pfDefault);
HRESULT (STDMETHODCALLTYPE *SetAppAsDefault)(
IApplicationAssociationRegistration *This,
LPCWSTR pszAppRegistryName,
LPCWSTR pszSet,
ASSOCIATIONTYPE atSetType);
HRESULT (STDMETHODCALLTYPE *SetAppAsDefaultAll)(
IApplicationAssociationRegistration *This,
LPCWSTR pszAppRegistryName);
HRESULT (STDMETHODCALLTYPE *ClearUserAssociations)(
IApplicationAssociationRegistration *This);
END_INTERFACE
} IApplicationAssociationRegistrationVtbl;
interface IApplicationAssociationRegistration {
CONST_VTBL IApplicationAssociationRegistrationVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IApplicationAssociationRegistration_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IApplicationAssociationRegistration_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IApplicationAssociationRegistration_Release(This) (This)->lpVtbl->Release(This)
/*** IApplicationAssociationRegistration methods ***/
#define IApplicationAssociationRegistration_QueryCurrentDefault(This,pszQuery,atQueryType,alQueryLevel,ppszAssociation) (This)->lpVtbl->QueryCurrentDefault(This,pszQuery,atQueryType,alQueryLevel,ppszAssociation)
#define IApplicationAssociationRegistration_QueryAppIsDefault(This,pszQuery,atQueryType,alQueryLevel,pszAppRegistryName,pfDefault) (This)->lpVtbl->QueryAppIsDefault(This,pszQuery,atQueryType,alQueryLevel,pszAppRegistryName,pfDefault)
#define IApplicationAssociationRegistration_QueryAppIsDefaultAll(This,alQueryLevel,pszAppRegistryName,pfDefault) (This)->lpVtbl->QueryAppIsDefaultAll(This,alQueryLevel,pszAppRegistryName,pfDefault)
#define IApplicationAssociationRegistration_SetAppAsDefault(This,pszAppRegistryName,pszSet,atSetType) (This)->lpVtbl->SetAppAsDefault(This,pszAppRegistryName,pszSet,atSetType)
#define IApplicationAssociationRegistration_SetAppAsDefaultAll(This,pszAppRegistryName) (This)->lpVtbl->SetAppAsDefaultAll(This,pszAppRegistryName)
#define IApplicationAssociationRegistration_ClearUserAssociations(This) (This)->lpVtbl->ClearUserAssociations(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IApplicationAssociationRegistration_QueryInterface(IApplicationAssociationRegistration* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IApplicationAssociationRegistration_AddRef(IApplicationAssociationRegistration* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IApplicationAssociationRegistration_Release(IApplicationAssociationRegistration* This) {
return This->lpVtbl->Release(This);
}
/*** IApplicationAssociationRegistration methods ***/
static FORCEINLINE HRESULT IApplicationAssociationRegistration_QueryCurrentDefault(IApplicationAssociationRegistration* This,LPCWSTR pszQuery,ASSOCIATIONTYPE atQueryType,ASSOCIATIONLEVEL alQueryLevel,LPWSTR *ppszAssociation) {
return This->lpVtbl->QueryCurrentDefault(This,pszQuery,atQueryType,alQueryLevel,ppszAssociation);
}
static FORCEINLINE HRESULT IApplicationAssociationRegistration_QueryAppIsDefault(IApplicationAssociationRegistration* This,LPCWSTR pszQuery,ASSOCIATIONTYPE atQueryType,ASSOCIATIONLEVEL alQueryLevel,LPCWSTR pszAppRegistryName,WINBOOL *pfDefault) {
return This->lpVtbl->QueryAppIsDefault(This,pszQuery,atQueryType,alQueryLevel,pszAppRegistryName,pfDefault);
}
static FORCEINLINE HRESULT IApplicationAssociationRegistration_QueryAppIsDefaultAll(IApplicationAssociationRegistration* This,ASSOCIATIONLEVEL alQueryLevel,LPCWSTR pszAppRegistryName,WINBOOL *pfDefault) {
return This->lpVtbl->QueryAppIsDefaultAll(This,alQueryLevel,pszAppRegistryName,pfDefault);
}
static FORCEINLINE HRESULT IApplicationAssociationRegistration_SetAppAsDefault(IApplicationAssociationRegistration* This,LPCWSTR pszAppRegistryName,LPCWSTR pszSet,ASSOCIATIONTYPE atSetType) {
return This->lpVtbl->SetAppAsDefault(This,pszAppRegistryName,pszSet,atSetType);
}
static FORCEINLINE HRESULT IApplicationAssociationRegistration_SetAppAsDefaultAll(IApplicationAssociationRegistration* This,LPCWSTR pszAppRegistryName) {
return This->lpVtbl->SetAppAsDefaultAll(This,pszAppRegistryName);
}
static FORCEINLINE HRESULT IApplicationAssociationRegistration_ClearUserAssociations(IApplicationAssociationRegistration* This) {
return This->lpVtbl->ClearUserAssociations(This);
}
#endif
#endif
#endif
#endif /* __IApplicationAssociationRegistration_INTERFACE_DEFINED__ */
SHSTDAPI SHCreateAssociationRegistration(REFIID riid, void **ppv);
/*****************************************************************************
* IApplicationAssociationRegistrationUI interface
*/
#ifndef __IApplicationAssociationRegistrationUI_INTERFACE_DEFINED__
#define __IApplicationAssociationRegistrationUI_INTERFACE_DEFINED__
DEFINE_GUID(IID_IApplicationAssociationRegistrationUI, 0x1f76a169, 0xf994, 0x40ac, 0x8f,0xc8, 0x09,0x59,0xe8,0x87,0x47,0x10);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("1f76a169-f994-40ac-8fc8-0959e8874710")
IApplicationAssociationRegistrationUI : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE LaunchAdvancedAssociationUI(
LPCWSTR pszAppRegistryName) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IApplicationAssociationRegistrationUI, 0x1f76a169, 0xf994, 0x40ac, 0x8f,0xc8, 0x09,0x59,0xe8,0x87,0x47,0x10)
#endif
#else
typedef struct IApplicationAssociationRegistrationUIVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IApplicationAssociationRegistrationUI *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IApplicationAssociationRegistrationUI *This);
ULONG (STDMETHODCALLTYPE *Release)(
IApplicationAssociationRegistrationUI *This);
/*** IApplicationAssociationRegistrationUI methods ***/
HRESULT (STDMETHODCALLTYPE *LaunchAdvancedAssociationUI)(
IApplicationAssociationRegistrationUI *This,
LPCWSTR pszAppRegistryName);
END_INTERFACE
} IApplicationAssociationRegistrationUIVtbl;
interface IApplicationAssociationRegistrationUI {
CONST_VTBL IApplicationAssociationRegistrationUIVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IApplicationAssociationRegistrationUI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IApplicationAssociationRegistrationUI_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IApplicationAssociationRegistrationUI_Release(This) (This)->lpVtbl->Release(This)
/*** IApplicationAssociationRegistrationUI methods ***/
#define IApplicationAssociationRegistrationUI_LaunchAdvancedAssociationUI(This,pszAppRegistryName) (This)->lpVtbl->LaunchAdvancedAssociationUI(This,pszAppRegistryName)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IApplicationAssociationRegistrationUI_QueryInterface(IApplicationAssociationRegistrationUI* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IApplicationAssociationRegistrationUI_AddRef(IApplicationAssociationRegistrationUI* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IApplicationAssociationRegistrationUI_Release(IApplicationAssociationRegistrationUI* This) {
return This->lpVtbl->Release(This);
}
/*** IApplicationAssociationRegistrationUI methods ***/
static FORCEINLINE HRESULT IApplicationAssociationRegistrationUI_LaunchAdvancedAssociationUI(IApplicationAssociationRegistrationUI* This,LPCWSTR pszAppRegistryName) {
return This->lpVtbl->LaunchAdvancedAssociationUI(This,pszAppRegistryName);
}
#endif
#endif
#endif
#endif /* __IApplicationAssociationRegistrationUI_INTERFACE_DEFINED__ */
#endif
#include <pshpack1.h>
typedef struct DELEGATEITEMID {
WORD cbSize;
WORD wOuter;
WORD cbInner;
BYTE rgb[1];
} DELEGATEITEMID;
#include <poppack.h>
typedef const UNALIGNED DELEGATEITEMID *PCDELEGATEITEMID;
typedef UNALIGNED DELEGATEITEMID *PDELEGATEITEMID;
/*****************************************************************************
* IDelegateFolder interface
*/
#ifndef __IDelegateFolder_INTERFACE_DEFINED__
#define __IDelegateFolder_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDelegateFolder, 0xadd8ba80, 0x002b, 0x11d0, 0x8f,0x0f, 0x00,0xc0,0x4f,0xd7,0xd0,0x62);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("add8ba80-002b-11d0-8f0f-00c04fd7d062")
IDelegateFolder : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetItemAlloc(
IMalloc *pmalloc) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDelegateFolder, 0xadd8ba80, 0x002b, 0x11d0, 0x8f,0x0f, 0x00,0xc0,0x4f,0xd7,0xd0,0x62)
#endif
#else
typedef struct IDelegateFolderVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDelegateFolder *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDelegateFolder *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDelegateFolder *This);
/*** IDelegateFolder methods ***/
HRESULT (STDMETHODCALLTYPE *SetItemAlloc)(
IDelegateFolder *This,
IMalloc *pmalloc);
END_INTERFACE
} IDelegateFolderVtbl;
interface IDelegateFolder {
CONST_VTBL IDelegateFolderVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDelegateFolder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDelegateFolder_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDelegateFolder_Release(This) (This)->lpVtbl->Release(This)
/*** IDelegateFolder methods ***/
#define IDelegateFolder_SetItemAlloc(This,pmalloc) (This)->lpVtbl->SetItemAlloc(This,pmalloc)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDelegateFolder_QueryInterface(IDelegateFolder* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDelegateFolder_AddRef(IDelegateFolder* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDelegateFolder_Release(IDelegateFolder* This) {
return This->lpVtbl->Release(This);
}
/*** IDelegateFolder methods ***/
static FORCEINLINE HRESULT IDelegateFolder_SetItemAlloc(IDelegateFolder* This,IMalloc *pmalloc) {
return This->lpVtbl->SetItemAlloc(This,pmalloc);
}
#endif
#endif
#endif
#endif /* __IDelegateFolder_INTERFACE_DEFINED__ */
#if _WIN32_IE >= _WIN32_IE_IE60
/*****************************************************************************
* IBrowserFrameOptions interface
*/
#ifndef __IBrowserFrameOptions_INTERFACE_DEFINED__
#define __IBrowserFrameOptions_INTERFACE_DEFINED__
typedef IBrowserFrameOptions *LPBROWSERFRAMEOPTIONS;
enum _BROWSERFRAMEOPTIONS {
BFO_NONE = 0x0,
BFO_BROWSER_PERSIST_SETTINGS = 0x1,
BFO_RENAME_FOLDER_OPTIONS_TOINTERNET = 0x2,
BFO_BOTH_OPTIONS = 0x4,
BIF_PREFER_INTERNET_SHORTCUT = 0x8,
BFO_BROWSE_NO_IN_NEW_PROCESS = 0x10,
BFO_ENABLE_HYPERLINK_TRACKING = 0x20,
BFO_USE_IE_OFFLINE_SUPPORT = 0x40,
BFO_SUBSTITUE_INTERNET_START_PAGE = 0x80,
BFO_USE_IE_LOGOBANDING = 0x100,
BFO_ADD_IE_TOCAPTIONBAR = 0x200,
BFO_USE_DIALUP_REF = 0x400,
BFO_USE_IE_TOOLBAR = 0x800,
BFO_NO_PARENT_FOLDER_SUPPORT = 0x1000,
BFO_NO_REOPEN_NEXT_RESTART = 0x2000,
BFO_GO_HOME_PAGE = 0x4000,
BFO_PREFER_IEPROCESS = 0x8000,
BFO_SHOW_NAVIGATION_CANCELLED = 0x10000,
BFO_USE_IE_STATUSBAR = 0x20000,
BFO_QUERY_ALL = (int)0xffffffff
};
typedef DWORD BROWSERFRAMEOPTIONS;
DEFINE_GUID(IID_IBrowserFrameOptions, 0x10df43c8, 0x1dbe, 0x11d3, 0x8b,0x34, 0x00,0x60,0x97,0xdf,0x5b,0xd4);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("10df43c8-1dbe-11d3-8b34-006097df5bd4")
IBrowserFrameOptions : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetFrameOptions(
BROWSERFRAMEOPTIONS dwMask,
BROWSERFRAMEOPTIONS *pdwOptions) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IBrowserFrameOptions, 0x10df43c8, 0x1dbe, 0x11d3, 0x8b,0x34, 0x00,0x60,0x97,0xdf,0x5b,0xd4)
#endif
#else
typedef struct IBrowserFrameOptionsVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IBrowserFrameOptions *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IBrowserFrameOptions *This);
ULONG (STDMETHODCALLTYPE *Release)(
IBrowserFrameOptions *This);
/*** IBrowserFrameOptions methods ***/
HRESULT (STDMETHODCALLTYPE *GetFrameOptions)(
IBrowserFrameOptions *This,
BROWSERFRAMEOPTIONS dwMask,
BROWSERFRAMEOPTIONS *pdwOptions);
END_INTERFACE
} IBrowserFrameOptionsVtbl;
interface IBrowserFrameOptions {
CONST_VTBL IBrowserFrameOptionsVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IBrowserFrameOptions_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IBrowserFrameOptions_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IBrowserFrameOptions_Release(This) (This)->lpVtbl->Release(This)
/*** IBrowserFrameOptions methods ***/
#define IBrowserFrameOptions_GetFrameOptions(This,dwMask,pdwOptions) (This)->lpVtbl->GetFrameOptions(This,dwMask,pdwOptions)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IBrowserFrameOptions_QueryInterface(IBrowserFrameOptions* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IBrowserFrameOptions_AddRef(IBrowserFrameOptions* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IBrowserFrameOptions_Release(IBrowserFrameOptions* This) {
return This->lpVtbl->Release(This);
}
/*** IBrowserFrameOptions methods ***/
static FORCEINLINE HRESULT IBrowserFrameOptions_GetFrameOptions(IBrowserFrameOptions* This,BROWSERFRAMEOPTIONS dwMask,BROWSERFRAMEOPTIONS *pdwOptions) {
return This->lpVtbl->GetFrameOptions(This,dwMask,pdwOptions);
}
#endif
#endif
#endif
#endif /* __IBrowserFrameOptions_INTERFACE_DEFINED__ */
#endif
#if _WIN32_IE >= _WIN32_IE_IE60SP2
typedef enum NWMF {
NWMF_UNLOADING = 0x1,
NWMF_USERINITED = 0x2,
NWMF_FIRST = 0x4,
NWMF_OVERRIDEKEY = 0x8,
NWMF_SHOWHELP = 0x10,
NWMF_HTMLDIALOG = 0x20,
NWMF_FROMDIALOGCHILD = 0x40,
NWMF_USERREQUESTED = 0x80,
NWMF_USERALLOWED = 0x100,
NWMF_FORCEWINDOW = 0x10000,
NWMF_FORCETAB = 0x20000,
NWMF_SUGGESTWINDOW = 0x40000,
NWMF_SUGGESTTAB = 0x80000,
NWMF_INACTIVETAB = 0x100000
} NWMF;
DEFINE_ENUM_FLAG_OPERATORS(NWMF)
#define SID_SNewWindowManager IID_INewWindowManager
/*****************************************************************************
* INewWindowManager interface
*/
#ifndef __INewWindowManager_INTERFACE_DEFINED__
#define __INewWindowManager_INTERFACE_DEFINED__
DEFINE_GUID(IID_INewWindowManager, 0xd2bc4c84, 0x3f72, 0x4a52, 0xa6,0x04, 0x7b,0xcb,0xf3,0x98,0x2c,0xbb);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("d2bc4c84-3f72-4a52-a604-7bcbf3982cbb")
INewWindowManager : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE EvaluateNewWindow(
LPCWSTR pszUrl,
LPCWSTR pszName,
LPCWSTR pszUrlContext,
LPCWSTR pszFeatures,
WINBOOL fReplace,
DWORD dwFlags,
DWORD dwUserActionTime) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(INewWindowManager, 0xd2bc4c84, 0x3f72, 0x4a52, 0xa6,0x04, 0x7b,0xcb,0xf3,0x98,0x2c,0xbb)
#endif
#else
typedef struct INewWindowManagerVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
INewWindowManager *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
INewWindowManager *This);
ULONG (STDMETHODCALLTYPE *Release)(
INewWindowManager *This);
/*** INewWindowManager methods ***/
HRESULT (STDMETHODCALLTYPE *EvaluateNewWindow)(
INewWindowManager *This,
LPCWSTR pszUrl,
LPCWSTR pszName,
LPCWSTR pszUrlContext,
LPCWSTR pszFeatures,
WINBOOL fReplace,
DWORD dwFlags,
DWORD dwUserActionTime);
END_INTERFACE
} INewWindowManagerVtbl;
interface INewWindowManager {
CONST_VTBL INewWindowManagerVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define INewWindowManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define INewWindowManager_AddRef(This) (This)->lpVtbl->AddRef(This)
#define INewWindowManager_Release(This) (This)->lpVtbl->Release(This)
/*** INewWindowManager methods ***/
#define INewWindowManager_EvaluateNewWindow(This,pszUrl,pszName,pszUrlContext,pszFeatures,fReplace,dwFlags,dwUserActionTime) (This)->lpVtbl->EvaluateNewWindow(This,pszUrl,pszName,pszUrlContext,pszFeatures,fReplace,dwFlags,dwUserActionTime)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT INewWindowManager_QueryInterface(INewWindowManager* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG INewWindowManager_AddRef(INewWindowManager* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG INewWindowManager_Release(INewWindowManager* This) {
return This->lpVtbl->Release(This);
}
/*** INewWindowManager methods ***/
static FORCEINLINE HRESULT INewWindowManager_EvaluateNewWindow(INewWindowManager* This,LPCWSTR pszUrl,LPCWSTR pszName,LPCWSTR pszUrlContext,LPCWSTR pszFeatures,WINBOOL fReplace,DWORD dwFlags,DWORD dwUserActionTime) {
return This->lpVtbl->EvaluateNewWindow(This,pszUrl,pszName,pszUrlContext,pszFeatures,fReplace,dwFlags,dwUserActionTime);
}
#endif
#endif
#endif
#endif /* __INewWindowManager_INTERFACE_DEFINED__ */
/*****************************************************************************
* IAttachmentExecute interface
*/
#ifndef __IAttachmentExecute_INTERFACE_DEFINED__
#define __IAttachmentExecute_INTERFACE_DEFINED__
typedef enum ATTACHMENT_PROMPT {
ATTACHMENT_PROMPT_NONE = 0x0,
ATTACHMENT_PROMPT_SAVE = 0x1,
ATTACHMENT_PROMPT_EXEC = 0x2,
ATTACHMENT_PROMPT_EXEC_OR_SAVE = 0x3
} ATTACHMENT_PROMPT;
typedef enum ATTACHMENT_ACTION {
ATTACHMENT_ACTION_CANCEL = 0x0,
ATTACHMENT_ACTION_SAVE = 0x1,
ATTACHMENT_ACTION_EXEC = 0x2
} ATTACHMENT_ACTION;
DEFINE_GUID(IID_IAttachmentExecute, 0x73db1241, 0x1e85, 0x4581, 0x8e,0x4f, 0xa8,0x1e,0x1d,0x0f,0x8c,0x57);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("73db1241-1e85-4581-8e4f-a81e1d0f8c57")
IAttachmentExecute : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetClientTitle(
LPCWSTR pszTitle) = 0;
virtual HRESULT STDMETHODCALLTYPE SetClientGuid(
REFGUID guid) = 0;
virtual HRESULT STDMETHODCALLTYPE SetLocalPath(
LPCWSTR pszLocalPath) = 0;
virtual HRESULT STDMETHODCALLTYPE SetFileName(
LPCWSTR pszFileName) = 0;
virtual HRESULT STDMETHODCALLTYPE SetSource(
LPCWSTR pszSource) = 0;
virtual HRESULT STDMETHODCALLTYPE SetReferrer(
LPCWSTR pszReferrer) = 0;
virtual HRESULT STDMETHODCALLTYPE CheckPolicy(
) = 0;
virtual HRESULT STDMETHODCALLTYPE Prompt(
HWND hwnd,
ATTACHMENT_PROMPT prompt,
ATTACHMENT_ACTION *paction) = 0;
virtual HRESULT STDMETHODCALLTYPE Save(
) = 0;
virtual HRESULT STDMETHODCALLTYPE Execute(
HWND hwnd,
LPCWSTR pszVerb,
HANDLE *phProcess) = 0;
virtual HRESULT STDMETHODCALLTYPE SaveWithUI(
HWND hwnd) = 0;
virtual HRESULT STDMETHODCALLTYPE ClearClientState(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IAttachmentExecute, 0x73db1241, 0x1e85, 0x4581, 0x8e,0x4f, 0xa8,0x1e,0x1d,0x0f,0x8c,0x57)
#endif
#else
typedef struct IAttachmentExecuteVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IAttachmentExecute *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IAttachmentExecute *This);
ULONG (STDMETHODCALLTYPE *Release)(
IAttachmentExecute *This);
/*** IAttachmentExecute methods ***/
HRESULT (STDMETHODCALLTYPE *SetClientTitle)(
IAttachmentExecute *This,
LPCWSTR pszTitle);
HRESULT (STDMETHODCALLTYPE *SetClientGuid)(
IAttachmentExecute *This,
REFGUID guid);
HRESULT (STDMETHODCALLTYPE *SetLocalPath)(
IAttachmentExecute *This,
LPCWSTR pszLocalPath);
HRESULT (STDMETHODCALLTYPE *SetFileName)(
IAttachmentExecute *This,
LPCWSTR pszFileName);
HRESULT (STDMETHODCALLTYPE *SetSource)(
IAttachmentExecute *This,
LPCWSTR pszSource);
HRESULT (STDMETHODCALLTYPE *SetReferrer)(
IAttachmentExecute *This,
LPCWSTR pszReferrer);
HRESULT (STDMETHODCALLTYPE *CheckPolicy)(
IAttachmentExecute *This);
HRESULT (STDMETHODCALLTYPE *Prompt)(
IAttachmentExecute *This,
HWND hwnd,
ATTACHMENT_PROMPT prompt,
ATTACHMENT_ACTION *paction);
HRESULT (STDMETHODCALLTYPE *Save)(
IAttachmentExecute *This);
HRESULT (STDMETHODCALLTYPE *Execute)(
IAttachmentExecute *This,
HWND hwnd,
LPCWSTR pszVerb,
HANDLE *phProcess);
HRESULT (STDMETHODCALLTYPE *SaveWithUI)(
IAttachmentExecute *This,
HWND hwnd);
HRESULT (STDMETHODCALLTYPE *ClearClientState)(
IAttachmentExecute *This);
END_INTERFACE
} IAttachmentExecuteVtbl;
interface IAttachmentExecute {
CONST_VTBL IAttachmentExecuteVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IAttachmentExecute_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IAttachmentExecute_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IAttachmentExecute_Release(This) (This)->lpVtbl->Release(This)
/*** IAttachmentExecute methods ***/
#define IAttachmentExecute_SetClientTitle(This,pszTitle) (This)->lpVtbl->SetClientTitle(This,pszTitle)
#define IAttachmentExecute_SetClientGuid(This,guid) (This)->lpVtbl->SetClientGuid(This,guid)
#define IAttachmentExecute_SetLocalPath(This,pszLocalPath) (This)->lpVtbl->SetLocalPath(This,pszLocalPath)
#define IAttachmentExecute_SetFileName(This,pszFileName) (This)->lpVtbl->SetFileName(This,pszFileName)
#define IAttachmentExecute_SetSource(This,pszSource) (This)->lpVtbl->SetSource(This,pszSource)
#define IAttachmentExecute_SetReferrer(This,pszReferrer) (This)->lpVtbl->SetReferrer(This,pszReferrer)
#define IAttachmentExecute_CheckPolicy(This) (This)->lpVtbl->CheckPolicy(This)
#define IAttachmentExecute_Prompt(This,hwnd,prompt,paction) (This)->lpVtbl->Prompt(This,hwnd,prompt,paction)
#define IAttachmentExecute_Save(This) (This)->lpVtbl->Save(This)
#define IAttachmentExecute_Execute(This,hwnd,pszVerb,phProcess) (This)->lpVtbl->Execute(This,hwnd,pszVerb,phProcess)
#define IAttachmentExecute_SaveWithUI(This,hwnd) (This)->lpVtbl->SaveWithUI(This,hwnd)
#define IAttachmentExecute_ClearClientState(This) (This)->lpVtbl->ClearClientState(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IAttachmentExecute_QueryInterface(IAttachmentExecute* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IAttachmentExecute_AddRef(IAttachmentExecute* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IAttachmentExecute_Release(IAttachmentExecute* This) {
return This->lpVtbl->Release(This);
}
/*** IAttachmentExecute methods ***/
static FORCEINLINE HRESULT IAttachmentExecute_SetClientTitle(IAttachmentExecute* This,LPCWSTR pszTitle) {
return This->lpVtbl->SetClientTitle(This,pszTitle);
}
static FORCEINLINE HRESULT IAttachmentExecute_SetClientGuid(IAttachmentExecute* This,REFGUID guid) {
return This->lpVtbl->SetClientGuid(This,guid);
}
static FORCEINLINE HRESULT IAttachmentExecute_SetLocalPath(IAttachmentExecute* This,LPCWSTR pszLocalPath) {
return This->lpVtbl->SetLocalPath(This,pszLocalPath);
}
static FORCEINLINE HRESULT IAttachmentExecute_SetFileName(IAttachmentExecute* This,LPCWSTR pszFileName) {
return This->lpVtbl->SetFileName(This,pszFileName);
}
static FORCEINLINE HRESULT IAttachmentExecute_SetSource(IAttachmentExecute* This,LPCWSTR pszSource) {
return This->lpVtbl->SetSource(This,pszSource);
}
static FORCEINLINE HRESULT IAttachmentExecute_SetReferrer(IAttachmentExecute* This,LPCWSTR pszReferrer) {
return This->lpVtbl->SetReferrer(This,pszReferrer);
}
static FORCEINLINE HRESULT IAttachmentExecute_CheckPolicy(IAttachmentExecute* This) {
return This->lpVtbl->CheckPolicy(This);
}
static FORCEINLINE HRESULT IAttachmentExecute_Prompt(IAttachmentExecute* This,HWND hwnd,ATTACHMENT_PROMPT prompt,ATTACHMENT_ACTION *paction) {
return This->lpVtbl->Prompt(This,hwnd,prompt,paction);
}
static FORCEINLINE HRESULT IAttachmentExecute_Save(IAttachmentExecute* This) {
return This->lpVtbl->Save(This);
}
static FORCEINLINE HRESULT IAttachmentExecute_Execute(IAttachmentExecute* This,HWND hwnd,LPCWSTR pszVerb,HANDLE *phProcess) {
return This->lpVtbl->Execute(This,hwnd,pszVerb,phProcess);
}
static FORCEINLINE HRESULT IAttachmentExecute_SaveWithUI(IAttachmentExecute* This,HWND hwnd) {
return This->lpVtbl->SaveWithUI(This,hwnd);
}
static FORCEINLINE HRESULT IAttachmentExecute_ClearClientState(IAttachmentExecute* This) {
return This->lpVtbl->ClearClientState(This);
}
#endif
#endif
#endif
#endif /* __IAttachmentExecute_INTERFACE_DEFINED__ */
#endif
#if _WIN32_IE >= _WIN32_IE_IE60
#include <pshpack8.h>
typedef struct tagSMDATA {
DWORD dwMask;
DWORD dwFlags;
HMENU hmenu;
HWND hwnd;
UINT uId;
UINT uIdParent;
UINT uIdAncestor;
IUnknown *punk;
PIDLIST_ABSOLUTE pidlFolder;
PUITEMID_CHILD pidlItem;
IShellFolder *psf;
void *pvUserData;
} SMDATA;
typedef struct tagSMDATA *LPSMDATA;
#define SMDM_SHELLFOLDER 0x00000001
#define SMDM_HMENU 0x00000002
#define SMDM_TOOLBAR 0x00000004
typedef struct tagSMINFO {
DWORD dwMask;
DWORD dwType;
DWORD dwFlags;
int iIcon;
} SMINFO;
typedef struct tagSMINFO *PSMINFO;
typedef struct SHCSCHANGENOTIFYSTRUCT {
LONG lEvent;
PCIDLIST_ABSOLUTE pidl1;
PCIDLIST_ABSOLUTE pidl2;
} SMCSHCHANGENOTIFYSTRUCT;
typedef struct SHCSCHANGENOTIFYSTRUCT *PSMCSHCHANGENOTIFYSTRUCT;
#include <poppack.h>
enum tagSMINFOMASK {
SMIM_TYPE = 0x1,
SMIM_FLAGS = 0x2,
SMIM_ICON = 0x4
};
enum tagSMINFOTYPE {
SMIT_SEPARATOR = 0x1,
SMIT_STRING = 0x2
};
enum tagSMINFOFLAGS {
SMIF_ICON = 0x1,
SMIF_ACCELERATOR = 0x2,
SMIF_DROPTARGET = 0x4,
SMIF_SUBMENU = 0x8,
SMIF_CHECKED = 0x20,
SMIF_DROPCASCADE = 0x40,
SMIF_HIDDEN = 0x80,
SMIF_DISABLED = 0x100,
SMIF_TRACKPOPUP = 0x200,
SMIF_DEMOTED = 0x400,
SMIF_ALTSTATE = 0x800,
SMIF_DRAGNDROP = 0x1000,
SMIF_NEW = 0x2000
};
#define SMC_INITMENU 0x00000001
#define SMC_CREATE 0x00000002
#define SMC_EXITMENU 0x00000003
#define SMC_GETINFO 0x00000005
#define SMC_GETSFINFO 0x00000006
#define SMC_GETOBJECT 0x00000007
#define SMC_GETSFOBJECT 0x00000008
#define SMC_SFEXEC 0x00000009
#define SMC_SFSELECTITEM 0x0000000A
#define SMC_REFRESH 0x00000010
#define SMC_DEMOTE 0x00000011
#define SMC_PROMOTE 0x00000012
#define SMC_DEFAULTICON 0x00000016
#define SMC_NEWITEM 0x00000017
#define SMC_CHEVRONEXPAND 0x00000019
#define SMC_DISPLAYCHEVRONTIP 0x0000002A
#define SMC_SETSFOBJECT 0x0000002D
#define SMC_SHCHANGENOTIFY 0x0000002E
#define SMC_CHEVRONGETTIP 0x0000002F
#define SMC_SFDDRESTRICTED 0x00000030
#if _WIN32_IE >= _WIN32_IE_IE70
#define SMC_SFEXEC_MIDDLE 0x00000031
#define SMC_GETAUTOEXPANDSTATE 0x00000041
#define SMC_AUTOEXPANDCHANGE 0x00000042
#define SMC_GETCONTEXTMENUMODIFIER 0x00000043
#define SMC_GETBKCONTEXTMENU 0x00000044
#define SMC_OPEN 0x00000045
#define SMAE_EXPANDED 0x00000001
#define SMAE_CONTRACTED 0x00000002
#define SMAE_USER 0x00000004
#define SMAE_VALID 0x00000007
#endif
/*****************************************************************************
* IShellMenuCallback interface
*/
#ifndef __IShellMenuCallback_INTERFACE_DEFINED__
#define __IShellMenuCallback_INTERFACE_DEFINED__
DEFINE_GUID(IID_IShellMenuCallback, 0x4ca300a1, 0x9b8d, 0x11d1, 0x8b,0x22, 0x00,0xc0,0x4f,0xd9,0x18,0xd0);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("4ca300a1-9b8d-11d1-8b22-00c04fd918d0")
IShellMenuCallback : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE CallbackSM(
LPSMDATA psmd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IShellMenuCallback, 0x4ca300a1, 0x9b8d, 0x11d1, 0x8b,0x22, 0x00,0xc0,0x4f,0xd9,0x18,0xd0)
#endif
#else
typedef struct IShellMenuCallbackVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IShellMenuCallback *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IShellMenuCallback *This);
ULONG (STDMETHODCALLTYPE *Release)(
IShellMenuCallback *This);
/*** IShellMenuCallback methods ***/
HRESULT (STDMETHODCALLTYPE *CallbackSM)(
IShellMenuCallback *This,
LPSMDATA psmd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam);
END_INTERFACE
} IShellMenuCallbackVtbl;
interface IShellMenuCallback {
CONST_VTBL IShellMenuCallbackVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IShellMenuCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IShellMenuCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IShellMenuCallback_Release(This) (This)->lpVtbl->Release(This)
/*** IShellMenuCallback methods ***/
#define IShellMenuCallback_CallbackSM(This,psmd,uMsg,wParam,lParam) (This)->lpVtbl->CallbackSM(This,psmd,uMsg,wParam,lParam)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IShellMenuCallback_QueryInterface(IShellMenuCallback* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IShellMenuCallback_AddRef(IShellMenuCallback* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IShellMenuCallback_Release(IShellMenuCallback* This) {
return This->lpVtbl->Release(This);
}
/*** IShellMenuCallback methods ***/
static FORCEINLINE HRESULT IShellMenuCallback_CallbackSM(IShellMenuCallback* This,LPSMDATA psmd,UINT uMsg,WPARAM wParam,LPARAM lParam) {
return This->lpVtbl->CallbackSM(This,psmd,uMsg,wParam,lParam);
}
#endif
#endif
#endif
#endif /* __IShellMenuCallback_INTERFACE_DEFINED__ */
#define SMINIT_DEFAULT 0x00000000
#define SMINIT_RESTRICT_DRAGDROP 0x00000002
#define SMINIT_TOPLEVEL 0x00000004
#define SMINIT_CACHED 0x00000010
#if _WIN32_IE >= _WIN32_IE_IE70
#define SMINIT_AUTOEXPAND 0x00000100
#define SMINIT_AUTOTOOLTIP 0x00000200
#define SMINIT_DROPONCONTAINER 0x00000400
#endif
#define SMINIT_VERTICAL 0x10000000
#define SMINIT_HORIZONTAL 0x20000000
#define ANCESTORDEFAULT (UINT)-1
#define SMSET_TOP 0x10000000
#define SMSET_BOTTOM 0x20000000
#define SMSET_DONTOWN 0x00000001
#define SMINV_REFRESH 0x00000001
#define SMINV_ID 0x00000008
/*****************************************************************************
* IShellMenu interface
*/
#ifndef __IShellMenu_INTERFACE_DEFINED__
#define __IShellMenu_INTERFACE_DEFINED__
DEFINE_GUID(IID_IShellMenu, 0xee1f7637, 0xe138, 0x11d1, 0x83,0x79, 0x00,0xc0,0x4f,0xd9,0x18,0xd0);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("ee1f7637-e138-11d1-8379-00c04fd918d0")
IShellMenu : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Initialize(
IShellMenuCallback *psmc,
UINT uId,
UINT uIdAncestor,
DWORD dwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMenuInfo(
IShellMenuCallback **ppsmc,
UINT *puId,
UINT *puIdAncestor,
DWORD *pdwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE SetShellFolder(
IShellFolder *psf,
PCIDLIST_ABSOLUTE pidlFolder,
HKEY hKey,
DWORD dwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetShellFolder(
DWORD *pdwFlags,
PIDLIST_ABSOLUTE *ppidl,
REFIID riid,
void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE SetMenu(
HMENU hmenu,
HWND hwnd,
DWORD dwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMenu(
HMENU *phmenu,
HWND *phwnd,
DWORD *pdwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE InvalidateItem(
LPSMDATA psmd,
DWORD dwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetState(
LPSMDATA psmd) = 0;
virtual HRESULT STDMETHODCALLTYPE SetMenuToolbar(
IUnknown *punk,
DWORD dwFlags) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IShellMenu, 0xee1f7637, 0xe138, 0x11d1, 0x83,0x79, 0x00,0xc0,0x4f,0xd9,0x18,0xd0)
#endif
#else
typedef struct IShellMenuVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IShellMenu *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IShellMenu *This);
ULONG (STDMETHODCALLTYPE *Release)(
IShellMenu *This);
/*** IShellMenu methods ***/
HRESULT (STDMETHODCALLTYPE *Initialize)(
IShellMenu *This,
IShellMenuCallback *psmc,
UINT uId,
UINT uIdAncestor,
DWORD dwFlags);
HRESULT (STDMETHODCALLTYPE *GetMenuInfo)(
IShellMenu *This,
IShellMenuCallback **ppsmc,
UINT *puId,
UINT *puIdAncestor,
DWORD *pdwFlags);
HRESULT (STDMETHODCALLTYPE *SetShellFolder)(
IShellMenu *This,
IShellFolder *psf,
PCIDLIST_ABSOLUTE pidlFolder,
HKEY hKey,
DWORD dwFlags);
HRESULT (STDMETHODCALLTYPE *GetShellFolder)(
IShellMenu *This,
DWORD *pdwFlags,
PIDLIST_ABSOLUTE *ppidl,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *SetMenu)(
IShellMenu *This,
HMENU hmenu,
HWND hwnd,
DWORD dwFlags);
HRESULT (STDMETHODCALLTYPE *GetMenu)(
IShellMenu *This,
HMENU *phmenu,
HWND *phwnd,
DWORD *pdwFlags);
HRESULT (STDMETHODCALLTYPE *InvalidateItem)(
IShellMenu *This,
LPSMDATA psmd,
DWORD dwFlags);
HRESULT (STDMETHODCALLTYPE *GetState)(
IShellMenu *This,
LPSMDATA psmd);
HRESULT (STDMETHODCALLTYPE *SetMenuToolbar)(
IShellMenu *This,
IUnknown *punk,
DWORD dwFlags);
END_INTERFACE
} IShellMenuVtbl;
interface IShellMenu {
CONST_VTBL IShellMenuVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IShellMenu_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IShellMenu_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IShellMenu_Release(This) (This)->lpVtbl->Release(This)
/*** IShellMenu methods ***/
#define IShellMenu_Initialize(This,psmc,uId,uIdAncestor,dwFlags) (This)->lpVtbl->Initialize(This,psmc,uId,uIdAncestor,dwFlags)
#define IShellMenu_GetMenuInfo(This,ppsmc,puId,puIdAncestor,pdwFlags) (This)->lpVtbl->GetMenuInfo(This,ppsmc,puId,puIdAncestor,pdwFlags)
#define IShellMenu_SetShellFolder(This,psf,pidlFolder,hKey,dwFlags) (This)->lpVtbl->SetShellFolder(This,psf,pidlFolder,hKey,dwFlags)
#define IShellMenu_GetShellFolder(This,pdwFlags,ppidl,riid,ppv) (This)->lpVtbl->GetShellFolder(This,pdwFlags,ppidl,riid,ppv)
#define IShellMenu_SetMenu(This,hmenu,hwnd,dwFlags) (This)->lpVtbl->SetMenu(This,hmenu,hwnd,dwFlags)
#define IShellMenu_GetMenu(This,phmenu,phwnd,pdwFlags) (This)->lpVtbl->GetMenu(This,phmenu,phwnd,pdwFlags)
#define IShellMenu_InvalidateItem(This,psmd,dwFlags) (This)->lpVtbl->InvalidateItem(This,psmd,dwFlags)
#define IShellMenu_GetState(This,psmd) (This)->lpVtbl->GetState(This,psmd)
#define IShellMenu_SetMenuToolbar(This,punk,dwFlags) (This)->lpVtbl->SetMenuToolbar(This,punk,dwFlags)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IShellMenu_QueryInterface(IShellMenu* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IShellMenu_AddRef(IShellMenu* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IShellMenu_Release(IShellMenu* This) {
return This->lpVtbl->Release(This);
}
/*** IShellMenu methods ***/
static FORCEINLINE HRESULT IShellMenu_Initialize(IShellMenu* This,IShellMenuCallback *psmc,UINT uId,UINT uIdAncestor,DWORD dwFlags) {
return This->lpVtbl->Initialize(This,psmc,uId,uIdAncestor,dwFlags);
}
static FORCEINLINE HRESULT IShellMenu_GetMenuInfo(IShellMenu* This,IShellMenuCallback **ppsmc,UINT *puId,UINT *puIdAncestor,DWORD *pdwFlags) {
return This->lpVtbl->GetMenuInfo(This,ppsmc,puId,puIdAncestor,pdwFlags);
}
static FORCEINLINE HRESULT IShellMenu_SetShellFolder(IShellMenu* This,IShellFolder *psf,PCIDLIST_ABSOLUTE pidlFolder,HKEY hKey,DWORD dwFlags) {
return This->lpVtbl->SetShellFolder(This,psf,pidlFolder,hKey,dwFlags);
}
static FORCEINLINE HRESULT IShellMenu_GetShellFolder(IShellMenu* This,DWORD *pdwFlags,PIDLIST_ABSOLUTE *ppidl,REFIID riid,void **ppv) {
return This->lpVtbl->GetShellFolder(This,pdwFlags,ppidl,riid,ppv);
}
static FORCEINLINE HRESULT IShellMenu_SetMenu(IShellMenu* This,HMENU hmenu,HWND hwnd,DWORD dwFlags) {
return This->lpVtbl->SetMenu(This,hmenu,hwnd,dwFlags);
}
static FORCEINLINE HRESULT IShellMenu_GetMenu(IShellMenu* This,HMENU *phmenu,HWND *phwnd,DWORD *pdwFlags) {
return This->lpVtbl->GetMenu(This,phmenu,phwnd,pdwFlags);
}
static FORCEINLINE HRESULT IShellMenu_InvalidateItem(IShellMenu* This,LPSMDATA psmd,DWORD dwFlags) {
return This->lpVtbl->InvalidateItem(This,psmd,dwFlags);
}
static FORCEINLINE HRESULT IShellMenu_GetState(IShellMenu* This,LPSMDATA psmd) {
return This->lpVtbl->GetState(This,psmd);
}
static FORCEINLINE HRESULT IShellMenu_SetMenuToolbar(IShellMenu* This,IUnknown *punk,DWORD dwFlags) {
return This->lpVtbl->SetMenuToolbar(This,punk,dwFlags);
}
#endif
#endif
#endif
#endif /* __IShellMenu_INTERFACE_DEFINED__ */
#endif
/*****************************************************************************
* IShellRunDll interface
*/
#ifndef __IShellRunDll_INTERFACE_DEFINED__
#define __IShellRunDll_INTERFACE_DEFINED__
DEFINE_GUID(IID_IShellRunDll, 0xfce4bde0, 0x4b68, 0x4b80, 0x8e,0x9c, 0x74,0x26,0x31,0x5a,0x73,0x88);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("fce4bde0-4b68-4b80-8e9c-7426315a7388")
IShellRunDll : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Run(
LPCWSTR pszArgs) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IShellRunDll, 0xfce4bde0, 0x4b68, 0x4b80, 0x8e,0x9c, 0x74,0x26,0x31,0x5a,0x73,0x88)
#endif
#else
typedef struct IShellRunDllVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IShellRunDll *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IShellRunDll *This);
ULONG (STDMETHODCALLTYPE *Release)(
IShellRunDll *This);
/*** IShellRunDll methods ***/
HRESULT (STDMETHODCALLTYPE *Run)(
IShellRunDll *This,
LPCWSTR pszArgs);
END_INTERFACE
} IShellRunDllVtbl;
interface IShellRunDll {
CONST_VTBL IShellRunDllVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IShellRunDll_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IShellRunDll_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IShellRunDll_Release(This) (This)->lpVtbl->Release(This)
/*** IShellRunDll methods ***/
#define IShellRunDll_Run(This,pszArgs) (This)->lpVtbl->Run(This,pszArgs)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IShellRunDll_QueryInterface(IShellRunDll* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IShellRunDll_AddRef(IShellRunDll* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IShellRunDll_Release(IShellRunDll* This) {
return This->lpVtbl->Release(This);
}
/*** IShellRunDll methods ***/
static FORCEINLINE HRESULT IShellRunDll_Run(IShellRunDll* This,LPCWSTR pszArgs) {
return This->lpVtbl->Run(This,pszArgs);
}
#endif
#endif
#endif
#endif /* __IShellRunDll_INTERFACE_DEFINED__ */
#if NTDDI_VERSION >= NTDDI_VISTA
typedef enum KF_CATEGORY {
KF_CATEGORY_VIRTUAL = 1,
KF_CATEGORY_FIXED = 2,
KF_CATEGORY_COMMON = 3,
KF_CATEGORY_PERUSER = 4
} KF_CATEGORY;
enum _KF_DEFINITION_FLAGS {
KFDF_LOCAL_REDIRECT_ONLY = 0x2,
KFDF_ROAMABLE = 0x4,
KFDF_PRECREATE = 0x8,
KFDF_STREAM = 0x10,
KFDF_PUBLISHEXPANDEDPATH = 0x20
};
typedef DWORD KF_DEFINITION_FLAGS;
enum _KF_REDIRECT_FLAGS {
KF_REDIRECT_USER_EXCLUSIVE = 0x1,
KF_REDIRECT_COPY_SOURCE_DACL = 0x2,
KF_REDIRECT_OWNER_USER = 0x4,
KF_REDIRECT_SET_OWNER_EXPLICIT = 0x8,
KF_REDIRECT_CHECK_ONLY = 0x10,
KF_REDIRECT_WITH_UI = 0x20,
KF_REDIRECT_UNPIN = 0x40,
KF_REDIRECT_PIN = 0x80,
KF_REDIRECT_COPY_CONTENTS = 0x200,
KF_REDIRECT_DEL_SOURCE_CONTENTS = 0x400,
KF_REDIRECT_EXCLUDE_ALL_KNOWN_SUBFOLDERS = 0x800
};
typedef DWORD KF_REDIRECT_FLAGS;
enum _KF_REDIRECTION_CAPABILITIES {
KF_REDIRECTION_CAPABILITIES_ALLOW_ALL = 0xff,
KF_REDIRECTION_CAPABILITIES_REDIRECTABLE = 0x1,
KF_REDIRECTION_CAPABILITIES_DENY_ALL = 0xfff00,
KF_REDIRECTION_CAPABILITIES_DENY_POLICY_REDIRECTED = 0x100,
KF_REDIRECTION_CAPABILITIES_DENY_POLICY = 0x200,
KF_REDIRECTION_CAPABILITIES_DENY_PERMISSIONS = 0x400
};
typedef DWORD KF_REDIRECTION_CAPABILITIES;
typedef struct KNOWNFOLDER_DEFINITION {
KF_CATEGORY category;
LPWSTR pszName;
LPWSTR pszDescription;
KNOWNFOLDERID fidParent;
LPWSTR pszRelativePath;
LPWSTR pszParsingName;
LPWSTR pszTooltip;
LPWSTR pszLocalizedName;
LPWSTR pszIcon;
LPWSTR pszSecurity;
DWORD dwAttributes;
KF_DEFINITION_FLAGS kfdFlags;
FOLDERTYPEID ftidType;
} KNOWNFOLDER_DEFINITION;
/*****************************************************************************
* IKnownFolder interface
*/
#ifndef __IKnownFolder_INTERFACE_DEFINED__
#define __IKnownFolder_INTERFACE_DEFINED__
DEFINE_GUID(IID_IKnownFolder, 0x3aa7af7e, 0x9b36, 0x420c, 0xa8,0xe3, 0xf7,0x7d,0x46,0x74,0xa4,0x88);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3aa7af7e-9b36-420c-a8e3-f77d4674a488")
IKnownFolder : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetId(
KNOWNFOLDERID *pkfid) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCategory(
KF_CATEGORY *pCategory) = 0;
virtual HRESULT STDMETHODCALLTYPE GetShellItem(
DWORD dwFlags,
REFIID riid,
void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPath(
DWORD dwFlags,
LPWSTR *ppszPath) = 0;
virtual HRESULT STDMETHODCALLTYPE SetPath(
DWORD dwFlags,
LPCWSTR pszPath) = 0;
virtual HRESULT STDMETHODCALLTYPE GetIDList(
DWORD dwFlags,
PIDLIST_ABSOLUTE *ppidl) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFolderType(
FOLDERTYPEID *pftid) = 0;
virtual HRESULT STDMETHODCALLTYPE GetRedirectionCapabilities(
KF_REDIRECTION_CAPABILITIES *pCapabilities) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFolderDefinition(
KNOWNFOLDER_DEFINITION *pKFD) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IKnownFolder, 0x3aa7af7e, 0x9b36, 0x420c, 0xa8,0xe3, 0xf7,0x7d,0x46,0x74,0xa4,0x88)
#endif
#else
typedef struct IKnownFolderVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IKnownFolder *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IKnownFolder *This);
ULONG (STDMETHODCALLTYPE *Release)(
IKnownFolder *This);
/*** IKnownFolder methods ***/
HRESULT (STDMETHODCALLTYPE *GetId)(
IKnownFolder *This,
KNOWNFOLDERID *pkfid);
HRESULT (STDMETHODCALLTYPE *GetCategory)(
IKnownFolder *This,
KF_CATEGORY *pCategory);
HRESULT (STDMETHODCALLTYPE *GetShellItem)(
IKnownFolder *This,
DWORD dwFlags,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *GetPath)(
IKnownFolder *This,
DWORD dwFlags,
LPWSTR *ppszPath);
HRESULT (STDMETHODCALLTYPE *SetPath)(
IKnownFolder *This,
DWORD dwFlags,
LPCWSTR pszPath);
HRESULT (STDMETHODCALLTYPE *GetIDList)(
IKnownFolder *This,
DWORD dwFlags,
PIDLIST_ABSOLUTE *ppidl);
HRESULT (STDMETHODCALLTYPE *GetFolderType)(
IKnownFolder *This,
FOLDERTYPEID *pftid);
HRESULT (STDMETHODCALLTYPE *GetRedirectionCapabilities)(
IKnownFolder *This,
KF_REDIRECTION_CAPABILITIES *pCapabilities);
HRESULT (STDMETHODCALLTYPE *GetFolderDefinition)(
IKnownFolder *This,
KNOWNFOLDER_DEFINITION *pKFD);
END_INTERFACE
} IKnownFolderVtbl;
interface IKnownFolder {
CONST_VTBL IKnownFolderVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IKnownFolder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IKnownFolder_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IKnownFolder_Release(This) (This)->lpVtbl->Release(This)
/*** IKnownFolder methods ***/
#define IKnownFolder_GetId(This,pkfid) (This)->lpVtbl->GetId(This,pkfid)
#define IKnownFolder_GetCategory(This,pCategory) (This)->lpVtbl->GetCategory(This,pCategory)
#define IKnownFolder_GetShellItem(This,dwFlags,riid,ppv) (This)->lpVtbl->GetShellItem(This,dwFlags,riid,ppv)
#define IKnownFolder_GetPath(This,dwFlags,ppszPath) (This)->lpVtbl->GetPath(This,dwFlags,ppszPath)
#define IKnownFolder_SetPath(This,dwFlags,pszPath) (This)->lpVtbl->SetPath(This,dwFlags,pszPath)
#define IKnownFolder_GetIDList(This,dwFlags,ppidl) (This)->lpVtbl->GetIDList(This,dwFlags,ppidl)
#define IKnownFolder_GetFolderType(This,pftid) (This)->lpVtbl->GetFolderType(This,pftid)
#define IKnownFolder_GetRedirectionCapabilities(This,pCapabilities) (This)->lpVtbl->GetRedirectionCapabilities(This,pCapabilities)
#define IKnownFolder_GetFolderDefinition(This,pKFD) (This)->lpVtbl->GetFolderDefinition(This,pKFD)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IKnownFolder_QueryInterface(IKnownFolder* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IKnownFolder_AddRef(IKnownFolder* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IKnownFolder_Release(IKnownFolder* This) {
return This->lpVtbl->Release(This);
}
/*** IKnownFolder methods ***/
static FORCEINLINE HRESULT IKnownFolder_GetId(IKnownFolder* This,KNOWNFOLDERID *pkfid) {
return This->lpVtbl->GetId(This,pkfid);
}
static FORCEINLINE HRESULT IKnownFolder_GetCategory(IKnownFolder* This,KF_CATEGORY *pCategory) {
return This->lpVtbl->GetCategory(This,pCategory);
}
static FORCEINLINE HRESULT IKnownFolder_GetShellItem(IKnownFolder* This,DWORD dwFlags,REFIID riid,void **ppv) {
return This->lpVtbl->GetShellItem(This,dwFlags,riid,ppv);
}
static FORCEINLINE HRESULT IKnownFolder_GetPath(IKnownFolder* This,DWORD dwFlags,LPWSTR *ppszPath) {
return This->lpVtbl->GetPath(This,dwFlags,ppszPath);
}
static FORCEINLINE HRESULT IKnownFolder_SetPath(IKnownFolder* This,DWORD dwFlags,LPCWSTR pszPath) {
return This->lpVtbl->SetPath(This,dwFlags,pszPath);
}
static FORCEINLINE HRESULT IKnownFolder_GetIDList(IKnownFolder* This,DWORD dwFlags,PIDLIST_ABSOLUTE *ppidl) {
return This->lpVtbl->GetIDList(This,dwFlags,ppidl);
}
static FORCEINLINE HRESULT IKnownFolder_GetFolderType(IKnownFolder* This,FOLDERTYPEID *pftid) {
return This->lpVtbl->GetFolderType(This,pftid);
}
static FORCEINLINE HRESULT IKnownFolder_GetRedirectionCapabilities(IKnownFolder* This,KF_REDIRECTION_CAPABILITIES *pCapabilities) {
return This->lpVtbl->GetRedirectionCapabilities(This,pCapabilities);
}
static FORCEINLINE HRESULT IKnownFolder_GetFolderDefinition(IKnownFolder* This,KNOWNFOLDER_DEFINITION *pKFD) {
return This->lpVtbl->GetFolderDefinition(This,pKFD);
}
#endif
#endif
#endif
#endif /* __IKnownFolder_INTERFACE_DEFINED__ */
/*****************************************************************************
* IKnownFolderManager interface
*/
#ifndef __IKnownFolderManager_INTERFACE_DEFINED__
#define __IKnownFolderManager_INTERFACE_DEFINED__
typedef enum FFFP_MODE {
FFFP_EXACTMATCH = 0,
FFFP_NEARESTPARENTMATCH = 1
} FFFP_MODE;
DEFINE_GUID(IID_IKnownFolderManager, 0x8be2d872, 0x86aa, 0x4d47, 0xb7,0x76, 0x32,0xcc,0xa4,0x0c,0x70,0x18);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("8be2d872-86aa-4d47-b776-32cca40c7018")
IKnownFolderManager : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE FolderIdFromCsidl(
int nCsidl,
KNOWNFOLDERID *pfid) = 0;
virtual HRESULT STDMETHODCALLTYPE FolderIdToCsidl(
REFKNOWNFOLDERID rfid,
int *pnCsidl) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFolderIds(
KNOWNFOLDERID **ppKFId,
UINT *pCount) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFolder(
REFKNOWNFOLDERID rfid,
IKnownFolder **ppkf) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFolderByName(
LPCWSTR pszCanonicalName,
IKnownFolder **ppkf) = 0;
virtual HRESULT STDMETHODCALLTYPE RegisterFolder(
REFKNOWNFOLDERID rfid,
const KNOWNFOLDER_DEFINITION *pKFD) = 0;
virtual HRESULT STDMETHODCALLTYPE UnregisterFolder(
REFKNOWNFOLDERID rfid) = 0;
virtual HRESULT STDMETHODCALLTYPE FindFolderFromPath(
LPCWSTR pszPath,
FFFP_MODE mode,
IKnownFolder **ppkf) = 0;
virtual HRESULT STDMETHODCALLTYPE FindFolderFromIDList(
PCIDLIST_ABSOLUTE pidl,
IKnownFolder **ppkf) = 0;
virtual HRESULT STDMETHODCALLTYPE Redirect(
REFKNOWNFOLDERID rfid,
HWND hwnd,
KF_REDIRECT_FLAGS flags,
LPCWSTR pszTargetPath,
UINT cFolders,
const KNOWNFOLDERID *pExclusion,
LPWSTR *ppszError) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IKnownFolderManager, 0x8be2d872, 0x86aa, 0x4d47, 0xb7,0x76, 0x32,0xcc,0xa4,0x0c,0x70,0x18)
#endif
#else
typedef struct IKnownFolderManagerVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IKnownFolderManager *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IKnownFolderManager *This);
ULONG (STDMETHODCALLTYPE *Release)(
IKnownFolderManager *This);
/*** IKnownFolderManager methods ***/
HRESULT (STDMETHODCALLTYPE *FolderIdFromCsidl)(
IKnownFolderManager *This,
int nCsidl,
KNOWNFOLDERID *pfid);
HRESULT (STDMETHODCALLTYPE *FolderIdToCsidl)(
IKnownFolderManager *This,
REFKNOWNFOLDERID rfid,
int *pnCsidl);
HRESULT (STDMETHODCALLTYPE *GetFolderIds)(
IKnownFolderManager *This,
KNOWNFOLDERID **ppKFId,
UINT *pCount);
HRESULT (STDMETHODCALLTYPE *GetFolder)(
IKnownFolderManager *This,
REFKNOWNFOLDERID rfid,
IKnownFolder **ppkf);
HRESULT (STDMETHODCALLTYPE *GetFolderByName)(
IKnownFolderManager *This,
LPCWSTR pszCanonicalName,
IKnownFolder **ppkf);
HRESULT (STDMETHODCALLTYPE *RegisterFolder)(
IKnownFolderManager *This,
REFKNOWNFOLDERID rfid,
const KNOWNFOLDER_DEFINITION *pKFD);
HRESULT (STDMETHODCALLTYPE *UnregisterFolder)(
IKnownFolderManager *This,
REFKNOWNFOLDERID rfid);
HRESULT (STDMETHODCALLTYPE *FindFolderFromPath)(
IKnownFolderManager *This,
LPCWSTR pszPath,
FFFP_MODE mode,
IKnownFolder **ppkf);
HRESULT (STDMETHODCALLTYPE *FindFolderFromIDList)(
IKnownFolderManager *This,
PCIDLIST_ABSOLUTE pidl,
IKnownFolder **ppkf);
HRESULT (STDMETHODCALLTYPE *Redirect)(
IKnownFolderManager *This,
REFKNOWNFOLDERID rfid,
HWND hwnd,
KF_REDIRECT_FLAGS flags,
LPCWSTR pszTargetPath,
UINT cFolders,
const KNOWNFOLDERID *pExclusion,
LPWSTR *ppszError);
END_INTERFACE
} IKnownFolderManagerVtbl;
interface IKnownFolderManager {
CONST_VTBL IKnownFolderManagerVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IKnownFolderManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IKnownFolderManager_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IKnownFolderManager_Release(This) (This)->lpVtbl->Release(This)
/*** IKnownFolderManager methods ***/
#define IKnownFolderManager_FolderIdFromCsidl(This,nCsidl,pfid) (This)->lpVtbl->FolderIdFromCsidl(This,nCsidl,pfid)
#define IKnownFolderManager_FolderIdToCsidl(This,rfid,pnCsidl) (This)->lpVtbl->FolderIdToCsidl(This,rfid,pnCsidl)
#define IKnownFolderManager_GetFolderIds(This,ppKFId,pCount) (This)->lpVtbl->GetFolderIds(This,ppKFId,pCount)
#define IKnownFolderManager_GetFolder(This,rfid,ppkf) (This)->lpVtbl->GetFolder(This,rfid,ppkf)
#define IKnownFolderManager_GetFolderByName(This,pszCanonicalName,ppkf) (This)->lpVtbl->GetFolderByName(This,pszCanonicalName,ppkf)
#define IKnownFolderManager_RegisterFolder(This,rfid,pKFD) (This)->lpVtbl->RegisterFolder(This,rfid,pKFD)
#define IKnownFolderManager_UnregisterFolder(This,rfid) (This)->lpVtbl->UnregisterFolder(This,rfid)
#define IKnownFolderManager_FindFolderFromPath(This,pszPath,mode,ppkf) (This)->lpVtbl->FindFolderFromPath(This,pszPath,mode,ppkf)
#define IKnownFolderManager_FindFolderFromIDList(This,pidl,ppkf) (This)->lpVtbl->FindFolderFromIDList(This,pidl,ppkf)
#define IKnownFolderManager_Redirect(This,rfid,hwnd,flags,pszTargetPath,cFolders,pExclusion,ppszError) (This)->lpVtbl->Redirect(This,rfid,hwnd,flags,pszTargetPath,cFolders,pExclusion,ppszError)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IKnownFolderManager_QueryInterface(IKnownFolderManager* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IKnownFolderManager_AddRef(IKnownFolderManager* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IKnownFolderManager_Release(IKnownFolderManager* This) {
return This->lpVtbl->Release(This);
}
/*** IKnownFolderManager methods ***/
static FORCEINLINE HRESULT IKnownFolderManager_FolderIdFromCsidl(IKnownFolderManager* This,int nCsidl,KNOWNFOLDERID *pfid) {
return This->lpVtbl->FolderIdFromCsidl(This,nCsidl,pfid);
}
static FORCEINLINE HRESULT IKnownFolderManager_FolderIdToCsidl(IKnownFolderManager* This,REFKNOWNFOLDERID rfid,int *pnCsidl) {
return This->lpVtbl->FolderIdToCsidl(This,rfid,pnCsidl);
}
static FORCEINLINE HRESULT IKnownFolderManager_GetFolderIds(IKnownFolderManager* This,KNOWNFOLDERID **ppKFId,UINT *pCount) {
return This->lpVtbl->GetFolderIds(This,ppKFId,pCount);
}
static FORCEINLINE HRESULT IKnownFolderManager_GetFolder(IKnownFolderManager* This,REFKNOWNFOLDERID rfid,IKnownFolder **ppkf) {
return This->lpVtbl->GetFolder(This,rfid,ppkf);
}
static FORCEINLINE HRESULT IKnownFolderManager_GetFolderByName(IKnownFolderManager* This,LPCWSTR pszCanonicalName,IKnownFolder **ppkf) {
return This->lpVtbl->GetFolderByName(This,pszCanonicalName,ppkf);
}
static FORCEINLINE HRESULT IKnownFolderManager_RegisterFolder(IKnownFolderManager* This,REFKNOWNFOLDERID rfid,const KNOWNFOLDER_DEFINITION *pKFD) {
return This->lpVtbl->RegisterFolder(This,rfid,pKFD);
}
static FORCEINLINE HRESULT IKnownFolderManager_UnregisterFolder(IKnownFolderManager* This,REFKNOWNFOLDERID rfid) {
return This->lpVtbl->UnregisterFolder(This,rfid);
}
static FORCEINLINE HRESULT IKnownFolderManager_FindFolderFromPath(IKnownFolderManager* This,LPCWSTR pszPath,FFFP_MODE mode,IKnownFolder **ppkf) {
return This->lpVtbl->FindFolderFromPath(This,pszPath,mode,ppkf);
}
static FORCEINLINE HRESULT IKnownFolderManager_FindFolderFromIDList(IKnownFolderManager* This,PCIDLIST_ABSOLUTE pidl,IKnownFolder **ppkf) {
return This->lpVtbl->FindFolderFromIDList(This,pidl,ppkf);
}
static FORCEINLINE HRESULT IKnownFolderManager_Redirect(IKnownFolderManager* This,REFKNOWNFOLDERID rfid,HWND hwnd,KF_REDIRECT_FLAGS flags,LPCWSTR pszTargetPath,UINT cFolders,const KNOWNFOLDERID *pExclusion,LPWSTR *ppszError) {
return This->lpVtbl->Redirect(This,rfid,hwnd,flags,pszTargetPath,cFolders,pExclusion,ppszError);
}
#endif
#endif
#endif
HRESULT STDMETHODCALLTYPE IKnownFolderManager_RemoteRedirect_Proxy(
IKnownFolderManager* This,
REFKNOWNFOLDERID rfid,
HWND hwnd,
KF_REDIRECT_FLAGS flags,
LPCWSTR pszTargetPath,
UINT cFolders,
const GUID *pExclusion,
LPWSTR *ppszError);
void __RPC_STUB IKnownFolderManager_RemoteRedirect_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IKnownFolderManager_Redirect_Proxy(
IKnownFolderManager* This,
REFKNOWNFOLDERID rfid,
HWND hwnd,
KF_REDIRECT_FLAGS flags,
LPCWSTR pszTargetPath,
UINT cFolders,
const KNOWNFOLDERID *pExclusion,
LPWSTR *ppszError);
HRESULT __RPC_STUB IKnownFolderManager_Redirect_Stub(
IKnownFolderManager* This,
REFKNOWNFOLDERID rfid,
HWND hwnd,
KF_REDIRECT_FLAGS flags,
LPCWSTR pszTargetPath,
UINT cFolders,
const GUID *pExclusion,
LPWSTR *ppszError);
#endif /* __IKnownFolderManager_INTERFACE_DEFINED__ */
__forceinline void FreeKnownFolderDefinitionFields(KNOWNFOLDER_DEFINITION *pKFD) {
CoTaskMemFree(pKFD->pszName);
CoTaskMemFree(pKFD->pszDescription);
CoTaskMemFree(pKFD->pszRelativePath);
CoTaskMemFree(pKFD->pszParsingName);
CoTaskMemFree(pKFD->pszTooltip);
CoTaskMemFree(pKFD->pszLocalizedName);
CoTaskMemFree(pKFD->pszIcon);
CoTaskMemFree(pKFD->pszSecurity);
}
typedef enum SHARE_ROLE {
SHARE_ROLE_INVALID = -1,
SHARE_ROLE_READER = 0,
SHARE_ROLE_CONTRIBUTOR = 1,
SHARE_ROLE_CO_OWNER = 2,
SHARE_ROLE_OWNER = 3,
SHARE_ROLE_CUSTOM = 4,
SHARE_ROLE_MIXED = 5
} SHARE_ROLE;
typedef enum DEF_SHARE_ID {
DEFSHAREID_USERS = 1,
DEFSHAREID_PUBLIC = 2
} DEF_SHARE_ID;
/*****************************************************************************
* ISharingConfigurationManager interface
*/
#ifndef __ISharingConfigurationManager_INTERFACE_DEFINED__
#define __ISharingConfigurationManager_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISharingConfigurationManager, 0xb4cd448a, 0x9c86, 0x4466, 0x92,0x01, 0x2e,0x62,0x10,0x5b,0x87,0xae);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("b4cd448a-9c86-4466-9201-2e62105b87ae")
ISharingConfigurationManager : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE CreateShare(
DEF_SHARE_ID dsid,
SHARE_ROLE role) = 0;
virtual HRESULT STDMETHODCALLTYPE DeleteShare(
DEF_SHARE_ID dsid) = 0;
virtual HRESULT STDMETHODCALLTYPE ShareExists(
DEF_SHARE_ID dsid) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSharePermissions(
DEF_SHARE_ID dsid,
SHARE_ROLE *pRole) = 0;
virtual HRESULT STDMETHODCALLTYPE SharePrinters(
) = 0;
virtual HRESULT STDMETHODCALLTYPE StopSharingPrinters(
) = 0;
virtual HRESULT STDMETHODCALLTYPE ArePrintersShared(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISharingConfigurationManager, 0xb4cd448a, 0x9c86, 0x4466, 0x92,0x01, 0x2e,0x62,0x10,0x5b,0x87,0xae)
#endif
#else
typedef struct ISharingConfigurationManagerVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISharingConfigurationManager *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISharingConfigurationManager *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISharingConfigurationManager *This);
/*** ISharingConfigurationManager methods ***/
HRESULT (STDMETHODCALLTYPE *CreateShare)(
ISharingConfigurationManager *This,
DEF_SHARE_ID dsid,
SHARE_ROLE role);
HRESULT (STDMETHODCALLTYPE *DeleteShare)(
ISharingConfigurationManager *This,
DEF_SHARE_ID dsid);
HRESULT (STDMETHODCALLTYPE *ShareExists)(
ISharingConfigurationManager *This,
DEF_SHARE_ID dsid);
HRESULT (STDMETHODCALLTYPE *GetSharePermissions)(
ISharingConfigurationManager *This,
DEF_SHARE_ID dsid,
SHARE_ROLE *pRole);
HRESULT (STDMETHODCALLTYPE *SharePrinters)(
ISharingConfigurationManager *This);
HRESULT (STDMETHODCALLTYPE *StopSharingPrinters)(
ISharingConfigurationManager *This);
HRESULT (STDMETHODCALLTYPE *ArePrintersShared)(
ISharingConfigurationManager *This);
END_INTERFACE
} ISharingConfigurationManagerVtbl;
interface ISharingConfigurationManager {
CONST_VTBL ISharingConfigurationManagerVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISharingConfigurationManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISharingConfigurationManager_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISharingConfigurationManager_Release(This) (This)->lpVtbl->Release(This)
/*** ISharingConfigurationManager methods ***/
#define ISharingConfigurationManager_CreateShare(This,dsid,role) (This)->lpVtbl->CreateShare(This,dsid,role)
#define ISharingConfigurationManager_DeleteShare(This,dsid) (This)->lpVtbl->DeleteShare(This,dsid)
#define ISharingConfigurationManager_ShareExists(This,dsid) (This)->lpVtbl->ShareExists(This,dsid)
#define ISharingConfigurationManager_GetSharePermissions(This,dsid,pRole) (This)->lpVtbl->GetSharePermissions(This,dsid,pRole)
#define ISharingConfigurationManager_SharePrinters(This) (This)->lpVtbl->SharePrinters(This)
#define ISharingConfigurationManager_StopSharingPrinters(This) (This)->lpVtbl->StopSharingPrinters(This)
#define ISharingConfigurationManager_ArePrintersShared(This) (This)->lpVtbl->ArePrintersShared(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISharingConfigurationManager_QueryInterface(ISharingConfigurationManager* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISharingConfigurationManager_AddRef(ISharingConfigurationManager* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISharingConfigurationManager_Release(ISharingConfigurationManager* This) {
return This->lpVtbl->Release(This);
}
/*** ISharingConfigurationManager methods ***/
static FORCEINLINE HRESULT ISharingConfigurationManager_CreateShare(ISharingConfigurationManager* This,DEF_SHARE_ID dsid,SHARE_ROLE role) {
return This->lpVtbl->CreateShare(This,dsid,role);
}
static FORCEINLINE HRESULT ISharingConfigurationManager_DeleteShare(ISharingConfigurationManager* This,DEF_SHARE_ID dsid) {
return This->lpVtbl->DeleteShare(This,dsid);
}
static FORCEINLINE HRESULT ISharingConfigurationManager_ShareExists(ISharingConfigurationManager* This,DEF_SHARE_ID dsid) {
return This->lpVtbl->ShareExists(This,dsid);
}
static FORCEINLINE HRESULT ISharingConfigurationManager_GetSharePermissions(ISharingConfigurationManager* This,DEF_SHARE_ID dsid,SHARE_ROLE *pRole) {
return This->lpVtbl->GetSharePermissions(This,dsid,pRole);
}
static FORCEINLINE HRESULT ISharingConfigurationManager_SharePrinters(ISharingConfigurationManager* This) {
return This->lpVtbl->SharePrinters(This);
}
static FORCEINLINE HRESULT ISharingConfigurationManager_StopSharingPrinters(ISharingConfigurationManager* This) {
return This->lpVtbl->StopSharingPrinters(This);
}
static FORCEINLINE HRESULT ISharingConfigurationManager_ArePrintersShared(ISharingConfigurationManager* This) {
return This->lpVtbl->ArePrintersShared(This);
}
#endif
#endif
#endif
#endif /* __ISharingConfigurationManager_INTERFACE_DEFINED__ */
#endif
/*****************************************************************************
* IPreviousVersionsInfo interface
*/
#ifndef __IPreviousVersionsInfo_INTERFACE_DEFINED__
#define __IPreviousVersionsInfo_INTERFACE_DEFINED__
DEFINE_GUID(IID_IPreviousVersionsInfo, 0x76e54780, 0xad74, 0x48e3, 0xa6,0x95, 0x3b,0xa9,0xa0,0xaf,0xf1,0x0d);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("76e54780-ad74-48e3-a695-3ba9a0aff10d")
IPreviousVersionsInfo : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE AreSnapshotsAvailable(
LPCWSTR pszPath,
WINBOOL fOkToBeSlow,
WINBOOL *pfAvailable) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IPreviousVersionsInfo, 0x76e54780, 0xad74, 0x48e3, 0xa6,0x95, 0x3b,0xa9,0xa0,0xaf,0xf1,0x0d)
#endif
#else
typedef struct IPreviousVersionsInfoVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IPreviousVersionsInfo *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IPreviousVersionsInfo *This);
ULONG (STDMETHODCALLTYPE *Release)(
IPreviousVersionsInfo *This);
/*** IPreviousVersionsInfo methods ***/
HRESULT (STDMETHODCALLTYPE *AreSnapshotsAvailable)(
IPreviousVersionsInfo *This,
LPCWSTR pszPath,
WINBOOL fOkToBeSlow,
WINBOOL *pfAvailable);
END_INTERFACE
} IPreviousVersionsInfoVtbl;
interface IPreviousVersionsInfo {
CONST_VTBL IPreviousVersionsInfoVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IPreviousVersionsInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IPreviousVersionsInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IPreviousVersionsInfo_Release(This) (This)->lpVtbl->Release(This)
/*** IPreviousVersionsInfo methods ***/
#define IPreviousVersionsInfo_AreSnapshotsAvailable(This,pszPath,fOkToBeSlow,pfAvailable) (This)->lpVtbl->AreSnapshotsAvailable(This,pszPath,fOkToBeSlow,pfAvailable)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IPreviousVersionsInfo_QueryInterface(IPreviousVersionsInfo* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IPreviousVersionsInfo_AddRef(IPreviousVersionsInfo* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IPreviousVersionsInfo_Release(IPreviousVersionsInfo* This) {
return This->lpVtbl->Release(This);
}
/*** IPreviousVersionsInfo methods ***/
static FORCEINLINE HRESULT IPreviousVersionsInfo_AreSnapshotsAvailable(IPreviousVersionsInfo* This,LPCWSTR pszPath,WINBOOL fOkToBeSlow,WINBOOL *pfAvailable) {
return This->lpVtbl->AreSnapshotsAvailable(This,pszPath,fOkToBeSlow,pfAvailable);
}
#endif
#endif
#endif
#endif /* __IPreviousVersionsInfo_INTERFACE_DEFINED__ */
#if NTDDI_VERSION >= NTDDI_VISTA
/*****************************************************************************
* IRelatedItem interface
*/
#ifndef __IRelatedItem_INTERFACE_DEFINED__
#define __IRelatedItem_INTERFACE_DEFINED__
DEFINE_GUID(IID_IRelatedItem, 0xa73ce67a, 0x8ab1, 0x44f1, 0x8d,0x43, 0xd2,0xfc,0xbf,0x6b,0x1c,0xd0);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("a73ce67a-8ab1-44f1-8d43-d2fcbf6b1cd0")
IRelatedItem : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetItemIDList(
PIDLIST_ABSOLUTE *ppidl) = 0;
virtual HRESULT STDMETHODCALLTYPE GetItem(
IShellItem **ppsi) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IRelatedItem, 0xa73ce67a, 0x8ab1, 0x44f1, 0x8d,0x43, 0xd2,0xfc,0xbf,0x6b,0x1c,0xd0)
#endif
#else
typedef struct IRelatedItemVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IRelatedItem *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IRelatedItem *This);
ULONG (STDMETHODCALLTYPE *Release)(
IRelatedItem *This);
/*** IRelatedItem methods ***/
HRESULT (STDMETHODCALLTYPE *GetItemIDList)(
IRelatedItem *This,
PIDLIST_ABSOLUTE *ppidl);
HRESULT (STDMETHODCALLTYPE *GetItem)(
IRelatedItem *This,
IShellItem **ppsi);
END_INTERFACE
} IRelatedItemVtbl;
interface IRelatedItem {
CONST_VTBL IRelatedItemVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IRelatedItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IRelatedItem_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IRelatedItem_Release(This) (This)->lpVtbl->Release(This)
/*** IRelatedItem methods ***/
#define IRelatedItem_GetItemIDList(This,ppidl) (This)->lpVtbl->GetItemIDList(This,ppidl)
#define IRelatedItem_GetItem(This,ppsi) (This)->lpVtbl->GetItem(This,ppsi)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IRelatedItem_QueryInterface(IRelatedItem* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IRelatedItem_AddRef(IRelatedItem* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IRelatedItem_Release(IRelatedItem* This) {
return This->lpVtbl->Release(This);
}
/*** IRelatedItem methods ***/
static FORCEINLINE HRESULT IRelatedItem_GetItemIDList(IRelatedItem* This,PIDLIST_ABSOLUTE *ppidl) {
return This->lpVtbl->GetItemIDList(This,ppidl);
}
static FORCEINLINE HRESULT IRelatedItem_GetItem(IRelatedItem* This,IShellItem **ppsi) {
return This->lpVtbl->GetItem(This,ppsi);
}
#endif
#endif
#endif
#endif /* __IRelatedItem_INTERFACE_DEFINED__ */
/*****************************************************************************
* IIdentityName interface
*/
#ifndef __IIdentityName_INTERFACE_DEFINED__
#define __IIdentityName_INTERFACE_DEFINED__
DEFINE_GUID(IID_IIdentityName, 0x7d903fca, 0xd6f9, 0x4810, 0x83,0x32, 0x94,0x6c,0x01,0x77,0xe2,0x47);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("7d903fca-d6f9-4810-8332-946c0177e247")
IIdentityName : public IRelatedItem
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IIdentityName, 0x7d903fca, 0xd6f9, 0x4810, 0x83,0x32, 0x94,0x6c,0x01,0x77,0xe2,0x47)
#endif
#else
typedef struct IIdentityNameVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IIdentityName *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IIdentityName *This);
ULONG (STDMETHODCALLTYPE *Release)(
IIdentityName *This);
/*** IRelatedItem methods ***/
HRESULT (STDMETHODCALLTYPE *GetItemIDList)(
IIdentityName *This,
PIDLIST_ABSOLUTE *ppidl);
HRESULT (STDMETHODCALLTYPE *GetItem)(
IIdentityName *This,
IShellItem **ppsi);
END_INTERFACE
} IIdentityNameVtbl;
interface IIdentityName {
CONST_VTBL IIdentityNameVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IIdentityName_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IIdentityName_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IIdentityName_Release(This) (This)->lpVtbl->Release(This)
/*** IRelatedItem methods ***/
#define IIdentityName_GetItemIDList(This,ppidl) (This)->lpVtbl->GetItemIDList(This,ppidl)
#define IIdentityName_GetItem(This,ppsi) (This)->lpVtbl->GetItem(This,ppsi)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IIdentityName_QueryInterface(IIdentityName* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IIdentityName_AddRef(IIdentityName* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IIdentityName_Release(IIdentityName* This) {
return This->lpVtbl->Release(This);
}
/*** IRelatedItem methods ***/
static FORCEINLINE HRESULT IIdentityName_GetItemIDList(IIdentityName* This,PIDLIST_ABSOLUTE *ppidl) {
return This->lpVtbl->GetItemIDList(This,ppidl);
}
static FORCEINLINE HRESULT IIdentityName_GetItem(IIdentityName* This,IShellItem **ppsi) {
return This->lpVtbl->GetItem(This,ppsi);
}
#endif
#endif
#endif
#endif /* __IIdentityName_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDelegateItem interface
*/
#ifndef __IDelegateItem_INTERFACE_DEFINED__
#define __IDelegateItem_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDelegateItem, 0x3c5a1c94, 0xc951, 0x4cb7, 0xbb,0x6d, 0x3b,0x93,0xf3,0x0c,0xce,0x93);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3c5a1c94-c951-4cb7-bb6d-3b93f30cce93")
IDelegateItem : public IRelatedItem
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDelegateItem, 0x3c5a1c94, 0xc951, 0x4cb7, 0xbb,0x6d, 0x3b,0x93,0xf3,0x0c,0xce,0x93)
#endif
#else
typedef struct IDelegateItemVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDelegateItem *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDelegateItem *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDelegateItem *This);
/*** IRelatedItem methods ***/
HRESULT (STDMETHODCALLTYPE *GetItemIDList)(
IDelegateItem *This,
PIDLIST_ABSOLUTE *ppidl);
HRESULT (STDMETHODCALLTYPE *GetItem)(
IDelegateItem *This,
IShellItem **ppsi);
END_INTERFACE
} IDelegateItemVtbl;
interface IDelegateItem {
CONST_VTBL IDelegateItemVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDelegateItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDelegateItem_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDelegateItem_Release(This) (This)->lpVtbl->Release(This)
/*** IRelatedItem methods ***/
#define IDelegateItem_GetItemIDList(This,ppidl) (This)->lpVtbl->GetItemIDList(This,ppidl)
#define IDelegateItem_GetItem(This,ppsi) (This)->lpVtbl->GetItem(This,ppsi)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDelegateItem_QueryInterface(IDelegateItem* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDelegateItem_AddRef(IDelegateItem* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDelegateItem_Release(IDelegateItem* This) {
return This->lpVtbl->Release(This);
}
/*** IRelatedItem methods ***/
static FORCEINLINE HRESULT IDelegateItem_GetItemIDList(IDelegateItem* This,PIDLIST_ABSOLUTE *ppidl) {
return This->lpVtbl->GetItemIDList(This,ppidl);
}
static FORCEINLINE HRESULT IDelegateItem_GetItem(IDelegateItem* This,IShellItem **ppsi) {
return This->lpVtbl->GetItem(This,ppsi);
}
#endif
#endif
#endif
#endif /* __IDelegateItem_INTERFACE_DEFINED__ */
/*****************************************************************************
* ICurrentItem interface
*/
#ifndef __ICurrentItem_INTERFACE_DEFINED__
#define __ICurrentItem_INTERFACE_DEFINED__
DEFINE_GUID(IID_ICurrentItem, 0x240a7174, 0xd653, 0x4a1d, 0xa6,0xd3, 0xd4,0x94,0x3c,0xfb,0xfe,0x3d);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("240a7174-d653-4a1d-a6d3-d4943cfbfe3d")
ICurrentItem : public IRelatedItem
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ICurrentItem, 0x240a7174, 0xd653, 0x4a1d, 0xa6,0xd3, 0xd4,0x94,0x3c,0xfb,0xfe,0x3d)
#endif
#else
typedef struct ICurrentItemVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ICurrentItem *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ICurrentItem *This);
ULONG (STDMETHODCALLTYPE *Release)(
ICurrentItem *This);
/*** IRelatedItem methods ***/
HRESULT (STDMETHODCALLTYPE *GetItemIDList)(
ICurrentItem *This,
PIDLIST_ABSOLUTE *ppidl);
HRESULT (STDMETHODCALLTYPE *GetItem)(
ICurrentItem *This,
IShellItem **ppsi);
END_INTERFACE
} ICurrentItemVtbl;
interface ICurrentItem {
CONST_VTBL ICurrentItemVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ICurrentItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ICurrentItem_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ICurrentItem_Release(This) (This)->lpVtbl->Release(This)
/*** IRelatedItem methods ***/
#define ICurrentItem_GetItemIDList(This,ppidl) (This)->lpVtbl->GetItemIDList(This,ppidl)
#define ICurrentItem_GetItem(This,ppsi) (This)->lpVtbl->GetItem(This,ppsi)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ICurrentItem_QueryInterface(ICurrentItem* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ICurrentItem_AddRef(ICurrentItem* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ICurrentItem_Release(ICurrentItem* This) {
return This->lpVtbl->Release(This);
}
/*** IRelatedItem methods ***/
static FORCEINLINE HRESULT ICurrentItem_GetItemIDList(ICurrentItem* This,PIDLIST_ABSOLUTE *ppidl) {
return This->lpVtbl->GetItemIDList(This,ppidl);
}
static FORCEINLINE HRESULT ICurrentItem_GetItem(ICurrentItem* This,IShellItem **ppsi) {
return This->lpVtbl->GetItem(This,ppsi);
}
#endif
#endif
#endif
#endif /* __ICurrentItem_INTERFACE_DEFINED__ */
/*****************************************************************************
* ITransferMediumItem interface
*/
#ifndef __ITransferMediumItem_INTERFACE_DEFINED__
#define __ITransferMediumItem_INTERFACE_DEFINED__
DEFINE_GUID(IID_ITransferMediumItem, 0x77f295d5, 0x2d6f, 0x4e19, 0xb8,0xae, 0x32,0x2f,0x3e,0x72,0x1a,0xb5);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("77f295d5-2d6f-4e19-b8ae-322f3e721ab5")
ITransferMediumItem : public IRelatedItem
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ITransferMediumItem, 0x77f295d5, 0x2d6f, 0x4e19, 0xb8,0xae, 0x32,0x2f,0x3e,0x72,0x1a,0xb5)
#endif
#else
typedef struct ITransferMediumItemVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ITransferMediumItem *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ITransferMediumItem *This);
ULONG (STDMETHODCALLTYPE *Release)(
ITransferMediumItem *This);
/*** IRelatedItem methods ***/
HRESULT (STDMETHODCALLTYPE *GetItemIDList)(
ITransferMediumItem *This,
PIDLIST_ABSOLUTE *ppidl);
HRESULT (STDMETHODCALLTYPE *GetItem)(
ITransferMediumItem *This,
IShellItem **ppsi);
END_INTERFACE
} ITransferMediumItemVtbl;
interface ITransferMediumItem {
CONST_VTBL ITransferMediumItemVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ITransferMediumItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ITransferMediumItem_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ITransferMediumItem_Release(This) (This)->lpVtbl->Release(This)
/*** IRelatedItem methods ***/
#define ITransferMediumItem_GetItemIDList(This,ppidl) (This)->lpVtbl->GetItemIDList(This,ppidl)
#define ITransferMediumItem_GetItem(This,ppsi) (This)->lpVtbl->GetItem(This,ppsi)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ITransferMediumItem_QueryInterface(ITransferMediumItem* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ITransferMediumItem_AddRef(ITransferMediumItem* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ITransferMediumItem_Release(ITransferMediumItem* This) {
return This->lpVtbl->Release(This);
}
/*** IRelatedItem methods ***/
static FORCEINLINE HRESULT ITransferMediumItem_GetItemIDList(ITransferMediumItem* This,PIDLIST_ABSOLUTE *ppidl) {
return This->lpVtbl->GetItemIDList(This,ppidl);
}
static FORCEINLINE HRESULT ITransferMediumItem_GetItem(ITransferMediumItem* This,IShellItem **ppsi) {
return This->lpVtbl->GetItem(This,ppsi);
}
#endif
#endif
#endif
#endif /* __ITransferMediumItem_INTERFACE_DEFINED__ */
/*****************************************************************************
* IUseToBrowseItem interface
*/
#ifndef __IUseToBrowseItem_INTERFACE_DEFINED__
#define __IUseToBrowseItem_INTERFACE_DEFINED__
DEFINE_GUID(IID_IUseToBrowseItem, 0x05edda5c, 0x98a3, 0x4717, 0x8a,0xdb, 0xc5,0xe7,0xda,0x99,0x1e,0xb1);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("05edda5c-98a3-4717-8adb-c5e7da991eb1")
IUseToBrowseItem : public IRelatedItem
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IUseToBrowseItem, 0x05edda5c, 0x98a3, 0x4717, 0x8a,0xdb, 0xc5,0xe7,0xda,0x99,0x1e,0xb1)
#endif
#else
typedef struct IUseToBrowseItemVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IUseToBrowseItem *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IUseToBrowseItem *This);
ULONG (STDMETHODCALLTYPE *Release)(
IUseToBrowseItem *This);
/*** IRelatedItem methods ***/
HRESULT (STDMETHODCALLTYPE *GetItemIDList)(
IUseToBrowseItem *This,
PIDLIST_ABSOLUTE *ppidl);
HRESULT (STDMETHODCALLTYPE *GetItem)(
IUseToBrowseItem *This,
IShellItem **ppsi);
END_INTERFACE
} IUseToBrowseItemVtbl;
interface IUseToBrowseItem {
CONST_VTBL IUseToBrowseItemVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IUseToBrowseItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IUseToBrowseItem_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IUseToBrowseItem_Release(This) (This)->lpVtbl->Release(This)
/*** IRelatedItem methods ***/
#define IUseToBrowseItem_GetItemIDList(This,ppidl) (This)->lpVtbl->GetItemIDList(This,ppidl)
#define IUseToBrowseItem_GetItem(This,ppsi) (This)->lpVtbl->GetItem(This,ppsi)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IUseToBrowseItem_QueryInterface(IUseToBrowseItem* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IUseToBrowseItem_AddRef(IUseToBrowseItem* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IUseToBrowseItem_Release(IUseToBrowseItem* This) {
return This->lpVtbl->Release(This);
}
/*** IRelatedItem methods ***/
static FORCEINLINE HRESULT IUseToBrowseItem_GetItemIDList(IUseToBrowseItem* This,PIDLIST_ABSOLUTE *ppidl) {
return This->lpVtbl->GetItemIDList(This,ppidl);
}
static FORCEINLINE HRESULT IUseToBrowseItem_GetItem(IUseToBrowseItem* This,IShellItem **ppsi) {
return This->lpVtbl->GetItem(This,ppsi);
}
#endif
#endif
#endif
#endif /* __IUseToBrowseItem_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDisplayItem interface
*/
#ifndef __IDisplayItem_INTERFACE_DEFINED__
#define __IDisplayItem_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDisplayItem, 0xc6fd5997, 0x9f6b, 0x4888, 0x87,0x03, 0x94,0xe8,0x0e,0x8c,0xde,0x3f);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("c6fd5997-9f6b-4888-8703-94e80e8cde3f")
IDisplayItem : public IRelatedItem
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDisplayItem, 0xc6fd5997, 0x9f6b, 0x4888, 0x87,0x03, 0x94,0xe8,0x0e,0x8c,0xde,0x3f)
#endif
#else
typedef struct IDisplayItemVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDisplayItem *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDisplayItem *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDisplayItem *This);
/*** IRelatedItem methods ***/
HRESULT (STDMETHODCALLTYPE *GetItemIDList)(
IDisplayItem *This,
PIDLIST_ABSOLUTE *ppidl);
HRESULT (STDMETHODCALLTYPE *GetItem)(
IDisplayItem *This,
IShellItem **ppsi);
END_INTERFACE
} IDisplayItemVtbl;
interface IDisplayItem {
CONST_VTBL IDisplayItemVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDisplayItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDisplayItem_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDisplayItem_Release(This) (This)->lpVtbl->Release(This)
/*** IRelatedItem methods ***/
#define IDisplayItem_GetItemIDList(This,ppidl) (This)->lpVtbl->GetItemIDList(This,ppidl)
#define IDisplayItem_GetItem(This,ppsi) (This)->lpVtbl->GetItem(This,ppsi)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDisplayItem_QueryInterface(IDisplayItem* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDisplayItem_AddRef(IDisplayItem* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDisplayItem_Release(IDisplayItem* This) {
return This->lpVtbl->Release(This);
}
/*** IRelatedItem methods ***/
static FORCEINLINE HRESULT IDisplayItem_GetItemIDList(IDisplayItem* This,PIDLIST_ABSOLUTE *ppidl) {
return This->lpVtbl->GetItemIDList(This,ppidl);
}
static FORCEINLINE HRESULT IDisplayItem_GetItem(IDisplayItem* This,IShellItem **ppsi) {
return This->lpVtbl->GetItem(This,ppsi);
}
#endif
#endif
#endif
#endif /* __IDisplayItem_INTERFACE_DEFINED__ */
/*****************************************************************************
* IViewStateIdentityItem interface
*/
#ifndef __IViewStateIdentityItem_INTERFACE_DEFINED__
#define __IViewStateIdentityItem_INTERFACE_DEFINED__
DEFINE_GUID(IID_IViewStateIdentityItem, 0x9d264146, 0xa94f, 0x4195, 0x9f,0x9f, 0x3b,0xb1,0x2c,0xe0,0xc9,0x55);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("9d264146-a94f-4195-9f9f-3bb12ce0c955")
IViewStateIdentityItem : public IRelatedItem
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IViewStateIdentityItem, 0x9d264146, 0xa94f, 0x4195, 0x9f,0x9f, 0x3b,0xb1,0x2c,0xe0,0xc9,0x55)
#endif
#else
typedef struct IViewStateIdentityItemVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IViewStateIdentityItem *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IViewStateIdentityItem *This);
ULONG (STDMETHODCALLTYPE *Release)(
IViewStateIdentityItem *This);
/*** IRelatedItem methods ***/
HRESULT (STDMETHODCALLTYPE *GetItemIDList)(
IViewStateIdentityItem *This,
PIDLIST_ABSOLUTE *ppidl);
HRESULT (STDMETHODCALLTYPE *GetItem)(
IViewStateIdentityItem *This,
IShellItem **ppsi);
END_INTERFACE
} IViewStateIdentityItemVtbl;
interface IViewStateIdentityItem {
CONST_VTBL IViewStateIdentityItemVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IViewStateIdentityItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IViewStateIdentityItem_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IViewStateIdentityItem_Release(This) (This)->lpVtbl->Release(This)
/*** IRelatedItem methods ***/
#define IViewStateIdentityItem_GetItemIDList(This,ppidl) (This)->lpVtbl->GetItemIDList(This,ppidl)
#define IViewStateIdentityItem_GetItem(This,ppsi) (This)->lpVtbl->GetItem(This,ppsi)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IViewStateIdentityItem_QueryInterface(IViewStateIdentityItem* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IViewStateIdentityItem_AddRef(IViewStateIdentityItem* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IViewStateIdentityItem_Release(IViewStateIdentityItem* This) {
return This->lpVtbl->Release(This);
}
/*** IRelatedItem methods ***/
static FORCEINLINE HRESULT IViewStateIdentityItem_GetItemIDList(IViewStateIdentityItem* This,PIDLIST_ABSOLUTE *ppidl) {
return This->lpVtbl->GetItemIDList(This,ppidl);
}
static FORCEINLINE HRESULT IViewStateIdentityItem_GetItem(IViewStateIdentityItem* This,IShellItem **ppsi) {
return This->lpVtbl->GetItem(This,ppsi);
}
#endif
#endif
#endif
#endif /* __IViewStateIdentityItem_INTERFACE_DEFINED__ */
/*****************************************************************************
* IPreviewItem interface
*/
#ifndef __IPreviewItem_INTERFACE_DEFINED__
#define __IPreviewItem_INTERFACE_DEFINED__
DEFINE_GUID(IID_IPreviewItem, 0x36149969, 0x0a8f, 0x49c8, 0x8b,0x00, 0x4a,0xec,0xb2,0x02,0x22,0xfb);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("36149969-0a8f-49c8-8b00-4aecb20222fb")
IPreviewItem : public IRelatedItem
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IPreviewItem, 0x36149969, 0x0a8f, 0x49c8, 0x8b,0x00, 0x4a,0xec,0xb2,0x02,0x22,0xfb)
#endif
#else
typedef struct IPreviewItemVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IPreviewItem *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IPreviewItem *This);
ULONG (STDMETHODCALLTYPE *Release)(
IPreviewItem *This);
/*** IRelatedItem methods ***/
HRESULT (STDMETHODCALLTYPE *GetItemIDList)(
IPreviewItem *This,
PIDLIST_ABSOLUTE *ppidl);
HRESULT (STDMETHODCALLTYPE *GetItem)(
IPreviewItem *This,
IShellItem **ppsi);
END_INTERFACE
} IPreviewItemVtbl;
interface IPreviewItem {
CONST_VTBL IPreviewItemVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IPreviewItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IPreviewItem_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IPreviewItem_Release(This) (This)->lpVtbl->Release(This)
/*** IRelatedItem methods ***/
#define IPreviewItem_GetItemIDList(This,ppidl) (This)->lpVtbl->GetItemIDList(This,ppidl)
#define IPreviewItem_GetItem(This,ppsi) (This)->lpVtbl->GetItem(This,ppsi)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IPreviewItem_QueryInterface(IPreviewItem* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IPreviewItem_AddRef(IPreviewItem* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IPreviewItem_Release(IPreviewItem* This) {
return This->lpVtbl->Release(This);
}
/*** IRelatedItem methods ***/
static FORCEINLINE HRESULT IPreviewItem_GetItemIDList(IPreviewItem* This,PIDLIST_ABSOLUTE *ppidl) {
return This->lpVtbl->GetItemIDList(This,ppidl);
}
static FORCEINLINE HRESULT IPreviewItem_GetItem(IPreviewItem* This,IShellItem **ppsi) {
return This->lpVtbl->GetItem(This,ppsi);
}
#endif
#endif
#endif
#endif /* __IPreviewItem_INTERFACE_DEFINED__ */
#endif
/*****************************************************************************
* IDestinationStreamFactory interface
*/
#ifndef __IDestinationStreamFactory_INTERFACE_DEFINED__
#define __IDestinationStreamFactory_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDestinationStreamFactory, 0x8a87781b, 0x39a7, 0x4a1f, 0xaa,0xb3, 0xa3,0x9b,0x9c,0x34,0xa7,0xd9);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("8a87781b-39a7-4a1f-aab3-a39b9c34a7d9")
IDestinationStreamFactory : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetDestinationStream(
IStream **ppstm) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDestinationStreamFactory, 0x8a87781b, 0x39a7, 0x4a1f, 0xaa,0xb3, 0xa3,0x9b,0x9c,0x34,0xa7,0xd9)
#endif
#else
typedef struct IDestinationStreamFactoryVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDestinationStreamFactory *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDestinationStreamFactory *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDestinationStreamFactory *This);
/*** IDestinationStreamFactory methods ***/
HRESULT (STDMETHODCALLTYPE *GetDestinationStream)(
IDestinationStreamFactory *This,
IStream **ppstm);
END_INTERFACE
} IDestinationStreamFactoryVtbl;
interface IDestinationStreamFactory {
CONST_VTBL IDestinationStreamFactoryVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDestinationStreamFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDestinationStreamFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDestinationStreamFactory_Release(This) (This)->lpVtbl->Release(This)
/*** IDestinationStreamFactory methods ***/
#define IDestinationStreamFactory_GetDestinationStream(This,ppstm) (This)->lpVtbl->GetDestinationStream(This,ppstm)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDestinationStreamFactory_QueryInterface(IDestinationStreamFactory* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDestinationStreamFactory_AddRef(IDestinationStreamFactory* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDestinationStreamFactory_Release(IDestinationStreamFactory* This) {
return This->lpVtbl->Release(This);
}
/*** IDestinationStreamFactory methods ***/
static FORCEINLINE HRESULT IDestinationStreamFactory_GetDestinationStream(IDestinationStreamFactory* This,IStream **ppstm) {
return This->lpVtbl->GetDestinationStream(This,ppstm);
}
#endif
#endif
#endif
#endif /* __IDestinationStreamFactory_INTERFACE_DEFINED__ */
enum _NMCII_FLAGS {
NMCII_NONE = 0x0,
NMCII_ITEMS = 0x1,
NMCII_FOLDERS = 0x2
};
typedef int NMCII_FLAGS;
enum _NMCSAEI_FLAGS {
NMCSAEI_SELECT = 0x0,
NMCSAEI_EDIT = 0x1
};
typedef int NMCSAEI_FLAGS;
/*****************************************************************************
* INewMenuClient interface
*/
#ifndef __INewMenuClient_INTERFACE_DEFINED__
#define __INewMenuClient_INTERFACE_DEFINED__
DEFINE_GUID(IID_INewMenuClient, 0xdcb07fdc, 0x3bb5, 0x451c, 0x90,0xbe, 0x96,0x66,0x44,0xfe,0xd7,0xb0);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("dcb07fdc-3bb5-451c-90be-966644fed7b0")
INewMenuClient : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE IncludeItems(
NMCII_FLAGS *pflags) = 0;
virtual HRESULT STDMETHODCALLTYPE SelectAndEditItem(
PCIDLIST_ABSOLUTE pidlItem,
NMCSAEI_FLAGS flags) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(INewMenuClient, 0xdcb07fdc, 0x3bb5, 0x451c, 0x90,0xbe, 0x96,0x66,0x44,0xfe,0xd7,0xb0)
#endif
#else
typedef struct INewMenuClientVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
INewMenuClient *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
INewMenuClient *This);
ULONG (STDMETHODCALLTYPE *Release)(
INewMenuClient *This);
/*** INewMenuClient methods ***/
HRESULT (STDMETHODCALLTYPE *IncludeItems)(
INewMenuClient *This,
NMCII_FLAGS *pflags);
HRESULT (STDMETHODCALLTYPE *SelectAndEditItem)(
INewMenuClient *This,
PCIDLIST_ABSOLUTE pidlItem,
NMCSAEI_FLAGS flags);
END_INTERFACE
} INewMenuClientVtbl;
interface INewMenuClient {
CONST_VTBL INewMenuClientVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define INewMenuClient_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define INewMenuClient_AddRef(This) (This)->lpVtbl->AddRef(This)
#define INewMenuClient_Release(This) (This)->lpVtbl->Release(This)
/*** INewMenuClient methods ***/
#define INewMenuClient_IncludeItems(This,pflags) (This)->lpVtbl->IncludeItems(This,pflags)
#define INewMenuClient_SelectAndEditItem(This,pidlItem,flags) (This)->lpVtbl->SelectAndEditItem(This,pidlItem,flags)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT INewMenuClient_QueryInterface(INewMenuClient* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG INewMenuClient_AddRef(INewMenuClient* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG INewMenuClient_Release(INewMenuClient* This) {
return This->lpVtbl->Release(This);
}
/*** INewMenuClient methods ***/
static FORCEINLINE HRESULT INewMenuClient_IncludeItems(INewMenuClient* This,NMCII_FLAGS *pflags) {
return This->lpVtbl->IncludeItems(This,pflags);
}
static FORCEINLINE HRESULT INewMenuClient_SelectAndEditItem(INewMenuClient* This,PCIDLIST_ABSOLUTE pidlItem,NMCSAEI_FLAGS flags) {
return This->lpVtbl->SelectAndEditItem(This,pidlItem,flags);
}
#endif
#endif
#endif
#endif /* __INewMenuClient_INTERFACE_DEFINED__ */
#define SID_SNewMenuClient IID_INewMenuClient
DEFINE_GUID(SID_SCommandBarState, 0xB99EAA5C, 0x3850, 0x4400, 0xBC, 0x33, 0x2C, 0xE5, 0x34, 0x04, 0x8B, 0xF8);
#if _WIN32_IE >= _WIN32_IE_IE70
/*****************************************************************************
* IInitializeWithBindCtx interface
*/
#ifndef __IInitializeWithBindCtx_INTERFACE_DEFINED__
#define __IInitializeWithBindCtx_INTERFACE_DEFINED__
DEFINE_GUID(IID_IInitializeWithBindCtx, 0x71c0d2bc, 0x726d, 0x45cc, 0xa6,0xc0, 0x2e,0x31,0xc1,0xdb,0x21,0x59);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("71c0d2bc-726d-45cc-a6c0-2e31c1db2159")
IInitializeWithBindCtx : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Initialize(
IBindCtx *pbc) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IInitializeWithBindCtx, 0x71c0d2bc, 0x726d, 0x45cc, 0xa6,0xc0, 0x2e,0x31,0xc1,0xdb,0x21,0x59)
#endif
#else
typedef struct IInitializeWithBindCtxVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IInitializeWithBindCtx *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IInitializeWithBindCtx *This);
ULONG (STDMETHODCALLTYPE *Release)(
IInitializeWithBindCtx *This);
/*** IInitializeWithBindCtx methods ***/
HRESULT (STDMETHODCALLTYPE *Initialize)(
IInitializeWithBindCtx *This,
IBindCtx *pbc);
END_INTERFACE
} IInitializeWithBindCtxVtbl;
interface IInitializeWithBindCtx {
CONST_VTBL IInitializeWithBindCtxVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IInitializeWithBindCtx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IInitializeWithBindCtx_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IInitializeWithBindCtx_Release(This) (This)->lpVtbl->Release(This)
/*** IInitializeWithBindCtx methods ***/
#define IInitializeWithBindCtx_Initialize(This,pbc) (This)->lpVtbl->Initialize(This,pbc)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IInitializeWithBindCtx_QueryInterface(IInitializeWithBindCtx* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IInitializeWithBindCtx_AddRef(IInitializeWithBindCtx* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IInitializeWithBindCtx_Release(IInitializeWithBindCtx* This) {
return This->lpVtbl->Release(This);
}
/*** IInitializeWithBindCtx methods ***/
static FORCEINLINE HRESULT IInitializeWithBindCtx_Initialize(IInitializeWithBindCtx* This,IBindCtx *pbc) {
return This->lpVtbl->Initialize(This,pbc);
}
#endif
#endif
#endif
#endif /* __IInitializeWithBindCtx_INTERFACE_DEFINED__ */
/*****************************************************************************
* IShellItemFilter interface
*/
#ifndef __IShellItemFilter_INTERFACE_DEFINED__
#define __IShellItemFilter_INTERFACE_DEFINED__
DEFINE_GUID(IID_IShellItemFilter, 0x2659b475, 0xeeb8, 0x48b7, 0x8f,0x07, 0xb3,0x78,0x81,0x0f,0x48,0xcf);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("2659b475-eeb8-48b7-8f07-b378810f48cf")
IShellItemFilter : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE IncludeItem(
IShellItem *psi) = 0;
virtual HRESULT STDMETHODCALLTYPE GetEnumFlagsForItem(
IShellItem *psi,
SHCONTF *pgrfFlags) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IShellItemFilter, 0x2659b475, 0xeeb8, 0x48b7, 0x8f,0x07, 0xb3,0x78,0x81,0x0f,0x48,0xcf)
#endif
#else
typedef struct IShellItemFilterVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IShellItemFilter *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IShellItemFilter *This);
ULONG (STDMETHODCALLTYPE *Release)(
IShellItemFilter *This);
/*** IShellItemFilter methods ***/
HRESULT (STDMETHODCALLTYPE *IncludeItem)(
IShellItemFilter *This,
IShellItem *psi);
HRESULT (STDMETHODCALLTYPE *GetEnumFlagsForItem)(
IShellItemFilter *This,
IShellItem *psi,
SHCONTF *pgrfFlags);
END_INTERFACE
} IShellItemFilterVtbl;
interface IShellItemFilter {
CONST_VTBL IShellItemFilterVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IShellItemFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IShellItemFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IShellItemFilter_Release(This) (This)->lpVtbl->Release(This)
/*** IShellItemFilter methods ***/
#define IShellItemFilter_IncludeItem(This,psi) (This)->lpVtbl->IncludeItem(This,psi)
#define IShellItemFilter_GetEnumFlagsForItem(This,psi,pgrfFlags) (This)->lpVtbl->GetEnumFlagsForItem(This,psi,pgrfFlags)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IShellItemFilter_QueryInterface(IShellItemFilter* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IShellItemFilter_AddRef(IShellItemFilter* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IShellItemFilter_Release(IShellItemFilter* This) {
return This->lpVtbl->Release(This);
}
/*** IShellItemFilter methods ***/
static FORCEINLINE HRESULT IShellItemFilter_IncludeItem(IShellItemFilter* This,IShellItem *psi) {
return This->lpVtbl->IncludeItem(This,psi);
}
static FORCEINLINE HRESULT IShellItemFilter_GetEnumFlagsForItem(IShellItemFilter* This,IShellItem *psi,SHCONTF *pgrfFlags) {
return This->lpVtbl->GetEnumFlagsForItem(This,psi,pgrfFlags);
}
#endif
#endif
#endif
#endif /* __IShellItemFilter_INTERFACE_DEFINED__ */
#endif
/*****************************************************************************
* INameSpaceTreeControl interface
*/
#ifndef __INameSpaceTreeControl_INTERFACE_DEFINED__
#define __INameSpaceTreeControl_INTERFACE_DEFINED__
enum _NSTCSTYLE {
NSTCS_HASEXPANDOS = 0x1,
NSTCS_HASLINES = 0x2,
NSTCS_SINGLECLICKEXPAND = 0x4,
NSTCS_FULLROWSELECT = 0x8,
NSTCS_SPRINGEXPAND = 0x10,
NSTCS_HORIZONTALSCROLL = 0x20,
NSTCS_ROOTHASEXPANDO = 0x40,
NSTCS_SHOWSELECTIONALWAYS = 0x80,
NSTCS_NOINFOTIP = 0x200,
NSTCS_EVENHEIGHT = 0x400,
NSTCS_NOREPLACEOPEN = 0x800,
NSTCS_DISABLEDRAGDROP = 0x1000,
NSTCS_NOORDERSTREAM = 0x2000,
NSTCS_RICHTOOLTIP = 0x4000,
NSTCS_BORDER = 0x8000,
NSTCS_NOEDITLABELS = 0x10000,
NSTCS_TABSTOP = 0x20000,
NSTCS_FAVORITESMODE = 0x80000,
NSTCS_AUTOHSCROLL = 0x100000,
NSTCS_FADEINOUTEXPANDOS = 0x200000,
NSTCS_EMPTYTEXT = 0x400000,
NSTCS_CHECKBOXES = 0x800000,
NSTCS_PARTIALCHECKBOXES = 0x1000000,
NSTCS_EXCLUSIONCHECKBOXES = 0x2000000,
NSTCS_DIMMEDCHECKBOXES = 0x4000000,
NSTCS_NOINDENTCHECKS = 0x8000000,
NSTCS_ALLOWJUNCTIONS = 0x10000000,
NSTCS_SHOWTABSBUTTON = 0x20000000,
NSTCS_SHOWDELETEBUTTON = 0x40000000,
NSTCS_SHOWREFRESHBUTTON = (int)0x80000000
};
typedef DWORD NSTCSTYLE;
enum _NSTCROOTSTYLE {
NSTCRS_VISIBLE = 0x0,
NSTCRS_HIDDEN = 0x1,
NSTCRS_EXPANDED = 0x2
};
typedef DWORD NSTCROOTSTYLE;
enum _NSTCITEMSTATE {
NSTCIS_NONE = 0x0,
NSTCIS_SELECTED = 0x1,
NSTCIS_EXPANDED = 0x2,
NSTCIS_BOLD = 0x4,
NSTCIS_DISABLED = 0x8,
NSTCIS_SELECTEDNOEXPAND = 0x10
};
typedef DWORD NSTCITEMSTATE;
typedef enum NSTCGNI {
NSTCGNI_NEXT = 0,
NSTCGNI_NEXTVISIBLE = 1,
NSTCGNI_PREV = 2,
NSTCGNI_PREVVISIBLE = 3,
NSTCGNI_PARENT = 4,
NSTCGNI_CHILD = 5,
NSTCGNI_FIRSTVISIBLE = 6,
NSTCGNI_LASTVISIBLE = 7
} NSTCGNI;
DEFINE_GUID(IID_INameSpaceTreeControl, 0x028212a3, 0xb627, 0x47e9, 0x88,0x56, 0xc1,0x42,0x65,0x55,0x4e,0x4f);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("028212a3-b627-47e9-8856-c14265554e4f")
INameSpaceTreeControl : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Initialize(
HWND hwndParent,
RECT *prc,
NSTCSTYLE nsctsFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE TreeAdvise(
IUnknown *punk,
DWORD *pdwCookie) = 0;
virtual HRESULT STDMETHODCALLTYPE TreeUnadvise(
DWORD dwCookie) = 0;
virtual HRESULT STDMETHODCALLTYPE AppendRoot(
IShellItem *psiRoot,
SHCONTF grfEnumFlags,
NSTCROOTSTYLE grfRootStyle,
IShellItemFilter *pif) = 0;
virtual HRESULT STDMETHODCALLTYPE InsertRoot(
int iIndex,
IShellItem *psiRoot,
SHCONTF grfEnumFlags,
NSTCROOTSTYLE grfRootStyle,
IShellItemFilter *pif) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveRoot(
IShellItem *psiRoot) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveAllRoots(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetRootItems(
IShellItemArray **ppsiaRootItems) = 0;
virtual HRESULT STDMETHODCALLTYPE SetItemState(
IShellItem *psi,
NSTCITEMSTATE nstcisMask,
NSTCITEMSTATE nstcisFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetItemState(
IShellItem *psi,
NSTCITEMSTATE nstcisMask,
NSTCITEMSTATE *pnstcisFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSelectedItems(
IShellItemArray **psiaItems) = 0;
virtual HRESULT STDMETHODCALLTYPE GetItemCustomState(
IShellItem *psi,
int *piStateNumber) = 0;
virtual HRESULT STDMETHODCALLTYPE SetItemCustomState(
IShellItem *psi,
int iStateNumber) = 0;
virtual HRESULT STDMETHODCALLTYPE EnsureItemVisible(
IShellItem *psi) = 0;
virtual HRESULT STDMETHODCALLTYPE SetTheme(
LPCWSTR pszTheme) = 0;
virtual HRESULT STDMETHODCALLTYPE GetNextItem(
IShellItem *psi,
NSTCGNI nstcgi,
IShellItem **ppsiNext) = 0;
virtual HRESULT STDMETHODCALLTYPE HitTest(
POINT *ppt,
IShellItem **ppsiOut) = 0;
virtual HRESULT STDMETHODCALLTYPE GetItemRect(
IShellItem *psi,
RECT *prect) = 0;
virtual HRESULT STDMETHODCALLTYPE CollapseAll(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(INameSpaceTreeControl, 0x028212a3, 0xb627, 0x47e9, 0x88,0x56, 0xc1,0x42,0x65,0x55,0x4e,0x4f)
#endif
#else
typedef struct INameSpaceTreeControlVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
INameSpaceTreeControl *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
INameSpaceTreeControl *This);
ULONG (STDMETHODCALLTYPE *Release)(
INameSpaceTreeControl *This);
/*** INameSpaceTreeControl methods ***/
HRESULT (STDMETHODCALLTYPE *Initialize)(
INameSpaceTreeControl *This,
HWND hwndParent,
RECT *prc,
NSTCSTYLE nsctsFlags);
HRESULT (STDMETHODCALLTYPE *TreeAdvise)(
INameSpaceTreeControl *This,
IUnknown *punk,
DWORD *pdwCookie);
HRESULT (STDMETHODCALLTYPE *TreeUnadvise)(
INameSpaceTreeControl *This,
DWORD dwCookie);
HRESULT (STDMETHODCALLTYPE *AppendRoot)(
INameSpaceTreeControl *This,
IShellItem *psiRoot,
SHCONTF grfEnumFlags,
NSTCROOTSTYLE grfRootStyle,
IShellItemFilter *pif);
HRESULT (STDMETHODCALLTYPE *InsertRoot)(
INameSpaceTreeControl *This,
int iIndex,
IShellItem *psiRoot,
SHCONTF grfEnumFlags,
NSTCROOTSTYLE grfRootStyle,
IShellItemFilter *pif);
HRESULT (STDMETHODCALLTYPE *RemoveRoot)(
INameSpaceTreeControl *This,
IShellItem *psiRoot);
HRESULT (STDMETHODCALLTYPE *RemoveAllRoots)(
INameSpaceTreeControl *This);
HRESULT (STDMETHODCALLTYPE *GetRootItems)(
INameSpaceTreeControl *This,
IShellItemArray **ppsiaRootItems);
HRESULT (STDMETHODCALLTYPE *SetItemState)(
INameSpaceTreeControl *This,
IShellItem *psi,
NSTCITEMSTATE nstcisMask,
NSTCITEMSTATE nstcisFlags);
HRESULT (STDMETHODCALLTYPE *GetItemState)(
INameSpaceTreeControl *This,
IShellItem *psi,
NSTCITEMSTATE nstcisMask,
NSTCITEMSTATE *pnstcisFlags);
HRESULT (STDMETHODCALLTYPE *GetSelectedItems)(
INameSpaceTreeControl *This,
IShellItemArray **psiaItems);
HRESULT (STDMETHODCALLTYPE *GetItemCustomState)(
INameSpaceTreeControl *This,
IShellItem *psi,
int *piStateNumber);
HRESULT (STDMETHODCALLTYPE *SetItemCustomState)(
INameSpaceTreeControl *This,
IShellItem *psi,
int iStateNumber);
HRESULT (STDMETHODCALLTYPE *EnsureItemVisible)(
INameSpaceTreeControl *This,
IShellItem *psi);
HRESULT (STDMETHODCALLTYPE *SetTheme)(
INameSpaceTreeControl *This,
LPCWSTR pszTheme);
HRESULT (STDMETHODCALLTYPE *GetNextItem)(
INameSpaceTreeControl *This,
IShellItem *psi,
NSTCGNI nstcgi,
IShellItem **ppsiNext);
HRESULT (STDMETHODCALLTYPE *HitTest)(
INameSpaceTreeControl *This,
POINT *ppt,
IShellItem **ppsiOut);
HRESULT (STDMETHODCALLTYPE *GetItemRect)(
INameSpaceTreeControl *This,
IShellItem *psi,
RECT *prect);
HRESULT (STDMETHODCALLTYPE *CollapseAll)(
INameSpaceTreeControl *This);
END_INTERFACE
} INameSpaceTreeControlVtbl;
interface INameSpaceTreeControl {
CONST_VTBL INameSpaceTreeControlVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define INameSpaceTreeControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define INameSpaceTreeControl_AddRef(This) (This)->lpVtbl->AddRef(This)
#define INameSpaceTreeControl_Release(This) (This)->lpVtbl->Release(This)
/*** INameSpaceTreeControl methods ***/
#define INameSpaceTreeControl_Initialize(This,hwndParent,prc,nsctsFlags) (This)->lpVtbl->Initialize(This,hwndParent,prc,nsctsFlags)
#define INameSpaceTreeControl_TreeAdvise(This,punk,pdwCookie) (This)->lpVtbl->TreeAdvise(This,punk,pdwCookie)
#define INameSpaceTreeControl_TreeUnadvise(This,dwCookie) (This)->lpVtbl->TreeUnadvise(This,dwCookie)
#define INameSpaceTreeControl_AppendRoot(This,psiRoot,grfEnumFlags,grfRootStyle,pif) (This)->lpVtbl->AppendRoot(This,psiRoot,grfEnumFlags,grfRootStyle,pif)
#define INameSpaceTreeControl_InsertRoot(This,iIndex,psiRoot,grfEnumFlags,grfRootStyle,pif) (This)->lpVtbl->InsertRoot(This,iIndex,psiRoot,grfEnumFlags,grfRootStyle,pif)
#define INameSpaceTreeControl_RemoveRoot(This,psiRoot) (This)->lpVtbl->RemoveRoot(This,psiRoot)
#define INameSpaceTreeControl_RemoveAllRoots(This) (This)->lpVtbl->RemoveAllRoots(This)
#define INameSpaceTreeControl_GetRootItems(This,ppsiaRootItems) (This)->lpVtbl->GetRootItems(This,ppsiaRootItems)
#define INameSpaceTreeControl_SetItemState(This,psi,nstcisMask,nstcisFlags) (This)->lpVtbl->SetItemState(This,psi,nstcisMask,nstcisFlags)
#define INameSpaceTreeControl_GetItemState(This,psi,nstcisMask,pnstcisFlags) (This)->lpVtbl->GetItemState(This,psi,nstcisMask,pnstcisFlags)
#define INameSpaceTreeControl_GetSelectedItems(This,psiaItems) (This)->lpVtbl->GetSelectedItems(This,psiaItems)
#define INameSpaceTreeControl_GetItemCustomState(This,psi,piStateNumber) (This)->lpVtbl->GetItemCustomState(This,psi,piStateNumber)
#define INameSpaceTreeControl_SetItemCustomState(This,psi,iStateNumber) (This)->lpVtbl->SetItemCustomState(This,psi,iStateNumber)
#define INameSpaceTreeControl_EnsureItemVisible(This,psi) (This)->lpVtbl->EnsureItemVisible(This,psi)
#define INameSpaceTreeControl_SetTheme(This,pszTheme) (This)->lpVtbl->SetTheme(This,pszTheme)
#define INameSpaceTreeControl_GetNextItem(This,psi,nstcgi,ppsiNext) (This)->lpVtbl->GetNextItem(This,psi,nstcgi,ppsiNext)
#define INameSpaceTreeControl_HitTest(This,ppt,ppsiOut) (This)->lpVtbl->HitTest(This,ppt,ppsiOut)
#define INameSpaceTreeControl_GetItemRect(This,psi,prect) (This)->lpVtbl->GetItemRect(This,psi,prect)
#define INameSpaceTreeControl_CollapseAll(This) (This)->lpVtbl->CollapseAll(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT INameSpaceTreeControl_QueryInterface(INameSpaceTreeControl* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG INameSpaceTreeControl_AddRef(INameSpaceTreeControl* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG INameSpaceTreeControl_Release(INameSpaceTreeControl* This) {
return This->lpVtbl->Release(This);
}
/*** INameSpaceTreeControl methods ***/
static FORCEINLINE HRESULT INameSpaceTreeControl_Initialize(INameSpaceTreeControl* This,HWND hwndParent,RECT *prc,NSTCSTYLE nsctsFlags) {
return This->lpVtbl->Initialize(This,hwndParent,prc,nsctsFlags);
}
static FORCEINLINE HRESULT INameSpaceTreeControl_TreeAdvise(INameSpaceTreeControl* This,IUnknown *punk,DWORD *pdwCookie) {
return This->lpVtbl->TreeAdvise(This,punk,pdwCookie);
}
static FORCEINLINE HRESULT INameSpaceTreeControl_TreeUnadvise(INameSpaceTreeControl* This,DWORD dwCookie) {
return This->lpVtbl->TreeUnadvise(This,dwCookie);
}
static FORCEINLINE HRESULT INameSpaceTreeControl_AppendRoot(INameSpaceTreeControl* This,IShellItem *psiRoot,SHCONTF grfEnumFlags,NSTCROOTSTYLE grfRootStyle,IShellItemFilter *pif) {
return This->lpVtbl->AppendRoot(This,psiRoot,grfEnumFlags,grfRootStyle,pif);
}
static FORCEINLINE HRESULT INameSpaceTreeControl_InsertRoot(INameSpaceTreeControl* This,int iIndex,IShellItem *psiRoot,SHCONTF grfEnumFlags,NSTCROOTSTYLE grfRootStyle,IShellItemFilter *pif) {
return This->lpVtbl->InsertRoot(This,iIndex,psiRoot,grfEnumFlags,grfRootStyle,pif);
}
static FORCEINLINE HRESULT INameSpaceTreeControl_RemoveRoot(INameSpaceTreeControl* This,IShellItem *psiRoot) {
return This->lpVtbl->RemoveRoot(This,psiRoot);
}
static FORCEINLINE HRESULT INameSpaceTreeControl_RemoveAllRoots(INameSpaceTreeControl* This) {
return This->lpVtbl->RemoveAllRoots(This);
}
static FORCEINLINE HRESULT INameSpaceTreeControl_GetRootItems(INameSpaceTreeControl* This,IShellItemArray **ppsiaRootItems) {
return This->lpVtbl->GetRootItems(This,ppsiaRootItems);
}
static FORCEINLINE HRESULT INameSpaceTreeControl_SetItemState(INameSpaceTreeControl* This,IShellItem *psi,NSTCITEMSTATE nstcisMask,NSTCITEMSTATE nstcisFlags) {
return This->lpVtbl->SetItemState(This,psi,nstcisMask,nstcisFlags);
}
static FORCEINLINE HRESULT INameSpaceTreeControl_GetItemState(INameSpaceTreeControl* This,IShellItem *psi,NSTCITEMSTATE nstcisMask,NSTCITEMSTATE *pnstcisFlags) {
return This->lpVtbl->GetItemState(This,psi,nstcisMask,pnstcisFlags);
}
static FORCEINLINE HRESULT INameSpaceTreeControl_GetSelectedItems(INameSpaceTreeControl* This,IShellItemArray **psiaItems) {
return This->lpVtbl->GetSelectedItems(This,psiaItems);
}
static FORCEINLINE HRESULT INameSpaceTreeControl_GetItemCustomState(INameSpaceTreeControl* This,IShellItem *psi,int *piStateNumber) {
return This->lpVtbl->GetItemCustomState(This,psi,piStateNumber);
}
static FORCEINLINE HRESULT INameSpaceTreeControl_SetItemCustomState(INameSpaceTreeControl* This,IShellItem *psi,int iStateNumber) {
return This->lpVtbl->SetItemCustomState(This,psi,iStateNumber);
}
static FORCEINLINE HRESULT INameSpaceTreeControl_EnsureItemVisible(INameSpaceTreeControl* This,IShellItem *psi) {
return This->lpVtbl->EnsureItemVisible(This,psi);
}
static FORCEINLINE HRESULT INameSpaceTreeControl_SetTheme(INameSpaceTreeControl* This,LPCWSTR pszTheme) {
return This->lpVtbl->SetTheme(This,pszTheme);
}
static FORCEINLINE HRESULT INameSpaceTreeControl_GetNextItem(INameSpaceTreeControl* This,IShellItem *psi,NSTCGNI nstcgi,IShellItem **ppsiNext) {
return This->lpVtbl->GetNextItem(This,psi,nstcgi,ppsiNext);
}
static FORCEINLINE HRESULT INameSpaceTreeControl_HitTest(INameSpaceTreeControl* This,POINT *ppt,IShellItem **ppsiOut) {
return This->lpVtbl->HitTest(This,ppt,ppsiOut);
}
static FORCEINLINE HRESULT INameSpaceTreeControl_GetItemRect(INameSpaceTreeControl* This,IShellItem *psi,RECT *prect) {
return This->lpVtbl->GetItemRect(This,psi,prect);
}
static FORCEINLINE HRESULT INameSpaceTreeControl_CollapseAll(INameSpaceTreeControl* This) {
return This->lpVtbl->CollapseAll(This);
}
#endif
#endif
#endif
#endif /* __INameSpaceTreeControl_INTERFACE_DEFINED__ */
/*****************************************************************************
* INameSpaceTreeControl2 interface
*/
#ifndef __INameSpaceTreeControl2_INTERFACE_DEFINED__
#define __INameSpaceTreeControl2_INTERFACE_DEFINED__
typedef enum NSTCSTYLE2 {
NSTCS2_DEFAULT = 0x0,
NSTCS2_INTERRUPTNOTIFICATIONS = 0x1,
NSTCS2_SHOWNULLSPACEMENU = 0x2,
NSTCS2_DISPLAYPADDING = 0x4,
NSTCS2_DISPLAYPINNEDONLY = 0x8,
NTSCS2_NOSINGLETONAUTOEXPAND = 0x10,
NTSCS2_NEVERINSERTNONENUMERATED = 0x20
} NSTCSTYLE2;
DEFINE_ENUM_FLAG_OPERATORS(NSTCSTYLE2)
DEFINE_GUID(IID_INameSpaceTreeControl2, 0x7cc7aed8, 0x290e, 0x49bc, 0x89,0x45, 0xc1,0x40,0x1c,0xc9,0x30,0x6c);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("7cc7aed8-290e-49bc-8945-c1401cc9306c")
INameSpaceTreeControl2 : public INameSpaceTreeControl
{
virtual HRESULT STDMETHODCALLTYPE SetControlStyle(
NSTCSTYLE nstcsMask,
NSTCSTYLE nstcsStyle) = 0;
virtual HRESULT STDMETHODCALLTYPE GetControlStyle(
NSTCSTYLE nstcsMask,
NSTCSTYLE *pnstcsStyle) = 0;
virtual HRESULT STDMETHODCALLTYPE SetControlStyle2(
NSTCSTYLE2 nstcsMask,
NSTCSTYLE2 nstcsStyle) = 0;
virtual HRESULT STDMETHODCALLTYPE GetControlStyle2(
NSTCSTYLE2 nstcsMask,
NSTCSTYLE2 *pnstcsStyle) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(INameSpaceTreeControl2, 0x7cc7aed8, 0x290e, 0x49bc, 0x89,0x45, 0xc1,0x40,0x1c,0xc9,0x30,0x6c)
#endif
#else
typedef struct INameSpaceTreeControl2Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
INameSpaceTreeControl2 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
INameSpaceTreeControl2 *This);
ULONG (STDMETHODCALLTYPE *Release)(
INameSpaceTreeControl2 *This);
/*** INameSpaceTreeControl methods ***/
HRESULT (STDMETHODCALLTYPE *Initialize)(
INameSpaceTreeControl2 *This,
HWND hwndParent,
RECT *prc,
NSTCSTYLE nsctsFlags);
HRESULT (STDMETHODCALLTYPE *TreeAdvise)(
INameSpaceTreeControl2 *This,
IUnknown *punk,
DWORD *pdwCookie);
HRESULT (STDMETHODCALLTYPE *TreeUnadvise)(
INameSpaceTreeControl2 *This,
DWORD dwCookie);
HRESULT (STDMETHODCALLTYPE *AppendRoot)(
INameSpaceTreeControl2 *This,
IShellItem *psiRoot,
SHCONTF grfEnumFlags,
NSTCROOTSTYLE grfRootStyle,
IShellItemFilter *pif);
HRESULT (STDMETHODCALLTYPE *InsertRoot)(
INameSpaceTreeControl2 *This,
int iIndex,
IShellItem *psiRoot,
SHCONTF grfEnumFlags,
NSTCROOTSTYLE grfRootStyle,
IShellItemFilter *pif);
HRESULT (STDMETHODCALLTYPE *RemoveRoot)(
INameSpaceTreeControl2 *This,
IShellItem *psiRoot);
HRESULT (STDMETHODCALLTYPE *RemoveAllRoots)(
INameSpaceTreeControl2 *This);
HRESULT (STDMETHODCALLTYPE *GetRootItems)(
INameSpaceTreeControl2 *This,
IShellItemArray **ppsiaRootItems);
HRESULT (STDMETHODCALLTYPE *SetItemState)(
INameSpaceTreeControl2 *This,
IShellItem *psi,
NSTCITEMSTATE nstcisMask,
NSTCITEMSTATE nstcisFlags);
HRESULT (STDMETHODCALLTYPE *GetItemState)(
INameSpaceTreeControl2 *This,
IShellItem *psi,
NSTCITEMSTATE nstcisMask,
NSTCITEMSTATE *pnstcisFlags);
HRESULT (STDMETHODCALLTYPE *GetSelectedItems)(
INameSpaceTreeControl2 *This,
IShellItemArray **psiaItems);
HRESULT (STDMETHODCALLTYPE *GetItemCustomState)(
INameSpaceTreeControl2 *This,
IShellItem *psi,
int *piStateNumber);
HRESULT (STDMETHODCALLTYPE *SetItemCustomState)(
INameSpaceTreeControl2 *This,
IShellItem *psi,
int iStateNumber);
HRESULT (STDMETHODCALLTYPE *EnsureItemVisible)(
INameSpaceTreeControl2 *This,
IShellItem *psi);
HRESULT (STDMETHODCALLTYPE *SetTheme)(
INameSpaceTreeControl2 *This,
LPCWSTR pszTheme);
HRESULT (STDMETHODCALLTYPE *GetNextItem)(
INameSpaceTreeControl2 *This,
IShellItem *psi,
NSTCGNI nstcgi,
IShellItem **ppsiNext);
HRESULT (STDMETHODCALLTYPE *HitTest)(
INameSpaceTreeControl2 *This,
POINT *ppt,
IShellItem **ppsiOut);
HRESULT (STDMETHODCALLTYPE *GetItemRect)(
INameSpaceTreeControl2 *This,
IShellItem *psi,
RECT *prect);
HRESULT (STDMETHODCALLTYPE *CollapseAll)(
INameSpaceTreeControl2 *This);
/*** INameSpaceTreeControl2 methods ***/
HRESULT (STDMETHODCALLTYPE *SetControlStyle)(
INameSpaceTreeControl2 *This,
NSTCSTYLE nstcsMask,
NSTCSTYLE nstcsStyle);
HRESULT (STDMETHODCALLTYPE *GetControlStyle)(
INameSpaceTreeControl2 *This,
NSTCSTYLE nstcsMask,
NSTCSTYLE *pnstcsStyle);
HRESULT (STDMETHODCALLTYPE *SetControlStyle2)(
INameSpaceTreeControl2 *This,
NSTCSTYLE2 nstcsMask,
NSTCSTYLE2 nstcsStyle);
HRESULT (STDMETHODCALLTYPE *GetControlStyle2)(
INameSpaceTreeControl2 *This,
NSTCSTYLE2 nstcsMask,
NSTCSTYLE2 *pnstcsStyle);
END_INTERFACE
} INameSpaceTreeControl2Vtbl;
interface INameSpaceTreeControl2 {
CONST_VTBL INameSpaceTreeControl2Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define INameSpaceTreeControl2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define INameSpaceTreeControl2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define INameSpaceTreeControl2_Release(This) (This)->lpVtbl->Release(This)
/*** INameSpaceTreeControl methods ***/
#define INameSpaceTreeControl2_Initialize(This,hwndParent,prc,nsctsFlags) (This)->lpVtbl->Initialize(This,hwndParent,prc,nsctsFlags)
#define INameSpaceTreeControl2_TreeAdvise(This,punk,pdwCookie) (This)->lpVtbl->TreeAdvise(This,punk,pdwCookie)
#define INameSpaceTreeControl2_TreeUnadvise(This,dwCookie) (This)->lpVtbl->TreeUnadvise(This,dwCookie)
#define INameSpaceTreeControl2_AppendRoot(This,psiRoot,grfEnumFlags,grfRootStyle,pif) (This)->lpVtbl->AppendRoot(This,psiRoot,grfEnumFlags,grfRootStyle,pif)
#define INameSpaceTreeControl2_InsertRoot(This,iIndex,psiRoot,grfEnumFlags,grfRootStyle,pif) (This)->lpVtbl->InsertRoot(This,iIndex,psiRoot,grfEnumFlags,grfRootStyle,pif)
#define INameSpaceTreeControl2_RemoveRoot(This,psiRoot) (This)->lpVtbl->RemoveRoot(This,psiRoot)
#define INameSpaceTreeControl2_RemoveAllRoots(This) (This)->lpVtbl->RemoveAllRoots(This)
#define INameSpaceTreeControl2_GetRootItems(This,ppsiaRootItems) (This)->lpVtbl->GetRootItems(This,ppsiaRootItems)
#define INameSpaceTreeControl2_SetItemState(This,psi,nstcisMask,nstcisFlags) (This)->lpVtbl->SetItemState(This,psi,nstcisMask,nstcisFlags)
#define INameSpaceTreeControl2_GetItemState(This,psi,nstcisMask,pnstcisFlags) (This)->lpVtbl->GetItemState(This,psi,nstcisMask,pnstcisFlags)
#define INameSpaceTreeControl2_GetSelectedItems(This,psiaItems) (This)->lpVtbl->GetSelectedItems(This,psiaItems)
#define INameSpaceTreeControl2_GetItemCustomState(This,psi,piStateNumber) (This)->lpVtbl->GetItemCustomState(This,psi,piStateNumber)
#define INameSpaceTreeControl2_SetItemCustomState(This,psi,iStateNumber) (This)->lpVtbl->SetItemCustomState(This,psi,iStateNumber)
#define INameSpaceTreeControl2_EnsureItemVisible(This,psi) (This)->lpVtbl->EnsureItemVisible(This,psi)
#define INameSpaceTreeControl2_SetTheme(This,pszTheme) (This)->lpVtbl->SetTheme(This,pszTheme)
#define INameSpaceTreeControl2_GetNextItem(This,psi,nstcgi,ppsiNext) (This)->lpVtbl->GetNextItem(This,psi,nstcgi,ppsiNext)
#define INameSpaceTreeControl2_HitTest(This,ppt,ppsiOut) (This)->lpVtbl->HitTest(This,ppt,ppsiOut)
#define INameSpaceTreeControl2_GetItemRect(This,psi,prect) (This)->lpVtbl->GetItemRect(This,psi,prect)
#define INameSpaceTreeControl2_CollapseAll(This) (This)->lpVtbl->CollapseAll(This)
/*** INameSpaceTreeControl2 methods ***/
#define INameSpaceTreeControl2_SetControlStyle(This,nstcsMask,nstcsStyle) (This)->lpVtbl->SetControlStyle(This,nstcsMask,nstcsStyle)
#define INameSpaceTreeControl2_GetControlStyle(This,nstcsMask,pnstcsStyle) (This)->lpVtbl->GetControlStyle(This,nstcsMask,pnstcsStyle)
#define INameSpaceTreeControl2_SetControlStyle2(This,nstcsMask,nstcsStyle) (This)->lpVtbl->SetControlStyle2(This,nstcsMask,nstcsStyle)
#define INameSpaceTreeControl2_GetControlStyle2(This,nstcsMask,pnstcsStyle) (This)->lpVtbl->GetControlStyle2(This,nstcsMask,pnstcsStyle)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT INameSpaceTreeControl2_QueryInterface(INameSpaceTreeControl2* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG INameSpaceTreeControl2_AddRef(INameSpaceTreeControl2* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG INameSpaceTreeControl2_Release(INameSpaceTreeControl2* This) {
return This->lpVtbl->Release(This);
}
/*** INameSpaceTreeControl methods ***/
static FORCEINLINE HRESULT INameSpaceTreeControl2_Initialize(INameSpaceTreeControl2* This,HWND hwndParent,RECT *prc,NSTCSTYLE nsctsFlags) {
return This->lpVtbl->Initialize(This,hwndParent,prc,nsctsFlags);
}
static FORCEINLINE HRESULT INameSpaceTreeControl2_TreeAdvise(INameSpaceTreeControl2* This,IUnknown *punk,DWORD *pdwCookie) {
return This->lpVtbl->TreeAdvise(This,punk,pdwCookie);
}
static FORCEINLINE HRESULT INameSpaceTreeControl2_TreeUnadvise(INameSpaceTreeControl2* This,DWORD dwCookie) {
return This->lpVtbl->TreeUnadvise(This,dwCookie);
}
static FORCEINLINE HRESULT INameSpaceTreeControl2_AppendRoot(INameSpaceTreeControl2* This,IShellItem *psiRoot,SHCONTF grfEnumFlags,NSTCROOTSTYLE grfRootStyle,IShellItemFilter *pif) {
return This->lpVtbl->AppendRoot(This,psiRoot,grfEnumFlags,grfRootStyle,pif);
}
static FORCEINLINE HRESULT INameSpaceTreeControl2_InsertRoot(INameSpaceTreeControl2* This,int iIndex,IShellItem *psiRoot,SHCONTF grfEnumFlags,NSTCROOTSTYLE grfRootStyle,IShellItemFilter *pif) {
return This->lpVtbl->InsertRoot(This,iIndex,psiRoot,grfEnumFlags,grfRootStyle,pif);
}
static FORCEINLINE HRESULT INameSpaceTreeControl2_RemoveRoot(INameSpaceTreeControl2* This,IShellItem *psiRoot) {
return This->lpVtbl->RemoveRoot(This,psiRoot);
}
static FORCEINLINE HRESULT INameSpaceTreeControl2_RemoveAllRoots(INameSpaceTreeControl2* This) {
return This->lpVtbl->RemoveAllRoots(This);
}
static FORCEINLINE HRESULT INameSpaceTreeControl2_GetRootItems(INameSpaceTreeControl2* This,IShellItemArray **ppsiaRootItems) {
return This->lpVtbl->GetRootItems(This,ppsiaRootItems);
}
static FORCEINLINE HRESULT INameSpaceTreeControl2_SetItemState(INameSpaceTreeControl2* This,IShellItem *psi,NSTCITEMSTATE nstcisMask,NSTCITEMSTATE nstcisFlags) {
return This->lpVtbl->SetItemState(This,psi,nstcisMask,nstcisFlags);
}
static FORCEINLINE HRESULT INameSpaceTreeControl2_GetItemState(INameSpaceTreeControl2* This,IShellItem *psi,NSTCITEMSTATE nstcisMask,NSTCITEMSTATE *pnstcisFlags) {
return This->lpVtbl->GetItemState(This,psi,nstcisMask,pnstcisFlags);
}
static FORCEINLINE HRESULT INameSpaceTreeControl2_GetSelectedItems(INameSpaceTreeControl2* This,IShellItemArray **psiaItems) {
return This->lpVtbl->GetSelectedItems(This,psiaItems);
}
static FORCEINLINE HRESULT INameSpaceTreeControl2_GetItemCustomState(INameSpaceTreeControl2* This,IShellItem *psi,int *piStateNumber) {
return This->lpVtbl->GetItemCustomState(This,psi,piStateNumber);
}
static FORCEINLINE HRESULT INameSpaceTreeControl2_SetItemCustomState(INameSpaceTreeControl2* This,IShellItem *psi,int iStateNumber) {
return This->lpVtbl->SetItemCustomState(This,psi,iStateNumber);
}
static FORCEINLINE HRESULT INameSpaceTreeControl2_EnsureItemVisible(INameSpaceTreeControl2* This,IShellItem *psi) {
return This->lpVtbl->EnsureItemVisible(This,psi);
}
static FORCEINLINE HRESULT INameSpaceTreeControl2_SetTheme(INameSpaceTreeControl2* This,LPCWSTR pszTheme) {
return This->lpVtbl->SetTheme(This,pszTheme);
}
static FORCEINLINE HRESULT INameSpaceTreeControl2_GetNextItem(INameSpaceTreeControl2* This,IShellItem *psi,NSTCGNI nstcgi,IShellItem **ppsiNext) {
return This->lpVtbl->GetNextItem(This,psi,nstcgi,ppsiNext);
}
static FORCEINLINE HRESULT INameSpaceTreeControl2_HitTest(INameSpaceTreeControl2* This,POINT *ppt,IShellItem **ppsiOut) {
return This->lpVtbl->HitTest(This,ppt,ppsiOut);
}
static FORCEINLINE HRESULT INameSpaceTreeControl2_GetItemRect(INameSpaceTreeControl2* This,IShellItem *psi,RECT *prect) {
return This->lpVtbl->GetItemRect(This,psi,prect);
}
static FORCEINLINE HRESULT INameSpaceTreeControl2_CollapseAll(INameSpaceTreeControl2* This) {
return This->lpVtbl->CollapseAll(This);
}
/*** INameSpaceTreeControl2 methods ***/
static FORCEINLINE HRESULT INameSpaceTreeControl2_SetControlStyle(INameSpaceTreeControl2* This,NSTCSTYLE nstcsMask,NSTCSTYLE nstcsStyle) {
return This->lpVtbl->SetControlStyle(This,nstcsMask,nstcsStyle);
}
static FORCEINLINE HRESULT INameSpaceTreeControl2_GetControlStyle(INameSpaceTreeControl2* This,NSTCSTYLE nstcsMask,NSTCSTYLE *pnstcsStyle) {
return This->lpVtbl->GetControlStyle(This,nstcsMask,pnstcsStyle);
}
static FORCEINLINE HRESULT INameSpaceTreeControl2_SetControlStyle2(INameSpaceTreeControl2* This,NSTCSTYLE2 nstcsMask,NSTCSTYLE2 nstcsStyle) {
return This->lpVtbl->SetControlStyle2(This,nstcsMask,nstcsStyle);
}
static FORCEINLINE HRESULT INameSpaceTreeControl2_GetControlStyle2(INameSpaceTreeControl2* This,NSTCSTYLE2 nstcsMask,NSTCSTYLE2 *pnstcsStyle) {
return This->lpVtbl->GetControlStyle2(This,nstcsMask,pnstcsStyle);
}
#endif
#endif
#endif
#endif /* __INameSpaceTreeControl2_INTERFACE_DEFINED__ */
#define NSTCS2_ALLMASK (NSTCS2_INTERRUPTNOTIFICATIONS | NSTCS2_SHOWNULLSPACEMENU | NSTCS2_DISPLAYPADDING)
#define SID_SNavigationPane IID_INameSpaceTreeControl
#define ISLBUTTON(x) (NSTCECT_LBUTTON == ((x) & NSTCECT_BUTTON))
#define ISMBUTTON(x) (NSTCECT_MBUTTON == ((x) & NSTCECT_BUTTON))
#define ISRBUTTON(x) (NSTCECT_RBUTTON == ((x) & NSTCECT_BUTTON))
#define ISDBLCLICK(x) (NSTCECT_DBLCLICK == ((x) & NSTCECT_DBLCLICK))
/*****************************************************************************
* INameSpaceTreeControlEvents interface
*/
#ifndef __INameSpaceTreeControlEvents_INTERFACE_DEFINED__
#define __INameSpaceTreeControlEvents_INTERFACE_DEFINED__
enum _NSTCEHITTEST {
NSTCEHT_NOWHERE = 0x1,
NSTCEHT_ONITEMICON = 0x2,
NSTCEHT_ONITEMLABEL = 0x4,
NSTCEHT_ONITEMINDENT = 0x8,
NSTCEHT_ONITEMBUTTON = 0x10,
NSTCEHT_ONITEMRIGHT = 0x20,
NSTCEHT_ONITEMSTATEICON = 0x40,
NSTCEHT_ONITEM = 0x46,
NSTCEHT_ONITEMTABBUTTON = 0x1000
};
typedef DWORD NSTCEHITTEST;
enum _NSTCECLICKTYPE {
NSTCECT_LBUTTON = 0x1,
NSTCECT_MBUTTON = 0x2,
NSTCECT_RBUTTON = 0x3,
NSTCECT_BUTTON = 0x3,
NSTCECT_DBLCLICK = 0x4
};
typedef DWORD NSTCECLICKTYPE;
DEFINE_GUID(IID_INameSpaceTreeControlEvents, 0x93d77985, 0xb3d8, 0x4484, 0x83,0x18, 0x67,0x2c,0xdd,0xa0,0x02,0xce);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("93d77985-b3d8-4484-8318-672cdda002ce")
INameSpaceTreeControlEvents : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE OnItemClick(
IShellItem *psi,
NSTCEHITTEST nstceHitTest,
NSTCECLICKTYPE nstceClickType) = 0;
virtual HRESULT STDMETHODCALLTYPE OnPropertyItemCommit(
IShellItem *psi) = 0;
virtual HRESULT STDMETHODCALLTYPE OnItemStateChanging(
IShellItem *psi,
NSTCITEMSTATE nstcisMask,
NSTCITEMSTATE nstcisState) = 0;
virtual HRESULT STDMETHODCALLTYPE OnItemStateChanged(
IShellItem *psi,
NSTCITEMSTATE nstcisMask,
NSTCITEMSTATE nstcisState) = 0;
virtual HRESULT STDMETHODCALLTYPE OnSelectionChanged(
IShellItemArray *psiaSelection) = 0;
virtual HRESULT STDMETHODCALLTYPE OnKeyboardInput(
UINT uMsg,
WPARAM wParam,
LPARAM lParam) = 0;
virtual HRESULT STDMETHODCALLTYPE OnBeforeExpand(
IShellItem *psi) = 0;
virtual HRESULT STDMETHODCALLTYPE OnAfterExpand(
IShellItem *psi) = 0;
virtual HRESULT STDMETHODCALLTYPE OnBeginLabelEdit(
IShellItem *psi) = 0;
virtual HRESULT STDMETHODCALLTYPE OnEndLabelEdit(
IShellItem *psi) = 0;
virtual HRESULT STDMETHODCALLTYPE OnGetToolTip(
IShellItem *psi,
LPWSTR pszTip,
int cchTip) = 0;
virtual HRESULT STDMETHODCALLTYPE OnBeforeItemDelete(
IShellItem *psi) = 0;
virtual HRESULT STDMETHODCALLTYPE OnItemAdded(
IShellItem *psi,
WINBOOL fIsRoot) = 0;
virtual HRESULT STDMETHODCALLTYPE OnItemDeleted(
IShellItem *psi,
WINBOOL fIsRoot) = 0;
virtual HRESULT STDMETHODCALLTYPE OnBeforeContextMenu(
IShellItem *psi,
REFIID riid,
void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE OnAfterContextMenu(
IShellItem *psi,
IContextMenu *pcmIn,
REFIID riid,
void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE OnBeforeStateImageChange(
IShellItem *psi) = 0;
virtual HRESULT STDMETHODCALLTYPE OnGetDefaultIconIndex(
IShellItem *psi,
int *piDefaultIcon,
int *piOpenIcon) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(INameSpaceTreeControlEvents, 0x93d77985, 0xb3d8, 0x4484, 0x83,0x18, 0x67,0x2c,0xdd,0xa0,0x02,0xce)
#endif
#else
typedef struct INameSpaceTreeControlEventsVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
INameSpaceTreeControlEvents *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
INameSpaceTreeControlEvents *This);
ULONG (STDMETHODCALLTYPE *Release)(
INameSpaceTreeControlEvents *This);
/*** INameSpaceTreeControlEvents methods ***/
HRESULT (STDMETHODCALLTYPE *OnItemClick)(
INameSpaceTreeControlEvents *This,
IShellItem *psi,
NSTCEHITTEST nstceHitTest,
NSTCECLICKTYPE nstceClickType);
HRESULT (STDMETHODCALLTYPE *OnPropertyItemCommit)(
INameSpaceTreeControlEvents *This,
IShellItem *psi);
HRESULT (STDMETHODCALLTYPE *OnItemStateChanging)(
INameSpaceTreeControlEvents *This,
IShellItem *psi,
NSTCITEMSTATE nstcisMask,
NSTCITEMSTATE nstcisState);
HRESULT (STDMETHODCALLTYPE *OnItemStateChanged)(
INameSpaceTreeControlEvents *This,
IShellItem *psi,
NSTCITEMSTATE nstcisMask,
NSTCITEMSTATE nstcisState);
HRESULT (STDMETHODCALLTYPE *OnSelectionChanged)(
INameSpaceTreeControlEvents *This,
IShellItemArray *psiaSelection);
HRESULT (STDMETHODCALLTYPE *OnKeyboardInput)(
INameSpaceTreeControlEvents *This,
UINT uMsg,
WPARAM wParam,
LPARAM lParam);
HRESULT (STDMETHODCALLTYPE *OnBeforeExpand)(
INameSpaceTreeControlEvents *This,
IShellItem *psi);
HRESULT (STDMETHODCALLTYPE *OnAfterExpand)(
INameSpaceTreeControlEvents *This,
IShellItem *psi);
HRESULT (STDMETHODCALLTYPE *OnBeginLabelEdit)(
INameSpaceTreeControlEvents *This,
IShellItem *psi);
HRESULT (STDMETHODCALLTYPE *OnEndLabelEdit)(
INameSpaceTreeControlEvents *This,
IShellItem *psi);
HRESULT (STDMETHODCALLTYPE *OnGetToolTip)(
INameSpaceTreeControlEvents *This,
IShellItem *psi,
LPWSTR pszTip,
int cchTip);
HRESULT (STDMETHODCALLTYPE *OnBeforeItemDelete)(
INameSpaceTreeControlEvents *This,
IShellItem *psi);
HRESULT (STDMETHODCALLTYPE *OnItemAdded)(
INameSpaceTreeControlEvents *This,
IShellItem *psi,
WINBOOL fIsRoot);
HRESULT (STDMETHODCALLTYPE *OnItemDeleted)(
INameSpaceTreeControlEvents *This,
IShellItem *psi,
WINBOOL fIsRoot);
HRESULT (STDMETHODCALLTYPE *OnBeforeContextMenu)(
INameSpaceTreeControlEvents *This,
IShellItem *psi,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *OnAfterContextMenu)(
INameSpaceTreeControlEvents *This,
IShellItem *psi,
IContextMenu *pcmIn,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *OnBeforeStateImageChange)(
INameSpaceTreeControlEvents *This,
IShellItem *psi);
HRESULT (STDMETHODCALLTYPE *OnGetDefaultIconIndex)(
INameSpaceTreeControlEvents *This,
IShellItem *psi,
int *piDefaultIcon,
int *piOpenIcon);
END_INTERFACE
} INameSpaceTreeControlEventsVtbl;
interface INameSpaceTreeControlEvents {
CONST_VTBL INameSpaceTreeControlEventsVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define INameSpaceTreeControlEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define INameSpaceTreeControlEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
#define INameSpaceTreeControlEvents_Release(This) (This)->lpVtbl->Release(This)
/*** INameSpaceTreeControlEvents methods ***/
#define INameSpaceTreeControlEvents_OnItemClick(This,psi,nstceHitTest,nstceClickType) (This)->lpVtbl->OnItemClick(This,psi,nstceHitTest,nstceClickType)
#define INameSpaceTreeControlEvents_OnPropertyItemCommit(This,psi) (This)->lpVtbl->OnPropertyItemCommit(This,psi)
#define INameSpaceTreeControlEvents_OnItemStateChanging(This,psi,nstcisMask,nstcisState) (This)->lpVtbl->OnItemStateChanging(This,psi,nstcisMask,nstcisState)
#define INameSpaceTreeControlEvents_OnItemStateChanged(This,psi,nstcisMask,nstcisState) (This)->lpVtbl->OnItemStateChanged(This,psi,nstcisMask,nstcisState)
#define INameSpaceTreeControlEvents_OnSelectionChanged(This,psiaSelection) (This)->lpVtbl->OnSelectionChanged(This,psiaSelection)
#define INameSpaceTreeControlEvents_OnKeyboardInput(This,uMsg,wParam,lParam) (This)->lpVtbl->OnKeyboardInput(This,uMsg,wParam,lParam)
#define INameSpaceTreeControlEvents_OnBeforeExpand(This,psi) (This)->lpVtbl->OnBeforeExpand(This,psi)
#define INameSpaceTreeControlEvents_OnAfterExpand(This,psi) (This)->lpVtbl->OnAfterExpand(This,psi)
#define INameSpaceTreeControlEvents_OnBeginLabelEdit(This,psi) (This)->lpVtbl->OnBeginLabelEdit(This,psi)
#define INameSpaceTreeControlEvents_OnEndLabelEdit(This,psi) (This)->lpVtbl->OnEndLabelEdit(This,psi)
#define INameSpaceTreeControlEvents_OnGetToolTip(This,psi,pszTip,cchTip) (This)->lpVtbl->OnGetToolTip(This,psi,pszTip,cchTip)
#define INameSpaceTreeControlEvents_OnBeforeItemDelete(This,psi) (This)->lpVtbl->OnBeforeItemDelete(This,psi)
#define INameSpaceTreeControlEvents_OnItemAdded(This,psi,fIsRoot) (This)->lpVtbl->OnItemAdded(This,psi,fIsRoot)
#define INameSpaceTreeControlEvents_OnItemDeleted(This,psi,fIsRoot) (This)->lpVtbl->OnItemDeleted(This,psi,fIsRoot)
#define INameSpaceTreeControlEvents_OnBeforeContextMenu(This,psi,riid,ppv) (This)->lpVtbl->OnBeforeContextMenu(This,psi,riid,ppv)
#define INameSpaceTreeControlEvents_OnAfterContextMenu(This,psi,pcmIn,riid,ppv) (This)->lpVtbl->OnAfterContextMenu(This,psi,pcmIn,riid,ppv)
#define INameSpaceTreeControlEvents_OnBeforeStateImageChange(This,psi) (This)->lpVtbl->OnBeforeStateImageChange(This,psi)
#define INameSpaceTreeControlEvents_OnGetDefaultIconIndex(This,psi,piDefaultIcon,piOpenIcon) (This)->lpVtbl->OnGetDefaultIconIndex(This,psi,piDefaultIcon,piOpenIcon)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT INameSpaceTreeControlEvents_QueryInterface(INameSpaceTreeControlEvents* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG INameSpaceTreeControlEvents_AddRef(INameSpaceTreeControlEvents* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG INameSpaceTreeControlEvents_Release(INameSpaceTreeControlEvents* This) {
return This->lpVtbl->Release(This);
}
/*** INameSpaceTreeControlEvents methods ***/
static FORCEINLINE HRESULT INameSpaceTreeControlEvents_OnItemClick(INameSpaceTreeControlEvents* This,IShellItem *psi,NSTCEHITTEST nstceHitTest,NSTCECLICKTYPE nstceClickType) {
return This->lpVtbl->OnItemClick(This,psi,nstceHitTest,nstceClickType);
}
static FORCEINLINE HRESULT INameSpaceTreeControlEvents_OnPropertyItemCommit(INameSpaceTreeControlEvents* This,IShellItem *psi) {
return This->lpVtbl->OnPropertyItemCommit(This,psi);
}
static FORCEINLINE HRESULT INameSpaceTreeControlEvents_OnItemStateChanging(INameSpaceTreeControlEvents* This,IShellItem *psi,NSTCITEMSTATE nstcisMask,NSTCITEMSTATE nstcisState) {
return This->lpVtbl->OnItemStateChanging(This,psi,nstcisMask,nstcisState);
}
static FORCEINLINE HRESULT INameSpaceTreeControlEvents_OnItemStateChanged(INameSpaceTreeControlEvents* This,IShellItem *psi,NSTCITEMSTATE nstcisMask,NSTCITEMSTATE nstcisState) {
return This->lpVtbl->OnItemStateChanged(This,psi,nstcisMask,nstcisState);
}
static FORCEINLINE HRESULT INameSpaceTreeControlEvents_OnSelectionChanged(INameSpaceTreeControlEvents* This,IShellItemArray *psiaSelection) {
return This->lpVtbl->OnSelectionChanged(This,psiaSelection);
}
static FORCEINLINE HRESULT INameSpaceTreeControlEvents_OnKeyboardInput(INameSpaceTreeControlEvents* This,UINT uMsg,WPARAM wParam,LPARAM lParam) {
return This->lpVtbl->OnKeyboardInput(This,uMsg,wParam,lParam);
}
static FORCEINLINE HRESULT INameSpaceTreeControlEvents_OnBeforeExpand(INameSpaceTreeControlEvents* This,IShellItem *psi) {
return This->lpVtbl->OnBeforeExpand(This,psi);
}
static FORCEINLINE HRESULT INameSpaceTreeControlEvents_OnAfterExpand(INameSpaceTreeControlEvents* This,IShellItem *psi) {
return This->lpVtbl->OnAfterExpand(This,psi);
}
static FORCEINLINE HRESULT INameSpaceTreeControlEvents_OnBeginLabelEdit(INameSpaceTreeControlEvents* This,IShellItem *psi) {
return This->lpVtbl->OnBeginLabelEdit(This,psi);
}
static FORCEINLINE HRESULT INameSpaceTreeControlEvents_OnEndLabelEdit(INameSpaceTreeControlEvents* This,IShellItem *psi) {
return This->lpVtbl->OnEndLabelEdit(This,psi);
}
static FORCEINLINE HRESULT INameSpaceTreeControlEvents_OnGetToolTip(INameSpaceTreeControlEvents* This,IShellItem *psi,LPWSTR pszTip,int cchTip) {
return This->lpVtbl->OnGetToolTip(This,psi,pszTip,cchTip);
}
static FORCEINLINE HRESULT INameSpaceTreeControlEvents_OnBeforeItemDelete(INameSpaceTreeControlEvents* This,IShellItem *psi) {
return This->lpVtbl->OnBeforeItemDelete(This,psi);
}
static FORCEINLINE HRESULT INameSpaceTreeControlEvents_OnItemAdded(INameSpaceTreeControlEvents* This,IShellItem *psi,WINBOOL fIsRoot) {
return This->lpVtbl->OnItemAdded(This,psi,fIsRoot);
}
static FORCEINLINE HRESULT INameSpaceTreeControlEvents_OnItemDeleted(INameSpaceTreeControlEvents* This,IShellItem *psi,WINBOOL fIsRoot) {
return This->lpVtbl->OnItemDeleted(This,psi,fIsRoot);
}
static FORCEINLINE HRESULT INameSpaceTreeControlEvents_OnBeforeContextMenu(INameSpaceTreeControlEvents* This,IShellItem *psi,REFIID riid,void **ppv) {
return This->lpVtbl->OnBeforeContextMenu(This,psi,riid,ppv);
}
static FORCEINLINE HRESULT INameSpaceTreeControlEvents_OnAfterContextMenu(INameSpaceTreeControlEvents* This,IShellItem *psi,IContextMenu *pcmIn,REFIID riid,void **ppv) {
return This->lpVtbl->OnAfterContextMenu(This,psi,pcmIn,riid,ppv);
}
static FORCEINLINE HRESULT INameSpaceTreeControlEvents_OnBeforeStateImageChange(INameSpaceTreeControlEvents* This,IShellItem *psi) {
return This->lpVtbl->OnBeforeStateImageChange(This,psi);
}
static FORCEINLINE HRESULT INameSpaceTreeControlEvents_OnGetDefaultIconIndex(INameSpaceTreeControlEvents* This,IShellItem *psi,int *piDefaultIcon,int *piOpenIcon) {
return This->lpVtbl->OnGetDefaultIconIndex(This,psi,piDefaultIcon,piOpenIcon);
}
#endif
#endif
#endif
#endif /* __INameSpaceTreeControlEvents_INTERFACE_DEFINED__ */
#define NSTCDHPOS_ONTOP -1
/*****************************************************************************
* INameSpaceTreeControlDropHandler interface
*/
#ifndef __INameSpaceTreeControlDropHandler_INTERFACE_DEFINED__
#define __INameSpaceTreeControlDropHandler_INTERFACE_DEFINED__
DEFINE_GUID(IID_INameSpaceTreeControlDropHandler, 0xf9c665d6, 0xc2f2, 0x4c19, 0xbf,0x33, 0x83,0x22,0xd7,0x35,0x2f,0x51);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("f9c665d6-c2f2-4c19-bf33-8322d7352f51")
INameSpaceTreeControlDropHandler : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE OnDragEnter(
IShellItem *psiOver,
IShellItemArray *psiaData,
WINBOOL fOutsideSource,
DWORD grfKeyState,
DWORD *pdwEffect) = 0;
virtual HRESULT STDMETHODCALLTYPE OnDragOver(
IShellItem *psiOver,
IShellItemArray *psiaData,
DWORD grfKeyState,
DWORD *pdwEffect) = 0;
virtual HRESULT STDMETHODCALLTYPE OnDragPosition(
IShellItem *psiOver,
IShellItemArray *psiaData,
int iNewPosition,
int iOldPosition) = 0;
virtual HRESULT STDMETHODCALLTYPE OnDrop(
IShellItem *psiOver,
IShellItemArray *psiaData,
int iPosition,
DWORD grfKeyState,
DWORD *pdwEffect) = 0;
virtual HRESULT STDMETHODCALLTYPE OnDropPosition(
IShellItem *psiOver,
IShellItemArray *psiaData,
int iNewPosition,
int iOldPosition) = 0;
virtual HRESULT STDMETHODCALLTYPE OnDragLeave(
IShellItem *psiOver) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(INameSpaceTreeControlDropHandler, 0xf9c665d6, 0xc2f2, 0x4c19, 0xbf,0x33, 0x83,0x22,0xd7,0x35,0x2f,0x51)
#endif
#else
typedef struct INameSpaceTreeControlDropHandlerVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
INameSpaceTreeControlDropHandler *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
INameSpaceTreeControlDropHandler *This);
ULONG (STDMETHODCALLTYPE *Release)(
INameSpaceTreeControlDropHandler *This);
/*** INameSpaceTreeControlDropHandler methods ***/
HRESULT (STDMETHODCALLTYPE *OnDragEnter)(
INameSpaceTreeControlDropHandler *This,
IShellItem *psiOver,
IShellItemArray *psiaData,
WINBOOL fOutsideSource,
DWORD grfKeyState,
DWORD *pdwEffect);
HRESULT (STDMETHODCALLTYPE *OnDragOver)(
INameSpaceTreeControlDropHandler *This,
IShellItem *psiOver,
IShellItemArray *psiaData,
DWORD grfKeyState,
DWORD *pdwEffect);
HRESULT (STDMETHODCALLTYPE *OnDragPosition)(
INameSpaceTreeControlDropHandler *This,
IShellItem *psiOver,
IShellItemArray *psiaData,
int iNewPosition,
int iOldPosition);
HRESULT (STDMETHODCALLTYPE *OnDrop)(
INameSpaceTreeControlDropHandler *This,
IShellItem *psiOver,
IShellItemArray *psiaData,
int iPosition,
DWORD grfKeyState,
DWORD *pdwEffect);
HRESULT (STDMETHODCALLTYPE *OnDropPosition)(
INameSpaceTreeControlDropHandler *This,
IShellItem *psiOver,
IShellItemArray *psiaData,
int iNewPosition,
int iOldPosition);
HRESULT (STDMETHODCALLTYPE *OnDragLeave)(
INameSpaceTreeControlDropHandler *This,
IShellItem *psiOver);
END_INTERFACE
} INameSpaceTreeControlDropHandlerVtbl;
interface INameSpaceTreeControlDropHandler {
CONST_VTBL INameSpaceTreeControlDropHandlerVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define INameSpaceTreeControlDropHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define INameSpaceTreeControlDropHandler_AddRef(This) (This)->lpVtbl->AddRef(This)
#define INameSpaceTreeControlDropHandler_Release(This) (This)->lpVtbl->Release(This)
/*** INameSpaceTreeControlDropHandler methods ***/
#define INameSpaceTreeControlDropHandler_OnDragEnter(This,psiOver,psiaData,fOutsideSource,grfKeyState,pdwEffect) (This)->lpVtbl->OnDragEnter(This,psiOver,psiaData,fOutsideSource,grfKeyState,pdwEffect)
#define INameSpaceTreeControlDropHandler_OnDragOver(This,psiOver,psiaData,grfKeyState,pdwEffect) (This)->lpVtbl->OnDragOver(This,psiOver,psiaData,grfKeyState,pdwEffect)
#define INameSpaceTreeControlDropHandler_OnDragPosition(This,psiOver,psiaData,iNewPosition,iOldPosition) (This)->lpVtbl->OnDragPosition(This,psiOver,psiaData,iNewPosition,iOldPosition)
#define INameSpaceTreeControlDropHandler_OnDrop(This,psiOver,psiaData,iPosition,grfKeyState,pdwEffect) (This)->lpVtbl->OnDrop(This,psiOver,psiaData,iPosition,grfKeyState,pdwEffect)
#define INameSpaceTreeControlDropHandler_OnDropPosition(This,psiOver,psiaData,iNewPosition,iOldPosition) (This)->lpVtbl->OnDropPosition(This,psiOver,psiaData,iNewPosition,iOldPosition)
#define INameSpaceTreeControlDropHandler_OnDragLeave(This,psiOver) (This)->lpVtbl->OnDragLeave(This,psiOver)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT INameSpaceTreeControlDropHandler_QueryInterface(INameSpaceTreeControlDropHandler* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG INameSpaceTreeControlDropHandler_AddRef(INameSpaceTreeControlDropHandler* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG INameSpaceTreeControlDropHandler_Release(INameSpaceTreeControlDropHandler* This) {
return This->lpVtbl->Release(This);
}
/*** INameSpaceTreeControlDropHandler methods ***/
static FORCEINLINE HRESULT INameSpaceTreeControlDropHandler_OnDragEnter(INameSpaceTreeControlDropHandler* This,IShellItem *psiOver,IShellItemArray *psiaData,WINBOOL fOutsideSource,DWORD grfKeyState,DWORD *pdwEffect) {
return This->lpVtbl->OnDragEnter(This,psiOver,psiaData,fOutsideSource,grfKeyState,pdwEffect);
}
static FORCEINLINE HRESULT INameSpaceTreeControlDropHandler_OnDragOver(INameSpaceTreeControlDropHandler* This,IShellItem *psiOver,IShellItemArray *psiaData,DWORD grfKeyState,DWORD *pdwEffect) {
return This->lpVtbl->OnDragOver(This,psiOver,psiaData,grfKeyState,pdwEffect);
}
static FORCEINLINE HRESULT INameSpaceTreeControlDropHandler_OnDragPosition(INameSpaceTreeControlDropHandler* This,IShellItem *psiOver,IShellItemArray *psiaData,int iNewPosition,int iOldPosition) {
return This->lpVtbl->OnDragPosition(This,psiOver,psiaData,iNewPosition,iOldPosition);
}
static FORCEINLINE HRESULT INameSpaceTreeControlDropHandler_OnDrop(INameSpaceTreeControlDropHandler* This,IShellItem *psiOver,IShellItemArray *psiaData,int iPosition,DWORD grfKeyState,DWORD *pdwEffect) {
return This->lpVtbl->OnDrop(This,psiOver,psiaData,iPosition,grfKeyState,pdwEffect);
}
static FORCEINLINE HRESULT INameSpaceTreeControlDropHandler_OnDropPosition(INameSpaceTreeControlDropHandler* This,IShellItem *psiOver,IShellItemArray *psiaData,int iNewPosition,int iOldPosition) {
return This->lpVtbl->OnDropPosition(This,psiOver,psiaData,iNewPosition,iOldPosition);
}
static FORCEINLINE HRESULT INameSpaceTreeControlDropHandler_OnDragLeave(INameSpaceTreeControlDropHandler* This,IShellItem *psiOver) {
return This->lpVtbl->OnDragLeave(This,psiOver);
}
#endif
#endif
#endif
#endif /* __INameSpaceTreeControlDropHandler_INTERFACE_DEFINED__ */
/*****************************************************************************
* INameSpaceTreeAccessible interface
*/
#ifndef __INameSpaceTreeAccessible_INTERFACE_DEFINED__
#define __INameSpaceTreeAccessible_INTERFACE_DEFINED__
DEFINE_GUID(IID_INameSpaceTreeAccessible, 0x71f312de, 0x43ed, 0x4190, 0x84,0x77, 0xe9,0x53,0x6b,0x82,0x35,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("71f312de-43ed-4190-8477-e9536b82350b")
INameSpaceTreeAccessible : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE OnGetDefaultAccessibilityAction(
IShellItem *psi,
BSTR *pbstrDefaultAction) = 0;
virtual HRESULT STDMETHODCALLTYPE OnDoDefaultAccessibilityAction(
IShellItem *psi) = 0;
virtual HRESULT STDMETHODCALLTYPE OnGetAccessibilityRole(
IShellItem *psi,
VARIANT *pvarRole) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(INameSpaceTreeAccessible, 0x71f312de, 0x43ed, 0x4190, 0x84,0x77, 0xe9,0x53,0x6b,0x82,0x35,0x0b)
#endif
#else
typedef struct INameSpaceTreeAccessibleVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
INameSpaceTreeAccessible *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
INameSpaceTreeAccessible *This);
ULONG (STDMETHODCALLTYPE *Release)(
INameSpaceTreeAccessible *This);
/*** INameSpaceTreeAccessible methods ***/
HRESULT (STDMETHODCALLTYPE *OnGetDefaultAccessibilityAction)(
INameSpaceTreeAccessible *This,
IShellItem *psi,
BSTR *pbstrDefaultAction);
HRESULT (STDMETHODCALLTYPE *OnDoDefaultAccessibilityAction)(
INameSpaceTreeAccessible *This,
IShellItem *psi);
HRESULT (STDMETHODCALLTYPE *OnGetAccessibilityRole)(
INameSpaceTreeAccessible *This,
IShellItem *psi,
VARIANT *pvarRole);
END_INTERFACE
} INameSpaceTreeAccessibleVtbl;
interface INameSpaceTreeAccessible {
CONST_VTBL INameSpaceTreeAccessibleVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define INameSpaceTreeAccessible_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define INameSpaceTreeAccessible_AddRef(This) (This)->lpVtbl->AddRef(This)
#define INameSpaceTreeAccessible_Release(This) (This)->lpVtbl->Release(This)
/*** INameSpaceTreeAccessible methods ***/
#define INameSpaceTreeAccessible_OnGetDefaultAccessibilityAction(This,psi,pbstrDefaultAction) (This)->lpVtbl->OnGetDefaultAccessibilityAction(This,psi,pbstrDefaultAction)
#define INameSpaceTreeAccessible_OnDoDefaultAccessibilityAction(This,psi) (This)->lpVtbl->OnDoDefaultAccessibilityAction(This,psi)
#define INameSpaceTreeAccessible_OnGetAccessibilityRole(This,psi,pvarRole) (This)->lpVtbl->OnGetAccessibilityRole(This,psi,pvarRole)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT INameSpaceTreeAccessible_QueryInterface(INameSpaceTreeAccessible* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG INameSpaceTreeAccessible_AddRef(INameSpaceTreeAccessible* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG INameSpaceTreeAccessible_Release(INameSpaceTreeAccessible* This) {
return This->lpVtbl->Release(This);
}
/*** INameSpaceTreeAccessible methods ***/
static FORCEINLINE HRESULT INameSpaceTreeAccessible_OnGetDefaultAccessibilityAction(INameSpaceTreeAccessible* This,IShellItem *psi,BSTR *pbstrDefaultAction) {
return This->lpVtbl->OnGetDefaultAccessibilityAction(This,psi,pbstrDefaultAction);
}
static FORCEINLINE HRESULT INameSpaceTreeAccessible_OnDoDefaultAccessibilityAction(INameSpaceTreeAccessible* This,IShellItem *psi) {
return This->lpVtbl->OnDoDefaultAccessibilityAction(This,psi);
}
static FORCEINLINE HRESULT INameSpaceTreeAccessible_OnGetAccessibilityRole(INameSpaceTreeAccessible* This,IShellItem *psi,VARIANT *pvarRole) {
return This->lpVtbl->OnGetAccessibilityRole(This,psi,pvarRole);
}
#endif
#endif
#endif
#endif /* __INameSpaceTreeAccessible_INTERFACE_DEFINED__ */
/*****************************************************************************
* INameSpaceTreeControlCustomDraw interface
*/
#ifndef __INameSpaceTreeControlCustomDraw_INTERFACE_DEFINED__
#define __INameSpaceTreeControlCustomDraw_INTERFACE_DEFINED__
typedef struct NSTCCUSTOMDRAW {
IShellItem *psi;
UINT uItemState;
NSTCITEMSTATE nstcis;
LPCWSTR pszText;
int iImage;
HIMAGELIST himl;
int iLevel;
int iIndent;
} NSTCCUSTOMDRAW;
DEFINE_GUID(IID_INameSpaceTreeControlCustomDraw, 0x2d3ba758, 0x33ee, 0x42d5, 0xbb,0x7b, 0x5f,0x34,0x31,0xd8,0x6c,0x78);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("2d3ba758-33ee-42d5-bb7b-5f3431d86c78")
INameSpaceTreeControlCustomDraw : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE PrePaint(
HDC hdc,
RECT *prc,
LRESULT *plres) = 0;
virtual HRESULT STDMETHODCALLTYPE PostPaint(
HDC hdc,
RECT *prc) = 0;
virtual HRESULT STDMETHODCALLTYPE ItemPrePaint(
HDC hdc,
RECT *prc,
NSTCCUSTOMDRAW *pnstccdItem,
COLORREF *pclrText,
COLORREF *pclrTextBk,
LRESULT *plres) = 0;
virtual HRESULT STDMETHODCALLTYPE ItemPostPaint(
HDC hdc,
RECT *prc,
NSTCCUSTOMDRAW *pnstccdItem) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(INameSpaceTreeControlCustomDraw, 0x2d3ba758, 0x33ee, 0x42d5, 0xbb,0x7b, 0x5f,0x34,0x31,0xd8,0x6c,0x78)
#endif
#else
typedef struct INameSpaceTreeControlCustomDrawVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
INameSpaceTreeControlCustomDraw *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
INameSpaceTreeControlCustomDraw *This);
ULONG (STDMETHODCALLTYPE *Release)(
INameSpaceTreeControlCustomDraw *This);
/*** INameSpaceTreeControlCustomDraw methods ***/
HRESULT (STDMETHODCALLTYPE *PrePaint)(
INameSpaceTreeControlCustomDraw *This,
HDC hdc,
RECT *prc,
LRESULT *plres);
HRESULT (STDMETHODCALLTYPE *PostPaint)(
INameSpaceTreeControlCustomDraw *This,
HDC hdc,
RECT *prc);
HRESULT (STDMETHODCALLTYPE *ItemPrePaint)(
INameSpaceTreeControlCustomDraw *This,
HDC hdc,
RECT *prc,
NSTCCUSTOMDRAW *pnstccdItem,
COLORREF *pclrText,
COLORREF *pclrTextBk,
LRESULT *plres);
HRESULT (STDMETHODCALLTYPE *ItemPostPaint)(
INameSpaceTreeControlCustomDraw *This,
HDC hdc,
RECT *prc,
NSTCCUSTOMDRAW *pnstccdItem);
END_INTERFACE
} INameSpaceTreeControlCustomDrawVtbl;
interface INameSpaceTreeControlCustomDraw {
CONST_VTBL INameSpaceTreeControlCustomDrawVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define INameSpaceTreeControlCustomDraw_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define INameSpaceTreeControlCustomDraw_AddRef(This) (This)->lpVtbl->AddRef(This)
#define INameSpaceTreeControlCustomDraw_Release(This) (This)->lpVtbl->Release(This)
/*** INameSpaceTreeControlCustomDraw methods ***/
#define INameSpaceTreeControlCustomDraw_PrePaint(This,hdc,prc,plres) (This)->lpVtbl->PrePaint(This,hdc,prc,plres)
#define INameSpaceTreeControlCustomDraw_PostPaint(This,hdc,prc) (This)->lpVtbl->PostPaint(This,hdc,prc)
#define INameSpaceTreeControlCustomDraw_ItemPrePaint(This,hdc,prc,pnstccdItem,pclrText,pclrTextBk,plres) (This)->lpVtbl->ItemPrePaint(This,hdc,prc,pnstccdItem,pclrText,pclrTextBk,plres)
#define INameSpaceTreeControlCustomDraw_ItemPostPaint(This,hdc,prc,pnstccdItem) (This)->lpVtbl->ItemPostPaint(This,hdc,prc,pnstccdItem)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT INameSpaceTreeControlCustomDraw_QueryInterface(INameSpaceTreeControlCustomDraw* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG INameSpaceTreeControlCustomDraw_AddRef(INameSpaceTreeControlCustomDraw* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG INameSpaceTreeControlCustomDraw_Release(INameSpaceTreeControlCustomDraw* This) {
return This->lpVtbl->Release(This);
}
/*** INameSpaceTreeControlCustomDraw methods ***/
static FORCEINLINE HRESULT INameSpaceTreeControlCustomDraw_PrePaint(INameSpaceTreeControlCustomDraw* This,HDC hdc,RECT *prc,LRESULT *plres) {
return This->lpVtbl->PrePaint(This,hdc,prc,plres);
}
static FORCEINLINE HRESULT INameSpaceTreeControlCustomDraw_PostPaint(INameSpaceTreeControlCustomDraw* This,HDC hdc,RECT *prc) {
return This->lpVtbl->PostPaint(This,hdc,prc);
}
static FORCEINLINE HRESULT INameSpaceTreeControlCustomDraw_ItemPrePaint(INameSpaceTreeControlCustomDraw* This,HDC hdc,RECT *prc,NSTCCUSTOMDRAW *pnstccdItem,COLORREF *pclrText,COLORREF *pclrTextBk,LRESULT *plres) {
return This->lpVtbl->ItemPrePaint(This,hdc,prc,pnstccdItem,pclrText,pclrTextBk,plres);
}
static FORCEINLINE HRESULT INameSpaceTreeControlCustomDraw_ItemPostPaint(INameSpaceTreeControlCustomDraw* This,HDC hdc,RECT *prc,NSTCCUSTOMDRAW *pnstccdItem) {
return This->lpVtbl->ItemPostPaint(This,hdc,prc,pnstccdItem);
}
#endif
#endif
#endif
#endif /* __INameSpaceTreeControlCustomDraw_INTERFACE_DEFINED__ */
#if NTDDI_VERSION >= NTDDI_VISTA
/*****************************************************************************
* INameSpaceTreeControlFolderCapabilities interface
*/
#ifndef __INameSpaceTreeControlFolderCapabilities_INTERFACE_DEFINED__
#define __INameSpaceTreeControlFolderCapabilities_INTERFACE_DEFINED__
typedef enum NSTCFOLDERCAPABILITIES {
NSTCFC_NONE = 0x0,
NSTCFC_PINNEDITEMFILTERING = 0x1,
NSTCFC_DELAY_REGISTER_NOTIFY = 0x2
} NSTCFOLDERCAPABILITIES;
DEFINE_ENUM_FLAG_OPERATORS(NSTCFOLDERCAPABILITIES)
DEFINE_GUID(IID_INameSpaceTreeControlFolderCapabilities, 0xe9701183, 0xe6b3, 0x4ff2, 0x85,0x68, 0x81,0x36,0x15,0xfe,0xc7,0xbe);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("e9701183-e6b3-4ff2-8568-813615fec7be")
INameSpaceTreeControlFolderCapabilities : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetFolderCapabilities(
NSTCFOLDERCAPABILITIES nfcMask,
NSTCFOLDERCAPABILITIES *pnfcValue) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(INameSpaceTreeControlFolderCapabilities, 0xe9701183, 0xe6b3, 0x4ff2, 0x85,0x68, 0x81,0x36,0x15,0xfe,0xc7,0xbe)
#endif
#else
typedef struct INameSpaceTreeControlFolderCapabilitiesVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
INameSpaceTreeControlFolderCapabilities *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
INameSpaceTreeControlFolderCapabilities *This);
ULONG (STDMETHODCALLTYPE *Release)(
INameSpaceTreeControlFolderCapabilities *This);
/*** INameSpaceTreeControlFolderCapabilities methods ***/
HRESULT (STDMETHODCALLTYPE *GetFolderCapabilities)(
INameSpaceTreeControlFolderCapabilities *This,
NSTCFOLDERCAPABILITIES nfcMask,
NSTCFOLDERCAPABILITIES *pnfcValue);
END_INTERFACE
} INameSpaceTreeControlFolderCapabilitiesVtbl;
interface INameSpaceTreeControlFolderCapabilities {
CONST_VTBL INameSpaceTreeControlFolderCapabilitiesVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define INameSpaceTreeControlFolderCapabilities_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define INameSpaceTreeControlFolderCapabilities_AddRef(This) (This)->lpVtbl->AddRef(This)
#define INameSpaceTreeControlFolderCapabilities_Release(This) (This)->lpVtbl->Release(This)
/*** INameSpaceTreeControlFolderCapabilities methods ***/
#define INameSpaceTreeControlFolderCapabilities_GetFolderCapabilities(This,nfcMask,pnfcValue) (This)->lpVtbl->GetFolderCapabilities(This,nfcMask,pnfcValue)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT INameSpaceTreeControlFolderCapabilities_QueryInterface(INameSpaceTreeControlFolderCapabilities* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG INameSpaceTreeControlFolderCapabilities_AddRef(INameSpaceTreeControlFolderCapabilities* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG INameSpaceTreeControlFolderCapabilities_Release(INameSpaceTreeControlFolderCapabilities* This) {
return This->lpVtbl->Release(This);
}
/*** INameSpaceTreeControlFolderCapabilities methods ***/
static FORCEINLINE HRESULT INameSpaceTreeControlFolderCapabilities_GetFolderCapabilities(INameSpaceTreeControlFolderCapabilities* This,NSTCFOLDERCAPABILITIES nfcMask,NSTCFOLDERCAPABILITIES *pnfcValue) {
return This->lpVtbl->GetFolderCapabilities(This,nfcMask,pnfcValue);
}
#endif
#endif
#endif
#endif /* __INameSpaceTreeControlFolderCapabilities_INTERFACE_DEFINED__ */
#endif
#define E_PREVIEWHANDLER_DRM_FAIL _HRESULT_TYPEDEF_(0x86420001L)
#define E_PREVIEWHANDLER_NOAUTH _HRESULT_TYPEDEF_(0x86420002L)
#define E_PREVIEWHANDLER_NOTFOUND _HRESULT_TYPEDEF_(0x86420003L)
#define E_PREVIEWHANDLER_CORRUPT _HRESULT_TYPEDEF_(0x86420004L)
/*****************************************************************************
* IPreviewHandler interface
*/
#ifndef __IPreviewHandler_INTERFACE_DEFINED__
#define __IPreviewHandler_INTERFACE_DEFINED__
DEFINE_GUID(IID_IPreviewHandler, 0x8895b1c6, 0xb41f, 0x4c1c, 0xa5,0x62, 0x0d,0x56,0x42,0x50,0x83,0x6f);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("8895b1c6-b41f-4c1c-a562-0d564250836f")
IPreviewHandler : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetWindow(
HWND hwnd,
const RECT *prc) = 0;
virtual HRESULT STDMETHODCALLTYPE SetRect(
const RECT *prc) = 0;
virtual HRESULT STDMETHODCALLTYPE DoPreview(
) = 0;
virtual HRESULT STDMETHODCALLTYPE Unload(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SetFocus(
) = 0;
virtual HRESULT STDMETHODCALLTYPE QueryFocus(
HWND *phwnd) = 0;
virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator(
MSG *pmsg) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IPreviewHandler, 0x8895b1c6, 0xb41f, 0x4c1c, 0xa5,0x62, 0x0d,0x56,0x42,0x50,0x83,0x6f)
#endif
#else
typedef struct IPreviewHandlerVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IPreviewHandler *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IPreviewHandler *This);
ULONG (STDMETHODCALLTYPE *Release)(
IPreviewHandler *This);
/*** IPreviewHandler methods ***/
HRESULT (STDMETHODCALLTYPE *SetWindow)(
IPreviewHandler *This,
HWND hwnd,
const RECT *prc);
HRESULT (STDMETHODCALLTYPE *SetRect)(
IPreviewHandler *This,
const RECT *prc);
HRESULT (STDMETHODCALLTYPE *DoPreview)(
IPreviewHandler *This);
HRESULT (STDMETHODCALLTYPE *Unload)(
IPreviewHandler *This);
HRESULT (STDMETHODCALLTYPE *SetFocus)(
IPreviewHandler *This);
HRESULT (STDMETHODCALLTYPE *QueryFocus)(
IPreviewHandler *This,
HWND *phwnd);
HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)(
IPreviewHandler *This,
MSG *pmsg);
END_INTERFACE
} IPreviewHandlerVtbl;
interface IPreviewHandler {
CONST_VTBL IPreviewHandlerVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IPreviewHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IPreviewHandler_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IPreviewHandler_Release(This) (This)->lpVtbl->Release(This)
/*** IPreviewHandler methods ***/
#define IPreviewHandler_SetWindow(This,hwnd,prc) (This)->lpVtbl->SetWindow(This,hwnd,prc)
#define IPreviewHandler_SetRect(This,prc) (This)->lpVtbl->SetRect(This,prc)
#define IPreviewHandler_DoPreview(This) (This)->lpVtbl->DoPreview(This)
#define IPreviewHandler_Unload(This) (This)->lpVtbl->Unload(This)
#define IPreviewHandler_SetFocus(This) (This)->lpVtbl->SetFocus(This)
#define IPreviewHandler_QueryFocus(This,phwnd) (This)->lpVtbl->QueryFocus(This,phwnd)
#define IPreviewHandler_TranslateAccelerator(This,pmsg) (This)->lpVtbl->TranslateAccelerator(This,pmsg)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IPreviewHandler_QueryInterface(IPreviewHandler* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IPreviewHandler_AddRef(IPreviewHandler* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IPreviewHandler_Release(IPreviewHandler* This) {
return This->lpVtbl->Release(This);
}
/*** IPreviewHandler methods ***/
static FORCEINLINE HRESULT IPreviewHandler_SetWindow(IPreviewHandler* This,HWND hwnd,const RECT *prc) {
return This->lpVtbl->SetWindow(This,hwnd,prc);
}
static FORCEINLINE HRESULT IPreviewHandler_SetRect(IPreviewHandler* This,const RECT *prc) {
return This->lpVtbl->SetRect(This,prc);
}
static FORCEINLINE HRESULT IPreviewHandler_DoPreview(IPreviewHandler* This) {
return This->lpVtbl->DoPreview(This);
}
static FORCEINLINE HRESULT IPreviewHandler_Unload(IPreviewHandler* This) {
return This->lpVtbl->Unload(This);
}
static FORCEINLINE HRESULT IPreviewHandler_SetFocus(IPreviewHandler* This) {
return This->lpVtbl->SetFocus(This);
}
static FORCEINLINE HRESULT IPreviewHandler_QueryFocus(IPreviewHandler* This,HWND *phwnd) {
return This->lpVtbl->QueryFocus(This,phwnd);
}
static FORCEINLINE HRESULT IPreviewHandler_TranslateAccelerator(IPreviewHandler* This,MSG *pmsg) {
return This->lpVtbl->TranslateAccelerator(This,pmsg);
}
#endif
#endif
#endif
#endif /* __IPreviewHandler_INTERFACE_DEFINED__ */
/*****************************************************************************
* IPreviewHandlerFrame interface
*/
#ifndef __IPreviewHandlerFrame_INTERFACE_DEFINED__
#define __IPreviewHandlerFrame_INTERFACE_DEFINED__
typedef struct PREVIEWHANDLERFRAMEINFO {
HACCEL haccel;
UINT cAccelEntries;
} PREVIEWHANDLERFRAMEINFO;
DEFINE_GUID(IID_IPreviewHandlerFrame, 0xfec87aaf, 0x35f9, 0x447a, 0xad,0xb7, 0x20,0x23,0x44,0x91,0x40,0x1a);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("fec87aaf-35f9-447a-adb7-20234491401a")
IPreviewHandlerFrame : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetWindowContext(
PREVIEWHANDLERFRAMEINFO *pinfo) = 0;
virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator(
MSG *pmsg) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IPreviewHandlerFrame, 0xfec87aaf, 0x35f9, 0x447a, 0xad,0xb7, 0x20,0x23,0x44,0x91,0x40,0x1a)
#endif
#else
typedef struct IPreviewHandlerFrameVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IPreviewHandlerFrame *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IPreviewHandlerFrame *This);
ULONG (STDMETHODCALLTYPE *Release)(
IPreviewHandlerFrame *This);
/*** IPreviewHandlerFrame methods ***/
HRESULT (STDMETHODCALLTYPE *GetWindowContext)(
IPreviewHandlerFrame *This,
PREVIEWHANDLERFRAMEINFO *pinfo);
HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)(
IPreviewHandlerFrame *This,
MSG *pmsg);
END_INTERFACE
} IPreviewHandlerFrameVtbl;
interface IPreviewHandlerFrame {
CONST_VTBL IPreviewHandlerFrameVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IPreviewHandlerFrame_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IPreviewHandlerFrame_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IPreviewHandlerFrame_Release(This) (This)->lpVtbl->Release(This)
/*** IPreviewHandlerFrame methods ***/
#define IPreviewHandlerFrame_GetWindowContext(This,pinfo) (This)->lpVtbl->GetWindowContext(This,pinfo)
#define IPreviewHandlerFrame_TranslateAccelerator(This,pmsg) (This)->lpVtbl->TranslateAccelerator(This,pmsg)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IPreviewHandlerFrame_QueryInterface(IPreviewHandlerFrame* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IPreviewHandlerFrame_AddRef(IPreviewHandlerFrame* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IPreviewHandlerFrame_Release(IPreviewHandlerFrame* This) {
return This->lpVtbl->Release(This);
}
/*** IPreviewHandlerFrame methods ***/
static FORCEINLINE HRESULT IPreviewHandlerFrame_GetWindowContext(IPreviewHandlerFrame* This,PREVIEWHANDLERFRAMEINFO *pinfo) {
return This->lpVtbl->GetWindowContext(This,pinfo);
}
static FORCEINLINE HRESULT IPreviewHandlerFrame_TranslateAccelerator(IPreviewHandlerFrame* This,MSG *pmsg) {
return This->lpVtbl->TranslateAccelerator(This,pmsg);
}
#endif
#endif
#endif
#endif /* __IPreviewHandlerFrame_INTERFACE_DEFINED__ */
#if NTDDI_VERSION >= NTDDI_VISTA
/*****************************************************************************
* ITrayDeskBand interface
*/
#ifndef __ITrayDeskBand_INTERFACE_DEFINED__
#define __ITrayDeskBand_INTERFACE_DEFINED__
DEFINE_GUID(IID_ITrayDeskBand, 0x6d67e846, 0x5b9c, 0x4db8, 0x9c,0xbc, 0xdd,0xe1,0x2f,0x42,0x54,0xf1);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("6d67e846-5b9c-4db8-9cbc-dde12f4254f1")
ITrayDeskBand : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE ShowDeskBand(
REFCLSID clsid) = 0;
virtual HRESULT STDMETHODCALLTYPE HideDeskBand(
REFCLSID clsid) = 0;
virtual HRESULT STDMETHODCALLTYPE IsDeskBandShown(
REFCLSID clsid) = 0;
virtual HRESULT STDMETHODCALLTYPE DeskBandRegistrationChanged(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ITrayDeskBand, 0x6d67e846, 0x5b9c, 0x4db8, 0x9c,0xbc, 0xdd,0xe1,0x2f,0x42,0x54,0xf1)
#endif
#else
typedef struct ITrayDeskBandVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ITrayDeskBand *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ITrayDeskBand *This);
ULONG (STDMETHODCALLTYPE *Release)(
ITrayDeskBand *This);
/*** ITrayDeskBand methods ***/
HRESULT (STDMETHODCALLTYPE *ShowDeskBand)(
ITrayDeskBand *This,
REFCLSID clsid);
HRESULT (STDMETHODCALLTYPE *HideDeskBand)(
ITrayDeskBand *This,
REFCLSID clsid);
HRESULT (STDMETHODCALLTYPE *IsDeskBandShown)(
ITrayDeskBand *This,
REFCLSID clsid);
HRESULT (STDMETHODCALLTYPE *DeskBandRegistrationChanged)(
ITrayDeskBand *This);
END_INTERFACE
} ITrayDeskBandVtbl;
interface ITrayDeskBand {
CONST_VTBL ITrayDeskBandVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ITrayDeskBand_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ITrayDeskBand_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ITrayDeskBand_Release(This) (This)->lpVtbl->Release(This)
/*** ITrayDeskBand methods ***/
#define ITrayDeskBand_ShowDeskBand(This,clsid) (This)->lpVtbl->ShowDeskBand(This,clsid)
#define ITrayDeskBand_HideDeskBand(This,clsid) (This)->lpVtbl->HideDeskBand(This,clsid)
#define ITrayDeskBand_IsDeskBandShown(This,clsid) (This)->lpVtbl->IsDeskBandShown(This,clsid)
#define ITrayDeskBand_DeskBandRegistrationChanged(This) (This)->lpVtbl->DeskBandRegistrationChanged(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ITrayDeskBand_QueryInterface(ITrayDeskBand* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ITrayDeskBand_AddRef(ITrayDeskBand* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ITrayDeskBand_Release(ITrayDeskBand* This) {
return This->lpVtbl->Release(This);
}
/*** ITrayDeskBand methods ***/
static FORCEINLINE HRESULT ITrayDeskBand_ShowDeskBand(ITrayDeskBand* This,REFCLSID clsid) {
return This->lpVtbl->ShowDeskBand(This,clsid);
}
static FORCEINLINE HRESULT ITrayDeskBand_HideDeskBand(ITrayDeskBand* This,REFCLSID clsid) {
return This->lpVtbl->HideDeskBand(This,clsid);
}
static FORCEINLINE HRESULT ITrayDeskBand_IsDeskBandShown(ITrayDeskBand* This,REFCLSID clsid) {
return This->lpVtbl->IsDeskBandShown(This,clsid);
}
static FORCEINLINE HRESULT ITrayDeskBand_DeskBandRegistrationChanged(ITrayDeskBand* This) {
return This->lpVtbl->DeskBandRegistrationChanged(This);
}
#endif
#endif
#endif
#endif /* __ITrayDeskBand_INTERFACE_DEFINED__ */
/*****************************************************************************
* IBandHost interface
*/
#ifndef __IBandHost_INTERFACE_DEFINED__
#define __IBandHost_INTERFACE_DEFINED__
DEFINE_GUID(IID_IBandHost, 0xb9075c7c, 0xd48e, 0x403f, 0xab,0x99, 0xd6,0xc7,0x7a,0x10,0x84,0xac);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("b9075c7c-d48e-403f-ab99-d6c77a1084ac")
IBandHost : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE CreateBand(
REFCLSID rclsidBand,
WINBOOL fAvailable,
WINBOOL fVisible,
REFIID riid,
void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE SetBandAvailability(
REFCLSID rclsidBand,
WINBOOL fAvailable) = 0;
virtual HRESULT STDMETHODCALLTYPE DestroyBand(
REFCLSID rclsidBand) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IBandHost, 0xb9075c7c, 0xd48e, 0x403f, 0xab,0x99, 0xd6,0xc7,0x7a,0x10,0x84,0xac)
#endif
#else
typedef struct IBandHostVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IBandHost *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IBandHost *This);
ULONG (STDMETHODCALLTYPE *Release)(
IBandHost *This);
/*** IBandHost methods ***/
HRESULT (STDMETHODCALLTYPE *CreateBand)(
IBandHost *This,
REFCLSID rclsidBand,
WINBOOL fAvailable,
WINBOOL fVisible,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *SetBandAvailability)(
IBandHost *This,
REFCLSID rclsidBand,
WINBOOL fAvailable);
HRESULT (STDMETHODCALLTYPE *DestroyBand)(
IBandHost *This,
REFCLSID rclsidBand);
END_INTERFACE
} IBandHostVtbl;
interface IBandHost {
CONST_VTBL IBandHostVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IBandHost_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IBandHost_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IBandHost_Release(This) (This)->lpVtbl->Release(This)
/*** IBandHost methods ***/
#define IBandHost_CreateBand(This,rclsidBand,fAvailable,fVisible,riid,ppv) (This)->lpVtbl->CreateBand(This,rclsidBand,fAvailable,fVisible,riid,ppv)
#define IBandHost_SetBandAvailability(This,rclsidBand,fAvailable) (This)->lpVtbl->SetBandAvailability(This,rclsidBand,fAvailable)
#define IBandHost_DestroyBand(This,rclsidBand) (This)->lpVtbl->DestroyBand(This,rclsidBand)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IBandHost_QueryInterface(IBandHost* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IBandHost_AddRef(IBandHost* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IBandHost_Release(IBandHost* This) {
return This->lpVtbl->Release(This);
}
/*** IBandHost methods ***/
static FORCEINLINE HRESULT IBandHost_CreateBand(IBandHost* This,REFCLSID rclsidBand,WINBOOL fAvailable,WINBOOL fVisible,REFIID riid,void **ppv) {
return This->lpVtbl->CreateBand(This,rclsidBand,fAvailable,fVisible,riid,ppv);
}
static FORCEINLINE HRESULT IBandHost_SetBandAvailability(IBandHost* This,REFCLSID rclsidBand,WINBOOL fAvailable) {
return This->lpVtbl->SetBandAvailability(This,rclsidBand,fAvailable);
}
static FORCEINLINE HRESULT IBandHost_DestroyBand(IBandHost* This,REFCLSID rclsidBand) {
return This->lpVtbl->DestroyBand(This,rclsidBand);
}
#endif
#endif
#endif
#endif /* __IBandHost_INTERFACE_DEFINED__ */
#define SID_SBandHost IID_IBandHost
typedef GUID EXPLORERPANE;
#if 0
typedef EXPLORERPANE *REFEXPLORERPANE;
#endif
#ifdef __cplusplus
#define REFEXPLORERPANE const EXPLORERPANE &
#else
#define REFEXPLORERPANE const EXPLORERPANE * __MIDL_CONST
#endif
/*****************************************************************************
* IExplorerPaneVisibility interface
*/
#ifndef __IExplorerPaneVisibility_INTERFACE_DEFINED__
#define __IExplorerPaneVisibility_INTERFACE_DEFINED__
enum _EXPLORERPANESTATE {
EPS_DONTCARE = 0x0,
EPS_DEFAULT_ON = 0x1,
EPS_DEFAULT_OFF = 0x2,
EPS_STATEMASK = 0xffff,
EPS_INITIALSTATE = 0x10000,
EPS_FORCE = 0x20000
};
typedef DWORD EXPLORERPANESTATE;
DEFINE_GUID(IID_IExplorerPaneVisibility, 0xe07010ec, 0xbc17, 0x44c0, 0x97,0xb0, 0x46,0xc7,0xc9,0x5b,0x9e,0xdc);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("e07010ec-bc17-44c0-97b0-46c7c95b9edc")
IExplorerPaneVisibility : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetPaneState(
REFEXPLORERPANE ep,
EXPLORERPANESTATE *peps) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IExplorerPaneVisibility, 0xe07010ec, 0xbc17, 0x44c0, 0x97,0xb0, 0x46,0xc7,0xc9,0x5b,0x9e,0xdc)
#endif
#else
typedef struct IExplorerPaneVisibilityVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IExplorerPaneVisibility *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IExplorerPaneVisibility *This);
ULONG (STDMETHODCALLTYPE *Release)(
IExplorerPaneVisibility *This);
/*** IExplorerPaneVisibility methods ***/
HRESULT (STDMETHODCALLTYPE *GetPaneState)(
IExplorerPaneVisibility *This,
REFEXPLORERPANE ep,
EXPLORERPANESTATE *peps);
END_INTERFACE
} IExplorerPaneVisibilityVtbl;
interface IExplorerPaneVisibility {
CONST_VTBL IExplorerPaneVisibilityVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IExplorerPaneVisibility_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IExplorerPaneVisibility_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IExplorerPaneVisibility_Release(This) (This)->lpVtbl->Release(This)
/*** IExplorerPaneVisibility methods ***/
#define IExplorerPaneVisibility_GetPaneState(This,ep,peps) (This)->lpVtbl->GetPaneState(This,ep,peps)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IExplorerPaneVisibility_QueryInterface(IExplorerPaneVisibility* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IExplorerPaneVisibility_AddRef(IExplorerPaneVisibility* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IExplorerPaneVisibility_Release(IExplorerPaneVisibility* This) {
return This->lpVtbl->Release(This);
}
/*** IExplorerPaneVisibility methods ***/
static FORCEINLINE HRESULT IExplorerPaneVisibility_GetPaneState(IExplorerPaneVisibility* This,REFEXPLORERPANE ep,EXPLORERPANESTATE *peps) {
return This->lpVtbl->GetPaneState(This,ep,peps);
}
#endif
#endif
#endif
#endif /* __IExplorerPaneVisibility_INTERFACE_DEFINED__ */
#define SID_ExplorerPaneVisibility IID_IExplorerPaneVisibility
/*****************************************************************************
* IContextMenuCB interface
*/
#ifndef __IContextMenuCB_INTERFACE_DEFINED__
#define __IContextMenuCB_INTERFACE_DEFINED__
DEFINE_GUID(IID_IContextMenuCB, 0x3409e930, 0x5a39, 0x11d1, 0x83,0xfa, 0x00,0xa0,0xc9,0x0d,0xc8,0x49);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3409e930-5a39-11d1-83fa-00a0c90dc849")
IContextMenuCB : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE CallBack(
IShellFolder *psf,
HWND hwndOwner,
IDataObject *pdtobj,
UINT uMsg,
WPARAM wParam,
LPARAM lParam) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IContextMenuCB, 0x3409e930, 0x5a39, 0x11d1, 0x83,0xfa, 0x00,0xa0,0xc9,0x0d,0xc8,0x49)
#endif
#else
typedef struct IContextMenuCBVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IContextMenuCB *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IContextMenuCB *This);
ULONG (STDMETHODCALLTYPE *Release)(
IContextMenuCB *This);
/*** IContextMenuCB methods ***/
HRESULT (STDMETHODCALLTYPE *CallBack)(
IContextMenuCB *This,
IShellFolder *psf,
HWND hwndOwner,
IDataObject *pdtobj,
UINT uMsg,
WPARAM wParam,
LPARAM lParam);
END_INTERFACE
} IContextMenuCBVtbl;
interface IContextMenuCB {
CONST_VTBL IContextMenuCBVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IContextMenuCB_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IContextMenuCB_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IContextMenuCB_Release(This) (This)->lpVtbl->Release(This)
/*** IContextMenuCB methods ***/
#define IContextMenuCB_CallBack(This,psf,hwndOwner,pdtobj,uMsg,wParam,lParam) (This)->lpVtbl->CallBack(This,psf,hwndOwner,pdtobj,uMsg,wParam,lParam)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IContextMenuCB_QueryInterface(IContextMenuCB* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IContextMenuCB_AddRef(IContextMenuCB* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IContextMenuCB_Release(IContextMenuCB* This) {
return This->lpVtbl->Release(This);
}
/*** IContextMenuCB methods ***/
static FORCEINLINE HRESULT IContextMenuCB_CallBack(IContextMenuCB* This,IShellFolder *psf,HWND hwndOwner,IDataObject *pdtobj,UINT uMsg,WPARAM wParam,LPARAM lParam) {
return This->lpVtbl->CallBack(This,psf,hwndOwner,pdtobj,uMsg,wParam,lParam);
}
#endif
#endif
#endif
#endif /* __IContextMenuCB_INTERFACE_DEFINED__ */
#endif
/*****************************************************************************
* IDefaultExtractIconInit interface
*/
#ifndef __IDefaultExtractIconInit_INTERFACE_DEFINED__
#define __IDefaultExtractIconInit_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDefaultExtractIconInit, 0x41ded17d, 0xd6b3, 0x4261, 0x99,0x7d, 0x88,0xc6,0x0e,0x4b,0x1d,0x58);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("41ded17d-d6b3-4261-997d-88c60e4b1d58")
IDefaultExtractIconInit : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetFlags(
UINT uFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE SetKey(
HKEY hkey) = 0;
virtual HRESULT STDMETHODCALLTYPE SetNormalIcon(
LPCWSTR pszFile,
int iIcon) = 0;
virtual HRESULT STDMETHODCALLTYPE SetOpenIcon(
LPCWSTR pszFile,
int iIcon) = 0;
virtual HRESULT STDMETHODCALLTYPE SetShortcutIcon(
LPCWSTR pszFile,
int iIcon) = 0;
virtual HRESULT STDMETHODCALLTYPE SetDefaultIcon(
LPCWSTR pszFile,
int iIcon) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDefaultExtractIconInit, 0x41ded17d, 0xd6b3, 0x4261, 0x99,0x7d, 0x88,0xc6,0x0e,0x4b,0x1d,0x58)
#endif
#else
typedef struct IDefaultExtractIconInitVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDefaultExtractIconInit *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDefaultExtractIconInit *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDefaultExtractIconInit *This);
/*** IDefaultExtractIconInit methods ***/
HRESULT (STDMETHODCALLTYPE *SetFlags)(
IDefaultExtractIconInit *This,
UINT uFlags);
HRESULT (STDMETHODCALLTYPE *SetKey)(
IDefaultExtractIconInit *This,
HKEY hkey);
HRESULT (STDMETHODCALLTYPE *SetNormalIcon)(
IDefaultExtractIconInit *This,
LPCWSTR pszFile,
int iIcon);
HRESULT (STDMETHODCALLTYPE *SetOpenIcon)(
IDefaultExtractIconInit *This,
LPCWSTR pszFile,
int iIcon);
HRESULT (STDMETHODCALLTYPE *SetShortcutIcon)(
IDefaultExtractIconInit *This,
LPCWSTR pszFile,
int iIcon);
HRESULT (STDMETHODCALLTYPE *SetDefaultIcon)(
IDefaultExtractIconInit *This,
LPCWSTR pszFile,
int iIcon);
END_INTERFACE
} IDefaultExtractIconInitVtbl;
interface IDefaultExtractIconInit {
CONST_VTBL IDefaultExtractIconInitVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDefaultExtractIconInit_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDefaultExtractIconInit_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDefaultExtractIconInit_Release(This) (This)->lpVtbl->Release(This)
/*** IDefaultExtractIconInit methods ***/
#define IDefaultExtractIconInit_SetFlags(This,uFlags) (This)->lpVtbl->SetFlags(This,uFlags)
#define IDefaultExtractIconInit_SetKey(This,hkey) (This)->lpVtbl->SetKey(This,hkey)
#define IDefaultExtractIconInit_SetNormalIcon(This,pszFile,iIcon) (This)->lpVtbl->SetNormalIcon(This,pszFile,iIcon)
#define IDefaultExtractIconInit_SetOpenIcon(This,pszFile,iIcon) (This)->lpVtbl->SetOpenIcon(This,pszFile,iIcon)
#define IDefaultExtractIconInit_SetShortcutIcon(This,pszFile,iIcon) (This)->lpVtbl->SetShortcutIcon(This,pszFile,iIcon)
#define IDefaultExtractIconInit_SetDefaultIcon(This,pszFile,iIcon) (This)->lpVtbl->SetDefaultIcon(This,pszFile,iIcon)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDefaultExtractIconInit_QueryInterface(IDefaultExtractIconInit* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDefaultExtractIconInit_AddRef(IDefaultExtractIconInit* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDefaultExtractIconInit_Release(IDefaultExtractIconInit* This) {
return This->lpVtbl->Release(This);
}
/*** IDefaultExtractIconInit methods ***/
static FORCEINLINE HRESULT IDefaultExtractIconInit_SetFlags(IDefaultExtractIconInit* This,UINT uFlags) {
return This->lpVtbl->SetFlags(This,uFlags);
}
static FORCEINLINE HRESULT IDefaultExtractIconInit_SetKey(IDefaultExtractIconInit* This,HKEY hkey) {
return This->lpVtbl->SetKey(This,hkey);
}
static FORCEINLINE HRESULT IDefaultExtractIconInit_SetNormalIcon(IDefaultExtractIconInit* This,LPCWSTR pszFile,int iIcon) {
return This->lpVtbl->SetNormalIcon(This,pszFile,iIcon);
}
static FORCEINLINE HRESULT IDefaultExtractIconInit_SetOpenIcon(IDefaultExtractIconInit* This,LPCWSTR pszFile,int iIcon) {
return This->lpVtbl->SetOpenIcon(This,pszFile,iIcon);
}
static FORCEINLINE HRESULT IDefaultExtractIconInit_SetShortcutIcon(IDefaultExtractIconInit* This,LPCWSTR pszFile,int iIcon) {
return This->lpVtbl->SetShortcutIcon(This,pszFile,iIcon);
}
static FORCEINLINE HRESULT IDefaultExtractIconInit_SetDefaultIcon(IDefaultExtractIconInit* This,LPCWSTR pszFile,int iIcon) {
return This->lpVtbl->SetDefaultIcon(This,pszFile,iIcon);
}
#endif
#endif
#endif
#endif /* __IDefaultExtractIconInit_INTERFACE_DEFINED__ */
STDAPI SHCreateDefaultExtractIcon(REFIID riid, void **ppv);
#ifndef __IEnumExplorerCommand_FWD_DEFINED__
#define __IEnumExplorerCommand_FWD_DEFINED__
typedef interface IEnumExplorerCommand IEnumExplorerCommand;
#ifdef __cplusplus
interface IEnumExplorerCommand;
#endif /* __cplusplus */
#endif
/*****************************************************************************
* IExplorerCommand interface
*/
#ifndef __IExplorerCommand_INTERFACE_DEFINED__
#define __IExplorerCommand_INTERFACE_DEFINED__
enum _EXPCMDSTATE {
ECS_ENABLED = 0x0,
ECS_DISABLED = 0x1,
ECS_HIDDEN = 0x2,
ECS_CHECKBOX = 0x4,
ECS_CHECKED = 0x8,
ECS_RADIOCHECK = 0x10
};
typedef DWORD EXPCMDSTATE;
enum _EXPCMDFLAGS {
ECF_DEFAULT = 0x0,
ECF_HASSUBCOMMANDS = 0x1,
ECF_HASSPLITBUTTON = 0x2,
ECF_HIDELABEL = 0x4,
ECF_ISSEPARATOR = 0x8,
ECF_HASLUASHIELD = 0x10,
ECF_SEPARATORBEFORE = 0x20,
ECF_SEPARATORAFTER = 0x40,
ECF_ISDROPDOWN = 0x80,
ECF_TOGGLEABLE = 0x100,
ECF_AUTOMENUICONS = 0x200
};
typedef DWORD EXPCMDFLAGS;
DEFINE_GUID(IID_IExplorerCommand, 0xa08ce4d0, 0xfa25, 0x44ab, 0xb5,0x7c, 0xc7,0xb1,0xc3,0x23,0xe0,0xb9);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("a08ce4d0-fa25-44ab-b57c-c7b1c323e0b9")
IExplorerCommand : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetTitle(
IShellItemArray *psiItemArray,
LPWSTR *ppszName) = 0;
virtual HRESULT STDMETHODCALLTYPE GetIcon(
IShellItemArray *psiItemArray,
LPWSTR *ppszIcon) = 0;
virtual HRESULT STDMETHODCALLTYPE GetToolTip(
IShellItemArray *psiItemArray,
LPWSTR *ppszInfotip) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCanonicalName(
GUID *pguidCommandName) = 0;
virtual HRESULT STDMETHODCALLTYPE GetState(
IShellItemArray *psiItemArray,
WINBOOL fOkToBeSlow,
EXPCMDSTATE *pCmdState) = 0;
virtual HRESULT STDMETHODCALLTYPE Invoke(
IShellItemArray *psiItemArray,
IBindCtx *pbc) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFlags(
EXPCMDFLAGS *pFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumSubCommands(
IEnumExplorerCommand **ppEnum) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IExplorerCommand, 0xa08ce4d0, 0xfa25, 0x44ab, 0xb5,0x7c, 0xc7,0xb1,0xc3,0x23,0xe0,0xb9)
#endif
#else
typedef struct IExplorerCommandVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IExplorerCommand *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IExplorerCommand *This);
ULONG (STDMETHODCALLTYPE *Release)(
IExplorerCommand *This);
/*** IExplorerCommand methods ***/
HRESULT (STDMETHODCALLTYPE *GetTitle)(
IExplorerCommand *This,
IShellItemArray *psiItemArray,
LPWSTR *ppszName);
HRESULT (STDMETHODCALLTYPE *GetIcon)(
IExplorerCommand *This,
IShellItemArray *psiItemArray,
LPWSTR *ppszIcon);
HRESULT (STDMETHODCALLTYPE *GetToolTip)(
IExplorerCommand *This,
IShellItemArray *psiItemArray,
LPWSTR *ppszInfotip);
HRESULT (STDMETHODCALLTYPE *GetCanonicalName)(
IExplorerCommand *This,
GUID *pguidCommandName);
HRESULT (STDMETHODCALLTYPE *GetState)(
IExplorerCommand *This,
IShellItemArray *psiItemArray,
WINBOOL fOkToBeSlow,
EXPCMDSTATE *pCmdState);
HRESULT (STDMETHODCALLTYPE *Invoke)(
IExplorerCommand *This,
IShellItemArray *psiItemArray,
IBindCtx *pbc);
HRESULT (STDMETHODCALLTYPE *GetFlags)(
IExplorerCommand *This,
EXPCMDFLAGS *pFlags);
HRESULT (STDMETHODCALLTYPE *EnumSubCommands)(
IExplorerCommand *This,
IEnumExplorerCommand **ppEnum);
END_INTERFACE
} IExplorerCommandVtbl;
interface IExplorerCommand {
CONST_VTBL IExplorerCommandVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IExplorerCommand_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IExplorerCommand_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IExplorerCommand_Release(This) (This)->lpVtbl->Release(This)
/*** IExplorerCommand methods ***/
#define IExplorerCommand_GetTitle(This,psiItemArray,ppszName) (This)->lpVtbl->GetTitle(This,psiItemArray,ppszName)
#define IExplorerCommand_GetIcon(This,psiItemArray,ppszIcon) (This)->lpVtbl->GetIcon(This,psiItemArray,ppszIcon)
#define IExplorerCommand_GetToolTip(This,psiItemArray,ppszInfotip) (This)->lpVtbl->GetToolTip(This,psiItemArray,ppszInfotip)
#define IExplorerCommand_GetCanonicalName(This,pguidCommandName) (This)->lpVtbl->GetCanonicalName(This,pguidCommandName)
#define IExplorerCommand_GetState(This,psiItemArray,fOkToBeSlow,pCmdState) (This)->lpVtbl->GetState(This,psiItemArray,fOkToBeSlow,pCmdState)
#define IExplorerCommand_Invoke(This,psiItemArray,pbc) (This)->lpVtbl->Invoke(This,psiItemArray,pbc)
#define IExplorerCommand_GetFlags(This,pFlags) (This)->lpVtbl->GetFlags(This,pFlags)
#define IExplorerCommand_EnumSubCommands(This,ppEnum) (This)->lpVtbl->EnumSubCommands(This,ppEnum)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IExplorerCommand_QueryInterface(IExplorerCommand* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IExplorerCommand_AddRef(IExplorerCommand* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IExplorerCommand_Release(IExplorerCommand* This) {
return This->lpVtbl->Release(This);
}
/*** IExplorerCommand methods ***/
static FORCEINLINE HRESULT IExplorerCommand_GetTitle(IExplorerCommand* This,IShellItemArray *psiItemArray,LPWSTR *ppszName) {
return This->lpVtbl->GetTitle(This,psiItemArray,ppszName);
}
static FORCEINLINE HRESULT IExplorerCommand_GetIcon(IExplorerCommand* This,IShellItemArray *psiItemArray,LPWSTR *ppszIcon) {
return This->lpVtbl->GetIcon(This,psiItemArray,ppszIcon);
}
static FORCEINLINE HRESULT IExplorerCommand_GetToolTip(IExplorerCommand* This,IShellItemArray *psiItemArray,LPWSTR *ppszInfotip) {
return This->lpVtbl->GetToolTip(This,psiItemArray,ppszInfotip);
}
static FORCEINLINE HRESULT IExplorerCommand_GetCanonicalName(IExplorerCommand* This,GUID *pguidCommandName) {
return This->lpVtbl->GetCanonicalName(This,pguidCommandName);
}
static FORCEINLINE HRESULT IExplorerCommand_GetState(IExplorerCommand* This,IShellItemArray *psiItemArray,WINBOOL fOkToBeSlow,EXPCMDSTATE *pCmdState) {
return This->lpVtbl->GetState(This,psiItemArray,fOkToBeSlow,pCmdState);
}
static FORCEINLINE HRESULT IExplorerCommand_Invoke(IExplorerCommand* This,IShellItemArray *psiItemArray,IBindCtx *pbc) {
return This->lpVtbl->Invoke(This,psiItemArray,pbc);
}
static FORCEINLINE HRESULT IExplorerCommand_GetFlags(IExplorerCommand* This,EXPCMDFLAGS *pFlags) {
return This->lpVtbl->GetFlags(This,pFlags);
}
static FORCEINLINE HRESULT IExplorerCommand_EnumSubCommands(IExplorerCommand* This,IEnumExplorerCommand **ppEnum) {
return This->lpVtbl->EnumSubCommands(This,ppEnum);
}
#endif
#endif
#endif
#endif /* __IExplorerCommand_INTERFACE_DEFINED__ */
/*****************************************************************************
* IExplorerCommandState interface
*/
#ifndef __IExplorerCommandState_INTERFACE_DEFINED__
#define __IExplorerCommandState_INTERFACE_DEFINED__
DEFINE_GUID(IID_IExplorerCommandState, 0xbddacb60, 0x7657, 0x47ae, 0x84,0x45, 0xd2,0x3e,0x1a,0xcf,0x82,0xae);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("bddacb60-7657-47ae-8445-d23e1acf82ae")
IExplorerCommandState : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetState(
IShellItemArray *psiItemArray,
WINBOOL fOkToBeSlow,
EXPCMDSTATE *pCmdState) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IExplorerCommandState, 0xbddacb60, 0x7657, 0x47ae, 0x84,0x45, 0xd2,0x3e,0x1a,0xcf,0x82,0xae)
#endif
#else
typedef struct IExplorerCommandStateVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IExplorerCommandState *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IExplorerCommandState *This);
ULONG (STDMETHODCALLTYPE *Release)(
IExplorerCommandState *This);
/*** IExplorerCommandState methods ***/
HRESULT (STDMETHODCALLTYPE *GetState)(
IExplorerCommandState *This,
IShellItemArray *psiItemArray,
WINBOOL fOkToBeSlow,
EXPCMDSTATE *pCmdState);
END_INTERFACE
} IExplorerCommandStateVtbl;
interface IExplorerCommandState {
CONST_VTBL IExplorerCommandStateVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IExplorerCommandState_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IExplorerCommandState_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IExplorerCommandState_Release(This) (This)->lpVtbl->Release(This)
/*** IExplorerCommandState methods ***/
#define IExplorerCommandState_GetState(This,psiItemArray,fOkToBeSlow,pCmdState) (This)->lpVtbl->GetState(This,psiItemArray,fOkToBeSlow,pCmdState)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IExplorerCommandState_QueryInterface(IExplorerCommandState* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IExplorerCommandState_AddRef(IExplorerCommandState* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IExplorerCommandState_Release(IExplorerCommandState* This) {
return This->lpVtbl->Release(This);
}
/*** IExplorerCommandState methods ***/
static FORCEINLINE HRESULT IExplorerCommandState_GetState(IExplorerCommandState* This,IShellItemArray *psiItemArray,WINBOOL fOkToBeSlow,EXPCMDSTATE *pCmdState) {
return This->lpVtbl->GetState(This,psiItemArray,fOkToBeSlow,pCmdState);
}
#endif
#endif
#endif
#endif /* __IExplorerCommandState_INTERFACE_DEFINED__ */
/*****************************************************************************
* IInitializeCommand interface
*/
#ifndef __IInitializeCommand_INTERFACE_DEFINED__
#define __IInitializeCommand_INTERFACE_DEFINED__
DEFINE_GUID(IID_IInitializeCommand, 0x85075acf, 0x231f, 0x40ea, 0x96,0x10, 0xd2,0x6b,0x7b,0x58,0xf6,0x38);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("85075acf-231f-40ea-9610-d26b7b58f638")
IInitializeCommand : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Initialize(
LPCWSTR pszCommandName,
IPropertyBag *ppb) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IInitializeCommand, 0x85075acf, 0x231f, 0x40ea, 0x96,0x10, 0xd2,0x6b,0x7b,0x58,0xf6,0x38)
#endif
#else
typedef struct IInitializeCommandVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IInitializeCommand *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IInitializeCommand *This);
ULONG (STDMETHODCALLTYPE *Release)(
IInitializeCommand *This);
/*** IInitializeCommand methods ***/
HRESULT (STDMETHODCALLTYPE *Initialize)(
IInitializeCommand *This,
LPCWSTR pszCommandName,
IPropertyBag *ppb);
END_INTERFACE
} IInitializeCommandVtbl;
interface IInitializeCommand {
CONST_VTBL IInitializeCommandVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IInitializeCommand_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IInitializeCommand_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IInitializeCommand_Release(This) (This)->lpVtbl->Release(This)
/*** IInitializeCommand methods ***/
#define IInitializeCommand_Initialize(This,pszCommandName,ppb) (This)->lpVtbl->Initialize(This,pszCommandName,ppb)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IInitializeCommand_QueryInterface(IInitializeCommand* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IInitializeCommand_AddRef(IInitializeCommand* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IInitializeCommand_Release(IInitializeCommand* This) {
return This->lpVtbl->Release(This);
}
/*** IInitializeCommand methods ***/
static FORCEINLINE HRESULT IInitializeCommand_Initialize(IInitializeCommand* This,LPCWSTR pszCommandName,IPropertyBag *ppb) {
return This->lpVtbl->Initialize(This,pszCommandName,ppb);
}
#endif
#endif
#endif
#endif /* __IInitializeCommand_INTERFACE_DEFINED__ */
/*****************************************************************************
* IEnumExplorerCommand interface
*/
#ifndef __IEnumExplorerCommand_INTERFACE_DEFINED__
#define __IEnumExplorerCommand_INTERFACE_DEFINED__
DEFINE_GUID(IID_IEnumExplorerCommand, 0xa88826f8, 0x186f, 0x4987, 0xaa,0xde, 0xea,0x0c,0xef,0x8f,0xbf,0xe8);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("a88826f8-186f-4987-aade-ea0cef8fbfe8")
IEnumExplorerCommand : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Next(
ULONG celt,
IExplorerCommand **pUICommand,
ULONG *pceltFetched) = 0;
virtual HRESULT STDMETHODCALLTYPE Skip(
ULONG celt) = 0;
virtual HRESULT STDMETHODCALLTYPE Reset(
) = 0;
virtual HRESULT STDMETHODCALLTYPE Clone(
IEnumExplorerCommand **ppenum) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IEnumExplorerCommand, 0xa88826f8, 0x186f, 0x4987, 0xaa,0xde, 0xea,0x0c,0xef,0x8f,0xbf,0xe8)
#endif
#else
typedef struct IEnumExplorerCommandVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IEnumExplorerCommand *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IEnumExplorerCommand *This);
ULONG (STDMETHODCALLTYPE *Release)(
IEnumExplorerCommand *This);
/*** IEnumExplorerCommand methods ***/
HRESULT (STDMETHODCALLTYPE *Next)(
IEnumExplorerCommand *This,
ULONG celt,
IExplorerCommand **pUICommand,
ULONG *pceltFetched);
HRESULT (STDMETHODCALLTYPE *Skip)(
IEnumExplorerCommand *This,
ULONG celt);
HRESULT (STDMETHODCALLTYPE *Reset)(
IEnumExplorerCommand *This);
HRESULT (STDMETHODCALLTYPE *Clone)(
IEnumExplorerCommand *This,
IEnumExplorerCommand **ppenum);
END_INTERFACE
} IEnumExplorerCommandVtbl;
interface IEnumExplorerCommand {
CONST_VTBL IEnumExplorerCommandVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IEnumExplorerCommand_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IEnumExplorerCommand_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IEnumExplorerCommand_Release(This) (This)->lpVtbl->Release(This)
/*** IEnumExplorerCommand methods ***/
#define IEnumExplorerCommand_Next(This,celt,pUICommand,pceltFetched) (This)->lpVtbl->Next(This,celt,pUICommand,pceltFetched)
#define IEnumExplorerCommand_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
#define IEnumExplorerCommand_Reset(This) (This)->lpVtbl->Reset(This)
#define IEnumExplorerCommand_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IEnumExplorerCommand_QueryInterface(IEnumExplorerCommand* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IEnumExplorerCommand_AddRef(IEnumExplorerCommand* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IEnumExplorerCommand_Release(IEnumExplorerCommand* This) {
return This->lpVtbl->Release(This);
}
/*** IEnumExplorerCommand methods ***/
static FORCEINLINE HRESULT IEnumExplorerCommand_Next(IEnumExplorerCommand* This,ULONG celt,IExplorerCommand **pUICommand,ULONG *pceltFetched) {
return This->lpVtbl->Next(This,celt,pUICommand,pceltFetched);
}
static FORCEINLINE HRESULT IEnumExplorerCommand_Skip(IEnumExplorerCommand* This,ULONG celt) {
return This->lpVtbl->Skip(This,celt);
}
static FORCEINLINE HRESULT IEnumExplorerCommand_Reset(IEnumExplorerCommand* This) {
return This->lpVtbl->Reset(This);
}
static FORCEINLINE HRESULT IEnumExplorerCommand_Clone(IEnumExplorerCommand* This,IEnumExplorerCommand **ppenum) {
return This->lpVtbl->Clone(This,ppenum);
}
#endif
#endif
#endif
HRESULT STDMETHODCALLTYPE IEnumExplorerCommand_RemoteNext_Proxy(
IEnumExplorerCommand* This,
ULONG celt,
IExplorerCommand **pUICommand,
ULONG *pceltFetched);
void __RPC_STUB IEnumExplorerCommand_RemoteNext_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IEnumExplorerCommand_Next_Proxy(
IEnumExplorerCommand* This,
ULONG celt,
IExplorerCommand **pUICommand,
ULONG *pceltFetched);
HRESULT __RPC_STUB IEnumExplorerCommand_Next_Stub(
IEnumExplorerCommand* This,
ULONG celt,
IExplorerCommand **pUICommand,
ULONG *pceltFetched);
#endif /* __IEnumExplorerCommand_INTERFACE_DEFINED__ */
/*****************************************************************************
* IExplorerCommandProvider interface
*/
#ifndef __IExplorerCommandProvider_INTERFACE_DEFINED__
#define __IExplorerCommandProvider_INTERFACE_DEFINED__
DEFINE_GUID(IID_IExplorerCommandProvider, 0x64961751, 0x0835, 0x43c0, 0x8f,0xfe, 0xd5,0x76,0x86,0x53,0x0e,0x64);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("64961751-0835-43c0-8ffe-d57686530e64")
IExplorerCommandProvider : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetCommands(
IUnknown *punkSite,
REFIID riid,
void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCommand(
REFGUID rguidCommandId,
REFIID riid,
void **ppv) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IExplorerCommandProvider, 0x64961751, 0x0835, 0x43c0, 0x8f,0xfe, 0xd5,0x76,0x86,0x53,0x0e,0x64)
#endif
#else
typedef struct IExplorerCommandProviderVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IExplorerCommandProvider *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IExplorerCommandProvider *This);
ULONG (STDMETHODCALLTYPE *Release)(
IExplorerCommandProvider *This);
/*** IExplorerCommandProvider methods ***/
HRESULT (STDMETHODCALLTYPE *GetCommands)(
IExplorerCommandProvider *This,
IUnknown *punkSite,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *GetCommand)(
IExplorerCommandProvider *This,
REFGUID rguidCommandId,
REFIID riid,
void **ppv);
END_INTERFACE
} IExplorerCommandProviderVtbl;
interface IExplorerCommandProvider {
CONST_VTBL IExplorerCommandProviderVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IExplorerCommandProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IExplorerCommandProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IExplorerCommandProvider_Release(This) (This)->lpVtbl->Release(This)
/*** IExplorerCommandProvider methods ***/
#define IExplorerCommandProvider_GetCommands(This,punkSite,riid,ppv) (This)->lpVtbl->GetCommands(This,punkSite,riid,ppv)
#define IExplorerCommandProvider_GetCommand(This,rguidCommandId,riid,ppv) (This)->lpVtbl->GetCommand(This,rguidCommandId,riid,ppv)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IExplorerCommandProvider_QueryInterface(IExplorerCommandProvider* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IExplorerCommandProvider_AddRef(IExplorerCommandProvider* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IExplorerCommandProvider_Release(IExplorerCommandProvider* This) {
return This->lpVtbl->Release(This);
}
/*** IExplorerCommandProvider methods ***/
static FORCEINLINE HRESULT IExplorerCommandProvider_GetCommands(IExplorerCommandProvider* This,IUnknown *punkSite,REFIID riid,void **ppv) {
return This->lpVtbl->GetCommands(This,punkSite,riid,ppv);
}
static FORCEINLINE HRESULT IExplorerCommandProvider_GetCommand(IExplorerCommandProvider* This,REFGUID rguidCommandId,REFIID riid,void **ppv) {
return This->lpVtbl->GetCommand(This,rguidCommandId,riid,ppv);
}
#endif
#endif
#endif
#endif /* __IExplorerCommandProvider_INTERFACE_DEFINED__ */
typedef HANDLE HTHEME;
/*****************************************************************************
* IInitializeNetworkFolder interface
*/
#ifndef __IInitializeNetworkFolder_INTERFACE_DEFINED__
#define __IInitializeNetworkFolder_INTERFACE_DEFINED__
DEFINE_GUID(IID_IInitializeNetworkFolder, 0x6e0f9881, 0x42a8, 0x4f2a, 0x97,0xf8, 0x8a,0xf4,0xe0,0x26,0xd9,0x2d);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("6e0f9881-42a8-4f2a-97f8-8af4e026d92d")
IInitializeNetworkFolder : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Initialize(
PCIDLIST_ABSOLUTE pidl,
PCIDLIST_ABSOLUTE pidlTarget,
UINT uDisplayType,
LPCWSTR pszResName,
LPCWSTR pszProvider) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IInitializeNetworkFolder, 0x6e0f9881, 0x42a8, 0x4f2a, 0x97,0xf8, 0x8a,0xf4,0xe0,0x26,0xd9,0x2d)
#endif
#else
typedef struct IInitializeNetworkFolderVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IInitializeNetworkFolder *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IInitializeNetworkFolder *This);
ULONG (STDMETHODCALLTYPE *Release)(
IInitializeNetworkFolder *This);
/*** IInitializeNetworkFolder methods ***/
HRESULT (STDMETHODCALLTYPE *Initialize)(
IInitializeNetworkFolder *This,
PCIDLIST_ABSOLUTE pidl,
PCIDLIST_ABSOLUTE pidlTarget,
UINT uDisplayType,
LPCWSTR pszResName,
LPCWSTR pszProvider);
END_INTERFACE
} IInitializeNetworkFolderVtbl;
interface IInitializeNetworkFolder {
CONST_VTBL IInitializeNetworkFolderVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IInitializeNetworkFolder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IInitializeNetworkFolder_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IInitializeNetworkFolder_Release(This) (This)->lpVtbl->Release(This)
/*** IInitializeNetworkFolder methods ***/
#define IInitializeNetworkFolder_Initialize(This,pidl,pidlTarget,uDisplayType,pszResName,pszProvider) (This)->lpVtbl->Initialize(This,pidl,pidlTarget,uDisplayType,pszResName,pszProvider)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IInitializeNetworkFolder_QueryInterface(IInitializeNetworkFolder* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IInitializeNetworkFolder_AddRef(IInitializeNetworkFolder* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IInitializeNetworkFolder_Release(IInitializeNetworkFolder* This) {
return This->lpVtbl->Release(This);
}
/*** IInitializeNetworkFolder methods ***/
static FORCEINLINE HRESULT IInitializeNetworkFolder_Initialize(IInitializeNetworkFolder* This,PCIDLIST_ABSOLUTE pidl,PCIDLIST_ABSOLUTE pidlTarget,UINT uDisplayType,LPCWSTR pszResName,LPCWSTR pszProvider) {
return This->lpVtbl->Initialize(This,pidl,pidlTarget,uDisplayType,pszResName,pszProvider);
}
#endif
#endif
#endif
#endif /* __IInitializeNetworkFolder_INTERFACE_DEFINED__ */
typedef enum CPVIEW {
CPVIEW_CLASSIC = 0,
CPVIEW_ALLITEMS = CPVIEW_CLASSIC,
CPVIEW_CATEGORY = 1,
CPVIEW_HOME = CPVIEW_CATEGORY
} CPVIEW;
/*****************************************************************************
* IOpenControlPanel interface
*/
#ifndef __IOpenControlPanel_INTERFACE_DEFINED__
#define __IOpenControlPanel_INTERFACE_DEFINED__
DEFINE_GUID(IID_IOpenControlPanel, 0xd11ad862, 0x66de, 0x4df4, 0xbf,0x6c, 0x1f,0x56,0x21,0x99,0x6a,0xf1);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("d11ad862-66de-4df4-bf6c-1f5621996af1")
IOpenControlPanel : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Open(
LPCWSTR pszName,
LPCWSTR pszPage,
IUnknown *punkSite) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPath(
LPCWSTR pszName,
LPWSTR pszPath,
UINT cchPath) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentView(
CPVIEW *pView) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IOpenControlPanel, 0xd11ad862, 0x66de, 0x4df4, 0xbf,0x6c, 0x1f,0x56,0x21,0x99,0x6a,0xf1)
#endif
#else
typedef struct IOpenControlPanelVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IOpenControlPanel *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IOpenControlPanel *This);
ULONG (STDMETHODCALLTYPE *Release)(
IOpenControlPanel *This);
/*** IOpenControlPanel methods ***/
HRESULT (STDMETHODCALLTYPE *Open)(
IOpenControlPanel *This,
LPCWSTR pszName,
LPCWSTR pszPage,
IUnknown *punkSite);
HRESULT (STDMETHODCALLTYPE *GetPath)(
IOpenControlPanel *This,
LPCWSTR pszName,
LPWSTR pszPath,
UINT cchPath);
HRESULT (STDMETHODCALLTYPE *GetCurrentView)(
IOpenControlPanel *This,
CPVIEW *pView);
END_INTERFACE
} IOpenControlPanelVtbl;
interface IOpenControlPanel {
CONST_VTBL IOpenControlPanelVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IOpenControlPanel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IOpenControlPanel_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IOpenControlPanel_Release(This) (This)->lpVtbl->Release(This)
/*** IOpenControlPanel methods ***/
#define IOpenControlPanel_Open(This,pszName,pszPage,punkSite) (This)->lpVtbl->Open(This,pszName,pszPage,punkSite)
#define IOpenControlPanel_GetPath(This,pszName,pszPath,cchPath) (This)->lpVtbl->GetPath(This,pszName,pszPath,cchPath)
#define IOpenControlPanel_GetCurrentView(This,pView) (This)->lpVtbl->GetCurrentView(This,pView)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IOpenControlPanel_QueryInterface(IOpenControlPanel* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IOpenControlPanel_AddRef(IOpenControlPanel* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IOpenControlPanel_Release(IOpenControlPanel* This) {
return This->lpVtbl->Release(This);
}
/*** IOpenControlPanel methods ***/
static FORCEINLINE HRESULT IOpenControlPanel_Open(IOpenControlPanel* This,LPCWSTR pszName,LPCWSTR pszPage,IUnknown *punkSite) {
return This->lpVtbl->Open(This,pszName,pszPage,punkSite);
}
static FORCEINLINE HRESULT IOpenControlPanel_GetPath(IOpenControlPanel* This,LPCWSTR pszName,LPWSTR pszPath,UINT cchPath) {
return This->lpVtbl->GetPath(This,pszName,pszPath,cchPath);
}
static FORCEINLINE HRESULT IOpenControlPanel_GetCurrentView(IOpenControlPanel* This,CPVIEW *pView) {
return This->lpVtbl->GetCurrentView(This,pView);
}
#endif
#endif
#endif
#endif /* __IOpenControlPanel_INTERFACE_DEFINED__ */
/*****************************************************************************
* IComputerInfoChangeNotify interface
*/
#ifndef __IComputerInfoChangeNotify_INTERFACE_DEFINED__
#define __IComputerInfoChangeNotify_INTERFACE_DEFINED__
DEFINE_GUID(IID_IComputerInfoChangeNotify, 0x0df60d92, 0x6818, 0x46d6, 0xb3,0x58, 0xd6,0x61,0x70,0xdd,0xe4,0x66);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("0df60d92-6818-46d6-b358-d66170dde466")
IComputerInfoChangeNotify : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE ComputerInfoChanged(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IComputerInfoChangeNotify, 0x0df60d92, 0x6818, 0x46d6, 0xb3,0x58, 0xd6,0x61,0x70,0xdd,0xe4,0x66)
#endif
#else
typedef struct IComputerInfoChangeNotifyVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IComputerInfoChangeNotify *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IComputerInfoChangeNotify *This);
ULONG (STDMETHODCALLTYPE *Release)(
IComputerInfoChangeNotify *This);
/*** IComputerInfoChangeNotify methods ***/
HRESULT (STDMETHODCALLTYPE *ComputerInfoChanged)(
IComputerInfoChangeNotify *This);
END_INTERFACE
} IComputerInfoChangeNotifyVtbl;
interface IComputerInfoChangeNotify {
CONST_VTBL IComputerInfoChangeNotifyVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IComputerInfoChangeNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IComputerInfoChangeNotify_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IComputerInfoChangeNotify_Release(This) (This)->lpVtbl->Release(This)
/*** IComputerInfoChangeNotify methods ***/
#define IComputerInfoChangeNotify_ComputerInfoChanged(This) (This)->lpVtbl->ComputerInfoChanged(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IComputerInfoChangeNotify_QueryInterface(IComputerInfoChangeNotify* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IComputerInfoChangeNotify_AddRef(IComputerInfoChangeNotify* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IComputerInfoChangeNotify_Release(IComputerInfoChangeNotify* This) {
return This->lpVtbl->Release(This);
}
/*** IComputerInfoChangeNotify methods ***/
static FORCEINLINE HRESULT IComputerInfoChangeNotify_ComputerInfoChanged(IComputerInfoChangeNotify* This) {
return This->lpVtbl->ComputerInfoChanged(This);
}
#endif
#endif
#endif
#endif /* __IComputerInfoChangeNotify_INTERFACE_DEFINED__ */
#define STR_FILE_SYS_BIND_DATA L"File System Bind Data"
/*****************************************************************************
* IFileSystemBindData interface
*/
#ifndef __IFileSystemBindData_INTERFACE_DEFINED__
#define __IFileSystemBindData_INTERFACE_DEFINED__
DEFINE_GUID(IID_IFileSystemBindData, 0x01e18d10, 0x4d8b, 0x11d2, 0x85,0x5d, 0x00,0x60,0x08,0x05,0x93,0x67);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("01e18d10-4d8b-11d2-855d-006008059367")
IFileSystemBindData : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetFindData(
const WIN32_FIND_DATAW *pfd) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFindData(
WIN32_FIND_DATAW *pfd) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IFileSystemBindData, 0x01e18d10, 0x4d8b, 0x11d2, 0x85,0x5d, 0x00,0x60,0x08,0x05,0x93,0x67)
#endif
#else
typedef struct IFileSystemBindDataVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IFileSystemBindData *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IFileSystemBindData *This);
ULONG (STDMETHODCALLTYPE *Release)(
IFileSystemBindData *This);
/*** IFileSystemBindData methods ***/
HRESULT (STDMETHODCALLTYPE *SetFindData)(
IFileSystemBindData *This,
const WIN32_FIND_DATAW *pfd);
HRESULT (STDMETHODCALLTYPE *GetFindData)(
IFileSystemBindData *This,
WIN32_FIND_DATAW *pfd);
END_INTERFACE
} IFileSystemBindDataVtbl;
interface IFileSystemBindData {
CONST_VTBL IFileSystemBindDataVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IFileSystemBindData_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IFileSystemBindData_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IFileSystemBindData_Release(This) (This)->lpVtbl->Release(This)
/*** IFileSystemBindData methods ***/
#define IFileSystemBindData_SetFindData(This,pfd) (This)->lpVtbl->SetFindData(This,pfd)
#define IFileSystemBindData_GetFindData(This,pfd) (This)->lpVtbl->GetFindData(This,pfd)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IFileSystemBindData_QueryInterface(IFileSystemBindData* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IFileSystemBindData_AddRef(IFileSystemBindData* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IFileSystemBindData_Release(IFileSystemBindData* This) {
return This->lpVtbl->Release(This);
}
/*** IFileSystemBindData methods ***/
static FORCEINLINE HRESULT IFileSystemBindData_SetFindData(IFileSystemBindData* This,const WIN32_FIND_DATAW *pfd) {
return This->lpVtbl->SetFindData(This,pfd);
}
static FORCEINLINE HRESULT IFileSystemBindData_GetFindData(IFileSystemBindData* This,WIN32_FIND_DATAW *pfd) {
return This->lpVtbl->GetFindData(This,pfd);
}
#endif
#endif
#endif
#endif /* __IFileSystemBindData_INTERFACE_DEFINED__ */
/*****************************************************************************
* IFileSystemBindData2 interface
*/
#ifndef __IFileSystemBindData2_INTERFACE_DEFINED__
#define __IFileSystemBindData2_INTERFACE_DEFINED__
DEFINE_GUID(IID_IFileSystemBindData2, 0x3acf075f, 0x71db, 0x4afa, 0x81,0xf0, 0x3f,0xc4,0xfd,0xf2,0xa5,0xb8);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3acf075f-71db-4afa-81f0-3fc4fdf2a5b8")
IFileSystemBindData2 : public IFileSystemBindData
{
virtual HRESULT STDMETHODCALLTYPE SetFileID(
LARGE_INTEGER liFileID) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFileID(
LARGE_INTEGER *pliFileID) = 0;
virtual HRESULT STDMETHODCALLTYPE SetJunctionCLSID(
REFCLSID clsid) = 0;
virtual HRESULT STDMETHODCALLTYPE GetJunctionCLSID(
CLSID *pclsid) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IFileSystemBindData2, 0x3acf075f, 0x71db, 0x4afa, 0x81,0xf0, 0x3f,0xc4,0xfd,0xf2,0xa5,0xb8)
#endif
#else
typedef struct IFileSystemBindData2Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IFileSystemBindData2 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IFileSystemBindData2 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IFileSystemBindData2 *This);
/*** IFileSystemBindData methods ***/
HRESULT (STDMETHODCALLTYPE *SetFindData)(
IFileSystemBindData2 *This,
const WIN32_FIND_DATAW *pfd);
HRESULT (STDMETHODCALLTYPE *GetFindData)(
IFileSystemBindData2 *This,
WIN32_FIND_DATAW *pfd);
/*** IFileSystemBindData2 methods ***/
HRESULT (STDMETHODCALLTYPE *SetFileID)(
IFileSystemBindData2 *This,
LARGE_INTEGER liFileID);
HRESULT (STDMETHODCALLTYPE *GetFileID)(
IFileSystemBindData2 *This,
LARGE_INTEGER *pliFileID);
HRESULT (STDMETHODCALLTYPE *SetJunctionCLSID)(
IFileSystemBindData2 *This,
REFCLSID clsid);
HRESULT (STDMETHODCALLTYPE *GetJunctionCLSID)(
IFileSystemBindData2 *This,
CLSID *pclsid);
END_INTERFACE
} IFileSystemBindData2Vtbl;
interface IFileSystemBindData2 {
CONST_VTBL IFileSystemBindData2Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IFileSystemBindData2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IFileSystemBindData2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IFileSystemBindData2_Release(This) (This)->lpVtbl->Release(This)
/*** IFileSystemBindData methods ***/
#define IFileSystemBindData2_SetFindData(This,pfd) (This)->lpVtbl->SetFindData(This,pfd)
#define IFileSystemBindData2_GetFindData(This,pfd) (This)->lpVtbl->GetFindData(This,pfd)
/*** IFileSystemBindData2 methods ***/
#define IFileSystemBindData2_SetFileID(This,liFileID) (This)->lpVtbl->SetFileID(This,liFileID)
#define IFileSystemBindData2_GetFileID(This,pliFileID) (This)->lpVtbl->GetFileID(This,pliFileID)
#define IFileSystemBindData2_SetJunctionCLSID(This,clsid) (This)->lpVtbl->SetJunctionCLSID(This,clsid)
#define IFileSystemBindData2_GetJunctionCLSID(This,pclsid) (This)->lpVtbl->GetJunctionCLSID(This,pclsid)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IFileSystemBindData2_QueryInterface(IFileSystemBindData2* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IFileSystemBindData2_AddRef(IFileSystemBindData2* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IFileSystemBindData2_Release(IFileSystemBindData2* This) {
return This->lpVtbl->Release(This);
}
/*** IFileSystemBindData methods ***/
static FORCEINLINE HRESULT IFileSystemBindData2_SetFindData(IFileSystemBindData2* This,const WIN32_FIND_DATAW *pfd) {
return This->lpVtbl->SetFindData(This,pfd);
}
static FORCEINLINE HRESULT IFileSystemBindData2_GetFindData(IFileSystemBindData2* This,WIN32_FIND_DATAW *pfd) {
return This->lpVtbl->GetFindData(This,pfd);
}
/*** IFileSystemBindData2 methods ***/
static FORCEINLINE HRESULT IFileSystemBindData2_SetFileID(IFileSystemBindData2* This,LARGE_INTEGER liFileID) {
return This->lpVtbl->SetFileID(This,liFileID);
}
static FORCEINLINE HRESULT IFileSystemBindData2_GetFileID(IFileSystemBindData2* This,LARGE_INTEGER *pliFileID) {
return This->lpVtbl->GetFileID(This,pliFileID);
}
static FORCEINLINE HRESULT IFileSystemBindData2_SetJunctionCLSID(IFileSystemBindData2* This,REFCLSID clsid) {
return This->lpVtbl->SetJunctionCLSID(This,clsid);
}
static FORCEINLINE HRESULT IFileSystemBindData2_GetJunctionCLSID(IFileSystemBindData2* This,CLSID *pclsid) {
return This->lpVtbl->GetJunctionCLSID(This,pclsid);
}
#endif
#endif
#endif
#endif /* __IFileSystemBindData2_INTERFACE_DEFINED__ */
#if NTDDI_VERSION >= NTDDI_WIN7
/*****************************************************************************
* ICustomDestinationList interface
*/
#ifndef __ICustomDestinationList_INTERFACE_DEFINED__
#define __ICustomDestinationList_INTERFACE_DEFINED__
typedef enum KNOWNDESTCATEGORY {
KDC_FREQUENT = 1,
KDC_RECENT = 2
} KNOWNDESTCATEGORY;
DEFINE_GUID(IID_ICustomDestinationList, 0x6332debf, 0x87b5, 0x4670, 0x90,0xc0, 0x5e,0x57,0xb4,0x08,0xa4,0x9e);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("6332debf-87b5-4670-90c0-5e57b408a49e")
ICustomDestinationList : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetAppID(
LPCWSTR pszAppID) = 0;
virtual HRESULT STDMETHODCALLTYPE BeginList(
UINT *pcMinSlots,
REFIID riid,
void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE AppendCategory(
LPCWSTR pszCategory,
IObjectArray *poa) = 0;
virtual HRESULT STDMETHODCALLTYPE AppendKnownCategory(
KNOWNDESTCATEGORY category) = 0;
virtual HRESULT STDMETHODCALLTYPE AddUserTasks(
IObjectArray *poa) = 0;
virtual HRESULT STDMETHODCALLTYPE CommitList(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetRemovedDestinations(
REFIID riid,
void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE DeleteList(
LPCWSTR pszAppID) = 0;
virtual HRESULT STDMETHODCALLTYPE AbortList(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ICustomDestinationList, 0x6332debf, 0x87b5, 0x4670, 0x90,0xc0, 0x5e,0x57,0xb4,0x08,0xa4,0x9e)
#endif
#else
typedef struct ICustomDestinationListVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ICustomDestinationList *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ICustomDestinationList *This);
ULONG (STDMETHODCALLTYPE *Release)(
ICustomDestinationList *This);
/*** ICustomDestinationList methods ***/
HRESULT (STDMETHODCALLTYPE *SetAppID)(
ICustomDestinationList *This,
LPCWSTR pszAppID);
HRESULT (STDMETHODCALLTYPE *BeginList)(
ICustomDestinationList *This,
UINT *pcMinSlots,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *AppendCategory)(
ICustomDestinationList *This,
LPCWSTR pszCategory,
IObjectArray *poa);
HRESULT (STDMETHODCALLTYPE *AppendKnownCategory)(
ICustomDestinationList *This,
KNOWNDESTCATEGORY category);
HRESULT (STDMETHODCALLTYPE *AddUserTasks)(
ICustomDestinationList *This,
IObjectArray *poa);
HRESULT (STDMETHODCALLTYPE *CommitList)(
ICustomDestinationList *This);
HRESULT (STDMETHODCALLTYPE *GetRemovedDestinations)(
ICustomDestinationList *This,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *DeleteList)(
ICustomDestinationList *This,
LPCWSTR pszAppID);
HRESULT (STDMETHODCALLTYPE *AbortList)(
ICustomDestinationList *This);
END_INTERFACE
} ICustomDestinationListVtbl;
interface ICustomDestinationList {
CONST_VTBL ICustomDestinationListVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ICustomDestinationList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ICustomDestinationList_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ICustomDestinationList_Release(This) (This)->lpVtbl->Release(This)
/*** ICustomDestinationList methods ***/
#define ICustomDestinationList_SetAppID(This,pszAppID) (This)->lpVtbl->SetAppID(This,pszAppID)
#define ICustomDestinationList_BeginList(This,pcMinSlots,riid,ppv) (This)->lpVtbl->BeginList(This,pcMinSlots,riid,ppv)
#define ICustomDestinationList_AppendCategory(This,pszCategory,poa) (This)->lpVtbl->AppendCategory(This,pszCategory,poa)
#define ICustomDestinationList_AppendKnownCategory(This,category) (This)->lpVtbl->AppendKnownCategory(This,category)
#define ICustomDestinationList_AddUserTasks(This,poa) (This)->lpVtbl->AddUserTasks(This,poa)
#define ICustomDestinationList_CommitList(This) (This)->lpVtbl->CommitList(This)
#define ICustomDestinationList_GetRemovedDestinations(This,riid,ppv) (This)->lpVtbl->GetRemovedDestinations(This,riid,ppv)
#define ICustomDestinationList_DeleteList(This,pszAppID) (This)->lpVtbl->DeleteList(This,pszAppID)
#define ICustomDestinationList_AbortList(This) (This)->lpVtbl->AbortList(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ICustomDestinationList_QueryInterface(ICustomDestinationList* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ICustomDestinationList_AddRef(ICustomDestinationList* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ICustomDestinationList_Release(ICustomDestinationList* This) {
return This->lpVtbl->Release(This);
}
/*** ICustomDestinationList methods ***/
static FORCEINLINE HRESULT ICustomDestinationList_SetAppID(ICustomDestinationList* This,LPCWSTR pszAppID) {
return This->lpVtbl->SetAppID(This,pszAppID);
}
static FORCEINLINE HRESULT ICustomDestinationList_BeginList(ICustomDestinationList* This,UINT *pcMinSlots,REFIID riid,void **ppv) {
return This->lpVtbl->BeginList(This,pcMinSlots,riid,ppv);
}
static FORCEINLINE HRESULT ICustomDestinationList_AppendCategory(ICustomDestinationList* This,LPCWSTR pszCategory,IObjectArray *poa) {
return This->lpVtbl->AppendCategory(This,pszCategory,poa);
}
static FORCEINLINE HRESULT ICustomDestinationList_AppendKnownCategory(ICustomDestinationList* This,KNOWNDESTCATEGORY category) {
return This->lpVtbl->AppendKnownCategory(This,category);
}
static FORCEINLINE HRESULT ICustomDestinationList_AddUserTasks(ICustomDestinationList* This,IObjectArray *poa) {
return This->lpVtbl->AddUserTasks(This,poa);
}
static FORCEINLINE HRESULT ICustomDestinationList_CommitList(ICustomDestinationList* This) {
return This->lpVtbl->CommitList(This);
}
static FORCEINLINE HRESULT ICustomDestinationList_GetRemovedDestinations(ICustomDestinationList* This,REFIID riid,void **ppv) {
return This->lpVtbl->GetRemovedDestinations(This,riid,ppv);
}
static FORCEINLINE HRESULT ICustomDestinationList_DeleteList(ICustomDestinationList* This,LPCWSTR pszAppID) {
return This->lpVtbl->DeleteList(This,pszAppID);
}
static FORCEINLINE HRESULT ICustomDestinationList_AbortList(ICustomDestinationList* This) {
return This->lpVtbl->AbortList(This);
}
#endif
#endif
#endif
#endif /* __ICustomDestinationList_INTERFACE_DEFINED__ */
/*****************************************************************************
* IApplicationDestinations interface
*/
#ifndef __IApplicationDestinations_INTERFACE_DEFINED__
#define __IApplicationDestinations_INTERFACE_DEFINED__
DEFINE_GUID(IID_IApplicationDestinations, 0x12337d35, 0x94c6, 0x48a0, 0xbc,0xe7, 0x6a,0x9c,0x69,0xd4,0xd6,0x00);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("12337d35-94c6-48a0-bce7-6a9c69d4d600")
IApplicationDestinations : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetAppID(
LPCWSTR pszAppID) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveDestination(
IUnknown *punk) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveAllDestinations(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IApplicationDestinations, 0x12337d35, 0x94c6, 0x48a0, 0xbc,0xe7, 0x6a,0x9c,0x69,0xd4,0xd6,0x00)
#endif
#else
typedef struct IApplicationDestinationsVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IApplicationDestinations *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IApplicationDestinations *This);
ULONG (STDMETHODCALLTYPE *Release)(
IApplicationDestinations *This);
/*** IApplicationDestinations methods ***/
HRESULT (STDMETHODCALLTYPE *SetAppID)(
IApplicationDestinations *This,
LPCWSTR pszAppID);
HRESULT (STDMETHODCALLTYPE *RemoveDestination)(
IApplicationDestinations *This,
IUnknown *punk);
HRESULT (STDMETHODCALLTYPE *RemoveAllDestinations)(
IApplicationDestinations *This);
END_INTERFACE
} IApplicationDestinationsVtbl;
interface IApplicationDestinations {
CONST_VTBL IApplicationDestinationsVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IApplicationDestinations_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IApplicationDestinations_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IApplicationDestinations_Release(This) (This)->lpVtbl->Release(This)
/*** IApplicationDestinations methods ***/
#define IApplicationDestinations_SetAppID(This,pszAppID) (This)->lpVtbl->SetAppID(This,pszAppID)
#define IApplicationDestinations_RemoveDestination(This,punk) (This)->lpVtbl->RemoveDestination(This,punk)
#define IApplicationDestinations_RemoveAllDestinations(This) (This)->lpVtbl->RemoveAllDestinations(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IApplicationDestinations_QueryInterface(IApplicationDestinations* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IApplicationDestinations_AddRef(IApplicationDestinations* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IApplicationDestinations_Release(IApplicationDestinations* This) {
return This->lpVtbl->Release(This);
}
/*** IApplicationDestinations methods ***/
static FORCEINLINE HRESULT IApplicationDestinations_SetAppID(IApplicationDestinations* This,LPCWSTR pszAppID) {
return This->lpVtbl->SetAppID(This,pszAppID);
}
static FORCEINLINE HRESULT IApplicationDestinations_RemoveDestination(IApplicationDestinations* This,IUnknown *punk) {
return This->lpVtbl->RemoveDestination(This,punk);
}
static FORCEINLINE HRESULT IApplicationDestinations_RemoveAllDestinations(IApplicationDestinations* This) {
return This->lpVtbl->RemoveAllDestinations(This);
}
#endif
#endif
#endif
#endif /* __IApplicationDestinations_INTERFACE_DEFINED__ */
/*****************************************************************************
* IApplicationDocumentLists interface
*/
#ifndef __IApplicationDocumentLists_INTERFACE_DEFINED__
#define __IApplicationDocumentLists_INTERFACE_DEFINED__
typedef enum APPDOCLISTTYPE {
ADLT_RECENT = 0,
ADLT_FREQUENT = 1
} APPDOCLISTTYPE;
DEFINE_GUID(IID_IApplicationDocumentLists, 0x3c594f9f, 0x9f30, 0x47a1, 0x97,0x9a, 0xc9,0xe8,0x3d,0x3d,0x0a,0x06);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3c594f9f-9f30-47a1-979a-c9e83d3d0a06")
IApplicationDocumentLists : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetAppID(
LPCWSTR pszAppID) = 0;
virtual HRESULT STDMETHODCALLTYPE GetList(
APPDOCLISTTYPE listtype,
UINT cItemsDesired,
REFIID riid,
void **ppv) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IApplicationDocumentLists, 0x3c594f9f, 0x9f30, 0x47a1, 0x97,0x9a, 0xc9,0xe8,0x3d,0x3d,0x0a,0x06)
#endif
#else
typedef struct IApplicationDocumentListsVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IApplicationDocumentLists *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IApplicationDocumentLists *This);
ULONG (STDMETHODCALLTYPE *Release)(
IApplicationDocumentLists *This);
/*** IApplicationDocumentLists methods ***/
HRESULT (STDMETHODCALLTYPE *SetAppID)(
IApplicationDocumentLists *This,
LPCWSTR pszAppID);
HRESULT (STDMETHODCALLTYPE *GetList)(
IApplicationDocumentLists *This,
APPDOCLISTTYPE listtype,
UINT cItemsDesired,
REFIID riid,
void **ppv);
END_INTERFACE
} IApplicationDocumentListsVtbl;
interface IApplicationDocumentLists {
CONST_VTBL IApplicationDocumentListsVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IApplicationDocumentLists_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IApplicationDocumentLists_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IApplicationDocumentLists_Release(This) (This)->lpVtbl->Release(This)
/*** IApplicationDocumentLists methods ***/
#define IApplicationDocumentLists_SetAppID(This,pszAppID) (This)->lpVtbl->SetAppID(This,pszAppID)
#define IApplicationDocumentLists_GetList(This,listtype,cItemsDesired,riid,ppv) (This)->lpVtbl->GetList(This,listtype,cItemsDesired,riid,ppv)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IApplicationDocumentLists_QueryInterface(IApplicationDocumentLists* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IApplicationDocumentLists_AddRef(IApplicationDocumentLists* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IApplicationDocumentLists_Release(IApplicationDocumentLists* This) {
return This->lpVtbl->Release(This);
}
/*** IApplicationDocumentLists methods ***/
static FORCEINLINE HRESULT IApplicationDocumentLists_SetAppID(IApplicationDocumentLists* This,LPCWSTR pszAppID) {
return This->lpVtbl->SetAppID(This,pszAppID);
}
static FORCEINLINE HRESULT IApplicationDocumentLists_GetList(IApplicationDocumentLists* This,APPDOCLISTTYPE listtype,UINT cItemsDesired,REFIID riid,void **ppv) {
return This->lpVtbl->GetList(This,listtype,cItemsDesired,riid,ppv);
}
#endif
#endif
#endif
#endif /* __IApplicationDocumentLists_INTERFACE_DEFINED__ */
/*****************************************************************************
* IObjectWithAppUserModelID interface
*/
#ifndef __IObjectWithAppUserModelID_INTERFACE_DEFINED__
#define __IObjectWithAppUserModelID_INTERFACE_DEFINED__
DEFINE_GUID(IID_IObjectWithAppUserModelID, 0x36db0196, 0x9665, 0x46d1, 0x9b,0xa7, 0xd3,0x70,0x9e,0xec,0xf9,0xed);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("36db0196-9665-46d1-9ba7-d3709eecf9ed")
IObjectWithAppUserModelID : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetAppID(
LPCWSTR pszAppID) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAppID(
LPWSTR *ppszAppID) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IObjectWithAppUserModelID, 0x36db0196, 0x9665, 0x46d1, 0x9b,0xa7, 0xd3,0x70,0x9e,0xec,0xf9,0xed)
#endif
#else
typedef struct IObjectWithAppUserModelIDVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IObjectWithAppUserModelID *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IObjectWithAppUserModelID *This);
ULONG (STDMETHODCALLTYPE *Release)(
IObjectWithAppUserModelID *This);
/*** IObjectWithAppUserModelID methods ***/
HRESULT (STDMETHODCALLTYPE *SetAppID)(
IObjectWithAppUserModelID *This,
LPCWSTR pszAppID);
HRESULT (STDMETHODCALLTYPE *GetAppID)(
IObjectWithAppUserModelID *This,
LPWSTR *ppszAppID);
END_INTERFACE
} IObjectWithAppUserModelIDVtbl;
interface IObjectWithAppUserModelID {
CONST_VTBL IObjectWithAppUserModelIDVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IObjectWithAppUserModelID_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IObjectWithAppUserModelID_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IObjectWithAppUserModelID_Release(This) (This)->lpVtbl->Release(This)
/*** IObjectWithAppUserModelID methods ***/
#define IObjectWithAppUserModelID_SetAppID(This,pszAppID) (This)->lpVtbl->SetAppID(This,pszAppID)
#define IObjectWithAppUserModelID_GetAppID(This,ppszAppID) (This)->lpVtbl->GetAppID(This,ppszAppID)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IObjectWithAppUserModelID_QueryInterface(IObjectWithAppUserModelID* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IObjectWithAppUserModelID_AddRef(IObjectWithAppUserModelID* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IObjectWithAppUserModelID_Release(IObjectWithAppUserModelID* This) {
return This->lpVtbl->Release(This);
}
/*** IObjectWithAppUserModelID methods ***/
static FORCEINLINE HRESULT IObjectWithAppUserModelID_SetAppID(IObjectWithAppUserModelID* This,LPCWSTR pszAppID) {
return This->lpVtbl->SetAppID(This,pszAppID);
}
static FORCEINLINE HRESULT IObjectWithAppUserModelID_GetAppID(IObjectWithAppUserModelID* This,LPWSTR *ppszAppID) {
return This->lpVtbl->GetAppID(This,ppszAppID);
}
#endif
#endif
#endif
#endif /* __IObjectWithAppUserModelID_INTERFACE_DEFINED__ */
/*****************************************************************************
* IObjectWithProgID interface
*/
#ifndef __IObjectWithProgID_INTERFACE_DEFINED__
#define __IObjectWithProgID_INTERFACE_DEFINED__
DEFINE_GUID(IID_IObjectWithProgID, 0x71e806fb, 0x8dee, 0x46fc, 0xbf,0x8c, 0x77,0x48,0xa8,0xa1,0xae,0x13);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("71e806fb-8dee-46fc-bf8c-7748a8a1ae13")
IObjectWithProgID : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetProgID(
LPCWSTR pszProgID) = 0;
virtual HRESULT STDMETHODCALLTYPE GetProgID(
LPWSTR *ppszProgID) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IObjectWithProgID, 0x71e806fb, 0x8dee, 0x46fc, 0xbf,0x8c, 0x77,0x48,0xa8,0xa1,0xae,0x13)
#endif
#else
typedef struct IObjectWithProgIDVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IObjectWithProgID *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IObjectWithProgID *This);
ULONG (STDMETHODCALLTYPE *Release)(
IObjectWithProgID *This);
/*** IObjectWithProgID methods ***/
HRESULT (STDMETHODCALLTYPE *SetProgID)(
IObjectWithProgID *This,
LPCWSTR pszProgID);
HRESULT (STDMETHODCALLTYPE *GetProgID)(
IObjectWithProgID *This,
LPWSTR *ppszProgID);
END_INTERFACE
} IObjectWithProgIDVtbl;
interface IObjectWithProgID {
CONST_VTBL IObjectWithProgIDVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IObjectWithProgID_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IObjectWithProgID_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IObjectWithProgID_Release(This) (This)->lpVtbl->Release(This)
/*** IObjectWithProgID methods ***/
#define IObjectWithProgID_SetProgID(This,pszProgID) (This)->lpVtbl->SetProgID(This,pszProgID)
#define IObjectWithProgID_GetProgID(This,ppszProgID) (This)->lpVtbl->GetProgID(This,ppszProgID)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IObjectWithProgID_QueryInterface(IObjectWithProgID* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IObjectWithProgID_AddRef(IObjectWithProgID* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IObjectWithProgID_Release(IObjectWithProgID* This) {
return This->lpVtbl->Release(This);
}
/*** IObjectWithProgID methods ***/
static FORCEINLINE HRESULT IObjectWithProgID_SetProgID(IObjectWithProgID* This,LPCWSTR pszProgID) {
return This->lpVtbl->SetProgID(This,pszProgID);
}
static FORCEINLINE HRESULT IObjectWithProgID_GetProgID(IObjectWithProgID* This,LPWSTR *ppszProgID) {
return This->lpVtbl->GetProgID(This,ppszProgID);
}
#endif
#endif
#endif
#endif /* __IObjectWithProgID_INTERFACE_DEFINED__ */
/*****************************************************************************
* IUpdateIDList interface
*/
#ifndef __IUpdateIDList_INTERFACE_DEFINED__
#define __IUpdateIDList_INTERFACE_DEFINED__
DEFINE_GUID(IID_IUpdateIDList, 0x6589b6d2, 0x5f8d, 0x4b9e, 0xb7,0xe0, 0x23,0xcd,0xd9,0x71,0x7d,0x8c);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("6589b6d2-5f8d-4b9e-b7e0-23cdd9717d8c")
IUpdateIDList : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Update(
IBindCtx *pbc,
PCUITEMID_CHILD pidlIn,
PITEMID_CHILD *ppidlOut) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IUpdateIDList, 0x6589b6d2, 0x5f8d, 0x4b9e, 0xb7,0xe0, 0x23,0xcd,0xd9,0x71,0x7d,0x8c)
#endif
#else
typedef struct IUpdateIDListVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IUpdateIDList *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IUpdateIDList *This);
ULONG (STDMETHODCALLTYPE *Release)(
IUpdateIDList *This);
/*** IUpdateIDList methods ***/
HRESULT (STDMETHODCALLTYPE *Update)(
IUpdateIDList *This,
IBindCtx *pbc,
PCUITEMID_CHILD pidlIn,
PITEMID_CHILD *ppidlOut);
END_INTERFACE
} IUpdateIDListVtbl;
interface IUpdateIDList {
CONST_VTBL IUpdateIDListVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IUpdateIDList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IUpdateIDList_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IUpdateIDList_Release(This) (This)->lpVtbl->Release(This)
/*** IUpdateIDList methods ***/
#define IUpdateIDList_Update(This,pbc,pidlIn,ppidlOut) (This)->lpVtbl->Update(This,pbc,pidlIn,ppidlOut)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IUpdateIDList_QueryInterface(IUpdateIDList* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IUpdateIDList_AddRef(IUpdateIDList* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IUpdateIDList_Release(IUpdateIDList* This) {
return This->lpVtbl->Release(This);
}
/*** IUpdateIDList methods ***/
static FORCEINLINE HRESULT IUpdateIDList_Update(IUpdateIDList* This,IBindCtx *pbc,PCUITEMID_CHILD pidlIn,PITEMID_CHILD *ppidlOut) {
return This->lpVtbl->Update(This,pbc,pidlIn,ppidlOut);
}
#endif
#endif
#endif
#endif /* __IUpdateIDList_INTERFACE_DEFINED__ */
SHSTDAPI SetCurrentProcessExplicitAppUserModelID(PCWSTR AppID);
SHSTDAPI GetCurrentProcessExplicitAppUserModelID(PWSTR *AppID);
#endif
/*****************************************************************************
* IDesktopGadget interface
*/
#ifndef __IDesktopGadget_INTERFACE_DEFINED__
#define __IDesktopGadget_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDesktopGadget, 0xc1646bc4, 0xf298, 0x4f91, 0xa2,0x04, 0xeb,0x2d,0xd1,0x70,0x9d,0x1a);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("c1646bc4-f298-4f91-a204-eb2dd1709d1a")
IDesktopGadget : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE RunGadget(
LPCWSTR gadgetPath) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDesktopGadget, 0xc1646bc4, 0xf298, 0x4f91, 0xa2,0x04, 0xeb,0x2d,0xd1,0x70,0x9d,0x1a)
#endif
#else
typedef struct IDesktopGadgetVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDesktopGadget *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDesktopGadget *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDesktopGadget *This);
/*** IDesktopGadget methods ***/
HRESULT (STDMETHODCALLTYPE *RunGadget)(
IDesktopGadget *This,
LPCWSTR gadgetPath);
END_INTERFACE
} IDesktopGadgetVtbl;
interface IDesktopGadget {
CONST_VTBL IDesktopGadgetVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDesktopGadget_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDesktopGadget_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDesktopGadget_Release(This) (This)->lpVtbl->Release(This)
/*** IDesktopGadget methods ***/
#define IDesktopGadget_RunGadget(This,gadgetPath) (This)->lpVtbl->RunGadget(This,gadgetPath)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDesktopGadget_QueryInterface(IDesktopGadget* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDesktopGadget_AddRef(IDesktopGadget* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDesktopGadget_Release(IDesktopGadget* This) {
return This->lpVtbl->Release(This);
}
/*** IDesktopGadget methods ***/
static FORCEINLINE HRESULT IDesktopGadget_RunGadget(IDesktopGadget* This,LPCWSTR gadgetPath) {
return This->lpVtbl->RunGadget(This,gadgetPath);
}
#endif
#endif
#endif
#endif /* __IDesktopGadget_INTERFACE_DEFINED__ */
#if NTDDI_VERSION >= NTDDI_WIN8
/*****************************************************************************
* IDesktopWallpaper interface
*/
#ifndef __IDesktopWallpaper_INTERFACE_DEFINED__
#define __IDesktopWallpaper_INTERFACE_DEFINED__
typedef enum DESKTOP_SLIDESHOW_OPTIONS {
DSO_SHUFFLEIMAGES = 0x1
} DESKTOP_SLIDESHOW_OPTIONS;
DEFINE_ENUM_FLAG_OPERATORS(DESKTOP_SLIDESHOW_OPTIONS);
typedef enum DESKTOP_SLIDESHOW_STATE {
DSS_ENABLED = 0x1,
DSS_SLIDESHOW = 0x2,
DSS_DISABLED_BY_REMOTE_SESSION = 0x4
} DESKTOP_SLIDESHOW_STATE;
DEFINE_ENUM_FLAG_OPERATORS(DESKTOP_SLIDESHOW_STATE);
typedef enum DESKTOP_SLIDESHOW_DIRECTION {
DSD_FORWARD = 0,
DSD_BACKWARD = 1
} DESKTOP_SLIDESHOW_DIRECTION;
typedef enum DESKTOP_WALLPAPER_POSITION {
DWPOS_CENTER = 0,
DWPOS_TILE = 1,
DWPOS_STRETCH = 2,
DWPOS_FIT = 3,
DWPOS_FILL = 4,
DWPOS_SPAN = 5
} DESKTOP_WALLPAPER_POSITION;
DEFINE_GUID(IID_IDesktopWallpaper, 0xb92b56a9, 0x8b55, 0x4e14, 0x9a,0x89, 0x01,0x99,0xbb,0xb6,0xf9,0x3b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("b92b56a9-8b55-4e14-9a89-0199bbb6f93b")
IDesktopWallpaper : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetWallpaper(
LPCWSTR monitorID,
LPCWSTR wallpaper) = 0;
virtual HRESULT STDMETHODCALLTYPE GetWallpaper(
LPCWSTR monitorID,
LPWSTR *wallpaper) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMonitorDevicePathAt(
UINT monitorIndex,
LPWSTR *monitorID) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMonitorDevicePathCount(
UINT *count) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMonitorRECT(
LPCWSTR monitorID,
RECT *displayRect) = 0;
virtual HRESULT STDMETHODCALLTYPE SetBackgroundColor(
COLORREF color) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBackgroundColor(
COLORREF *color) = 0;
virtual HRESULT STDMETHODCALLTYPE SetPosition(
DESKTOP_WALLPAPER_POSITION position) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPosition(
DESKTOP_WALLPAPER_POSITION *position) = 0;
virtual HRESULT STDMETHODCALLTYPE SetSlideshow(
IShellItemArray *items) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSlideshow(
IShellItemArray **items) = 0;
virtual HRESULT STDMETHODCALLTYPE SetSlideshowOptions(
DESKTOP_SLIDESHOW_OPTIONS options,
UINT slideshowTick) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSlideshowOptions(
DESKTOP_SLIDESHOW_OPTIONS *options,
UINT *slideshowTick) = 0;
virtual HRESULT STDMETHODCALLTYPE AdvanceSlideshow(
LPCWSTR monitorID,
DESKTOP_SLIDESHOW_DIRECTION direction) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStatus(
DESKTOP_SLIDESHOW_STATE *state) = 0;
virtual HRESULT STDMETHODCALLTYPE Enable(
WINBOOL enable) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDesktopWallpaper, 0xb92b56a9, 0x8b55, 0x4e14, 0x9a,0x89, 0x01,0x99,0xbb,0xb6,0xf9,0x3b)
#endif
#else
typedef struct IDesktopWallpaperVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDesktopWallpaper *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDesktopWallpaper *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDesktopWallpaper *This);
/*** IDesktopWallpaper methods ***/
HRESULT (STDMETHODCALLTYPE *SetWallpaper)(
IDesktopWallpaper *This,
LPCWSTR monitorID,
LPCWSTR wallpaper);
HRESULT (STDMETHODCALLTYPE *GetWallpaper)(
IDesktopWallpaper *This,
LPCWSTR monitorID,
LPWSTR *wallpaper);
HRESULT (STDMETHODCALLTYPE *GetMonitorDevicePathAt)(
IDesktopWallpaper *This,
UINT monitorIndex,
LPWSTR *monitorID);
HRESULT (STDMETHODCALLTYPE *GetMonitorDevicePathCount)(
IDesktopWallpaper *This,
UINT *count);
HRESULT (STDMETHODCALLTYPE *GetMonitorRECT)(
IDesktopWallpaper *This,
LPCWSTR monitorID,
RECT *displayRect);
HRESULT (STDMETHODCALLTYPE *SetBackgroundColor)(
IDesktopWallpaper *This,
COLORREF color);
HRESULT (STDMETHODCALLTYPE *GetBackgroundColor)(
IDesktopWallpaper *This,
COLORREF *color);
HRESULT (STDMETHODCALLTYPE *SetPosition)(
IDesktopWallpaper *This,
DESKTOP_WALLPAPER_POSITION position);
HRESULT (STDMETHODCALLTYPE *GetPosition)(
IDesktopWallpaper *This,
DESKTOP_WALLPAPER_POSITION *position);
HRESULT (STDMETHODCALLTYPE *SetSlideshow)(
IDesktopWallpaper *This,
IShellItemArray *items);
HRESULT (STDMETHODCALLTYPE *GetSlideshow)(
IDesktopWallpaper *This,
IShellItemArray **items);
HRESULT (STDMETHODCALLTYPE *SetSlideshowOptions)(
IDesktopWallpaper *This,
DESKTOP_SLIDESHOW_OPTIONS options,
UINT slideshowTick);
HRESULT (STDMETHODCALLTYPE *GetSlideshowOptions)(
IDesktopWallpaper *This,
DESKTOP_SLIDESHOW_OPTIONS *options,
UINT *slideshowTick);
HRESULT (STDMETHODCALLTYPE *AdvanceSlideshow)(
IDesktopWallpaper *This,
LPCWSTR monitorID,
DESKTOP_SLIDESHOW_DIRECTION direction);
HRESULT (STDMETHODCALLTYPE *GetStatus)(
IDesktopWallpaper *This,
DESKTOP_SLIDESHOW_STATE *state);
HRESULT (STDMETHODCALLTYPE *Enable)(
IDesktopWallpaper *This,
WINBOOL enable);
END_INTERFACE
} IDesktopWallpaperVtbl;
interface IDesktopWallpaper {
CONST_VTBL IDesktopWallpaperVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDesktopWallpaper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDesktopWallpaper_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDesktopWallpaper_Release(This) (This)->lpVtbl->Release(This)
/*** IDesktopWallpaper methods ***/
#define IDesktopWallpaper_SetWallpaper(This,monitorID,wallpaper) (This)->lpVtbl->SetWallpaper(This,monitorID,wallpaper)
#define IDesktopWallpaper_GetWallpaper(This,monitorID,wallpaper) (This)->lpVtbl->GetWallpaper(This,monitorID,wallpaper)
#define IDesktopWallpaper_GetMonitorDevicePathAt(This,monitorIndex,monitorID) (This)->lpVtbl->GetMonitorDevicePathAt(This,monitorIndex,monitorID)
#define IDesktopWallpaper_GetMonitorDevicePathCount(This,count) (This)->lpVtbl->GetMonitorDevicePathCount(This,count)
#define IDesktopWallpaper_GetMonitorRECT(This,monitorID,displayRect) (This)->lpVtbl->GetMonitorRECT(This,monitorID,displayRect)
#define IDesktopWallpaper_SetBackgroundColor(This,color) (This)->lpVtbl->SetBackgroundColor(This,color)
#define IDesktopWallpaper_GetBackgroundColor(This,color) (This)->lpVtbl->GetBackgroundColor(This,color)
#define IDesktopWallpaper_SetPosition(This,position) (This)->lpVtbl->SetPosition(This,position)
#define IDesktopWallpaper_GetPosition(This,position) (This)->lpVtbl->GetPosition(This,position)
#define IDesktopWallpaper_SetSlideshow(This,items) (This)->lpVtbl->SetSlideshow(This,items)
#define IDesktopWallpaper_GetSlideshow(This,items) (This)->lpVtbl->GetSlideshow(This,items)
#define IDesktopWallpaper_SetSlideshowOptions(This,options,slideshowTick) (This)->lpVtbl->SetSlideshowOptions(This,options,slideshowTick)
#define IDesktopWallpaper_GetSlideshowOptions(This,options,slideshowTick) (This)->lpVtbl->GetSlideshowOptions(This,options,slideshowTick)
#define IDesktopWallpaper_AdvanceSlideshow(This,monitorID,direction) (This)->lpVtbl->AdvanceSlideshow(This,monitorID,direction)
#define IDesktopWallpaper_GetStatus(This,state) (This)->lpVtbl->GetStatus(This,state)
#define IDesktopWallpaper_Enable(This,enable) (This)->lpVtbl->Enable(This,enable)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDesktopWallpaper_QueryInterface(IDesktopWallpaper* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDesktopWallpaper_AddRef(IDesktopWallpaper* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDesktopWallpaper_Release(IDesktopWallpaper* This) {
return This->lpVtbl->Release(This);
}
/*** IDesktopWallpaper methods ***/
static FORCEINLINE HRESULT IDesktopWallpaper_SetWallpaper(IDesktopWallpaper* This,LPCWSTR monitorID,LPCWSTR wallpaper) {
return This->lpVtbl->SetWallpaper(This,monitorID,wallpaper);
}
static FORCEINLINE HRESULT IDesktopWallpaper_GetWallpaper(IDesktopWallpaper* This,LPCWSTR monitorID,LPWSTR *wallpaper) {
return This->lpVtbl->GetWallpaper(This,monitorID,wallpaper);
}
static FORCEINLINE HRESULT IDesktopWallpaper_GetMonitorDevicePathAt(IDesktopWallpaper* This,UINT monitorIndex,LPWSTR *monitorID) {
return This->lpVtbl->GetMonitorDevicePathAt(This,monitorIndex,monitorID);
}
static FORCEINLINE HRESULT IDesktopWallpaper_GetMonitorDevicePathCount(IDesktopWallpaper* This,UINT *count) {
return This->lpVtbl->GetMonitorDevicePathCount(This,count);
}
static FORCEINLINE HRESULT IDesktopWallpaper_GetMonitorRECT(IDesktopWallpaper* This,LPCWSTR monitorID,RECT *displayRect) {
return This->lpVtbl->GetMonitorRECT(This,monitorID,displayRect);
}
static FORCEINLINE HRESULT IDesktopWallpaper_SetBackgroundColor(IDesktopWallpaper* This,COLORREF color) {
return This->lpVtbl->SetBackgroundColor(This,color);
}
static FORCEINLINE HRESULT IDesktopWallpaper_GetBackgroundColor(IDesktopWallpaper* This,COLORREF *color) {
return This->lpVtbl->GetBackgroundColor(This,color);
}
static FORCEINLINE HRESULT IDesktopWallpaper_SetPosition(IDesktopWallpaper* This,DESKTOP_WALLPAPER_POSITION position) {
return This->lpVtbl->SetPosition(This,position);
}
static FORCEINLINE HRESULT IDesktopWallpaper_GetPosition(IDesktopWallpaper* This,DESKTOP_WALLPAPER_POSITION *position) {
return This->lpVtbl->GetPosition(This,position);
}
static FORCEINLINE HRESULT IDesktopWallpaper_SetSlideshow(IDesktopWallpaper* This,IShellItemArray *items) {
return This->lpVtbl->SetSlideshow(This,items);
}
static FORCEINLINE HRESULT IDesktopWallpaper_GetSlideshow(IDesktopWallpaper* This,IShellItemArray **items) {
return This->lpVtbl->GetSlideshow(This,items);
}
static FORCEINLINE HRESULT IDesktopWallpaper_SetSlideshowOptions(IDesktopWallpaper* This,DESKTOP_SLIDESHOW_OPTIONS options,UINT slideshowTick) {
return This->lpVtbl->SetSlideshowOptions(This,options,slideshowTick);
}
static FORCEINLINE HRESULT IDesktopWallpaper_GetSlideshowOptions(IDesktopWallpaper* This,DESKTOP_SLIDESHOW_OPTIONS *options,UINT *slideshowTick) {
return This->lpVtbl->GetSlideshowOptions(This,options,slideshowTick);
}
static FORCEINLINE HRESULT IDesktopWallpaper_AdvanceSlideshow(IDesktopWallpaper* This,LPCWSTR monitorID,DESKTOP_SLIDESHOW_DIRECTION direction) {
return This->lpVtbl->AdvanceSlideshow(This,monitorID,direction);
}
static FORCEINLINE HRESULT IDesktopWallpaper_GetStatus(IDesktopWallpaper* This,DESKTOP_SLIDESHOW_STATE *state) {
return This->lpVtbl->GetStatus(This,state);
}
static FORCEINLINE HRESULT IDesktopWallpaper_Enable(IDesktopWallpaper* This,WINBOOL enable) {
return This->lpVtbl->Enable(This,enable);
}
#endif
#endif
#endif
#endif /* __IDesktopWallpaper_INTERFACE_DEFINED__ */
#endif
#define HOMEGROUP_SECURITY_GROUP_MULTI L"HUG"
#define HOMEGROUP_SECURITY_GROUP L"HomeUsers"
/*****************************************************************************
* IHomeGroup interface
*/
#ifndef __IHomeGroup_INTERFACE_DEFINED__
#define __IHomeGroup_INTERFACE_DEFINED__
typedef enum HOMEGROUPSHARINGCHOICES {
HGSC_NONE = 0x0,
HGSC_MUSICLIBRARY = 0x1,
HGSC_PICTURESLIBRARY = 0x2,
HGSC_VIDEOSLIBRARY = 0x4,
HGSC_DOCUMENTSLIBRARY = 0x8,
HGSC_PRINTERS = 0x10
} HOMEGROUPSHARINGCHOICES;
DEFINE_ENUM_FLAG_OPERATORS(HOMEGROUPSHARINGCHOICES)
DEFINE_GUID(IID_IHomeGroup, 0x7a3bd1d9, 0x35a9, 0x4fb3, 0xa4,0x67, 0xf4,0x8c,0xac,0x35,0xe2,0xd0);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("7a3bd1d9-35a9-4fb3-a467-f48cac35e2d0")
IHomeGroup : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE IsMember(
WINBOOL *member) = 0;
virtual HRESULT STDMETHODCALLTYPE ShowSharingWizard(
HWND owner,
HOMEGROUPSHARINGCHOICES *sharingchoices) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHomeGroup, 0x7a3bd1d9, 0x35a9, 0x4fb3, 0xa4,0x67, 0xf4,0x8c,0xac,0x35,0xe2,0xd0)
#endif
#else
typedef struct IHomeGroupVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IHomeGroup *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IHomeGroup *This);
ULONG (STDMETHODCALLTYPE *Release)(
IHomeGroup *This);
/*** IHomeGroup methods ***/
HRESULT (STDMETHODCALLTYPE *IsMember)(
IHomeGroup *This,
WINBOOL *member);
HRESULT (STDMETHODCALLTYPE *ShowSharingWizard)(
IHomeGroup *This,
HWND owner,
HOMEGROUPSHARINGCHOICES *sharingchoices);
END_INTERFACE
} IHomeGroupVtbl;
interface IHomeGroup {
CONST_VTBL IHomeGroupVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHomeGroup_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHomeGroup_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHomeGroup_Release(This) (This)->lpVtbl->Release(This)
/*** IHomeGroup methods ***/
#define IHomeGroup_IsMember(This,member) (This)->lpVtbl->IsMember(This,member)
#define IHomeGroup_ShowSharingWizard(This,owner,sharingchoices) (This)->lpVtbl->ShowSharingWizard(This,owner,sharingchoices)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IHomeGroup_QueryInterface(IHomeGroup* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHomeGroup_AddRef(IHomeGroup* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHomeGroup_Release(IHomeGroup* This) {
return This->lpVtbl->Release(This);
}
/*** IHomeGroup methods ***/
static FORCEINLINE HRESULT IHomeGroup_IsMember(IHomeGroup* This,WINBOOL *member) {
return This->lpVtbl->IsMember(This,member);
}
static FORCEINLINE HRESULT IHomeGroup_ShowSharingWizard(IHomeGroup* This,HWND owner,HOMEGROUPSHARINGCHOICES *sharingchoices) {
return This->lpVtbl->ShowSharingWizard(This,owner,sharingchoices);
}
#endif
#endif
#endif
#endif /* __IHomeGroup_INTERFACE_DEFINED__ */
/*****************************************************************************
* IInitializeWithPropertyStore interface
*/
#ifndef __IInitializeWithPropertyStore_INTERFACE_DEFINED__
#define __IInitializeWithPropertyStore_INTERFACE_DEFINED__
DEFINE_GUID(IID_IInitializeWithPropertyStore, 0xc3e12eb5, 0x7d8d, 0x44f8, 0xb6,0xdd, 0x0e,0x77,0xb3,0x4d,0x6d,0xe4);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("c3e12eb5-7d8d-44f8-b6dd-0e77b34d6de4")
IInitializeWithPropertyStore : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Initialize(
IPropertyStore *pps) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IInitializeWithPropertyStore, 0xc3e12eb5, 0x7d8d, 0x44f8, 0xb6,0xdd, 0x0e,0x77,0xb3,0x4d,0x6d,0xe4)
#endif
#else
typedef struct IInitializeWithPropertyStoreVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IInitializeWithPropertyStore *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IInitializeWithPropertyStore *This);
ULONG (STDMETHODCALLTYPE *Release)(
IInitializeWithPropertyStore *This);
/*** IInitializeWithPropertyStore methods ***/
HRESULT (STDMETHODCALLTYPE *Initialize)(
IInitializeWithPropertyStore *This,
IPropertyStore *pps);
END_INTERFACE
} IInitializeWithPropertyStoreVtbl;
interface IInitializeWithPropertyStore {
CONST_VTBL IInitializeWithPropertyStoreVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IInitializeWithPropertyStore_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IInitializeWithPropertyStore_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IInitializeWithPropertyStore_Release(This) (This)->lpVtbl->Release(This)
/*** IInitializeWithPropertyStore methods ***/
#define IInitializeWithPropertyStore_Initialize(This,pps) (This)->lpVtbl->Initialize(This,pps)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IInitializeWithPropertyStore_QueryInterface(IInitializeWithPropertyStore* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IInitializeWithPropertyStore_AddRef(IInitializeWithPropertyStore* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IInitializeWithPropertyStore_Release(IInitializeWithPropertyStore* This) {
return This->lpVtbl->Release(This);
}
/*** IInitializeWithPropertyStore methods ***/
static FORCEINLINE HRESULT IInitializeWithPropertyStore_Initialize(IInitializeWithPropertyStore* This,IPropertyStore *pps) {
return This->lpVtbl->Initialize(This,pps);
}
#endif
#endif
#endif
#endif /* __IInitializeWithPropertyStore_INTERFACE_DEFINED__ */
/*****************************************************************************
* IOpenSearchSource interface
*/
#ifndef __IOpenSearchSource_INTERFACE_DEFINED__
#define __IOpenSearchSource_INTERFACE_DEFINED__
DEFINE_GUID(IID_IOpenSearchSource, 0xf0ee7333, 0xe6fc, 0x479b, 0x9f,0x25, 0xa8,0x60,0xc2,0x34,0xa3,0x8e);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("f0ee7333-e6fc-479b-9f25-a860c234a38e")
IOpenSearchSource : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetResults(
HWND hwnd,
LPCWSTR pszQuery,
DWORD dwStartIndex,
DWORD dwCount,
REFIID riid,
void **ppv) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IOpenSearchSource, 0xf0ee7333, 0xe6fc, 0x479b, 0x9f,0x25, 0xa8,0x60,0xc2,0x34,0xa3,0x8e)
#endif
#else
typedef struct IOpenSearchSourceVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IOpenSearchSource *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IOpenSearchSource *This);
ULONG (STDMETHODCALLTYPE *Release)(
IOpenSearchSource *This);
/*** IOpenSearchSource methods ***/
HRESULT (STDMETHODCALLTYPE *GetResults)(
IOpenSearchSource *This,
HWND hwnd,
LPCWSTR pszQuery,
DWORD dwStartIndex,
DWORD dwCount,
REFIID riid,
void **ppv);
END_INTERFACE
} IOpenSearchSourceVtbl;
interface IOpenSearchSource {
CONST_VTBL IOpenSearchSourceVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IOpenSearchSource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IOpenSearchSource_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IOpenSearchSource_Release(This) (This)->lpVtbl->Release(This)
/*** IOpenSearchSource methods ***/
#define IOpenSearchSource_GetResults(This,hwnd,pszQuery,dwStartIndex,dwCount,riid,ppv) (This)->lpVtbl->GetResults(This,hwnd,pszQuery,dwStartIndex,dwCount,riid,ppv)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IOpenSearchSource_QueryInterface(IOpenSearchSource* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IOpenSearchSource_AddRef(IOpenSearchSource* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IOpenSearchSource_Release(IOpenSearchSource* This) {
return This->lpVtbl->Release(This);
}
/*** IOpenSearchSource methods ***/
static FORCEINLINE HRESULT IOpenSearchSource_GetResults(IOpenSearchSource* This,HWND hwnd,LPCWSTR pszQuery,DWORD dwStartIndex,DWORD dwCount,REFIID riid,void **ppv) {
return This->lpVtbl->GetResults(This,hwnd,pszQuery,dwStartIndex,dwCount,riid,ppv);
}
#endif
#endif
#endif
#endif /* __IOpenSearchSource_INTERFACE_DEFINED__ */
/*****************************************************************************
* IShellLibrary interface
*/
#ifndef __IShellLibrary_INTERFACE_DEFINED__
#define __IShellLibrary_INTERFACE_DEFINED__
typedef enum LIBRARYFOLDERFILTER {
LFF_FORCEFILESYSTEM = 1,
LFF_STORAGEITEMS = 2,
LFF_ALLITEMS = 3
} LIBRARYFOLDERFILTER;
typedef enum LIBRARYOPTIONFLAGS {
LOF_DEFAULT = 0x0,
LOF_PINNEDTONAVPANE = 0x1,
LOF_MASK_ALL = 0x1
} LIBRARYOPTIONFLAGS;
DEFINE_ENUM_FLAG_OPERATORS(LIBRARYOPTIONFLAGS)
typedef enum DEFAULTSAVEFOLDERTYPE {
DSFT_DETECT = 1,
DSFT_PRIVATE = 2,
DSFT_PUBLIC = 3
} DEFAULTSAVEFOLDERTYPE;
typedef enum LIBRARYSAVEFLAGS {
LSF_FAILIFTHERE = 0x0,
LSF_OVERRIDEEXISTING = 0x1,
LSF_MAKEUNIQUENAME = 0x2
} LIBRARYSAVEFLAGS;
DEFINE_ENUM_FLAG_OPERATORS(LIBRARYSAVEFLAGS)
DEFINE_GUID(IID_IShellLibrary, 0x11a66efa, 0x382e, 0x451a, 0x92,0x34, 0x1e,0x0e,0x12,0xef,0x30,0x85);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("11a66efa-382e-451a-9234-1e0e12ef3085")
IShellLibrary : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE LoadLibraryFromItem(
IShellItem *psiLibrary,
DWORD grfMode) = 0;
virtual HRESULT STDMETHODCALLTYPE LoadLibraryFromKnownFolder(
REFKNOWNFOLDERID kfidLibrary,
DWORD grfMode) = 0;
virtual HRESULT STDMETHODCALLTYPE AddFolder(
IShellItem *psiLocation) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveFolder(
IShellItem *psiLocation) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFolders(
LIBRARYFOLDERFILTER lff,
REFIID riid,
void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE ResolveFolder(
IShellItem *psiFolderToResolve,
DWORD dwTimeout,
REFIID riid,
void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDefaultSaveFolder(
DEFAULTSAVEFOLDERTYPE dsft,
REFIID riid,
void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE SetDefaultSaveFolder(
DEFAULTSAVEFOLDERTYPE dsft,
IShellItem *psi) = 0;
virtual HRESULT STDMETHODCALLTYPE GetOptions(
LIBRARYOPTIONFLAGS *plofOptions) = 0;
virtual HRESULT STDMETHODCALLTYPE SetOptions(
LIBRARYOPTIONFLAGS lofMask,
LIBRARYOPTIONFLAGS lofOptions) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFolderType(
FOLDERTYPEID *pftid) = 0;
virtual HRESULT STDMETHODCALLTYPE SetFolderType(
REFFOLDERTYPEID ftid) = 0;
virtual HRESULT STDMETHODCALLTYPE GetIcon(
LPWSTR *ppszIcon) = 0;
virtual HRESULT STDMETHODCALLTYPE SetIcon(
LPCWSTR pszIcon) = 0;
virtual HRESULT STDMETHODCALLTYPE Commit(
) = 0;
virtual HRESULT STDMETHODCALLTYPE Save(
IShellItem *psiFolderToSaveIn,
LPCWSTR pszLibraryName,
LIBRARYSAVEFLAGS lsf,
IShellItem **ppsiSavedTo) = 0;
virtual HRESULT STDMETHODCALLTYPE SaveInKnownFolder(
REFKNOWNFOLDERID kfidToSaveIn,
LPCWSTR pszLibraryName,
LIBRARYSAVEFLAGS lsf,
IShellItem **ppsiSavedTo) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IShellLibrary, 0x11a66efa, 0x382e, 0x451a, 0x92,0x34, 0x1e,0x0e,0x12,0xef,0x30,0x85)
#endif
#else
typedef struct IShellLibraryVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IShellLibrary *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IShellLibrary *This);
ULONG (STDMETHODCALLTYPE *Release)(
IShellLibrary *This);
/*** IShellLibrary methods ***/
HRESULT (STDMETHODCALLTYPE *LoadLibraryFromItem)(
IShellLibrary *This,
IShellItem *psiLibrary,
DWORD grfMode);
HRESULT (STDMETHODCALLTYPE *LoadLibraryFromKnownFolder)(
IShellLibrary *This,
REFKNOWNFOLDERID kfidLibrary,
DWORD grfMode);
HRESULT (STDMETHODCALLTYPE *AddFolder)(
IShellLibrary *This,
IShellItem *psiLocation);
HRESULT (STDMETHODCALLTYPE *RemoveFolder)(
IShellLibrary *This,
IShellItem *psiLocation);
HRESULT (STDMETHODCALLTYPE *GetFolders)(
IShellLibrary *This,
LIBRARYFOLDERFILTER lff,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *ResolveFolder)(
IShellLibrary *This,
IShellItem *psiFolderToResolve,
DWORD dwTimeout,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *GetDefaultSaveFolder)(
IShellLibrary *This,
DEFAULTSAVEFOLDERTYPE dsft,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *SetDefaultSaveFolder)(
IShellLibrary *This,
DEFAULTSAVEFOLDERTYPE dsft,
IShellItem *psi);
HRESULT (STDMETHODCALLTYPE *GetOptions)(
IShellLibrary *This,
LIBRARYOPTIONFLAGS *plofOptions);
HRESULT (STDMETHODCALLTYPE *SetOptions)(
IShellLibrary *This,
LIBRARYOPTIONFLAGS lofMask,
LIBRARYOPTIONFLAGS lofOptions);
HRESULT (STDMETHODCALLTYPE *GetFolderType)(
IShellLibrary *This,
FOLDERTYPEID *pftid);
HRESULT (STDMETHODCALLTYPE *SetFolderType)(
IShellLibrary *This,
REFFOLDERTYPEID ftid);
HRESULT (STDMETHODCALLTYPE *GetIcon)(
IShellLibrary *This,
LPWSTR *ppszIcon);
HRESULT (STDMETHODCALLTYPE *SetIcon)(
IShellLibrary *This,
LPCWSTR pszIcon);
HRESULT (STDMETHODCALLTYPE *Commit)(
IShellLibrary *This);
HRESULT (STDMETHODCALLTYPE *Save)(
IShellLibrary *This,
IShellItem *psiFolderToSaveIn,
LPCWSTR pszLibraryName,
LIBRARYSAVEFLAGS lsf,
IShellItem **ppsiSavedTo);
HRESULT (STDMETHODCALLTYPE *SaveInKnownFolder)(
IShellLibrary *This,
REFKNOWNFOLDERID kfidToSaveIn,
LPCWSTR pszLibraryName,
LIBRARYSAVEFLAGS lsf,
IShellItem **ppsiSavedTo);
END_INTERFACE
} IShellLibraryVtbl;
interface IShellLibrary {
CONST_VTBL IShellLibraryVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IShellLibrary_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IShellLibrary_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IShellLibrary_Release(This) (This)->lpVtbl->Release(This)
/*** IShellLibrary methods ***/
#define IShellLibrary_LoadLibraryFromItem(This,psiLibrary,grfMode) (This)->lpVtbl->LoadLibraryFromItem(This,psiLibrary,grfMode)
#define IShellLibrary_LoadLibraryFromKnownFolder(This,kfidLibrary,grfMode) (This)->lpVtbl->LoadLibraryFromKnownFolder(This,kfidLibrary,grfMode)
#define IShellLibrary_AddFolder(This,psiLocation) (This)->lpVtbl->AddFolder(This,psiLocation)
#define IShellLibrary_RemoveFolder(This,psiLocation) (This)->lpVtbl->RemoveFolder(This,psiLocation)
#define IShellLibrary_GetFolders(This,lff,riid,ppv) (This)->lpVtbl->GetFolders(This,lff,riid,ppv)
#define IShellLibrary_ResolveFolder(This,psiFolderToResolve,dwTimeout,riid,ppv) (This)->lpVtbl->ResolveFolder(This,psiFolderToResolve,dwTimeout,riid,ppv)
#define IShellLibrary_GetDefaultSaveFolder(This,dsft,riid,ppv) (This)->lpVtbl->GetDefaultSaveFolder(This,dsft,riid,ppv)
#define IShellLibrary_SetDefaultSaveFolder(This,dsft,psi) (This)->lpVtbl->SetDefaultSaveFolder(This,dsft,psi)
#define IShellLibrary_GetOptions(This,plofOptions) (This)->lpVtbl->GetOptions(This,plofOptions)
#define IShellLibrary_SetOptions(This,lofMask,lofOptions) (This)->lpVtbl->SetOptions(This,lofMask,lofOptions)
#define IShellLibrary_GetFolderType(This,pftid) (This)->lpVtbl->GetFolderType(This,pftid)
#define IShellLibrary_SetFolderType(This,ftid) (This)->lpVtbl->SetFolderType(This,ftid)
#define IShellLibrary_GetIcon(This,ppszIcon) (This)->lpVtbl->GetIcon(This,ppszIcon)
#define IShellLibrary_SetIcon(This,pszIcon) (This)->lpVtbl->SetIcon(This,pszIcon)
#define IShellLibrary_Commit(This) (This)->lpVtbl->Commit(This)
#define IShellLibrary_Save(This,psiFolderToSaveIn,pszLibraryName,lsf,ppsiSavedTo) (This)->lpVtbl->Save(This,psiFolderToSaveIn,pszLibraryName,lsf,ppsiSavedTo)
#define IShellLibrary_SaveInKnownFolder(This,kfidToSaveIn,pszLibraryName,lsf,ppsiSavedTo) (This)->lpVtbl->SaveInKnownFolder(This,kfidToSaveIn,pszLibraryName,lsf,ppsiSavedTo)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IShellLibrary_QueryInterface(IShellLibrary* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IShellLibrary_AddRef(IShellLibrary* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IShellLibrary_Release(IShellLibrary* This) {
return This->lpVtbl->Release(This);
}
/*** IShellLibrary methods ***/
static FORCEINLINE HRESULT IShellLibrary_LoadLibraryFromItem(IShellLibrary* This,IShellItem *psiLibrary,DWORD grfMode) {
return This->lpVtbl->LoadLibraryFromItem(This,psiLibrary,grfMode);
}
static FORCEINLINE HRESULT IShellLibrary_LoadLibraryFromKnownFolder(IShellLibrary* This,REFKNOWNFOLDERID kfidLibrary,DWORD grfMode) {
return This->lpVtbl->LoadLibraryFromKnownFolder(This,kfidLibrary,grfMode);
}
static FORCEINLINE HRESULT IShellLibrary_AddFolder(IShellLibrary* This,IShellItem *psiLocation) {
return This->lpVtbl->AddFolder(This,psiLocation);
}
static FORCEINLINE HRESULT IShellLibrary_RemoveFolder(IShellLibrary* This,IShellItem *psiLocation) {
return This->lpVtbl->RemoveFolder(This,psiLocation);
}
static FORCEINLINE HRESULT IShellLibrary_GetFolders(IShellLibrary* This,LIBRARYFOLDERFILTER lff,REFIID riid,void **ppv) {
return This->lpVtbl->GetFolders(This,lff,riid,ppv);
}
static FORCEINLINE HRESULT IShellLibrary_ResolveFolder(IShellLibrary* This,IShellItem *psiFolderToResolve,DWORD dwTimeout,REFIID riid,void **ppv) {
return This->lpVtbl->ResolveFolder(This,psiFolderToResolve,dwTimeout,riid,ppv);
}
static FORCEINLINE HRESULT IShellLibrary_GetDefaultSaveFolder(IShellLibrary* This,DEFAULTSAVEFOLDERTYPE dsft,REFIID riid,void **ppv) {
return This->lpVtbl->GetDefaultSaveFolder(This,dsft,riid,ppv);
}
static FORCEINLINE HRESULT IShellLibrary_SetDefaultSaveFolder(IShellLibrary* This,DEFAULTSAVEFOLDERTYPE dsft,IShellItem *psi) {
return This->lpVtbl->SetDefaultSaveFolder(This,dsft,psi);
}
static FORCEINLINE HRESULT IShellLibrary_GetOptions(IShellLibrary* This,LIBRARYOPTIONFLAGS *plofOptions) {
return This->lpVtbl->GetOptions(This,plofOptions);
}
static FORCEINLINE HRESULT IShellLibrary_SetOptions(IShellLibrary* This,LIBRARYOPTIONFLAGS lofMask,LIBRARYOPTIONFLAGS lofOptions) {
return This->lpVtbl->SetOptions(This,lofMask,lofOptions);
}
static FORCEINLINE HRESULT IShellLibrary_GetFolderType(IShellLibrary* This,FOLDERTYPEID *pftid) {
return This->lpVtbl->GetFolderType(This,pftid);
}
static FORCEINLINE HRESULT IShellLibrary_SetFolderType(IShellLibrary* This,REFFOLDERTYPEID ftid) {
return This->lpVtbl->SetFolderType(This,ftid);
}
static FORCEINLINE HRESULT IShellLibrary_GetIcon(IShellLibrary* This,LPWSTR *ppszIcon) {
return This->lpVtbl->GetIcon(This,ppszIcon);
}
static FORCEINLINE HRESULT IShellLibrary_SetIcon(IShellLibrary* This,LPCWSTR pszIcon) {
return This->lpVtbl->SetIcon(This,pszIcon);
}
static FORCEINLINE HRESULT IShellLibrary_Commit(IShellLibrary* This) {
return This->lpVtbl->Commit(This);
}
static FORCEINLINE HRESULT IShellLibrary_Save(IShellLibrary* This,IShellItem *psiFolderToSaveIn,LPCWSTR pszLibraryName,LIBRARYSAVEFLAGS lsf,IShellItem **ppsiSavedTo) {
return This->lpVtbl->Save(This,psiFolderToSaveIn,pszLibraryName,lsf,ppsiSavedTo);
}
static FORCEINLINE HRESULT IShellLibrary_SaveInKnownFolder(IShellLibrary* This,REFKNOWNFOLDERID kfidToSaveIn,LPCWSTR pszLibraryName,LIBRARYSAVEFLAGS lsf,IShellItem **ppsiSavedTo) {
return This->lpVtbl->SaveInKnownFolder(This,kfidToSaveIn,pszLibraryName,lsf,ppsiSavedTo);
}
#endif
#endif
#endif
#endif /* __IShellLibrary_INTERFACE_DEFINED__ */
typedef enum PBM_EVENT {
PE_DUCKSESSION = 1,
PE_UNDUCKSESSION = 2
} PBM_EVENT;
/*****************************************************************************
* IPlaybackManagerEvents interface
*/
#ifndef __IPlaybackManagerEvents_INTERFACE_DEFINED__
#define __IPlaybackManagerEvents_INTERFACE_DEFINED__
DEFINE_GUID(IID_IPlaybackManagerEvents, 0x385cfb7d, 0x4e0c, 0x4106, 0x91,0x2e, 0x8c,0xfb,0x4c,0x19,0x1f,0x45);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("385cfb7d-4e0c-4106-912e-8cfb4c191f45")
IPlaybackManagerEvents : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE OnPlaybackManagerEvent(
DWORD dwSessionId,
PBM_EVENT mediaEvent) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IPlaybackManagerEvents, 0x385cfb7d, 0x4e0c, 0x4106, 0x91,0x2e, 0x8c,0xfb,0x4c,0x19,0x1f,0x45)
#endif
#else
typedef struct IPlaybackManagerEventsVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IPlaybackManagerEvents *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IPlaybackManagerEvents *This);
ULONG (STDMETHODCALLTYPE *Release)(
IPlaybackManagerEvents *This);
/*** IPlaybackManagerEvents methods ***/
HRESULT (STDMETHODCALLTYPE *OnPlaybackManagerEvent)(
IPlaybackManagerEvents *This,
DWORD dwSessionId,
PBM_EVENT mediaEvent);
END_INTERFACE
} IPlaybackManagerEventsVtbl;
interface IPlaybackManagerEvents {
CONST_VTBL IPlaybackManagerEventsVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IPlaybackManagerEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IPlaybackManagerEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IPlaybackManagerEvents_Release(This) (This)->lpVtbl->Release(This)
/*** IPlaybackManagerEvents methods ***/
#define IPlaybackManagerEvents_OnPlaybackManagerEvent(This,dwSessionId,mediaEvent) (This)->lpVtbl->OnPlaybackManagerEvent(This,dwSessionId,mediaEvent)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IPlaybackManagerEvents_QueryInterface(IPlaybackManagerEvents* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IPlaybackManagerEvents_AddRef(IPlaybackManagerEvents* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IPlaybackManagerEvents_Release(IPlaybackManagerEvents* This) {
return This->lpVtbl->Release(This);
}
/*** IPlaybackManagerEvents methods ***/
static FORCEINLINE HRESULT IPlaybackManagerEvents_OnPlaybackManagerEvent(IPlaybackManagerEvents* This,DWORD dwSessionId,PBM_EVENT mediaEvent) {
return This->lpVtbl->OnPlaybackManagerEvent(This,dwSessionId,mediaEvent);
}
#endif
#endif
#endif
#endif /* __IPlaybackManagerEvents_INTERFACE_DEFINED__ */
typedef enum PBM_SESSION_TYPE {
ST_COMMUNICATION = 1,
ST_MEDIA = 2
} PBM_SESSION_TYPE;
typedef enum PBM_PLAY_STATE {
PS_PLAYING = 1,
PS_PAUSED = 2,
PS_STOPPED = 3
} PBM_PLAY_STATE;
typedef enum PBM_MUTE_STATE {
MS_MUTED = 1,
MS_UNMUTED = 2
} PBM_MUTE_STATE;
/*****************************************************************************
* IPlaybackManager interface
*/
#ifndef __IPlaybackManager_INTERFACE_DEFINED__
#define __IPlaybackManager_INTERFACE_DEFINED__
DEFINE_GUID(IID_IPlaybackManager, 0x0f3c1b01, 0x8199, 0x4173, 0xba,0x78, 0x98,0x58,0x82,0x26,0x6f,0x7a);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("0f3c1b01-8199-4173-ba78-985882266f7a")
IPlaybackManager : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Advise(
PBM_SESSION_TYPE type,
IPlaybackManagerEvents *pEvents,
DWORD *pdwSessionId) = 0;
virtual HRESULT STDMETHODCALLTYPE Unadvise(
DWORD dwSessionId) = 0;
virtual HRESULT STDMETHODCALLTYPE ChangeSessionState(
DWORD dwSessionId,
PBM_PLAY_STATE state,
PBM_MUTE_STATE mute) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IPlaybackManager, 0x0f3c1b01, 0x8199, 0x4173, 0xba,0x78, 0x98,0x58,0x82,0x26,0x6f,0x7a)
#endif
#else
typedef struct IPlaybackManagerVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IPlaybackManager *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IPlaybackManager *This);
ULONG (STDMETHODCALLTYPE *Release)(
IPlaybackManager *This);
/*** IPlaybackManager methods ***/
HRESULT (STDMETHODCALLTYPE *Advise)(
IPlaybackManager *This,
PBM_SESSION_TYPE type,
IPlaybackManagerEvents *pEvents,
DWORD *pdwSessionId);
HRESULT (STDMETHODCALLTYPE *Unadvise)(
IPlaybackManager *This,
DWORD dwSessionId);
HRESULT (STDMETHODCALLTYPE *ChangeSessionState)(
IPlaybackManager *This,
DWORD dwSessionId,
PBM_PLAY_STATE state,
PBM_MUTE_STATE mute);
END_INTERFACE
} IPlaybackManagerVtbl;
interface IPlaybackManager {
CONST_VTBL IPlaybackManagerVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IPlaybackManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IPlaybackManager_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IPlaybackManager_Release(This) (This)->lpVtbl->Release(This)
/*** IPlaybackManager methods ***/
#define IPlaybackManager_Advise(This,type,pEvents,pdwSessionId) (This)->lpVtbl->Advise(This,type,pEvents,pdwSessionId)
#define IPlaybackManager_Unadvise(This,dwSessionId) (This)->lpVtbl->Unadvise(This,dwSessionId)
#define IPlaybackManager_ChangeSessionState(This,dwSessionId,state,mute) (This)->lpVtbl->ChangeSessionState(This,dwSessionId,state,mute)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IPlaybackManager_QueryInterface(IPlaybackManager* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IPlaybackManager_AddRef(IPlaybackManager* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IPlaybackManager_Release(IPlaybackManager* This) {
return This->lpVtbl->Release(This);
}
/*** IPlaybackManager methods ***/
static FORCEINLINE HRESULT IPlaybackManager_Advise(IPlaybackManager* This,PBM_SESSION_TYPE type,IPlaybackManagerEvents *pEvents,DWORD *pdwSessionId) {
return This->lpVtbl->Advise(This,type,pEvents,pdwSessionId);
}
static FORCEINLINE HRESULT IPlaybackManager_Unadvise(IPlaybackManager* This,DWORD dwSessionId) {
return This->lpVtbl->Unadvise(This,dwSessionId);
}
static FORCEINLINE HRESULT IPlaybackManager_ChangeSessionState(IPlaybackManager* This,DWORD dwSessionId,PBM_PLAY_STATE state,PBM_MUTE_STATE mute) {
return This->lpVtbl->ChangeSessionState(This,dwSessionId,state,mute);
}
#endif
#endif
#endif
#endif /* __IPlaybackManager_INTERFACE_DEFINED__ */
typedef enum DEFAULT_FOLDER_MENU_RESTRICTIONS {
DFMR_DEFAULT = 0x0,
DFMR_NO_STATIC_VERBS = 0x8,
DFMR_STATIC_VERBS_ONLY = 0x10,
DFMR_NO_RESOURCE_VERBS = 0x20,
DFMR_OPTIN_HANDLERS_ONLY = 0x40,
DFMR_RESOURCE_AND_FOLDER_VERBS_ONLY = 0x80,
DFMR_USE_SPECIFIED_HANDLERS = 0x100,
DFMR_USE_SPECIFIED_VERBS = 0x200,
DFMR_NO_ASYNC_VERBS = 0x400
} DEFAULT_FOLDER_MENU_RESTRICTIONS;
DEFINE_ENUM_FLAG_OPERATORS(DEFAULT_FOLDER_MENU_RESTRICTIONS)
/*****************************************************************************
* IDefaultFolderMenuInitialize interface
*/
#ifndef __IDefaultFolderMenuInitialize_INTERFACE_DEFINED__
#define __IDefaultFolderMenuInitialize_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDefaultFolderMenuInitialize, 0x7690aa79, 0xf8fc, 0x4615, 0xa3,0x27, 0x36,0xf7,0xd1,0x8f,0x5d,0x91);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("7690aa79-f8fc-4615-a327-36f7d18f5d91")
IDefaultFolderMenuInitialize : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Initialize(
HWND hwnd,
IContextMenuCB *pcmcb,
PCIDLIST_ABSOLUTE pidlFolder,
IShellFolder *psf,
UINT cidl,
PCUITEMID_CHILD_ARRAY apidl,
IUnknown *punkAssociation,
UINT cKeys,
const HKEY *aKeys) = 0;
virtual HRESULT STDMETHODCALLTYPE SetMenuRestrictions(
DEFAULT_FOLDER_MENU_RESTRICTIONS dfmrValues) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMenuRestrictions(
DEFAULT_FOLDER_MENU_RESTRICTIONS dfmrMask,
DEFAULT_FOLDER_MENU_RESTRICTIONS *pdfmrValues) = 0;
virtual HRESULT STDMETHODCALLTYPE SetHandlerClsid(
REFCLSID rclsid) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDefaultFolderMenuInitialize, 0x7690aa79, 0xf8fc, 0x4615, 0xa3,0x27, 0x36,0xf7,0xd1,0x8f,0x5d,0x91)
#endif
#else
typedef struct IDefaultFolderMenuInitializeVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDefaultFolderMenuInitialize *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDefaultFolderMenuInitialize *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDefaultFolderMenuInitialize *This);
/*** IDefaultFolderMenuInitialize methods ***/
HRESULT (STDMETHODCALLTYPE *Initialize)(
IDefaultFolderMenuInitialize *This,
HWND hwnd,
IContextMenuCB *pcmcb,
PCIDLIST_ABSOLUTE pidlFolder,
IShellFolder *psf,
UINT cidl,
PCUITEMID_CHILD_ARRAY apidl,
IUnknown *punkAssociation,
UINT cKeys,
const HKEY *aKeys);
HRESULT (STDMETHODCALLTYPE *SetMenuRestrictions)(
IDefaultFolderMenuInitialize *This,
DEFAULT_FOLDER_MENU_RESTRICTIONS dfmrValues);
HRESULT (STDMETHODCALLTYPE *GetMenuRestrictions)(
IDefaultFolderMenuInitialize *This,
DEFAULT_FOLDER_MENU_RESTRICTIONS dfmrMask,
DEFAULT_FOLDER_MENU_RESTRICTIONS *pdfmrValues);
HRESULT (STDMETHODCALLTYPE *SetHandlerClsid)(
IDefaultFolderMenuInitialize *This,
REFCLSID rclsid);
END_INTERFACE
} IDefaultFolderMenuInitializeVtbl;
interface IDefaultFolderMenuInitialize {
CONST_VTBL IDefaultFolderMenuInitializeVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDefaultFolderMenuInitialize_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDefaultFolderMenuInitialize_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDefaultFolderMenuInitialize_Release(This) (This)->lpVtbl->Release(This)
/*** IDefaultFolderMenuInitialize methods ***/
#define IDefaultFolderMenuInitialize_Initialize(This,hwnd,pcmcb,pidlFolder,psf,cidl,apidl,punkAssociation,cKeys,aKeys) (This)->lpVtbl->Initialize(This,hwnd,pcmcb,pidlFolder,psf,cidl,apidl,punkAssociation,cKeys,aKeys)
#define IDefaultFolderMenuInitialize_SetMenuRestrictions(This,dfmrValues) (This)->lpVtbl->SetMenuRestrictions(This,dfmrValues)
#define IDefaultFolderMenuInitialize_GetMenuRestrictions(This,dfmrMask,pdfmrValues) (This)->lpVtbl->GetMenuRestrictions(This,dfmrMask,pdfmrValues)
#define IDefaultFolderMenuInitialize_SetHandlerClsid(This,rclsid) (This)->lpVtbl->SetHandlerClsid(This,rclsid)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDefaultFolderMenuInitialize_QueryInterface(IDefaultFolderMenuInitialize* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDefaultFolderMenuInitialize_AddRef(IDefaultFolderMenuInitialize* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDefaultFolderMenuInitialize_Release(IDefaultFolderMenuInitialize* This) {
return This->lpVtbl->Release(This);
}
/*** IDefaultFolderMenuInitialize methods ***/
static FORCEINLINE HRESULT IDefaultFolderMenuInitialize_Initialize(IDefaultFolderMenuInitialize* This,HWND hwnd,IContextMenuCB *pcmcb,PCIDLIST_ABSOLUTE pidlFolder,IShellFolder *psf,UINT cidl,PCUITEMID_CHILD_ARRAY apidl,IUnknown *punkAssociation,UINT cKeys,const HKEY *aKeys) {
return This->lpVtbl->Initialize(This,hwnd,pcmcb,pidlFolder,psf,cidl,apidl,punkAssociation,cKeys,aKeys);
}
static FORCEINLINE HRESULT IDefaultFolderMenuInitialize_SetMenuRestrictions(IDefaultFolderMenuInitialize* This,DEFAULT_FOLDER_MENU_RESTRICTIONS dfmrValues) {
return This->lpVtbl->SetMenuRestrictions(This,dfmrValues);
}
static FORCEINLINE HRESULT IDefaultFolderMenuInitialize_GetMenuRestrictions(IDefaultFolderMenuInitialize* This,DEFAULT_FOLDER_MENU_RESTRICTIONS dfmrMask,DEFAULT_FOLDER_MENU_RESTRICTIONS *pdfmrValues) {
return This->lpVtbl->GetMenuRestrictions(This,dfmrMask,pdfmrValues);
}
static FORCEINLINE HRESULT IDefaultFolderMenuInitialize_SetHandlerClsid(IDefaultFolderMenuInitialize* This,REFCLSID rclsid) {
return This->lpVtbl->SetHandlerClsid(This,rclsid);
}
#endif
#endif
#endif
#endif /* __IDefaultFolderMenuInitialize_INTERFACE_DEFINED__ */
#if NTDDI_VERSION >= NTDDI_WIN8
typedef enum ACTIVATEOPTIONS {
AO_NONE = 0x0,
AO_DESIGNMODE = 0x1,
AO_NOERRORUI = 0x2,
AO_NOSPLASHSCREEN = 0x4
} ACTIVATEOPTIONS;
DEFINE_ENUM_FLAG_OPERATORS(ACTIVATEOPTIONS)
/*****************************************************************************
* IApplicationActivationManager interface
*/
#ifndef __IApplicationActivationManager_INTERFACE_DEFINED__
#define __IApplicationActivationManager_INTERFACE_DEFINED__
DEFINE_GUID(IID_IApplicationActivationManager, 0x2e941141, 0x7f97, 0x4756, 0xba,0x1d, 0x9d,0xec,0xde,0x89,0x4a,0x3d);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("2e941141-7f97-4756-ba1d-9decde894a3d")
IApplicationActivationManager : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE ActivateApplication(
LPCWSTR appUserModelId,
LPCWSTR arguments,
ACTIVATEOPTIONS options,
DWORD *processId) = 0;
virtual HRESULT STDMETHODCALLTYPE ActivateForFile(
LPCWSTR appUserModelId,
IShellItemArray *itemArray,
LPCWSTR verb,
DWORD *processId) = 0;
virtual HRESULT STDMETHODCALLTYPE ActivateForProtocol(
LPCWSTR appUserModelId,
IShellItemArray *itemArray,
DWORD *processId) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IApplicationActivationManager, 0x2e941141, 0x7f97, 0x4756, 0xba,0x1d, 0x9d,0xec,0xde,0x89,0x4a,0x3d)
#endif
#else
typedef struct IApplicationActivationManagerVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IApplicationActivationManager *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IApplicationActivationManager *This);
ULONG (STDMETHODCALLTYPE *Release)(
IApplicationActivationManager *This);
/*** IApplicationActivationManager methods ***/
HRESULT (STDMETHODCALLTYPE *ActivateApplication)(
IApplicationActivationManager *This,
LPCWSTR appUserModelId,
LPCWSTR arguments,
ACTIVATEOPTIONS options,
DWORD *processId);
HRESULT (STDMETHODCALLTYPE *ActivateForFile)(
IApplicationActivationManager *This,
LPCWSTR appUserModelId,
IShellItemArray *itemArray,
LPCWSTR verb,
DWORD *processId);
HRESULT (STDMETHODCALLTYPE *ActivateForProtocol)(
IApplicationActivationManager *This,
LPCWSTR appUserModelId,
IShellItemArray *itemArray,
DWORD *processId);
END_INTERFACE
} IApplicationActivationManagerVtbl;
interface IApplicationActivationManager {
CONST_VTBL IApplicationActivationManagerVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IApplicationActivationManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IApplicationActivationManager_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IApplicationActivationManager_Release(This) (This)->lpVtbl->Release(This)
/*** IApplicationActivationManager methods ***/
#define IApplicationActivationManager_ActivateApplication(This,appUserModelId,arguments,options,processId) (This)->lpVtbl->ActivateApplication(This,appUserModelId,arguments,options,processId)
#define IApplicationActivationManager_ActivateForFile(This,appUserModelId,itemArray,verb,processId) (This)->lpVtbl->ActivateForFile(This,appUserModelId,itemArray,verb,processId)
#define IApplicationActivationManager_ActivateForProtocol(This,appUserModelId,itemArray,processId) (This)->lpVtbl->ActivateForProtocol(This,appUserModelId,itemArray,processId)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IApplicationActivationManager_QueryInterface(IApplicationActivationManager* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IApplicationActivationManager_AddRef(IApplicationActivationManager* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IApplicationActivationManager_Release(IApplicationActivationManager* This) {
return This->lpVtbl->Release(This);
}
/*** IApplicationActivationManager methods ***/
static FORCEINLINE HRESULT IApplicationActivationManager_ActivateApplication(IApplicationActivationManager* This,LPCWSTR appUserModelId,LPCWSTR arguments,ACTIVATEOPTIONS options,DWORD *processId) {
return This->lpVtbl->ActivateApplication(This,appUserModelId,arguments,options,processId);
}
static FORCEINLINE HRESULT IApplicationActivationManager_ActivateForFile(IApplicationActivationManager* This,LPCWSTR appUserModelId,IShellItemArray *itemArray,LPCWSTR verb,DWORD *processId) {
return This->lpVtbl->ActivateForFile(This,appUserModelId,itemArray,verb,processId);
}
static FORCEINLINE HRESULT IApplicationActivationManager_ActivateForProtocol(IApplicationActivationManager* This,LPCWSTR appUserModelId,IShellItemArray *itemArray,DWORD *processId) {
return This->lpVtbl->ActivateForProtocol(This,appUserModelId,itemArray,processId);
}
#endif
#endif
#endif
#endif /* __IApplicationActivationManager_INTERFACE_DEFINED__ */
#endif
DEFINE_GUID(LIBID_ShellObjects, 0x50a7e9b1, 0x70ef, 0x11d1, 0xb7,0x5a, 0x00,0xa0,0xc9,0x05,0x64,0xfe);
/*****************************************************************************
* DesktopWallpaper coclass
*/
DEFINE_GUID(CLSID_DesktopWallpaper, 0xc2cf3110, 0x460e, 0x4fc1, 0xb9,0xd0, 0x8a,0x1c,0x0c,0x9c,0xc4,0xbd);
#ifdef __cplusplus
class DECLSPEC_UUID("c2cf3110-460e-4fc1-b9d0-8a1c0c9cc4bd") DesktopWallpaper;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DesktopWallpaper, 0xc2cf3110, 0x460e, 0x4fc1, 0xb9,0xd0, 0x8a,0x1c,0x0c,0x9c,0xc4,0xbd)
#endif
#endif
/*****************************************************************************
* ShellDesktop coclass
*/
DEFINE_GUID(CLSID_ShellDesktop, 0x00021400, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#ifdef __cplusplus
class DECLSPEC_UUID("00021400-0000-0000-c000-000000000046") ShellDesktop;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ShellDesktop, 0x00021400, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
#endif
#endif
/*****************************************************************************
* ShellFSFolder coclass
*/
DEFINE_GUID(CLSID_ShellFSFolder, 0xf3364ba0, 0x65b9, 0x11ce, 0xa9,0xba, 0x00,0xaa,0x00,0x4a,0xe8,0x37);
#ifdef __cplusplus
class DECLSPEC_UUID("f3364ba0-65b9-11ce-a9ba-00aa004ae837") ShellFSFolder;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ShellFSFolder, 0xf3364ba0, 0x65b9, 0x11ce, 0xa9,0xba, 0x00,0xaa,0x00,0x4a,0xe8,0x37)
#endif
#endif
/*****************************************************************************
* NetworkPlaces coclass
*/
DEFINE_GUID(CLSID_NetworkPlaces, 0x208d2c60, 0x3aea, 0x1069, 0xa2,0xd7, 0x08,0x00,0x2b,0x30,0x30,0x9d);
#ifdef __cplusplus
class DECLSPEC_UUID("208d2c60-3aea-1069-a2d7-08002b30309d") NetworkPlaces;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(NetworkPlaces, 0x208d2c60, 0x3aea, 0x1069, 0xa2,0xd7, 0x08,0x00,0x2b,0x30,0x30,0x9d)
#endif
#endif
/*****************************************************************************
* ShellLink coclass
*/
DEFINE_GUID(CLSID_ShellLink, 0x00021401, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#ifdef __cplusplus
class DECLSPEC_UUID("00021401-0000-0000-c000-000000000046") ShellLink;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ShellLink, 0x00021401, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
#endif
#endif
/*****************************************************************************
* QueryCancelAutoPlay coclass
*/
DEFINE_GUID(CLSID_QueryCancelAutoPlay, 0x331f1768, 0x05a9, 0x4ddd, 0xb8,0x6e, 0xda,0xe3,0x4d,0xdc,0x99,0x8a);
#ifdef __cplusplus
class DECLSPEC_UUID("331f1768-05a9-4ddd-b86e-dae34ddc998a") QueryCancelAutoPlay;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(QueryCancelAutoPlay, 0x331f1768, 0x05a9, 0x4ddd, 0xb8,0x6e, 0xda,0xe3,0x4d,0xdc,0x99,0x8a)
#endif
#endif
/*****************************************************************************
* DriveSizeCategorizer coclass
*/
DEFINE_GUID(CLSID_DriveSizeCategorizer, 0x94357b53, 0xca29, 0x4b78, 0x83,0xae, 0xe8,0xfe,0x74,0x09,0x13,0x4f);
#ifdef __cplusplus
class DECLSPEC_UUID("94357b53-ca29-4b78-83ae-e8fe7409134f") DriveSizeCategorizer;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DriveSizeCategorizer, 0x94357b53, 0xca29, 0x4b78, 0x83,0xae, 0xe8,0xfe,0x74,0x09,0x13,0x4f)
#endif
#endif
/*****************************************************************************
* DriveTypeCategorizer coclass
*/
DEFINE_GUID(CLSID_DriveTypeCategorizer, 0xb0a8f3cf, 0x4333, 0x4bab, 0x88,0x73, 0x1c,0xcb,0x1c,0xad,0xa4,0x8b);
#ifdef __cplusplus
class DECLSPEC_UUID("b0a8f3cf-4333-4bab-8873-1ccb1cada48b") DriveTypeCategorizer;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DriveTypeCategorizer, 0xb0a8f3cf, 0x4333, 0x4bab, 0x88,0x73, 0x1c,0xcb,0x1c,0xad,0xa4,0x8b)
#endif
#endif
/*****************************************************************************
* FreeSpaceCategorizer coclass
*/
DEFINE_GUID(CLSID_FreeSpaceCategorizer, 0xb5607793, 0x24ac, 0x44c7, 0x82,0xe2, 0x83,0x17,0x26,0xaa,0x6c,0xb7);
#ifdef __cplusplus
class DECLSPEC_UUID("b5607793-24ac-44c7-82e2-831726aa6cb7") FreeSpaceCategorizer;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(FreeSpaceCategorizer, 0xb5607793, 0x24ac, 0x44c7, 0x82,0xe2, 0x83,0x17,0x26,0xaa,0x6c,0xb7)
#endif
#endif
/*****************************************************************************
* TimeCategorizer coclass
*/
DEFINE_GUID(CLSID_TimeCategorizer, 0x3bb4118f, 0xddfd, 0x4d30, 0xa3,0x48, 0x9f,0xb5,0xd6,0xbf,0x1a,0xfe);
#ifdef __cplusplus
class DECLSPEC_UUID("3bb4118f-ddfd-4d30-a348-9fb5d6bf1afe") TimeCategorizer;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(TimeCategorizer, 0x3bb4118f, 0xddfd, 0x4d30, 0xa3,0x48, 0x9f,0xb5,0xd6,0xbf,0x1a,0xfe)
#endif
#endif
/*****************************************************************************
* SizeCategorizer coclass
*/
DEFINE_GUID(CLSID_SizeCategorizer, 0x55d7b852, 0xf6d1, 0x42f2, 0xaa,0x75, 0x87,0x28,0xa1,0xb2,0xd2,0x64);
#ifdef __cplusplus
class DECLSPEC_UUID("55d7b852-f6d1-42f2-aa75-8728a1b2d264") SizeCategorizer;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SizeCategorizer, 0x55d7b852, 0xf6d1, 0x42f2, 0xaa,0x75, 0x87,0x28,0xa1,0xb2,0xd2,0x64)
#endif
#endif
/*****************************************************************************
* AlphabeticalCategorizer coclass
*/
DEFINE_GUID(CLSID_AlphabeticalCategorizer, 0x3c2654c6, 0x7372, 0x4f6b, 0xb3,0x10, 0x55,0xd6,0x12,0x8f,0x49,0xd2);
#ifdef __cplusplus
class DECLSPEC_UUID("3c2654c6-7372-4f6b-b310-55d6128f49d2") AlphabeticalCategorizer;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(AlphabeticalCategorizer, 0x3c2654c6, 0x7372, 0x4f6b, 0xb3,0x10, 0x55,0xd6,0x12,0x8f,0x49,0xd2)
#endif
#endif
/*****************************************************************************
* MergedCategorizer coclass
*/
DEFINE_GUID(CLSID_MergedCategorizer, 0x8e827c11, 0x33e7, 0x4bc1, 0xb2,0x42, 0x8c,0xd9,0xa1,0xc2,0xb3,0x04);
#ifdef __cplusplus
class DECLSPEC_UUID("8e827c11-33e7-4bc1-b242-8cd9a1c2b304") MergedCategorizer;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(MergedCategorizer, 0x8e827c11, 0x33e7, 0x4bc1, 0xb2,0x42, 0x8c,0xd9,0xa1,0xc2,0xb3,0x04)
#endif
#endif
/*****************************************************************************
* ImageProperties coclass
*/
DEFINE_GUID(CLSID_ImageProperties, 0x7ab770c7, 0x0e23, 0x4d7a, 0x8a,0xa2, 0x19,0xbf,0xad,0x47,0x98,0x29);
#ifdef __cplusplus
class DECLSPEC_UUID("7ab770c7-0e23-4d7a-8aa2-19bfad479829") ImageProperties;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ImageProperties, 0x7ab770c7, 0x0e23, 0x4d7a, 0x8a,0xa2, 0x19,0xbf,0xad,0x47,0x98,0x29)
#endif
#endif
/*****************************************************************************
* PropertiesUI coclass
*/
DEFINE_GUID(CLSID_PropertiesUI, 0xd912f8cf, 0x0396, 0x4915, 0x88,0x4e, 0xfb,0x42,0x5d,0x32,0x94,0x3b);
#ifdef __cplusplus
class DECLSPEC_UUID("d912f8cf-0396-4915-884e-fb425d32943b") PropertiesUI;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(PropertiesUI, 0xd912f8cf, 0x0396, 0x4915, 0x88,0x4e, 0xfb,0x42,0x5d,0x32,0x94,0x3b)
#endif
#endif
/*****************************************************************************
* UserNotification coclass
*/
DEFINE_GUID(CLSID_UserNotification, 0x0010890e, 0x8789, 0x413c, 0xad,0xbc, 0x48,0xf5,0xb5,0x11,0xb3,0xaf);
#ifdef __cplusplus
class DECLSPEC_UUID("0010890e-8789-413c-adbc-48f5b511b3af") UserNotification;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(UserNotification, 0x0010890e, 0x8789, 0x413c, 0xad,0xbc, 0x48,0xf5,0xb5,0x11,0xb3,0xaf)
#endif
#endif
/*****************************************************************************
* CDBurn coclass
*/
DEFINE_GUID(CLSID_CDBurn, 0xfbeb8a05, 0xbeee, 0x4442, 0x80,0x4e, 0x40,0x9d,0x6c,0x45,0x15,0xe9);
#ifdef __cplusplus
class DECLSPEC_UUID("fbeb8a05-beee-4442-804e-409d6c4515e9") CDBurn;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(CDBurn, 0xfbeb8a05, 0xbeee, 0x4442, 0x80,0x4e, 0x40,0x9d,0x6c,0x45,0x15,0xe9)
#endif
#endif
/*****************************************************************************
* TaskbarList coclass
*/
DEFINE_GUID(CLSID_TaskbarList, 0x56fdf344, 0xfd6d, 0x11d0, 0x95,0x8a, 0x00,0x60,0x97,0xc9,0xa0,0x90);
#ifdef __cplusplus
class DECLSPEC_UUID("56fdf344-fd6d-11d0-958a-006097c9a090") TaskbarList;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(TaskbarList, 0x56fdf344, 0xfd6d, 0x11d0, 0x95,0x8a, 0x00,0x60,0x97,0xc9,0xa0,0x90)
#endif
#endif
/*****************************************************************************
* StartMenuPin coclass
*/
DEFINE_GUID(CLSID_StartMenuPin, 0xa2a9545d, 0xa0c2, 0x42b4, 0x97,0x08, 0xa0,0xb2,0xba,0xdd,0x77,0xc8);
#ifdef __cplusplus
class DECLSPEC_UUID("a2a9545d-a0c2-42b4-9708-a0b2badd77c8") StartMenuPin;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(StartMenuPin, 0xa2a9545d, 0xa0c2, 0x42b4, 0x97,0x08, 0xa0,0xb2,0xba,0xdd,0x77,0xc8)
#endif
#endif
/*****************************************************************************
* WebWizardHost coclass
*/
DEFINE_GUID(CLSID_WebWizardHost, 0xc827f149, 0x55c1, 0x4d28, 0x93,0x5e, 0x57,0xe4,0x7c,0xae,0xd9,0x73);
#ifdef __cplusplus
class DECLSPEC_UUID("c827f149-55c1-4d28-935e-57e47caed973") WebWizardHost;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(WebWizardHost, 0xc827f149, 0x55c1, 0x4d28, 0x93,0x5e, 0x57,0xe4,0x7c,0xae,0xd9,0x73)
#endif
#endif
/*****************************************************************************
* PublishDropTarget coclass
*/
DEFINE_GUID(CLSID_PublishDropTarget, 0xcc6eeffb, 0x43f6, 0x46c5, 0x96,0x19, 0x51,0xd5,0x71,0x96,0x7f,0x7d);
#ifdef __cplusplus
class DECLSPEC_UUID("cc6eeffb-43f6-46c5-9619-51d571967f7d") PublishDropTarget;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(PublishDropTarget, 0xcc6eeffb, 0x43f6, 0x46c5, 0x96,0x19, 0x51,0xd5,0x71,0x96,0x7f,0x7d)
#endif
#endif
/*****************************************************************************
* PublishingWizard coclass
*/
DEFINE_GUID(CLSID_PublishingWizard, 0x6b33163c, 0x76a5, 0x4b6c, 0xbf,0x21, 0x45,0xde,0x9c,0xd5,0x03,0xa1);
#ifdef __cplusplus
class DECLSPEC_UUID("6b33163c-76a5-4b6c-bf21-45de9cd503a1") PublishingWizard;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(PublishingWizard, 0x6b33163c, 0x76a5, 0x4b6c, 0xbf,0x21, 0x45,0xde,0x9c,0xd5,0x03,0xa1)
#endif
#endif
#define SID_PublishingWizard CLSID_PublishingWizard
/*****************************************************************************
* InternetPrintOrdering coclass
*/
DEFINE_GUID(CLSID_InternetPrintOrdering, 0xadd36aa8, 0x751a, 0x4579, 0xa2,0x66, 0xd6,0x6f,0x52,0x02,0xcc,0xbb);
#ifdef __cplusplus
class DECLSPEC_UUID("add36aa8-751a-4579-a266-d66f5202ccbb") InternetPrintOrdering;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(InternetPrintOrdering, 0xadd36aa8, 0x751a, 0x4579, 0xa2,0x66, 0xd6,0x6f,0x52,0x02,0xcc,0xbb)
#endif
#endif
/*****************************************************************************
* FolderViewHost coclass
*/
DEFINE_GUID(CLSID_FolderViewHost, 0x20b1cb23, 0x6968, 0x4eb9, 0xb7,0xd4, 0xa6,0x6d,0x00,0xd0,0x7c,0xee);
#ifdef __cplusplus
class DECLSPEC_UUID("20b1cb23-6968-4eb9-b7d4-a66d00d07cee") FolderViewHost;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(FolderViewHost, 0x20b1cb23, 0x6968, 0x4eb9, 0xb7,0xd4, 0xa6,0x6d,0x00,0xd0,0x7c,0xee)
#endif
#endif
/*****************************************************************************
* ExplorerBrowser coclass
*/
DEFINE_GUID(CLSID_ExplorerBrowser, 0x71f96385, 0xddd6, 0x48d3, 0xa0,0xc1, 0xae,0x06,0xe8,0xb0,0x55,0xfb);
#ifdef __cplusplus
class DECLSPEC_UUID("71f96385-ddd6-48d3-a0c1-ae06e8b055fb") ExplorerBrowser;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ExplorerBrowser, 0x71f96385, 0xddd6, 0x48d3, 0xa0,0xc1, 0xae,0x06,0xe8,0xb0,0x55,0xfb)
#endif
#endif
/*****************************************************************************
* ImageRecompress coclass
*/
DEFINE_GUID(CLSID_ImageRecompress, 0x6e33091c, 0xd2f8, 0x4740, 0xb5,0x5e, 0x2e,0x11,0xd1,0x47,0x7a,0x2c);
#ifdef __cplusplus
class DECLSPEC_UUID("6e33091c-d2f8-4740-b55e-2e11d1477a2c") ImageRecompress;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ImageRecompress, 0x6e33091c, 0xd2f8, 0x4740, 0xb5,0x5e, 0x2e,0x11,0xd1,0x47,0x7a,0x2c)
#endif
#endif
/*****************************************************************************
* TrayBandSiteService coclass
*/
DEFINE_GUID(CLSID_TrayBandSiteService, 0xf60ad0a0, 0xe5e1, 0x45cb, 0xb5,0x1a, 0xe1,0x5b,0x9f,0x8b,0x29,0x34);
#ifdef __cplusplus
class DECLSPEC_UUID("f60ad0a0-e5e1-45cb-b51a-e15b9f8b2934") TrayBandSiteService;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(TrayBandSiteService, 0xf60ad0a0, 0xe5e1, 0x45cb, 0xb5,0x1a, 0xe1,0x5b,0x9f,0x8b,0x29,0x34)
#endif
#endif
/*****************************************************************************
* TrayDeskBand coclass
*/
DEFINE_GUID(CLSID_TrayDeskBand, 0xe6442437, 0x6c68, 0x4f52, 0x94,0xdd, 0x2c,0xfe,0xd2,0x67,0xef,0xb9);
#ifdef __cplusplus
class DECLSPEC_UUID("e6442437-6c68-4f52-94dd-2cfed267efb9") TrayDeskBand;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(TrayDeskBand, 0xe6442437, 0x6c68, 0x4f52, 0x94,0xdd, 0x2c,0xfe,0xd2,0x67,0xef,0xb9)
#endif
#endif
/*****************************************************************************
* AttachmentServices coclass
*/
DEFINE_GUID(CLSID_AttachmentServices, 0x4125dd96, 0xe03a, 0x4103, 0x8f,0x70, 0xe0,0x59,0x7d,0x80,0x3b,0x9c);
#ifdef __cplusplus
class DECLSPEC_UUID("4125dd96-e03a-4103-8f70-e0597d803b9c") AttachmentServices;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(AttachmentServices, 0x4125dd96, 0xe03a, 0x4103, 0x8f,0x70, 0xe0,0x59,0x7d,0x80,0x3b,0x9c)
#endif
#endif
/*****************************************************************************
* DocPropShellExtension coclass
*/
DEFINE_GUID(CLSID_DocPropShellExtension, 0x883373c3, 0xbf89, 0x11d1, 0xbe,0x35, 0x08,0x00,0x36,0xb1,0x1a,0x03);
#ifdef __cplusplus
class DECLSPEC_UUID("883373c3-bf89-11d1-be35-080036b11a03") DocPropShellExtension;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DocPropShellExtension, 0x883373c3, 0xbf89, 0x11d1, 0xbe,0x35, 0x08,0x00,0x36,0xb1,0x1a,0x03)
#endif
#endif
/*****************************************************************************
* ShellItem coclass
*/
DEFINE_GUID(CLSID_ShellItem, 0x9ac9fbe1, 0xe0a2, 0x4ad6, 0xb4,0xee, 0xe2,0x12,0x01,0x3e,0xa9,0x17);
#ifdef __cplusplus
class DECLSPEC_UUID("9ac9fbe1-e0a2-4ad6-b4ee-e212013ea917") ShellItem;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ShellItem, 0x9ac9fbe1, 0xe0a2, 0x4ad6, 0xb4,0xee, 0xe2,0x12,0x01,0x3e,0xa9,0x17)
#endif
#endif
/*****************************************************************************
* NamespaceWalker coclass
*/
DEFINE_GUID(CLSID_NamespaceWalker, 0x72eb61e0, 0x8672, 0x4303, 0x91,0x75, 0xf2,0xe4,0xc6,0x8b,0x2e,0x7c);
#ifdef __cplusplus
class DECLSPEC_UUID("72eb61e0-8672-4303-9175-f2e4c68b2e7c") NamespaceWalker;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(NamespaceWalker, 0x72eb61e0, 0x8672, 0x4303, 0x91,0x75, 0xf2,0xe4,0xc6,0x8b,0x2e,0x7c)
#endif
#endif
/*****************************************************************************
* FileOperation coclass
*/
DEFINE_GUID(CLSID_FileOperation, 0x3ad05575, 0x8857, 0x4850, 0x92,0x77, 0x11,0xb8,0x5b,0xdb,0x8e,0x09);
#ifdef __cplusplus
class DECLSPEC_UUID("3ad05575-8857-4850-9277-11b85bdb8e09") FileOperation;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(FileOperation, 0x3ad05575, 0x8857, 0x4850, 0x92,0x77, 0x11,0xb8,0x5b,0xdb,0x8e,0x09)
#endif
#endif
/*****************************************************************************
* FileOpenDialog coclass
*/
DEFINE_GUID(CLSID_FileOpenDialog, 0xdc1c5a9c, 0xe88a, 0x4dde, 0xa5,0xa1, 0x60,0xf8,0x2a,0x20,0xae,0xf7);
#ifdef __cplusplus
class DECLSPEC_UUID("dc1c5a9c-e88a-4dde-a5a1-60f82a20aef7") FileOpenDialog;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(FileOpenDialog, 0xdc1c5a9c, 0xe88a, 0x4dde, 0xa5,0xa1, 0x60,0xf8,0x2a,0x20,0xae,0xf7)
#endif
#endif
/*****************************************************************************
* FileSaveDialog coclass
*/
DEFINE_GUID(CLSID_FileSaveDialog, 0xc0b4e2f3, 0xba21, 0x4773, 0x8d,0xba, 0x33,0x5e,0xc9,0x46,0xeb,0x8b);
#ifdef __cplusplus
class DECLSPEC_UUID("c0b4e2f3-ba21-4773-8dba-335ec946eb8b") FileSaveDialog;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(FileSaveDialog, 0xc0b4e2f3, 0xba21, 0x4773, 0x8d,0xba, 0x33,0x5e,0xc9,0x46,0xeb,0x8b)
#endif
#endif
/*****************************************************************************
* KnownFolderManager coclass
*/
DEFINE_GUID(CLSID_KnownFolderManager, 0x4df0c730, 0xdf9d, 0x4ae3, 0x91,0x53, 0xaa,0x6b,0x82,0xe9,0x79,0x5a);
#ifdef __cplusplus
class DECLSPEC_UUID("4df0c730-df9d-4ae3-9153-aa6b82e9795a") KnownFolderManager;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(KnownFolderManager, 0x4df0c730, 0xdf9d, 0x4ae3, 0x91,0x53, 0xaa,0x6b,0x82,0xe9,0x79,0x5a)
#endif
#endif
/*****************************************************************************
* FSCopyHandler coclass
*/
DEFINE_GUID(CLSID_FSCopyHandler, 0xd197380a, 0x0a79, 0x4dc8, 0xa0,0x33, 0xed,0x88,0x2c,0x2f,0xa1,0x4b);
#ifdef __cplusplus
class DECLSPEC_UUID("d197380a-0a79-4dc8-a033-ed882c2fa14b") FSCopyHandler;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(FSCopyHandler, 0xd197380a, 0x0a79, 0x4dc8, 0xa0,0x33, 0xed,0x88,0x2c,0x2f,0xa1,0x4b)
#endif
#endif
/*****************************************************************************
* SharingConfigurationManager coclass
*/
DEFINE_GUID(CLSID_SharingConfigurationManager, 0x49f371e1, 0x8c5c, 0x4d9c, 0x9a,0x3b, 0x54,0xa6,0x82,0x7f,0x51,0x3c);
#ifdef __cplusplus
class DECLSPEC_UUID("49f371e1-8c5c-4d9c-9a3b-54a6827f513c") SharingConfigurationManager;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SharingConfigurationManager, 0x49f371e1, 0x8c5c, 0x4d9c, 0x9a,0x3b, 0x54,0xa6,0x82,0x7f,0x51,0x3c)
#endif
#endif
/*****************************************************************************
* PreviousVersions coclass
*/
DEFINE_GUID(CLSID_PreviousVersions, 0x596ab062, 0xb4d2, 0x4215, 0x9f,0x74, 0xe9,0x10,0x9b,0x0a,0x81,0x53);
#ifdef __cplusplus
class DECLSPEC_UUID("596ab062-b4d2-4215-9f74-e9109b0a8153") PreviousVersions;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(PreviousVersions, 0x596ab062, 0xb4d2, 0x4215, 0x9f,0x74, 0xe9,0x10,0x9b,0x0a,0x81,0x53)
#endif
#endif
/*****************************************************************************
* NetworkConnections coclass
*/
DEFINE_GUID(CLSID_NetworkConnections, 0x7007acc7, 0x3202, 0x11d1, 0xaa,0xd2, 0x00,0x80,0x5f,0xc1,0x27,0x0e);
#ifdef __cplusplus
class DECLSPEC_UUID("7007acc7-3202-11d1-aad2-00805fc1270e") NetworkConnections;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(NetworkConnections, 0x7007acc7, 0x3202, 0x11d1, 0xaa,0xd2, 0x00,0x80,0x5f,0xc1,0x27,0x0e)
#endif
#endif
/*****************************************************************************
* NamespaceTreeControl coclass
*/
DEFINE_GUID(CLSID_NamespaceTreeControl, 0xae054212, 0x3535, 0x4430, 0x83,0xed, 0xd5,0x01,0xaa,0x66,0x80,0xe6);
#ifdef __cplusplus
class DECLSPEC_UUID("ae054212-3535-4430-83ed-d501aa6680e6") NamespaceTreeControl;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(NamespaceTreeControl, 0xae054212, 0x3535, 0x4430, 0x83,0xed, 0xd5,0x01,0xaa,0x66,0x80,0xe6)
#endif
#endif
/*****************************************************************************
* IENamespaceTreeControl coclass
*/
DEFINE_GUID(CLSID_IENamespaceTreeControl, 0xace52d03, 0xe5cd, 0x4b20, 0x82,0xff, 0xe7,0x1b,0x11,0xbe,0xae,0x1d);
#ifdef __cplusplus
class DECLSPEC_UUID("ace52d03-e5cd-4b20-82ff-e71b11beae1d") IENamespaceTreeControl;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IENamespaceTreeControl, 0xace52d03, 0xe5cd, 0x4b20, 0x82,0xff, 0xe7,0x1b,0x11,0xbe,0xae,0x1d)
#endif
#endif
/*****************************************************************************
* ScheduledTasks coclass
*/
DEFINE_GUID(CLSID_ScheduledTasks, 0xd6277990, 0x4c6a, 0x11cf, 0x8d,0x87, 0x00,0xaa,0x00,0x60,0xf5,0xbf);
#ifdef __cplusplus
class DECLSPEC_UUID("d6277990-4c6a-11cf-8d87-00aa0060f5bf") ScheduledTasks;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ScheduledTasks, 0xd6277990, 0x4c6a, 0x11cf, 0x8d,0x87, 0x00,0xaa,0x00,0x60,0xf5,0xbf)
#endif
#endif
/*****************************************************************************
* ApplicationAssociationRegistration coclass
*/
DEFINE_GUID(CLSID_ApplicationAssociationRegistration, 0x591209c7, 0x767b, 0x42b2, 0x9f,0xba, 0x44,0xee,0x46,0x15,0xf2,0xc7);
#ifdef __cplusplus
class DECLSPEC_UUID("591209c7-767b-42b2-9fba-44ee4615f2c7") ApplicationAssociationRegistration;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ApplicationAssociationRegistration, 0x591209c7, 0x767b, 0x42b2, 0x9f,0xba, 0x44,0xee,0x46,0x15,0xf2,0xc7)
#endif
#endif
/*****************************************************************************
* ApplicationAssociationRegistrationUI coclass
*/
DEFINE_GUID(CLSID_ApplicationAssociationRegistrationUI, 0x1968106d, 0xf3b5, 0x44cf, 0x89,0x0e, 0x11,0x6f,0xcb,0x9e,0xce,0xf1);
#ifdef __cplusplus
class DECLSPEC_UUID("1968106d-f3b5-44cf-890e-116fcb9ecef1") ApplicationAssociationRegistrationUI;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ApplicationAssociationRegistrationUI, 0x1968106d, 0xf3b5, 0x44cf, 0x89,0x0e, 0x11,0x6f,0xcb,0x9e,0xce,0xf1)
#endif
#endif
/*****************************************************************************
* SearchFolderItemFactory coclass
*/
DEFINE_GUID(CLSID_SearchFolderItemFactory, 0x14010e02, 0xbbbd, 0x41f0, 0x88,0xe3, 0xed,0xa3,0x71,0x21,0x65,0x84);
#ifdef __cplusplus
class DECLSPEC_UUID("14010e02-bbbd-41f0-88e3-eda371216584") SearchFolderItemFactory;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(SearchFolderItemFactory, 0x14010e02, 0xbbbd, 0x41f0, 0x88,0xe3, 0xed,0xa3,0x71,0x21,0x65,0x84)
#endif
#endif
/*****************************************************************************
* OpenControlPanel coclass
*/
DEFINE_GUID(CLSID_OpenControlPanel, 0x06622d85, 0x6856, 0x4460, 0x8d,0xe1, 0xa8,0x19,0x21,0xb4,0x1c,0x4b);
#ifdef __cplusplus
class DECLSPEC_UUID("06622d85-6856-4460-8de1-a81921b41c4b") OpenControlPanel;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(OpenControlPanel, 0x06622d85, 0x6856, 0x4460, 0x8d,0xe1, 0xa8,0x19,0x21,0xb4,0x1c,0x4b)
#endif
#endif
/*****************************************************************************
* MailRecipient coclass
*/
DEFINE_GUID(CLSID_MailRecipient, 0x9e56be60, 0xc50f, 0x11cf, 0x9a,0x2c, 0x00,0xa0,0xc9,0x0a,0x90,0xce);
#ifdef __cplusplus
class DECLSPEC_UUID("9e56be60-c50f-11cf-9a2c-00a0c90a90ce") MailRecipient;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(MailRecipient, 0x9e56be60, 0xc50f, 0x11cf, 0x9a,0x2c, 0x00,0xa0,0xc9,0x0a,0x90,0xce)
#endif
#endif
/*****************************************************************************
* NetworkExplorerFolder coclass
*/
DEFINE_GUID(CLSID_NetworkExplorerFolder, 0xf02c1a0d, 0xbe21, 0x4350, 0x88,0xb0, 0x73,0x67,0xfc,0x96,0xef,0x3c);
#ifdef __cplusplus
class DECLSPEC_UUID("f02c1a0d-be21-4350-88b0-7367fc96ef3c") NetworkExplorerFolder;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(NetworkExplorerFolder, 0xf02c1a0d, 0xbe21, 0x4350, 0x88,0xb0, 0x73,0x67,0xfc,0x96,0xef,0x3c)
#endif
#endif
/*****************************************************************************
* DestinationList coclass
*/
DEFINE_GUID(CLSID_DestinationList, 0x77f10cf0, 0x3db5, 0x4966, 0xb5,0x20, 0xb7,0xc5,0x4f,0xd3,0x5e,0xd6);
#ifdef __cplusplus
class DECLSPEC_UUID("77f10cf0-3db5-4966-b520-b7c54fd35ed6") DestinationList;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DestinationList, 0x77f10cf0, 0x3db5, 0x4966, 0xb5,0x20, 0xb7,0xc5,0x4f,0xd3,0x5e,0xd6)
#endif
#endif
/*****************************************************************************
* ApplicationDestinations coclass
*/
DEFINE_GUID(CLSID_ApplicationDestinations, 0x86c14003, 0x4d6b, 0x4ef3, 0xa7,0xb4, 0x05,0x06,0x66,0x3b,0x2e,0x68);
#ifdef __cplusplus
class DECLSPEC_UUID("86c14003-4d6b-4ef3-a7b4-0506663b2e68") ApplicationDestinations;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ApplicationDestinations, 0x86c14003, 0x4d6b, 0x4ef3, 0xa7,0xb4, 0x05,0x06,0x66,0x3b,0x2e,0x68)
#endif
#endif
/*****************************************************************************
* ApplicationDocumentLists coclass
*/
DEFINE_GUID(CLSID_ApplicationDocumentLists, 0x86bec222, 0x30f2, 0x47e0, 0x9f,0x25, 0x60,0xd1,0x1c,0xd7,0x5c,0x28);
#ifdef __cplusplus
class DECLSPEC_UUID("86bec222-30f2-47e0-9f25-60d11cd75c28") ApplicationDocumentLists;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ApplicationDocumentLists, 0x86bec222, 0x30f2, 0x47e0, 0x9f,0x25, 0x60,0xd1,0x1c,0xd7,0x5c,0x28)
#endif
#endif
/*****************************************************************************
* HomeGroup coclass
*/
DEFINE_GUID(CLSID_HomeGroup, 0xde77ba04, 0x3c92, 0x4d11, 0xa1,0xa5, 0x42,0x35,0x2a,0x53,0xe0,0xe3);
#ifdef __cplusplus
class DECLSPEC_UUID("de77ba04-3c92-4d11-a1a5-42352a53e0e3") HomeGroup;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(HomeGroup, 0xde77ba04, 0x3c92, 0x4d11, 0xa1,0xa5, 0x42,0x35,0x2a,0x53,0xe0,0xe3)
#endif
#endif
/*****************************************************************************
* ShellLibrary coclass
*/
DEFINE_GUID(CLSID_ShellLibrary, 0xd9b3211d, 0xe57f, 0x4426, 0xaa,0xef, 0x30,0xa8,0x06,0xad,0xd3,0x97);
#ifdef __cplusplus
class DECLSPEC_UUID("d9b3211d-e57f-4426-aaef-30a806add397") ShellLibrary;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ShellLibrary, 0xd9b3211d, 0xe57f, 0x4426, 0xaa,0xef, 0x30,0xa8,0x06,0xad,0xd3,0x97)
#endif
#endif
/*****************************************************************************
* AppStartupLink coclass
*/
DEFINE_GUID(CLSID_AppStartupLink, 0x273eb5e7, 0x88b0, 0x4843, 0xbf,0xef, 0xe2,0xc8,0x1d,0x43,0xaa,0xe5);
#ifdef __cplusplus
class DECLSPEC_UUID("273eb5e7-88b0-4843-bfef-e2c81d43aae5") AppStartupLink;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(AppStartupLink, 0x273eb5e7, 0x88b0, 0x4843, 0xbf,0xef, 0xe2,0xc8,0x1d,0x43,0xaa,0xe5)
#endif
#endif
/*****************************************************************************
* EnumerableObjectCollection coclass
*/
DEFINE_GUID(CLSID_EnumerableObjectCollection, 0x2d3468c1, 0x36a7, 0x43b6, 0xac,0x24, 0xd3,0xf0,0x2f,0xd9,0x60,0x7a);
#ifdef __cplusplus
class DECLSPEC_UUID("2d3468c1-36a7-43b6-ac24-d3f02fd9607a") EnumerableObjectCollection;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(EnumerableObjectCollection, 0x2d3468c1, 0x36a7, 0x43b6, 0xac,0x24, 0xd3,0xf0,0x2f,0xd9,0x60,0x7a)
#endif
#endif
/*****************************************************************************
* DesktopGadget coclass
*/
DEFINE_GUID(CLSID_DesktopGadget, 0x924ccc1b, 0x6562, 0x4c85, 0x86,0x57, 0xd1,0x77,0x92,0x52,0x22,0xb6);
#ifdef __cplusplus
class DECLSPEC_UUID("924ccc1b-6562-4c85-8657-d177925222b6") DesktopGadget;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DesktopGadget, 0x924ccc1b, 0x6562, 0x4c85, 0x86,0x57, 0xd1,0x77,0x92,0x52,0x22,0xb6)
#endif
#endif
/*****************************************************************************
* PlaybackManager coclass
*/
DEFINE_GUID(CLSID_PlaybackManager, 0x29dfa654, 0xa97f, 0x47f0, 0xbf,0x26, 0x9e,0x41,0xfb,0x94,0x88,0xd9);
#ifdef __cplusplus
class DECLSPEC_UUID("29dfa654-a97f-47f0-bf26-9e41fb9488d9") PlaybackManager;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(PlaybackManager, 0x29dfa654, 0xa97f, 0x47f0, 0xbf,0x26, 0x9e,0x41,0xfb,0x94,0x88,0xd9)
#endif
#endif
/*****************************************************************************
* AccessibilityDockingService coclass
*/
DEFINE_GUID(CLSID_AccessibilityDockingService, 0x29ce1d46, 0xb481, 0x4aa0, 0xa0,0x8a, 0xd3,0xeb,0xc8,0xac,0xa4,0x02);
#ifdef __cplusplus
class DECLSPEC_UUID("29ce1d46-b481-4aa0-a08a-d3ebc8aca402") AccessibilityDockingService;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(AccessibilityDockingService, 0x29ce1d46, 0xb481, 0x4aa0, 0xa0,0x8a, 0xd3,0xeb,0xc8,0xac,0xa4,0x02)
#endif
#endif
/*****************************************************************************
* FrameworkInputPane coclass
*/
DEFINE_GUID(CLSID_FrameworkInputPane, 0xd5120aa3, 0x46ba, 0x44c5, 0x82,0x2d, 0xca,0x80,0x92,0xc1,0xfc,0x72);
#ifdef __cplusplus
class DECLSPEC_UUID("d5120aa3-46ba-44c5-822d-ca8092c1fc72") FrameworkInputPane;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(FrameworkInputPane, 0xd5120aa3, 0x46ba, 0x44c5, 0x82,0x2d, 0xca,0x80,0x92,0xc1,0xfc,0x72)
#endif
#endif
/*****************************************************************************
* DefFolderMenu coclass
*/
DEFINE_GUID(CLSID_DefFolderMenu, 0xc63382be, 0x7933, 0x48d0, 0x9a,0xc8, 0x85,0xfb,0x46,0xbe,0x2f,0xdd);
#ifdef __cplusplus
class DECLSPEC_UUID("c63382be-7933-48d0-9ac8-85fb46be2fdd") DefFolderMenu;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DefFolderMenu, 0xc63382be, 0x7933, 0x48d0, 0x9a,0xc8, 0x85,0xfb,0x46,0xbe,0x2f,0xdd)
#endif
#endif
/*****************************************************************************
* AppVisibility coclass
*/
DEFINE_GUID(CLSID_AppVisibility, 0x7e5fe3d9, 0x985f, 0x4908, 0x91,0xf9, 0xee,0x19,0xf9,0xfd,0x15,0x14);
#ifdef __cplusplus
class DECLSPEC_UUID("7e5fe3d9-985f-4908-91f9-ee19f9fd1514") AppVisibility;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(AppVisibility, 0x7e5fe3d9, 0x985f, 0x4908, 0x91,0xf9, 0xee,0x19,0xf9,0xfd,0x15,0x14)
#endif
#endif
/*****************************************************************************
* AppShellVerbHandler coclass
*/
DEFINE_GUID(CLSID_AppShellVerbHandler, 0x4ed3a719, 0xcea8, 0x4bd9, 0x91,0x0d, 0xe2,0x52,0xf9,0x97,0xaf,0xc2);
#ifdef __cplusplus
class DECLSPEC_UUID("4ed3a719-cea8-4bd9-910d-e252f997afc2") AppShellVerbHandler;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(AppShellVerbHandler, 0x4ed3a719, 0xcea8, 0x4bd9, 0x91,0x0d, 0xe2,0x52,0xf9,0x97,0xaf,0xc2)
#endif
#endif
/*****************************************************************************
* ExecuteUnknown coclass
*/
DEFINE_GUID(CLSID_ExecuteUnknown, 0xe44e9428, 0xbdbc, 0x4987, 0xa0,0x99, 0x40,0xdc,0x8f,0xd2,0x55,0xe7);
#ifdef __cplusplus
class DECLSPEC_UUID("e44e9428-bdbc-4987-a099-40dc8fd255e7") ExecuteUnknown;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ExecuteUnknown, 0xe44e9428, 0xbdbc, 0x4987, 0xa0,0x99, 0x40,0xdc,0x8f,0xd2,0x55,0xe7)
#endif
#endif
/*****************************************************************************
* PackageDebugSettings coclass
*/
DEFINE_GUID(CLSID_PackageDebugSettings, 0xb1aec16f, 0x2383, 0x4852, 0xb0,0xe9, 0x8f,0x0b,0x1d,0xc6,0x6b,0x4d);
#ifdef __cplusplus
class DECLSPEC_UUID("b1aec16f-2383-4852-b0e9-8f0b1dc66b4d") PackageDebugSettings;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(PackageDebugSettings, 0xb1aec16f, 0x2383, 0x4852, 0xb0,0xe9, 0x8f,0x0b,0x1d,0xc6,0x6b,0x4d)
#endif
#endif
/*****************************************************************************
* ApplicationActivationManager coclass
*/
DEFINE_GUID(CLSID_ApplicationActivationManager, 0x45ba127d, 0x10a8, 0x46ea, 0x8a,0xb7, 0x56,0xea,0x90,0x78,0x94,0x3c);
#ifdef __cplusplus
class DECLSPEC_UUID("45ba127d-10a8-46ea-8ab7-56ea9078943c") ApplicationActivationManager;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ApplicationActivationManager, 0x45ba127d, 0x10a8, 0x46ea, 0x8a,0xb7, 0x56,0xea,0x90,0x78,0x94,0x3c)
#endif
#endif
/*****************************************************************************
* ApplicationDesignModeSettings coclass
*/
DEFINE_GUID(CLSID_ApplicationDesignModeSettings, 0x958a6fb5, 0xdcb2, 0x4faf, 0xaa,0xfd, 0x7f,0xb0,0x54,0xad,0x1a,0x3b);
#ifdef __cplusplus
class DECLSPEC_UUID("958a6fb5-dcb2-4faf-aafd-7fb054ad1a3b") ApplicationDesignModeSettings;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ApplicationDesignModeSettings, 0x958a6fb5, 0xdcb2, 0x4faf, 0xaa,0xfd, 0x7f,0xb0,0x54,0xad,0x1a,0x3b)
#endif
#endif
/*****************************************************************************
* ExecuteFolder coclass
*/
DEFINE_GUID(CLSID_ExecuteFolder, 0x11dbb47c, 0xa525, 0x400b, 0x9e,0x80, 0xa5,0x46,0x15,0xa0,0x90,0xc0);
#ifdef __cplusplus
class DECLSPEC_UUID("11dbb47c-a525-400b-9e80-a54615a090c0") ExecuteFolder;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ExecuteFolder, 0x11dbb47c, 0xa525, 0x400b, 0x9e,0x80, 0xa5,0x46,0x15,0xa0,0x90,0xc0)
#endif
#endif
#if NTDDI_VERSION >= NTDDI_VISTA
SHSTDAPI SHGetTemporaryPropertyForItem(IShellItem *psi, REFPROPERTYKEY propkey, PROPVARIANT *ppropvar);
SHSTDAPI SHSetTemporaryPropertyForItem(IShellItem *psi, REFPROPERTYKEY propkey, REFPROPVARIANT propvar);
#endif
#if NTDDI_VERSION >= NTDDI_WIN7
#if _WIN32_IE >= _WIN32_IE_IE70
typedef enum LIBRARYMANAGEDIALOGOPTIONS {
LMD_DEFAULT = 0x0,
LMD_ALLOWUNINDEXABLENETWORKLOCATIONS = 0x1
} LIBRARYMANAGEDIALOGOPTIONS;
DEFINE_ENUM_FLAG_OPERATORS(LIBRARYMANAGEDIALOGOPTIONS)
SHSTDAPI SHShowManageLibraryUI(IShellItem *psiLibrary, HWND hwndOwner, LPCWSTR pszTitle, LPCWSTR pszInstruction, LIBRARYMANAGEDIALOGOPTIONS lmdOptions);
SHSTDAPI SHResolveLibrary(IShellItem *psiLibrary);
#if defined(__cplusplus) && !defined(CINTERFACE)
__forceinline HRESULT SHCreateLibrary(REFIID riid, void **ppv) {
return CoCreateInstance(CLSID_ShellLibrary, NULL, CLSCTX_INPROC_SERVER, riid, ppv);
}
__forceinline HRESULT SHLoadLibraryFromItem(IShellItem *psiLibrary, DWORD grfMode, REFIID riid, void **ppv) {
IShellLibrary *plib;
HRESULT hr;
*ppv = NULL;
hr = CoCreateInstance(CLSID_ShellLibrary, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&plib));
if (SUCCEEDED(hr)) {
hr = plib->LoadLibraryFromItem(psiLibrary, grfMode);
if (SUCCEEDED(hr))
hr = plib->QueryInterface(riid, ppv);
plib->Release();
}
return hr;
}
__forceinline HRESULT SHLoadLibraryFromKnownFolder(REFKNOWNFOLDERID kfidLibrary, DWORD grfMode, REFIID riid, void **ppv) {
IShellLibrary *plib;
HRESULT hr;
*ppv = NULL;
hr = CoCreateInstance(CLSID_ShellLibrary, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&plib));
if (SUCCEEDED(hr)) {
hr = plib->LoadLibraryFromKnownFolder(kfidLibrary, grfMode);
if (SUCCEEDED(hr))
hr = plib->QueryInterface(riid, ppv);
plib->Release();
}
return hr;
}
__forceinline HRESULT SHLoadLibraryFromParsingName(PCWSTR pszParsingName, DWORD grfMode, REFIID riid, void **ppv) {
IShellItem *psiLibrary;
HRESULT hr;
*ppv = NULL;
hr = SHCreateItemFromParsingName(pszParsingName, NULL, IID_PPV_ARGS(&psiLibrary));
if (SUCCEEDED(hr)) {
hr = SHLoadLibraryFromItem(psiLibrary, grfMode, riid, ppv);
psiLibrary->Release();
}
return hr;
}
__forceinline HRESULT SHAddFolderPathToLibrary(IShellLibrary *plib, PCWSTR pszFolderPath) {
IShellItem *psiFolder;
HRESULT hr = SHCreateItemFromParsingName(pszFolderPath, NULL, IID_PPV_ARGS(&psiFolder));
if (SUCCEEDED(hr)) {
hr = plib->AddFolder(psiFolder);
psiFolder->Release();
}
return hr;
}
__forceinline HRESULT SHRemoveFolderPathFromLibrary(IShellLibrary *plib, PCWSTR pszFolderPath) {
PIDLIST_ABSOLUTE pidlFolder = SHSimpleIDListFromPath(pszFolderPath);
HRESULT hr = pidlFolder ? S_OK : E_INVALIDARG;
if (SUCCEEDED(hr)) {
IShellItem *psiFolder;
hr = SHCreateItemFromIDList(pidlFolder, IID_PPV_ARGS(&psiFolder));
if (SUCCEEDED(hr)) {
hr = plib->RemoveFolder(psiFolder);
psiFolder->Release();
}
CoTaskMemFree(pidlFolder);
}
return hr;
}
__forceinline HRESULT SHResolveFolderPathInLibrary(IShellLibrary *plib, PCWSTR pszFolderPath, DWORD dwTimeout, PWSTR *ppszResolvedPath) {
*ppszResolvedPath = NULL;
PIDLIST_ABSOLUTE pidlFolder = SHSimpleIDListFromPath(pszFolderPath);
HRESULT hr = pidlFolder ? S_OK : E_INVALIDARG;
if (SUCCEEDED(hr)) {
IShellItem *psiFolder;
hr = SHCreateItemFromIDList(pidlFolder, IID_PPV_ARGS(&psiFolder));
if (SUCCEEDED(hr)) {
IShellItem *psiResolved;
hr = plib->ResolveFolder(psiFolder, dwTimeout, IID_PPV_ARGS(&psiResolved));
if (SUCCEEDED(hr)) {
hr = psiResolved->GetDisplayName(SIGDN_DESKTOPABSOLUTEPARSING, ppszResolvedPath);
psiResolved->Release();
}
psiFolder->Release();
}
CoTaskMemFree(pidlFolder);
}
return hr;
}
__forceinline HRESULT SHSaveLibraryInFolderPath(IShellLibrary *plib, PCWSTR pszFolderPath, PCWSTR pszLibraryName, LIBRARYSAVEFLAGS lsf, PWSTR *ppszSavedToPath) {
IShellItem *psiFolder;
HRESULT hr;
if (ppszSavedToPath)
*ppszSavedToPath = NULL;
hr = SHCreateItemFromParsingName(pszFolderPath, NULL, IID_PPV_ARGS(&psiFolder));
if (SUCCEEDED(hr)) {
IShellItem *psiSavedTo;
hr = plib->Save(psiFolder, pszLibraryName, lsf, &psiSavedTo);
if (SUCCEEDED(hr)) {
if (ppszSavedToPath)
hr = psiSavedTo->GetDisplayName(SIGDN_DESKTOPABSOLUTEPARSING, ppszSavedToPath);
psiSavedTo->Release();
}
psiFolder->Release();
}
return hr;
}
#endif
#endif
#endif
#if NTDDI_VERSION >= NTDDI_VISTA
/*****************************************************************************
* IAssocHandlerInvoker interface
*/
#ifndef __IAssocHandlerInvoker_INTERFACE_DEFINED__
#define __IAssocHandlerInvoker_INTERFACE_DEFINED__
DEFINE_GUID(IID_IAssocHandlerInvoker, 0x92218cab, 0xecaa, 0x4335, 0x81,0x33, 0x80,0x7f,0xd2,0x34,0xc2,0xee);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("92218cab-ecaa-4335-8133-807fd234c2ee")
IAssocHandlerInvoker : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SupportsSelection(
) = 0;
virtual HRESULT STDMETHODCALLTYPE Invoke(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IAssocHandlerInvoker, 0x92218cab, 0xecaa, 0x4335, 0x81,0x33, 0x80,0x7f,0xd2,0x34,0xc2,0xee)
#endif
#else
typedef struct IAssocHandlerInvokerVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IAssocHandlerInvoker *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IAssocHandlerInvoker *This);
ULONG (STDMETHODCALLTYPE *Release)(
IAssocHandlerInvoker *This);
/*** IAssocHandlerInvoker methods ***/
HRESULT (STDMETHODCALLTYPE *SupportsSelection)(
IAssocHandlerInvoker *This);
HRESULT (STDMETHODCALLTYPE *Invoke)(
IAssocHandlerInvoker *This);
END_INTERFACE
} IAssocHandlerInvokerVtbl;
interface IAssocHandlerInvoker {
CONST_VTBL IAssocHandlerInvokerVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IAssocHandlerInvoker_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IAssocHandlerInvoker_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IAssocHandlerInvoker_Release(This) (This)->lpVtbl->Release(This)
/*** IAssocHandlerInvoker methods ***/
#define IAssocHandlerInvoker_SupportsSelection(This) (This)->lpVtbl->SupportsSelection(This)
#define IAssocHandlerInvoker_Invoke(This) (This)->lpVtbl->Invoke(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IAssocHandlerInvoker_QueryInterface(IAssocHandlerInvoker* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IAssocHandlerInvoker_AddRef(IAssocHandlerInvoker* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IAssocHandlerInvoker_Release(IAssocHandlerInvoker* This) {
return This->lpVtbl->Release(This);
}
/*** IAssocHandlerInvoker methods ***/
static FORCEINLINE HRESULT IAssocHandlerInvoker_SupportsSelection(IAssocHandlerInvoker* This) {
return This->lpVtbl->SupportsSelection(This);
}
static FORCEINLINE HRESULT IAssocHandlerInvoker_Invoke(IAssocHandlerInvoker* This) {
return This->lpVtbl->Invoke(This);
}
#endif
#endif
#endif
#endif /* __IAssocHandlerInvoker_INTERFACE_DEFINED__ */
/*****************************************************************************
* IAssocHandler interface
*/
#ifndef __IAssocHandler_INTERFACE_DEFINED__
#define __IAssocHandler_INTERFACE_DEFINED__
DEFINE_GUID(IID_IAssocHandler, 0xf04061ac, 0x1659, 0x4a3f, 0xa9,0x54, 0x77,0x5a,0xa5,0x7f,0xc0,0x83);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("f04061ac-1659-4a3f-a954-775aa57fc083")
IAssocHandler : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetName(
LPWSTR *ppsz) = 0;
virtual HRESULT STDMETHODCALLTYPE GetUIName(
LPWSTR *ppsz) = 0;
virtual HRESULT STDMETHODCALLTYPE GetIconLocation(
LPWSTR *ppszPath,
int *pIndex) = 0;
virtual HRESULT STDMETHODCALLTYPE IsRecommended(
) = 0;
virtual HRESULT STDMETHODCALLTYPE MakeDefault(
LPCWSTR pszDescription) = 0;
virtual HRESULT STDMETHODCALLTYPE Invoke(
IDataObject *pdo) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateInvoker(
IDataObject *pdo,
IAssocHandlerInvoker **ppInvoker) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IAssocHandler, 0xf04061ac, 0x1659, 0x4a3f, 0xa9,0x54, 0x77,0x5a,0xa5,0x7f,0xc0,0x83)
#endif
#else
typedef struct IAssocHandlerVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IAssocHandler *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IAssocHandler *This);
ULONG (STDMETHODCALLTYPE *Release)(
IAssocHandler *This);
/*** IAssocHandler methods ***/
HRESULT (STDMETHODCALLTYPE *GetName)(
IAssocHandler *This,
LPWSTR *ppsz);
HRESULT (STDMETHODCALLTYPE *GetUIName)(
IAssocHandler *This,
LPWSTR *ppsz);
HRESULT (STDMETHODCALLTYPE *GetIconLocation)(
IAssocHandler *This,
LPWSTR *ppszPath,
int *pIndex);
HRESULT (STDMETHODCALLTYPE *IsRecommended)(
IAssocHandler *This);
HRESULT (STDMETHODCALLTYPE *MakeDefault)(
IAssocHandler *This,
LPCWSTR pszDescription);
HRESULT (STDMETHODCALLTYPE *Invoke)(
IAssocHandler *This,
IDataObject *pdo);
HRESULT (STDMETHODCALLTYPE *CreateInvoker)(
IAssocHandler *This,
IDataObject *pdo,
IAssocHandlerInvoker **ppInvoker);
END_INTERFACE
} IAssocHandlerVtbl;
interface IAssocHandler {
CONST_VTBL IAssocHandlerVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IAssocHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IAssocHandler_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IAssocHandler_Release(This) (This)->lpVtbl->Release(This)
/*** IAssocHandler methods ***/
#define IAssocHandler_GetName(This,ppsz) (This)->lpVtbl->GetName(This,ppsz)
#define IAssocHandler_GetUIName(This,ppsz) (This)->lpVtbl->GetUIName(This,ppsz)
#define IAssocHandler_GetIconLocation(This,ppszPath,pIndex) (This)->lpVtbl->GetIconLocation(This,ppszPath,pIndex)
#define IAssocHandler_IsRecommended(This) (This)->lpVtbl->IsRecommended(This)
#define IAssocHandler_MakeDefault(This,pszDescription) (This)->lpVtbl->MakeDefault(This,pszDescription)
#define IAssocHandler_Invoke(This,pdo) (This)->lpVtbl->Invoke(This,pdo)
#define IAssocHandler_CreateInvoker(This,pdo,ppInvoker) (This)->lpVtbl->CreateInvoker(This,pdo,ppInvoker)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IAssocHandler_QueryInterface(IAssocHandler* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IAssocHandler_AddRef(IAssocHandler* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IAssocHandler_Release(IAssocHandler* This) {
return This->lpVtbl->Release(This);
}
/*** IAssocHandler methods ***/
static FORCEINLINE HRESULT IAssocHandler_GetName(IAssocHandler* This,LPWSTR *ppsz) {
return This->lpVtbl->GetName(This,ppsz);
}
static FORCEINLINE HRESULT IAssocHandler_GetUIName(IAssocHandler* This,LPWSTR *ppsz) {
return This->lpVtbl->GetUIName(This,ppsz);
}
static FORCEINLINE HRESULT IAssocHandler_GetIconLocation(IAssocHandler* This,LPWSTR *ppszPath,int *pIndex) {
return This->lpVtbl->GetIconLocation(This,ppszPath,pIndex);
}
static FORCEINLINE HRESULT IAssocHandler_IsRecommended(IAssocHandler* This) {
return This->lpVtbl->IsRecommended(This);
}
static FORCEINLINE HRESULT IAssocHandler_MakeDefault(IAssocHandler* This,LPCWSTR pszDescription) {
return This->lpVtbl->MakeDefault(This,pszDescription);
}
static FORCEINLINE HRESULT IAssocHandler_Invoke(IAssocHandler* This,IDataObject *pdo) {
return This->lpVtbl->Invoke(This,pdo);
}
static FORCEINLINE HRESULT IAssocHandler_CreateInvoker(IAssocHandler* This,IDataObject *pdo,IAssocHandlerInvoker **ppInvoker) {
return This->lpVtbl->CreateInvoker(This,pdo,ppInvoker);
}
#endif
#endif
#endif
#endif /* __IAssocHandler_INTERFACE_DEFINED__ */
/*****************************************************************************
* IEnumAssocHandlers interface
*/
#ifndef __IEnumAssocHandlers_INTERFACE_DEFINED__
#define __IEnumAssocHandlers_INTERFACE_DEFINED__
DEFINE_GUID(IID_IEnumAssocHandlers, 0x973810ae, 0x9599, 0x4b88, 0x9e,0x4d, 0x6e,0xe9,0x8c,0x95,0x52,0xda);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("973810ae-9599-4b88-9e4d-6ee98c9552da")
IEnumAssocHandlers : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Next(
ULONG celt,
IAssocHandler **rgelt,
ULONG *pceltFetched) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IEnumAssocHandlers, 0x973810ae, 0x9599, 0x4b88, 0x9e,0x4d, 0x6e,0xe9,0x8c,0x95,0x52,0xda)
#endif
#else
typedef struct IEnumAssocHandlersVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IEnumAssocHandlers *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IEnumAssocHandlers *This);
ULONG (STDMETHODCALLTYPE *Release)(
IEnumAssocHandlers *This);
/*** IEnumAssocHandlers methods ***/
HRESULT (STDMETHODCALLTYPE *Next)(
IEnumAssocHandlers *This,
ULONG celt,
IAssocHandler **rgelt,
ULONG *pceltFetched);
END_INTERFACE
} IEnumAssocHandlersVtbl;
interface IEnumAssocHandlers {
CONST_VTBL IEnumAssocHandlersVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IEnumAssocHandlers_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IEnumAssocHandlers_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IEnumAssocHandlers_Release(This) (This)->lpVtbl->Release(This)
/*** IEnumAssocHandlers methods ***/
#define IEnumAssocHandlers_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IEnumAssocHandlers_QueryInterface(IEnumAssocHandlers* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IEnumAssocHandlers_AddRef(IEnumAssocHandlers* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IEnumAssocHandlers_Release(IEnumAssocHandlers* This) {
return This->lpVtbl->Release(This);
}
/*** IEnumAssocHandlers methods ***/
static FORCEINLINE HRESULT IEnumAssocHandlers_Next(IEnumAssocHandlers* This,ULONG celt,IAssocHandler **rgelt,ULONG *pceltFetched) {
return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
}
#endif
#endif
#endif
#endif /* __IEnumAssocHandlers_INTERFACE_DEFINED__ */
typedef enum ASSOC_FILTER {
ASSOC_FILTER_NONE = 0x0,
ASSOC_FILTER_RECOMMENDED = 0x1
} ASSOC_FILTER;
DEFINE_ENUM_FLAG_OPERATORS(ASSOC_FILTER)
SHSTDAPI SHAssocEnumHandlers(PCWSTR pszExtra, ASSOC_FILTER afFilter, IEnumAssocHandlers **ppEnumHandler);
#endif
#if NTDDI_VERSION >= NTDDI_WIN7
SHSTDAPI SHAssocEnumHandlersForProtocolByApplication(PCWSTR protocol, REFIID riid, void **enumHandlers);
#endif
#if NTDDI_VERSION >= NTDDI_WIN8
/*****************************************************************************
* IDataObjectProvider interface
*/
#ifndef __IDataObjectProvider_INTERFACE_DEFINED__
#define __IDataObjectProvider_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDataObjectProvider, 0x3d25f6d6, 0x4b2a, 0x433c, 0x91,0x84, 0x7c,0x33,0xad,0x35,0xd0,0x01);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3d25f6d6-4b2a-433c-9184-7c33ad35d001")
IDataObjectProvider : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetDataObject(
IDataObject **dataObject) = 0;
virtual HRESULT STDMETHODCALLTYPE SetDataObject(
IDataObject *dataObject) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDataObjectProvider, 0x3d25f6d6, 0x4b2a, 0x433c, 0x91,0x84, 0x7c,0x33,0xad,0x35,0xd0,0x01)
#endif
#else
typedef struct IDataObjectProviderVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDataObjectProvider *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDataObjectProvider *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDataObjectProvider *This);
/*** IDataObjectProvider methods ***/
HRESULT (STDMETHODCALLTYPE *GetDataObject)(
IDataObjectProvider *This,
IDataObject **dataObject);
HRESULT (STDMETHODCALLTYPE *SetDataObject)(
IDataObjectProvider *This,
IDataObject *dataObject);
END_INTERFACE
} IDataObjectProviderVtbl;
interface IDataObjectProvider {
CONST_VTBL IDataObjectProviderVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDataObjectProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDataObjectProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDataObjectProvider_Release(This) (This)->lpVtbl->Release(This)
/*** IDataObjectProvider methods ***/
#define IDataObjectProvider_GetDataObject(This,dataObject) (This)->lpVtbl->GetDataObject(This,dataObject)
#define IDataObjectProvider_SetDataObject(This,dataObject) (This)->lpVtbl->SetDataObject(This,dataObject)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDataObjectProvider_QueryInterface(IDataObjectProvider* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDataObjectProvider_AddRef(IDataObjectProvider* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDataObjectProvider_Release(IDataObjectProvider* This) {
return This->lpVtbl->Release(This);
}
/*** IDataObjectProvider methods ***/
static FORCEINLINE HRESULT IDataObjectProvider_GetDataObject(IDataObjectProvider* This,IDataObject **dataObject) {
return This->lpVtbl->GetDataObject(This,dataObject);
}
static FORCEINLINE HRESULT IDataObjectProvider_SetDataObject(IDataObjectProvider* This,IDataObject *dataObject) {
return This->lpVtbl->SetDataObject(This,dataObject);
}
#endif
#endif
#endif
#endif /* __IDataObjectProvider_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDataTransferManagerInterop interface
*/
#ifndef __IDataTransferManagerInterop_INTERFACE_DEFINED__
#define __IDataTransferManagerInterop_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDataTransferManagerInterop, 0x3a3dcd6c, 0x3eab, 0x43dc, 0xbc,0xde, 0x45,0x67,0x1c,0xe8,0x00,0xc8);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3a3dcd6c-3eab-43dc-bcde-45671ce800c8")
IDataTransferManagerInterop : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetForWindow(
HWND appWindow,
REFIID riid,
void **dataTransferManager) = 0;
virtual HRESULT STDMETHODCALLTYPE ShowShareUIForWindow(
HWND appWindow) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDataTransferManagerInterop, 0x3a3dcd6c, 0x3eab, 0x43dc, 0xbc,0xde, 0x45,0x67,0x1c,0xe8,0x00,0xc8)
#endif
#else
typedef struct IDataTransferManagerInteropVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDataTransferManagerInterop *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDataTransferManagerInterop *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDataTransferManagerInterop *This);
/*** IDataTransferManagerInterop methods ***/
HRESULT (STDMETHODCALLTYPE *GetForWindow)(
IDataTransferManagerInterop *This,
HWND appWindow,
REFIID riid,
void **dataTransferManager);
HRESULT (STDMETHODCALLTYPE *ShowShareUIForWindow)(
IDataTransferManagerInterop *This,
HWND appWindow);
END_INTERFACE
} IDataTransferManagerInteropVtbl;
interface IDataTransferManagerInterop {
CONST_VTBL IDataTransferManagerInteropVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDataTransferManagerInterop_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDataTransferManagerInterop_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDataTransferManagerInterop_Release(This) (This)->lpVtbl->Release(This)
/*** IDataTransferManagerInterop methods ***/
#define IDataTransferManagerInterop_GetForWindow(This,appWindow,riid,dataTransferManager) (This)->lpVtbl->GetForWindow(This,appWindow,riid,dataTransferManager)
#define IDataTransferManagerInterop_ShowShareUIForWindow(This,appWindow) (This)->lpVtbl->ShowShareUIForWindow(This,appWindow)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDataTransferManagerInterop_QueryInterface(IDataTransferManagerInterop* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDataTransferManagerInterop_AddRef(IDataTransferManagerInterop* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDataTransferManagerInterop_Release(IDataTransferManagerInterop* This) {
return This->lpVtbl->Release(This);
}
/*** IDataTransferManagerInterop methods ***/
static FORCEINLINE HRESULT IDataTransferManagerInterop_GetForWindow(IDataTransferManagerInterop* This,HWND appWindow,REFIID riid,void **dataTransferManager) {
return This->lpVtbl->GetForWindow(This,appWindow,riid,dataTransferManager);
}
static FORCEINLINE HRESULT IDataTransferManagerInterop_ShowShareUIForWindow(IDataTransferManagerInterop* This,HWND appWindow) {
return This->lpVtbl->ShowShareUIForWindow(This,appWindow);
}
#endif
#endif
#endif
#endif /* __IDataTransferManagerInterop_INTERFACE_DEFINED__ */
/*****************************************************************************
* IFrameworkInputPaneHandler interface
*/
#ifndef __IFrameworkInputPaneHandler_INTERFACE_DEFINED__
#define __IFrameworkInputPaneHandler_INTERFACE_DEFINED__
DEFINE_GUID(IID_IFrameworkInputPaneHandler, 0x226c537b, 0x1e76, 0x4d9e, 0xa7,0x60, 0x33,0xdb,0x29,0x92,0x2f,0x18);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("226c537b-1e76-4d9e-a760-33db29922f18")
IFrameworkInputPaneHandler : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Showing(
RECT *prcInputPaneScreenLocation,
WINBOOL fEnsureFocusedElementInView) = 0;
virtual HRESULT STDMETHODCALLTYPE Hiding(
WINBOOL fEnsureFocusedElementInView) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IFrameworkInputPaneHandler, 0x226c537b, 0x1e76, 0x4d9e, 0xa7,0x60, 0x33,0xdb,0x29,0x92,0x2f,0x18)
#endif
#else
typedef struct IFrameworkInputPaneHandlerVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IFrameworkInputPaneHandler *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IFrameworkInputPaneHandler *This);
ULONG (STDMETHODCALLTYPE *Release)(
IFrameworkInputPaneHandler *This);
/*** IFrameworkInputPaneHandler methods ***/
HRESULT (STDMETHODCALLTYPE *Showing)(
IFrameworkInputPaneHandler *This,
RECT *prcInputPaneScreenLocation,
WINBOOL fEnsureFocusedElementInView);
HRESULT (STDMETHODCALLTYPE *Hiding)(
IFrameworkInputPaneHandler *This,
WINBOOL fEnsureFocusedElementInView);
END_INTERFACE
} IFrameworkInputPaneHandlerVtbl;
interface IFrameworkInputPaneHandler {
CONST_VTBL IFrameworkInputPaneHandlerVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IFrameworkInputPaneHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IFrameworkInputPaneHandler_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IFrameworkInputPaneHandler_Release(This) (This)->lpVtbl->Release(This)
/*** IFrameworkInputPaneHandler methods ***/
#define IFrameworkInputPaneHandler_Showing(This,prcInputPaneScreenLocation,fEnsureFocusedElementInView) (This)->lpVtbl->Showing(This,prcInputPaneScreenLocation,fEnsureFocusedElementInView)
#define IFrameworkInputPaneHandler_Hiding(This,fEnsureFocusedElementInView) (This)->lpVtbl->Hiding(This,fEnsureFocusedElementInView)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IFrameworkInputPaneHandler_QueryInterface(IFrameworkInputPaneHandler* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IFrameworkInputPaneHandler_AddRef(IFrameworkInputPaneHandler* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IFrameworkInputPaneHandler_Release(IFrameworkInputPaneHandler* This) {
return This->lpVtbl->Release(This);
}
/*** IFrameworkInputPaneHandler methods ***/
static FORCEINLINE HRESULT IFrameworkInputPaneHandler_Showing(IFrameworkInputPaneHandler* This,RECT *prcInputPaneScreenLocation,WINBOOL fEnsureFocusedElementInView) {
return This->lpVtbl->Showing(This,prcInputPaneScreenLocation,fEnsureFocusedElementInView);
}
static FORCEINLINE HRESULT IFrameworkInputPaneHandler_Hiding(IFrameworkInputPaneHandler* This,WINBOOL fEnsureFocusedElementInView) {
return This->lpVtbl->Hiding(This,fEnsureFocusedElementInView);
}
#endif
#endif
#endif
#endif /* __IFrameworkInputPaneHandler_INTERFACE_DEFINED__ */
/*****************************************************************************
* IFrameworkInputPane interface
*/
#ifndef __IFrameworkInputPane_INTERFACE_DEFINED__
#define __IFrameworkInputPane_INTERFACE_DEFINED__
DEFINE_GUID(IID_IFrameworkInputPane, 0x5752238b, 0x24f0, 0x495a, 0x82,0xf1, 0x2f,0xd5,0x93,0x05,0x67,0x96);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("5752238b-24f0-495a-82f1-2fd593056796")
IFrameworkInputPane : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Advise(
IUnknown *pWindow,
IFrameworkInputPaneHandler *pHandler,
DWORD *pdwCookie) = 0;
virtual HRESULT STDMETHODCALLTYPE AdviseWithHWND(
HWND hwnd,
IFrameworkInputPaneHandler *pHandler,
DWORD *pdwCookie) = 0;
virtual HRESULT STDMETHODCALLTYPE Unadvise(
DWORD dwCookie) = 0;
virtual HRESULT STDMETHODCALLTYPE Location(
RECT *prcInputPaneScreenLocation) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IFrameworkInputPane, 0x5752238b, 0x24f0, 0x495a, 0x82,0xf1, 0x2f,0xd5,0x93,0x05,0x67,0x96)
#endif
#else
typedef struct IFrameworkInputPaneVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IFrameworkInputPane *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IFrameworkInputPane *This);
ULONG (STDMETHODCALLTYPE *Release)(
IFrameworkInputPane *This);
/*** IFrameworkInputPane methods ***/
HRESULT (STDMETHODCALLTYPE *Advise)(
IFrameworkInputPane *This,
IUnknown *pWindow,
IFrameworkInputPaneHandler *pHandler,
DWORD *pdwCookie);
HRESULT (STDMETHODCALLTYPE *AdviseWithHWND)(
IFrameworkInputPane *This,
HWND hwnd,
IFrameworkInputPaneHandler *pHandler,
DWORD *pdwCookie);
HRESULT (STDMETHODCALLTYPE *Unadvise)(
IFrameworkInputPane *This,
DWORD dwCookie);
HRESULT (STDMETHODCALLTYPE *Location)(
IFrameworkInputPane *This,
RECT *prcInputPaneScreenLocation);
END_INTERFACE
} IFrameworkInputPaneVtbl;
interface IFrameworkInputPane {
CONST_VTBL IFrameworkInputPaneVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IFrameworkInputPane_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IFrameworkInputPane_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IFrameworkInputPane_Release(This) (This)->lpVtbl->Release(This)
/*** IFrameworkInputPane methods ***/
#define IFrameworkInputPane_Advise(This,pWindow,pHandler,pdwCookie) (This)->lpVtbl->Advise(This,pWindow,pHandler,pdwCookie)
#define IFrameworkInputPane_AdviseWithHWND(This,hwnd,pHandler,pdwCookie) (This)->lpVtbl->AdviseWithHWND(This,hwnd,pHandler,pdwCookie)
#define IFrameworkInputPane_Unadvise(This,dwCookie) (This)->lpVtbl->Unadvise(This,dwCookie)
#define IFrameworkInputPane_Location(This,prcInputPaneScreenLocation) (This)->lpVtbl->Location(This,prcInputPaneScreenLocation)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IFrameworkInputPane_QueryInterface(IFrameworkInputPane* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IFrameworkInputPane_AddRef(IFrameworkInputPane* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IFrameworkInputPane_Release(IFrameworkInputPane* This) {
return This->lpVtbl->Release(This);
}
/*** IFrameworkInputPane methods ***/
static FORCEINLINE HRESULT IFrameworkInputPane_Advise(IFrameworkInputPane* This,IUnknown *pWindow,IFrameworkInputPaneHandler *pHandler,DWORD *pdwCookie) {
return This->lpVtbl->Advise(This,pWindow,pHandler,pdwCookie);
}
static FORCEINLINE HRESULT IFrameworkInputPane_AdviseWithHWND(IFrameworkInputPane* This,HWND hwnd,IFrameworkInputPaneHandler *pHandler,DWORD *pdwCookie) {
return This->lpVtbl->AdviseWithHWND(This,hwnd,pHandler,pdwCookie);
}
static FORCEINLINE HRESULT IFrameworkInputPane_Unadvise(IFrameworkInputPane* This,DWORD dwCookie) {
return This->lpVtbl->Unadvise(This,dwCookie);
}
static FORCEINLINE HRESULT IFrameworkInputPane_Location(IFrameworkInputPane* This,RECT *prcInputPaneScreenLocation) {
return This->lpVtbl->Location(This,prcInputPaneScreenLocation);
}
#endif
#endif
#endif
#endif /* __IFrameworkInputPane_INTERFACE_DEFINED__ */
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#ifndef PROP_CONTRACT_DELEGATE
#define PROP_CONTRACT_DELEGATE L"ContractDelegate"
#endif
__forceinline void SetContractDelegateWindow(HWND hwndSource, HWND hwndDelegate) {
if (hwndDelegate != NULL)
SetPropW (hwndSource, PROP_CONTRACT_DELEGATE, (HANDLE)hwndDelegate);
else
RemovePropW(hwndSource, PROP_CONTRACT_DELEGATE);
}
#ifndef PROP_CONTRACT_DELEGATE
#define PROP_CONTRACT_DELEGATE L"ContractDelegate"
#endif
__forceinline HWND GetContractDelegateWindow(HWND hwndSource) { return (HWND)GetPropW(hwndSource, PROP_CONTRACT_DELEGATE); }
#endif
#endif
#if NTDDI_VERSION >= NTDDI_WIN8
/*****************************************************************************
* ISearchableApplication interface
*/
#ifndef __ISearchableApplication_INTERFACE_DEFINED__
#define __ISearchableApplication_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISearchableApplication, 0x08922f8d, 0x243a, 0x49e3, 0xa4,0x95, 0xbd,0x4f,0x9c,0xf8,0xab,0x9e);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("08922f8d-243a-49e3-a495-bd4f9cf8ab9e")
ISearchableApplication : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetSearchWindow(
HWND *hwnd) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISearchableApplication, 0x08922f8d, 0x243a, 0x49e3, 0xa4,0x95, 0xbd,0x4f,0x9c,0xf8,0xab,0x9e)
#endif
#else
typedef struct ISearchableApplicationVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISearchableApplication *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISearchableApplication *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISearchableApplication *This);
/*** ISearchableApplication methods ***/
HRESULT (STDMETHODCALLTYPE *GetSearchWindow)(
ISearchableApplication *This,
HWND *hwnd);
END_INTERFACE
} ISearchableApplicationVtbl;
interface ISearchableApplication {
CONST_VTBL ISearchableApplicationVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISearchableApplication_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISearchableApplication_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISearchableApplication_Release(This) (This)->lpVtbl->Release(This)
/*** ISearchableApplication methods ***/
#define ISearchableApplication_GetSearchWindow(This,hwnd) (This)->lpVtbl->GetSearchWindow(This,hwnd)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISearchableApplication_QueryInterface(ISearchableApplication* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISearchableApplication_AddRef(ISearchableApplication* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISearchableApplication_Release(ISearchableApplication* This) {
return This->lpVtbl->Release(This);
}
/*** ISearchableApplication methods ***/
static FORCEINLINE HRESULT ISearchableApplication_GetSearchWindow(ISearchableApplication* This,HWND *hwnd) {
return This->lpVtbl->GetSearchWindow(This,hwnd);
}
#endif
#endif
#endif
#endif /* __ISearchableApplication_INTERFACE_DEFINED__ */
typedef enum UNDOCK_REASON {
UR_RESOLUTION_CHANGE = 0,
UR_MONITOR_DISCONNECT = 1
} UNDOCK_REASON;
/*****************************************************************************
* IAccessibilityDockingServiceCallback interface
*/
#ifndef __IAccessibilityDockingServiceCallback_INTERFACE_DEFINED__
#define __IAccessibilityDockingServiceCallback_INTERFACE_DEFINED__
DEFINE_GUID(IID_IAccessibilityDockingServiceCallback, 0x157733fd, 0xa592, 0x42e5, 0xb5,0x94, 0x24,0x84,0x68,0xc5,0xa8,0x1b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("157733fd-a592-42e5-b594-248468c5a81b")
IAccessibilityDockingServiceCallback : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Undocked(
UNDOCK_REASON undockReason) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IAccessibilityDockingServiceCallback, 0x157733fd, 0xa592, 0x42e5, 0xb5,0x94, 0x24,0x84,0x68,0xc5,0xa8,0x1b)
#endif
#else
typedef struct IAccessibilityDockingServiceCallbackVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IAccessibilityDockingServiceCallback *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IAccessibilityDockingServiceCallback *This);
ULONG (STDMETHODCALLTYPE *Release)(
IAccessibilityDockingServiceCallback *This);
/*** IAccessibilityDockingServiceCallback methods ***/
HRESULT (STDMETHODCALLTYPE *Undocked)(
IAccessibilityDockingServiceCallback *This,
UNDOCK_REASON undockReason);
END_INTERFACE
} IAccessibilityDockingServiceCallbackVtbl;
interface IAccessibilityDockingServiceCallback {
CONST_VTBL IAccessibilityDockingServiceCallbackVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IAccessibilityDockingServiceCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IAccessibilityDockingServiceCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IAccessibilityDockingServiceCallback_Release(This) (This)->lpVtbl->Release(This)
/*** IAccessibilityDockingServiceCallback methods ***/
#define IAccessibilityDockingServiceCallback_Undocked(This,undockReason) (This)->lpVtbl->Undocked(This,undockReason)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IAccessibilityDockingServiceCallback_QueryInterface(IAccessibilityDockingServiceCallback* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IAccessibilityDockingServiceCallback_AddRef(IAccessibilityDockingServiceCallback* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IAccessibilityDockingServiceCallback_Release(IAccessibilityDockingServiceCallback* This) {
return This->lpVtbl->Release(This);
}
/*** IAccessibilityDockingServiceCallback methods ***/
static FORCEINLINE HRESULT IAccessibilityDockingServiceCallback_Undocked(IAccessibilityDockingServiceCallback* This,UNDOCK_REASON undockReason) {
return This->lpVtbl->Undocked(This,undockReason);
}
#endif
#endif
#endif
#endif /* __IAccessibilityDockingServiceCallback_INTERFACE_DEFINED__ */
/*****************************************************************************
* IAccessibilityDockingService interface
*/
#ifndef __IAccessibilityDockingService_INTERFACE_DEFINED__
#define __IAccessibilityDockingService_INTERFACE_DEFINED__
DEFINE_GUID(IID_IAccessibilityDockingService, 0x8849dc22, 0xcedf, 0x4c95, 0x99,0x8d, 0x05,0x14,0x19,0xdd,0x3f,0x76);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("8849dc22-cedf-4c95-998d-051419dd3f76")
IAccessibilityDockingService : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetAvailableSize(
HMONITOR hMonitor,
UINT *pcxFixed,
UINT *pcyMax) = 0;
virtual HRESULT STDMETHODCALLTYPE DockWindow(
HWND hwnd,
HMONITOR hMonitor,
UINT cyRequested,
IAccessibilityDockingServiceCallback *pCallback) = 0;
virtual HRESULT STDMETHODCALLTYPE UndockWindow(
HWND hwnd) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IAccessibilityDockingService, 0x8849dc22, 0xcedf, 0x4c95, 0x99,0x8d, 0x05,0x14,0x19,0xdd,0x3f,0x76)
#endif
#else
typedef struct IAccessibilityDockingServiceVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IAccessibilityDockingService *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IAccessibilityDockingService *This);
ULONG (STDMETHODCALLTYPE *Release)(
IAccessibilityDockingService *This);
/*** IAccessibilityDockingService methods ***/
HRESULT (STDMETHODCALLTYPE *GetAvailableSize)(
IAccessibilityDockingService *This,
HMONITOR hMonitor,
UINT *pcxFixed,
UINT *pcyMax);
HRESULT (STDMETHODCALLTYPE *DockWindow)(
IAccessibilityDockingService *This,
HWND hwnd,
HMONITOR hMonitor,
UINT cyRequested,
IAccessibilityDockingServiceCallback *pCallback);
HRESULT (STDMETHODCALLTYPE *UndockWindow)(
IAccessibilityDockingService *This,
HWND hwnd);
END_INTERFACE
} IAccessibilityDockingServiceVtbl;
interface IAccessibilityDockingService {
CONST_VTBL IAccessibilityDockingServiceVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IAccessibilityDockingService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IAccessibilityDockingService_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IAccessibilityDockingService_Release(This) (This)->lpVtbl->Release(This)
/*** IAccessibilityDockingService methods ***/
#define IAccessibilityDockingService_GetAvailableSize(This,hMonitor,pcxFixed,pcyMax) (This)->lpVtbl->GetAvailableSize(This,hMonitor,pcxFixed,pcyMax)
#define IAccessibilityDockingService_DockWindow(This,hwnd,hMonitor,cyRequested,pCallback) (This)->lpVtbl->DockWindow(This,hwnd,hMonitor,cyRequested,pCallback)
#define IAccessibilityDockingService_UndockWindow(This,hwnd) (This)->lpVtbl->UndockWindow(This,hwnd)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IAccessibilityDockingService_QueryInterface(IAccessibilityDockingService* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IAccessibilityDockingService_AddRef(IAccessibilityDockingService* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IAccessibilityDockingService_Release(IAccessibilityDockingService* This) {
return This->lpVtbl->Release(This);
}
/*** IAccessibilityDockingService methods ***/
static FORCEINLINE HRESULT IAccessibilityDockingService_GetAvailableSize(IAccessibilityDockingService* This,HMONITOR hMonitor,UINT *pcxFixed,UINT *pcyMax) {
return This->lpVtbl->GetAvailableSize(This,hMonitor,pcxFixed,pcyMax);
}
static FORCEINLINE HRESULT IAccessibilityDockingService_DockWindow(IAccessibilityDockingService* This,HWND hwnd,HMONITOR hMonitor,UINT cyRequested,IAccessibilityDockingServiceCallback *pCallback) {
return This->lpVtbl->DockWindow(This,hwnd,hMonitor,cyRequested,pCallback);
}
static FORCEINLINE HRESULT IAccessibilityDockingService_UndockWindow(IAccessibilityDockingService* This,HWND hwnd) {
return This->lpVtbl->UndockWindow(This,hwnd);
}
#endif
#endif
#endif
#endif /* __IAccessibilityDockingService_INTERFACE_DEFINED__ */
typedef enum MONITOR_APP_VISIBILITY {
MAV_UNKNOWN = 0,
MAV_NO_APP_VISIBLE = 1,
MAV_APP_VISIBLE = 2
} MONITOR_APP_VISIBILITY;
/*****************************************************************************
* IAppVisibilityEvents interface
*/
#ifndef __IAppVisibilityEvents_INTERFACE_DEFINED__
#define __IAppVisibilityEvents_INTERFACE_DEFINED__
DEFINE_GUID(IID_IAppVisibilityEvents, 0x6584ce6b, 0x7d82, 0x49c2, 0x89,0xc9, 0xc6,0xbc,0x02,0xba,0x8c,0x38);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("6584ce6b-7d82-49c2-89c9-c6bc02ba8c38")
IAppVisibilityEvents : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE AppVisibilityOnMonitorChanged(
HMONITOR hMonitor,
MONITOR_APP_VISIBILITY previousMode,
MONITOR_APP_VISIBILITY currentMode) = 0;
virtual HRESULT STDMETHODCALLTYPE LauncherVisibilityChange(
WINBOOL currentVisibleState) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IAppVisibilityEvents, 0x6584ce6b, 0x7d82, 0x49c2, 0x89,0xc9, 0xc6,0xbc,0x02,0xba,0x8c,0x38)
#endif
#else
typedef struct IAppVisibilityEventsVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IAppVisibilityEvents *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IAppVisibilityEvents *This);
ULONG (STDMETHODCALLTYPE *Release)(
IAppVisibilityEvents *This);
/*** IAppVisibilityEvents methods ***/
HRESULT (STDMETHODCALLTYPE *AppVisibilityOnMonitorChanged)(
IAppVisibilityEvents *This,
HMONITOR hMonitor,
MONITOR_APP_VISIBILITY previousMode,
MONITOR_APP_VISIBILITY currentMode);
HRESULT (STDMETHODCALLTYPE *LauncherVisibilityChange)(
IAppVisibilityEvents *This,
WINBOOL currentVisibleState);
END_INTERFACE
} IAppVisibilityEventsVtbl;
interface IAppVisibilityEvents {
CONST_VTBL IAppVisibilityEventsVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IAppVisibilityEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IAppVisibilityEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IAppVisibilityEvents_Release(This) (This)->lpVtbl->Release(This)
/*** IAppVisibilityEvents methods ***/
#define IAppVisibilityEvents_AppVisibilityOnMonitorChanged(This,hMonitor,previousMode,currentMode) (This)->lpVtbl->AppVisibilityOnMonitorChanged(This,hMonitor,previousMode,currentMode)
#define IAppVisibilityEvents_LauncherVisibilityChange(This,currentVisibleState) (This)->lpVtbl->LauncherVisibilityChange(This,currentVisibleState)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IAppVisibilityEvents_QueryInterface(IAppVisibilityEvents* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IAppVisibilityEvents_AddRef(IAppVisibilityEvents* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IAppVisibilityEvents_Release(IAppVisibilityEvents* This) {
return This->lpVtbl->Release(This);
}
/*** IAppVisibilityEvents methods ***/
static FORCEINLINE HRESULT IAppVisibilityEvents_AppVisibilityOnMonitorChanged(IAppVisibilityEvents* This,HMONITOR hMonitor,MONITOR_APP_VISIBILITY previousMode,MONITOR_APP_VISIBILITY currentMode) {
return This->lpVtbl->AppVisibilityOnMonitorChanged(This,hMonitor,previousMode,currentMode);
}
static FORCEINLINE HRESULT IAppVisibilityEvents_LauncherVisibilityChange(IAppVisibilityEvents* This,WINBOOL currentVisibleState) {
return This->lpVtbl->LauncherVisibilityChange(This,currentVisibleState);
}
#endif
#endif
#endif
#endif /* __IAppVisibilityEvents_INTERFACE_DEFINED__ */
/*****************************************************************************
* IAppVisibility interface
*/
#ifndef __IAppVisibility_INTERFACE_DEFINED__
#define __IAppVisibility_INTERFACE_DEFINED__
DEFINE_GUID(IID_IAppVisibility, 0x2246ea2d, 0xcaea, 0x4444, 0xa3,0xc4, 0x6d,0xe8,0x27,0xe4,0x43,0x13);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("2246ea2d-caea-4444-a3c4-6de827e44313")
IAppVisibility : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetAppVisibilityOnMonitor(
HMONITOR hMonitor,
MONITOR_APP_VISIBILITY *pMode) = 0;
virtual HRESULT STDMETHODCALLTYPE IsLauncherVisible(
WINBOOL *pfVisible) = 0;
virtual HRESULT STDMETHODCALLTYPE Advise(
IAppVisibilityEvents *pCallback,
DWORD *pdwCookie) = 0;
virtual HRESULT STDMETHODCALLTYPE Unadvise(
DWORD dwCookie) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IAppVisibility, 0x2246ea2d, 0xcaea, 0x4444, 0xa3,0xc4, 0x6d,0xe8,0x27,0xe4,0x43,0x13)
#endif
#else
typedef struct IAppVisibilityVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IAppVisibility *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IAppVisibility *This);
ULONG (STDMETHODCALLTYPE *Release)(
IAppVisibility *This);
/*** IAppVisibility methods ***/
HRESULT (STDMETHODCALLTYPE *GetAppVisibilityOnMonitor)(
IAppVisibility *This,
HMONITOR hMonitor,
MONITOR_APP_VISIBILITY *pMode);
HRESULT (STDMETHODCALLTYPE *IsLauncherVisible)(
IAppVisibility *This,
WINBOOL *pfVisible);
HRESULT (STDMETHODCALLTYPE *Advise)(
IAppVisibility *This,
IAppVisibilityEvents *pCallback,
DWORD *pdwCookie);
HRESULT (STDMETHODCALLTYPE *Unadvise)(
IAppVisibility *This,
DWORD dwCookie);
END_INTERFACE
} IAppVisibilityVtbl;
interface IAppVisibility {
CONST_VTBL IAppVisibilityVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IAppVisibility_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IAppVisibility_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IAppVisibility_Release(This) (This)->lpVtbl->Release(This)
/*** IAppVisibility methods ***/
#define IAppVisibility_GetAppVisibilityOnMonitor(This,hMonitor,pMode) (This)->lpVtbl->GetAppVisibilityOnMonitor(This,hMonitor,pMode)
#define IAppVisibility_IsLauncherVisible(This,pfVisible) (This)->lpVtbl->IsLauncherVisible(This,pfVisible)
#define IAppVisibility_Advise(This,pCallback,pdwCookie) (This)->lpVtbl->Advise(This,pCallback,pdwCookie)
#define IAppVisibility_Unadvise(This,dwCookie) (This)->lpVtbl->Unadvise(This,dwCookie)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IAppVisibility_QueryInterface(IAppVisibility* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IAppVisibility_AddRef(IAppVisibility* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IAppVisibility_Release(IAppVisibility* This) {
return This->lpVtbl->Release(This);
}
/*** IAppVisibility methods ***/
static FORCEINLINE HRESULT IAppVisibility_GetAppVisibilityOnMonitor(IAppVisibility* This,HMONITOR hMonitor,MONITOR_APP_VISIBILITY *pMode) {
return This->lpVtbl->GetAppVisibilityOnMonitor(This,hMonitor,pMode);
}
static FORCEINLINE HRESULT IAppVisibility_IsLauncherVisible(IAppVisibility* This,WINBOOL *pfVisible) {
return This->lpVtbl->IsLauncherVisible(This,pfVisible);
}
static FORCEINLINE HRESULT IAppVisibility_Advise(IAppVisibility* This,IAppVisibilityEvents *pCallback,DWORD *pdwCookie) {
return This->lpVtbl->Advise(This,pCallback,pdwCookie);
}
static FORCEINLINE HRESULT IAppVisibility_Unadvise(IAppVisibility* This,DWORD dwCookie) {
return This->lpVtbl->Unadvise(This,dwCookie);
}
#endif
#endif
#endif
#endif /* __IAppVisibility_INTERFACE_DEFINED__ */
#if 0
typedef WCHAR *PZZWSTR;
#endif
typedef enum PACKAGE_EXECUTION_STATE {
PES_UNKNOWN = 0,
PES_RUNNING = 1,
PES_SUSPENDING = 2,
PES_SUSPENDED = 3,
PES_TERMINATED = 4
} PACKAGE_EXECUTION_STATE;
/*****************************************************************************
* IPackageExecutionStateChangeNotification interface
*/
#ifndef __IPackageExecutionStateChangeNotification_INTERFACE_DEFINED__
#define __IPackageExecutionStateChangeNotification_INTERFACE_DEFINED__
DEFINE_GUID(IID_IPackageExecutionStateChangeNotification, 0x1bb12a62, 0x2ad8, 0x432b, 0x8c,0xcf, 0x0c,0x2c,0x52,0xaf,0xcd,0x5b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("1bb12a62-2ad8-432b-8ccf-0c2c52afcd5b")
IPackageExecutionStateChangeNotification : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE OnStateChanged(
LPCWSTR pszPackageFullName,
PACKAGE_EXECUTION_STATE pesNewState) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IPackageExecutionStateChangeNotification, 0x1bb12a62, 0x2ad8, 0x432b, 0x8c,0xcf, 0x0c,0x2c,0x52,0xaf,0xcd,0x5b)
#endif
#else
typedef struct IPackageExecutionStateChangeNotificationVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IPackageExecutionStateChangeNotification *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IPackageExecutionStateChangeNotification *This);
ULONG (STDMETHODCALLTYPE *Release)(
IPackageExecutionStateChangeNotification *This);
/*** IPackageExecutionStateChangeNotification methods ***/
HRESULT (STDMETHODCALLTYPE *OnStateChanged)(
IPackageExecutionStateChangeNotification *This,
LPCWSTR pszPackageFullName,
PACKAGE_EXECUTION_STATE pesNewState);
END_INTERFACE
} IPackageExecutionStateChangeNotificationVtbl;
interface IPackageExecutionStateChangeNotification {
CONST_VTBL IPackageExecutionStateChangeNotificationVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IPackageExecutionStateChangeNotification_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IPackageExecutionStateChangeNotification_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IPackageExecutionStateChangeNotification_Release(This) (This)->lpVtbl->Release(This)
/*** IPackageExecutionStateChangeNotification methods ***/
#define IPackageExecutionStateChangeNotification_OnStateChanged(This,pszPackageFullName,pesNewState) (This)->lpVtbl->OnStateChanged(This,pszPackageFullName,pesNewState)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IPackageExecutionStateChangeNotification_QueryInterface(IPackageExecutionStateChangeNotification* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IPackageExecutionStateChangeNotification_AddRef(IPackageExecutionStateChangeNotification* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IPackageExecutionStateChangeNotification_Release(IPackageExecutionStateChangeNotification* This) {
return This->lpVtbl->Release(This);
}
/*** IPackageExecutionStateChangeNotification methods ***/
static FORCEINLINE HRESULT IPackageExecutionStateChangeNotification_OnStateChanged(IPackageExecutionStateChangeNotification* This,LPCWSTR pszPackageFullName,PACKAGE_EXECUTION_STATE pesNewState) {
return This->lpVtbl->OnStateChanged(This,pszPackageFullName,pesNewState);
}
#endif
#endif
#endif
#endif /* __IPackageExecutionStateChangeNotification_INTERFACE_DEFINED__ */
/*****************************************************************************
* IPackageDebugSettings interface
*/
#ifndef __IPackageDebugSettings_INTERFACE_DEFINED__
#define __IPackageDebugSettings_INTERFACE_DEFINED__
DEFINE_GUID(IID_IPackageDebugSettings, 0xf27c3930, 0x8029, 0x4ad1, 0x94,0xe3, 0x3d,0xba,0x41,0x78,0x10,0xc1);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("f27c3930-8029-4ad1-94e3-3dba417810c1")
IPackageDebugSettings : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE EnableDebugging(
LPCWSTR packageFullName,
LPCWSTR debuggerCommandLine,
PZZWSTR environment) = 0;
virtual HRESULT STDMETHODCALLTYPE DisableDebugging(
LPCWSTR packageFullName) = 0;
virtual HRESULT STDMETHODCALLTYPE Suspend(
LPCWSTR packageFullName) = 0;
virtual HRESULT STDMETHODCALLTYPE Resume(
LPCWSTR packageFullName) = 0;
virtual HRESULT STDMETHODCALLTYPE TerminateAllProcesses(
LPCWSTR packageFullName) = 0;
virtual HRESULT STDMETHODCALLTYPE SetTargetSessionId(
ULONG sessionId) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumerateBackgroundTasks(
LPCWSTR packageFullName,
ULONG *taskCount,
LPCGUID *taskIds,
LPCWSTR **taskNames) = 0;
virtual HRESULT STDMETHODCALLTYPE ActivateBackgroundTask(
LPCGUID taskId) = 0;
virtual HRESULT STDMETHODCALLTYPE StartServicing(
LPCWSTR packageFullName) = 0;
virtual HRESULT STDMETHODCALLTYPE StopServicing(
LPCWSTR packageFullName) = 0;
virtual HRESULT STDMETHODCALLTYPE StartSessionRedirection(
LPCWSTR packageFullName,
ULONG sessionId) = 0;
virtual HRESULT STDMETHODCALLTYPE StopSessionRedirection(
LPCWSTR packageFullName) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPackageExecutionState(
LPCWSTR packageFullName,
PACKAGE_EXECUTION_STATE *packageExecutionState) = 0;
virtual HRESULT STDMETHODCALLTYPE RegisterForPackageStateChanges(
LPCWSTR packageFullName,
IPackageExecutionStateChangeNotification *pPackageExecutionStateChangeNotification,
DWORD *pdwCookie) = 0;
virtual HRESULT STDMETHODCALLTYPE UnregisterForPackageStateChanges(
DWORD dwCookie) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IPackageDebugSettings, 0xf27c3930, 0x8029, 0x4ad1, 0x94,0xe3, 0x3d,0xba,0x41,0x78,0x10,0xc1)
#endif
#else
typedef struct IPackageDebugSettingsVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IPackageDebugSettings *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IPackageDebugSettings *This);
ULONG (STDMETHODCALLTYPE *Release)(
IPackageDebugSettings *This);
/*** IPackageDebugSettings methods ***/
HRESULT (STDMETHODCALLTYPE *EnableDebugging)(
IPackageDebugSettings *This,
LPCWSTR packageFullName,
LPCWSTR debuggerCommandLine,
PZZWSTR environment);
HRESULT (STDMETHODCALLTYPE *DisableDebugging)(
IPackageDebugSettings *This,
LPCWSTR packageFullName);
HRESULT (STDMETHODCALLTYPE *Suspend)(
IPackageDebugSettings *This,
LPCWSTR packageFullName);
HRESULT (STDMETHODCALLTYPE *Resume)(
IPackageDebugSettings *This,
LPCWSTR packageFullName);
HRESULT (STDMETHODCALLTYPE *TerminateAllProcesses)(
IPackageDebugSettings *This,
LPCWSTR packageFullName);
HRESULT (STDMETHODCALLTYPE *SetTargetSessionId)(
IPackageDebugSettings *This,
ULONG sessionId);
HRESULT (STDMETHODCALLTYPE *EnumerateBackgroundTasks)(
IPackageDebugSettings *This,
LPCWSTR packageFullName,
ULONG *taskCount,
LPCGUID *taskIds,
LPCWSTR **taskNames);
HRESULT (STDMETHODCALLTYPE *ActivateBackgroundTask)(
IPackageDebugSettings *This,
LPCGUID taskId);
HRESULT (STDMETHODCALLTYPE *StartServicing)(
IPackageDebugSettings *This,
LPCWSTR packageFullName);
HRESULT (STDMETHODCALLTYPE *StopServicing)(
IPackageDebugSettings *This,
LPCWSTR packageFullName);
HRESULT (STDMETHODCALLTYPE *StartSessionRedirection)(
IPackageDebugSettings *This,
LPCWSTR packageFullName,
ULONG sessionId);
HRESULT (STDMETHODCALLTYPE *StopSessionRedirection)(
IPackageDebugSettings *This,
LPCWSTR packageFullName);
HRESULT (STDMETHODCALLTYPE *GetPackageExecutionState)(
IPackageDebugSettings *This,
LPCWSTR packageFullName,
PACKAGE_EXECUTION_STATE *packageExecutionState);
HRESULT (STDMETHODCALLTYPE *RegisterForPackageStateChanges)(
IPackageDebugSettings *This,
LPCWSTR packageFullName,
IPackageExecutionStateChangeNotification *pPackageExecutionStateChangeNotification,
DWORD *pdwCookie);
HRESULT (STDMETHODCALLTYPE *UnregisterForPackageStateChanges)(
IPackageDebugSettings *This,
DWORD dwCookie);
END_INTERFACE
} IPackageDebugSettingsVtbl;
interface IPackageDebugSettings {
CONST_VTBL IPackageDebugSettingsVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IPackageDebugSettings_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IPackageDebugSettings_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IPackageDebugSettings_Release(This) (This)->lpVtbl->Release(This)
/*** IPackageDebugSettings methods ***/
#define IPackageDebugSettings_EnableDebugging(This,packageFullName,debuggerCommandLine,environment) (This)->lpVtbl->EnableDebugging(This,packageFullName,debuggerCommandLine,environment)
#define IPackageDebugSettings_DisableDebugging(This,packageFullName) (This)->lpVtbl->DisableDebugging(This,packageFullName)
#define IPackageDebugSettings_Suspend(This,packageFullName) (This)->lpVtbl->Suspend(This,packageFullName)
#define IPackageDebugSettings_Resume(This,packageFullName) (This)->lpVtbl->Resume(This,packageFullName)
#define IPackageDebugSettings_TerminateAllProcesses(This,packageFullName) (This)->lpVtbl->TerminateAllProcesses(This,packageFullName)
#define IPackageDebugSettings_SetTargetSessionId(This,sessionId) (This)->lpVtbl->SetTargetSessionId(This,sessionId)
#define IPackageDebugSettings_EnumerateBackgroundTasks(This,packageFullName,taskCount,taskIds,taskNames) (This)->lpVtbl->EnumerateBackgroundTasks(This,packageFullName,taskCount,taskIds,taskNames)
#define IPackageDebugSettings_ActivateBackgroundTask(This,taskId) (This)->lpVtbl->ActivateBackgroundTask(This,taskId)
#define IPackageDebugSettings_StartServicing(This,packageFullName) (This)->lpVtbl->StartServicing(This,packageFullName)
#define IPackageDebugSettings_StopServicing(This,packageFullName) (This)->lpVtbl->StopServicing(This,packageFullName)
#define IPackageDebugSettings_StartSessionRedirection(This,packageFullName,sessionId) (This)->lpVtbl->StartSessionRedirection(This,packageFullName,sessionId)
#define IPackageDebugSettings_StopSessionRedirection(This,packageFullName) (This)->lpVtbl->StopSessionRedirection(This,packageFullName)
#define IPackageDebugSettings_GetPackageExecutionState(This,packageFullName,packageExecutionState) (This)->lpVtbl->GetPackageExecutionState(This,packageFullName,packageExecutionState)
#define IPackageDebugSettings_RegisterForPackageStateChanges(This,packageFullName,pPackageExecutionStateChangeNotification,pdwCookie) (This)->lpVtbl->RegisterForPackageStateChanges(This,packageFullName,pPackageExecutionStateChangeNotification,pdwCookie)
#define IPackageDebugSettings_UnregisterForPackageStateChanges(This,dwCookie) (This)->lpVtbl->UnregisterForPackageStateChanges(This,dwCookie)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IPackageDebugSettings_QueryInterface(IPackageDebugSettings* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IPackageDebugSettings_AddRef(IPackageDebugSettings* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IPackageDebugSettings_Release(IPackageDebugSettings* This) {
return This->lpVtbl->Release(This);
}
/*** IPackageDebugSettings methods ***/
static FORCEINLINE HRESULT IPackageDebugSettings_EnableDebugging(IPackageDebugSettings* This,LPCWSTR packageFullName,LPCWSTR debuggerCommandLine,PZZWSTR environment) {
return This->lpVtbl->EnableDebugging(This,packageFullName,debuggerCommandLine,environment);
}
static FORCEINLINE HRESULT IPackageDebugSettings_DisableDebugging(IPackageDebugSettings* This,LPCWSTR packageFullName) {
return This->lpVtbl->DisableDebugging(This,packageFullName);
}
static FORCEINLINE HRESULT IPackageDebugSettings_Suspend(IPackageDebugSettings* This,LPCWSTR packageFullName) {
return This->lpVtbl->Suspend(This,packageFullName);
}
static FORCEINLINE HRESULT IPackageDebugSettings_Resume(IPackageDebugSettings* This,LPCWSTR packageFullName) {
return This->lpVtbl->Resume(This,packageFullName);
}
static FORCEINLINE HRESULT IPackageDebugSettings_TerminateAllProcesses(IPackageDebugSettings* This,LPCWSTR packageFullName) {
return This->lpVtbl->TerminateAllProcesses(This,packageFullName);
}
static FORCEINLINE HRESULT IPackageDebugSettings_SetTargetSessionId(IPackageDebugSettings* This,ULONG sessionId) {
return This->lpVtbl->SetTargetSessionId(This,sessionId);
}
static FORCEINLINE HRESULT IPackageDebugSettings_EnumerateBackgroundTasks(IPackageDebugSettings* This,LPCWSTR packageFullName,ULONG *taskCount,LPCGUID *taskIds,LPCWSTR **taskNames) {
return This->lpVtbl->EnumerateBackgroundTasks(This,packageFullName,taskCount,taskIds,taskNames);
}
static FORCEINLINE HRESULT IPackageDebugSettings_ActivateBackgroundTask(IPackageDebugSettings* This,LPCGUID taskId) {
return This->lpVtbl->ActivateBackgroundTask(This,taskId);
}
static FORCEINLINE HRESULT IPackageDebugSettings_StartServicing(IPackageDebugSettings* This,LPCWSTR packageFullName) {
return This->lpVtbl->StartServicing(This,packageFullName);
}
static FORCEINLINE HRESULT IPackageDebugSettings_StopServicing(IPackageDebugSettings* This,LPCWSTR packageFullName) {
return This->lpVtbl->StopServicing(This,packageFullName);
}
static FORCEINLINE HRESULT IPackageDebugSettings_StartSessionRedirection(IPackageDebugSettings* This,LPCWSTR packageFullName,ULONG sessionId) {
return This->lpVtbl->StartSessionRedirection(This,packageFullName,sessionId);
}
static FORCEINLINE HRESULT IPackageDebugSettings_StopSessionRedirection(IPackageDebugSettings* This,LPCWSTR packageFullName) {
return This->lpVtbl->StopSessionRedirection(This,packageFullName);
}
static FORCEINLINE HRESULT IPackageDebugSettings_GetPackageExecutionState(IPackageDebugSettings* This,LPCWSTR packageFullName,PACKAGE_EXECUTION_STATE *packageExecutionState) {
return This->lpVtbl->GetPackageExecutionState(This,packageFullName,packageExecutionState);
}
static FORCEINLINE HRESULT IPackageDebugSettings_RegisterForPackageStateChanges(IPackageDebugSettings* This,LPCWSTR packageFullName,IPackageExecutionStateChangeNotification *pPackageExecutionStateChangeNotification,DWORD *pdwCookie) {
return This->lpVtbl->RegisterForPackageStateChanges(This,packageFullName,pPackageExecutionStateChangeNotification,pdwCookie);
}
static FORCEINLINE HRESULT IPackageDebugSettings_UnregisterForPackageStateChanges(IPackageDebugSettings* This,DWORD dwCookie) {
return This->lpVtbl->UnregisterForPackageStateChanges(This,dwCookie);
}
#endif
#endif
#endif
#endif /* __IPackageDebugSettings_INTERFACE_DEFINED__ */
typedef enum AHE_TYPE {
AHE_DESKTOP = 0,
AHE_IMMERSIVE = 1
} AHE_TYPE;
/*****************************************************************************
* IExecuteCommandApplicationHostEnvironment interface
*/
#ifndef __IExecuteCommandApplicationHostEnvironment_INTERFACE_DEFINED__
#define __IExecuteCommandApplicationHostEnvironment_INTERFACE_DEFINED__
DEFINE_GUID(IID_IExecuteCommandApplicationHostEnvironment, 0x18b21aa9, 0xe184, 0x4ff0, 0x9f,0x5e, 0xf8,0x82,0xd0,0x37,0x71,0xb3);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("18b21aa9-e184-4ff0-9f5e-f882d03771b3")
IExecuteCommandApplicationHostEnvironment : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetValue(
AHE_TYPE *pahe) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IExecuteCommandApplicationHostEnvironment, 0x18b21aa9, 0xe184, 0x4ff0, 0x9f,0x5e, 0xf8,0x82,0xd0,0x37,0x71,0xb3)
#endif
#else
typedef struct IExecuteCommandApplicationHostEnvironmentVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IExecuteCommandApplicationHostEnvironment *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IExecuteCommandApplicationHostEnvironment *This);
ULONG (STDMETHODCALLTYPE *Release)(
IExecuteCommandApplicationHostEnvironment *This);
/*** IExecuteCommandApplicationHostEnvironment methods ***/
HRESULT (STDMETHODCALLTYPE *GetValue)(
IExecuteCommandApplicationHostEnvironment *This,
AHE_TYPE *pahe);
END_INTERFACE
} IExecuteCommandApplicationHostEnvironmentVtbl;
interface IExecuteCommandApplicationHostEnvironment {
CONST_VTBL IExecuteCommandApplicationHostEnvironmentVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IExecuteCommandApplicationHostEnvironment_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IExecuteCommandApplicationHostEnvironment_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IExecuteCommandApplicationHostEnvironment_Release(This) (This)->lpVtbl->Release(This)
/*** IExecuteCommandApplicationHostEnvironment methods ***/
#define IExecuteCommandApplicationHostEnvironment_GetValue(This,pahe) (This)->lpVtbl->GetValue(This,pahe)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IExecuteCommandApplicationHostEnvironment_QueryInterface(IExecuteCommandApplicationHostEnvironment* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IExecuteCommandApplicationHostEnvironment_AddRef(IExecuteCommandApplicationHostEnvironment* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IExecuteCommandApplicationHostEnvironment_Release(IExecuteCommandApplicationHostEnvironment* This) {
return This->lpVtbl->Release(This);
}
/*** IExecuteCommandApplicationHostEnvironment methods ***/
static FORCEINLINE HRESULT IExecuteCommandApplicationHostEnvironment_GetValue(IExecuteCommandApplicationHostEnvironment* This,AHE_TYPE *pahe) {
return This->lpVtbl->GetValue(This,pahe);
}
#endif
#endif
#endif
#endif /* __IExecuteCommandApplicationHostEnvironment_INTERFACE_DEFINED__ */
typedef enum EC_HOST_UI_MODE {
ECHUIM_DESKTOP = 0,
ECHUIM_IMMERSIVE = 1,
ECHUIM_SYSTEM_LAUNCHER = 2
} EC_HOST_UI_MODE;
/*****************************************************************************
* IExecuteCommandHost interface
*/
#ifndef __IExecuteCommandHost_INTERFACE_DEFINED__
#define __IExecuteCommandHost_INTERFACE_DEFINED__
DEFINE_GUID(IID_IExecuteCommandHost, 0x4b6832a2, 0x5f04, 0x4c9d, 0xb8,0x9d, 0x72,0x7a,0x15,0xd1,0x03,0xe7);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("4b6832a2-5f04-4c9d-b89d-727a15d103e7")
IExecuteCommandHost : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetUIMode(
EC_HOST_UI_MODE *pUIMode) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IExecuteCommandHost, 0x4b6832a2, 0x5f04, 0x4c9d, 0xb8,0x9d, 0x72,0x7a,0x15,0xd1,0x03,0xe7)
#endif
#else
typedef struct IExecuteCommandHostVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IExecuteCommandHost *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IExecuteCommandHost *This);
ULONG (STDMETHODCALLTYPE *Release)(
IExecuteCommandHost *This);
/*** IExecuteCommandHost methods ***/
HRESULT (STDMETHODCALLTYPE *GetUIMode)(
IExecuteCommandHost *This,
EC_HOST_UI_MODE *pUIMode);
END_INTERFACE
} IExecuteCommandHostVtbl;
interface IExecuteCommandHost {
CONST_VTBL IExecuteCommandHostVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IExecuteCommandHost_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IExecuteCommandHost_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IExecuteCommandHost_Release(This) (This)->lpVtbl->Release(This)
/*** IExecuteCommandHost methods ***/
#define IExecuteCommandHost_GetUIMode(This,pUIMode) (This)->lpVtbl->GetUIMode(This,pUIMode)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IExecuteCommandHost_QueryInterface(IExecuteCommandHost* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IExecuteCommandHost_AddRef(IExecuteCommandHost* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IExecuteCommandHost_Release(IExecuteCommandHost* This) {
return This->lpVtbl->Release(This);
}
/*** IExecuteCommandHost methods ***/
static FORCEINLINE HRESULT IExecuteCommandHost_GetUIMode(IExecuteCommandHost* This,EC_HOST_UI_MODE *pUIMode) {
return This->lpVtbl->GetUIMode(This,pUIMode);
}
#endif
#endif
#endif
#endif /* __IExecuteCommandHost_INTERFACE_DEFINED__ */
#define SID_ExecuteCommandHost IID_IExecuteCommandHost
typedef enum APPLICATION_VIEW_STATE {
AVS_FULLSCREEN_LANDSCAPE = 0,
AVS_FILLED = 1,
AVS_SNAPPED = 2,
AVS_FULLSCREEN_PORTRAIT = 3
} APPLICATION_VIEW_STATE;
typedef enum EDGE_GESTURE_KIND {
EGK_TOUCH = 0,
EGK_KEYBOARD = 1,
EGK_MOUSE = 2
} EDGE_GESTURE_KIND;
/*****************************************************************************
* IApplicationDesignModeSettings interface
*/
#ifndef __IApplicationDesignModeSettings_INTERFACE_DEFINED__
#define __IApplicationDesignModeSettings_INTERFACE_DEFINED__
DEFINE_GUID(IID_IApplicationDesignModeSettings, 0x2a3dee9a, 0xe31d, 0x46d6, 0x85,0x08, 0xbc,0xc5,0x97,0xdb,0x35,0x57);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("2a3dee9a-e31d-46d6-8508-bcc597db3557")
IApplicationDesignModeSettings : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetNativeDisplaySize(
SIZE sizeNativeDisplay) = 0;
virtual HRESULT STDMETHODCALLTYPE SetScaleFactor(
DEVICE_SCALE_FACTOR scaleFactor) = 0;
virtual HRESULT STDMETHODCALLTYPE SetApplicationViewState(
APPLICATION_VIEW_STATE viewState) = 0;
virtual HRESULT STDMETHODCALLTYPE ComputeApplicationSize(
SIZE *psizeApplication) = 0;
virtual HRESULT STDMETHODCALLTYPE IsApplicationViewStateSupported(
APPLICATION_VIEW_STATE viewState,
SIZE sizeNativeDisplay,
DEVICE_SCALE_FACTOR scaleFactor,
WINBOOL *pfSupported) = 0;
virtual HRESULT STDMETHODCALLTYPE TriggerEdgeGesture(
EDGE_GESTURE_KIND edgeGestureKind) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IApplicationDesignModeSettings, 0x2a3dee9a, 0xe31d, 0x46d6, 0x85,0x08, 0xbc,0xc5,0x97,0xdb,0x35,0x57)
#endif
#else
typedef struct IApplicationDesignModeSettingsVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IApplicationDesignModeSettings *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IApplicationDesignModeSettings *This);
ULONG (STDMETHODCALLTYPE *Release)(
IApplicationDesignModeSettings *This);
/*** IApplicationDesignModeSettings methods ***/
HRESULT (STDMETHODCALLTYPE *SetNativeDisplaySize)(
IApplicationDesignModeSettings *This,
SIZE sizeNativeDisplay);
HRESULT (STDMETHODCALLTYPE *SetScaleFactor)(
IApplicationDesignModeSettings *This,
DEVICE_SCALE_FACTOR scaleFactor);
HRESULT (STDMETHODCALLTYPE *SetApplicationViewState)(
IApplicationDesignModeSettings *This,
APPLICATION_VIEW_STATE viewState);
HRESULT (STDMETHODCALLTYPE *ComputeApplicationSize)(
IApplicationDesignModeSettings *This,
SIZE *psizeApplication);
HRESULT (STDMETHODCALLTYPE *IsApplicationViewStateSupported)(
IApplicationDesignModeSettings *This,
APPLICATION_VIEW_STATE viewState,
SIZE sizeNativeDisplay,
DEVICE_SCALE_FACTOR scaleFactor,
WINBOOL *pfSupported);
HRESULT (STDMETHODCALLTYPE *TriggerEdgeGesture)(
IApplicationDesignModeSettings *This,
EDGE_GESTURE_KIND edgeGestureKind);
END_INTERFACE
} IApplicationDesignModeSettingsVtbl;
interface IApplicationDesignModeSettings {
CONST_VTBL IApplicationDesignModeSettingsVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IApplicationDesignModeSettings_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IApplicationDesignModeSettings_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IApplicationDesignModeSettings_Release(This) (This)->lpVtbl->Release(This)
/*** IApplicationDesignModeSettings methods ***/
#define IApplicationDesignModeSettings_SetNativeDisplaySize(This,sizeNativeDisplay) (This)->lpVtbl->SetNativeDisplaySize(This,sizeNativeDisplay)
#define IApplicationDesignModeSettings_SetScaleFactor(This,scaleFactor) (This)->lpVtbl->SetScaleFactor(This,scaleFactor)
#define IApplicationDesignModeSettings_SetApplicationViewState(This,viewState) (This)->lpVtbl->SetApplicationViewState(This,viewState)
#define IApplicationDesignModeSettings_ComputeApplicationSize(This,psizeApplication) (This)->lpVtbl->ComputeApplicationSize(This,psizeApplication)
#define IApplicationDesignModeSettings_IsApplicationViewStateSupported(This,viewState,sizeNativeDisplay,scaleFactor,pfSupported) (This)->lpVtbl->IsApplicationViewStateSupported(This,viewState,sizeNativeDisplay,scaleFactor,pfSupported)
#define IApplicationDesignModeSettings_TriggerEdgeGesture(This,edgeGestureKind) (This)->lpVtbl->TriggerEdgeGesture(This,edgeGestureKind)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IApplicationDesignModeSettings_QueryInterface(IApplicationDesignModeSettings* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IApplicationDesignModeSettings_AddRef(IApplicationDesignModeSettings* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IApplicationDesignModeSettings_Release(IApplicationDesignModeSettings* This) {
return This->lpVtbl->Release(This);
}
/*** IApplicationDesignModeSettings methods ***/
static FORCEINLINE HRESULT IApplicationDesignModeSettings_SetNativeDisplaySize(IApplicationDesignModeSettings* This,SIZE sizeNativeDisplay) {
return This->lpVtbl->SetNativeDisplaySize(This,sizeNativeDisplay);
}
static FORCEINLINE HRESULT IApplicationDesignModeSettings_SetScaleFactor(IApplicationDesignModeSettings* This,DEVICE_SCALE_FACTOR scaleFactor) {
return This->lpVtbl->SetScaleFactor(This,scaleFactor);
}
static FORCEINLINE HRESULT IApplicationDesignModeSettings_SetApplicationViewState(IApplicationDesignModeSettings* This,APPLICATION_VIEW_STATE viewState) {
return This->lpVtbl->SetApplicationViewState(This,viewState);
}
static FORCEINLINE HRESULT IApplicationDesignModeSettings_ComputeApplicationSize(IApplicationDesignModeSettings* This,SIZE *psizeApplication) {
return This->lpVtbl->ComputeApplicationSize(This,psizeApplication);
}
static FORCEINLINE HRESULT IApplicationDesignModeSettings_IsApplicationViewStateSupported(IApplicationDesignModeSettings* This,APPLICATION_VIEW_STATE viewState,SIZE sizeNativeDisplay,DEVICE_SCALE_FACTOR scaleFactor,WINBOOL *pfSupported) {
return This->lpVtbl->IsApplicationViewStateSupported(This,viewState,sizeNativeDisplay,scaleFactor,pfSupported);
}
static FORCEINLINE HRESULT IApplicationDesignModeSettings_TriggerEdgeGesture(IApplicationDesignModeSettings* This,EDGE_GESTURE_KIND edgeGestureKind) {
return This->lpVtbl->TriggerEdgeGesture(This,edgeGestureKind);
}
#endif
#endif
#endif
#endif /* __IApplicationDesignModeSettings_INTERFACE_DEFINED__ */
/*****************************************************************************
* IInitializeWithWindow interface
*/
#ifndef __IInitializeWithWindow_INTERFACE_DEFINED__
#define __IInitializeWithWindow_INTERFACE_DEFINED__
DEFINE_GUID(IID_IInitializeWithWindow, 0x3e68d4bd, 0x7135, 0x4d10, 0x80,0x18, 0x9f,0xb6,0xd9,0xf3,0x3f,0xa1);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3e68d4bd-7135-4d10-8018-9fb6d9f33fa1")
IInitializeWithWindow : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Initialize(
HWND hwnd) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IInitializeWithWindow, 0x3e68d4bd, 0x7135, 0x4d10, 0x80,0x18, 0x9f,0xb6,0xd9,0xf3,0x3f,0xa1)
#endif
#else
typedef struct IInitializeWithWindowVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IInitializeWithWindow *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IInitializeWithWindow *This);
ULONG (STDMETHODCALLTYPE *Release)(
IInitializeWithWindow *This);
/*** IInitializeWithWindow methods ***/
HRESULT (STDMETHODCALLTYPE *Initialize)(
IInitializeWithWindow *This,
HWND hwnd);
END_INTERFACE
} IInitializeWithWindowVtbl;
interface IInitializeWithWindow {
CONST_VTBL IInitializeWithWindowVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IInitializeWithWindow_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IInitializeWithWindow_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IInitializeWithWindow_Release(This) (This)->lpVtbl->Release(This)
/*** IInitializeWithWindow methods ***/
#define IInitializeWithWindow_Initialize(This,hwnd) (This)->lpVtbl->Initialize(This,hwnd)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IInitializeWithWindow_QueryInterface(IInitializeWithWindow* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IInitializeWithWindow_AddRef(IInitializeWithWindow* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IInitializeWithWindow_Release(IInitializeWithWindow* This) {
return This->lpVtbl->Release(This);
}
/*** IInitializeWithWindow methods ***/
static FORCEINLINE HRESULT IInitializeWithWindow_Initialize(IInitializeWithWindow* This,HWND hwnd) {
return This->lpVtbl->Initialize(This,hwnd);
}
#endif
#endif
#endif
#endif /* __IInitializeWithWindow_INTERFACE_DEFINED__ */
/*****************************************************************************
* IHandlerInfo interface
*/
#ifndef __IHandlerInfo_INTERFACE_DEFINED__
#define __IHandlerInfo_INTERFACE_DEFINED__
DEFINE_GUID(IID_IHandlerInfo, 0x997706ef, 0xf880, 0x453b, 0x81,0x18, 0x39,0xe1,0xa2,0xd2,0x65,0x5a);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("997706ef-f880-453b-8118-39e1a2d2655a")
IHandlerInfo : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetApplicationDisplayName(
LPWSTR *value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetApplicationPublisher(
LPWSTR *value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetApplicationIconReference(
LPWSTR *value) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHandlerInfo, 0x997706ef, 0xf880, 0x453b, 0x81,0x18, 0x39,0xe1,0xa2,0xd2,0x65,0x5a)
#endif
#else
typedef struct IHandlerInfoVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IHandlerInfo *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IHandlerInfo *This);
ULONG (STDMETHODCALLTYPE *Release)(
IHandlerInfo *This);
/*** IHandlerInfo methods ***/
HRESULT (STDMETHODCALLTYPE *GetApplicationDisplayName)(
IHandlerInfo *This,
LPWSTR *value);
HRESULT (STDMETHODCALLTYPE *GetApplicationPublisher)(
IHandlerInfo *This,
LPWSTR *value);
HRESULT (STDMETHODCALLTYPE *GetApplicationIconReference)(
IHandlerInfo *This,
LPWSTR *value);
END_INTERFACE
} IHandlerInfoVtbl;
interface IHandlerInfo {
CONST_VTBL IHandlerInfoVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHandlerInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHandlerInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHandlerInfo_Release(This) (This)->lpVtbl->Release(This)
/*** IHandlerInfo methods ***/
#define IHandlerInfo_GetApplicationDisplayName(This,value) (This)->lpVtbl->GetApplicationDisplayName(This,value)
#define IHandlerInfo_GetApplicationPublisher(This,value) (This)->lpVtbl->GetApplicationPublisher(This,value)
#define IHandlerInfo_GetApplicationIconReference(This,value) (This)->lpVtbl->GetApplicationIconReference(This,value)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IHandlerInfo_QueryInterface(IHandlerInfo* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHandlerInfo_AddRef(IHandlerInfo* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHandlerInfo_Release(IHandlerInfo* This) {
return This->lpVtbl->Release(This);
}
/*** IHandlerInfo methods ***/
static FORCEINLINE HRESULT IHandlerInfo_GetApplicationDisplayName(IHandlerInfo* This,LPWSTR *value) {
return This->lpVtbl->GetApplicationDisplayName(This,value);
}
static FORCEINLINE HRESULT IHandlerInfo_GetApplicationPublisher(IHandlerInfo* This,LPWSTR *value) {
return This->lpVtbl->GetApplicationPublisher(This,value);
}
static FORCEINLINE HRESULT IHandlerInfo_GetApplicationIconReference(IHandlerInfo* This,LPWSTR *value) {
return This->lpVtbl->GetApplicationIconReference(This,value);
}
#endif
#endif
#endif
#endif /* __IHandlerInfo_INTERFACE_DEFINED__ */
/*****************************************************************************
* IHandlerActivationHost interface
*/
#ifndef __IHandlerActivationHost_INTERFACE_DEFINED__
#define __IHandlerActivationHost_INTERFACE_DEFINED__
DEFINE_GUID(IID_IHandlerActivationHost, 0x35094a87, 0x8bb1, 0x4237, 0x96,0xc6, 0xc4,0x17,0xee,0xbd,0xb0,0x78);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("35094a87-8bb1-4237-96c6-c417eebdb078")
IHandlerActivationHost : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE BeforeCoCreateInstance(
REFCLSID clsidHandler,
IShellItemArray *itemsBeingActivated,
IHandlerInfo *handlerInfo) = 0;
virtual HRESULT STDMETHODCALLTYPE BeforeCreateProcess(
LPCWSTR applicationPath,
LPCWSTR commandLine,
IHandlerInfo *handlerInfo) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHandlerActivationHost, 0x35094a87, 0x8bb1, 0x4237, 0x96,0xc6, 0xc4,0x17,0xee,0xbd,0xb0,0x78)
#endif
#else
typedef struct IHandlerActivationHostVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IHandlerActivationHost *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IHandlerActivationHost *This);
ULONG (STDMETHODCALLTYPE *Release)(
IHandlerActivationHost *This);
/*** IHandlerActivationHost methods ***/
HRESULT (STDMETHODCALLTYPE *BeforeCoCreateInstance)(
IHandlerActivationHost *This,
REFCLSID clsidHandler,
IShellItemArray *itemsBeingActivated,
IHandlerInfo *handlerInfo);
HRESULT (STDMETHODCALLTYPE *BeforeCreateProcess)(
IHandlerActivationHost *This,
LPCWSTR applicationPath,
LPCWSTR commandLine,
IHandlerInfo *handlerInfo);
END_INTERFACE
} IHandlerActivationHostVtbl;
interface IHandlerActivationHost {
CONST_VTBL IHandlerActivationHostVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHandlerActivationHost_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHandlerActivationHost_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHandlerActivationHost_Release(This) (This)->lpVtbl->Release(This)
/*** IHandlerActivationHost methods ***/
#define IHandlerActivationHost_BeforeCoCreateInstance(This,clsidHandler,itemsBeingActivated,handlerInfo) (This)->lpVtbl->BeforeCoCreateInstance(This,clsidHandler,itemsBeingActivated,handlerInfo)
#define IHandlerActivationHost_BeforeCreateProcess(This,applicationPath,commandLine,handlerInfo) (This)->lpVtbl->BeforeCreateProcess(This,applicationPath,commandLine,handlerInfo)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IHandlerActivationHost_QueryInterface(IHandlerActivationHost* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHandlerActivationHost_AddRef(IHandlerActivationHost* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHandlerActivationHost_Release(IHandlerActivationHost* This) {
return This->lpVtbl->Release(This);
}
/*** IHandlerActivationHost methods ***/
static FORCEINLINE HRESULT IHandlerActivationHost_BeforeCoCreateInstance(IHandlerActivationHost* This,REFCLSID clsidHandler,IShellItemArray *itemsBeingActivated,IHandlerInfo *handlerInfo) {
return This->lpVtbl->BeforeCoCreateInstance(This,clsidHandler,itemsBeingActivated,handlerInfo);
}
static FORCEINLINE HRESULT IHandlerActivationHost_BeforeCreateProcess(IHandlerActivationHost* This,LPCWSTR applicationPath,LPCWSTR commandLine,IHandlerInfo *handlerInfo) {
return This->lpVtbl->BeforeCreateProcess(This,applicationPath,commandLine,handlerInfo);
}
#endif
#endif
#endif
#endif /* __IHandlerActivationHost_INTERFACE_DEFINED__ */
#define SID_SHandlerActivationHost IID_IHandlerActivationHost
DEFINE_GUID(SID_ShellExecuteNamedPropertyStore, 0xeb84ada2, 0x00ff, 0x4992, 0x83, 0x24, 0xed, 0x5c, 0xe0, 0x61, 0xcb, 0x29);
#endif
#endif
/* Begin additional prototypes for all interfaces */
ULONG __RPC_USER PCIDLIST_ABSOLUTE_UserSize (ULONG *, ULONG, PCIDLIST_ABSOLUTE *);
unsigned char * __RPC_USER PCIDLIST_ABSOLUTE_UserMarshal (ULONG *, unsigned char *, PCIDLIST_ABSOLUTE *);
unsigned char * __RPC_USER PCIDLIST_ABSOLUTE_UserUnmarshal(ULONG *, unsigned char *, PCIDLIST_ABSOLUTE *);
void __RPC_USER PCIDLIST_ABSOLUTE_UserFree (ULONG *, PCIDLIST_ABSOLUTE *);
ULONG __RPC_USER PIDLIST_ABSOLUTE_UserSize (ULONG *, ULONG, PIDLIST_ABSOLUTE *);
unsigned char * __RPC_USER PIDLIST_ABSOLUTE_UserMarshal (ULONG *, unsigned char *, PIDLIST_ABSOLUTE *);
unsigned char * __RPC_USER PIDLIST_ABSOLUTE_UserUnmarshal(ULONG *, unsigned char *, PIDLIST_ABSOLUTE *);
void __RPC_USER PIDLIST_ABSOLUTE_UserFree (ULONG *, PIDLIST_ABSOLUTE *);
ULONG __RPC_USER PITEMID_CHILD_UserSize (ULONG *, ULONG, PITEMID_CHILD *);
unsigned char * __RPC_USER PITEMID_CHILD_UserMarshal (ULONG *, unsigned char *, PITEMID_CHILD *);
unsigned char * __RPC_USER PITEMID_CHILD_UserUnmarshal(ULONG *, unsigned char *, PITEMID_CHILD *);
void __RPC_USER PITEMID_CHILD_UserFree (ULONG *, PITEMID_CHILD *);
ULONG __RPC_USER HWND_UserSize (ULONG *, ULONG, HWND *);
unsigned char * __RPC_USER HWND_UserMarshal (ULONG *, unsigned char *, HWND *);
unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *);
void __RPC_USER HWND_UserFree (ULONG *, HWND *);
ULONG __RPC_USER PIDLIST_RELATIVE_UserSize (ULONG *, ULONG, PIDLIST_RELATIVE *);
unsigned char * __RPC_USER PIDLIST_RELATIVE_UserMarshal (ULONG *, unsigned char *, PIDLIST_RELATIVE *);
unsigned char * __RPC_USER PIDLIST_RELATIVE_UserUnmarshal(ULONG *, unsigned char *, PIDLIST_RELATIVE *);
void __RPC_USER PIDLIST_RELATIVE_UserFree (ULONG *, PIDLIST_RELATIVE *);
ULONG __RPC_USER PCUIDLIST_RELATIVE_UserSize (ULONG *, ULONG, PCUIDLIST_RELATIVE *);
unsigned char * __RPC_USER PCUIDLIST_RELATIVE_UserMarshal (ULONG *, unsigned char *, PCUIDLIST_RELATIVE *);
unsigned char * __RPC_USER PCUIDLIST_RELATIVE_UserUnmarshal(ULONG *, unsigned char *, PCUIDLIST_RELATIVE *);
void __RPC_USER PCUIDLIST_RELATIVE_UserFree (ULONG *, PCUIDLIST_RELATIVE *);
ULONG __RPC_USER PCUITEMID_CHILD_UserSize (ULONG *, ULONG, PCUITEMID_CHILD *);
unsigned char * __RPC_USER PCUITEMID_CHILD_UserMarshal (ULONG *, unsigned char *, PCUITEMID_CHILD *);
unsigned char * __RPC_USER PCUITEMID_CHILD_UserUnmarshal(ULONG *, unsigned char *, PCUITEMID_CHILD *);
void __RPC_USER PCUITEMID_CHILD_UserFree (ULONG *, PCUITEMID_CHILD *);
ULONG __RPC_USER VARIANT_UserSize (ULONG *, ULONG, VARIANT *);
unsigned char * __RPC_USER VARIANT_UserMarshal (ULONG *, unsigned char *, VARIANT *);
unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
void __RPC_USER VARIANT_UserFree (ULONG *, VARIANT *);
ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *);
unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *);
unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
void __RPC_USER BSTR_UserFree (ULONG *, BSTR *);
ULONG __RPC_USER LPSAFEARRAY_UserSize (ULONG *, ULONG, LPSAFEARRAY *);
unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal (ULONG *, unsigned char *, LPSAFEARRAY *);
unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(ULONG *, unsigned char *, LPSAFEARRAY *);
void __RPC_USER LPSAFEARRAY_UserFree (ULONG *, LPSAFEARRAY *);
ULONG __RPC_USER HBITMAP_UserSize (ULONG *, ULONG, HBITMAP *);
unsigned char * __RPC_USER HBITMAP_UserMarshal (ULONG *, unsigned char *, HBITMAP *);
unsigned char * __RPC_USER HBITMAP_UserUnmarshal(ULONG *, unsigned char *, HBITMAP *);
void __RPC_USER HBITMAP_UserFree (ULONG *, HBITMAP *);
ULONG __RPC_USER HMENU_UserSize (ULONG *, ULONG, HMENU *);
unsigned char * __RPC_USER HMENU_UserMarshal (ULONG *, unsigned char *, HMENU *);
unsigned char * __RPC_USER HMENU_UserUnmarshal(ULONG *, unsigned char *, HMENU *);
void __RPC_USER HMENU_UserFree (ULONG *, HMENU *);
ULONG __RPC_USER HGLOBAL_UserSize (ULONG *, ULONG, HGLOBAL *);
unsigned char * __RPC_USER HGLOBAL_UserMarshal (ULONG *, unsigned char *, HGLOBAL *);
unsigned char * __RPC_USER HGLOBAL_UserUnmarshal(ULONG *, unsigned char *, HGLOBAL *);
void __RPC_USER HGLOBAL_UserFree (ULONG *, HGLOBAL *);
ULONG __RPC_USER HICON_UserSize (ULONG *, ULONG, HICON *);
unsigned char * __RPC_USER HICON_UserMarshal (ULONG *, unsigned char *, HICON *);
unsigned char * __RPC_USER HICON_UserUnmarshal(ULONG *, unsigned char *, HICON *);
void __RPC_USER HICON_UserFree (ULONG *, HICON *);
ULONG __RPC_USER HACCEL_UserSize (ULONG *, ULONG, HACCEL *);
unsigned char * __RPC_USER HACCEL_UserMarshal (ULONG *, unsigned char *, HACCEL *);
unsigned char * __RPC_USER HACCEL_UserUnmarshal(ULONG *, unsigned char *, HACCEL *);
void __RPC_USER HACCEL_UserFree (ULONG *, HACCEL *);
ULONG __RPC_USER HMONITOR_UserSize (ULONG *, ULONG, HMONITOR *);
unsigned char * __RPC_USER HMONITOR_UserMarshal (ULONG *, unsigned char *, HMONITOR *);
unsigned char * __RPC_USER HMONITOR_UserUnmarshal(ULONG *, unsigned char *, HMONITOR *);
void __RPC_USER HMONITOR_UserFree (ULONG *, HMONITOR *);
/* End additional prototypes */
#ifdef __cplusplus
}
#endif
#endif /* __shobjidl_h__ */