Интерфейс 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 только в контексте расширения ресурсов. Не получайте другие информационные интерфейсы, такие как IGetClusterGroupInfo, из интерфейса IGetClusterResourceInfo . Хотя 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 Корпоративная, Windows Server 2003 Datacenter |
Целевая платформа | Windows |
Header | cluadmex.h |
См. также раздел
Информационные интерфейсы администратора отказоустойчивого кластера
IWEExtendContextMenu::AddContextMenuItems
IWEExtendPropertySheet::CreatePropertySheetPages
IWEExtendWizard97::CreateWizard97Pages