Condividi tramite


Attività del compilatore di messaggi

Windows Driver Kit (WDK) fornisce l'attività MessageCompiler in modo da poter eseguire lo strumento MC.exe quando si compila il driver usando MSBuild. Per informazioni sull'uso di MC.exe, vedere Compilatore di messaggi (MC.exe).

MSBuild usa MessageCompile Item per inviare i parametri per l'attività MessageCompiler. L'elemento MessageCompile accede ai metadati dell'elemento per mc.exe nei file di progetto.

Nell'esempio seguente viene illustrato come modificare i metadati nel file di .vcxproj.

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

L'esempio seguente mostra la chiamata della riga di comando:

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

Nell'esempio precedente, MSBuild richiama mc.exe nel file a.mc, con l'opzione –s perché i metadati GenerateBaselineResource sono impostati su true. Inoltre, MSBuild usa i metadati BaselineResourcePath per specificare l'argomento per l'opzione -s.

Parametro del task MessageCompiler Metadati dell'elemento Cambio strumento
Sources

Parametro stringa facoltativo. Specifica il nome del file manifesto da compilare. Specifica il nome di un file di messaggio da compilare.

@(MessageCompile)

<filename.man>

<filename.mc>

ANSIInputFile

Specifica che il file di input è ANSI (impostazione predefinita).

%(MessageCompile.ANSIInputFile) -a
ANSIMessageInBinFile

Specifica che i messaggi nel file .BIN devono essere in formato ANSI.

%(MessageCompile.ANSIMessageInBinFile) -Un
EnableDebugOutputPath

Se è impostato su true, abilita l'opzione –x.

%(MessageCompile.EnableDebugOutputPath)
DebugOutputPath

Specifica la cartella in cui il compilatore inserisce il file di inclusione con estensione dbg C. Il file con estensione dbg esegue il mapping degli ID dei messaggi ai relativi nomi simbolici.

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

Aggiunge la macro callout per richiamare il codice utente durante la registrazione. Questa opzione non è valida per C# e viene ignorata.

%(MessageCompile.EnableCallOutMacro) -co
EventmanPath

Specifica il percorso del file eventman.xsd.

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

Se è impostato su true, abilita l'opzione -s.

%(MessageCompile.GenerateBaselineResource)
BaselineResourcePath

Genera una risorsa binaria per ogni provider. Genera la risorsa globale di riepilogo MCGenResource.BIN.

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

Genera una classe log C# (managed) basata sulla classe di eventi FX3.5.

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

Genera una classe di registrazione C# statica (gestita) basata sulla classe di evento FX3.5.

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

Specifica il nome di base dei file generati. Il valore predefinito è il nome base del file di input.

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

Se è impostato su true, abilita l'opzione -h.

%(MessageCompile.GeneratedHeaderPath)
HeaderFilePath

Specifica il percorso in cui creare il file di inclusione C. Il valore predefinito è ..

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

Se è impostato su true, abilita l'opzione -r.

%(MessageCompile.GeneratedRcAndMessagesPath)
RCFilePath

Specifica il percorso del file di inclusione RC e dei file di risorse dei messaggi binari che include. Il valore predefinito è ..

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

Genera macro di registrazione in modalità kernel.

%(MessageCompile.GenerateKernelModeLoggingMacros) -chilometro
GenerateMOFFile

Genera il supporto di livello inferiore per tutte le funzioni e le macro generate. Il file MOF viene generato dal manifesto. Il file MOF viene inserito nel percorso specificato dall'opzione "-h".

%(MessageCompile.GenerateMOFFile) -mof
GenerateOLE2Header

Genera il file di intestazione OLE2. Usa la definizione HRESULT anziché la definizione del codice di stato.

%(MessageCompile.GenerateOLE2Header) -o
GenerateUserModeLoggingMacros

Genera macro di registrazione in modalità utente.

%(MessageCompile.GenerateUserModeLoggingMacros) -micron
HeaderExtension

Specifica l'estensione per il file di intestazione (1-3 caratteri).

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

Genera un avviso se le dimensioni di un messaggio superano <i caratteri di lunghezza> .

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

Definisce il prefisso del nome della macro applicato a ogni macro di registrazione generata. Il valore predefinito è "EventWrite".

%(MessageCompile PrefixMacroName) -pPrefisso<>
RemoveCharsFromSymbolName

Definisce il testo all'inizio di ogni nome del simbolo di evento da rimuovere prima di formare i nomi delle macro. Il valore predefinito è NULL.

%(RemoveCharsFromSymbolName) -P<prefisso>
SetCustomerbit

Imposta il bit Customer in tutti gli ID messaggio.

%(MessageCompile.SetCustomerbit) -c
TerminateMessageWithNull

Termina tutte le stringhe con caratteri Null nelle tabelle dei messaggi.

%(MessageCompile.TerminateMessageWithNull) -n
UnicodeInputFile

Il file di input è Unicode.

%(MessageCompile.UnicodeInputFile) -u
UnicodeMessageInBinFile

I messaggi nel file .BIN devono essere Unicode (impostazione predefinita).

%(MessageCompile.UnicodeMessageInBinFile) -U
UseBaseNameOfInput

Specifica che il nome file .BIN deve includere il nome file .mc per garantirne l'unicità.

%(MessageCompile. UseBaseNameOfInput) -b
UseDecimalValues

Specifica i valori FACILITY e SEVERITY nel file di intestazione in decimali. Inizialmente imposta i valori dei messaggi nell'intestazione in formato decimale.

%(MessageCompile.UseDecimalValues) -d
ValidateAgainstBaselineResource

Se questa proprietà è impostata su true, genera l'opzione -t.

%(MessaggioCompilazione.ConvalidaRispettoAllaRisorsaDiBase)
BaselinePath

Convalida in base alla risorsa di base.

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

Specifica l'output dettagliato.

%(CompilazioneMessaggi.Dettagliata) -v
WinmetaPath

Specifica il percorso del file winmeta.xml.

%(MessageCompile.WinmetaPath) -W<file>

Message Compiler (MC.exe)