Partager via


structure DXGK_ALLOCATIONLIST (d3dkmddi.h)

La structure DXGK_ALLOCATIONLIST décrit une spécification d’allocation utilisée dans la mise en mémoire tampon d’accès direct (DMA).

Syntaxe

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;

Membres

[in/out] hDeviceSpecificAllocation

Handle ouvert à l’allocation référencée (autrement dit, handle retourné dans le hDeviceSpecificAllocation membre de la structure DXGK_OPENALLOCATIONINFO pour l’allocation dans un appel à la fonction DxgkDdiOpenAllocationdupilote).

[in/out] WriteOperation

Identifie si l’allocation peut être écrite. La définition de ce membre sur 1 indique que l’allocation peut être écrite n’importe où dans la mémoire tampon DMA. Définir ce membre équivaut à définir le premier bit d’une valeur 32 bits (0x00000001).

[in/out] SegmentId

Spécifie l’identificateur d’un segment auquel l’allocation a été mise en page pour la dernière fois. La définition de ce membre sur 0 indique qu’aucune information de pré-mise à jour corrective n’est disponible. La définition de ce membre équivaut à définir la deuxième à la sixième bits d’une valeur 32 bits (0x0000002E).

[in] Reserved

Réservé. Ce membre doit être défini sur 0. Définir ce membre équivaut à définir les 26 bits restants (0xFFFFFFC0) d’une valeur 32 bits sur zéros.

[in/out] PhysicalAddress

Type de données PHYSICAL_ADDRESS (qui est défini comme LARGE_INTEGER) qui indique l’adresse physique, dans le segment spécifié SegmentId, où l’allocation a été mise en page la dernière page. Ce membre est défini sur zéro si aucune information de pré-mise à jour corrective n’est disponible.

Prise en charge à partir de Windows 10.

[in/out] VirtualAddress

Type de données D3DGPU_VIRTUAL_ADDRESS (qui est défini comme un ULONGLONG) qui indique l’adresse virtuelle.

Prise en charge à partir de Windows 10.

Remarques

Dans la fonction DxgkDdiRender du pilote miniport d’affichage, le pilote génère une liste de structures DXGK_ALLOCATIONLIST pour les spécifications d’allocation qui seront utilisées dans une mémoire tampon DMA (Direct Memory Access). Le gestionnaire de mémoire vidéo utilise la liste pour fractionner et corriger les mémoires tampons DMA de manière appropriée.

Exigences

Exigence Valeur
client minimum pris en charge Windows Vista
d’en-tête d3dkmddi.h (include D3dkmddi.h)

Voir aussi

DXGKARG_CREATEALLOCATION

DXGK_ALLOCATIONINFO

DXGK_OPENALLOCATIONINFO

DxgkDdiCreateAllocation

DxgkDdiOpenAllocation

DxgkDdiRender