Before recording MIDI audio, you should call the midiInGetDevCaps function to determine the capabilities of the MIDI input hardware present in the system. This function takes a pointer to a MIDIINCAPS structure, which it fills with information about the capabilities of a given device. This information includes the manufacturer and product IDs, a product name for the device, and the version number of the device driver. MMSYSTEM.H defines the MIDIINCAPS structure as follows:
typedef struct midiincaps_tag {
UINT wMid; /* manufacturer ID */
UINT wPid; /* product ID */
VERSION vDriverVersion; /* driver version */
char szPname[MAXPNAMELEN]; /* product name */
} MIDIINCAPS;