ANSI-CおよびMQGET関数を使用してキューからメッセージを受信しようとしています。問題は、常にエラー2010(MQRC_DATA_LENGTH_ERROR)が発生することです。
このエラーは、MQGET呼び出し(DataLength)のパラメーター7に関係していることがわかりました。キューのメッセージは7157460バイトです。MQGETに使用しているチャネルでは、「最大メッセージ長」が104857600(およびメッセージを保持しているキュー)に設定されています。
この例のMQGETも使用しています:http: //www.capitalware.biz/dl/code/c/msg2file.zip
そして、私はまだエラー2010で終わります。私は何が間違っているのですか?MQSERVER環境変数のメッセージの最大サイズをどうにかして増やす必要がありますか?
MQGET呼び出し:
/* ... */
MQLONG messlen; /* message length received */
MQGET(Hcon, /* connection handle */
Hobj, /* object handle */
&md, /* message descriptor */
&gmo, /* get message options */
buflen, /* pBuffer length */
pBuffer, /* pointer to message buffer */
&messlen, /* message length */
&CompCode, /* completion code */
&Reason); /* reason code */