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は関数が実際に検索するバイト数を示し
ファイルの位置は次のストリームヘッダーの先頭に配置される。