D3DKMT_CREATEALLOCATION structure (d3dkmthk.h)
La structure D3DKMT_CREATEALLOCATION décrit les paramètres de création d’allocations.
Syntaxe
typedef struct _D3DKMT_CREATEALLOCATION {
[in] D3DKMT_HANDLE hDevice;
[in/out] D3DKMT_HANDLE hResource;
[out] D3DKMT_HANDLE hGlobalShare;
[in] const VOID *pPrivateRuntimeData;
[in] UINT PrivateRuntimeDataSize;
union {
[in] D3DKMT_CREATESTANDARDALLOCATION *pStandardAllocation;
[in] const VOID *pPrivateDriverData;
};
[in/out] UINT PrivateDriverDataSize;
[in] UINT NumAllocations;
union {
[in] D3DDDI_ALLOCATIONINFO *pAllocationInfo;
[in] D3DDDI_ALLOCATIONINFO2 *pAllocationInfo2;
};
[in] D3DKMT_CREATEALLOCATIONFLAGS Flags;
[in] HANDLE hPrivateRuntimeResourceHandle;
} D3DKMT_CREATEALLOCATION;
Membres
[in] hDevice
Handle pour l’appareil auquel la ressource ou l’allocation est associée.
[in/out] hResource
Un D3DKMT_HANDLE type de données qui représente un handle en mode noyau pour la ressource associée aux allocations. La valeur dans hResource doit toujours être égale à zéro, sauf si une allocation est ajoutée à une ressource existante, auquel cas hResource contient le handle de ressource.
Lorsque l’indicateur de champ de bits CreateResource est défini dans le membre Indicateurs , le runtime OpenGL génère un handle unique et le transmet au pilote. Sur la sortie de la fonction D3DKMTCreateAllocation , hResource spécifie le handle que le pilote doit utiliser dans les appels d’exécution OpenGL suivants pour identifier la ressource. Le handle de ressource retourné est spécifique à l’appareil et est valide uniquement lorsqu’il est utilisé avec l’appareil sur lequel il a été créé.
[out] hGlobalShare
Un pilote client en mode utilisateur ne doit pas partager des ressources à l’aide de handles globaux. Le pilote doit définir NtSecuritySharing dans Flags et appeler D3DKMTShareObjects pour obtenir un handle NT. L’utilisation de handles globaux n’est pas sécurisée. N’importe quel processus peut deviner un handle global et ouvrir un objet partagé. Les handles globaux sont pris en charge uniquement pour des raisons de compatibilité avec les anciens runtimes D3D. (Lorsque NtSecuritySharing n’est pas défini, le handle global est retourné dans hGlobalShare. Rien n’empêche une UMD de partager une ressource à l’aide d’un handle global, mais les pilotes ne doivent pas le faire.)
[in] pPrivateRuntimeData
Pointeur vers des données privées facultatives qui peuvent être attachées à une ressource à des fins de débogage. Ces données sont par ressource et non par allocation.
[in] PrivateRuntimeDataSize
Taille, en octets, des données privées vers laquelle pPrivateRuntimeData pointe.
[in] pStandardAllocation
Pointeur vers une structure D3DKMT_CREATESTANDARDALLOCATION qui décrit l’allocation standard à créer.
[in] pPrivateDriverData
Pointeur vers une mémoire tampon qui contient des données privées facultatives dont le pilote de miniport d’affichage peut avoir besoin pour créer la ressource ou l’allocation. Le contenu de la mémoire tampon provient généralement de l’ICD et doit être dans un format que le pilote de miniport d’affichage peut traiter.
[in/out] PrivateDriverDataSize
Taille, en octets, des données privées vers laquelle pPrivateDriverData pointe.
[in] NumAllocations
Nombre d’éléments dans le tableau spécifié par pAllocationInfo , qui représente le nombre d’allocations à créer. Notez que la création d’une ressource sans allocations initialement associées est valide ; Par conséquent, NumAllocations peut être défini sur 0.
[in] pAllocationInfo
Tableau de structures D3DDDI_ALLOCATIONINFO qui décrivent des propriétés spécifiques pour chaque allocation à créer.
[in] pAllocationInfo2
Ce membre est réservé et doit être défini sur zéro.
Ce membre est disponible à partir de Windows 7.
[in] Flags
Structure D3DKMT_CREATEALLOCATIONFLAGS qui identifie les attributs pour la création de l’allocation, dans les indicateurs de champ binaire.
Si vous définissez l’indicateur de champ binaire CreateShared dans Indicateurs, vous devez également définir l’indicateur de champ binaire CreateResource .
[in] hPrivateRuntimeResourceHandle
Handle opaque que vous pouvez utiliser dans le suivi d’événements. Ce handle peut être utilisé pour associer des allocations en mode noyau à des pointeurs de surface en mode utilisateur lorsque vous analysez les journaux des événements de suivi d’événements pour Windows (ETW).
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista |
En-tête | d3dkmthk.h (include D3dkmthk.h) |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour