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.
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 |