Übersicht über die Fehlerprotokollierung
[Diese API wird nicht unterstützt und kann in Zukunft geändert oder nicht mehr verfügbar sein.]
Um Anwendungen maximale Flexibilität bei der Fehlerbehandlung zu bieten, verwendet DirectShow Editing Services einen Rückrufmechanismus. Ihre Anwendung implementiert eine Methode zum Protokollieren eines Fehlers. Wenn zur Laufzeit ein Fehler auftritt, ruft DES die von Ihnen bereitgestellte Methode auf. Die -Methode verwendet Parameter, die den Fehler beschreiben. Was die -Methode mit diesen Informationen macht, liegt bei Ihnen. (Es sollte jedoch so schnell wie möglich zurückgeben, oder es kann die Ausführung des Programms beeinträchtigen.)
Die Rückrufmethode für die Fehlerprotokollierung ist in der COM-Schnittstelle IAMErrorLog enthalten. Ihre Anwendung muss diese Schnittstelle implementieren. Wie alle COM-Schnittstellen erbt IAMErrorLog die IUnknown-Schnittstelle, sodass Ihre Anwendung dies ebenfalls implementieren muss.
Sie haben mehrere Möglichkeiten, diese COM-Schnittstellen zu implementieren. Sie können die Active Template Library (ATL) verwenden, die Vorratimplementierungen der IUnknown-Methoden bietet. DirectShow stellt auch die C++-Basisklasse CUnknownbereit, die die Implementierung einer COM-Schnittstelle vereinfacht. Informationen zur Verwendung von CUnknown finden Sie unter Implementieren von IUnknown.
Der Beispielcode in diesem Artikel definiert eine eigenständige C++-Klasse, die sowohl IUnknown als auch IAMErrorLog implementiert. Das Ergebnis ist kein echtes COM-Objekt, da es CoCreateInstance nicht unterstützt. Dieser Ansatz ist jedoch für die Zwecke des Beispiels ausreichend.