BackupSeek 関数 (winbase.h)

BackupSeek 関数は、BackupRead 関数または BackupWrite 関数を使用して、最初にアクセスされたデータ ストリーム内で転送をシークします。

構文

BOOL BackupSeek(
  [in]  HANDLE  hFile,
  [in]  DWORD   dwLowBytesToSeek,
  [in]  DWORD   dwHighBytesToSeek,
  [out] LPDWORD lpdwLowByteSeeked,
  [out] LPDWORD lpdwHighByteSeeked,
  [in]  LPVOID  *lpContext
);

パラメーター

[in] hFile

ファイルまたはディレクトリを処理します。 このハンドルは、 CreateFile 関数を使用して作成されます。

ハンドルは同期 (オーバーラップされていない) である必要があります。 つまり、 CreateFile を呼び出すときに、FILE_FLAG_OVERLAPPED フラグを設定することはできません。 この関数では、受信したハンドルが同期的であることを検証しないため、同期ハンドルのエラー コードは返されませんが、非同期 (重複) ハンドルを使用して呼び出すと、デバッグが非常に困難な微妙なエラーが発生する可能性があります。

[in] dwLowBytesToSeek

シークするバイト数の下位部分。

[in] dwHighBytesToSeek

シークするバイト数の上位部分。

[out] lpdwLowByteSeeked

関数が実際にシークするバイト数の下位ビットを受け取る変数へのポインター。

[out] lpdwHighByteSeeked

関数が実際にシークするバイト数の上位ビットを受け取る変数へのポインター。

[in] lpContext

関数によって使用される内部データ構造へのポインター。 この構造体は、 BackupRead または BackupWrite 関数によって初期化されたものと同じ構造体である必要があります。 アプリケーションは、この構造体の内容に触れてはなりません。

戻り値

関数が要求された量をシークできる場合、関数は 0 以外の値を返します。

関数が要求された量をシークできなかった場合、関数は 0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

アプリケーションは BackupSeek 関数を使用して、エラーの原因となるデータ ストリームの一部をスキップします。 この関数は、ストリーム ヘッダー間でシークしません。 たとえば、この関数を使用してストリーム名をスキップすることはできません。 アプリケーションがサブストリームの末尾を超えてシークしようとすると、関数は失敗します。 lpdwLowByteSeeked パラメーターと lpdwHighByteSeeked パラメーターは、関数がシークする実際のバイト数を示し、ファイル位置は次のストリーム ヘッダーの先頭に配置されます。

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー winbase.h (Windows.h を含む)
Library Kernel32.lib
[DLL] Kernel32.dll

関連項目

BackupRead

BackupWrite

CreateFile