ResUtilGetResourceDependencyByClass 函式 (resapi.h)
列舉指定叢集中指定資源的相依性,並將句柄傳回與指定之資源類別相符的相依性。 PRESUTIL_GET_RESOURCE_DEPENDENCY_BY_CLASS類型會定義此函式的指標。
語法
HRESOURCE ResUtilGetResourceDependencyByClass(
[in] HCLUSTER hCluster,
[in] HANDLE hSelf,
[in] PCLUS_RESOURCE_CLASS_INFO prci,
[in] BOOL bRecurse
);
參數
[in] hCluster
處理資源所屬的叢集。
[in] hSelf
相依資源的句柄。 此資源取決於一或多個資源。
[in] prci
描述要傳回之相依性資源類別之 CLUS_RESOURCE_CLASS_INFO 結構的指標。
[in] bRecurse
決定搜尋的範圍。 如果 為 TRUE,函式會檢查相依資源下的整個相依性樹狀結構。 如果 為 FALSE,函式只會檢查相依資源直接相依的資源。
傳回值
如果作業成功,函式會將句柄傳回 hSelf 所指定資源的其中一個資源。 呼叫端負責藉由呼叫 CloseClusterResource 來關閉句柄。
如果作業失敗,函式會傳回 NULL。 如需詳細資訊,請呼叫 GetLastError 函式。
備註
請勿從任何資源 DLL 進入點函式呼叫 ResUtilGetResourceDependencyByClass 。 ResUtilGetResourceDependencyByClass 可以從背景工作線程安全地呼叫。 如需詳細資訊,請參閱 在資源 DLL 中避免的函式呼叫。
範例
如下列範例所示,如果您知道資源 A 相依於 記憶體類別資源,您可以使用 ResUtilGetResourceDependencyByClass 來取得記憶體類別資源的句柄,而不需要知道它的任何其他專案。
// 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.
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 都不支援 |
最低支援的伺服器 | Windows Server 2008 Enterprise、Windows Server 2008 Datacenter |
目標平台 | Windows |
標頭 | resapi.h |
程式庫 | ResUtils.lib |
Dll | ResUtils.dll |
另請參閱
ResUtilFindDependentDiskResourceDriveLetter
ResUtilGetResourceDependencyByName