PFND3D11DDI_SETSHADER_WITH_IFACES コールバック関数 (d3d10umddi.h)

CsSetShaderWithIfaces 関数は、後続のすべてのディスパッチ操作で、そのコードとそれらのインターフェイスを使用するように、コンピューティング シェーダー コードとインターフェイスのグループを設定します。

構文

PFND3D11DDI_SETSHADER_WITH_IFACES Pfnd3d11ddiSetshaderWithIfaces;

void Pfnd3d11ddiSetshaderWithIfaces(
       D3D10DDI_HDEVICE unnamedParam1,
       D3D10DDI_HSHADER unnamedParam2,
  [in] UINT NumClassInstances,
       const UINT *unnamedParam4,
       const D3D11DDIARG_POINTERDATA *unnamedParam5
)
{...}

パラメーター

unnamedParam1

hDevice [in]

ディスプレイ デバイス (グラフィックス コンテキスト) へのハンドル。

unnamedParam2

hShader [in]

コンピューティング シェーダー コード オブジェクトへのハンドル。

[in] NumClassInstances

インターフェイスの実装用のクラス インスタンスの数。

unnamedParam4

pPointerData [in]

D3D11DDIARG_POINTERDATA構造体の配列。 各構造体は、インターフェイス実装に割り当てられているクラス インスタンスによって参照されるデータの場所を記述します。 配列内の要素の数は、 NumClassInstances パラメーターによって指定されます。

unnamedParam5

pIfaces [in]

関数テーブル識別子の配列。 各識別子は、インターフェイス実装に割り当てられているクラス インスタンスに対応します。 配列内の要素の数は、 NumClassInstances パラメーターによって指定されます。

戻り値

なし

解説

ドライバーは 、pfnSetErrorCb コールバック関数を使用してエラー コードを設定できます。

インターフェイス実装の各クラス インスタンスには、次の情報があります。

  • そのクラス インスタンスに関連付けられているコード
  • そのクラス インスタンスによって使用されるデータの場所
NumClassInstances パラメーターは、実行時に値を割り当てる必要があるインターフェイスの数を指定します。 各インターフェイスについて、 pIfaces 配列の各要素は関数テーブル識別子を提供し、 pPointerData 配列の各要素は、インターフェイスに割り当てられているクラス インスタンスのデータの場所を提供します。

ドライバーは、 pfnSetErrorCb 関数の呼び出しでE_OUTOFMEMORY (ドライバーがメモリ不足の場合) またはD3DDDIERR_DEVICEREMOVED (デバイスが削除された場合) を渡すことができます。 Direct3D ランタイムは、他のエラーが重要であると判断します。 ドライバーがエラー (D3DDDIERR_DEVICEREMOVEDを含む) を渡した場合、Direct3D ランタイムはハンドルが無効であると判断します。そのため、ランタイムは、hShader パラメーターが指定するハンドルを破棄するために DestroyShader 関数を呼び出しません。

GsSetShaderWithIfaces 関数は、ジオメトリ シェーダー コードをインターフェイスのグループと共に設定して、後続のすべての描画操作でそのコードとそれらのインターフェイスを使用するようにします。

PsSetShaderWithIfaces 関数は、ピクセル シェーダー コードをインターフェイスのグループと共に設定し、後続のすべての描画操作で、そのコードとこれらのインターフェイスが使用されるようにします。

DsSetShaderWithIfaces 関数は、ドメイン シェーダー コードをインターフェイスのグループと共に設定し、後続のすべての描画操作でそのコードとこれらのインターフェイスを使用できるようにします。

HsSetShaderWithIfaces 関数は、インターフェイスのグループと共にハル シェーダー コードを設定し、後続のすべての描画操作でそのコードとそれらのインターフェイスを使用するようにします。

VsSetShaderWithIfaces 関数は、頂点シェーダー コードをインターフェイスのグループと共に設定して、後続のすべての描画操作でそのコードとそれらのインターフェイスを使用するようにします。

要件

要件
サポートされている最小のクライアント CsSetShaderWithIfaces は、Windows 7 オペレーティング システム以降でサポートされています。
対象プラットフォーム デスクトップ
Header d3d10umddi.h (D3d10umddi.h を含む)

こちらもご覧ください

D3D11DDIARG_POINTERDATA

D3D11DDI_DEVICEFUNCS

DestroyShader

pfnSetErrorCb