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 de la asignación a la que se hace referencia (es decir, el identificador que devolvió el controlador en el hDeviceSpecificAllocation miembro de la estructura de DXGK_OPENALLOCATIONINFO para la asignación en una llamada a la función DxgkDdiOpenAllocation).

[in/out] WriteOperation

Identifica si la asignación se puede escribir en. Establecer este miembro en 1 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 ha paginado por última vez la asignación. Si se establece este miembro en 0, se indica que no hay ninguna información de aplicación de revisiones previa 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 PHYSICAL_ADDRESS tipo de datos (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 ninguna información de revisión previa disponible.

Se admite a partir de Windows 10.

[in/out] VirtualAddress

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

Se admite a partir de Windows 10.

Observaciones

En la función del controlador de miniporte de pantalla DxgkDdiRender, el controlador genera una lista de estructuras de DXGK_ALLOCATIONLIST para 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 a los búferes DMA adecuadamente.

Requisitos

Requisito Valor
cliente mínimo admitido Windows Vista
encabezado de d3dkmddi.h (incluya D3dkmddi.h)

Consulte también

DXGKARG_CREATEALLOCATION

DXGK_ALLOCATIONINFO

DXGK_OPENALLOCATIONINFO

dxgkDdiCreateAllocation

dxgkDdiOpenAllocation

dxgkDdiRender