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 die Verarbeitung von DrawIndexedInstancedIndirect 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 Referenzseite DrawIndexedInstanced .
unnamedParam3
AlignedByteOffsetForArgs
Der Offset in Bytes in den Puffer, den hBufferForArgs angibt. AlignedByteOffsetForArgs muss ein Vielfaches von 4 sein.
Rückgabewert
Keine
Bemerkungen
Der Treiber kann die Rückruffunktion pfnSetErrorCb 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 liest den Inhalt des Puffers, beginnend bei dem Byteoffset, den der AlignedByteOffsetForArgs-Parameter angibt.
Wenn die Direct3D-Runtime 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.
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 Vorgang von DrawIndexedInstancedIndirect beeinträchtigt (was normalerweise nicht geschehen sollte), kann der Treiber D3DDDIERR_DEVICEREMOVED zurückgeben.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | DrawIndexedInstancedIndirect wird ab dem Windows 7-Betriebssystem unterstützt. |
Zielplattform | Desktop |
Kopfzeile | d3d10umddi.h (include D3d10umddi.h) |