ID3D11DeviceContext1::UpdateSubresource1-Methode (d3d11_1.h)

Die CPU kopiert Daten aus dem Arbeitsspeicher in eine Unterressource, die im nicht zugeordneten Arbeitsspeicher erstellt wurde.

Syntax

void UpdateSubresource1(
  [in]           ID3D11Resource  *pDstResource,
  [in]           UINT            DstSubresource,
  [in, optional] const D3D11_BOX *pDstBox,
  [in]           const void      *pSrcData,
  [in]           UINT            SrcRowPitch,
  [in]           UINT            SrcDepthPitch,
  [in]           UINT            CopyFlags
);

Parameter

[in] pDstResource

Typ: ID3D11Resource*

Ein Zeiger auf die Zielressource.

[in] DstSubresource

Typ: UINT

Ein nullbasierter Index, der die Zielunterquelle identifiziert. Weitere Informationen finden Sie unter D3D11CalcSubresource .

[in, optional] pDstBox

Typ: const D3D11_BOX*

Ein Zeiger auf ein Feld, das den Teil der Zielunterquelle definiert, in den die Ressourcendaten kopiert werden sollen. Koordinaten sind in Bytes für Puffer und in Texels für Texturen. Bei NULL schreibt UpdateSubresource1 die Daten ohne Offset in die Zielunterquelle. Die Dimensionen der Quelle müssen dem Ziel entsprechen.

Ein leeres Feld führt zu einer Nicht-Op. Ein Feld ist leer, wenn der oberste Wert größer oder gleich dem unteren Wert ist, oder wenn der linke Wert größer oder gleich dem rechten Wert ist, oder wenn der Frontwert größer als oder gleich dem back-Wert ist. Wenn das Feld leer ist, führt UpdateSubresource1 keinen Aktualisierungsvorgang aus.

[in] pSrcData

Typ: const void*

Ein Zeiger auf die Quelldaten im Arbeitsspeicher.

[in] SrcRowPitch

Typ: UINT

Die Größe einer Zeile der Quelldaten.

[in] SrcDepthPitch

Typ: UINT

Die Größe eines tiefen Slices der Quelldaten.

[in] CopyFlags

Typ: UINT

Ein D3D11_COPY_FLAGS typisierter Wert, der angibt, wie der Aktualisierungsvorgang ausgeführt werden soll. Wenn Sie null für keine Updateoption angeben, verhält sich UpdateSubresource1 wie ID3D11DeviceContext::UpdateSubresource. Für vorhandene Anzeigetreiber, die diese Flags nicht verarbeiten können, werden diese von der Runtime nicht verwendet.

Rückgabewert

Keine

Bemerkungen

Wenn Sie UpdateSubresource1 aufrufen, um einen konstanten Puffer zu aktualisieren, eine beliebige Region übergeben und der Treiber nicht in Windows 8 implementiert wurde, wird der Aufruf von der Runtime gelöscht (mit Ausnahme der Featureebenen 9.1, 9.2 und 9.3, bei denen die Runtime die Unterstützung emuliert). Die Runtime legt den Aufruf auch ab, wenn Sie einen konstanten Puffer mit einem Teilbereich aktualisieren, dessen Ausdehnung nicht an der Granularität von 16 Byte ausgerichtet ist (16 Bytes sind eine vollständige Konstante). Wenn die Runtime den Aufruf abbricht, ruft die Runtime nicht die entsprechende Gerätetreiberschnittstelle (Device Driver Interface, DDI) auf.

Wenn Sie einen Aufruf von UpdateSubresource mit einem Offset pDstBox in einer Softwarebefehlsliste aufzeichnen, wird der Offset in pDstBox fälschlicherweise auf pSrcData angewendet, wenn Sie die Befehlsliste wiedergeben. Das new-for-Windows 8 UpdateSubresource1 behebt dieses Problem. Bei einem Aufruf von UpdateSubresource1 wirkt sich pDstBox nicht auf pSrcData aus.

Informationen zu verschiedenen Ressourcentypen und dazu, wie UpdateSubresource1 mit jedem Ressourcentyp funktioniert, finden Sie unter Einführung in eine Ressource in Direct3D 11.

HinweisGilt nur für Hardware auf Featureebene 9_x Wenn Sie UpdateSubresource1 oder ID3D11DeviceContext1::CopySubresourceRegion1 verwenden, um von einer Stagingressource in eine Standardressource zu kopieren, können Sie den Zielinhalt beschädigen. Dies tritt auf, wenn Sie ein NULL-Quellfeld übergeben und die Quellressource andere Dimensionen als die der Zielressource aufweist oder wenn Sie Zieloffsets (x, y und z) verwenden. Übergeben Sie in dieser Situation immer ein Quellfeld, das die vollständige Größe der Quellressource aufweist.
 

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8 und Plattformupdate für Windows 7 [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 und Plattformupdate für Windows Server 2008 R2 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile d3d11_1.h
Bibliothek D3D11.lib

Weitere Informationen

ID3D11DeviceContext1