Bagikan melalui


Antarmuka IGetClusterResourceInfo (cluadmex.h)

[Antarmuka ini tersedia untuk digunakan dalam sistem operasi yang ditentukan di bagian Persyaratan. Dukungan untuk antarmuka ini telah dihapus di Windows Server 2008.]

Antarmuka IGetClusterResourceInfo dipanggil oleh ekstensi Administrator Kluster Failover untuk mengambil informasi tentang sumber daya.

Warisan

Antarmuka IGetClusterResourceInfo mewarisi dari antarmuka IUnknown . IGetClusterResourceInfo juga memiliki jenis anggota berikut:

Metode

Antarmuka IGetClusterResourceInfo memiliki metode ini.

 
IGetClusterResourceInfo::GetResourceHandle

Mengembalikan handel ke sumber daya.
IGetClusterResourceInfo::GetResourceNetworkName

Mengembalikan nama jaringan yang dikelola oleh sumber daya Nama Jaringan tempat sumber daya bergantung.
IGetClusterResourceInfo::GetResourceTypeName

Mengembalikan jenis sumber daya.

Keterangan

Jika objek yang diperluas bukan sumber daya, kueri untuk metode IGetClusterResourceInfo akan gagal. Jika tidak, Anda dapat menggunakan antarmuka IGetClusterResourceInfo saat Administrator Kluster Failover memanggil implementasi Anda dari metode berikut:

Administrator Kluster Failover lolos dalam pointer IUnknown , piData. Gunakan piData untuk memanggil QueryInterface untuk salah satu metode IGetClusterResourceInfo .

Gunakan antarmuka IGetClusterResourceInfo hanya dalam konteks ekstensi sumber daya. Jangan mendapatkan antarmuka informasi lain, seperti IGetClusterGroupInfo, dari antarmuka IGetClusterResourceInfo . Meskipun QueryInterface akan mengembalikan antarmuka yang valid, operasi tidak valid dalam konteks kluster, dan hasilnya adalah antarmuka yang tidak mewakili objek kluster nyata.

Contoh

Dalam kode berikut, bagian yang diapit oleh komentar gaya C akan gagal per paragraf sebelumnya.

//
// 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...

 }

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tidak ada yang didukung
Server minimum yang didukung Pusat Data Windows Server 2003 Enterprise, Windows Server 2003
Target Platform Windows
Header cluadmex.h

Lihat juga

Antarmuka Informasi Administrator Kluster Failover

IWEExtendContextMenu::AddContextMenuItems

IWEExtendPropertySheet::CreatePropertySheetPages

IWEExtendWizard97::CreateWizard97Pages

IWEExtendWizard::CreateWizardPages

IWEInvokeCommand::InvokeCommand