The IDirectMusicCollection::EnumInstrument method retrieves the patch and name of an instrument by its index in the collection.
HRESULT EnumInstrument(
DWORD dwIndex,
DWORD* pdwPatch,
LPWSTR pwszName,
DWORD dwNameLen
);
If the method succeeds, the return value is S_OK, or S_FALSE if there is no instrument with that index number.
If it fails, the method may return one of the following error values:
E_FAIL |
E_OUTOFMEMORY |
E_POINTER |
To enumerate all instruments in a collection, start with a dwIndex of 0 and increment until EnumInstrument returns S_FALSE.
The patch number returned in pdwPatch describes the full patch address, including the MIDI parameters for MSB and LSB bank select. For more information, see MIDI Channel Messages.
Although the ordering of the enumeration is consistent within one instance of a DLS collection, it has no relationship to the ordering of instruments in the file, their patch numbers, or their names.
For an example of instrument enumeration, see Working with Instruments.
Windows NT/2000: Requires Windows 2000.
Windows 95/98: Requires Windows 95 or later. Available as a redistributable for Windows 95.
Header: Declared in dmusicc.h.