title: Pumping Windows Messages During Long Operation?
body: <p>I'm getting the following message on a big operation that I'm running:</p>
  
  <blockquote>
    <p>The CLR has been unable to transition
    from COM context 0x1fe458 to COM
    context 0x1fe5c8 for 60 seconds. The
    thread that owns the destination
    context/apartment is most likely
    either doing a non pumping wait or
    processing a very long running
    operation without pumping Windows
    messages. This situation generally has
    a negative performance impact and may
    even lead to the application becoming
    non responsive or memory usage
    accumulating continually over time. To
    avoid this problem, all single
    threaded apartment (STA) threads
    should use pumping wait primitives
    (such as CoWaitForMultipleHandles) and
    routinely pump messages during long
    running operations.</p>
  </blockquote>
  
  <p>How do I send windows messages so that this error will no longer occur on long operations?</p>