Partager via


structure D3DDDI_ALLOCATIONINFO (d3dukmdt.h)

La structure D3DDDI_ALLOCATIONINFO décrit une allocation pour WDDM v1. Les clients graphiques en mode utilisateur doivent utiliser D3DDDI_ALLOCATIONINFO2 à la place.

Syntaxe

typedef struct _D3DDDI_ALLOCATIONINFO {
  D3DKMT_HANDLE                  hAllocation;
  void                           D3DKMT_PTR(
    const VOID *unnamedParam1,
    pSystemMem unnamedParam2
  );
  void                           D3DKMT_PTR(
    VOID               *unnamedParam1,
    pPrivateDriverData unnamedParam2
  );
  UINT                           PrivateDriverDataSize;
  D3DDDI_VIDEO_PRESENT_SOURCE_ID VidPnSourceId;
  union {
    struct {
      UINT Primary : 1;
      UINT Stereo : 1;
#if ...
      UINT Reserved : 30;
#else
      UINT Reserved : 31;
#endif
    };
    UINT Value;
  } Flags;
} D3DDDI_ALLOCATIONINFO;

Membres

hAllocation

[out] Une D3DKMT_HANDLE qui représente un handle en mode noyau pour l’allocation. Ce handle est associé au handle de ressource en mode noyau (s’il n’est pas NULL) que la fonction pfnAllocateCb du runtime Direct3D retourne dans le membre hKMResource de la structure D3DDDICB_ALLOCATE . Le pilote d’affichage en mode utilisateur peut utiliser ce handle d’allocation en mode noyau pour référencer l’allocation dans la mémoire tampon de commande.

void D3DKMT_PTR( const VOID *unnamedParam1, pSystemMem unnamedParam2)

void D3DKMT_PTR( VOID *unnamedParam1, pPrivateDriverData unnamedParam2)

PrivateDriverDataSize

[in] Taille en octets des données privées.

VidPnSourceId

[in] Numéro d’identification VidPN de base zéro de la source présente vidéo dans un chemin d’accès d’une topologie de réseau présent vidéo (VidPN) si l’allocation est pour la surface primaire. Le pilote doit définir VidPnSourceId uniquement pour les types d’allocation principaux et non pour tout autre type d’allocation. Si le pilote définit VidPnSourceId pour tout autre type d’allocation dans un appel à la fonction pfnAllocateCb , pfnAllocateCb retourne D3DDDI_ID_NOTAPPLICABLE.

Lorsque le sous-système du noyau graphique DirectX lance la création de l’allocation pour la surface primaire partagée, le pilote miniport d’affichage peut déterminer le numéro d’identification du membre VidPnSourceId de la structure D3DKMDDI_SHAREDPRIMARYSURFACEDATA vers laquelle pointe le membre pPrivateDriverData de la structure DXGK_ALLOCATIONINFO .

Flags

[in] Union qui contient une structure ou une valeur 32 bits qui identifie le type d’allocation.

Flags.Primary

[in] UINT qui spécifie si l’allocation fait partie du bureau. Une telle allocation est implicitement accessible au processeur. Une allocation primaire peut être épinglée vers le bas à la création ou non épinglée à la création.

Définir ce membre équivaut à définir le premier bit du membre Value 32 bits (0x00000001).

Flags.Stereo

[in] Pris en charge à partir de Windows 8. UINT qui spécifie si l’allocation est une allocation principale stéréo. Le membre Stereo ne peut être défini que lorsque le membre principal est défini.

La définition de ce membre équivaut à définir le deuxième bit du membre Value 32 bits (0x00000002).

Flags.Reserved

[in] Ce membre est réservé et doit être défini sur zéro.

Flags.Value

[in] Valeur 32 bits qui identifie le type d’allocation.

Remarques

Lorsque le pilote d’affichage en mode utilisateur définit l’indicateur de champ bit principal dans le membre Indicateurs de D3DDDI_ALLOCATIONINFO, certaines restrictions s’appliquent à la structure DXGK_ALLOCATIONINFO dans le membre pAllocationInfo de la structure DXGKARG_CREATEALLOCATION pour l’allocation dans un appel à la fonction DxgkDdiCreateAllocation du pilote miniport d’affichage. Ces restrictions sont les suivantes :

  • L’allocation est allouée en fonction des préférences ; sinon, l’allocation par défaut est définie sur l’ensemble de segments d’écriture pris en charge, et tous les segments spécifiés dans le jeu de segments d’écriture doivent être accessibles au processeur.

  • Le pilote de miniport d’affichage ne peut pas définir les indicateurs de champ binaire suivants dans le membre Indicateurs de DXGK_ALLOCATIONINFO :

  • PermanentSysMem

  • Mis en cache

  • Protected

  • ExistingSysMem

  • ExistingKernelSysMem

La constante D3DDDI_ID_NOTAPPLICABLE est définie dans D3dukmdt.h.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista
En-tête d3dukmdt.h (inclure D3dumddi.h, D3dkmddi.h)

Voir aussi

CreateResource

D3DDDICB_ALLOCATE

D3DDDI_ALLOCATIONINFO2

D3DDDI_SURFACEINFO

D3DKMDDI_SHAREDPRIMARYSURFACEDATA

DXGKARG_CREATEALLOCATION

DXGK_ALLOCATIONINFO

DxgkDdiCreateAllocation

pfnAllocateCb