Verwenden von Ereignissen mit asynchronen Aufrufen
[Das dieser Seite zugeordnete Feature Windows Media Format 11 SDK ist ein Legacyfeature. Es wurde von Source Reader und Sink Writer abgelöst. Source Reader und Sink Writer wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit quellleser und Senkenschreiber anstelle des Windows Media Format 11 SDK verwendet. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]
Wenn Sie Methoden verwenden, die asynchron aufgerufen werden, sollten Sie die weitere Verarbeitung Ihrer Anwendung anhalten, bis die Verarbeitung der Methode abgeschlossen ist. Sie können eine beliebige Technik implementieren, um diese Situation zu behandeln. In diesem Abschnitt wird die Verwendung eines Ereignisses zum Warten auf asynchrone Aufrufe im aufrufenden Thread beschrieben. Diese Technik wird häufig mit dem Windows Media Format SDK verwendet und in einigen der Beispielanwendungen veranschaulicht.
Die folgende Liste fasst die Verwendung von Ereignissen zusammen, um auf asynchrone Aufrufe zu warten.
- Erstellen Sie ein Ereignis zur Verwendung mit Ihrer Anwendung, indem Sie die CreateEvent-Funktion des Platform SDK aufrufen.
- Wenn Sie die entsprechenden Rückrufe für Ihre Anwendung implementieren, fangen Sie die Nachrichten ab, auf die Sie warten müssen. Signalisieren Sie in der Nachrichtenverarbeitungslogik für die gewünschten Nachrichten das Ereignis, indem Sie die SetEvent-Funktion des Platform SDK aufrufen.
- Nachdem Aufrufe von asynchronen Ereignissen in Ihrer Anwendung erfolgt sind, warten Sie, bis das Ereignis signalisiert wird, indem Sie die WaitForSingleObject-Funktion des Platform SDK aufrufen. Wenn Sie eine Windows-Anwendung entwerfen, sollten Sie eine Schleife erstellen, um nach Windows-Nachrichten zu suchen, und einen Aufruf von WaitForSingleObject in die Schleife mit einer kurzen Wartezeit einschließen.
Zugehörige Themen