Compartilhar via


PFND3D11DDI_COPYSTRUCTURECOUNT função de retorno de chamada (d3d10umddi.h)

A função CopyStructureCount copia o número de itens na parte preenchida (ou seja, o valor de tamanho preenchido) de um UAV (modo de exibição de acesso não ordenado) do buffer de acréscimo para um deslocamento em um buffer de destino.

Sintaxe

PFND3D11DDI_COPYSTRUCTURECOUNT Pfnd3d11ddiCopystructurecount;

void Pfnd3d11ddiCopystructurecount(
  D3D10DDI_HDEVICE unnamedParam1,
  D3D10DDI_HRESOURCE unnamedParam2,
  UINT unnamedParam3,
  D3D11DDI_HUNORDEREDACCESSVIEW unnamedParam4
)
{...}

Parâmetros

unnamedParam1

hDevice [in]

Um identificador para o dispositivo de exibição (contexto gráfico).

unnamedParam2

hDstBuffer [in]

Um identificador para um buffer de destino para o qual copiar o valor de tamanho preenchido de um UAV. Para criar esse buffer de destino, o runtime deve ter chamado anteriormente a função CreateResource(D3D11) do driver com o membro ResourceDimension da estrutura D3D11DDIARG_CREATERESOURCE definida como o valor D3D10DDIRESOURCE_BUFFER.

unnamedParam3

DstAlignedByteOffset [in]

O deslocamento alinhado de 4 bytes, em bytes, para o buffer de destino especificado pelo parâmetro hDstBuffer . CopyStructureCount copia o valor de tamanho preenchido da exibição de buffer de acréscimo que o parâmetro hSrcView especifica para esse deslocamento no hDstBuffer. DstAlignedByteOffset deve ser um múltiplo de quatro.

unnamedParam4

hSrcView [in]

Um identificador para o UAV de acréscimo de origem, que deve ser uma exibição de buffer de acréscimo. CopyStructureCount copia o valor de tamanho preenchido dessa exibição para o buffer de destino especificado pelo parâmetro hDstBuffer . Para criar essa exibição de buffer de acréscimo, o runtime deve ter chamado anteriormente a função CreateUnorderedAccessView do driver com o sinalizador D3D11_DDI_BUFFER_UAV_FLAG_APPEND definido.

Retornar valor

Nenhum

Comentários

O driver pode usar a função de retorno de chamada pfnSetErrorCb para definir um código de erro.

O driver não deve encontrar nenhum erro, exceto por D3DDDIERR_DEVICEREMOVED. Portanto, se o driver passar algum erro, exceto por D3DDDIERR_DEVICEREMOVED, em uma chamada para a função pfnSetErrorCb , o runtime do Direct3D determinará que o erro é crítico. Mesmo que o dispositivo seja removido, o driver não precisa retornar D3DDDIERR_DEVICEREMOVED; no entanto, se a remoção do dispositivo interferir na operação de CopyStructureCount (o que normalmente não deve acontecer), o driver poderá retornar D3DDDIERR_DEVICEREMOVED.

CopyStructureCount usa o valor de tamanho preenchido do UAV do buffer de acréscimo (um UAV que dá suporte a operações de push e pop-up em estruturas como em uma pilha) e copia esse valor para um deslocamento para o buffer de destino. O hardware gráfico usa um valor de tamanho preenchido de 4 bytes para acompanhar a quantidade de dados preenchida no UAV do buffer de acréscimo.

Requisitos

Requisito Valor
Cliente mínimo com suporte Há suporte para CopyStructureCount a partir do sistema operacional Windows 7.
Plataforma de Destino Área de Trabalho
Cabeçalho d3d10umddi.h (inclua D3d10umddi.h)

Confira também

CreateResource(D3D11)

CreateUnorderedAccessView

D3D11DDI_DEVICEFUNCS

pfnSetErrorCb