D3DDDI_ALLOCATIONINFO struttura (d3dukmdt.h)
La struttura D3DDDI_ALLOCATIONINFO descrive un'allocazione per WDDM v1. I client grafici in modalità utente devono usare D3DDDI_ALLOCATIONINFO2.
Sintassi
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;
Members
hAllocation
[out] D3DKMT_HANDLE che rappresenta un handle in modalità kernel per l'allocazione. Questo handle è associato all'handle di risorse in modalità kernel (se non NULL) restituito dalla funzione pfnAllocateCb del runtime Direct3D nel membro hKMResource della struttura D3DDDICB_ALLOCATE . Il driver di visualizzazione in modalità utente può usare questo handle di allocazione in modalità kernel per fare riferimento all'allocazione nel buffer dei comandi.
void D3DKMT_PTR( const VOID *unnamedParam1, pSystemMem unnamedParam2)
void D3DKMT_PTR( VOID *unnamedParam1, pPrivateDriverData unnamedParam2)
PrivateDriverDataSize
[in] Dimensioni in byte dei dati privati.
VidPnSourceId
[in] Numero di identificazione VidPN in base zero dell'origine video presente in un percorso di topologia di rete (VidPN) presente in una rete video se l'allocazione è per la superficie primaria. Il driver deve impostare VidPnSourceId solo per i tipi di allocazione primaria e non per qualsiasi altro tipo di allocazione. Se il driver imposta VidPnSourceId per qualsiasi altro tipo di allocazione in una chiamata alla funzione pfnAllocateCb, pfnAllocateCb restituisce D3DDDI_ID_NOTAPPLICABLE.
Quando il sottosistema kernel della grafica DirectX avvia la creazione dell'allocazione per la superficie primaria condivisa, il driver miniport visualizzato può determinare il numero di identificazione dal membro VidPnSourceIddella strutturaD3DKMDDI_SHAREDPRIMARYSURFACEDATA a cui punta il membro pPrivateDriverData della struttura DXGK_ALLOCATIONINFO.
Flags
[in] Unione che contiene una struttura o un valore a 32 bit che identifica il tipo di allocazione.
Flags.Primary
[in] UINT che specifica se l'allocazione fa parte del desktop. Tale allocazione è implicitamente accessibile alla CPU. Un'allocazione primaria può essere aggiunta in fase di creazione o non aggiunta alla creazione.
L'impostazione di questo membro equivale a impostare il primo bit del membro Valore a 32 bit (0x00000001).
Flags.Stereo
[in] Supportato a partire da Windows 8. UINT che specifica se l'allocazione è un'allocazione primaria stereo. Il membro Stereo può essere impostato solo quando il membro primario è impostato.
L'impostazione di questo membro equivale a impostare il secondo bit del membro Valore a 32 bit (0x00000002).
Flags.Reserved
[in] Questo membro è riservato e deve essere impostato su zero.
Flags.Value
[in] Valore a 32 bit che identifica il tipo di allocazione.
Commenti
Quando il driver di visualizzazione in modalità utente imposta il flag di campo a bit primario nel membro Flags di D3DDDI_ALLOCATIONINFO, alcune restrizioni si applicano alla strutturaDXGK_ALLOCATIONINFO nel membro pAllocationInfo della struttura DXGKARG_CREATEALLOCATION per l'allocazione in una chiamata alla funzione DxgkDdiCreateAllocation del driver di visualizzazione. Le restrizioni possibili sono le seguenti:
L'allocazione viene allocata in base alle preferenze; in caso contrario, l'allocazione predefinita viene impostata sul set di segmento di scrittura supportato e tutti i segmenti specificati nel set di segmento di scrittura devono essere accessibili dalla CPU.
Il driver miniport visualizzato non può impostare i flag di campo bit seguenti nel membro Flags di DXGK_ALLOCATIONINFO:
PermanenteSysMem
Richieste nella cache
Protetta
EsistenteSysMem
ExistingKernelSysMem
La costante D3DDDI_ID_NOTAPPLICABLE è definita in D3dukmdt.h.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista |
Intestazione | d3dukmdt.h (include D3dumddi.h, D3dkmddi.h) |