Funzione DdQueryDirectDrawObject (ddrawgdi.h)
[Questa funzione è soggetta a modifiche con ogni revisione del sistema operativo. Usare invece Microsoft DirectDraw e Microsoft Direct3DAPIs; queste API isolano le applicazioni da tali modifiche al sistema operativo e nascondono molte altre difficoltà nell'interagire direttamente con i driver di visualizzazione.
Wrapper per la funzione NtGdiDdQueryDirectDrawObject ed esegue una query su una rappresentazione in modalità kernel creata in precedenza per le funzionalità.
GdiEntry2 è definito come alias per questa funzione.
Sintassi
BOOL DdQueryDirectDrawObject(
LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal,
LPDDHALINFO pHalInfo,
LPDDHAL_DDCALLBACKS pDDCallbacks,
LPDDHAL_DDSURFACECALLBACKS pDDSurfaceCallbacks,
LPDDHAL_DDPALETTECALLBACKS pDDPaletteCallbacks,
LPD3DHAL_CALLBACKS pD3dCallbacks,
LPD3DHAL_GLOBALDRIVERDATA pD3dDriverData,
LPDDHAL_DDEXEBUFCALLBACKS pD3dBufferCallbacks,
LPDDSURFACEDESC pD3dTextureFormats,
LPDWORD pdwFourCC,
LPVIDMEM pvmList
);
Parametri
pDirectDrawGlobal
Puntatore a un oggetto DirectDraw in modalità utente per il quale un oggetto lato kernel è stato creato in precedenza con DdCreateDirectDrawObject.
pHalInfo
Puntatore a una struttura DDHALINFO che verrà riempita con le funzionalità del dispositivo. Per informazioni dettagliate, vedere la documentazione di DDK.
pDDCallbacks
Puntatore a una tabella di puntatori di callback. La tabella viene riempita con puntatori alle funzioni all'interno di Gdi32.dll che imitano un driver di visualizzazione DirectDraw. Questa tabella di callback è identica alla struttura di DDHAL_DDCALLBACKS, che esegue il mapping alla struttura DD_CALLBACKS descritta nella documentazione di DDK.
pDDSurfaceCallbacks
Puntatore a una tabella di puntatori di callback di superficie. La tabella viene riempita con puntatori alle funzioni all'interno di Gdi32.dll che imitano un driver di visualizzazione DirectDraw. Questa tabella di callback è identica alla struttura di DDHAL_DDSURFACECALLBACKS, che esegue il mapping alla struttura DD_SURFACECALLBACKS descritta nella documentazione di DDK.
pDDPaletteCallbacks
Puntatore a una tabella di puntatori di callback della tavolozza. La tabella viene riempita con puntatori alle funzioni all'interno di Gdi32.dll che imitano un driver di visualizzazione DirectDraw. Questa tabella di callback è identica alla struttura DDHAL_DDPALETTECALLBACKS, che esegue il mapping alla struttura DD_PALETTECALLBACKS descritta nella documentazione di DDK.
pD3dCallbacks
Puntatore a una tabella di puntatori di callback Direct3D. La tabella viene riempita con puntatori alle funzioni all'interno di Gdi32.dll che imitano un driver di visualizzazione Direct3D. Questa tabella di callback è identica alla struttura di D3DHAL_CALLBACKS descritta nella documentazione di DDK.
pD3dDriverData
Puntatore a D3DHAL_GLOBALDRIVERDATA dati, come descritto nella documentazione di DDK.
pD3dBufferCallbacks
Puntatore a una tabella di puntatori di callback. La tabella viene riempita con puntatori alle funzioni all'interno di Gdi32.dll che imitano un driver di visualizzazione Direct3D. Questa tabella di callback è identica alla struttura di DDHAL_DDEXEBUFCALLBACKS, che esegue il mapping alla struttura DD_D3DBUFCALLBACKS descritta nella documentazione di DDK, ad eccezione del fatto che i membri XxxD3DBuffer in DD_D3DBUFCALLBACKS vengono sostituiti con XxxExecuteBuffer in DDHAL_DDEXEBUFCALLBACKS.
pD3dTextureFormats
Puntatore a una matrice di strutture DDSURFACEDESC che definiscono il set di formati di trama consentiti.
pdwFourCC
Puntatore a un elenco dei formati di superficie FOURCC (Four-Character Codes) supportati. Può essere NULL.
pvmList
Puntatore a un elenco di descrittori dell'heap di memoria video. Può essere NULL. Questo parametro non viene usato perché la gestione della memoria video viene gestita interamente all'interno della modalità kernel.
Valore restituito
In caso di esito positivo, questa funzione restituisce TRUE; in caso contrario restituisce FALSE.
Commenti
Una chiamata a questa funzione è progettata per essere eseguita in un processo in due passaggi. Nel primo passaggio , pdwFourCC, pvmList e pD3dTextureFormats devono essere NULL e DdQueryDirectDrawObject compilerà DDHALINFO. ddCaps. dwNumFourCCCodes, DDHALINFO. vmiData. dwNumHeaps e D3DHAL_GLOBALDRIVERDATA. dwNumTextureFormats con il numero di voci da restituire. Nella seconda chiamata, il chiamante deve allocare matrici delle dimensioni indicate e passare tali puntatori anziché valori NULL nei parametri pdwFourCC, pvmList e pD3dTextureFormats . Le matrici verranno quindi popolate con i dati appropriati.
Le applicazioni sono consigliate di usare le API DirectDraw e Direct3D per creare e gestire oggetti dispositivo grafico. Questi costrutti astraggono il processo di creazione del dispositivo in modo semplificato e indipendente dal sistema operativo.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | ddrawgdi.h |