Freigeben über


MCI-Funktionen Makros und Nachrichten

[Das feature, das dieser Seite zugeordnet ist, MCI-ist ein Legacyfeature. Es wurde von MediaPlayerersetzt. MediaPlayer- wurde für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code MediaPlayer- anstelle MCI-verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, um die neuen APIs zu verwenden, falls möglich umgeschrieben werden.]

Die meisten MCI-Anwendungen verwenden die mciSendString und mciSendCommand Funktionen Dutzende von Zeiten. MCI bietet einige andere nützliche Funktionen, die Ihre Anwendung weniger häufig verwendet.

Der für die meisten MCI-Befehle erforderliche Gerätebezeichner wird in der Regel in einem Aufruf des geöffneten (MCI_OPEN) -Befehls 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 mciGetDeviceID-Funktion aufrufen.

Mit der mciGetCreatorTask--Funktion kann Ihre Anwendung einen Gerätebezeichner verwenden, um einen Handle für die Aufgabe abzurufen, die diesen Bezeichner erstellt hat.

Sie können die mciGetYieldProc und mciSetYieldProc Funktionen 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 MCI zurückgibt, ob Daten oder eine Fehlerbeschreibung, beträgt maximal 128 Zeichen. Dialogfeldfelder, die kleiner als 128 Zeichen sind, werden die längeren Zeichenfolgen abgeschnitten, 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 zerlegen 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/Minutes/Seconds/Frames (TMSF). In der folgenden Tabelle sind die Makros und deren 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 von 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 Frameskomponente 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 Frameskomponente 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 Titelkomponente aus einem TMSF-Wert ab.

 

MCI bietet auch zwei Nachrichten: MM_MCINOTIFY und MM_MCISIGNAL. Die MM_MCINOTIFY Nachricht benachrichtigt eine Anwendung des Ergebnisses eines MCI-Befehls, wenn dieser Befehl das Flag "notify" (MCI_NOTIFY) angibt. Die MM_MCISIGNAL Nachricht ist spezifisch für Digitalvideogeräte; sie benachrichtigt die Anwendung, wenn eine angegebene Position erreicht wird.