Condividi tramite


PFND3D11DDI_COPYSTRUCTURECOUNT funzione di callback (d3d10umddi.h)

La funzione CopyStructureCount copia il numero di elementi nella parte compilata (ovvero il valore di dimensioni riempite) di una visualizzazione di accesso non ordinata del buffer (UAV) a un offset in un buffer di destinazione.

Sintassi

PFND3D11DDI_COPYSTRUCTURECOUNT Pfnd3d11ddiCopystructurecount;

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

Parametri

unnamedParam1

hDevice [in]

Handle per il dispositivo di visualizzazione (contesto grafico).

unnamedParam2

hDstBuffer [in]

Handle in un buffer di destinazione per copiare il valore di dimensioni riempite di un UAV in. Per creare questo buffer di destinazione, il runtime deve avere precedentemente chiamato la funzione CreateResource(D3D11) del driver con il membro ResourceDimension della struttura D3D11DDIARG_CREATERESOURCE impostata sul valore D3D10DDIRESOURCE_BUFFER.

unnamedParam3

DstAlignedByteOffset [in]

Offset allineato a 4 byte, in byte, nel buffer di destinazione specificato dal parametro hDstBuffer . CopyStructureCount copia il valore di dimensione riempita della visualizzazione buffer di accodamento specificata dal parametro hSrcView in hDstBuffer. DstAlignedByteOffset deve essere un multiplo di quattro.

unnamedParam4

hSrcView [in]

Handle per l'aggiunta UAV di origine, che deve essere una visualizzazione buffer di accodamento. CopyStructureCount copia il valore di dimensione riempita di questa visualizzazione nel buffer di destinazione specificato dal parametro hDstBuffer . Per creare questa visualizzazione del buffer di accodamento, il runtime deve avere precedentemente chiamato la funzione CreateUnorderedAccessView con il set di flag D3D11_DDI_BUFFER_UAV_FLAG_APPEND.

Valore restituito

nessuno

Osservazioni

Il driver può usare la funzione di callback pfnSetErrorCb per impostare un codice di errore.

Il driver non deve riscontrare alcun errore, ad eccezione di D3DDDIERR_DEVICEREMOVED. Pertanto, se il driver passa qualsiasi errore, ad eccezione di D3DDDIERR_DEVICEREMOVED, in una chiamata alla funzione pfnSetErrorCb , il runtime Direct3D determina che l'errore è critico. Anche se il dispositivo viene rimosso, il driver non è necessario restituire D3DDDIERR_DEVICEREMOVED; tuttavia, se la rimozione del dispositivo interferisce con l'operazione di CopyStructureCount (che in genere non dovrebbe verificarsi), il driver può restituire D3DDDIERR_DEVICEREMOVED.

CopyStructureCount accetta il valore di dimensioni riempite dell'UAV del buffer di accodamento (un UAV che supporta operazioni push e popup su strutture come in uno stack) e copia questo valore in un offset nel buffer di destinazione. L'hardware grafico usa un valore di dimensioni riempite di 4 byte per tenere traccia della quantità di dati compilata nell'UAV del buffer di accodamento.

Requisiti

Requisito Valore
Client minimo supportato CopyStructureCount è supportato a partire dal sistema operativo Windows 7.
Piattaforma di destinazione Desktop
Intestazione d3d10umddi.h (include D3d10umddi.h)

Vedi anche

CreateResource(D3D11)

CreateUnorderedAccessView

D3D11DDI_DEVICEFUNCS

pfnSetErrorCb