IVdsVolumeMF::Format 메서드(vds.h)

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

현재 볼륨의 파일 시스템 형식을 지정합니다.

구문

HRESULT Format(
  [in]  VDS_FILE_SYSTEM_TYPE type,
  [in]  LPWSTR               pwszLabel,
  [in]  DWORD                dwUnitAllocationSize,
  [in]  BOOL                 bForce,
  [in]  BOOL                 bQuickFormat,
  [in]  BOOL                 bEnableCompression,
  [out] IVdsAsync            **ppAsync
);

매개 변수

[in] type

사용할 파일 시스템을 지정하는 VDS_FILE_SYSTEM_TYPE 열거형 값입니다. VDS_FST_NTFS, VDS_FST_FAT, VDS_FST_FAT32 또는 VDS_FST_UDF 중 하나여야 합니다.

[in] pwszLabel

파일 시스템 레이블을 나타내는 문자열입니다.

[in] dwUnitAllocationSize

일반적으로 512에서 65536 사이인 파일 시스템의 할당 단위 크기(바이트)입니다.

[in] bForce

TRUE이면 사용 중인 동안에도 파일 시스템의 형식이 무조건적으로 지정됩니다. 그렇지 않으면 작업이 실패합니다.

[in] bQuickFormat

TRUE이면 VDS는 빠른 형식을 수행합니다(볼륨의 각 섹터를 확인하지 않음).

[in] bEnableCompression

TRUE이면 새로 포맷된 파일 시스템에서 압축을 사용할 수 있습니다. 압축은 NTFS의 기능이며 FAT 및 FAT32에 대해 무시됩니다.

[out] ppAsync

반환 시 VDS가 초기화하는 IVdsAsync 인터페이스 포인터의 주소입니다. 호출자는 인터페이스를 해제해야 합니다. 이 포인터를 사용하여 작업의 상태를 취소, 대기 또는 쿼리할 수 있습니다.

반환 값

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

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

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

반환 코드/값 Description
VDS_S_VOLUME_COMPRESS_FAILED
0x00042443L
파일 시스템의 형식은 지정되었지만 압축되지는 않았습니다.
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
형식 중에 IO 오류가 발생했습니다.
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_E_INVALID_FS_TYPE
0x80042561L
형식 매개 변수의 값이 VDS_FST_NTFS, VDS_FST_FAT, VDS_FST_FAT32 또는 VDS_FST_UDF 아닙니다.
VDS_E_CANT_INVALIDATE_FVE
0x80042592L
볼륨에 대해 BitLocker 암호화를 사용하지 않도록 설정할 수 없습니다.

설명

동적 디스크에 부팅 볼륨을 만들려면 형식을 호출하기 전에 IVdsVolume::SetFlags를 호출하여 VDS_VF_INSTALLABLE 플래그를 설정해야 합니다.

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

BitLocker 전체 볼륨 암호화로 보호되는 볼륨에 대해 이 메서드가 호출되면 사용자가 다시 사용하도록 설정할 때까지 볼륨에 대해 BitLocker 암호화가 비활성화됩니다.

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

요구 사항

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

추가 정보

IVdsAsync

IVdsVolumeMF

VDS_FILE_SYSTEM_TYPE