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 |