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


Метод IVdsIscsiTarget::SetSharedSecret (vds.h)

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

Задает общий секрет целевого CHAP, который используется для проверки подлинности CHAP, когда целевой объект проверяет подлинность инициатора.

Синтаксис

HRESULT SetSharedSecret(
  [in] VDS_ISCSI_SHARED_SECRET *pTargetSharedSecret,
  [in] LPWSTR                  pwszInitiatorName
);

Параметры

[in] pTargetSharedSecret

Адрес структуры VDS_ISCSI_SHARED_SECRET , содержащей общий секрет. Если элемент pSharedSecret имеет значение NULL , а ulSharedSecretSize равен нулю, метод SetSharedSecret очищает все существующие секреты.

[in] pwszInitiatorName

Строка, указывающая имя iSCSI, с которым должен быть связан общий секрет, если секрет зависит от инициатора. Переданное значение используется в качестве имени CHAP. Если адрес имеет значение NULL , изменения применяются к секрету по умолчанию для всех инициаторов.

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

Этот метод может возвращать стандартные значения 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
Целевой объект больше отсутствует.
VDS_E_NOT_SUPPORTED
0x80042400L
Эта операция или сочетание параметров не поддерживается этим поставщиком.
VDS_E_INITIATOR_SPECIFIC_NOT_SUPPORTED
0x80042707L
Целевой объект не поддерживает общие секреты, относящиеся к инициатору.

Комментарии

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

Некоторые целевые объекты iSCSI могут поддерживать настройку разных общих секретов CHAP для каждого инициатора. Если целевой объект не поддерживает секреты, относящиеся к инициатору, вызов SetSharedSecret возвращает VDS_E_INITIATOR_SPECIFIC_NOT_SUPPORTED.

Требования

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

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

IVdsIscsiTarget

IVdsIscsiTarget::RememberInitiatorSharedSecret

IVdsIscsiTarget::SetSharedSecret

IVdsServiceIscsi::SetInitiatorSharedSecret

VDS_ISCSI_SHARED_SECRET