ホーム › System.AddressBook › IAddrBook
IAddrBook
COMメソッド 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)
| cbEntryID | DWORD | in | lpEntryID が指すエントリ ID のバイト数を指定する。 |
| lpEntryID | ENTRYID* | inout | 開くオブジェクトを識別するエントリ ID へのポインタである。NULL を渡すとアドレス帳のルートコンテナを開く。 |
| lpInterface | GUID* | inout | 返されるオブジェクトに対して要求するインターフェイスの IID へのポインタである。NULL の場合は既定のインターフェイスを返す。 |
| ulFlags | DWORD | in | オープン動作を制御するフラグを指定する。 |
| lpulObjType | DWORD* | inout | 開かれたオブジェクトの種類 (MAPI_FOLDER、MAPI_MESSAGE 等) を受け取る変数へのポインタである。 |
| lppUnk | IUnknown** | out | 開かれたオブジェクトへのインターフェイスポインタを受け取る変数へのポインタである。 |
vtbl 15 HRESULT CompareEntryIDs(DWORD cbEntryID1, ENTRYID* lpEntryID1, DWORD cbEntryID2, ENTRYID* lpEntryID2, DWORD ulFlags, DWORD* lpulResult)
| cbEntryID1 | DWORD | in | lpEntryID1 が指すエントリ ID のバイト数を指定する。 |
| lpEntryID1 | ENTRYID* | inout | 比較する 1 つ目のエントリ ID へのポインタである。 |
| cbEntryID2 | DWORD | in | lpEntryID2 が指すエントリ ID のバイト数を指定する。 |
| lpEntryID2 | ENTRYID* | inout | 比較する 2 つ目のエントリ ID へのポインタである。 |
| ulFlags | DWORD | in | 比較動作を制御するフラグを指定する。予約済みであり 0 を指定する。 |
| lpulResult | DWORD* | inout | 2 つのエントリ ID が同一オブジェクトを指す場合は TRUE を、そうでなければ FALSE を受け取る変数へのポインタである。 |
vtbl 16 HRESULT Advise(DWORD cbEntryID, ENTRYID* lpEntryID, DWORD ulEventMask, IMAPIAdviseSink* lpAdviseSink, DWORD* lpulConnection)
| cbEntryID | DWORD | in | lpEntryID が指すエントリ ID のバイト数を指定する。 |
| lpEntryID | ENTRYID* | inout | 通知を受け取る対象オブジェクトのエントリ ID へのポインタである。NULL の場合はアドレス帳全体を対象とする。 |
| ulEventMask | DWORD | in | 通知を受け取るイベントの種類を示すマスクを指定する。 |
| lpAdviseSink | IMAPIAdviseSink* | in | イベント発生時に呼び出される通知シンク (IMAPIAdviseSink) へのポインタである。 |
| lpulConnection | DWORD* | inout | 登録された通知接続を識別する接続番号を受け取る変数へのポインタである。 |
| ulConnection | DWORD | in | Advise で取得した接続番号を指定し、対応する通知登録を解除する。 |
vtbl 18 HRESULT CreateOneOff(CHAR* lpszName, CHAR* lpszAdrType, CHAR* lpszAddress, DWORD ulFlags, DWORD* lpcbEntryID, ENTRYID** lppEntryID)
| lpszName | CHAR* | inout | 作成するワンオフ受信者の表示名へのポインタである。 |
| lpszAdrType | CHAR* | inout | アドレスの種類 ("SMTP" 等) を示す文字列へのポインタである。 |
| lpszAddress | CHAR* | inout | 電子メールアドレス文字列へのポインタである。 |
| ulFlags | DWORD | in | 文字列のコードページ等を制御するフラグを指定する。 |
| lpcbEntryID | DWORD* | inout | 生成されたエントリ ID のバイト数を受け取る変数へのポインタである。 |
| lppEntryID | ENTRYID** | inout | 生成されたワンオフエントリ ID を受け取るポインタへのポインタである。 |
vtbl 19 HRESULT NewEntry(DWORD ulUIParam, DWORD ulFlags, DWORD cbEIDContainer, ENTRYID* lpEIDContainer, DWORD cbEIDNewEntryTpl, ENTRYID* lpEIDNewEntryTpl, DWORD* lpcbEIDNewEntry, ENTRYID** lppEIDNewEntry)
| ulUIParam | DWORD | in | ダイアログの親ウィンドウハンドルを指定する。 |
| ulFlags | DWORD | in | UI 表示等の動作を制御するフラグを指定する。 |
| cbEIDContainer | DWORD | in | lpEIDContainer が指すコンテナエントリ ID のバイト数を指定する。 |
| lpEIDContainer | ENTRYID* | inout | 新しいエントリを追加するコンテナのエントリ ID へのポインタである。 |
| cbEIDNewEntryTpl | DWORD | in | lpEIDNewEntryTpl が指すテンプレートエントリ ID のバイト数を指定する。 |
| lpEIDNewEntryTpl | ENTRYID* | inout | 新しいエントリの作成に使用するテンプレートのエントリ ID へのポインタである。 |
| lpcbEIDNewEntry | DWORD* | inout | 作成された新エントリのエントリ ID のバイト数を受け取る変数へのポインタである。 |
| lppEIDNewEntry | ENTRYID** | inout | 作成された新エントリのエントリ ID を受け取るポインタへのポインタである。 |
vtbl 20 HRESULT ResolveName(UINT_PTR ulUIParam, DWORD ulFlags, CHAR* lpszNewEntryTitle, ADRLIST* lpAdrList)
| ulUIParam | UINT_PTR | in | ダイアログの親ウィンドウハンドルを指定する。 |
| ulFlags | DWORD | in | 名前解決の動作および UI 表示を制御するフラグを指定する。 |
| lpszNewEntryTitle | CHAR* | inout | 解決できない名前を新規作成する際に表示するダイアログのタイトル文字列へのポインタである。 |
| lpAdrList | ADRLIST* | inout | 解決対象の受信者を格納し、解決結果で更新されるアドレスリストへのポインタである。 |
| lpulUIParam | DWORD* | inout | ダイアログの親ウィンドウハンドルを指定および受け取る変数へのポインタである。 |
| lpAdrParms | ADRPARM* | inout | アドレス指定ダイアログの外観や動作を制御するパラメータ構造体へのポインタである。 |
| lppAdrList | ADRLIST** | inout | ユーザーが選択した受信者を格納するアドレスリストを受け取るポインタへのポインタである。 |
vtbl 22 HRESULT Details(UINT_PTR* lpulUIParam, LPFNDISMISS lpfnDismiss, void* lpvDismissContext, DWORD cbEntryID, ENTRYID* lpEntryID, LPFNBUTTON lpfButtonCallback, void* lpvButtonContext, CHAR* lpszButtonText, DWORD ulFlags)
| lpulUIParam | UINT_PTR* | inout | ダイアログの親ウィンドウハンドルを指定および受け取る変数へのポインタである。 |
| lpfnDismiss | LPFNDISMISS | in | 詳細ダイアログが閉じられたときに呼び出されるコールバック関数へのポインタである。 |
| lpvDismissContext | void* | inout | Dismiss コールバックに渡されるコンテキストデータへのポインタである。 |
| cbEntryID | DWORD | in | lpEntryID が指すエントリ ID のバイト数を指定する。 |
| lpEntryID | ENTRYID* | inout | 詳細を表示する受信者オブジェクトのエントリ ID へのポインタである。 |
| lpfButtonCallback | LPFNBUTTON | in | ダイアログに追加するボタンが押されたときに呼び出されるコールバック関数へのポインタである。 |
| lpvButtonContext | void* | inout | ボタンコールバックに渡されるコンテキストデータへのポインタである。 |
| lpszButtonText | CHAR* | inout | 追加ボタンに表示するテキスト文字列へのポインタである。 |
| ulFlags | DWORD | in | ダイアログの表示や動作を制御するフラグを指定する。 |
| ulUIParam | DWORD | in | ダイアログの親ウィンドウハンドルを指定する。 |
| ulFlags | DWORD | in | UI 表示等の動作を制御するフラグを指定する。 |
| lpRecip | ADRENTRY* | inout | 送信オプションを設定する受信者を表すアドレスエントリへのポインタである。 |
vtbl 24 HRESULT QueryDefaultRecipOpt(CHAR* lpszAdrType, DWORD ulFlags, DWORD* lpcValues, SPropValue** lppOptions)
| lpszAdrType | CHAR* | inout | 既定オプションを取得する対象のアドレスの種類を示す文字列へのポインタである。 |
| ulFlags | DWORD | in | 文字列形式等を制御するフラグを指定する。 |
| lpcValues | DWORD* | inout | 返されるプロパティ値の個数を受け取る変数へのポインタである。 |
| lppOptions | SPropValue** | inout | 既定の受信者オプションを表すプロパティ値配列を受け取るポインタへのポインタである。 |
| lpcbEntryID | DWORD* | inout | 返される個人用アドレス帳のエントリ ID のバイト数を受け取る変数へのポインタである。 |
| lppEntryID | ENTRYID** | inout | 個人用アドレス帳のエントリ ID を受け取るポインタへのポインタである。 |
| cbEntryID | DWORD | in | lpEntryID が指すエントリ ID のバイト数を指定する。 |
| lpEntryID | ENTRYID* | inout | 個人用アドレス帳として設定するコンテナのエントリ ID へのポインタである。 |
| lpcbEntryID | DWORD* | inout | 返される既定ディレクトリのエントリ ID のバイト数を受け取る変数へのポインタである。 |
| lppEntryID | ENTRYID** | inout | 既定ディレクトリコンテナのエントリ ID を受け取るポインタへのポインタである。 |
| cbEntryID | DWORD | in | lpEntryID が指すエントリ ID のバイト数を指定する。 |
| lpEntryID | ENTRYID* | inout | 既定ディレクトリとして設定するコンテナのエントリ ID へのポインタである。 |
| ulFlags | DWORD | in | 検索パスの取得動作を制御するフラグを指定する。 |
| lppSearchPath | SRowSet** | inout | 名前解決に用いるコンテナの検索パスを表す行セットを受け取るポインタへのポインタである。 |
| ulFlags | DWORD | in | 検索パスの設定動作を制御するフラグを指定する。 |
| lpSearchPath | SRowSet* | inout | 名前解決に用いるコンテナの順序付き検索パスを表す行セットへのポインタである。 |
vtbl 31 HRESULT PrepareRecips(DWORD ulFlags, SPropTagArray* lpPropTagArray, ADRLIST* lpRecipList)
| ulFlags | DWORD | in | 受信者準備の動作を制御するフラグを指定する。 |
| lpPropTagArray | SPropTagArray* | inout | 各受信者から取得するプロパティを示すプロパティタグ配列へのポインタである。NULL の場合は既定のプロパティを取得する。 |
| lpRecipList | ADRLIST* | 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 指定が可能。#define global IID_IAddrBook "{}" #usecom global IAddrBook IID_IAddrBook "{}" #comfunc global IAddrBook_OpenEntry 14 int,sptr,sptr,int,sptr,sptr #comfunc global IAddrBook_CompareEntryIDs 15 int,sptr,int,sptr,int,sptr #comfunc global IAddrBook_Advise 16 int,sptr,int,sptr,sptr #comfunc global IAddrBook_Unadvise 17 int #comfunc global IAddrBook_CreateOneOff 18 sptr,sptr,sptr,int,sptr,sptr #comfunc global IAddrBook_NewEntry 19 int,int,int,sptr,int,sptr,sptr,sptr #comfunc global IAddrBook_ResolveName 20 sptr,int,sptr,sptr #comfunc global IAddrBook_Address 21 sptr,sptr,sptr #comfunc global IAddrBook_Details 22 sptr,sptr,sptr,int,sptr,sptr,sptr,sptr,int #comfunc global IAddrBook_RecipOptions 23 int,int,sptr #comfunc global IAddrBook_QueryDefaultRecipOpt 24 sptr,int,sptr,sptr #comfunc global IAddrBook_GetPAB 25 sptr,sptr #comfunc global IAddrBook_SetPAB 26 int,sptr #comfunc global IAddrBook_GetDefaultDir 27 sptr,sptr #comfunc global IAddrBook_SetDefaultDir 28 int,sptr #comfunc global IAddrBook_GetSearchPath 29 int,sptr #comfunc global IAddrBook_SetSearchPath 30 int,sptr #comfunc global IAddrBook_PrepareRecips 31 int,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。