每個驅動程式都必須有 DriverEntry 例程,以初始化全驅動程式的數據結構和資源。 I/O 管理員會在載入驅動程式時呼叫 DriverEntry 例程。
在支援即插即用 (PnP) 的驅動程式中,DriverEntry 例程負責 驅動程式 初始化,而 AddDevice 例程(而且可能也會負責處理 PnP IRP_MN_START_DEVICE 要求的分派例程)負責 裝置 初始化。 驅動程式初始化包括匯出驅動程式的其他進入點、初始化驅動程式所使用的特定物件,以及設定各種個別驅動程式系統資源。 (非 PnP 驅動程式的需求明顯不同,如 Microsoft Windows NT 4.0 和更早版本的驅動程式開發工具包 [DDK] 中所述。
在 IRQL = PASSIVE_LEVEL 的系統線程內容中,會呼叫 DriverEntry 例程。
DriverEntry 例程可以是可分頁的,而且應該位於 INIT 區段中,因此將會捨棄它。 使用 alloc_text pragma 指示詞,如 Windows 驅動程式套件 (WDK) 所提供的範例驅動程式所示。
本節包含下列主題: