開発者が Windows API を使ってカーネルオブジェクトを作成すると、Windows はカーネル内部にカーネルオブジェクトを作成し、 それを操作するための ハンドル を返します。開発者はこのハンドルを使って、カーネルオブジェクトを操作することができます。 言い換えると、Windows は開発者に対して、カーネルオブジェクトへのアクセスをハンドルを経由してのみ行わせることによって、 カーネルオブジェクトを保護しています。(このため、カーネルオブジェクトへのポインタを返さないのです) 例として、ファイルを扱う場合を考えてみましょう。 ファイルを操作するために、Windows では CreateFile などの API を用いてファイルを開きます。 「ファイルを開く」 というとき、Windows は 「ファイルタイプのカーネルオブジェクトを作成」 します。 そして プロセスハンドルテーブル
![ハンドルリークの調査方法 ~ ハンドルリークとは? - Web/DB プログラミング徹底解説](https://cdn-ak-scissors.b.st-hatena.com/image/square/293fb6ec3ff4a9e3b998c9e77aed61d41bef5b29/height=288;version=1;width=512/https%3A%2F%2Fwww.keicode.com%2Fimg%2Fog-image-1.png)