Partager via


structure D3DKMT_CREATEALLOCATION (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 vers l’appareil auquel la ressource ou l’allocation est associée.

[in/out] hResource

Type de données D3DKMT_HANDLE qui représente un handle en mode noyau à la ressource associée aux allocations. La valeur dans hResource doit toujours être zéro, sauf si une allocation sera ajoutée à une ressource existante, auquel cas hResource contient le handle de ressource.

Lorsque l’indicateur de champ binaire CreateResource est défini dans le membre Flags, le runtime OpenGL génère un handle unique et le transmet au pilote. Lors de 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 de ressources à l’aide de handles globaux. Le pilote doit définir NtSecuritySharing dans Indicateurs et appeler D3DKMTShareObjects pour obtenir un handle NT. L’utilisation de handles globaux n’est pas sécurisée. Tout 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 un 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

La taille, en octets, des données privées qui pPrivateRuntimeData pointe vers.

[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 que le pilote miniport d’affichage peut nécessiter 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 miniport d’affichage peut traiter.

[in/out] PrivateDriverDataSize

La taille, en octets, des données privées vers pPrivateDriverData pointe vers.

[in] NumAllocations

Nombre d’éléments dans le tableau qui pAllocationInfo spécifie, qui représente le nombre d’allocations à créer. Notez que la création d’une ressource sans allocation initialement associée est valide ; par conséquent, NumAllocations peut être définie 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 CreateResource bit-field.

[in] hPrivateRuntimeResourceHandle

Handle opaque que vous pouvez utiliser dans le suivi des événements. Ce handle peut être utilisé pour associer des allocations en mode noyau à des pointeurs d’aire en mode utilisateur lorsque vous analysez le suivi des événements pour windows (ETW).

Exigences

Exigence Valeur
client minimum pris en charge Windows Vista
d’en-tête d3dkmthk.h (include D3dkmthk.h)

Voir aussi

D3DDDI_ALLOCATIONINFO

D3DKMTCreateAllocation

D3DKMT_CREATEALLOCATIONFLAGS