【发布时间】:2011-05-10 01:44:43
【问题描述】:
是否有获取 Windows 驱动程序目录的官方/正确方法,或者您是否只是将 "\\Drivers" 连接到 GetSystemDirectory()?
明确地说,我指的是系统目录中的Drivers 目录(例如System32)。是的,从技术上讲,驱动程序可以在任何地方,但是有没有官方的方法(例如函数)来获取这个特定的目录?
【问题讨论】:
标签: winapi device-driver
是否有获取 Windows 驱动程序目录的官方/正确方法,或者您是否只是将 "\\Drivers" 连接到 GetSystemDirectory()?
明确地说,我指的是系统目录中的Drivers 目录(例如System32)。是的,从技术上讲,驱动程序可以在任何地方,但是有没有官方的方法(例如函数)来获取这个特定的目录?
【问题讨论】:
标签: winapi device-driver
没有专门的驱动程序文件夹。特殊文件夹是 CSLID(请参阅 http://msdn.microsoft.com/en-us/library/bb762494(VS.85).aspx。
如果它是一个特殊文件夹,那么您可以使用 SHGetSpecialFolderPath(参见 http://msdn.microsoft.com/en-us/library/bb762204(VS.85).aspx)
【讨论】:
\Windows\System32\Drivers中只是巧合?
它被硬编码到内核中,尽管不必从那里加载驱动程序。下面是从加载驱动程序的 I/O 子系统的各个部分中提取的一些位:
#define SYSTEM32_DRIVERS_DIR (L"\\System32\\drivers\\")
...
pathLength = sizeof(L"\\SystemRoot\\System32\\Drivers\\") - sizeof(UNICODE_NULL);
path = L"\\SystemRoot\\System32\\Drivers\\";
...
【讨论】: