Home COM GDI+ WebBrowser Data Access

IPersistMessage Interface

 

IID_IPersistMessage

{0002032A-0000-0000-C000-000000000046}

 

 

The IPersistMessage interface is used by form viewers to handle the storage of a form and to transition between the various states.

 

All forms are required to implement the IPersistMessage interface.

IPersistMessage works similarly to the OLE IPersistStorage interface; for more information on the IPersistStorage methods, and on working with storage objects in general, see the OLE Programmer's Reference.

 

 

Methods in VTable order

IUnknown Methods

Description

QueryInterface

Returns pointers to supported interfaces.

AddRef

Increments reference count.

Release

Decrements reference count.

IPersistMessage Methods

Description

GetLastError

Returns a MAPIERROR structure containing information about the previous error in the form object.

GetClassID

Returns an identifier representing the form server that can manage the form.

IsDirty

Checks the form for changes made since the last save.

InitNew

Initializes a new message.

Load

Loads the form for a specified message.

Save

Saves a revised form back to the message from which it was loaded or created.

SaveCompleted

Notifies the form that a save operation has been completed.

HandOffMessage

Causes the form to release its current message.

 

GetLastError

 

FUNCTION IPersistMessage_GetLastError ( _
  BYVAL pIPersistMessage AS DWORD PTR _
, BYVAL hResultCode AS LONG _
, BYVAL ulFlags AS DWORD _
, BYREF lppMAPIError AS DWORD _
  ) AS LONG

  LOCAL HRESULT AS LONG
  CALL DWORD @@pIPersistMessage[3] USING IPersistMessage_GetLastError (pIPersistMessage, hResultCode, ulFlags, lppMAPIError) TO HRESULT
  FUNCTION = HRESULT

END FUNCTION

 

 

GetClassID

 

FUNCTION IPersistMessage_GetClassID ( _
  BYVAL pIPersistMessage AS DWORD PTR _
, BYREF lpClassID AS GUID _
  ) AS LONG

  LOCAL HRESULT AS LONG
  CALL DWORD @@pIPersistMessage[4] USING IPersistMessage_GetClassID (pIPersistMessage, lpClassID) TO HRESULT
  FUNCTION = HRESULT

END FUNCTION

 

 

IsDirty

 

FUNCTION IPersistMessage_IsDirty ( _
  BYVAL pIPersistMessage AS DWORD PTR _
  ) AS LONG

  LOCAL HRESULT AS LONG
  CALL DWORD @@pIPersistMessage[5] USING IPersistMessage_IsDirty (pIPersistMessage) TO HRESULT
  FUNCTION = HRESULT

END FUNCTION

 

 

InitNew

 

FUNCTION IPersistMessage_InitNew ( _
  BYVAL pIPersistMessage AS DWORD PTR _
, BYVAL pMessageSite AS DWORD _
, BYVAL pMessage AS DWORD _
  ) AS LONG

  LOCAL HRESULT AS LONG
  CALL DWORD @@pIPersistMessage[6] USING IPersistMessage_InitNew (pIPersistMessage, pMessageSite, pMessage) TO HRESULT
  FUNCTION = HRESULT

END FUNCTION

 

 

Load

 

FUNCTION IPersistMessage_Load ( _
  BYVAL pIPersistMessage AS DWORD PTR _
, BYVAL pMessageSite AS DWORD _
, BYVAL pMessage AS DWORD _
, BYVAL ulMessageStatus AS DWORD _
, BYVAL ulMessageFlags AS DWORD _
  ) AS LONG

  LOCAL HRESULT AS LONG
  CALL DWORD @@pIPersistMessage[7] USING IPersistMessage_Load (pIPersistMessage, pMessageSite, pMessage, ulMessageStatus, ulMessageFlags) TO HRESULT
  FUNCTION = HRESULT

END FUNCTION

 

 

Save

 

FUNCTION IPersistMessage_Save ( _
  BYVAL pIPersistMessage AS DWORD PTR _
, BYVAL pMessage AS DWORD _
, BYVAL fSameAsLoad AS DWORD _
  ) AS LONG

  LOCAL HRESULT AS LONG
  CALL DWORD @@pIPersistMessage[8] USING IPersistMessage_Save (pIPersistMessage, pMessage, fSameAsLoad) TO HRESULT
  FUNCTION = HRESULT

END FUNCTION

 

 

SaveCompleted

 

FUNCTION IPersistMessage_SaveCompleted ( _
  BYVAL pIPersistMessage AS DWORD PTR _
, BYVAL pMessage AS DWORD _
  ) AS LONG

  LOCAL HRESULT AS LONG
  CALL DWORD @@pIPersistMessage[9] USING IPersistMessage_SaveCompleted (pIPersistMessage, pMessage) TO HRESULT
  FUNCTION = HRESULT

END FUNCTION

 

 

HandsOffMessage

 

FUNCTION IPersistMessage_HandsOffMessage ( _
  BYVAL pIPersistMessage AS DWORD PTR _
  ) AS LONG

  LOCAL HRESULT AS LONG
  CALL DWORD @@pIPersistMessage[10] USING IPersistMessage_HandsOffMessage (pIPersistMessage) TO HRESULT
  FUNCTION = HRESULT

END FUNCTION

 

 

Page last updated on Monday, 03 April 2006 20:18:02 +0200