今天学习驱动操作注册表,遇到一个小问题,就是操作注册表时的路径问题。驱动操作文件或者注册表时,需要填写绝对路径。所以,初始化字符串的时候,需要这样初始化:RtlInitUnicodeString(&RegKeyPath, L\\Registry\\Machine\\Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\); //注意最后一定要添加双斜杠。
同样,初始化文件路径的时候也需要这样填写为:
RtlInitUnicodeString(&FilePath, L"\\??\\c:\\AGPText\\文件名"); //一定要是绝对路径。不然会产生删除错误的问题。
如果NTSTATUS返回值为C000003A(STATUS_OBJECT_PATH_NOT_FOUND),则是文件未找到。
如果NTSTATUS返回值为C000003B(STATUS_OBJECT_PATH_SYNTAX_BAD),则是绝对路径错误。