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 結構。
將 Size 成員設定為 sizeof(DXGK_AGP_INTERFACE)。
設定 版本 成員。 版本常數定義於 Dispmprt.h 中(例如,DXGK_AGP_INTERFACE_VERSION_1)。
呼叫 DxgkCbQueryServices;將 ServicesType 設定為 DxgkServicesAgp,並將 Interface 設定為 DXGK_AGP_INTERFACE 結構的位址 (轉型為 PINTERFACE)。
從 DxgkCbQueryServices傳回時,您的 DXGK_AGP_INTERFACE 結構會包含 AGP 介面函式的指標;例如,AgpAllocatePool。
取得偵錯報表介面
若要取得偵錯報表介面,請執行下列動作:
配置 DXGK_DEBUG_REPORT_INTERFACE 結構。
將 Size 成員設定為 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。
取得計時作業介面
若要取得計時作業介面,請執行下列動作:
將 Size 成員設定為 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 結構會包含 Timed 作業介面函式的指標;例如,TimedOperationStart。
取得SPB和系統韌體數據表介面
使用適當的 ServicesType 和結構,即可使用適當的 ServicesType 和結構,以類似的方式取得 簡單周邊總線(SPB) 和 系統韌體數據表 介面。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows Vista |
目標平臺 | 桌面 |
標頭 | dispmprt.h (包括 Dispmprt.h) |
IRQL | PASSIVE_LEVEL |