在用C编写Windows微型端口设备驱动程序时,如何以编程方式获取注册表路径,例如“ \ Registry \ Machine \ SYSTEM \ ControlSet001 \ Control \ Class \ {4d36e972-e325-11ce-bfc1-08002be10318} \ 0005 \“?
当我在DriverEntry例程中时,我想读取位于此注册表项中的驱动程序的版本字符串(DriverVersion)。我知道花括号之间的数字顺序(“ {4d36e972-e325-11ce-bfc1-08002be10318}”)是分配给网络驱动程序的固定字符串。如果需要,我可以#define这个。但是,什么结构保存设备号,即“ 0005”?它是否埋在DeviceObject中,还是必须使用DriverEntry参数中可用的其他信息在注册表中查找?我是否必须对前缀(“ \ Registry \ Machine \ SYSTEM \ ControlSet001 \ Control \ Class \”)进行硬编码或#define?
感谢您提供的任何帮助。