comm_status属性
[comm_status] ACF 属性を使用すると、関数の実行中に通信エラーが発生するとエラー コードが返されます。
[comm_status [ , ACF-function-attributes ] ]
error_status_t function-name(
[ [ ACF-parameter-attributes ] ] parameter-name
, ...);
[ [ ACF-function-attributes ] ] function-name(
[comm_status [ , ACF-parameter-attributes ] ] error_status_t name
, ...);
パラメーター
-
ACF-function-attributes
-
[comm_status] や [nocode] などの 0 個以上の ACF 関数属性を指定します。 関数属性は角かっこで囲まれています。 0 個以上の属性を関数に適用できます。 複数の関数属性をコンマで区切ります。 [comm_status] が関数属性として表示される場合は、パラメーター属性としても表示できないことに注意してください。
-
function-name
-
IDL ファイルで定義されている関数の名前を指定します。
-
ACF-parameter-attributes
-
パラメーターに適用される属性を指定します。 パラメーターには、0、1、または複数の属性を適用できることに注意してください。 複数のパラメーター属性をコンマで区切ります。 パラメーター属性は角かっこで囲まれています。 方向属性などの IDL パラメーター属性は、ACF では使用できません。 [comm_status] がパラメーター属性として表示される場合は、関数属性としても表示できないことに注意してください。
-
parameter-name
-
IDL ファイルで定義されている関数のパラメーターを指定します。 関数の各パラメーターは、IDL ファイルで定義されているのと同じ名前を使用して、同じシーケンスで指定する必要があります。
解説
[comm_status] 属性は、関数属性またはパラメーター属性として使用できますが、関数ごとに 1 回だけ表示できます。 関数または各関数の 1 つのパラメーターに適用できます。
[comm_status] 属性は、型error_status_tを返す関数にのみ適用できます。 関数の実行中に通信エラーが発生すると、エラー コードが返されます。
パラメーター属性として [comm_status] を使用する場合は、IDL ファイルでパラメーターを定義し、error_status_t型の [out] パラメーターにする必要があります。 関数の実行中に通信エラーが発生した場合、 パラメーターはエラー コードに設定されます。 リモート呼び出しが正常に完了すると、プロシージャによって値が設定されます。
[comm_status] 属性と [fault_status] 属性の両方を、関数属性またはパラメーター属性として 1 つの関数に表示できます。 両方の属性が関数属性であるか、同じパラメーターに適用され、エラーが発生しない場合、関数またはパラメーターの値は error_status_ok。 それ以外の場合は、適切な [comm_status] または [fault_status] 値が含まれます。 [comm_status] に返される値は [fault_status] に返される値とは異なるため、返される値は容易に解釈されます。
関連項目