Steuern von Filterdiagrammen mit C
[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde durch MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation ersetzt. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]
Wenn Sie eine DirectShow-Anwendung in C (anstelle von C++) schreiben, müssen Sie einen vtable-Zeiger verwenden, um Methoden aufzurufen. Im folgenden Beispiel wird veranschaulicht, wie die IUnknown::QueryInterface-Methode aus einer in C geschriebenen Anwendung aufgerufen wird:
pGraph->lpVtbl->QueryInterface(pGraph, &IID_IMediaEvent, (void **)&pEvent);
Im Folgenden wird der entsprechende Aufruf in C++ veranschaulicht:
pGraph->QueryInterface(IID_IMediaEvent, (void **)&pEvent);
In C werden COM-Schnittstellen als Strukturen definiert. Das lpVtbl-Element ist ein Zeiger auf eine Tabelle von Schnittstellenmethoden (die vtable). Alle Methoden verwenden einen zusätzlichen Parameter, bei dem es sich um einen Zeiger auf die Schnittstelle handelt.
Zugehörige Themen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für