MMIOPROC 回呼函式 (mmiscapi.h)
MMIOProc 函式是 mmioInstallIOProc 函式所安裝的自定義輸入/輸出 (I/O) 程式。 MMIOProc 是應用程式定義函數名稱的佔位元。 此函式的位址可以在 mmioInstallIOProc 的回呼地址參數中指定。
語法
MMIOPROC Mmioproc;
LRESULT Mmioproc(
LPSTR lpmmioinfo,
UINT uMsg,
LPARAM lParam1,
LPARAM lParam2
)
{...}
參數
lpmmioinfo
指向包含開啟檔案相關信息的 MMIOINFO 結構。
I/O 程式必須維護此結構中的 lDiskOffset 成員,以指出下一個讀取或寫入位置的檔案位移。 I/O 程式可以使用 adwInfo[] 成員來儲存狀態資訊。 I/O 程式不應該修改 MMIOINFO 結構的任何其他成員。
uMsg
指定訊息,指出要求的 I/O 作業。 可接收的訊息包括 MMIOM_OPEN、 MMIOM_CLOSE、 MMIOM_READ、 MMIOM_SEEK、 MMIOM_WRITE和 MMIOM_WRITEFLUSH。
lParam1
指定訊息的應用程式定義參數。
lParam2
指定訊息的應用程式定義參數。
傳回值
傳回值取決於 uMsg 所指定的訊息。 如果 I/O 程式無法辨識訊息,它應該會傳回零。
備註
與檔案相關聯的 MMIOINFO 結構中,由 azureMMIOProc 成員指定的四個字元程式代碼會識別自定義儲存系統的擴展名。 當應用程式以 「one.xyz+two」 之類的檔名呼叫 mmioOpen 時,會呼叫與四個字元代碼 「XYZ」 相關聯的 I/O 程式,以開啟 「one.xyz」 檔案的 「two」 元素。
mmioInstallIOProc 函式會針對每個 Windows 型應用程式維護個別安裝的 I/O 程式清單。 因此,不同的應用程式可以針對不同的 I/O 程式使用相同的 I/O 程式識別碼,而不會發生衝突。 不過,全域安裝 I/O 程式可讓任何進程使用該程式。
如果應用程式多次呼叫 mmioInstallIOProc 來註冊相同的 I/O 程式,則必須呼叫 mmioInstallIOProc ,以在每次安裝程式時移除程式一次。
mmioInstallIOProc 不會防止應用程式使用相同的標識碼安裝兩個不同的 I/O 程式,或安裝具有其中一個預先定義標識符的 I/O 程式, (“DOS ”, “MEM ”) 。 最近安裝的程式優先,而最近安裝的程式是第一個要移除的程式。
搜尋指定的 I/O 程式時,會先搜尋本機程式,然後再搜尋全域程式。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | mmiscapi.h (包括 Mmiscapi.h、Windows.h) |