WdfDeviceInitSetIoType 函式 (wdfdevice.h)
[適用於 KMDF 和 UMDF]
WdfDeviceInitSetIoType 方法會設定驅動程式如何存取指定裝置讀取和寫入要求中包含的數據緩衝區的方法或喜好設定。
語法
void WdfDeviceInitSetIoType(
[in] PWDFDEVICE_INIT DeviceInit,
[in] WDF_DEVICE_IO_TYPE IoType
);
參數
[in] DeviceInit
WDFDEVICE_INIT 結構的指標。
[in] IoType
WDF_DEVICE_IO_TYPE型別列舉值,可識別驅動程式將用來存取其接收之讀取和寫入要求之數據緩衝區的方法。
傳回值
無
備註
KMDF 如果您要使用 KMDF 1.13 版或更新版本撰寫新的驅動程式,您應該改用 WdfDeviceInitSetIoTypeEx。 從 KMDF 篩選驅動程式呼叫 WdfDeviceInitSetIoType 沒有任何作用。 針對篩選驅動程式,架構會使用驅動程式堆疊中下一個較低驅動程式所指定的 I/O 類型。
UMDF 如果您要將呼叫 WdfDeviceInitSetIoType 的 KMDF 驅動程式轉換成 UMDF 2.0 版或更新版本,則轉換的驅動程式可以繼續呼叫 WdfDeviceInitSetIoType 而不發生問題。 不過,如果您要使用 UMDF 2.0 版或更新版本撰寫全新的驅動程式,您應該改用 WdfDeviceInitSetIoTypeEx。
如果驅動程式呼叫 WdfDeviceInitSetIoType,它必須先這麼做,才能呼叫 WdfDeviceCreate。 如需呼叫 WdfDeviceCreate 的詳細資訊,請參閱 建立 Framework 裝置物件。
如果驅動程式未呼叫 WdfDeviceInitSetIoType,架構會將驅動程式的緩衝區存取方法設定為指定的裝置 的 WdfDeviceIoBuffered。
如需緩衝區存取方法的詳細資訊,請參閱 存取數據緩衝區。
範例
下列程式代碼範例指出驅動程式會在存取裝置時使用直接 I/O 方法。
WdfDeviceInitSetIoType(
DeviceInit,
WdfDeviceIoDirect
);
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
最小 KMDF 版本 | 1.0 |
最低UMDF版本 | 2.0 |
標頭 | wdfdevice.h (包含 Wdf.h) |
程式庫 | Wdf01000.sys (KMDF) ;WUDFx02000.dll (UMDF) |
IRQL | <= DISPATCH_LEVEL |
DDI 合規性規則 | ChildDeviceInitAPI (kmdf) 、 ControlDeviceInitAPI (kmdf) 、 DeviceInitAPI (kmdf) 、 DriverCreate (kmdf) 、 KmdfIrql (kmdf) 、 KmdfIrql2 (kmdf ) 、KmdfIrqlExplicit (kmdf) 、 PdoDeviceInitAPI (kmdf) |