次の方法で共有


ID3D11ShaderReflectionVariable::GetInterfaceSlot メソッド (d3d11shader.h)

インターフェイス ポインターを表す変数の対応するインターフェイス スロットを取得します。

構文

UINT GetInterfaceSlot(
  [in] UINT uArrayIndex
);

パラメーター

[in] uArrayIndex

型: UINT

スロット番号を取得する配列要素のインデックス。 配列以外の変数の場合、この値は 0 になります。

戻り値

型: UINT

インターフェイス配列内のインターフェイスのインデックスを返します。

注釈

GetInterfaceSlot は、インターフェイス インスタンスの動的リンケージ配列内の対応するスロットを取得します。 返されたスロット番号は、インターフェイス インスタンスを特定のクラス インスタンスに設定するために使用されます。 詳細については、「HLSL インターフェイスとクラス の概要」を参照してください。

このメソッドのインターフェイスは、すぐに使用できない DLL D3DCompiler_xx.dll でホストされます。

インターフェイス スロットの取得と使用


ID3D11ShaderReflectionVariable* pAmbientLightingVar = pReflector->GetVariableByName("g_abstractAmbientLighting");
g_iAmbientLightingOffset = pAmbientLightingVar->GetInterfaceSlot(0);
g_pPSClassLinkage->GetClassInstance( "g_hemiAmbientLight", 0, &g_pHemiAmbientLightClass );
g_dynamicLinkageArray[g_iAmbientLightingOffset] = g_pHemiAmbientLightClass; 
...
pd3dImmediateContext->PSSetShader( g_pPixelShader, g_dynamicLinkageArray, g_iNumPSInterfaces );
      

要件

要件
対象プラットフォーム Windows
ヘッダー d3d11shader.h
Library D3DCompiler.lib
[DLL] D3DCompiler_47.dll

こちらもご覧ください

ID3D11ShaderReflectionVariable インターフェイス