IVdsDiskPartitionMF2::FormatPartitionEx2 메서드(vds.h)

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

기존 OEM, ESP 또는 알 수 없는 파티션의 형식을 지정합니다. 이 메서드는 형식 지정 옵션이 Options 매개 변수를 사용하여 지정된다는 점을 제외하고 IVdsDiskPartitionMF::FormatPartition 메서드와 동일합니다.

구문

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

매개 변수

[in] ullOffset

디스크의 시작 부분에서 파티션의 바이트 오프셋입니다. 이 오프셋은 파티션 시작의 오프셋이어야 합니다.

[in] pwszFileSystemTypeName

파티션의 형식을 지정할 파일 시스템의 이름을 포함하는 NULL로 끝나는 유니코드 문자열입니다. NULL이거나 다음 중 하나여야 합니다. "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
볼륨이 성공적으로 분할되었습니다.
VDS_E_BAD_PROVIDER_DATA
0x80042441L
공급자가 잘못된 데이터를 반환했습니다.
VDS_E_DISK_REMOVEABLE
0x8004255AL
이동식 미디어에서는 작업이 지원되지 않습니다.
VDS_E_FS_NOT_DETERMINED
0x80042593L
기본 파일 시스템을 확인할 수 없습니다.
VDS_E_MISSING_DISK
0x80042454L
디스크가 없습니다.
VDS_E_OBJECT_NOT_FOUND
0x80042405L
파티션이 없습니다.
VDS_E_PARTITION_NOT_OEM
0x8004256FL
OEM이 아닌 파티션에서는 작업이 지원되지 않습니다.
 

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

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

요구 사항

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

추가 정보

IVdsDiskPartitionMF2

VDS_FILE_SYSTEM_FORMAT_SUPPORT_FLAG

VDS_FORMAT_OPTION_FLAGS