Bagikan melalui


IDCompositionDevice2::CreateVirtualSurface method (dcomp.h)

Membuat permukaan yang jarang diisi yang dapat dikaitkan dengan satu atau beberapa visual untuk komposisi.

Sintaks

HRESULT CreateVirtualSurface(
  [in]  UINT                        initialWidth,
  [in]  UINT                        initialHeight,
  [in]  DXGI_FORMAT                 pixelFormat,
  [in]  DXGI_ALPHA_MODE             alphaMode,
  [out] IDCompositionVirtualSurface **virtualSurface
);

Parameter

[in] initialWidth

Jenis: UINT

Lebar permukaan, dalam piksel. Lebar maksimum adalah 16.777.216 piksel.

[in] initialHeight

Jenis: UINT

Tinggi permukaan, dalam piksel. Tinggi maksimum adalah 16.777.216 piksel.

[in] pixelFormat

Jenis: DXGI_FORMAT

Format piksel permukaan.

[in] alphaMode

Jenis: DXGI_ALPHA_MODE

Arti saluran alfa, jika format piksel berisi saluran alfa. Jenis dapat berupa salah satu dari nilai berikut:

Nilai Makna
DXGI_ALPHA_MODE_UNSPECIFIED
Saluran alfa tidak ditentukan. Nilai ini memiliki efek yang sama dengan DXGI_ALPHA_MODE_IGNORE.
DXGI_ALPHA_MODE_PREMULTIPLIED
Saluran warna berisi nilai yang telah ditentukan sebelumnya dengan saluran alfa.
DXGI_ALPHA_MODE_IGNORE
Saluran alfa harus diabaikan dan bitmap harus dirender secara buram.

[out] virtualSurface

Jenis: IDCompositionVirtualSurface**

Objek permukaan yang baru dibuat. Parameter ini tidak boleh NULL.

Mengembalikan nilai

Jenis: HRESULT

Jika fungsi berhasil, fungsi akan mengembalikan S_OK. Jika tidak, kode kesalahan HRESULT akan dikembalikan. Lihat Kode Kesalahan DirectComposition untuk daftar kode kesalahan.

Keterangan

Permukaan jarang Microsoft DirectComposition adalah objek logis yang berperilaku seperti array persegi panjang piksel yang dapat dikaitkan dengan visual untuk komposisi. Permukaan tidak selalu didukung oleh video fisik atau memori sistem untuk setiap pikselnya. Aplikasi ini dapat mewujudkan atau memvirtualisasikan bagian permukaan logis pada waktu yang berbeda.

Objek permukaan yang baru dibuat dalam keadaan tidak diinisialisasi. Meskipun tidak diinisialisasi, permukaan tidak berpengaruh pada komposisi pohon visual. Ini berperilaku persis seperti permukaan yang diinisialisasi dengan 100% piksel transparan.

Untuk menginisialisasi permukaan dengan data piksel, gunakan metode IDCompositionSurface::BeginDraw dan IDCompositionSurface::EndDraw . Metode ini tidak hanya menyediakan piksel untuk permukaan, tetapi juga mengalokasikan ruang penyimpanan aktual untuk piksel tersebut. Alokasi memori bertahan hingga aplikasi mengembalikan beberapa memori ke sistem. Aplikasi dapat membebaskan sebagian atau semua memori yang dialokasikan dengan memanggil metode IDCompositionVirtualSurface::Trim .

Permukaan DirectComposition mendukung format piksel berikut:

  • DXGI_FORMAT_B8G8R8A8_UNORM
  • DXGI_FORMAT_R8G8B8A8_UNORM
  • DXGI_FORMAT_R16G16B16A16_FLOAT
Metode ini gagal jika initialWidth atau initialHeight melebihi 16.777.216 piksel.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 8.1 [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2012 R2 [hanya aplikasi desktop]
Target Platform Windows
Header dcomp.h
Pustaka Dcomp.lib
DLL Dcomp.dll

Lihat juga

IDCompositionDevice2

IDCompositionDevice::CreateSurface