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 入口点函数调用 ResUtilGetResourceDependencyByClass 。 ResUtilGetResourceDependencyByClass 可以从工作线程安全地调用。 有关详细信息,请参阅 资源 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 |
另请参阅
ResUtilFindDependentDiskResourceDriveLetter
ResUtilGetResourceDependencyByName