適用於 z/OS 平台[16.0.0.4 以及更新版本]

Angel 檢查 API

使用「Angel 檢查 API」來檢查特定名稱的 Angel 或預設 Angel 是否在執行中。

BBGZACHK、BGVT 及 ECVT 控制區塊包含必要的指標位置,可判斷給定的 Angel 是否在執行中。下表列出「Angel 檢查 API」或控制區塊的指標位置。
表 1. 「Angel 檢查 API」或控制區塊的指標位置
API 或控制區塊 指標位置
Angel 檢查 API BBGZACHK 控制區塊的偏移 0x14
BBGZACHK 控制區塊 BGVT 控制區塊的偏移 0x2AC

如果指標為 NULL,表示未啟動任何 Angel。

BGVT 控制區塊 ECVT 控制區塊的偏移 0x234。

如果指標為 NULL,表示未啟動任何 Angel。如需 ECVT 控制區塊的相關資訊,請參閱《MVS 資料區第 1 冊 (ABE- IAX)》。

環境

下表提供呼叫端的需求。
表 2. 環境因素及其需求
環境因素 需求
AMODE 64 位元
ASC 模式 主要
最小授權 問題狀態或監督者狀態
  • 從程式狀態字組 (PSW) 0-15 的任何儲存體金鑰中可取得 BBGZACHK 控制區塊。

輸入暫存器資訊

下表提供「Angel 檢查 API」的輸入暫存器。
表 3. 輸入暫存器及其內容
登錄 內容
1 以空值結尾的 Angel 名稱字串的位址,或 NULL。
  • 如果要檢查特定名稱的 Angel 是否在執行中,在呼叫「Angel 檢查 API」時,請確保暫存器 1 包含指標指向 Angel 的名稱(以空值結尾的字串)。
  • 如果要檢查預設 Angel 是否在執行中,在呼叫「Angel 檢查 API」時,請確保已清除暫存器 1。
13 F4SA 格式的 144 位元組儲存區。
14 返回的位址。

輸出暫存器資訊

下表提供「Angel 檢查 API」的輸出暫存器。
表 4. 輸出暫存器及其內容
登錄 內容
15 如果指定的 Angel 在執行中,則回覆碼為 0,否則回覆碼不是零

用於呼叫「Angel 檢查 API」的 BBGZAACK 巨集

如果要簡化呼叫「Angel 檢查 API」,您可以使用位於 ${wlp.install.dir}/dev/api/ibm/zos/BBGZAACK 的 BBGZAACK 巨集。

下表提供 BBGZAACK 巨集的語法。
表 5. BBGZAACK 巨集語法
語法 說明
name name:符號。name 在第 1 欄開始。
ƀ BBGZAACK 前面必須有一或多個空格。
BBGZAACK
ƀ BBGZAACK 後面必須有一或多個空格。
ANAME=angelname A 類型位址或暫存器 (2) - (12)。

參數

參數的說明如下:
ANAME
指定要檢查之 Angel 名稱的位址。包含終止空值,這個參數的長度必須在 1 到 55 個字元之間(含)。使用單一空值字元可指定預設 Angel。

回覆碼和原因碼

當控制權從 BBGZAACK 巨集返回時,一般目的暫存器 (GPR) 15 會包含回覆碼。 回覆碼 0 表示找到指定的 Angel 且在作用中。非零回覆碼表示找不到指定的 Angel 或不在作用中。

範例

下列範例假設您已將 ${wlp.install.dir}/dev/api/ibm/zos/BBGZAACK 檔複製到 MACLIB。

範例 1

檢查預設 Angel 是否在作用中。
   USING PARMS,5         
   XC ANGLPARM,ANGLPARM 清除儲存體 / 空值終止
   BBGZAACK ANAME=ANGLPARM
   ST 15,ANGLRC 儲存回覆碼
*
PARMS DSECT
ANGLPARM DS CL1
ANGLRC DS F

範例 2

檢查名為 ANGEL01 的 Angel 是否在作用中。
         
   USING PARMS,5 XC   
   ANGLPARM,ANGLPARM 清除儲存體 / 空值終止
   MVC ANGLPARM(7),ANGLNAME 複製 Angel 名稱
   BBGZAACK ANAME=ANGLPARM
   ST 15,ANGLRC 儲存回覆碼
*
   LTORG
   ANGLNAME DC CL7'ANGEL01'
*
PARMS DSECT
ANGLPARM DS CL8
ANGLRC DS F

指示主題類型的圖示 參照主題

檔名:rwlp_angel_check.html