[SDK32] サービスに関する Windows NT 3.5 の新たな特徴について

この記事は、以前は次の ID で公開されていました: JP115825
この資料は、アーカイブされました。これは "現状のまま" で提供され、更新されることはありません。
概要
この資料は Windows NT version 3.5 でのサービスに関する変更事項について説明したものです。
詳細
  • Windows NT version 3.1 において、サービスにアプリケーションデスクトップをアクセスさせたい場合、ローカル システムアカウントで実行しなければなりません。ローカル システムアカウントで実行されるサービスプロセスまたはそのサービスから起動されるプロセスは、メッセージ ボックス、ウィンドウおよびダイアログ ボックスを表示することが可能となります。ローカル システムアカウントで実行中のプロセスはログオフ中も終了しません。
  • Windows NT version 3.5 での多くの変更事項は、これらのサービスに関係するものです。
  • サービスに関する Windows NT version 3.5 の新たな特徴は以下の通りです。
  • ログインしたユーザーのアカウントが、アプリケーションデスクトップにアクセスできる唯一のアカウントです。ローカル システムではアクセスできなくなりました。
  • 特定のログオンセッションのサービスプロセスから起動したコンソールや GUI アプリケーションはそのセッション特有の不可視ウィンドウステーションやデスクトップで実行されます。セッション最初のアプリケーションが起動するとウィンドウステーションとデスクトップは自動的に作成され、最後のアプリケーションが終了すると破棄されます。
  • 不可視デスクトップを可視にする方法はありません。
  • サービスをログオンしたユーザーと対話させたい場合、対話は次のいずれかの方法でなければなりません。
  • USER または GDI への最初のコールが作成されるときにユーザーを偽装しているスレッドから対話させる
  • 名前付きのパイプのような、ほかのメソッドから対話させる
  • ログオンしたユーザーを偽装せず、可視ユーザー通知を必要とするサービスは、MB_SERVICE_NOTIFICATION フラグを使って MessageBox() を呼び出すことにより、実現できます。B_DEFAULT_DESKTOP_ONLY フラグを使っても同様ですが、ただしユーザーのデスクトップがアクティブな場合に限ります。ワークステーションがロックされている場合やスクリーンセイバーが動作している場合、このコールは失敗します。
  • ウインドウへのあらゆる出力はどんな方法をとっても表示されないか、または、アプリケーションに対して有効にできません。ディスプレイからのビットの読み取りは失敗します。
  • GUI サービスはログオフやシャットダウンの状態で WM_QUERYENDSESSION / WM_ENDSESSION メッセージを受け取ることはありません。そのかわりに、CTRL_LOGOFF_EVENT や CTRL_SHUTDOWN_EVENT イベントを受けとります。これらのサービスはシステムのログオフによって終了させられることはありません。
関連情報
この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 115825 (最終更新日 1997-10-20) をもとに作成したものです。

3.50
プロパティ

文書番号:115825 - 最終更新日: 03/01/2014 09:53:45 - リビジョン: 2.0

Microsoft Win32 Application Programming Interface

  • kbnosurvey kbarchive kbinfo KB115825
フィードバック