PFND3D11_1DDI_ASSIGNDEBUGBINARY Rückruffunktion (d3d10umddi.h)

Stellt die vollständige Shaderbinärdatei bereit, die nach der Shadererstellung verfügbar ist. Mit der vollständigen Shader-Binärdatei kann ein Treiber Debuginformationen oder andere Shaderbinärinformationen abrufen, die normalerweise nicht für den Treiber verfügbar wären.

Syntax

PFND3D11_1DDI_ASSIGNDEBUGBINARY Pfnd3d111DdiAssigndebugbinary;

void Pfnd3d111DdiAssigndebugbinary(
       D3D10DDI_HDEVICE unnamedParam1,
       D3D10DDI_HSHADER unnamedParam2,
       UINT uBinarySize,
  [in] const VOID *pBinary
)
{...}

Parameter

unnamedParam1

hDevice [in]

Ein Handle für das Anzeigegerät (Grafikkontext).

unnamedParam2

hShader [in]

Ein Handle für die privaten Daten des Treibers für das Shaderobjekt.

uBinarySize

Die Größe der vollständigen Shader-Binärdatei in Bytes.

[in] pBinary

Ein Zeiger auf die vollständige Shader-Binärdatei.

Rückgabewert

Keine

Bemerkungen

Der Treiber kann die Rückruffunktion pfnSetErrorCb verwenden, um einen Fehlercode festzulegen.

AssignDebugBinary wird nur aufgerufen, wenn alle folgenden Bedingungen zutreffen:

  • Das Gerät kann gedebuggt werden.
  • Der Anzeigetreiber für den Benutzermodus hat die D3D11_1DDI_D3D11_OPTIONS_DATA festgelegt. AssignDebugBinarySupport-Flag auf TRUE.
  • Die Shadererstellungsfunktion CreateXxxShaderXxx wurde aufgerufen, ist erfolgreich und hat ein Handle an den Shader zurückgegeben.
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 Microsoft Direct3D-Runtime daher, dass der Fehler kritisch ist. Selbst wenn das Gerät entfernt wurde, muss der Treiber nicht D3DDDIERR_DEVICEREMOVED zurückgeben. Wenn die Geräteentfernung jedoch den Vorgang von AssignDebugBinary beeinträchtigt (was normalerweise nicht geschehen sollte), kann der Treiber D3DDDIERR_DEVICEREMOVED zurückgeben.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8
Unterstützte Mindestversion (Server) Windows Server 2012
Zielplattform Desktop
Kopfzeile d3d10umddi.h (include D3d10umddi.h)

Weitere Informationen

D3D11_1DDI_D3D11_OPTIONS_DATA

pfnSetErrorCb