共用方式為


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 目標可以是 本機遠端,是不支援特殊裝置特定資料格式的 I/O 目標,例如 USB 要求區塊。 在驅動程式將資料傳送至一般 I/O 目標之前,它們必須以 I/O 目標和裝置可以解譯的格式將資料放入寫入緩衝區。 同樣地,當驅動程式從一般 I/O 目標讀取資料時,驅動程式必須能夠解譯從目標接收的資料緩衝區內容。

本機 I/O 目標
驅動程式通常會將 I/O 要求傳送至驅動程式堆疊中的下一個較低驅動程式。 因此,每個 UMDF 型驅動程式都有每個裝置 的預設 I/O 目標 ,也就是裝置的下一個較低驅動程式。 最低層級 UMDF 型驅動程式的預設 I/O 目標是核心模式 反映器

有時候,UMDF 型驅動程式必須將 I/O 要求傳送至檔案控制碼型 I/O 目標,例如檔案或網路通訊端。 因此,架構也會提供以檔案控制碼為基礎的 I/O 目標物件。

預設 I/O 目標和檔案控制碼型 I /O 目標都稱為本機 I/O 目標,因為 UMDF 型驅動程式會使用這些目標,將這些目標傳送 I/O 要求給驅動程式堆疊支援的裝置。

遠端 I/O 目標
有時候,驅動程式必須將 I/O 要求傳送至不同的驅動程式堆疊。 因此,架構也提供 遠端 I/O 目標,其中包含本機 I/O 目標以外的所有 I/O 目標。

遠端 I/O 目標可能是驅動程式堆疊不支援的裝置、該裝置上的檔案,或該 裝置的裝置介面

下列各節說明如何初始化和使用一般 I/O 目標: