|
Classifications of MCI Commands
MCI defines four command classifications: system, required, basic, and
extended. The following list describes these command classifications:
- System commands are handled by MCI directly, rather than by the driver.
- Required commands are handled by the driver. All MCI drivers must support the required commands
and flags.
- Basic commands (or optional commands) are used by some devices. If a device supports a basic
command, it must support a defined set of flags for that command.
- Extended commands are specific to a device type or driver. Extended commands include commands,
like the put (MCI_PUT) and where (MCI_WHERE) commands for the digitalvideo and overlay device types, and extensions to existing commands (like the "stretch" flag of
the status (MCI_STATUS) command for the overlay device type).
While system and required commands are the minimum command set for any MCI
driver, basic and extended commands are not supported by all drivers. Your
application can always use system and required commands and their flags, but if it
needs to use a basic or extended command or flag, it should first query the driver
by using the capability (MCI_GETDEVCAPS) command. The following sections summarize the specific commands in each
category.
System Commands
MCI processes the following system commands directly, rather than passing them
to MCI devices.
Required Commands
All MCI devices support the following required commands.
Devices must also support a standard set of command flags for the required
commands.
Basic Commands
The following list summarizes the basic commands. The use of these commands by
an MCI device is optional.
String
| Message
| Description
| load
| MCI_LOAD
| Loads data from a file.
| pause
| MCI_PAUSE
| Stops playing. Playback or recording can be resumed at the current position.
| play
| MCI_PLAY
| Starts transmitting output data.
| record
| MCI_RECORD
| Starts recording input data.
| resume
| MCI_RESUME
| Resumes playing or recording on a paused device.
| save
| MCI_SAVE
| Saves data to a disk file.
| seek
| MCI_SEEK
| Seeks forward or backward.
| set
| MCI_SET
| Sets the operating state of the device.
| status
| MCI_STATUS
| Obtains status information about the device. This is also a required command;
since some of its flags are not required, it is also listed here. (The optional
items support devices that use linear media with identifiable positions.)
| stop
| MCI_STOP
| Stops playing.
|
If a driver supports a basic command, it must also support a standard set of
flags for the command.
Extended Commands
Some MCI devices have additional commands, or they add flags to existing
commands. While some extended commands apply only to a specific device driver, most
of them apply to all drivers of a particular device type. For example, the
command set for the sequencer device type extends the set (MCI_SET) command to add time formats that are needed by MIDI sequencers.
You should not assume that the device supports the extended commands or flags.
You can use the capability (MCI_GETDEVCAPS) command to determine whether a specific feature is supported, and your
application should be ready to deal with "unsupported command" or "unsupported
function" return values.
The following extended commands are available with the listed device types.
String
| Message
| Device types
| Description
| configure
| MCI_CONFIGURE
| digitalvideo
| Displays a configuration dialog box.
| cue
| MCI_CUE
| digitalvideo, waveaudio
| Prepares for playing or recording.
| delete
| MCI_DELETE
| waveaudio
| Deletes a data segment from the media file.
| escape
| MCI_ESCAPE
| | Sends custom information to a device.
| freeze
| MCI_FREEZE
| overlay
| Disables video acquisition to the frame buffer.
| put
| MCI_PUT
| digitalvideo, overlay
| Defines the source, destination, and frame windows.
| realize
| MCI_REALIZE
| digitalvideo
| Tells the device to select and realize its palette into a device context of
the displayed window.
| setaudio
| MCI_SETAUDIO
| digitalvideo
| Sets audio parameters for video.
| setvideo
| MCI_SETVIDEO
| digitalvideo
| Sets video parameters.
| signal
| MCI_SIGNAL
| digitalvideo
| Identifies a specified position with a signal.
| spin
| MCI_SPIN
| | Starts the disc spinning or stops the disc from spinning.
| step
| MCI_STEP
| digitalvideo, videodisc
| Steps the play one or more frames forward or reverse.
| unfreeze
| MCI_UNFREEZE
| overlay
| Enables the frame buffer to acquire video data.
| update
| MCI_UPDATE
| digitalvideo
| Repaints the current frame into the device context.
| where
| MCI_WHERE
| digitalvideo, overlay
| Obtains the rectangle specifying the source, destination, or frame area.
| window
| MCI_WINDOW
| digitalvideo, overlay
| Controls the display window.
|
| Last news from Greatis Software |
 |
|
Nostalgia .Net |
|
.Net is powerful, but not all-powerful, so sometimes we need to use Win32 API for our .Net applications. It's simple enough with Platform Invoke if you have Win32 skill, but we do not always have time to dig the ancient documentation, declare the special types that are compatible with Win32, find the values of the Win32's constants and so on. Nostalgia .Net offers several simple-to-use classes, and components that will allow you to forget about the headache of Win32 and just use the power of Win32 in your application the same way as you use the native. Net classes. More » |
| Recommended software for developers |
 |
|
Ultimate Pack |
|
Component pack for Delphi and C++ Builder that contains runtime form designer, runtime object inspector, print suite and much more for the very special price. More » |
 |
|
Form Designer .Net |
|
Unique runtime form design solution that allows to edit any form in .Net WinForms application at runtime with full source codes for only 300 euro! More » |
 |
|
Print Suite .Net |
|
Print Suite .Net is a set of components for easy printing texts, images and grids from your WinForms applications. Full C# source codes are available More » |
 |
|
Gradient Controls .Net |
|
Gradient Controls .Net offers controls with gradient background feature. Labels, panels and so on... Full C# source codes are available More » |
 |
|
Greatis iGrid |
|
iGrid plots drawing grid right over your desktop, so you can use it everywhere, with any drawing application without any special plugins for different graphic editors. More » |
All the contacts and projectsDmitry Vasiliev (just.dmitry)
Related LinksSoftware for Visual Studio .NET developers Software for Delphi and C++ Builder developers Software for Visual Basic 6 developers Delphi Tips&Tricks MegaDetailed.NET More Online Helps Win32 Programmer's Reference Win32 Multimedia Programmer's Reference OLE Programmer's Reference Microsoft Windows Pen API Programmer's Reference Microsoft Windows Sockets 2 Reference Microsoft Windows Telephony API (TAPI) Programmer's Reference Unix Manual Pages
|