Compartir a través de


estructura DXGK_ALLOCATIONLIST (d3dkmddi.h)

La estructura DXGK_ALLOCATIONLIST describe una especificación de asignación que se usa en el almacenamiento en búfer de acceso directo a memoria (DMA).

Sintaxis

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;

Miembros

[in/out] hDeviceSpecificAllocation

Identificador abierto a la asignación a la que se hace referencia (es decir, el identificador devuelto por el controlador en el miembro hDeviceSpecificAllocation de la estructura DXGK_OPENALLOCATIONINFO para la asignación en una llamada a la función DxgkDdiOpenAllocation del controlador).

[in/out] WriteOperation

Identifica si la asignación se puede escribir en. Si se establece este miembro en 1, se indica que la asignación se puede escribir en cualquier lugar del búfer DMA. Establecer este miembro equivale a establecer el primer bit de un valor de 32 bits (0x00000001).

[in/out] SegmentId

Especifica el identificador de un segmento en el que se pagina por última vez la asignación. Si se establece este miembro en 0, se indica que no hay información previa a la revisión disponible. Establecer este miembro equivale a establecer el segundo a sexto bit de un valor de 32 bits (0x0000002E).

[in] Reserved

Reservado. Este miembro debe establecerse en 0. Establecer este miembro equivale a establecer los 26 bits restantes (0xFFFFFFC0) de un valor de 32 bits en ceros.

[in/out] PhysicalAddress

Un tipo de datos PHYSICAL_ADDRESS (que se define como LARGE_INTEGER) que indica la dirección física, dentro del segmento que SegmentId especifica, donde la asignación se ha paginado por última vez. Este miembro se establece en cero si no hay información previa a la revisión disponible.

Se admite a partir de Windows 10.

[in/out] VirtualAddress

Un D3DGPU_VIRTUAL_ADDRESS tipo de datos (que se define como un ULONGLONG) que indica la dirección virtual.

Se admite a partir de Windows 10.

Comentarios

En la función DxgkDdiRender del controlador de miniporte de pantalla, el controlador genera una lista de DXGK_ALLOCATIONLIST estructuras para las especificaciones de asignación que se usarán en un búfer de acceso directo a memoria (DMA). El administrador de memoria de vídeo usa la lista para dividir y aplicar revisiones adecuadamente a los búferes DMA.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista
Encabezado d3dkmddi.h (incluya D3dkmddi.h)

Consulte también

DXGKARG_CREATEALLOCATION

DXGK_ALLOCATIONINFO

DXGK_OPENALLOCATIONINFO

DxgkDdiCreateAllocation

DxgkDdiOpenAllocation

DxgkDdiRender