Partager via


Tâche du compilateur de messages

Le Kit de pilotes Windows (WDK) fournit la tâche MessageCompiler afin que vous puissiez exécuter l’outil MC.exe lorsque vous générez votre pilote à l’aide de MSBuild. Pour plus d’informations sur l’utilisation de MC.exe, consultez Compilateur de messages (MC.exe).

MSBuild utilise l’élément MessageCompile pour envoyer les paramètres de la tâche MessageCompiler. L’élément MessageCompile accède aux métadonnées d’élément pour mc.exe dans les fichiers projet.

L’exemple suivant montre comment modifier les métadonnées dans le fichier .vcxproj.

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

L’exemple suivant montre l’appel de ligne de commande :

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

Dans l’exemple ci-dessus, MSBuild appelle mc.exe sur le fichier a.mc, avec le commutateur –s, car les métadonnées GenerateBaselineResource ont la valeur true. En outre, MSBuild utilise les métadonnées BaselineResourcePath pour spécifier l’argument du commutateur –s.

Paramètre de tâche MessageCompiler Métadonnées d’élément Commutateur d’outils
Sources

Paramètre de chaîne facultatif. Spécifie le nom du fichier manifeste à compiler. Spécifie le nom d’un fichier de message à compiler.

@(MessageCompile)

<filename.man>

<filename.mc>

ANSIInputFile

Spécifie que le fichier d’entrée est ANSI (par défaut).

%(MessageCompile.ANSIInputFile) -a
ANSIMessageInBinFile

Spécifie que les messages dans . Le fichier BIN doit être ANSI.

%(MessageCompile.ANSIMessageInBinFile) -A
EnableDebugOutputPath

Si cette valeur est définie sur true, elle active le commutateur –x.

%(MessageCompile.EnableDebugOutputPath)
DebugOutputPath

Spécifie le dossier dans lequel le compilateur place le fichier include C .dbg. Le fichier .dbg mappe les ID de message à leurs noms symboliques.

%(MessageCompile.DebugOutputPath) Chemin d’accès>-x<
EnableCallOutMacro

Ajoute une macro de légende pour appeler le code utilisateur pendant la journalisation. Ce commutateur n’est pas valide pour C# et est ignoré.

%(MessageCompile.EnableCallOutMacro) -co
EventmanPath

Spécifie le chemin d’accès au fichier eventman.xsd.

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

Si cette valeur est définie sur true, elle active le commutateur -s.

%(MessageCompile.GenerateBaselineResource)
BaselineResourcePath

Génère une ressource binaire par fournisseur. Génère des MCGenResource.BIN de ressources globales récapitulatives.

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

Génère la classe de journalisation C# (managée) basée sur la classe Eventing FX3.5.

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

Génère une classe de journalisation C# statique (managée) basée sur la classe Eventing FX3.5.

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

Spécifie le nom de base des fichiers générés. La valeur par défaut est le nom de base du fichier d’entrée.

%(MessageCompile.GeneratedFilesBaseName) -z<nom de> base
GeneratedHeaderPath

Si cette valeur est définie sur true, elle active le commutateur -h.

%(MessageCompile.GeneratedHeaderPath)
HeaderFilePath

Spécifie le chemin d’accès où créer le fichier include C. La valeur par défaut est ..

%(MessageCompile.HeaderFilePath) Chemin d’accès>-h<
GeneratedRcAndMessagesPath

Si cette valeur est définie sur true, elle active le commutateur -r.

%(MessageCompile.GeneratedRcAndMessagesPath)
RCFilePath

Spécifie le chemin d’accès du fichier RC inclut et les fichiers de ressources de message binaires qu’il inclut. La valeur par défaut est ..

%(MessageCompile.RCFilePath) Chemin d’accès>-r<
GenerateKernelModeLoggingMacros

Génère des macros de journalisation en mode noyau.

%(MessageCompile.GenerateKernelModeLoggingMacros) -km
GenerateMOFFile

Génère une prise en charge de niveau inférieur pour toutes les fonctions et macros générées. Le fichier MOF est généré à partir du manifeste. Le fichier MOF est placé à l’emplacement spécifié par le commutateur « -h ».

%(MessageCompile.GenerateMOFFile) -Mof
GenerateOLE2Header

Génère le fichier d’en-tête OLE2. Utilise la définition HRESULT au lieu de la définition de code status.

%(MessageCompile.GenerateOLE2Header) -o
GenerateUserModeLoggingMacros

Génère des macros de journalisation en mode utilisateur.

%(MessageCompile.GenerateUserModeLoggingMacros) -um
HeaderExtension

Spécifie l’extension du fichier d’en-tête (1 à 3 caractères).

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

Génère un avertissement si la taille d’un message dépasse les <caractères de longueur> .

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

Définit le préfixe de nom de macro appliqué à chaque macro de journalisation générée. La valeur par défaut est « EventWrite ».

%(MessageCompile PrefixMacroName) Préfixe>-p<
RemoveCharsFromSymbolName

Définit le texte au début de chaque nom de symbole d’événement à supprimer avant de former les noms des macros. La valeur par défaut est NULL.

%(RemoveCharsFromSymbolName) Préfixe>-P<
SetCustomerbit

Définit le bit Client dans l’ensemble des ID de message.

%(MessageCompile.SetCustomerbit) -c
TerminateMessageWithNull

Termine toutes les chaînes avec des caractères Null dans les tables de messages.

%(MessageCompile.TerminateMessageWithNull) -n
UnicodeInputFile

Le fichier d’entrée est Unicode.

%(MessageCompile.UnicodeInputFile) -u
UnicodeMessageInBinFile

Messages dans . Le fichier BIN doit être Unicode (par défaut).

%(MessageCompile.UnicodeMessageInBinFile) -U
UseBaseNameOfInput

Spécifie que . Le nom de fichier BIN doit avoir le nom de fichier .mc inclus pour l’unicité.

%(MessageCompile. UseBaseNameOfInput) -b
UseDecimalValues

Spécifie les valeurs FACILTY et SEVERITY dans le fichier d’en-tête en décimal. Définit initialement les valeurs de message dans l’en-tête sur décimal.

%(MessageCompile.UseDecimalValues) -d
ValidateAgainstBaselineResource

Si cette valeur est définie sur true, le commutateur -t est généré.

%(MessageCompile.ValidateAgainstBaselineResource)
BaselinePath

Valide par rapport à la ressource de référence.

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

Spécifie le mode documenté.

%(MessageCompile.Verbose) -v
WinmetaPath

Spécifie le chemin d’accès au fichier winmeta.xml.

%(MessageCompile.WinmetaPath) -W<file>

Compilateur de messages (MC.exe)