バックアップを復元する
Declare Function BackupWrite Lib "kernel32.dll" _
(ByVal hFile As Long, lpBuffer As Byte, ByVal nNumberOfBytesToWrite As Long, _
lpNumberOfBytesWritten As Long, ByVal bAbort As Long, ByVal bProcessSecurity As Long, _
lpContext As Long ) As Long
Declare Function BackupWrite Lib "kernel32.dll" _
(ByVal hFile As Integer, lpBuffer As Byte, ByVal nNumberOfBytesToWrite As Integer, _
lpNumberOfBytesWritten As Integer, ByVal bAbort As Integer, ByVal bProcessSecurity As Integer, _
lpContext As Integer ) As Integer
BOOL BackupWrite(
HANDLE hFile,
LPBYTE lpBuffer,
DWORD nNumberOfBytesToWrite,
LPDWORD lpNumberOfBytesWritten,
BOOL bAbort,
BOOL bProcessSecurity,
LPVOID *lpContext
);
引数
hFile
復元するファイル、またはディレクトリのハンドルlpBuffer
関数は、このファイルにデータを書き込む
ハンドルを取得するには、CreateFile()関数を使う
ハンドルにFILE_FLAG_NO_BUFFERINGフラグが指定されていると失敗する。
関数がデータを読み取るバッファへのアドレス(ポインタ)nNumberOfBytesToWrite
バッファのサイズ
WIN32_STREAM_ID構造体のサイズよりも大きい値を指定する必要がある
(戻り値)実際に書き込まれたバイト数bAbort
1のとき、すべてのバッファの解放bProcessSecurity
ファイル or ディレクトリのアクセス制御リスト(ACL)データを復元するかどうかを指定する
1のとき ファイルハンドルやディレクトリハンドルを開く前に
WRITE_OWNERとWRITE_DACアクセス権を指定しておく必要があるハンドルに
これらのアクセス権が設定されていない場合、
システムによりACLデータへのアクセスが拒否され
ACLデータを復元することができない
内部データ構造体へのポインタを受け取って保持する変数へのポインタ。戻り値
関数は、バックアップ操作中にこの内部データ構造体を使ってコンテキスト情報を維持する。
hFileに指定したハンドルに対して、この関数を初めて実行するときは0
関数はデータ構造体にメモリを割り当て、変数にこのデータ構造体を示す値を設定する。
複数回関数を呼び出す間に、このパラメータの値またはこの変数が保持する値を変更してはならない。
正常終了のとき 0以外備考
エラーのとき 0
BackupRead()関数によりバックアップされたデータは、この関数への入力にのみ使うことができる。。
拡張エラー情報を取得するには、GetLastError()関数を使う