fault_status 属性
[fault_status] ACF 属性指定error_status_t类型的错误代码指示远程过程失败,而不是其他类型的问题,如通信错误。
[fault_status [ , ACF-function-attributes ] ] function-name(
[ [ ACF-parameter-attributes ] ] parameter-name
, ... );
[ [ ACF-function-attributes ] ] function-name(
[fault_status [ , ACF-parameter-attributes ] ] parameter-name
, ... );
-
ACF-function-attributes
-
指定零个或多个 ACF 函数属性,例如 [fault_status] 和 [nocode]。 函数属性括在方括号中。 请注意,零个或多个属性可以应用于函数。 用逗号分隔多个函数属性。 另请注意,如果 [fault_status] 显示为函数属性,则它不能也显示为参数属性。
-
function-name
-
指定 IDL 文件中定义的函数的名称。
-
ACF-parameter-attributes
-
指定应用于参数的属性。 请注意,零个或多个属性可以应用于 参数。 参数属性括在方括号中。 用逗号分隔多个参数属性。 ACF 中不允许使用 IDL 参数属性,例如方向属性。 请注意,如果 [fault_status] 显示为参数属性,则它不能也显示为函数属性。
-
parameter-name
-
指定 IDL 文件中定义的函数的参数。 必须使用 IDL 文件中定义的相同名称,以相同的顺序指定函数的每个参数。
[fault_status] 属性可用作函数属性或参数属性,但每个函数只能出现一次。 它可以应用于函数本身,也可以应用于每个函数中的一个参数。
[fault_status] 属性只能应用于返回类型error_status_t的函数。 当远程过程失败导致返回故障 PDU 时,将返回错误代码。
将 [fault_status] 用作参数属性时,参数必须是类型为 error_status_t 的 [out] 参数。 如果发生服务器错误,则 参数设置为错误代码。 远程调用成功完成后,该过程将设置 值。
无需在 IDL 文件中指定与 [fault_status] 属性关联的参数。 如果未指定 参数,则会在 DCE IDL 文件中定义的最后一个参数之后生成类型为 error_status_t 的新 out 参数。
[fault_status] 和 [comm_status] 属性都可以作为函数属性或参数属性出现在单个函数中。 如果这两个属性都是函数属性,或者它们应用于同一个参数且未发生错误,则函数或参数 的值error_status_ok。 否则,它将包含相应的状态代码值。 由于 为 [fault_status] 返回的值与 [ comm_status] 返回的值不同,因此很容易解释返回的值。