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


Метод IVdsService::QueryUnallocatedDisks (vds.h)

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

Возвращает объект перечисления, содержащий список нераспределенных дисков, управляемых VDS.

Синтаксис

HRESULT QueryUnallocatedDisks(
  [out] IEnumVdsObject **ppEnum
);

Параметры

[out] ppEnum

Адрес указателя интерфейса IEnumVdsObject , который можно использовать для перечисления дисков в качестве объектов диска. Дополнительные сведения см. в разделе Работа с объектами перечисления. Вызывающие объекты должны освободить интерфейс и каждый из объектов диска, если они больше не нужны, вызвав метод IUnknown::Release .

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

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

Возвращаемый код/значение Описание
S_OK
Перечисление было успешно возвращено.
VDS_E_INITIALIZED_FAILED
0x80042401L
Не удалось инициализировать VDS. Если приложение вызывает этот метод до завершения инициализации службы, метод блокируется до завершения инициализации. Если инициализация завершается сбоем, возвращается эта ошибка.

Комментарии

Нераспределенный диск не запрашивается ни поставщиком. Он может содержать или не содержать сведения о формате раздела MBR или GPT. Часто это неинициализированный диск. Если состояние диска VDS_DS_ONLINE или VDS_DS_OFFLINE, диск нераспределен и не инициализирован. Если она VDS_DS_UNKNOWN, VDS_DS_NOT_READY, VDS_DS_FAILED или VDS_DS_MISSING, она не будет размещена, но служба VDS не может определить, инициализирована ли она, возможно, из-за проблем с диском.

Чтобы определить состояние диска, ознакомьтесь с элементом состоянияVDS_DISK_PROP или VDS_DISK_PROP2 структуры диска.

Если состояние диска VDS_DS_ONLINE, диск можно добавить в пакет.

Если состояние диска VDS_DS_OFFLINE, попробуйте подключить диск, вызвав IVdsDiskOnline::Online. Если вызов метода Online завершается успешно, диск можно добавить в пакет. Если вызов в сети завершается сбоем, диск нельзя использовать.

Требования

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

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

IEnumVdsObject

IVdsService