PDXGK_INITIAL_COMPONENT_STATE回呼函式 (d3dkmthk.h)
用戶端驅動程式會實作 PDXGK_INITIAL_COMPONENT_STATE 回呼函式,以初始化元件狀態。
語法
PDXGK_INITIAL_COMPONENT_STATE PdxgkInitialComponentState;
void PdxgkInitialComponentState(
PVOID GraphicsDeviceHandle,
PVOID PrivateHandle,
ULONG ComponentIndex,
BOOLEAN IsBlockingType,
UINT InitialFState,
GUID ComponentGuid,
UINT PowerComponentMappingFlag
)
{...}
參數
GraphicsDeviceHandle
圖形裝置的句柄。
PrivateHandle
任何回呼中提供的不透明句柄。 此句柄必須是全域唯一的,因此應該使用呼叫驅動程式 PDO 或 FDO 的指標。
ComponentIndex
元件的索引。 一般而言,這會是圖形配接器所使用的索引。 例外狀況是鏈接器顯示配接器 (LDA) 案例,其中 ComponentIndex 的 HIWORD 表示配接器索引,如同在 LDA 案例中,圖形核心呼叫圖形驅動程式以進行 F 狀態變更時所完成。
IsBlockingType
如果元件為「封鎖」,請設定 TRUE;例如,圖形驅動程式已將元件回報為 ActiveInD3 = 0。 否則,請設定 FALSE。
InitialFState
呼叫時 ComponentIndex 所代表元件的 F 狀態。 如果 F 狀態轉換目前正在進行中,當轉換完成時, PDXGK_FSTATE_NOTIFICATION完成通知 回呼 PreNotification=FALSE
將會在稍後完成。 視時間而定,可能會發生回 PreNotification=TRUE
呼。 如果確實發生,則會在完成通知回呼之前。
ComponentGuid
GUID 值,這是此元件的圖形驅動程式在其 DXGKQAITYPE_POWERCOMPONENTINFO 回應期間所報告的元件 GUID。
PowerComponentMappingFlag
HIWORD 指出這是自定義驅動程式定義的值, (0 = 否,1 = 是) 。 如果 0 (沒有) ,則低字代表 DXGKMT_POWER_SHARED_TYPE 列舉值。 這些值是由圖形驅動程式在其DXGKQAITYPE_POWERCOMPONENTINFO回應期間設定,使用新增至DXGK_POWER_COMPONENT_MAPPING的DXGK_POWER_COMPONENT_SHARED_DESC類型。
傳回值
無
備註
共用電源註冊 (IoCallDriver 呼叫) 時,如果已提供 PDXGK_INITIAL_COMPONENT_STATE ,則會針對圖形驅動程式回報的每個共用電源元件呼叫一次。 此回呼的行為如下:
- 這些呼叫是在 IoCallDriver 傳回之前發生的重新進入呼叫
- 這些呼叫會在 DISPATCH_LEVEL發生,這需要驅動程式程式代碼和數據成為記憶體駐留
- 當這些回呼在 IoCallDriver 傳回之前發生, DXGK_GRAPHICSPOWER_REGISTER_OUTPUT 尚未填入
- 如果目前有任何 F 狀態轉換正在進行中,通知後 PDXGK_FSTATE_NOTIFICATION 將會警示驅動程式最終狀態。 在 InitialComponentStateCb 呼叫之後,保證會發生這類呼叫。 不過,如果需要同步處理,在 IoCallDriver 傳回之前,可能會發生這類回呼。 微調鎖定應該在 IoCallDriver 和 PDXGK_FSTATE_NOTIFICATION 處理程式周圍。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 8 |
最低支援的伺服器 | Windows Server 2012 |
標頭 | d3dkmthk.h |
IRQL | DISPATCH_LEVEL |