Verwalten von DABEI
Sie können ein EINGABE-Eingabegerät direkt mit einem DANN-Ausgabegerät verbinden, sodass das System eine Nachricht mit den gleichen EREIGNISDATEN an den Ausgabegerätetreiber sendet, wenn das Eingabegerät eine MIM _ DATA-Nachricht empfängt. Verwenden Sie zum Verbinden eines OUTPUT-Ausgabegeräts mit einem EINGABE-Eingabegerät die funktion "connect".
Um die bestmögliche Leistung mit mehreren Ausgaben zu erzielen, kann eine Anwendung auswählen, dass eine spezielle Form des OUTPUT-Treibers namens thru-Treiber zur Auswahl stehen soll. Das System lässt zwar zu, dass nur ein EINZIGES-Ausgabegerät mit einem EINGABE-Eingabegerät verbunden ist, aber es können mehrere AUDIO-Ausgabegeräte mit einem Thru-Treiber verbunden werden. Eine Anwendung auf einem solchen System könnte das EINGABE-Eingabegerät mit diesem Gerät verbinden und das DABEI-Gerät bei Bedarf mit so vielen ANMELDUNG-Ausgabegeräten verbinden. Weitere Informationen zu Treibern finden Sie in der Windows device-driver-Dokumentation.
Verwenden von Nachrichten zum Verwalten der TONT-Aufzeichnung
Die folgenden Meldungen können an eine Fenster- oder Threadrückrufprozedur zum Verwalten derTEN-Aufzeichnung gesendet werden.
| Wert | Bedeutung |
|---|---|
| MM _ MIM _ CLOSE | Wird gesendet, wenn ein SCHLIEßEN-Eingabegerät mithilfe der funktion "sollInClose" geschlossen wird. |
| MM _ MIM _ DATA | Wird gesendet, wenn eine vollständige FEHLERMELDUNG-Nachricht empfangen wird. (Diese Meldung wird für alle MESSAGE-Nachrichten mit Ausnahme von system-exklusiven Nachrichten verwendet.) |
| _MM-MIM FEHLER _ | Wird gesendet, wenn eine ungültige FEHLERMELDUNG-Nachricht empfangen wird. (Diese Meldung wird für alle MESSAGE-Nachrichten mit Ausnahme von system-exklusiven Nachrichten verwendet.) |
| MM _ MIM _ LONGDATA | Wird gesendet, wenn entweder eine vollständige SYSTEM-exklusive NACHRICHT empfangen wird oder wenn ein Puffer mit system-exklusiven Daten gefüllt wurde. |
| MM _ MIM _ LONGERROR | Wird gesendet, wenn eine ungültige system-exklusive FEHLERMELDUNG empfangen wird. |
| MM _ MIM _ MOREDATA | Wird gesendet, wenn eine Anwendung MIM _ Datennachrichten schnell genug verarbeitet, um mit dem Eingabegerätetreiber mithalten zu können. |
| MM _ MIM _ OPEN | Wird gesendet, wenn ein EINGABEGERÄT mithilfe der funktion "sollInOpen" geöffnet wird. |
Jeder dieser Meldungen sind ein wParam-Parameter und ein lParam-Parameter zugeordnet. Der wParam-Parameter gibt immer das Handle eines geöffnetenWERT-Geräts an. Der lParam-Parameter wird für die MM-MIM _ _ CLOSE- und MM-MIM _ _ OPEN-Meldungen nicht verwendet.
Für die MM _ MIM _ LONGDATA-Nachricht gibt lpMidiHdr eine Adresse einer FORMATHDR-Struktur an, die den Puffer für system-exklusive Nachrichten identifiziert. Der Puffer wird möglicherweise nicht vollständig gefüllt, da die Größe der system-exklusiven Nachrichten in der Regel nicht bekannt ist, bevor sie aufgezeichnet werden, und weil Puffer, deren Gesamtgröße die größte erwartete Nachricht enthalten kann, zugeordnet werden müssen. Um die Menge der gültigen Daten im Puffer zu bestimmen, verwenden Sie den dwBytesRecorded-Member der FORMATHDR-Struktur.
Verwenden einer Rückruffunktion zum Verwalten der DANN-Aufzeichnung
Sie können eine eigene Rückruffunktion definieren, um die Aufzeichnung für EINGABE-Eingabegeräte zu verwalten. Die Rückruffunktion ist als "ProgrammInProc" dokumentiert.
Die folgenden Nachrichten können an den wMsg-Parameter der Rückruffunktion "SollenInProc" gesendet werden.
| Wert | Bedeutung |
|---|---|
| _MIM SCHLIEßEN | Wird gesendet, wenn das Gerät geschlossen wird, indem die funktion "formatInClose" verwendet wird. |
| _MIM DATEN | Wird gesendet, wenn eine vollständige DANN-Nachricht empfangen wird (diese Meldung wird für alle MESSAGE-Nachrichten mit Ausnahme von system exklusiven Nachrichten verwendet). |
| _MIM FEHLER | Wird gesendet, wenn eine ungültige FEHLERMELDUNG-Nachricht empfangen wird (diese Meldung wird für alle MESSAGE-Nachrichten mit Ausnahme von system-exklusiven Nachrichten verwendet). |
| _MIM LONGDATA | Wird gesendet, wenn entweder eine vollständige SYSTEM-exklusive NACHRICHT empfangen wird oder wenn ein Puffer mit system-exklusiven Daten gefüllt wurde. |
| _MIM LONGERROR | Wird gesendet, wenn eine ungültige system-exklusive FEHLERMELDUNG empfangen wird. |
| _MIM MOREDATA | Wird gesendet, wenn eine Anwendung MIM _ Datennachrichten schnell genug verarbeitet, um mit dem Eingabegerätetreiber mithalten zu können. |
| _MIM ÖFFNEN | Wird gesendet, wenn dasEINGABE-Eingabegerät mithilfe der funktion "formatInOpen" geöffnet wird. |
Diese Meldungen ähneln denen, die an Fensterprozedurfunktionen gesendet werden, aber die Parameter unterscheiden sich. Ein Handle des geöffnetenWERT-Geräts wird als Parameter an die Rückruffunktion übergeben, zusammen mit dem Doubleword der Instanzdaten, die mithilfe von "mussInOpen" übergeben wurden.
Für die MIM _ LONGDATA-Nachricht gibt lpMidiHdr eine Adresse einerJSHDR-Struktur an, die den Puffer für system-exklusive Nachrichten identifiziert. Der Puffer ist möglicherweise nicht vollständig gefüllt. Um die Menge der gültigen Daten im Puffer zu bestimmen, verwenden Sie den dwBytesRecorded-Member der FORMATHDR-Struktur.
Nachdem der Gerätetreiber mit einem Datenblock fertig ist, können Sie den Datenblock bereinigt und frei geben.