Click here to Skip to main content
15,896,526 members
Articles / Desktop Programming / Win32

.NET Shell Extensions - Shell Preview Handlers

Rate me:
Please Sign up or sign in to vote.
4.93/5 (23 votes)
20 May 2014MIT8 min read 141.6K   6.1K   72  
Quickly create Shell Preview Handlers for Windows or Outlook using .NET!
<?xml version="1.0"?>
<doc>
    <assembly>
        <name>SharpShell</name>
    </assembly>
    <members>
        <member name="T:SharpShell.Interop.IPreviewHandlerVisuals">
            <summary>
            Exposes methods for applying color and font information to preview handlers.
            </summary>
        </member>
        <member name="M:SharpShell.Interop.IPreviewHandlerVisuals.SetBackgroundColor(SharpShell.Interop.COLORREF)">
            <summary>
            Sets the background color of the preview handler.
            </summary>
            <param name="color">A value of type COLORREF to use for the preview handler background.</param>
            <returns>If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.</returns>
        </member>
        <member name="M:SharpShell.Interop.IPreviewHandlerVisuals.SetFont(SharpShell.Interop.LOGFONT@)">
            <summary>
            Sets the font attributes to be used for text within the preview handler.
            </summary>
            <param name="plf">A pointer to a LOGFONTW Structure containing the necessary attributes for the font to use.</param>
            <returns>If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.</returns>
        </member>
        <member name="M:SharpShell.Interop.IPreviewHandlerVisuals.SetTextColor(SharpShell.Interop.COLORREF)">
            <summary>
            Sets the color of the text within the preview handler.
            </summary>
            <param name="color">A value of type COLORREF to use for the preview handler text color.</param>
            <returns>If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error cod</returns>
        </member>
        <member name="T:SharpShell.Interop.IDropTarget">
            <summary>
            The IDropTarget interface is one of the interfaces you implement to provide drag-and-drop operations in your application. It contains methods used in any application that can be a target for data during a drag-and-drop operation. 
            </summary>
        </member>
        <member name="M:SharpShell.Interop.IDropTarget.DragEnter(System.Runtime.InteropServices.ComTypes.IDataObject,System.UInt32,SharpShell.Interop.POINT,System.UInt32@)">
            <summary>
            Indicates whether a drop can be accepted, and, if so, the effect of the drop.
            </summary>
            <param name="pDataObj">A pointer to the IDataObject interface on the data object. This data object contains the data being transferred in the drag-and-drop operation. If the drop occurs, this data object will be incorporated into the target.</param>
            <param name="grfKeyState">The current state of the keyboard modifier keys on the keyboard. Possible values can be a combination of any of the flags MK_CONTROL, MK_SHIFT, MK_ALT, MK_BUTTON, MK_LBUTTON, MK_MBUTTON, and MK_RBUTTON.</param>
            <param name="pt">A POINTL structure containing the current cursor coordinates in screen coordinates.</param>
            <param name="pdwEffect">On input, pointer to the value of the pdwEffect parameter of the DoDragDrop function. On return, must contain one of the DROPEFFECT flags, which indicates what the result of the drop operation would be.</param>
            <returns>This method returns S_OK on success.</returns>
        </member>
        <member name="M:SharpShell.Interop.IDropTarget.DragOver(System.UInt32,SharpShell.Interop.POINT,System.UInt32@)">
            <summary>
            Provides target feedback to the user and communicates the drop's effect to the DoDragDrop function so it can communicate the effect of the drop back to the source.
            </summary>
            <param name="grfKeyState">The current state of the keyboard modifier keys on the keyboard. Valid values can be a combination of any of the flags MK_CONTROL, MK_SHIFT, MK_ALT, MK_BUTTON, MK_LBUTTON, MK_MBUTTON, and MK_RBUTTON.</param>
            <param name="pt">A POINTL structure containing the current cursor coordinates in screen coordinates.</param>
            <param name="pdwEffect">On input, pointer to the value of the pdwEffect parameter of the DoDragDrop function. On return, must contain one of the DROPEFFECT flags, which indicates what the result of the drop operation would be.</param>
            <returns>This method returns S_OK on success. </returns>
        </member>
        <member name="M:SharpShell.Interop.IDropTarget.DragLeave">
            <summary>
            Removes target feedback and releases the data object.
            </summary>
            <returns>This method returns S_OK on success.</returns>
        </member>
        <member name="M:SharpShell.Interop.IDropTarget.Drop(System.Runtime.InteropServices.ComTypes.IDataObject,System.UInt32,SharpShell.Interop.POINT,System.UInt32@)">
            <summary>
            Incorporates the source data into the target window, removes target feedback, and releases the data object.
            </summary>
            <param name="pDataObj">A pointer to the IDataObject interface on the data object being transferred in the drag-and-drop operation.</param>
            <param name="grfKeyState">The current state of the keyboard modifier keys on the keyboard. Possible values can be a combination of any of the flags MK_CONTROL, MK_SHIFT, MK_ALT, MK_BUTTON, MK_LBUTTON, MK_MBUTTON, and MK_RBUTTON.</param>
            <param name="pt">A POINTL structure containing the current cursor coordinates in screen coordinates.</param>
            <param name="pdwEffect">On input, pointer to the value of the pdwEffect parameter of the DoDragDrop function. On return, must contain one of the DROPEFFECT flags, which indicates what the result of the drop operation would be.</param>
            <returns>This method returns S_OK on success.</returns>
        </member>
        <member name="T:SharpShell.SharpShellServer">
            <summary>
            The SharpShellServer class is the base class for all SharpShellServers.
            It provides the core standard functionality - registration, unregistration,
            identity information (as required by ISharpShellServer), MEF contract inheritance
            and definitions of virtual functions that can be overriden by advanced users
            to hook into key points in Server Lifecycle.
            
            Note that ALL derived classes will Export ISharpShellServer - this is a useful
            feature as it means that the ServerManager tool (and other tools) can interrogate
            assemblies via MEF to get information on servers they contain.
            </summary>
        </member>
        <member name="T:SharpShell.ISharpShellServer">
            <summary>
            Core interface for SharpShell COM servers.
            </summary>
        </member>
        <member name="P:SharpShell.ISharpShellServer.ServerType">
            <summary>
            Gets the type of the server.
            </summary>
            <value>
            The type of the server.
            </value>
        </member>
        <member name="P:SharpShell.ISharpShellServer.ServerClsid">
            <summary>
            Gets the server CLSID.
            </summary>
        </member>
        <member name="M:SharpShell.SharpShellServer.Register(System.Type)">
            <summary>
            The COM Register function. Called by regasm to register a COM server
            in the system. This function will register the server associations defined
            by the type's COMServerAssociation attributes.
            </summary>
            <param name="type">The type.</param>
        </member>
        <member name="M:SharpShell.SharpShellServer.Unregister(System.Type)">
            <summary>
            The COM Unregister function. Called by regasm to unregister a COM server
            in the system. This function will unregister the server associations defined
            by the type's COMServerAssociation attributes.
            </summary>
            <param name="type">The type.</param>
        </member>
        <member name="M:SharpShell.SharpShellServer.DoRegister(System.Type,SharpShell.ServerRegistration.RegistrationType)">
            <summary>
            Actually performs registration. The ComRegisterFunction decorated method will call this function
            internally with the flag appropriate for the operating system processor architecture.
            However, this function can also be called manually if needed.
            </summary>
            <param name="type">The type of object to register, this must be a SharpShellServer derived class.</param>
            <param name="registrationType">Type of the registration.</param>
        </member>
        <member name="M:SharpShell.SharpShellServer.DoUnregister(System.Type,SharpShell.ServerRegistration.RegistrationType)">
            <summary>
            Actually performs unregistration. The ComUnregisterFunction decorated method will call this function
            internally with the flag appropriate for the operating system processor architecture.
            However, this function can also be called manually if needed.
            </summary>
            <param name="type">The type of object to unregister, this must be a SharpShellServer derived class.</param>
            <param name="registrationType">Type of the registration to unregister.</param>
        </member>
        <member name="M:SharpShell.SharpShellServer.Log(System.String)">
            <summary>
            Logs the specified message to the SharpShell log, with the name of the type.
            </summary>
            <param name="message">The message.</param>
        </member>
        <member name="M:SharpShell.SharpShellServer.LogError(System.String,System.Exception)">
            <summary>
            Logs the specified message to the SharpShell log as an error, with the name of the type.
            </summary>
            <param name="message">The message.</param>
            <param name="exception">The exception.</param>
        </member>
        <member name="P:SharpShell.SharpShellServer.DisplayName">
            <summary>
            Gets a display name for the server.
            If the [DisplayName] attribute is defined on the type, then the value
            of this attribute will be used. If not, then the type name will be used.
            </summary>
            <value>
            The name of the server.
            </value>
        </member>
        <member name="P:SharpShell.SharpShellServer.ServerType">
            <summary>
            Gets the type of the server.
            </summary>
            <value>
            The type of the server.
            </value>
        </member>
        <member name="P:SharpShell.SharpShellServer.ServerClsid">
            <summary>
            Gets the server CLSID.
            </summary>
        </member>
        <member name="M:SharpShell.Interop.User32.GetParent(System.IntPtr)">
            <summary>
            Retrieves a handle to the specified window's parent or owner.
            </summary>
            <param name="hWnd">A handle to the window whose parent window handle is to be retrieved.</param>
            <returns>If the window is a child window, the return value is a handle to the parent window. If the window is a top-level window with the WS_POPUP style, the return value is a handle to the owner window. If the function fails, the return value is NULL. To get extended error information, call GetLastError.</returns>
        </member>
        <member name="T:SharpShell.Interop.PSPCB">
            <summary>
            Action flag.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.PSPCB.PSPCB_ADDREF">
            <summary>
            Version 5.80 or later. A page is being created. The return value is not used.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.PSPCB.PSPCB_RELEASE">
            <summary>
            A page is being destroyed. The return value is ignored.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.PSPCB.PSPCB_CREATE">
            <summary>
            A dialog box for a page is being created. Return nonzero to allow it to be created, or zero to prevent it.
            </summary>
        </member>
        <member name="T:SharpShell.Interop.Ole32">
            <summary>
            Ole32 imports.
            </summary>
        </member>
        <member name="M:SharpShell.Interop.Ole32.ReleaseStgMedium(System.Runtime.InteropServices.ComTypes.STGMEDIUM@)">
            <summary>
            Releases the STG medium.
            </summary>
            <param name="pmedium">The pmedium.</param>
        </member>
        <member name="M:SharpShell.Interop.Ole32.CoCreateInstance(System.Guid,System.Object,SharpShell.Interop.CLSCTX,System.Guid,System.Object@)">
            <summary>
            Coes the create instance.
            </summary>
            <param name="rclsid">The rclsid.</param>
            <param name="pUnkOuter">The p unk outer.</param>
            <param name="dwClsContext">The dw CLS context.</param>
            <param name="riid">The riid.</param>
            <param name="rReturnedComObject">The r returned COM object.</param>
            <returns></returns>
        </member>
        <member name="T:SharpShell.Interop.IInitializeWithStream">
            <summary>
            Exposes a method that initializes a handler, such as a property handler, thumbnail handler, or preview handler, with a stream.
            </summary>
        </member>
        <member name="M:SharpShell.Interop.IInitializeWithStream.Initialize(System.Runtime.InteropServices.ComTypes.IStream,System.UInt32)">
            <summary>
            Initializes a handler with a stream.
            </summary>
            <param name="pstream">A pointer to an IStream interface that represents the stream source.</param>
            <param name="grfMode">One of the following STGM values that indicates the access mode for pstream. STGM_READ or STGM_READWRITE.</param>
        </member>
        <member name="T:SharpShell.SharpPreviewHandler.PreviewHandlerHost">
            <summary>
            The PreviewHandlerHost is the window created in the preview 
            pane which will hold the derived preview handlers UI.
            </summary>
        </member>
        <member name="M:SharpShell.SharpPreviewHandler.PreviewHandlerHost.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:SharpShell.SharpPreviewHandler.PreviewHandlerHost"/> class.
            </summary>
        </member>
        <member name="T:SharpShell.Interop.IPreviewHandlerFrame">
            <summary>
            Enables preview handlers to pass keyboard shortcuts to the host. This interface retrieves a list of keyboard shortcuts and directs the host to handle a keyboard shortcut.
            </summary>
        </member>
        <member name="M:SharpShell.Interop.IPreviewHandlerFrame.GetWindowContext(SharpShell.Interop.PREVIEWHANDLERFRAMEINFO)">
            <summary>
            Gets a list of the keyboard shortcuts for the preview host.
            </summary>
            <param name="pinfo">A pointer to a PREVIEWHANDLERFRAMEINFO structure that receives accelerator table information.</param>
            <returns>If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.</returns>
        </member>
        <member name="M:SharpShell.Interop.IPreviewHandlerFrame.TranslateAccelerator(SharpShell.Interop.MSG)">
            <summary>
            Directs the host to handle an keyboard shortcut passed from the preview handler.
            </summary>
            <param name="pmsg">A pointer to a WM_COMMAND or WM_SYSCOMMAND window message that corresponds to a keyboard shortcut.</param>
            <returns>If the keyboard shortcut is one that the host intends to handle, the host will process it and return S_OK; otherwise, it returns S_FALSE.</returns>
        </member>
        <member name="T:SharpShell.Interop.LOGFONT">
            <summary>
            The LOGFONT structure defines the attributes of a font.
            </summary>
        </member>
        <member name="T:SharpShell.Interop.IOleWindow">
            <summary>
            The IOleWindow interface provides methods that allow an application to obtain the handle to the various windows that participate in in-place activation, and also to enter and exit context-sensitive help mode.
            </summary>
        </member>
        <member name="M:SharpShell.Interop.IOleWindow.GetWindow(System.IntPtr@)">
            <summary>
            Retrieves a handle to one of the windows participating in in-place activation (frame, document, parent, or in-place object window).
            </summary>
            <param name="phwnd">A pointer to a variable that receives the window handle.</param>
            <returns>This method returns S_OK on success. </returns>
        </member>
        <member name="M:SharpShell.Interop.IOleWindow.ContextSensitiveHelp(System.Boolean)">
            <summary>
            Determines whether context-sensitive help mode should be entered during an in-place activation session.
            </summary>
            <param name="fEnterMode">TRUE if help mode should be entered; FALSE if it should be exited.</param>
            <returns>This method returns S_OK if the help mode was entered or exited successfully, depending on the value passed in fEnterMode.</returns>
        </member>
        <member name="T:SharpShell.SharpContextMenu.SharpContextMenu">
            <summary>
            SharpContextMenu is the base class for Shell Context Menu Extensions supported
            by SharpShell. By providing the implementation of 'CanShowMenu' and 'CreateMenu',
            derived classes can provide all of the functionality required to create a fully
            functional shell context menu.
            </summary>
        </member>
        <member name="T:SharpShell.ShellExtInitServer">
            <summary>
            The ShellExtInitServer is the base class for Shell Extension Servers
            that implement IShellExtInit.
            </summary>
        </member>
        <member name="T:SharpShell.Interop.IShellExtInit">
            <summary>
            Exposes a method that initializes Shell extensions for property sheets, shortcut menus, and drag-and-drop handlers (extensions that add items to shortcut menus during nondefault drag-and-drop operations).
            </summary>
        </member>
        <member name="M:SharpShell.Interop.IShellExtInit.Initialize(System.IntPtr,System.IntPtr,System.IntPtr)">
            <summary>
            Initializes a property sheet extension, shortcut menu extension, or drag-and-drop handler.
            </summary>
            <param name="pidlFolder">A pointer to an ITEMIDLIST structure that uniquely identifies a folder. For property sheet extensions, this parameter is NULL. For shortcut menu extensions, it is the item identifier list for the folder that contains the item whose shortcut menu is being displayed. For nondefault drag-and-drop menu extensions, this parameter specifies the target folder.</param>
            <param name="pDataObj">A pointer to an IDataObject interface object that can be used to retrieve the objects being acted upon.</param>
            <param name="hKeyProgID">The registry key for the file object or folder type.</param>
        </member>
        <member name="M:SharpShell.ShellExtInitServer.SharpShell#Interop#IShellExtInit#Initialize(System.IntPtr,System.IntPtr,System.IntPtr)">
            <summary>
            Initializes the shell extension with the parent folder and data object.
            </summary>
            <param name="pidlFolder">The pidl of the parent folder.</param>
            <param name="pDataObj">The data object pointer.</param>
            <param name="hKeyProgID">The handle to the key prog id.</param>
        </member>
        <member name="F:SharpShell.ShellExtInitServer.selectedItemPaths">
            <summary>
            The selected item paths.
            </summary>
        </member>
        <member name="P:SharpShell.ShellExtInitServer.SelectedItemPaths">
            <summary>
            Gets the selected item paths.
            </summary>
        </member>
        <member name="T:SharpShell.Interop.IContextMenu">
            <summary>
            Exposes methods that either create or merge a shortcut menu associated with a Shell object.
            </summary>
        </member>
        <member name="M:SharpShell.Interop.IContextMenu.QueryContextMenu(System.IntPtr,System.UInt32,System.Int32,System.Int32,SharpShell.Interop.CMF)">
            <summary>
            Adds commands to a shortcut menu.
            </summary>
            <param name="hMenu">A handle to the shortcut menu. The handler should specify this handle when adding menu items.</param>
            <param name="indexMenu">The zero-based position at which to insert the first new menu item.</param>
            <param name="idCmdFirst">The minimum value that the handler can specify for a menu item identifier.</param>
            <param name="idCmdLast">The maximum value that the handler can specify for a menu item identifier.</param>
            <param name="uFlags">Optional flags that specify how the shortcut menu can be changed. This parameter can be set to a combination of the following values. The remaining bits of the low-order word are reserved by the system. The high-order word can be used for context-specific communications. The CMF_RESERVED value can be used to mask the low-order word.</param>
            <returns>If successful, returns an HRESULT value that has its severity value set to SEVERITY_SUCCESS and its code value set to the offset of the largest command identifier that was assigned, plus one. For example, if idCmdFirst is set to 5 and you add three items to the menu with command identifiers of 5, 7, and 8, the return value should be MAKE_HRESULT(SEVERITY_SUCCESS, 0, 8 - 5 + 1). Otherwise, it returns a COM error value.</returns>
        </member>
        <member name="M:SharpShell.Interop.IContextMenu.InvokeCommand(System.IntPtr)">
            <summary>
            Carries out the command associated with a shortcut menu item.
            </summary>
            <param name="pici">A pointer to a CMINVOKECOMMANDINFO or CMINVOKECOMMANDINFOEX structure containing information about the command. For further details, see the Remarks section.</param>
            <returns>If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.</returns>
        </member>
        <member name="M:SharpShell.Interop.IContextMenu.GetCommandString(System.Int32,SharpShell.Interop.GCS,System.Int32,System.Text.StringBuilder,System.Int32)">
            <summary>
            Gets information about a shortcut menu command, including the help string and the language-independent, or canonical, name for the command.
            </summary>
            <param name="idcmd">Menu command identifier offset.</param>
            <param name="uflags">Flags specifying the information to return. This parameter can have one of the following values.</param>
            <param name="reserved">Reserved. Applications must specify NULL when calling this method and handlers must ignore this parameter when called.</param>
            <param name="commandstring">The address of the buffer to receive the null-terminated string being retrieved.</param>
            <param name="cch">Size of the buffer, in characters, to receive the null-terminated string.</param>
            <returns>If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.</returns>
        </member>
        <member name="M:SharpShell.SharpContextMenu.SharpContextMenu.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:SharpShell.SharpContextMenu.SharpContextMenu"/> class.
            </summary>
        </member>
        <member name="M:SharpShell.SharpContextMenu.SharpContextMenu.SharpShell#Interop#IContextMenu#QueryContextMenu(System.IntPtr,System.UInt32,System.Int32,System.Int32,SharpShell.Interop.CMF)">
            <summary>
            Called to query the context menu.
            </summary>
            <param name="hMenu">The handle to the parent menu.</param>
            <param name="indexMenu">The index of the menu.</param>
            <param name="idCmdFirst">The first command ID.</param>
            <param name="idCmdLast">The last command ID.</param>
            <param name="uFlags">The flags.</param>
            <returns>An HRESULT indicating success.</returns>
        </member>
        <member name="M:SharpShell.SharpContextMenu.SharpContextMenu.SharpShell#Interop#IContextMenu#InvokeCommand(System.IntPtr)">
            <summary>
            Called to invoke the comamand.
            </summary>
            <param name="pici">The command info pointer.</param>
        </member>
        <member name="M:SharpShell.SharpContextMenu.SharpContextMenu.SharpShell#Interop#IContextMenu#GetCommandString(System.Int32,SharpShell.Interop.GCS,System.Int32,System.Text.StringBuilder,System.Int32)">
            <summary>
            Gets the command string.
            </summary>
            <param name="idcmd">The idcmd.</param>
            <param name="uflags">The uflags.</param>
            <param name="reserved">The reserved.</param>
            <param name="commandstring">The commandstring.</param>
            <param name="cch">The CCH.</param>
        </member>
        <member name="M:SharpShell.SharpContextMenu.SharpContextMenu.CanShowMenu">
            <summary>
            Determines whether this instance can a shell context show menu, given the specified selected file list.
            </summary>
            <returns>
              <c>true</c> if this instance should show a shell context menu for the specified file list; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:SharpShell.SharpContextMenu.SharpContextMenu.CreateMenu">
            <summary>
            Creates the context menu. This can be a single menu item or a tree of them.
            </summary>
            <returns>The context menu for the shell context menu.</returns>
        </member>
        <member name="F:SharpShell.SharpContextMenu.SharpContextMenu.contextMenuStrip">
            <summary>
            The lazy context menu strip, only created when we actually need it.
            </summary>
        </member>
        <member name="F:SharpShell.SharpContextMenu.SharpContextMenu.nativeContextMenuWrapper">
            <summary>
            The native context menu wrapper.
            </summary>
        </member>
        <member name="T:SharpShell.Diagnostics.Logging">
            <summary>
            The logging class is used for SharpShell logging.
            </summary>
        </member>
        <member name="F:SharpShell.Diagnostics.Logging.EventLog_Log">
            <summary>
            The event log log.
            </summary>
        </member>
        <member name="F:SharpShell.Diagnostics.Logging.EventLog_Source">
            <summary>
            The EventLog Source for SharpShell.
            </summary>
        </member>
        <member name="M:SharpShell.Diagnostics.Logging.#cctor">
            <summary>
            Initializes the <see cref="T:SharpShell.Diagnostics.Logging"/> class.
            </summary>
        </member>
        <member name="M:SharpShell.Diagnostics.Logging.CurrentDomain_UnhandledException(System.Object,System.UnhandledExceptionEventArgs)">
            <summary>
            Handles the UnhandledException event of the CurrentDomain.
            </summary>
            <param name="sender">The source of the event.</param>
            <param name="e">The <see cref="T:System.UnhandledExceptionEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:SharpShell.Diagnostics.Logging.Log(System.String)">
            <summary>
            Logs the specified message.
            </summary>
            <param name="message">The message.</param>
        </member>
        <member name="M:SharpShell.Diagnostics.Logging.Error(System.String,System.Exception)">
            <summary>
            Logs the specified message as an error.
            </summary>
            <param name="message">The message.</param>
            <param name="exception">The exception.</param>
        </member>
        <member name="M:SharpShell.Diagnostics.Logging.IsLoggingEnabled">
            <summary>
            Determines whether logging is enabled.
            </summary>
            <returns>
              <c>true</c> if logging is enabled; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:SharpShell.Diagnostics.Logging.EnableLogging(System.Boolean)">
            <summary>
            Enables or disables logging.
            </summary>
            <param name="enable">if set to <c>true</c> enable logging, otherwise, disable logging.</param>
            <returns></returns>
        </member>
        <member name="T:SharpShell.Interop.SEE">
            <summary>
            Flags that indicate the content and validity of the other structure members; a combination of the following values:
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SEE.SEE_MASK_DEFAULT">
            <summary>
            Use default values.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SEE.SEE_MASK_CLASSNAME">
            <summary>
            Use the class name given by the lpClass member. If both SEE_MASK_CLASSKEY and SEE_MASK_CLASSNAME are set, the class key is used.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SEE.SEE_MASK_CLASSKEY">
            <summary>
            Use the class key given by the hkeyClass member. If both SEE_MASK_CLASSKEY and SEE_MASK_CLASSNAME are set, the class key is used.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SEE.SEE_MASK_IDLIST">
            <summary>
            Use the item identifier list given by the lpIDList member. The lpIDList member must point to an ITEMIDLIST structure.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SEE.SEE_MASK_INVOKEIDLIST">
            <summary>
            Use the IContextMenu interface of the selected item's shortcut menu handler. Use either lpFile to identify the item by its file system path or lpIDList to identify the item by its PIDL. This flag allows applications to use ShellExecuteEx to invoke verbs from shortcut menu extensions instead of the static verbs listed in the registry.
            Note SEE_MASK_INVOKEIDLIST overrides and implies SEE_MASK_IDLIST.
             </summary>
        </member>
        <member name="F:SharpShell.Interop.SEE.SEE_MASK_ICON">
            <summary>
            Use the icon given by the hIcon member. This flag cannot be combined with SEE_MASK_HMONITOR.
            Note This flag is used only in Windows XP and earlier. It is ignored as of Windows Vista.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SEE.SEE_MASK_HOTKEY">
            <summary>
            Use the keyboard shortcut given by the dwHotKey member.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SEE.SEE_MASK_NOCLOSEPROCESS">
            <summary>
            Use to indicate that the hProcess member receives the process handle. This handle is typically used to allow an application to find out when a process created with ShellExecuteEx terminates. In some cases, such as when execution is satisfied through a DDE conversation, no handle will be returned. The calling application is responsible for closing the handle when it is no longer needed.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SEE.SEE_MASK_CONNECTNETDRV">
            <summary>
            Validate the share and connect to a drive letter. This enables reconnection of disconnected network drives. The lpFile member is a UNC path of a file on a network.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SEE.SEE_MASK_NOASYNC">
            <summary>
            Wait for the execute operation to complete before returning. This flag should be used by callers that are using ShellExecute forms that might result in an async activation, for example DDE, and create a process that might be run on a background thread. (Note: ShellExecuteEx runs on a background thread by default if the caller's threading model is not Apartment., Calls to ShellExecuteEx from processes already running on background threads should always pass this flag. Also, applications that exit immediately after calling ShellExecuteEx should specify this flag.
            If the execute operation is performed on a background thread and the caller did not specify the SEE_MASK_ASYNCOK flag, then the calling thread waits until the new process has started before returning. This typically means that either CreateProcess has been called, the DDE communication has completed, or that the custom execution delegate has notified ShellExecuteEx that it is done. If the SEE_MASK_WAITFORINPUTIDLE flag is specified, then ShellExecuteEx calls WaitForInputIdle and waits for the new process to idle before returning, with a maximum timeout of 1 minute.
            For further discussion on when this flag is necessary, see the Remarks section.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SEE.SEE_MASK_FLAG_DDEWAIT">
            <summary>
            Do not use; use SEE_MASK_NOASYNC instead.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SEE.SEE_MASK_DOENVSUBST">
            <summary>
            Expand any environment variables specified in the string given by the lpDirectory or lpFile member.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SEE.SEE_MASK_FLAG_NO_UI">
            <summary>
            Do not display an error message box if an error occurs.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SEE.SEE_MASK_UNICODE">
            <summary>
            Use this flag to indicate a Unicode application.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SEE.SEE_MASK_NO_CONSOLE">
            <summary>
            Use to inherit the parent's console for the new process instead of having it create a new console. It is the opposite of using a CREATE_NEW_CONSOLE flag with CreateProcess.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SEE.SEE_MASK_ASYNCOK">
            <summary>
            The execution can be performed on a background thread and the call should return immediately without waiting for the background thread to finish. Note that in certain cases ShellExecuteEx ignores this flag and waits for the process to finish before returning.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SEE.SEE_MASK_NOQUERYCLASSSTORE">
            <summary>
            Not used.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SEE.SEE_MASK_HMONITOR">
            <summary>
            Use this flag when specifying a monitor on multi-monitor systems. The monitor is specified in the hMonitor member. This flag cannot be combined with SEE_MASK_ICON.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SEE.SEE_MASK_NOZONECHECKS">
            <summary>
            Introduced in Windows XP. Do not perform a zone check. This flag allows ShellExecuteEx to bypass zone checking put into place by IAttachmentExecute.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SEE.SEE_MASK_WAITFORINPUTIDLE">
            <summary>
            After the new process is created, wait for the process to become idle before returning, with a one minute timeout. See WaitForInputIdle for more details.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SEE.SEE_MASK_FLAG_LOG_USAGE">
            <summary>
            Introduced in Windows XP. Keep track of the number of times this application has been launched. Applications with sufficiently high counts appear in the Start Menu's list of most frequently used programs.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SEE.SEE_MASK_FLAG_HINST_IS_SITE">
            <summary>
            Introduced in Windows 8. The hInstApp member is used to specify the IUnknown of the object that will be used as a site pointer. The site pointer is used to provide services to the ShellExecute function, the handler binding process, and invoked verb handlers.
            </summary>
        </member>
        <member name="T:SharpShell.Interop.IObjectWithSite">
            <summary>
            Provides a simple way to support communication between an object and its site in the container.
            </summary>
        </member>
        <member name="M:SharpShell.Interop.IObjectWithSite.GetSite(System.Guid@,System.Object@)">
            <summary>
            Retrieves the latest site passed using SetSite.
            </summary>
            <param name="riid">The IID of the interface pointer that should be returned in ppvSite.</param>
            <param name="ppvSite">Address of pointer variable that receives the interface pointer requested in riid. Upon successful return, *ppvSite contains the requested interface pointer to the site last seen in SetSite. The specific interface returned depends on the riid argument—in essence, the two arguments act identically to those in QueryInterface. If the appropriate interface pointer is available, the object must call AddRef on that pointer before returning successfully. If no site is available, or the requested interface is not supported, this method must *ppvSite to NULL and return a failure code.</param>
            <returns>This method returns S_OK on success.</returns>
        </member>
        <member name="M:SharpShell.Interop.IObjectWithSite.SetSite(System.Object)">
            <summary>
            Enables a container to pass an object a pointer to the interface for its site.
            </summary>
            <param name="pUnkSite">A pointer to the IUnknown interface pointer of the site managing this object. If NULL, the object should call Release on any existing site at which point the object no longer knows its site.</param>
            <returns>This method returns S_OK on success.</returns>
        </member>
        <member name="T:SharpShell.ServerRegistration.ServerRegistrationManager">
            <summary>
            THe Server Registration Manager is an object that can be used to
            help with Server Registration tasks, such as registering, unregistering
            and checking servers. It will work with SharpShell Server objects or
            other servers.
            </summary>
        </member>
        <member name="F:SharpShell.ServerRegistration.ServerRegistrationManager.KeyName_Classes">
            <summary>
            The classes key name.
            </summary>
        </member>
        <member name="F:SharpShell.ServerRegistration.ServerRegistrationManager.KeyName_InProc32">
            <summary>
            The InProc32 key name.
            </summary>
        </member>
        <member name="F:SharpShell.ServerRegistration.ServerRegistrationManager.KeyValue_NetFrameworkServer">
            <summary>
            The value for the net framework servers.
            </summary>
        </member>
        <member name="F:SharpShell.ServerRegistration.ServerRegistrationManager.KeyName_ThreadingModel">
            <summary>
            The threading model key name.
            </summary>
        </member>
        <member name="F:SharpShell.ServerRegistration.ServerRegistrationManager.KeyName_Assembly">
            <summary>
            THe assembly key name.
            </summary>
        </member>
        <member name="F:SharpShell.ServerRegistration.ServerRegistrationManager.KeyName_Class">
            <summary>
            The class key name.
            </summary>
        </member>
        <member name="F:SharpShell.ServerRegistration.ServerRegistrationManager.KeyName_RuntimeVersion">
            <summary>
            The runtime version key name.
            </summary>
        </member>
        <member name="F:SharpShell.ServerRegistration.ServerRegistrationManager.KeyName_CodeBase">
            <summary>
            The codebase keyname.
            </summary>
        </member>
        <member name="F:SharpShell.ServerRegistration.ServerRegistrationManager.KeyName_DefaultIcon">
            <summary>
            The default icon keyname.
            </summary>
        </member>
        <member name="F:SharpShell.ServerRegistration.ServerRegistrationManager.ValueName_DefaultIconBackup">
            <summary>
            The default icon backup value name.
            </summary>
        </member>
        <member name="F:SharpShell.ServerRegistration.ServerRegistrationManager.SpecialClass_AllFiles">
            <summary>
            The 'all files' special class.
            </summary>
        </member>
        <member name="F:SharpShell.ServerRegistration.ServerRegistrationManager.SpecialClass_Drive">
            <summary>
            The 'drive' special class.
            </summary>
        </member>
        <member name="F:SharpShell.ServerRegistration.ServerRegistrationManager.SpecialClass_Directory">
            <summary>
            The 'directory' special class.
            </summary>
        </member>
        <member name="F:SharpShell.ServerRegistration.ServerRegistrationManager.SpecialClass_UnknownFiles">
            <summary>
            The 'unknown files' special class.
            </summary>
        </member>
        <member name="M:SharpShell.ServerRegistration.ServerRegistrationManager.InstallServer(SharpShell.ISharpShellServer,SharpShell.ServerRegistration.RegistrationType,System.Boolean)">
            <summary>
            Installs a SharpShell COM server.
            </summary>
            <param name="server">The server.</param>
            <param name="registrationType">Type of the registration.</param>
            <param name="codeBase">if set to <c>true</c> use code base registration (i.e full assembly path, not the GAC).</param>
        </member>
        <member name="M:SharpShell.ServerRegistration.ServerRegistrationManager.UninstallServer(SharpShell.ISharpShellServer,SharpShell.ServerRegistration.RegistrationType)">
            <summary>
            Uninstalls the server.
            </summary>
            <param name="server">The server.</param>
            <param name="registrationType">Type of the registration.</param>
        </member>
        <member name="M:SharpShell.ServerRegistration.ServerRegistrationManager.RegisterServer(SharpShell.ISharpShellServer,SharpShell.ServerRegistration.RegistrationType)">
            <summary>
            Registers a SharpShell server. This will create the associations defined by the
            server's COMServerAssociation attribute.
            </summary>
            <param name="server">The server.</param>
            <param name="registrationType">Type of the registration.</param>
        </member>
        <member name="M:SharpShell.ServerRegistration.ServerRegistrationManager.UnregisterServer(SharpShell.ISharpShellServer,SharpShell.ServerRegistration.RegistrationType)">
            <summary>
            Unregisters a SharpShell server. This will remove the associations defined by the
            server's COMServerAssociation attribute.
            </summary>
            <param name="server">The server.</param>
            <param name="registrationType">Type of the registration to undo.</param>
        </member>
        <member name="M:SharpShell.ServerRegistration.ServerRegistrationManager.GetServerRegistrationInfo(SharpShell.ISharpShellServer,SharpShell.ServerRegistration.RegistrationType)">
            <summary>
            Gets the server registration info.
            </summary>
            <param name="server">The server.</param>
            <param name="registrationType">Type of the registration.</param>
            <returns>
            The ServerRegistrationInfo if the server is registered, otherwise false.
            </returns>
        </member>
        <member name="M:SharpShell.ServerRegistration.ServerRegistrationManager.GetServerRegistrationInfo(System.Guid,SharpShell.ServerRegistration.RegistrationType)">
            <summary>
            Gets the server registration info.
            </summary>
            <param name="serverCLSID">The server CLSID.</param>
            <param name="registrationType">Type of the registration.</param>
            <returns>
            The ServerRegistrationInfo if the server is registered, otherwise false.
            </returns>
        </member>
        <member name="M:SharpShell.ServerRegistration.ServerRegistrationManager.GetClassForExtension(System.String)">
            <summary>
            Gets the class for an extension.
            </summary>
            <param name="extension">The extension.</param>
            <returns>The class for the extension.</returns>
        </member>
        <member name="M:SharpShell.ServerRegistration.ServerRegistrationManager.RegisterServerAssociations(System.Guid,SharpShell.ServerType,System.String,SharpShell.Attributes.AssociationType,System.Collections.Generic.IEnumerable{System.String},SharpShell.ServerRegistration.RegistrationType)">
            <summary>
            Registers the server associations.
            </summary>
            <param name="serverClsid">The server CLSID.</param>
            <param name="serverType">Type of the server.</param>
            <param name="serverName">Name of the server.</param>
            <param name="associationType">Type of the association.</param>
            <param name="associations">The associations.</param>
            <param name="registrationType">Type of the registration.</param>
        </member>
        <member name="M:SharpShell.ServerRegistration.ServerRegistrationManager.SetIconHandlerDefaultIcon(Microsoft.Win32.RegistryKey,System.String)">
            <summary>
            Sets the icon handler default icon, enabling an icon handler extension.
            </summary>
            <param name="classesKey">The classes key.</param>
            <param name="className">Name of the class.</param>
        </member>
        <member name="M:SharpShell.ServerRegistration.ServerRegistrationManager.UnsetIconHandlerDefaultIcon(Microsoft.Win32.RegistryKey,System.String)">
            <summary>
            Unsets the icon handler default icon sharp shell value, restoring the backed up value.
            </summary>
            <param name="classesKey">The classes key.</param>
            <param name="className">Name of the class.</param>
        </member>
        <member name="M:SharpShell.ServerRegistration.ServerRegistrationManager.UnregisterServerAssociations(System.Guid,SharpShell.ServerType,System.String,SharpShell.Attributes.AssociationType,System.Collections.Generic.IEnumerable{System.String},SharpShell.ServerRegistration.RegistrationType)">
            <summary>
            Unregisters the server associations.
            </summary>
            <param name="serverClsid">The server CLSID.</param>
            <param name="serverType">Type of the server.</param>
            <param name="serverName">Name of the server.</param>
            <param name="associationType">Type of the association.</param>
            <param name="associations">The associations.</param>
            <param name="registrationType">Type of the registration.</param>
        </member>
        <member name="M:SharpShell.ServerRegistration.ServerRegistrationManager.CreateClassNamesForAssociations(SharpShell.Attributes.AssociationType,System.Collections.Generic.IEnumerable{System.String},SharpShell.ServerRegistration.RegistrationType)">
            <summary>
            Creates the class names for associations.
            </summary>
            <param name="associationType">Type of the association.</param>
            <param name="associations">The associations.</param>
            <param name="registrationType">Type of the registration.</param>
            <returns>
            The class names for the associations.
            </returns>
        </member>
        <member name="M:SharpShell.ServerRegistration.ServerRegistrationManager.GetKeyForServerType(System.String,SharpShell.ServerType,System.String)">
            <summary>
            Gets the type of the key for server.
            </summary>
            <param name="className">Name of the class.</param>
            <param name="serverType">Type of the server.</param>
            <param name="serverName">Name of the server.</param>
            <returns></returns>
        </member>
        <member name="M:SharpShell.ServerRegistration.ServerRegistrationManager.OpenClassesKey(SharpShell.ServerRegistration.RegistrationType,Microsoft.Win32.RegistryKeyPermissionCheck)">
            <summary>
            Opens the classes key.
            </summary>
            <param name="registrationType">Type of the registration.</param>
            <param name="permissions">The permissions.</param>
            <returns></returns>
        </member>
        <member name="M:SharpShell.ServerRegistration.ServerRegistrationManager.OpenClassesRoot(SharpShell.ServerRegistration.RegistrationType)">
            <summary>
            Opens the classes root.
            </summary>
            <param name="registrationType">Type of the registration.</param>
            <returns>The classes root key.</returns>
        </member>
        <member name="M:SharpShell.ServerRegistration.ServerRegistrationManager.GetValueOrEmpty(Microsoft.Win32.RegistryKey,System.String)">
            <summary>
            Gets the value or empty.
            </summary>
            <param name="key">The key.</param>
            <param name="valueName">Name of the value.</param>
            <returns></returns>
        </member>
        <member name="T:SharpShell.Interop.WM">
            <summary>
            Windows Messages
            Defined in winuser.h from Windows SDK v6.1
            Documentation pulled from MSDN.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.NULL">
            <summary>
            The WM_NULL message performs no operation. An application sends the WM_NULL message if it wants to post a message that the recipient window will ignore.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.CREATE">
            <summary>
            The WM_CREATE message is sent when an application requests that a window be created by calling the CreateWindowEx or CreateWindow function. (The message is sent before the function returns.) The window procedure of the new window receives this message after the window is created, but before the window becomes visible.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.DESTROY">
            <summary>
            The WM_DESTROY message is sent when a window is being destroyed. It is sent to the window procedure of the window being destroyed after the window is removed from the screen. 
            This message is sent first to the window being destroyed and then to the child windows (if any) as they are destroyed. During the processing of the message, it can be assumed that all child windows still exist.
            /// </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.MOVE">
            <summary>
            The WM_MOVE message is sent after a window has been moved. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.SIZE">
            <summary>
            The WM_SIZE message is sent to a window after its size has changed.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.ACTIVATE">
            <summary>
            The WM_ACTIVATE message is sent to both the window being activated and the window being deactivated. If the windows use the same input queue, the message is sent synchronously, first to the window procedure of the top-level window being deactivated, then to the window procedure of the top-level window being activated. If the windows use different input queues, the message is sent asynchronously, so the window is activated immediately. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.SETFOCUS">
            <summary>
            The WM_SETFOCUS message is sent to a window after it has gained the keyboard focus. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.KILLFOCUS">
            <summary>
            The WM_KILLFOCUS message is sent to a window immediately before it loses the keyboard focus. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.ENABLE">
            <summary>
            The WM_ENABLE message is sent when an application changes the enabled state of a window. It is sent to the window whose enabled state is changing. This message is sent before the EnableWindow function returns, but after the enabled state (WS_DISABLED style bit) of the window has changed. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.SETREDRAW">
            <summary>
            An application sends the WM_SETREDRAW message to a window to allow changes in that window to be redrawn or to prevent changes in that window from being redrawn. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.SETTEXT">
            <summary>
            An application sends a WM_SETTEXT message to set the text of a window. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.GETTEXT">
            <summary>
            An application sends a WM_GETTEXT message to copy the text that corresponds to a window into a buffer provided by the caller. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.GETTEXTLENGTH">
            <summary>
            An application sends a WM_GETTEXTLENGTH message to determine the length, in characters, of the text associated with a window. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.PAINT">
            <summary>
            The WM_PAINT message is sent when the system or another application makes a request to paint a portion of an application's window. The message is sent when the UpdateWindow or RedrawWindow function is called, or by the DispatchMessage function when the application obtains a WM_PAINT message by using the GetMessage or PeekMessage function. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.CLOSE">
            <summary>
            The WM_CLOSE message is sent as a signal that a window or an application should terminate.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.QUERYENDSESSION">
            <summary>
            The WM_QUERYENDSESSION message is sent when the user chooses to end the session or when an application calls one of the system shutdown functions. If any application returns zero, the session is not ended. The system stops sending WM_QUERYENDSESSION messages as soon as one application returns zero.
            After processing this message, the system sends the WM_ENDSESSION message with the wParam parameter set to the results of the WM_QUERYENDSESSION message.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.QUERYOPEN">
            <summary>
            The WM_QUERYOPEN message is sent to an icon when the user requests that the window be restored to its previous size and position.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.ENDSESSION">
            <summary>
            The WM_ENDSESSION message is sent to an application after the system processes the results of the WM_QUERYENDSESSION message. The WM_ENDSESSION message informs the application whether the session is ending.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.QUIT">
            <summary>
            The WM_QUIT message indicates a request to terminate an application and is generated when the application calls the PostQuitMessage function. It causes the GetMessage function to return zero.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.ERASEBKGND">
            <summary>
            The WM_ERASEBKGND message is sent when the window background must be erased (for example, when a window is resized). The message is sent to prepare an invalidated portion of a window for painting. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.SYSCOLORCHANGE">
            <summary>
            This message is sent to all top-level windows when a change is made to a system color setting. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.SHOWWINDOW">
            <summary>
            The WM_SHOWWINDOW message is sent to a window when the window is about to be hidden or shown.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.WININICHANGE">
            <summary>
            An application sends the WM_WININICHANGE message to all top-level windows after making a change to the WIN.INI file. The SystemParametersInfo function sends this message after an application uses the function to change a setting in WIN.INI.
            Note  The WM_WININICHANGE message is provided only for compatibility with earlier versions of the system. Applications should use the WM_SETTINGCHANGE message.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.SETTINGCHANGE">
            <summary>
            An application sends the WM_WININICHANGE message to all top-level windows after making a change to the WIN.INI file. The SystemParametersInfo function sends this message after an application uses the function to change a setting in WIN.INI.
            Note  The WM_WININICHANGE message is provided only for compatibility with earlier versions of the system. Applications should use the WM_SETTINGCHANGE message.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.DEVMODECHANGE">
            <summary>
            The WM_DEVMODECHANGE message is sent to all top-level windows whenever the user changes device-mode settings. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.ACTIVATEAPP">
            <summary>
            The WM_ACTIVATEAPP message is sent when a window belonging to a different application than the active window is about to be activated. The message is sent to the application whose window is being activated and to the application whose window is being deactivated.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.FONTCHANGE">
            <summary>
            An application sends the WM_FONTCHANGE message to all top-level windows in the system after changing the pool of font resources. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.TIMECHANGE">
            <summary>
            A message that is sent whenever there is a change in the system time.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.CANCELMODE">
            <summary>
            The WM_CANCELMODE message is sent to cancel certain modes, such as mouse capture. For example, the system sends this message to the active window when a dialog box or message box is displayed. Certain functions also send this message explicitly to the specified window regardless of whether it is the active window. For example, the EnableWindow function sends this message when disabling the specified window.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.SETCURSOR">
            <summary>
            The WM_SETCURSOR message is sent to a window if the mouse causes the cursor to move within a window and mouse input is not captured. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.MOUSEACTIVATE">
            <summary>
            The WM_MOUSEACTIVATE message is sent when the cursor is in an inactive window and the user presses a mouse button. The parent window receives this message only if the child window passes it to the DefWindowProc function.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.CHILDACTIVATE">
            <summary>
            The WM_CHILDACTIVATE message is sent to a child window when the user clicks the window's title bar or when the window is activated, moved, or sized.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.QUEUESYNC">
            <summary>
            The WM_QUEUESYNC message is sent by a computer-based training (CBT) application to separate user-input messages from other messages sent through the WH_JOURNALPLAYBACK Hook procedure. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.GETMINMAXINFO">
            <summary>
            The WM_GETMINMAXINFO message is sent to a window when the size or position of the window is about to change. An application can use this message to override the window's default maximized size and position, or its default minimum or maximum tracking size. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.PAINTICON">
            <summary>
            Windows NT 3.51 and earlier: The WM_PAINTICON message is sent to a minimized window when the icon is to be painted. This message is not sent by newer versions of Microsoft Windows, except in unusual circumstances explained in the Remarks.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.ICONERASEBKGND">
            <summary>
            Windows NT 3.51 and earlier: The WM_ICONERASEBKGND message is sent to a minimized window when the background of the icon must be filled before painting the icon. A window receives this message only if a class icon is defined for the window; otherwise, WM_ERASEBKGND is sent. This message is not sent by newer versions of Windows.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.NEXTDLGCTL">
            <summary>
            The WM_NEXTDLGCTL message is sent to a dialog box procedure to set the keyboard focus to a different control in the dialog box. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.SPOOLERSTATUS">
            <summary>
            The WM_SPOOLERSTATUS message is sent from Print Manager whenever a job is added to or removed from the Print Manager queue. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.DRAWITEM">
            <summary>
            The WM_DRAWITEM message is sent to the parent window of an owner-drawn button, combo box, list box, or menu when a visual aspect of the button, combo box, list box, or menu has changed.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.MEASUREITEM">
            <summary>
            The WM_MEASUREITEM message is sent to the owner window of a combo box, list box, list view control, or menu item when the control or menu is created.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.DELETEITEM">
            <summary>
            Sent to the owner of a list box or combo box when the list box or combo box is destroyed or when items are removed by the LB_DELETESTRING, LB_RESETCONTENT, CB_DELETESTRING, or CB_RESETCONTENT message. The system sends a WM_DELETEITEM message for each deleted item. The system sends the WM_DELETEITEM message for any deleted list box or combo box item with nonzero item data.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.VKEYTOITEM">
            <summary>
            Sent by a list box with the LBS_WANTKEYBOARDINPUT style to its owner in response to a WM_KEYDOWN message. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.CHARTOITEM">
            <summary>
            Sent by a list box with the LBS_WANTKEYBOARDINPUT style to its owner in response to a WM_CHAR message. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.SETFONT">
            <summary>
            An application sends a WM_SETFONT message to specify the font that a control is to use when drawing text. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.GETFONT">
            <summary>
            An application sends a WM_GETFONT message to a control to retrieve the font with which the control is currently drawing its text. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.SETHOTKEY">
            <summary>
            An application sends a WM_SETHOTKEY message to a window to associate a hot key with the window. When the user presses the hot key, the system activates the window. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.GETHOTKEY">
            <summary>
            An application sends a WM_GETHOTKEY message to determine the hot key associated with a window. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.QUERYDRAGICON">
            <summary>
            The WM_QUERYDRAGICON message is sent to a minimized (iconic) window. The window is about to be dragged by the user but does not have an icon defined for its class. An application can return a handle to an icon or cursor. The system displays this cursor or icon while the user drags the icon.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.COMPAREITEM">
            <summary>
            The system sends the WM_COMPAREITEM message to determine the relative position of a new item in the sorted list of an owner-drawn combo box or list box. Whenever the application adds a new item, the system sends this message to the owner of a combo box or list box created with the CBS_SORT or LBS_SORT style. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.GETOBJECT">
            <summary>
            Active Accessibility sends the WM_GETOBJECT message to obtain information about an accessible object contained in a server application. 
            Applications never send this message directly. It is sent only by Active Accessibility in response to calls to AccessibleObjectFromPoint, AccessibleObjectFromEvent, or AccessibleObjectFromWindow. However, server applications handle this message. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.COMPACTING">
            <summary>
            The WM_COMPACTING message is sent to all top-level windows when the system detects more than 12.5 percent of system time over a 30- to 60-second interval is being spent compacting memory. This indicates that system memory is low.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.COMMNOTIFY">
            <summary>
            WM_COMMNOTIFY is Obsolete for Win32-Based Applications
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.WINDOWPOSCHANGING">
            <summary>
            The WM_WINDOWPOSCHANGING message is sent to a window whose size, position, or place in the Z order is about to change as a result of a call to the SetWindowPos function or another window-management function.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.WINDOWPOSCHANGED">
            <summary>
            The WM_WINDOWPOSCHANGED message is sent to a window whose size, position, or place in the Z order has changed as a result of a call to the SetWindowPos function or another window-management function.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.POWER">
            <summary>
            Notifies applications that the system, typically a battery-powered personal computer, is about to enter a suspended mode.
            Use: POWERBROADCAST
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.COPYDATA">
            <summary>
            An application sends the WM_COPYDATA message to pass data to another application. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.CANCELJOURNAL">
            <summary>
            The WM_CANCELJOURNAL message is posted to an application when a user cancels the application's journaling activities. The message is posted with a NULL window handle. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.NOTIFY">
            <summary>
            Sent by a common control to its parent window when an event has occurred or the control requires some information. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.INPUTLANGCHANGEREQUEST">
            <summary>
            The WM_INPUTLANGCHANGEREQUEST message is posted to the window with the focus when the user chooses a new input language, either with the hotkey (specified in the Keyboard control panel application) or from the indicator on the system taskbar. An application can accept the change by passing the message to the DefWindowProc function or reject the change (and prevent it from taking place) by returning immediately. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.INPUTLANGCHANGE">
            <summary>
            The WM_INPUTLANGCHANGE message is sent to the topmost affected window after an application's input language has been changed. You should make any application-specific settings and pass the message to the DefWindowProc function, which passes the message to all first-level child windows. These child windows can pass the message to DefWindowProc to have it pass the message to their child windows, and so on. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.TCARD">
            <summary>
            Sent to an application that has initiated a training card with Microsoft Windows Help. The message informs the application when the user clicks an authorable button. An application initiates a training card by specifying the HELP_TCARD command in a call to the WinHelp function.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.HELP">
            <summary>
            Indicates that the user pressed the F1 key. If a menu is active when F1 is pressed, WM_HELP is sent to the window associated with the menu; otherwise, WM_HELP is sent to the window that has the keyboard focus. If no window has the keyboard focus, WM_HELP is sent to the currently active window. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.USERCHANGED">
            <summary>
            The WM_USERCHANGED message is sent to all windows after the user has logged on or off. When the user logs on or off, the system updates the user-specific settings. The system sends this message immediately after updating the settings.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.NOTIFYFORMAT">
            <summary>
            Determines if a window accepts ANSI or Unicode structures in the WM_NOTIFY notification message. WM_NOTIFYFORMAT messages are sent from a common control to its parent window and from the parent window to the common control.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.CONTEXTMENU">
            <summary>
            The WM_CONTEXTMENU message notifies a window that the user clicked the right mouse button (right-clicked) in the window.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.STYLECHANGING">
            <summary>
            The WM_STYLECHANGING message is sent to a window when the SetWindowLong function is about to change one or more of the window's styles.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.STYLECHANGED">
            <summary>
            The WM_STYLECHANGED message is sent to a window after the SetWindowLong function has changed one or more of the window's styles
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.DISPLAYCHANGE">
            <summary>
            The WM_DISPLAYCHANGE message is sent to all windows when the display resolution has changed.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.GETICON">
            <summary>
            The WM_GETICON message is sent to a window to retrieve a handle to the large or small icon associated with a window. The system displays the large icon in the ALT+TAB dialog, and the small icon in the window caption. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.SETICON">
            <summary>
            An application sends the WM_SETICON message to associate a new large or small icon with a window. The system displays the large icon in the ALT+TAB dialog box, and the small icon in the window caption. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.NCCREATE">
            <summary>
            The WM_NCCREATE message is sent prior to the WM_CREATE message when a window is first created.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.NCDESTROY">
            <summary>
            The WM_NCDESTROY message informs a window that its nonclient area is being destroyed. The DestroyWindow function sends the WM_NCDESTROY message to the window following the WM_DESTROY message. WM_DESTROY is used to free the allocated memory object associated with the window. 
            The WM_NCDESTROY message is sent after the child windows have been destroyed. In contrast, WM_DESTROY is sent before the child windows are destroyed.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.NCCALCSIZE">
            <summary>
            The WM_NCCALCSIZE message is sent when the size and position of a window's client area must be calculated. By processing this message, an application can control the content of the window's client area when the size or position of the window changes.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.NCHITTEST">
            <summary>
            The WM_NCHITTEST message is sent to a window when the cursor moves, or when a mouse button is pressed or released. If the mouse is not captured, the message is sent to the window beneath the cursor. Otherwise, the message is sent to the window that has captured the mouse.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.NCPAINT">
            <summary>
            The WM_NCPAINT message is sent to a window when its frame must be painted. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.NCACTIVATE">
            <summary>
            The WM_NCACTIVATE message is sent to a window when its nonclient area needs to be changed to indicate an active or inactive state.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.GETDLGCODE">
            <summary>
            The WM_GETDLGCODE message is sent to the window procedure associated with a control. By default, the system handles all keyboard input to the control; the system interprets certain types of keyboard input as dialog box navigation keys. To override this default behavior, the control can respond to the WM_GETDLGCODE message to indicate the types of input it wants to process itself.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.SYNCPAINT">
            <summary>
            The WM_SYNCPAINT message is used to synchronize painting while avoiding linking independent GUI threads.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.NCMOUSEMOVE">
            <summary>
            The WM_NCMOUSEMOVE message is posted to a window when the cursor is moved within the nonclient area of the window. This message is posted to the window that contains the cursor. If a window has captured the mouse, this message is not posted.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.NCLBUTTONDOWN">
            <summary>
            The WM_NCLBUTTONDOWN message is posted when the user presses the left mouse button while the cursor is within the nonclient area of a window. This message is posted to the window that contains the cursor. If a window has captured the mouse, this message is not posted.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.NCLBUTTONUP">
            <summary>
            The WM_NCLBUTTONUP message is posted when the user releases the left mouse button while the cursor is within the nonclient area of a window. This message is posted to the window that contains the cursor. If a window has captured the mouse, this message is not posted.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.NCLBUTTONDBLCLK">
            <summary>
            The WM_NCLBUTTONDBLCLK message is posted when the user double-clicks the left mouse button while the cursor is within the nonclient area of a window. This message is posted to the window that contains the cursor. If a window has captured the mouse, this message is not posted.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.NCRBUTTONDOWN">
            <summary>
            The WM_NCRBUTTONDOWN message is posted when the user presses the right mouse button while the cursor is within the nonclient area of a window. This message is posted to the window that contains the cursor. If a window has captured the mouse, this message is not posted.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.NCRBUTTONUP">
            <summary>
            The WM_NCRBUTTONUP message is posted when the user releases the right mouse button while the cursor is within the nonclient area of a window. This message is posted to the window that contains the cursor. If a window has captured the mouse, this message is not posted.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.NCRBUTTONDBLCLK">
            <summary>
            The WM_NCRBUTTONDBLCLK message is posted when the user double-clicks the right mouse button while the cursor is within the nonclient area of a window. This message is posted to the window that contains the cursor. If a window has captured the mouse, this message is not posted.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.NCMBUTTONDOWN">
            <summary>
            The WM_NCMBUTTONDOWN message is posted when the user presses the middle mouse button while the cursor is within the nonclient area of a window. This message is posted to the window that contains the cursor. If a window has captured the mouse, this message is not posted.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.NCMBUTTONUP">
            <summary>
            The WM_NCMBUTTONUP message is posted when the user releases the middle mouse button while the cursor is within the nonclient area of a window. This message is posted to the window that contains the cursor. If a window has captured the mouse, this message is not posted.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.NCMBUTTONDBLCLK">
            <summary>
            The WM_NCMBUTTONDBLCLK message is posted when the user double-clicks the middle mouse button while the cursor is within the nonclient area of a window. This message is posted to the window that contains the cursor. If a window has captured the mouse, this message is not posted.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.NCXBUTTONDOWN">
            <summary>
            The WM_NCXBUTTONDOWN message is posted when the user presses the first or second X button while the cursor is in the nonclient area of a window. This message is posted to the window that contains the cursor. If a window has captured the mouse, this message is not posted.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.NCXBUTTONUP">
            <summary>
            The WM_NCXBUTTONUP message is posted when the user releases the first or second X button while the cursor is in the nonclient area of a window. This message is posted to the window that contains the cursor. If a window has captured the mouse, this message is not posted.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.NCXBUTTONDBLCLK">
            <summary>
            The WM_NCXBUTTONDBLCLK message is posted when the user double-clicks the first or second X button while the cursor is in the nonclient area of a window. This message is posted to the window that contains the cursor. If a window has captured the mouse, this message is not posted.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.INPUT_DEVICE_CHANGE">
            <summary>
            The WM_INPUT_DEVICE_CHANGE message is sent to the window that registered to receive raw input. A window receives this message through its WindowProc function.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.INPUT">
            <summary>
            The WM_INPUT message is sent to the window that is getting raw input. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.KEYFIRST">
            <summary>
            This message filters for keyboard messages.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.KEYDOWN">
            <summary>
            The WM_KEYDOWN message is posted to the window with the keyboard focus when a nonsystem key is pressed. A nonsystem key is a key that is pressed when the ALT key is not pressed. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.KEYUP">
            <summary>
            The WM_KEYUP message is posted to the window with the keyboard focus when a nonsystem key is released. A nonsystem key is a key that is pressed when the ALT key is not pressed, or a keyboard key that is pressed when a window has the keyboard focus. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.CHAR">
            <summary>
            The WM_CHAR message is posted to the window with the keyboard focus when a WM_KEYDOWN message is translated by the TranslateMessage function. The WM_CHAR message contains the character code of the key that was pressed. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.DEADCHAR">
            <summary>
            The WM_DEADCHAR message is posted to the window with the keyboard focus when a WM_KEYUP message is translated by the TranslateMessage function. WM_DEADCHAR specifies a character code generated by a dead key. A dead key is a key that generates a character, such as the umlaut (double-dot), that is combined with another character to form a composite character. For example, the umlaut-O character (Ö) is generated by typing the dead key for the umlaut character, and then typing the O key. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.SYSKEYDOWN">
            <summary>
            The WM_SYSKEYDOWN message is posted to the window with the keyboard focus when the user presses the F10 key (which activates the menu bar) or holds down the ALT key and then presses another key. It also occurs when no window currently has the keyboard focus; in this case, the WM_SYSKEYDOWN message is sent to the active window. The window that receives the message can distinguish between these two contexts by checking the context code in the lParam parameter. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.SYSKEYUP">
            <summary>
            The WM_SYSKEYUP message is posted to the window with the keyboard focus when the user releases a key that was pressed while the ALT key was held down. It also occurs when no window currently has the keyboard focus; in this case, the WM_SYSKEYUP message is sent to the active window. The window that receives the message can distinguish between these two contexts by checking the context code in the lParam parameter. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.SYSCHAR">
            <summary>
            The WM_SYSCHAR message is posted to the window with the keyboard focus when a WM_SYSKEYDOWN message is translated by the TranslateMessage function. It specifies the character code of a system character key — that is, a character key that is pressed while the ALT key is down. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.SYSDEADCHAR">
            <summary>
            The WM_SYSDEADCHAR message is sent to the window with the keyboard focus when a WM_SYSKEYDOWN message is translated by the TranslateMessage function. WM_SYSDEADCHAR specifies the character code of a system dead key — that is, a dead key that is pressed while holding down the ALT key. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.UNICHAR">
            <summary>
            The WM_UNICHAR message is posted to the window with the keyboard focus when a WM_KEYDOWN message is translated by the TranslateMessage function. The WM_UNICHAR message contains the character code of the key that was pressed. 
            The WM_UNICHAR message is equivalent to WM_CHAR, but it uses Unicode Transformation Format (UTF)-32, whereas WM_CHAR uses UTF-16. It is designed to send or post Unicode characters to ANSI windows and it can can handle Unicode Supplementary Plane characters.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.KEYLAST">
            <summary>
            This message filters for keyboard messages.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.IME_STARTCOMPOSITION">
            <summary>
            Sent immediately before the IME generates the composition string as a result of a keystroke. A window receives this message through its WindowProc function. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.IME_ENDCOMPOSITION">
            <summary>
            Sent to an application when the IME ends composition. A window receives this message through its WindowProc function. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.IME_COMPOSITION">
            <summary>
            Sent to an application when the IME changes composition status as a result of a keystroke. A window receives this message through its WindowProc function. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.IME_KEYLAST">
            <summary>
            Not documented.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.INITDIALOG">
            <summary>
            The WM_INITDIALOG message is sent to the dialog box procedure immediately before a dialog box is displayed. Dialog box procedures typically use this message to initialize controls and carry out any other initialization tasks that affect the appearance of the dialog box. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.COMMAND">
            <summary>
            The WM_COMMAND message is sent when the user selects a command item from a menu, when a control sends a notification message to its parent window, or when an accelerator keystroke is translated. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.SYSCOMMAND">
            <summary>
            A window receives this message when the user chooses a command from the Window menu, clicks the maximize button, minimize button, restore button, close button, or moves the form. You can stop the form from moving by filtering this out.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.TIMER">
            <summary>
            The WM_TIMER message is posted to the installing thread's message queue when a timer expires. The message is posted by the GetMessage or PeekMessage function. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.HSCROLL">
            <summary>
            The WM_HSCROLL message is sent to a window when a scroll event occurs in the window's standard horizontal scroll bar. This message is also sent to the owner of a horizontal scroll bar control when a scroll event occurs in the control. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.VSCROLL">
            <summary>
            The WM_VSCROLL message is sent to a window when a scroll event occurs in the window's standard vertical scroll bar. This message is also sent to the owner of a vertical scroll bar control when a scroll event occurs in the control. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.INITMENU">
            <summary>
            The WM_INITMENU message is sent when a menu is about to become active. It occurs when the user clicks an item on the menu bar or presses a menu key. This allows the application to modify the menu before it is displayed. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.INITMENUPOPUP">
            <summary>
            The WM_INITMENUPOPUP message is sent when a drop-down menu or submenu is about to become active. This allows an application to modify the menu before it is displayed, without changing the entire menu. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.MENUSELECT">
            <summary>
            The WM_MENUSELECT message is sent to a menu's owner window when the user selects a menu item. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.MENUCHAR">
            <summary>
            The WM_MENUCHAR message is sent when a menu is active and the user presses a key that does not correspond to any mnemonic or accelerator key. This message is sent to the window that owns the menu. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.ENTERIDLE">
            <summary>
            The WM_ENTERIDLE message is sent to the owner window of a modal dialog box or menu that is entering an idle state. A modal dialog box or menu enters an idle state when no messages are waiting in its queue after it has processed one or more previous messages. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.MENURBUTTONUP">
            <summary>
            The WM_MENURBUTTONUP message is sent when the user releases the right mouse button while the cursor is on a menu item. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.MENUDRAG">
            <summary>
            The WM_MENUDRAG message is sent to the owner of a drag-and-drop menu when the user drags a menu item. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.MENUGETOBJECT">
            <summary>
            The WM_MENUGETOBJECT message is sent to the owner of a drag-and-drop menu when the mouse cursor enters a menu item or moves from the center of the item to the top or bottom of the item. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.UNINITMENUPOPUP">
            <summary>
            The WM_UNINITMENUPOPUP message is sent when a drop-down menu or submenu has been destroyed. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.MENUCOMMAND">
            <summary>
            The WM_MENUCOMMAND message is sent when the user makes a selection from a menu. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.CHANGEUISTATE">
            <summary>
            An application sends the WM_CHANGEUISTATE message to indicate that the user interface (UI) state should be changed.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.UPDATEUISTATE">
            <summary>
            An application sends the WM_UPDATEUISTATE message to change the user interface (UI) state for the specified window and all its child windows.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.QUERYUISTATE">
            <summary>
            An application sends the WM_QUERYUISTATE message to retrieve the user interface (UI) state for a window.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.CTLCOLORMSGBOX">
            <summary>
            The WM_CTLCOLORMSGBOX message is sent to the owner window of a message box before Windows draws the message box. By responding to this message, the owner window can set the text and background colors of the message box by using the given display device context handle. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.CTLCOLOREDIT">
            <summary>
            An edit control that is not read-only or disabled sends the WM_CTLCOLOREDIT message to its parent window when the control is about to be drawn. By responding to this message, the parent window can use the specified device context handle to set the text and background colors of the edit control. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.CTLCOLORLISTBOX">
            <summary>
            Sent to the parent window of a list box before the system draws the list box. By responding to this message, the parent window can set the text and background colors of the list box by using the specified display device context handle. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.CTLCOLORBTN">
            <summary>
            The WM_CTLCOLORBTN message is sent to the parent window of a button before drawing the button. The parent window can change the button's text and background colors. However, only owner-drawn buttons respond to the parent window processing this message. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.CTLCOLORDLG">
            <summary>
            The WM_CTLCOLORDLG message is sent to a dialog box before the system draws the dialog box. By responding to this message, the dialog box can set its text and background colors using the specified display device context handle. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.CTLCOLORSCROLLBAR">
            <summary>
            The WM_CTLCOLORSCROLLBAR message is sent to the parent window of a scroll bar control when the control is about to be drawn. By responding to this message, the parent window can use the display context handle to set the background color of the scroll bar control. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.CTLCOLORSTATIC">
            <summary>
            A static control, or an edit control that is read-only or disabled, sends the WM_CTLCOLORSTATIC message to its parent window when the control is about to be drawn. By responding to this message, the parent window can use the specified device context handle to set the text and background colors of the static control. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.MOUSEFIRST">
            <summary>
            Use WM_MOUSEFIRST to specify the first mouse message. Use the PeekMessage() Function.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.MOUSEMOVE">
            <summary>
            The WM_MOUSEMOVE message is posted to a window when the cursor moves. If the mouse is not captured, the message is posted to the window that contains the cursor. Otherwise, the message is posted to the window that has captured the mouse.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.LBUTTONDOWN">
            <summary>
            The WM_LBUTTONDOWN message is posted when the user presses the left mouse button while the cursor is in the client area of a window. If the mouse is not captured, the message is posted to the window beneath the cursor. Otherwise, the message is posted to the window that has captured the mouse.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.LBUTTONUP">
            <summary>
            The WM_LBUTTONUP message is posted when the user releases the left mouse button while the cursor is in the client area of a window. If the mouse is not captured, the message is posted to the window beneath the cursor. Otherwise, the message is posted to the window that has captured the mouse.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.LBUTTONDBLCLK">
            <summary>
            The WM_LBUTTONDBLCLK message is posted when the user double-clicks the left mouse button while the cursor is in the client area of a window. If the mouse is not captured, the message is posted to the window beneath the cursor. Otherwise, the message is posted to the window that has captured the mouse.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.RBUTTONDOWN">
            <summary>
            The WM_RBUTTONDOWN message is posted when the user presses the right mouse button while the cursor is in the client area of a window. If the mouse is not captured, the message is posted to the window beneath the cursor. Otherwise, the message is posted to the window that has captured the mouse.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.RBUTTONUP">
            <summary>
            The WM_RBUTTONUP message is posted when the user releases the right mouse button while the cursor is in the client area of a window. If the mouse is not captured, the message is posted to the window beneath the cursor. Otherwise, the message is posted to the window that has captured the mouse.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.RBUTTONDBLCLK">
            <summary>
            The WM_RBUTTONDBLCLK message is posted when the user double-clicks the right mouse button while the cursor is in the client area of a window. If the mouse is not captured, the message is posted to the window beneath the cursor. Otherwise, the message is posted to the window that has captured the mouse.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.MBUTTONDOWN">
            <summary>
            The WM_MBUTTONDOWN message is posted when the user presses the middle mouse button while the cursor is in the client area of a window. If the mouse is not captured, the message is posted to the window beneath the cursor. Otherwise, the message is posted to the window that has captured the mouse.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.MBUTTONUP">
            <summary>
            The WM_MBUTTONUP message is posted when the user releases the middle mouse button while the cursor is in the client area of a window. If the mouse is not captured, the message is posted to the window beneath the cursor. Otherwise, the message is posted to the window that has captured the mouse.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.MBUTTONDBLCLK">
            <summary>
            The WM_MBUTTONDBLCLK message is posted when the user double-clicks the middle mouse button while the cursor is in the client area of a window. If the mouse is not captured, the message is posted to the window beneath the cursor. Otherwise, the message is posted to the window that has captured the mouse.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.MOUSEWHEEL">
            <summary>
            The WM_MOUSEWHEEL message is sent to the focus window when the mouse wheel is rotated. The DefWindowProc function propagates the message to the window's parent. There should be no internal forwarding of the message, since DefWindowProc propagates it up the parent chain until it finds a window that processes it.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.XBUTTONDOWN">
            <summary>
            The WM_XBUTTONDOWN message is posted when the user presses the first or second X button while the cursor is in the client area of a window. If the mouse is not captured, the message is posted to the window beneath the cursor. Otherwise, the message is posted to the window that has captured the mouse. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.XBUTTONUP">
            <summary>
            The WM_XBUTTONUP message is posted when the user releases the first or second X button while the cursor is in the client area of a window. If the mouse is not captured, the message is posted to the window beneath the cursor. Otherwise, the message is posted to the window that has captured the mouse.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.XBUTTONDBLCLK">
            <summary>
            The WM_XBUTTONDBLCLK message is posted when the user double-clicks the first or second X button while the cursor is in the client area of a window. If the mouse is not captured, the message is posted to the window beneath the cursor. Otherwise, the message is posted to the window that has captured the mouse.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.MOUSEHWHEEL">
            <summary>
            The WM_MOUSEHWHEEL message is sent to the focus window when the mouse's horizontal scroll wheel is tilted or rotated. The DefWindowProc function propagates the message to the window's parent. There should be no internal forwarding of the message, since DefWindowProc propagates it up the parent chain until it finds a window that processes it.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.MOUSELAST">
            <summary>
            Use WM_MOUSELAST to specify the last mouse message. Used with PeekMessage() Function.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.PARENTNOTIFY">
            <summary>
            The WM_PARENTNOTIFY message is sent to the parent of a child window when the child window is created or destroyed, or when the user clicks a mouse button while the cursor is over the child window. When the child window is being created, the system sends WM_PARENTNOTIFY just before the CreateWindow or CreateWindowEx function that creates the window returns. When the child window is being destroyed, the system sends the message before any processing to destroy the window takes place.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.ENTERMENULOOP">
            <summary>
            The WM_ENTERMENULOOP message informs an application's main window procedure that a menu modal loop has been entered. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.EXITMENULOOP">
            <summary>
            The WM_EXITMENULOOP message informs an application's main window procedure that a menu modal loop has been exited. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.NEXTMENU">
            <summary>
            The WM_NEXTMENU message is sent to an application when the right or left arrow key is used to switch between the menu bar and the system menu. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.SIZING">
            <summary>
            The WM_SIZING message is sent to a window that the user is resizing. By processing this message, an application can monitor the size and position of the drag rectangle and, if needed, change its size or position. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.CAPTURECHANGED">
            <summary>
            The WM_CAPTURECHANGED message is sent to the window that is losing the mouse capture.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.MOVING">
            <summary>
            The WM_MOVING message is sent to a window that the user is moving. By processing this message, an application can monitor the position of the drag rectangle and, if needed, change its position.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.POWERBROADCAST">
            <summary>
            Notifies applications that a power-management event has occurred.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.DEVICECHANGE">
            <summary>
            Notifies an application of a change to the hardware configuration of a device or the computer.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.MDICREATE">
            <summary>
            An application sends the WM_MDICREATE message to a multiple-document interface (MDI) client window to create an MDI child window. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.MDIDESTROY">
            <summary>
            An application sends the WM_MDIDESTROY message to a multiple-document interface (MDI) client window to close an MDI child window. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.MDIACTIVATE">
            <summary>
            An application sends the WM_MDIACTIVATE message to a multiple-document interface (MDI) client window to instruct the client window to activate a different MDI child window. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.MDIRESTORE">
            <summary>
            An application sends the WM_MDIRESTORE message to a multiple-document interface (MDI) client window to restore an MDI child window from maximized or minimized size. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.MDINEXT">
            <summary>
            An application sends the WM_MDINEXT message to a multiple-document interface (MDI) client window to activate the next or previous child window. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.MDIMAXIMIZE">
            <summary>
            An application sends the WM_MDIMAXIMIZE message to a multiple-document interface (MDI) client window to maximize an MDI child window. The system resizes the child window to make its client area fill the client window. The system places the child window's window menu icon in the rightmost position of the frame window's menu bar, and places the child window's restore icon in the leftmost position. The system also appends the title bar text of the child window to that of the frame window. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.MDITILE">
            <summary>
            An application sends the WM_MDITILE message to a multiple-document interface (MDI) client window to arrange all of its MDI child windows in a tile format. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.MDICASCADE">
            <summary>
            An application sends the WM_MDICASCADE message to a multiple-document interface (MDI) client window to arrange all its child windows in a cascade format. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.MDIICONARRANGE">
            <summary>
            An application sends the WM_MDIICONARRANGE message to a multiple-document interface (MDI) client window to arrange all minimized MDI child windows. It does not affect child windows that are not minimized. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.MDIGETACTIVE">
            <summary>
            An application sends the WM_MDIGETACTIVE message to a multiple-document interface (MDI) client window to retrieve the handle to the active MDI child window. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.MDISETMENU">
            <summary>
            An application sends the WM_MDISETMENU message to a multiple-document interface (MDI) client window to replace the entire menu of an MDI frame window, to replace the window menu of the frame window, or both. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.ENTERSIZEMOVE">
            <summary>
            The WM_ENTERSIZEMOVE message is sent one time to a window after it enters the moving or sizing modal loop. The window enters the moving or sizing modal loop when the user clicks the window's title bar or sizing border, or when the window passes the WM_SYSCOMMAND message to the DefWindowProc function and the wParam parameter of the message specifies the SC_MOVE or SC_SIZE value. The operation is complete when DefWindowProc returns. 
            The system sends the WM_ENTERSIZEMOVE message regardless of whether the dragging of full windows is enabled.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.EXITSIZEMOVE">
            <summary>
            The WM_EXITSIZEMOVE message is sent one time to a window, after it has exited the moving or sizing modal loop. The window enters the moving or sizing modal loop when the user clicks the window's title bar or sizing border, or when the window passes the WM_SYSCOMMAND message to the DefWindowProc function and the wParam parameter of the message specifies the SC_MOVE or SC_SIZE value. The operation is complete when DefWindowProc returns. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.DROPFILES">
            <summary>
            Sent when the user drops a file on the window of an application that has registered itself as a recipient of dropped files.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.MDIREFRESHMENU">
            <summary>
            An application sends the WM_MDIREFRESHMENU message to a multiple-document interface (MDI) client window to refresh the window menu of the MDI frame window. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.IME_SETCONTEXT">
            <summary>
            Sent to an application when a window is activated. A window receives this message through its WindowProc function. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.IME_NOTIFY">
            <summary>
            Sent to an application to notify it of changes to the IME window. A window receives this message through its WindowProc function. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.IME_CONTROL">
            <summary>
            Sent by an application to direct the IME window to carry out the requested command. The application uses this message to control the IME window that it has created. To send this message, the application calls the SendMessage function with the following parameters.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.IME_COMPOSITIONFULL">
            <summary>
            Sent to an application when the IME window finds no space to extend the area for the composition window. A window receives this message through its WindowProc function. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.IME_SELECT">
            <summary>
            Sent to an application when the operating system is about to change the current IME. A window receives this message through its WindowProc function. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.IME_CHAR">
            <summary>
            Sent to an application when the IME gets a character of the conversion result. A window receives this message through its WindowProc function. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.IME_REQUEST">
            <summary>
            Sent to an application to provide commands and request information. A window receives this message through its WindowProc function. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.IME_KEYDOWN">
            <summary>
            Sent to an application by the IME to notify the application of a key press and to keep message order. A window receives this message through its WindowProc function. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.IME_KEYUP">
            <summary>
            Sent to an application by the IME to notify the application of a key release and to keep message order. A window receives this message through its WindowProc function. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.MOUSEHOVER">
            <summary>
            The WM_MOUSEHOVER message is posted to a window when the cursor hovers over the client area of the window for the period of time specified in a prior call to TrackMouseEvent.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.MOUSELEAVE">
            <summary>
            The WM_MOUSELEAVE message is posted to a window when the cursor leaves the client area of the window specified in a prior call to TrackMouseEvent.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.NCMOUSEHOVER">
            <summary>
            The WM_NCMOUSEHOVER message is posted to a window when the cursor hovers over the nonclient area of the window for the period of time specified in a prior call to TrackMouseEvent.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.NCMOUSELEAVE">
            <summary>
            The WM_NCMOUSELEAVE message is posted to a window when the cursor leaves the nonclient area of the window specified in a prior call to TrackMouseEvent.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.WTSSESSION_CHANGE">
            <summary>
            The WM_WTSSESSION_CHANGE message notifies applications of changes in session state.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.TABLET_FIRST">
            <summary>
            Tablet first.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.TABLET_LAST">
            <summary>
            Tablet last.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.CUT">
            <summary>
            An application sends a WM_CUT message to an edit control or combo box to delete (cut) the current selection, if any, in the edit control and copy the deleted text to the clipboard in CF_TEXT format. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.COPY">
            <summary>
            An application sends the WM_COPY message to an edit control or combo box to copy the current selection to the clipboard in CF_TEXT format. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.PASTE">
            <summary>
            An application sends a WM_PASTE message to an edit control or combo box to copy the current content of the clipboard to the edit control at the current caret position. Data is inserted only if the clipboard contains data in CF_TEXT format. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.CLEAR">
            <summary>
            An application sends a WM_CLEAR message to an edit control or combo box to delete (clear) the current selection, if any, from the edit control. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.UNDO">
            <summary>
            An application sends a WM_UNDO message to an edit control to undo the last operation. When this message is sent to an edit control, the previously deleted text is restored or the previously added text is deleted.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.RENDERFORMAT">
            <summary>
            The WM_RENDERFORMAT message is sent to the clipboard owner if it has delayed rendering a specific clipboard format and if an application has requested data in that format. The clipboard owner must render data in the specified format and place it on the clipboard by calling the SetClipboardData function. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.RENDERALLFORMATS">
            <summary>
            The WM_RENDERALLFORMATS message is sent to the clipboard owner before it is destroyed, if the clipboard owner has delayed rendering one or more clipboard formats. For the content of the clipboard to remain available to other applications, the clipboard owner must render data in all the formats it is capable of generating, and place the data on the clipboard by calling the SetClipboardData function. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.DESTROYCLIPBOARD">
            <summary>
            The WM_DESTROYCLIPBOARD message is sent to the clipboard owner when a call to the EmptyClipboard function empties the clipboard. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.DRAWCLIPBOARD">
            <summary>
            The WM_DRAWCLIPBOARD message is sent to the first window in the clipboard viewer chain when the content of the clipboard changes. This enables a clipboard viewer window to display the new content of the clipboard. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.PAINTCLIPBOARD">
            <summary>
            The WM_PAINTCLIPBOARD message is sent to the clipboard owner by a clipboard viewer window when the clipboard contains data in the CF_OWNERDISPLAY format and the clipboard viewer's client area needs repainting. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.VSCROLLCLIPBOARD">
            <summary>
            The WM_VSCROLLCLIPBOARD message is sent to the clipboard owner by a clipboard viewer window when the clipboard contains data in the CF_OWNERDISPLAY format and an event occurs in the clipboard viewer's vertical scroll bar. The owner should scroll the clipboard image and update the scroll bar values. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.SIZECLIPBOARD">
            <summary>
            The WM_SIZECLIPBOARD message is sent to the clipboard owner by a clipboard viewer window when the clipboard contains data in the CF_OWNERDISPLAY format and the clipboard viewer's client area has changed size. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.ASKCBFORMATNAME">
            <summary>
            The WM_ASKCBFORMATNAME message is sent to the clipboard owner by a clipboard viewer window to request the name of a CF_OWNERDISPLAY clipboard format.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.CHANGECBCHAIN">
            <summary>
            The WM_CHANGECBCHAIN message is sent to the first window in the clipboard viewer chain when a window is being removed from the chain. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.HSCROLLCLIPBOARD">
            <summary>
            The WM_HSCROLLCLIPBOARD message is sent to the clipboard owner by a clipboard viewer window. This occurs when the clipboard contains data in the CF_OWNERDISPLAY format and an event occurs in the clipboard viewer's horizontal scroll bar. The owner should scroll the clipboard image and update the scroll bar values. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.QUERYNEWPALETTE">
            <summary>
            This message informs a window that it is about to receive the keyboard focus, giving the window the opportunity to realize its logical palette when it receives the focus.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.PALETTEISCHANGING">
            <summary>
            The WM_PALETTEISCHANGING message informs applications that an application is going to realize its logical palette. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.PALETTECHANGED">
            <summary>
            This message is sent by the OS to all top-level and overlapped windows after the window with the keyboard focus realizes its logical palette. 
            This message enables windows that do not have the keyboard focus to realize their logical palettes and update their client areas.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.HOTKEY">
            <summary>
            The WM_HOTKEY message is posted when the user presses a hot key registered by the RegisterHotKey function. The message is placed at the top of the message queue associated with the thread that registered the hot key. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.PRINT">
            <summary>
            The WM_PRINT message is sent to a window to request that it draw itself in the specified device context, most commonly in a printer device context.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.PRINTCLIENT">
            <summary>
            The WM_PRINTCLIENT message is sent to a window to request that it draw its client area in the specified device context, most commonly in a printer device context.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.APPCOMMAND">
            <summary>
            The WM_APPCOMMAND message notifies a window that the user generated an application command event, for example, by clicking an application command button using the mouse or typing an application command key on the keyboard.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.THEMECHANGED">
            <summary>
            The WM_THEMECHANGED message is broadcast to every window following a theme change event. Examples of theme change events are the activation of a theme, the deactivation of a theme, or a transition from one theme to another.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.CLIPBOARDUPDATE">
            <summary>
            Sent when the contents of the clipboard have changed.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.DWMCOMPOSITIONCHANGED">
            <summary>
            The system will send a window the WM_DWMCOMPOSITIONCHANGED message to indicate that the availability of desktop composition has changed.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.DWMNCRENDERINGCHANGED">
            <summary>
            WM_DWMNCRENDERINGCHANGED is called when the non-client area rendering status of a window has changed. Only windows that have set the flag DWM_BLURBEHIND.fTransitionOnMaximized to true will get this message. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.DWMCOLORIZATIONCOLORCHANGED">
            <summary>
            Sent to all top-level windows when the colorization color has changed. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.DWMWINDOWMAXIMIZEDCHANGE">
            <summary>
            WM_DWMWINDOWMAXIMIZEDCHANGE will let you know when a DWM composed window is maximized. You also have to register for this message as well. You'd have other windowd go opaque when this message is sent.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.GETTITLEBARINFOEX">
            <summary>
            Sent to request extended title bar information. A window receives this message through its WindowProc function.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.HANDHELDFIRST">
            <summary>
            The HANDHELDFIRST
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.HANDHELDLAST">
            <summary>
            The HANDHELDLAST
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.AFXFIRST">
            <summary>
            The AFXFIRST
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.AFXLAST">
            <summary>
            The AFXLAST
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.PENWINFIRST">
            <summary>
            The PENWINFIRST
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.PENWINLAST">
            <summary>
            The PENWINLAST
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.APP">
            <summary>
            The WM_APP constant is used by applications to help define private messages, usually of the form WM_APP+X, where X is an integer value. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.USER">
            <summary>
            The WM_USER constant is used by applications to help define private messages for use by private window classes, usually of the form WM_USER+X, where X is an integer value. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.CPL_LAUNCH">
            <summary>
            An application sends the WM_CPL_LAUNCH message to Windows Control Panel to request that a Control Panel application be started. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.CPL_LAUNCHED">
            <summary>
            The WM_CPL_LAUNCHED message is sent when a Control Panel application, started by the WM_CPL_LAUNCH message, has closed. The WM_CPL_LAUNCHED message is sent to the window identified by the wParam parameter of the WM_CPL_LAUNCH message that started the application. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.WM.SYSTIMER">
            <summary>
            WM_SYSTIMER is a well-known yet still undocumented message. Windows uses WM_SYSTIMER for internal actions like scrolling.
            </summary>
        </member>
        <member name="T:SharpShell.Interop.SFGAO">
            <summary>
            Flags for IShellFolder::GetAttributesOf.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SFGAO.SFGAO_CANCOPY">
            <summary>
            Objects can be copied  (DROPEFFECT_COPY)
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SFGAO.SFGAO_CANMOVE">
            <summary>
            Objects can be moved   (DROPEFFECT_MOVE)
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SFGAO.SFGAO_CANLINK">
            <summary>
            Objects can be linked  (DROPEFFECT_LINK)
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SFGAO.SFGAO_STORAGE">
            <summary>
            Supports BindToObject(IID_IStorage)
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SFGAO.SFGAO_CANRENAME">
            <summary>
            Objects can be renamed
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SFGAO.SFGAO_CANDELETE">
            <summary>
            Objects can be deleted
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SFGAO.SFGAO_HASPROPSHEET">
            <summary>
             Objects have property sheets
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SFGAO.SFGAO_DROPTARGET">
            <summary>
            Objects are drop target
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SFGAO.SFGAO_CAPABILITYMASK">
            <summary>
            Mask for capabilities.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SFGAO.SFGAO_ENCRYPTED">
            <summary>
            Object is encrypted (use alt color)
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SFGAO.SFGAO_ISSLOW">
            <summary>
            'Slow' object
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SFGAO.SFGAO_GHOSTED">
            <summary>
            Ghosted icon
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SFGAO.SFGAO_LINK">
            <summary>
            Shortcut (link)
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SFGAO.SFGAO_SHARE">
            <summary>
            Shared
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SFGAO.SFGAO_READONLY">
            <summary>
            Read-only
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SFGAO.SFGAO_HIDDEN">
            <summary>
            Hidden object
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SFGAO.SFGAO_DISPLAYATTRMASK">
            <summary>
            Display attribute mask.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SFGAO.SFGAO_FILESYSANCESTOR">
            <summary>
             May contain children with SFGAO_FILESYSTEM
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SFGAO.SFGAO_FOLDER">
            <summary>
            Support BindToObject(IID_IShellFolder)
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SFGAO.SFGAO_FILESYSTEM">
            <summary>
            Is a win32 file system object (file/folder/root)
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SFGAO.SFGAO_HASSUBFOLDER">
            <summary>
            May contain children with SFGAO_FOLDER
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SFGAO.SFGAO_CONTENTSMASK">
            <summary>
            Contents mask.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SFGAO.SFGAO_VALIDATE">
            <summary>
            Invalidate cached information
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SFGAO.SFGAO_REMOVABLE">
            <summary>
            Is this removeable media?
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SFGAO.SFGAO_COMPRESSED">
            <summary>
            Object is compressed (use alt color)
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SFGAO.SFGAO_BROWSABLE">
            <summary>
            Supports IShellFolder, but only implements CreateViewObject() (non-folder view)
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SFGAO.SFGAO_NONENUMERATED">
            <summary>
             Is a non-enumerated object
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SFGAO.SFGAO_NEWCONTENT">
            <summary>
            Should show bold in explorer tree
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SFGAO.SFGAO_CANMONIKER">
            <summary>
            Defunct
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SFGAO.SFGAO_HASSTORAGE">
            <summary>
            Defunct
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SFGAO.SFGAO_STREAM">
            <summary>
            Supports BindToObject(IID_IStream)
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SFGAO.SFGAO_STORAGEANCESTOR">
            <summary>
            May contain children with SFGAO_STORAGE or SFGAO_STREAM
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SFGAO.SFGAO_STORAGECAPMASK">
            <summary>
            For determining storage capabilities, ie for open/save semantics
            </summary>
        </member>
        <member name="T:SharpShell.Interop.MSG">
            <summary>
            Contains message information from a thread's message queue.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.MSG.hwnd">
            <summary>
            A handle to the window whose window procedure receives the message. This member is NULL when the message is a thread message.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.MSG.message">
            <summary>
            The message identifier. Applications can only use the low word; the high word is reserved by the system.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.MSG.wParam">
            <summary>
            Additional information about the message. The exact meaning depends on the value of the message member.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.MSG.lParam">
            <summary>
            Additional information about the message. The exact meaning depends on the value of the message member.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.MSG.time">
            <summary>
            The time at which the message was posted.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.MSG.pt">
            <summary>
            The cursor position, in screen coordinates, when the message was posted.
            </summary>
        </member>
        <member name="T:SharpShell.Interop.ISIOI">
            <summary>
            Flags for IShellIconOverlayIdentifer::GetOverlayInfo.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.ISIOI.ISIOI_ICONFILE">
            <summary>
            The path of the icon file is returned through pwszIconFile.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.ISIOI.ISIOI_ICONINDEX">
            <summary>
            There is more than one icon in pwszIconFile. The icon's index is returned through pIndex.
            </summary>
        </member>
        <member name="T:SharpShell.Extensions.IDataObjectExtensions">
            <summary>
            Extensions for the IDataObject interface.
            </summary>
        </member>
        <member name="M:SharpShell.Extensions.IDataObjectExtensions.GetFileList(System.Runtime.InteropServices.ComTypes.IDataObject)">
            <summary>
            Gets the file list.
            </summary>
            <param name="this">The IDataObject instance.</param>
            <returns>The file list in the data object.</returns>
        </member>
        <member name="T:SharpShell.SharpPropertySheet.PropertyPageProxy">
            <summary>
            The PropertyPageProxy is the object used to pass data between the 
            shell and the SharpPropertyPage.
            </summary>
        </member>
        <member name="M:SharpShell.SharpPropertySheet.PropertyPageProxy.#ctor">
            <summary>
            Prevents a default instance of the <see cref="T:SharpShell.SharpPropertySheet.PropertyPageProxy"/> class from being created.
            </summary>
        </member>
        <member name="M:SharpShell.SharpPropertySheet.PropertyPageProxy.#ctor(SharpShell.SharpPropertySheet.SharpPropertySheet,SharpShell.SharpPropertySheet.SharpPropertyPage)">
            <summary>
            Initializes a new instance of the <see cref="T:SharpShell.SharpPropertySheet.PropertyPageProxy"/> class.
            </summary>
            <param name="parent">The parent.</param>
            <param name="propertyPage">The target property page.</param>
        </member>
        <member name="M:SharpShell.SharpPropertySheet.PropertyPageProxy.WindowProc(System.IntPtr,System.UInt32,System.IntPtr,System.IntPtr)">
            <summary>
            The WindowProc. Called by the shell and must delegate messages via the proxy to the user control.
            </summary>
            <param name="hWnd">The h WND.</param>
            <param name="uMessage">The u message.</param>
            <param name="wParam">The w param.</param>
            <param name="lParam">The l param.</param>
            <returns></returns>
        </member>
        <member name="M:SharpShell.SharpPropertySheet.PropertyPageProxy.CallbackProc(System.IntPtr,SharpShell.Interop.PSPCB,SharpShell.Interop.PROPSHEETPAGE@)">
            <summary>
            The CallbackProc. Called by the shell to inform of key property page events.
            </summary>
            <param name="hWnd">The h WND.</param>
            <param name="uMsg">The u MSG.</param>
            <param name="ppsp">The PPSP.</param>
            <returns></returns>
        </member>
        <member name="M:SharpShell.SharpPropertySheet.PropertyPageProxy.CreatePropertyPageHandle(SharpShell.NativeBridge.NativeBridge)">
            <summary>
            Creates the property page handle.
            </summary>
        </member>
        <member name="M:SharpShell.SharpPropertySheet.PropertyPageProxy.SetDataChanged(System.Boolean)">
            <summary>
            Sets the data changed state of the parent property sheet, enabling (or disabling) the apply button.
            </summary>
            <param name="changed">if set to <c>true</c> data has changed.</param>
        </member>
        <member name="F:SharpShell.SharpPropertySheet.PropertyPageProxy.dialogProc">
            <summary>
            The dialog proc.
            </summary>
        </member>
        <member name="F:SharpShell.SharpPropertySheet.PropertyPageProxy.callbackProc">
            <summary>
            The callback proc.
            </summary>
        </member>
        <member name="F:SharpShell.SharpPropertySheet.PropertyPageProxy.propertySheetHandle">
            <summary>
            The property sheet handle.
            </summary>
        </member>
        <member name="P:SharpShell.SharpPropertySheet.PropertyPageProxy.Parent">
            <summary>
            Gets or sets the parent.
            </summary>
            <value>
            The parent.
            </value>
        </member>
        <member name="P:SharpShell.SharpPropertySheet.PropertyPageProxy.Target">
            <summary>
            Gets the property page.
            </summary>
            <value>
            The property page.
            </value>
        </member>
        <member name="P:SharpShell.SharpPropertySheet.PropertyPageProxy.HostWindowHandle">
            <summary>
            Gets the host window handle.
            </summary>
            <value>
            The host window handle.
            </value>
        </member>
        <member name="T:SharpShell.ServerRegistration.ServerRegistrationInfo">
            <summary>
            Represents registration info for a server.
            </summary>
        </member>
        <member name="M:SharpShell.ServerRegistration.ServerRegistrationInfo.#ctor(SharpShell.ServerRegistration.ServerRegistationType,System.Guid)">
            <summary>
            Initializes a new instance of the <see cref="T:SharpShell.ServerRegistration.ServerRegistrationInfo"/> class.
            </summary>
            <param name="serverRegistationType">Type of the server registation.</param>
            <param name="serverCLSID">The server CLSID.</param>
        </member>
        <member name="P:SharpShell.ServerRegistration.ServerRegistrationInfo.ServerCLSID">
            <summary>
            Gets the server CLSID.
            </summary>
        </member>
        <member name="P:SharpShell.ServerRegistration.ServerRegistrationInfo.ServerPath">
            <summary>
            Gets the server path.
            </summary>
        </member>
        <member name="P:SharpShell.ServerRegistration.ServerRegistrationInfo.ThreadingModel">
            <summary>
            Gets the threading model.
            </summary>
        </member>
        <member name="P:SharpShell.ServerRegistration.ServerRegistrationInfo.AssemblyVersion">
            <summary>
            Gets the assembly version.
            </summary>
        </member>
        <member name="P:SharpShell.ServerRegistration.ServerRegistrationInfo.Assembly">
            <summary>
            Gets the assembly.
            </summary>
        </member>
        <member name="P:SharpShell.ServerRegistration.ServerRegistrationInfo.Class">
            <summary>
            Gets the class.
            </summary>
        </member>
        <member name="P:SharpShell.ServerRegistration.ServerRegistrationInfo.RuntimeVersion">
            <summary>
            Gets the runtime version.
            </summary>
        </member>
        <member name="P:SharpShell.ServerRegistration.ServerRegistrationInfo.CodeBase">
            <summary>
            Gets the codebase path.
            </summary>
        </member>
        <member name="P:SharpShell.ServerRegistration.ServerRegistrationInfo.ServerRegistationType">
            <summary>
            Gets the type of the server registation.
            </summary>
            <value>
            The type of the server registation.
            </value>
        </member>
        <member name="T:SharpShell.ServerRegistration.RegistrationType">
            <summary>
            The registation type.
            </summary>
        </member>
        <member name="F:SharpShell.ServerRegistration.RegistrationType.OS32Bit">
            <summary>
            32 Bit operating system registration.
            </summary>
        </member>
        <member name="F:SharpShell.ServerRegistration.RegistrationType.OS64Bit">
            <summary>
            64 Bit operating system registration.
            </summary>
        </member>
        <member name="T:SharpShell.SharpPreviewHandler.SharpPreviewHandler">
            <summary>
            The SharpPreviewHandler is the base class for Shell Preview Handlers
            implemented with SharpShell.
            </summary>
        </member>
        <member name="T:SharpShell.Interop.IInitializeWithFile">
            <summary>
            Exposes a method to initialize a handler, such as a property handler, thumbnail handler, or preview handler, with a file path.
            </summary>
        </member>
        <member name="M:SharpShell.Interop.IInitializeWithFile.Initialize(System.String,SharpShell.Interop.STGM)">
            <summary>
            Initializes a handler with a file path.
            </summary>
            <param name="pszFilePath">A pointer to a buffer that contains the file path as a null-terminated Unicode string.</param>
            <param name="grfMode">One of the following STGM values that indicates the access mode for pszFilePath. STGM_READ or STGM_READWRITE.</param>
        </member>
        <member name="T:SharpShell.Interop.IPreviewHandler">
            <summary>
            Exposes methods for the display of rich previews.
            </summary>
        </member>
        <member name="M:SharpShell.Interop.IPreviewHandler.SetWindow(System.IntPtr,SharpShell.Interop.RECT@)">
            <summary>
            Sets the parent window of the previewer window, as well as the area within the parent to be used for the previewer window.
            </summary>
            <param name="hwnd">A handle to the parent window.</param>
            <param name="prc">A pointer to a RECT defining the area for the previewer.</param>
            <returns>If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.</returns>
        </member>
        <member name="M:SharpShell.Interop.IPreviewHandler.SetRect(SharpShell.Interop.RECT)">
            <summary>
            Directs the preview handler to change the area within the parent hwnd that it draws into.
            </summary>
            <param name="prc">A pointer to a RECT to be used for the preview.</param>
            <returns>If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.</returns>
        </member>
        <member name="M:SharpShell.Interop.IPreviewHandler.DoPreview">
            <summary>
            Directs the preview handler to load data from the source specified in an earlier Initialize method call, and to begin rendering to the previewer window.
            </summary>
            <returns>This method can return one of these values.</returns>
        </member>
        <member name="M:SharpShell.Interop.IPreviewHandler.Unload">
            <summary>
            Directs the preview handler to cease rendering a preview and to release all resources that have been allocated based on the item passed in during the initialization.
            </summary>
            <returns>If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.</returns>
        </member>
        <member name="M:SharpShell.Interop.IPreviewHandler.SetFocus">
            <summary>
            Directs the preview handler to set focus to itself.
            </summary>
            <returns>If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.</returns>
        </member>
        <member name="M:SharpShell.Interop.IPreviewHandler.QueryFocus(System.IntPtr@)">
            <summary>
            Directs the preview handler to return the HWND from calling the GetFocus Function.
            </summary>
            <param name="phwnd">When this method returns, contains a pointer to the HWND returned from calling the GetFocus Function from the preview handler's foreground thread.</param>
            <returns>If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.</returns>
        </member>
        <member name="M:SharpShell.Interop.IPreviewHandler.TranslateAccelerator(SharpShell.Interop.MSG)">
            <summary>
            Directs the preview handler to handle a keystroke passed up from the message pump of the process in which the preview handler is running.
            </summary>
            <param name="pmsg">A pointer to a window message.</param>
            <returns>If the keystroke message can be processed by the preview handler, the handler will process it and return S_OK. If the preview handler cannot process the keystroke message, it will offer it to the host using TranslateAccelerator. If the host processes the message, this method will return S_OK. If the host does not process the message, this method will return S_FALSE.</returns>
        </member>
        <member name="M:SharpShell.SharpPreviewHandler.SharpPreviewHandler.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:SharpShell.SharpPreviewHandler.SharpPreviewHandler"/> class.
            </summary>
        </member>
        <member name="M:SharpShell.SharpPreviewHandler.SharpPreviewHandler.OnPreviewHostThread(System.Action)">
            <summary>
            Calls a function on the preview host thread.
            </summary>
            <param name="action">The action to invoke on the preview host thread.</param>
        </member>
        <member name="M:SharpShell.SharpPreviewHandler.SharpPreviewHandler.UpdateHost">
            <summary>
            Updates the host, setting the size, parent window and visibility if needed.
            </summary>
        </member>
        <member name="M:SharpShell.SharpPreviewHandler.SharpPreviewHandler.SharpShell#Interop#IInitializeWithFile#Initialize(System.String,SharpShell.Interop.STGM)">
            <summary>
            Initializes a handler with a file path.
            </summary>
            <param name="pszFilePath">A pointer to a buffer that contains the file path as a null-terminated Unicode string.</param>
            <param name="grfMode">One of the following STGM values that indicates the access mode for pszFilePath. STGM_READ or STGM_READWRITE.</param>
        </member>
        <member name="M:SharpShell.SharpPreviewHandler.SharpPreviewHandler.SharpShell#Interop#IObjectWithSite#GetSite(System.Guid@,System.Object@)">
            <summary>
            Retrieves the latest site passed using SetSite.
            </summary>
            <param name="riid">The IID of the interface pointer that should be returned in ppvSite.</param>
            <param name="ppvSite">Address of pointer variable that receives the interface pointer requested in riid. Upon successful return, *ppvSite contains the requested interface pointer to the site last seen in SetSite. The specific interface returned depends on the riid argument—in essence, the two arguments act identically to those in QueryInterface. If the appropriate interface pointer is available, the object must call AddRef on that pointer before returning successfully. If no site is available, or the requested interface is not supported, this method must *ppvSite to NULL and return a failure code.</param>
            <returns>
            This method returns S_OK on success.
            </returns>
        </member>
        <member name="M:SharpShell.SharpPreviewHandler.SharpPreviewHandler.SharpShell#Interop#IObjectWithSite#SetSite(System.Object)">
            <summary>
            Enables a container to pass an object a pointer to the interface for its site.
            </summary>
            <param name="pUnkSite">A pointer to the IUnknown interface pointer of the site managing this object. If NULL, the object should call Release on any existing site at which point the object no longer knows its site.</param>
            <returns>
            This method returns S_OK on success.
            </returns>
        </member>
        <member name="M:SharpShell.SharpPreviewHandler.SharpPreviewHandler.SharpShell#Interop#IOleWindow#GetWindow(System.IntPtr@)">
            <summary>
            Retrieves a handle to one of the windows participating in in-place activation (frame, document, parent, or in-place object window).
            </summary>
            <param name="phwnd">A pointer to a variable that receives the window handle.</param>
            <returns>
            This method returns S_OK on success.
            </returns>
        </member>
        <member name="M:SharpShell.SharpPreviewHandler.SharpPreviewHandler.SharpShell#Interop#IOleWindow#ContextSensitiveHelp(System.Boolean)">
            <summary>
            Determines whether context-sensitive help mode should be entered during an in-place activation session.
            </summary>
            <param name="fEnterMode">TRUE if help mode should be entered; FALSE if it should be exited.</param>
            <returns>
            This method returns S_OK if the help mode was entered or exited successfully, depending on the value passed in fEnterMode.
            </returns>
        </member>
        <member name="M:SharpShell.SharpPreviewHandler.SharpPreviewHandler.SharpShell#Interop#IPreviewHandler#SetWindow(System.IntPtr,SharpShell.Interop.RECT@)">
            <summary>
            Sets the parent window of the previewer window, as well as the area within the parent to be used for the previewer window.
            </summary>
            <param name="hwnd">A handle to the parent window.</param>
            <param name="prc">A pointer to a RECT defining the area for the previewer.</param>
            <returns>
            If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.
            </returns>
        </member>
        <member name="M:SharpShell.SharpPreviewHandler.SharpPreviewHandler.SharpShell#Interop#IPreviewHandler#SetRect(SharpShell.Interop.RECT)">
            <summary>
            Directs the preview handler to change the area within the parent hwnd that it draws into.
            </summary>
            <param name="prc">A pointer to a RECT to be used for the preview.</param>
            <returns>
            If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.
            </returns>
        </member>
        <member name="M:SharpShell.SharpPreviewHandler.SharpPreviewHandler.SharpShell#Interop#IPreviewHandler#DoPreview">
            <summary>
            Directs the preview handler to load data from the source specified in an earlier Initialize method call, and to begin rendering to the previewer window.
            </summary>
            <returns>
            This method can return one of these values.
            </returns>
        </member>
        <member name="M:SharpShell.SharpPreviewHandler.SharpPreviewHandler.SharpShell#Interop#IPreviewHandler#Unload">
            <summary>
            Directs the preview handler to cease rendering a preview and to release all resources that have been allocated based on the item passed in during the initialization.
            </summary>
            <returns>
            If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.
            </returns>
        </member>
        <member name="M:SharpShell.SharpPreviewHandler.SharpPreviewHandler.SharpShell#Interop#IPreviewHandler#SetFocus">
            <summary>
            Directs the preview handler to set focus to itself.
            </summary>
            <returns>
            If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.
            </returns>
        </member>
        <member name="M:SharpShell.SharpPreviewHandler.SharpPreviewHandler.SharpShell#Interop#IPreviewHandler#QueryFocus(System.IntPtr@)">
            <summary>
            Directs the preview handler to return the HWND from calling the GetFocus Function.
            </summary>
            <param name="phwnd">When this method returns, contains a pointer to the HWND returned from calling the GetFocus Function from the preview handler's foreground thread.</param>
            <returns>
            If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.
            </returns>
        </member>
        <member name="M:SharpShell.SharpPreviewHandler.SharpPreviewHandler.SharpShell#Interop#IPreviewHandler#TranslateAccelerator(SharpShell.Interop.MSG)">
            <summary>
            Directs the preview handler to handle a keystroke passed up from the message pump of the process in which the preview handler is running.
            </summary>
            <param name="pmsg">A pointer to a window message.</param>
            <returns>
            If the keystroke message can be processed by the preview handler, the handler will process it and return S_OK. If the preview handler cannot process the keystroke message, it will offer it to the host using TranslateAccelerator. If the host processes the message, this method will return S_OK. If the host does not process the message, this method will return S_FALSE.
            </returns>
        </member>
        <member name="M:SharpShell.SharpPreviewHandler.SharpPreviewHandler.SharpShell#Interop#IPreviewHandlerVisuals#SetBackgroundColor(SharpShell.Interop.COLORREF)">
            <summary>
            Sets the background color of the preview handler.
            </summary>
            <param name="color">A value of type COLORREF to use for the preview handler background.</param>
            <returns>
            If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.
            </returns>
        </member>
        <member name="M:SharpShell.SharpPreviewHandler.SharpPreviewHandler.SharpShell#Interop#IPreviewHandlerVisuals#SetFont(SharpShell.Interop.LOGFONT@)">
            <summary>
            Sets the font attributes to be used for text within the preview handler.
            </summary>
            <param name="plf">A pointer to a LOGFONTW Structure containing the necessary attributes for the font to use.</param>
            <returns>
            If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.
            </returns>
        </member>
        <member name="M:SharpShell.SharpPreviewHandler.SharpPreviewHandler.SharpShell#Interop#IPreviewHandlerVisuals#SetTextColor(SharpShell.Interop.COLORREF)">
            <summary>
            Sets the color of the text within the preview handler.
            </summary>
            <param name="color">A value of type COLORREF to use for the preview handler text color.</param>
            <returns>
            If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error cod
            </returns>
        </member>
        <member name="M:SharpShell.SharpPreviewHandler.SharpPreviewHandler.CustomRegisterFunction(System.Type,SharpShell.ServerRegistration.RegistrationType)">
            <summary>
            The custom registration function.
            </summary>
            <param name="serverType">Type of the server.</param>
            <param name="registrationType">Type of the registration.</param>
        </member>
        <member name="M:SharpShell.SharpPreviewHandler.SharpPreviewHandler.CustomUnregisterFunction(System.Type,SharpShell.ServerRegistration.RegistrationType)">
            <summary>
            Customs the unregister function.
            </summary>
            <param name="serverType">Type of the server.</param>
            <param name="registrationType">Type of the registration.</param>
        </member>
        <member name="M:SharpShell.SharpPreviewHandler.SharpPreviewHandler.DoPreview">
            <summary>
            DoPreview must create the preview handler user interface and initialize it with data
            provided by the shell.
            </summary>
            <returns>The preview handler user interface.</returns>
        </member>
        <member name="F:SharpShell.SharpPreviewHandler.SharpPreviewHandler.previewArea">
            <summary>
            The preview area.
            </summary>
        </member>
        <member name="F:SharpShell.SharpPreviewHandler.SharpPreviewHandler.previewHostHandle">
            <summary>
            The preview host handle.
            </summary>
        </member>
        <member name="F:SharpShell.SharpPreviewHandler.SharpPreviewHandler.previewHandlerHost">
            <summary>
            The preview handler host control.
            </summary>
        </member>
        <member name="F:SharpShell.SharpPreviewHandler.SharpPreviewHandler.site">
            <summary>
            The site provided by the system.
            </summary>
        </member>
        <member name="F:SharpShell.SharpPreviewHandler.SharpPreviewHandler.previewHandlerFrame">
            <summary>
            The preview handler frame.
            </summary>
        </member>
        <member name="F:SharpShell.SharpPreviewHandler.SharpPreviewHandler.previewHandlerControl">
            <summary>
            The preview handler control.
            </summary>
        </member>
        <member name="P:SharpShell.SharpPreviewHandler.SharpPreviewHandler.SelectedFilePath">
            <summary>
            Gets the selected file path.
            </summary>
        </member>
        <member name="P:SharpShell.SharpPreviewHandler.SharpPreviewHandler.AutomaticallyApplyVisuals">
            <summary>
            Gets or sets a value indicating whether to automatically apply visuals.
            </summary>
            <value>
            	<c>true</c> if apply visuals automatically; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="T:SharpShell.Interop.CLSCTX">
            <summary>
            Values that are used in activation calls to indicate the execution contexts in which an object is to be run. These values are also used in calls to CoRegisterClassObject to indicate the set of execution contexts in which a class object is to be made available for requests to construct instances.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CLSCTX.CLSCTX_INPROC_SERVER">
            <summary>
            The code that creates and manages objects of this class is a DLL that runs in the same process as the caller of the function specifying the class context.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CLSCTX.CLSCTX_INPROC_HANDLER">
            <summary>
            The code that manages objects of this class is an in-process handler. This is a DLL that runs in the client process and implements client-side structures of this class when instances of the class are accessed remotely.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CLSCTX.CLSCTX_LOCAL_SERVER">
            <summary>
            The EXE code that creates and manages objects of this class runs on same machine but is loaded in a separate process space.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CLSCTX.CLSCTX_INPROC_SERVER16">
            <summary>
            Obsolete.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CLSCTX.CLSCTX_REMOTE_SERVER">
            <summary>
            A remote context. The LocalServer32 or LocalService code that creates and manages objects of this class is run on a different computer.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CLSCTX.CLSCTX_INPROC_HANDLER16">
            <summary>
            Obsolete.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CLSCTX.CLSCTX_RESERVED1">
            <summary>
            Reserved.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CLSCTX.CLSCTX_RESERVED2">
            <summary>
            Reserved.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CLSCTX.CLSCTX_RESERVED3">
            <summary>
            Reserved.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CLSCTX.CLSCTX_RESERVED4">
            <summary>
            Reserved.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CLSCTX.CLSCTX_NO_CODE_DOWNLOAD">
            <summary>
            Disaables the downloading of code from the directory service or the Internet. This flag cannot be set at the same time as CLSCTX_ENABLE_CODE_DOWNLOAD.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CLSCTX.CLSCTX_RESERVED5">
            <summary>
            Reserved.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CLSCTX.CLSCTX_NO_CUSTOM_MARSHAL">
            <summary>
            Specify if you want the activation to fail if it uses custom marshalling.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CLSCTX.CLSCTX_ENABLE_CODE_DOWNLOAD">
            <summary>
            Enables the downloading of code from the directory service or the Internet. This flag cannot be set at the same time as CLSCTX_NO_CODE_DOWNLOAD.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CLSCTX.CLSCTX_NO_FAILURE_LOG">
            <summary>
            The CLSCTX_NO_FAILURE_LOG can be used to override the logging of failures in CoCreateInstanceEx.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CLSCTX.CLSCTX_DISABLE_AAA">
            <summary>
            Disables activate-as-activator (AAA) activations for this activation only. This flag overrides the setting of the EOAC_DISABLE_AAA flag from the EOLE_AUTHENTICATION_CAPABILITIES enumeration. This flag cannot be set at the same time as CLSCTX_ENABLE_AAA. Any activation where a server process would be launched under the caller's identity is known as an activate-as-activator (AAA) activation. Disabling AAA activations allows an application that runs under a privileged account (such as LocalSystem) to help prevent its identity from being used to launch untrusted components. Library applications that use activation calls should always set this flag during those calls. This helps prevent the library application from being used in an escalation-of-privilege security attack. This is the only way to disable AAA activations in a library application because the EOAC_DISABLE_AAA flag from the EOLE_AUTHENTICATION_CAPABILITIES enumeration is applied only to the server process and not to the library application.
                Windows 2000:  This flag is not supported.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CLSCTX.CLSCTX_ENABLE_AAA">
            <summary>
            Enables activate-as-activator (AAA) activations for this activation only. This flag overrides the setting of the EOAC_DISABLE_AAA flag from the EOLE_AUTHENTICATION_CAPABILITIES enumeration. This flag cannot be set at the same time as CLSCTX_DISABLE_AAA. Any activation where a server process would be launched under the caller's identity is known as an activate-as-activator (AAA) activation. Enabling this flag allows an application to transfer its identity to an activated component.
                Windows 2000:  This flag is not supported.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CLSCTX.CLSCTX_FROM_DEFAULT_CONTEXT">
            <summary>
            Begin this activation from the default context of the current apartment.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CLSCTX.CLSCTX_ACTIVATE_32_BIT_SERVER">
            <summary>
            Activate or connect to a 32-bit version of the server; fail if one is not registered.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CLSCTX.CLSCTX_ACTIVATE_64_BIT_SERVER">
            <summary>
            Activate or connect to a 64 bit version of the server; fail if one is not registered.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CLSCTX.CLSCTX_INPROC">
            <summary>
            Inproc combination.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CLSCTX.CLSCTX_SERVER">
            <summary>
            Server combination.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CLSCTX.CLSCTX_ALL">
            <summary>
            All.
            </summary>
        </member>
        <member name="T:SharpShell.Extensions.ControlExtensions">
            <summary>
            Extensions for cotrols.
            </summary>
        </member>
        <member name="M:SharpShell.Extensions.ControlExtensions.WindowProc(System.Windows.Forms.Control,System.IntPtr,System.UInt32,System.IntPtr,System.IntPtr)">
            <summary>
            Calls the window proc.
            </summary>
            <param name="me">Me.</param>
            <param name="hWnd">The window handle.</param>
            <param name="uMessage">The message.</param>
            <param name="wParam">The w param.</param>
            <param name="lParam">The l param.</param>
            <returns>True if the message was handled.</returns>
        </member>
        <member name="T:SharpShell.Interop.PROPSHEETPAGE">
            <summary>
            Defines a page in a property sheet.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.PROPSHEETPAGE.dwSize">
            <summary>
            Size, in bytes, of this structure.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.PROPSHEETPAGE.dwFlags">
            <summary>
            Flags that indicate which options to use when creating the property sheet page. This member can be a combination of the following values.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.PROPSHEETPAGE.hInstance">
            <summary>
            Handle to the instance from which to load an icon or string resource. If the pszIcon, pszTitle, pszHeaderTitle, or pszHeaderSubTitle member identifies a resource to load, hInstance must be specified.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.PROPSHEETPAGE.pTemplate">
            <summary>
            Dialog box template to use to create the page. This member can specify either the resource identifier of the template or the address of a string that specifies the name of the template. If the PSP_DLGINDIRECT flag in the dwFlags member is set, pszTemplate is ignored. This member is declared as a union with pResource.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.PROPSHEETPAGE.hIcon">
            <summary>
            Handle to the icon to use as the icon in the tab of the page. If the dwFlags member does not include PSP_USEHICON, this member is ignored. This member is declared as a union with pszIcon.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.PROPSHEETPAGE.pszTitle">
            <summary>
            Title of the property sheet dialog box. This title overrides the title specified in the dialog box template. This member can specify either the identifier of a string resource or the address of a string that specifies the title. To use this member, you must set the PSP_USETITLE flag in the dwFlags member.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.PROPSHEETPAGE.pfnDlgProc">
            <summary>
            Pointer to the dialog box procedure for the page. Because the pages are created as modeless dialog boxes, the dialog box procedure must not call the EndDialog function.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.PROPSHEETPAGE.lParam">
            <summary>
            When the page is created, a copy of the page's PROPSHEETPAGE structure is passed to the dialog box procedure with a WM_INITDIALOG message. The lParam member is provided to allow you to pass application-specific information to the dialog box procedure. It has no effect on the page itself. For more information, see Property Sheet Creation.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.PROPSHEETPAGE.pfnCallback">
            <summary>
            Pointer to an application-defined callback function that is called when the page is created and when it is about to be destroyed. For more information about the callback function, see PropSheetPageProc. To use this member, you must set the PSP_USECALLBACK flag in the dwFlags member.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.PROPSHEETPAGE.pcRefParent">
            <summary>
            Pointer to the reference count value. To use this member, you must set the PSP_USEREFPARENT flag in the dwFlags member.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.PROPSHEETPAGE.pszHeaderTitle">
            <summary>
            Version 5.80 or later. Title of the header area. To use this member under the Wizard97-style wizard, you must also do the following:
                 Set the PSP_USEHEADERTITLE flag in the dwFlags member.
                 Set the PSH_WIZARD97 flag in the dwFlags member of the page's PROPSHEETHEADER structure.
                 Make sure that the PSP_HIDEHEADER flag in the dwFlags member is not set.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.PROPSHEETPAGE.pszHeaderSubTitle">
            <summary>
            Version 5.80. Subtitle of the header area. To use this member, you must do the following:
                Set the PSP_USEHEADERSUBTITLE flag in the dwFlags member.
                Set the PSH_WIZARD97 flag in the dwFlags member of the page's PROPSHEETHEADER structure.
                Make sure that the PSP_HIDEHEADER flag in the dwFlags member is not set.
            Note  This member is ignored when using the Aero-style wizard (PSH_AEROWIZARD).
            </summary>
        </member>
        <member name="T:SharpShell.Interop.STGM">
            <summary>
            Storage medium for a file.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.STGM.DIRECT">
            <summary>
            Indicates that, in direct mode, each change to a storage or stream element is written as it occurs. This is the default if neither STGM_DIRECT nor STGM_TRANSACTED is specified.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.STGM.TRANSACTED">
            <summary>
            Indicates that, in transacted mode, changes are buffered and written only if an explicit commit operation is called. To ignore the changes, call the Revert method in the IStream, IStorage, or IPropertyStorage interface. The COM compound file implementation of IStorage does not support transacted streams, which means that streams can be opened only in direct mode, and you cannot revert changes to them, however transacted storages are supported. The compound file, stand-alone, and NTFS file system implementations of IPropertySetStorage similarly do not support transacted, simple property sets because these property sets are stored in streams. However, transactioning of nonsimple property sets, which can be created by specifying the PROPSETFLAG_NONSIMPLE flag in the grfFlags parameter of IPropertySetStorage::Create, are supported.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.STGM.SIMPLE">
            <summary>
            Provides a faster implementation of a compound file in a limited, but frequently used, case. For more information, see the Remarks section.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.STGM.READ">
            <summary>
            Indicates that the object is read-only, meaning that modifications cannot be made.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.STGM.WRITE">
            <summary>
            Enables you to save changes to the object, but does not permit access to its data. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.STGM.READWRITE">
            <summary>
            Enables access and modification of object data. For example, if a stream object is created or opened in this mode, it is possible to call both IStream::Read and IStream::Write. Be aware that this constant is not a simple binary OR operation of the STGM_WRITE and STGM_READ elements.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.STGM.SHARE_DENY_NONE">
            <summary>
            Specifies that subsequent openings of the object are not denied read or write access. If no flag from the sharing group is specified, this flag is assumed.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.STGM.SHARE_DENY_READ">
            <summary>
            Prevents others from subsequently opening the object in STGM_READ mode. It is typically used on a root storage object.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.STGM.SHARE_DENY_WRITE">
            <summary>
            Prevents others from subsequently opening the object for STGM_WRITE or STGM_READWRITE access. In transacted mode, sharing of STGM_SHARE_DENY_WRITE or STGM_SHARE_EXCLUSIVE can significantly improve performance because they do not require snapshots. For more information about transactioning, see the Remarks section.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.STGM.SHARE_EXCLUSIVE">
            <summary>
            Prevents others from subsequently opening the object in any mode. Be aware that this value is not a simple bitwise OR operation of the STGM_SHARE_DENY_READ and STGM_SHARE_DENY_WRITE values. In transacted mode, sharing of STGM_SHARE_DENY_WRITE or STGM_SHARE_EXCLUSIVE can significantly improve performance because they do not require snapshots. For more information about transactioning, see the Remarks section.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.STGM.PRIORITY">
            <summary>
            Opens the storage object with exclusive access to the most recently committed version. Thus, other users cannot commit changes to the object while you have it open in priority mode. You gain performance benefits for copy operations, but you prevent others from committing changes. Limit the time that objects are open in priority mode. You must specify STGM_DIRECT and STGM_READ with priority mode, and you cannot specify STGM_DELETEONRELEASE. STGM_DELETEONRELEASE is only valid when creating a root object, such as with StgCreateStorageEx. It is not valid when opening an existing root object, such as with StgOpenStorageEx. It is also not valid when creating or opening a subelement, such as with IStorage::OpenStorage.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.STGM.DELETEONRELEASE">
            <summary>
            Indicates that the underlying file is to be automatically destroyed when the root storage object is released. This feature is most useful for creating temporary files. This flag can only be used when creating a root object, such as with StgCreateStorageEx. It is not valid when opening a root object, such as with StgOpenStorageEx, or when creating or opening a subelement, such as with IStorage::CreateStream. It is also not valid to use this flag and the STGM_CONVERT flag simultaneously.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.STGM.NOSCRATCH">
            <summary>
            Indicates that, in transacted mode, a temporary scratch file is usually used to save modifications until the Commit method is called. Specifying STGM_NOSCRATCH permits the unused portion of the original file to be used as work space instead of creating a new file for that purpose. This does not affect the data in the original file, and in certain cases can result in improved performance. It is not valid to specify this flag without also specifying STGM_TRANSACTED, and this flag may only be used in a root open. For more information about NoScratch mode, see the Remarks section.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.STGM.CREATE">
            <summary>
            Indicates that an existing storage object or stream should be removed before the new object replaces it. A new object is created when this flag is specified only if the existing object has been successfully removed.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.STGM.CONVERT">
            <summary>
            Creates the new object while preserving existing data in a stream named "Contents". In the case of a storage object or a byte array, the old data is formatted into a stream regardless of whether the existing file or byte array currently contains a layered storage object. This flag can only be used when creating a root storage object. It cannot be used within a storage object; for example, in IStorage::CreateStream. It is also not valid to use this flag and the STGM_DELETEONRELEASE flag simultaneously.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.STGM.FAILIFTHERE">
            <summary>
            Causes the create operation to fail if an existing object with the specified name exists. In this case, STG_E_FILEALREADYEXISTS is returned. This is the default creation mode; that is, if no other create flag is specified, STGM_FAILIFTHERE is implied.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.STGM.NOSNAPSHOT">
            <summary>
            This flag is used when opening a storage object with STGM_TRANSACTED and without STGM_SHARE_EXCLUSIVE or STGM_SHARE_DENY_WRITE. In this case, specifying STGM_NOSNAPSHOT prevents the system-provided implementation from creating a snapshot copy of the file. Instead, changes to the file are written to the end of the file. Unused space is not reclaimed unless consolidation is performed during the commit, and there is only one current writer on the file. When the file is opened in no snapshot mode, another open operation cannot be performed without specifying STGM_NOSNAPSHOT. This flag may only be used in a root open operation. For more information about NoSnapshot mode, see the Remarks section.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.STGM.DIRECT_SWMR">
            <summary>
            Supports direct mode for single-writer, multireader file operations. For more information, see the Remarks section.
            </summary>
        </member>
        <member name="T:SharpShell.Diagnostics.ExplorerManager">
            <summary>
            A Helper Class for managing certain features of Windows Explorer
            </summary>
        </member>
        <member name="M:SharpShell.Diagnostics.ExplorerManager.RestartExplorer">
            <summary>
            Restarts the explorer process.
            </summary>
        </member>
        <member name="T:SharpShell.PersistFileServer">
            <summary>
            PersistFileServer provides a base for SharpShell Servers that must implement
            IPersistFile (icon handlers, info tip handlers, etc).
            </summary>
        </member>
        <member name="M:SharpShell.PersistFileServer.System#Runtime#InteropServices#ComTypes#IPersistFile#GetClassID(System.Guid@)">
            <summary>
            Retrieves the class identifier (CLSID) of an object.
            </summary>
            <param name="pClassID">When this method returns, contains a reference to the CLSID. This parameter is passed uninitialized.</param>
        </member>
        <member name="M:SharpShell.PersistFileServer.System#Runtime#InteropServices#ComTypes#IPersistFile#IsDirty">
            <summary>
            Checks an object for changes since it was last saved to its current file.
            </summary>
            <returns>
            S_OK if the file has changed since it was last saved; S_FALSE if the file has not changed since it was last saved.
            </returns>
        </member>
        <member name="M:SharpShell.PersistFileServer.System#Runtime#InteropServices#ComTypes#IPersistFile#Load(System.String,System.Int32)">
            <summary>
            Opens the specified file and initializes an object from the file contents.
            </summary>
            <param name="pszFileName">A zero-terminated string containing the absolute path of the file to open.</param>
            <param name="dwMode">A combination of values from the STGM enumeration to indicate the access mode in which to open <paramref name="pszFileName"/>.</param>
        </member>
        <member name="M:SharpShell.PersistFileServer.System#Runtime#InteropServices#ComTypes#IPersistFile#Save(System.String,System.Boolean)">
            <summary>
            Saves a copy of the object into the specified file.
            </summary>
            <param name="pszFileName">A zero-terminated string containing the absolute path of the file to which the object is saved.</param>
            <param name="fRemember">true to used the <paramref name="pszFileName"/> parameter as the current working file; otherwise false.</param>
        </member>
        <member name="M:SharpShell.PersistFileServer.System#Runtime#InteropServices#ComTypes#IPersistFile#SaveCompleted(System.String)">
            <summary>
            Notifies the object that it can write to its file.
            </summary>
            <param name="pszFileName">The absolute path of the file where the object was previously saved.</param>
        </member>
        <member name="M:SharpShell.PersistFileServer.System#Runtime#InteropServices#ComTypes#IPersistFile#GetCurFile(System.String@)">
            <summary>
            Retrieves either the absolute path to the current working file of the object or, if there is no current working file, the default file name prompt of the object.
            </summary>
            <param name="ppszFileName">When this method returns, contains the address of a pointer to a zero-terminated string containing the path for the current file, or the default file name prompt (such as *.txt). This parameter is passed uninitialized.</param>
        </member>
        <member name="P:SharpShell.PersistFileServer.SelectedItemPath">
            <summary>
            Gets the selected item path.
            </summary>
        </member>
        <member name="T:SharpShell.Attributes.CustomUnregisterFunctionAttribute">
            <summary>
            Identifies a function as being a static custom registration function.
            </summary>
        </member>
        <member name="M:SharpShell.Attributes.CustomUnregisterFunctionAttribute.ExecuteIfExists(System.Type,SharpShell.ServerRegistration.RegistrationType)">
            <summary>
            Executes the CustomUnregisterFunction if it exists for a type.
            </summary>
            <param name="type">The type.</param>
            <param name="registrationType">Type of the registration.</param>
        </member>
        <member name="T:SharpShell.Attributes.COMServerAssociationAttribute">
            <summary>
            Attribute to associate a SharpShell server with a file extension.
            </summary>
        </member>
        <member name="M:SharpShell.Attributes.COMServerAssociationAttribute.#ctor(SharpShell.Attributes.AssociationType,System.String[])">
            <summary>
            Initializes a new instance of the <see cref="T:SharpShell.Attributes.COMServerAssociationAttribute"/> class.
            </summary>
            <param name="associationType">Type of the association.</param>
            <param name="associations">The associations.</param>
        </member>
        <member name="M:SharpShell.Attributes.COMServerAssociationAttribute.GetAssociations(System.Type)">
            <summary>
            Gets the file extension associations for a specified type.
            </summary>
            <param name="type">The type.</param>
            <returns>The set of file extension assocations.</returns>
        </member>
        <member name="M:SharpShell.Attributes.COMServerAssociationAttribute.GetAssociationType(System.Type)">
            <summary>
            Gets the type of the association.
            </summary>
            <param name="type">The type.</param>
            <returns></returns>
        </member>
        <member name="F:SharpShell.Attributes.COMServerAssociationAttribute.associationType">
            <summary>
            The association type.
            </summary>
        </member>
        <member name="F:SharpShell.Attributes.COMServerAssociationAttribute.associations">
            <summary>
            The extensions.
            </summary>
        </member>
        <member name="P:SharpShell.Attributes.COMServerAssociationAttribute.AssociationType">
            <summary>
            Gets the type of the association.
            </summary>
            <value>
            The type of the association.
            </value>
        </member>
        <member name="P:SharpShell.Attributes.COMServerAssociationAttribute.Associations">
            <summary>
            Gets the associations.
            </summary>
        </member>
        <member name="T:SharpShell.Interop.IShellPropSheetExt">
            <summary>
            Exposes methods that allow a property sheet handler to add or replace pages in the property sheet displayed for a file object.
            </summary>
        </member>
        <member name="M:SharpShell.Interop.IShellPropSheetExt.AddPages(System.IntPtr,System.IntPtr)">
            <summary>
            Adds one or more pages to a property sheet that the Shell displays for a file object. The Shell calls this method for each property sheet handler registered to the file type.
            </summary>
            <param name="pfnAddPage">A pointer to a function that the property sheet handler calls to add a page to the property sheet. The function takes a property sheet handle returned by the CreatePropertySheetPage function and the lParam parameter passed to this method.</param>
            <param name="lParam">Handler-specific data to pass to the function pointed to by pfnAddPage.</param>
            <returns>If successful, returns a one-based index to specify the page that should be initially displayed. See Remarks for more information.</returns>
        </member>
        <member name="M:SharpShell.Interop.IShellPropSheetExt.ReplacePage(System.UInt32,SharpShell.Interop.AddPropertySheetPageDelegate,System.IntPtr)">
            <summary>
            Replaces a page in a property sheet for a Control Panel object.
            </summary>
            <param name="uPageID">Not used.
             Microsoft Windows XP and earlier: A type EXPPS identifier of the page to replace. The values for this parameter for Control Panels can be found in the Cplext.h header file.</param>
            <param name="lpfnReplacePage">A pointer to a function that the property sheet handler calls to replace a page to the property sheet. The function takes a property sheet handle returned by the CreatePropertySheetPage function and the lParam parameter passed to the ReplacePage method.</param>
            <param name="lParam">The parameter to pass to the function specified by the pfnReplacePage parameter.</param>
            <returns>If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.</returns>
        </member>
        <member name="T:SharpShell.Interop.PropSheetCallback">
            <summary>
            Property sheet callback proc.
            </summary>
            <param name="hwnd">The window handle.</param>
            <param name="uMsg">The message.</param>
            <param name="ppsp">The property sheet page.</param>
            <returns>The return code.</returns>
        </member>
        <member name="T:SharpShell.Interop.DialogProc">
            <summary>
            Dialog proc.
            </summary>
            <param name="hwndDlg">The window handle.</param>
            <param name="uMsg">The message.</param>
            <param name="wParam">The w param.</param>
            <param name="lParam">The l param.</param>
            <returns>True if the message was handled.</returns>
        </member>
        <member name="T:SharpShell.Interop.CMF">
            <summary>
            Flags that specify how the shortcut menu can be changed.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CMF.CMF_NORMAL">
            <summary>
            Indicates normal operation. A shortcut menu extension, namespace extension, or drag-and-drop handler can add all menu items.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CMF.CMF_DEFAULTONLY">
            <summary>
            The user is activating the default action, typically by double-clicking. This flag provides a hint for the shortcut menu extension to add nothing if it does not modify the default item in the menu. A shortcut menu extension or drag-and-drop handler should not add any menu items if this value is specified. A namespace extension should at most add only the default item.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CMF.CMF_VERBSONLY">
            <summary>
            The shortcut menu is that of a shortcut file (normally, a .lnk file). Shortcut menu handlers should ignore this value.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CMF.CMF_EXPLORE">
            <summary>
            The Windows Explorer tree window is present.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CMF.CMF_NOVERBS">
            <summary>
            This flag is set for items displayed in the Send To menu. Shortcut menu handlers should ignore this value.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CMF.CMF_CANRENAME">
            <summary>
            The calling application supports renaming of items. A shortcut menu or drag-and-drop handler should ignore this flag. A namespace extension should add a Rename item to the menu if applicable.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CMF.CMF_NODEFAULT">
            <summary>
            No item in the menu has been set as the default. A drag-and-drop handler should ignore this flag. A namespace extension should not set any of the menu items as the default.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CMF.CMF_INCLUDESTATIC">
            <summary>
            A static menu is being constructed. Only the browser should use this flag; all other shortcut menu extensions should ignore it.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CMF.CMF_ITEMMENU">
            <summary>
            The calling application is invoking a shortcut menu on an item in the view (as opposed to the background of the view).
            Windows Server 2003 and Windows XP:  This value is not available.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CMF.CMF_EXTENDEDVERBS">
            <summary>
            The calling application wants extended verbs. Normal verbs are displayed when the user right-clicks an object. To display extended verbs, the user must right-click while pressing the Shift key.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CMF.CMF_DISABLEDVERBS">
            <summary>
            The calling application intends to invoke verbs that are disabled, such as legacy menus.
            Windows Server 2003 and Windows XP:  This value is not available.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CMF.CMF_ASYNCVERBSTATE">
            <summary>
            The verb state can be evaluated asynchronously.
            Windows Server 2008, Windows Vista, Windows Server 2003, and Windows XP:  This value is not available.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CMF.CMF_OPTIMIZEFORINVOKE">
            <summary>
            Informs context menu handlers that do not support the invocation of a verb through a canonical verb name to bypass IContextMenu::QueryContextMenu in their implementation.
                Windows Server 2008, Windows Vista, Windows Server 2003, and Windows XP:  This value is not available.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CMF.CMF_SYNCCASCADEMENU">
            <summary>
            Populate submenus synchronously.
                Windows Server 2008, Windows Vista, Windows Server 2003, and Windows XP:  This value is not available.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CMF.CMF_DONOTPICKDEFAULT">
            <summary>
            When no verb is explicitly specified, do not use a default verb in its place.
                Windows Server 2008, Windows Vista, Windows Server 2003, and Windows XP:  This value is not available.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CMF.CMF_RESERVED">
            <summary>
            This flag is a bitmask that specifies all bits that should not be used. This is to be used only as a mask. Do not pass this as a parameter value.
            </summary>
        </member>
        <member name="T:SharpShell.Interop.PSP">
            <summary>
            Flags that indicate which options to use when creating the property sheet page. This member can be a combination of the following values.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.PSP.PSP_DEFAULT">
            <summary>
            Uses the default meaning for all structure members. This flag is not supported when using the Aero-style wizard (PSH_AEROWIZARD).
            </summary>
        </member>
        <member name="F:SharpShell.Interop.PSP.PSP_DLGINDIRECT">
            <summary>
            Creates the page from the dialog box template in memory pointed to by the pResource member. The PropertySheet function assumes that the template that is in memory is not write-protected. A read-only template will cause an exception in some versions of Windows.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.PSP.PSP_USEHICON">
            <summary>
            Uses hIcon as the small icon on the tab for the page. This flag is not supported when using the Aero-style wizard (PSH_AEROWIZARD).
            </summary>
        </member>
        <member name="F:SharpShell.Interop.PSP.PSP_USEICONID">
            <summary>
            Uses pszIcon as the name of the icon resource to load and use as the small icon on the tab for the page. This flag is not supported when using the Aero-style wizard (PSH_AEROWIZARD).
            </summary>
        </member>
        <member name="F:SharpShell.Interop.PSP.PSP_USETITLE">
            <summary>
            Uses the pszTitle member as the title of the property sheet dialog box instead of the title stored in the dialog box template. This flag is not supported when using the Aero-style wizard (PSH_AEROWIZARD).
            </summary>
        </member>
        <member name="F:SharpShell.Interop.PSP.PSP_RTLREADING">
            <summary>
            Reverses the direction in which pszTitle is displayed. Normal windows display all text, including pszTitle, left-to-right (LTR). For languages such as Hebrew or Arabic that read right-to-left (RTL), a window can be mirrored and all text will be displayed RTL. If PSP_RTLREADING is set, pszTitle will instead read RTL in a normal parent window, and LTR in a mirrored parent window.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.PSP.PSP_HASHELP">
            <summary>
            Enables the property sheet Help button when the page is active. This flag is not supported when using the Aero-style wizard (PSH_AEROWIZARD).
            </summary>
        </member>
        <member name="F:SharpShell.Interop.PSP.PSP_USEREFPARENT">
            <summary>
            Maintains the reference count specified by the pcRefParent member for the lifetime of the property sheet page created from this structure.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.PSP.PSP_USECALLBACK">
            <summary>
            Calls the function specified by the pfnCallback member when creating or destroying the property sheet page defined by this structure.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.PSP.PSP_PREMATURE">
            <summary>
            Version 4.71 or later. Causes the page to be created when the property sheet is created. If this flag is not specified, the page will not be created until it is selected the first time. This flag is not supported when using the Aero-style wizard (PSH_AEROWIZARD).
            </summary>
        </member>
        <member name="F:SharpShell.Interop.PSP.PSP_HIDEHEADER">
            <summary>
            Version 5.80 and later. Causes the wizard property sheet to hide the header area when the page is selected. If a watermark has been provided, it will be painted on the left side of the page. This flag should be set for welcome and completion pages, and omitted for interior pages. This flag is not supported when using the Aero-style wizard (PSH_AEROWIZARD).
            </summary>
        </member>
        <member name="F:SharpShell.Interop.PSP.PSP_USEHEADERTITLE">
            <summary>
            Version 5.80 or later. Displays the string pointed to by the pszHeaderTitle member as the title in the header of a Wizard97 interior page. You must also set the PSH_WIZARD97 flag in the dwFlags member of the associated PROPSHEETHEADER structure. The PSP_USEHEADERTITLE flag is ignored if PSP_HIDEHEADER is set. This flag is not supported when using the Aero-style wizard (PSH_AEROWIZARD).
            </summary>
        </member>
        <member name="F:SharpShell.Interop.PSP.PSP_USEHEADERSUBTITLE">
            <summary>
            Version 5.80 or later. Displays the string pointed to by the pszHeaderSubTitle member as the subtitle of the header area of a Wizard97 page. To use this flag, you must also set the PSH_WIZARD97 flag in the dwFlags member of the associated PROPSHEETHEADER structure. The PSP_USEHEADERSUBTITLE flag is ignored if PSP_HIDEHEADER is set. In Aero-style wizards, the title appears near the top of the client area.
            </summary>
        </member>
        <member name="T:SharpShell.SharpPropertySheet.SharpPropertySheet">
            <summary>
            SharpPropertySheet is the base class for Shell Property Sheet Extensions supported
            by SharpShell.
            </summary>
        </member>
        <member name="M:SharpShell.SharpPropertySheet.SharpPropertySheet.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:SharpShell.SharpPropertySheet.SharpPropertySheet"/> class.
            </summary>
        </member>
        <member name="M:SharpShell.SharpPropertySheet.SharpPropertySheet.SharpShell#Interop#IShellPropSheetExt#AddPages(System.IntPtr,System.IntPtr)">
            <summary>
            Adds the pages.
            </summary>
            <param name="pfnAddPage">The PFN add page.</param>
            <param name="lParam">The l param.</param>
            <returns></returns>
        </member>
        <member name="M:SharpShell.SharpPropertySheet.SharpPropertySheet.SharpShell#Interop#IShellPropSheetExt#ReplacePage(System.UInt32,SharpShell.Interop.AddPropertySheetPageDelegate,System.IntPtr)">
            <summary>
            Replaces the page.
            </summary>
            <param name="uPageID">The u page ID.</param>
            <param name="lpfnReplacePage">The LPFN replace page.</param>
            <param name="lParam">The l param.</param>
            <returns></returns>
        </member>
        <member name="M:SharpShell.SharpPropertySheet.SharpPropertySheet.CanShowSheet">
            <summary>
            Determines whether this instance can show a shell property sheet, given the specified selected file list.
            </summary>
            <returns>
              <c>true</c> if this instance should show a shell property sheet for the specified file list; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:SharpShell.SharpPropertySheet.SharpPropertySheet.CreatePages">
            <summary>
            Creates the pages.
            </summary>
            <returns>The property sheet pages.</returns>
        </member>
        <member name="F:SharpShell.SharpPropertySheet.SharpPropertySheet.propertySheetPages">
            <summary>
            The lazy property sheet pages, only created when we actually need them.
            </summary>
        </member>
        <member name="P:SharpShell.SharpPropertySheet.SharpPropertySheet.Pages">
            <summary>
            Gets the pages.
            </summary>
        </member>
        <member name="M:SharpShell.Interop.WinError.MAKE_HRESULT(System.UInt32,System.UInt32,System.UInt32)">
            <summary>
            Create an HRESULT value from component pieces.
            </summary>
            <param name="sev">The severity to be used</param>
            <param name="fac">The facility to be used</param>
            <param name="code">The error number</param>
            <returns>A HRESULT constructed from the above 3 values</returns>
        </member>
        <member name="T:SharpShell.Interop.IQueryInfo">
            <summary>
            Exposes methods that the Shell uses to retrieve flags and info tip information 
            for an item that resides in an IShellFolder implementation. Info tips are usually
            displayed inside a tooltip control.
            </summary>
        </member>
        <member name="M:SharpShell.Interop.IQueryInfo.GetInfoTip(SharpShell.Interop.QITIPF,System.String@)">
            <summary>
            Gets the info tip text for an item.
            </summary>
            <param name="dwFlags">Flags that direct the handling of the item from which you're retrieving the info tip text. This value is commonly zero.</param>
            <param name="ppwszTip">he address of a Unicode string pointer that, when this method returns successfully, receives the tip string pointer. Applications that implement this method must allocate memory for ppwszTip by calling CoTaskMemAlloc.
            Calling applications must call CoTaskMemFree to free the memory when it is no longer needed.</param>
            <returns>Returns S_OK if the function succeeds. If no info tip text is available, ppwszTip is set to NULL. Otherwise, returns a COM-defined error value.</returns>
        </member>
        <member name="M:SharpShell.Interop.IQueryInfo.GetInfoFlags(System.Int32@)">
            <summary>
            Gets the information flags for an item. This method is not currently used.
            </summary>
            <param name="pdwFlags">A pointer to a value that receives the flags for the item. If no flags are to be returned, this value should be set to zero.</param>
            <returns>Returns S_OK if pdwFlags returns any flag values, or a COM-defined error value otherwise.</returns>
        </member>
        <member name="T:SharpShell.SharpPropertySheet.SharpPropertyPage">
            <summary>
            The SharpPropertyPage class is the base class for Property Pages used in 
            Shell Property Sheet Extension servers.
            </summary>
        </member>
        <member name="M:SharpShell.SharpPropertySheet.SharpPropertyPage.OnPageInitialised(SharpShell.SharpPropertySheet.SharpPropertySheet)">
            <summary>
            Called when the page is initialised.
            </summary>
            <param name="parent">The parent property sheet.</param>
        </member>
        <member name="M:SharpShell.SharpPropertySheet.SharpPropertyPage.OnSheetApply">
            <summary>
            Called when apply is pressed on the property sheet.
            </summary>
        </member>
        <member name="M:SharpShell.SharpPropertySheet.SharpPropertyPage.OnSheetOK">
            <summary>
            Called when OK is pressed on the property sheet.
            </summary>
        </member>
        <member name="M:SharpShell.SharpPropertySheet.SharpPropertyPage.OnSheetCancel">
            <summary>
            Called when Cancel is pressed on the property sheet.
            </summary>
        </member>
        <member name="M:SharpShell.SharpPropertySheet.SharpPropertyPage.SetPageDataChanged(System.Boolean)">
            <summary>
            Sets the page data changed.
            </summary>
            <param name="changed">if set to <c>true</c> the data has changed and the property sheet should enable the 'Apply' button.</param>
        </member>
        <member name="P:SharpShell.SharpPropertySheet.SharpPropertyPage.PageTitle">
            <summary>
            Gets or sets the page title.
            </summary>
            <value>
            The page title.
            </value>
        </member>
        <member name="P:SharpShell.SharpPropertySheet.SharpPropertyPage.PageIcon">
            <summary>
            Gets the page icon.
            </summary>
        </member>
        <member name="P:SharpShell.SharpPropertySheet.SharpPropertyPage.PropertyPageProxy">
            <summary>
            Gets or sets the proxy.
            </summary>
            <value>
            The proxy.
            </value>
        </member>
        <member name="T:SharpShell.Attributes.ServerTypeAttribute">
            <summary>
            The ServerTypeAttribute can be used internally by SharpShell
            to mark the type of a server base class. By setting this type,
            classes derived from the decorated class will be able to use
            the COMServerAssociationAttribute without any extra configuration.
            </summary>
        </member>
        <member name="M:SharpShell.Attributes.ServerTypeAttribute.#ctor(SharpShell.ServerType)">
            <summary>
            Initializes a new instance of the <see cref="T:SharpShell.Attributes.ServerTypeAttribute"/> class.
            </summary>
            <param name="serverType">Type of the server.</param>
        </member>
        <member name="M:SharpShell.Attributes.ServerTypeAttribute.GetServerType(System.Type)">
            <summary>
            Gets the server type of a type of the association.
            </summary>
            <param name="type">The type.</param>
            <returns>The ServerType of the type, or None if not set.</returns>
        </member>
        <member name="P:SharpShell.Attributes.ServerTypeAttribute.ServerType">
            <summary>
            Gets the type of the server.
            </summary>
            <value>
            The type of the server.
            </value>
        </member>
        <member name="T:SharpShell.Attributes.DisplayNameAttribute">
            <summary>
            The name attribute can be used to give a class display name.
            </summary>
        </member>
        <member name="M:SharpShell.Attributes.DisplayNameAttribute.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:SharpShell.Attributes.DisplayNameAttribute"/> class.
            </summary>
            <param name="displayName">The display name.</param>
        </member>
        <member name="M:SharpShell.Attributes.DisplayNameAttribute.GetDisplayName(System.Type)">
            <summary>
            Gets the display name for a type, if defined.
            </summary>
            <param name="type">The type.</param>
            <returns>The display name of the type, if defined.</returns>
        </member>
        <member name="M:SharpShell.Attributes.DisplayNameAttribute.GetDisplayNameOrTypeName(System.Type)">
            <summary>
            Gets the display name of the (if defined and not empty) for a type.
            If there is no display name, or it is empty, the type name is returned.
            </summary>
            <param name="type">The type.</param>
            <returns>The display name of the (if defined and not empty) for a type, otherwise the type name.</returns>
        </member>
        <member name="P:SharpShell.Attributes.DisplayNameAttribute.DisplayName">
            <summary>
            Gets the display name.
            </summary>
        </member>
        <member name="T:SharpShell.SharpContextMenu.NativeContextMenuWrapper">
            <summary>
            The Native Context Menu Wrapper builds a native context menu from a WinForms context
            menu. It also allows command indexes and verbs back to the original menu items.
            </summary>
        </member>
        <member name="M:SharpShell.SharpContextMenu.NativeContextMenuWrapper.ResetNativeContextMenu">
            <summary>
            Resets the native context menu.
            </summary>
        </member>
        <member name="M:SharpShell.SharpContextMenu.NativeContextMenuWrapper.BuildNativeContextMenu(System.IntPtr,System.UInt32,System.Windows.Forms.ToolStripItemCollection)">
            <summary>
            Builds a native context menu, on to the provided HMENU.
            </summary>
            <param name="hMenu">The handle to the menu.</param>
            <param name="firstItemId">The first item id.</param>
            <param name="toolStripItems">The tool strip menu items.</param>
            <returns>The index of the last item created.</returns>
        </member>
        <member name="M:SharpShell.SharpContextMenu.NativeContextMenuWrapper.CreateNativeMenuItem(System.Windows.Forms.ToolStripItem,System.UInt32)">
            <summary>
            Creates the native menu item.
            </summary>
            <param name="toolStripItem">The tool strip item.</param>
            <param name="id">The id.</param>
            <returns>The native menu ite,.</returns>
        </member>
        <member name="M:SharpShell.SharpContextMenu.NativeContextMenuWrapper.BuildMenuItemInfo(SharpShell.Interop.MENUITEMINFO@,System.Windows.Forms.ToolStripMenuItem)">
            <summary>
            Builds the menu item info.
            </summary>
            <param name="menuItemInfo">The menu item info.</param>
            <param name="menuItem">The menu item.</param>
        </member>
        <member name="M:SharpShell.SharpContextMenu.NativeContextMenuWrapper.BuildMenuItemInfo(SharpShell.Interop.MENUITEMINFO@)">
            <summary>
            Builds the menu item info.
            </summary>
            <param name="menuItemInfo">The menu item info.</param>
        </member>
        <member name="M:SharpShell.SharpContextMenu.NativeContextMenuWrapper.TryInvokeCommand(System.Int32)">
            <summary>
            Tries to invoke the command.
            </summary>
            <param name="index">The index.</param>
            <returns>True if the command is invoked.</returns>
        </member>
        <member name="M:SharpShell.SharpContextMenu.NativeContextMenuWrapper.TryInvokeCommand(System.String)">
            <summary>
            Tries to invoke the command.
            </summary>
            <param name="verb">The verb.</param>
            <returns>True if the command is invoked.</returns>
        </member>
        <member name="F:SharpShell.SharpContextMenu.NativeContextMenuWrapper.indexedCommands">
            <summary>
            Map of indexes to commands.
            </summary>
        </member>
        <member name="F:SharpShell.SharpContextMenu.NativeContextMenuWrapper.verbsToCommands">
            <summary>
            Map of verbs to commands.
            </summary>
        </member>
        <member name="T:SharpShell.ServerType">
            <summary>
            The Server Type.
            </summary>
        </member>
        <member name="F:SharpShell.ServerType.None">
            <summary>
            No Server Type.
            </summary>
        </member>
        <member name="F:SharpShell.ServerType.ShellContextMenu">
            <summary>
            A Shell Context Menu.
            </summary>
        </member>
        <member name="F:SharpShell.ServerType.ShellPropertySheet">
            <summary>
            A Shell Property Sheet.
            </summary>
        </member>
        <member name="F:SharpShell.ServerType.ShellIconHandler">
            <summary>
            A Shell Icon Handler.
            </summary>
        </member>
        <member name="F:SharpShell.ServerType.ShellInfoTipHandler">
            <summary>
            A Shell Info Tip Handler.
            </summary>
        </member>
        <member name="F:SharpShell.ServerType.ShellDropHandler">
            <summary>
            A Shell Drop Handler
            </summary>
        </member>
        <member name="F:SharpShell.ServerType.ShellIconOverlayHandler">
            <summary>
            A Shell Icon Overlay Handler.
            </summary>
        </member>
        <member name="F:SharpShell.ServerType.ShellPreviewHander">
            <summary>
            A Shell Preview Handler
            </summary>
        </member>
        <member name="T:SharpShell.NativeBridge.NativeBridge">
            <summary>
            The NativeBridge is an object that wraps the functionality of the SharpShellNativeBridge
            library. It also automatically extracts the DLL from the manifest resources.
            </summary>
        </member>
        <member name="M:SharpShell.NativeBridge.NativeBridge.Initialise">
            <summary>
            Initialises the Native Bridge.
            </summary>
            <returns>True if the initialisation succeeded, otherwise false.</returns>
        </member>
        <member name="M:SharpShell.NativeBridge.NativeBridge.CallAddPropSheetPage(System.IntPtr,System.IntPtr,System.IntPtr)">
            <summary>
            Calls the add prop sheet page.
            </summary>
            <param name="pAddPropSheet">The p add prop sheet.</param>
            <param name="hProp">The h prop.</param>
            <param name="lParam">The l param.</param>
            <returns></returns>
        </member>
        <member name="M:SharpShell.NativeBridge.NativeBridge.GetProxyHostTemplate">
            <summary>
            Gets the proxy host template.
            </summary>
            <returns>The pointer to the proxy host template.</returns>
        </member>
        <member name="M:SharpShell.NativeBridge.NativeBridge.Deinitialise">
            <summary>
            Deinitialises this instance.
            </summary>
        </member>
        <member name="M:SharpShell.NativeBridge.NativeBridge.GetBridgeManifestResourceName">
            <summary>
            Gets the name of the bridge manifest resource.
            </summary>
            <returns>The name of the bridge manifest resource.</returns>
        </member>
        <member name="M:SharpShell.NativeBridge.NativeBridge.GetInstanceHandle">
            <summary>
            Gets the instance handle.
            </summary>
            <returns>The Instance Handle.</returns>
        </member>
        <member name="T:SharpShell.Interop.Shell32">
            <summary>
            Methods imported from Shell32.dll.
            </summary>
        </member>
        <member name="M:SharpShell.Interop.Shell32.DragQueryFile(System.IntPtr,System.UInt32,System.Text.StringBuilder,System.UInt32)">
            <summary>
            Retrieves the names of dropped files that result from a successful drag-and-drop operation.
            </summary>
            <param name="hDrop">Identifier of the structure that contains the file names of the dropped files.</param>
            <param name="iFile">Index of the file to query. If the value of this parameter is 0xFFFFFFFF, DragQueryFile returns a count of the files dropped. If the value of this parameter is between zero and the total number of files dropped, DragQueryFile copies the file name with the corresponding value to the buffer pointed to by the lpszFile parameter.</param>
            <param name="lpszFile">The address of a buffer that receives the file name of a dropped file when the function returns. This file name is a null-terminated string. If this parameter is NULL, DragQueryFile returns the required size, in characters, of this buffer.</param>
            <param name="cch">The size, in characters, of the lpszFile buffer.</param>
            <returns>A nonzero value indicates a successful call.</returns>
        </member>
        <member name="M:SharpShell.Interop.Shell32.ShellExecuteEx(SharpShell.Interop.SHELLEXECUTEINFO@)">
            <summary>
            Performs an operation on a specified file.
            </summary>
            <param name="pExecInfo">A pointer to a SHELLEXECUTEINFO structure that contains and receives information about the application being executed.</param>
            <returns>Returns TRUE if successful; otherwise, FALSE. Call GetLastError for extended error information.</returns>
        </member>
        <member name="T:SharpShell.Interop.IExtractIcon">
            <summary>
            Exposes methods that allow a client to retrieve the icon that is associated with one of the objects in a folder.
            </summary>
        </member>
        <member name="M:SharpShell.Interop.IExtractIcon.GetIconLocation(SharpShell.Interop.GILInFlags,System.Text.StringBuilder,System.Int32,System.Int32@,SharpShell.Interop.GILOutFlags@)">
            <summary>
            Gets the location and index of an icon.
            </summary>
            <param name="uFlags">One or more of the following values. This parameter can also be NULL.</param>
            <param name="szIconFile">A pointer to a buffer that receives the icon location. The icon location is a null-terminated string that identifies the file that contains the icon.</param>
            <param name="cchMax">The size of the buffer, in characters, pointed to by pszIconFile.</param>
            <param name="piIndex">A pointer to an int that receives the index of the icon in the file pointed to by pszIconFile.</param>
            <param name="pwFlags">A pointer to a UINT value that receives zero or a combination of the following value</param>
            <returns></returns>
        </member>
        <member name="M:SharpShell.Interop.IExtractIcon.Extract(System.String,System.UInt32,System.IntPtr@,System.IntPtr@,System.UInt32)">
            <summary>
            Extracts an icon image from the specified location.
            </summary>
            <param name="pszFile">A pointer to a null-terminated string that specifies the icon location.</param>
            <param name="nIconIndex">The index of the icon in the file pointed to by pszFile.</param>
            <param name="phiconLarge">A pointer to an HICON value that receives the handle to the large icon. This parameter may be NULL.</param>
            <param name="phiconSmall">A pointer to an HICON value that receives the handle to the small icon. This parameter may be NULL.</param>
            <param name="nIconSize">The desired size of the icon, in pixels. The low word contains the size of the large icon, and the high word contains the size of the small icon. The size specified can be the width or height. The width of an icon always equals its height.</param>
            <returns>
            Returns S_OK if the function extracted the icon, or S_FALSE if the calling application should extract the icon.
            </returns>
        </member>
        <member name="T:SharpShell.Interop.GILInFlags">
            <summary>
            Input GIL flags.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.GILInFlags.GIL_ASYNC">
            <summary>
            Set this flag to determine whether the icon should be extracted asynchronously. If the icon can be extracted rapidly, this flag is usually ignored. If extraction will take more time, GetIconLocation should return E_PENDING
            </summary>
        </member>
        <member name="F:SharpShell.Interop.GILInFlags.GIL_DEFAULTICON">
            <summary>
            Retrieve information about the fallback icon. Fallback icons are usually used while the desired icon is extracted and added to the cache.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.GILInFlags.GIL_FORSHELL">
            <summary>
            The icon is displayed in a Shell folder.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.GILInFlags.GIL_FORSHORTCUT">
            <summary>
            The icon indicates a shortcut. However, the icon extractor should not apply the shortcut overlay; that will be done later. Shortcut icons are state-independent.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.GILInFlags.GIL_OPENICON">
            <summary>
            The icon is in the open state if both open-state and closed-state images are available. If this flag is not specified, the icon is in the normal or closed state. This flag is typically used for folder objects.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.GILInFlags.GIL_CHECKSHIELD">
            <summary>
            Explicitly return either GIL_SHIELD or GIL_FORCENOSHIELD in pwFlags. Do not block if GIL_ASYNC is set.
            </summary>
        </member>
        <member name="T:SharpShell.Interop.GILOutFlags">
            <summary>
            Output GIL flags.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.GILOutFlags.GIL_DONTCACHE">
            <summary>
            The physical image bits for this icon are not cached by the calling application.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.GILOutFlags.GIL_NOTFILENAME">
            <summary>
            The location is not a file name/index pair. The values in pszIconFile and piIndex cannot be passed to ExtractIcon or ExtractIconEx.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.GILOutFlags.GIL_PERCLASS">
            <summary>
            All objects of this class have the same icon. This flag is used internally by the Shell. Typical implementations of IExtractIcon do not require this flag because the flag implies that an icon handler is not required to resolve the icon on a per-object basis. The recommended method for implementing per-class icons is to register a DefaultIcon for the class.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.GILOutFlags.GIL_PERINSTANCE">
            <summary>
            Each object of this class has its own icon. This flag is used internally by the Shell to handle cases like Setup.exe, where objects with identical names can have different icons. Typical implementations of IExtractIcon do not require this flag.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.GILOutFlags.GIL_SIMULATEDOC">
            <summary>
            The calling application should create a document icon using the specified icon.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.GILOutFlags.GIL_SHIELD">
            <summary>
            Windows Vista only. The calling application must stamp the icon with the UAC shield.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.GILOutFlags.GIL_FORCENOSHIELD">
            <summary>
            Windows Vista only. The calling application must not stamp the icon with the UAC shield.
            </summary>
        </member>
        <member name="T:SharpShell.Interop.CMINVOKECOMMANDINFO">
            <summary>
            Contains information needed by IContextMenu::InvokeCommand to invoke a shortcut menu command.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CMINVOKECOMMANDINFO.cbSize">
            <summary>
            The size of this structure, in bytes.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CMINVOKECOMMANDINFO.fMask">
            <summary>
            Zero, or one or more of the following flags.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CMINVOKECOMMANDINFO.hwnd">
            <summary>
            A handle to the window that is the owner of the shortcut menu. An extension can also use this handle as the owner of any message boxes or dialog boxes it displays.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CMINVOKECOMMANDINFO.verb">
            <summary>
            The address of a null-terminated string that specifies the language-independent name of the command to carry out. This member is typically a string when a command is being activated by an application. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CMINVOKECOMMANDINFO.parameters">
            <summary>
            An optional string containing parameters that are passed to the command. The format of this string is determined by the command that is to be invoked. This member is always NULL for menu items inserted by a Shell extension.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CMINVOKECOMMANDINFO.directory">
            <summary>
            An optional working directory name. This member is always NULL for menu items inserted by a Shell extension.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CMINVOKECOMMANDINFO.nShow">
            <summary>
            
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CMINVOKECOMMANDINFO.dwHotKey">
            <summary>
            An optional keyboard shortcut to assign to any application activated by the command. If the fMask parameter does not specify CMIC_MASK_HOTKEY, this member is ignored.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CMINVOKECOMMANDINFO.hIcon">
            <summary>
            An icon to use for any application activated by the command. If the fMask member does not specify CMIC_MASK_ICON, this member is ignored.
            </summary>
        </member>
        <member name="T:SharpShell.SharpDropHandler.SharpDropHandler">
            <summary>
            The SharpIconHandler is the base class for SharpShell servers that provide
            custom Icon Handlers.
            </summary>
        </member>
        <member name="M:SharpShell.SharpDropHandler.SharpDropHandler.SharpShell#Interop#IDropTarget#DragEnter(System.Runtime.InteropServices.ComTypes.IDataObject,System.UInt32,SharpShell.Interop.POINT,System.UInt32@)">
            <summary>
            Indicates whether a drop can be accepted, and, if so, the effect of the drop.
            </summary>
            <param name="pDataObj">A pointer to the IDataObject interface on the data object. This data object contains the data being transferred in the drag-and-drop operation. If the drop occurs, this data object will be incorporated into the target.</param>
            <param name="grfKeyState">The current state of the keyboard modifier keys on the keyboard. Possible values can be a combination of any of the flags MK_CONTROL, MK_SHIFT, MK_ALT, MK_BUTTON, MK_LBUTTON, MK_MBUTTON, and MK_RBUTTON.</param>
            <param name="pt">A POINTL structure containing the current cursor coordinates in screen coordinates.</param>
            <param name="pdwEffect">On input, pointer to the value of the pdwEffect parameter of the DoDragDrop function. On return, must contain one of the DROPEFFECT flags, which indicates what the result of the drop operation would be.</param>
            <returns>
            This method returns S_OK on success.
            </returns>
        </member>
        <member name="M:SharpShell.SharpDropHandler.SharpDropHandler.SharpShell#Interop#IDropTarget#DragOver(System.UInt32,SharpShell.Interop.POINT,System.UInt32@)">
            <summary>
            Provides target feedback to the user and communicates the drop's effect to the DoDragDrop function so it can communicate the effect of the drop back to the source.
            </summary>
            <param name="grfKeyState">The current state of the keyboard modifier keys on the keyboard. Valid values can be a combination of any of the flags MK_CONTROL, MK_SHIFT, MK_ALT, MK_BUTTON, MK_LBUTTON, MK_MBUTTON, and MK_RBUTTON.</param>
            <param name="pt">A POINTL structure containing the current cursor coordinates in screen coordinates.</param>
            <param name="pdwEffect">On input, pointer to the value of the pdwEffect parameter of the DoDragDrop function. On return, must contain one of the DROPEFFECT flags, which indicates what the result of the drop operation would be.</param>
            <returns>
            This method returns S_OK on success.
            </returns>
        </member>
        <member name="M:SharpShell.SharpDropHandler.SharpDropHandler.SharpShell#Interop#IDropTarget#DragLeave">
            <summary>
            Removes target feedback and releases the data object.
            </summary>
            <returns>
            This method returns S_OK on success.
            </returns>
        </member>
        <member name="M:SharpShell.SharpDropHandler.SharpDropHandler.SharpShell#Interop#IDropTarget#Drop(System.Runtime.InteropServices.ComTypes.IDataObject,System.UInt32,SharpShell.Interop.POINT,System.UInt32@)">
            <summary>
            Incorporates the source data into the target window, removes target feedback, and releases the data object.
            </summary>
            <param name="pDataObj">A pointer to the IDataObject interface on the data object being transferred in the drag-and-drop operation.</param>
            <param name="grfKeyState">The current state of the keyboard modifier keys on the keyboard. Possible values can be a combination of any of the flags MK_CONTROL, MK_SHIFT, MK_ALT, MK_BUTTON, MK_LBUTTON, MK_MBUTTON, and MK_RBUTTON.</param>
            <param name="pt">A POINTL structure containing the current cursor coordinates in screen coordinates.</param>
            <param name="pdwEffect">On input, pointer to the value of the pdwEffect parameter of the DoDragDrop function. On return, must contain one of the DROPEFFECT flags, which indicates what the result of the drop operation would be.</param>
            <returns>
            This method returns S_OK on success.
            </returns>
        </member>
        <member name="M:SharpShell.SharpDropHandler.SharpDropHandler.DragEnter(System.Windows.Forms.DragEventArgs)">
            <summary>
            Checks what operations are available for dragging onto the target with the drag files.
            </summary>
            <param name="dragEventArgs">The <see cref="T:System.Windows.Forms.DragEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:SharpShell.SharpDropHandler.SharpDropHandler.Drop(System.Windows.Forms.DragEventArgs)">
            <summary>
            Performs the drop.
            </summary>
            <param name="dragEventArgs">The <see cref="T:System.Windows.Forms.DragEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="F:SharpShell.SharpDropHandler.SharpDropHandler.dragItems">
            <summary>
            The set of items being dragged.
            </summary>
        </member>
        <member name="P:SharpShell.SharpDropHandler.SharpDropHandler.DragItems">
            <summary>
            Gets the drag items.
            </summary>
        </member>
        <member name="T:SharpShell.SharpPreviewHandler.PreviewHandlerControl">
            <summary>
            Base class for preview handler controls.
            </summary>
        </member>
        <member name="M:SharpShell.SharpPreviewHandler.PreviewHandlerControl.SetVisualsBackgroundColor(System.Drawing.Color)">
            <summary>
            Sets the color of the background, if possible, to coordinate with the windows
            color scheme.
            </summary>
            <param name="color">The color.</param>
        </member>
        <member name="M:SharpShell.SharpPreviewHandler.PreviewHandlerControl.SetVisualsTextColor(System.Drawing.Color)">
            <summary>
            Sets the color of the text, if possible, to coordinate with the windows
            color scheme.
            </summary>
            <param name="color">The color.</param>
        </member>
        <member name="M:SharpShell.SharpPreviewHandler.PreviewHandlerControl.SetVisualsFont(System.Drawing.Font)">
            <summary>
            Sets the font, if possible, to coordinate with the windows
            color scheme.
            </summary>
            <param name="font">The font.</param>
        </member>
        <member name="T:SharpShell.SharpIconOverlayHandler.SharpIconOverlayHandler">
            <summary>
            The SharpIconHandler is the base class for SharpShell servers that provide
            custom Icon Handlers.
            </summary>
        </member>
        <member name="T:SharpShell.Interop.IShellIconOverlayIdentifier">
            <summary>
            Exposes methods that handle all communication between icon overlay handlers and the Shell.
            </summary>
        </member>
        <member name="M:SharpShell.Interop.IShellIconOverlayIdentifier.IsMemberOf(System.String,SharpShell.Interop.SFGAO)">
            <summary>
            Specifies whether an icon overlay should be added to a Shell object's icon.
            </summary>
            <param name="pwszPath">A Unicode string that contains the fully qualified path of the Shell object.</param>
            <param name="dwAttrib">The object's attributes. For a complete list of file attributes and their associated flags, see IShellFolder::GetAttributesOf.</param>
            <returns>If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.</returns>
        </member>
        <member name="M:SharpShell.Interop.IShellIconOverlayIdentifier.GetOverlayInfo(System.Text.StringBuilder,System.Int32,System.Int32@,SharpShell.Interop.ISIOI@)">
            <summary>
            Provides the location of the icon overlay's bitmap.
            </summary>
            <param name="pwszIconFile">A null-terminated Unicode string that contains the fully qualified path of the file containing the icon. The .dll, .exe, and .ico file types are all acceptable. You must set the ISIOI_ICONFILE flag in pdwFlags if you return a file name.</param>
            <param name="cchMax">The size of the pwszIconFile buffer, in Unicode characters.</param>
            <param name="pIndex">Pointer to an index value used to identify the icon in a file that contains multiple icons. You must set the ISIOI_ICONINDEX flag in pdwFlags if you return an index.</param>
            <param name="pdwFlags">Pointer to a bitmap that specifies the information that is being returned by the method. This parameter can be one or both of the following values: ISIOI_ICONFILE, ISIOI_ICONINDEX.</param>
            <returns>If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.</returns>
        </member>
        <member name="M:SharpShell.Interop.IShellIconOverlayIdentifier.GetPriority(System.Int32@)">
            <summary>
            Specifies the priority of an icon overlay.
            </summary>
            <param name="pPriority">The address of a value that indicates the priority of the overlay identifier. Possible values range from zero to 100, with zero the highest priority.</param>
            <returns>Returns S_OK if successful, or a COM error code otherwise.</returns>
        </member>
        <member name="M:SharpShell.SharpIconOverlayHandler.SharpIconOverlayHandler.SharpShell#Interop#IShellIconOverlayIdentifier#IsMemberOf(System.String,SharpShell.Interop.SFGAO)">
            <summary>
            Specifies whether an icon overlay should be added to a Shell object's icon.
            </summary>
            <param name="pwszPath">A Unicode string that contains the fully qualified path of the Shell object.</param>
            <param name="dwAttrib">The object's attributes. For a complete list of file attributes and their associated flags, see IShellFolder::GetAttributesOf.</param>
            <returns>
            If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.
            </returns>
        </member>
        <member name="M:SharpShell.SharpIconOverlayHandler.SharpIconOverlayHandler.SharpShell#Interop#IShellIconOverlayIdentifier#GetOverlayInfo(System.Text.StringBuilder,System.Int32,System.Int32@,SharpShell.Interop.ISIOI@)">
            <summary>
            Provides the location of the icon overlay's bitmap.
            </summary>
            <param name="pwszIconFile">A null-terminated Unicode string that contains the fully qualified path of the file containing the icon. The .dll, .exe, and .ico file types are all acceptable. You must set the ISIOI_ICONFILE flag in pdwFlags if you return a file name.</param>
            <param name="cchMax">The size of the pwszIconFile buffer, in Unicode characters.</param>
            <param name="pIndex">Pointer to an index value used to identify the icon in a file that contains multiple icons. You must set the ISIOI_ICONINDEX flag in pdwFlags if you return an index.</param>
            <param name="pdwFlags">Pointer to a bitmap that specifies the information that is being returned by the method. This parameter can be one or both of the following values: ISIOI_ICONFILE, ISIOI_ICONINDEX.</param>
            <returns>
            If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.
            </returns>
        </member>
        <member name="M:SharpShell.SharpIconOverlayHandler.SharpIconOverlayHandler.SharpShell#Interop#IShellIconOverlayIdentifier#GetPriority(System.Int32@)">
            <summary>
            Specifies the priority of an icon overlay.
            </summary>
            <param name="pPriority">The address of a value that indicates the priority of the overlay identifier. Possible values range from zero to 100, with zero the highest priority.</param>
            <returns>
            Returns S_OK if successful, or a COM error code otherwise.
            </returns>
        </member>
        <member name="M:SharpShell.SharpIconOverlayHandler.SharpIconOverlayHandler.CustomRegisterFunction(System.Type,SharpShell.ServerRegistration.RegistrationType)">
            <summary>
            The custom registration function.
            </summary>
            <param name="serverType">Type of the server.</param>
            <param name="registrationType">Type of the registration.</param>
        </member>
        <member name="M:SharpShell.SharpIconOverlayHandler.SharpIconOverlayHandler.CustomUnregisterFunction(System.Type,SharpShell.ServerRegistration.RegistrationType)">
            <summary>
            Customs the unregister function.
            </summary>
            <param name="serverType">Type of the server.</param>
            <param name="registrationType">Type of the registration.</param>
        </member>
        <member name="M:SharpShell.SharpIconOverlayHandler.SharpIconOverlayHandler.CreateTemporaryIconFilePath">
            <summary>
            Creates the temporary icon file path.
            </summary>
        </member>
        <member name="M:SharpShell.SharpIconOverlayHandler.SharpIconOverlayHandler.GetPriority">
            <summary>
            Called by the system to get the priority, which is used to determine
            which icon overlay to use if there are multiple handlers. The priority
            must be between 0 and 100, where 0 is the highest priority.
            </summary>
            <returns>A value between 0 and 100, where 0 is the highest priority.</returns>
        </member>
        <member name="M:SharpShell.SharpIconOverlayHandler.SharpIconOverlayHandler.CanShowOverlay(System.String,SharpShell.Interop.SFGAO)">
            <summary>
            Determines whether an overlay should be shown for the shell item with the path 'path' and 
            the shell attributes 'attributes'.
            </summary>
            <param name="path">The path for the shell item. This is not necessarily the path
            to a physical file or folder.</param>
            <param name="attributes">The attributes of the shell item.</param>
            <returns>
              <c>true</c> if this an overlay should be shown for the specified item; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:SharpShell.SharpIconOverlayHandler.SharpIconOverlayHandler.GetOverlayIcon">
            <summary>
            Called to get the icon to show as the overlay icon.
            </summary>
            <returns>The overlay icon.</returns>
        </member>
        <member name="F:SharpShell.SharpIconOverlayHandler.SharpIconOverlayHandler.temporaryIconOverlayFilePath">
            <summary>
            The temporary icon overlay file path.
            </summary>
        </member>
        <member name="T:SharpShell.Interop.NMHDR">
            <summary>
            Contains information about a notification message.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.NMHDR.hwndFrom">
            <summary>
            A window handle to the control sending the message.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.NMHDR.idFrom">
            <summary>
            An identifier of the control sending the message.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.NMHDR.code">
            <summary>
            A notification code. This member can be one of the common notification codes (see Notifications under General Control Reference), or it can be a control-specific notification code.
            </summary>
        </member>
        <member name="T:SharpShell.Interop.FontCharSet">
            <summary>
            Font charset values.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.FontCharSet.ANSI_CHARSET">
            <summary>
            The ANSI CHARSET
            </summary>
        </member>
        <member name="F:SharpShell.Interop.FontCharSet.DEFAULT_CHARSET">
            <summary>
            The DEFAULT CHARSET
            </summary>
        </member>
        <member name="F:SharpShell.Interop.FontCharSet.SYMBOL_CHARSET">
            <summary>
            The SYMBOL CHARSET
            </summary>
        </member>
        <member name="F:SharpShell.Interop.FontCharSet.SHIFTJIS_CHARSET">
            <summary>
            The SHIFTJIS_ CHARSET
            </summary>
        </member>
        <member name="F:SharpShell.Interop.FontCharSet.HANGEUL_CHARSET">
            <summary>
            The HANGEUL CHARSET
            </summary>
        </member>
        <member name="F:SharpShell.Interop.FontCharSet.HANGUL_CHARSET">
            <summary>
            The HANGUL CHARSET
            </summary>
        </member>
        <member name="F:SharpShell.Interop.FontCharSet.GB2312_CHARSET">
            <summary>
            The G B2312 CHARSET
            </summary>
        </member>
        <member name="F:SharpShell.Interop.FontCharSet.CHINESEBIG5_CHARSET">
            <summary>
            The CHINESEBIG5 CHARSET
            </summary>
        </member>
        <member name="F:SharpShell.Interop.FontCharSet.OEM_CHARSET">
            <summary>
            The OEM CHARSET
            </summary>
        </member>
        <member name="F:SharpShell.Interop.FontCharSet.JOHAB_CHARSET">
            <summary>
            The JOHAB_CHARSET
            </summary>
        </member>
        <member name="F:SharpShell.Interop.FontCharSet.HEBREW_CHARSET">
            <summary>
            The HEBREW_CHARSET
            </summary>
        </member>
        <member name="F:SharpShell.Interop.FontCharSet.ARABIC_CHARSET">
            <summary>
            The ARABIC_CHARSET
            </summary>
        </member>
        <member name="F:SharpShell.Interop.FontCharSet.GREEK_CHARSET">
            <summary>
            The GREEK_CHARSET
            </summary>
        </member>
        <member name="F:SharpShell.Interop.FontCharSet.TURKISH_CHARSET">
            <summary>
            The TURKISH_CHARSET
            </summary>
        </member>
        <member name="F:SharpShell.Interop.FontCharSet.VIETNAMESE_CHARSET">
            <summary>
            The VIETNAMESE_CHARSET
            </summary>
        </member>
        <member name="F:SharpShell.Interop.FontCharSet.THAI_CHARSET">
            <summary>
            The THAI_CHARSET
            </summary>
        </member>
        <member name="F:SharpShell.Interop.FontCharSet.EASTEUROPE_CHARSET">
            <summary>
            The EASTEUROPE_CHARSET
            </summary>
        </member>
        <member name="F:SharpShell.Interop.FontCharSet.RUSSIAN_CHARSET">
            <summary>
            The RUSSIAN_CHARSET
            </summary>
        </member>
        <member name="F:SharpShell.Interop.FontCharSet.MAC_CHARSET">
            <summary>
            The MAC_CHARSET
            </summary>
        </member>
        <member name="F:SharpShell.Interop.FontCharSet.BALTIC_CHARSET">
            <summary>
            The BALTIC_CHARSET
            </summary>
        </member>
        <member name="T:SharpShell.ServerRegistration.ServerRegistationType">
            <summary>
            Represents the type of server registration.
            </summary>
        </member>
        <member name="F:SharpShell.ServerRegistration.ServerRegistationType.PartiallyRegistered">
            <summary>
            The Server is partially registered only - there's no process models.
            </summary>
        </member>
        <member name="F:SharpShell.ServerRegistration.ServerRegistationType.NativeInProc32">
            <summary>
            It's a native InProc32 server.
            </summary>
        </member>
        <member name="F:SharpShell.ServerRegistration.ServerRegistationType.ManagedInProc32">
            <summary>
            It's a managed InProc32 server.
            </summary>
        </member>
        <member name="T:SharpShell.Diagnostics.ExplorerConfigurationManager">
            <summary>
            The ExplorerConfigurationManager can be used to manage explorer configuration relating to the shell.
            </summary>
        </member>
        <member name="F:SharpShell.Diagnostics.ExplorerConfigurationManager.KeyName_AlwaysUnloadDll">
            <summary>
            The AlwaysUnloadDLL key name.
            </summary>
        </member>
        <member name="F:SharpShell.Diagnostics.ExplorerConfigurationManager.SubKeyName_AlwaysUnloadDLL">
            <summary>
            The AlwaysUnloadDLL sub key name.
            </summary>
        </member>
        <member name="F:SharpShell.Diagnostics.ExplorerConfigurationManager.KeyName_Explorer">
            <summary>
            The windows explorer key namme.
            </summary>
        </member>
        <member name="F:SharpShell.Diagnostics.ExplorerConfigurationManager.ValueName_DesktopProcess">
            <summary>
            The dekstop process value name.
            </summary>
        </member>
        <member name="M:SharpShell.Diagnostics.ExplorerConfigurationManager.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:SharpShell.Diagnostics.ExplorerConfigurationManager"/> class.
            </summary>
        </member>
        <member name="M:SharpShell.Diagnostics.ExplorerConfigurationManager.CheckAlwaysUnloadDll">
            <summary>
            Checks the always unload DLL value.
            </summary>
            <returns>True if always unload dll is set.</returns>
        </member>
        <member name="M:SharpShell.Diagnostics.ExplorerConfigurationManager.CheckDesktopProcess">
            <summary>
            Checks the desktop process value.
            </summary>
            <returns>True if check desktop process is set.</returns>
        </member>
        <member name="M:SharpShell.Diagnostics.ExplorerConfigurationManager.ReadConfiguration">
            <summary>
            Reads the configuration.
            </summary>
        </member>
        <member name="M:SharpShell.Diagnostics.ExplorerConfigurationManager.SetAlwaysUnloadDll">
            <summary>
            Sets the always unload DLL value.
            </summary>
        </member>
        <member name="M:SharpShell.Diagnostics.ExplorerConfigurationManager.SetDesktopProcess">
            <summary>
            Sets the desktop process value.
            </summary>
        </member>
        <member name="M:SharpShell.Diagnostics.ExplorerConfigurationManager.OpenExporerSubkey(Microsoft.Win32.RegistryKey,Microsoft.Win32.RegistryKeyPermissionCheck)">
            <summary>
            Opens the exporer subkey.
            </summary>
            <param name="hiveKey">The hive key.</param>
            <param name="permissionCheck">The permission check.</param>
            <returns>
            The explorer subkey.
            </returns>
        </member>
        <member name="F:SharpShell.Diagnostics.ExplorerConfigurationManager.alwaysUnloadDll">
            <summary>
            The always unload dll flag.
            </summary>
        </member>
        <member name="F:SharpShell.Diagnostics.ExplorerConfigurationManager.desktopProcess">
            <summary>
            The desktop process flag.
            </summary>
        </member>
        <member name="P:SharpShell.Diagnostics.ExplorerConfigurationManager.AlwaysUnloadDll">
            <summary>
            Gets or sets a value indicating whether always unload DLL is set.
            </summary>
            <value>
              <c>true</c> if always unload DLL is set; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:SharpShell.Diagnostics.ExplorerConfigurationManager.DesktopProcess">
            <summary>
            Gets or sets a value indicating whether desktop process is set.
            </summary>
            <value>
              <c>true</c> if desktop process is set; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="T:SharpShell.Interop.PREVIEWHANDLERFRAMEINFO">
            <summary>
            Accelerator table structure. Used by IPreviewHandlerFrame::GetWindowContext.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.PREVIEWHANDLERFRAMEINFO.haccel">
            <summary>
            A handle to the accelerator table.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.PREVIEWHANDLERFRAMEINFO.cAccelEntries">
            <summary>
            The number of entries in the accelerator table.
            </summary>
        </member>
        <member name="T:SharpShell.Interop.FontWeight">
            <summary>
            The Font Weight values.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.FontWeight.FW_DONTCARE">
            <summary>
            The FW_DONTCARE
            </summary>
        </member>
        <member name="F:SharpShell.Interop.FontWeight.FW_THIN">
            <summary>
            The FW_THIN
            </summary>
        </member>
        <member name="F:SharpShell.Interop.FontWeight.FW_EXTRALIGHT">
            <summary>
            The FW_EXTRALIGHT
            </summary>
        </member>
        <member name="F:SharpShell.Interop.FontWeight.FW_LIGHT">
            <summary>
            The FW_LIGHT
            </summary>
        </member>
        <member name="F:SharpShell.Interop.FontWeight.FW_NORMAL">
            <summary>
            The FW_NORMAL
            </summary>
        </member>
        <member name="F:SharpShell.Interop.FontWeight.FW_MEDIUM">
            <summary>
            The FW_MEDIUM
            </summary>
        </member>
        <member name="F:SharpShell.Interop.FontWeight.FW_SEMIBOLD">
            <summary>
            The FW_SEMIBOLD
            </summary>
        </member>
        <member name="F:SharpShell.Interop.FontWeight.FW_BOLD">
            <summary>
            The FW_BOLD
            </summary>
        </member>
        <member name="F:SharpShell.Interop.FontWeight.FW_EXTRABOLD">
            <summary>
            The FW_EXTRABOLD
            </summary>
        </member>
        <member name="F:SharpShell.Interop.FontWeight.FW_HEAVY">
            <summary>
            The FW_HEAVY
            </summary>
        </member>
        <member name="T:SharpShell.Attributes.CustomRegisterFunctionAttribute">
            <summary>
            Identifies a function as being a static custom registration function.
            </summary>
        </member>
        <member name="M:SharpShell.Attributes.CustomRegisterFunctionAttribute.ExecuteIfExists(System.Type,SharpShell.ServerRegistration.RegistrationType)">
            <summary>
            Executes the CustomRegisterFunction if it exists for a type.
            </summary>
            <param name="type">The type.</param>
            <param name="registrationType">Type of the registration.</param>
        </member>
        <member name="T:SharpShell.SharpIconHandler.SharpIconHandler">
            <summary>
            The SharpIconHandler is the base class for SharpShell servers that provide
            custom Icon Handlers.
            </summary>
        </member>
        <member name="M:SharpShell.SharpIconHandler.SharpIconHandler.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:SharpShell.SharpIconHandler.SharpIconHandler"/> class.
            </summary>
        </member>
        <member name="M:SharpShell.SharpIconHandler.SharpIconHandler.SharpShell#Interop#IExtractIcon#GetIconLocation(SharpShell.Interop.GILInFlags,System.Text.StringBuilder,System.Int32,System.Int32@,SharpShell.Interop.GILOutFlags@)">
            <summary>
            Gets the location and index of an icon.
            </summary>
            <param name="uFlags">One or more of the following values. This parameter can also be NULL.</param>
            <param name="szIconFile">A pointer to a buffer that receives the icon location. The icon location is a null-terminated string that identifies the file that contains the icon.</param>
            <param name="cchMax">The size of the buffer, in characters, pointed to by pszIconFile.</param>
            <param name="piIndex">A pointer to an int that receives the index of the icon in the file pointed to by pszIconFile.</param>
            <param name="pwFlags">A pointer to a UINT value that receives zero or a combination of the following value</param>
            <returns></returns>
        </member>
        <member name="M:SharpShell.SharpIconHandler.SharpIconHandler.SharpShell#Interop#IExtractIcon#Extract(System.String,System.UInt32,System.IntPtr@,System.IntPtr@,System.UInt32)">
            <summary>
            Extracts an icon image from the specified location.
            </summary>
            <param name="pszFile">A pointer to a null-terminated string that specifies the icon location.</param>
            <param name="nIconIndex">The index of the icon in the file pointed to by pszFile.</param>
            <param name="phiconLarge">A pointer to an HICON value that receives the handle to the large icon. This parameter may be NULL.</param>
            <param name="phiconSmall">A pointer to an HICON value that receives the handle to the small icon. This parameter may be NULL.</param>
            <param name="nIconSize">The desired size of the icon, in pixels. The low word contains the size of the large icon, and the high word contains the size of the small icon. The size specified can be the width or height. The width of an icon always equals its height.</param>
            <returns>
            Returns S_OK if the function extracted the icon, or S_FALSE if the calling application should extract the icon.
            </returns>
        </member>
        <member name="M:SharpShell.SharpIconHandler.SharpIconHandler.GetIconSpecificSize(System.Drawing.Icon,System.Drawing.Size)">
            <summary>
            Gets an icon of a specific size from a set of icons.
            </summary>
            <param name="icon">The icon.</param>
            <param name="size">The size required.</param>
            <returns>The icon that is cloest to the size provided.</returns>
        </member>
        <member name="M:SharpShell.SharpIconHandler.SharpIconHandler.GetIcon(System.Boolean,System.UInt32)">
            <summary>
            Gets the icon.
            </summary>
            <param name="smallIcon">if set to <c>true</c> provide a small icon.</param>
            <param name="iconSize">Size of the icon.</param>
            <returns>The icon for the file.</returns>
        </member>
        <member name="P:SharpShell.SharpIconHandler.SharpIconHandler.DontCacheIcons">
            <summary>
            Gets or sets a value indicating whether to force icons from this handler 
            to not be cached by the shell.
            </summary>
            <value>
            	<c>true</c> if icons mustn't be cached; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="T:SharpShell.Interop.POINT">
            <summary>
            The POINT structure defines the x- and y- coordinates of a point.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.POINT.X">
            <summary>
            The x-coordinate of the point.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.POINT.Y">
            <summary>
            The y-coordinate of the point.
            </summary>
        </member>
        <member name="T:SharpShell.SharpInfoTipHandler.SharpInfoTipHandler">
            <summary>
            The SharpIconHandler is the base class for SharpShell servers that provide
            custom Icon Handlers.
            </summary>
        </member>
        <member name="M:SharpShell.SharpInfoTipHandler.SharpInfoTipHandler.SharpShell#Interop#IQueryInfo#GetInfoTip(SharpShell.Interop.QITIPF,System.String@)">
            <summary>
            Gets the info tip text for an item.
            </summary>
            <param name="dwFlags">Flags that direct the handling of the item from which you're retrieving the info tip text. This value is commonly zero.</param>
            <param name="ppwszTip">The address of a Unicode string pointer that, when this method returns successfully, receives the tip string pointer. Applications that implement this method must allocate memory for ppwszTip by calling CoTaskMemAlloc.
            Calling applications must call CoTaskMemFree to free the memory when it is no longer needed.</param>
            <returns>
            Returns S_OK if the function succeeds. If no info tip text is available, ppwszTip is set to NULL. Otherwise, returns a COM-defined error value.
            </returns>
        </member>
        <member name="M:SharpShell.SharpInfoTipHandler.SharpInfoTipHandler.SharpShell#Interop#IQueryInfo#GetInfoFlags(System.Int32@)">
            <summary>
            Gets the information flags for an item. This method is not currently used.
            </summary>
            <param name="pdwFlags">A pointer to a value that receives the flags for the item. If no flags are to be returned, this value should be set to zero.</param>
            <returns>
            Returns S_OK if pdwFlags returns any flag values, or a COM-defined error value otherwise.
            </returns>
        </member>
        <member name="M:SharpShell.SharpInfoTipHandler.SharpInfoTipHandler.GetInfo(SharpShell.SharpInfoTipHandler.RequestedInfoType,System.Boolean)">
            <summary>
            Gets info for the selected item (SelectedItemPath).
            </summary>
            <param name="infoType">Type of info to return.</param>
            <param name="singleLine">if set to <c>true</c>, put the info in a single line.</param>
            <returns>
            Specified info for the selected file.
            </returns>
        </member>
        <member name="T:SharpShell.SharpInfoTipHandler.RequestedInfoType">
            <summary>
            Specifies the type of information requested.
            </summary>
        </member>
        <member name="F:SharpShell.SharpInfoTipHandler.RequestedInfoType.InfoTip">
            <summary>
            The InfoTip - the text that will be shown in the tooltip for the item.
            </summary>
        </member>
        <member name="F:SharpShell.SharpInfoTipHandler.RequestedInfoType.Name">
            <summary>
            Return the name of the item.
            </summary>
        </member>
        <member name="F:SharpShell.SharpInfoTipHandler.RequestedInfoType.InfoOfShortcut">
            <summary>
            If the item is a shortcut file, get the info of the shortcut itself.
            </summary>
        </member>
        <member name="F:SharpShell.SharpInfoTipHandler.RequestedInfoType.InfoOfShortcutTarget">
            <summary>
            If the item is a shortcut file, get the info of the target of the shortcut.
            </summary>
        </member>
        <member name="T:SharpShell.Interop.SHELLEXECUTEINFO">
            <summary>
            Contains information used by ShellExecuteEx.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SHELLEXECUTEINFO.cbSize">
            <summary>
            Required. The size of this structure, in bytes.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SHELLEXECUTEINFO.fMask">
            <summary>
            Flags that indicate the content and validity of the other structure members.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SHELLEXECUTEINFO.hwnd">
            <summary>
            Optional. A handle to the parent window, used to display any message boxes that the system might produce while executing this function. This value can be NULL.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SHELLEXECUTEINFO.lpVerb">
            <summary>
            A string, referred to as a verb, that specifies the action to be performed. The set of available verbs depends on the particular file or folder. Generally, the actions available from an object's shortcut menu are available verbs. This parameter can be NULL, in which case the default verb is used if available. If not, the "open" verb is used. If neither verb is available, the system uses the first verb listed in the registry.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SHELLEXECUTEINFO.lpFile">
            <summary>
            The address of a null-terminated string that specifies the name of the file or object on which ShellExecuteEx will perform the action specified by the lpVerb parameter. The system registry verbs that are supported by the ShellExecuteEx function include "open" for executable files and document files and "print" for document files for which a print handler has been registered. Other applications might have added Shell verbs through the system registry, such as "play" for .avi and .wav files. To specify a Shell namespace object, pass the fully qualified parse name and set the SEE_MASK_INVOKEIDLIST flag in the fMask parameter.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SHELLEXECUTEINFO.lpParameters">
            <summary>
            Optional. The address of a null-terminated string that contains the application parameters. The parameters must be separated by spaces. If the lpFile member specifies a document file, lpParameters should be NULL.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SHELLEXECUTEINFO.lpDirectory">
            <summary>
            Optional. The address of a null-terminated string that specifies the name of the working directory. If this member is NULL, the current directory is used as the working directory.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SHELLEXECUTEINFO.nShow">
            <summary>
            Required. Flags that specify how an application is to be shown when it is opened; one of the SW_ values listed for the ShellExecute function. If lpFile specifies a document file, the flag is simply passed to the associated application. It is up to the application to decide how to handle it.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SHELLEXECUTEINFO.hInstApp">
            <summary>
            [out] If SEE_MASK_NOCLOSEPROCESS is set and the ShellExecuteEx call succeeds, it sets this member to a value greater than 32. If the function fails, it is set to an SE_ERR_XXX error value that indicates the cause of the failure. Although hInstApp is declared as an HINSTANCE for compatibility with 16-bit Windows applications, it is not a true HINSTANCE. It can be cast only to an int and compared to either 32 or the following SE_ERR_XXX error codes.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SHELLEXECUTEINFO.lpIDList">
            <summary>
            The address of an absolute ITEMIDLIST structure (PCIDLIST_ABSOLUTE) to contain an item identifier list that uniquely identifies the file to execute. This member is ignored if the fMask member does not include SEE_MASK_IDLIST or SEE_MASK_INVOKEIDLIST.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SHELLEXECUTEINFO.lpClass">
            <summary>
            The address of a null-terminated string that specifies one of the following:
                A ProgId. For example, "Paint.Picture".
                A URI protocol scheme. For example, "http".
                A file extension. For example, ".txt".
                A registry path under HKEY_CLASSES_ROOT that names a subkey that contains one or more Shell verbs. This key will have a subkey that conforms to the Shell verb registry schema, such as
                shell\verb name
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SHELLEXECUTEINFO.hkeyClass">
            <summary>
            A handle to the registry key for the file type. The access rights for this registry key should be set to KEY_READ. This member is ignored if fMask does not include SEE_MASK_CLASSKEY.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SHELLEXECUTEINFO.dwHotKey">
            <summary>
            A keyboard shortcut to associate with the application. The low-order word is the virtual key code, and the high-order word is a modifier flag (HOTKEYF_). For a list of modifier flags, see the description of the WM_SETHOTKEY message. This member is ignored if fMask does not include SEE_MASK_HOTKEY.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SHELLEXECUTEINFO.hIcon">
            <summary>
            A handle to the icon for the file type. This member is ignored if fMask does not include SEE_MASK_ICON. This value is used only in Windows XP and earlier. It is ignored as of Windows Vista.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.SHELLEXECUTEINFO.hProcess">
            <summary>
            A handle to the monitor upon which the document is to be displayed. This member is ignored if fMask does not include SEE_MASK_HMONITOR.
            </summary>
        </member>
        <member name="T:SharpShell.Attributes.AssociationType">
            <summary>
            The AssociationType determines what kind of associate a COM
            server is made to a class, such as a file class or a drive.
            </summary>
        </member>
        <member name="F:SharpShell.Attributes.AssociationType.None">
            <summary>
            No server association.
            </summary>
        </member>
        <member name="F:SharpShell.Attributes.AssociationType.FileExtension">
            <summary>
            Create an association to a specific file extension.
            </summary>
        </member>
        <member name="F:SharpShell.Attributes.AssociationType.ClassOfExtension">
            <summary>
            Create an association to the class of a specific file extension.
            </summary>
        </member>
        <member name="F:SharpShell.Attributes.AssociationType.Class">
            <summary>
            Create an association to a class.
            </summary>
        </member>
        <member name="F:SharpShell.Attributes.AssociationType.AllFiles">
            <summary>
            Create an association to the all files class.
            </summary>
        </member>
        <member name="F:SharpShell.Attributes.AssociationType.Directory">
            <summary>
            Create an association to the directory class.
            </summary>
        </member>
        <member name="F:SharpShell.Attributes.AssociationType.Drive">
            <summary>
            Create an association to the drive class.
            </summary>
        </member>
        <member name="F:SharpShell.Attributes.AssociationType.UnknownFiles">
            <summary>
            Create an association to the unknown files class.
            </summary>
        </member>
        <member name="T:SharpShell.Interop.MENUITEMINFO">
            <summary>
            Contains information about a menu item.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.MENUITEMINFO.cbSize">
            <summary>
            The size of the structure, in bytes. The caller must set this member to sizeof(MENUITEMINFO).
            </summary>
        </member>
        <member name="F:SharpShell.Interop.MENUITEMINFO.fMask">
            <summary>
            Indicates the members to be retrieved or set.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.MENUITEMINFO.fType">
            <summary>
            The menu item type.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.MENUITEMINFO.fState">
            <summary>
            The menu item state. 
            </summary>
        </member>
        <member name="F:SharpShell.Interop.MENUITEMINFO.wID">
            <summary>
            An application-defined value that identifies the menu item. Set fMask to MIIM_ID to use wID.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.MENUITEMINFO.hSubMenu">
            <summary>
            A handle to the drop-down menu or submenu associated with the menu item. If the menu item is not an item that opens a drop-down menu or submenu, this member is NULL. Set fMask to MIIM_SUBMENU to use hSubMenu.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.MENUITEMINFO.hbmpChecked">
            <summary>
            A handle to the bitmap to display next to the item if it is selected. If this member is NULL, a default bitmap is used. If the MFT_RADIOCHECK type value is specified, the default bitmap is a bullet. Otherwise, it is a check mark. Set fMask to MIIM_CHECKMARKS to use hbmpChecked.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.MENUITEMINFO.hbmpUnchecked">
            <summary>
            A handle to the bitmap to display next to the item if it is not selected. If this member is NULL, no bitmap is used. Set fMask to MIIM_CHECKMARKS to use hbmpUnchecked.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.MENUITEMINFO.dwItemData">
            <summary>
            An application-defined value associated with the menu item. Set fMask to MIIM_DATA to use dwItemData.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.MENUITEMINFO.dwTypeData">
            <summary>
            The contents of the menu item. The meaning of this member depends on the value of fType and is used only if the MIIM_TYPE flag is set in the fMask member.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.MENUITEMINFO.cch">
            <summary>
            The length of the menu item text, in characters, when information is received about a menu item of the MFT_STRING type. However, cch is used only if the MIIM_TYPE flag is set in the fMask member and is zero otherwise. Also, cch is ignored when the content of a menu item is set by calling SetMenuItemInfo.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.MENUITEMINFO.hbmpItem">
            <summary>
            A handle to the bitmap to be displayed, or it can be one of the values in the following table. It is used when the MIIM_BITMAP flag is set in the fMask member.
            </summary>
        </member>
        <member name="T:SharpShell.Interop.GCS">
            <summary>
            Flags specifying the information to return. This parameter can have one of the following values.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.GCS.GCS_VERBA">
            <summary>
            Sets pszName to an ANSI string containing the language-independent command name for the menu item.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.GCS.GCS_HELPTEXTA">
            <summary>
            Sets pszName to an ANSI string containing the help text for the command.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.GCS.GCS_VALIDATEA">
            <summary>
            Returns S_OK if the menu item exists, or S_FALSE otherwise.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.GCS.GCS_VERBW">
            <summary>
            Sets pszName to a Unicode string containing the language-independent command name for the menu item.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.GCS.GCS_HELPTEXTW">
            <summary>
            Sets pszName to a Unicode string containing the help text for the command.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.GCS.GCS_VALIDATEW">
            <summary>
            Returns S_OK if the menu item exists, or S_FALSE otherwise.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.GCS.GCS_VERBICONW">
            <summary>
            Not documented.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.GCS.GCS_UNICODE">
            <summary>
            Not documented.
            </summary>
        </member>
        <member name="T:SharpShell.Interop.CMIC">
            <summary>
            Context Menu Command Invoke flags.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CMIC.CMIC_MASK_ICON">
            <summary>
            The hIcon member is valid. As of Windows Vista this flag is not used.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CMIC.CMIC_MASK_HOTKEY">
            <summary>
            The dwHotKey member is valid.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CMIC.CMIC_MASK_NOASYNC">
            <summary>
            Windows Vista and later. The implementation of IContextMenu::InvokeCommand should be synchronous, not returning before it is complete. Since this is recommended, calling applications that specify this flag cannot guarantee that this request will be honored if they are not familiar with the implementation of the verb that they are invoking.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CMIC.CMIC_MASK_FLAG_NO_UI">
            <summary>
            The system is prevented from displaying user interface elements (for example, error messages) while carrying out a command.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CMIC.CMIC_MASK_UNICODE">
            <summary>
            The shortcut menu handler should use lpVerbW, lpParametersW, lpDirectoryW, and lpTitleW members instead of their ANSI equivalents. Because some shortcut menu handlers may not support Unicode, you should also pass valid ANSI strings in the lpVerb, lpParameters, lpDirectory, and lpTitle members.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CMIC.CMIC_MASK_NO_CONSOLE">
            <summary>
            If a shortcut menu handler needs to create a new process, it will normally create a new console. Setting the CMIC_MASK_NO_CONSOLE flag suppresses the creation of a new console.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CMIC.CMIC_MASK_ASYNCOK">
            <summary>
            Wait for the DDE conversation to terminate before returning.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CMIC.CMIC_MASK_NOZONECHECKS">
            <summary>
            Do not perform a zone check. This flag allows ShellExecuteEx to bypass zone checking put into place by IAttachmentExecute.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CMIC.CMIC_MASK_FLAG_LOG_USAGE">
            <summary>
            Indicates that the implementation of IContextMenu::InvokeCommand might want to keep track of the item being invoked for features like the "Recent documents" menu.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CMIC.CMIC_MASK_SHIFT_DOWN">
            <summary>
            The SHIFT key is pressed. Use this instead of polling the current state of the keyboard that may have changed since the verb was invoked.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CMIC.CMIC_MASK_PTINVOKE">
            <summary>
            The ptInvoke member is valid.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.CMIC.CMIC_MASK_CONTROL_DOWN">
            <summary>
            The CTRL key is pressed. Use this instead of polling the current state of the keyboard that may have changed since the verb was invoked.
            </summary>
        </member>
        <member name="T:SharpShell.Interop.QITIPF">
            <summary>
            GetInfoTip flags.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.QITIPF.QITIPF_DEFAULT">
            <summary>
            No special handling.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.QITIPF.QITIPF_USENAME">
            <summary>
            Provide the name of the item in ppwszTip rather than the info tip text.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.QITIPF.QITIPF_LINKNOTARGET">
            <summary>
            If the item is a shortcut, retrieve the info tip text of the shortcut rather than its target.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.QITIPF.QITIPF_LINKUSETARGET">
            <summary>
            If the item is a shortcut, retrieve the info tip text of the shortcut's target.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.QITIPF.QITIPF_USESLOWTIP">
            <summary>
            Search the entire namespace for the information. This value can result in a delayed response time.
            </summary>
        </member>
        <member name="F:SharpShell.Interop.QITIPF.QITIPF_SINGLELINE">
            <summary>
            Windows Vista and later. Put the info tip on a single line.
            </summary>
        </member>
        <member name="T:SharpShell.Extensions.GuidExtensions">
            <summary>
            Extensions for the Guid type.
            </summary>
        </member>
        <member name="M:SharpShell.Extensions.GuidExtensions.ToRegistryString(System.Guid)">
            <summary>
            Returns the GUID as a string suitable for the registry.
            </summary>
            <param name="this">The Guid.</param>
            <returns>The GUID as a string suitable for the registry</returns>
        </member>
    </members>
</doc>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The MIT License


Written By
Software Developer
United Kingdom United Kingdom
Follow my blog at www.dwmkerr.com and find out about my charity at www.childrenshomesnepal.org.

Comments and Discussions