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


Метод IVdsLunMpio::GetLoadBalancePolicy (vdshwprv.h)

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

Возвращает текущую политику балансировки нагрузки для LUN.

Синтаксис

HRESULT GetLoadBalancePolicy(
  [out] VDS_LOADBALANCE_POLICY_ENUM *pPolicy,
  [out] VDS_PATH_POLICY             **ppPaths,
  [out] LONG                        *plNumberOfPaths
);

Параметры

[out] pPolicy

Указатель на переменную, получающую VDS_LOADBALANCE_POLICY_ENUM значение перечисления, указывающее политику балансировки нагрузки.

[out] ppPaths

Указатель на массив VDS_PATH_POLICY структур, переданных вызывающим объектом. Вызывающие элементы должны освободить этот массив с помощью функции CoTaskMemFree .

[out] plNumberOfPaths

Указатель на переменную, которая получает количество структур сведений о политике для конкретных путей, возвращаемых в параметре ppPaths .

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

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

Возвращаемый код/значение Описание
S_OK
Политика балансировки нагрузки успешно возвращена. Если у LUN нет путей, массив пуст, значение, указываемое параметром plNumberOfPaths , равно 0, а значение, на которое указывает параметр ppPaths , имеет значение NULL.
VDS_E_PROVIDER_CACHE_CORRUPT
0x8004241FL
Кэш поставщика поврежден. Это указывает на проблемы с программным обеспечением или связью внутри поставщика, который кэширует сведения о подключенных устройствах. Вызывающий объект может использовать метод IVdsHwProvider::Reenumerate , за которым следует метод IVdsHwProvider::Refresh для восстановления кэша.
VDS_E_OBJECT_DELETED
0x8004240BL
Объект LUN больше отсутствует.
VDS_E_OBJECT_STATUS_FAILED
0x80042431L
LUN находится в состоянии сбоя и не может выполнить запрошенную операцию.
VDS_E_ANOTHER_CALL_IN_PROGRESS
0x80042404L
Выполняется еще одна операция. Эта операция не может продолжаться до завершения предыдущих операций.

Комментарии

Число путей, возвращаемых этим методом, будет соответствовать количеству путей, возвращаемых методом IVdsLunMpio::GetPathInfo .

Требования

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

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

IVdsLunMpio

IVdsLunMpio::GetLoadBalancePolicy

VDS_LOADBALANCE_POLICY_ENUM

VDS_PATH_POLICY