ReadEncryptedFileRaw 関数 (winbase.h)
暗号化されたファイルをバックアップ (エクスポート) します。 これは、暗号化された状態でファイルを維持しながら、バックアップと復元の機能を実装することを目的とした暗号化されたファイル システム (EFS) 関数のグループの 1 つです。
構文
DWORD ReadEncryptedFileRaw(
[in] PFE_EXPORT_FUNC pfExportCallback,
[in, optional] PVOID pvCallbackContext,
[in] PVOID pvContext
);
パラメーター
[in] pfExportCallback
エクスポート コールバック関数へのポインター。 システムは、ファイル全体が読み取られるまで、ファイルのデータのブロックをコールバック関数に渡すたびに、コールバック関数を複数回呼び出します。 詳細については、「 ExportCallback」を参照してください。
[in, optional] pvCallbackContext
アプリケーション定義および割り当てられたコンテキスト ブロックへのポインター。 コールバック関数がアプリケーション固有のデータにアクセスできるように、システムはこのポインターをパラメーターとしてコールバック関数に渡します。 これは構造体であり、暗号化されたファイルのバックアップ コピーを含むファイルへのハンドルなど、アプリケーションで必要な任意のデータを含めることができます。
[in] pvContext
システム定義コンテキスト ブロックへのポインター。 コンテキスト ブロックは OpenEncryptedFileRaw 関数によって返されます。 変更しないでください。
戻り値
関数が成功した場合、戻り値は ERROR_SUCCESS。
関数が失敗した場合、WinError.h で定義されている 0 以外のエラー コードが返されます。 FORMAT_MESSAGE_FROM_SYSTEM フラグと共に FormatMessage を使用すると、エラーの一般的なテキストの説明を取得できます。
注釈
バックアップされているファイルは暗号化解除されません。暗号化された状態でバックアップされます。
暗号化されたファイルをバックアップするには、 OpenEncryptedFileRaw を 呼び出してファイルを開きます。 次 に ReadEncryptedFileRaw を呼び出し、アプリケーション定義のエクスポート コールバック関数のアドレスを渡します。 システムは、ファイル全体の内容が読み取られ、バックアップされるまで、このコールバック関数を複数回呼び出します。 バックアップが完了したら、 CloseEncryptedFileRaw を呼び出してリソースを解放し、ファイルを閉じます。 エクスポート コールバック関数を宣言する方法の詳細については、「 ExportCallback 」を参照してください。
暗号化されたファイルを復元するには、ulFlags パラメーターで CREATE_FOR_IMPORTを指定して OpenEncryptedFileRaw を呼び出します。 次 に WriteEncryptedFileRaw を呼び出し、アプリケーション定義のインポート コールバック関数のアドレスを渡します。 システムは、ファイルの内容全体が読み取られ、復元されるまで、このコールバック関数を複数回呼び出します。 復元が完了したら、 CloseEncryptedFileRaw を呼び出してリソースを解放し、ファイルを閉じます。 インポート コールバック関数を宣言する方法の詳細については、「 ImportCallback 」を参照してください。
この関数は、暗号化されたファイルのみのバックアップを目的としています。暗号化されていないファイルのバックアップについては、「 BackupRead 」を参照してください。
Windows 8、Windows Server 2012、以降では、この関数は次のテクノロジでサポートされています。
テクノロジ | サポートされています |
---|---|
サーバー メッセージ ブロック (SMB) 3.0 プロトコル | はい |
SMB 3.0 Transparent Failover (TFO) | いいえ |
スケールアウト ファイル共有 (SO) を使う SMB 3.0 | いいえ |
クラスターの共有ボリューム ファイル システム (CsvFS) | いいえ |
Resilient File System (ReFS) | いいえ |
SMB 3.0 では、継続的可用性機能を備えた共有上の EFS はサポートされていません。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | winbase.h (Windows.h を含む) |
Library | Advapi32.lib |
[DLL] | Advapi32.dll |
API セット | ext-ms-win-advapi32-encryptedfile-l1-1-0 (Windows 8で導入) |