Метод IVdsVolumeMF2::FormatEx (vds.h)

[Начиная с Windows 8 и Windows Server 2012, COM-интерфейс службы виртуальных дисков замечается API управления хранилищем Windows.]

Форматирует том файловой системы в секции.

Синтаксис

HRESULT FormatEx(
  [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] pwszFileSystemTypeName

Строка Юникода, завершающаяся null, содержащая имя файловой системы, с помощью которой нужно отформатировать том. Этот параметр может иметь значение NULL или имя файловой системы Windows. Поддерживаются следующие файловые системы: NTFS, FAT, FAT32, UDF и EXFAT. Если этот параметр имеет значение NULL, используется файловая система по умолчанию. Дополнительные сведения см. в разделе VDS_FILE_SYSTEM_FORMAT_SUPPORT_FLAG.

[in] usFileSystemRevision

Редакция файловой системы, если она есть. Этот элемент выражается в виде 16-разрядного двоичного десятичного числа, где десятичная запятая подразумевается между второй и третьей цифрами. Например, значение 0x0250 указывает редакцию 2.50.

[in] ulDesiredUnitAllocationSize

Размер единицы распределения для файловой системы в байтах. Значение должно быть степенью 2. Если значение равно 0, будет использоваться единица распределения по умолчанию, определяемая типом файловой системы. Диапазон единиц распределения зависит от файловой системы.

[in] pwszLabel

Строка Юникода, завершающаяся null, для назначения новой файловой системе. Максимальный размер метки зависит от файловой системы.

[in] bForce

Логическое значение, определяющее, является ли формат файловой системы принудительным, независимо от того, используется ли секция.

[in] bQuickFormat

Логическое значение, определяющее, является ли том файловой системы быстро отформатированным. Быстрый формат не проверяет каждый сектор тома.

[in] bEnableCompression

Логическое значение, определяющее, будет ли создан том файловой системы с включенным сжатием.

Примечание Этот параметр игнорируется, если файловая система не является NTFS.
 

[out] ppAsync

Указатель на интерфейс IVdsAsync , который после успешного завершения получает интерфейс IVdsAsync для мониторинга и управления этой операцией. Вызывающие стороны должны освободить полученный интерфейс после завершения работы с ним.

Возвращаемое значение

Этот метод может возвращать стандартные значения HRESULT, такие как E_INVALIDARG или E_OUTOFMEMORY, а также возвращаемые значения VDS. Он также может возвращать коды преобразованных системных ошибок с помощью макроса HRESULT_FROM_WIN32 . Ошибки могут возникать из самого VDS или из используемого базового поставщика VDS . Возможные возвращаемые значения включают следующие.

Возвращаемый код/значение Описание
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 может возвращать следующие связанные предупреждения и коды ошибок:

Возвращаемый код/значение Описание
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
Во время форматирования произошла ошибка ввода-вывода.
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 для тома.

Комментарии

Если раздел OEM имеет формат FAT или FAT32, тип секции не изменяется. Если он отформатирован с помощью NTFS, тип секции изменяется на PARTITION_IFS (0x07). Сведения о типах секций см. в разделе CREATE_PARTITION_PARAMETERS.

Если этот метод вызывается для тома, защищенного шифрованием полного тома BitLocker, шифрование BitLocker отключается для тома до тех пор, пока пользователь повторно не включит его.

Дополнительные сведения об ограничениях файловой системы, таких как минимальный и максимальный размер единицы распределения (также называемый размером кластера), см. в разделах NtfS Technical Reference и FAT Technical Reference.

Требования

   
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header vds.h
Библиотека Uuid.lib

См. также раздел

IVdsVolumeMF2