INapSystemHealthAgentCallback::GetSoHRequest 方法
注意
從 Windows 10 開始,無法使用網路存取保護平臺
NapAgent 會呼叫 INapSystemHealthAgentCallback::GetSoHRequest 方法,以查詢系統健康情況代理程式的 SoH 要求。
語法
HRESULT GetSoHRequest(
[in] INapSystemHealthAgentRequest *request
);
參數
-
要求 [in]
-
識別要求物件的 INapSystemHealthAgentRequest 物件的 COM 指標。
傳回值
傳回碼 | 描述 |
---|---|
|
表示成功。 |
|
如果您的實作傳回此程式碼,NapAgent 就會從系結 SHA 清單中移除 SHA,並排清其快取專案。 |
當實作 HRESULT_FROM_WIN32 (RPC_S_SERVER_UNAVAILABLE) ) 以外的 任何傳回值 (時,NAP 系統會建構 SoHRequest,並將 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 |
|