Fonction ResUtilGetResourceDependencyByName (resapi.h)
Énumère les dépendances d’une ressource spécifiée dans un cluster spécifié et retourne un handle à une dépendance d’un type spécifié. Le type PRESUTIL_GET_RESOURCE_DEPENDENCY_BY_NAME définit un pointeur vers cette fonction.
Syntaxe
HRESOURCE ResUtilGetResourceDependencyByName(
[in] HCLUSTER hCluster,
[in] HANDLE hSelf,
[in] LPCWSTR lpszResourceType,
[in] BOOL bRecurse
);
Paramètres
[in] hCluster
Gérez le cluster auquel la ressource appartient.
[in] hSelf
Gérez la ressource dépendante. Cette ressource dépend d’une ou plusieurs ressources.
[in] lpszResourceType
Chaîne Unicode terminée par null spécifiant le type de ressource de la dépendance à retourner.
[in] bRecurse
Détermine l’étendue de la recherche. Si la valeur est TRUE, la fonction vérifie l’arborescence de dépendances entière sous la ressource dépendante. Si la valeur est FALSE, la fonction vérifie uniquement les ressources dont dépend directement la ressource dépendante.
Valeur retournée
Si l’opération réussit, la fonction retourne un handle à l’une des ressources dont dépend la ressource spécifiée par hSelf . L’appelant est responsable de la fermeture du handle en appelant CloseClusterResource.
Si l’opération échoue, la fonction retourne NULL. Pour plus d’informations, appelez la fonction GetLastError .
Code de retour | Description |
---|---|
|
|
|
L’opération n’a pas réussi. Pour plus d’informations, appelez la fonction GetLastError. |
Remarques
Les fonctions ResUtilGetResourceDependencyByName, ResUtilGetResourceDependency et ResUtilGetResourceNameDependency sont très similaires en ce qu’elles fournissent toutes l’accès aux dépendances d’un type de ressource particulier. La liste suivante récapitule les différences entre les fonctions.
Fonction | Comment la ressource dépendante est spécifiée | Nécessite un handle de cluster |
---|---|---|
ResUtilGetResourceDependency | Handle de ressource | No |
ResUtilGetResourceDependencyByName | Handle de ressource | Yes |
ResUtilGetResourceNameDependency | Nom de la ressource | No |
N’appelez pas ResUtilGetResourceDependencyByName à partir d’une fonction de point d’entrée dll de ressource. ResUtilGetResourceDependencyByName peut être appelé en toute sécurité à partir d’un thread de travail. Pour plus d’informations, consultez Appels de fonction à éviter dans les DLL de ressources.
Exemples
Comme l’illustre l’exemple suivant, si vous savez que la ressource A dépend d’une ressource de disque physique, vous pouvez utiliser ResUtilGetResourceDependencyByName pour obtenir un handle de la dépendance.
// 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.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Aucun pris en charge |
Serveur minimal pris en charge | Windows Server 2008 Entreprise, Windows Server 2008 Datacenter |
Plateforme cible | Windows |
En-tête | resapi.h |
Bibliothèque | ResUtils.lib |
DLL | ResUtils.dll |
Voir aussi
ResUtilFindDependentDiskResourceDriveLetter
ResUtilGetResourceDependencyByClass