撰寫 WDM 驅動程式

本節討論 Microsoft Windows 驅動程式模型 (WDM) 架構。 此架構是在 Windows 2000 中啟動,做為先前Windows NT設備磁碟機的增強功能。

注意不支援 Windows 2000 之前的Windows NT作業系統版本的驅動程式,您應該更新這些驅動程式。 WDM 架構不支援非Windows NT型作業系統的驅動程式, (例如 Windows 98) ,您應該重寫這類驅動程式。

本節分成三個部分:

  • Windows 驅動程式模型描述 Windows 驅動程式 模型 (WDM) ,包括 WDM 驅動程式的類型、裝置設定和 WDM 版本設定。

  • 裝置物件和裝置堆疊描述 裝置物件和裝置堆疊。 本節包含實體裝置物件 (PDO) 、 (FDO) 的功能裝置物件,以及篩選裝置物件 (篩選 DOS) 。 驅動程式通常是從一組一起運作的裝置物件所建置。 這組裝置物件稱為 堆疊。 堆疊可協助您瞭解驅動程式的資訊流程,以及驅動程式的不同部分在內部通訊的方式。

  • 核心模式驅動程式元件 描述您必須實作哪些常式才能擁有功能驅動程式,以及哪些常式是選擇性的。

    設備磁碟機是一組必須整合到作業系統的軟體程式碼。 若要完成這項整合,您必須在驅動程式中撰寫一組處理常式常式,以處理來自作業系統的呼叫。 這些常式可以是簡單的函式呼叫,但其中許多常式會實作 I/O 要求封包 的處理, (IRP) ,以利驅動程式與作業系統之間的通訊。

注意 WDM 驅動程式也可以使用 Windows 驅動程式架構 (WDF) 程式庫,讓設備磁碟機的某些部分更容易撰寫。 具體而言,核心模式驅動程式可以使用Kernel-Mode驅動程式架構 (KMDF) ,這是 WDF 的一部分。 如需核心模式驅動程式 KMDF 的詳細資訊,請參閱 核心模式驅動程式架構概觀。 請注意,KMDF 不會取代 WDM。 您仍然必須瞭解 WDM 的許多部分,才能撰寫 KMDF 驅動程式。