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
-
[fault_status] や [nocode] などの 0 個以上の ACF 関数属性を指定します。 関数属性は角かっこで囲まれています。 0 個以上の属性を関数に適用できることに注意してください。 複数の関数属性をコンマで区切ります。 また 、[fault_status] が 関数属性として表示される場合は、パラメーター属性としても表示できないことに注意してください。
-
function-name
-
IDL ファイルで定義されている関数の名前を指定します。
-
ACF-parameter-attributes
-
パラメーターに適用される属性を指定します。 パラメーターには、0 個以上の属性を適用できることに注意してください。 パラメーター属性は角かっこで囲まれています。 複数のパラメーター属性をコンマで区切ります。 方向属性などの IDL パラメーター属性は、ACF では使用できません。 [fault_status] がパラメーター属性として表示される場合は、関数属性としても表示できないことに注意してください。
-
parameter-name
-
IDL ファイルで定義されている関数のパラメーターを指定します。 関数の各パラメーターは、IDL ファイルで定義されているのと同じ名前を使用して、同じシーケンスで指定する必要があります。
[fault_status] 属性は、関数属性またはパラメーター属性として使用できますが、関数ごとに 1 回だけ表示できます。 これは、関数自体に適用することも、各関数の 1 つのパラメーターに適用することもできます。
[fault_status] 属性は、型error_status_tを返す関数にのみ適用できます。 エラー PDU が返される方法でリモート プロシージャが失敗すると、エラー コードが返されます。
パラメーター属性として [fault_status] を使用する場合、パラメーターは型error_status_tの [out] パラメーターである必要があります。 サーバー エラーが発生した場合、 パラメーターはエラー コードに設定されます。 リモート呼び出しが正常に完了すると、プロシージャによって値が設定されます。
[fault_status] 属性に関連付けられているパラメーターは、IDL ファイルで指定する必要はありません。 パラメーターが指定されていない場合、DCE IDL ファイルで定義された最後のパラメーターの後に、error_status_t型の新しい out パラメーターが生成されます。
[fault_status] 属性と [comm_status] 属性の両方を、関数属性またはパラメーター属性として 1 つの関数に表示できます。 両方の属性が関数属性であるか、同じパラメーターに適用され、エラーが発生しない場合、関数またはパラメーターの値は error_status_ok。 それ以外の場合は、適切な状態コード値が含まれます。 [fault_status] に対して返される値は [comm_status] に返される値とは異なるため、返される値は簡単に解釈されます。