[从 Windows 8 和 Windows Server 2012 开始, 虚拟磁盘服务 COM 接口由 Windows 存储管理 API 取代。
设置目标对发起程序进行身份验证时用于 CHAP 身份验证的目标 CHAP 共享机密。
Syntax
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 提供程序 。 可能的返回值包括以下内容。
| 返回代码/值 | Description |
|---|---|
|
已成功设置共享机密。 |
|
提供程序的缓存已损坏。 这表示提供程序内的软件或通信问题,用于缓存有关附加设备的信息。 调用方可以使用 IVdsHwProvider::Reenumerate 方法,后跟 IVdsHwProvider::Refresh 方法还原缓存。 |
|
目标对象不再存在。 |
|
此提供程序不支持此作或参数组合。 |
|
目标不支持特定于发起程序共享的机密。 |
注解
硬件提供程序必须将子系统本身配置为更改目标共享机密。 用于安全的机密不会由 VDS 持久保存,也不应由本地计算机上的硬件提供程序持久保存。 硬件提供程序应以安全的方式将机密传输到子系统,子系统负责保存机密。
某些 iSCSI 目标可能支持为每个发起程序设置不同的 CHAP 共享机密。 如果目标不支持特定于发起程序机密,则 对 SetSharedSecret 的调用将返回VDS_E_INITIATOR_SPECIFIC_NOT_SUPPORTED。
要求
| Requirement | 价值 |
|---|---|
| 最低支持的客户端 | Windows Vista [仅限桌面应用] |
| 支持的最低服务器 | Windows Server 2003 R2 [仅限桌面应用] |
| 目标平台 | Windows操作系统 |
| Header | vds.h |
| Library | Uuid.lib |
| 可再发行组件 | VDS 1.1 |
另请参阅
IVdsIscsiTarget::RememberInitiatorSharedSecret
IVdsIscsiTarget::SetSharedSecret