呼び出し元ユーザー用にキャッシュされたオフライン ファイル キャッシュの内容を暗号化または暗号化解除します。 キャッシュが暗号化されると、その後キャッシュされるすべてのファイルが自動的に暗号化されます。 キャッシュが暗号化されていない場合、その後キャッシュされたすべてのファイルは暗号化されずにキャッシュされます。
キャッシュ内の既存のファイルは、キャッシュの新しい状態に合わせて暗号化または暗号化されません。
構文
HRESULT Encrypt(
[in] HWND hwndParent,
[in] BOOL bEncrypt,
[in] DWORD dwEncryptionControlFlags,
[in] BOOL bAsync,
[in] IOfflineFilesSyncProgress *pIProgress
);
パラメーター
[in] hwndParent
表示されるユーザー インターフェイス要素の親ウィンドウを識別します。 dwEncryptionControlFlags パラメーターでOFFLINEFILES_ENCRYPTION_CONTROL_FLAG_INTERACTIVE フラグが設定されていない場合、このパラメーターは無視されます。
[in] bEncrypt
暗号化する場合は TRUE 、暗号化を解除する 場合は FALSE 。
[in] dwEncryptionControlFlags
このパラメーターには、次の 1 つ以上の値を指定できます。
OFFLINEFILES_ENCRYPTION_CONTROL_FLAG_LOWPRIORITY (0x00000200)
将来利用するために予約されています。
OFFLINEFILES_ENCRYPTION_CONTROL_FLAG_ASYNCPROGRESS (0x00000400)
進行状況は、実際の操作と非同期的に進行状況インターフェイスに報告されます。 動作の詳細については、「非同期進行状況通知」セクションを参照してください。 このフラグが設定されていない場合、進行状況は各操作と同期的に報告されます。
OFFLINEFILES_ENCRYPTION_CONTROL_FLAG_INTERACTIVE (0x00000800)
操作でユーザー インターフェイス要素を必要に応じて表示できる場合は、このフラグを設定します。 たとえば、システムの資格情報要求ダイアログです。 このフラグが設定されている場合、 hwndParent の値は、表示されるすべてのユーザー インターフェイス要素の親として使用されます。
OFFLINEFILES_ENCRYPTION_CONTROL_FLAG_CONSOLE (0x00001000)
OFFLINEFILES_ENCRYPTION_CONTROL_FLAG_INTERACTIVE フラグが設定されていない場合、このフラグは無視されます。 OFFLINEFILES_ENCRYPTION_CONTROL_FLAG_INTERACTIVE フラグが設定されている場合、このフラグは、生成されるすべての UI を、操作を呼び出すプロセスに関連付けられているコンソール ウィンドウに移動する必要があることを示します。
OFFLINEFILES_ENCRYPTION_CONTROL_FLAG_BACKGROUND (0x00010000)
暗号化操作で現在開いているファイルをアプリケーションが開く場合に、共有違反を回避するには、このフラグを設定します。 そのシナリオが発生し、このフラグが設定されると、暗号化操作はその時点でその特定のファイルの処理を直ちに停止します。 このフラグは、ユーザー ログオン時にキャッシュの暗号化を確保するときに、主にオフライン ファイル サービスによって使用されます。 通常、このメソッドを呼び出すクライアントでは、このフラグは設定されません。
[in] bAsync
操作を非同期的に実行するかどうかを示します。 このパラメーターが TRUE の場合、操作は非同期操作用にスケジュールされ、関数はすぐに返されます。 このパラメーターが FALSE の場合、関数は操作の完了時に を返します。
[in] pIProgress
操作中に進行状況イベントを受信するイベント シンクへのインターフェイス。 イベントが必要ない場合、このパラメーターは NULL である可能性があります。 このパラメーターは非同期操作に強くお勧めします。 非同期操作が完了したときに通知を受け取る唯一の方法は、進行状況の実装です。
戻り値
成功 した場合はS_OK 、それ以外の場合はエラー値を返します。
操作が HRESULT_FROM_WIN32(ERROR_CANCELLED) 取り消された場合は を返します。
注釈
この操作を取り消しても、キャッシュされたファイルは以前の暗号化状態に復元されません。 これにより、キャッシュが部分的に暗号化または暗号化されていない状態になる可能性があります。 エラーが原因で操作が中止された場合も、同じ条件が発生する可能性があります。 部分状態を解決するには、正常に完了するまで操作を繰り返します。
また、オフライン ファイル サービスは、ユーザー ログオン後にバックグラウンドで暗号化操作を自動的に実行します。 これにより、そのユーザーによってキャッシュされたすべてのファイルが、キャッシュの状態と一致するように、暗号化または暗号化されていない正しい状態になります。
| 取り消された場合... | キャッシュの状態は... | キャッシュされた新しいファイルが作成されます... |
|---|---|---|
| Encrypting | 部分的に暗号化 | Encrypted |
| 暗号化解除 | 部分的に暗号化されていない | Unencrypted |
オフライン ファイル キャッシュの現在の暗号化状態は、オフライン ファイル コントロール パネルを使用するか、IOfflineFilesCache::GetEncryptionStatus を呼び出すことによって確認できます。
呼び出し元は、次の一覧の進行状況コールバック メソッドを実装して、処理された各ファイルとディレクトリの進行状況情報を取得できます。
| 進行状況イベント インターフェイス | メソッド | 説明 |
|---|---|---|
| IOfflineFilesProgress | 開始 | 操作の開始時に呼び出されます。 |
| IOfflineFilesSimpleProgress | ItemBegin | 各ファイルの処理の開始時に呼び出されます。 |
| IOfflineFilesSimpleProgress | ItemResult | 各ファイルが暗号化された後に呼び出されます。 |
| IOfflineFilesProgress | QueryAbort | 取り消し要求を検出するために、同期操作中に定期的に呼び出されます。 |
| IOfflineFilesProgress | End | 操作の最後に呼び出されます。 |
要件
| 要件 | 値 |
|---|---|
| サポートされている最小のクライアント | Windows Vista |
| サポートされている最小のサーバー | Windows Server 2008 |
| 対象プラットフォーム | Windows |
| ヘッダー | cscobj.h |
| [DLL] | CscSvc.dll;CscObj.dll |