次の方法で共有


MMIOPROC コールバック関数 (mmiscapi.h)

MMIOProc 関数は、mmioInstallIOProc 関数によってインストールされるカスタム入出力 (I/O) プロシージャです。 MMIOProc は、アプリケーション定義関数名のプレースホルダーです。 この関数のアドレスは、 mmioInstallIOProc の callback-address パラメーターで指定できます。

構文

MMIOPROC Mmioproc;

LRESULT Mmioproc(
  LPSTR lpmmioinfo,
  UINT uMsg,
  LPARAM lParam1,
  LPARAM lParam2
)
{...}

パラメーター

lpmmioinfo

開いているファイルに関する情報を含む MMIOINFO 構造体を指します。

I/O プロシージャーは、次の読み取りまたは書き込み位置へのファイル・オフセットを示すために、この構造体の lDiskOffset メンバーを維持する必要があります。 I/O プロシージャでは 、adwInfo[] メンバーを使用して状態情報を格納できます。 入出力プロシージャーは 、MMIOINFO 構造体の他のメンバーを変更しないでください。

uMsg

要求された I/O 操作を示すメッセージを指定します。 受信できるメッセージには、 MMIOM_OPENMMIOM_CLOSE、MMIOM_READMMIOM_SEEKMMIOM_WRITEMMIOM_WRITEFLUSH含まれます

lParam1

メッセージのアプリケーション定義パラメーターを指定します。

lParam2

メッセージのアプリケーション定義パラメーターを指定します。

戻り値

戻り値は、 uMsg で指定されたメッセージによって異なります。 I/O プロシージャがメッセージを認識しない場合は、0 を返す必要があります。

注釈

ファイルに関連付けられた MMIOINFO 構造体の fccMMIOProc メンバーによって指定された 4 文字のコードは、カスタム ストレージ システムのファイル名拡張子を識別します。 アプリケーションが "one.xyz+two" などのファイル名で mmioOpen を呼び出すと、4 文字のコード "XYZ" に関連付けられている I/O プロシージャが呼び出され、ファイル "one.xyz" の "two" 要素が開きます。

mmioInstallIOProc 関数は、Windows ベースのアプリケーションごとにインストールされている I/O プロシージャの個別の一覧を保持します。 そのため、異なるアプリケーションで、競合することなく、異なる I/O プロシージャに同じ I/O プロシージャ識別子を使用できます。 ただし、I/O プロシージャをグローバルにインストールすると、すべてのプロセスでこのプロシージャを使用できます。

アプリケーションが同じ I/O プロシージャを登録するために mmioInstallIOProc を複数回呼び出す場合は、 mmioInstallIOProc を呼び出して、プロシージャをインストールするたびにプロシージャを 1 回削除する必要があります。

mmioInstallIOProc では、アプリケーションが同じ識別子を持つ 2 つの異なる I/O プロシージャをインストールしたり、定義済みの識別子 ("DOS"、"MEM") のいずれかを使用して I/O プロシージャをインストールしたりすることを防ぐものではありません。 最後にインストールされたプロシージャが優先され、最後にインストールされたプロシージャが最初に削除されます。

指定した I/O プロシージャーを検索する場合は、最初にローカル・プロシージャー、次にグローバル・プロシージャーが検索されます。

要件

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