枚举指定群集中指定资源的依赖项,并将句柄返回到指定类型的依赖项。 PRESUTIL_GET_RESOURCE_DEPENDENCY_BY_NAME类型定义指向此函数的指针。
Syntax
HRESOURCE ResUtilGetResourceDependencyByName(
[in] HCLUSTER hCluster,
[in] HANDLE hSelf,
[in] LPCWSTR lpszResourceType,
[in] BOOL bRecurse
);
参数
[in] hCluster
资源所属的群集的句柄。
[in] hSelf
依赖资源的句柄。 此资源依赖于一个或多个资源。
[in] lpszResourceType
NULL 终止的 Unicode 字符串,指定要返回的依赖项的资源类型。
[in] bRecurse
确定搜索的范围。 如果 为 TRUE,该函数将检查依赖资源下的整个依赖项树。 如果 为 FALSE,则函数仅检查依赖资源直接依赖的资源。
返回值
如果作成功,该函数将返回 hSelf 所指定资源所依赖的资源之一的句柄。 调用方负责通过调用 CloseClusterResource 关闭句柄。
如果作失败,该函数将返回 NULL。 有关详细信息,请调用 GetLastError 函数。
| 返回代码 | Description |
|---|---|
|
|
|
作未成功。 有关详细信息,请调用函数 GetLastError。 |
注解
ResUtilGetResourceDependencyByName、ResUtilGetResourceDependency 和 ResUtilGetResourceNameDependency 函数非常相似,因为它们都提供对特定资源类型的依赖项的访问权限。 以下列表汇总了函数之间的差异。
| 功能 | 如何指定依赖资源 | 需要群集句柄 |
|---|---|---|
| ResUtilGetResourceDependency | 资源句柄 | No |
| ResUtilGetResourceDependencyByName | 资源句柄 | 是的 |
| ResUtilGetResourceNameDependency | 资源名称 | No |
不要从任何资源 DLL 入口点函数调用 ResUtilGetResourceDependencyByName 。 可以从工作线程安全地调用 ResUtilGetResourceDependencyByName。 有关详细信息,请参阅 函数调用以避免在资源 DLL 中。
例子
如以下示例所示,如果知道资源 A 依赖于物理磁盘资源,则可以使用 ResUtilGetResourceDependencyByName 获取依赖项的句柄。
// 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 );
HRESOURCE hResD = ResUtilGetResourceDependencyByName(
hCluster,
hResA,
L"Physical Disk",
TRUE );
// Close handles and free memory.
要求
| Requirement | 价值 |
|---|---|
| 最低支持的客户端 | 无受支持的版本 |
| 支持的最低服务器 | Windows Server 2008 企业版、Windows Server 2008 Datacenter |
| 目标平台 | Windows操作系统 |
| Header | resapi.h |
| Library | ResUtils.lib |
| DLL | ResUtils.dll |
另请参阅
ResUtilFindDependentDiskResourceDriveLetter
ResUtilGetResourceDependencyByClass