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) 。
設定 Version 成員。 版本常數定義於 Dispmprt.h (例如,DXGK_AGP_INTERFACE_VERSION_1) 。
呼叫 DxgkCbQueryServices;將 ServicesType 設定為 DxgkServicesAgp,並將 [介面] 設定為 (轉換成DXGK_AGP_INTERFACE結構的 PINTERFACE) 位址。
從 DxgkCbQueryServices 傳回時, 您的DXGK_AGP_INTERFACE 結構將包含 AGP 介面函式的指標;例如, AgpAllocatePool。
取得偵錯報表介面
若要取得偵錯報表介面,請執行下列動作:
配置 DXGK_DEBUG_REPORT_INTERFACE 結構。
將 Size 成員設定為 sizeof (DXGK_DEBUG_REPORT_INTERFACE) 。
設定 Version 成員。 版本常數定義於 Dispmprt.h (,例如,DXGK_DEBUG_REPORT_INTERFACE_VERSION_1) 。
呼叫 DxgkCbQueryServices;將 ServicesType 設定為 DxgkServicesDebugReport,並將 Interface 設定為 (轉換成 DXGK_DEBUG_REPORT_INTERFACE 結構的 PINTERFACE) 位址。
從 DxgkCbQueryServices 傳回時,您的DXGK_DEBUG_REPORT_INTERFACE結構將包含偵錯報表介面函式的指標;例如 ,DbgReportCreate。
取得計時作業介面
若要取得計時作業介面,請執行下列動作:
將 Size 成員設定為 sizeof (DXGK_TIMED_OPERATION_INTERFACE) 。
設定 Version 成員。 版本常數定義於 Dispmprt.h (例如,DXGK_TIMED_OPERATION_INTERFACE_VERSION_1) 。
呼叫 DxgkCbQueryServices;將 ServicesType 設定為 DxgkServicesTimedOperation,並將 Interface 設定為 DXGK_TIMED_OPERATION_INTERFACE結構的 PINTERFACE) 轉換成位址 (。
從 DxgkCbQueryServices 傳回時,您的 DXGK_TIMED_OPERATION_INTERFACE 結構會包含計時作業介面函式的指標;例如 TimedOperationStart。
取得SPB和系統韌體數據表介面
簡單周邊總線 (SPB) 和系統韌體數據表介面可以透過使用適當的 ServicesType 和 結構遵循上述步驟來取得。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista |
目標平台 | 桌面 |
標頭 | dispmprt.h (包括 Dispmprt.h) |
IRQL | PASSIVE_LEVEL |