D3DDDICB_ALLOCATE structure (d3dumddi.h)
La structure D3DDDICB_ALLOCATE contient des informations pour l’allocation de mémoire.
Syntaxe
typedef struct _D3DDDICB_ALLOCATE {
[in] const VOID *pPrivateDriverData;
[in] UINT PrivateDriverDataSize;
[in] HANDLE hResource;
[out] D3DKMT_HANDLE hKMResource;
[in] UINT NumAllocations;
union {
[in] D3DDDI_ALLOCATIONINFO *pAllocationInfo;
[in] D3DDDI_ALLOCATIONINFO2 *pAllocationInfo2;
};
[in] D3DDDI_ALLOCATIONINFO *pAllocationInfo;
} D3DDDICB_ALLOCATE;
Membres
[in] pPrivateDriverData
Pointeur vers des données privées, qui est passé au pilote de miniport d’affichage. Ces données sont par ressource et non par allocation. Si des allocations sont attachées à une ressource existante, les données actuelles doivent remplacer les anciennes données.
[in] PrivateDriverDataSize
Taille, en octets, des données privées pointées par pPrivateDriverData.
[in] hResource
Handle de la ressource associée aux allocations.
Lorsque le pilote d’affichage en mode utilisateur appelle la fonction pfnAllocateCb , le pilote doit affecter la valeur reçue du membre hResource de la structure D3DDDIARG_CREATERESOURCE dans un appel à CreateResource, ou le paramètre hRTResource dans un appel à CreateResource(D3D10) ou CreateResource(D3D11). Il doit affecter la valeur pour associer les allocations à la ressource, ou affecter NULL pour associer les allocations à l’appareil. Le pilote doit affecter une valeur non NULL pour les allocations créées en réponse à des ressources partagées. Les ressources partagées peuvent résulter d’appels CreateResource avec l’indicateur de champ binaire SharedResource défini dans le membre Indicateurs de D3DDDIARG_CREATERESOURCE. Ils peuvent également résulter d’appels CreateResource(D3D10) ou CreateResource(D3D11), avec la valeur D3D10_DDI_RESOURCE_MISC_SHARED définie dans le membre MiscFlags de D3D10DDIARG_CREATERESOURCE ou D3D11DDIARG_CREATERESOURCE.
Le runtime Microsoft Direct3D doit utiliser ce handle dans les appels de pilotes pour identifier la ressource.
[out] hKMResource
Un D3DKMT_HANDLE type de données qui représente un handle en mode noyau pour la ressource associée aux allocations.
Le runtime Direct3D crée et retourne un handle de ressource en mode noyau uniquement si le pilote d’affichage en mode utilisateur définit le membre hResource de D3DDDICB_ALLOCATE sur le handle de ressource du runtime en mode utilisateur qui a été reçu du membre hResource de la structure D3DDDIARG_CREATERESOURCE . Ce handle est reçu dans un appel à CreateResource, ou à partir du paramètre hResource dans un appel à CreateResource(D3D10) ou CreateResource(D3D11).
Le runtime Direct3D génère un handle unique et le transmet au pilote d’affichage en mode utilisateur. Le pilote d’affichage en mode utilisateur peut insérer le handle de ressource en mode noyau dans le flux de commandes pour une utilisation ultérieure par le pilote miniport d’affichage.
[in] NumAllocations
Nombre d’éléments dans le tableau dans pAllocationInfo, qui représente le nombre d’allocations à allouer.
[in] pAllocationInfo
Tableau de structures D3DDDI_ALLOCATIONINFO qui décrivent les allocations à allouer.
[in] Tableau de structures D3DDDI_ALLOCATIONINFO qui décrivent les allocations à allouer.
[in] pAllocationInfo2
Ce membre est réservé et doit être défini sur zéro.
Ce membre est disponible à partir de Windows 7.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible dans Windows Vista et versions ultérieures des systèmes d’exploitation Windows. |
En-tête | d3dumddi.h (inclure D3dumddi.h) |