IWin32ApplicationView, IWinRTApplicationView
Immersive Shellにおけるアプリケーションのメイン画面のうち、デスクトップアプリケーション/Modern UIアプリそれぞれに特化した内容を扱います。
確認済み OS
Windows 10 (Build 10240, 10586, 14393) (Windows 8.1には存在しません)
構文
[C/C++]
// struct IWin32ApplicationView : public IUnknown DECLARE_INTERFACE_IID_(IWin32ApplicationView, IUnknown, "F3527610-C76D-4316-AC8E-28651ACF3DF3") { /*** IUnknown methods ***/ STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObject) PURE; STDMETHOD_(ULONG, AddRef)(THIS) PURE; STDMETHOD_(ULONG, Release)(THIS) PURE; /*** IWin32ApplicationView methods ***/ STDMETHOD(GetWindow)(THIS_ HWND*) PURE; STDMETHOD(GetCloakableWindows)(THIS_ UINT*, HWND**) PURE; }; // struct IWinRTApplicationView : public IUnknown DECLARE_INTERFACE_IID_(IWinRTApplicationView, IUnknown, "E99A73B1-CDE0-477B-91B8-E995FA037387") { /*** IUnknown methods ***/ STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObject) PURE; STDMETHOD_(ULONG, AddRef)(THIS) PURE; STDMETHOD_(ULONG, Release)(THIS) PURE; /*** IWinRTApplicationView methods ***/ STDMETHOD(GetApplication)(THIS_ IImmersiveApplication**) PURE; };
※ すべてのメソッドの挙動は確認していません。
関連する型
インターフェイス
- IImmersiveApplication
使用上の注意点
- IWin32ApplicationView::GetCloakableWindows の第2引数で得られるHWND配列ポインターは CoTaskMemFree で解放すると考えられます(第1引数にその要素数が入ると思われますが未確認です)。
解説
IApplicationView はデスクトップアプリケーションとModern UIアプリのビューで共通の処理を扱っていますが、それぞれについて固有の処理を行う場合は IWin32ApplicationView(デスクトップアプリ) と IWinRTApplicationView(Modern UIアプリ) を使用します。それぞれのインターフェイスを取得するには IApplicationView のインスタンスに対してインターフェイスの型変換(IUnknown::QueryInterface)をします。
このインターフェイスの取得元
最終更新日: 2016/10/10