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 que está sendo operada durante sujo acompanhamento de bits.
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ção DxgiDdiAddDevice .
pArgs
[in] Um ponteiro para uma estrutura DXGKARG_CREATEMEMORYBASIS que contém informações para a base que está sendo criada.
Retornar valor
DxgkDdiCreateMemoryBasis retorna um HANDLE para 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.
Comentários
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 sujo bits 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 as seguintes invariáveis:
Para cada intervalo em Intervalos, SegmentOffset e (SegmentOffset + SizeInBytes - 1) representam endereços válidos no segmento referenciado por SegmentId.
Todos os Intervalos são contíguos 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 de 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.
Caso contrário, o Dxgkrnl não garante a ordenação dos endereços na coleção de Intervalos ou garantias relacionadas.
Para obter mais informações, consulte Rastreamento de bits sujos.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 11, versão 24H2 (WDDM 3.2) |
Cabeçalho | d3dkmddi.h |
IRQL | PASSIVE_LEVEL |