fungsi mmioAdvance (mmiscapi.h)
Fungsi mmioAdvance memajukan buffer I/O dari file yang disiapkan untuk akses buffer I/O langsung dengan fungsi mmioGetInfo .
Sintaks
MMRESULT mmioAdvance(
HMMIO hmmio,
LPMMIOINFO pmmioinfo,
UINT fuAdvance
);
Parameter
hmmio
Handel file dari file yang dibuka dengan menggunakan fungsi mmioOpen .
pmmioinfo
Penunjuk ke struktur MMIOINFO yang diperoleh dengan menggunakan fungsi mmioGetInfo . Struktur ini digunakan untuk mengatur informasi file saat ini, dan kemudian diperbarui setelah buffer ditingkatkan. Parameter ini bersifat opsional.
fuAdvance
Bendera untuk operasi. Ini bisa menjadi salah satu dari berikut ini.
Nilai | Makna |
---|---|
MMIO_READ | Buffer diisi dari file . |
MMIO_WRITE | Buffer ditulis ke file. |
Menampilkan nilai
Mengembalikan MMSYSERR_NOERROR jika berhasil atau kesalahan sebaliknya. Kemungkinan nilai kesalahan termasuk yang berikut ini.
Menampilkan kode | Deskripsi |
---|---|
|
File memori yang ditentukan tidak dapat diperluas, mungkin karena anggota adwInfo dari struktur MMIOINFO diatur ke nol dalam panggilan awal ke fungsi mmioOpen . |
|
Terjadi kesalahan saat mengisi ulang buffer. |
|
Isi buffer tidak dapat ditulis ke disk. |
|
Memori tidak cukup untuk memperluas file memori untuk penulisan lebih lanjut. |
|
File yang ditentukan tidak dibuka untuk I/O yang di-buffer. |
Keterangan
Jika file dibuka untuk dibaca, buffer I/O diisi dari disk. Jika file dibuka untuk ditulis dan bendera MMIO_DIRTY diatur dalam anggota dwFlags dari struktur MMIOINFO , buffer ditulis ke disk. Anggota pchNext,pchEndRead, dan pchEndWrite dari struktur MMIOINFO diperbarui untuk mencerminkan status baru buffer I/O.
Jika file yang ditentukan dibuka untuk ditulis atau untuk pembacaan dan penulisan, buffer I/O dibersihkan ke disk sebelum buffer berikutnya dibaca. Jika buffer I/O tidak dapat ditulis ke disk karena disk penuh, mmioAdvance mengembalikan MMIOERR_CANNOTWRITE.
Jika file yang ditentukan terbuka hanya untuk ditulis, bendera MMIO_WRITE harus ditentukan.
Jika Anda telah menulis ke buffer I/O, Anda harus mengatur bendera MMIO_DIRTY di anggota dwFlags struktur MMIOINFO sebelum memanggil mmioAdvance. Jika tidak, buffer tidak akan ditulis ke disk.
Jika akhir file tercapai, mmioAdvance masih berhasil dikembalikan meskipun tidak ada lagi data yang dapat dibaca. Untuk memeriksa akhir file, periksa apakah anggota pchNext dan pchEndRead dari struktur MMIOINFO sama setelah memanggil mmioAdvance.
Persyaratan
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | mmiscapi.h (termasuk Mmiscapi.h, Windows.h) |
Pustaka | Winmm.lib |
DLL | Winmm.dll |