ホーム › System.AddressBook › IMAPIProp
IMAPIProp
COMメソッド 11
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| hResult | HRESULT | in | 詳細なエラー情報を取得する対象の HRESULT エラーコードを指定する。 |
| ulFlags | DWORD | in | 文字列の形式 (ANSI/Unicode) を制御するフラグを指定する。 |
| lppMAPIError | MAPIERROR** | inout | エラーの詳細を格納した MAPIERROR 構造体を受け取るポインタである。 |
| ulFlags | DWORD | in | 変更の保存方法を制御するフラグを指定する。 |
vtbl 5 HRESULT GetProps(SPropTagArray* lpPropTagArray, DWORD ulFlags, DWORD* lpcValues, SPropValue** lppPropArray)
| lpPropTagArray | SPropTagArray* | inout | 取得するプロパティのタグ配列 SPropTagArray へのポインタである。すべてを取得するには NULL を指定する。 |
| ulFlags | DWORD | in | プロパティ取得の動作を制御するフラグを指定する。 |
| lpcValues | DWORD* | inout | 返されたプロパティ値の個数を受け取る変数へのポインタである。 |
| lppPropArray | SPropValue** | inout | 取得されたプロパティ値の配列 SPropValue を受け取るポインタである。 |
vtbl 6 HRESULT GetPropList(DWORD ulFlags, SPropTagArray** lppPropTagArray)
| ulFlags | DWORD | in | 文字列の形式を制御するフラグを指定する。 |
| lppPropTagArray | SPropTagArray** | inout | オブジェクトが持つすべてのプロパティのタグ配列 SPropTagArray を受け取るポインタである。 |
vtbl 7 HRESULT OpenProperty(DWORD ulPropTag, GUID* lpiid, DWORD ulInterfaceOptions, DWORD ulFlags, IUnknown** lppUnk)
| ulPropTag | DWORD | in | 開くプロパティのプロパティタグを指定する。 |
| lpiid | GUID* | inout | アクセスに使用するインターフェイスの識別子 (IID) へのポインタである。 |
| ulInterfaceOptions | DWORD | in | インターフェイスのアクセスオプションを指定する。 |
| ulFlags | DWORD | in | プロパティを開く際の動作を制御するフラグを指定する。 |
| lppUnk | IUnknown** | out | 開かれたプロパティにアクセスするインターフェイス IUnknown を受け取るポインタである。 |
vtbl 8 HRESULT SetProps(DWORD cValues, SPropValue* lpPropArray, SPropProblemArray** lppProblems)
| cValues | DWORD | in | lpPropArray 配列に含まれるプロパティ値の個数を指定する。 |
| lpPropArray | SPropValue* | inout | 設定するプロパティ値の配列 SPropValue へのポインタである。 |
| lppProblems | SPropProblemArray** | inout | 設定時に発生した問題を格納した SPropProblemArray を受け取るポインタである。不要なら NULL を指定する。 |
vtbl 9 HRESULT DeleteProps(SPropTagArray* lpPropTagArray, SPropProblemArray** lppProblems)
| lpPropTagArray | SPropTagArray* | inout | 削除するプロパティのタグ配列 SPropTagArray へのポインタである。 |
| lppProblems | SPropProblemArray** | 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)
| ciidExclude | DWORD | in | rgiidExclude 配列に含まれる除外インターフェイスの個数を指定する。 |
| rgiidExclude | GUID* | inout | コピー対象から除外するインターフェイスの識別子配列へのポインタである。 |
| lpExcludeProps | SPropTagArray* | inout | コピー対象から除外するプロパティのタグ配列 SPropTagArray へのポインタである。 |
| ulUIParam | UINT_PTR | in | 進捗ダイアログの親ウィンドウのハンドルを指定する。 |
| lpProgress | IMAPIProgress* | in | 進捗を表示する IMAPIProgress を指定する。不要なら NULL を指定する。 |
| lpInterface | GUID* | inout | コピー先オブジェクトのインターフェイス識別子 (IID) へのポインタである。 |
| lpDestObj | void* | inout | コピー先のオブジェクトへのポインタである。 |
| ulFlags | DWORD | in | コピー動作を制御するフラグを指定する。 |
| lppProblems | SPropProblemArray** | inout | コピー時に発生した問題を格納した SPropProblemArray を受け取るポインタである。不要なら NULL を指定する。 |
vtbl 11 HRESULT CopyProps(SPropTagArray* lpIncludeProps, UINT_PTR ulUIParam, IMAPIProgress* lpProgress, GUID* lpInterface, void* lpDestObj, DWORD ulFlags, SPropProblemArray** lppProblems)
| lpIncludeProps | SPropTagArray* | inout | コピーするプロパティのタグ配列 SPropTagArray へのポインタである。 |
| ulUIParam | UINT_PTR | in | 進捗ダイアログの親ウィンドウのハンドルを指定する。 |
| lpProgress | IMAPIProgress* | in | 進捗を表示する IMAPIProgress を指定する。不要なら NULL を指定する。 |
| lpInterface | GUID* | inout | コピー先オブジェクトのインターフェイス識別子 (IID) へのポインタである。 |
| lpDestObj | void* | inout | コピー先のオブジェクトへのポインタである。 |
| ulFlags | DWORD | in | コピー動作を制御するフラグを指定する。 |
| lppProblems | SPropProblemArray** | inout | コピー時に発生した問題を格納した SPropProblemArray を受け取るポインタである。不要なら NULL を指定する。 |
vtbl 12 HRESULT GetNamesFromIDs(SPropTagArray** lppPropTags, GUID* lpPropSetGuid, DWORD ulFlags, DWORD* lpcPropNames, MAPINAMEID*** lpppPropNames)
| lppPropTags | SPropTagArray** | inout | 名前を取得する対象のプロパティタグ配列 SPropTagArray へのポインタである。すべて取得するには NULL を指す。 |
| lpPropSetGuid | GUID* | inout | 対象とするプロパティセットの GUID へのポインタである。すべてのセットを対象とするには NULL を指定する。 |
| ulFlags | DWORD | in | 取得動作を制御するフラグを指定する。 |
| lpcPropNames | DWORD* | inout | 返された名前付き ID の個数を受け取る変数へのポインタである。 |
| lpppPropNames | MAPINAMEID*** | inout | プロパティ ID に対応する MAPINAMEID 構造体ポインタの配列を受け取るポインタである。 |
vtbl 13 HRESULT GetIDsFromNames(DWORD cPropNames, MAPINAMEID** lppPropNames, DWORD ulFlags, SPropTagArray** lppPropTags)
| cPropNames | DWORD | in | lppPropNames 配列に含まれる名前の個数を指定する。 |
| lppPropNames | MAPINAMEID** | inout | ID を取得する対象の名前付きプロパティ MAPINAMEID 構造体ポインタの配列へのポインタである。 |
| ulFlags | DWORD | in | 存在しない名前を新規作成するかどうかなどを制御するフラグを指定する。 |
| lppPropTags | SPropTagArray** | 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 指定が可能。#define global IID_IMAPIProp "{}" #usecom global IMAPIProp IID_IMAPIProp "{}" #comfunc global IMAPIProp_GetLastError 3 int,int,sptr #comfunc global IMAPIProp_SaveChanges 4 int #comfunc global IMAPIProp_GetProps 5 sptr,int,sptr,sptr #comfunc global IMAPIProp_GetPropList 6 int,sptr #comfunc global IMAPIProp_OpenProperty 7 int,sptr,int,int,sptr #comfunc global IMAPIProp_SetProps 8 int,sptr,sptr #comfunc global IMAPIProp_DeleteProps 9 sptr,sptr #comfunc global IMAPIProp_CopyTo 10 int,sptr,sptr,sptr,sptr,sptr,sptr,int,sptr #comfunc global IMAPIProp_CopyProps 11 sptr,sptr,sptr,sptr,sptr,int,sptr #comfunc global IMAPIProp_GetNamesFromIDs 12 sptr,sptr,int,sptr,sptr #comfunc global IMAPIProp_GetIDsFromNames 13 int,sptr,int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。