USB 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 消費者入門

在初始化期間,USB I/O 目標會建立堆疊內部檔案物件,代表 USB I/O 目標保持開啟的預設會話。 如需堆疊內檔案物件的詳細資訊,請參閱 建立檔案物件以處理 I/O。 USB I/O 目標或其 USB 管道目標子系會使用此檔案物件來傳送其來源 (的任何 I/O,例如 I/O,以取得 USB 組態描述元) 。

例如,驅動程式可以在格式函式中使用這個內部堆疊檔案物件 (,例如,驅動程式可以在呼叫IWDFIoTarget::FormatRequestForRead方法時,將這個檔案物件的指標傳遞給pFile參數,) 驅動程式必須在此檔案物件的預設會話上傳送 I/O。 若要取得堆疊內部檔案物件,驅動程式可以呼叫 IWDFIoTarget::GetTargetFile 方法。

當明確處置 I/O 目標時,當驅動程式在 I/O 目標上呼叫 IWDFObject::D eleteWdfObject 方法時,或隱含地處置 I/O 目標的父系時,就會關閉這個內部堆疊檔案物件。

如果在移除裝置時,此堆疊內檔案物件上有任何 I/O 仍然未完成,此檔案物件將無法關閉,而且 UMDF 將會產生驅動程式停止。 如需詳細資訊,請參閱 建立和使用Driver-Created檔案物件