/robust switch

/robust 开关告知 MIDL 编译器生成其他错误检查信息,NDR 引擎使用这些信息在运行时执行完整性检查。

midl /robust {/Oicf | /Oif }

切换选项

/Oicf

/Oif

这些开关的功能相同。 它们指定封送处理的无代码代理方法,并使用快速格式字符串来提高性能。 请参阅 / Oi

备注

使用 /robust 开关可生成附加信息,使网络数据表示 (NDR) 引擎对 DCOM 应用程序中动态数组、联合和 in out 接口指针中的相关参数执行运行时错误检查。 /robust 开关仅在 Windows 2000 及更高版本的 Windows 下可用。

相关参数是一个参数,它使用允许在运行时确定数据对象大小的任何属性: size_islength_isfirst_islast_ismax_isswitch_isiid_is。 根据线路表示形式的 OSF-DCE 规范,此相关参数出现在两个不同的位置。 例如,请考虑 size_is 属性的典型用法:

HRESULT Func1([in] long Size, 
              [in, size_is(Size)]BAR_TYPE *pBarType);

在此示例中,客户端传递一个 long 类型的值,该值根据) BAR_TYPES元素数指定BAR_TYPEs (块的大小,以及指向实际块BAR_TYPEs的指针。 Size 参数与 pBarType 参数相关联。 根据 OSF-DCE 规范,Size 参数在线路上表示两次,首先表示为自身,然后使用表示 pBarType 参数的 BAR_TYPE 元素数组。 每个参数根据其自己的线表示形式独立展开。 通常,Size 参数及其副本(用于表示另一个参数的一部分)具有相同的值。 但是,如果 Size 参数 (损坏,例如,当 BAR_TYPES 块大于) 分配的块时,服务器应用程序可能会停止响应,因为它使用 Size 参数的值来度量传入数据。

需要 /robust 开关才能使用 range 属性实现有效的 范围 检查。

示例

midl /robust /Oicf filename.idl

另请参阅

常规 MIDL 命令行语法

/Oi

范围