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

Vedi anche

Supporto client grafica di basso livello