Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Создает файл образа виртуального жесткого диска (VHD) с помощью параметров по умолчанию или существующего виртуального диска или физического диска.
Синтаксис
DWORD CreateVirtualDisk(
[in] PVIRTUAL_STORAGE_TYPE VirtualStorageType,
[in] PCWSTR Path,
[in] VIRTUAL_DISK_ACCESS_MASK VirtualDiskAccessMask,
[in, optional] PSECURITY_DESCRIPTOR SecurityDescriptor,
[in] CREATE_VIRTUAL_DISK_FLAG Flags,
[in] ULONG ProviderSpecificFlags,
[in] PCREATE_VIRTUAL_DISK_PARAMETERS Parameters,
[in, optional] LPOVERLAPPED Overlapped,
[out] PHANDLE Handle
);
Параметры
[in] VirtualStorageType
Указатель на структуру VIRTUAL_STORAGE_TYPE , содержащую требуемый тип диска и сведения о поставщике.
[in] Path
Указатель на допустимую строку, представляющую путь к новому файлу образа виртуального диска.
[in] VirtualDiskAccessMask
Значение VIRTUAL_DISK_ACCESS_MASK , используемое при открытии только что созданного файла виртуального диска. Если элемент Version параметра Parameters имеет значение CREATE_VIRTUAL_DISK_VERSION_2 можно указать только значение VIRTUAL_DISK_ACCESS_NONE (0).
[in, optional] SecurityDescriptor
Необязательный указатель на SECURITY_DESCRIPTOR для применения к файлу образа виртуального диска. Если этот параметр имеет значение NULL, будет использоваться дескриптор безопасности родительского каталога.
[in] Flags
Флаги создания, которые должны быть допустимым сочетанием перечисления CREATE_VIRTUAL_DISK_FLAG .
[in] ProviderSpecificFlags
Флаги, относящиеся к типу создаваемого виртуального диска. Может быть равно нулю, если они не требуются.
[in] Parameters
Указатель на допустимую структуру CREATE_VIRTUAL_DISK_PARAMETERS , содержащую данные параметров создания.
[in, optional] Overlapped
Необязательный указатель на допустимую структуру OVERLAPPED , если требуется асинхронная операция.
[out] Handle
Указатель на объект дескриптора, представляющий только что созданный виртуальный диск.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение будет ERROR_SUCCESS а параметр Handle содержит допустимый указатель на новый объект виртуального диска.
Если функция завершается сбоем, возвращаемое значение представляет собой код ошибки, а значение параметра Handle не определено. Дополнительные сведения см. в разделе Системные коды ошибок.
Комментарии
Если функция CreateVirtualDisk завершается сбоем со значением кода ошибки ERROR_INVALID_PARAMETER, причина может быть вызвана любым из следующих условий:
- Параметр VirtualStorageType имеет значение NULL.
- Параметр Parameters имеет значение NULL.
- Для элемента Version параметра Parameters не задано значение CREATE_VIRTUAL_DISK_VERSION_1 или CREATE_VIRTUAL_DISK_VERSION_2.
- Элемент Version параметра Parameters имеет значение CREATE_VIRTUAL_DISK_VERSION_2 но для параметра VirtualDiskAccessMask не задано значение VIRTUAL_DISK_ACCESS_NONE.
- Для элемента BlockSizeInBytes параметра Parameters не задано значение CREATE_VIRTUAL_DISK_PARAMETERS_DEFAULT_BLOCK_SIZE (0), 0x80000 (512 КБ) или 0x200000 (2 МБ).
- Размер элемента MaximumSize параметра Parameters меньше 3 МБ.
- Член MaximumSize параметра Parameters не соответствует значению члена SectorSizeInBytes .
-
Параметру VirtualDiskAccessMask присваивается значение
(VirtualDiskAccessMask & ~VIRTUAL_DISK_ACCESS_ALL). - Параметр Flags больше CREATE_VIRTUAL_DISK_FLAG_FULL_PHYSICAL_ALLOCATION.
При создании различных типов виртуальных дисков рекомендуется использовать следующие сочетания параметров создания.
- Необходимо указать флаг CREATE_VIRTUAL_DISK_FLAG_FULL_PHYSICAL_ALLOCATION .
- ParentPath не следует указывать.
- При необходимости можно указать SourcePath.
- Не следует указывать флаг CREATE_VIRTUAL_DISK_FLAG_FULL_PHYSICAL_ALLOCATION .
- ParentPath не следует указывать.
- При необходимости можно указать SourcePath.
- Не следует указывать флаг CREATE_VIRTUAL_DISK_FLAG_FULL_PHYSICAL_ALLOCATION .
- Необходимо указать ParentPath.
- Не следует указывать SourcePath.
Требования
| Требование | Значение |
|---|---|
| Минимальная версия клиента | Windows 7 |
| Минимальная версия сервера | Windows Server 2008 R2 |
| Целевая платформа | Windows |
| Header | virtdisk.h |
| Библиотека | VirtDisk.lib |
| DLL | VirtDisk.dll |