次の方法で共有


IGetClusterResourceInfo インターフェイス (cluadmex.h)

[このインターフェイスは、[要件] セクションで指定されたオペレーティング システムで使用できます。 このインターフェイスのサポートは、Windows Server 2008 で削除されました。

IGetClusterResourceInfo インターフェイスは、フェールオーバー クラスター管理者拡張機能によって呼び出され、リソースに関する情報を取得します

継承

IGetClusterResourceInfo インターフェイスは、IUnknown インターフェイスから継承します。 IGetClusterResourceInfo には、次の種類のメンバーもあります。

メソッド

IGetClusterResourceInfo インターフェイスには、これらのメソッドがあります。

 
IGetClusterResourceInfo::GetResourceHandle

リソースへのハンドルを返します。
IGetClusterResourceInfo::GetResourceNetworkName

リソースが依存するネットワーク名リソースによって管理されるネットワークの名前を返します。
IGetClusterResourceInfo::GetResourceTypeName

リソースの種類を返します。

注釈

拡張されるオブジェクトがリソースでない場合、 IGetClusterResourceInfo メソッドのクエリは失敗します。 それ以外の場合は、フェールオーバー クラスター管理者が次のメソッドの実装を呼び出すときに 、IGetClusterResourceInfo インターフェイスを使用できます。

フェールオーバー クラスター管理者は、 IUnknown ポインター piData を渡します。 piData を使用して、IGetClusterResourceInfo メソッドの 1 つに対して QueryInterface を呼び出します。

IGetClusterResourceInfo インターフェイスは、リソース拡張機能のコンテキストでのみ使用します。 IGetClusterResourceInfo インターフェイスから IGetClusterGroupInfo などの他の情報インターフェイスを取得しないでください。 QueryInterface は有効なインターフェイスを返しますが、この操作はクラスターのコンテキストでは有効ではなく、実際のクラスター オブジェクトを表さないインターフェイスになります。

次のコードでは、C スタイルのコメントで囲まれたセクションは、前の段落ごとに失敗します。

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

 }

要件

要件
サポートされている最小のクライアント サポートなし
サポートされている最小のサーバー Windows Server 2003 Enterprise、Windows Server 2003 Datacenter
対象プラットフォーム Windows
ヘッダー cluadmex.h

こちらもご覧ください

フェールオーバー クラスター管理者情報インターフェイス

IWEExtendContextMenu::AddContextMenuItems

IWEExtendPropertySheet::CreatePropertySheetPages

IWEExtendWizard97::CreateWizard97Pages

IWEExtendWizard::CreateWizardPages

IWEInvokeCommand::InvokeCommand