Метод IVdsDrive::QueryExtents (vdshwprv.h)
[Начиная с Windows 8 и Windows Server 2012, COM-интерфейс службы виртуальных дисков замечается API управления хранилищем Windows.]
Возвращает массив экстентов на диске, включая выделенные и нераспределенные экстенты.
Синтаксис
HRESULT QueryExtents(
[out] VDS_DRIVE_EXTENT **ppExtentArray,
[out] LONG *plNumberOfExtents
);
Параметры
[out] ppExtentArray
Указатель на массив VDS_DRIVE_EXTENT структур, переданных вызывающим объектом. Вызывающие элементы должны освободить этот массив с помощью функции CoTaskMemFree .
[out] plNumberOfExtents
Указатель на количество экстентов диска, возвращаемых в структуре VDS_DRIVE_EXTENT .
Возвращаемое значение
Этот метод может возвращать стандартные значения HRESULT, такие как E_INVALIDARG или E_OUTOFMEMORY, а также возвращаемые значения VDS. Он также может возвращать коды преобразованных системных ошибок с помощью макроса HRESULT_FROM_WIN32 . Ошибки могут возникать из самого VDS или из используемого базового поставщика VDS . Возможные возвращаемые значения включают следующие.
Возвращаемый код/значение | Описание |
---|---|
|
Сведения об экстентах были успешно возвращены. Для диска без экстентов массив пуст, значение plNumberOfExtents равно 0, а значение ppExtentArray равно NULL. |
|
Это возвращаемое значение сигнализирует о проблеме программного обеспечения или связи внутри поставщика, который кэширует сведения о массиве. Для восстановления кэша используйте метод IVdsHwProvider::Reenumerate , за которым следует метод IVdsHwProvider::Refresh . |
|
Объект drive больше не существует. |
|
Диск находится в состоянии сбоя и не может выполнить запрошенную операцию. |
|
Выполняется другая операция; Эта операция не может продолжаться до завершения предыдущей операции или операций. |
|
Подсистема не поддерживает этот метод. |
Комментарии
Диск может вносить экстенты в любое количество LUN, и эти LUN можно снять маску на любое количество разных компьютеров в сети. Используйте метод IVdsLunPlex::QueryExtents для просмотра всех экстентов плекса LUN.
Элемент LunId каждой структуры VDS_DRIVE_EXTENT указывает GUID для LUN, в который участвует каждый выделенный экстент. Следовательно, вы можете использовать результат этого метода, чтобы определить количество LUN, к которому вносит диск, путем подсчета количества различных значений LunId , возвращаемых в ppExtentArray.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | vdshwprv.h |
Библиотека | Uuid.lib |