struttura D3DDDICB_ALLOCATE (d3dumddi.h)

La struttura D3DDDICB_ALLOCATE contiene informazioni per l'allocazione della memoria.

Sintassi

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;

Members

[in] pPrivateDriverData

Puntatore a dati privati, che viene passato al driver miniport di visualizzazione. Questi dati sono per risorsa e non per allocazione. Se le allocazioni sono associate a una risorsa esistente, i dati correnti devono sovrascrivere i dati precedenti.

[in] PrivateDriverDataSize

Dimensioni, in byte, dei dati privati a cui punta pPrivateDriverData.

[in] hResource

Handle per la risorsa associata alle allocazioni.

Quando il driver di visualizzazione in modalità utente chiama la funzione pfnAllocateCb , il driver deve assegnare il valore ricevuto dal membro hResource della struttura D3DDDIARG_CREATERESOURCE in una chiamata a CreateResource o al parametro hRTResource in una chiamata a CreateResource(D3D10) o CreateResource(D3D11). Deve assegnare il valore per associare le allocazioni alla risorsa o assegnare NULL per associare le allocazioni al dispositivo. Il driver deve assegnare un valore non NULL per le allocazioni create in risposta alle risorse condivise. Le risorse condivise possono derivare da chiamate CreateResource con il flag di campo di bit SharedResource impostato nel membro Flags di D3DDDIARG_CREATERESOURCE. Possono anche derivare da chiamate CreateResource(D3D10) o CreateResource(D3D11), con il valore D3D10_DDI_RESOURCE_MISC_SHARED impostato nel membro MiscFlags di D3D10DDIARG_CREATERESOURCE o D3D11DDIARG_CREATERESOURCE.

Il runtime Di Microsoft Direct3D deve usare questo handle nelle chiamate del driver per identificare la risorsa.

[out] hKMResource

Tipo di dati D3DKMT_HANDLE che rappresenta un handle in modalità kernel per la risorsa associata alle allocazioni.

Il runtime Direct3D crea e restituisce un handle di risorse in modalità kernel solo se il driver di visualizzazione in modalità utente imposta il membro hResource di D3DDDICB_ALLOCATE sull'handle di risorse runtime in modalità utente ricevuto dal membro hResource della struttura D3DDDIARG_CREATERESOURCE . Questo handle viene ricevuto in una chiamata a CreateResource o dal parametro hResource in una chiamata a CreateResource(D3D10) o CreateResource(D3D11).

Il runtime Direct3D genera un handle univoco e lo passa al driver di visualizzazione in modalità utente. Il driver di visualizzazione in modalità utente può inserire l'handle di risorsa in modalità kernel nel flusso di comando per usarlo successivamente dal driver miniport di visualizzazione.

[in] NumAllocations

Numero di elementi nella matrice in pAllocationInfo, che rappresenta il numero di allocazioni da allocare.

[in] pAllocationInfo

Matrice di strutture D3DDDI_ALLOCATIONINFO che descrivono le allocazioni da allocare.

[in] Matrice di strutture D3DDDI_ALLOCATIONINFO che descrivono le allocazioni da allocare.

[in] pAllocationInfo2

Questo membro è riservato e deve essere impostato su zero.

Questo membro è disponibile a partire da Windows 7.

Requisiti

Requisito Valore
Client minimo supportato Disponibile in Windows Vista e versioni successive dei sistemi operativi Windows.
Intestazione d3dumddi.h (include D3dumddi.h)

Vedi anche

CreateResource

CreateResource(D3D10)

CreateResource(D3D11)

D3D10DDIARG_CREATERESOURCE

D3D11DDIARG_CREATERESOURCE

D3DDDIARG_CREATERESOURCE

D3DDDI_ALLOCATIONINFO

pfnAllocateCb