DXGKCB_ACQUIRE_POST_DISPLAY_OWNERSHIP回呼函式 (dispmprt.h)
由 Windows 顯示驅動程式模型 (WDDM) 1.2 或更新版本的顯示迷你埠驅動程式呼叫,以從目前的電源開機自我測試 (POST) 顯示裝置或先前執行的 WDDM 驅動程式取得顯示資訊。
驅動程式必須在啟動顯示裝置之後,使用此顯示資訊來優化初始模式變更要求。
語法
DXGKCB_ACQUIRE_POST_DISPLAY_OWNERSHIP DxgkcbAcquirePostDisplayOwnership;
NTSTATUS DxgkcbAcquirePostDisplayOwnership(
[in] HANDLE DeviceHandle,
[out] PDXGK_DISPLAY_INFORMATION DisplayInfo
)
{...}
參數
[in] DeviceHandle
表示顯示配接器的句柄。 顯示迷你埠驅動程式先前在傳遞至 DxgkDdiStartDevice 之 DXGKRNL_INTERFACE 結構的 DeviceHandle 成員中取得此句柄。
[out] DisplayInfo
顯示迷你埠驅動程式所配置 之DXGK_DISPLAY_INFORMATION 結構的指標。 如果 DxgkCbAcquirePostDisplayOwnership 傳回STATUS_SUCCESS,此結構會包含用於 POST 作業之目前顯示裝置的顯示資訊。
傳回值
DxgkCbAcquirePostDisplayOwnership 會在成功時傳回STATUS_SUCCESS。 否則,它會傳回 Ntstatus.h 中定義的其中一個錯誤碼。
備註
允許的色彩格式
DisplayInfo->ColorFormat 成員必須包含下列兩種格式的位 OR 組合:- D3DDDIFMT_X8R8G8B8
- D3DDDIFMT_A8R8G8B8
影片呈現目標初始化
DisplayInfo->TargetId 成員可能未初始化。 在此情況下,影片呈現目標的標識碼 D3DDDI_ID_UNINITIALIZED。 一般而言,這會在系統開機之後發生。同樣地,DisplayInfo-AcpiId> 成員可能尚未初始化。 在此情況下,ACPI識別碼 AcpiId 的值為零。
在驅動程式對驅動程式升級的情況下,先前的驅動程式將會提供目標標識碼和ACPI標識碼。
實作指導方針
從 WDDM 1.2 開始,顯示迷你埠驅動程式必須在呼叫 DxgkCbAcquirePostDisplayOwnership 時遵循下列指導方針:- DxgkCbAcquirePostDisplayOwnership 函式的進入點是DXGKRNL_INTERFACE結構的一部分。 呼叫驅動程式的 DxgkDdiStartDevice 函式時,會透過 DxgkInterface 參數傳回此結構。
- 顯示迷你埠驅動程式是選擇性的,可以呼叫 DxgkCbAcquirePostDisplayOwnership。 不過,如果驅動程式先前未呼叫 DxgkCbAcquirePostDisplayOwnership,操作系統仍可能會呼叫裝置驅動程式的 DxgkDdiStopDeviceAndReleasePostDisplayOwnership 函式。
- 如果裝置已啟動以回應 隨插即用 (PnP) 事件,則顯示迷你埠驅動程式可以呼叫 DxgkCbAcquirePostDisplayOwnership。 在此情況下,驅動程式必須從呼叫 DxgkDdiStartDevice 函式的內容中呼叫 DxgkCbAcquirePostDisplayOwnership。
- 如果裝置在休眠狀態之後繼續PowerDeviceD0電源狀態,顯示迷你埠驅動程式可以呼叫 DxgkCbAcquirePostDisplayOwnership。 在此情況下,驅動程式必須從對 DxgkDdiSetPowerState 函式的呼叫內容中呼叫 DxgkCbAcquirePostDisplayOwnership。
-
如果驅動程式是在 Windows 8 或更新版本的 Windows 作業系統下執行,則顯示迷你埠驅動程式只能呼叫 DxgkCbAcquirePostDisplayOwnership 函式。
注意 顯示迷你埠驅動程式可以呼叫 RtlGetVersion 來判斷作業系統的版本。
- DxgkCbAcquirePostDisplayOwnership 可能會傳回寬度成員設定為零的DXGK_DISPLAY_INFORMATION結構。 這表示目前的顯示裝置無法執行 POST 作業,或作業系統沒有目前 POST 裝置目前的顯示資訊。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 8 |
最低支援的伺服器 | Windows Server 2012 |
目標平台 | 桌面 |
標頭 | dispmprt.h (包括 Dispmprt.h) |
IRQL | <= APC_LEVEL |