Partager via


Interface IGetClusterResourceInfo (cluadmex.h)

[Cette interface est disponible pour une utilisation dans les systèmes d’exploitation spécifiés dans la section Configuration requise. La prise en charge de cette interface a été supprimée dans Windows Server 2008.]

L’interface IGetClusterResourceInfo est appelée par une extension Administrateur de cluster de basculement pour récupérer des informations sur une ressource.

Héritage

L’interface IGetClusterResourceInfo hérite de l’interface IUnknown. IGetClusterResourceInfo possède également les types de membres suivants :

Méthodes

L’interface IGetClusterResourceInfo possède ces méthodes.

 
IGetClusterResourceInfo ::GetResourceHandle

Retourne un handle à une ressource.
IGetClusterResourceInfo ::GetResourceNetworkName

Retourne le nom du réseau géré par la ressource Nom du réseau dont dépend une ressource.
IGetClusterResourceInfo ::GetResourceTypeName

Retourne le type d’une ressource.

Remarques

Si l’objet étendu n’est pas une ressource, les requêtes pour les méthodes IGetClusterResourceInfo échouent. Sinon, vous pouvez utiliser l’interface IGetClusterResourceInfo lorsque l’administrateur du cluster de basculement appelle vos implémentations des méthodes suivantes :

L’administrateur du cluster de basculement transmet un pointeur IUnknown , piData. Utilisez piData pour appeler QueryInterface pour l’une des méthodes IGetClusterResourceInfo .

Utilisez l’interface IGetClusterResourceInfo uniquement dans le contexte d’une extension de ressource. N’obtenez pas d’autres interfaces d’informations, telles que IGetClusterGroupInfo, à partir de l’interface IGetClusterResourceInfo . Si QueryInterface retourne une interface valide, l’opération n’est pas valide dans le contexte du cluster et le résultat est une interface qui ne représente aucun objet de cluster réel.

Exemples

Dans le code suivant, la section entourée de commentaires de style C échoue selon le paragraphe précédent.

//
// Context is a resource extension.
//
HRESULT CExtObject::HrGetResourceInfo( IGetClusterResourceInfo *piResInfo )
 {
  HRESULT   hr;
  HRESOURCE hRes;
  HGROUP    hGroup;
  HCLUSTER  hCluster;
  DWORD     cchNameSize = MAX_NAME_SIZE; // 256
  WCHAR     szGroupName[cchNameSize];

  IGetClusterGroupInfo *pGrpInfo;

  hRes = piResInfo->GetResourceHandle();

  //
  // Get group handle
  //
/*******************************************************************
// Incorrect:

  //
  // Obtain an IGetClusterGroupInfo interface from 
  // IGetClusterResourceInfo. By the rules of QueryInterface, this 
  // must return a valid interface. But it is not a valid cluster 
  // operation so the interface won't represent a real object.
  //
  hr = pResInfo->QueryInterface( IID_IGetClusterGroupInfo, 
                                 (LPVOID *) &pGrpInfo );

  //
  // Interface is valid, will pass this test.
  //
  if( FAILED( hr ) )
    goto Error;

  //
  // FAILS!
  // Interface does not represent a real cluster object.
  //    
  hGrp = pGrpInfo->GetGroupHandle( 0 );

*******************************************************************/
// Correct:    
  //
  // Use the valid resource handle to call GetClusterResourceState.
  // This yields the name of the group to which it belongs, which
  // can be used to obtain a group handle.
  //
  dwState = GetClusterResourceState( hRes,
                                     NULL,
                                     0,
                                     szGroupName,
                                     &cchGroupNameSize );

  // Add error check.

  hCluster = OpenCluster( g_szClusterName );

  // Add error check.

  hGrp = OpenClusterGroup( hCluster, szGroupName );

  // After error check, use group handle...

 }

Configuration requise

Condition requise Valeur
Client minimal pris en charge Aucun pris en charge
Serveur minimal pris en charge Windows Server 2003 Entreprise, Windows Server 2003 Datacenter
Plateforme cible Windows
En-tête cluadmex.h

Voir aussi

Interfaces d’informations sur l’administrateur du cluster de basculement

IWEExtendContextMenu ::AddContextMenuItems

IWEExtendPropertySheet ::CreatePropertySheetPages

IWEExtendWizard97 ::CreateWizard97Pages

IWEExtendWizard ::CreateWizardPages

IWEInvokeCommand ::InvokeCommand