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 枚举枚举的下列值之一。
返回代码/值 | 说明 |
---|---|
|
资源尚未终止。 工作线程可以继续对资源执行 联机 和 脱机 操作。 |
|
资源已终止。 调用方应结束 联机 或 脱机 操作,并立即终止分配给资源的所有工作线程。 |
注解
资源 DLL 调用 SetResourceStatus 回调函数,以在其 联机 或 脱机 入口点函数返回 ERROR_IO_PENDING后更新资源的状态。 不应在任何其他时间调用它。 指向 SetResourceStatus 函数的指针在 SetResourceStatus 参数中传递到资源的 Startup 实现。
SetResourceStatus 由 资源监视器 实现,类似于 SetServiceStatus 函数。
在返回 ERROR_IO_PENDING后,随时更新资源的当前状态。 如果资源处于挂起状态之一,请在开始调用 SetResourceStatus 之前,递增RESOURCE_STATUS结构的 CheckPoint 和 WaitHint 成员的值,并将 ResourceState 成员设置为 ClusterResourceOnlinePending 或 ClusterResourceOfflinePending。 调用 SetResourceStatus ,直到出现以下情况之一:
- 资源处于 ClusterResourceOnline 或 ClusterResourceOffline 状态。
- 已超出资源 PendingTimeout 属性中存储的时间限制。
要求
最低受支持的客户端 | 无受支持的版本 |
最低受支持的服务器 | Windows Server 2008 企业版、Windows Server 2008 Datacenter |
目标平台 | Windows |
标头 | resapi.h |
请参阅
Terminate