Btrieve API Guide (v11)

Get Position(22)

Get Position オペレーション(B_GET_POSITION)では、4 バイトで表した現在のレコードの物理位置を返します。Get Position オペレーションを発行するときに物理カレンシーが確立されていないと、オペレーションは正常に実行されません。レコードの位置(アドレス)を決定できれば、Get Direct/Record オペレーション(23)を使って、ファイル内の物理位置を基にそのレコードを直接取得できるようになります。トランザクショナル インターフェイスでは、Get Position 要求を処理するためにディスク I/O は行われません。

パラメーター

 
オペレーション コード
ポジション ブロック
データ バッファー
データ バッファー長
キー バッファー
キー番号
送り値

 

 

戻り値
 

 
 

前提条件

手順

  1. オペレーション コードに 22 を設定します。
  2. ファイルのポジション ブロックを渡します。
  3. データ バッファー長に少なくとも 4 バイトを設定します。
  4. キー番号に 0 を設定します。

結果

Get Position オペレーションが正常に終了した場合は、トランザクショナル インターフェイスからレコードの位置がデータ バッファーに返されます。位置は、High-Low で記録される 4 バイトのバイナリ値で、ファイル内でのレコードのオフセット(バイト単位)を示します。また、トランザクショナル インターフェイスではデータ バッファー長にも 4 バイトが設定されます。

Get Position オペレーションが正常に実行されなかった場合は、トランザクショナル インターフェイスから次のステータス コードのいずれかが返されます。

3
ファイルが開いていません。
8
現在のポジションが不正です。

ポジショニング

Get Position オペレーションは、ポジショニングにまったく影響しません。


Get Next Extended(36)

Get Previous(7)