2440 (0988) (RC2440): MQRC_SUB_NAME_ERROR

説明

サブスクリプション記述子 MQSD の MQSUB 呼び出しで、SubName フィールドが無効であるか、または省略されている。 このフィールドは、MQSD オプション MQSO_DURABLE を指定した場合は必須であるが、MQSO_DURABLE を指定しない場合にも使用できる。

次のいずれかが当てはまります。
  • SubName.VSLength がゼロより大きいが、SubName.VSOffset がゼロで、SubName.VSPtr がヌル・ポインターである。
  • SubName.VSOffset がゼロでなく、SubName.VSPtr がヌル・ポインターではない (つまり、片方しか使用できない場合に両方のフィールドが使用されている可能性がある)。
  • SubName.VSPtr が無効ポインターである。
  • SubName.VSOffset または SubName.VSPtr が、アクセス不可能なストレージを指している。
  • SubName.VSLength がゼロであるが、このフィールドは必須である。
  • SubName.VSLength が、このフィールドに使用できる最大長を超えている。

完了コード

MQCC_FAILED

プログラマー応答

SubName を指定し、SubName.VSLength をゼロ以外に必ずする。 SubName.VSOffset または SubName.VSPtr の一方をゼロに、他方をゼロ以外に必ずする。 使用しているフィールドがアクセス可能なストレージを指していることを確認します。 このフィールドに使用できる最大長を超えない長さを指定する。

このコードは、sd.Options のフラグ MQSO_CREATE および MQSO_RESUME が一緒に設定され、sd.SubName が初期化されていないときに戻される場合がある。 再開するサブスクリプションがない場合でも、 sd.SubNameの MQCHARV 構造体も初期化する必要があります。詳しくは、 例 2: 管理対象 MQ サブスクライバー を参照してください。