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