Programming Field - ドキュメント無し関数 / 名前無し関数

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
};

使用上の注意点

解説

Windows 8で導入された「Immersive Shell」において、IImmersiveMonitorNotification はディスプレイの追加やディスプレイ設定の変更(解像度や拡大率の変更など)が行われた際にその通知を受け取る目的で利用するインターフェイスの1つです。変更の通知を受け取るには、IImmersiveMonitorNotification の各メソッドを実装したクラスインスタンスを IImmersiveMonitorNotificationService インターフェイスのインスタンスに渡します。

なお、Immersive Shell内部で利用される一部のクラス(CLSID_ImmersiveShell 経由で取得するインスタンスの一部を含む)でも本インターフェイスを実装していることがありますが、それらが実装する IImmersiveMonitorNotification のメソッドはアプリケーションから直接呼び出すべきではありません。

このインターフェイスの主な取得元

(なし)

最終更新日: 2015/12/30