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

IMsgStore

COM
継承元IMAPIProp自前メソッド開始 vtbl14

メソッド 13

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

vtbl 14 HRESULT Advise(DWORD cbEntryID, ENTRYID* lpEntryID, DWORD ulEventMask, IMAPIAdviseSink* lpAdviseSink, DWORD* lpulConnection)
cbEntryIDDWORDinlpEntryID が指す監視対象オブジェクトのエントリ ID のバイト数を指定する。
lpEntryIDENTRYID*inoptional通知を受け取る対象オブジェクトのエントリ ID へのポインタである。ストア全体を対象とするには NULL を指定する。
ulEventMaskDWORDin通知を受け取るイベントの種類を示すマスクを指定する。
lpAdviseSinkIMAPIAdviseSink*in通知を受け取るアドバイズシンク IMAPIAdviseSink を指定する。
lpulConnectionDWORD*out確立された通知接続を識別する接続番号を受け取る変数へのポインタである。
vtbl 15 HRESULT Unadvise(DWORD ulConnection)
ulConnectionDWORDin解除する通知接続を識別する接続番号を指定する。
vtbl 16 HRESULT CompareEntryIDs(DWORD cbEntryID1, ENTRYID* lpEntryID1, DWORD cbEntryID2, ENTRYID* lpEntryID2, DWORD ulFlags, DWORD* lpulResult)
cbEntryID1DWORDinlpEntryID1 が指す 1 つ目のエントリ ID のバイト数を指定する。
lpEntryID1ENTRYID*in比較する 1 つ目のエントリ ID へのポインタである。
cbEntryID2DWORDinlpEntryID2 が指す 2 つ目のエントリ ID のバイト数を指定する。
lpEntryID2ENTRYID*in比較する 2 つ目のエントリ ID へのポインタである。
ulFlagsDWORDin比較動作を制御するフラグを指定する。
lpulResultDWORD*out両エントリ ID が同一オブジェクトを指すかどうかの比較結果を受け取る変数へのポインタである。
vtbl 17 HRESULT OpenEntry(DWORD cbEntryID, ENTRYID* lpEntryID, GUID* lpInterface, DWORD ulFlags, DWORD* lpulObjType, IUnknown** ppUnk)
cbEntryIDDWORDinlpEntryID が指すエントリ ID のバイト数を指定する。
lpEntryIDENTRYID*in開くオブジェクトのエントリ ID へのポインタである。NULL でストアのルートフォルダーを開く。
lpInterfaceGUID*inoptional開くオブジェクトに要求するインターフェイスの識別子 (IID) へのポインタである。
ulFlagsDWORDinオブジェクトを開く際の動作を制御するフラグを指定する。
lpulObjTypeDWORD*out開かれたオブジェクトの種別を受け取る変数へのポインタである。
ppUnkIUnknown**out開かれたオブジェクトのインターフェイス IUnknown を受け取るポインタである。
vtbl 18 HRESULT SetReceiveFolder(CHAR* lpszMessageClass, DWORD ulFlags, DWORD cbEntryID, ENTRYID* lpEntryID)
lpszMessageClassCHAR*inoptional受信フォルダーを関連付けるメッセージクラス文字列を指定する。
ulFlagsDWORDin設定動作を制御するフラグを指定する。
cbEntryIDDWORDinlpEntryID が指す受信フォルダーのエントリ ID のバイト数を指定する。
lpEntryIDENTRYID*in受信フォルダーとして設定するフォルダーのエントリ ID へのポインタである。関連付けを解除するには NULL を指定する。
vtbl 19 HRESULT GetReceiveFolder(CHAR* lpszMessageClass, DWORD ulFlags, DWORD* lpcbEntryID, ENTRYID** lppEntryID, CHAR** lppszExplicitClass)
lpszMessageClassCHAR*inoptional受信フォルダーを問い合わせるメッセージクラス文字列を指定する。
ulFlagsDWORDin取得動作を制御するフラグを指定する。
lpcbEntryIDDWORD*out返された受信フォルダーのエントリ ID のバイト数を受け取る変数へのポインタである。
lppEntryIDENTRYID**out対応する受信フォルダーのエントリ ID を受け取るポインタである。
lppszExplicitClassCHAR**out実際に一致したメッセージクラス文字列を受け取るポインタである。
vtbl 20 HRESULT GetReceiveFolderTable(DWORD ulFlags, IMAPITable** lppTable)
ulFlagsDWORDinテーブル取得の動作を制御するフラグを指定する。
lppTableIMAPITable**outメッセージクラスと受信フォルダーの対応を示すテーブル IMAPITable を受け取るポインタである。
vtbl 21 HRESULT StoreLogoff(DWORD* lpulFlags)
lpulFlagsDWORD*inoutログオフ動作を制御するフラグへのポインタであり、結果のフラグも受け取る。
vtbl 22 HRESULT AbortSubmit(DWORD cbEntryID, ENTRYID* lpEntryID, DWORD ulFlags)
cbEntryIDDWORDinlpEntryID が指すメッセージのエントリ ID のバイト数を指定する。
lpEntryIDENTRYID*in送信を中止するメッセージのエントリ ID へのポインタである。
ulFlagsDWORDin送信中止の動作を制御するフラグを指定する。
vtbl 23 HRESULT GetOutgoingQueue(DWORD ulFlags, IMAPITable** lppTable)
ulFlagsDWORDinテーブル取得の動作を制御するフラグを指定する。
lppTableIMAPITable**out送信待ちメッセージを示す送信キューテーブル IMAPITable を受け取るポインタである。
vtbl 24 HRESULT SetLockState(IMessage* lpMessage, DWORD ulLockState)
lpMessageIMessage*inロック状態を変更する対象のメッセージ IMessage を指定する。
ulLockStateDWORDin設定するロック状態を指定する。
vtbl 25 HRESULT FinishedMsg(DWORD ulFlags, DWORD cbEntryID, ENTRYID* lpEntryID)
ulFlagsDWORDin処理完了通知の動作を制御するフラグを指定する。
cbEntryIDDWORDinlpEntryID が指すメッセージのエントリ ID のバイト数を指定する。
lpEntryIDENTRYID*in処理が完了したメッセージのエントリ ID へのポインタである。
vtbl 26 HRESULT NotifyNewMail(NOTIFICATION* lpNotification)
lpNotificationNOTIFICATION*in新着メールを示す通知情報を格納した NOTIFICATION 構造体へのポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_IMsgStore "{}"
#usecom global IMsgStore IID_IMsgStore "{}"
#comfunc global IMsgStore_Advise                 14 int,var,int,sptr,var
#comfunc global IMsgStore_Unadvise               15 int
#comfunc global IMsgStore_CompareEntryIDs        16 int,var,int,var,int,var
#comfunc global IMsgStore_OpenEntry              17 int,var,var,int,var,sptr
#comfunc global IMsgStore_SetReceiveFolder       18 var,int,int,var
#comfunc global IMsgStore_GetReceiveFolder       19 var,int,var,var,var
#comfunc global IMsgStore_GetReceiveFolderTable  20 int,sptr
#comfunc global IMsgStore_StoreLogoff            21 var
#comfunc global IMsgStore_AbortSubmit            22 int,var,int
#comfunc global IMsgStore_GetOutgoingQueue       23 int,sptr
#comfunc global IMsgStore_SetLockState           24 sptr,int
#comfunc global IMsgStore_FinishedMsg            25 int,int,var
#comfunc global IMsgStore_NotifyNewMail          26 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。