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


Метод IVdsLunControllerPorts::AssociateControllerPorts (vdshwprv.h)

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

Задает активные или неактивные порты контроллера подсистемы по отношению к LUN. Этот метод заменяет IVdsLun::AssociateControllers.

Синтаксис

HRESULT AssociateControllerPorts(
  VDS_OBJECT_ID *pActiveControllerPortIdArray,
  LONG          lNumberOfActiveControllerPorts,
  VDS_OBJECT_ID *pInactiveControllerPortIdArray,
  LONG          lNumberOfInactiveControllerPorts
);

Параметры

pActiveControllerPortIdArray

Указатель на массив guid портов контроллера. Поставщик устанавливает активные порты контроллера. Этот массив включает порты контроллера, для которых уже задано значение "Активные", которые должны оставаться активными.

lNumberOfActiveControllerPorts

Число портов контроллера, указанное в параметре pActiveControllerPortIdArray .

pInactiveControllerPortIdArray

Указатель на массив guid портов контроллера. Поставщик устанавливает неактивные порты контроллера. Этот массив включает порты контроллера, которые уже заданы как неактивные, которые должны оставаться неактивными.

lNumberOfInactiveControllerPorts

Число портов контроллера, указанное в параметре pInactiveControllerPortIdArray .

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

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

Возвращаемый код или значение Описание
S_OK
Имя связи успешно задано.
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
Выполняется еще одна операция. Эта операция не может продолжаться до завершения предыдущих операций.
VDS_E_OBJECT_NOT_FOUND
0x80042405L
Один или несколько идентификаторов GUID типа данных VDS_OBJECT_ID указаны в параметрах pActiveControllerPortIdArray или pInactiveControllerPortIdArray , не ссылаются на существующий объект.
VDS_E_NOT_SUPPORTED
0x80042400L
Эта операция или сочетание параметров не поддерживается этим поставщиком.

Требования

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

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

IVdsLunControllerPorts