Dela via


Använda händelser med asynkrona anrop

[Funktionen som är associerad med den här sidan, Windows Media Format 11 SDK, är en äldre funktion. Det har ersatts av Source Reader och Sink Writer. Source Reader och Sink Writer har optimerats för Windows 10 och Windows 11. Microsoft rekommenderar starkt att ny kod använder Source Reader och Sink Writer i stället för Windows Media Format 11 SDK, när det är möjligt. Microsoft föreslår att befintlig kod som använder äldre API:er skrivs om för att använda de nya API:erna om möjligt.]

När du använder metoder som kallas asynkront vill du ofta stoppa ytterligare bearbetning av ditt program tills metoden har slutfört bearbetningen. Du kan implementera vilken teknik du vill för att hantera den här situationen. I det här avsnittet beskrivs hur du använder en händelse för att vänta på asynkrona anrop i den anropande tråden. Den här tekniken används ofta med Windows Media Format SDK och visas i vissa exempelprogram.

I följande lista sammanfattas användningen av händelser för att vänta på asynkrona anrop.

  1. Skapa en händelse för användning med ditt program genom att anropa funktionen CreateEvent i Platform SDK.
  2. När du implementerar lämpliga återanrop för ditt program kan du fånga de meddelanden som du behöver vänta på. I meddelandehanteringslogiken för önskade meddelanden signalerar du händelsen genom att anropa funktionen SetEvent i Platform SDK.
  3. När anrop till asynkrona händelser har gjorts i ditt program väntar du på att händelsen ska signalera genom att anropa funktionen WaitForSingleObject i Platform SDK. Om du utformar ett Windows-program bör du skapa en loop för att söka efter Windows-meddelanden och inkludera ett anrop till WaitForSingleObject i loopen med kort väntetid.

Använda motringningsmetoderna