Winapi 用户模式计划程序(UMS)返回错误\u不受支持 < >我想使用Windows 用户模式调度器API ,但是在互联网中发现的每个示例C或C++都失败了。我总是得到不支持的错误

Winapi 用户模式计划程序(UMS)返回错误\u不受支持 < >我想使用Windows 用户模式调度器API ,但是在互联网中发现的每个示例C或C++都失败了。我总是得到不支持的错误,winapi,64-bit,windows-10,Winapi,64 Bit,Windows 10,我的计算机在x64处理器中运行Windows 10 Pro 64位。我使用的是VS2015,该应用程序是一个x64控制台应用程序 值得注意的是,在我测试过的4个示例中,并非每个调用都失败 EnterUmsSchedulingMode CreateRemoteThreadEx 失败,错误为不支持。这些是使事情继续进行所必需的,但例如CreateUmsCompletionList或GetUmsCompletionListEvent不需要 API使用起来并不简单,但我很难相信它们都是错的 我已经调试了

我的计算机在x64处理器中运行Windows 10 Pro 64位。我使用的是VS2015,该应用程序是一个x64控制台应用程序

值得注意的是,在我测试过的4个示例中,并非每个调用都失败

  • EnterUmsSchedulingMode
  • CreateRemoteThreadEx
  • 失败,错误为不支持。这些是使事情继续进行所必需的,但例如CreateUmsCompletionList或GetUmsCompletionListEvent不需要

    API使用起来并不简单,但我很难相信它们都是错的

    我已经调试了EnterUmsSchedulingMode中发生的一些事情,似乎在RTLPattachThreadToumCompletionList中调用NtSetInformationThread时出现了问题,尽管对此我不太确定


    以下是我尝试过的示例。

    如果您使用的是常春藤之前的桥接处理器,UMS将无法工作,因为在x64上创建LDT时存在潜在的安全问题。使用常春藤网桥可以避免这个问题,如果处理器无法访问常春藤网桥功能,Windows 10(表面上是服务器2016)更新只会禁用UMS功能


    此处的更多信息:

    在Windows Server 2016数据中心版上存在相同的问题。你找到原因了吗?我已经安装了Windows Server 2012 R2,现在一切正常。不幸的是,对于如何在Windows Server 2016 R2上执行此操作,没有任何线索。