BackupSeek

機能
BackupRead()関数 or BackupWrite()関数を使ってアクセスした、データストリームの転送バイト数を調べる
Declare Function BackupSeek Lib "kernel32.dll"  _
(ByVal hFile As Long, ByVal dwLowBytesToSeek As Long, ByVal dwHighBytesToSeek As Long, _
lpdwLowByteSeeked As Long, lpdwHighByteSeeked As Long, lpContext As Long) As Long
Declare Function BackupSeek Lib "kernel32.dll"  _
(ByVal hFile As Integer, ByVal dwLowBytesToSeek As Integer, ByVal dwHighBytesToSeek As Integer, _
lpdwLowByteSeeked As Integer, lpdwHighByteSeeked As Integer, lpContext As Integer) As Integer

BOOL BackupSeek(
HANDLE hFile,
DWORD dwLowBytesToSeek,

DWORD dwHighBytesToSeek,

LPDWORD lpdwLowByteSeeked,

LPDWORD lpdwHighByteSeeked,

LPVOID *lpContext
);
引数
hFile

バックアップするファイル or ディレクトリのハンドル(CreateFile()関数の戻り値)
dwLowBytesToSeek
検索するバイト数の上位32ビット
dwHighBytesToSeek
同、下位32ビット
(戻り値)関数が戻るときに実際の検索バイト数の上位32ビットを受け取るLONG型変数
lpdwHighByteSeeked
(戻り値)同、下位32ビット
lpContext
この関数で使う内部データ構造体へのポインタを指定する
この構造体は、BackupRead()関数で初期化した構造体でなければならない
(この値の変更は禁止)
戻り値
関数が要求されたバイト数を検索できたとき       0以外
同、できなかったとき                           0
備考
データストリーム内でエラーの原因となる部分をスキップするには、この関数を使う。
この関数は、ストリームヘッダーで区切られた範囲内だけで検索をする。
サブストリームの終端を越えて検索しようとすると、関数は失敗する。
このとき、とlpdwHighByteSeekedは関数が実際に検索するバイト数を示し
ファイルの位置は次のストリームヘッダーの先頭に配置される。