PFE_IMPORT_FUNC コールバック関数 (winbase.h)
WriteEncryptedFileRaw で使用される、アプリケーション定義のコールバック関数。 システムでは、バックアップ ファイルのデータの一部を取得するたびに、ImportCallback を 1 回以上呼び出します。 ImportCallback はバックアップ ファイルからデータを順番に読み取り、データを復元します。システムは、すべてのバックアップ ファイル データを読み取るまで呼び出しを続けます。
PFE_IMPORT_FUNC型は、このコールバック関数へのポインターを定義します。 ImportCallback は、アプリケーション定義関数名のプレースホルダーです。
構文
PFE_IMPORT_FUNC PfeImportFunc;
DWORD PfeImportFunc(
[in] PBYTE pbData,
[in, optional] PVOID pvCallbackContext,
[in, out] PULONG ulLength
)
{...}
パラメーター
[in] pbData
復元するデータブロックを受け取るシステム提供のバッファーへのポインター。
[in, optional] pvCallbackContext
アプリケーション定義および割り当てられたコンテキスト ブロックへのポインター。 アプリケーションは、このポインターを WriteEncryptedFileRaw に渡し、コールバック関数がアプリケーション固有のデータにアクセスできるように、このポインターをコールバック関数に渡します。 このデータは構造体にすることができ、暗号化されたファイルのバックアップ コピーを含むファイルへのハンドルなど、アプリケーションで必要な任意のデータを含めることができます。
[in, out] ulLength
関数の入力時に、このパラメーターは、システムが指定したバッファーの長さを指定します。 コールバック関数は、 pbData パラメーターが指すバッファーに、この数バイト以下を書き込む必要があります。
終了時に、関数はこれを pbData に書き込まれたデータのバイト数に設定する必要があります。
戻り値
関数が成功した場合は、戻り値を ERROR_SUCCESS に設定し、 ulLength パラメーターが指す値を pbData にコピーされたバイト数に設定する必要があります。
バックアップ ファイルの末尾に達したら、 ulLength を 0 に設定して、ファイル全体が処理されたことをシステムに通知します。
関数が失敗した場合は、戻り値を WinError.h で定義されている 0 以外のエラー コードに設定します。 たとえば、呼び出す API が失敗したためにこの関数が失敗した場合、失敗した API に 対して GetLastError によって返される値に戻り値を設定できます。
解説
コールバック関数が復元するデータがこれ以上ないことを示すまで、システムは ImportCallback 関数を呼び出します。 復元するデータがなくなったことを示すには、 *ulLength を 0 に設定し、戻りコード ERROR_SUCCESSを使用します。 ファイル ハンドルやファイル内の現在のオフセットなどの情報の内部追跡には、アプリケーション定義のコンテキスト ブロックを使用できます。
要件
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | winbase.h (Windows.h を含む) |