PFND3D10DDI_SETRENDERTARGETS fonction de rappel (d3d10umddi.h)
Les SetRenderTargets jeux de fonctions de rappel affichent les surfaces cibles.
PFND3D10DDI_SETRENDERTARGETS Pfnd3d10ddiSetrendertargets;
void Pfnd3d10ddiSetrendertargets(
[in] D3D10DDI_HDEVICE unnamedParam1,
[in] const D3D10DDI_HRENDERTARGETVIEW *unnamedParam2,
[in] UINT NumViews,
[in] UINT ClearSlots,
[in] D3D10DDI_HDEPTHSTENCILVIEW unnamedParam5
)
{...}
[in] unnamedParam1
hDevice: handle de l’appareil d’affichage (contexte graphique).
[in] unnamedParam2
phRenderTargetView: tableau de handles vers les objets de vue cible de rendu à définir. Notez que certaines valeurs de handle peuvent être NULL.
[in] NumViews
: nombre d’éléments dans le tableau qui phRenderTargetView spécifie.
[in] ClearSlots
Nombre d’emplacements cibles de rendu après le nombre d’emplacements qui NumViews spécifie qu’il doit être défini sur NULL. Ce nombre représente la différence entre le nombre précédent d’objets d’affichage cible de rendu (autrement dit, lorsque le runtime Microsoft Direct3D précédemment appelé SetRenderTargets) et le nouveau nombre d’objets de vue cible de rendu.
Notez que le nombre qui ClearTargets spécifie n’est qu’une aide d’optimisation, car le pilote d’affichage en mode utilisateur peut calculer ce nombre.
[in] unnamedParam5
hDepthStencilView: Handle to the depth stencil view.
Aucun
Le pilote peut utiliser la fonction de rappel pfnSetErrorCb pour définir un code d’erreur.
Le pilote d’affichage en mode utilisateur doit définir toutes les surfaces cibles de rendu et la mémoire tampon de gabarit de profondeur de manière atomique en une seule opération.
Bien que le paramètre NumViews spécifie le nombre de handles dans le tableau que le paramètre phRenderTargetView spécifie, certaines valeurs de handle du tableau peuvent être NULL.
La plage de surfaces cibles de rendu entre le nombre qui NumViews spécifie et le nombre maximal de surfaces cibles de rendu autorisées est nécessaire pour contenir toutes les null ou valeurs non liées. Le nombre que le paramètre ClearTargets spécifie indique au pilote le nombre de points de liaison que le pilote doit effacer pour l’opération atomique actuelle.
Si l’appel précédent à SetRenderTargets passé une valeur de 2 dans le paramètre NumViews et l’appel actuel à SetRenderTargets passe une valeur de 4 dans NumViews, l’appel actuel à SetRenderTargets passe également une valeur de 0 dans le paramètre ClearTargets . Si l’appel successif suivant à SetRenderTargets passe une valeur de 1 dans NumViews, l’appel successif passe également une valeur de 3 (4 - 1) dans ClearTargets.
Lorsque la valeur des cibles claires est demandée pendant les opérations de requête en mode utilisateur, la valeur est la différence entre le nombre maximal de surfaces cibles de rendu et la valeur des cibles de rendu.
Le pilote ne doit pas rencontrer d’erreur, à l’exception de D3DDDIERR_DEVICEREMOVED. Par conséquent, si le pilote transmet une erreur, à l’exception de D3DDDIERR_DEVICEREMOVED, dans un appel à la fonction pfnSetErrorCb, le runtime Microsoft Direct3D détermine que l’erreur est critique. Même si l’appareil a été supprimé, le pilote n’est pas tenu de retourner D3DDDIERR_DEVICEREMOVED ; toutefois, si la suppression de l’appareil interfère avec l’opération de SetRenderTargets (ce qui ne doit généralement pas se produire), le pilote peut retourner D3DDDIERR_DEVICEREMOVED.
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible dans Windows Vista et versions ultérieures des systèmes d’exploitation Windows. |
plateforme cible | Bureau |
d’en-tête | d3d10umddi.h (include D3d10umddi.h) |