EncryptionDisable 関数 (winefs.h)
指定したディレクトリとその中のファイルの暗号化を無効または有効にします。 指定されたディレクトリの下にあるサブディレクトリの暗号化には影響しません。
構文
BOOL EncryptionDisable(
[in] LPCWSTR DirPath,
[in] BOOL Disable
);
パラメーター
[in] DirPath
暗号化を有効または無効にするディレクトリの名前。
[in] Disable
暗号化を無効にするか (TRUE) 有効にするかを示します (FALSE)。
戻り値
関数が成功すると、戻り値は 0 以外になります。
関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
通常の状況では、 EncryptFile では 、FILE_ATTRIBUTE_SYSTEM 属性が設定されたファイルとディレクトリは暗号化されません。 FILE_ATTRIBUTE_SYSTEM属性をオーバーライドし、ファイルを暗号化できます。 また、ファイルまたはディレクトリが FILE_ATTRIBUTE_SYSTEM 属性でマークされている場合、通常、ディレクトリ一覧と Windows エクスプローラー ディレクトリ ウィンドウではユーザーには表示されません。 EncryptionDisable では、ディレクトリとファイルの暗号化が無効になります。 FILE_ATTRIBUTE_SYSTEM属性が設定されているファイルの表示には影響しません。
TRUE が渡された場合、EncryptionDisable はディレクトリ内の Desktop.ini ファイルに次のように書き込みます (必要に応じて作成します)。
[Encryption]
Disable=1
セクションが既に存在するが 、Disable が 0 に設定されている場合は、1 に設定されます。
その後、ディレクトリとその中のファイルで EncryptFile が失敗し、 GetLastError から 返されるコードが ERROR_DIR_EFS_DISALLOWEDされます。 この関数は、指定されたディレクトリ内のサブディレクトリの暗号化には影響しません。
ユーザーは、Desktop.ini ファイル内の上記の行を手動で追加または編集して、同じ効果を生成することもできます。
EncryptionDisable は、 FileEncryptionStatus と EncryptFile にのみ影響します。 ディレクトリが暗号化されると、 FILE_ATTRIBUTE_SYSTEM 属性なしで作成された新しいファイルと新しいサブディレクトリが暗号化されます。
FALSE が渡された場合、EncryptionDisable は Desktop.ini ファイルに次のように書き込みます。
[Encryption]
Disable=0
これは、そのディレクトリ内のファイルに対してファイル暗号化が許可されることを意味します。
EncryptionDisable を使用してディレクトリを既に存在する状態に設定しようとすると、関数は成功しますが、効果はありません。
EncryptionDisable を使用してファイルの暗号化を無効または有効にしようとすると、試行は失敗します。
Windows 8 と Windows Server 2012 では、この関数は、次のテクノロジによってサポートされています。
テクノロジ | サポートされています |
---|---|
サーバー メッセージ ブロック (SMB) 3.0 プロトコル | はい |
SMB 3.0 Transparent Failover (TFO) | No |
スケールアウト ファイル共有 (SO) を使う SMB 3.0 | いいえ |
クラスターの共有ボリューム ファイル システム (CsvFS) | No |
Resilient File System (ReFS) | No |
SMB 3.0 では、継続的可用性機能を備えた共有上の EFS はサポートされていません。
要件
サポートされている最小のクライアント | Windows XP Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | winefs.h (Windows.h を含む) |
Library | Advapi32.lib |
[DLL] | Advapi32.dll |