esオペレーティングシステムの名前空間


esオペレーティングシステム上で実行しているプロセスはそれぞれ独自の階層的な名前空間をもっています。名前空間にアクセスするためのIContextインターフェイスポインタはICurrentProcessインターフェイスに対してgetRoot()メソッドを呼び出すことで取得できます。esオペレーティングシステムのランタイムライブラリ(libes++)をリンクしているプログラムからは、関数System()がICurrentProcessインターフェイスポインタを返しますので、下記のプログラムによって名前空間のルートのIContextインターフェイスポインタを取得できます。

IContext* root = System()->getRoot();

esの名前空間には、ファイルシステムのファイルやディレクトリにアクセスするためのインターフェイスポインタ、システムのデバイスドライバーにアクセスするためのインターフェイスポインタ、ソフトウェアコンポーネントに関する情報にアクセスするためインターフェイスポインタなど、あらゆるインターフェイスポインタがひとつの名前空間に階層的に登録されています。

esオペレーティングシステムが起動したときに最初に実行されるinitプロセスの保持している名前空間は以下のようになっています。

名前 サポートしてるインターフェイス 内容
class IClassStore IClassFactoryインターフェイスをサポートしているソフトウェアコンポーネントのインターフェイスポインタが格納されています。
    3979e8b4-2e86-11db-9c02-0009bf000001 IClassFactory CLSID_Process。新しいプロセスを作成するときに使用します。
    397a9b6a-2e86-11db-9c02-0009bf000001 IClassFactory CLSID_CacheFactory。新しいメモリオブジェクトを作成するときに使用します。
    397b45f6-2e86-11db-9c02-0009bf000001 IClassFactory CLSID_Monitor。新しいモニターを作成するときに使用します。
    397be8bc-2e86-11db-9c02-0009bf000001 IClassFactory CLSID_PageSet。新しいページセットを作成するときに使用します。
    397c8ccc-2e86-11db-9c02-0009bf000001 IClassFactory CLSID_Alarm。新しいタイマーを作成するときに使用します。
    397d44f0-2e86-11db-9c02-0009bf000001 IClassFactory CLSID_Partition。新しいパーティションを作成するときに使用します。
    397dec0c-2e86-11db-9c02-0009bf000001 IClassFactory CLSID_FatFileSystem。新しいFATファイルシステムを作成するときに使用します。
    397e8e00-2e86-11db-9c02-0009bf000001 IClassFactory CLSID_IsoFileSystem。新しいISO 9660ファイルシステムを作成するときに使用します。
device IContext 各種のデバイスドライバのインターフェイスポインタが格納されています。
    rtc IRtc カレンダー時計にアクセスするためのインターフェイスポインタか格納されています。
    cga IStream CGAのテキスト画面ににアクセスするためのインターフェイスポインタか格納されています。
    beep IBeep ビープ音用のスピーカーにアクセスするためのインターフェイスポインタか格納されています。
    framebuffer IPageable, IStream ビデオフレームバッファにアクセスするためのインターフェイスポインタか格納されています。
    cursor ICursor マウスカーソルにアクセスするためのインターフェイスポインタか格納されています。
    ethernet IStream, INetworkInterface Ethernetネットワークアダプタにアクセスするためのインターフェイスポインタか格納されています。
    keyboard IStream キーボードにアクセスするためのインターフェイスポインタか格納されています。
    loopback IStream, INetworkInterface ループバックインターフェイスにアクセスするためのインターフェイスポインタか格納されています。
    mouse IStream マウスにアクセスするためのインターフェイスポインタか格納されています。
    floppy IStream フロッピーディスクドライブにアクセスするためのインターフェイスポインタか格納されています。
    ata IContext ATAデバイスにアクセスするためのインターフェイスポインタか格納されています。
        channel0 IContext ATAデバイスのチャネル0にアクセスするためのインターフェイスポインタか格納されています。
            device0 IDiskManagement, IPartition, IRemovableMedia, IStream ATAデバイスのチャネル0のプライマリーデバイスにアクセスするためのインターフェイスポインタか格納されています。
            device1 IDiskManagement, IPartition, IRemovableMedia, IStream ATAデバイスのチャネル0のセカンダリーデバイスにアクセスするためのインターフェイスポインタか格納されています。
        channel1 IContext ATAデバイスのチャネル1にアクセスするためのインターフェイスポインタか格納されています。
            device0 IDiskManagement, IPartition, IRemovableMedia, IStream ATAデバイスのチャネル1のプライマリーデバイスにアクセスするためのインターフェイスポインタか格納されています。
            device1 IDiskManagement, IPartition, IRemovableMedia, IStream ATAデバイスのチャネル1のセカンダリーデバイスにアクセスするためのインターフェイスポインタか格納されています。
    soundInput IAudioFormat, IStream PCMサウンド入力用デバイスにアクセスするためのインターフェイスポインタか格納されています。
    soundOutput IAudioFormat, IStream PCMサウンド出力用デバイスにアクセスするためのインターフェイスポインタか格納されています。
file IContext, ... ファイルシステムのファイルにアクセスするためのインターフェイスポインタが格納されています。
network IContext 各種ネットワーク関連のインターフェイスポインタが格納されています。
    config IInternetConfig TCP/IPネットワーク接続設定を行うためのインターフェイスポインタが格納されています。
    resolver IResolver TCP/IPネットワークホストの名前解決を行うためのインターフェイスポインタが格納されています。
    interface IContext TCP/IPネットワークインターフェイスに関するインターフェイスポインタか格納されています。
        1 IContext ループバックインターフェイスに関するインターフェイスポインタか格納されています。
            interface IStream, INetworkInterface ループバックインターフェイスにアクセスするためのインターフェイスポインタか格納されています。
        2 IContext 2番目のネットワークインターフェイスに関するインターフェイスポインタか格納されています。
            interface IStream, INetworkInterface 2番目のネットワークインターフェイスにアクセスするためのインターフェイスポインタか格納されています。
            dhcp IService DHCPクライアントサービスのインターフェイスポインタが格納されています。

[esオペレーティングシステムのホームページに戻る]


Copyright © 2006, 2007
Nintendo Co,. Ltd.

Permission to use, copy, modify, distribute and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appears in all copies and that both that copyright notice and this permission notice appear in supporting documentation. Nintendo makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.

SourceForge.jp