各个朋友,我在 XP 上使用 DDK 开发时遇到如下问题,帮忙看看。谢谢
我在 DeviceAdd 中调用了 IoRegisterDeviceInterface API,该函数的返回值为 0。
#define GUID_UART_INTERFACE GUID_DEVCLASS_PORTS
ret = IoRegisterDeviceInterface(port->pdo, &GUID_UART_INTERFACE, NULL, &port->interface_name);
ret = 0,在注册表中发现了 MACH\STSTEM\CURRENT\CONTROL\DEVICECLASS 下面发现了相应的键值,也返回了 interface_name。
但是 winobj 没有发现符号链接,在应用层可以枚举,枚举到的值和注册表中的相同,但 createfile 打开失败,找不到设备。
IoSetDeviceInterfaceState 也返回 0,但无法理解的是 IoSetDeviceInterfaceState 多次调用都是返回 0,根据 MSDN 应该第二次调用应该出错的。IoSetDeviceInterfaceState 在 IRP_MN_START_DEVICE 中调用。
不知道什么问题。