ResUtilGetResourceDependencyByClass 函数 (resapi.h)

枚举指定群集中指定资源的依赖项,并返回与指定资源类匹配的依赖项的句柄。 PRESUTIL_GET_RESOURCE_DEPENDENCY_BY_CLASS类型定义指向此函数的指针。

语法

HRESOURCE ResUtilGetResourceDependencyByClass(
  [in] HCLUSTER                  hCluster,
  [in] HANDLE                    hSelf,
  [in] PCLUS_RESOURCE_CLASS_INFO prci,
  [in] BOOL                      bRecurse
);

参数

[in] hCluster

资源所属群集的句柄。

[in] hSelf

依赖资源的句柄。 此资源依赖于一个或多个资源。

[in] prci

指向描述要返回的依赖项的资源类 的CLUS_RESOURCE_CLASS_INFO 结构的指针。

[in] bRecurse

确定搜索的范围。 如果 为 TRUE,则函数将检查依赖资源下的整个依赖项树。 如果 为 FALSE,则函数仅检查依赖资源直接依赖的资源。

返回值

如果操作成功,函数将返回 hSelf 指定的资源所依赖的资源之一的句柄。 调用方负责通过调用 CloseClusterResource 关闭句柄。

如果操作失败,函数将返回 NULL。 有关详细信息,请调用 GetLastError 函数。

注解

不要从任何资源 DLL 入口点函数调用 ResUtilGetResourceDependencyByClassResUtilGetResourceDependencyByClass 可以从工作线程安全地调用。 有关详细信息,请参阅 资源 DLL 中对避免的函数调用

示例

如以下示例所示,如果知道资源 A 依赖于 存储类资源,则可以使用 ResUtilGetResourceDependencyByClass 获取存储类资源的句柄,而无需了解其他任何相关信息。

// String initialization and error checking omitted.

HCLUSTER hCluster = OpenCluster( lpszClusterName );

//
// Resource A depends on a storage class resource.
// Get a handle to that resource.
//
HRESOURCE hResA = OpenClusterResource( hCluster, lpszResName );

PCLUS_RESOURCE_CLASS_INFO pClassInfo;

pClassInfo->rc = CLUS_RESCLASS_STORAGE;

//
// Returns a handle to the storage class resource on which resource A depends.
// Can now perform a variety of operations on the dependency.
//
HRESOURCE hResD = ResUtilGetResourceDependencyByClass(
                        hCluster,
                        hResA,
                        pClassInfo,
                        TRUE );

// Close handles and free memory.

要求

要求
最低受支持的客户端 无受支持的版本
最低受支持的服务器 Windows Server 2008 企业版、Windows Server 2008 Datacenter
目标平台 Windows
标头 resapi.h
Library ResUtils.lib
DLL ResUtils.dll

另请参阅

CloseClusterResource

ResUtilFindDependentDiskResourceDriveLetter

ResUtilGetResourceDependency

ResUtilGetResourceDependencyByName

ResUtilGetResourceDependentIPAddressProps

ResUtilGetResourceNameDependency