DecryptFileA 関数 (winbase.h)

暗号化されたファイルまたはディレクトリの暗号化を解除します。

構文

BOOL DecryptFileA(
  [in] LPCSTR lpFileName,
       DWORD  dwReserved
);

パラメーター

[in] lpFileName

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

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

dwReserved

予約;は 0 である必要があります。

戻り値

関数が成功すると、戻り値は 0 以外になります。

関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

DecryptFile 関数は、暗号化を解除するファイルへの排他的アクセスを必要とし、別のプロセスでファイルを使用している場合は失敗します。 ファイルが暗号化されていない場合、 DecryptFile は単に 0 以外の値を返します。これは成功を示します。

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

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

Note

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

要件

   
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー 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 で導入)

関連項目

CreateFile

EncryptFile

ファイルの暗号化

ファイル管理の関数