PFND3D11DDI_DRAWINDEXEDINSTANCEDINDIRECT Rückruffunktion (d3d10umddi.h)
Die DrawIndexedInstancedIndirect-Funktion zeichnet bestimmte Instanzen von indizierten Grundtypen.
Syntax
PFND3D11DDI_DRAWINDEXEDINSTANCEDINDIRECT Pfnd3d11ddiDrawindexedinstancedindirect;
void Pfnd3d11ddiDrawindexedinstancedindirect(
D3D10DDI_HDEVICE unnamedParam1,
D3D10DDI_HRESOURCE unnamedParam2,
UINT unnamedParam3
)
{...}
Parameter
unnamedParam1
hDevice [in]
Ein Handle für das Anzeigegerät (Grafikkontext).
unnamedParam2
hBufferForArgs-
Ein Handle für einen Puffer, der die Argumente für DrawIndexedInstancedIndirect- zum Verarbeiten enthält. Der Puffer enthält die folgende eng gepackte Struktur:
struct DrawIndexedInstancedIndirectArgs {
UINT IndexCountPerInstance;
UINT InstanceCount;
UINT StartIndexLocation;
INT BaseVertexLocation;
UINT StartInstanceLocation;
}
Weitere Informationen zu diesen Argumenten finden Sie auf der DrawIndexedInstanced Referenzseite.
unnamedParam3
AlignedByteOffsetForArgs
Der Offset in Byte in den Puffer, der hBufferForArgs angibt. AlignedByteOffsetForArgs muss ein Vielfaches von 4 sein.
Rückgabewert
Nichts
Bemerkungen
Der Treiber kann die pfnSetErrorCb Rückruffunktion verwenden, um einen Fehlercode festzulegen.
Die DrawIndexedInstancedIndirect-Funktion führt dieselbe Aufgabe wie der Aufruf der DrawIndexedInstanced-Funktion des Treibers aus. DrawIndexedInstancedIndirect ruft jedoch Informationen zu den Indexgrundtypen aus dem Inhalt des Puffers ab, den der hBufferForArgs Parameter angibt. DrawIndexedInstancedIndirect den Inhalt des Puffers liest, beginnend mit dem Byte-Offset, den der AlignedByteOffsetForArgs Parameter angibt.
Wenn die Direct3D-Laufzeit die CreateResource(D3D11)- funktion des Treibers aufruft, um die Pufferressource zu erstellen, die der hBufferForArgs-Parameter angibt, muss die Laufzeit das D3D11_DDI_RESOURCE_MISC_DRAWINDIRECT_ARGS Flag im MiscFlags Member der D3D11DDIARG_CREATERESOURCE Struktur festlegen.
Der Treiber sollte keinen Fehler haben, mit Ausnahme von D3DDDIERR_DEVICEREMOVED. Wenn der Treiber daher einen Fehler außer D3DDDIERR_DEVICEREMOVED übergibt, bestimmt die Direct3D-Laufzeit in einem Aufruf der pfnSetErrorCb--Funktion, dass der Fehler kritisch ist. Auch wenn das Gerät entfernt wird, ist der Treiber nicht erforderlich, um D3DDDIERR_DEVICEREMOVED zurückzugeben; Wenn die Geräteentfernung jedoch den Vorgang von DrawIndexedInstancedIndirect beeinträchtigt (was normalerweise nicht geschehen sollte), kann der Treiber D3DDDIERR_DEVICEREMOVED zurückgeben.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | DrawIndexedInstancedIndirect wird ab dem Windows 7-Betriebssystem unterstützt. |
Zielplattform- | Desktop |
Header- | d3d10umddi.h (include D3d10umddi.h) |