Fonction ResUtilGetResourceDependencyByClass (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 qui correspond à une classe de ressource spécifiée. Le type PRESUTIL_GET_RESOURCE_DEPENDENCY_BY_CLASS définit un pointeur vers cette fonction.
Syntaxe
HRESOURCE ResUtilGetResourceDependencyByClass(
[in] HCLUSTER hCluster,
[in] HANDLE hSelf,
[in] PCLUS_RESOURCE_CLASS_INFO prci,
[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] prci
Pointeur vers une structure de CLUS_RESOURCE_CLASS_INFO décrivant la classe 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 .
Remarques
N’appelez pas ResUtilGetResourceDependencyByClass à partir d’une fonction de point d’entrée DLL de ressource. ResUtilGetResourceDependencyByClass 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 classe de stockage, vous pouvez utiliser ResUtilGetResourceDependencyByClass pour obtenir un handle pour la ressource de classe de stockage sans en savoir plus.
// 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 );
PCLUS_RESOURCE_CLASS_INFO pClassInfo;
pClassInfo->rc = CLUS_RESCLASS_STORAGE;
//
// Returns a handle to the storage class resource on which resource A depends.
// Can now perform a variety of operations on the dependency.
//
HRESOURCE hResD = ResUtilGetResourceDependencyByClass(
hCluster,
hResA,
pClassInfo,
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
ResUtilGetResourceDependencyByName