Delen via


Taak voor berichtcompilatie

De Windows Driver Kit (WDK) biedt de MessageCompiler-taak, zodat u het hulpprogramma MC.exe kunt uitvoeren wanneer u uw stuurprogramma bouwt met BEHULP van MSBuild. Zie Message Compiler (MC.exe) voor meer informatie over het gebruik van MC.exe.

MSBuild gebruikt het MessageCompile-item om de parameters voor de MessageCompiler-taak te verzenden. Item MessageCompile opent de itemmetadata voor mc.exe in projectbestanden.

In het volgende voorbeeld ziet u hoe u de metagegevens in het .vcxproj-bestand bewerkt.

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

In het volgende voorbeeld ziet u de aanroep van de opdrachtregel:

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

In het bovenstaande voorbeeld roept MSBuild mc.exe aan op het bestand a.mc, met de schakeloptie –s omdat de metadata GenerateBaselineResource is ingesteld op true. MSBuild maakt ook gebruik van de metadata BaselineResourcePath om het argument voor –s switch op te geven.

MessageCompiler-taakparameter Metagegevens van item Schakeloptie voor gereedschap
bronnen

Optionele tekenreeksparameter. Hiermee geeft u de naam van het manifestbestand dat moet worden gecompileerd. Hiermee geeft u de naam van een berichtbestand dat moet worden gecompileerd.

@(MessageCompile)

<bestandsnaam.man>

<filename.mc>

ANSIInputFile

Hiermee geeft u op dat het invoerbestand ANSI (standaard) is.

%(MessageCompile.ANSIInputFile) -a
ANSIMessageInBinFile

Hiermee specificeert u dat de berichten in het .BIN-bestand ANSI moeten zijn.

%(MessageCompile.ANSIMessageInBinFile) -A
EnableDebugOutputPath

Als dit is ingesteld op true, wordt de schakeloptie –x ingeschakeld.

%(MessageCompile.EnableDebugOutputPath)
DebugOutputPath

Hiermee geeft u de map waarin de compiler het .dbg C include-bestand plaatst. Het .dbg-bestand wijst bericht-id's toe aan hun symbolische namen.

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

Hiermee voegt u oproepmacro toe om gebruikerscode aan te roepen tijdens het loggen. Deze schakelaar is niet geldig voor C# en wordt genegeerd.

%(MessageCompile.EnableCallOutMacro) -co
EventmanPath

Hiermee geeft u het pad naar eventman.xsd-bestand.

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

Als dit is ingesteld op true, wordt de -s-switch ingeschakeld.

%(MessageCompile.GenerateBaselineResource)
BaselineResourcePath

Hiermee wordt een binaire resource per provider gegenereerd. Hiermee genereert u een globale samenvattingsresource MCGenResource.BIN.

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

Genereert C# (beheerde) logboekregistratieklasse op basis van FX3.5 Eventing-klasse.

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

Genereert statische C# (beheerde) logboekregistratieklasse op basis van FX3.5 Eventing-klasse.

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

Hiermee geeft u de basisnaam van de gegenereerde bestanden. De standaardwaarde is de basisnaam van het invoerbestand.

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

Als dit is ingesteld op true, wordt -h-schakelaar ingeschakeld.

%(MessageCompile.GeneratedHeaderPath)
HeaderFilePath

Hiermee geeft u het pad op waar het C-include-bestand moet worden gemaakt. De standaardwaarde is ..

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

Als dit is ingesteld op true, wordt de -r switch ingeschakeld.

%(MessageCompile.GeneratedRcAndMessagesPath)
RCFilePath

Hiermee specificeert u het pad van het RC-inclusiebestand en de binaire berichtbronbestanden die het bevat. De standaardwaarde is ..

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

Hiermee worden macro's voor logboekregistratie van kernelmodus gegenereerd.

%(MessageCompile.GenerateKernelModeLoggingMacros) -kilometer
GenerateMOFFile

Hiermee wordt ondersteuning op downlevel gegenereerd voor alle functies en macro's die worden gegenereerd. Het MOF-bestand wordt gegenereerd vanuit het manifest. Het MOF-bestand wordt op de locatie geplaatst die is opgegeven door de switch -h.

%(MessageCompile.GenerateMOFFile) -mof
GenerateOLE2Header

Hiermee wordt het OLE2-headerbestand gegenereerd. Gebruikt de HRESULT-definitie in plaats van de definitie van de statuscode.

%(MessageCompile.GenerateOLE2Header) -o
GenerateUserModeLoggingMacros

Hiermee genereert u logboekregistratiemacro's voor gebruikersmodus.

%(MessageCompile.GenerateUserModeLoggingMacros) -um
HeaderExtension

Hiermee geeft u de extensie voor het headerbestand (1-3 tekens).

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

Hiermee wordt een waarschuwing gegenereerd als de grootte van een bericht langer is dan lengtetekens<>.

%(MessageCompile.MaximumMessageLength) -m<lengte>
VoorvoegselMacroNaam

Hiermee definieert u het macronaamvoorvoegsel dat wordt toegepast op elke gegenereerde macro voor logboekregistratie. De standaardwaarde is 'EventWrite'.

%(MessageCompile PrefixMacroName) -p<-voorvoegsel>
RemoveCharsFromSymbolName

Definieert de tekst aan het begin van elke gebeurtenissymbool die moet worden verwijderd voordat de macronamen worden gevormd. De standaardwaarde is NULL.

%(VerwijderTekensUitSymboolNaam) -P-voorvoegsel<>
SetCustomerbit

Stelt de klant-bit in voor alle bericht-id's.

%(MessageCompile.SetCustomerbit) -c
TerminateMessageWithNull

Hiermee worden alle tekenreeksen met null-tekens in de berichttabellen beëindigd.

%(MessageCompile.TerminateMessageWithNull) -n
UnicodeInputFile

Invoerbestand is Unicode.

%(MessageCompile.UnicodeInputFile) -u
UnicodeMessageInBinFile

Berichten in .BIN-bestand moeten Unicode (standaard) zijn.

%(Berichtcompilatie.UnicodeBerichtInBinBestand) -U
GebruikBasisNaamVanInvoer

Hiermee geeft u op dat de . BIN-bestandsnaam moet .mc-bestandsnaam bevatten voor uniekheid.

%(MessageCompile. UseBaseNameOfInput) -b
UseDecimalValues

Hiermee geeft u de waarden FACILITY en ERNST in het headerbestand in decimaal op. Hiermee stelt u in eerste instantie berichtwaarden in de koptekst in op decimaal.

%(MessageCompile.UseDecimalValues) -d
ValidateAgainstBaselineResource

Als dit is ingesteld op true, wordt de -t switch gegenereerd.

%(MessageCompile.ValidateAgainstBaselineResource)
BaselinePath

Valideert op basis van de basislijnresource.

%(MessageCompile.BaselinePath) -t<pad>
uitgebreide

Geeft uitgebreide uitvoer.

%(MessageCompile.Verbose) -v
WinmetaPath

Geeft het pad naar het winmeta.xml-bestand op.

%(MessageCompile.WinmetaPath) -W<bestand>

Message Compiler (MC.exe)