Freigeben über


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

CloseClusterResource

ResUtilFindDependentDiskResourceDriveLetter

ResUtilGetResourceDependency

ResUtilGetResourceDependencyByName

ResUtilGetResourceDependentIPAddressProps

ResUtilGetResourceNameDependency