メッセージ記述子拡張構造体の現在のバージョン このフィールドの初期値は MQMDE_VERSION_2 です。
MQOD 構造体 − オブジェクト記述子
MQOD 構造体は,次のフィールドから構成されます。
フィールド(データタイプ) 内容 初期値
StrucId(MQCHAR4 型) 構造体識別子 MQOD_STRUC_ID
Version(MQLONG 型) 構造体バージョン番号 MQOD_VERSION_1
ObjectType(MQLONG 型) オブジェクトタイプ MQOT_Q
ObjectName(MQCHAR48 型) オブジェクト名 ヌル文字列/空白
ObjectQMgrName(MQCHAR48 型) オブジェクトキューマネジャ名 ヌル文字列/空白
DynamicQName(MQCHAR48 型) 動的キュー名 アスタリスク(*)
AlternateUserId(MQCHAR12 型) 代替ユーザ識別子 ヌル文字列/空白
RecsPresent(MQLONG 型)※1 オブジェクトレコード数 0
KnownDestCount(MQLONG 型)※1 ローカルキューの数 0
UnknownDestCount(MQLONG 型)※1 リモートキューの数 0
InvalidDestCount(MQLONG 型)※1 オープンに失敗したキューの数 0
ObjectRecOffset(MQLONG 型)※1 最初のオブジェクトレコードまでのオ フセット
0
ResponseRecOffset(MQLONG 型)※1 最初の応答レコードまでのオフセット 0
ObjectRecPtr(MQPTR 型)※1 最初のオブジェクトレコードのアド
レス
ヌルポインタ/ヌル文字列
ResponseRecPtr(MQPTR 型)※1 最初の応答レコードのアドレス ヌルポインタ/ヌル文字列
AlternateSecurityId(MQBYTE40 型)※2 代替セキュリティ識別子 MQSID_NONE
ResolvedQName(MQCHAR48 型)※2 解決したキュー名称 ヌル文字列/空白
ResolvedQMgrName(MQCHAR48 型)※2 解決したキューマネジャ名称 ヌル文字列/空白
注※1
Version フィールドの値が MQOD_VERSION_2 以降の場合だけ存在するフィールドです。
注※2
Version フィールドの値が MQOD_VERSION_3 以降の場合だけ存在するフィールドです。
概要
目的
MQOD 構造体は,オブジェクトを名前で指定するために使用します。記述できるオブジェクトの種類を 次に示します。
• キューまたは配布リスト
• プロセス定義
• キューマネジャ
この構造体は,MQOPEN 命令および MQPUT1 命令の入出力用の引数です。
バージョン
MQOD 構造体のバージョンには 1,2 および 3 があります。しかし,すべての環境で
MQOD_VERSION_3 がサポートされているわけではありません。複数の環境にアプリケーションを移植 する場合は,使用するバージョンの MQOD 構造体が,すべての環境でサポートされている必要がありま す。MQOD_VERSION_2 以降の構造体にだけ存在するフィールドについては,そのことをフィールドの 説明に記載しています。
サポートするプログラミング言語の COPY ファイルと INCLUDE ファイルでは,最新バージョンの MQOD 構造体が提供されます。ただし,Version フィールドの初期値は MQOD_VERSION_1 です。バージョン 1 の構造体にないフィールドを使用する場合は,アプリケーションで使用したいバージョンの番号を Version フィールドに設定してください。
配布リストをオープンするには,Version フィールドの値が MQOD_VERSION_2 以降でなければなりま せん。
文字セットおよびマシンコード
MQOD 構造体のデータは,ローカルキューマネジャの文字セットおよびマシンコードに従います。それ ぞれ,キューマネジャの CodedCharSetId 属性および MQENC_NATIVE で指定します。TP1/Message Queue - Access のクライアントアプリケーションの場合,MQOD 構造体はクライアントの文字セット とマシンコードに従います。
フィールド
構造体を構成するフィールドについて,アルファベット順に説明します。
● AlternateSecurityId(MQBYTE40 型) 代替セキュリティ識別子
妥当な権限があるかどうかをチェックするために,AlternateUserId と一緒に認証サービスに渡されるセ キュリティ識別子です。
AlternateSecurityId は次の場合にだけ使用されます。
• MQOO_ALTERNATE_USER_AUTHORITY が MQOPEN 命令に指定されるか,
MQOO_ALTERNATE_USER_AUTHORITY が MQPUT1 命令に指定される場合
• AlternateUserId フィールドの最初のヌル文字まで,またはフィールドの最後までのすべてが空白では ない場合
AlternateSecurityId は,次に示す構造体を持ちます。
• 先頭バイトは後続データの長さを含むバイナリ整数値であり,その長さは,長さを示すバイト自身も含 みます。セキュリティ識別子がない場合,長さは 0 です。
• 2 番目のバイトはセキュリティ識別子のタイプを示し,次の値を取ることができます。
• MQSIDT_NT_SECURITY_ID:Windows セキュリティ識別子
• MQSIDT_NONE:セキュリティ識別子ではありません。
• 3 番目以降のバイトから,先頭バイトで定義された長さまでのバイトはセキュリティ識別子自身です。
• 残りのバイトはバイナリ 0 に設定されます。
次の値を指定できます。