メッセージ コンパイラ タスク
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> |