Makros und Meldungen für MCI-Funktionen
[Das dieser Seite zugeordnete Feature MCI ist ein Legacyfeature. Es wurde von MediaPlayer abgelöst. MediaPlayer wurde für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit MediaPlayer anstelle von MCI verwendet. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]
Die meisten MCI-Anwendungen verwenden die Funktionen mciSendString und mciSendCommand dutzende Male. MCI bietet einige weitere nützliche Funktionen, die Ihre Anwendung seltener verwendet.
Der für die meisten MCI-Befehle erforderliche Gerätebezeichner wird in der Regel durch einen Aufruf des befehls open (MCI_OPEN) abgerufen. Wenn Sie einen Gerätebezeichner benötigen, das Gerät aber nicht öffnen möchten , z. B. wenn Sie die Funktionen des Geräts abfragen möchten, bevor Sie eine andere Aktion ausführen, können Sie die Funktion mciGetDeviceID aufrufen.
Mit der mciGetCreatorTask-Funktion kann Ihre Anwendung einen Gerätebezeichner verwenden, um ein Handle für die Aufgabe abzurufen, die diesen Bezeichner erstellt hat.
Sie können die Funktionen mciGetYieldProc und mciSetYieldProc verwenden, um die Adresse der Rückruffunktion zuzuweisen und abzurufen, die dem Flag "wait" (MCI_WAIT) zugeordnet ist.
Die mciGetErrorString-Funktion ruft eine Zeichenfolge ab, die einen MCI-Fehlerwert beschreibt. Jede Zeichenfolge, die von MCI zurückgegeben wird, unabhängig davon, ob es sich um Daten oder eine Fehlerbeschreibung handelt, umfasst maximal 128 Zeichen. Dialogfeldfelder, die kleiner als 128 Zeichen sind, schneiden die längeren Zeichenfolgen ab, die von MCI zurückgegeben werden. Weitere Informationen zu diesen Zeichenfolgen finden Sie unter MCIERR-Rückgabewerte.
Die MCI-Makros sind Tools, mit denen Sie Werte erstellen und disassemblieren können, die Zeitformate angeben. Diese Zeitformate werden in vielen MCI-Befehlen verwendet. Die Von den Makros angewendeten Formate sind Stunden/Minuten/Sekunden (HMS), Minuten/Sekunden/Frames (MSF) und Tracks/Minuten/Sekunden/Frames (TMSF). In der folgenden Tabelle sind die Makros und ihre Beschreibungen aufgeführt.
Makro | Beschreibung |
---|---|
MCI_HMS_HOUR | Ruft die Stundenkomponente aus einem HMS-Wert ab. |
MCI_HMS_MINUTE | Ruft die Minutenkomponente aus einem HMS-Wert ab. |
MCI_HMS_SECOND | Ruft die Sekundenkomponente aus einem HMS-Wert ab. |
MCI_MAKE_HMS | Erstellt einen HMS-Wert. |
MCI_MAKE_MSF | Erstellt einen MSF-Wert. |
MCI_MAKE_TMSF | Erstellt einen TMSF-Wert. |
MCI_MSF_FRAME | Ruft die Frames-Komponente aus einem MSF-Wert ab. |
MCI_MSF_MINUTE | Ruft die Minutenkomponente aus einem MSF-Wert ab. |
MCI_MSF_SECOND | Ruft die Sekundenkomponente aus einem MSF-Wert ab. |
MCI_TMSF_FRAME | Ruft die Frames-Komponente aus einem TMSF-Wert ab. |
MCI_TMSF_MINUTE | Ruft die Minutenkomponente aus einem TMSF-Wert ab. |
MCI_TMSF_SECOND | Ruft die Sekundenkomponente aus einem TMSF-Wert ab. |
MCI_TMSF_TRACK | Ruft die Trackkomponente aus einem TMSF-Wert ab. |
MCI stellt auch zwei Nachrichten bereit: MM_MCINOTIFY und MM_MCISIGNAL. Die MM_MCINOTIFY Meldung benachrichtigt eine Anwendung über das Ergebnis eines MCI-Befehls, wenn dieser Befehl das Flag "notify" (MCI_NOTIFY) angibt. Die MM_MCISIGNAL Nachricht ist spezifisch für Digital-Video-Geräte. Die Anwendung wird benachrichtigt, wenn eine angegebene Position erreicht wird.