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 à la mémoire (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, le handle que le pilote a retourné dans le membre hDeviceSpecificAllocation de la structure DXGK_OPENALLOCATIONINFO pour l’allocation dans un appel à la fonction DxgkDdiOpenAllocation du pilote).

[in/out] WriteOperation

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

[in/out] SegmentId

Spécifie l’identificateur d’un segment dans lequel l’allocation a été paginée 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

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

Pris en charge à partir de Windows 10.

[in/out] VirtualAddress

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

Pris 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 d’accès direct à la mémoire (DMA). Le gestionnaire de mémoire vidéo utilise la liste pour fractionner et corriger les mémoires tampons DMA de manière appropriée.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista
En-tête d3dkmddi.h (inclure D3dkmddi.h)

Voir aussi

DXGKARG_CREATEALLOCATION

DXGK_ALLOCATIONINFO

DXGK_OPENALLOCATIONINFO

DxgkDdiCreateAllocation

DxgkDdiOpenAllocation

DxgkDdiRender