Partager via


Méthode IVdsIscsiTarget ::SetSharedSecret (vdshwprv.h)

[À compter de Windows 8 et Windows Server 2012, l’interface COM du service de disque virtuel est remplacée par l’API Gestion du stockage Windows.]

Définit le secret partagé CHAP cible utilisé pour l’authentification CHAP lorsque la cible authentifie l’initiateur.

Syntaxe

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

Paramètres

[in] pTargetSharedSecret

Adresse d’une structure de VDS_ISCSI_SHARED_SECRET qui contient le secret partagé. Si le membre pSharedSecret a la valeur NULL et que ulSharedSecretSize est égal à zéro, la méthode SetSharedSecret efface tout secret existant.

[in] pwszInitiatorName

Chaîne spécifiant le nom iSCSI auquel le secret partagé doit être associé, si le secret est spécifique à l’initiateur. La valeur passée est utilisée comme nom CHAP. Si l’adresse est NULL , les modifications s’appliquent au secret par défaut pour tous les initiateurs.

Valeur retournée

Cette méthode peut retourner des valeurs HRESULT standard, telles que E_INVALIDARG ou E_OUTOFMEMORY, et des valeurs de retour spécifiques à VDS. Il peut également retourner des codes d’erreur système convertis à l’aide de la macro HRESULT_FROM_WIN32 . Les erreurs peuvent provenir de VDS lui-même ou du fournisseur VDS sous-jacent utilisé. Les valeurs de retour possibles sont les suivantes.

Code/valeur de retour Description
S_OK
Le secret partagé a été défini avec succès.
VDS_E_PROVIDER_CACHE_CORRUPT
0x8004241FL
Le cache du fournisseur est endommagé. Cela indique un problème logiciel ou de communication à l’intérieur d’un fournisseur qui met en cache des informations sur les appareils attachés. L’appelant peut utiliser la méthode IVdsHwProvider ::Reenumerate suivie de la méthode IVdsHwProvider ::Refresh pour restaurer le cache.
VDS_E_OBJECT_DELETED
0x8004240BL
L’objet cible n’est plus présent.
VDS_E_NOT_SUPPORTED
0x80042400L
Cette opération ou cette combinaison de paramètres n’est pas prise en charge par ce fournisseur.
VDS_E_INITIATOR_SPECIFIC_NOT_SUPPORTED
0x80042707L
La cible ne prend pas en charge les secrets partagés spécifiques à l’initiateur.

Remarques

Le fournisseur de matériel doit configurer le sous-système lui-même pour modifier le secret partagé cible. Les secrets utilisés pour la sécurité ne sont pas conservés par VDS et ne doivent pas être conservés par les fournisseurs de matériel sur l’ordinateur local. Le fournisseur de matériel doit transmettre le secret au sous-système de manière sécurisée, et le sous-système est responsable de sa persistance.

Certaines cibles iSCSI peuvent prendre en charge la définition d’un secret partagé CHAP différent pour chaque initiateur. Si une cible ne prend pas en charge les secrets spécifiques à l’initiateur, l’appel à SetSharedSecret retourne VDS_E_INITIATOR_SPECIFIC_NOT_SUPPORTED.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 R2 [applications de bureau uniquement]
Plateforme cible Windows
En-tête vdshwprv.h
Bibliothèque Uuid.lib
Composant redistribuable VDS 1.1

Voir aussi

IVdsIscsiTarget

IVdsIscsiTarget ::RememberInitiatorSharedSecret

IVdsIscsiTarget ::SetSharedSecret

IVdsServiceIscsi ::SetInitiatorSharedSecret

VDS_ISCSI_SHARED_SECRET