IImmersiveMonitorNotification
Immersive Shellにおいてディスプレイ(画面、モニター)の変更を検出した際、その通知を受け取るために利用することができるコールバック用インターフェイスです。
確認済み OS
Windows 8.1, Windows 10 (Build 10240, 10586)
構文
[C/C++]
// struct IImmersiveMonitorNotification : public IUnknown DECLARE_INTERFACE_IID_(IImmersiveMonitorNotification, IUnknown, "940C223D-5BDC-49DB-968C-E4F3EF9B9270") { /*** IUnknown methods ***/ STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObject) PURE; STDMETHOD_(ULONG, AddRef)(THIS) PURE; STDMETHOD_(ULONG, Release)(THIS) PURE; /*** IImmersiveMonitorNotification methods ***/ STDMETHOD(MonitorAdded)(THIS_ IImmersiveMonitor*) PURE; STDMETHOD(DisplaySettingsChange)(THIS_ IImmersiveMonitor*, IMMERSIVE_MONITOR_DISPLAY_CHANGE_FLAGS) PURE; };
※ すべてのメソッドの挙動は確認していません。
関連する型
インターフェイス
列挙子
IMMERSIVE_MONITOR_DISPLAY_CHANGE_FLAGS:
enum IMMERSIVE_MONITOR_DISPLAY_CHANGE_FLAGS
{
IMDCF_UNKNOWN = 0x0,
IMDCF_DISPLAYRECT = 0x1,
IMDCF_PRIMARY = 0x2,
IMDCF_ORIENTATION = 0x4,
IMDCF_HMONITOR = 0x8,
IMDCF_WORKAREA = 0x10,
IMDCF_CONNECTEDSTATE = 0x20,
IMDCF_IMMERSIVEDISPLAYDEVICE = 0x40,
IMDCF_USERINITIATED = 0x80,
IMDCF_LAST_VALUE = 0x80
};
使用上の注意点
- 本インターフェイスは通常各メソッドを呼び出すために利用するのではなく、通知を受け取りたい場合に指定のサービスに登録する目的で利用します。そのため、通知受け取り側が IImmersiveMonitorNotification の各メソッドを実装する必要があります。
解説
Windows 8で導入された「Immersive Shell」において、IImmersiveMonitorNotification はディスプレイの追加やディスプレイ設定の変更(解像度や拡大率の変更など)が行われた際にその通知を受け取る目的で利用するインターフェイスの1つです。変更の通知を受け取るには、IImmersiveMonitorNotification の各メソッドを実装したクラスインスタンスを IImmersiveMonitorNotificationService インターフェイスのインスタンスに渡します。
なお、Immersive Shell内部で利用される一部のクラス(CLSID_ImmersiveShell 経由で取得するインスタンスの一部を含む)でも本インターフェイスを実装していることがありますが、それらが実装する IImmersiveMonitorNotification のメソッドはアプリケーションから直接呼び出すべきではありません。
このインターフェイスの主な取得元
(なし)
最終更新日: 2015/12/30