Condividi tramite


DXGKDDI_START_DEVICE funzione di callback (dispmprt.h)

La funzione DxgkDdiStartDevice prepara una scheda di visualizzazione per ricevere richieste di I/O.

Sintassi

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
)
{...}

Parametri

[in] MiniportDeviceContext

Handle a un blocco di contesto associato a una scheda di visualizzazione. La funzione DxgkDdiAddDevice del driver di visualizzazione ha fornito in precedenza questo handle al sottosistema del kernel della grafica DirectX.

[in] DxgkStartInfo

Puntatore a una struttura DXGK_START_INFO che contiene informazioni necessarie per l'inizializzazione del driver miniport visualizzato.

[in] DxgkInterface

Puntatore a una struttura DXGKRNL_INTERFACE che contiene puntatori a funzioni, implementate dal sottosistema kernel della grafica DirectX, che il driver miniport visualizzato può chiamare.

[out] NumberOfVideoPresentSources

Puntatore a una variabile ULONG che riceve il numero di origini video presenti supportate dall'adattatore di visualizzazione. Per altre informazioni sulle origini video presenti, vedere Più monitoraggi e reti video presenti.

[out] NumberOfChildren

Puntatore a una variabile ULONG che riceve il numero totale di dispositivi figlio della scheda di visualizzazione rappresentata da MiniportDeviceContext. Questo conteggio deve includere potenziali dispositivi figlio e dispositivi figlio attualmente presenti. Ad esempio, se l'ancoraggio di un computer portatile rende disponibili output video aggiuntivi, tali output video devono essere conteggiati indipendentemente dal fatto che il computer portatile sia attualmente ancorato. Per altre informazioni sui dispositivi figlio, vedere Dispositivi figlio dell'adattatore di visualizzazione.

Valore restituito

DxgkDdiStartDevice restituisce STATUS_SUCCESS se ha esito positivo; in caso contrario, restituisce uno dei codici di errore definiti in Ntstatus.h.

Commenti

La funzione DxgkDdiStartDevice deve eseguire le azioni seguenti:

  • Salvare i puntatori di funzione forniti dalla struttura DXGKRNL_INTERFACE passata al parametro DxgkInterface . Salvare anche il membro DeviceHandle della struttura DXGKRNL_INTERFACE ; sarà necessario che l'handle venga richiamato nel sottosistema del kernel grafico DirectX.
  • Allocare una struttura DXGK_DEVICE_INFO e chiamare DxgkCbGetDeviceInformation per compilare i membri di tale struttura, che includono il percorso del Registro di sistema, il PDO e un elenco di risorse tradotte per la scheda di visualizzazione rappresentata da MiniportDeviceContext. Salvare i membri selezionati (quelli necessari per il driver miniport visualizzato in un secondo momento) della struttura DXGK_DEVICE_INFO nel blocco di contesto rappresentato da MiniportDeviceContext.
  • Eseguire il mapping delle risorse di memoria nello spazio di sistema chiamando la funzione DxgkCbMapMemory .
  • Inizializzare il blocco di contesto rappresentato da MiniportDeviceContext con qualsiasi stato necessario per preparare l'hardware per ricevere richieste di I/O.
  • Impostare NumberOfVideoPresentSources sul numero di origini video presenti supportate dalla scheda di visualizzazione rappresentata da MiniportDeviceContext.
  • Impostare NumberOfChildren sul numero di dispositivi che sono (o potrebbero diventare) figlio della scheda di visualizzazione rappresentata da MiniportDeviceContext.
  • Abilitare gli interruzioni per la scheda di visualizzazione rappresentata da MiniportDeviceContext.
A partire da Windows Display Driver Model (WDDM) 1.2, il driver miniport visualizzato chiama la funzione DxgkCbAcquirePostDisplayOwnership per ottenere le informazioni sulla modalità di visualizzazione precedentemente impostata dal firmware e dal caricatore di sistema. Se DxgkCbAcquirePostDisplayOwnership restituisce con STATUS_SUCCESS, il driver determina se deve reinizializzare la visualizzazione in base alle informazioni sulla modalità di visualizzazione restituite tramite il parametro DisplayInfo . In caso contrario, il driver non deve presupporre che una modalità di visualizzazione specifica sia attualmente abilitata nel dispositivo e che deve inizializzare la visualizzazione.

La funzione DxgkDdiStartDevice deve essere resa paginabile.

Requisiti

Requisito Valore
Client minimo supportato Disponibile a partire da Windows Vista.
Piattaforma di destinazione Desktop
Intestazione dispmprt.h
IRQL PASSIVE_LEVEL

Vedi anche

DXGKRNL_INTERFACE

DXGK_DEVICE_INFO

DxgkCbAcquirePostDisplayOwnership

DxgkCbGetDeviceInformation

DxgkCbMapMemory

DxgkDdiAddDevice

DxgkDdiStopDevice