DXGKDDI_ADD_DEVICE回调函数 (dispmprt.h)

DxgkDdiAddDevice 函数为显示适配器创建上下文块,并返回表示显示适配器的句柄。

语法

DXGKDDI_ADD_DEVICE DxgkddiAddDevice;

NTSTATUS DxgkddiAddDevice(
  [in]  IN_CONST_PDEVICE_OBJECT PhysicalDeviceObject,
  [out] OUT_PPVOID MiniportDeviceContext
)
{...}

参数

[in] PhysicalDeviceObject

指向标识显示适配器的物理设备对象的指针 (PDO) 。

[out] MiniportDeviceContext

指向接收由显示微型端口驱动程序创建的句柄的变量的指针,该变量表示 PhysicalDeviceObject 标识的显示适配器。 显示微型端口驱动程序可以在此参数中返回 NULL,以指示它不支持 PhysicalDeviceObject 标识的显示适配器。

返回值

DxgkDdiAddDevice 如果成功,则返回STATUS_SUCCESS;否则,它将返回 Ntstatus.h 中定义的错误代码之一。

注解

DxgkDdiAddDevice 函数分配与 PhysicalDeviceObject 标识的显示适配器关联的专用上下文块。 可以将 MiniportDeviceContext 中返回的句柄视为显示适配器的句柄或与显示适配器关联的上下文块的句柄。 DirectX 图形内核子系统 (Dxgkrnl.sys) 将在随后调用显示微型端口驱动程序时提供句柄。 以下列表提供了 Dxgkrnl.sys将 句柄传递给显示微型端口驱动程序实现的函数的各种组件的示例。

不要混淆有时句柄命名为 MiniportDeviceContext ,有时称为 hAdapter。 此外,不要将此句柄与传递给某些显示微型端口驱动程序函数的 hDevice 参数混淆。

DxgkDdiAddDevice 在串行中一次调用一台设备。 其行为与 WDM 内核模式驱动程序的标准 DRIVER_ADD_DEVICE 回调相同。

某些显示适配器卡具有两个或多个 PCI 功能,充当显示适配器的作用。 例如,某些旧卡通过为每个视图使用单独的 PCI 函数来实现多个视图。 显示端口驱动程序为每个 PCI 函数调用 DxgkDdiAddDevice 一次,此时显示微型端口驱动程序可以通过将 MiniportDeviceContext 设置为非零值) 或将 MiniportDeviceContext 设置为 NULL () 来指示它支持 PCI 函数 (。 若要获取有关特定 PCI 函数的信息,显示微型端口驱动程序可以将 PhysicalDeviceObject 传递给 IoGetDeviceProperty

DxgkDdiRemoveDevice 中,释放上下文块以及 DxgkDdiAddDevice 期间分配的任何其他资源。

应使 DxgkDdiAddDevice 函数可分页。

要求

   
最低受支持的客户端 Windows Vista
目标平台 桌面
Header dispmprt.h
IRQL PASSIVE_LEVEL

请参阅

DxgkDdiRemoveDevice

DxgkDdiStartDevice