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