MMIOPROC-Rückruffunktion (mmiscapi.h)
Die MMIOProc-Funktion ist eine benutzerdefinierte Eingabe-/Ausgabeprozedur (E/A), die von der mmioInstallIOProc-Funktion installiert wird. MMIOProc ist ein Platzhalter für den anwendungsdefinierte Funktionsnamen. Die Adresse dieser Funktion kann im callback-address-Parameter von mmioInstallIOProc angegeben werden.
Syntax
MMIOPROC Mmioproc;
LRESULT Mmioproc(
LPSTR lpmmioinfo,
UINT uMsg,
LPARAM lParam1,
LPARAM lParam2
)
{...}
Parameter
lpmmioinfo
Verweist auf eine MMIOINFO-Struktur , die Informationen zur geöffneten Datei enthält.
Die E/A-Prozedur muss den lDiskOffset-Member in dieser Struktur beibehalten, um den Dateioffset zum nächsten Lese- oder Schreibspeicherort anzugeben. Die E/A-Prozedur kann das adwInfo[]-Element verwenden, um Zustandsinformationen zu speichern. Die E/A-Prozedur sollte keine anderen Member der MMIOINFO-Struktur ändern.
uMsg
Gibt eine Meldung an, die den angeforderten E/A-Vorgang angibt. Nachrichten, die empfangen werden können, umfassen MMIOM_OPEN, MMIOM_CLOSE, MMIOM_READ, MMIOM_SEEK, MMIOM_WRITE und MMIOM_WRITEFLUSH.
lParam1
Gibt einen von der Anwendung definierten Parameter für die Nachricht an.
lParam2
Gibt einen von der Anwendung definierten Parameter für die Nachricht an.
Rückgabewert
Der Rückgabewert hängt von der von uMsg angegebenen Nachricht ab. Wenn die E/A-Prozedur eine Nachricht nicht erkennt, sollte sie null zurückgeben.
Hinweise
Der vierstellige Code, der vom fccMMIOProc-Element in der MMIOINFO-Struktur angegeben wird, die einer Datei zugeordnet ist, identifiziert eine Dateinamenerweiterung für ein benutzerdefiniertes Speichersystem. Wenn eine Anwendung mmioOpen mit einem Dateinamen wie "one.xyz+two" aufruft, wird die E/A-Prozedur aufgerufen, die dem vierstelligen Code "XYZ" zugeordnet ist, um das "two"-Element der Datei "one.xyz" zu öffnen.
Die mmioInstallIOProc-Funktion verwaltet eine separate Liste der installierten E/A-Prozeduren für jede Windows-basierte Anwendung. Daher können verschiedene Anwendungen denselben E/A-Prozedurbezeichner für verschiedene E/A-Prozeduren ohne Konflikte verwenden. Durch die globale Installation einer E/A-Prozedur kann jedoch jeder Prozess die Prozedur verwenden.
Wenn eine Anwendung mmioInstallIOProc mehrmals aufruft , um dieselbe E/A-Prozedur zu registrieren, muss sie mmioInstallIOProc aufrufen, um die Prozedur einmal für jede Installation der Prozedur zu entfernen.
mmioInstallIOProc verhindert nicht, dass eine Anwendung zwei verschiedene E/A-Prozeduren mit demselben Bezeichner installiert oder eine E/A-Prozedur mit einem der vordefinierten Bezeichner ("DOS", "MEM") installiert. Die zuletzt installierte Prozedur hat Vorrang, und die zuletzt installierte Prozedur ist die erste, die entfernt wird.
Bei der Suche nach einer angegebenen E/A-Prozedur werden zuerst lokale Prozeduren und dann globale Prozeduren durchsucht.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | mmiscapi.h (include Mmiscapi.h, Windows.h) |