跳至内容

在 Windows 系统服务应用程序中使用 ADLX

导航: 使用 ADLX 编程ADLX 编程指南高级配置

ADLX v1.4 及更高版本可直接在 Windows 系统服务应用程序中使用,提供对有限 ADLX 功能的访问。

如果 Windows 系统服务应用程序需要 ADLX 在 Session 0 中运行时不可用的 ADLX 功能,请参考 ADLX v1.3 及更低版本

ADLX v1.4 及更高版本

当 ADLX v1.4 及更高版本在 Windows 系统服务应用程序中运行时,以下功能可用:

注意: 在 Session 0 中运行时,ADLX 无法使用 ADL 上下文进行初始化。

有关使用 ADL 上下文初始化 ADLX 的更多信息,请参阅 在 ADL 应用程序中使用 ADLX

ADLX v1.3 及更低版本

ADLX v1.3 及更低版本无法直接在 Windows 系统服务应用程序中使用。但是,可以通过用户模式进程在系统服务应用程序中访问 ADLX 功能。

这些功能通过用户模式进程和系统服务之间的通信机制(例如共享内存)提供。

要在系统服务应用程序中使用 ADLX v1.3 及更低版本,请执行以下操作:

  • 创建系统服务应用程序。

  • 有关如何在 C++ 中创建系统服务应用程序的更多信息,请参阅 ServiceCall C++ 示例

  • 有关如何在 C 中创建系统服务应用程序的更多信息,请参阅 ServiceCall C 示例

  • 在系统服务应用程序中,启动一个线程来完成服务工作,例如 ServiceWorkerThread

  • ServiceWorkerThread 中,获取当前进程的令牌,使用 CreateProcessAsUserW 创建用户进程。

  • 有关如何在 C++ 中将用户进程创建到服务应用程序的更多信息,请参阅 UserProcess C++ 示例

  • 有关如何在 C 中将用户进程创建到服务应用程序的更多信息,请参阅 UserProcess C 示例

  • 在用户模式进程中,加载 ADLX 并实现所需的功能。

  • 在用户模式进程中,实现适用于与系统服务通信的通信机制(例如共享内存),并将 ADLX 数据与通信机制关联。

  • 运行用户模式进程和服务应用程序。

有关更多信息,请参阅 GPUServiceCall C++ 示例GPUServiceCall C 示例

API 参考

本页面引用了

© . This site is unofficial and not affiliated with AMD.