IMsoComponentManager::FPushMessageLoop Method

This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

Pushes a message loop on behalf of the component identified by the dwComponentID parameter for the reason identified by the uReason parameter.

BOOL FPushMessageLoop(
   DWORD_PTR dwComponentID,
   ULONG uReason,
   void *pvLoopData


  • dwComponentID [in]
    The ID of the component. This ID is returned from the IMsoComponentManager::FRegisterComponent method.

  • uReason [in]
    The reason the message loop is being pushed. For more information, see the Msoloop enumeration.

  • pvLoopData [in]
    Data that is private to the component.

Return Value

TRUE if the component manager terminates the loop because the component indicated to; otherwise, FALSE. The component indicates to terminate the loop by returning FALSE from the IMsoComponent::FContinueMessageLoop method. If the FPushMessageLoop method returns FALSE, the component should perform any necessary action, such as cleanup.


The component manager calls the IMsoComponent::FContinueMessageLoop method during each loop iteration. When the IMsoComponent::FContinueMessageLoop method returns FALSE, the component manager terminates the loop.

See Also


IMsoComponentManager Interface