IShellBrowser

The IShellBrowser interface provides services for namespace extensions and is the companion to the IShellView interface implemented by namespace extensions.. It is similar to the "site" interfaces that are often found in OLE hosting scenarios, such as IOleControl and IOleControlSite. This allows the extension to communicate with the host of the namespace, providing UI elements like menus, status text, and tool bars. This interface also provides the extension with a way to access storage to save its persistent view state.

IShellBrowser derives from IOleWindow and it represents the container's top-level window, allowing the contained views to insert their menus into the composite menu, install the composite menu into the appropriate window frame and remove the container's menu elements from the composite menu. It sets and displays status text relevant to the in-place object. It also enables or disables the frame's modeless dialog boxes, and translates accelerator keystrokes intended for the container's frame.

When to Implement

You do not implement this interface directly. IShellBrowser is implemented by the Windows Explorer and by the Windows File Open Dialog.

When to Use

When implementing a namespace extension, notably IShellView, you will use the IShellBrowser implementation that is passed to use IShellBrowser::CreateViewWindow to communicate with the Explorer.

Methods in Vtable Order

IUnknown Methods Description
QueryInterface Returns pointers to supported interfaces.
AddRef Increments reference count.
Release Decrements reference count.

IOleWindow Methods Description
GetWindow Returns a handle to one of the windows participating in in-place activation.
ContextSensitiveHelp Determines whether context-sensitive help mode should be entered during an in-place activation session.

IShellBrowser Methods Description
InsertMenusSB Inserts the Explorer's menu items to an empty menu created by the view.
SetMenuSB Installs the composite menu in the Explorer.
RemoveMenusSB Gives the container a chance to remove its items from a composite menu. It perform tasks that are the opposite of InsertMenuSB.
SetStatusTextSB Sets and displays status text in the Explorer window.
EnableModelessSB Enables or disables modeless windows of the Explorer, such as a floating toolbar.
TranslateAcceleratorSB Reserved for future use.
BrowseObject Tells the Explorer to browse in another folder.
GetViewStateStream Returns a view-specific stream that can be used to read and write the persistent data for a view.
GetControlWindow Gets the window handle of an Explorer control.
SendControlMsg Sends messages to Explorer controls.
QueryActiveShellView Returns the currently activated (displayed) shellview object.
OnViewWindowActive Informs the Explorer that the view was activated.
SetToolbarItems Adds toolbar items to the Explorer's toolbar.