DXGKDDI_ADD_DEVICE funzione di callback (dispmprt.h)

La funzione DxgkDdiAddDevice crea un blocco di contesto per una scheda di visualizzazione e restituisce un handle che rappresenta la scheda di visualizzazione.

Sintassi

DXGKDDI_ADD_DEVICE DxgkddiAddDevice;

NTSTATUS DxgkddiAddDevice(
  [in]  IN_CONST_PDEVICE_OBJECT PhysicalDeviceObject,
  [out] OUT_PPVOID MiniportDeviceContext
)
{...}

Parametri

[in] PhysicalDeviceObject

Puntatore a un oggetto dispositivo fisico (PDO) che identifica una scheda di visualizzazione.

[out] MiniportDeviceContext

Puntatore a una variabile che riceve un handle, creato dal driver miniport visualizzato, che rappresenta la scheda di visualizzazione identificata da PhysicalDeviceObject. Il driver miniport di visualizzazione può restituire NULL in questo parametro per indicare che non supporterà la scheda di visualizzazione identificata da PhysicalDeviceObject.

Valore restituito

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

Commenti

La funzione DxgkDdiAddDevice alloca un blocco di contesto privato associato alla scheda di visualizzazione identificata da PhysicalDeviceObject. È possibile pensare all'handle restituito in MiniportDeviceContext come handle per la scheda di visualizzazione o come handle al blocco di contesto associato all'adattatore di visualizzazione. Il sottosistema del kernel della grafica DirectX (Dxgkrnl.sys) fornirà l'handle nelle chiamate successive al driver miniport visualizzato. L'elenco seguente fornisce esempi di vari componenti di Dxgkrnl.sys passando l'handle alle funzioni implementate dal driver miniport visualizzato.

  • Il driver della porta di visualizzazione fornisce l'handle nel parametro MiniportDeviceContext della funzione DxgkDdiStartDevice .

  • Il gestore VidPN fornisce l'handle nel parametro hAdapter della funzione DxgkDdiIsSupportedVidPn .

  • Il core grafico DirectX fornisce l'handle nel parametro hAdapter della funzione DxgkDdiQueryAdapterInfo .

Non essere confuso dal fatto che a volte l'handle è denominato MiniportDeviceContext e talvolta è denominato hAdapter. Inoltre, non confondere questo handle con il parametro hDevice passato a determinate funzioni di driver miniport di visualizzazione.

DxgkDdiAddDevice viene richiamato per un dispositivo alla volta in serie. Il suo comportamento è uguale allo standard DRIVER_ADD_DEVICE callback per i driver in modalità kernel WDM.

Alcune schede adattatori di visualizzazione hanno due o più funzioni PCI che svolgono il ruolo della scheda di visualizzazione. Ad esempio, alcune schede meno recenti implementano più visualizzazioni con una funzione PCI separata per ogni visualizzazione. Il driver della porta di visualizzazione chiama DxgkDdiAddDevice una volta per ognuna di queste funzioni PCI, al momento in cui il driver miniport visualizzato può indicare che supporta la funzione PCI (impostando MiniportDeviceContext su un valore diverso da zero) o che non supporta la funzione PCI (impostando MiniportDeviceContext su NULL). Per ottenere informazioni su una determinata funzione PCI, il driver miniport visualizzato può passare PhysicalDeviceObject a IoGetDeviceProperty.

In DxgkDdiRemoveDevice liberare il blocco di contesto e qualsiasi altra risorsa allocata durante DxgkDdiAddDevice.

La funzione DxgkDdiAddDevice deve essere resa paginabile.

Requisiti

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

Vedi anche

DxgkDdiRemoveDevice

DxgkDdiStartDevice