Share via


Método ID3D11ShaderReflectionVariable::GetInterfaceSlot (d3d11shader.h)

Obtiene la ranura de interfaz correspondiente para una variable que representa un puntero de interfaz.

Sintaxis

UINT GetInterfaceSlot(
  [in] UINT uArrayIndex
);

Parámetros

[in] uArrayIndex

Tipo: UINT

Índice del elemento de matriz para el que se obtiene el número de ranura. Para una variable que no sea de matriz, este valor será cero.

Valor devuelto

Tipo: UINT

Devuelve el índice de la interfaz en la matriz de interfaz.

Comentarios

GetInterfaceSlot obtiene la ranura correspondiente en una matriz de vinculación dinámica para una instancia de interfaz. El número de ranura devuelto se usa para establecer una instancia de interfaz en una instancia de clase determinada. Consulte la introducción a las interfaces y clases de HLSL para obtener información adicional.

La interfaz de este método se hospeda en la D3DCompiler_xx.dll DLL lista para usar.

Ejemplos

Recuperación y uso de una ranura de interfaz


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 );
      

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado d3d11shader.h
Library D3DCompiler.lib
Archivo DLL D3DCompiler_47.dll

Consulte también

Id3D11ShaderReflectionVariable (interfaz)