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

IABContainer

COM
継承元IMAPIContainer自前メソッド開始 vtbl19

メソッド 4

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

vtbl 19 HRESULT CreateEntry(DWORD cbEntryID, ENTRYID* lpEntryID, DWORD ulCreateFlags, IMAPIProp** lppMAPIPropEntry)
cbEntryIDDWORDinlpEntryID が指すテンプレートエントリ ID のバイト数を指定する。
lpEntryIDENTRYID*in作成するエントリの種類を示すテンプレートのエントリ ID へのポインタである。
ulCreateFlagsDWORDinエントリ作成の動作を制御するフラグを指定する。
lppMAPIPropEntryIMAPIProp**out作成された新規エントリの IMAPIProp を受け取るポインタである。
vtbl 20 HRESULT CopyEntries(SBinaryArray* lpEntries, UINT_PTR ulUIParam, IMAPIProgress* lpProgress, DWORD ulFlags)
lpEntriesSBinaryArray*inコピーするエントリのエントリ ID 配列 SBinaryArray へのポインタである。
ulUIParamUINT_PTRinoptional進捗表示時の親ウィンドウのハンドルを指定する。
lpProgressIMAPIProgress*inoptional進捗を表示する IMAPIProgress を指定する。不要なら NULL を指定する。
ulFlagsDWORDinコピー動作を制御するフラグを指定する。
vtbl 21 HRESULT DeleteEntries(SBinaryArray* lpEntries, DWORD ulFlags)
lpEntriesSBinaryArray*in削除するエントリのエントリ ID 配列 SBinaryArray へのポインタである。
ulFlagsDWORDin削除動作を制御するフラグを指定する。
vtbl 22 HRESULT ResolveNames(SPropTagArray* lpPropTagArray, DWORD ulFlags, ADRLIST* lpAdrList, FlagList* lpFlagList)
lpPropTagArraySPropTagArray*inoptional解決結果として取得するプロパティのタグ配列 SPropTagArray へのポインタである。
ulFlagsDWORDin名前解決の動作を制御するフラグを指定する。
lpAdrListADRLIST*in解決対象の宛先名を含むアドレスリスト ADRLIST へのポインタである。解決結果で更新される。
lpFlagListFlagList*out各エントリの解決状態を示すフラグリスト FlagList へのポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_IABContainer "{}"
#usecom global IABContainer IID_IABContainer "{}"
#comfunc global IABContainer_CreateEntry    19 int,var,int,sptr
#comfunc global IABContainer_CopyEntries    20 var,sptr,sptr,int
#comfunc global IABContainer_DeleteEntries  21 var,int
#comfunc global IABContainer_ResolveNames   22 var,int,var,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。