fungsi mmioDescend (mmiscapi.h)
Fungsi mmioDescend turun ke dalam potongan file RIFF yang dibuka dengan menggunakan fungsi mmioOpen . Ini juga dapat mencari gugus tertentu.
Sintaks
MMRESULT mmioDescend(
HMMIO hmmio,
LPMMCKINFO pmmcki,
const MMCKINFO *pmmckiParent,
UINT fuDescend
);
Parameter
hmmio
Handel file dari file RIFF terbuka.
pmmcki
Penunjuk ke buffer yang menerima struktur MMCKINFO .
pmmckiParent
Penunjuk ke struktur MMCKINFO opsional yang ditentukan aplikasi yang mengidentifikasi induk gugus yang sedang dicari. Jika parameter ini bukan NULL, mmioDescend mengasumsikan struktur MMCKINFO yang dirujuknya diisi ketika mmioDescend dipanggil untuk turun ke gugus induk, dan mmioDescend mencari gugus dalam gugus induk. Atur parameter ini ke NULL jika tidak ada gugus induk yang ditentukan.
fuDescend
Cari bendera. Jika tidak ada bendera yang ditentukan, mmioDescend turun ke gugus yang dimulai pada posisi file saat ini. Nilai berikut didefinisikan.
Nilai | Makna |
---|---|
MMIO_FINDCHUNK | Mencari gugus dengan pengidentifikasi gugus yang ditentukan. |
MMIO_FINDLIST | Mencari gugus dengan pengidentifikasi gugus "LIST" dan dengan jenis formulir yang ditentukan. |
MMIO_FINDRIFF | Mencari gugus dengan pengidentifikasi gugus "RIFF" dan dengan jenis formulir yang ditentukan. |
Menampilkan nilai
Mengembalikan MMSYSERR_NOERROR jika berhasil atau kesalahan sebaliknya. Kemungkinan nilai kesalahan termasuk yang berikut ini.
Menampilkan kode | Deskripsi |
---|---|
|
Akhir file (atau akhir gugus induk, jika diberikan) tercapai sebelum gugus yang diinginkan ditemukan. |
Keterangan
Gugus "RIFF" terdiri dari pengidentifikasi gugus empat byte (jenis FOURCC), diikuti dengan ukuran gugus empat byte (jenis DWORD), diikuti oleh bagian data dari gugus, diikuti oleh byte pad null jika ukuran bagian data ganjil. Jika pengidentifikasi gugus adalah "RIFF" atau "LIST", empat byte pertama dari bagian data gugus adalah jenis formulir atau jenis daftar (jenis FOURCC).
Jika Anda menggunakan mmioDescend untuk mencari gugus, pastikan posisi file berada di awal gugus sebelum memanggil fungsi . Pencarian dimulai pada posisi file saat ini dan berlanjut ke akhir file. Jika gugus induk ditentukan, posisi file harus berada di suatu tempat dalam gugus induk sebelum memanggil mmioDescend. Dalam hal ini, pencarian dimulai pada posisi file saat ini dan berlanjut ke akhir gugus induk.
Jika mmioDescend tidak berhasil mencari gugus, posisi file saat ini tidak terdefinisi. Jika mmioDescend berhasil, posisi file saat ini diubah. Jika gugus adalah gugus "RIFF" atau "LIST", posisi file baru akan tepat setelah jenis formulir atau jenis daftar (12 byte dari awal gugus). Untuk potongan lain, posisi file baru akan menjadi awal dari bagian data gugus (8 byte dari awal gugus).
Fungsi mmioDescend mengisi struktur MMCKINFO yang ditujukkan oleh parameter lpck dengan informasi berikut:
- Anggota ckid adalah gugus. Jika bendera MMIO_FINDCHUNK, MMIO_FINDRIFF, atau MMIO_FINDLIST ditentukan untuk wFlags, struktur MMCKINFO juga digunakan untuk meneruskan parameter ke mmioDescend. Dalam hal ini, anggota ckid menentukan kode empat karakter pengidentifikasi gugus, jenis formulir, atau jenis daftar untuk dicari.
- Anggota cksize adalah ukuran, dalam byte, dari bagian data gugus. Ukurannya mencakup jenis formulir atau jenis daftar (jika ada), tetapi tidak menyertakan header gugus 8-byte atau byte pad di akhir data (jika ada).
- Anggota fccType adalah jenis formulir jika ckid adalah "RIFF", atau jenis daftar jika ckid adalah "LIST". Jika tidak, null.
- Anggota dwDataOffset adalah offset file dari awal bagian data dari gugus. Jika gugus adalah gugus "RIFF" atau gugus "LIST", anggota ini adalah offset dari jenis formulir atau jenis daftar.
- Anggota dwFlags berisi informasi lain tentang gugus. Saat ini, informasi ini tidak digunakan dan diatur ke nol.
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 |