Поделиться через


Метод ID3D11ShaderReflectionVariable::GetInterfaceSlot (d3d11shader.h)

Возвращает соответствующий слот интерфейса для переменной, представляющей указатель интерфейса.

Синтаксис

UINT GetInterfaceSlot(
  [in] UINT uArrayIndex
);

Параметры

[in] uArrayIndex

Тип: UINT

Индекс элемента массива для получения номера слота. Для переменной, отличной от массива, это значение будет равно нулю.

Возвращаемое значение

Тип: 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
Header d3d11shader.h
Библиотека D3DCompiler.lib
DLL D3DCompiler_47.dll

См. также раздел

Интерфейс ID3D11ShaderReflectionVariable