mmioGetInfo 関数 (mmiscapi.h)

mmioGetInfo 関数は、mmioOpen 関数を使用して開かれたファイルに関する情報を取得します。 この情報を使用すると、ファイルがバッファー I/O 用に開かれている場合に、アプリケーションは I/O バッファーに直接アクセスできます。

構文

MMRESULT mmioGetInfo(
  HMMIO      hmmio,
  LPMMIOINFO pmmioinfo,
  UINT       fuInfo
);

パラメーター

hmmio

ファイルのファイル ハンドル。

pmmioinfo

mmioGetInfo がファイルに関する情報を入力する MMIOINFO 構造体を受け取るバッファーへのポインター。

fuInfo

予約;は 0 である必要があります。

戻り値

成功した場合は 0 を返し、それ以外の場合はエラーを返します。

解説

バッファー処理された I/O 用に開かれたファイルの I/O バッファーに直接アクセスするには、mmioGetInfo で塗りつぶされた MMIOINFO 構造体の次のメンバーを使用します。

  • pchNext メンバーは、読み取りまたは書き込み可能なバッファー内の次のバイトを指します。 読み取りまたは書き込み時に、 pchNext を読み取りまたは書き込まれたバイト数だけインクリメントします。
  • pchEndRead メンバーは、読み取ることができるバッファー内の最後の有効なバイトの 1 バイトを指します。
  • pchEndWrite メンバーは、書き込み可能なバッファー内の最後の位置の 1 バイトを指します。
バッファーの読み取りまたは書き込みを行い、pchNext を変更した後、mmioSetInfo 関数を呼び出すまで、mmioAdvance 以外のマルチメディア ファイル I/O 関数を呼び出さないでください。 バッファーへの直接アクセスが完了したら、 mmioSetInfo を呼び出します。

pchEndRead メンバーまたは pchEndWrite メンバーによって指定されたバッファーの末尾に達したら、mmioAdvance を呼び出してディスクからバッファーを埋めるか、バッファーをディスクに書き込みます。 mmioAdvance 関数は、ファイルの MMIOINFO 構造体の pchNextpchEndReadおよび pchEndWrite メンバーを更新します。

mmioAdvance または mmioSetInfo を呼び出してバッファーをディスクにフラッシュする前に、ファイルの MMIOINFO 構造体の dwFlags メンバーに MMIO_DIRTY フラグを設定します。 それ以外の場合、バッファーはディスクに書き込まれません。

pchNext をデクリメントしたり、pchNext および dwFlags 以外の MMIOINFO 構造体のメンバーを変更したりしないでください。 dwFlags では、MMIO_DIRTY以外のフラグは設定しないでください。

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー mmiscapi.h (Mmiscapi.h、Windows.h を含む)
Library Winmm.lib
[DLL] Winmm.dll