IOfflineFilesCache::Encrypt 메서드(cscobj.h)

호출 사용자에 대해 캐시된 오프라인 파일 캐시의 콘텐츠를 암호화하거나 암호화 해제합니다. 캐시가 암호화되면 이후에 캐시된 모든 파일이 자동으로 암호화됩니다. 캐시가 암호화되지 않은 경우 이후에 캐시된 모든 파일은 암호화되지 않은 상태로 캐시됩니다.

캐시의 기존 파일은 캐시의 새 상태와 일치하도록 암호화되거나 암호화되지 않습니다.

구문

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

이 매개 변수는 다음 값 중 하나 이상일 수 있습니다.

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) 합니다.

설명

이 작업을 취소해도 캐시된 파일은 이전 암호화 상태로 복원되지 않습니다. 이렇게 하면 캐시가 부분적으로 암호화되거나 암호화되지 않은 상태로 남을 수 있습니다. 오류로 인해 작업이 중단된 경우에도 동일한 조건이 발생할 수 있습니다. 부분 상태를 resolve 완료될 때까지 작업을 반복합니다.

또한 오프라인 파일 서비스는 사용자 로그온 후 백그라운드에서 암호화 작업을 자동으로 수행합니다. 이렇게 하면 해당 사용자가 캐시한 모든 파일이 캐시 상태와 일치하도록 암호화되거나 암호화되지 않은 올바른 상태가 됩니다.

동안 취소된 경우... 캐시 상태는... 캐시된 새 파일은...
Encrypting 부분적으로 암호화됨 암호화됨
암호화 해제 부분적으로 암호화되지 않음 암호화되지 않음
 

오프라인 파일 제어판 사용하거나 IOfflineFilesCache::GetEncryptionStatus를 호출하여 오프라인 파일 캐시의 현재 암호화 상태를 확인할 수 있습니다.

호출자는 다음 목록에서 진행률 콜백 메서드를 구현하여 처리된 각 파일 및 디렉터리에 대한 진행률 정보를 가져올 수 있습니다.

진행률 이벤트 인터페이스 메서드 Description
IOfflineFilesProgress 시작 작업을 시작할 때 호출됩니다.
IOfflineFilesSimpleProgress ItemBegin 각 파일에 대한 처리를 시작할 때 호출됩니다.
IOfflineFilesSimpleProgress ItemResult 각 파일이 암호화된 후 호출됩니다.
IOfflineFilesProgress QueryAbort 동기화 작업 중에 주기적으로 호출되어 취소 요청을 검색합니다.
IOfflineFilesProgress End 작업이 끝날 때 호출됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista
지원되는 최소 서버 Windows Server 2008
대상 플랫폼 Windows
헤더 cscobj.h
DLL CscSvc.dll; CscObj.dll

추가 정보

IOfflineFilesCache