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


Метод IVdsSubSystem::QueryMaxLunCreateSize (vdshwprv.h)

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

Возвращает максимальный размер LUN, который можно создать с помощью указанного типа LUN и указаний.

Синтаксис

HRESULT QueryMaxLunCreateSize(
  [in]  VDS_LUN_TYPE  type,
  [in]  VDS_OBJECT_ID *pDriveIdArray,
  [in]  LONG          lNumberOfDrives,
  [in]  VDS_HINTS     *pHints,
  [out] ULONGLONG     *pullMaxLunSize
);

Параметры

[in] type

Тип LUN, перечисляемый VDS_LUN_TYPE.

[in] pDriveIdArray

Указатель на массив, содержащий VDS_OBJECT_ID для каждого диска, используемого при создании LUN. Поставщик должен попытаться использовать диски в указанном порядке. Этот параметр может иметь значение NULL , если параметр lNumberOfDrives имеет значение 0. В этом случае поставщик должен автоматически выбирать диски.

[in] lNumberOfDrives

Количество записей в pDriveIdArray. Для этого параметра можно задать значение 0.

[in] pHints

Указатель на структуру VDS_HINTS , используемую для создания LUN. Указания всегда принимают более низкий приоритет, чем перечисленные ранее параметры. Этот аргумент должен иметь значение, отличное от NULL.

[out] pullMaxLunSize

Указатель на буфер, содержащий максимальный размер LUN в байтах. Этот аргумент должен иметь значение, отличное от NULL.

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

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

Возвращаемый код/значение Описание
VDS_E_PROVIDER_CACHE_CORRUPT
0x8004241FL
Это возвращаемое значение сигнализирует о проблеме программного обеспечения или связи внутри поставщика, который кэширует сведения о массиве. Для восстановления кэша используйте метод IVdsHwProvider::Reenumerate , за которым следует метод IVdsHwProvider::Refresh .
VDS_E_OBJECT_DELETED
0x8004240BL
Объект подсистемы больше не присутствует.
VDS_E_OBJECT_STATUS_FAILED
0x80042431L
Подсистема находится в состоянии сбоя и не может выполнить запрошенную операцию.
VDS_E_ANOTHER_CALL_IN_PROGRESS
0x80042404L
Выполняется другая операция; Эта операция не может продолжаться до завершения предыдущей операции или операций.
VDS_E_OBJECT_NOT_FOUND
0x80042405L
Может быть возвращен из любого метода, который принимает константу VDS_OBJECT_ID . Это возвращаемое значение указывает, что идентификатор не ссылается на существующий объект.
VDS_E_NOT_SUPPORTED
0x80042400L
Эта операция или сочетание параметров не поддерживаются этим поставщиком.

Требования

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

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

IVdsHwProvider::Reenumerate

IVdsHwProvider::Refresh

IVdsSubSystem

VDS_HINTS

VDS_LUN_TYPE