Bagikan melalui


Fungsi DdQueryDirectDrawObject (ddrawgdi.h)

[Fungsi ini dapat berubah dengan setiap revisi sistem operasi. Sebagai gantinya, gunakan Microsoft DirectDraw dan Microsoft Direct3DAPIs; API ini mengisolasi aplikasi dari perubahan sistem operasi tersebut, dan menyembunyikan banyak kesulitan lain yang terlibat dalam berinteraksi langsung dengan pengandar tampilan.]

Pembungkus untuk fungsi NtGdiDdQueryDirectDrawObject dan mengkueri representasi mode kernel yang dibuat sebelumnya untuk kemampuan.

GdiEntry2 didefinisikan sebagai alias untuk fungsi ini.

Sintaks

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
);

Parameter

pDirectDrawGlobal

Penunjuk ke objek DirectDraw mode pengguna tempat objek sisi kernel sebelumnya dibuat dengan DdCreateDirectDrawObject.

pHalInfo

Penunjuk ke struktur DDHALINFO yang akan diisi dengan kemampuan perangkat. Lihat dokumentasi DDK untuk detailnya.

pDDCallbacks

Arahkan ke tabel penunjuk panggilan balik. Tabel diisi dengan pointer ke fungsi dalam Gdi32.dll yang meniru driver tampilan DirectDraw. Tabel panggilan balik ini identik dengan struktur DDHAL_DDCALLBACKS, yang memetakan ke struktur DD_CALLBACKS yang dibahas dalam dokumentasi DDK.

pDDSurfaceCallbacks

Penunjuk ke tabel penunjuk panggilan balik permukaan. Tabel diisi dengan pointer ke fungsi dalam Gdi32.dll yang meniru driver tampilan DirectDraw. Tabel panggilan balik ini identik dengan struktur DDHAL_DDSURFACECALLBACKS, yang memetakan ke struktur DD_SURFACECALLBACKS yang dibahas dalam dokumentasi DDK.

pDDPaletteCallbacks

Penunjuk ke tabel penunjuk panggilan balik palet. Tabel diisi dengan pointer ke fungsi dalam Gdi32.dll yang meniru driver tampilan DirectDraw. Tabel panggilan balik ini identik dengan struktur DDHAL_DDPALETTECALLBACKS, yang memetakan ke struktur DD_PALETTECALLBACKS yang dibahas dalam dokumentasi DDK.

pD3dCallbacks

Penunjuk ke tabel penunjuk panggilan balik Direct3D. Tabel diisi dengan pointer ke fungsi dalam Gdi32.dll yang meniru driver tampilan Direct3D. Tabel panggilan balik ini identik dengan struktur D3DHAL_CALLBACKS yang dibahas dalam dokumentasi DDK.

pD3dDriverData

Arahkan ke D3DHAL_GLOBALDRIVERDATA data, seperti yang dijelaskan dalam dokumentasi DDK.

pD3dBufferCallbacks

Arahkan ke tabel penunjuk panggilan balik. Tabel diisi dengan pointer ke fungsi dalam Gdi32.dll yang meniru driver tampilan Direct3D. Tabel panggilan balik ini identik dengan struktur DDHAL_DDEXEBUFCALLBACKS, yang memetakan ke struktur DD_D3DBUFCALLBACKS yang dibahas dalam dokumentasi DDK, kecuali bahwa anggota XxxD3DBuffer di DD_D3DBUFCALLBACKS diganti dengan XxxExecuteBuffer di DDHAL_DDEXEBUFCALLBACKS.

pD3dTextureFormats

Penunjuk ke array struktur DDSURFACEDESC yang menentukan kumpulan format tekstur yang diizinkan.

pdwFourCC

Penunjuk ke daftar format permukaan Kode Empat Karakter (FOURCC) yang didukung. Bisa NULL.

pvmList

Penunjuk ke daftar deskriptor timbunan memori video. Bisa NULL. Parameter ini tidak digunakan karena manajemen memori video ditangani sepenuhnya dalam mode kernel.

Nilai kembali

Jika berhasil, fungsi ini mengembalikan TRUE; jika tidak, ia mengembalikan FALSE.

Keterangan

Panggilan ke fungsi ini dirancang untuk dilakukan dalam proses dua langkah. Pada langkah pertama, pdwFourCC, pvmList dan pD3dTextureFormats harus NULL, dan DdQueryDirectDrawObject akan mengisi DDHALINFO. ddCaps. dwNumFourCCCodes, DDHALINFO. vmiData. dwNumHeaps, dan D3DHAL_GLOBALDRIVERDATA. dwNumTextureFormats dengan jumlah entri yang akan dikembalikan. Dalam panggilan kedua, penelepon harus mengalokasikan array dengan ukuran yang ditunjukkan dan meneruskan pointer tersebut alih-alih nilai NULL dalam parameter pdwFourCC, pvmList , dan pD3dTextureFormats . Array kemudian akan diisi dengan data yang sesuai.

Aplikasi disarankan untuk menggunakan API DirectDraw dan Direct3D untuk membuat dan mengelola objek perangkat grafis. Konstruksi ini mengabstraksi proses pembuatan perangkat dengan cara yang disederhanakan dan independen sistem operasi.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header ddrawgdi.h

Lihat juga

Dukungan Klien Tingkat Rendah Grafis