ResUtilGetResourceDependencyByName 函数 (resapi.h)

枚举指定群集中指定资源的依赖项,并将句柄返回到指定类型的依赖项。 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
HRESOURCE
NULL
作未成功。 有关详细信息,请调用函数 GetLastError

注解

ResUtilGetResourceDependencyByNameResUtilGetResourceDependencyResUtilGetResourceNameDependency 函数非常相似,因为它们都提供对特定资源类型的依赖项的访问权限。 以下列表汇总了函数之间的差异。

功能 如何指定依赖资源 需要群集句柄
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

另请参阅

CloseClusterResource

ResUtilFindDependentDiskResourceDriveLetter

ResUtilGetResourceDependency

ResUtilGetResourceDependencyByClass

ResUtilGetResourceDependentIPAddressProps

ResUtilGetResourceNameDependency