Condividi tramite


DXGKDDI_OPENALLOCATIONINFO funzione di callback (d3dkmddi.h)

La funzione DxgkDdiOpenAllocation associa allocazioni non specifiche del dispositivo create dalla funzione DxgkDdiCreateAllocation alle allocazioni specifiche del dispositivo di contesto grafico specificato.

Sintassi

DXGKDDI_OPENALLOCATIONINFO DxgkddiOpenallocationinfo;

NTSTATUS DxgkddiOpenallocationinfo(
  [in] IN_CONST_HANDLE hDevice,
  [in] IN_CONST_PDXGKARG_OPENALLOCATION pOpenAllocation
)
{...}

Parametri

[in] hDevice

Handle per il dispositivo del contesto grafico a cui sono associate le allocazioni. La funzione DxgkDdiCreateDevice del driver miniport di visualizzazione ha fornito in precedenza questo handle al sottosistema kernel grafico Microsoft DirectX nel membro hDevice della struttura DXGKARG_CREATEDEVICE .

[in] pOpenAllocation

Puntatore a una struttura DXGKARG_OPENALLOCATION che contiene informazioni sulle allocazioni di binding.

Valore restituito

DxgkDdiOpenAllocation restituisce uno dei valori seguenti:

Codice restituito Descrizione
STATUS_SUCCESS DxgkDdiOpenAllocation ha associato correttamente le allocazioni al dispositivo del contesto grafico specificato dal parametro hDevice.
STATUS_INVALID_PARAMETER I parametri passati a DxgkDdiOpenAllocation contengono errori che impedivano il completamento.
STATUS_NO_MEMORY DxgkDdiOpenAllocation non è riuscito ad allocare memoria necessaria per il completamento.
STATUS_GRAPHICS_DRIVER_MISMATCH Il driver miniport dello schermo non è compatibile con il driver di visualizzazione in modalità utente che ha avviato la chiamata a DxgkDdiOpenAllocation (ovvero, fornito dati privati al driver miniport di visualizzazione).

Commenti

Il sottosistema kernel grafico DirectX chiama la funzione DxgkDdiOpenAllocation del driver miniport di visualizzazione per associare allocazioni non specifiche del dispositivo create dalla funzione DxgkDdiCreateAllocation alle allocazioni specifiche del dispositivo di contesto grafico specificato dal parametro hDevice . Il driver miniport di visualizzazione associa le allocazioni a un dispositivo in modo che il driver possa tenere traccia dei dati di allocazione specifici di un dispositivo.

Il driver miniport di visualizzazione può associare un'allocazione a qualsiasi dispositivo che qualsiasi processo (nella stessa scheda grafica) creato e non solo a un dispositivo nel processo di creazione.

Quando DxgkDdiOpenAllocation restituisce STATUS_SUCCESS, il driver imposta il membro hDeviceSpecificAllocation della struttura DXGK_OPENALLOCATIONINFO per ogni allocazione su un valore non NULL. La struttura DXGK_OPENALLOCATIONINFO per ogni allocazione è un elemento della matrice specificata dal membro pOpenAllocation della struttura DXGKARG_OPENALLOCATION .

Il driver può modificare i dati del driver privato di allocazione passati nel membro pPrivateDriverData della struttura DXGK_OPENALLOCATIONINFO solo quando viene creata l'allocazione ( che viene indicato quando è impostato il flag Crea campo di bit nel membro Flags della struttura DXGKARG_OPENALLOCATION ). Il driver deve determinare che può leggere solo i dati del driver privato di allocazione quando viene aperta l'allocazione, ovvero quando il flag Crea campo di bit non è impostato.

DxgkDdiOpenAllocation deve essere reso impaginabile.

Requisiti

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

Vedi anche

DXGKARG_CREATEDEVICE

DXGKARG_OPENALLOCATION

DXGK_OPENALLOCATIONINFO

DxgkDdiCreateAllocation

DxgkDdiCreateDevice