Compartilhar via


Tarefa do compilador de mensagem

O WDK (Kit de Driver do Windows) fornece a tarefa MessageCompiler para que você possa executar a ferramenta MC.exe ao criar seu driver usando o MSBuild. Para obter informações sobre como usar MC.exe, consulte Compilador de mensagens (MC.exe).

O MSBuild usa o Item MessageCompile para enviar os parâmetros para a tarefa MessageCompiler. O item MessageCompile acessa os metadados do item para mc.exe em arquivos 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 invocação 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 são definidos como true. Além disso, o MSBuild usa os metadados BaselineResourcePath para especificar o argumento para a opção –s.

Parâmetro da tarefa MessageCompiler Metadados de item Comutador de Ferramentas
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)

<filename.man>

<filename.mc>

ANSIInputFile

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

%(MessageCompile.ANSIInputFile) -a
ANSIMessageInBinFile

Especifica que as mensagens no . O arquivo BIN deve ser ANSI.

%(MessageCompile.ANSIMessageInBinFile) -A
EnableDebugOutputPath

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

%(MessageCompile.EnableDebugOutputPath)
DebugOutputPath

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

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

Adiciona macro de texto explicativo para invocar o código do usuário durante o registro em log. 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) Arquivo -w<>
GenerateBaselineResource

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

%(MessageCompile.GenerateBaselineResource)
BaselineResourcePath

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

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

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

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

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

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

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

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

Se isso for definido como true, ele habilitará o comutador -h.

%(MessageCompile.GeneratedHeaderPath)
HeaderFilePath

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

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

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

%(MessageCompile.GeneratedRcAndMessagesPath)
RCFilePath

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

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

Gera macros de log 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 status.

%(MessageCompile.GenerateOLE2Header) -o
GenerateUserModeLoggingMacros

Gera macros de log do Modo de Usuário.

%(MessageCompile.GenerateUserModeLoggingMacros) -um
HeaderExtension

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

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

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

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

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

%(MessageCompile PrefixMacroName) Prefixo> -p<
RemoveCharsFromSymbolName

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

%(RemoveCharsFromSymbolName) Prefixo>-P<
SetCustomerbit

Define o bit Cliente em todas as IDs de mensagem.

%(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 em . O arquivo BIN deve ser Unicode (padrão).

%(MessageCompile.UnicodeMessageInBinFile) -U
UseBaseNameOfInput

Especifica que o . O nome do arquivo BIN deve ter o nome de arquivo .mc incluído para exclusividade.

%(MessageCompile. UseBaseNameOfInput) -b
UseDecimalValues

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

%(MessageCompile.UseDecimalValues) -d
ValidarAgainstBaselineResource

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

%(MessageCompile.ValidateAgainstBaselineResource)
BaselinePath

Valida em relação ao recurso de linha de base.

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

Especifica saída detalhada.

%(MessageCompile.Verbose) -v
WinmetaPath

Especifica o caminho para o arquivo winmeta.xml.

%(MessageCompile.WinmetaPath) Arquivo -W<>

Compilador de Mensagens (MC.exe)