Condividi tramite


DXGK_ALLOCATIONLIST struttura (d3dkmddi.h)

La struttura DXGK_ALLOCATIONLIST descrive una specifica di allocazione usata nel buffer DMA (Direct Memory Access).

Sintassi

typedef struct _DXGK_ALLOCATIONLIST
{
    HANDLE              hDeviceSpecificAllocation;
    struct
    {
        UINT            WriteOperation  : 1;    // 0x00000001
        UINT            SegmentId       : 5;    // 0x0000002E
        UINT            Reserved        : 26;   // 0xFFFFFFC0
    };
#if (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WDDM2_0)
    union
    {
        PHYSICAL_ADDRESS        PhysicalAddress;
        D3DGPU_VIRTUAL_ADDRESS  VirtualAddress;
    };
#else // (DXGKDDI_INTERFACE_VERSION < DXGKDDI_INTERFACE_VERSION_WDDM2_0)
    PHYSICAL_ADDRESS    PhysicalAddress;
#endif // (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WDDM2_0)
} DXGK_ALLOCATIONLIST;

Members

[in/out] hDeviceSpecificAllocation

Handle aperto all'allocazione a cui si fa riferimento, ovvero l'handle restituito dal driver nel membro hDeviceSpecificAllocation della struttura di DXGK_OPENALLOCATIONINFO per l'allocazione in una chiamata alla funzione DxgkDdiOpenAllocation del driver.

[in/out] WriteOperation

Identifica se l'allocazione può essere scritta in. L'impostazione di questo membro su 1 indica che l'allocazione può essere scritta in qualsiasi punto del buffer DMA. L'impostazione di questo membro equivale a impostare il primo bit di un valore a 32 bit (0x00000001).

[in/out] SegmentId

Specifica l'identificatore di un segmento in cui è stata inserita l'ultima pagina dell'allocazione. L'impostazione di questo membro su 0 indica che non sono disponibili informazioni di pre-patch. L'impostazione di questo membro equivale a impostare il secondo e il sesto bit di un valore a 32 bit (0x0000002E).

[in] Reserved

Riservato. Questo membro deve essere impostato su 0. L'impostazione di questo membro equivale a impostare i 26 bit rimanenti (0xFFFFFFC0) di un valore a 32 bit su zero.

[in/out] PhysicalAddress

Tipo di dati PHYSICAL_ADDRESS (definito come LARGE_INTEGER) che indica l'indirizzo fisico, all'interno del segmento specificato da SegmentId , in cui l'allocazione è stata eseguita l'ultima pagina in. Questo membro è impostato su zero se non sono disponibili informazioni di pre-patch.

Supportato a partire da Windows 10.

[in/out] VirtualAddress

Tipo di dati D3DGPU_VIRTUAL_ADDRESS (definito come ULONGLONG) che indica l'indirizzo virtuale.

Supportato a partire da Windows 10.

Commenti

Nella funzione DxgkDdiRender del driver di visualizzazione, il driver genera un elenco di strutture DXGK_ALLOCATIONLIST per le specifiche di allocazione che verranno usate in un buffer DMA (Direct Memory Access). Gestione memoria video usa l'elenco per dividere e applicare patch ai buffer DMA in modo appropriato.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista
Intestazione d3dkmddi.h (include D3dkmddi.h)

Vedi anche

DXGKARG_CREATEALLOCATION

DXGK_ALLOCATIONINFO

DXGK_OPENALLOCATIONINFO

DxgkDdiCreateAllocation

DxgkDdiOpenAllocation

DxgkDdiRender