DXGKCB_QUERY_SERVICES回调函数 (dispmprt.h)
DxgkCbQueryServices 函数返回由显示端口驱动程序实现的接口。
语法
DXGKCB_QUERY_SERVICES DxgkcbQueryServices;
NTSTATUS DxgkcbQueryServices(
[in] HANDLE DeviceHandle,
[in] DXGK_SERVICES ServicesType,
[in, out] PINTERFACE Interface
)
{...}
参数
[in] DeviceHandle
表示显示适配器的句柄。 显示微型端口驱动程序以前在传递给 DxgkDdiStartDevice的 DXGKRNL_INTERFACE 结构的 DeviceHandle 成员中获取此句柄。
[in] ServicesType
DXGK_SERVICES 枚举中的常量,指定要请求的接口。
[in, out] Interface
指向接收所请求接口的 INTERFACE 结构的指针。
返回值
DxgkCbQueryServices 如果成功,则返回STATUS_SUCCESS。 否则,它将返回 Ntstatus.h中定义的错误代码之一。
言论
在此上下文中,接口是由显示端口驱动程序实现的一组函数。 显示端口驱动程序通过提供函数指针来响应 dxgkCbQueryServices ,使接口的函数可供其他驱动程序使用。
获取 AGP 接口
若要获取加速图形端口(AGP)接口,请执行以下作:
分配 DXGK_AGP_INTERFACE 结构。
将 大小 成员设置为 sizeof(DXGK_AGP_INTERFACE)。
设置 版本 成员。 版本常量在 dispmprt.h (例如,DXGK_AGP_INTERFACE_VERSION_1)中定义。
调用 DxgkCbQueryServices;将 ServicesType 设置为 DxgkServicesAgp,并将 接口 设置为 DXGK_AGP_INTERFACE 结构的地址(强制转换为 PINTERFACE)。
从 DxgkCbQueryServices返回时,DXGK_AGP_INTERFACE 结构将包含指向 AGP 接口函数的指针;例如,AgpAllocatePool。
获取调试报表接口
若要获取调试报表接口,请执行以下作:
分配 DXGK_DEBUG_REPORT_INTERFACE 结构。
将 大小 成员设置为 sizeof(DXGK_DEBUG_REPORT_INTERFACE)。
设置 版本 成员。 版本常量在 Dispmprt.h(例如,DXGK_DEBUG_REPORT_INTERFACE_VERSION_1)中定义。
调用 DxgkCbQueryServices;将 ServicesType 设置为 DxgkServicesDebugReport,并将 接口 设置为 DXGK_DEBUG_REPORT_INTERFACE 结构的地址(强制转换为 PINTERFACE)。
从 DxgkCbQueryServices返回时,DXGK_DEBUG_REPORT_INTERFACE结构将包含指向调试报表接口函数的指针;例如,DbgReportCreate。
获取计时作接口
若要获取计时作接口,请执行以下作:
将 大小 成员设置为 sizeof(DXGK_TIMED_OPERATION_INTERFACE)。
设置 版本 成员。 版本常量是在 dispmprt.h 中定义的(例如,DXGK_TIMED_OPERATION_INTERFACE_VERSION_1)。
调用 DxgkCbQueryServices;将 ServicesType 设置为 DxgkServicesTimedOperation,并将 接口 设置为 DXGK_TIMED_OPERATION_INTERFACE 结构的地址(强制转换为 PINTERFACE)。
从 DxgkCbQueryServices返回时,DXGK_TIMED_OPERATION_INTERFACE 结构将包含指向计时作接口函数的指针;例如,TimedOperationStart。
获取 SPB 和系统固件表接口
简单外围总线(SPB) 和 系统固件表 接口可以通过使用适当的 ServicesType 和结构,以类似方式获取上述步骤。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows Vista |
目标平台 | 桌面 |
标头 | dispmprt.h (包括 Dispmprt.h) |
IRQL | PASSIVE_LEVEL |