Windows カーネル モード オブジェクト マネージャー コンポーネントは、オブジェクトを管理 します。 ファイル、デバイス、同期メカニズム、レジストリ キーなどはすべて、カーネル モードのオブジェクトとして表されます。 各オブジェクトには 、ヘッダー (名前、型、場所など、オブジェクトに関する情報を含む) と 本文 (オブジェクトの各型によって決定される形式のデータを含む) があります。
Windows には、25 を超える種類のオブジェクトがあります。 種類の一部を次に示します。
ファイル
デバイス
スレッド数
プロセス
イベント
ミューテックス
セマフォ
レジストリ キー
仕事
セクション
アクセス トークン
シンボリック リンク
オブジェクト マネージャーは、次の主要なタスクを実行して Windows のオブジェクトを管理します。
オブジェクトの作成と破棄の管理。
オブジェクト情報を追跡するためのオブジェクト名前空間データベースの保持。
各プロセスに割り当てられているリソースを追跡します。
セキュリティを提供するために、特定のオブジェクトのアクセス権を追跡します。
オブジェクトの有効期間を管理し、リソース領域をリサイクルするためにオブジェクトが自動的に破棄されるタイミングを決定します。
Windows のオブジェクトの詳細については、「 カーネル オブジェクトの管理」を参照してください。
オブジェクト マネージャーに直接インターフェイスを提供するルーチンには、通常、"Ob" という文字がプレフィックスとして付けられます。たとえば、 ObGetObjectSecurity です。 オブジェクト マネージャー ルーチンを検索するには、 wdm.h ヘッダー と ntifs.h ヘッダーの両方の目次の [タイトルでフィルター] オプションを使用します。 具体的には、フィルター フィールドに「 Ob
」と入力し、Ob* ルーチンまで下にスクロールします。
Windows では、リソースの抽象化としてオブジェクトが使用されます。 ただし、Windows は、この用語の古典的な C++ の意味ではオブジェクト指向ではありません。 Windows は オブジェクト ベースです。 Windows のオブジェクト ベースの意味の詳細については、「 オブジェクト ベース」を参照してください。