2011-06-06 40 views
0

我想在啓動過程中初始化系統中的設備驅動程序後對其執行操作。我想從我自己的應用程序中做到這一點,它不會成爲任何現有驅動程序的一部分。有沒有辦法檢查驅動程序何時完成初始化,以便我可以做我想做的事情。請建議。在啓動過程中執行驅動程序初始化後的操作

回答

3

你的問題不清楚。從哪裏控制?你的問題是否更好地表達?

我想在自己的,單獨的驅動程序/應用程序/等初始化後,對系統中的每個驅動程序執行操作。碼。此代碼不會成爲任何現有驅動程序的一部分。

如果這就是你之後的那麼沒有,沒有固有的方式來做到這一點。如果它是你自己的操作系統,你可能會克隆和修改busenum驅動程序(%WINCEROOT%\PUBLIC\COMMON\OAK\DRIVERS\BUSENUM),它負責加載驅動程序,但我不相信這是一個好主意。你到底想要解決什麼問題?

EDIT

有關BUSENUM驅動程序 「選項」 進一步詳細地,在BusEnum.cpp,起始於線260是方法BusEnum::ActivateAllChildDrivers。此方法負責加載驅動程序註冊表中的每個驅動程序。在293行,你會看到:

pCurDevice->LoadDevice(); 

然後你會在後面插入你的代碼。

+0

Thanks @ctacke。爲了更清晰起見,我重新提出了這個問題。如果我想修改busenum驅動程序,我不知道我怎麼知道設備驅動程序何時完成初始化。因爲,正如我上面提到的,我想在初始化後立即對驅動程序執行一個操作。 – MemoryLeak 2011-06-08 03:33:31

+0

再次感謝@ctacke。這看起來像一個選項。我也在研究'RequestDeviceNotifications',並想知道這是否可以在這裏幫助。 MSDN表示「此功能要求通知設備接口的出現和消失」。我想知道是否可以註冊設備通知,在messageQueue句柄上waitforsingleobject以執行我的操作。不知道MSDN定義中「外觀」部分究竟意味着什麼。它包括加載DLL並初始化它。有什麼建議麼? – MemoryLeak 2011-06-08 19:37:42

相關問題