ホーム › Devices.Tapi › ITnef
ITnef
COMメソッド 7
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT AddProps(DWORD ulFlags, DWORD ulElemID, void* lpvData, SPropTagArray* lpPropList)
| ulFlags | DWORD | in | プロパティ追加の動作を制御するフラグ(TNEF_PROP_ 系)を指定する。 |
| ulElemID | DWORD | in | プロパティを関連付ける TNEF 要素(添付など)の識別子を指定する。 |
| lpvData | void* | inout | 添付データなど対象要素の補助データへのポインタである。NULL 可。 |
| lpPropList | SPropTagArray* | inout | 追加するプロパティタグの配列 SPropTagArray を指定する。 |
vtbl 4 HRESULT ExtractProps(DWORD ulFlags, SPropTagArray* lpPropList, STnefProblemArray** lpProblems)
| ulFlags | DWORD | in | 抽出動作を制御するフラグ(TNEF_PROP_ 系)を指定する。 |
| lpPropList | SPropTagArray* | inout | 抽出対象のプロパティタグ配列を指定する。NULL で全件。 |
| lpProblems | STnefProblemArray** | inout | 発生したプロパティ問題を報告する配列を受け取る出力先である。NULL 可。 |
vtbl 5 HRESULT Finish(DWORD ulFlags, WORD* lpKey, STnefProblemArray** lpProblems)
| ulFlags | DWORD | in | 終了処理の動作を制御するフラグを指定する。 |
| lpKey | WORD* | inout | TNEF メッセージの照合に使う一意のキー値へのポインタである。 |
| lpProblems | STnefProblemArray** | inout | 処理中に発生した問題の配列を受け取る出力先である。NULL 可。 |
| lpMessage | IMessage* | in | RTF タグ付き本文を扱う対象の IMessage インターフェイスである。 |
| ulFlags | DWORD | in | 本文ストリームを開く際の動作フラグを指定する。 |
| lppStream | IStream** | out | 開いた本文 IStream を受け取る出力先である。 |
vtbl 7 HRESULT SetProps(DWORD ulFlags, DWORD ulElemID, DWORD cValues, SPropValue* lpProps)
| ulFlags | DWORD | in | プロパティ設定動作を制御するフラグを指定する。 |
| ulElemID | DWORD | in | プロパティを設定する対象 TNEF 要素の識別子を指定する。 |
| cValues | DWORD | in | lpProps 配列に含まれるプロパティ値の個数を指定する。 |
| lpProps | SPropValue* | inout | 設定する SPropValue プロパティ値の配列を指定する。 |
vtbl 8 HRESULT EncodeRecips(DWORD ulFlags, IMAPITable* lpRecipientTable)
| ulFlags | DWORD | in | 受信者エンコードの動作を制御するフラグを指定する。 |
| lpRecipientTable | IMAPITable* | in | TNEF にエンコードする受信者一覧の IMAPITable を指定する。 |
vtbl 9 HRESULT FinishComponent(DWORD ulFlags, DWORD ulComponentID, SPropTagArray* lpCustomPropList, SPropValue* lpCustomProps, SPropTagArray* lpPropList, STnefProblemArray** lpProblems)
| ulFlags | DWORD | in | コンポーネント処理がエンコードか解析かを示す動作フラグを指定する。 |
| ulComponentID | DWORD | in | 処理対象コンポーネント(添付など)の識別子を指定する。 |
| lpCustomPropList | SPropTagArray* | inout | カスタムプロパティのタグ配列を指定する。NULL 可。 |
| lpCustomProps | SPropValue* | inout | 設定するカスタム SPropValue 値の配列を指定する。NULL 可。 |
| lpPropList | SPropTagArray* | inout | 対象とする標準プロパティのタグ配列を指定する。 |
| lpProblems | STnefProblemArray** | inout | 処理で発生した問題の配列を受け取る出力先である。NULL 可。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_ITnef "{}" #usecom global ITnef IID_ITnef "{}" #comfunc global ITnef_AddProps 3 int,int,sptr,var #comfunc global ITnef_ExtractProps 4 int,var,var #comfunc global ITnef_Finish 5 int,var,var #comfunc global ITnef_OpenTaggedBody 6 sptr,int,sptr #comfunc global ITnef_SetProps 7 int,int,int,var #comfunc global ITnef_EncodeRecips 8 int,sptr #comfunc global ITnef_FinishComponent 9 int,int,var,var,var,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ITnef "{}" #usecom global ITnef IID_ITnef "{}" #comfunc global ITnef_AddProps 3 int,int,sptr,sptr #comfunc global ITnef_ExtractProps 4 int,sptr,sptr #comfunc global ITnef_Finish 5 int,sptr,sptr #comfunc global ITnef_OpenTaggedBody 6 sptr,int,sptr #comfunc global ITnef_SetProps 7 int,int,int,sptr #comfunc global ITnef_EncodeRecips 8 int,sptr #comfunc global ITnef_FinishComponent 9 int,int,sptr,sptr,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。