Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
[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