Freigeben über


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:

Der Failoverclusteradministrator übergibt den IUnknown-ZeigerpiData. Verwenden Sie piData , um QueryInterface für eine der IGetClusterResourceInfo-Methoden aufzurufen.

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

IWEExtendWizard::CreateWizardPages

IWEInvokeCommand::InvokeCommand