首页  编辑  

Shell32.dll中的接口

Tags: /超级猛料/OS.操作系统/IE.扩展/Com扩展、接口/   Date Created:

Shell32; // Microsoft Shell Controls And Automation

Dispatch IFolderViewOC; // Folder View Events Forwarder Object

GUID={9BA05970-F6A8-11CF-A442-00A0C90A8F39};

 function QueryInterface(riid:^GUID; out ppvObj:^^void);

 function AddRef: UI4;

 function Release: UI4;

 function GetTypeInfoCount(out pctinfo:^UINT);

 function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);

 function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);

 function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);

 function SetFolderView(pdisp:IDispatch);

Dispatch DShellFolderViewEvents; // Event interface for ShellFolderView

GUID={62112AA2-EBE4-11CF-A5FB-0020AFE7292D};

 function SelectionChanged;

 function EnumDone;

Class ShellFolderViewOC; // Shell Folder View Events Router.

GUID={9BA05971-F6A8-11CF-A442-00A0C90A8F39};

 function QueryInterface(riid:^GUID; out ppvObj:^^void);

 function AddRef: UI4;

 function Release: UI4;

 function GetTypeInfoCount(out pctinfo:^UINT);

 function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);

 function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);

 function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);

 function SetFolderView(pdisp:IDispatch);

 function SelectionChanged;

 function EnumDone;

Dispatch DFConstraint; // Constraint used in search command

GUID={4A3DF050-23BD-11D2-939F-00A0C91EEDBA};

 function QueryInterface(riid:^GUID; out ppvObj:^^void);

 function AddRef: UI4;

 function Release: UI4;

 function GetTypeInfoCount(out pctinfo:^UINT);

 function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);

 function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);

 function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);

 property-get Name: BSTR;

 property-get Value: variant;

Dispatch ISearchCommandExt; // DocFind automation interface

GUID={1D2EFD50-75CE-11D1-B75A-00A0C90564FE};

 function QueryInterface(riid:^GUID; out ppvObj:^^void);

 function AddRef: UI4;

 function Release: UI4;

 function GetTypeInfoCount(out pctinfo:^UINT);

 function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);

 function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);

 function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);

 function ClearResults;

 function NavigateToSearchResults;

 property-get ProgressText: BSTR;

 function SaveSearch;

 function GetErrorInfo(out pbs:^BSTR): INT;

 function SearchFor(iFor:INT);

 function GetScopeInfo(bsScope:BSTR; out pdwScopeInfo:^INT);

 function RestoreSavedSearch(pvarFile:^variant);

 function Execute(RecordsAffected:^variant; Parameters:^variant; Options:I4);

 function AddConstraint(Name:BSTR; Value:variant);

 function GetNextConstraint(fReset:bool): ^DFConstraint;

Enum SearchCommandExecuteErrors; // Search Command Execute Errors

GUID={418F4E6A-B903-11D1-B0A6-00C04FC33AA5};

 SCEE_PATHNOTFOUND = 1;

 SCEE_MAXFILESFOUND = 2;

 SCEE_INDEXSEARCH = 3;

 SCEE_CONSTRAINT = 4;

 SCEE_SCOPEMISMATCH = 5;

 SCEE_CASESENINDEX = 6;

 SCEE_INDEXNOTCOMPLETE = 7;

Dispatch FolderItem; // Definition of interface FolderItem

GUID={FAC32C80-CBE4-11CE-8350-444553540000};

 function QueryInterface(riid:^GUID; out ppvObj:^^void);

 function AddRef: UI4;

 function Release: UI4;

 function GetTypeInfoCount(out pctinfo:^UINT);

 function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);

 function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);

 function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);

 property-get Application: IDispatch;

 property-get Parent: IDispatch;

 property-get Name: BSTR;

 property-put Name(BSTR);

 property-get Path: BSTR;

 property-get GetLink: IDispatch;

 property-get GetFolder: IDispatch;

 property-get IsLink: bool;

 property-get IsFolder: bool;

 property-get IsFileSystem: bool;

 property-get IsBrowsable: bool;

 property-get ModifyDate: date;

 property-put ModifyDate(date);

 property-get Size: I4;

 property-get Type: BSTR;

 function Verbs: ^FolderItemVerbs;

 function InvokeVerb([vVerb:variant]);

Dispatch FolderItemVerbs; // Definition of interface FolderItemVerbs

GUID={1F8352C0-50B0-11CF-960C-0080C7F4EE85};

 function QueryInterface(riid:^GUID; out ppvObj:^^void);

 function AddRef: UI4;

 function Release: UI4;

 function GetTypeInfoCount(out pctinfo:^UINT);

 function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);

 function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);

 function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);

 property-get Count: I4;

 property-get Application: IDispatch;

 property-get Parent: IDispatch;

 function Item([index:variant]): ^FolderItemVerb;

 function _NewEnum: IUnknown;

Dispatch FolderItemVerb; // Definition of interface FolderItemVerb

GUID={08EC3E00-50B0-11CF-960C-0080C7F4EE85};

 function QueryInterface(riid:^GUID; out ppvObj:^^void);

 function AddRef: UI4;

 function Release: UI4;

 function GetTypeInfoCount(out pctinfo:^UINT);

 function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);

 function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);

 function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);

 property-get Application: IDispatch;

 property-get Parent: IDispatch;

 property-get Name: BSTR;

 function DoIt;

Dispatch FolderItems; // Definition of interface FolderItems

GUID={744129E0-CBE5-11CE-8350-444553540000};

 function QueryInterface(riid:^GUID; out ppvObj:^^void);

 function AddRef: UI4;

 function Release: UI4;

 function GetTypeInfoCount(out pctinfo:^UINT);

 function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);

 function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);

 function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);

 property-get Count: I4;

 property-get Application: IDispatch;

 property-get Parent: IDispatch;

 function Item([index:variant]): ^FolderItem;

 function _NewEnum: IUnknown;

Dispatch Folder; // Definition of interface Folder

GUID={BBCBDE60-C3FF-11CE-8350-444553540000};

 function QueryInterface(riid:^GUID; out ppvObj:^^void);

 function AddRef: UI4;

 function Release: UI4;

 function GetTypeInfoCount(out pctinfo:^UINT);

 function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);

 function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);

 function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);

 property-get Title: BSTR;

 property-get Application: IDispatch;

 property-get Parent: IDispatch;

 property-get ParentFolder: ^Folder;

 function Items: ^FolderItems;

 function ParseName(bName:BSTR): ^FolderItem;

 function NewFolder(bName:BSTR; [vOptions:variant]);

 function MoveHere(vItem:variant; [vOptions:variant]);

 function CopyHere(vItem:variant; [vOptions:variant]);

 function GetDetailsOf(vItem:variant; iColumn:INT): BSTR;

Dispatch Folder2; // Definition of interface Folder2

GUID={F0D2D8EF-3890-11D2-BF8B-00C04FB93661};

 function QueryInterface(riid:^GUID; out ppvObj:^^void);

 function AddRef: UI4;

 function Release: UI4;

 function GetTypeInfoCount(out pctinfo:^UINT);

 function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);

 function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);

 function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);

 property-get Title: BSTR;

 property-get Application: IDispatch;

 property-get Parent: IDispatch;

 property-get ParentFolder: ^Folder;

 function Items: ^FolderItems;

 function ParseName(bName:BSTR): ^FolderItem;

 function NewFolder(bName:BSTR; [vOptions:variant]);

 function MoveHere(vItem:variant; [vOptions:variant]);

 function CopyHere(vItem:variant; [vOptions:variant]);

 function GetDetailsOf(vItem:variant; iColumn:INT): BSTR;

 property-get Self: ^FolderItem;

 property-get OfflineStatus: I4;

 function Synchronize;

 property-get HaveToShowWebViewBarricade: bool;

 function DismissedWebViewBarricade;

Enum OfflineFolderStatus; // Constants for Folder2.OfflineStatus

GUID={35F1A0D0-3E9A-11D2-8499-005345000000};

 OFS_INACTIVE = -1;

 OFS_ONLINE = 0;

 OFS_OFFLINE = 1;

 OFS_SERVERBACK = 2;

 OFS_DIRTYCACHE = 3;

Dispatch FolderItem2; // Definition of interface FolderItem Version 2

GUID={EDC817AA-92B8-11D1-B075-00C04FC33AA5};

 function QueryInterface(riid:^GUID; out ppvObj:^^void);

 function AddRef: UI4;

 function Release: UI4;

 function GetTypeInfoCount(out pctinfo:^UINT);

 function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);

 function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);

 function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);

 property-get Application: IDispatch;

 property-get Parent: IDispatch;

 property-get Name: BSTR;

 property-put Name(BSTR);

 property-get Path: BSTR;

 property-get GetLink: IDispatch;

 property-get GetFolder: IDispatch;

 property-get IsLink: bool;

 property-get IsFolder: bool;

 property-get IsFileSystem: bool;

 property-get IsBrowsable: bool;

 property-get ModifyDate: date;

 property-put ModifyDate(date);

 property-get Size: I4;

 property-get Type: BSTR;

 function Verbs: ^FolderItemVerbs;

 function InvokeVerb([vVerb:variant]);

 function InvokeVerbEx([vVerb:variant; vArgs:variant]);

 function ExtendedProperty(bstrPropName:BSTR): variant;

Class ShellFolderItem; // Shell Folder Item

GUID={2FE352EA-FD1F-11D2-B1F4-00C04F8EEB3E};

 function QueryInterface(riid:^GUID; out ppvObj:^^void);

 function AddRef: UI4;

 function Release: UI4;

 function GetTypeInfoCount(out pctinfo:^UINT);

 function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);

 function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);

 function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);

 property-get Application: IDispatch;

 property-get Parent: IDispatch;

 property-get Name: BSTR;

 property-put Name(BSTR);

 property-get Path: BSTR;

 property-get GetLink: IDispatch;

 property-get GetFolder: IDispatch;

 property-get IsLink: bool;

 property-get IsFolder: bool;

 property-get IsFileSystem: bool;

 property-get IsBrowsable: bool;

 property-get ModifyDate: date;

 property-put ModifyDate(date);

 property-get Size: I4;

 property-get Type: BSTR;

 function Verbs: ^FolderItemVerbs;

 function InvokeVerb([vVerb:variant]);

 function InvokeVerbEx([vVerb:variant; vArgs:variant]);

 function ExtendedProperty(bstrPropName:BSTR): variant;

Dispatch FolderItems2; // Definition of interface FolderItems Version 2

GUID={C94F0AD0-F363-11D2-A327-00C04F8EEC7F};

 function QueryInterface(riid:^GUID; out ppvObj:^^void);

 function AddRef: UI4;

 function Release: UI4;

 function GetTypeInfoCount(out pctinfo:^UINT);

 function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);

 function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);

 function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);

 property-get Count: I4;

 property-get Application: IDispatch;

 property-get Parent: IDispatch;

 function Item([index:variant]): ^FolderItem;

 function _NewEnum: IUnknown;

 function InvokeVerbEx([vVerb:variant; vArgs:variant]);

Dispatch IShellLinkDual; // Definition of Shell Link IDispatch interface

GUID={88A05C00-F000-11CE-8350-444553540000};

 function QueryInterface(riid:^GUID; out ppvObj:^^void);

 function AddRef: UI4;

 function Release: UI4;

 function GetTypeInfoCount(out pctinfo:^UINT);

 function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);

 function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);

 function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);

 property-get Path: BSTR;

 property-put Path(BSTR);

 property-get Description: BSTR;

 property-put Description(BSTR);

 property-get WorkingDirectory: BSTR;

 property-put WorkingDirectory(BSTR);

 property-get Arguments: BSTR;

 property-put Arguments(BSTR);

 property-get Hotkey: INT;

 property-put Hotkey(INT);

 property-get ShowCommand: INT;

 property-put ShowCommand(INT);

 function Resolve(fFlags:INT);

 function GetIconLocation(out pbs:^BSTR): INT;

 function SetIconLocation(bs:BSTR; iIcon:INT);

 function Save([vWhere:variant]);

Dispatch IShellLinkDual2; // Shell Link2 IDispatch interface

GUID={317EE249-F12E-11D2-B1E4-00C04F8EEB3E};

 function QueryInterface(riid:^GUID; out ppvObj:^^void);

 function AddRef: UI4;

 function Release: UI4;

 function GetTypeInfoCount(out pctinfo:^UINT);

 function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);

 function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);

 function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);

 property-get Path: BSTR;

 property-put Path(BSTR);

 property-get Description: BSTR;

 property-put Description(BSTR);

 property-get WorkingDirectory: BSTR;

 property-put WorkingDirectory(BSTR);

 property-get Arguments: BSTR;

 property-put Arguments(BSTR);

 property-get Hotkey: INT;

 property-put Hotkey(INT);

 property-get ShowCommand: INT;

 property-put ShowCommand(INT);

 function Resolve(fFlags:INT);

 function GetIconLocation(out pbs:^BSTR): INT;

 function SetIconLocation(bs:BSTR; iIcon:INT);

 function Save([vWhere:variant]);

 property-get Target: ^FolderItem;

Class ShellLinkObject; // Shell Link object

GUID={11219420-1768-11D1-95BE-00609797EA4F};

 function QueryInterface(riid:^GUID; out ppvObj:^^void);

 function AddRef: UI4;

 function Release: UI4;

 function GetTypeInfoCount(out pctinfo:^UINT);

 function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);

 function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);

 function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);

 property-get Path: BSTR;

 property-put Path(BSTR);

 property-get Description: BSTR;

 property-put Description(BSTR);

 property-get WorkingDirectory: BSTR;

 property-put WorkingDirectory(BSTR);

 property-get Arguments: BSTR;

 property-put Arguments(BSTR);

 property-get Hotkey: INT;

 property-put Hotkey(INT);

 property-get ShowCommand: INT;

 property-put ShowCommand(INT);

 function Resolve(fFlags:INT);

 function GetIconLocation(out pbs:^BSTR): INT;

 function SetIconLocation(bs:BSTR; iIcon:INT);

 function Save([vWhere:variant]);

Dispatch IShellFolderViewDual; // definition of interface IShellFolderViewDual

GUID={E7A1AF80-4D96-11CF-960C-0080C7F4EE85};

 function QueryInterface(riid:^GUID; out ppvObj:^^void);

 function AddRef: UI4;

 function Release: UI4;

 function GetTypeInfoCount(out pctinfo:^UINT);

 function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);

 function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);

 function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);

 property-get Application: IDispatch;

 property-get Parent: IDispatch;

 property-get Folder: ^Folder;

 function SelectedItems: ^FolderItems;

 property-get FocusedItem: ^FolderItem;

 function SelectItem(pvfi:^variant; dwFlags:INT);

 function PopupItemMenu(pfi:^FolderItem; [vx:variant; vy:variant]): BSTR;

 property-get Script: IDispatch;

 property-get ViewOptions: I4;

Class ShellFolderView; // Shell Folder View Object

GUID={62112AA1-EBE4-11CF-A5FB-0020AFE7292D};

 function QueryInterface(riid:^GUID; out ppvObj:^^void);

 function AddRef: UI4;

 function Release: UI4;

 function GetTypeInfoCount(out pctinfo:^UINT);

 function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);

 function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);

 function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);

 property-get Application: IDispatch;

 property-get Parent: IDispatch;

 property-get Folder: ^Folder;

 function SelectedItems: ^FolderItems;

 property-get FocusedItem: ^FolderItem;

 function SelectItem(pvfi:^variant; dwFlags:INT);

 function PopupItemMenu(pfi:^FolderItem; [vx:variant; vy:variant]): BSTR;

 property-get Script: IDispatch;

 property-get ViewOptions: I4;

 function SelectionChanged;

 function EnumDone;

Enum ShellFolderViewOptions; // Constants for ViewOptions

GUID={742A99A0-C77E-11D0-A32C-00A0C91EEDBA};

 SFVVO_SHOWALLOBJECTS = 1;

 SFVVO_SHOWEXTENSIONS = 2;

 SFVVO_SHOWCOMPCOLOR = 8;

 SFVVO_SHOWSYSFILES = 32;

 SFVVO_WIN95CLASSIC = 64;

 SFVVO_DOUBLECLICKINWEBVIEW = 128;

 SFVVO_DESKTOPHTML = $200;

Dispatch IShellDispatch; // Definition of interface IShellDispatch

GUID={D8F015C0-C278-11CE-A49E-444553540000};

 function QueryInterface(riid:^GUID; out ppvObj:^^void);

 function AddRef: UI4;

 function Release: UI4;

 function GetTypeInfoCount(out pctinfo:^UINT);

 function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);

 function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);

 function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);

 property-get Application: IDispatch;

 property-get Parent: IDispatch;

 function NameSpace(vDir:variant): ^Folder;

 function BrowseForFolder(Hwnd:I4; Title:BSTR; Options:I4; [RootFolder:variant]): ^Folder;

 function Windows: IDispatch;

 function Open(vDir:variant);

 function Explore(vDir:variant);

 function MinimizeAll;

 function UndoMinimizeALL;

 function FileRun;

 function CascadeWindows;

 function TileVertically;

 function TileHorizontally;

 function ShutdownWindows;

 function Suspend;

 function EjectPC;

 function SetTime;

 function TrayProperties;

 function Help;

 function FindFiles;

 function FindComputer;

 function RefreshMenu;

 function ControlPanelItem(szDir:BSTR);

Dispatch IShellDispatch2; // Updated IShellDispatch

GUID={A4C6892C-3BA9-11D2-9DEA-00C04FB16162};

 function QueryInterface(riid:^GUID; out ppvObj:^^void);

 function AddRef: UI4;

 function Release: UI4;

 function GetTypeInfoCount(out pctinfo:^UINT);

 function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);

 function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);

 function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);

 property-get Application: IDispatch;

 property-get Parent: IDispatch;

 function NameSpace(vDir:variant): ^Folder;

 function BrowseForFolder(Hwnd:I4; Title:BSTR; Options:I4; [RootFolder:variant]): ^Folder;

 function Windows: IDispatch;

 function Open(vDir:variant);

 function Explore(vDir:variant);

 function MinimizeAll;

 function UndoMinimizeALL;

 function FileRun;

 function CascadeWindows;

 function TileVertically;

 function TileHorizontally;

 function ShutdownWindows;

 function Suspend;

 function EjectPC;

 function SetTime;

 function TrayProperties;

 function Help;

 function FindFiles;

 function FindComputer;

 function RefreshMenu;

 function ControlPanelItem(szDir:BSTR);

 function IsRestricted(Group:BSTR; Restriction:BSTR): I4;

 function ShellExecute(File:BSTR; [vArgs:variant; vDir:variant; vOperation:variant; vShow:variant]);

 function FindPrinter(Name:BSTR; location:BSTR; model:BSTR);

 function GetSystemInformation(Name:BSTR): variant;

 function ServiceStart(ServiceName:BSTR; Persistent:variant): variant;

 function ServiceStop(ServiceName:BSTR; Persistent:variant): variant;

 function IsServiceRunning(ServiceName:BSTR): variant;

 function CanStartStopService(ServiceName:BSTR): variant;

 function ShowBrowserBar(bstrClsid:BSTR; bShow:variant): variant;

Class Shell; // Shell Object Type Information

GUID={13709620-C279-11CE-A49E-444553540000};

 function QueryInterface(riid:^GUID; out ppvObj:^^void);

 function AddRef: UI4;

 function Release: UI4;

 function GetTypeInfoCount(out pctinfo:^UINT);

 function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);

 function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);

 function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);

 property-get Application: IDispatch;

 property-get Parent: IDispatch;

 function NameSpace(vDir:variant): ^Folder;

 function BrowseForFolder(Hwnd:I4; Title:BSTR; Options:I4; [RootFolder:variant]): ^Folder;

 function Windows: IDispatch;

 function Open(vDir:variant);

 function Explore(vDir:variant);

 function MinimizeAll;

 function UndoMinimizeALL;

 function FileRun;

 function CascadeWindows;

 function TileVertically;

 function TileHorizontally;

 function ShutdownWindows;

 function Suspend;

 function EjectPC;

 function SetTime;

 function TrayProperties;

 function Help;

 function FindFiles;

 function FindComputer;

 function RefreshMenu;

 function ControlPanelItem(szDir:BSTR);

Class ShellDispatchInproc; // ShellDispatch Load in Shell Context

GUID={0A89A860-D7B1-11CE-8350-444553540000};

 function QueryInterface(riid:^GUID; out ppvObj:^^void): HResult;

 function AddRef: UI4;

 function Release: UI4;

Class WebViewFolderContents;

GUID={1820FED0-473E-11D0-A96C-00C04FD705A2};

 function QueryInterface(riid:^GUID; out ppvObj:^^void);

 function AddRef: UI4;

 function Release: UI4;

 function GetTypeInfoCount(out pctinfo:^UINT);

 function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);

 function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);

 function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);

 property-get Application: IDispatch;

 property-get Parent: IDispatch;

 property-get Folder: ^Folder;

 function SelectedItems: ^FolderItems;

 property-get FocusedItem: ^FolderItem;

 function SelectItem(pvfi:^variant; dwFlags:INT);

 function PopupItemMenu(pfi:^FolderItem; [vx:variant; vy:variant]): BSTR;

 property-get Script: IDispatch;

 property-get ViewOptions: I4;

 function SelectionChanged;

 function EnumDone;

Enum ShellSpecialFolderConstants; // Constants for Special Folders for open/Explore

GUID={CA31EA20-48D0-11CF-8350-444553540000};

 ssfDESKTOP = 0;

 ssfPROGRAMS = 2;

 ssfCONTROLS = 3;

 ssfPRINTERS = 4;

 ssfPERSONAL = 5;

 ssfFAVORITES = 6;

 ssfSTARTUP = 7;

 ssfRECENT = 8;

 ssfSENDTO = 9;

 ssfBITBUCKET = 10;

 ssfSTARTMENU = 11;

 ssfDESKTOPDIRECTORY = 16;

 ssfDRIVES = 17;

 ssfNETWORK = 18;

 ssfNETHOOD = 19;

 ssfFONTS = 20;

 ssfTEMPLATES = 21;

 ssfCOMMONSTARTMENU = 22;

 ssfCOMMONPROGRAMS = 23;

 ssfCOMMONSTARTUP = 24;

 ssfCOMMONDESKTOPDIR = 25;

 ssfAPPDATA = 26;

 ssfPRINTHOOD = 27;

 ssfLOCALAPPDATA = 28;

 ssfALTSTARTUP = 29;

 ssfCOMMONALTSTARTUP = 30;

 ssfCOMMONFAVORITES = 31;

 ssfINTERNETCACHE = 32;

 ssfCOOKIES = 33;

 ssfHISTORY = 34;

 ssfCOMMONAPPDATA = 35;

 ssfWINDOWS = 36;

 ssfSYSTEM = 37;

 ssfPROGRAMFILES = 38;

 ssfMYPICTURES = 39;

 ssfPROFILE = 40;

 ssfSYSTEMx86 = 41;

 ssfPROGRAMFILESx86 = 48;

Dispatch DSearchCommandEvents; // Event interface for command events

GUID={60890160-69F0-11D1-B758-00A0C90564FE};

 function SearchStart: HResult;

 function SearchComplete: HResult;

 function SearchAbort: HResult;

 function RecordsetUpdate: HResult;

 function ProgressTextChanged: HResult;

 function SearchError: HResult;

 function SearchRestored: HResult;

Class SearchCommand; // Search command object.

GUID={B005E690-678D-11D1-B758-00A0C90564FE};

 function GetTypeInfoCount(out pctinfo:^UINT): HResult;

 function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void): HResult;

 function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4): HResult;

 function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT): HResult;

 function SearchStart: HResult;

 function SearchComplete: HResult;

 function SearchAbort: HResult;

 function RecordsetUpdate: HResult;

 function ProgressTextChanged: HResult;

 function SearchError: HResult;

 function SearchRestored: HResult;

Dispatch IFileSearchBand; // IFileSearchBand Interface

GUID={2D91EEA1-9932-11D2-BE86-00A0C9A83DA1};

 function QueryInterface(riid:^GUID; out ppvObj:^^void);

 function AddRef: UI4;

 function Release: UI4;

 function GetTypeInfoCount(out pctinfo:^UINT);

 function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);

 function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);

 function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);

 function SetFocus;

 function SetSearchParameters(pbstrSearchID:^BSTR; bNavToResults:bool; [pvarScope:^variant; pvarQueryFile:^variant]);

 property-get SearchID: BSTR;

 property-get Scope: variant;

 property-get QueryFile: variant;

Class FileSearchBand; // FileSearchBand Class

GUID={C4EE31F3-4768-11D2-BE5C-00A0C9A83DA1};

 function QueryInterface(riid:^GUID; out ppvObj:^^void);

 function AddRef: UI4;

 function Release: UI4;

 function GetTypeInfoCount(out pctinfo:^UINT);

 function GetTypeInfo(itinfo:UINT; lcid:UI4; out pptinfo:^^void);

 function GetIDsOfNames(riid:^GUID; rgszNames:^^I1; cNames:UINT; lcid:UI4; out rgdispid:^I4);

 function Invoke(dispidMember:I4; riid:^GUID; lcid:UI4; wFlags:UI2; pdispparams:^DISPPARAMS; out pvarResult:^variant; out pexcepinfo:^EXCEPINFO; out puArgErr:^UINT);

 function SetFocus;

 function SetSearchParameters(pbstrSearchID:^BSTR; bNavToResults:bool; [pvarScope:^variant; pvarQueryFile:^variant]);

 property-get SearchID: BSTR;

 property-get Scope: variant;

 property-get QueryFile: variant;