ObjectName (MQCHAR48) ,適用於 MQOD
這是
ObjectQMgrName所識別之佇列管理程式上定義的物件本端名稱。 名稱可以包含下列字元:- 大寫英文字母 (A 到 Z)
- 小寫英文字母 (a 到 z)
- 數字 (0 到 9)
- 句點 (.)、正斜線 (/)、底線 (_)、百分比 (%)
- 在使用 EBCDIC Katakana 的系統上,無法使用小寫字元。
- 在 z/OS®上:
- 避免名稱以底線開頭或結尾; 它們無法由作業及控制台處理。
- 百分比字元對 RACF®具有特殊意義。 如果使用 RACF 作為外部安全管理程式,則名稱不得包含百分比。 如果有的話,當使用 RACF 通用設定檔時,這些名稱不會包含在任何安全檢查中。
- 在 IBM® i上,當在指令上指定時,包含小寫字元、正斜線或百分比的名稱必須以引號括住。 對於在結構中作為欄位或在呼叫中作為參數出現的名稱,不得指定這些引號。
完整主題名稱可以從兩個不同的欄位來建置: ObjectName 和 ObjectString。 如需如何使用這兩個欄位的詳細資料,請參閱 使用主題字串。
下列要點適用於指出的物件類型:
- 如果
ObjectName是模型佇列的名稱,則佇列管理程式會使用模型佇列的屬性來建立動態佇列,並在ObjectName欄位中傳回所建立佇列的名稱。 模型佇列只能在 MQOPEN 呼叫上指定; 模型佇列在 MQPUT1 呼叫上無效。 - 如果
ObjectName是具有 TARGTYPE (TOPIC) 之別名佇列的名稱,則會先對具名別名佇列進行安全檢查; 當使用別名佇列時,這是正常的。 當安全檢查順利完成時, MQOPEN 呼叫會繼續,且會像MQOT_TOPIC上的 MQOPEN 呼叫一樣; 這包括對管理主題物件進行安全檢查。 - 如果
ObjectName及ObjectQMgrName識別本端佇列管理程式所屬的佇列共用群組所擁有的共用佇列,則本端佇列管理程式上不得同時有同名的佇列定義。 如果有這樣的定義 (本端佇列、別名佇列、遠端佇列或模型佇列) ,則呼叫會失敗,原因碼為 MQRC_OBJECT_NOT_UNIQUE。 - 如果要開啟的物件是配送清單 (亦即,
RecsPresent存在且大於零) ,則ObjectName必須是空白或空字串。 如果未滿足此條件,則呼叫會失敗,原因碼為 MQRC_OBJECT_NAME_ERROR。 - 如果
ObjectType是 MQOT_Q_MGR ,則適用特殊規則; 在此情況下,名稱必須完全空白,直到第一個空值字元或欄位結尾。
當 ObjectName 是模型佇列的名稱時,這是 MQOPEN 呼叫的輸入/輸出欄位,在所有其他情況下則是僅限輸入欄位。 此欄位的長度由 MQ_Q_NAME_LENGTH 提供。 此欄位的起始值在 C 中是空字串,在其他程式設計語言中是 48 個空白字元。