IOleComponentUIManager.ShowMessage Method

Requests the display of a modal message.

Namespace: Microsoft.VisualStudio.Shell.Interop
Assembly: Microsoft.VisualStudio.Shell.Interop (in

int ShowMessage (
	[InAttribute] uint dwCompRole,
	[InAttribute] ref Guid rclsidComp,
	[InAttribute] string pszTitle,
	[InAttribute] string pszText,
	[InAttribute] string pszHelpFile,
	[InAttribute] uint dwHelpContextID,
	[InAttribute] OLEMSGBUTTON msgbtn,
	[InAttribute] OLEMSGDEFBUTTON msgdefbtn,
	[InAttribute] OLEMSGICON msgicon,
	[InAttribute] int fSysAlert,
	out int pnResult
int ShowMessage (
	/** @attribute InAttribute() */ UInt32 dwCompRole, 
	/** @attribute InAttribute() */ /** @ref */ Guid rclsidComp, 
	/** @attribute InAttribute() */ String pszTitle, 
	/** @attribute InAttribute() */ String pszText, 
	/** @attribute InAttribute() */ String pszHelpFile, 
	/** @attribute InAttribute() */ UInt32 dwHelpContextID, 
	/** @attribute InAttribute() */ OLEMSGBUTTON msgbtn, 
	/** @attribute InAttribute() */ OLEMSGDEFBUTTON msgdefbtn, 
	/** @attribute InAttribute() */ OLEMSGICON msgicon, 
	/** @attribute InAttribute() */ int fSysAlert, 
	/** @attribute OutAttribute() */ /** @ref */ int pnResult
JScript does not support passing value-type arguments by reference.



[in] Role of the VSPackage object that is requesting the modal message display. For a list of valid dwCompRole values, see OLEROLE.


[in] Class identifier (CLSID) of the VSPackage object requesting the message display.


[in] Pointer to the message text header or null if there is no header to display.


[in] Pointer to the main part of the message text or null if there is no text to display.


[in] Pointer to the path to a Help file.


[in] Specifies the Help context identifier.


[in] Specifies the set of buttons to appear in the message box. This parameter is similar to the uType parameter of the Win32 MessageBox function in that it uses similar values with similar semantics. For a list of valid msgbtn values, see OLEMSGBUTTON.

Note   OLEMSGBUTTON_YESALLNOCANCEL is not supported and returns the same result as OLEMSGBUTTON_OK.


[in] Specifies the default button for the message box. For a list of valid msgdefbtn values, see OLEMSGDEFBUTTON.


[in] Specifies the icon and type of the message. For a list of valid msgicon values, see OLEMSGICON.


[in] If true, this flag causes the MB_SYSTEMMODAL flag to be set when showing the message. If false, no system flag is set during the message display.


[out] Specifies the result of the message display. If ShowMessage succeeds, pnResult is set to one of the following menu item values returned by the dialog box:




Abort button was clicked.


Cancel button was clicked or the ESC key was pressed. If the message box does not have a Cancel button, pressing the ESC key has no effect.


Ignore button was clicked.


No button was clicked.


OK button was clicked.


Retry button was clicked.


Yes button was clicked.

Return Value

If the method succeeds, it returns S_OK. If it fails, it returns an error code.

COM Signature

From oleipc.idl:

HRESULT IOleComponentUIManager::ShowMessage(
   [in] DWORD dwCompRole,
   [in] REFCLSID rclsidComp,
   [in] LPOLESTR pszTitle,
   [in] LPOLESTR pszText,
   [in] LPOLESTR pszHelpFile,
   [in] DWORD dwHelpContextID,
   [in] OLEMSGBUTTON msgbtn,
   [in] OLEMSGDEFBUTTON msgdefbtn,
   [in] OLEMSGICON msgicon,
   [in] BOOL fSysAlert,
   [out][retval] LONG *pnResult

The title to the message box is composed of two strings: a message header and a message body.

The SOleComponentUIManager service notifies VSPackage objects registered with both this service and the SOleComponentManager service of the change to a modal state.

If the Warnings Off state is in effect, the SOleComponentUIManager service automatically inhibits the display of warning messages. However, if the message is informational or critical, it is always displayed even if the Warnings Off state is in effect.

Before displaying the message requested by an object acting as a subcomponent or a component control, the SOleComponentUIManager service gives the main component a chance to override any aspect of the message by calling its GetCntrMessage. The main VSPackage object can override the HelpFile, HelpContext, message text, or the message type.

Community Additions