Defining Flag Constants

You need to define new flag constants whenever you create new command modifiers, either for existing commands or for new commands.

Flags are passed to MCI drivers in the lParam1 parameter to DriverProc. This is a DWORD parameter. The first 16 bits (0 through 15) of the DWORD are reserved by MCI. Driver developers can use bits 16 through 31 for customized flags. This means up to 16 different customized flags can be defined for each command. You should be sure that new flag definitions do not conflict with existing definitions.

Place new flag definitions in an include file that is available both to your driver and to application developers. When naming flags, include the command and a representation of your device type in the name. For example, flags for animation extensions to the “play” command are named as follows:

#define MCI_ANIM_PLAY_SPEED			0x00010000L
#define MCI_ANIM_PLAY_REVERSE		0x00020000L
#define MCI_ANIM_PLAY_FAST			0x00040000L
#define MCI_ANIM_PLAY_SLOW			0x00080000L
#define MCI_ANIM_PLAY_SCAN			0x00100000L