BackupSeek

BackupRead または BackupWrite 関数で最初にアクセスされたデータストリーム内で前方にシークする。

BackupSeek hFile, dwLowBytesToSeek, dwHighBytesToSeek, lpdwLowByteSeeked, lpdwHighByteSeeked, lpContext

hFile : [intptr] ファイルまたはディレクトリへのハンドル。このハンドルは CreateFile 関数で作成する。ハンドルは同期(非オーバーラップ)でなければならない。つまり、CreateFile 呼び出し時に FILE_FLAG_OVERLAPPED フラグを設定してはならない。この関数は受け取ったハンドルが同期か検証しないため、同期ハンドルに対してはエラーコードを返さないが、非同期(オーバーラップ)ハンドルで呼ぶとデバッグが非常に難しい微妙なエラーを引き起こす可能性がある。
dwLowBytesToSeek : [int] シークするバイト数の下位部分。
dwHighBytesToSeek : [int] シークするバイト数の上位部分。
lpdwLowByteSeeked : [var] 関数が実際にシークしたバイト数の下位ビットを受け取る変数へのポインタ。
lpdwHighByteSeeked : [var] 関数が実際にシークしたバイト数の上位ビットを受け取る変数へのポインタ。
lpContext : [var] 関数が使う内部データ構造へのポインタ。この構造体は BackupRead または BackupWrite 関数によって初期化されたものと同一でなければならない。アプリケーションはこの構造体の内容に触れてはならない。

(プラグイン / モジュール : kernel32.dll)

解説

BackupRead または BackupWrite 関数で最初にアクセスされたデータストリーム内で前方にシークする。

[戻り値]
要求された量だけシークできた場合、関数はゼロ以外を返す。要求された量だけシークできなかった場合はゼロを返す。拡張エラー情報を取得するには
GetLastError を呼ぶ。

[備考]
アプリケーションは BackupSeek
関数を使って、エラーを引き起こすデータストリームの一部をスキップする。この関数はストリームヘッダをまたいでシークできない。例えば、ストリーム名をスキップするためには使えない。サブストリームの終端を超えてシークしようとすると関数は失敗し、lpdwLowByteSeeked
と lpdwHighByteSeeked
パラメータに実際にシークしたバイト数が示され、ファイル位置は次のストリームヘッダの先頭に配置される。

情報

プラグイン / モジュールkernel32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の kernel32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_kernel32_gen2.hs