Windows レジストリである C API に便利なオブジェクト指向フロントエンドを提供するクラス ライブラリを作成しています。ただし、クラスがコピーされたHREG
場合など、 sを処理するための最善の方法は何ですか。key
どちらでもいい
- ヒープ整数を割り当て、それを参照カウントとして使用します。ハンドルで RegCloseKey() を呼び出し、参照カウントが 0 のときに整数の割り当てを解除します。
- ハンドルの組み込み機能を使用し、参照カウントを維持するのではなく
DuplicateHandle()
、レジストリ キー オブジェクトがコピーされるときに HREG を呼び出します。次に、常にデストラクタで RegCloseKey を呼び出します。
設計ははるかに単純ですが、そのDuplicateHandle()
ように設計するとアプリケーションのパフォーマンスが大幅に低下するのではないかと懸念しています。私のアプリケーションは何十万ものキーを再帰するため、このオブジェクトをコピーする速度はデリケートな問題です。
DuplicateHandle()
関数固有のオーバーヘッドは何ですか?