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

IMAPIProp

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

メソッド 11

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

vtbl 3 HRESULT GetLastError(HRESULT hResult, DWORD ulFlags, MAPIERROR** lppMAPIError)
hResultHRESULTin詳細なエラー情報を取得する対象の HRESULT エラーコードを指定する。
ulFlagsDWORDin文字列の形式 (ANSI/Unicode) を制御するフラグを指定する。
lppMAPIErrorMAPIERROR**inoutエラーの詳細を格納した MAPIERROR 構造体を受け取るポインタである。
vtbl 4 HRESULT SaveChanges(DWORD ulFlags)
ulFlagsDWORDin変更の保存方法を制御するフラグを指定する。
vtbl 5 HRESULT GetProps(SPropTagArray* lpPropTagArray, DWORD ulFlags, DWORD* lpcValues, SPropValue** lppPropArray)
lpPropTagArraySPropTagArray*inout取得するプロパティのタグ配列 SPropTagArray へのポインタである。すべてを取得するには NULL を指定する。
ulFlagsDWORDinプロパティ取得の動作を制御するフラグを指定する。
lpcValuesDWORD*inout返されたプロパティ値の個数を受け取る変数へのポインタである。
lppPropArraySPropValue**inout取得されたプロパティ値の配列 SPropValue を受け取るポインタである。
vtbl 6 HRESULT GetPropList(DWORD ulFlags, SPropTagArray** lppPropTagArray)
ulFlagsDWORDin文字列の形式を制御するフラグを指定する。
lppPropTagArraySPropTagArray**inoutオブジェクトが持つすべてのプロパティのタグ配列 SPropTagArray を受け取るポインタである。
vtbl 7 HRESULT OpenProperty(DWORD ulPropTag, GUID* lpiid, DWORD ulInterfaceOptions, DWORD ulFlags, IUnknown** lppUnk)
ulPropTagDWORDin開くプロパティのプロパティタグを指定する。
lpiidGUID*inoutアクセスに使用するインターフェイスの識別子 (IID) へのポインタである。
ulInterfaceOptionsDWORDinインターフェイスのアクセスオプションを指定する。
ulFlagsDWORDinプロパティを開く際の動作を制御するフラグを指定する。
lppUnkIUnknown**out開かれたプロパティにアクセスするインターフェイス IUnknown を受け取るポインタである。
vtbl 8 HRESULT SetProps(DWORD cValues, SPropValue* lpPropArray, SPropProblemArray** lppProblems)
cValuesDWORDinlpPropArray 配列に含まれるプロパティ値の個数を指定する。
lpPropArraySPropValue*inout設定するプロパティ値の配列 SPropValue へのポインタである。
lppProblemsSPropProblemArray**inout設定時に発生した問題を格納した SPropProblemArray を受け取るポインタである。不要なら NULL を指定する。
vtbl 9 HRESULT DeleteProps(SPropTagArray* lpPropTagArray, SPropProblemArray** lppProblems)
lpPropTagArraySPropTagArray*inout削除するプロパティのタグ配列 SPropTagArray へのポインタである。
lppProblemsSPropProblemArray**inout削除時に発生した問題を格納した SPropProblemArray を受け取るポインタである。不要なら NULL を指定する。
vtbl 10 HRESULT CopyTo(DWORD ciidExclude, GUID* rgiidExclude, SPropTagArray* lpExcludeProps, UINT_PTR ulUIParam, IMAPIProgress* lpProgress, GUID* lpInterface, void* lpDestObj, DWORD ulFlags, SPropProblemArray** lppProblems)
ciidExcludeDWORDinrgiidExclude 配列に含まれる除外インターフェイスの個数を指定する。
rgiidExcludeGUID*inoutコピー対象から除外するインターフェイスの識別子配列へのポインタである。
lpExcludePropsSPropTagArray*inoutコピー対象から除外するプロパティのタグ配列 SPropTagArray へのポインタである。
ulUIParamUINT_PTRin進捗ダイアログの親ウィンドウのハンドルを指定する。
lpProgressIMAPIProgress*in進捗を表示する IMAPIProgress を指定する。不要なら NULL を指定する。
lpInterfaceGUID*inoutコピー先オブジェクトのインターフェイス識別子 (IID) へのポインタである。
lpDestObjvoid*inoutコピー先のオブジェクトへのポインタである。
ulFlagsDWORDinコピー動作を制御するフラグを指定する。
lppProblemsSPropProblemArray**inoutコピー時に発生した問題を格納した SPropProblemArray を受け取るポインタである。不要なら NULL を指定する。
vtbl 11 HRESULT CopyProps(SPropTagArray* lpIncludeProps, UINT_PTR ulUIParam, IMAPIProgress* lpProgress, GUID* lpInterface, void* lpDestObj, DWORD ulFlags, SPropProblemArray** lppProblems)
lpIncludePropsSPropTagArray*inoutコピーするプロパティのタグ配列 SPropTagArray へのポインタである。
ulUIParamUINT_PTRin進捗ダイアログの親ウィンドウのハンドルを指定する。
lpProgressIMAPIProgress*in進捗を表示する IMAPIProgress を指定する。不要なら NULL を指定する。
lpInterfaceGUID*inoutコピー先オブジェクトのインターフェイス識別子 (IID) へのポインタである。
lpDestObjvoid*inoutコピー先のオブジェクトへのポインタである。
ulFlagsDWORDinコピー動作を制御するフラグを指定する。
lppProblemsSPropProblemArray**inoutコピー時に発生した問題を格納した SPropProblemArray を受け取るポインタである。不要なら NULL を指定する。
vtbl 12 HRESULT GetNamesFromIDs(SPropTagArray** lppPropTags, GUID* lpPropSetGuid, DWORD ulFlags, DWORD* lpcPropNames, MAPINAMEID*** lpppPropNames)
lppPropTagsSPropTagArray**inout名前を取得する対象のプロパティタグ配列 SPropTagArray へのポインタである。すべて取得するには NULL を指す。
lpPropSetGuidGUID*inout対象とするプロパティセットの GUID へのポインタである。すべてのセットを対象とするには NULL を指定する。
ulFlagsDWORDin取得動作を制御するフラグを指定する。
lpcPropNamesDWORD*inout返された名前付き ID の個数を受け取る変数へのポインタである。
lpppPropNamesMAPINAMEID***inoutプロパティ ID に対応する MAPINAMEID 構造体ポインタの配列を受け取るポインタである。
vtbl 13 HRESULT GetIDsFromNames(DWORD cPropNames, MAPINAMEID** lppPropNames, DWORD ulFlags, SPropTagArray** lppPropTags)
cPropNamesDWORDinlppPropNames 配列に含まれる名前の個数を指定する。
lppPropNamesMAPINAMEID**inoutID を取得する対象の名前付きプロパティ MAPINAMEID 構造体ポインタの配列へのポインタである。
ulFlagsDWORDin存在しない名前を新規作成するかどうかなどを制御するフラグを指定する。
lppPropTagsSPropTagArray**inout名前に対応するプロパティタグ配列 SPropTagArray を受け取るポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_IMAPIProp "{}"
#usecom global IMAPIProp IID_IMAPIProp "{}"
#comfunc global IMAPIProp_GetLastError     3 int,int,var
#comfunc global IMAPIProp_SaveChanges      4 int
#comfunc global IMAPIProp_GetProps         5 var,int,var,var
#comfunc global IMAPIProp_GetPropList      6 int,var
#comfunc global IMAPIProp_OpenProperty     7 int,var,int,int,sptr
#comfunc global IMAPIProp_SetProps         8 int,var,var
#comfunc global IMAPIProp_DeleteProps      9 var,var
#comfunc global IMAPIProp_CopyTo           10 int,var,var,sptr,sptr,var,sptr,int,var
#comfunc global IMAPIProp_CopyProps        11 var,sptr,sptr,var,sptr,int,var
#comfunc global IMAPIProp_GetNamesFromIDs  12 var,var,int,var,var
#comfunc global IMAPIProp_GetIDsFromNames  13 int,var,int,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。