Win32 API 日本語リファレンス
ホームNetworkManagement.NetworkDiagnosticsFramework › INetDiagHelper

INetDiagHelper

COM
IIDc0b35746-ebf5-11d8-bbe9-505054503030継承元IUnknown自前メソッド開始 vtbl3

メソッド 18

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT Initialize(DWORD celt, HELPER_ATTRIBUTE* rgAttributes)
celtDWORDinrgAttributes配列に含まれる属性の個数。
rgAttributesHELPER_ATTRIBUTE*inヘルパーを初期化するキー属性HELPER_ATTRIBUTEの配列。
vtbl 4 HRESULT GetDiagnosticsInfo(DiagnosticsInfo** ppInfo)
ppInfoDiagnosticsInfo**outヘルパーの診断情報DiagnosticsInfoを受け取る。
vtbl 5 HRESULT GetKeyAttributes(DWORD* pcelt, HELPER_ATTRIBUTE** pprgAttributes)
pceltDWORD*out返したキー属性の個数を受け取る。
pprgAttributesHELPER_ATTRIBUTE**outヘルパーを識別するキー属性HELPER_ATTRIBUTE配列を受け取る。
vtbl 6 HRESULT LowHealth(LPWSTR pwszInstanceDescription, LPWSTR* ppwszDescription, INT* pDeferredTime, DIAGNOSIS_STATUS* pStatus)
pwszInstanceDescriptionLPWSTRin診断対象インスタンスの説明文字列。NULL可。
ppwszDescriptionLPWSTR*out低ヘルス状態の説明文字列を受け取る。
pDeferredTimeINT*out再試行までの遅延時間を秒で受け取る。
pStatusDIAGNOSIS_STATUS*out診断結果を示すDIAGNOSIS_STATUS列挙値を受け取る。
vtbl 7 HRESULT HighUtilization(LPWSTR pwszInstanceDescription, LPWSTR* ppwszDescription, INT* pDeferredTime, DIAGNOSIS_STATUS* pStatus)
pwszInstanceDescriptionLPWSTRin診断対象インスタンスの説明文字列。NULL可。
ppwszDescriptionLPWSTR*out高負荷状態の説明文字列を受け取る。
pDeferredTimeINT*out再試行までの遅延時間を秒で受け取る。
pStatusDIAGNOSIS_STATUS*out診断結果を示すDIAGNOSIS_STATUS列挙値を受け取る。
vtbl 8 HRESULT GetLowerHypotheses(DWORD* pcelt, HYPOTHESIS** pprgHypotheses)
pceltDWORD*out返した仮説の個数を受け取る。
pprgHypothesesHYPOTHESIS**out下位レイヤへ渡す仮説HYPOTHESIS配列を受け取る。
vtbl 9 HRESULT GetDownStreamHypotheses(DWORD* pcelt, HYPOTHESIS** pprgHypotheses)
pceltDWORD*out返した仮説の個数を受け取る。
pprgHypothesesHYPOTHESIS**out下流コンポーネントへ渡す仮説HYPOTHESIS配列を受け取る。
vtbl 10 HRESULT GetHigherHypotheses(DWORD* pcelt, HYPOTHESIS** pprgHypotheses)
pceltDWORD*out返した仮説の個数を受け取る。
pprgHypothesesHYPOTHESIS**out上位レイヤへ渡す仮説HYPOTHESIS配列を受け取る。
vtbl 11 HRESULT GetUpStreamHypotheses(DWORD* pcelt, HYPOTHESIS** pprgHypotheses)
pceltDWORD*out返した仮説の個数を受け取る。
pprgHypothesesHYPOTHESIS**out上流コンポーネントへ渡す仮説HYPOTHESIS配列を受け取る。
vtbl 12 HRESULT Repair(RepairInfo* pInfo, INT* pDeferredTime, REPAIR_STATUS* pStatus)
pInfoRepairInfo*in実行する修復方法を示すRepairInfo構造体へのポインタ。
pDeferredTimeINT*out修復再試行までの遅延時間を秒で受け取る。
pStatusREPAIR_STATUS*out修復結果を示すREPAIR_STATUS列挙値を受け取る。
vtbl 13 HRESULT Validate(PROBLEM_TYPE problem, INT* pDeferredTime, REPAIR_STATUS* pStatus)
problemPROBLEM_TYPEin検証対象の問題種別を示すPROBLEM_TYPE列挙値。
pDeferredTimeINT*out検証再試行までの遅延時間を秒で受け取る。
pStatusREPAIR_STATUS*out検証結果を示すREPAIR_STATUS列挙値を受け取る。
vtbl 14 HRESULT GetRepairInfo(PROBLEM_TYPE problem, DWORD* pcelt, RepairInfo** ppInfo)
problemPROBLEM_TYPEin修復情報を取得する問題種別を示すPROBLEM_TYPE列挙値。
pceltDWORD*out返した修復情報の個数を受け取る。
ppInfoRepairInfo**out利用可能な修復方法を表すRepairInfo配列を受け取る。
vtbl 15 HRESULT GetLifeTime(LIFE_TIME* pLifeTime)
pLifeTimeLIFE_TIME*outヘルパーインスタンスの有効期間を示すLIFE_TIME列挙値を受け取る。
vtbl 16 HRESULT SetLifeTime(LIFE_TIME lifeTime)
lifeTimeLIFE_TIMEinヘルパーインスタンスに設定する有効期間を示すLIFE_TIME列挙値。
vtbl 17 HRESULT GetCacheTime(FILETIME* pCacheTime)
pCacheTimeFILETIME*out診断結果のキャッシュ有効期限をFILETIMEで受け取る。
vtbl 18 HRESULT GetAttributes(DWORD* pcelt, HELPER_ATTRIBUTE** pprgAttributes)
pceltDWORD*out返した属性の個数を受け取る。
pprgAttributesHELPER_ATTRIBUTE**outヘルパーの全属性HELPER_ATTRIBUTE配列を受け取る。
vtbl 19 HRESULT Cancel()
vtbl 20 HRESULT Cleanup()

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_INetDiagHelper "{C0B35746-EBF5-11D8-BBE9-505054503030}"
#usecom global INetDiagHelper IID_INetDiagHelper "{}"
#comfunc global INetDiagHelper_Initialize               3 int,var
#comfunc global INetDiagHelper_GetDiagnosticsInfo       4 var
#comfunc global INetDiagHelper_GetKeyAttributes         5 var,var
#comfunc global INetDiagHelper_LowHealth                6 wstr,var,var,var
#comfunc global INetDiagHelper_HighUtilization          7 wstr,var,var,var
#comfunc global INetDiagHelper_GetLowerHypotheses       8 var,var
#comfunc global INetDiagHelper_GetDownStreamHypotheses  9 var,var
#comfunc global INetDiagHelper_GetHigherHypotheses      10 var,var
#comfunc global INetDiagHelper_GetUpStreamHypotheses    11 var,var
#comfunc global INetDiagHelper_Repair                   12 var,var,var
#comfunc global INetDiagHelper_Validate                 13 int,var,var
#comfunc global INetDiagHelper_GetRepairInfo            14 int,var,var
#comfunc global INetDiagHelper_GetLifeTime              15 var
#comfunc global INetDiagHelper_SetLifeTime              16 int
#comfunc global INetDiagHelper_GetCacheTime             17 var
#comfunc global INetDiagHelper_GetAttributes            18 var,var
#comfunc global INetDiagHelper_Cancel                   19
#comfunc global INetDiagHelper_Cleanup                  20
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。