PFND3D11DDI_COPYSTRUCTURECOUNT fonction de rappel (d3d10umddi.h)

La fonction CopyStructureCount copie le nombre d’éléments dans la partie remplie (c’est-à-dire la valeur de taille remplie) d’une vue d’accès non ordonné (UAV) de mémoire tampon d’ajout vers un décalage dans une mémoire tampon de destination.

Syntaxe

PFND3D11DDI_COPYSTRUCTURECOUNT Pfnd3d11ddiCopystructurecount;

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

Paramètres

unnamedParam1

hDevice [in]

Handle de l’appareil d’affichage (contexte graphique).

unnamedParam2

hDstBuffer [in]

Handle vers une mémoire tampon de destination vers laquelle copier la valeur de taille remplie d’un UAV. Pour créer cette mémoire tampon de destination, le runtime doit avoir précédemment appelé la fonction CreateResource(D3D11) du pilote avec le membre ResourceDimension de la structure D3D11DDIARG_CREATERESOURCE défini sur la valeur D3D10DDIRESOURCE_BUFFER.

unnamedParam3

DstAlignedByteOffset [in]

Décalage aligné sur 4 octets, en octets, dans la mémoire tampon de destination spécifiée par le paramètre hDstBuffer . CopyStructureCount copie la valeur de taille remplie de l’affichage de mémoire tampon d’ajout que le paramètre hSrcView spécifie à ce décalage dans hDstBuffer. DstAlignedByteOffset doit être un multiple de quatre.

unnamedParam4

hSrcView [in]

Handle de l’UAV d’ajout source, qui doit être une vue tampon d’ajout. CopyStructureCount copie la valeur de taille remplie de cette vue dans la mémoire tampon de destination spécifiée par le paramètre hDstBuffer . Pour créer cette vue de mémoire tampon d’ajout, le runtime doit avoir précédemment appelé la fonction CreateUnorderedAccessView du pilote avec l’indicateur D3D11_DDI_BUFFER_UAV_FLAG_APPEND défini.

Valeur de retour

None

Remarques

Le pilote peut utiliser la fonction de rappel pfnSetErrorCb pour définir un code d’erreur.

Le pilote ne doit rencontrer aucune erreur, à l’exception de D3DDDIERR_DEVICEREMOVED. Par conséquent, si le pilote réussit une erreur, à l’exception de D3DDDIERR_DEVICEREMOVED, dans un appel à la fonction pfnSetErrorCb , le runtime Direct3D détermine que l’erreur est critique. Même si l’appareil est supprimé, le pilote n’est pas obligé de retourner D3DDDIERR_DEVICEREMOVED ; toutefois, si la suppression de l’appareil interfère avec le fonctionnement de CopyStructureCount (ce qui ne doit généralement pas se produire), le pilote peut retourner D3DDDIERR_DEVICEREMOVED.

CopyStructureCount prend la valeur de taille remplie de l’UAV de la mémoire tampon d’ajout (un UAV qui prend en charge les opérations push et contextuelles sur des structures telles que sur une pile) et copie cette valeur dans un décalage dans la mémoire tampon de destination. Le matériel graphique utilise une valeur de taille remplie de 4 octets pour suivre la quantité de données remplies dans l’UAV de la mémoire tampon d’ajout.

Configuration requise

Condition requise Valeur
Client minimal pris en charge CopyStructureCount est pris en charge à partir du système d’exploitation Windows 7.
Plateforme cible Desktop (Expérience utilisateur)
En-tête d3d10umddi.h (include D3d10umddi.h)

Voir aussi

CreateResource(D3D11)

CreateUnorderedAccessView

D3D11DDI_DEVICEFUNCS

pfnSetErrorCb