在 UMDF 中使用 I/O 目標
警告
UMDF 2 是最新版的 UMDF,並取代 UMDF 1。 所有新的 UMDF 驅動程式都應該使用 UMDF 2 來撰寫。 未將新功能新增至 UMDF 1,而且較新版本的 Windows 10 上不支援 UMDF 1。 通用 Windows 驅動程式必須使用 UMDF 2。
封存的 UMDF 1 範例可在Windows 11 22H2 版 - 2022 年 5 月驅動程式範例更新中找到。
如需詳細資訊,請參閱使用 UMDF 消費者入門。
當驅動程式收到 I/O 要求時,驅動程式可能會自行處理要求,或可能需要其他驅動程式的協助。 如果驅動程式需要協助,它可以將要求轉送到另一個驅動程式,也可以建立一或多個新要求,並將其傳送給另一個驅動程式。
UMDF 型驅動程式會使用 I/O 目標,將 I/ O 要求傳送至另一個驅動程式。 每個 I/O 目標都會以 I/O 目標物件表示。 每個 I/O 目標物件主要是一個佇列。 當驅動程式將要求傳送至 I/O 目標時,架構會將要求儲存在佇列中,直到可以將要求傳遞至 I/O 目標為止。
架構同時支援一般 I/O 目標和特製化 I/O 目標:
所有 UMDF 驅動程式都可以使用一般 I/O 目標,但不支援任何特殊的裝置特定資料格式。
特製化 I/O 目標可讓 UMDF 驅動程式傳送需要特殊、目標特定資料格式的 I/O 要求。 目前,架構提供 USB I/O 目標的支援。
如果架構提供支援裝置資料格式的特製化 I/O 目標,驅動程式應該使用特製化的 I/O 目標。 否則,驅動程式應該使用一般 I/O 目標。