Compartilhar via


Habilitando o registro em log

O Windows Media Gerenciador de Dispositivos fornece um objeto de registro em log que pode salvar informações em um arquivo de texto em tempo de execução. Os desenvolvedores de aplicativos e provedores de serviços podem usar esse objeto para armazenar mensagens em um arquivo de log enquanto seu aplicativo ou provedor de serviços está em execução. Esse objeto é especialmente útil ao manipular arquivos protegidos por DRM, pois o Windows Media Gerenciador de Dispositivos não permitirá que você anexe um depurador a um processo que está tratando arquivos protegidos por DRM.

O agente é um objeto COM com a ID de classe CLSID_WMDMLogger que expõe uma interface, IWMDMLogger. Os componentes não precisam de um certificado para usar o objeto de registro em log.

Por padrão, o Windows Media Gerenciador de Dispositivos mantém um arquivo de log, independentemente de um aplicativo usar IWMDMLogger. Esse arquivo de log é um arquivo de texto simples e cada entrada inclui uma entrada precedida por um carimbo de data/hora no formato YYYYMMDDHHMMSS, usando a hora local de 24 horas. O Windows Media Gerenciador de Dispositivos registra todas as chamadas à API, juntamente com todas as entradas adicionadas chamando mensagens IWMDMLogger. Todas as entradas de arquivo de log são acrescentadas ao arquivo até que Reset seja chamado ou o arquivo exceda seu tamanho máximo. O arquivo é fechado automaticamente após cada operação de registro em log. O mesmo arquivo de log é usado para entradas de aplicativo e entradas do sistema.

As etapas a seguir mostram como usar o objeto de registro em log:

  1. Inclua wmdmlog.h em seu projeto.
  2. Crie um objeto de log chamando CoCreateInstance(CLSID_WMDMLogger) e solicitando a interface IWMDMLogger . Atribua o ponteiro de interface a uma variável global.
  3. Verifique se o log está habilitado chamando IWMDMLogger::IsEnabled; se não estiver, habilite-o chamando IWMDMLogger::Enable.
  4. Especifique um nome e tamanho de arquivo de log personalizados. Isso é feito chamando IWMDMLogger::SetLogFileName e IWMDMLogger::SetSizeParams.
  5. Em pontos no código em que você deseja fazer uma entrada no log, chame IWMDMLogger::LogDword para registrar cadeias de caracteres que contêm variáveis (esse método é semelhante a wsprintf da maneira que permite formatar uma cadeia de caracteres que contém um valor variável) ou chame IWMDMLogger::LogString para registrar cadeias de caracteres constantes.

Por exemplo, consulte as páginas de referência para os métodos de IWMDMLogger.

Tarefas comuns a aplicativos e provedores de serviços