Метод IVdsSubSystem::QueryLuns (vdshwprv.h)
[Начиная с Windows 8 и Windows Server 2012, COM-интерфейс службы виртуальных дисков замечается API управления хранилищем Windows.]
Возвращает перечисление LUN, которые отображаются в подсистеме. Этот метод применяется только к объектам поставщика оборудования.
Синтаксис
HRESULT QueryLuns(
[out] IEnumVdsObject **ppEnum
);
Параметры
[out] ppEnum
Адрес указателя интерфейса IEnumVdsObject , который можно использовать для перечисления LUN в качестве объектов LUN. Дополнительные сведения см. в разделе Работа с объектами перечисления. Вызывающие объекты должны освободить интерфейс и каждый из объектов LUN, если они больше не нужны путем вызова метода IUnknown::Release .
Возвращаемое значение
Этот метод может возвращать стандартные значения HRESULT, такие как E_INVALIDARG или E_OUTOFMEMORY, а также возвращаемые значения VDS. Он также может возвращать коды преобразованных системных ошибок с помощью макроса HRESULT_FROM_WIN32 . Ошибки могут возникать из самого VDS или из используемого базового поставщика VDS . Возможные возвращаемые значения включают следующие.
Возвращаемый код/значение | Описание |
---|---|
|
Возвращает перечисление LUN в подсистеме. Если подсистема не содержит LUN, перечисление будет пустым. |
|
Это возвращаемое значение сигнализирует о проблеме программного обеспечения или связи внутри поставщика, который кэширует сведения о массиве. Для восстановления кэша используйте метод IVdsHwProvider::Reenumerate , за которым следует метод IVdsHwProvider::Refresh . |
|
Объект подсистемы больше не присутствует. |
|
Подсистема находится в состоянии сбоя и не может выполнить запрошенную операцию. |
|
Выполняется другая операция; Эта операция не может продолжаться до завершения предыдущей операции или операций. |
Комментарии
Интерфейс IEnumVdsObject включает все LUN в подсистеме, независимо от маскирования LUN.
Реализующие объекты должны возвращать пустой объект перечисления для каждой подсистемы с нулевым числом LUN.
Если этот метод вызывается в двух отдельных потоках, которые выполняются одновременно, результаты могут быть несогласованными. Если он вызывается в одном потоке, а метод, такой как IVdsLun::D elete , вызывается в другом потоке, который выполняется одновременно, это может привести к нарушению доступа поставщика. Поставщик оборудования отвечает за сериализацию этой операции запроса по мере необходимости, чтобы свести к минимуму такие проблемы синхронизации.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | vdshwprv.h |
Библиотека | Uuid.lib |