Win32 API 日本語リファレンス
ホームUI.Shell › IContactManagerInterop

IContactManagerInterop

COM
IID99eacba7-e073-43b6-a896-55afe48a0833継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

複数のウィンドウを管理するアプリで ContactManager のメソッドにアクセスできるようにします。

メソッド 1

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

vtbl 3 HRESULT ShowContactCardForWindow(HWND appWindow, IUnknown* contact, RECT* selection, FLYOUT_PLACEMENT preferredPlacement)

指定したウィンドウ上に連絡先の UI を表示します。

appWindowHWNDin連絡先カードを起動するアプリの前面ウィンドウの HWND。連絡先カードが閉じられたときにフォーカスが戻る先でもあります。
contactIUnknown*in連絡先オブジェクトへのポインター。Windows.ApplicationModel.Contacts.Contact オブジェクトを使用しますが、クラシック COM IDL では Windows ランタイム型を使用できないため、ここでは IUnknown にキャストします。
selectionRECT*inRect は、ユーザーの選択操作(たとえばボタンの押下)による矩形領域です。オペレーティングシステムは、この矩形領域内ではなく、その周囲に連絡先カードを表示します。たとえば、アプリがボタンを使って連絡先カードを表示する場合は、そのボタンの Rect を渡すと、連絡先カードはボタンに重ならず、その周囲に表示されます。
preferredPlacementFLYOUT_PLACEMENTin

連絡先カードの優先配置を表す FLYOUT_PLACEMENT 型の値。

Value Meaning
FP_DEFAULT
0
既定値を使用します。
FP_ABOVE
1
selection パラメーターで指定したユーザー選択の矩形領域の上に連絡先カードを配置することを優先します。
FP_BELOW
2
selection パラメーターで指定したユーザー選択の矩形領域の下に連絡先カードを配置することを優先します。
FP_LEFT
3
selection パラメーターで指定したユーザー選択の矩形領域の左側に連絡先カードを配置することを優先します。
FP_RIGHT
4
selection パラメーターで指定したユーザー選択の矩形領域の右側に連絡先カードを配置することを優先します。

戻り値

型: HRESULT

ShowContactCardForWindow は次を返します:

その他の HRESULT 値が返される可能性もあります。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

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

出力引数:
#define global IID_IContactManagerInterop "{99EACBA7-E073-43B6-A896-55AFE48A0833}"
#usecom global IContactManagerInterop IID_IContactManagerInterop "{}"
#comfunc global IContactManagerInterop_ShowContactCardForWindow  3 sptr,sptr,var,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。