WDF
+ -

WDFDevice配置

2026-06-04 3 0

文件标识

WdfDeviceSetSpecialFileSupport(*WdfDevice, WdfSpecialFilePaging,    TRUE);  // 分页文件支持
WdfDeviceSetSpecialFileSupport(*WdfDevice, WdfSpecialFileHibernation, TRUE); // 休眠文件支持
WdfDeviceSetSpecialFileSupport(*WdfDevice, WdfSpecialFileDump,      TRUE);  // 转储文件支持
WdfDeviceSetSpecialFileSupport(*WdfDevice, WdfSpecialFileBoot,      TRUE);  // 启动文件支持
标志常量 含义
WdfSpecialFilePaging 支持分页文件(虚拟内存交换文件),允许系统将内存数据分页到该设备
WdfSpecialFileHibernation 支持休眠文件(系统休眠时将内存内容写入磁盘)
WdfSpecialFileDump 支持转储文件(系统崩溃时生成内存转储文件用于调试)
WdfSpecialFileBoot 支持从该设备启动系统

这段代码位于 USB xHCI(USB 3.0)控制器驱动中,设置这些标志后:

  • Windows 会允许将分页文件、休眠文件等关键系统文件放在连接到该 USB 控制器的存储设备上
  • 这对于使用 USB 外置硬盘作为系统盘或休眠分区的场景至关重要

设备名和GUID

//链接名
    status = RtlUnicodeStringPrintf(&uniSymlinkName,L"%ws%d", BASE_SYMBOLIC_LINK_NAME, instanceNumber);
    status = WdfDeviceCreateSymbolicLink(*WdfDevice, &uniSymlinkName);

    //子设备总线信息
   // Set bus information for children devices.
   PNP_BUS_INFORMATION                 pnpBusInformation;
   pnpBusInformation.BusTypeGuid = GUID_BUS_TYPE_USB;
   pnpBusInformation.LegacyBusType = PNPBus;
   pnpBusInformation.BusNumber = 0;
   WdfDeviceSetBusInformationForChildren(*WdfDevice, &pnpBusInformation);

   // Create the device interface.
   //GUID接口
   status = WdfDeviceCreateDeviceInterface(*WdfDevice,
                                           (LPGUID)&GUID_CLASS_USB_HOST_CONTROLLER,
                                           NULL);

0 篇笔记 写笔记

作者信息
我爱内核
Windows驱动开发,网站开发
好好学习,天天向上。
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!