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
)
{...}

parameters

[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 即可将资源的状态设置为挂起状态,因为每当 联机脱机 返回 ERROR_IO_PENDING时,资源监视器会自动将其设置为适当的挂起状态。

要求

   
最低受支持的客户端 无受支持的版本
最低受支持的服务器 Windows Server 2008 企业版、Windows Server 2008 Datacenter
目标平台 Windows
标头 resapi.h

请参阅

ClusWorkerTerminate

Offline

联机

打开

RESOURCE_EXIT_STATE

RESOURCE_STATUS

资源 DLL 回调函数

SetServiceStatus

启动

Terminate