PFND3D11DDI_DRAWINDEXEDINSTANCEDINDIRECT fonction de rappel (d3d10umddi.h)
La fonction DrawIndexedInstancedIndirect dessine des instances particulières de primitives indexées.
Syntaxe
PFND3D11DDI_DRAWINDEXEDINSTANCEDINDIRECT Pfnd3d11ddiDrawindexedinstancedindirect;
void Pfnd3d11ddiDrawindexedinstancedindirect(
D3D10DDI_HDEVICE unnamedParam1,
D3D10DDI_HRESOURCE unnamedParam2,
UINT unnamedParam3
)
{...}
Paramètres
unnamedParam1
hDevice [in]
Handle de l’appareil d’affichage (contexte graphique).
unnamedParam2
hBufferForArgs
Handle vers une mémoire tampon qui contient les arguments de DrawIndexedInstancedIndirect à traiter. La mémoire tampon contient la structure serrée suivante :
struct DrawIndexedInstancedIndirectArgs {
UINT IndexCountPerInstance;
UINT InstanceCount;
UINT StartIndexLocation;
INT BaseVertexLocation;
UINT StartInstanceLocation;
}
Pour plus d’informations sur ces arguments, consultez la page de référence DrawIndexedInstanced.
unnamedParam3
AlignedByteOffsetForArgs
Offset, en octets, dans la mémoire tampon qui hBufferForArgs spécifie. AlignedByteOffsetForArgs doit être un multiple de 4.
Valeur de retour
Aucun
Remarques
Le pilote peut utiliser la fonction de rappel pfnSetErrorCb pour définir un code d’erreur.
La fonction DrawIndexedInstancedIndirect effectue la même tâche que l’appel à la fonction DrawIndexedInstanced du pilote. Toutefois, DrawIndexedInstancedIndirect obtient des informations sur les primitives d’index à partir du contenu de la mémoire tampon spécifiée par le paramètre hBufferForArgs. DrawIndexedInstancedIndirect lit le contenu de la mémoire tampon, en commençant par le décalage d’octet spécifié par le paramètre AlignedByteOffsetForArgs.
Lorsque le runtime Direct3D appelle la fonction CreateResource(D3D11) du pilote pour créer la ressource de mémoire tampon spécifiée par le paramètre hBufferForArgs, le runtime doit définir l’indicateur D3D11_DDI_RESOURCE_MISC_DRAWINDIRECT_ARGS dans le MiscFlags membre de la structure D3D11DDIARG_CREATERESOURCE.
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 Direct3D détermine que l’erreur est critique. Même si l’appareil est 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 DrawIndexedInstancedIndirect (ce qui ne doit généralement pas se produire), le pilote peut retourner D3DDDIERR_DEVICEREMOVED.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | DrawIndexedInstancedIndirect est pris en charge à partir du système d’exploitation Windows 7. |
plateforme cible | Bureau |
d’en-tête | d3d10umddi.h (include D3d10umddi.h) |