共用方式為


DXGKDDI_START_DEVICE回呼函式 (dispmprt.h)

DxgkDdiStartDevice 函式會準備顯示適配卡以接收 I/O 要求。

語法

DXGKDDI_START_DEVICE DxgkddiStartDevice;

NTSTATUS DxgkddiStartDevice(
  [in]  IN_CONST_PVOID MiniportDeviceContext,
  [in]  IN_PDXGK_START_INFO DxgkStartInfo,
  [in]  IN_PDXGKRNL_INTERFACE DxgkInterface,
  [out] OUT_PULONG NumberOfVideoPresentSources,
  [out] OUT_PULONG NumberOfChildren
)
{...}

參數

[in] MiniportDeviceContext

與顯示配接器相關聯的內容區塊句柄。 顯示迷你埠驅動程式的 DxgkDdiAddDevice 函式先前提供此句柄給 DirectX 圖形核心子系統。

[in] DxgkStartInfo

DXGK_START_INFO 結構的指標,其中包含顯示迷你埠驅動程式初始化所需的資訊。

[in] DxgkInterface

DXGKRNL_INTERFACE 結構的指標,其中包含 DirectX 圖形核心子系統所實作之函式的指標,顯示迷你埠驅動程式可以呼叫。

[out] NumberOfVideoPresentSources

ULONG 變數的指標,該變數會接收顯示配接器所支援視訊簡訊簡訊的數目。 如需影片簡報來源的詳細資訊,請參閱 多個監視器和視訊簡訊簡訊

[out] NumberOfChildren

ULONG 變數的指標,會接收 MiniportDeviceContext所表示之顯示配接器子系的裝置總數。 此計數必須包含潛在的子裝置,以及目前存在的子裝置。 例如,如果停駐可攜式計算機會提供額外的視訊輸出,則不論目前是否停駐可攜式計算機,都必須計算這些視訊輸出。 如需子裝置的詳細資訊,請參閱顯示配接器 子裝置。

傳回值

DxgkDdiStartDevice 如果成功,則會傳回 STATUS_SUCCESS;否則,它會傳回 Ntstatus.h中定義的其中一個錯誤碼。

言論

DxgkDdiStartDevice 函式必須執行下列動作:

  • 儲存傳遞至 DxgkInterface 參數之 DXGKRNL_INTERFACE 結構所提供的函式指標。 同時儲存 DeviceHandleDXGKRNL_INTERFACE 結構的成員;您需要該句柄,才能回呼 DirectX 圖形核心子系統。
  • 配置 DXGK_DEVICE_INFO 結構,並呼叫 DxgkCbGetDeviceInformation,以填入該結構的成員,其中包括登錄路徑、PDO,以及 MiniportDeviceContext所代表之顯示配接器的翻譯資源清單。 將選取的成員儲存在 MiniportDeviceContext 所代表的內容區塊中,DXGK_DEVICE_INFO 結構的顯示迷你埠驅動程式。
  • 呼叫 DxgkCbMapMemory 函式,將記憶體資源對應到系統空間。
  • 使用準備硬體以接收 I/O 要求所需的任何狀態,初始化 MiniportDeviceCon text 所代表的內容區塊。
  • NumberOfVideoPresentSources 設定為 MiniportDeviceContext所代表的顯示配接器所支持的視訊簡訊簡報來源數目。
  • NumberOfChildren 設定為 MiniportDeviceContext所代表之顯示配接器子系的裝置數目。
  • MiniportDeviceContext表示的顯示配接器啟用中斷。
從 Windows Display Driver Model (WDDM) 1.2 開始,顯示迷你埠驅動程式會呼叫 DxgkCbAcquirePostDisplayOwnership 函式,以取得韌體和系統載入器先前設定的顯示模式相關信息。 如果 DxgkCbAcquirePostDisplayOwnership 傳回 STATUS_SUCCESS,驅動程式會根據透過 DisplayInfo 參數傳回的顯示模式資訊,判斷它是否必須重新初始化顯示。 否則,驅動程式不應該假設裝置上目前已啟用任何特定的顯示模式,而且應該初始化顯示器。

DxgkDdiStartDevice 函式應設為可分頁。

要求

要求 價值
最低支援的用戶端 從 Windows Vista 開始提供。
目標平臺 桌面
標頭 dispmprt.h
IRQL PASSIVE_LEVEL

另請參閱

DXGKRNL_INTERFACE

DXGK_DEVICE_INFO

DxgkCbAcquirePostDisplayOwnership

DxgkCbGetDeviceInformation

DxgkCbMapMemory

DxgkDdiAddDevice

DxgkDdiStopDevice