Skip to content

MS_ExecutionContext

nishi_74322014 edited this page Aug 3, 2026 · 1 revision

実行コンテキスト

概要

「実行コンテキスト」には色々な定義が有ると思いますが、
ここでは、実行環境の違いで問題が起きた事例から

知っておくべき「実行コンテキスト」を発掘していきます。

「実行コンテキスト」には、以下の様々なものがあります。

実行コンテキストの例

CPUの状態(コンテキストスイッチ)

メモリ上の変数

  • ローカル変数
  • グローバル変数
  • TLS
  • 共有メモリ

ユーザ情報

  • ログインユーザや実行アカウントによって変わる情報
  • ログインユーザや実行アカウント毎に変わるので注意が必要。

認証情報

  • 実行アカウント
  • 認証条件(ネゴシエーションの結果、何で認証したか)

権限情報

ユーザの環境変数

ユーザのレジストリ

(ログオン)セッション

どのセッションに属しているか。

ちなみに、Windows Vista/7では Session 0 の分離が行われたため、
単純にサービスはGUIを持てないが、以下の様な裏技がある模様。

ユーザ・プロファイル

ユーザプロファイルの有無(ログインしているか・していないか)。

システムの情報

  • システムの環境変数
  • システムのレジストリ

アドレス空間的な

x86

32bit

  • 通常
  • PAE:Physical Address Extension、物理アドレス拡張

x64

  • 64bit
  • 32bit
    • WOW64
      • 物理環境上
      • 仮想環境上

※ 現在は Arm64 も加わり、Arm64 版 Windows 上では x86 / x64 アプリがエミュレーション(WOW64 / Prism)で動作する。 これも実行コンテキストの違いとして問題になりうる。

サービス・タスク系

  • サービス・タスク系は一般ユーザが実行する処理と比べると
    実行コンテキストが異なっているため、問題となることが多い。
    • サービス・タスク
      • バッチ
      • サービス
      • タスク・スケジューラ
    • 異なる点
  • 参考
    • サービス・タスク系のいろいろ(MS_ServiceAndTaskTopics.md
      • Office サーバー サイド オートメーション(MS_OfficeServerSideAutomation.md

セキュリティ関連

Group Policy

サンドボックス

サンドボックスなども、コンテキストといえるかもしれません。

  • ClickOnce(MS_ClickOnce.md
  • XBAP(MS_XBAP.md
  • Silverlight(MS_Silverlight.md
  • IE
    • 設定
      • IEセキュリティ強化の構成の有効・無効
      • JavaScript
      • ActiveX
      • HTML5
      • , etc.
  • その他のブラウザの設定

※ ClickOnce の部分信頼、XBAP、Silverlight はいずれも廃止・非推奨。 現在の同等の仕組みは AppContainer(MSIX / ストア アプリ)や Windows Sandbox、ブラウザ側のサイト分離。

AppLocker

※ AppLocker は保守モード。現行の推奨は App Control for Business(旧 Windows Defender アプリケーション制御 / WDAC)。

特権

DEP機能

有効・無効

その他

標準入出力

標準入出力(stdin、stdout、stderr)は、匿名pipeで実装されている。

pipeで大量の出力がある場合、反対側で読み取らないと、
途中で出力が止まったまま、ずっと待ちになる。

参考


Tags: インフラストラクチャ, Windows, プログラミング

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally