Share via


WriteEncryptedFileRaw 함수(winbase.h)

암호화된 파일을 복원(가져오기)합니다. 이 함수는 파일을 암호화된 상태로 유지하면서 백업 및 복원 기능을 구현하기 위한 EFS(암호화된 파일 시스템) 함수 그룹 중 하나입니다.

구문

DWORD WriteEncryptedFileRaw(
  [in]           PFE_IMPORT_FUNC pfImportCallback,
  [in, optional] PVOID           pvCallbackContext,
  [in]           PVOID           pvContext
);

매개 변수

[in] pfImportCallback

가져오기 콜백 함수에 대한 포인터입니다. 시스템은 콜백 함수에 의해 채워질 버퍼를 백업된 파일 데이터의 일부로 전달할 때마다 콜백 함수를 여러 번 호출합니다. 콜백 함수는 전체 파일이 처리되었음을 알리면 복원 작업이 완료되었음을 시스템에 알릴 수 있습니다. 자세한 내용은 ImportCallback을 참조하세요.

[in, optional] pvCallbackContext

애플리케이션 정의 및 할당된 컨텍스트 블록에 대한 포인터입니다. 시스템은 콜백 함수가 애플리케이션별 데이터에 액세스할 수 있도록 이 포인터를 매개 변수로 콜백 함수에 전달합니다. 이 구조체는 구조일 수 있으며 암호화된 파일의 백업 복사본을 포함할 파일에 대한 핸들과 같이 애플리케이션에 필요한 모든 데이터를 포함할 수 있습니다.

[in] pvContext

시스템 정의 컨텍스트 블록에 대한 포인터입니다. 컨텍스트 블록은 OpenEncryptedFileRaw 함수에 의해 반환됩니다. 수정하지 마십시오.

반환 값

함수가 성공하면 반환 값이 ERROR_SUCCESS.

함수가 실패하면 WinError.h에 정의된 0이 아닌 오류 코드를 반환합니다. FORMAT_MESSAGE_FROM_SYSTEM 플래그와 함께 FormatMessage를 사용하여 오류에 대한 일반 텍스트 설명을 가져올 수 있습니다.

설명

복원 중인 파일의 암호가 해독되지 않습니다. 암호화된 상태로 복원됩니다.

암호화된 파일을 백업하려면 OpenEncryptedFileRaw를 호출하여 파일을 엽니다. 그런 다음 ReadEncryptedFileRaw를 호출하여 애플리케이션 정의 내보내기 콜백 함수의 주소를 전달합니다. 시스템은 전체 파일의 내용을 읽고 백업할 때까지 이 콜백 함수를 여러 번 호출합니다. 백업이 완료되면 CloseEncryptedFileRaw 를 호출하여 리소스를 해제하고 파일을 닫습니다. 내보내기 콜백 함수를 선언하는 방법에 대한 자세한 내용은 ExportCallback 을 참조하세요.

암호화된 파일을 복원하려면 OpenEncryptedFileRaw를 호출하여 ulFlags 매개 변수에 CREATE_FOR_IMPORT 지정합니다. 그런 다음 WriteEncryptedFileRaw를 호출하여 애플리케이션 정의 가져오기 콜백 함수의 주소를 전달합니다. 시스템은 전체 파일의 내용을 읽고 복원할 때까지 이 콜백 함수를 여러 번 호출합니다. 복원이 완료되면 CloseEncryptedFileRaw 를 호출하여 리소스를 해제하고 파일을 닫습니다. 내보내기 콜백 함수를 선언하는 방법에 대한 자세한 내용은 ImportCallback 을 참조하세요.

파일이 복원되는 볼륨보다 작은 스파스 할당 단위 크기를 가진 볼륨에서 백업된 스파스 파일인 경우 파일 중간에 있는 스파스 블록이 더 큰 블록과 제대로 정렬되지 않을 수 있으며 함수 호출이 실패하고 마지막 ERROR_INVALID_PARAMETER 오류 코드가 설정됩니다. 스파스 할당 단위 크기는 16개 클러스터 또는 64KB 중 더 작은 크기입니다.

이 함수는 암호화된 파일만 복원하기 위한 것입니다. 암호화되지 않은 파일을 복원하는 경우 BackupWrite 를 참조하세요.

Windows 8, Windows Server 2012 이상에서 이 함수는 다음 기술에서 지원됩니다.

기술 지원됨
SMB(서버 메시지 블록) 3.0 프로토콜
SMB 3.0 TFO(투명 장애 조치(failover)) No
SO(스케일 아웃 파일 공유)를 사용하는 SMB 3.0 No
CsvFS(클러스터 공유 볼륨 파일 시스템) No
ReFS(Resilient File System) No
 

SMB 3.0은 연속 가용성 기능이 있는 공유에서 EFS를 지원하지 않습니다.

요구 사항

   
지원되는 최소 클라이언트 Windows XP Professional [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 winbase.h(Windows.h 포함)
라이브러리 Advapi32.lib
DLL Advapi32.dll
API 세트 ext-ms-win-advapi32-encryptedfile-l1-1-0(Windows 8에 도입됨)

추가 정보

BackupWrite

CloseEncryptedFileRaw

파일 암호화

파일 관리 함수

ImportCallback

OpenEncryptedFileRaw

ReadEncryptedFileRaw