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

IServicePoolConfig

COM
IIDa9690656-5bca-470c-8451-250c1f43a33e継承元IUnknown自前メソッド開始 vtbl3

メソッド 10

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

vtbl 3 HRESULT put_MaxPoolSize(DWORD dwMaxPool)
dwMaxPoolDWORDinオブジェクトプールに保持できる最大オブジェクト数を指定する。
vtbl 4 HRESULT get_MaxPoolSize(DWORD* pdwMaxPool)
pdwMaxPoolDWORD*inoutオブジェクトプールの最大オブジェクト数を受け取る DWORD へのポインタである。
vtbl 5 HRESULT put_MinPoolSize(DWORD dwMinPool)
dwMinPoolDWORDinオブジェクトプールに保持する最小オブジェクト数を指定する。
vtbl 6 HRESULT get_MinPoolSize(DWORD* pdwMinPool)
pdwMinPoolDWORD*inoutオブジェクトプールの最小オブジェクト数を受け取る DWORD へのポインタである。
vtbl 7 HRESULT put_CreationTimeout(DWORD dwCreationTimeout)
dwCreationTimeoutDWORDinプールからオブジェクトを取得する際の待機タイムアウト時間 (ミリ秒) を指定する。
vtbl 8 HRESULT get_CreationTimeout(DWORD* pdwCreationTimeout)
pdwCreationTimeoutDWORD*inoutプールからオブジェクトを取得する際の待機タイムアウト時間 (ミリ秒) を受け取る DWORD へのポインタである。
vtbl 9 HRESULT put_TransactionAffinity(BOOL fTxAffinity)
fTxAffinityBOOLinプールオブジェクトをトランザクションに親和させる場合に TRUE を指定する。
vtbl 10 HRESULT get_TransactionAffinity(BOOL* pfTxAffinity)
pfTxAffinityBOOL*inoutトランザクション親和性が有効かどうかを受け取る BOOL へのポインタである。
vtbl 11 HRESULT put_ClassFactory(IClassFactory* pFactory)
pFactoryIClassFactory*inプール対象オブジェクトを生成するために使用する IClassFactory インターフェイスへのポインタである。
vtbl 12 HRESULT get_ClassFactory(IClassFactory** pFactory)
pFactoryIClassFactory**outプールが使用するクラスファクトリ (IClassFactory) を受け取るポインタのポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_IServicePoolConfig "{A9690656-5BCA-470C-8451-250C1F43A33E}"
#usecom global IServicePoolConfig IID_IServicePoolConfig "{ECABB0CA-7F19-11D2-978E-0000F8757E2A}"
#comfunc global IServicePoolConfig_put_MaxPoolSize          3 int
#comfunc global IServicePoolConfig_get_MaxPoolSize          4 var
#comfunc global IServicePoolConfig_put_MinPoolSize          5 int
#comfunc global IServicePoolConfig_get_MinPoolSize          6 var
#comfunc global IServicePoolConfig_put_CreationTimeout      7 int
#comfunc global IServicePoolConfig_get_CreationTimeout      8 var
#comfunc global IServicePoolConfig_put_TransactionAffinity  9 int
#comfunc global IServicePoolConfig_get_TransactionAffinity  10 var
#comfunc global IServicePoolConfig_put_ClassFactory         11 sptr
#comfunc global IServicePoolConfig_get_ClassFactory         12 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。