Partager via


ID3D11ShaderReflectionVariable ::GetInterfaceSlot, méthode (d3d11shader.h)

Obtient l’emplacement d’interface correspondant pour une variable qui représente un pointeur d’interface.

Syntaxe

UINT GetInterfaceSlot(
  [in] UINT uArrayIndex
);

Paramètres

[in] uArrayIndex

Type : UINT

Index de l’élément de tableau pour lequel obtenir le numéro d’emplacement. Pour une variable non matricielle, cette valeur est égale à zéro.

Valeur retournée

Type : UINT

Retourne l’index de l’interface dans le tableau d’interface.

Remarques

GetInterfaceSlot obtient l’emplacement correspondant dans un tableau de liaison dynamique pour une interface instance. Le numéro d’emplacement retourné est utilisé pour définir une interface instance à une classe particulière instance. Pour plus d’informations, consultez la vue d’ensemble des interfaces et des classes HLSL.

L’interface de cette méthode est hébergée dans le D3DCompiler_xx.dll DLL prête à l’emploi.

Exemples

Récupération et utilisation d’un emplacement d’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 );
      

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête d3d11shader.h
Bibliothèque D3DCompiler.lib
DLL D3DCompiler_47.dll

Voir aussi

ID3D11ShaderReflectionVariable Interface