2015-08-29

DX系のストアアプリも、普通にフックできるようになってなんだか変な気分。

色々いじってアンロードされないDLLがあったので、なんでか調べたら待機関数中の呼び出し元のアドレスがアンロード対象の場合、DLLのアンロードが行われない仕様だと判明。
いつからそんな仕様かは知らない。
DLL内でスレッドを生成や、待機関数は使用しない事が望まれるが、そういった実装を行う場合注意して行う必要があるが、OS側でクラッシュ防止でアンロード抑制するのかよと・・・
ちなみに、プロセス終了時など強制的なDLLアンロードの場合も、待機関数が機能しなくなるので待機を行わない様に明示的コーディングする必要がある。
DLL内でスレッド扱うのに注意しなければいけない理由の1つ。

0 件のコメント:

コメントを投稿