2011-04-08 11 views
0

DeactivateDeviceとIOCTL_BUS_DEACTIVATE_CHILDの長所と短所を理解して、デバイスドライバをアンロードする際に消費電力の観点から理解しようとしています。ドライバが1)ロードされ、2)アンロードされたときのデバイスの消費電力を確認したいのですが、後者の場合、最も適切な値はどれですか?質問に答えるために必要な情報が不足している場合は、提案してお知らせください。 TIA。DeactivateDevice対IOCTL_BUS_DEACTIVATE_CHILD

EDIT: また、ドライバをアンロードする上の2つの方法が根本的に異なる方法を知っている場合は、上記の質問に対する回答を評価する際に役立つかもしれません。

答えて

1

あなたのやりたいことによって異なります。 IOCTL_BUS_ACTIVATE_CHILDはバスドライバ専用です(USB、PCIなど)。上位クライアントドライバはActivateDeviceExを使用します。

IOCTL_BUS_ACTIVATE_CHILDのDDKには同等のラッパー関数はありません。

は、以下を参照してください。http://blogs.msdn.com/b/ce_base/archive/2007/04/19/how-bus-drivers-work.aspx

あなたはまた、与えられた物理デバイスの電源状態を変更するためにSetDevicePowerを使用することができます。 (WiFi、BT、スクリーンなどのように)

-PaulH

+0

ありがとうPaulH。以前は同じドライバーで両方を使用することができました。したがって、私はそれらを交換可能に使用できると仮定しました。しかし、それはあなたが言ったことからすべてのドライバーにとって真実ではないようです。 – MemoryLeak

+0

また、特定の種類のドライバに「if」を使用することもできますが、リソースを使用する上でどのように異なるのでしょうか? – MemoryLeak