Windows NT 4.0 source code leak
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

515 lines
20 KiB

#include <olectl.h>
#include "shdispid.h"
//=--------------------------------------------------------------------------=
// the libid for this type libray
//
[
uuid(EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B),
helpstring("Microsoft Internet and Shell Controls"), // VB has a maximum limit for this helpstring!
lcid(0x0000),
version(1.0)
]
library SHDocVw {
// standard imports
//
importlib(STDOLE_TLB);
//
//
//
// primary dispatch interface for CShellExplorer control
//
[
uuid(EAB22AC1-30C1-11CF-A7EB-0000C05BAE0B),
helpstring("Shell Explorer Control"),
hidden,
dual,
odl
]
interface IShellExplorer : IDispatch {
// properties
//
[id(0), propget, helpstring("Returns the friendly name of the Location")]
HRESULT Value([out, retval] BSTR *pbstrLocation);
[id(DISPID_LOCATION), propget, helpstring("Returns/sets location in namespace to view")]
HRESULT Location([out, retval] BSTR *pbstrLocation);
[id(DISPID_LOCATION), propput]
HRESULT Location([in] BSTR bstrLocation);
[id(DISPID_FOLDERFLAGS), propget, helpstring("Returns/sets FWF_ folder flags")]
HRESULT FolderFlags([out, retval] int *pfFlags);
[id(DISPID_FOLDERFLAGS), propput]
HRESULT FolderFlags([in] int fFlags);
[id(DISPID_FOLDERVIEWMODE), propget, helpstring("Returns/sets FVM_ folder view mode")]
HRESULT FolderViewMode([out, retval] int *pnViewMode);
[id(DISPID_FOLDERVIEWMODE), propput]
HRESULT FolderViewMode([in] int nViewMode);
[id(DISPID_AUTOSIZE), propget, helpstring("Returns/sets auto-size mode")]
HRESULT AutoSize([out, retval] boolean *pfAutoSize);
[id(DISPID_AUTOSIZE), propput]
HRESULT AutoSize([in] boolean fAutoSize);
[id(DISPID_BORDERVISIBLE), propget, helpstring("Returns/sets border-visible flag")]
HRESULT BorderVisible([out, retval] boolean *pfBorderVisible);
[id(DISPID_BORDERVISIBLE), propput]
HRESULT BorderVisible([in] boolean fBorderVisible);
// methods
//
[id(DISPID_BROWSE), helpstring("Browse for a new folder to view")]
HRESULT Browse(void);
[id(DISPID_NAVIGATE), helpstring("Navigate through the history list")]
HRESULT Navigate([in] int nDirection);
[id(DISPID_REFRESH), helpstring("Refresh view")]
HRESULT Refresh(void);
// DIExplorer methods
//
[helpstring("Navigates to the previous item in the history list."), helpcontext(0x0000)]
HRESULT GoBack();
[helpstring("Navigates to the next item in the history list."), helpcontext(0x0000)]
HRESULT GoForward();
[helpstring("Go home/start page."), helpcontext(0x0000)]
HRESULT GoHome();
[helpstring("Go Search Page."), helpcontext(0x0000)]
HRESULT GoSearch();
[helpstring("Opens a file."), helpcontext(0x0000)]
HRESULT Open( [in] BSTR Target,
[in,optional]VARIANT* Location,
[in,optional] VARIANT* NoHistory);
// [helpstring("Navigates to a hyperlink."), helpcontext(0x0000)]
// HRESULT Navigate([in]DHyperLink* Hlink,
// [in,optional]VARIANT* OpenInNewWindow,
// [in,optional] VARIANT* NoHistory);
[helpstring("Exits Shell Explorer and closes the open window."), helpcontext(0x0000)]
HRESULT Quit();
// [helpstring("Refreshes the current file."), helpcontext(0x0000)]
// HRESULT Refresh();
[helpstring("Stops opening a file."), helpcontext(0x0000)]
HRESULT Stop();
[helpstring("Prints the current document."), helpcontext(0x0000)]
HRESULT PrintOut([in] long What,
[in] VARIANT Numbering,
[in, optional] VARIANT FirstPage,
[in, optional] VARIANT Sections,
[in, optional] VARIANT FileName,
[in, optional] VARIANT PrinterName,
[in, optional] VARIANT DriverName,
[in, optional] VARIANT PortName,
[in, optional] VARIANT NoPrinting);
//
// DIExplorer Properties
//
[propget, helpstring("Returns a pointer to this OC."), helpcontext(0x0000)]
HRESULT Application([out,retval] IDispatch** ppDisp);
[propget, helpstring("Returns a pointer to the container."), helpcontext(0x0000)]
HRESULT Container([out,retval] IDispatch** ppDisp);
[propget, helpstring("Returns the active Document."), helpcontext(0x0000)]
HRESULT Document([out,retval] IDispatch** ppDisp);
[propget, helpstring("Returns the file name (sans path) of <what?>."), helpcontext(0x0000)]
HRESULT FileName([out,retval] BSTR* pbstrFileName);
[propget, helpstring("Returns the full pathname to <what?>."), helpcontext(0x0000)]
HRESULT FullName([out,retval] BSTR* pbstrFullName);
[propget, helpstring("Determines whether this control is full screen or not."), helpcontext(0x0000)]
HRESULT FullScreen([out, retval] boolean* pBool);
[propput, helpstring("Sets this control to be full screen or not."), helpcontext(0x0000)]
HRESULT FullScreen([in] boolean Value);
// [id(0), propget, helpstring("Returns name of the application."), helpcontext(0x0000)]
// HRESULT Name([out,retval] BSTR* pbstrName);
[propget, helpstring("Returns a pointer to the parent Object."), helpcontext(0x0000)]
HRESULT Parent([out,retval] IDispatch** ppDisp);
[propget, helpstring("Returns the full pathname to the IExplorer(BUGBUG) executable."), helpcontext(0x0000)]
HRESULT Path([out,retval] BSTR* pbstrPath);
[propget, helpstring("Huh? -- always FALSE for an OC..."), helpcontext(0x0000)]
HRESULT TopLevelContainer([out, retval] boolean* pBool);
[propget, helpstring("Returns the type of the contained object."), helpcontext(0x0000)]
HRESULT Type([out,retval] BSTR* pbstrType);
[propget, helpstring("Determines whether this OC is visible or hidden."), helpcontext(0x0000)]
HRESULT Visible([out, retval] boolean* pBool);
[propput]
HRESULT Visible([in] boolean Value);
// DIExplorer Window stuff...
[propget, helpstring("The horizontal position (pixels) of the frame window relative to the screen"), helpcontext(0x0000)]
HRESULT Left([out, retval] long *pl);
[propput]
HRESULT Left([in] long Left);
[propget, helpstring("The vertical position (pixels) of the frame window relative to the screen"), helpcontext(0x0000)]
HRESULT Top([out, retval] long *pl);
[propput]
HRESULT Top([in] long Top);
[propget, helpstring("The horizontal dimension (pixels) of the frame window"), helpcontext(0x0000)]
HRESULT Width([out, retval] long *pl);
[propput]
HRESULT Width([in] long Width);
[propget, helpstring("The vertical dimension (pixels) of the frame window"), helpcontext(0x0000)]
HRESULT Height([out, retval] long *pl);
[propput]
HRESULT Height([in] long Height);
// Added a property to see if the viewer is currenly busy or not...
[propget, helpstring("Query to see if something is still in progress."), helpcontext(0x0000)]
HRESULT Busy([out,retval] boolean *pBool);
};
// event interface for CShellExplorer controls ...
//
[
uuid(EAB22AC2-30C1-11CF-A7EB-0000C05BAE0B),
helpstring("Event interface for Shell Explorer Control"),
hidden
]
dispinterface DShellExplorerEvents {
properties:
methods:
[id(DISPID_ON_BEGIN_NAVIGATE), helpstring("Fired when a new hyperlink is being navigated to."), helpcontext(0x0000)]
void OnBeginNavigate([in]IDispatch * HLink, [in, out]boolean * Cancel);
[id(DISPID_ON_NAVIGATE), helpstring("Fired when a new hyperlink is being navigated to."), helpcontext(0x0000)]
void OnNavigate([in]IDispatch * HLink);
[id(DISPID_ON_STATUSTEXTCHANGE), helpstring("Statusbar text changed."), helpcontext(0x0000)]
void OnStatusTextChange([in]BSTR bstrText);
#if 0
[id(0xfffffda0), helpstring("Fired when an error occurs."), helpcontext(0x0000)]
void OnError([in] long Number,
[in,out] BSTR* Description,
[in]BSTR Source,
[in]BSTR HelpFile,
[in] long HelpContext,
[in, out] boolean* CancelDisplay);
#endif
[id(DISPID_ON_QUIT),helpstring("Fired when application is quiting."), helpcontext(0x0000)]
void OnQuit([in, out] boolean * Cancel);
};
// coclass for CShellExplorer controls
//
[
uuid(EAB22AC3-30C1-11CF-A7EB-0000C05BAE0B),
helpstring("Shell Explorer Control")
]
coclass ShellExplorer {
[default] interface IShellExplorer;
[default, source] dispinterface DShellExplorerEvents;
};
//
//
//
// primary dispatch interface for CSHItemOC control
//
[
uuid(EAB22AC4-30C1-11CF-A7EB-0000C05BAE0B),
helpstring("Shell Item Control"),
hidden,
dual,
odl
]
interface ISHItemOC : IDispatch {
// properties
//
[id(0), propget, helpstring("Returns the friendly name of the Location")]
HRESULT Value([out, retval] BSTR *pbstrLocation);
[id(DISPID_LOCATION), propget, helpstring("Location of object to view")]
HRESULT Location([out, retval] BSTR *pbstrLocation);
[id(DISPID_LOCATION), propput]
HRESULT Location([in] BSTR bstrLocation);
// methods
//
[id(DISPID_BROWSE), helpstring("Select a new item to view")]
HRESULT Browse(void);
};
// event interface for CSHItemOC controls ...
//
[
uuid(EAB22AC5-30C1-11CF-A7EB-0000C05BAE0B),
helpstring("Event interface for Shell Item Control"),
hidden
]
dispinterface DSHItemOCEvents {
properties:
methods:
};
// coclass for CSHItemOC controls
//
[
uuid(EAB22AC6-30C1-11CF-A7EB-0000C05BAE0B),
helpstring("Shell Item Control")
]
coclass SHItemOC {
[default] interface ISHItemOC;
[default, source] dispinterface DSHItemOCEvents;
};
// IID_DHyperLink: {0002DF07-0000-0000-C000-000000000046}
[
uuid(0002DF07-0000-0000-C000-000000000046),
helpstring("HyperLink Object."),
helpcontext(0x0000),
hidden,
oleautomation,
dual
]
interface DHyperLink : IDispatch
{
// id(0) indicates that this is the "value" member.
[id(0), propget, helpstring("Returns or sets the Friendly Name for the HyperLink."), helpcontext(0x0000)]
HRESULT FriendlyName([out, retval] BSTR* pbstrName);
[id(0), propput, helpstring("Returns or sets the Friendly Name for the HyperLink."), helpcontext(0x0000)]
HRESULT FriendlyName([in] BSTR bstrName);
[propget, helpstring("Returns or sets the string reference for the HyperLink."), helpcontext(0x0000)]
HRESULT Target([out,retval] BSTR* pbstrTarget);
[propput, helpstring("Returns or sets the string reference for the HyperLink."), helpcontext(0x0000)]
HRESULT Target([in] BSTR bstrTarget);
[propget, helpstring("Returns or sets the location within the HyperLink."), helpcontext(0x0000)]
HRESULT Location([out,retval] BSTR* pbstrLocation);
[propput, helpstring("Returns or sets the location within the HyperLink."), helpcontext(0x0000)]
HRESULT Location([in] BSTR bstrLocation);
[helpstring("Jumps to the hyperlink."), helpcontext(0x0000)]
HRESULT Navigate([in,optional]VARIANT* OpenInNewWindow, [in,optional] VARIANT* NoHistory);
[propget, helpstring("Returns a pointer to the IExplorer Object."), helpcontext(0x0000)]
HRESULT Parent([out,retval] IDispatch** ppDisp);
};
// IID_DIExplorer: {0002DF05-0000-0000-C000-000000000046}
[
uuid(0002DF05-0000-0000-C000-000000000046),
helpstring("Internet Explorer Frame Object."),
helpcontext(0x0000),
hidden,
oleautomation,
dual
]
interface DIExplorer : IDispatch
{
//
// Methods
//
[helpstring("Navigates to the previous item in the history list."), helpcontext(0x0000)]
HRESULT GoBack();
[helpstring("Navigates to the next item in the history list."), helpcontext(0x0000)]
HRESULT GoForward();
[helpstring("Go home/start page."), helpcontext(0x0000)]
HRESULT GoHome();
[helpstring("Go Search Page."), helpcontext(0x0000)]
HRESULT GoSearch();
[helpstring("Opens a file."), helpcontext(0x0000)]
HRESULT Open( [in] BSTR Target,
[in,optional]VARIANT* Location,
[in,optional] VARIANT* NoHistory);
[helpstring("Navigates to a hyperlink."), helpcontext(0x0000)]
HRESULT Navigate([in]DHyperLink* Hlink,
[in,optional]VARIANT* OpenInNewWindow,
[in,optional] VARIANT* NoHistory);
[helpstring("Exits IExplorer and closes the open document."), helpcontext(0x0000)]
HRESULT Quit();
[helpstring("Refreshes the current file."), helpcontext(0x0000)]
HRESULT Refresh();
[helpstring("Stops opening a file."), helpcontext(0x0000)]
HRESULT Stop();
[helpstring("Prints the current document."), helpcontext(0x0000)]
HRESULT PrintOut([in] long What,
[in] VARIANT Numbering,
[in, optional] VARIANT FirstPage,
[in, optional] VARIANT Sections,
[in, optional] VARIANT FileName,
[in, optional] VARIANT PrinterName,
[in, optional] VARIANT DriverName,
[in, optional] VARIANT PortName,
[in, optional] VARIANT NoPrinting);
//
// Properties
//
[propget, helpstring("Returns a pointer to the IExplorer Object."), helpcontext(0x0000)]
HRESULT Application([out,retval] IDispatch** ppDisp);
[propget, helpstring("Returns a pointer to the containing document if any."), helpcontext(0x0000)]
HRESULT Container([out,retval] IDispatch** ppDisp);
[propget, helpstring("Returns the active Document."), helpcontext(0x0000)]
HRESULT Document([out,retval] IDispatch** ppDisp);
[propget, helpstring("Returns the full pathname to the IExplorer executable."), helpcontext(0x0000)]
HRESULT FileName([out,retval] BSTR* pbstrFileName);
[propget, helpstring("Returns the full pathname to the IExplorer executable."), helpcontext(0x0000)]
HRESULT FullName([out,retval] BSTR* pbstrFullName);
[propget, helpstring("Determines whether IExplorer is full screen or not."), helpcontext(0x0000)]
HRESULT FullScreen([out, retval] boolean* pBool);
[propput, helpstring("Sets the IExplorer to be full screen or not."), helpcontext(0x0000)]
HRESULT FullScreen([in] boolean Value);
[propget, helpstring("Turn on or off the statusbar."), helpcontext(0x0000)]
HRESULT StatusBar([out, retval] boolean* pBool);
[propput, helpstring("Turn on or off the statusbar."), helpcontext(0x0000)]
HRESULT StatusBar([in] boolean Value);
[propget, helpstring("Text of Status window."), helpcontext(0x0000)]
HRESULT StatusText([out, retval] BSTR *pbstr);
[propput, helpstring("Turn on or off the toolbar."), helpcontext(0x0000)]
HRESULT StatusText([in] BSTR bstr);
[propget, helpstring("Turn on or off the toolbar."), helpcontext(0x0000)]
HRESULT ToolBar([out, retval] boolean* pBool);
[propput, helpstring("Turn on or off the toolbar."), helpcontext(0x0000)]
HRESULT ToolBar([in] boolean Value);
[id(0), propget, helpstring("Returns name of the application."), helpcontext(0x0000)]
HRESULT Name([out,retval] BSTR* pbstrName);
[propget, helpstring("Returns a pointer to the IExplorer Object."), helpcontext(0x0000)]
HRESULT Parent([out,retval] IDispatch** ppDisp);
[propget, helpstring("Returns the full pathname to the IExplorer executable."), helpcontext(0x0000)]
HRESULT Path([out,retval] BSTR* pbstrPath);
[propget, helpstring("Determines whether IExplorer is visible or hidden."), helpcontext(0x0000)]
HRESULT TopLevelContainer([out, retval] boolean* pBool);
[propget, helpstring("Returns the type of the contained object."), helpcontext(0x0000)]
HRESULT Type([out,retval] BSTR* pbstrType);
[propget, helpstring("Determines whether IExplorer is visible or hidden."), helpcontext(0x0000)]
HRESULT Visible([out, retval] boolean* pBool);
[propput, helpstring("Determines whether IExplorer is visible or hidden."), helpcontext(0x0000)]
HRESULT Visible([in] boolean Value);
// Window stuff...
[propget, helpstring("The horizontal position (pixels) of the frame window relative to the screen"), helpcontext(0x0000)]
HRESULT Left([out, retval] long *pl);
[propput]
HRESULT Left([in] long Left);
[propget, helpstring("The vertical position (pixels) of the frame window relative to the screen"), helpcontext(0x0000)]
HRESULT Top([out, retval] long *pl);
[propput]
HRESULT Top([in] long Top);
[propget, helpstring("The horizontal dimension (pixels) of the frame window"), helpcontext(0x0000)]
HRESULT Width([out, retval] long *pl);
[propput]
HRESULT Width([in] long Width);
[propget, helpstring("The vertical dimension (pixels) of the frame window"), helpcontext(0x0000)]
HRESULT Height([out, retval] long *pl);
[propput]
HRESULT Height([in] long Height);
// Added a property to see if the viewer is currenly busy or not...
[propget, helpstring("Query to see if something is still in progress."), helpcontext(0x0000)]
HRESULT Busy([out,retval] boolean *pBool);
};
// event interface for the Explorer Frame
//
[
uuid(0002DF06-0000-0000-C000-000000000046),
helpstring("Event interface for IExplorer Frame"),
]
dispinterface DExplorerEvents {
properties:
methods:
[id(DISPID_ON_BEGIN_NAVIGATE), helpstring("Fired when a new hyperlink is being navigated to."), helpcontext(0x0000)]
void OnBeginNavigate([in]IDispatch * HLink, [in, out]boolean * Cancel);
[id(DISPID_ON_NAVIGATE), helpstring("Fired when a new hyperlink is being navigated to."), helpcontext(0x0000)]
void OnNavigate([in]IDispatch * HLink);
[id(DISPID_ON_STATUSTEXTCHANGE), helpstring("Statusbar text changed."), helpcontext(0x0000)]
void OnStatusTextChange([in]BSTR bstrText);
#if 0
[id(0xfffffda0), helpstring("Fired when an error occurs."), helpcontext(0x0000)]
void OnError([in] long Number,
[in,out] BSTR* Description,
[in]BSTR Source,
[in]BSTR HelpFile,
[in] long HelpContext,
[in, out] boolean* CancelDisplay);
#endif
[id(DISPID_ON_QUIT), helpstring("Fired when application is quiting."), helpcontext(0x0000)]
void OnQuit([in, out] boolean * Cancel);
};
//CLSID_InternetExplorer
[
uuid(0002DF01-0000-0000-C000-000000000046),
helpstring("Internet Explorer Application Object."),
]
coclass InternetExplorer
{
[default] interface DIExplorer;
[default, source] dispinterface DExplorerEvents;
}
//CLSID_StdHyperLink
[
uuid(0002DF09-0000-0000-C000-000000000046),
helpstring("Internet Explorer Hyperlink Object."),
]
coclass StdHyperLink
{
[default] interface DHyperLink;
}
typedef
[
uuid(0002DF08-0000-0000-C000-000000000046),
helpstring("Constants for DInternetHistory")
]
enum HlinkIDConstants {
[helpstring("Previous Item")] hlidPrevious = 0,
[helpstring("Next Item")] hlidNext = 0xFFFFFFFF,
[helpstring("Current Item")] hlidCurrent = 0xFFFFFFFE,
[helpstring("Last Item")] hlidStackBottom = 0xFFFFFFFD,
[helpstring("First Item")] hlidStackTop = 0xFFFFFFFC
} HlinkIDConstants;
};