Метод IVdsVdProvider::CreateVDisk (vds.h)
[Начиная с Windows 8 и Windows Server 2012, COM-интерфейс службы виртуальных дисков замечается API управления хранилищем Windows.]
Создает виртуальный диск.
Синтаксис
HRESULT CreateVDisk(
[in] PVIRTUAL_STORAGE_TYPE VirtualDeviceType,
[in] LPWSTR pPath,
[in] LPWSTR pStringSecurityDescriptor,
[in] CREATE_VIRTUAL_DISK_FLAG Flags,
[in] ULONG ProviderSpecificFlags,
[in] ULONG Reserved,
[in] PVDS_CREATE_VDISK_PARAMETERS pCreateDiskParameters,
[out] IVdsAsync **ppAsync
);
Параметры
[in] VirtualDeviceType
Указатель на структуру VIRTUAL_STORAGE_TYPE , указывающую тип создаваемого виртуального диска.
[in] pPath
Строка с расширенными символами с завершением NULL, содержащая имя и путь к каталогу для резервного файла, создаваемого для виртуального диска.
[in] pStringSecurityDescriptor
Строка расширенных символов, заканчивающаяся null, содержащая дескриптор безопасности, применяемый к виртуальному диску. Если этот параметр имеет значение NULL, будет использоваться дескриптор безопасности в маркере доступа вызывающего объекта.
[in] Flags
Битовая маска CREATE_VIRTUAL_DISK_FLAG значений перечисления, указывающих способ создания виртуального диска.
[in] ProviderSpecificFlags
Битовая маска флагов, относящихся к типу создаваемого виртуального диска. Эти флаги зависят от поставщика. Для поставщика виртуальных дисков Майкрософт этот параметр должен быть равен нулю.
[in] Reserved
Параметр зарезервирован и должен быть равен нулю.
[in] pCreateDiskParameters
Указатель на структуру VDS_CREATE_VDISK_PARAMETERS , содержащую параметры создания виртуального диска.
[out] ppAsync
Указатель на интерфейс IVdsAsync , который после успешного завершения получает интерфейс IVdsAsync для мониторинга и управления этой операцией. Вызывающие стороны должны освободить полученный интерфейс после завершения работы с ним. Если метод IVdsAsync::Wait вызывается в интерфейсе и возвращается успешное значение HRESULT, интерфейсы, возвращаемые в структуре VDS_ASYNC_OUTPUT , должны быть освобождены путем вызова метода IUnknown::Release для каждого указателя интерфейса. Однако если функция Wait возвращает значение HRESULT сбоя или параметр pHrResultобъекта Wait получает значение HRESULT сбоя, указатели интерфейса в структуре VDS_ASYNC_OUTPUT имеют значение NULL и не должны освобождаться. Вы можете проверить наличие значений HRESULT успешного или неудачного выполнения с помощью макросов SUCCEEDED и FAILED , определенных в Winerror.h.
Возвращаемое значение
Этот метод может возвращать стандартные значения HRESULT, такие как E_INVALIDARG или E_OUTOFMEMORY, а также возвращаемые значения VDS. Он также может возвращать коды преобразованных системных ошибок с помощью макроса HRESULT_FROM_WIN32 . Ошибки могут возникать из самого VDS или из используемого базового поставщика VDS . Возможные возвращаемые значения включают следующие.
Код возврата | Описание |
---|---|
|
Метод завершился успешно. |
Комментарии
Приложения должны инициализировать безопасность на уровне процесса, вызвав функцию CoInitializeSecurity . Параметр dwImpLevel должен иметь значение RPC_C_IMP_LEVEL_IMPERSONATE.
Windows Server 2008, Windows Vista и Windows Server 2003: Эти действия не требуются до Windows 7 и Windows Server 2008 R2.
Если виртуальный диск с указанным именем файла не существует, он создается. Если виртуальный диск уже существует, поставщик виртуального диска возвращает указатель интерфейса на существующий объект виртуального диска без повторного создания файла.
Требования
Минимальная версия клиента | Windows 7 [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 R2 [только классические приложения] |
Целевая платформа | Windows |
Header | vds.h |
Библиотека | Uuid.lib |