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

IAddrBook

COM
継承元IMAPIProp自前メソッド開始 vtbl14

メソッド 18

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

vtbl 14 HRESULT OpenEntry(DWORD cbEntryID, ENTRYID* lpEntryID, GUID* lpInterface, DWORD ulFlags, DWORD* lpulObjType, IUnknown** lppUnk)
cbEntryIDDWORDinlpEntryID が指すエントリ ID のバイト数を指定する。
lpEntryIDENTRYID*inout開くオブジェクトを識別するエントリ ID へのポインタである。NULL を渡すとアドレス帳のルートコンテナを開く。
lpInterfaceGUID*inout返されるオブジェクトに対して要求するインターフェイスの IID へのポインタである。NULL の場合は既定のインターフェイスを返す。
ulFlagsDWORDinオープン動作を制御するフラグを指定する。
lpulObjTypeDWORD*inout開かれたオブジェクトの種類 (MAPI_FOLDER、MAPI_MESSAGE 等) を受け取る変数へのポインタである。
lppUnkIUnknown**out開かれたオブジェクトへのインターフェイスポインタを受け取る変数へのポインタである。
vtbl 15 HRESULT CompareEntryIDs(DWORD cbEntryID1, ENTRYID* lpEntryID1, DWORD cbEntryID2, ENTRYID* lpEntryID2, DWORD ulFlags, DWORD* lpulResult)
cbEntryID1DWORDinlpEntryID1 が指すエントリ ID のバイト数を指定する。
lpEntryID1ENTRYID*inout比較する 1 つ目のエントリ ID へのポインタである。
cbEntryID2DWORDinlpEntryID2 が指すエントリ ID のバイト数を指定する。
lpEntryID2ENTRYID*inout比較する 2 つ目のエントリ ID へのポインタである。
ulFlagsDWORDin比較動作を制御するフラグを指定する。予約済みであり 0 を指定する。
lpulResultDWORD*inout2 つのエントリ ID が同一オブジェクトを指す場合は TRUE を、そうでなければ FALSE を受け取る変数へのポインタである。
vtbl 16 HRESULT Advise(DWORD cbEntryID, ENTRYID* lpEntryID, DWORD ulEventMask, IMAPIAdviseSink* lpAdviseSink, DWORD* lpulConnection)
cbEntryIDDWORDinlpEntryID が指すエントリ ID のバイト数を指定する。
lpEntryIDENTRYID*inout通知を受け取る対象オブジェクトのエントリ ID へのポインタである。NULL の場合はアドレス帳全体を対象とする。
ulEventMaskDWORDin通知を受け取るイベントの種類を示すマスクを指定する。
lpAdviseSinkIMAPIAdviseSink*inイベント発生時に呼び出される通知シンク (IMAPIAdviseSink) へのポインタである。
lpulConnectionDWORD*inout登録された通知接続を識別する接続番号を受け取る変数へのポインタである。
vtbl 17 HRESULT Unadvise(DWORD ulConnection)
ulConnectionDWORDinAdvise で取得した接続番号を指定し、対応する通知登録を解除する。
vtbl 18 HRESULT CreateOneOff(CHAR* lpszName, CHAR* lpszAdrType, CHAR* lpszAddress, DWORD ulFlags, DWORD* lpcbEntryID, ENTRYID** lppEntryID)
lpszNameCHAR*inout作成するワンオフ受信者の表示名へのポインタである。
lpszAdrTypeCHAR*inoutアドレスの種類 ("SMTP" 等) を示す文字列へのポインタである。
lpszAddressCHAR*inout電子メールアドレス文字列へのポインタである。
ulFlagsDWORDin文字列のコードページ等を制御するフラグを指定する。
lpcbEntryIDDWORD*inout生成されたエントリ ID のバイト数を受け取る変数へのポインタである。
lppEntryIDENTRYID**inout生成されたワンオフエントリ ID を受け取るポインタへのポインタである。
vtbl 19 HRESULT NewEntry(DWORD ulUIParam, DWORD ulFlags, DWORD cbEIDContainer, ENTRYID* lpEIDContainer, DWORD cbEIDNewEntryTpl, ENTRYID* lpEIDNewEntryTpl, DWORD* lpcbEIDNewEntry, ENTRYID** lppEIDNewEntry)
ulUIParamDWORDinダイアログの親ウィンドウハンドルを指定する。
ulFlagsDWORDinUI 表示等の動作を制御するフラグを指定する。
cbEIDContainerDWORDinlpEIDContainer が指すコンテナエントリ ID のバイト数を指定する。
lpEIDContainerENTRYID*inout新しいエントリを追加するコンテナのエントリ ID へのポインタである。
cbEIDNewEntryTplDWORDinlpEIDNewEntryTpl が指すテンプレートエントリ ID のバイト数を指定する。
lpEIDNewEntryTplENTRYID*inout新しいエントリの作成に使用するテンプレートのエントリ ID へのポインタである。
lpcbEIDNewEntryDWORD*inout作成された新エントリのエントリ ID のバイト数を受け取る変数へのポインタである。
lppEIDNewEntryENTRYID**inout作成された新エントリのエントリ ID を受け取るポインタへのポインタである。
vtbl 20 HRESULT ResolveName(UINT_PTR ulUIParam, DWORD ulFlags, CHAR* lpszNewEntryTitle, ADRLIST* lpAdrList)
ulUIParamUINT_PTRinダイアログの親ウィンドウハンドルを指定する。
ulFlagsDWORDin名前解決の動作および UI 表示を制御するフラグを指定する。
lpszNewEntryTitleCHAR*inout解決できない名前を新規作成する際に表示するダイアログのタイトル文字列へのポインタである。
lpAdrListADRLIST*inout解決対象の受信者を格納し、解決結果で更新されるアドレスリストへのポインタである。
vtbl 21 HRESULT Address(DWORD* lpulUIParam, ADRPARM* lpAdrParms, ADRLIST** lppAdrList)
lpulUIParamDWORD*inoutダイアログの親ウィンドウハンドルを指定および受け取る変数へのポインタである。
lpAdrParmsADRPARM*inoutアドレス指定ダイアログの外観や動作を制御するパラメータ構造体へのポインタである。
lppAdrListADRLIST**inoutユーザーが選択した受信者を格納するアドレスリストを受け取るポインタへのポインタである。
vtbl 22 HRESULT Details(UINT_PTR* lpulUIParam, LPFNDISMISS lpfnDismiss, void* lpvDismissContext, DWORD cbEntryID, ENTRYID* lpEntryID, LPFNBUTTON lpfButtonCallback, void* lpvButtonContext, CHAR* lpszButtonText, DWORD ulFlags)
lpulUIParamUINT_PTR*inoutダイアログの親ウィンドウハンドルを指定および受け取る変数へのポインタである。
lpfnDismissLPFNDISMISSin詳細ダイアログが閉じられたときに呼び出されるコールバック関数へのポインタである。
lpvDismissContextvoid*inoutDismiss コールバックに渡されるコンテキストデータへのポインタである。
cbEntryIDDWORDinlpEntryID が指すエントリ ID のバイト数を指定する。
lpEntryIDENTRYID*inout詳細を表示する受信者オブジェクトのエントリ ID へのポインタである。
lpfButtonCallbackLPFNBUTTONinダイアログに追加するボタンが押されたときに呼び出されるコールバック関数へのポインタである。
lpvButtonContextvoid*inoutボタンコールバックに渡されるコンテキストデータへのポインタである。
lpszButtonTextCHAR*inout追加ボタンに表示するテキスト文字列へのポインタである。
ulFlagsDWORDinダイアログの表示や動作を制御するフラグを指定する。
vtbl 23 HRESULT RecipOptions(DWORD ulUIParam, DWORD ulFlags, ADRENTRY* lpRecip)
ulUIParamDWORDinダイアログの親ウィンドウハンドルを指定する。
ulFlagsDWORDinUI 表示等の動作を制御するフラグを指定する。
lpRecipADRENTRY*inout送信オプションを設定する受信者を表すアドレスエントリへのポインタである。
vtbl 24 HRESULT QueryDefaultRecipOpt(CHAR* lpszAdrType, DWORD ulFlags, DWORD* lpcValues, SPropValue** lppOptions)
lpszAdrTypeCHAR*inout既定オプションを取得する対象のアドレスの種類を示す文字列へのポインタである。
ulFlagsDWORDin文字列形式等を制御するフラグを指定する。
lpcValuesDWORD*inout返されるプロパティ値の個数を受け取る変数へのポインタである。
lppOptionsSPropValue**inout既定の受信者オプションを表すプロパティ値配列を受け取るポインタへのポインタである。
vtbl 25 HRESULT GetPAB(DWORD* lpcbEntryID, ENTRYID** lppEntryID)
lpcbEntryIDDWORD*inout返される個人用アドレス帳のエントリ ID のバイト数を受け取る変数へのポインタである。
lppEntryIDENTRYID**inout個人用アドレス帳のエントリ ID を受け取るポインタへのポインタである。
vtbl 26 HRESULT SetPAB(DWORD cbEntryID, ENTRYID* lpEntryID)
cbEntryIDDWORDinlpEntryID が指すエントリ ID のバイト数を指定する。
lpEntryIDENTRYID*inout個人用アドレス帳として設定するコンテナのエントリ ID へのポインタである。
vtbl 27 HRESULT GetDefaultDir(DWORD* lpcbEntryID, ENTRYID** lppEntryID)
lpcbEntryIDDWORD*inout返される既定ディレクトリのエントリ ID のバイト数を受け取る変数へのポインタである。
lppEntryIDENTRYID**inout既定ディレクトリコンテナのエントリ ID を受け取るポインタへのポインタである。
vtbl 28 HRESULT SetDefaultDir(DWORD cbEntryID, ENTRYID* lpEntryID)
cbEntryIDDWORDinlpEntryID が指すエントリ ID のバイト数を指定する。
lpEntryIDENTRYID*inout既定ディレクトリとして設定するコンテナのエントリ ID へのポインタである。
vtbl 29 HRESULT GetSearchPath(DWORD ulFlags, SRowSet** lppSearchPath)
ulFlagsDWORDin検索パスの取得動作を制御するフラグを指定する。
lppSearchPathSRowSet**inout名前解決に用いるコンテナの検索パスを表す行セットを受け取るポインタへのポインタである。
vtbl 30 HRESULT SetSearchPath(DWORD ulFlags, SRowSet* lpSearchPath)
ulFlagsDWORDin検索パスの設定動作を制御するフラグを指定する。
lpSearchPathSRowSet*inout名前解決に用いるコンテナの順序付き検索パスを表す行セットへのポインタである。
vtbl 31 HRESULT PrepareRecips(DWORD ulFlags, SPropTagArray* lpPropTagArray, ADRLIST* lpRecipList)
ulFlagsDWORDin受信者準備の動作を制御するフラグを指定する。
lpPropTagArraySPropTagArray*inout各受信者から取得するプロパティを示すプロパティタグ配列へのポインタである。NULL の場合は既定のプロパティを取得する。
lpRecipListADRLIST*inoutプロパティを補完する対象の受信者リストへのポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_IAddrBook "{}"
#usecom global IAddrBook IID_IAddrBook "{}"
#comfunc global IAddrBook_OpenEntry             14 int,var,var,int,var,sptr
#comfunc global IAddrBook_CompareEntryIDs       15 int,var,int,var,int,var
#comfunc global IAddrBook_Advise                16 int,var,int,sptr,var
#comfunc global IAddrBook_Unadvise              17 int
#comfunc global IAddrBook_CreateOneOff          18 var,var,var,int,var,var
#comfunc global IAddrBook_NewEntry              19 int,int,int,var,int,var,var,var
#comfunc global IAddrBook_ResolveName           20 sptr,int,var,var
#comfunc global IAddrBook_Address               21 var,var,var
#comfunc global IAddrBook_Details               22 var,sptr,sptr,int,var,sptr,sptr,var,int
#comfunc global IAddrBook_RecipOptions          23 int,int,var
#comfunc global IAddrBook_QueryDefaultRecipOpt  24 var,int,var,var
#comfunc global IAddrBook_GetPAB                25 var,var
#comfunc global IAddrBook_SetPAB                26 int,var
#comfunc global IAddrBook_GetDefaultDir         27 var,var
#comfunc global IAddrBook_SetDefaultDir         28 int,var
#comfunc global IAddrBook_GetSearchPath         29 int,var
#comfunc global IAddrBook_SetSearchPath         30 int,var
#comfunc global IAddrBook_PrepareRecips         31 int,var,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。