[[Open棟梁Project>http://opentouryo.osscons.jp/]] - [[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]] * 目次 [#n75c0fee] #contents *概要 [#c9fe5ffe] 「実行コンテキスト」には色々な定義が有ると思いますが、~ ここでは、実行環境の違いで問題が起きた事例から 知っておくべき「実行コンテキスト」発掘していきます。 「実行コンテキスト」には、以下の様々なものがあります。 *実行コンテキストの例 [#r861ec32] **CPUの状態(コンテキストスイッチ) [#w84f41b4] **メモリ上の変数 [#tbcc0292] ***ローカル変数 [#h516000e] ***グローバル変数 [#t505e3cf] ***TLS [#fd52e6ac] ***共有メモリ [#yc02083a] **ユーザ情報 [#xceab4c1] -ログインユーザや実行アカウントによって変わる情報 -ログインユーザや実行アカウント毎に変わるので注意が必要。 ***認証情報 [#i4f99aa0] -実行アカウント -認証条件(ネゴシエーションの結果、何で認証したか) ***権限情報 [#i49954c0] ***ユーザの環境変数 [#h13f379f] ***ユーザのレジストリ [#t2ec4f3d] ***ログイン・セッション [#d71666bd] どのセッションに属しているか。 ちなみに、Windows Vista/7ではセッション0の分離が行われたため、~ 単純にサービスはGUIを持てないが、以下の様な裏技がある模様。 -Owl's perspective: WindowsのサービスからGUIを持つプロセスを起動~ http://owlsperspective.blogspot.jp/2010/01/start-gui-process-from-service.html ***ユーザ・プロファイル [#e51d1729] ユーザプロファイルの有無(ログインしているか・していないか)。 **システムの情報 [#ve08ed75] ***システムの環境変数 [#h11a12ec] ***システムのレジストリ [#a7d22cf0] **アドレス空間的な [#nd9007d7] ***x86 [#ib8cdf93] 32bit -通常 -PAE:Physical Address Extension、物理アドレス拡張 ***x64 [#q405419c] -64bit -32bit --[[WOW64]] ---物理環境上 ---仮想環境上 **サービス・タスク系 [#t2c71f20] -サービス・タスク系は一般ユーザが実行する処理と比べると~ 実行コンテキストが異なっているため、問題となることが多い。 --サービス・タスク --バッチ --サービス --タスク・スケジューラ --異なる点 ---実行アカウントと権限 ---ログイン・セッション ---ユーザ・プロファイルの有無 -参考 --[[サービス・タスク系のいろいろ]] ---[[Office サーバー サイド オートメーション]] **セキュリティ関連 [#f988af9c] ***Group Policy [#xd03d806] -Group Policy -Local Security Policy ***サンドボックス [#w4478250] サンドボックスなども、コンテキストといえるかもしれません。 -[[ClickOnce]] -[[XBAP]] -[[Silverlight]] -IE --設定 ---IEセキュリティ強化の構成の有効・無効 ---JavaScript ---ActiveX ---HTML5 ---,etc. -その他のブラウザの設定 ***AppLocker [#dcea9df6] -AppLocker の技術概要~ https://technet.microsoft.com/ja-jp/library/hh831440.aspx ***特権 [#n7259dc0] -[[UAC]]の有効・無効 -[[管理特権が必要になる処理]] ***DEP機能 [#n6b8acce] 有効・無効 **その他 [#cc550c80] ***標準入出力 [#n8a67745] 標準入出力(stdin、stdout、stderr)は、匿名pipeで実装されている。 -stdin、stdout、stderr~ https://msdn.microsoft.com/ja-jp/library/3x292kth.aspx pipeで大量の出力がある場合、反対側で読み取らないと、~ 途中で出力が止まったまま、ずっと待ちになる。 *参考 [#l3bf5975] -コンテクスト - Wikipedia~ https://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%B3%E3%83%86%E3%82%AF%E3%82%B9%E3%83%88 -コンテキストとは (context): - IT用語辞典バイナリ~ http://www.sophia-it.com/content/%E3%82%B3%E3%83%B3%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88 -コンテキストとは|context|コンテクスト - 意味/定義 : IT用語辞典~ http://e-words.jp/w/%E3%82%B3%E3%83%B3%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88.html -実行コンテキストについて~ https://technet.microsoft.com/ja-jp/library/ms187096.aspx -コンテキストの切り替えについて~ https://technet.microsoft.com/ja-jp/library/ms191296.aspx -実行コンテキスト | ++C++; // 未確認飛行 C ブログ~ https://ufcpp.wordpress.com/2014/02/21/%E5%AE%9F%E8%A1%8C%E3%82%B3%E3%83%B3%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88/