Freigeben über


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)

Siehe auch

CreateResource(D3D11)-

D3D11DDIARG_CREATERESOURCE

D3D11DDI_DEVICEFUNCS

DrawIndexedInstanced-

pfnSetErrorCb