0

USB ベースのハードウェア用の Ndis 6 ミニポート 802.11 ドライバーを作成しています。デバイスは正常に動作しています - ドライバーをインストールすると正常に動作します。しかし、コントロール パネルからインターフェイスを無効にしてから有効にすると、initializeHandler が呼び出されません。無効は完全に正常に機能しています。インターフェイスを有効にすると、ドライバー エントリも成功を返します。

誰でも私を助けてもらえますか?その理由は何でしょうか?

よろしく、スービック

4

1 に答える 1

0

通常、これは以前のDEVICE_OBJECTものがまだ完全に削除されていないことを意味します。その名前はまだ使用されているため、DEVICE_OBJECT新しいデバイスはその名前で新しいデバイスを登録できません。

デバイスへの開いているハンドルがある場合、以前のデバイスがスタックする可能性があります。デバイス ハンドルを開くコードがある場合は、それらが閉じられることを確認する必要があります。また、ミニポートが割り当てるすべてのオブジェクトを解放したことを確認してください。たとえば、 への呼び出しと へNdisAllocateTimerObjectの呼び出しを一致させますNdisFreeTimerObjectMiniportHaltExハンドラーが呼び出され、返されることを確認してください。

また、カーネルデバッガーがアタッチされている場合は、 で状況を調べることができます!ndiskd.miniport。以前のミニポートがまだ存在するかどうか、存在する場合はどのような状態かがわかります。

于 2011-12-10T05:00:56.403 に答える