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

IMAPIStatus

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

公式ドキュメント

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。

vtbl 14 HRESULT ValidateState(UINT_PTR ulUIParam, DWORD ulFlags)
ulUIParamUINT_PTRinoptionalダイアログ表示時の親ウィンドウのハンドルを指定する。
ulFlagsDWORDin状態検証の動作を制御するフラグを指定する。
vtbl 15 HRESULT SettingsDialog(UINT_PTR ulUIParam, DWORD ulFlags)
ulUIParamUINT_PTRinoptional設定ダイアログの親ウィンドウのハンドルを指定する。
ulFlagsDWORDin設定ダイアログ表示の動作を制御するフラグを指定する。
vtbl 16 HRESULT ChangePassword(CHAR* lpOldPass, CHAR* lpNewPass, DWORD ulFlags)
lpOldPassCHAR*in現在のパスワード文字列を指定する。
lpNewPassCHAR*in新しいパスワード文字列を指定する。
ulFlagsDWORDinパスワード変更の動作を制御するフラグを指定する。
vtbl 17 HRESULT FlushQueues(UINT_PTR ulUIParam, DWORD cbTargetTransport, ENTRYID* lpTargetTransport, DWORD ulFlags)
ulUIParamUINT_PTRinoptional進捗表示時の親ウィンドウのハンドルを指定する。
cbTargetTransportDWORDinlpTargetTransport が指すエントリ ID のバイト数を指定する。
lpTargetTransportENTRYID*inoptionalフラッシュ対象のトランスポートを示すエントリ ID へのポインタである。
ulFlagsDWORDinキューのフラッシュ動作を制御するフラグを指定する。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
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 指定が可能。