Freigeben über


Task "Nachrichtencompiler"

Das Windows Driver Kit (WDK) stellt die MessageCompiler-Aufgabe bereit, damit Sie das MC.exe-Tool ausführen können, wenn Sie Ihren Treiber mithilfe von MSBuild erstellen. Informationen zur Verwendung von MC.exe finden Sie unter Message Compiler (MC.exe).

MSBuild verwendet das MessageCompile-Element, um die Parameter für den MessageCompiler-Task zu senden. Das MessageCompile-Element greift auf die Elementmetadaten für mc.exe in Projektdateien zu.

Im folgenden Beispiel wird gezeigt, wie Sie die Metadaten in der .vcxproj-Datei bearbeiten.

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

Das folgende Beispiel zeigt den Befehlszeilenaufruf:

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

Im obigen Beispiel ruft MSBuild mc.exe für die Datei a.mc mit dem Schalter –s auf, da die Metadaten GenerateBaselineResource auf true festgelegt sind. Außerdem verwendet MSBuild die BaselineResourcePath-Metadaten, um das Argument für den -s-Switch anzugeben.

MessageCompiler-Taskparameter Elementmetadaten Toolwechsel
Sources

Optionaler Zeichenfolgenparameter. Gibt den Namen der zu kompilierenden Manifestdatei an. Gibt den Namen einer zu kompilierenden Nachrichtendatei an.

@(MessageCompile)

<filename.man>

<filename.mc>

ANSIInputFile

Gibt an, dass die Eingabedatei ANSI (Standard) ist.

%(MessageCompile.ANSIInputFile) -a
ANSIMessageInBinFile

Gibt an, dass die Nachrichten im - Die BIN-Datei sollte ANSI sein.

%(MessageCompile.ANSIMessageInBinFile) -A
EnableDebugOutputPath

Wenn dies auf true festgelegt ist, wird der Schalter –x aktiviert.

%(MessageCompile.EnableDebugOutputPath)
DebugOutputPath

Gibt den Ordner an, in dem der Compiler die .dbg C include-Datei platziert. Die DBG-Datei ordnet Nachrichten-IDs ihren symbolischen Namen zu.

%(MessageCompile.DebugOutputPath) -x-Pfad<>
EnableCallOutMacro

Fügt ein Beschriftungsmakro zum Aufrufen von Benutzercode während der Protokollierung hinzu. Dieser Schalter ist für C# ungültig und wird ignoriert.

%(MessageCompile.EnableCallOutMacro) -Co
EventmanPath

Gibt den Pfad zur Datei eventman.xsd an.

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

Wenn dies auf true festgelegt ist, wird der Schalter -s aktiviert.

%(MessageCompile.GenerateBaselineResource)
BaselineResourcePath

Generiert eine binäre Ressource pro Anbieter. Generiert eine Zusammenfassung der globalen Ressourcen MCGenResource.BIN.

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

Generiert die C#-Protokollierungsklasse (verwaltet) basierend auf der FX3.5 Eventing-Klasse.

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

Generiert eine statische (verwaltete) C#-Protokollierungsklasse basierend auf der FX3.5 Eventing-Klasse.

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

Gibt den Basisnamen der generierten Dateien an. Der Standardwert ist der Basisname der Eingabedatei.

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

Wenn dies auf true festgelegt ist, wird der Schalter -h aktiviert.

%(MessageCompile.GeneratedHeaderPath)
HeaderFilePath

Gibt den Pfad an, in dem die C include-Datei erstellt werden soll. Der Standardwert ist ..

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

Wenn dies auf true festgelegt ist, wird der Schalter -r aktiviert.

%(MessageCompile.GeneratedRcAndMessagesPath)
RCFilePath

Gibt den Pfad des RC an, der die Datei und die darin enthaltenen Ressourcendateien für binäre Nachrichten enthält. Der Standardwert ist ..

%(MessageCompile.RCFilePath) -r-Pfad<>
GenerateKernelModeLoggingMacros

Generiert Protokollierungsmakros im Kernelmodus.

%(MessageCompile.GenerateKernelModeLoggingMacros) -Km
GenerateMOFFile

Generiert unterstützung für alle funktionen und makros, die generiert werden. Die MOF-Datei wird aus dem Manifest generiert. Die MOF-Datei wird an dem durch den Schalter "-h" angegebenen Speicherort platziert.

%(MessageCompile.GenerateMOFFile) -Mof
GenerateOLE2Header

Generiert die OLE2-Headerdatei. Verwendet die HRESULT-Definition anstelle der status Codedefinition.

%(MessageCompile.GenerateOLE2Header) -o
GenerateUserModeLoggingMacros

Generiert Protokollierungsmakros im Benutzermodus.

%(MessageCompile.GenerateUserModeLoggingMacros) -um
HeaderExtension

Gibt die Erweiterung für die Headerdatei (1-3 Zeichen) an.

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

Generiert eine Warnung, wenn die Größe einer Nachricht die Länge> der <Zeichen überschreitet.

%(MessageCompile.MaximumMessageLength) -m<Länge>
PrefixMacroName

Definiert das Makronamenpräfix, das auf jedes generierte Protokollierungsmakro angewendet wird. Der Standardwert ist "EventWrite".

%(MessageCompile PrefixMacroName) Präfix>-p<
RemoveCharsFromSymbolName

Definiert den Text am Anfang jedes Ereignissymbolnamens, der entfernt werden soll, bevor die Makronamen gebildet werden. Die Standardeinstellung ist NULL.

%(RemoveCharsFromSymbolName) Präfix>-P<
SetCustomerbit

Legt das Customer-Bit in den gesamten Nachrichten-IDs fest.

%(MessageCompile.SetCustomerbit) -c
TerminateMessageWithNull

Beendet alle Zeichenfolgen mit NULL-Zeichen in den Nachrichtentabellen.

%(MessageCompile.TerminateMessageWithNull) -n
UnicodeInputFile

Die Eingabedatei ist Unicode.

%(MessageCompile.UnicodeInputFile) -u
UnicodeMessageInBinFile

Nachrichten in . Die BIN-Datei sollte Unicode (Standard) sein.

%(MessageCompile.UnicodeMessageInBinFile) -U
UseBaseNameOfInput

Gibt an, dass . FÜR BIN-Dateiname sollte der Mc-Dateiname enthalten sein, um eindeutig zu sein.

%(MessageCompile. UseBaseNameOfInput) -b
Verwenden vonDecimalValues

Gibt die Werte FACILTY und SEVERITY in der Headerdatei in dezimal an. Legt zunächst Nachrichtenwerte im Header auf dezimal fest.

%(MessageCompile.UseDecimalValues) -d
ValidateAgainstBaselineResource

Wenn dies auf true festgelegt ist, wird der Schalter -t generiert.

%(MessageCompile.ValidateAgainstBaselineResource)
BaselinePath

Überprüft anhand der Baselineressource.

%(MessageCompile.BaselinePath) -t<Pfad>
Ausführlich

Legt eine ausführliche Ausgabe fest.

%(MessageCompile.Verbose) -v
WinmetaPath

Gibt den Pfad zur winmeta.xml-Datei an.

%(MessageCompile.WinmetaPath) -W-Datei<>

Nachrichtencompiler (MC.exe)