次の方法で共有


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 透過的フェールオーバー (TFO) いいえ
SMB 3.0 とスケールアウト ファイル共有 (SO) いいえ
クラスター共有ボリューム ファイル システム (CsvFS) いいえ
回復性のあるファイル システム (ReFS) いいえ
 

SMB 3.0 では、継続的な可用性機能を備えた共有での EFS はサポートされていません。

手記

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

必要条件

要件 価値
サポートされる最小クライアント Windows XP Professional [デスクトップ アプリのみ]
サポートされる最小サーバー Windows Server 2003 [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー winbase.h (Windows.h を含む)
ライブラリ Advapi32.lib
DLL Advapi32.dll
API セットの ext-ms-win-advapi32-encryptedfile-l1-1-0 (Windows 8 で導入)

関連項目

BackupRead

BackupWrite

CloseEncryptedFileRaw を する

ファイル暗号化

ファイル管理機能の

ReadEncryptedFileRaw の

WriteEncryptedFileRaw の