ResUtilGetResourceDependencyByClass-Funktion (resapi.h)
Listet die Abhängigkeiten einer angegebenen Ressource in einem angegebenen Cluster auf und gibt ein Handle an eine Abhängigkeit zurück, die einer angegebenen Ressourcenklasse entspricht. Der PRESUTIL_GET_RESOURCE_DEPENDENCY_BY_CLASS Typ definiert einen Zeiger auf diese Funktion.
Syntax
HRESOURCE ResUtilGetResourceDependencyByClass(
[in] HCLUSTER hCluster,
[in] HANDLE hSelf,
[in] PCLUS_RESOURCE_CLASS_INFO prci,
[in] BOOL bRecurse
);
Parameter
[in] hCluster
Handle für den Cluster, zu dem die Ressource gehört.
[in] hSelf
Handle für die abhängige Ressource. Diese Ressource hängt von einer oder mehreren Ressourcen ab.
[in] prci
Zeiger auf eine CLUS_RESOURCE_CLASS_INFO Struktur, die die Ressourcenklasse der zurückzugebenden Abhängigkeit beschreibt.
[in] bRecurse
Bestimmt den Bereich der Suche. Bei TRUE überprüft die Funktion die gesamte Abhängigkeitsstruktur unter der abhängigen Ressource. Bei FALSE überprüft die Funktion nur die Ressourcen, von denen die abhängige Ressource direkt abhängt.
Rückgabewert
Wenn der Vorgang erfolgreich ist, gibt die Funktion ein Handle an eine der Ressourcen zurück, von denen die durch hSelf angegebene Ressource abhängt. Der Aufrufer ist dafür verantwortlich, das Handle durch Aufrufen von CloseClusterResource zu schließen.
Wenn der Vorgang fehlschlägt, gibt die Funktion NULL zurück. Rufen Sie die GetLastError-Funktion auf, um weitere Informationen zu erhalten.
Hinweise
Rufen Sie ResUtilGetResourceDependencyByClass nicht aus einer Ressourcen-DLL-Einstiegspunktfunktion auf. ResUtilGetResourceDependencyByClass kann sicher aus einem Workerthread aufgerufen werden. Weitere Informationen finden Sie unter Zu vermeidende Funktionsaufrufe in Ressourcen-DLLs.
Beispiele
Wie das folgende Beispiel veranschaulicht, können Sie, wenn Sie wissen, dass Ressource A von einer Speicherklassenressource abhängt, ResUtilGetResourceDependencyByClass verwenden, um ein Handle für die Speicherklassenressource abzurufen, ohne etwas anderes darüber zu wissen.
// 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.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Nicht unterstützt |
Unterstützte Mindestversion (Server) | Windows Server 2008 Enterprise, Windows Server 2008 Datacenter |
Zielplattform | Windows |
Kopfzeile | resapi.h |
Bibliothek | ResUtils.lib |
DLL | ResUtils.dll |
Weitere Informationen
ResUtilFindDependentDiskResourceDriveLetter
ResUtilGetResourceDependencyByName