Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die midiOutCacheDrumPatches-Funktion fordert an, dass ein internes MIDI-Synthesizergerät einen angegebenen Satz schlüsselbasierter Schlagzeugpatches vorlädt und zwischenspeichert.
Syntax
MMRESULT midiOutCacheDrumPatches(
HMIDIOUT hmo,
UINT uPatch,
LPWORD pwkya,
UINT fuCache
);
Parameter
hmo
Handle für das geöffnete MIDI-Ausgabegerät. Dieses Gerät sollte ein interner MIDI-Synthesizer sein. Dieser Parameter kann auch der Handle eines MIDI-Streams sein, der in HMIDIOUT umgewandelt wird.
uPatch
Trommelpatchnummer, die verwendet werden soll. Dieser Parameter sollte auf null festgelegt werden, um den Standardtrommelpatch zwischenzuspeichern.
pwkya
Zeiger auf ein KEYARRAY-Array , das die Schlüsselnummern der angegebenen Perkussionspatches angibt, die zwischengespeichert oder nicht zwischengespeichert werden sollen.
fuCache
Optionen für den Cachevorgang. Es kann eines der folgenden Flags sein.
| Wert | Bedeutung |
|---|---|
| MIDI_CACHE_ALL | Speichert alle angegebenen Patches zwischen. Wenn sie nicht alle zwischengespeichert werden können, werden keine zwischengespeichert, das KEYARRAY-Array gelöscht und MMSYSERR_NOMEM zurückgegeben. |
| MIDI_CACHE_BESTFIT | Speichert alle angegebenen Patches zwischen. Wenn sie nicht alle zwischengespeichert werden können, werden so viele Patches wie möglich zwischengespeichert, das KEYARRAY-Array so geändert, dass es widerspiegelt, welche Patches zwischengespeichert wurden, und gibt MMSYSERR_NOMEM zurück. |
| MIDI_CACHE_QUERY | Ändert das KEYARRAY-Array , um anzugeben, welche Patches derzeit zwischengespeichert werden. |
| MIDI_UNCACHE | Hebt den Cache der angegebenen Patches auf und löscht das KEYARRAY-Array. |
Rückgabewert
Gibt MMSYSERR_NOERROR zurück, wenn erfolgreich oder andernfalls ein Fehler aufgetreten ist. Mögliche Fehlerwerte sind:
| Rückgabecode | Beschreibung |
|---|---|
|
Das von wFlags angegebene Flag ist ungültig. |
|
Das angegebene Gerätehandle ist ungültig. |
|
Das Array, auf das vom lpKeyArray-Array verwiesen wird, ist ungültig. |
|
Das Gerät verfügt nicht über genügend Arbeitsspeicher, um alle angeforderten Patches zwischenzuspeichern. |
|
Das angegebene Gerät unterstützt keine Patchzwischenspeicherung. |
Hinweise
Einige Synthesizer sind nicht in der Lage, alle Schlagzeug-Patches gleichzeitig geladen zu halten. Zwischenspeichern von Patches stellt sicher, dass die angegebenen Patches verfügbar sind.
Jedes Element des KEYARRAY-Arrays stellt einen der 128 tastenbasierten Perkussionspatches dar und verfügt über Bits für jeden der 16 MIDI-Kanäle, die den jeweiligen Patch verwenden. Das am wenigsten signifikante Bit stellt den physischen Kanal 0 und das wichtigste Bit den physischen Kanal 15 dar. Wenn beispielsweise der Patch für die Schlüsselnummer 60 von den physischen Kanälen 9 und 15 verwendet wird, wird Element 60 auf 0x8200 festgelegt.
Diese Funktion gilt nur für interne MIDI-Synthesizergeräte. Nicht alle internen Synthesizer unterstützen die Patchzwischenspeicherung. Um zu ermitteln, ob ein Gerät das Patchzwischenspeichern unterstützt, verwenden Sie das flag MIDICAPS_CACHE, um das dwSupport-Element der MIDIOUTCAPS-Struktur zu testen, die von der midiOutGetDevCaps-Funktion gefüllt wird.
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 | mmeapi.h (einschließlich Windows.h) |
| Bibliothek | Winmm.lib |
| DLL | Winmm.dll |