PFND3D11DDI_COPYSTRUCTURECOUNT Rückruffunktion (d3d10umddi.h)

Die CopyStructureCount-Funktion kopiert die Anzahl der Elemente im ausgefüllten Teil (d. h. den Wert der gefüllten Größe) eines Anfügepuffers für ungeordnete Zugriffsansichten (UAV) in einen Offset in einen Zielpuffer.

Syntax

PFND3D11DDI_COPYSTRUCTURECOUNT Pfnd3d11ddiCopystructurecount;

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

Parameter

unnamedParam1

hDevice [in]

Ein Handle für das Anzeigegerät (Grafikkontext).

unnamedParam2

hDstBuffer [in]

Ein Handle in einen Zielpuffer, in den der gefüllte Wert eines UAV kopiert werden soll. Um diesen Zielpuffer zu erstellen, muss die Runtime zuvor die CreateResource(D3D11) -Funktion des Treibers aufgerufen haben, wobei der ResourceDimension-Member der D3D11DDIARG_CREATERESOURCE-Struktur auf den wert D3D10DDIRESOURCE_BUFFER festgelegt ist.

unnamedParam3

DstAlignedByteOffset [in]

Der 4-Byte ausgerichtete Offset in Byte im Zielpuffer, den der hDstBuffer-Parameter angibt. CopyStructureCount kopiert den gefüllten Wert der Anfügepuffersicht, den der hSrcView-Parameter angibt, in diesen Offset in hDstBuffer. DstAlignedByteOffset muss ein Vielfaches von vier sein.

unnamedParam4

hSrcView [in]

Ein Handle für das Quellanfüge-UAV, das eine Anfügepuffersicht sein muss. CopyStructureCount kopiert den gefüllten Größenwert dieser Ansicht in den Zielpuffer, den der hDstBuffer-Parameter angibt. Um diese Anfügepufferansicht zu erstellen, muss die Laufzeit zuvor die CreateUnorderedAccessView-Funktion des Treibers mit dem D3D11_DDI_BUFFER_UAV_FLAG_APPEND-Flags aufgerufen haben.

Rückgabewert

Keine

Bemerkungen

Der Treiber kann die Rückruffunktion pfnSetErrorCb verwenden, um einen Fehlercode festzulegen.

Für den Treiber sollte mit Ausnahme von D3DDDIERR_DEVICEREMOVED kein Fehler auftreten. Wenn der Treiber bei einem Aufruf der pfnSetErrorCb-Funktion einen Fehler mit Ausnahme von D3DDDIERR_DEVICEREMOVED übergibt, ermittelt die Direct3D-Runtime daher, dass der Fehler kritisch ist. Selbst wenn das Gerät entfernt wird, muss der Treiber nicht D3DDDIERR_DEVICEREMOVED zurückgeben. Wenn die Geräteentfernung jedoch den Betrieb von CopyStructureCount beeinträchtigt (was normalerweise nicht geschehen sollte), kann der Treiber D3DDDIERR_DEVICEREMOVED zurückgeben.

CopyStructureCount akzeptiert den wert für die gefüllte Größe der UAV des Anfügepuffers (ein UAV, das Push- und Popupvorgänge für Strukturen wie in einem Stapel unterstützt) und kopiert diesen Wert in einen Offset in den Zielpuffer. Die Grafikhardware verwendet einen 4-Byte-Wert mit gefüllter Größe, um nachzuverfolgen, wie viele Daten im UAV des Anfügepuffers gefüllt sind.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) CopyStructureCount wird ab dem Windows 7-Betriebssystem unterstützt.
Zielplattform Desktop
Kopfzeile d3d10umddi.h (include D3d10umddi.h)

Weitere Informationen

CreateResource(D3D11)

CreateUnorderedAccessView

D3D11DDI_DEVICEFUNCS

pfnSetErrorCb