Fungsi NtGdiDdCreateSurface

[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.]

Melampirkan permukaan ke permukaan lain.

Sintaks

DWORD APIENTRY NtGdiDdCreateSurface(
  _In_    HANDLE               hDirectDraw,
  _In_    HANDLE               *hSurface,
  _Inout_ DDSURFACEDESC        *puSurfaceDescription,
  _Inout_ DD_SURFACE_GLOBAL    *puSurfaceGlobalData,
  _Inout_ DD_SURFACE_LOCAL     *puSurfaceLocalData,
  _Inout_ DD_SURFACE_MORE      *puSurfaceMoreData,
  _Inout_ DD_CREATESURFACEDATA *puCreateSurfaceData,
  _Out_   HANDLE               *puhSurface
);

Parameter

hDirectDraw [in]

Tangani ke struktur DD_DIRECTDRAW_GLOBAL yang mewakili driver.

hSurface [in]

Handel sebelumnya ke permukaan yang sama. Digunakan jika permukaan sedang dibuat ulang setelah pengalihan mode.

puSurfaceDescription [in, out]

Penunjuk ke struktur DDSURFACEDESC yang menjelaskan permukaan atau buffer yang harus dibuat driver.

puSurfaceGlobalData [masuk, keluar]

Arahkan ke struktur DD_SURFACE_GLOBAL yang berisi data permukaan yang dibagikan secara global dengan beberapa permukaan.

puSurfaceLocalData [masuk, keluar]

Penunjuk ke daftar struktur DD_SURFACE_LOCAL yang menjelaskan objek permukaan yang dibuat oleh driver.

puSurfaceMoreData [masuk, keluar]

Penunjuk ke struktur DD_SURFACE_MORE yang berisi data permukaan lokal tambahan.

puCreateSurfaceData [masuk, keluar]

Penunjuk ke struktur DD_CREATESURFACEDATA yang berisi informasi yang diperlukan untuk membuat permukaan.

puhSurface [out]

Digunakan oleh API DirectDraw dan tidak boleh diisi oleh driver.

Mengembalikan nilai

NtGdiDdCreateSurface mengembalikan salah satu kode panggilan balik berikut.

Menampilkan kode Deskripsi
DDHAL_DRIVER_HANDLED
Driver telah melakukan operasi dan mengembalikan kode pengembalian yang valid untuk operasi tersebut. Jika kode ini DD_OK, DirectDraw atau Direct3D melanjutkan fungsi . Jika tidak, DirectDraw atau Direct3D mengembalikan kode kesalahan yang disediakan oleh driver dan membatalkan fungsi.
DDHAL_DRIVER_NOTHANDLED
Driver tidak memiliki komentar tentang operasi yang diminta. Jika driver diharuskan menerapkan panggilan balik tertentu, DirectDraw atau Direct3D melaporkan kondisi kesalahan. Jika tidak, DirectDraw atau Direct3D menangani operasi seolah-olah panggilan balik driver belum ditentukan dengan menjalankan implementasi independen perangkat DirectDraw atau Direct3D.

 

Keterangan

Disarankan agar aplikasi Anda memanggil IDirectDraw7::CreateSurface alih-alih menggunakan fungsi ini.

Saat membuat rantai permukaan yang terpasang, seperti rantai pertukaran atau rantai atau mipmaps, NtGdiDdCreateSurfaceObject harus dipanggil untuk setiap permukaan terlebih dahulu. Kemudian panggil NtGdiDdAttachSurface untuk melampirkannya. Terakhir, panggil NtGdiDdCreateSurface untuk permukaan pertama dalam rantai saja. Dalam hal ini, hSurface akan menjadi handel yang dikembalikan oleh NtGdiDdCreateSurfaceObject untuk permukaan pertama dalam rantai.

NtGdiDdCreateSurface hanya boleh dipanggil untuk membuat permukaan dalam memori video lokal dan non-lokal. Seharusnya tidak pernah dipanggil untuk membuat permukaan memori sistem. Untuk membuat permukaan memori sistem, gunakan NtGdiDdCreateSurfaceObject sebagai gantinya.

Persyaratan

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

Lihat juga

Dukungan Klien Tingkat Rendah Grafis