mmioDescend

mmioDescend 関数は mmioOpen 関数を使用してオープンした RIFF ファイル内のチャンクへ降下する。指定されたチャンクを検索することもできる。

mmioDescend hmmio, pmmcki, pmmckiParent, fuDescend

hmmio : [intptr] オープン済み RIFF ファイルのファイルハンドル。
pmmcki : [var] MMCKINFO 構造体を受け取るバッファへのポインタ。
pmmckiParent : [var] 検索対象のチャンクの親を識別するオプションのアプリケーション定義 MMCKINFO 構造体へのポインタ。このパラメータが NULL でない場合、mmioDescend はそれが参照する MMCKINFO 構造体が親チャンクへ降下するために mmioDescend が呼び出されたときに埋められたものと仮定し、親チャンク内のチャンクを検索する。親チャンクを指定しない場合はこのパラメータを NULL に設定する。
fuDescend : [int] 検索フラグ。フラグが指定されない場合、mmioDescend は現在のファイル位置から始まるチャンクへ降下する。次の値が定義されている。

(プラグイン / モジュール : winmm.dll)

解説

mmioDescend 関数は mmioOpen 関数を使用してオープンした RIFF
ファイル内のチャンクへ降下する。指定されたチャンクを検索することもできる。

[戻り値]
成功時は MMSYSERR_NOERROR を、それ以外の場合はエラーを返す。考えられるエラー値は次のとおり。
(以下省略)

[備考]
「RIFF」チャンクは 4 バイトのチャンク識別子 (FOURCC 型)、続いて 4 バイトのチャンクサイズ (DWORD
型)、続いてチャンクのデータ部分、データ部分のサイズが奇数の場合は null
パッドバイトで構成される。チャンク識別子が「RIFF」または「LIST」の場合、チャンクのデータ部分の最初の 4
バイトはフォーム型またはリスト型 (FOURCC 型) である。mmioDescend
を使用してチャンクを検索する場合は、関数を呼び出す前にファイル位置がチャンクの先頭にあることを確認する。検索は現在のファイル位置から始まり、ファイル末尾まで続く。親チャンクが指定されている場合、mmioDescend
を呼び出す前にファイル位置が親チャンク内のどこかにあるべきである。この場合、検索は現在のファイル位置から始まり親チャンクの末尾まで続く。mmioDescend
がチャンクの検索に失敗した場合、現在のファイル位置は未定義となる。mmioDescend
が成功した場合、現在のファイル位置は変更される。チャンクが「RIFF」または「LIST」チャンクの場合、新しいファイル位置はフォーム型またはリスト型の直後
(チャンク先頭から 12 バイト) となる。その他のチャンクの場合、新しいファイル位置はチャンクのデータ部分の先頭 (チャンク先頭から 8
バイト) となる。mmioDescend 関数は lpck パラメータが指す MMCKINFO 構造体に次の情報を埋める。
(以下省略)

情報

プラグイン / モジュールwinmm.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の winmm.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_winmm_gen2.hs