MSMQ Read Message

メッセージング > MSMQ との接続 > コンポーネントプログラム

メッセージを受け取ったり、データ型を返したりします。

パラメータ

説明

Queue Handle

数値(18) /入力:メッセージの送信先のキューのハンドル(オープン時に返された数値)

Timeout

数値(5)/入力(ミリ秒): コンポーネントがメッセージを待つ時間を指定します。(-1) を指定すると、キューにメッセージがあるまで待つことになります。これは受信側で設定します。

Transaction Mode

文字(1)/入力

  • N ……トランザクションなし

  • S …… 単一メッセージトランザクション

  • T …… 定義されたトランザクション内

Transaction Handle

数値(18) /入力(オプション):「Begin Transaction」プログラムから返された数値を指定します。定義されたトランザクション内を指定した場合はこの値を指定する必要があります。

Numeric Picture

文字列(30) /入力(オプション):Magicの項目の書式。VARPIC関数を使用して送ることができます。このパラメータは、データ型が「N」 の時だけ指定する必要があります。この値が空白の場合、パラメータは渡されず、グローバルなデフォルト値が使用されます。この指定は、数値書式のセットアップユーティリティの指定で上書きされます。

Message Identifier

数値(9)/入力(オプション):このパラメータが渡されると、コンポーネントは全てのメッセージをスキャンし、渡された値と等しいプロパティを持ったメッセージを見つけるまでAppSpecific プロパティを検索します。

Message LookupId

文字(40)/入力(オプション):このパラメータが渡されると、コンポーネントはLookupId プロパティに応答するメッセージをフェッチします。MSMQ 3.0(Windows XP) 以上でのみ有効です。

Convert Vector to BLOB

論理/入力:このパラメータは、配列データを BLOB に変換するようにコンポーネントに指示します。受信したメッセージが配列(ベクトル型)の場合のみ関係します。この値が「True」の場合、BLOB が返され、Blb2File 関数でファイルに保存できます。

Message

BLOB/出力:メッセージデータを含んだRTF形式のBLOB

Data type

文字(1)/出力

  • A …… 文字

  • N …… 数値

  • D …… 日付: 「日付(スペース)時間」の書式になっているDateTime形式(例: 2002/12/31 14:39:46)

注意:日付が送られない場合、日付の一部は 1899/12/31になります。

  1. L …… 論理

  2. V …… ベクトル(配列):3桁の数値型セルを持つように定義された Magicのベクトル型です。

Correlation ID

ベクトル /入出力(オプション):送信/応答用。書式「3」の数値セルが定義された Magicのベクトル型です。20のセルを渡します。

入力の場合は、このIDに合ったメッセージのみ送信されます。

Message ID

ベクトル /出力(オプション):書式「3」の数値セルが定義された Magicのベクトル型です。20のセルを渡します。

ここに設定された項目に、送信されたメッセージのメッセージIDが格納されます。

 

戻り値

数値(17):処理が成功した場合 0、失敗した場合は負の数(エラーコード)が返ります。

 

参考

Ackキューのメッセージを読むこともできます。この場合、Ackメッセージは、通常のメッセージとして返されます。

この方法は、MsgClass特性が「0」でない場合に有効です。Ackメッセージと送信メッセージを照合するためには、「Correlation ID」を使用しなけばなりません。