IGetClusterResourceInfo インターフェイス (cluadmex.h)
[このインターフェイスは、[要件] セクションで指定されたオペレーティング システムで使用できます。 このインターフェイスのサポートは、Windows Server 2008 で削除されました。
IGetClusterResourceInfo インターフェイスは、フェールオーバー クラスター管理者拡張機能によって呼び出され、リソースに関する情報を取得します。
継承
IGetClusterResourceInfo インターフェイスは、IUnknown インターフェイスから継承します。 IGetClusterResourceInfo には、次の種類のメンバーもあります。
メソッド
IGetClusterResourceInfo インターフェイスには、これらのメソッドがあります。
IGetClusterResourceInfo::GetResourceHandle リソースへのハンドルを返します。 |
IGetClusterResourceInfo::GetResourceNetworkName リソースが依存するネットワーク名リソースによって管理されるネットワークの名前を返します。 |
IGetClusterResourceInfo::GetResourceTypeName リソースの種類を返します。 |
注釈
拡張されるオブジェクトがリソースでない場合、 IGetClusterResourceInfo メソッドのクエリは失敗します。 それ以外の場合は、フェールオーバー クラスター管理者が次のメソッドの実装を呼び出すときに 、IGetClusterResourceInfo インターフェイスを使用できます。
- IWEExtendPropertySheet::CreatePropertySheetPages
- IWEExtendContextMenu::AddContextMenuItems
- IWEExtendWizard::CreateWizardPages
- IWEExtendWizard97::CreateWizard97Pages
- IWEInvokeCommand::InvokeCommand
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