Поделиться через


Метод IVdsVolumeMF3::FormatEx2 (vds.h)

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

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

Синтаксис

HRESULT FormatEx2(
  [in]  LPWSTR    pwszFileSystemTypeName,
  [in]  USHORT    usFileSystemRevision,
  [in]  ULONG     ulDesiredUnitAllocationSize,
  [in]  LPWSTR    pwszLabel,
  [in]  DWORD     Options,
  [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] Options

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

[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 для тома.

Требования

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

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

IVdsVolumeMF2::FormatEx

IVdsVolumeMF3

VDS_FILE_SYSTEM_FORMAT_SUPPORT_FLAG

VDS_FORMAT_OPTION_FLAGS