다음을 통해 공유


IVdsVolumeMF3::FormatEx2 메서드(vds.h)

[Windows 8 및 Windows Server 2012 가상 디스크 서비스 COM 인터페이스는 Windows Storage 관리 API로 대체됩니다.]

파티션에서 파일 시스템 볼륨의 형식을 지정합니다. 이 메서드는 형식 지정 옵션이 Options 매개 변수를 사용하여 지정된다는 점을 제외하고 IVdsVolumeMF2::FormatEx 메서드와 동일합니다.

구문

HRESULT FormatEx2(
  [in]  LPWSTR    pwszFileSystemTypeName,
  [in]  USHORT    usFileSystemRevision,
  [in]  ULONG     ulDesiredUnitAllocationSize,
  [in]  LPWSTR    pwszLabel,
  [in]  DWORD     Options,
  [out] IVdsAsync **ppAsync
);

매개 변수

[in] pwszFileSystemTypeName

볼륨의 형식을 지정할 파일 시스템의 이름을 포함하는 null로 끝나는 유니코드 문자열입니다. 이 매개 변수는 NULL 이거나 Windows 파일 시스템의 이름일 수 있습니다. 지원되는 파일 시스템은 "NTFS", "FAT", "FAT32", "UDF" 및 "EXFAT"입니다. 이 매개 변수가 NULL이면 기본 파일 시스템이 사용됩니다. 자세한 내용은 VDS_FILE_SYSTEM_FORMAT_SUPPORT_FLAG 참조하세요.

[in] usFileSystemRevision

파일 시스템의 수정 버전(있는 경우)입니다. 이 멤버는 16비트 이진 코드 10진수로 표현됩니다. 여기서 소수점은 두 번째 숫자와 세 번째 숫자 사이에 암시됩니다. 예를 들어 0x0250 값은 수정 버전 2.50을 나타냅니다.

[in] ulDesiredUnitAllocationSize

파일 시스템의 할당 단위 크기(바이트)입니다. 값은 2의 힘이어야 합니다. 값이 0이면 파일 시스템 형식에 따라 결정되는 기본 할당 단위가 사용됩니다. 할당 단위 범위는 파일 시스템에 따라 다릅니다.

[in] pwszLabel

새 파일 시스템에 할당할 null로 끝나는 유니코드 문자열입니다. 최대 레이블 크기는 파일 시스템에 따라 다릅니다.

[in] Options

서식 옵션을 지정하는 VDS_FORMAT_OPTION_FLAGS 열거형 값의 비트 마스크입니다.

[out] ppAsync

성공적으로 완료되면 IVdsAsync 인터페이스를 수신하여 이 작업을 모니터링하고 제어하는 IVdsAsync 인터페이스에 대한 포인터입니다. 호출자는 수신된 인터페이스를 해제해야 합니다.

반환 값

이 메서드는 표준 HRESULT 값(예: E_INVALIDARG 또는 E_OUTOFMEMORY) 및 VDS 관련 반환 값을 반환할 수 있습니다. 또한 HRESULT_FROM_WIN32 매크로를 사용하여 변환된 시스템 오류 코드를 반환할 수도 있습니다. 오류는 VDS 자체 또는 사용 중인 기본 VDS 공급자 에서 발생할 수 있습니다. 가능한 반환 값은 다음과 같습니다.

반환 코드/값 Description
S_OK
0x00000000L
파일 시스템의 형식이 성공적으로 지정되었습니다.
VDS_E_OPERATION_DENIED
0x8004240AL
호출자가 시스템, 부팅, 크래시덤프, 최대 절전 모드 또는 페이지 파일 볼륨의 형식을 지정하려고 하면 작업이 거부됩니다.
VDS_E_OBJECT_STATUS_FAILED
0x80042431L
볼륨이 실패했습니다.
VDS_E_PACK_OFFLINE
0x80042444L
볼륨을 포함하는 팩에 액세스할 수 없습니다. 오프라인 팩의 모든 볼륨에 액세스할 수 없습니다.
VDS_E_FS_NOT_DETERMINED
0x80042593L
기본 파일 시스템을 확인할 수 없습니다.
 

또한 IVdsAsync 인터페이스는 다음과 같은 관련 경고 및 오류 코드를 반환할 수 있습니다.

반환 코드/값 Description
VDS_E_INCOMPATIBLE_FILE_SYSTEM
0x80042425L
파일 시스템이 호환되지 않습니다.
VDS_E_INCOMPATIBLE_MEDIA
0x80042426L
미디어가 호환되지 않습니다.
VDS_E_ACCESS_DENIED
0x80042427L
액세스가 거부되었습니다.
VDS_E_MEDIA_WRITE_PROTECTED
0x80042428L
미디어는 쓰기로 보호됩니다.
VDS_E_BAD_LABEL
0x80042429L
레이블이 잘못되었습니다.
VDS_E_CANT_QUICK_FORMAT
0x8004242AL
볼륨을 빠르게 포맷할 수 없습니다.
VDS_E_IO_ERROR
0x8004242BL
형식 중에 I/O 오류가 발생했습니다.
VDS_E_VOLUME_TOO_SMALL
0x8004242CL
볼륨 크기가 너무 작아 서식을 지정할 수 없습니다.
VDS_E_VOLUME_TOO_BIG
0x8004242DL
볼륨 크기가 너무 커서 서식을 지정할 수 없습니다.
VDS_E_CLUSTER_SIZE_TOO_SMALL
0x8004242EL
클러스터 크기가 너무 작아서 서식을 지정할 수 없습니다.
VDS_E_CLUSTER_SIZE_TOO_BIG
0x8004242FL
클러스터 크기가 너무 커서 서식을 지정할 수 없습니다.
VDS_E_CLUSTER_COUNT_BEYOND_32BITS
0x80042430L
클러스터 수가 너무 커서 32비트 정수로 나타낼 수 없습니다.
VDS_S_VOLUME_COMPRESS_FAILED
0x00042443L
파일 시스템의 형식은 지정되지만 압축되지는 않습니다.
VDS_E_CANT_INVALIDATE_FVE
0x80042592L
볼륨에 대해 BitLocker 암호화를 사용하지 않도록 설정할 수 없습니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 7 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 R2 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 vds.h
라이브러리 Uuid.lib

추가 정보

IVdsVolumeMF2::FormatEx

IVdsVolumeMF3

VDS_FILE_SYSTEM_FORMAT_SUPPORT_FLAG

VDS_FORMAT_OPTION_FLAGS