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) |