私はIntPtrを読んでいて、それがハンドルを表すために使用されていることを読みました。これは正確にはどういう意味ですか?簡単な説明だと思いますが、現時点では電球が点灯していません。
8029 次
2 に答える
8
これは通常、オペレーティングシステムのハンドルを指し、内部で使用されます。たとえば、Windowsフォームはを使用IntPtr
してコントロールのネイティブウィンドウハンドル(HWND)を参照します。
Windows APIのハンドルは、さまざまな目的で使用されます。ほとんどのオペレーティングシステム関連のリソース(ファイル、ソケット、ウィンドウなど)は、事実上ポインターであるハンドルを介して公開されます。マネージコードでは、これはに保存されますIntPtr
。
そうは言っIntPtr
ても、32ビットまたは64ビットのコードに基づいて自動的にサイズ変更されるため、相互運用シナリオでポインターを格納するためにも定期的に使用されます。
于 2011-04-14T18:04:35.453 に答える
6
「ハンドル」は「不透明なポインタ」です。これは、オペレーティングシステムがアプリケーションに実際のオブジェクトへのポインタを与えるのではなく、内部オブジェクトを表すために与える値(通常は配列へのインデックスである単なる数値)です。これは、安全性と抽象化の両方の理由からです。アプリケーションは、提供されたAPIを介してのみハンドルを使用するように強制されます。
于 2011-04-14T18:03:21.257 に答える