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 ordinato (UAV) del buffer di accodamento in 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 in cui copiare il valore di dimensioni riempite di un UAV. Per creare questo buffer di destinazione, il runtime deve aver precedentemente chiamato la funzione di 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 delle dimensioni riempite della vista buffer di accodamento specificata dal parametro hSrcView in hDstBuffer. DstAlignedByteOffset deve essere un multiplo di quattro.
unnamedParam4
hSrcView [in]
Handle per l'oggetto UAV di accodamento di origine, che deve essere una visualizzazione buffer di accodamento. CopyStructureCount copia il valore delle dimensioni riempite di questa visualizzazione nel buffer di destinazione specificato dal parametro hDstBuffer. Per creare questa visualizzazione buffer di accodamento, il runtime deve aver precedentemente chiamato la funzione CreateUnorderedAccessView con il flag D3D11_DDI_BUFFER_UAV_FLAG_APPEND impostato.
Valore restituito
Nessuno
Osservazioni
Il driver può usare il pfnSetErrorCb funzione di callback 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 per 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 delle 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 a 4 byte per tenere traccia della quantità di dati inseriti nell'UAV del buffer di accodamento.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | CopyStructureCount è supportato a partire dal sistema operativo Windows 7. |
piattaforma di destinazione | Desktop |
intestazione | d3d10umddi.h (include D3d10umddi.h) |