APCをよりよく理解したい。ユーザーモードのAPCをキューに入れるには、QueueUserAPC関数を使用します。だから、特別な/普通のカーネルモードのAPCをキューに入れる方法は?ありがとう。カーネルapcをキューに入れる方法
答えて
APCは、DPCレベルスレッドリストに(KeInsertQueueAPCによって)挿入することができるため、APCは、非ページプールからのみ割り当てられなければならない - そう例えば、あなたはページプールからKAPCを割り当てる場合に、それを挿入し、その後、誰かがDPCレベルでAPC別を挿入してみてください - (リンクリストに挿入されたときに)あなたのページングAPCデータを割り当てることができ、その結果としてBSODは
iniファイルのための例:KAPC使用KeInitializeApc無料の場合APCは正確にを呼び出す必要があります.ExFreePoolなど何もない場合は0をRundownRoutineとして使用できます。それ以外の場合は、正しいクリーンアップのために独自のRundownRoutineを提供する必要があります。 KernelRoutineは常に設定する必要があります。ほとんどの場合、ドライバの一部の機能を指しているため、ドライバはアンロードしないでください。APCは実行されません。 KernelRoutineまたはRundownRoutine後KeInsertQueueAPCとObfDereferenceObjectすることにより、インサートAPC前にドライバオブジェクトのための通常の必要性コールObfReferenceObjectが実行されます(またはKeInsertQueueAPCはfalseを返し)。しかし、あなたは、「通常の方法」ObfDereferenceObjectを呼び出すことはできません - あなたのドライバコードにクラッシュObfDereferenceObjectリターンになりますあなたはKernelRoutineとRundownRoutineから組み立て書かれたプロキシを必要とする - 。最後の参照上のドライバホールドがあれば、これは(無意味ですObfDereferenceObjectとスタックにどの実装彼らは、C/C++呼び出し、終了時にJMP行う(ただしコールを!!)命令は後ObfDereferenceObjectコールRETのための特別な再構築しなければならない - コードがカーネルに返されます共同Inside NT's Asynchronous Procedure Callを読む - - これは、すでに非常に古い記事でもかかわらず - ので詳細はObfDereferenceObject
は、後にドライバのコードが実行スキップ - (カーネルやランダウン)あなたのドライバのコールバック・ルーチンを呼び出すデ、何もこの時から、最新の変更します勝利10 - すべて同じ
- 1. イベントをキューに入れる前にイベントをキューに入れる方法
- 2. ユーザスペースWindowsのAPCキュー長
- 3. OpenCL実行モデル複数のキューに入れられたカーネル
- 4. キューに入れられたマップを実装する方法は?
- 5. セロリのpythonでキューに入れずにキューに入れたい仕事を送る方法
- 6. GWT:イベントをキューに入れる方法(Swing invokeLater()に相当)?
- 7. CircleCI:ビルドを強制的にキューに入れる方法
- 8. javax.mail.Messageのカスタムカスタムオブジェクトをjmsキューに入れる方法(Activemqを使用)
- 9. Railsヘルパーを使用してJSをキューに入れる方法
- 10. ファイルをキューに入れる
- 11. 他のスレッドでメソッドコールバックをキューに入れる方法は?
- 12. javascriptでコードをキューに入れる方法
- 13. Webアプリケーションでユーザーをキューに入れる方法は?
- 14. bashからrawオーディオファイルのセットをキューに入れる方法
- 15. jQuery ajaxリクエストをキューに入れる方法は?
- 16. QBXML、Web Connectorと別のリクエストをキューに入れる方法
- 17. NUnitテストケースのリストをキューに入れる方法
- 18. Android - バックグラウンドスレッドで複数のジョブをキューに入れる方法
- 19. Quartzで失効したジョブをキューに入れる方法は?
- 20. Javaでメソッドをキューに入れる方法
- 21. 2つのオブザーバブルをキューに入れる方法は?
- 22. 合成マウスイベントをX11入力キューに挿入する方法
- 23. AudioQueueキューに入れられたデータの再生長を調べる方法
- 24. MKAnnotationView:再利用キューに入れられたときを知る方法?
- 25. ThreadPoolバックログのキューに入れられたアイテムの数を知る方法
- 26. リクエストをキューに入れるSpringboot API?
- 27. オフラインでASIHTTPRequestsをキューに入れる?
- 28. ファイルをキューに入れるApache Camel
- 29. Java:標準入力に2つのキューを取る方法は?
- 30. C#のキューに要素を挿入する方法