IVdsServiceIscsi::SetInitiatorSharedSecret 方法 (vds.h)
[从Windows 8和Windows Server 2012开始,虚拟磁盘服务 COM 接口由 Windows 存储管理 API 取代。]
设置发起程序 CHAP 共享机密,当发起程序对目标进行身份验证时,该机密用于相互 CHAP 身份验证。
语法
HRESULT SetInitiatorSharedSecret(
[in] VDS_ISCSI_SHARED_SECRET *pInitiatorSharedSecret,
[in] VDS_OBJECT_ID targetId
);
参数
[in] pInitiatorSharedSecret
包含共享机密 的VDS_ISCSI_SHARED_SECRET 结构的地址。 如果 pSharedSecret 成员为 NULL 且 ulSharedSecretSize 为零, 则 SetInitiatorSharedSecret 方法将清除任何现有机密。 如果此参数为 NULL 且 targetId 参数未 GUID_NULL, 则 SetInitiatorSharedSecret 会清除发起程序与目标之间的关联。
[in] targetId
目标的 VDS_OBJECT_ID 。 如果共享机密不特定于目标,则此参数设置为 GUID_NULL 。
返回值
此方法可以返回标准 HRESULT 值,例如E_INVALIDARG或E_OUTOFMEMORY,以及 特定于 VDS 的返回值。 它还可以使用 HRESULT_FROM_WIN32 宏返回转换的系统错误代码。 错误可能源自 VDS 本身或正在使用的基础 VDS 提供程序 。 可能的返回值包括以下内容。
返回代码/值 | 说明 |
---|---|
|
已成功设置共享机密。 |
|
VDS 初始化失败。 如果应用程序在服务完成初始化之前调用此方法,则会阻止该方法,直到初始化完成。 如果初始化失败,则返回此错误。 |
|
发起程序服务不支持设置特定于目标的共享机密。 |
备注
发起程序可能支持为每个目标设置不同的 CHAP 共享机密。
无法以编程方式确定发起程序是否支持特定于目标的机密。 如果对 SetInitiatorSharedSecret 的调用返回VDS_E_TARGET_SPECIFIC_NOT_SUPPORTED,请再次调用 方法,并将 targetId 参数设置为 GUID_NULL。
Microsoft iSCSI 软件发起程序不支持设置特定于目标的机密。
要求
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 R2 [仅限桌面应用] |
目标平台 | Windows |
标头 | vds.h |
Library | Uuid.lib |
可再发行组件 | VDS 1.1 |
另请参阅
IVdsIscsiTarget::RememberInitiatorSharedSecret
IVdsIscsiTarget::SetSharedSecret