WdfPdoInitAssignRawDevice 函式 (wdfpdo.h)
[僅適用於 KMDF]
WdfPdoInitAssignRawDevice 方法表示呼叫驅動程式可以在原始模式中支援指定的裝置。
語法
NTSTATUS WdfPdoInitAssignRawDevice(
[in] PWDFDEVICE_INIT DeviceInit,
[in] const GUID *DeviceClassGuid
);
參數
[in] DeviceInit
WDFDEVICE_INIT 結構的指標。
[in] DeviceClassGuid
識別 裝置安裝類別之 GUID 的指標。
注意 您應該一律指定自定義類別 GUID。 您不應該指定現有的類別 GUID。 如果您指定現有的類別 GUID,其他嘗試指定現有類別 GUID 的驅動程式可能無法安裝,或可能會安裝不正確的安全性設定。
如需詳細資訊,請參閱接下來的<備註>一節。
傳回值
如果作業成功,方法會傳回STATUS_SUCCESS。 否則會傳回STATUS_INVALID_PARAMETER。
備註
驅動程序必須先呼叫 WdfPdoInitAssignRawDevice ,才能呼叫 WdfDeviceCreate。 如需呼叫 WdfDeviceCreate 的詳細資訊,請參閱 建立 Framework 裝置物件。
登錄可以包含覆寫驅動程式呼叫 WdfDeviceInitAssignSDDLString、 WdfDeviceInitSetDeviceType、 WdfDeviceInitSetCharacteristics 和 WdfDeviceInitSetExclusive 時所指定值的值。 WdfPdoInitAssignRawDevice 方法的 DeviceClassGuid 參數會指定 GUID,識別包含覆寫值的登錄區段。 DeviceClassGuid 參數只會識別登錄的區段,而且實際上不會設定裝置的裝置安裝類別。 裝置和驅動程式 INF 檔案中的 INF 版本區段 會設定裝置安裝類別。 一般而言, DeviceClassGuid 參數的 GUID 應該符合 INF 版本區段 所指定的 GUID。
如需使用登錄的詳細資訊,請參閱 安裝後設定裝置物件登錄屬性。
範例
下列來自kmdf_enumswitches驅動程式範例的代碼段表示驅動程式可以在原始模式中支援指定的裝置。
NTSTATUS status;
DEFINE_GUID(GUID_DEVCLASS_MYUNIQUEID,
0xf149fe88, 0x f6cc, 0x47e3, 0x85, 0x94, 0xe2, 0xaa, 0xb6, 0xe0, 0x3b, 0xdf);
status = WdfPdoInitAssignRawDevice(
pDeviceInit,
&GUID_DEVCLASS_MYUNIQUEID
);
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
最小 KMDF 版本 | 1.0 |
標頭 | wdfpdo.h (包含 Wdf.h) |
程式庫 | Wdf01000.sys (請參閱 Framework Library Versioning.) |
IRQL | PASSIVE_LEVEL |
DDI 合規性規則 | ChildDeviceInitAPI (kmdf) 、 DriverCreate (kmdf) 、 InitFreeDeviceCallback (kmdf) 、 InitFreeDeviceCreate (kmdf) 、 InitFreeNull (kmdf) 、 KmdfIrql (kmdf) 、 KmdfIrql2 (kmdf) 、KmdfIrqlExplicit (kmdf) 、 PdoDeviceInitAPI (kmdf) 、 PdoInitFreeDeviceCallback (kmdf) 、 PdoInitFreeDeviceCreate (kmdf) |