次の方法で共有


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 ランタイムはハンドルが無効であると判断します。そのため、ランタイムは DestroyShader 関数を呼び出して、hShader パラメーターが指定するハンドルを破棄しません。

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

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

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

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

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

必要条件

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

関連項目

D3D11DDIARG_POINTERDATA

D3D11DDI_DEVICEFUNCS

DestroyShader

pfnSetErrorCb