IltmmConvert::SaveSettingsToStream Example for C

void IltmmConvert_SaveSettingsToStream_Example (IltmmConvert* pConvert)
{
   IltmmMemory* pMem;
   IStream *pStream = NULL;
   LARGE_INTEGER li;
   LARGE_INTEGER liOffset;
   li.QuadPart = 0;

   CoCreateInstance(&CLSID_ltmmMemory, NULL, CLSCTX_INPROC_SERVER, &IID_IltmmMemory, (void**)&pMem);

   IltmmMemory_QueryInterface(pMem, &IID_IStream, (void**)&pStream);

   // Get current stream position
   IStream_Seek(pStream, li, STREAM_SEEK_CUR, &liOffset);

   IltmmConvert_SaveSettingsToStream(pConvert, (IUnknown*)pMem, ltmmConvert_Settings_All);

   // Seek back
   IStream_Seek(pStream, liOffset, STREAM_SEEK_SET, NULL);
   
   IStream_Release(pStream);
   
   IltmmConvert_LoadSettingsFromStream(pConvert, (IUnknown*)pMem, ltmmConvert_Settings_All);
   
   IltmmMemory_Release(pMem);
}