IltmmCapture::SaveSettingsToStream Example for C

IltmmMemory* pMem;

L_MULTIMEDIATEX_API void IltmmCapture_SaveSettingsToStream_Example (IltmmCapture* pCapture)
{
   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);

   IltmmCapture_SaveSettingsToStream(pCapture, (IUnknown*)pMem, ltmmCapture_Settings_All);

   // Seek back
   IStream_Seek(pStream, liOffset, STREAM_SEEK_SET, NULL);

   IStream_Release(pStream);

   IltmmCapture_LoadSettingsFromStream(pCapture, (IUnknown*)pMem, ltmmCapture_Settings_All);

   IltmmMemory_Release(pMem);
}