Signal1 (MQLONG)

這是僅與 MQGMO_SET_SIGNAL 選項一起使用的輸入欄位; 它識別要在訊息可用時遞送的信號。

附註: 此欄位的資料類型及用法由環境決定; 基於此原因,您想要在不同環境之間連接的應用程式不得使用信號。
  • z/OS®上,此欄位必須包含「事件控制區塊 (ECB)」的位址。 在發出 MQGET 呼叫之前,應用程式必須先清除 ECB。 在佇列關閉之前,不得釋放包含 ECB 的儲存體。 佇列管理程式會公佈 ECB ,並提供其中一個所述的信號完成碼。 這些完成碼以 ECB 的位元 2 到 31 來設定,在 z/OS 對映巨集 IHAECB 中定義為使用者完成碼的區域。
  • 在所有其他環境中,這是保留欄位; 其值並不重要。
信號完成碼如下:
MQEC_MSG_REALED
佇列上已到達適當的訊息。 此訊息未保留給呼叫程式; 必須發出第二個 MQGET 要求,但另一個應用程式可能在發出第二個要求之前擷取訊息。
MQ ec_WAIT_INTERVAL_EXPIRED
指定的 WaitInterval 已過期,沒有適當的訊息送達。
已取消 MQEC_WAIT_CANCELED
由於不確定的原因 (例如佇列管理程式終止或停用佇列) ,已取消等待。 如果您想要進一步診斷,請重新發出要求。
MQEC_Q_MGR_QUIESCING
已取消等待,因為佇列管理程式已進入靜止狀態 (MQGMO_FAIL_IF_QUIESCING 已在 MQGET 呼叫上指定)。
MQEC_CONNECTION_QUIESCING
等待已取消,因為連線已進入靜止狀態 (MQGMO_FAIL_IF_QUIESCING 已在 MQGET 呼叫上指定)。
此欄位的起始值由環境決定:
  • z/OS上,起始值是空值指標。
  • 在所有其他環境中,起始值為 0