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 的详细信息,请参阅 创建框架设备对象

注册表可以包含的值可以替代驱动程序在调用 WdfDeviceInitAssignSDDLStringWdfDeviceInitSetDeviceTypeWdfDeviceInitSetCharacteristicsWdfDeviceInitSetExclusive 时指定的值。 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
                                   );

要求

要求
目标平台 通用
最低 KMDF 版本 1.0
标头 wdfpdo.h (包括 Wdf.h)
Library Wdf01000.sys (请参阅框架库 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)

另请参阅

WdfDeviceInitAssignSDDLString

WdfDeviceInitSetCharacteristics

WdfDeviceInitSetDeviceType

WdfDeviceInitSetExclusive