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)

Weitere Informationen

CreateResource(D3D11)

D3D11DDIARG_CREATERESOURCE

D3D11DDI_DEVICEFUNCS

DrawIndexedInstanced

pfnSetErrorCb