DXGKDDI_ADD_DEVICE回调函数 (dispmprt.h)

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

语法

DXGKDDI_ADD_DEVICE DxgkddiAddDevice;

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

参数

[in] PhysicalDeviceObject

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

[out] MiniportDeviceContext

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

返回值

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

言论

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

不要混淆这样一个事实:有时句柄 MiniportDeviceContext 命名,有时 hAdapter命名。 此外,请不要将此句柄与传递给某些显示微型端口驱动程序函数的 hDevice 参数混淆。

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

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

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

应将 DxgkDdiAddDevice 函数设为可分页。

要求

要求 价值
最低支持的客户端 Windows Vista
目标平台 桌面
标头 dispmprt.h
IRQL PASSIVE_LEVEL

另请参阅

DxgkDdiRemoveDevice

DxgkDdiStartDevice