次の方法で共有


IVdsIscsiTarget::SetSharedSecret メソッド (vdshwprv.h)

[Windows 8とWindows Server 2012以降、仮想ディスク サービス COM インターフェイスは Windows Storage Management API に置き換えられます。

ターゲットがイニシエーターを認証するときに CHAP 認証に使用されるターゲット CHAP 共有シークレットを設定します。

構文

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

パラメーター

[in] pTargetSharedSecret

共有シークレットを含む VDS_ISCSI_SHARED_SECRET 構造体のアドレス。 pSharedSecret メンバーが NULL、ulSharedSecretSize が 0 の場合、SetSharedSecret メソッドは既存のシークレットをクリアします。

[in] pwszInitiatorName

共有シークレットがイニシエーター固有の場合に関連付ける iSCSI 名を指定する文字列。 渡された値は CHAP 名として使用されます。 アドレスが NULL の 場合、変更はすべてのイニシエーターの既定のシークレットに適用されます。

戻り値

このメソッドは、E_INVALIDARGやE_OUTOFMEMORYなどの標準の HRESULT 値と、 VDS 固有の戻り値を返すことができます。 また、HRESULT_FROM_WIN32 マクロを使用して、変換されたシステム エラー コードを返すこともできます。 エラーは、VDS 自体または使用されている基になる VDS プロバイダー から発生する可能性があります。 可能な戻り値は次のとおりです。

リターン コード/値 Description
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
ヘッダー vdshwprv.h
Library Uuid.lib
再頒布可能パッケージ VDS 1.1

こちらもご覧ください

IVdsIscsiTarget

IVdsIscsiTarget::RememberInitiatorSharedSecret

IVdsIscsiTarget::SetSharedSecret

IVdsServiceIscsi::SetInitiatorSharedSecret

VDS_ISCSI_SHARED_SECRET