OpenEncryptedFileRawA 関数 (winbase.h)

ファイルをバックアップ (エクスポート) または復元 (インポート) するために、暗号化されたファイルを開きます。 これは、暗号化された状態でファイルを維持しながら、バックアップと復元の機能を実装することを目的とした暗号化されたファイル システム (EFS) 関数のグループの 1 つです。

構文

DWORD OpenEncryptedFileRawA(
  [in]  LPCSTR lpFileName,
  [in]  ULONG  ulFlags,
  [out] PVOID  *pvContext
);

パラメーター

[in] lpFileName

開くファイルの名前。 文字列は、Windows 文字セットの文字で構成されている必要があります。

[in] ulFlags

実行する操作。 このパラメーターには、次のいずれかの値を指定できます。

意味
0
エクスポート (バックアップ) 用にファイルを開きます。
CREATE_FOR_IMPORT
1
ファイルはインポート (復元) 用に開かれています。
CREATE_FOR_DIR
2
暗号化されたファイルを含むディレクトリをインポート (復元) します。 これは、操作を示すために、前の 2 つのフラグのいずれかと組み合わせる必要があります。
OVERWRITE_HIDDEN
4
インポート時に非表示ファイルを上書きします。

[out] pvContext

ReadEncryptedFileRaw、WriteEncryptedFileRaw、または CloseEncryptedFileRaw の後続の呼び出しで提示する必要があるコンテキスト ブロックのアドレス。 変更しないでください。

戻り値

関数が成功すると、 ERROR_SUCCESSが返されます。

関数が失敗した場合、WinError.h で定義されている 0 以外のエラー コードが返されます。 FORMAT_MESSAGE_FROM_SYSTEM フラグと共に FormatMessage を使用すると、エラーの一般的なテキストの説明を取得できます。

注釈

呼び出し元は、ファイルに対する読み取りまたは書き込みアクセス権を持っているか、呼び出しを成功させるために、ファイルが存在するマシンでバックアップ特権 SeBackupPrivilege を持っている必要があります。

暗号化されたファイルをバックアップするには、 OpenEncryptedFileRaw を呼び出してファイルを開き、 ReadEncryptedFileRaw を呼び出します。 バックアップが完了したら、 CloseEncryptedFileRaw を呼び出します。

暗号化されたファイルを復元するには、OpenEncryptedFileRaw を呼び出し、ulFlags パラメーターにCREATE_FOR_IMPORTを指定してから、WriteEncryptedFileRaw を 1 回呼び出します。 操作が完了したら、 CloseEncryptedFileRaw を呼び出します。

リモート コンピューターで暗号化されたファイルを開くときに lpFileNameがMAX_PATH文字を超えると、OpenEncryptedFileRaw が失敗します。

呼び出し元がファイルのキーにアクセスできない場合、暗号化されたファイルをエクスポートするには SeBackupPrivilege、暗号化されたファイルをインポートするには SeRestorePrivilege が必要です。

BackupRead 関数と BackupWrite 関数は、暗号化されていないファイルのバックアップと復元を処理します。

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 はサポートされていません。

注意

winbase.h ヘッダーは、OpenEncryptedFileRaw をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

要件
サポートされている最小のクライアント 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で導入)

こちらもご覧ください

BackupRead

BackupWrite

CloseEncryptedFileRaw

ファイルの暗号化

ファイル管理の関数

ReadEncryptedFileRaw

WriteEncryptedFileRaw