드라이버 프로젝트에 대한 메시지 컴파일러 속성

Message Compiler (MC.exe) 도구의 속성을 설정합니다. 컴파일러는 개발자가 프로젝트에 추가할 수 있는 메시지 리소스 파일을 생성합니다.

예를 들어, ETW(Windows용 이벤트 추적) 커널 모드 API를 통해 커널 모드 드라이버에 이벤트 추적을 추가하려는 경우 메시지 컴파일러를 사용하여 이벤트 공급자, 이벤트 특정, 채널 및 이벤트에 대한 정의를 포함하는 헤더 파일을 만들 수 있습니다. 이 헤더 파일을 소스 코드에 포함해야 합니다. 메시지 컴파일러는 개발자가 프로젝트 파일에 추가하는 리소스 컴파일러 스크립트(*.rc)를 만듭니다.

드라이버 프로젝트에 대한 메시지 컴파일러 속성 설정

  1. 드라이버 프로젝트의 속성 페이지를 엽니다. 솔루션 탐색기에서 드라이버 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.
  2. 드라이버 프로젝트의 속성 페이지에서 구성 속성, 메시지 컴파일러를 차례로 클릭합니다.
  3. 프로젝트의 속성을 설정합니다.

이 속성 페이지는 메시지 텍스트 파일(.mc) 또는 매니페스트 파일(.man)을 솔루션에 추가하면 사용할 수 있습니다.

옵션 설명

추가 옵션

Message Compiler (MC.exe) 도구에 전달할 추가 옵션을 지정합니다.

ANSI 입력 파일

ANSI 콘텐츠를 포함하는 입력 파일을 지정합니다(기본 설정임). (-a)

BIN 파일의 ANSI 메시지

출력 .bin 파일의 메시지가 ANSI가 되도록 지정합니다. (-A)

기준 경로

경로는 기준 작업이 만든 .BIN 파일이 포함된 폴더를 가리켜야 합니다. (-t directory)

기준 리소스 경로

기준 매니페스트 파일을 포함하는 폴더 (-s directory)

디버그 출력 경로

.dbg C 포함 파일을 배치할 경로 (-x path)

호출 매크로 사용

호출 매크로를 추가하여 로깅 시 사용자 코드를 호출합니다. C#에는 사용할 수 없으며 무시됩니다. (-co)

디버그 출력 경로 사용

컴파일러가 디버그 출력 경로 속성에 의해 지정된 .dbg C 포함 파일을 배치하도록 설정합니다.

생성된 헤더의 파일 확장명

생성된 헤더 파일의 확장명을 지정합니다. (-e extension)

기준 리소스 생성

계측의 기준을 만듭니다.

C# (관리되는) 로깅 클래스 생성

매니페스트에서 이벤트를 로그하기 위해 호출할 메서드가 포함된 C# (관리되는) 로깅 클래스를 생성합니다. (-cs namespace)

카운터 이름과 GUID를 포함하기 위해 헤더 파일을 생성합니다.

이 옵션을 사용하여 컴파일러를 통해 생성된 헤더 파일을 배치할 폴더를 지정합니다.

커널 모드 로깅 매크로 생성

커널 모드 로깅 매크로를 생성합니다. (-km)

MOF 파일을 생성

생성되는 모든 함수 및 매크로에 대한 하위 수준 지원을 생성합니다. MOF 파일은 매니페스트에서 생성됩니다. MOF 파일은 -h 옵션(-mof)으로 지정된 위치에 배치됩니다.

OLE2 헤더 생성

OLE2 헤더 파일을 생성합니다. (-o)

정적 C# (관리되는) 로깅 클래스 생성

매니페스트에서 이벤트를 로그하기 위해 호출할 메서드가 포함된 정적 C# (관리되는) 로깅 클래스를 생성합니다. (-css namespace)

사용자 모드 로깅 매크로 사용

사용자 모드 로깅 매크로를 생성합니다. (-um)

생성된 파일 기본 이름

모든 생성된 파일의 기본 이름을 지정합니다. (-z basename)

생성된 RC 및 이진 메시지 파일 경로

생성된 RC 및 이진 메시지 파일의 경로를 지정합니다.

헤더 파일 경로

생성된 헤더 파일의 경로를 지정합니다. (-h path)

최대 메시지 길이

이 인수를 사용하면 메시지가 길이 문자를 초과할 경우 컴파일러가 경고를 생성합니다. (-m length)

접두사 매크로 이름

이 인수를 사용하여 컴파일러가 로깅 매크로 이름 및 메서드 이름에 사용하는 기본 접두사를 무시합니다. (-p prefix)

RC 파일 경로

컴파일러를 통해 생성된 리소스 컴파일러 스크립트(.rc 파일) 및 생성된 .bin 파일을 배치할 폴더입니다. (-r path)

심볼 이름에서 문자 제거

이 인수를 사용하여 이벤트에 대해 지정한 심볼 이름의 시작부터 문자를 제거합니다. (-P prefix)

고객 비트 설정

전체 메시지 ID에 Customer 비트를 설정합니다. (-c)

Null과 함께 메시지 종료

메시지 테이블에서 모든 문자열을 null로 종료합니다. (-n)

유니코드 입력 파일

입력 파일에 유니코드 콘텐츠가 포함되도록 지정합니다. (-u)

기본값은 ANSI입니다.

BIN 파일의 유지코드 메시지

출력 .bin 파일의 메시지가 유지코드가 되도록 지정합니다. (-U)

이것이 기본값입니다.

입력의 기본 이름 사용

이 인수를 사용하여 컴파일러가 출력 .bin 파일 이름으로 입력 파일의 기본 이름을 사용하도록 합니다. (-b)

10진수 값 사용

이 인수를 사용하여 16진수 값이 아니라 헤더 파일의 심각도 및 기능 상수에 10진수 값을 사용합니다. (-d)

기준 리소스에 대해 확인

새 매니페스트 버전을 만들고 있고 -s 옵션을 사용하여 만든 기준에 대해 응용 프로그램 호환성을 확인하려는 경우 이 인수를 사용합니다.

자세한 정보 표시

이 옵션을 사용하여 자세한 정보 표시 출력을 생성합니다. (-v)

 

관련 항목

메시지 컴파일러(MC.exe)

WDK 및 Visual Studio 빌드 환경

메시지 컴파일러 작업

ETW(Windows용 이벤트 추적)