ResUtilGetResourceDependencyByName 函数 (resapi.h)
枚举指定群集中指定资源的依赖项,并返回指定类型的依赖项的句柄。 PRESUTIL_GET_RESOURCE_DEPENDENCY_BY_NAME类型定义指向此函数的指针。
语法
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 函数。
返回代码 | 说明 |
---|---|
|
|
|
操作未成功。 有关详细信息,请调用函数 GetLastError。 |
注解
ResUtilGetResourceDependencyByName、ResUtilGetResourceDependency 和 ResUtilGetResourceNameDependency 函数非常相似,因为它们都提供对特定资源类型的依赖项的访问权限。 以下列表汇总了函数之间的差异。
函数 | 如何指定依赖资源 | 需要群集句柄 |
---|---|---|
ResUtilGetResourceDependency | 资源句柄 | 否 |
ResUtilGetResourceDependencyByName | 资源句柄 | 是 |
ResUtilGetResourceNameDependency | 资源名称 | 否 |
不要从任何资源 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.
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 无受支持的版本 |
最低受支持的服务器 | Windows Server 2008 Enterprise、Windows Server 2008 Datacenter |
目标平台 | Windows |
标头 | resapi.h |
Library | ResUtils.lib |
DLL | ResUtils.dll |
另请参阅
ResUtilFindDependentDiskResourceDriveLetter
ResUtilGetResourceDependencyByClass