Aktivieren der Protokollierung
Windows Media Geräte-Manager stellt ein Protokollierungsobjekt bereit, das Informationen zur Laufzeit in einer Textdatei speichern kann. Entwickler von Anwendungen und Dienstanbietern können dieses Objekt verwenden, um Nachrichten in einer Protokolldatei zu speichern, während ihre Anwendung oder ihr Dienstanbieter ausgeführt wird. Dieses Objekt ist besonders nützlich bei der Verarbeitung von DURCH DRM geschützten Dateien, da Windows Media Geräte-Manager es Ihnen nicht ermöglicht, einen Debugger an einen Prozess anzufügen, der DRM-geschützte Dateien verarbeitet.
Die Protokollierung ist ein COM-Objekt mit der Klassen-ID CLSID _ WMDMLogger, das eine Schnittstelle, IWMDMLogger,verfügbar macht. Komponenten benötigen kein Zertifikat, um das Protokollierungsobjekt zu verwenden.
Standardmäßig verwaltet Windows Media Geräte-Manager eine Protokolldatei, unabhängig davon, ob eine Anwendung IWMDMLogger verwendet. Diese Protokolldatei ist eine einfache Textdatei, und jeder Eintrag enthält einen Eintrag, dem ein Zeitstempel im Format YYYYMMDDHHMMSS vorangestellt ist, wobei 24-Stunden-Ortszeit verwendet wird. Windows Media Geräte-Manager protokolliert alle API-Aufrufe sowie alle Einträge, die Sie durch Aufrufen von IWMDMLogger-Nachrichten hinzufügen. Alle Protokolldateieinträge werden an die Datei angefügt, bis Zurücksetzen aufgerufen wird oder die Datei ihre maximale Größe überschreitet. Die Datei wird nach jedem Protokollierungsvorgang automatisch geschlossen. Dieselbe Protokolldatei wird für Anwendungs- und Systemeinträge verwendet.
In den folgenden Schritten wird die Verwendung des Protokollierungsobjekts veranschaulicht:
- Schließen Sie wmdmlog.h in Ihr Projekt ein.
- Erstellen Sie ein Protokollierungsobjekt, indem Sie CoCreateInstance(CLSID _ WMDMLogger) aufrufen und die IWMDMLogger-Schnittstelle anfordern. Weisen Sie den Schnittstellenzeiger einer globalen Variablen zu.
- Überprüfen Sie, ob die Protokollierung aktiviert ist, indem Sie IWMDMLogger::IsEnabledaufrufen. Wenn nicht, aktivieren Sie es, indem Sie IWMDMLogger::Enable aufrufen.
- Geben Sie einen benutzerdefinierten Protokolldateinamen und eine benutzerdefinierte Protokolldateigröße an. Dazu rufen Sie IWMDMLogger::SetLogFileName und IWMDMLogger::SetSizeParamsauf.
- Rufen Sie an den Punkten im Code, an denen Sie einen Eintrag im Protokoll vornehmen möchten, entweder IWMDMLogger::LogDword auf, um Zeichenfolgen mit Variablen zu protokollieren (diese Methode ähnelt wsprintf in der Weise, wie sie es Ihnen ermöglicht, eine Zeichenfolge mit einem Variablenwert zu formatieren), oder rufen Sie IWMDMLogger::LogString auf, um konstante Zeichenfolgen zu protokollieren.
Beispielcode finden Sie auf den Referenzseiten für die Methoden von IWMDMLogger.