質問

私は現在、独自の PCMCIA 無線カードを使用していくつかの無線デバイスと通信するプロジェクトに取り組んでいます。現在、カードとの間でデータを読み取り、処理のために保存するバックグラウンド プロセスがありますが、アプリケーションが実行されていないときにカードへの電源をシャットダウンできるようにしたいと考えています。いくつか調査を行ったところ、WMI は明らかにサポートしていますが、 CIM_PCMCIAController その中のプロフィール WIN32_PCMCIAController 実装、 SetPowerState() そして Reset() 機能は実装されていません。スロットの電源状態を制御する方法 (WMI の有無にかかわらず) を知っている人はいますか?スロットまたはカードの電源オフと電源オンの両方をプログラムで実行できる必要があります。

編集

私が話をした何人かは、これを容易にする機能をカードに追加することを提案しました。残念ながら、この種の機能を提供するためにカードを変更することは、現時点では実際には不可能です。

編集2

デバイスがデバイス マネージャーの「多機能アダプター」カテゴリに表示されていることを確認しましたが、ここからデバイスや PCMCIA コントローラー自体を無効にしても、カードの電源には影響しません。

役に立ちましたか?

解決

おそらく、デバイスには何らかの独自のドライバーがあり、デバイス マネージャーに表示されます。

この場合、次のコマンドを呼び出すことでデバイスを無効にすることができます。 開発コン (デバイス マネージャーに相当するコマンド ライン)、プログラム内から。これにより、Windows がデバイスのシャットダウンを処理するようになります。

devcon を無効にする. 。特定のデバイス ID によってデバイスをシャットダウンする方法の例については、例 #31 を参照してください。

私は正しい方向に進んでいますか、それともあなたの質問を誤解しましたか?

他のヒント

気になるのですが、[ハードウェアを安全に取り外します...] ボタンを使用すると、デバイスの電源がオフになり、要件は十分に満たされますか?

これが機能する場合は、Microsoft の API を介してプログラムでデバイスの登録と登録解除を行うことができます。以下のページには、このシナリオに役立つ可能性のあるいくつかの関数が示されています。 http://msdn.microsoft.com/en-us/library/aa363234(VS.85).aspx

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top