Метод IVdsDiskPartitionMF2::FormatPartitionEx2 (vds.h)

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

Форматирует существующий oem, ESP или неизвестный раздел. Этот метод идентичен методу IVdsDiskPartitionMF::FormatPartition , за исключением того, что параметры форматирования задаются с помощью параметра Options .

Синтаксис

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-разрядного двоичного десятичного числа, где десятичная запятая подразумевается между второй и третьей цифрами. Например, значение 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 . Возможные возвращаемые значения включают следующие.

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

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

IVdsDiskPartitionMF2

VDS_FILE_SYSTEM_FORMAT_SUPPORT_FLAG

VDS_FORMAT_OPTION_FLAGS