錯誤記錄概觀
[與此頁面 相關的功能 DirectShow是舊版功能。 它已被 MediaPlayer、 IMFMediaEngine和 Media Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayer、 IMFMediaEngine 和 音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議盡可能重寫使用舊版 API 的現有程式碼,以使用新的 API。]
[此 API 不受支援,未來可能會變更或無法使用。]
為了為應用程式提供處理錯誤的最大彈性, DirectShow Editing Services 會使用回呼機制。 您的應用程式會實作方法來記錄錯誤。 在執行時間,如果發生錯誤,DES 會呼叫您提供的 方法。 方法會採用描述錯誤的參數。 此方法對這項資訊有何用途。 (它應該儘快傳回,否則可能會干擾程式的執行。)
錯誤記錄回呼方法包含在 COM 介面 IAMErrorLog中。 您的應用程式必須實作此介面。 如同所有 COM 介面, IAMErrorLog 會繼承 IUnknown 介面,因此您的應用程式也必須實作該介面。
您有數個實作這些 COM 介面的選項。 您可以使用 ACTIVE Template Library (ATL) ,以提供 IUnknown 方法的庫存實作。 DirectShow 也提供 C++ 基類 CUnknown,可讓您輕鬆地實作 COM 介面。 如需使用 CUnknown的資訊,請參閱 如何實作 IUnknown。
本文中的範例程式碼會定義獨立的 C++ 類別,其同時實作 IUnknown 和 IAMErrorLog。 結果不是真正的 COM 物件,因為它不支援 CoCreateInstance。 不過,這個方法就足以用於範例。
相關主題