estrutura D3DKMT_RENDER (d3dkmthk.h)
A estrutura D3DKMT_RENDER descreve o buffer de comando atual a ser renderizado.
Sintaxe
typedef struct _D3DKMT_RENDER {
union {
[in] D3DKMT_HANDLE hDevice;
[in] D3DKMT_HANDLE hContext;
};
[in] UINT CommandOffset;
[in] UINT CommandLength;
[in] UINT AllocationCount;
[in] UINT PatchLocationCount;
void D3DKMT_PTR(
VOID *unnamedParam1,
pNewCommandBuffer unnamedParam2
);
[in/out] UINT NewCommandBufferSize;
void D3DKMT_PTR(
D3DDDI_ALLOCATIONLIST *unnamedParam1,
pNewAllocationList unnamedParam2
);
[in/out] UINT NewAllocationListSize;
void D3DKMT_PTR(
D3DDDI_PATCHLOCATIONLIST *unnamedParam1,
pNewPatchLocationList unnamedParam2
);
[in/out] UINT NewPatchLocationListSize;
[in] D3DKMT_RENDERFLAGS Flags;
[in] D3DKMT_ALIGN64 ULONGLONG PresentHistoryToken;
[in] ULONG BroadcastContextCount;
D3DKMT_HANDLE BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT];
[out] ULONG QueuedBufferCount;
[out] D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS NewCommandBuffer;
void D3DKMT_PTR(
VOID *unnamedParam1,
pPrivateDriverData unnamedParam2
);
UINT PrivateDriverDataSize;
} D3DKMT_RENDER;
Membros
[in] hDevice
Um tipo de dados D3DKMT_HANDLE que representa um identificador de modo kernel para o dispositivo para o qual o buffer de comando é renderizado. Um identificador de dispositivo é fornecido à função D3DKMTRender na união que D3DKMT_RENDER contém para compatibilidade com o Microsoft Direct3D versão 10.
[in] hContext
Um tipo de dados D3DKMT_HANDLE que representa um identificador de modo kernel para o contexto do dispositivo para o qual o buffer de comando é renderizado.
[in] CommandOffset
O deslocamento, em bytes, para o primeiro comando no buffer de comando.
[in] CommandLength
O tamanho, em bytes, do buffer de comandos começando do deslocamento zero.
[in] AllocationCount
O número de elementos na lista de alocação enviada.
[in] PatchLocationCount
O número de elementos na lista de locais de patch enviados.
void D3DKMT_PTR( VOID *unnamedParam1, pNewCommandBuffer unnamedParam2)
[in/out] NewCommandBufferSize
O tamanho, em bytes, que o OpenGL ICD solicita para o próximo buffer de comando se o sinalizador de campo de bits ResizeCommandBuffer for especificado no membro Flags . Se ResizeCommandBuffer não for especificado, o valor em NewCommandBufferSize será ignorado. Na saída, o driver recebe o tamanho, em bytes, do próximo buffer de comando a ser usado.
Dependendo das condições de memória atuais, o tamanho da saída pode não corresponder ao tamanho da entrada.
void D3DKMT_PTR( D3DDDI_ALLOCATIONLIST *unnamedParam1, pNewAllocationList unnamedParam2)
[in/out] NewAllocationListSize
O número de elementos que o OpenGL ICD solicita para a próxima lista de alocação se o sinalizador de campo de bits ResizeAllocationList for especificado no membro Flags . Se ResizeAllocationList não for especificado, o valor em NewAllocationListSize será ignorado. Na saída, o driver recebe o número de elementos que estarão disponíveis em uma matriz de alocações quando o próximo buffer de comando for enviado.
Dependendo das condições de memória atuais, o tamanho da saída pode não corresponder ao tamanho da entrada.
void D3DKMT_PTR( D3DDDI_PATCHLOCATIONLIST *unnamedParam1, pNewPatchLocationList unnamedParam2)
[in/out] NewPatchLocationListSize
O número de elementos que o OpenGL ICD solicita para a próxima lista de locais de patch se o sinalizador de campo de bits ResizePatchLocationList for especificado no membro Flags . Se ResizePatchLocationList não for especificado, o valor em NewPatchLocationListSize será ignorado. Na saída, o driver recebe o número de elementos que estarão disponíveis em uma matriz de locais de patch quando o próximo buffer de comando for enviado.
Dependendo das condições de memória atuais, o tamanho da saída pode não corresponder ao tamanho da entrada.
[in] Flags
Uma estrutura D3DKMT_RENDERFLAGS que indica o tipo de buffer de comando, em sinalizadores de campo de bit, a ser renderizado.
[in] PresentHistoryToken
O token de histórico atual para chamadas redirecionadas para a função DxgkDdiPresent do driver de miniporta de exibição.
Um token de histórico atual é um pacote de dados que o aplicativo de renderização envia para informar ao DWM (Gerenciador de Janelas da Área de Trabalho) que a renderização está concluída e que o buffer de fundo da cadeia de troca está pronto para ser apresentado.
[in] BroadcastContextCount
O número de contextos adicionais na matriz especificada por BroadcastContext .
[in] BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]
Uma matriz de D3DKMT_HANDLE tipos de dados que representam identificadores de modo kernel para os contextos adicionais para os quais transmitir o buffer de comando atual. A constante D3DDDI_MAX_BROADCAST_CONTEXT, que é definida como 64, define o número máximo de contextos para os quais o OpenGL ICD pode transmitir o buffer de comando atual.
O contexto original que o membro hContext especifica e que possui o buffer de comando não é um elemento na matriz BroadcastContext . Por exemplo, se a matriz BroadcastContext contiver um elemento, o OpenGL ICD enviará o buffer de comando para o contexto proprietário (hContext) e transmitirá para esse contexto adicional.
[out] QueuedBufferCount
O número de buffers DMA que são enfileirados para o contexto que o membro hContext especifica após o envio.
[out] NewCommandBuffer
Um ponteiro para um buffer de comando que o OpenGL ICD recebe para usar em sua próxima chamada para a função D3DKMTRender . O driver sempre deve atualizar seu ponteiro para o buffer de comando após qualquer chamada para D3DKMTRender , independentemente de a chamada ser bem-sucedida.
Com suporte no Windows 7 e versões posteriores:
[in] Um ponteiro para o buffer de comando a ser renderizado se o sinalizador RenderKm estiver definido no membro Flags .
void D3DKMT_PTR( VOID *unnamedParam1, pPrivateDriverData unnamedParam2)
PrivateDriverDataSize
Esse membro é reservado e deve ser definido como zero.
Este membro está disponível a partir do Windows 7.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista |
Cabeçalho | d3dkmthk.h (inclua D3dkmthk.h) |