Функция ResUtilGetResourceDependency (resapi.h)
Перечисляет зависимости указанного ресурса и возвращает дескриптор зависимости указанного типа. Тип PRESUTIL_GET_RESOURCE_DEPENDENCY определяет указатель на эту функцию.
Синтаксис
HRESOURCE ResUtilGetResourceDependency(
[in] HANDLE hSelf,
[in] LPCWSTR lpszResourceType
);
Параметры
[in] hSelf
Дескриптор для зависимого ресурса. Этот ресурс зависит от одного или нескольких ресурсов.
[in] lpszResourceType
Строка Юникода со значением NULL, указывающая тип ресурса возвращаемой зависимости.
Возвращаемое значение
Если операция выполнена успешно, функция возвращает дескриптор одному из ресурсов, от которых зависит ресурс, заданный параметром hSelf . Вызывающий объект отвечает за закрытие дескриптора путем вызова CloseClusterResource.
Если операция завершается сбоем, функция возвращает значение NULL. Для получения дополнительных сведений вызовите функцию GetLastError .
Комментарии
Функции ResUtilGetResourceDependency, ResUtilGetResourceDependencyByName и ResUtilGetResourceNameDependency очень похожи тем, что все они предоставляют доступ к зависимостям определенного типа ресурса. В следующей таблице перечислены различия между функциями.
Функция | Указание зависимого ресурса | Требуется дескриптор кластера |
---|---|---|
ResUtilGetResourceDependency | Дескриптор ресурса | Нет |
ResUtilGetResourceDependencyByName | Дескриптор ресурса | Да |
ResUtilGetResourceNameDependency | Имя ресурса | Нет |
Не вызывайте ResUtilGetResourceDependency из любой функции точки входа библиотеки DLL ресурсов. ResUtilGetResourceDependency можно безопасно вызывать из рабочего потока. Дополнительные сведения см. в разделе Вызовы функций, которые следует избегать в библиотеках DLL ресурсов.
Примеры
Как показано в следующем примере, если известно, что ресурс A зависит от ресурса физического диска, можно использовать ResUtilGetResourceDependency для получения дескриптора зависимости.
// String initialization and error checking omitted.
HCLUSTER hCluster = OpenCluster( lpszClusterName );
//
// Resource A depends on a Physical Disk resource.
// Get a handle to that resource.
//
HRESOURCE hResA = OpenClusterResource( hCluster, lpszResName );
HRESOURCE hResD = ResUtilGetResourceDependency(
hResA,
L"Physical Disk" );
// Close handles and free memory.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Ни одна версия не поддерживается |
Минимальная версия сервера | Windows Server 2008 Корпоративная, Windows Server 2008 Datacenter |
Целевая платформа | Windows |
Header | resapi.h |
Библиотека | ResUtils.lib |
DLL | ResUtils.dll |
См. также раздел
ResUtilFindDependentDiskResourceDriveLetter
ResUtilGetResourceDependencyByClass
ResUtilGetResourceDependencyByName