Bagikan melalui


Metode IDirectDrawSurface7::D eleteAttachedSurface (ddraw.h)

Melepaskan satu atau beberapa permukaan yang terpasang.

Sintaks

HRESULT DeleteAttachedSurface(
  [in] DWORD                unnamedParam1,
  [in] LPDIRECTDRAWSURFACE7 unnamedParam2
);

Parameter

[in] unnamedParam1

Saat ini tidak digunakan dan harus diatur ke 0.

[in] unnamedParam2

Penunjuk ke antarmuka IDirectDrawSurface7 untuk objek DirectDrawSurface yang akan dicopot. Jika parameter ini NULL, semua permukaan yang terpasang akan dilepas.

Menampilkan nilai

Jika metode berhasil, nilai yang dikembalikan adalah DD_OK.

Jika gagal, metode dapat mengembalikan salah satu nilai kesalahan berikut:

  • DDERR_CANNOTDETACHSURFACE
  • DDERR_INVALIDOBJECT
  • DDERR_INVALIDPARAMS
  • DDERR_SURFACELOST
  • DDERR_SURFACENOTATTACHED

Keterangan

DeleteAttachedSurface mengurangi jumlah referensi permukaan yang akan dicopot. Jika jumlah referensi permukaan yang akan dicopot mencapai 0, permukaan hilang dan dihapus dari memori.

Lampiran implisit, yang dibentuk oleh DirectDraw daripada metode IDirectDrawSurface7::AddAttachedSurface , tidak dapat dilepaskan. Melepas permukaan dari rantai membalik dapat mengubah permukaan lain dalam rantai. Jika buffer depan terlepas dari rantai balik, permukaan berikutnya dalam rantai menjadi buffer depan, dan permukaan berikut menjadi buffer belakang. Jika buffer belakang terlepas dari rantai, permukaan berikut menjadi buffer belakang. Jika permukaan polos terlepas dari rantai, rantai hanya menjadi lebih pendek. Jika rantai balik hanya memiliki dua permukaan dan mereka terlepas, rantai dihancurkan, dan kedua permukaan kembali ke penunjukan sebelumnya.

Persyaratan

   
Target Platform Windows
Header ddraw.h
Pustaka Ddraw.lib
DLL Ddraw.dll

Lihat juga

IDirectDrawSurface7