启用日志记录

Windows Media 设备管理器 提供可在运行时将信息保存到文本文件的日志记录对象。 应用程序和服务提供商的开发人员都可以在应用程序或服务提供商正在运行时使用此对象将消息存储在日志文件中。 处理受 DRM 保护的文件时,此对象特别有用,因为 Windows Media 设备管理器不允许将调试器附加到处理受 DRM 保护的文件的进程。

记录器是一个 COM 对象,具有类 ID CLSID_WMDMLogger公开一个接口 IWMDMLogger。 组件不需要证书就可使用日志记录对象。

默认情况下,无论应用程序是否使用 IWMDMLogger,Windows Media 设备管理器都会维护日志文件。 此日志文件是一个简单的文本文件,每个条目都包含一个条目,前面有一个时间戳,格式为 YYYYMMDDHMMSS,使用 24 小时本地时间。 Windows Media 设备管理器记录所有 API 调用,以及通过调用 IWMDMLogger 消息添加的任何条目。 所有日志文件条目都会追加到文件,直到调用 Reset ,或者文件超出其最大大小。 每次日志记录操作后,文件都会自动关闭。 相同的日志文件用于应用程序条目和系统条目。

以下步骤演示如何使用日志记录对象:

  1. 在项目中包括 wmdmlog.h。
  2. 通过调用 CoCreateInstance (CLSID_WMDMLogger) 并请求 IWMDMLogger 接口来创建日志记录对象。 将接口指针分配给全局变量。
  3. 通过调用 IWMDMLogger::IsEnabled 验证是否启用了日志记录;如果不是,请通过调用 IWMDMLogger::Enable 来启用它。
  4. 指定自定义日志文件名称和大小。 这是通过调用 IWMDMLogger::SetLogFileNameIWMDMLogger::SetSizeParams 来完成的
  5. 在代码中想要在日志中创建条目的点,调用 IWMDMLogger::LogDword 来记录包含变量的字符串, (此方法类似于 wsprintf ,它允许你格式化包含变量值的字符串) ,或调用 IWMDMLogger::LogString 来记录常量字符串。

有关示例代码,请参阅 IWMDMLogger 方法的参考页。

应用程序和服务提供商通用的任务