Метод IVdsSubSystem2::QueryMaxLunCreateSize2 (vds.h)

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

Возвращает максимальный размер LUN, который можно создать с помощью указанного типа LUN и указаний. Этот метод идентичен методу IVdsSubSystem::QueryMaxLunCreateSize , за исключением того, что автоматические указания предоставляются с помощью структуры VDS_HINTS2 вместо структуры VDS_HINTS .

Синтаксис

HRESULT QueryMaxLunCreateSize2(
  [in]  VDS_LUN_TYPE  type,
  [in]  VDS_OBJECT_ID *pDriveIdArray,
  [in]  LONG          lNumberOfDrives,
  [in]  VDS_HINTS2    *pHints2,
  [out] ULONGLONG     *pullMaxLunSize
);

Параметры

[in] type

Значение перечисления VDS_LUN_TYPE , указывающее тип LUN.

[in] pDriveIdArray

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

[in] lNumberOfDrives

Количество записей в массиве pDriveIdArray . Этот параметр является необязательным и может быть равен нулю.

[in] pHints2

Указатель на VDS_HINTS2 структуру, используемую для создания 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 7 [только классические приложения]
Минимальная версия сервера Windows Server 2008 R2 [только классические приложения]
Целевая платформа Windows
Header vds.h
Библиотека Uuid.lib

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

IVdsSubSystem2

VDS_HINTS2