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

IWABObject

COM
継承元IUnknown自前メソッド開始 vtbl3

メソッド 13

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

vtbl 3 HRESULT GetLastError(HRESULT hResult, DWORD ulFlags, MAPIERROR** lppMAPIError)
hResultHRESULTin詳細情報を取得する対象となった、直前の呼び出しのエラーコードを指定する。
ulFlagsDWORDin返される文字列の形式 (ANSI/Unicode) を制御するフラグを指定する。
lppMAPIErrorMAPIERROR**inoutエラーの詳細情報を格納する MAPIERROR 構造体を受け取るポインタへのポインタである。
vtbl 4 HRESULT AllocateBuffer(DWORD cbSize, void** lppBuffer)
cbSizeDWORDin確保するバッファのバイト数を指定する。
lppBuffervoid**out確保されたメモリブロックの先頭アドレスを受け取るポインタへのポインタである。
vtbl 5 HRESULT AllocateMore(DWORD cbSize, void* lpObject, void** lppBuffer)
cbSizeDWORDin追加で確保するバッファのバイト数を指定する。
lpObjectvoid*inAllocateBuffer で確保済みの、追加メモリを関連付ける基準オブジェクトへのポインタである。
lppBuffervoid**out確保されたメモリブロックの先頭アドレスを受け取るポインタへのポインタである。
vtbl 6 HRESULT FreeBuffer(void* lpBuffer)
lpBuffervoid*inAllocateBuffer で確保したメモリブロックへのポインタを指定し、解放する。
vtbl 7 HRESULT Backup(LPSTR lpFileName)
lpFileNameLPSTRinアドレス帳のバックアップ先ファイル名へのポインタである。
vtbl 8 HRESULT Import(LPSTR lpWIP)
lpWIPLPSTRinインポートする WAB ファイルのパス文字列へのポインタである。
vtbl 9 HRESULT Find(IAddrBook* lpIAB, HWND hWnd)
lpIABIAddrBook*in検索対象のアドレス帳を表す IAddrBook へのポインタである。
hWndHWNDinoptional検索ダイアログの親ウィンドウハンドルを指定する。
vtbl 10 HRESULT VCardDisplay(IAddrBook* lpIAB, HWND hWnd, LPSTR lpszFileName)
lpIABIAddrBook*in対象アドレス帳を表す IAddrBook へのポインタである。
hWndHWNDinoptionalダイアログの親ウィンドウハンドルを指定する。
lpszFileNameLPSTRin表示する vCard ファイルのパス文字列へのポインタである。
vtbl 11 HRESULT LDAPUrl(IAddrBook* lpIAB, HWND hWnd, DWORD ulFlags, LPSTR lpszURL, IMailUser** lppMailUser)
lpIABIAddrBook*in対象アドレス帳を表す IAddrBook へのポインタである。
hWndHWNDinoptionalダイアログの親ウィンドウハンドルを指定する。
ulFlagsDWORDinLDAP URL の処理動作を制御するフラグを指定する。
lpszURLLPSTRin解決する LDAP URL 文字列へのポインタである。
lppMailUserIMailUser**outLDAP から取得したユーザー情報を表す IMailUser を受け取るポインタへのポインタである。
vtbl 12 HRESULT VCardCreate(IAddrBook* lpIAB, DWORD ulFlags, LPSTR lpszVCard, IMailUser* lpMailUser)
lpIABIAddrBook*in対象アドレス帳を表す IAddrBook へのポインタである。
ulFlagsDWORDinvCard 生成動作を制御するフラグを指定する。
lpszVCardLPSTRin出力する vCard ファイルのパス文字列へのポインタである。
lpMailUserIMailUser*invCard に書き出すユーザー情報を表す IMailUser へのポインタである。
vtbl 13 HRESULT VCardRetrieve(IAddrBook* lpIAB, DWORD ulFlags, LPSTR lpszVCard, IMailUser** lppMailUser)
lpIABIAddrBook*in対象アドレス帳を表す IAddrBook へのポインタである。
ulFlagsDWORDinvCard 取り込み動作を制御するフラグを指定する。
lpszVCardLPSTRin読み込む vCard ファイルのパス文字列へのポインタである。
lppMailUserIMailUser**outvCard から生成したユーザー情報を表す IMailUser を受け取るポインタへのポインタである。
vtbl 14 HRESULT GetMe(IAddrBook* lpIAB, DWORD ulFlags, DWORD* lpdwAction, SBinary* lpsbEID, HWND hwnd)
lpIABIAddrBook*in対象アドレス帳を表す IAddrBook へのポインタである。
ulFlagsDWORDin取得動作を制御するフラグを指定する。
lpdwActionDWORD*outユーザーが行った操作を示すアクションコードを受け取る変数へのポインタである。
lpsbEIDSBinary*out現在のユーザー ("Me") を表すエントリ ID をバイナリ構造体として受け取る SBinary へのポインタである。
hwndHWNDinoptionalダイアログの親ウィンドウハンドルを指定する。
vtbl 15 HRESULT SetMe(IAddrBook* lpIAB, DWORD ulFlags, SBinary sbEID, HWND hwnd)
lpIABIAddrBook*in対象アドレス帳を表す IAddrBook へのポインタである。
ulFlagsDWORDin設定動作を制御するフラグを指定する。
sbEIDSBinaryin現在のユーザー ("Me") として設定するエントリ ID を保持する SBinary を指定する。
hwndHWNDinoptionalダイアログの親ウィンドウハンドルを指定する。

HSP用 COM定義

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

出力引数:
#define global IID_IWABObject "{}"
#usecom global IWABObject IID_IWABObject "{}"
#comfunc global IWABObject_GetLastError    3 int,int,var
#comfunc global IWABObject_AllocateBuffer  4 int,sptr
#comfunc global IWABObject_AllocateMore    5 int,sptr,sptr
#comfunc global IWABObject_FreeBuffer      6 sptr
#comfunc global IWABObject_Backup          7 str
#comfunc global IWABObject_Import          8 str
#comfunc global IWABObject_Find            9 sptr,sptr
#comfunc global IWABObject_VCardDisplay    10 sptr,sptr,str
#comfunc global IWABObject_LDAPUrl         11 sptr,sptr,int,str,sptr
#comfunc global IWABObject_VCardCreate     12 sptr,int,str,sptr
#comfunc global IWABObject_VCardRetrieve   13 sptr,int,str,sptr
#comfunc global IWABObject_GetMe           14 sptr,int,var,var,sptr
#comfunc global IWABObject_SetMe           15 sptr,int,int,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。