 );
  someObject = ConstructOptr( OptrToHandle( oself ),
                              OptrToChunk( @TVAddend1 ) );
  theBuffer[1] = @call someObject::MSG_GEN_VALUE_GET_VALUE( );

  /* We've written the data.  Mark the file dirty and close it. */
  VMDirty( dummyHandle );
  VMUnlock( dummyHandle );
  VMClose( pself-&gt;MVDI_fileStash, FALSE );
}
</PRE>

<H3>Saving and Restoring State</H3>

<P>Sometimes the document viewer might have to shut down even though 
   the user hasn't explicitly closed the document