共用方式為


使用 C 控制篩選圖形

[與此頁面相關聯的功能,DirectShow是舊版功能。 它已被 MediaPlayerIMFMediaEngine,以及媒體基礎結構中的音訊/視訊擷取取代。 這些功能已針對 Windows 10 和 Windows 11 進行優化。 Microsoft強烈建議新程式代碼盡可能在媒體 基礎中使用 MediaPlayerIMFMediaEngine 音訊/視訊擷取,而不是 DirectShow。 Microsoft建議使用舊版 API 的現有程式代碼,盡可能改寫成使用新的 API。]

如果您要在 C 中撰寫 DirectShow 應用程式(而不是C++),則必須使用 vtable 指標來呼叫方法。 下列範例說明如何從以 C 撰寫的應用程式呼叫 IUnknown::QueryInterface 方法:

pGraph->lpVtbl->QueryInterface(pGraph, &IID_IMediaEvent, (void **)&pEvent);

下列顯示C++中的對等呼叫:

pGraph->QueryInterface(IID_IMediaEvent, (void **)&pEvent);

在 C 中,COM 介面會定義為結構。 lpVtbl 成員是介面方法數據表的指標(vtable)。 所有方法都會採用額外的參數,這是介面的指標。

附錄