Metodo ID3D11ShaderReflectionVariable::GetInterfaceSlot (d3d11shader.h)

Ottiene lo slot di interfaccia corrispondente per una variabile che rappresenta un puntatore all'interfaccia.

Sintassi

UINT GetInterfaceSlot(
  [in] UINT uArrayIndex
);

Parametri

[in] uArrayIndex

Tipo: UINT

Indice dell'elemento della matrice per cui ottenere il numero di slot. Per una variabile non di matrice questo valore sarà zero.

Valore restituito

Tipo: UINT

Restituisce l'indice dell'interfaccia nella matrice di interfacce.

Commenti

GetInterfaceSlot ottiene lo slot corrispondente in una matrice di collegamento dinamico per un'istanza dell'interfaccia. Il numero di slot restituito viene usato per impostare un'istanza dell'interfaccia su una determinata istanza di classe. Per altre informazioni, vedere La panoramica delle interfacce e delle classi HLSL.

L'interfaccia di questo metodo è ospitata nella DLL predefinita D3DCompiler_xx.dll.

Esempio

Recupero e uso di uno slot di interfaccia


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

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione d3d11shader.h
Libreria D3DCompiler.lib
DLL D3DCompiler_47.dll

Vedi anche

Interfaccia ID3D11ShaderReflectionVariable