Share via


IVdsDiskPartitionMF::FormatPartitionEx 메서드(vds.h)

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

기존 OEM, ESP 또는 알 수 없는 파티션의 형식을 지정합니다.

구문

HRESULT FormatPartitionEx(
  [in]  ULONGLONG ullOffset,
  [in]  LPWSTR    pwszFileSystemTypeName,
  [in]  USHORT    usFileSystemRevision,
  [in]  ULONG     ulDesiredUnitAllocationSize,
  [in]  LPWSTR    pwszLabel,
  [in]  BOOL      bForce,
  [in]  BOOL      bQuickFormat,
  [in]  BOOL      bEnableCompression,
  [out] IVdsAsync **ppAsync
);

매개 변수

[in] ullOffset

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

[in] pwszFileSystemTypeName

파티션의 서식을 지정할 파일 시스템의 이름을 포함하는 NULL로 종료된 유니코드 문자열입니다. NULL 또는 다음 중 하나여야 합니다. "NTFS", "FAT","FAT32", "UDF" 또는 "EXFAT". 이 매개 변수가 NULL이면 기본값이 사용됩니다.

[in] usFileSystemRevision

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

[in] ulDesiredUnitAllocationSize

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

[in] pwszLabel

볼륨에 대한 새 파일 시스템에 할당할 Null로 종료된 유니코드 문자열입니다. 최대 레이블 크기는 파일 시스템에 따라 다릅니다.

[in] bForce

파티션이 사용 중인지 여부에 관계없이 파일 시스템 형식이 강제로 적용되는지 여부를 결정하는 부울입니다.

[in] bQuickFormat

파일 시스템 볼륨의 서식이 빠른지 여부를 결정하는 부울입니다. 빠른 형식은 볼륨의 각 섹터를 확인하지 않습니다.

[in] bEnableCompression

압축을 사용하도록 설정된 파일 시스템을 만들지 여부를 결정하는 부울입니다.

참고 파일 시스템이 NTFS가 아닌 경우 이 매개 변수는 무시됩니다.
 

[out] ppAsync

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

반환 값

이 메서드는 E_INVALIDARG 또는 E_OUTOFMEMORY 같은 표준 HRESULT 값과 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
볼륨 크기가 너무 작아 서식을 지정할 수 없습니다.

설명

이 메서드는 OEM, ESP 및 알 수 없는 파티션만 서식을 지정합니다. 다른 파티션의 경우 대신 IVdsVolumeMF::Format 또는 IVdsVolumeMF2::FormatEx 메서드를 사용하여 해당 볼륨의 서식을 지정해야 합니다. OEM, ESP 및 알 수 없는 파티션은 볼륨으로 노출되지 않으므로 Format 또는 FormatEx로 형식을 지정할 수 없습니다.

이 메서드는 이동식 미디어의 서식을 지정하는 데 사용할 수 없습니다.

OEM 파티션의 형식이 FAT 또는 FAT32인 경우 파티션 형식은 변경되지 않습니다. NTFS로 포맷된 경우 파티션 형식이 PARTITION_IFS(0x07)로 변경됩니다. 파티션 형식에 대한 자세한 내용은 CREATE_PARTITION_PARAMETERS 참조하세요.

최소 및 최대 할당 단위 크기(클러스터 크기라고도 함)와 같은 파일 시스템 제한에 대한 자세한 내용은 NTFS 기술 참조FAT 기술 참조를 참조하세요.

요구 사항

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

추가 정보

IVdsAdvancedDisk::FormatPartition

IVdsDiskPartitionMF