Freigeben über


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

CloseClusterResource

ResUtilFindDependentDiskResourceDriveLetter

ResUtilGetResourceDependency

ResUtilGetResourceDependencyByClass

ResUtilGetResourceDependentIPAddressProps

ResUtilGetResourceNameDependency