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. |