Win32 API 日本語リファレンス
ホームNetworking.BackgroundIntelligentTransferService › IBitsPeerCacheAdministration

IBitsPeerCacheAdministration

COM
IID659cdead-489e-11d9-a9cd-000d56965251継承元IUnknown自前メソッド開始 vtbl3

メソッド 14

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

vtbl 3 HRESULT GetMaximumCacheSize(DWORD* pBytes)
pBytesDWORD*outピアキャッシュの最大サイズ(バイト)を受け取る出力ポインタ。
vtbl 4 HRESULT SetMaximumCacheSize(DWORD Bytes)
BytesDWORDin設定するピアキャッシュの最大サイズ(バイト)。
vtbl 5 HRESULT GetMaximumContentAge(DWORD* pSeconds)
pSecondsDWORD*outキャッシュコンテンツの最大保持期間(秒)を受け取る出力ポインタ。
vtbl 6 HRESULT SetMaximumContentAge(DWORD Seconds)
SecondsDWORDin設定するキャッシュコンテンツの最大保持期間(秒)。
vtbl 7 HRESULT GetConfigurationFlags(DWORD* pFlags)
pFlagsDWORD*out現在のピアキャッシュ構成フラグを受け取る出力ポインタ。
vtbl 8 HRESULT SetConfigurationFlags(DWORD Flags)
FlagsDWORDin設定するピアキャッシュ構成フラグ(キャッシュ提供/利用の有効化等)。
vtbl 9 HRESULT EnumRecords(IEnumBitsPeerCacheRecords** ppEnum)
ppEnumIEnumBitsPeerCacheRecords**out全キャッシュレコードを列挙するIEnumBitsPeerCacheRecordsを受け取る出力ポインタ。
vtbl 10 HRESULT GetRecord(GUID* id, IBitsPeerCacheRecord** ppRecord)
idGUID*in取得対象キャッシュレコードのGUID。
ppRecordIBitsPeerCacheRecord**out取得したIBitsPeerCacheRecordを受け取る出力ポインタ。
vtbl 11 HRESULT ClearRecords()
vtbl 12 HRESULT DeleteRecord(GUID* id)
idGUID*in削除対象キャッシュレコードのGUID。
vtbl 13 HRESULT DeleteUrl(LPWSTR url)
urlLPWSTRin削除対象とするキャッシュレコードの元URL。
vtbl 14 HRESULT EnumPeers(IEnumBitsPeers** ppEnum)
ppEnumIEnumBitsPeers**out既知のピアを列挙するIEnumBitsPeersを受け取る出力ポインタ。
vtbl 15 HRESULT ClearPeers()
vtbl 16 HRESULT DiscoverPeers()

HSP用 COM定義

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

出力引数:
#define global IID_IBitsPeerCacheAdministration "{659CDEAD-489E-11D9-A9CD-000D56965251}"
#usecom global IBitsPeerCacheAdministration IID_IBitsPeerCacheAdministration "{}"
#comfunc global IBitsPeerCacheAdministration_GetMaximumCacheSize    3 var
#comfunc global IBitsPeerCacheAdministration_SetMaximumCacheSize    4 int
#comfunc global IBitsPeerCacheAdministration_GetMaximumContentAge   5 var
#comfunc global IBitsPeerCacheAdministration_SetMaximumContentAge   6 int
#comfunc global IBitsPeerCacheAdministration_GetConfigurationFlags  7 var
#comfunc global IBitsPeerCacheAdministration_SetConfigurationFlags  8 int
#comfunc global IBitsPeerCacheAdministration_EnumRecords            9 sptr
#comfunc global IBitsPeerCacheAdministration_GetRecord              10 var,sptr
#comfunc global IBitsPeerCacheAdministration_ClearRecords           11
#comfunc global IBitsPeerCacheAdministration_DeleteRecord           12 var
#comfunc global IBitsPeerCacheAdministration_DeleteUrl              13 wstr
#comfunc global IBitsPeerCacheAdministration_EnumPeers              14 sptr
#comfunc global IBitsPeerCacheAdministration_ClearPeers             15
#comfunc global IBitsPeerCacheAdministration_DiscoverPeers          16
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。