IDirectMusicCollection8::EnumInstrument
The EnumInstrument method retrieves the patch number and name of an instrument by its index in the collection.
Syntax
HRESULT EnumInstrument(
DWORD dwIndex,
DWORD* pdwPatch,
LPWSTR pwszName,
DWORD dwNameLen
);
Parameters
dwIndex
Index of the instrument in the collection.
pdwPatch
Address of a variable that receives the patch number.
pwszName
Address of a buffer that receives the instrument name. Can be NULL if the name is not wanted.
dwNameLen
Number of WCHAR elements in the instrument name buffer.
Return Values
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 can return one of the error values shown in the following table.
Return code |
E_FAIL |
E_OUTOFMEMORY |
E_POINTER |
Remarks
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.
Requirements
** Header:** Dmusicc.h
Library: Dmusic.h, Dmusicd.h
See Also