次の方法で共有


EncryptFileA 関数 (winbase.h)

ファイルまたはディレクトリを暗号化します。 ファイル内のすべてのデータ ストリームが暗号化されます。 暗号化されたディレクトリに作成されたすべての新しいファイルが暗号化されます。

構文

BOOL EncryptFileA(
  [in] LPCSTR lpFileName
);

パラメーター

[in] lpFileName

暗号化するファイルまたはディレクトリの名前。

呼び出し元には、FILE_READ_DATAFILE_WRITE_DATAFILE_READ_ATTRIBUTESFILE_WRITE_ATTRIBUTES、および SYNCHRONIZE アクセス権 必要があります。 詳細については、「ファイルのセキュリティとアクセス権の」を参照してください。

戻り値

関数が成功した場合、戻り値は 0 以外です。

関数が失敗した場合、戻り値は 0 です。 拡張エラー情報を取得するには、GetLastError呼び出します。

備考

EncryptFile 関数は、暗号化されているファイルへの排他的アクセスを必要とし、別のプロセスでファイルを使用している場合は失敗します。

ファイルが既に暗号化されている場合、EncryptFile は単に 0 以外の値を返します。これは成功を示します。 ファイルが圧縮されている場合、EncryptFile は暗号化する前にファイルを展開します。

lpFileName 読み取り専用ファイルを指定すると、関数は失敗し、GetLastError ERROR_FILE_READ_ONLYを返します。 lpFileName が読み取り専用ファイルを含むディレクトリを指定した場合、関数は成功しますが、ディレクトリは暗号化されません。

暗号化されたファイルを復号化するには、DecryptFile 関数を使用します。

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 バージョンを自動的に選択するエイリアスとして EncryptFile を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

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

関連項目

DecryptFile の

ファイル暗号化

ファイル管理機能の