共用方式為


PSET_RESOURCE_STATUS_ROUTINE回呼函式 (resapi.h)

呼叫 以更新 資源的狀態。 PSET_RESOURCE_STATUS_ROUTINE類型會定義此函式的指標。

語法

PSET_RESOURCE_STATUS_ROUTINE PsetResourceStatusRoutine;

DWORD PsetResourceStatusRoutine(
  [in] RESOURCE_HANDLE ResourceHandle,
  [in] PRESOURCE_STATUS ResourceStatus
)
{...}

參數

[in] ResourceHandle

處理識別要更新的資源。 ResourceHandle參數應該包含這個資源的Open進入點中用於ResourceHandle參數的相同控制碼。

[in] ResourceStatus

包含資源狀態相關資訊 之RESOURCE_STATUS 結構的指標。

傳回值

SetResourceStatus 會從 RESOURCE_EXIT_STATE 列舉傳回下列其中一個值。

傳回碼/值 描述
ResourceExitStateContinue
0
資源尚未終止。 背景工作執行緒可能會繼續資源 的線上離線 作業。
ResourceExitStateTerminate
1
資源已終止。 呼叫端應該結束 線上離線 作業,並立即終止指派給資源的所有背景工作執行緒。

備註

資源 DLL 會呼叫 SetResourceStatus 回呼函式,以在其 線上離線 進入點函式傳回 ERROR_IO_PENDING之後更新資源的狀態。 它不應該在其他時間呼叫。 SetResourceStatus函式的指標會在SetResourceStatus參數中傳遞至資源的Startup實作。

SetResourceStatus 是由 資源監視器 實作,類似于 SetServiceStatus 函式。

在傳回 ERROR_IO_PENDING之後,視需要更新資源的目前狀態。 如果資源處於其中一個擱置狀態,請在開始呼叫SetResourceStatus之前,將RESOURCE_STATUS結構的CheckPointWaitHint成員的值遞增,並將ResourceState成員設定為ClusterResourceOnlinePendingClusterResourceOfflinePending。 呼叫 SetResourceStatus ,直到發生下列其中一種情況:

  • 資源會置於 ClusterResourceOnlineClusterResourceOffline 狀態。
  • 資源 PendingTimeout 屬性中儲存的時間限制已超過。
不需要呼叫 SetResourceStatus 將資源的狀態設定為擱置狀態,因為每當 OnlineOffline 傳回 ERROR_IO_PENDING時,資源監視器會自動將其設定為適當的擱置狀態。

需求

   
最低支援的用戶端 都不支援
最低支援的伺服器 Windows Server 2008 Enterprise、Windows Server 2008 Datacenter
目標平台 Windows
標頭 resapi.h

另請參閱

ClusWorkerTerminate

離線

線上存取

開啟

RESOURCE_EXIT_STATE

RESOURCE_STATUS

資源 DLL 回呼函式

SetServiceStatus

啟動

終止