次の方法で共有


メッセージ コンパイラ タスク

Windows Driver Kit (WDK) には MessageCompiler タスクが用意されているため、MSBuild を使用してドライバーをビルドするときにMC.exe ツールを実行できます。 MC.exeの使用方法については、「メッセージ コンパイラ (MC.exe)」を参照してください。

MSBuild では、MessageCompile Item を使用して MessageCompiler タスクのパラメーターを送信します。 MessageCompile 項目は、プロジェクト ファイル内のmc.exeの項目メタデータにアクセスします。

次の例は、.vcxproj ファイル内のメタデータを編集する方法を示しています。

<ItemGroup>
    <MessageCompile Include="a.mc">
      <GenerateBaselineResource>true</GenerateBaselineResource>
      <BaselineResourcePath>c:\test\</BaselineResourcePath>
    </MessageCompile>
</ItemGroup>

コマンド ライン呼び出しの例を次に示します。

mc.exe –s "c:\test\" a.mc

上の例では、MSBuild はファイル a.mc でmc.exeを呼び出します。メタデータ GenerateBaselineResource が true に設定されているため、-s スイッチを使用します。 また、MSBuild では BaselineResourcePath メタデータを使用して、–s スイッチの引数を指定します。

MessageCompiler タスク パラメーター 項目メタデータ ツール スイッチ
Sources

省略可能な string 型のパラメーターです。 コンパイルするマニフェスト ファイルの名前を指定します。 コンパイルするメッセージ ファイルの名前を指定します。

@(MessageCompile)

<filename.man>

<filename.mc>

ANSIInputFile

入力ファイルが ANSI (既定) であることを指定します。

%(MessageCompile.ANSIInputFile) -a
ANSIMessageInBinFile

内のメッセージを指定します。BIN ファイルは ANSI である必要があります。

%(MessageCompile.ANSIMessageInBinFile) -A
EnableDebugOutputPath

これを true に設定すると、–x スイッチが有効になります。

%(MessageCompile.EnableDebugOutputPath)
DebugOutputPath

コンパイラが .dbg C インクルード ファイルを配置するフォルダーを指定します。 .dbg ファイルは、メッセージ ID をシンボリック名にマップします。

%(MessageCompile.DebugOutputPath) -x<パス>
EnableCallOutMacro

ログ記録中にユーザー コードを呼び出す吹き出しマクロを追加します。 このスイッチは C# では無効であり、無視されます。

%(MessageCompile.EnableCallOutMacro) -co
EventmanPath

eventman.xsd ファイルへのパスを指定します。

%(MessageCompile.EventmanPath) -w<file>
GenerateBaselineResource

これを true に設定すると、–s スイッチが有効になります。

%(MessageCompile.GenerateBaselineResource)
BaselineResourcePath

プロバイダーごとにバイナリ リソースを生成します。 概要グローバル リソース MCGenResource.BINを生成します。

%(MessageCompile.BaselineResourcePath) -s<パス>
GenerateC#LoggingClass

FX3.5 イベント クラスに基づいて C# (マネージド) ログ クラスを生成します。

%(MessageCompile.GenerateC#LoggingClass) -cs<namespace>
GenerateC#StaticLoggingClass

FX3.5 イベント クラスに基づいて 静的 C# (マネージド) ログ クラスを生成します。

%(MessageCompile.GenerateC#StaticLoggingClass) -css<namespace>
GeneratedFilesBaseName

生成されるファイルのベース名を指定します。 既定値は入力ファイルのベース名です。

%(MessageCompile.GeneratedFilesBaseName) -z<basename>
GeneratedHeaderPath

これを true に設定すると、–h スイッチが有効になります。

%(MessageCompile.GeneratedHeaderPath)
HeaderFilePath

Cインクルードファイルを作成する場所のパスを指定します。 既定値は .. です。

%(MessageCompile.HeaderFilePath) -h<path>
GeneratedRcAndMessagesPath

これを true に設定すると、–r スイッチが有効になります。

%(MessageCompile.GeneratedRcAndMessagesPath)
RCFilePath

RC インクルード ファイルのパスと、それに含まれるバイナリ メッセージ リソース ファイルを指定します。 既定値は .. です。

%(MessageCompile.RCFilePath) -r<パス>
GenerateKernelModeLoggingMacros

カーネル モードのログ マクロを生成します。

%(MessageCompile.GenerateKernelModeLoggingMacros) -km
GenerateMOFFile

生成されるすべての関数とマクロの下位レベルのサポートを生成します。 MOF ファイルはマニフェストから生成されます。 MOF ファイルは、"-h" スイッチで指定された場所に配置されます。

%(MessageCompile.GenerateMOFFile) -mof
GenerateOLE2Header

OLE2 ヘッダー ファイルを生成します。 状態コード定義の代わりに HRESULT 定義を使用します。

%(MessageCompile.GenerateOLE2Header) -o
GenerateUserModeLoggingMacros

ユーザー モードのログ マクロを生成します。

%(MessageCompile.GenerateUserModeLoggingMacros) -um
HeaderExtension

ヘッダー ファイルの拡張子を指定します (1 から 3 文字)。

%(MessageCompile.HeaderExtension) -e<extension>
MaximumMessageLength

メッセージのサイズが <長さ> 文字を超えた場合に警告を生成します。

%(MessageCompile.MaximumMessageLength) -m<length>
PrefixMacroName

生成された各ログ 記録マクロに適用されるマクロ名プレフィックスを定義します。 既定値は "EventWrite" です。

%(MessageCompile PrefixMacroName) -p<prefix>
RemoveCharsFromSymbolName

マクロ名を形成する前に削除する各イベント シンボル名の先頭にあるテキストを定義します。 の既定値は NULL です。

%(RemoveCharsFromSymbolName) -P<prefix>
SetCustomerbit

メッセージ ID 全体の Customer ビットを設定します。

%(MessageCompile.SetCustomerbit) -c
TerminateMessageWithNull

メッセージ テーブル内のすべての文字列を null 文字で終了します。

%(MessageCompile.TerminateMessageWithNull) -n
UnicodeInputFile

入力ファイルは Unicode です。

%(MessageCompile.UnicodeInputFile) -u
UnicodeMessageInBinFile

内のメッセージBIN ファイルは Unicode (既定) にする必要があります。

%(MessageCompile.UnicodeMessageInBinFile) -U
UseBaseNameOfInput

一意性を保つために、.BIN ファイル名に .mc ファイル名を含める必要があることを指定します。

%(MessageCompile.UseBaseNameOfInput) -b
UseDecimalValues

ヘッダー ファイルの FACILTY 値と SEVERITY 値を 10 進数で指定します。 ヘッダーのメッセージ値を最初は 10 進数に設定します。

%(MessageCompile.UseDecimalValues) -d
ValidateAgainstBaselineResource

これが true に設定されている場合は、-t スイッチが生成されます。

%(MessageCompile.ValidateAgainstBaselineResource)
BaselinePath

ベースライン リソースに対して検証します。

%(MessageCompile.BaselinePath) -t<path>
Verbose

詳細出力を指定します。

%(MessageCompile.Verbose) -v
WinmetaPath

winmeta.xml ファイルのパスを指定します。

%(MessageCompile.WinmetaPath) -W<file>

メッセージ コンパイラ (MC.exe)