HFZXDLOC – システム・バッファリングを使用したダンプ・ストレージの検索
フォーマット
#include "hfzxufmh.h"
int HFZXDLOC(int addr, int len);
概要
HFZXDLOC() 関数は、仮想アドレスと長さによって、分析されたアドレス・スペース内のストレージにアクセスする場合に使用します。
注:
大容量の仮想ストレージにアクセスする際にストレージ不足状態を防ぐには、代わりに HFZXXLOC 関数を使用します。詳しくは、HFZXXLOC – 独自のバッファリングを使用したダンプ・ストレージの検索 を参照してください。
リアルタイム処理の場合、アクセスされるストレージは一般的に、分析中の実際のアドレス・スペースのストレージです。再分析の場合、ストレージはミニダンプから取得されます。
リアルタイム・モードか再分析モードかにかかわらず、保護例外が発生するおそれがあるため、HFZXDLOC() 関数の呼び出しによって取得されていないストレージ域を間接参照しないでください。
HFZXDLOC() は、Z Abend Investigator REXX コマンド「Evaluate」と機能的に同等です。
戻り値
要求された長さでストレージが使用可能な場合、HFZXDLOC() はストレージ域のアドレスを返します。
HFZXDLOC() は、要求されたアドレスが使用可能でも、長さが要求された長さよりも短い場合は負の値を返します。使用可能な長さは、戻り値を 0 から減算することで判別できます。部分的なストレージ域のアドレスを取得するには、削減した長さを使用して再度 HFZXDLOC() を呼び出します。
長さにかかわらず、要求されたアドレスが使用できない場合は、値 0 が返されます。
例
#include "hfzxufmh.h"
int maddr, cvt;
maddr = HFZXDLOC(16,4); /* Get address of CVT pointer /
if (maddr > 0)
cvt = (int )maddr; /* Get CVT pointer */