5

MSDNから:

システムは、ロードされたすべてのモジュールでプロセスごとの参照カウントを維持します。LoadLibraryを呼び出すと、参照カウントが増加します。

その参照カウントはどこに保存されますか?

4

2 に答える 2

6

実際のWindowsローダーは、NTDLL.dllのLdrLoadDll関数にあります。この関数は文書化されておらず、その内部機能はWindowsの将来のバージョンで変更される可能性があります。Windowsのソースコードにアクセスできる人だけが、舞台裏で何が起こっているのかを確実に述べることができました。

ただし、wineのソースは利用可能であり、参照カウントがどこで増加するかを確認できます。これは、 LDR_MODULEヒープ構造のLoadCountメンバーに格納されます。これはワイン内部の構造ではないように思われるため、この構造は実際のリバースエンジニアリングされたウィンドウ構造に基づいている可能性があります。したがって、ウィンドウはおそらく同じ方法でそれを格納します。ただし、これは文書化されていないため、将来のバージョンのWindowsで、またはWindowsのマイナーパッチでさえも変更される可能性があります。

于 2010-09-28T05:04:06.067 に答える
0

これは単なる推測ですが、おそらくkernel32.dll内のグローバル変数です(これは、LoadLibraryを実装するDLLです)。

于 2010-09-28T04:58:25.550 に答える