Метод IVdsSubSystem::SetControllerStatus (vdshwprv.h)
[Начиная с Windows 8 и Windows Server 2012, COM-интерфейс службы виртуальных дисков замечается API управления хранилищем Windows.]
Задает состояние контроллеров в подсистеме (в сети или в автономном режиме).
Синтаксис
HRESULT SetControllerStatus(
[in] VDS_OBJECT_ID *pOnlineControllerIdArray,
[in] LONG lNumberOfOnlineControllers,
[in] VDS_OBJECT_ID *pOfflineControllerIdArray,
[in] LONG lNumberOfOfflineControllers
);
Параметры
[in] pOnlineControllerIdArray
Указатель на массив GUID контроллера. Поставщик устанавливает для этих контроллеров режим "в сети". Этот массив включает контроллеры, уже имеющие значение "в сети", которые должны оставаться таковыми.
[in] lNumberOfOnlineControllers
Количество контроллеров, указанное в pOnlineControllersArray.
[in] pOfflineControllerIdArray
Указатель на массив GUID контроллера. Поставщик устанавливает эти контроллеры в автономный режим. Этот массив включает контроллеры, которые уже находятся в автономном режиме, которые должны оставаться таковыми.
[in] lNumberOfOfflineControllers
Число контроллеров, указанное в pOfflineControllersArray.
Возвращаемое значение
Этот метод может возвращать стандартные значения HRESULT, такие как E_INVALIDARG или E_OUTOFMEMORY, а также возвращаемые значения VDS. Он также может возвращать коды преобразованных системных ошибок с помощью макроса HRESULT_FROM_WIN32 . Ошибки могут возникать из самого VDS или из используемого базового поставщика VDS . Возможные возвращаемые значения включают следующие.
Возвращаемый код/значение | Описание |
---|---|
|
Это возвращаемое значение сигнализирует о проблеме программного обеспечения или связи внутри поставщика, который кэширует сведения о массиве. Для восстановления кэша используйте метод IVdsHwProvider::Reenumerate , за которым следует метод IVdsHwProvider::Refresh . |
|
Объект подсистемы больше не присутствует. |
|
Подсистема находится в состоянии сбоя и не может выполнить запрошенную операцию. |
|
Выполняется другая операция; Эта операция не может продолжаться до завершения предыдущей операции или операций. |
|
Может быть возвращен из любого метода, который принимает константу VDS_OBJECT_ID . Это возвращаемое значение указывает, что идентификатор не ссылается на существующий объект. |
Комментарии
Этот метод позволяет вызывающей объекту задавать состояние всех контроллеров одновременно. Используйте метод IVdsController::SetStatus , чтобы задать состояние одного контроллера.
Вызывающие стороны должны передавать полный набор контроллеров в параметре pOnlineControllerIdArray или pOfflineControllerIdArray для каждого вызова метода. Возвращаемое значение E_INVALIDARG может указывать на то, что не все контроллеры в подсистеме были указаны в аргументах этого метода.
Метод SetControllerStatus требует, чтобы все контроллеры в подсистеме присутствовали в одном из двух предоставленных массивов.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | vdshwprv.h |
Библиотека | Uuid.lib |