IMAPIStatus
COM公式ドキュメント
MAPI サブシステム、統合アドレス帳、および MAPI スプーラーに関するステータス情報を提供します。
解説(Remarks)
適用対象: Outlook 2013 | Outlook 2016
MAPI サブシステム、統合アドレス帳、および MAPI スプーラーに関するステータス情報を提供します。サービス プロバイダーは、自身のステータスに関する情報を提供するために IMAPIStatus を実装します。
| プロパティ | 値 |
|---|---|
| ヘッダー ファイル: |
Mapidefs.h |
| 公開元: |
ステータス オブジェクト |
| 実装元: |
サービス プロバイダーおよび MAPI |
| 呼び出し元: |
クライアント アプリケーション |
| インターフェイス識別子: |
IID_IMAPIStatus |
| ポインター型: |
LPMAPISTATUS |
| トランザクション モデル: |
非トランザクション |
MAPI が実装するステータス オブジェクトは、次のメソッドをサポートします。
| ステータス オブジェクト | サポートされるメソッド |
|---|---|
| MAPI サブシステム |
ValidateState のみ |
| MAPI アドレス帳 |
ValidateState のみ |
| MAPI スプーラー |
ValidateState および FlushQueues |
MAPI が実装するステータス オブジェクトは、IMAPIProp インターフェイスのメソッドの読み取り専用版を備え、ValidateState メソッドをサポートする必要があります。トランスポート プロバイダーは FlushQueues もサポートする必要があります。すべてのプロバイダーは SettingsDialog をサポートする必要があります。ChangePassword のサポートは任意です。
クライアントは、構成を実行したり、セッションの状態を把握したりするためにステータス オブジェクトを使用します。ステータス オブジェクトを取得するには、サービス プロバイダーのログオン オブジェクトの OpenStatusEntry メソッド、または IMAPISession::GetStatusTable メソッドを呼び出してアクセスします。
メソッド 4
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| ulUIParam | UINT_PTR | inoptional | ダイアログ表示時の親ウィンドウのハンドルを指定する。 |
| ulFlags | DWORD | in | 状態検証の動作を制御するフラグを指定する。 |
| ulUIParam | UINT_PTR | inoptional | 設定ダイアログの親ウィンドウのハンドルを指定する。 |
| ulFlags | DWORD | in | 設定ダイアログ表示の動作を制御するフラグを指定する。 |
| lpOldPass | CHAR* | in | 現在のパスワード文字列を指定する。 |
| lpNewPass | CHAR* | in | 新しいパスワード文字列を指定する。 |
| ulFlags | DWORD | in | パスワード変更の動作を制御するフラグを指定する。 |
| ulUIParam | UINT_PTR | inoptional | 進捗表示時の親ウィンドウのハンドルを指定する。 |
| cbTargetTransport | DWORD | in | lpTargetTransport が指すエントリ ID のバイト数を指定する。 |
| lpTargetTransport | ENTRYID* | inoptional | フラッシュ対象のトランスポートを示すエントリ ID へのポインタである。 |
| ulFlags | DWORD | in | キューのフラッシュ動作を制御するフラグを指定する。 |
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IMAPIStatus "{}" #usecom global IMAPIStatus IID_IMAPIStatus "{}" #comfunc global IMAPIStatus_ValidateState 14 sptr,int #comfunc global IMAPIStatus_SettingsDialog 15 sptr,int #comfunc global IMAPIStatus_ChangePassword 16 var,var,int #comfunc global IMAPIStatus_FlushQueues 17 sptr,int,var,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IMAPIStatus "{}" #usecom global IMAPIStatus IID_IMAPIStatus "{}" #comfunc global IMAPIStatus_ValidateState 14 sptr,int #comfunc global IMAPIStatus_SettingsDialog 15 sptr,int #comfunc global IMAPIStatus_ChangePassword 16 sptr,sptr,int #comfunc global IMAPIStatus_FlushQueues 17 sptr,int,sptr,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。