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。

注解

驱动程序必须在调用 WdfDeviceCreate 之前调用 WdfPdoInitAssignRawDevice。 有关调用 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
Header wdfpdo.h (包括 Wdf.h)
Library Wdf01000.sys (请参阅框架库版本控制.)
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