Win32 API 日本語リファレンス
ホームSystem.ComponentServices › IComStaThreadPoolKnobs2

IComStaThreadPoolKnobs2

COM
IID73707523-ff9a-4974-bf84-2108dc213740継承元IComStaThreadPoolKnobs自前メソッド開始 vtbl14

メソッド 10

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

vtbl 14 HRESULT GetMaxCPULoad(DWORD* pdwLoad)
pdwLoadDWORD*outスレッド生成を抑制する CPU 負荷の上限値 (パーセント) を受け取る DWORD へのポインタである。
vtbl 15 HRESULT SetMaxCPULoad(INT pdwLoad)
pdwLoadINTinスレッド生成を抑制する CPU 負荷の上限値をパーセントで指定する。
vtbl 16 HRESULT GetCPUMetricEnabled(BOOL* pbMetricEnabled)
pbMetricEnabledBOOL*outCPU 負荷メトリックが有効かどうかを受け取る BOOL へのポインタである。
vtbl 17 HRESULT SetCPUMetricEnabled(BOOL bMetricEnabled)
bMetricEnabledBOOLinCPU 負荷メトリックを有効にする場合に TRUE を指定する。
vtbl 18 HRESULT GetCreateThreadsAggressively(BOOL* pbMetricEnabled)
pbMetricEnabledBOOL*outスレッドを積極的に生成するモードが有効かどうかを受け取る BOOL へのポインタである。
vtbl 19 HRESULT SetCreateThreadsAggressively(BOOL bMetricEnabled)
bMetricEnabledBOOLinスレッドを積極的に生成するモードを有効にする場合に TRUE を指定する。
vtbl 20 HRESULT GetMaxCSR(DWORD* pdwCSR)
pdwCSRDWORD*out許容される最大コンテキストスイッチ率 (CSR) を受け取る DWORD へのポインタである。
vtbl 21 HRESULT SetMaxCSR(INT dwCSR)
dwCSRINTin許容される最大コンテキストスイッチ率 (CSR) を指定する。
vtbl 22 HRESULT GetWaitTimeForThreadCleanup(DWORD* pdwThreadCleanupWaitTime)
pdwThreadCleanupWaitTimeDWORD*outスレッドのクリーンアップを行うまでの待機時間 (ミリ秒) を受け取る DWORD へのポインタである。
vtbl 23 HRESULT SetWaitTimeForThreadCleanup(INT dwThreadCleanupWaitTime)
dwThreadCleanupWaitTimeINTinスレッドのクリーンアップを行うまでの待機時間をミリ秒単位で指定する。

HSP用 COM定義

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

出力引数:
#define global IID_IComStaThreadPoolKnobs2 "{73707523-FF9A-4974-BF84-2108DC213740}"
#usecom global IComStaThreadPoolKnobs2 IID_IComStaThreadPoolKnobs2 "{}"
#comfunc global IComStaThreadPoolKnobs2_GetMaxCPULoad                 14 var
#comfunc global IComStaThreadPoolKnobs2_SetMaxCPULoad                 15 int
#comfunc global IComStaThreadPoolKnobs2_GetCPUMetricEnabled           16 var
#comfunc global IComStaThreadPoolKnobs2_SetCPUMetricEnabled           17 int
#comfunc global IComStaThreadPoolKnobs2_GetCreateThreadsAggressively  18 var
#comfunc global IComStaThreadPoolKnobs2_SetCreateThreadsAggressively  19 int
#comfunc global IComStaThreadPoolKnobs2_GetMaxCSR                     20 var
#comfunc global IComStaThreadPoolKnobs2_SetMaxCSR                     21 int
#comfunc global IComStaThreadPoolKnobs2_GetWaitTimeForThreadCleanup   22 var
#comfunc global IComStaThreadPoolKnobs2_SetWaitTimeForThreadCleanup   23 int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。