IMessageFormHostEx::FormClosing

4/8/2010

The FormClosing method is called by the IMessageFormEx interface when the form is closing.

Syntax

HRESULT FormClosing (
  IMessageFormEx * pform,
  IMessage * pMsg,
  CLOSINGMSGSTATUS eMsgStat
);

Parameters

  • pMsg
    [in] Reference to the IMessage object of the message in the form.
  • eMsgStat
    [out] Status of the message, specified by the CLOSINGMSGSTATUS enumeration.

Return Value

This method returns the standard values E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED, and E_FAIL, as well as the following:

  • S_OK
    Indicates success.

Remarks

A race condition can occur when the user replies to a message with a custom form. This occurs when the formhost attempts to close the custom form (causing the HWND references to become invalid), and then immediately create another — creating a COM reference count inconsistency that prevents the custom form window from being destroyed. As a workaround, you can save the HWND references in local variables before notifying the host, and then use them with WM_CLOSE and DestroyWindow.

Requirements

Header cemapi.h
Library cemapi.lib
Windows Embedded CE Windows CE .NET 4.2 and later
Windows Mobile Pocket PC for Windows Mobile 2003 and later, Smartphone for Windows Mobile 2003 and later

See Also

Reference

IMessageFormEx
IMessageFormHostEx
IMessageFormHostEx::CLOSINGMSGSTATUS

Other Resources

Messaging