Freigeben über


RunGraphAndWait-Funktion zum Generieren eines Inhaltsverzeichnisses

Die folgende Funktion ist eine Hilfsfunktion in einem Beispielprogramm, das unter Automatisches Generieren eines Inhaltsverzeichnisses erläutert wird.

HRESULT RunGraphAndWait(IGraphBuilder* pGraph)
{
   IMediaControl* pControl = NULL;
   HRESULT hr = pGraph->QueryInterface(IID_IMediaControl, (VOID**)&pControl);

   if(SUCCEEDED(hr))
   {
      hr = pControl->Run();

      if(SUCCEEDED(hr))
      {
         IMediaEvent* pEvent = NULL;
         hr = pControl->QueryInterface(IID_IMediaEvent, (VOID**)&pEvent);

         if(SUCCEEDED(hr))
         {
           long eventCode = 0;
           hr = pEvent->WaitForCompletion(INFINITE, &eventCode);
           pEvent->Release();
           pEvent = NULL;
         }
      }

      pControl->Release();
      pControl = NULL;
   }

   return hr;
}

Automatisches Generieren eines Inhaltsverzeichnisses