Поделиться через


Функция 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, указывающая тип ресурса возвращаемой зависимости.

[in] bRecurse

Определяет область поиска. Если задано значение TRUE, функция проверяет все дерево зависимостей в зависимом ресурсе. Если значение FALSE, функция проверяет только те ресурсы, от которых напрямую зависит зависимый ресурс.

Возвращаемое значение

Если операция выполнена успешно, функция возвращает дескриптор одному из ресурсов, от которых зависит ресурс, заданный параметром hSelf . Вызывающий объект отвечает за закрытие дескриптора путем вызова CloseClusterResource.

Если операция завершается сбоем, функция возвращает значение NULL. Для получения дополнительных сведений вызовите функцию GetLastError .

Код возврата Описание
HRESOURCE
NULL
Операция не была успешной. Для получения дополнительных сведений вызовите функцию GetLastError.

Комментарии

Функции ResUtilGetResourceDependencyByName, ResUtilGetResourceDependency и ResUtilGetResourceNameDependency очень похожи тем, что все они предоставляют доступ к зависимостям определенного типа ресурса. В следующем списке перечислены различия между функциями.

Функция Указание зависимого ресурса Требуется дескриптор кластера
ResUtilGetResourceDependency Дескриптор ресурса Нет
ResUtilGetResourceDependencyByName Дескриптор ресурса Да
ResUtilGetResourceNameDependency Имя ресурса Нет
 

Не вызывайте ResUtilGetResourceDependencyByName из любой функции точки входа dll ресурсов. 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 Корпоративная, Windows Server 2008 Datacenter
Целевая платформа Windows
Header resapi.h
Библиотека ResUtils.lib
DLL ResUtils.dll

См. также раздел

CloseClusterResource

ResUtilFindDependentDiskResourceDriveLetter

ResUtilGetResourceDependency

ResUtilGetResourceDependencyByClass

ResUtilGetResourceDependentIPAddressProps

ResUtilGetResourceNameDependency