<Return[B]><Top>

BackupWrite

Declare Function Api_BackupWrite& Lib "kernel32" Alias "BackupWrite" (ByVal hFile&, lpBuffer As Byte, ByVal nNumberOfBytesToWrite&, lpNumberOfBytesWritten&, ByVal bAbort&, ByVal bProcessSecurity&, lpContext&)

Declare Function BackupWrite Lib "kernel32" (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

指定されたファイル、またはディレクトリにバッファのデータストリームを書き込む。データは、 構造体によりサブストリームに分割されている必要

がある。この関数は、バックアップしたファイル、またはディレクトリを復元するときに使う。

パラメータ
hFile
    復元するファイル、またはディレクトリのハンドルを指定する。関数は、このファイルにデータを書き込む。ハンドルを取得するには、

    CreateFile 関数を使う。
    FILE_FLAG_NO_BUFFERING フラグを指定して、CreateFile 関数を呼び出すと、BackupWrite 関数は失敗する。この場合、 関数

    は ERROR_INVALID_PARAMETER を返す。
lpBuffer
    関数がデータを読み取るバッファへのポインタを指定する。
nNumberOfBytesToWrite
    バッファの長さを指定する。 構造体のサイズよりも大きい値を指定する。
lpNumberOfBytesWritten
    関数が制御を返すときに書き込まれたバイト数を格納する、変数へのポインタを指定する。
bAbort
    BackupWrite 関数が異常終了していないかどうかを示す。この値が TRUE の場合、操作は異常終了しており、バッファの割り当てがす

    べて解除されている。
bProcessSecurity
    関数が、ファイルまたはディレクトリのアクセス制御リスト(ACL)データを復元するかどうかを指定する。
    BProcessSecurity パラメータに TRUE を指定する場合、ファイルハンドルやディレクトリハンドルを開く前に WRITE_OWNER と

    WRITE_DAC アクセス権を指定しておく必要がある。ハンドルにこれらのアクセス権が設定されていない場合、オペレーティングシステムによ

    り ACL データへのアクセスが拒否され、ACL データを復元することができない。
lpContext
    内部データ構造体へのポインタを受け取って保持する変数へのポインタを指定する。BackupWrite 関数は、復元操作中にこの内部データ

    構造体を使ってコンテキスト情報を維持する。
    指定したファイル、またはディレクトリに対して最初に BackupWrite 関数を呼び出す前に、lpContext パラメータで示される変数を NULL に

    設定する必要がある。この関数はデータ構造体にメモリを割り当て、変数にこのデータ構造体を示す値を設定する。複数の BackupWrite

    関数の呼び出しの間に、lpContext パラメータ、またはこのパラメータが示す変数を変更しないこと。
    データ構造体が使っているメモリを解放するには、復元操作の完了時に bAbort パラメータを TRUE に設定して、BackupWrite 関数を呼

    び出す。

戻り値
    関数が成功すると、0 以外の値が返る。
    関数が失敗すると、0 が返る。