Partager via


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
HRESOURCE
NULL
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

CloseClusterResource

ResUtilFindDependentDiskResourceDriveLetter

ResUtilGetResourceDependency

ResUtilGetResourceDependencyByClass

ResUtilGetResourceDependentIPAddressProps

ResUtilGetResourceNameDependency