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) |