ResUtilGetResourceDependencyByName-Funktion (resapi.h)
Listet die Abhängigkeiten einer angegebenen Ressource in einem angegebenen Cluster auf und gibt ein Handle zu einer Abhängigkeit eines angegebenen Typs zurück. Der PRESUTIL_GET_RESOURCE_DEPENDENCY_BY_NAME-Typ definiert einen Zeiger auf diese Funktion.
Syntax
HRESOURCE ResUtilGetResourceDependencyByName(
[in] HCLUSTER hCluster,
[in] HANDLE hSelf,
[in] LPCWSTR lpszResourceType,
[in] BOOL bRecurse
);
Parameter
[in] hCluster
Behandeln Sie den Cluster, zu dem die Ressource gehört.
[in] hSelf
Behandeln Sie die abhängige Ressource. Diese Ressource ist von mindestens einer Ressource abhängig.
[in] lpszResourceType
MIT NULL beendete Unicode-Zeichenfolge, die den Ressourcentyp der zurückzugebenden Abhängigkeit angibt.
[in] bRecurse
Bestimmt den Bereich der Suche. Wenn 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 von hSelf angegebene Ressource abhängt. Der Aufrufer ist für das Schließen des Handle durch Aufrufen von CloseClusterResource verantwortlich.
Wenn der Vorgang fehlschlägt, gibt die Funktion NULL zurück. Rufen Sie die GetLastError-Funktion auf, um weitere Informationen zu erhalten.
Rückgabecode | Beschreibung |
---|---|
|
|
|
Der Vorgang war nicht erfolgreich. Rufen Sie die Funktion GetLastError auf, um weitere Informationen zu erhalten. |
Hinweise
Die Funktionen ResUtilGetResourceDependencyByName, ResUtilGetResourceDependency und ResUtilGetResourceNameDependency sind sehr ähnlich, da sie alle Zugriff auf Abhängigkeiten eines bestimmten Ressourcentyps bieten. In der folgenden Liste sind die Unterschiede zwischen den Funktionen zusammengefasst.
Funktion | Angabe der abhängigen Ressource | Clusterhandle erfordert |
---|---|---|
ResUtilGetResourceDependency | Ressourcenhandle | No |
ResUtilGetResourceDependencyByName | Ressourcenhandle | Yes |
ResUtilGetResourceNameDependency | Ressourcenname | No |
Rufen Sie ResUtilGetResourceDependencyByName nicht über eine Ressourcen-DLL-Einstiegspunktfunktion auf. ResUtilGetResourceDependencyByName kann sicher von einem Workerthread aufgerufen werden. Weitere Informationen finden Sie unter Zu vermeidende Funktionsaufrufe in Ressourcen-DLLs.
Beispiele
Wie das folgende Beispiel veranschaulicht, können Sie resUtilGetResourceDependencyByName verwenden, wenn Sie wissen, dass Ressource A von einer physischen Datenträgerressource abhängt, um ein Handle für die Abhängigkeit abzurufen.
// 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.
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
ResUtilGetResourceDependencyByClass