INapSystemHealthAgentCallback::GetSoHRequest メソッド
注意
ネットワーク アクセス保護プラットフォームは、Windows 10 以降は使用できません
INapSystemHealthAgentCallback::GetSoHRequest メソッドは、システム正常性エージェントの SoH 要求を照会するために NapAgent によって呼び出されます。
構文
HRESULT GetSoHRequest(
[in] INapSystemHealthAgentRequest *request
);
パラメーター
-
request [in]
-
要求オブジェクトを識別する INapSystemHealthAgentRequest オブジェクトへの COM ポインター。
戻り値
リターン コード | 説明 |
---|---|
|
成功を示します。 |
|
このコードが実装によって返された場合、NapAgent は、バインドされた SHA リストから SHA を削除し、そのキャッシュ エントリをフラッシュします。 |
実装によって戻り値 ( HRESULT_FROM_WIN32(RPC_S_SERVER_UNAVAILABLE) を除く) が返されると、NAP システムは、次の属性の種類と値を持つ対応する SHV に SoHRequest を構築して返します。
- 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 |
|