前のページ|次のページ

PEEK関数

32ビットプラットフォームのメモリアドレスの内容を数値変数に保存します。

カテゴリ: 特殊
制限事項: 32ビットプラットフォームでのみ使用します。
操作: SAS Serverがロックダウン状態の場合、PEEK関数は実行されません。詳細については、SAS Processing Restrictions for Servers in a Locked-Down State (SAS言語リファレンス: 解説編)を参照してください。

構文

PEEK(address <, length>)

必須引数

address

メモリアドレスを指定する数値定数、変数または式です。

オプション引数

length

データ長を指定する数値定数、変数または式です。

デフォルト 4バイトアドレスポインタ
範囲 2-8

詳細

要求しているメモリ保管場所へのアクセス権がない場合、PEEK関数は無効な引数エラーを返します。
64ビットプラットフォームでPEEK関数を使用しようとすると、この制限が適用されることを示すメッセージがSASによってログに書き込まれます。従来のアプリケーションでPEEKを使用している場合、アプリケーションを変更してかわりにPEEKLONGを使用します。PEEKLONGは、32ビットと64ビットのプラットフォームで使用できます。

比較

PEEK関数は、メモリアドレスの内容を数値変数に保存します。PEEKC関数は、メモリアドレスの内容を文字変数に保存します。
注: PEEKLONGは32ビットと64ビットのプラットフォームで使用できるため、ベストプラクティスとしては、PEEKのかわりにPEEKLONGを使用することをお勧めします。

これはz/OS操作環境に固有な例で、Communication Vector Table (CVT)のアドレスを表す数値を返します。
data _null_;
      /* 16 is the location of the CVT address */
   y=16; 
   x=peek(y);
   put 'x= ' x hex8.;
run;

関連項目:

CALLルーチン:
前のページ|次のページ|ページの先頭へ