IGetClusterResourceInfo-Schnittstelle (cluadmex.h)
[Diese Schnittstelle steht für die Verwendung in den Betriebssystemen zur Verfügung, die im Abschnitt "Anforderungen" angegeben sind. Die Unterstützung für diese Schnittstelle wurde in Windows Server 2008 entfernt.]
Die IGetClusterResourceInfo-Schnittstelle wird von einer Failoverclusteradministratorerweiterung aufgerufen, um Informationen zu einer Ressource abzurufen.
Vererbung
Die IGetClusterResourceInfo-Schnittstelle erbt von der IUnknown-Schnittstelle . IGetClusterResourceInfo verfügt auch über die folgenden Membertypen:
Methoden
Die IGetClusterResourceInfo-Schnittstelle verfügt über diese Methoden.
IGetClusterResourceInfo::GetResourceHandle Gibt ein Handle an eine Ressource zurück. |
IGetClusterResourceInfo::GetResourceNetworkName Gibt den Namen des Netzwerks zurück, das von der Netzwerknamenressource verwaltet wird, von der eine Ressource abhängt. |
IGetClusterResourceInfo::GetResourceTypeName Gibt den Typ einer Ressource zurück. |
Hinweise
Wenn das objekt, das erweitert wird, keine Ressource ist, schlagen Abfragen für IGetClusterResourceInfo-Methoden fehl. Andernfalls können Sie die IGetClusterResourceInfo-Schnittstelle verwenden, wenn der Failoverclusteradministrator Ihre Implementierungen der folgenden Methoden aufruft:
- IWEExtendPropertySheet::CreatePropertySheetPages
- IWEExtendContextMenu::AddContextMenuItems
- IWEExtendWizard::CreateWizardPages
- IWEExtendWizard97::CreateWizard97Pages
- IWEInvokeCommand::InvokeCommand
Verwenden Sie die IGetClusterResourceInfo-Schnittstelle nur im Kontext einer Ressourcenerweiterung. Rufen Sie keine anderen Informationsschnittstellen, z. B . IGetClusterGroupInfo, von der IGetClusterResourceInfo-Schnittstelle ab. Während QueryInterface eine gültige Schnittstelle zurückgibt, ist der Vorgang im Kontext des Clusters ungültig, und das Ergebnis ist eine Schnittstelle, die kein echtes Clusterobjekt darstellt.
Beispiele
Im folgenden Code schlägt der von Kommentaren im C-Format eingeschlossene Abschnitt gemäß dem vorherigen Absatz fehl.
//
// 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...
}
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Nicht unterstützt |
Unterstützte Mindestversion (Server) | Windows Server 2003 Enterprise, Windows Server 2003 Datacenter |
Zielplattform | Windows |
Kopfzeile | cluadmex.h |
Weitere Informationen
Informationsschnittstellen für Failoverclusteradministratoren
IWEExtendContextMenu::AddContextMenuItems
IWEExtendPropertySheet::CreatePropertySheetPages
IWEExtendWizard97::CreateWizard97Pages