INapSystemHealthAgentCallback::GetSoHRequest 方法
注意
从Windows 10开始,网络访问保护平台不可用
NapAgent 调用 INapSystemHealthAgentCallback::GetSoHRequest 方法来查询系统运行状况代理的 SoH 请求。
语法
HRESULT GetSoHRequest(
[in] INapSystemHealthAgentRequest *request
);
参数
-
request [in]
-
指向标识请求对象的 INapSystemHealthAgentRequest 对象的 COM 指针。
返回值
返回代码 | 说明 |
---|---|
|
表示成功。 |
|
如果此代码由实现返回,则 NapAgent 会从绑定 SHA 列表中删除该 SHA 并刷新其缓存条目。 |
当实现返回除 HRESULT_FROM_WIN32 (RPC_S_SERVER_UNAVAILABLE) ) 之外的任何返回值 (时,NAP 系统将使用以下属性类型和值构造 SoHRequest 并将其返回到相应的 SHV:
- sohAttributeTypeSystemHealthId= <id>
- sohAttributeTypeFailureCategory= failureCategoryClientComponent
- sohAttributeTypeErrorCodes = <error-code>
备注
此回调方法由 NAP 系统声明,并由 SHA 编写器实现。
此方法必须处理请求并立即返回。 延迟此方法的返回会对系统性能和响应能力产生负面影响,并可能导致操作系统的其他部分超时。
运行状况监视不应作为此调用的一部分进行,尤其是在计算密集型且需要很长时间时。 运行状况监视和 SoH 计算应在单独的线程或服务中执行。 此方法的唯一功能应该是设置 SHA 的 SoH 并返回。
如果 SHA 需要很长时间才能生成 SoH,则缓存的 SoH 应返回到 NapAgent。 如果没有要返回的缓存 SoH,则 SHA 应立即返回具有以下属性类型和值的 SoH:
- sohAttributeTypeSystemHealthId= <id>
- sohAttributeTypeFailureCategory= failureCategoryClientCommunication
- sohAttributeTypeErrorCodes = NAP_E_NO_CACHED_SOH
生成 SoH 后,SHA 必须调用 INapSystemHealthAgentBinding::NotifySoHChange 以通知 NapAgent 系统运行状况更改。
NapAgent 调用此方法来查询系统运行状况代理的 SoHRequest。 SHA 可以查询传递的 INapSystemHealthAgentRequest 对象,以获取计算 SoHRequest 所需的参数。 SHA 必须在请求对象上设置计算的 SoHRequest。 此调用完成后,SHA 不得保留对请求对象的引用。
调用此方法时,如果 NapAgent 的缓存中存在 SoH,则会在请求对象上设置它。 SHA 可以使用 GetSoHRequest 查询它。 如果 SHA 未设置新的 SoH,则使用缓存的 SoH。
对于向系统注册的未绑定 SHA,NAP 系统使用以下属性类型和值构造 SoHRequest 并将其发送到相应的 SHV:
- sohAttributeTypeSystemHealthId= <id>
- sohAttributeTypeFailureCategory= failureCategoryClientComponent
- sohAttributeTypeErrorCodes = NAP_E_NOT_INITIALIZED
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows Vista [仅限桌面应用] |
最低受支持的服务器 |
Windows Server 2008 [仅限桌面应用] |
标头 |
|
IDL |
|