Win8 & 2012: アプリケーション マニフェストの SupportedOS

Windows 7 & Windows Server 2008 R2 で追加になった Compatibility セクションの SupportedOS ですが
Windows 8 & Windows Server 2012 用に GUID が追加されています。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
    <application>
      <!–Windows 8 Mode–>
      <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />
      <!–Windows 7 Mode–>
      <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" /
      <!–Windows Vista Mode–>
      <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />
    </application>
  </compatibility>
</assembly>

  • Compatibility セクションは Windows 7 からサポートされる
  • Compatibility セクションがないアプリケーションは Windows Vista モードで動作する
  • Windows 7 以降の OS では、Compatibility セクション内の最も新しい OS レベルで実行モードを決定する

OS 実行モードの違いは次のようになります。

項目 Windows 8 Windows 7 Windows Vista
RPC の既定スレッドプール NT スレッドプール NT スレッドプール プライベートスレッドプール
DirectDraw の Lock API によるプライマリデスクトップビデオバッファーのロック 不可 不可
DirectDraw のクリッピングウィンドウなしでプライマリデスクトップビデオバッファーへのビットブロック転送 不可 不可
GetOverlappedResult API の複数回呼出しでの競合 競合は解決される 競合は解決される 競合は解決されない
ハイ コントラスト モードでの Shell Theme のステータス テーマ設定状況が返される テーマ設定できないことが通知される テーマ設定できないことが通知される
IPersistFile ハンドラー呼出しへの相対パスの使用 呼び出しに失敗する 続行する 続行する
プログラム互換性アシスタント (PCA) PCA による軽減策は適応されない PCA による互換性問題が追跡される PCA による互換性問題が追跡される

モードの確認方法も Windows 7 のときと同じで、リソースモニターを使うことで確認することができます。

リソースモニター

Windows 7 では、Windows Vista モードの実行モジュールが目立ちましたが、
Windows 8 では、多くの実行モジュールが Windows 8 モードや Windows 7 モードになりました。

ちなみに、Windows 8 の内部バージョンは 6.2 になります。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。