MIDL task
Wraps the Microsoft Interface Definition Language (MIDL) compiler tool, midl.exe. For more information, see MIDL command-line reference.
Parameters
The following describes the parameters of the MIDL task. Most task parameters, and a few sets of parameters, correspond to a command-line option.
AdditionalIncludeDirectories
Optional String[] parameter.
Adds a directory to the list of directories that are searched for imported IDL files, included header files, and application configuration files (ACF).
For more information, see the /I option in MIDL command-line reference.
AdditionalOptions
Optional String parameter.
A list of command-line options. For example, /<option1> /<option2> /<option#>. Use this parameter to specify command-line options that are not represented by any other MIDL task parameter.
For more information, see MIDL command-line reference.
ApplicationConfigurationMode
Optional Boolean parameter.
If
true
, lets you use some ACF keywords in the IDL file.For more information, see the /app_config option in MIDL command-line reference.
ClientStubFile
Optional String parameter.
Specifies the name of the client stub file for an RPC interface.
For more information, see the /cstub option in MIDL command-line reference. Also see the ServerStubFile parameter in this table.
CPreprocessOptions
Optional String parameter.
Specifies options to pass to the C/C++ preprocessor. Specify a space-delimited list of preprocessor options. Must contain the
/E
option.For more information, see the /cpp_opt option in MIDL command-line reference.
DefaultCharType
Optional String parameter.
Specifies the default character type that the C compiler will use to compile the generated code.
Specify one of the following values, each of which corresponds to a command-line option.
Value Command-line option Signed /char signed Unsigned /char unsigned Ascii /char ascii7 For more information, see the /char option in MIDL command-line reference.
DllDataFileName
Optional String parameter.
Specifies the file name for the generated dlldata file for a proxy DLL.
For more information, see the /dlldata option in MIDL command-line reference.
EnableErrorChecks
Optional String parameter.
Specifies the type of error checking that the generated stubs will perform at run time.
Specify one of the following values, each of which corresponds to a command-line option.
Value Command-line option None /error none EnableCustom /error All /error all For more information, see the /error option in MIDL command-line reference.
ErrorCheckAllocations
Optional Boolean parameter.
If
true
, check for out-of-memory errors.For more information, see the /error allocation option in MIDL command-line reference.
ErrorCheckBounds
Optional Boolean parameter.
If
true
, checks the size of conformant-varying and varying arrays against the transmission length specification.For more information, see the /error bounds_check option in MIDL command-line reference.
ErrorCheckEnumRange
Optional Boolean parameter.
If
true
, checks that enum values are in an allowable range.For more information, see the /error enum option in command-line help (/?) for midl.exe.
ErrorCheckRefPointers
Optional Boolean parameter.
If
true
, check that no null reference pointers are passed to client stubs.For more information, see the /error ref option in MIDL command-line reference.
ErrorCheckStubData
Optional Boolean parameter.
If
true
, generates a stub that catches unmarshaling exceptions on the server side and propagates them back to the client.For more information, see the /error stub_data option in MIDL command-line reference.
GenerateClientFiles
Optional String parameter.
Specifies whether the compiler generates client-side C source files for an RPC interface.
Specify one of the following values, each of which corresponds to a command-line option.
Value Command-line option None /client none Stub /client stub For more information, see the /client option in MIDL command-line reference.
GenerateServerFiles
Optional String parameter.
Specifies whether the compiler generates server-side C source files for an RPC interface.
Specify one of the following values, each of which corresponds to a command-line option.
Value Command-line option None /server none Stub /server stub For more information, see the /server option in MIDL command-line reference.
GenerateStublessProxies
Optional Boolean parameter.
If
true
, generates fully interpreted stubs together with stubless proxies for object interfaces.For more information, see the /Oicf option in MIDL command-line reference.
GenerateTypeLibrary
Optional Boolean parameter.
If
true
, a type library (.tlb) file is not generated.For more information, see the /notlb option in MIDL command-line reference.
HeaderFileName
Optional String parameter.
Specifies the name of the generated header file.
For more information, see the /h or /header option in MIDL command-line reference.
IgnoreStandardIncludePath
Optional Boolean parameter.
If
true
, the MIDL task searches only the directories specified by using the AdditionalIncludeDirectories switch, and ignores the current directory and the directories specified by the INCLUDE environment variable.For more information, see the /no_def_idir option in MIDL command-line reference.
InterfaceIdentifierFileName
Optional String parameter.
Specifies the name of the interface identifier file for a COM interface. This overrides the default name obtained by adding "_i.c" to the IDL file name.
For more information, see the /iid option in MIDL command-line reference.
LocaleID
Optional int parameter.
Specifies the locale identifier that enables the use of international characters in input files, file names, and directory paths. Specify a decimal locale identifier.
For more information, see the /lcid option in MIDL command-line reference. Also see Locale identifiers.
MkTypLibCompatible
Optional Boolean parameter.
If
true
, requires the format of the input file to be compatible with mktyplib.exe version 2.03.For more information, see the /mktyplib203 option in MIDL command-line reference. Also, see ODL file syntax on the MSDN website.
OutputDirectory
Optional String parameter.
Specifies the default directory where the MIDL task writes output files.
For more information, see the /out option in MIDL command-line reference.
PreprocessorDefinitions
Optional String[] parameter.
Specifies one or more defines; that is, a name and an optional value to be passed to the C preprocessor as if by a
#define
directive. The form of each define is, name[=value].For more information, see the /D option in MIDL command-line reference. Also, see the UndefinePreprocessorDefinitions parameter in this table.
ProxyFileName
Optional String parameter.
Specifies the name of the interface proxy file for a COM interface.
For more information, see the /proxy option in MIDL command-line reference.
RedirectOutputAndErrors
Optional String parameter.
Redirects output, such as error messages and warnings, from standard output to the specified file.
For more information, see the /o option in MIDL command-line reference.
ServerStubFile
Optional String parameter.
Specifies the name of the server stub file for an RPC interface.
For more information, see the /sstub option in MIDL command-line reference. Also, see the ClientStubFile parameter in this table.
Source
Required
ITaskItem[]
parameter.Specifies a list of source files separated by spaces.
StructMemberAlignment
Optional String parameter.
Specifies the alignment (packing level) of structures in the target system.
Specify one of the following values, each of which corresponds to a command-line option.
Value Command-line option NotSet <none> 1 /Zp1 2 /Zp2 4 /Zp4 8 /Zp8 For more information, see the /Zp option in MIDL command-line reference. The /Zp option is equivalent to the /pack option and the older /align option.
SuppressCompilerWarnings
Optional Boolean parameter.
If
true
, suppresses warning messages from the MIDL task.For more information, see the /no_warn option in MIDL command-line reference.
SuppressStartupBanner
Optional
Boolean
parameter.If
true
, prevents the display of the copyright and version number message when the task starts.For more information, see the /nologo option in MIDL command-line reference.
TargetEnvironment
Optional String parameter.
Specifies the environment in which the application runs.
Specify one of the following values, each of which corresponds to a command-line option.
Value Command-line option NotSet <none> Win32 /env win32 Itanium /env ia64 X64 /env x64 For more information, see the /env option in MIDL command-line reference.
TrackerLogDirectory
Optional
String
parameter.Specifies the intermediate directory where tracking logs for this task are stored.
TypeLibFormat
Optional String parameter.
Specifies the format of the type library file.
Specify one of the following values, each of which corresponds to a command-line option.
Value Command-line option NewFormat /newtlb OldFormat /oldtlb For more information, see the /newtlb and /oldtlb options in MIDL command-line reference.
TypeLibraryName
Optional String parameter.
Specifies the name of the type library file.
For more information, see the /tlb option in MIDL command-line reference.
UndefinePreprocessorDefinitions
Optional String[] parameter.
Removes any previous definition of a name by passing the name to the C preprocessor as if by a
#undefine
directive. Specify one or more previously defined names.For more information, see the /U option in MIDL command-line reference. Also, see the PreprocessorDefinitions parameter in this table.
ValidateAllParameters
Optional
Boolean
parameter.If
true
, generates additional error-checking information that is used to perform integrity checks at run time. Iffalse
, the error-checking information is not generated.For more information, see the /robust and /no_robust options in MIDL command-line reference.
WarnAsError
Optional
Boolean
parameter.If
true
, treats all warnings as errors.If the WarningLevel MIDL task parameter is not specified, warnings at the default level, level 1, are treated as errors.
For more information, see the /WX options in MIDL command-line reference. Also, see the WarningLevel parameter in this table.
WarningLevel
Optional String parameter.
Specifies the severity (warning level) of warnings to emit. No warning is emitted for a value of 0. Otherwise, a warning is emitted if its warning level is numerically less than or equal to the specified value.
Specify one of the following values, each of which corresponds to a command-line option.
Value Command-line option 0 /W0 1 /W1 2 /W2 3 /W3 4 /W4 For more information, see the /W option in MIDL command-line reference. Also, see the WarnAsError parameter in this table.