다음을 통해 공유


로깅 설정

Windows Media 장치 관리자 런타임에 텍스트 파일에 정보를 저장할 수 있는 로깅 개체를 제공합니다. 애플리케이션 및 서비스 공급자의 개발자는 애플리케이션 또는 서비스 공급자가 실행되는 동안 이 개체를 사용하여 로그 파일에 메시지를 저장할 수 있습니다. 이 개체는 DRM으로 보호되는 파일을 처리할 때 특히 유용합니다. Windows Media 장치 관리자 DRM으로 보호된 파일을 처리하는 프로세스에 디버거를 연결할 수 없기 때문입니다.

로거는 하나의 인터페이스 IWMDMLogger를 노출하는 클래스 ID CLSID_WMDMLogger 있는 COM 개체입니다. 구성 요소는 로깅 개체를 사용하기 위해 인증서가 필요하지 않습니다.

기본적으로 Windows Media 장치 관리자 애플리케이션에서 IWMDMLogger를 사용하는지 여부에 관계없이 로그 파일을 유지 관리합니다. 이 로그 파일은 간단한 텍스트 파일이며 각 항목에는 24시간 현지 시간을 사용하여 YYYYMMDDHHMMSS 형식의 타임스탬프로 앞에 오는 항목이 포함됩니다. Windows Media 장치 관리자 IWMDMLogger 메시지를 호출하여 추가하는 모든 항목과 함께 모든 API 호출을 기록합니다. 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 메서드에 대한 참조 페이지를 참조하세요.

애플리케이션 및 서비스 공급자에 공통된 작업