【问题标题】:Getting the Windows Drivers Directory获取 Windows 驱动程序目录
【发布时间】:2011-05-10 01:44:43
【问题描述】:

是否有获取 Windows 驱动程序目录的官方/正确方法,或者您是否只是将 "\\Drivers" 连接到 GetSystemDirectory()

明确地说,我指的是系统目录中的Drivers 目录(例如System32)。是的,从技术上讲,驱动程序可以在任何地方,但是有没有官方的方法(例如函数)来获取这个特定的目录

【问题讨论】:

    标签: winapi device-driver


    【解决方案1】:

    没有专门的驱动程序文件夹。特殊文件夹是 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中只是巧合?
    • 你真正想做什么?
    • 我正在检查是否有官方函数可以获取包含驱动程序在 Windows 中存储位置的路径的字符串。 (我看不出有什么令人困惑的地方。)
    • 获得“驱动程序目录”的位置后,您对这些信息在做什么
    • 按照惯例,驱动程序目录在那里。驱动程序可以从“任何地方”加载(不是真的,但是...),因为加载路径是其服务注册表项的一部分。
    【解决方案2】:

    它被硬编码到内核中,尽管不必从那里加载驱动程序。下面是从加载驱动程序的 I/O 子系统的各个部分中提取的一些位:

    #define SYSTEM32_DRIVERS_DIR        (L"\\System32\\drivers\\")
    
    ...
    
            pathLength = sizeof(L"\\SystemRoot\\System32\\Drivers\\") - sizeof(UNICODE_NULL);
            path = L"\\SystemRoot\\System32\\Drivers\\";
    ...
    

    【讨论】:

    • @SLaks:来自 Windows Research Kernel。
    猜你喜欢
    • 2013-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-17
    • 2013-04-08
    • 1970-01-01
    • 2013-06-30
    • 1970-01-01
    相关资源
    最近更新 更多