共用方式為


錯誤記錄概觀

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

[此 API 不受支持,未來可能會改變或無法使用。]

為了讓應用程式在處理錯誤時有最大的彈性,DirectShow 編輯服務 使用回呼機制。 您的應用程式會實作方法來記錄錯誤。 在運行時間發生錯誤時,DES 會呼叫您提供的 方法。 方法會採用描述錯誤的參數。 此方法如何處理這項資訊取決於您。 (不過,它應該儘快傳回,或者可能會干擾程序的執行。

錯誤記錄回呼方法包含在 COM 介面中,IAMErrorLog。 您的應用程式必須實作這個介面。 如同所有 COM 介面,IAMErrorLog 繼承 IUnknown 介面,因此您的應用程式也必須實作該介面。

您有數個選項可實作這些 COM 介面。 您可以使用 Active Template Library (ATL),提供 IUnknown 方法的庫存實作。 DirectShow 也提供C++基類,CUnknown,可讓您輕鬆地實作 COM 介面。 如需使用 CUnknown的詳細資訊,請參閱如何實作 IUnknown

本文中的範例程式代碼會定義獨立式C++類別,其會實作IUnknown IAMErrorLog。 結果不是 true COM 物件,因為它不支援 CoCreateInstance。 不過,此方法就足以供範例使用。

記錄錯誤