Compartilhar via


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

Obtém o slot de interface correspondente para uma variável que representa um ponteiro de interface.

Sintaxe

UINT GetInterfaceSlot(
  [in] UINT uArrayIndex
);

Parâmetros

[in] uArrayIndex

Tipo: UINT

Índice do elemento de matriz para o qual obter o número do slot. Para uma variável não matriz, esse valor será zero.

Retornar valor

Tipo: UINT

Retorna o índice da interface na matriz de interface.

Comentários

GetInterfaceSlot obtém o slot correspondente em uma matriz de vinculação dinâmica para uma instância de interface. O número de slot retornado é usado para definir uma instância de interface para uma instância de classe específica. Consulte a Visão geral de interfaces e classes HLSL para obter informações adicionais.

A interface desse método é hospedada na D3DCompiler_xx.dll de DLL pronta para uso.

Exemplos

Recuperando e usando um slot de interface


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 Valor
Plataforma de Destino Windows
Cabeçalho d3d11shader.h
Biblioteca D3DCompiler.lib
DLL D3DCompiler_47.dll

Confira também

ID3D11ShaderReflectionVariable Interface