Partilhar via


Tarefa do compilador de mensagens

O Windows Driver Kit (WDK) fornece a tarefa MessageCompiler para que você possa executar a ferramenta MC.exe quando você cria o driver usando MSBuild. Para obter informações sobre como usar MC.exe, consulte Message Compiler (MC.exe).

MSBuild usa o item MessageCompile para enviar os parâmetros para a tarefa MessageCompiler. O item MessageCompile acede aos metadados do item para mc.exe em ficheiros de projeto.

O exemplo a seguir mostra como editar os metadados no arquivo .vcxproj.

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

O exemplo a seguir mostra a chamada de linha de comando:

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

No exemplo acima, o MSBuild invoca mc.exe no arquivo a.mc, com a opção –s porque os metadados GenerateBaselineResource estão definidos como true. Além disso, o MSBuild usa os metadados BaselineResourcePath para especificar o argumento para a opção –s.

Parâmetro de tarefa MessageCompiler Metadados do item Interruptor de ferramenta
Fontes

Parâmetro de cadeia de caracteres opcional. Especifica o nome do arquivo de manifesto a ser compilado. Especifica o nome de um arquivo de mensagem a ser compilado.

@(MessageCompile)

<nome do arquivo.man>

<filename.mc>

ANSIInputFile

Especifica que o arquivo de entrada é ANSI (padrão).

%(MessageCompile.ANSIInputFile) -a
ANSIMessageInBinFile

Especifica que as mensagens no arquivo .BIN devem ser ANSI.

%(CompilaçãoDeMensagem.MensagemANSEmFicheiroBinário) -A
EnableDebugOutputPath

Se isso estiver definido como true, ele habilitará a opção –x.

%(MessageCompile.EnableDebugOutputPath)
DebugOutputPath

Especifica a pasta na qual o compilador coloca o arquivo .dbg C include. O arquivo .dbg mapeia IDs de mensagem para seus nomes simbólicos.

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

Adiciona uma macro de chamada para invocar código do utilizador durante o registo. Essa opção não é válida para C# e é ignorada.

%(MessageCompile.EnableCallOutMacro) -co
EventmanPath

Especifica o caminho para o arquivo eventman.xsd.

%(MessageCompile.EventmanPath) -w<arquivo>
GerarBaselineResource

Se isso for definido como true, ele habilita -s switch.

%(MessageCompile.GenerateBaselineResource)
BaselineResourcePath

Gera recurso binário por provedor. Gera MCGenResource.BIN de recursos globais resumidos.

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

Gera classe de log C# (gerenciada) com base na classe FX3.5 Eventing.

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

Gera classe de log C# estática (gerenciada) com base na classe FX3.5 Eventing.

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

Especifica o nome base dos arquivos gerados. O padrão é o nome base do arquivo de entrada.

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

Se isso for definido como true, ele habilita -h switch.

%(MessageCompile.GeneratedHeaderPath)
HeaderFilePath

Especifica o caminho de onde criar o arquivo de inclusão C. O padrão é ..

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

Se isso for definido como true, ele habilitará a opção -r.

%(MessageCompile.GeneratedRcAndMessagesPath)
RCFilePath

Especifica o caminho do arquivo RC includes e os arquivos de recurso de mensagem binária que ele inclui. O padrão é ...

%(MessageCompile.RCFilePath) -r<caminho>
GerarKernelModeLoggingMacros

Gera macros de registro do Modo Kernel.

%(MessageCompile.GenerateKernelModeLoggingMacros) -km
GenerateMOFFile

Gera suporte de nível inferior para todas as funções e macros geradas. O arquivo MOF é gerado a partir do manifesto. O arquivo MOF é colocado no local especificado pela opção "-h".

%(MessageCompile.GenerateMOFFile) -mof
GenerateOLE2Header

Gera o arquivo de cabeçalho OLE2. Usa a definição HRESULT em vez da definição de código de status.

%(MessageCompile.GenerateOLE2Header) -o
GenerateUserModeLoggingMacros

Gera macros de log do Modo de Usuário.

%(MessageCompile.GenerateUserModeLoggingMacros) -Umm
HeaderExtension

Especifica a extensão para o arquivo de cabeçalho (1-3 caracteres).

%(MessageCompile.HeaderExtension) -e<extensão>
MaximumMessageLength

Gera um aviso se o tamanho de qualquer mensagem exceder <caracteres de comprimento> .

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

Define o prefixo do nome da macro que é aplicado a cada macro de log gerada. O padrão é "EventWrite".

%(MessageCompile PrefixMacroName) -p<prefixo>
RemoveCharsFromSymbolName

Define o texto no início do nome de cada símbolo de evento a ser removido antes de formar os nomes de macro. O padrão é NULL.

%(RemoverCaracteresDoNomeDoSímbolo) -Prefixo>P<
SetCustomerbit

Define-se o bit do cliente nos Ids de todas as mensagens.

%(MessageCompile.SetCustomerbit) -c
TerminateMessageWithNull

Encerra todas as cadeias de caracteres com caracteres nulos nas tabelas de mensagens.

%(MessageCompile.TerminateMessageWithNull) -n
UnicodeInputFile

O arquivo de entrada é Unicode.

%(MessageCompile.UnicodeInputFile) -u
UnicodeMessageInBinFile

Mensagens no arquivo .BIN devem ser Unicode (padrão).

%(MessageCompile.UnicodeMessageInBinFile) -U
UseBaseNameOfInput

Especifica que o nome de arquivo .BIN deve incluir o nome de arquivo .mc para garantir a exclusividade.

%(CompilarMensagem. UsarNomeBaseDoInput) -b
UseDecimalValues

Especifica os valores FACILTY e SEVERITY no arquivo de cabeçalho em decimal. Define valores de mensagem no cabeçalho como decimais inicialmente.

%(MessageCompile.UseDecimalValues) -d
ValidateAgainstBaselineResource

Se isso for definido como true, então gerará o interruptor -t.

%(MessageCompile.ValidateAgainstBaselineResource)
BaselinePath

Valida em relação ao recurso de referência.

%(MessageCompile.BaselinePath) -t<caminho>
Verboso

Especifica a saída detalhada.

%(MessageCompile.Verbose) -v
WinmetaPath

Especifica o caminho para o arquivo winmeta.xml.

%(MessageCompile.WinmetaPath) -W<arquivo>

Message Compiler (MC.exe)