/U switch
The /U switch removes any previous definition of a name by passing the name to the C preprocessor as if by a #undefine directive.
midl /U name
-
name
-
Specifies a defined name to be passed to the C preprocessor as if by a #undefine directive. The name is predefined by the C preprocessor or previously defined by the user.
Multiple /U directives can be used in a command line. White space between the /U switch and the undefined name is optional.
When the /cpp_cmd switch is present and the /cpp_opt switch is not, the MIDL compiler concatenates the string specified by the /cpp_cmd switch with the /I, /D, and /U options and uses this concatenated string to invoke the C preprocessor for each IDL and ACF source file. The MIDL compiler switch /U is ignored when the MIDL compiler switch /no_cpp or /cpp_opt is specified.
midl /UUNICODE filename.idl