Compartilhar via


DXGKDDI_CREATEMEMORYBASIS função de retorno de chamada (d3dkmddi.h)

A função DxgkDdiCreateMemoryBasis do KMD cria um identificador para uma coleção de intervalos de memória que representam a alocação operada durante o rastreamento de bits sujo.

Sintaxe

DXGKDDI_CREATEMEMORYBASIS DxgkddiCreatememorybasis;

HANDLE DxgkddiCreatememorybasis(
  IN_CONST_HANDLE hAdapter,
  IN_CONST_PDXGKARG_CREATEMEMORYBASIS pArgs
)
{...}

Parâmetros

hAdapter

[in] Um identificador para um bloco de contexto associado a um adaptador de exibição. O KMD forneceu anteriormente esse identificador para Dxgkrnl no parâmetro de saída MiniportDeviceContext da funçãoDxgiDdiAddDevice.

pArgs

[in] Um ponteiro para uma estrutura DXGKARG_CREATEMEMORYBASIS que contém informações para a base que está sendo criada.

Valor de retorno

DxgkDdiCreateMemoryBasis retorna um HANDLE à referência do KMD para acompanhar a coleção de intervalos. O KMD deve ser capaz de transformar essas informações nas informações da base em comandos subsequentes, como DxgkDdiDestroyMemoryBasis.

Observações

O acompanhamento de operações de modificação na VRAM é para alocações que podem não ser apoiadas contíguamente. Portanto, os endereços físicos representados no acompanhamento de bits sujos consistem em uma coleção de intervalos que representam a alocação em que está sendo operada. DxgkDdiCreateMemoryBasis retorna um identificador para a referência do KMD para acompanhar esses intervalos.

O KMD pode contar com os seguintes invariáveis:

  • Para cada intervalo em Ranges, SegmentOffset e (SegmentOffset + SizeInBytes – 1) representam endereços válidos no segmento referenciado por SegmentId.

  • Todos os intervalos de são desarticulados em pares; ou seja, a interseção entre os dois intervalos é sempre nula.

Também é comum que SegmentOffset e SizeInBytes respeitem determinados alinhamentos de página quando a base de memória criada for usada em determinados DDIs de acompanhamento sujo. Esses valores são descritos na página de referência da DDI e são sempre um múltiplo de DXGK_DIRTY_BIT_TRACKING_SEGMENT_CAPS::P ageSize.

Dxgkrnl caso contrário, não garante a ordenação dos endereços na coleção de Ranges ou garantias relacionadas.

Para obter mais informações, consulte de controle de bits sujo .

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 11, versão 24H2 (WDDM 3.2)
cabeçalho d3dkmddi.h
IRQL PASSIVE_LEVEL

Consulte também

DXGKARG_CREATEMEMORYBASIS

DxgkDdiDestroyMemoryBasis