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 :
- IWEExtendPropertySheet ::CreatePropertySheetPages
- IWEExtendContextMenu ::AddContextMenuItems
- IWEExtendWizard ::CreateWizardPages
- IWEExtendWizard97 ::CreateWizard97Pages
- IWEInvokeCommand ::InvokeCommand
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