Esecuzione di query su dispositivi di output MIDI
Prima di riprodurre un file MIDI, è necessario usare la funzione midiOutGetDevCaps per determinare le funzionalità del dispositivo di output MIDI presente nel sistema. Questa funzione accetta un indirizzo di una struttura MIDIOUTCAPS , che riempie di informazioni sulle funzionalità del dispositivo specificato. Queste informazioni includono il produttore e gli identificatori del prodotto, un nome prodotto per il dispositivo e il numero di versione del driver di dispositivo (specificato rispettivamente nei membri wMid, wPid, szPname e vDriverVersion ).
I dispositivi di output MIDI possono essere sintetizzatori interni o porte di output MIDI esterne. Il membro wTechnology della struttura MIDIOUTCAPS specifica la tecnologia del dispositivo.
Se il dispositivo è un sintetizzatore interno, le informazioni aggiuntive sul dispositivo sono disponibili nei membri wVoices, wNotes e wChannelMask. Il membro wVoices specifica il numero di voci supportate dal dispositivo. Ogni voce può avere un suono o un timbre diverso. Le voci sono organizzate in canali MIDI. Il membro wNotes specifica la polifonia del dispositivo, ovvero il numero massimo di note che possono essere riprodotte simultaneamente. Il membro wChannelMask è una rappresentazione bit dei canali MIDI a cui risponde il dispositivo. Ad esempio, se il dispositivo risponde ai primi otto canali MIDI, wChannelMask è 0x00FF. Se il dispositivo è una porta di output esterna, wVoices e wNotes sono inutilizzati e wChannelMask è impostato su 0xFFFF.
Il membro dwSupport della struttura MIDIOUTCAPS indica se il driver di dispositivo supporta le modifiche del volume, la memorizzazione nella cache delle patch e lo streaming. Le modifiche del volume sono supportate solo dai dispositivi di sintetizzatore interno. Le porte di output MIDI esterne non supportano le modifiche al volume. Per informazioni sulla modifica del volume, vedere Modifica del volume di sintetizzatori MIDI interni.