Partilhar via


estrutura DXGK_ALLOCATIONLIST (d3dkmddi.h)

A estrutura DXGK_ALLOCATIONLIST descreve uma especificação de alocação usada no buffer de DMA (acesso direto à memória).

Sintaxe

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;

Membros

[in/out] hDeviceSpecificAllocation

Um identificador aberto para a alocação que está sendo referenciada (ou seja, o identificador que o driver retornou no membro hDeviceSpecificAllocation da estrutura DXGK_OPENALLOCATIONINFO para a alocação em uma chamada para a função DxgkDdiOpenAllocation do driver).

[in/out] WriteOperation

Identifica se a alocação pode ser gravada. Definir esse membro como 1 indica que a alocação pode ser gravada em qualquer lugar no buffer de DMA. Definir esse membro é equivalente a definir o primeiro bit de um valor de 32 bits (0x00000001).

[in/out] SegmentId

Especifica o identificador de um segmento no qual a alocação foi paginada pela última vez. Definir esse membro como 0 indica que nenhuma informação de pré-aplicação de patch está disponível. Definir esse membro é equivalente a definir o segundo ao sexto bit de um valor de 32 bits (0x0000002E).

[in] Reserved

Reservado. Esse membro deve ser definido como 0. Definir esse membro é equivalente a definir os 26 bits restantes (0xFFFFFFC0) de um valor de 32 bits como zeros.

[in/out] PhysicalAddress

Um tipo de dados PHYSICAL_ADDRESS (que é definido como LARGE_INTEGER) que indica o endereço físico, dentro do segmento especificado por SegmentId , em que a alocação foi paginada pela última vez. Esse membro será definido como zero se nenhuma informação de pré-aplicação de patch estiver disponível.

Com suporte começando com Windows 10.

[in/out] VirtualAddress

Um tipo de dados D3DGPU_VIRTUAL_ADDRESS (que é definido como ULONGLONG) que indica o endereço virtual.

Com suporte começando com Windows 10.

Comentários

Na função DxgkDdiRender do driver de miniporto de exibição, o driver gera uma lista de estruturas de DXGK_ALLOCATIONLIST para especificações de alocação que serão usadas em um buffer de DMA (acesso direto à memória). O gerenciador de memória de vídeo usa a lista para dividir e corrigir buffers de DMA adequadamente.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista
Cabeçalho d3dkmddi.h (inclua D3dkmddi.h)

Confira também

DXGKARG_CREATEALLOCATION

DXGK_ALLOCATIONINFO

DXGK_OPENALLOCATIONINFO

DxgkDdiCreateAllocation

DxgkDdiOpenAllocation

DxgkDdiRender