Windows 显示驱动开发-微型端口的DriverEntry 函数

DriverEntry 函数为 DirectX 图形内核子系统 (Dxgkrnl) 提供了一组指向显示微型端口驱动程序 (KMD) 实现的函数的指针。

NTSTATUS DriverEntry(
  _In_ PDRIVER_OBJECT  DriverObject,
  _In_ PUNICODE_STRING RegistryPath
);
参数

DriverObject 是指向 DRIVER_OBJECT 结构的指针,该结构表示由(显示微型端口、显示端口)驱动程序对构成的驱动程序。

RegistryPath 是指向 UNICODE_STRING 结构的指针,该结构提供驱动程序注册表项的路径。

返回值

DriverEntry 必须返回调用 DxgkInitialize 返回的值。

注解

DriverEntry 必须执行以下步骤:

  • 分配一个 DRIVER_INITIALIZATION_DATA 结构,并将其 Version 成员设置为 DXGKDDI_INTERFACE_VERSION,该成员在 Dispmprt.h 中定义。
  • 用指向 KMD 实现的函数的指针填充 DRIVER_INITIALIZATION_DATA 的其余成员。
  • 将 DriverObject、RegistryPath 和填充 DRIVER_INITIALIZATION_DATA 结构传递给 DxgkInitialize。
  • 返回由 DxgkInitialize 返回的值。

在 DriverEntry 返回后,DRIVER_INITIALIZATION_DATA 结构不需要保留在内存中。DriverEntry 应可分页。

仅限内核模式显示驱动程序的 DriverEntry

对于仅限内核模式显示驱动程序 (KMDOD) 接口, KMDDOD_INITIALIZATION_DATA 结构列出了可由 KMDOD 实现的所有函数。 除 DxgkDdiPresentDisplayOnly 函数外,所有这些函数也可以由全显示微型端口驱动程序 (KMD) 实现。 KMDOD 的 DriverEntry 函数通过填充 KMDDOD_INITIALIZATION_DATA 的所有成员,然后将该结构传递给 DxgkInitializeDisplayOnlyDriver 函数,为显示端口驱动程序提供函数指针。

如果 KMDOD 不支持 VSync 控件功能,则不应实现某些函数。 请参阅使用 VSync 控件节省能源。

以下结构和枚举也与 KMDOD 一起使用:

D3DKMT_MOVE_RECT
D3DKMT_PRESENT_DISPLAY_ONLY_FLAGS
DXGK_PRESENT_DISPLAY_ONLY_PROGRESS_ID
DXGKARG_PRESENT_DISPLAYONLY
DXGKARGCB_PRESENT_DISPLAYONLY_PROGRESS

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值