MIDL 任务

包装 Microsoft 接口定义语言 (MIDL) 编译器工具 midl.exe。 有关更多信息,请参见MSDN 网站上的“MIDL Command-Line Reference”(MIDL 命令行参考)。

参数

下表描述了 MIDL 任务的参数。 大多数的任务参数和少数几个参数集对应于命令行选项。

Parameter

说明

AdditionalIncludeDirectories

可选 String[] 参数。

将目录添加到可以在其中搜索导入的 IDL 文件的目录列表,包括头文件和应用程序配置文件 (ACF)。

有关更多信息,请参见 MSDN 网站上“MIDL Command-Line Reference”(MIDL 命令行参考)中的 /I 选项。

AdditionalOptions

可选 String 参数。

命令行选项的列表。 例如,"/ option1 /option2 /option#"。 将此参数用于指定不用任何其他 MIDL 任务参数表示的命令行选项。

有关更多信息,请参见MSDN 网站上的“MIDL Command-Line Reference”(MIDL 命令行参考)。

ApplicationConfigurationMode

可选 Boolean 参数。

如果为 true,则可让您在 IDL 文件中使用某些 ACF 关键字。

有关更多信息,请参见 MSDN 网站上“MIDL Command-Line Reference”(MIDL 命令行参考)中的 /app_config 选项。

ClientStubFile

可选 String 参数。

指定 PRC 接口客户端 stub 文件的名称。

有关更多信息,请参见 MSDN 网站上“MIDL Command-Line Reference”(MIDL 命令行参考)中的 /cstub 选项。 另请参见本表中的 ServerStubFile 参数。

CPreprocessOptions

可选 String 参数。

指定要传递给 C/C++ 预处理器的选项。 指定以空格分隔的预处理器选项列表。

有关更多信息,请参见 MSDN 网站上“MIDL Command-Line Reference”(MIDL 命令行参考)中的 /cpp_opt 选项。

DefaultCharType

可选 String 参数。

指定默认的字符类型,C 编译器将用其来编译生成的代码。

指定以下值之一,其中的每个值均对应于命令行选项。

命令行选项

Signed

/char signed

Unsigned

/char unsigned

Ascii

/char ascii7

有关更多信息,请参见 MSDN 网站上“MIDL Command-Line Reference”(MIDL 命令行参考)中的 /char 选项。

DllDataFileName

可选 String 参数。

指定为代理 DLL 生成的 dlldata 文件的文件名。

有关更多信息,请参见 MSDN 网站上“MIDL Command-Line Reference”(MIDL 命令行参考)中的 /dlldata 选项。

EnableErrorChecks

可选 String 参数。

指定错误检查类型,生成的 stub 将在运行时执行它。

指定以下值之一,其中的每个值均对应于命令行选项。

命令行选项

None

/error none

EnableCustom

/error

All

/error all

有关更多信息,请参见 MSDN 网站上“MIDL Command-Line Reference”(MIDL 命令行参考)中的 /error 选项。

ErrorCheckAllocations

可选 Boolean 参数。

如果为 true,则检查内存不足错误。

有关更多信息,请参见 MSDN 网站上“MIDL Command-Line Reference”(MIDL 命令行参考)中的 /error allocation 选项。

ErrorCheckBounds

可选 Boolean 参数。

如果为 true,则检查对照传输长度规范的一致改变和具有不同的数组的大小。

有关更多信息,请参见 MSDN 网站上“MIDL Command-Line Reference”(MIDL 命令行参考)中的 /error bounds_check 选项。

ErrorCheckEnumRange

可选 Boolean 参数。

如果为 true,则检查枚举值是否在允许的范围内。

有关更多信息,请参见命令行帮助 (/?) 中的 /error enum 选项 midl.exe。

ErrorCheckRefPointers

可选 Boolean 参数。

如果为 true,则检查是否没有空引用指针传递到客户端 stub。

有关更多信息,请参见 MSDN 网站上“MIDL Command-Line Reference”(MIDL 命令行参考)中的 /error ref 选项。

ErrorCheckStubData

可选 Boolean 参数。

如果为 true,则生成服务器端捕获取消异常并传播的存根 (stub) 将它们重新添加到客户端。

有关更多信息,请参见 MSDN 网站上“MIDL Command-Line Reference”(MIDL 命令行参考)中的 /error stub_data 选项。

GenerateClientFiles

可选 String 参数。

指定编译器是否生成 RPC 接口的客户端 C 源文件。

指定以下值之一,其中的每个值均对应于命令行选项。

命令行选项

None

/client none

Stub

/client stub

有关更多信息,请参见 MSDN 网站上“MIDL Command-Line Reference”(MIDL 命令行参考)中的 /client 选项。

GenerateServerFiles

可选 String 参数。

指定编译器是否生成 RPC 接口的服务器端 C 源文件。

指定以下值之一,其中的每个值均对应于命令行选项。

命令行选项

None

/server none

Stub

/server stub

有关更多信息,请参见 MSDN 网站上“MIDL Command-Line Reference”(MIDL 命令行参考)中的 /server 选项。

GenerateStublessProxies

可选 Boolean 参数。

如果为 true,则生成完全解释存根 (stub) 和对象接口的 stubless 代理。

有关更多信息,请参见 MSDN 网站上“MIDL Command-Line Reference”(MIDL 命令行参考)中的 /Oicf 选项。

GenerateTypeLibrary

可选 Boolean 参数。

如果为 true,则不会生成类型库 (.tlb) 文件。

有关更多信息,请参见 MSDN 网站上“MIDL Command-Line Reference”(MIDL 命令行参考)中的 /notlb 选项。

HeaderFileName

可选 String 参数。

指定生成的标题文件的名称。

有关更多信息,请参见 MSDN 网站上“MIDL Command-Line Reference”(MIDL 命令行参考)中的 /h/header 选项。

IgnoreStandardIncludePath

可选 Boolean 参数。

如果为 true,则 MIDL 任务仅搜索使用 AdditionalIncludeDirectories 开关指定的目录,并忽略当前目录和 INCLUDE 环境变量所指定的目录。

有关更多信息,请参见 MSDN 网站上“MIDL Command-Line Reference”(MIDL 命令行参考)中的 /no_def_idir 选项。

InterfaceIdentifierFileName

可选 String 参数。

指定 COM 接口的接口标识符文件的名称。 这将覆盖通过添加 "_i.c" 至 IDL 文件的名称获得的默认名称。

有关更多信息,请参见 MSDN 网站上“MIDL Command-Line Reference”(MIDL 命令行参考)中的 /iid 选项。

LocaleID

可选 int 参数。

指定允许使用输入的文件、文件名称和目录路径中的国际字符的区域设置标识符。 指定小数区域设置标识符。

有关更多信息,请参见 MSDN 网站上“MIDL Command-Line Reference”(MIDL 命令行参考)中的 /lcid 选项。 此外请参阅 MSDN 上的“由 Microsoft 分配的区域设置 ID”。

MkTypLibCompatible

可选 Boolean 参数。

如果为 true,则需要能够与 mktyplib.exe 版本 2.03 兼容输入文件的格式。

有关更多信息,请参见 MSDN 网站上“MIDL Command-Line Reference”(MIDL 命令行参考)中的 /mktyplib203 选项。 此外,请参见 MSDN 网站上的“ODL 文件语法”。

OutputDirectory

可选 String 参数。

指定默认的目录,在该目录下 MIDL 任务写入输出文件。

有关更多信息,请参见 MSDN 网站上“MIDL Command-Line Reference”(MIDL 命令行参考)中的 /out 选项。

PreprocessorDefinitions

可选 String[] 参数。

指定一个或多个定义;也就是如同通过 #define 指令要传递到 C 预处理器的一个名称和可选值。 每个定义的窗体是名称 [=值]。

有关更多信息,请参见 MSDN 网站上“MIDL Command-Line Reference”(MIDL 命令行参考)中的 /D 选项。 另请参见本表中的 UndefinePreprocessorDefinitions 参数。

ProxyFileName

可选 String 参数。

指定 COM 接口的接口代理文件的名称。

有关更多信息,请参见 MSDN 网站上“MIDL Command-Line Reference”(MIDL 命令行参考)中的 /proxy 选项。

RedirectOutputAndErrors

可选 String 参数。

从标准输出到指定的文件重定向输出,如错误信息和警告。

有关更多信息,请参见 MSDN 网站上“MIDL Command-Line Reference”(MIDL 命令行参考)中的 /o 选项。

ServerStubFile

可选 String 参数。

指定 PRC 接口服务器 stub 文件的名称。

有关更多信息,请参见 MSDN 网站上“MIDL Command-Line Reference”(MIDL 命令行参考)中的 /sstub 选项。 另请参见本表中的 ClientStubFile 参数。

Source

必选 ITaskItem[] 参数。

指定由空格分隔的源文件列表。

StructMemberAlignment

可选 String 参数。

指定在目标系统中结构的对齐(装箱级别)。

指定以下值之一,其中的每个值均对应于命令行选项。

命令行选项

NotSet

<none>

1

/Zp1

2

/Zp2

4

/Zp4

8

/Zp8

有关更多信息,请参见 MSDN 网站上“MIDL Command-Line Reference”(MIDL 命令行参考)中的 /Zp 选项。 /Zp选项相当于/pack选项和较旧/align选项。

SuppressCompilerWarnings

可选 Boolean 参数。

如果为 true,则禁止从 MIDL 任务中发出警告消息。

有关更多信息,请参见 MSDN 网站上“MIDL Command-Line Reference”(MIDL 命令行参考)中的 /no_warn 选项。

SuppressStartupBanner

可选 Boolean 参数。

如果为 true,将在任务开始时防止显示版权和版本编号消息。

有关更多信息,请参见 MSDN 网站上“MIDL Command-Line Reference”(MIDL 命令行参考)中的 /nologo 选项。

TargetEnvironment

可选 String 参数。

指定应用程序运行环境。

指定以下值之一,其中的每个值均对应于命令行选项。

命令行选项

NotSet

<none>

Win32

/env win32

Itanium

/env ia64

X64

/env x64

有关更多信息,请参见 MSDN 网站上“MIDL Command-Line Reference”(MIDL 命令行参考)中的 /env 选项。

TrackerLogDirectory

可选 String 参数。

指定此任务的跟踪日志的中间存储目录。

TypeLibFormat

可选 String 参数。

指定类型库文件的格式。

指定以下值之一,其中的每个值均对应于命令行选项。

命令行选项

NewFormat

/newtlb

OldFormat

/oldtlb

有关更多信息,请参见 MSDN 网站上“MIDL Command-Line Reference”(MIDL 命令行参考)中的 /newtlb/oldtlb 选项。

TypeLibraryName

可选 String 参数。

指定类型库文件的名称。

有关更多信息,请参见 MSDN 网站上“MIDL Command-Line Reference”(MIDL 命令行参考)中的 /tlb 选项。

UndefinePreprocessorDefinitions

可选 String[] 参数。

如同通过 #undefine 指令,通过将名称传递给 C 预处理器删除所有之前的名称定义。 指定一个或多个以前定义的名称。

有关更多信息,请参见 MSDN 网站上“MIDL Command-Line Reference”(MIDL 命令行参考)中的 /U 选项。 另请参见本表中的 PreprocessorDefinitions 参数。

ValidateAllParameters

可选 Boolean 参数。

如果为 true,则生成用于在运行时执行完整性检查的其他错误检查信息。 如果为 false,则不会生成错误检查信息。

有关更多信息,请参见 MSDN 网站上“MIDL Command-Line Reference”(MIDL 命令行参考)中的 /robust/no_robust 选项。

WarnAsError

可选 Boolean 参数。

如果为 true,则会将所有警告视为错误。

如果未指定 WarningLevel MIDL 任务参数,则默认级别(级别 1)上的警告会视为错误。

有关更多信息,请参见 MSDN 网站上“MIDL Command-Line Reference”(MIDL 命令行参考)中的 /WX 选项。 另请参见本表中的 WarningLevel 参数。

WarningLevel

可选 String 参数。

指定要发出的警告的严重程度(警告级别)。 值为 0 时没有发出警告。 反之,如果警告等级数值小于或等于指定值,会发出一个警告。

指定以下值之一,其中的每个值均对应于命令行选项。

命令行选项

0

/W0

1

/W1

2

/W2

3

/W3

4

/W4

有关更多信息,请参见 MSDN 网站上“MIDL Command-Line Reference”(MIDL 命令行参考)中的 /W 选项。 另请参见本表中的 WarnAsError 参数。

请参见

其他资源

MSBuild 任务参考