撰寫 StartIo 常式
如其名所示, StartIo 常式負責在實體裝置上啟動 I/O 作業。
大部分的最低層級驅動程式會提供 StartIo 常式,並依賴 I/O 管理員將 IRP 排入系統提供的裝置佇列。 某些最低層級的驅動程式是設計來設定和管理自己的補充 IRP 佇列,但即使是這些驅動程式通常也會提供 StartIo 常式。 (如需補充佇列的詳細資訊,請參閱 設定和使用裝置佇列 和管理 裝置佇列。)
較高層級的驅動程式,包括 FSD 和 PnP 函式和篩選驅動程式,很少會有 StartIo 常式,因為它可能會造成效能降低。 相反地,大部分的檔案系統驅動程式都會設定和維護 IRP 的內部佇列。 其他較高層級的驅動程式有 IRP 的內部佇列,或直接從其分派常式將 IRP 傳遞至較低的驅動程式。 如需詳細資訊 ,請參閱驅動程式管理的 IRP 佇列 。
您可以使用 IoSetStartIoAttributes 常式來設定屬性,以修改驅動程式的 StartIo 處理。
本節包含下列主題: