Метод IVdsVolumeMF::Format (vds.h)

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

Форматирует файловую систему на текущем томе.

Синтаксис

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

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

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

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

Возвращаемый код/значение Описание
S_OK
Файловая система успешно отформатирована.
VDS_E_OPERATION_DENIED
0x8004240AL
Операция отклоняется, если вызывающий объект пытается отформатировать системные тома, тома загрузки, аварийного завершения, гибернации или файла подкачки.
VDS_E_OBJECT_STATUS_FAILED
0x80042431L
Сбой тома.
VDS_E_PACK_OFFLINE
0x80042444L
Пакет, содержащий том, недоступен. Все тома в автономном пакете недоступны.
 

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

Возвращаемый код/значение Описание
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
Во время форматирования произошла ошибка ввода-вывода.
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
Значение параметра type не было VDS_FST_NTFS, VDS_FST_FAT, VDS_FST_FAT32 или VDS_FST_UDF.
VDS_E_CANT_INVALIDATE_FVE
0x80042592L
Не удалось отключить шифрование BitLocker для тома.

Комментарии

Чтобы создать загрузочный том на динамическом диске, необходимо вызвать IVdsVolume::SetFlags , чтобы установить флаг VDS_VF_INSTALLABLE перед вызовом Format для форматирования тома.

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

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

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

Требования

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

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

IVdsAsync

IVdsVolumeMF

VDS_FILE_SYSTEM_TYPE