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


Метод IVdsSubSystemIscsi::CreateTarget (vds.h)

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

Создает целевой объект iSCSI. Указатель интерфейса для нового целевого объекта можно получить, вызвав IVdsAsync::Wait с помощью параметра ppAsync . Возвращаемая структура VDS_ASYNC_OUTPUT содержит указатель интерфейса целевого объекта в элементе ct.pTargetUnk .

Синтаксис

HRESULT CreateTarget(
  [in]  LPWSTR    pwszIscsiName,
  [in]  LPWSTR    pwszFriendlyName,
  [out] IVdsAsync **ppAsync
);

Параметры

[in] pwszIscsiName

Строка, указывающая имя iSCSI для назначения целевому объекту. Имя целевого объекта должно быть уникальным для всех целевых объектов во всех подсистемах, видимых в сети.

Если pwszIscsiName имеет значение NULL или указывает на пустую строку, поставщик создаст имя iSCSI для назначения целевому объекту.

[in] pwszFriendlyName

Строка, указывающая понятное имя, присваиваемое целевому объекту. Соответствует псевдониму iSCSI.

[out] ppAsync

Адрес указателя интерфейса IVdsAsync , который VDS инициализирует при возврате. Вызывающие элементы должны освободить интерфейс. Используйте этот интерфейс для отмены, ожидания или запроса состояния операции. Если вы вызываете IVdsAsync::Wait в этом методе и возвращается успешное значение HRESULT, необходимо освободить интерфейсы, возвращенные в структуре VDS_ASYNC_OUTPUT , вызвав метод IUnknown::Release для каждого указателя интерфейса. Однако если wait возвращает значение HRESULT сбоя или параметр pHrResultwait получает значение HRESULT сбоя, указатели интерфейса в структуре VDS_ASYNC_OUTPUT имеют значение NULL и не должны освобождаться. Вы можете проверить наличие значений HRESULT успешно или неудачно с помощью макросов SUCCEEDED и FAILED , определенных в Winerror.h.

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

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

Возвращаемый код или значение Описание
S_OK
Целевой объект успешно создан.
VDS_E_NOT_SUPPORTED
0x80042400L
Объект подсистемы не поддерживает этот метод. Это означает, что поставщик оборудования установил флаг VDS_SF_SUPPORTS_SIMPLE_TARGET_CONFIG в элементе ulFlags структуры VDS_SUB_SYSTEM_PROP для объекта подсистемы.
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_NAME_NOT_UNIQUE
0x80042701L
В параметре pwszIscsiName указано неуникальное имя.

Требования

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

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

IVdsAsync

IVdsLunIscsi::AssociateTargets

IVdsSubSystem::GetProperties

IVdsSubSystemIscsi

VDS_ASYNC_OUTPUT

VDS_SUB_SYSTEM_FLAG

VDS_SUB_SYSTEM_PROP