Udostępnij przez


Używanie zdarzeń z wywołaniami asynchronicznymi

[Funkcja skojarzona z tą stroną, windows Media Format 11 SDK, jest starszą funkcją. Został zastąpiony przez czytnik źródła i zapisywacz połączeń (). Czytnik Źródła i Zapis Ujścia zostały zoptymalizowane dla Windows 10 i Windows 11. Firma Microsoft zdecydowanie zaleca, aby nowy kod używał Source Reader i Sink Writer zamiast Windows Media Format 11 SDK, jeśli jest to możliwe. Firma Microsoft sugeruje, że istniejący kod, który używa starszych interfejsów API, należy przepisać go do korzystania z nowych interfejsów API, jeśli to możliwe.]

Często w przypadku używania metod, które są wywoływane asynchronicznie, należy zatrzymać dalsze przetwarzanie aplikacji do momentu zakończenia przetwarzania metody. Możesz zaimplementować dowolną technikę, aby poradzić sobie z tą sytuacją. Ta sekcja opisuje, jak używać zdarzenia do oczekiwania na asynchroniczne wywołania w wątku wywołującym. Ta technika jest często używana z zestawem WINDOWS Media Format SDK i jest pokazana w niektórych przykładowych aplikacjach.

Poniższa lista zawiera podsumowanie użycia zdarzeń do oczekiwania na wywołania asynchroniczne.

  1. Utwórz zdarzenie do użycia z aplikacją, wywołując funkcję CreateEvent zestawu SDK platformy.
  2. Podczas implementowania odpowiednich wywołań zwrotnych dla aplikacji, przechwytuj komunikaty, na które musisz czekać. W logice obsługi komunikatów dla żądanych komunikatów zasygnalizuj zdarzenie, wywołując funkcję SetEvent zestawu SDK platformy.
  3. Po wywołaniu zdarzeń asynchronicznych w aplikacji, zaczekaj na sygnał zdarzenia, wywołując funkcję WaitForSingleObject z Platform SDK. Jeśli projektujesz aplikację systemu Windows, należy utworzyć pętlę w celu sprawdzenia komunikatów systemu Windows i dodać wywołanie do WaitForSingleObject w pętli z krótkim czasem oczekiwania.

używanie metod wywołania zwrotnego