NAnt SDK Documentation - v0.92 |

# MidlTask Properties

The properties of the MidlTask class are listed below. For a complete list of MidlTask class members, see the MidlTask Members topic.

#### Public Instance Properties

Acf | The /acf switch allows the user to supply an explicit ACF file name. The switch also allows the use of different interface names in the IDL and ACF files.
Align | The /align switch is functionally the same as the MIDL /Zp option and is recognized by the MIDL compiler solely for backward compatibility with MkTypLib.
AppConfig | The /app_config switch selects application-configuration mode, which allows you to use some ACF keywords in the IDL file. With this MIDL compiler switch, you can omit the ACF and specify an interface in a single IDL file.
Arguments (inherited from ExternalProgramBase) | The command-line arguments for the external program.
BaseDirectory (inherited from ExternalProgramBase) | Gets the working directory for the application.
Char | The /char switch helps to ensure that the MIDL compiler and C compiler operate together correctly for all char and small types.
Client | The /client switch directs the MIDL compiler to generate client-side C source files for an RPC interface
CommandLine (inherited from ExternalProgramBase) | Gets the command-line arguments, separated by spaces.
CStub | The /cstub switch specifies the name of the client stub file for an RPC interface.
Defines | Macro definitions to pass to mdil.exe. Each entry will generate a /D
DllData | Specifies the file name for the generated dlldata file for a proxy DLL. The default file name Dlldata.c is used if DllData is not specified.
Env | The /env switch selects the environment in which the application runs.
ErrorWriter (inherited from ExternalProgramBase) | Gets or sets the TextWriter to which error output of the external program will be written.
ExeName (inherited from ExternalProgramBase) | The name of the executable that should be used to launch the external program.
ExitCode (inherited from ExternalProgramBase) | Gets the value that the process specified when it terminated.
FailOnError (inherited from Task) | Determines if task failure stops the build, or is just reported. The default is true.
Filename | Name of .IDL file to process.
Header | Specifies the name of the header file.
IfDefined (inherited from Task) | If true then the task will be executed; otherwise, skipped. The default is true.
Iid | Specifies the name of the interface identifier file for a COM interface, overriding the default name obtained by adding _i.c to the IDL file name.
IncludeDirs | The list of directories in which to search for include files.
LogPrefix (inherited from Task) | Obsolete. The prefix used when sending messages to the log.
Managed (inherited from ExternalProgramBase) | Specifies whether the external program should be treated as a managed application, possibly forcing it to be executed under the currently targeted version of the CLR.
Name (inherited from Task) | The name of the task.
NamespaceManager (inherited from Element) | Gets or sets the XmlNamespaceManager.
Oi | The /Oi switch directs the MIDL compiler to use a fully-interpreted marshaling method. The /Oic and /Oicf switches provide additional performance enhancements.
Options | Additional options to pass to midl.exe.
Output (inherited from ExternalProgramBase) | Gets the file to which the standard output should be redirected.
OutputAppend (inherited from ExternalProgramBase) | Gets a value indicating whether output will be appended to the Output.
OutputWriter (inherited from ExternalProgramBase) | Gets or sets the TextWriter to which standard output messages of the external program will be written.
Parent (inherited from Element) | Gets or sets the parent of the element.
ProgramArguments | Gets the command-line arguments for the external program.
ProgramFileName | Filename of program to execute
Project (inherited from Element) | Gets or sets the Project to which this element belongs.
Properties (inherited from Element) | Gets the properties local to this Element and the Project.
Proxy | Specifies the name of the interface proxy file for a COM interface.
Spawn (inherited from ExternalProgramBase) | Gets or sets a value indicating whether the application should be spawned. If you spawn an application, its output will not be logged by NAnt. The default is false.
Threshold (inherited from Task) | Gets or sets the log threshold for this Task. By default the threshold of a task is Debug, causing no messages to be filtered in the task itself.
TimeOut (inherited from ExternalProgramBase) | The maximum amount of time the application is allowed to execute, expressed in milliseconds. Defaults to no time-out.
Tlb | Specifies a file name for the type library generated by the MIDL compiler.
Undefines | Macro undefines (/U) to pass to mdil.
UnlessDefined (inherited from Task) | Opposite of IfDefined. If false then the task will be executed; otherwise, skipped. The default is false.
UseRuntimeEngine (inherited from ExternalProgramBase) | Obsolete. Specifies whether the external program is a managed application which should be executed using a runtime engine, if configured. The default is false.
Verbose (inherited from Task) | Determines whether the task should report detailed build log messages. The default is false.

#### Protected Instance Properties

CustomXmlProcessing (inherited from Element) | Gets a value indicating whether the element is performing additional processing using the XmlNode that was used to initialize the element.
Location (inherited from Element) | Gets or sets the location in the build file where the element is defined.
ProcessId (inherited from ExternalProgramBase) | Gets the unique identifier for the spawned application.
XmlNode (inherited from Element) | Gets or sets the XML node of the element.

#### See Also

MidlTask Class | NAnt.VisualCpp.Tasks Namespace