Метод IVdsCreatePartitionEx::CreatePartitionEx (vds.h)
[Начиная с Windows 8 и Windows Server 2012 COM-интерфейс службы виртуальных дисков замечается API управления хранилищем Windows.]
Создает раздел на базовом диске.
Этот метод заменяет метод IVdsAdvancedDisk::CreatePartition .
Синтаксис
HRESULT CreatePartitionEx(
[in] ULONGLONG ullOffset,
[in] ULONGLONG ullSize,
[in] ULONG ulAlign,
[in] CREATE_PARTITION_PARAMETERS *para,
[out] IVdsAsync **ppAsync
);
Параметры
[in] ullOffset
Смещение секции в байтах. Если смещение не выровнено и параметр ulAlign не указан, смещение округляется вверх или вниз до ближайшей границы выравнивания в зависимости от размера диска, на котором создается секция. Дополнительные сведения см. в разделе "Примечания".
Windows Server 2003: Можно выровнять только первый раздел на базовом диске; Невозможно выровнять динамические диски. Для других секций на базовом диске невозможно указать выравнивание с помощью параметра ulAlign ; смещение округляется до ближайшей границы цилиндра для дисков основной загрузочной записи (MBR) или до ближайшей границы сектора для дисков таблицы разделов GUID (GPT).
Если вызывающий объект задает параметры ullOffset и ulAlign , смещение должно находиться в пределах первого цилиндра.
[in] ullSize
Размер (в байтах) новой секции.
[in] ulAlign
Размер выравнивания в байтах.
Windows Server 2003: Если указан этот параметр, поставщик округляет смещение секции до ближайшей границы выравнивания; в противном случае — до ближайшей границы цилиндра.
Если в начале диска достаточно места для размещения размера секции и указан параметр ulAlign , а параметр ullOffset — нет, вызов CreatePartitionEx завершается ошибкой.
[in] para
Указатель на параметры, определенные структурой CREATE_PARTITION_PARAMETERS .
[out] ppAsync
Адрес указателя интерфейса IVdsAsync , который VDS инициализирует при возврате. Вызывающие элементы должны освободить интерфейс. Используйте этот указатель для отмены, ожидания или запроса состояния операции.
Возвращаемое значение
Этот метод может возвращать стандартные значения HRESULT, такие как E_INVALIDARG или E_OUTOFMEMORY, а также возвращаемые значения VDS. Он также может возвращать преобразованные коды системных ошибок с помощью макроса HRESULT_FROM_WIN32 . Ошибки могут возникать из самого VDS или из используемого базового поставщика VDS . Возможные возвращаемые значения включают следующие.
Возвращаемый код или значение | Описание |
---|---|
|
Раздел успешно создан. |
|
На съемном диске нет носителя. |
|
Не удалось создать раздел, так как диск доступен только для чтения. |
|
Носитель не поддерживает эту операцию. Например, вызывающий объект не может создать раздел на компакт-диске. |
|
Создание второй секции на съемном носителе не поддерживается. Кроме того, эта ошибка указывает, что диск является динамическим. |
|
Максимальное число секций (первичных секций или первичных секций с расширенной секцией) уже существует, когда вызывающий объект пытается создать дополнительную основную или расширенную секцию. |
|
Раздел был успешно создан, но VDS не удалось обновить параметры загрузки в хранилище данных конфигурации загрузки (BCD).
Windows Server 2003: Параметры загрузки хранятся в файле boot.ini в системе x86 или x64 или NVRAM в системе Itanium. |
Комментарии
Этот метод работает на базовых дисках со схемой секционирования GPT или MBR.
Windows Server 2003: Вызывающие компоненты могут выравнивать только первую секцию диска MBR и должны размещать начальное смещение в первом или начале второго цилиндра на границе цилиндра.
Если указан параметр ullOffset и его значение еще не выровнено с помощью значений в подразделе реестра HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Vds\Alignment , его значение будет выравниваться автоматически с использованием следующих значений: Выравнивание по умолчанию равно 1 МБ, если диск равен 4 ГБ или больше, или 64 КБ, если диск меньше 4 ГБ.
Windows Server 2003: Смещения секций без выравнивания округляются до ближайшей границы цилиндров для дисков MBR или до ближайшей границы сектора для дисков GPT.
Если динамический диск доступен только для чтения и находится в автономном режиме, его необходимо сделать для чтения и записи и подключить к сети следующим образом перед вызовом CreatePartitionEx:
- Очистите бит только для чтения. (Это флаг VDS_DF_READ_ONLY в структуре VDS_DISK_PROP .)
- Вызовите метод IVdsDiskOnline::Online .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 R2 [только классические приложения] |
Целевая платформа | Windows |
Header | vds.h |
Библиотека | Uuid.lib |