home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / amiiprog.zip / AMIIPROG.INF (.txt) < prev    next >
OS/2 Help File  |  1992-12-23  |  109KB  |  4,701 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. How To Use the Programming Reference ΓòÉΓòÉΓòÉ
  3.  
  4. The IBM(TM) ActionMedia(TM) II Programming Reference for MMPM/2(TM) is for 
  5. application programmers using Multimedia Presentation Manager/2 (MMPM/2) 
  6. Version 1.00 who want to include digital video function in their OS/2 
  7. multimedia applications. 
  8.  
  9. This book provides information on the Media Control Interface logical digital 
  10. video device implemented for ActionMedia II and supplements Media Control 
  11. Interface information in the MMPM/2 Programming Guide and MMPM/2 Programming 
  12. Reference.  For example, the reference section in this book contains syntax 
  13. descriptions of new commands (and extensions to existing commands) that 
  14. comprise the digital video support implemented for both the string and message 
  15. interfaces.  Use the MMPM/2 Programming Reference to review commands that have 
  16. not changed. 
  17.  
  18. Before you begin to use this reference, it is helpful to understand how you 
  19. can: 
  20.  
  21. o Expand the Contents to see all available topics 
  22. o Obtain additional information for a highlighted word or phrase 
  23. o Use action bar choices. 
  24.  
  25. How To Use the Contents 
  26.  
  27. When the Contents window first appears, some topics have a plus (+) sign beside 
  28. them.  The plus sign indicates that additional topics are available. 
  29.  
  30. To expand the Contents and view the additional topics, select the + if you are 
  31. using a mouse; if you are using a keyboard, use the Up Arrow and Down Arrow 
  32. keys to highlight the topic, and then press the plus key (+).  To see the 
  33. complete list of commands, click on the plus sign or highlight that topic and 
  34. press the plus (+) key. 
  35.  
  36. To view a topic, double-click on the topic (or press the Up or Down Arrow key 
  37. to highlight the topic, and then press Enter. 
  38.  
  39. How To Obtain Additional Information 
  40.  
  41. After you select a topic, the information for that topic appears in a window. 
  42. Highlighted words or phrases indicate that additional information is available. 
  43. You will notice that certain words in the following paragraph are highlighted. 
  44. If you are using a mouse, double-click on the highlighted word.  If you are 
  45. using a keyboard, press the Tab key to move to the highlighted word, and then 
  46. press the Enter key.  Additional information will appear in a window. 
  47.  
  48. How To Use Menu-Bar Choices 
  49.  
  50. Choices are available in the menu bar and in the Services menu that help you 
  51. manage the guide and reference information.  Select any of the choices below to 
  52. learn about these features. 
  53.  
  54. Bookmark 
  55.           Sets a place holder so you can retrieve information of interest to 
  56.           you. (This choice is available from the Services menu.) 
  57.  
  58. Search 
  59.           Finds occurrences of a word or phrase in the current topic, selected 
  60.           topics, or all topics. (This choice is available from the Services 
  61.           menu.) 
  62.  
  63. Print 
  64.           Prints one or more topics. (This choice is available from the 
  65.           Services menu.) 
  66.  
  67. Copy 
  68.           Copies a topic you are viewing to a file you can edit. (This choice 
  69.           is available from the Services menu.) 
  70.  
  71. Options 
  72.           Changes the way the Contents is displayed. 
  73.  
  74. OTHER INFORMATION 
  75.  
  76. Notices 
  77.  
  78. Trademarks 
  79.  
  80.  
  81. ΓòÉΓòÉΓòÉ 2. ActionMedia II Digital Video for MMPM/2 ΓòÉΓòÉΓòÉ
  82.  
  83. Application developers who are using the Multimedia Presentation Manager/2(TM) 
  84. (MMPM/2) programming toolkit are already acquainted with the multimedia device 
  85. support made available to OS/2 applications with MMPM/2 Version 1.0. The 
  86. Version 1.0 support is primarily for audio devices. 
  87.  
  88. Now, with the ActionMedia(TM) II implementation of the MMPM/2 Media Control 
  89. Interface, you can add digital video to the list of multimedia devices 
  90. supported for OS/2 applications. 
  91.  
  92.  
  93. ΓòÉΓòÉΓòÉ 2.1. ActionMedia II Logical Digital Video Device ΓòÉΓòÉΓòÉ
  94.  
  95. The digitizing and compression of motion video, using the DVI(TM) (Digital 
  96. Video Interactive) technology, combined with the ActionMedia II implementation 
  97. of the MMPM/2 Media Control Interface, enables video to be treated like any 
  98. other MMPM/2 data object. Digital video can be mixed with digital audio and 
  99. still images and stored on standard peripheral devices, such as CD-ROM drives 
  100. and hard disks. 
  101.  
  102. Digital video has a requirement that hardware devices be able to transfer data 
  103. directly to and from display memory. OS/2 2.0 also has a requirement that these 
  104. devices coexist with the OS/2 Presentation Manager (PM) in the graphical user 
  105. interface environment. These requirements are met by the ActionMedia II 
  106. multimedia adapters and by the ActionMedia II MMPM/2 media driver. The driver 
  107. uses the resources of PM-its user interface and windowing and graphical 
  108. output-and the functions of the Media Control Interface to provide interactive 
  109. video output to OS/2 applications. 
  110.  
  111. The ActionMedia II implementation of the Media Control Interface supports data 
  112. streaming of motion video from any device that can appear as a logical drive 
  113. (for example, a hard disk, CD-ROM drive, or network file server). However, 
  114. streaming of video data to and from system memory is not supported. 
  115.  
  116.  
  117. ΓòÉΓòÉΓòÉ 2.2. Audio-Video Subsystem Files ΓòÉΓòÉΓòÉ
  118.  
  119. The ActionMedia II MMPM/2 Media Control Interface supports playback and 
  120. recording of Digital Video Interactive (DVI) Audio-Video Subsystem (AVSS) 
  121. format motion video, and capture and display of AVSS format images. 
  122.  
  123. An AVSS file contains one or more streams of data. Each stream typically has 
  124. the digital data to describe the playback of a single audio or video stream. 
  125. In general, there can be several such streams, all of which are intended for 
  126. playback that is perceived by the user as simultaneous.  To reduce head 
  127. movement on the storage device, the data from the various streams is 
  128. interleaved. A frame is the unit of interleaving. 
  129.  
  130. AVSS format files that are processed by the ActionMedia II digital video device 
  131. can have the following types of data: 
  132.  
  133. o Video and audio 
  134. o Video only 
  135. o Audio only 
  136. o Image, with only one still image in a file 
  137.  
  138. Files that have only audio, only video, or both audio and video data are all 
  139. considered to be video file types. 
  140.  
  141.  
  142. ΓòÉΓòÉΓòÉ 2.3. Digital Video Device Contexts ΓòÉΓòÉΓòÉ
  143.  
  144. Digital video device contexts can be of type video, still image, uncommitted, 
  145. or both video and still image. When an existing file is opened, the device 
  146. context becomes the same type as that of the file, either video or still image. 
  147. When a new file is opened, the device context is uncommitted and can become 
  148. either a video or a still type. 
  149.  
  150. A device context can also be of both types.  For example, a capture command can 
  151. be issued during playback of motion video, resulting in both a video and still 
  152. element existing simultaneously in the same device context. 
  153.  
  154. Because the ActionMedia II MMPM/2 Media Control Interface supports multiple 
  155. instances of the digital video device, multiple video and still device contexts 
  156. can be displayed simultaneously. Only one video device context can be active at 
  157. a time (that is, playing, recording, or monitoring). If more than one video 
  158. device context is displayed, the video device context in the window with the 
  159. input focus is active, while the other video device contexts are paused. 
  160.  
  161. Multiple still image device elements can be open simultaneously, and stills can 
  162. be open at the same time as a video instance that is playing a motion video 
  163. file or monitoring live video. However, no other still or video device contexts 
  164. can be open while a recording instance is open. 
  165.  
  166. The following table shows the combinations of loaded video and image elements 
  167. that are allowed at any given time by the ActionMedia II MMPM/2 Media Control 
  168. Interface. 
  169.  
  170. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  171. ΓöéVideo Element            ΓöéImage Element            Γöé
  172. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  173. Γöé0                        Γöé5                        Γöé
  174. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  175. Γöé1                        Γöé3                        Γöé
  176. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  177. Γöé2                        Γöé2                        Γöé
  178. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  179. Γöé3                        Γöé1                        Γöé
  180. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  181. Γöé4                        Γöé0                        Γöé
  182. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  183. Γöé5                        Γöé0                        Γöé
  184. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  185.  
  186. These numbers and combinations are based on the 2MB of video RAM (VRAM) on the 
  187. ActionMedia II display adapter. 
  188.  
  189.  
  190. ΓòÉΓòÉΓòÉ 2.4. Displaying Video Output in a PM Window ΓòÉΓòÉΓòÉ
  191.  
  192. The ActionMedia II MMPM/2 driver creates a default window for display when a 
  193. device context is created with MCI_OPEN.  The window is not displayed until an 
  194. MCI_CUE, MCI_RECORD, MCI_PLAY, MCI_RESTORE, or MCI_SET_MONITOR_ON is issued. 
  195. The video device directs its output to the default window unless a different 
  196. window is specified with the MCI_WINDOW message.  Some window-style control 
  197. functions are also exported as flags to the MCI_WINDOW message, primarily for 
  198. the convenience of applications that are using the string interface. 
  199.  
  200. Whether the default window or an application-defined window is used for output, 
  201. the digital video device confines its output to the device coordinates of the 
  202. specified window. In addition, the device restricts its output to (and 
  203. overwriting of) pixels set to the logical transparent color within the 
  204. coordinates. The transparency color for ActionMedia II is always black. These 
  205. restrictions allow the PM application to continue to draw graphics or output 
  206. text into a window, so that the output overlays the video image. 
  207.  
  208. The digital video device can stretch the image produced by the ActionMedia II 
  209. adapter so that the dimensions or extents of the source rectangle that is 
  210. transferred to the display can be varied. To determine whether a device can 
  211. vary its extents, an application uses the capability command, as shown in the 
  212. following example. 
  213.  
  214. open dolphins.avs type digitalvideo alias myvideo
  215. capability myvideo can stretch wait
  216. capability myvideo horizontal video extent wait
  217. capability myvideo vertical video extent wait
  218. play myvideo wait
  219. close myvideo
  220.  
  221. For devices with variable source extents, capability returns the maximum source 
  222. extents of which the device is capable, and status returns the source extents 
  223. of the currently loaded element, if applicable. 
  224.  
  225.  
  226. ΓòÉΓòÉΓòÉ 2.5. ActionMedia II Multimedia Adapter Specifics ΓòÉΓòÉΓòÉ
  227.  
  228. The IBM PS/2 ActionMedia II product consists of two hardware elements-a display 
  229. adapter, and an optional capture adapter, referred to as the capture option. 
  230. The capture option is used with the display adapter to capture and digitize 
  231. video and audio input signals. All connection with the capture option is 
  232. through the display adapter. There are no user-accessible connectors on the 
  233. capture option. 
  234.  
  235.  
  236. ΓòÉΓòÉΓòÉ 2.5.1. Connector Model ΓòÉΓòÉΓòÉ
  237.  
  238. The ActionMedia II MMPM/2 Media Control Interface does not support enabling and 
  239. disabling of connectors; however, it does support a limited subset of the 
  240. connector model, including the querying of device connections. Connections 
  241. allow the MMPM/2 to model the physical connections that exist between the 
  242. multimedia devices in the system. In general, connectors can be enabled and 
  243. disabled, which means turning an input or output on or off. However, the 
  244. ActionMedia II implementation has all connectors permanently enabled. 
  245.  
  246. The number of available connectors varies with the number of physical 
  247. connectors provided by the hardware that are used to implement the digital 
  248. video player, as well as configuration-specific information, such as composite 
  249. or S-video connections. 
  250.  
  251. The connectors for ActionMedia II hardware are shown in the following table. 
  252.  
  253. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  254. ΓöéConnector Type           ΓöéName           ΓöéDescription         Γöé
  255. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  256. ΓöéMCI_VIDEO_IN_CONNECTOR   Γöévideo in       ΓöéVideo signal input  Γöé
  257. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  258. ΓöéMCI_VIDEO_OUT_CONNECTOR  Γöévideo out      ΓöéVideo signal output Γöé
  259. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  260. ΓöéMCI_AUDIO_IN_CONNECTOR   Γöéaudio in       ΓöéAudio signal input  Γöé
  261. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  262. ΓöéMCI_AUDIO_OUT_CONNECTOR  Γöéaudio out      ΓöéAudio signal output Γöé
  263. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  264.  
  265.  
  266. ΓòÉΓòÉΓòÉ 2.5.2. High and Low Resolution Modes ΓòÉΓòÉΓòÉ
  267.  
  268. The ActionMedia II MMPM/2 Media Control Interface provides two resolutions, low 
  269. and high, to VGA and XGA adapters for displaying motion video and still images, 
  270. and for monitoring live video. The following table shows the ActionMedia II 
  271. support for these adapter modes. Note that there is no support for the IBM 
  272. 8514/A Adapter and Image Adapter/A. 
  273.  
  274. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  275. ΓöéDisplay Adapter TypeΓöéHigh Resolution     ΓöéLow Resolution      Γöé
  276. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  277. ΓöéVGA at 640x480      Γöé512x480             Γöé256x240             Γöé
  278. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  279. ΓöéXGA at 640x480      Γöé512x480             Γöé256x240             Γöé
  280. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  281. ΓöéXGA at 1024x768     Γöé410x384             Γöé256x192             Γöé
  282. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  283.  
  284. There are three factors that determine whether the device switches the display 
  285. of a video or still image from high to low resolution: 
  286.  
  287. o Size of the image in relation to its default size 
  288. o Size of the window in relation to the display area 
  289. o Activation of a device context requiring low resolution 
  290.  
  291. The default size of a video or still image is its size when displayed unscaled 
  292. and uncropped in a high resolution view. This size is also referred to as the 
  293. natural size. If a video or still image is sized so that it is greater than its 
  294. default size when displayed at high resolution, the digital video device 
  295. switches to low resolution. If a video or still is sized even further, so that 
  296. it is greater than its default size when displayed at low resolution, the 
  297. display window will be restricted to the maximum size of the window at low 
  298. resolution. 
  299.  
  300. The ActionMedia II MMPM/2 Media Control Interface will scale video to fit in 
  301. any size window from one pixel square to the entire display area. If either the 
  302. horizontal or vertical dimension exceeds half the display dimension, then the 
  303. video will be displayed using the low resolution mode of the ActionMedia II. 
  304. Otherwise, the high resolution mode will be used. 
  305.  
  306. When video is being monitored during recording, the ActionMedia II MMPM/2 Media 
  307. Control Interface can scale video into a window only when both its dimensions 
  308. are equal to half or less than half of both dimensions of the display. That is, 
  309. the window is no larger than a quarter of the screen size. Attempting to 
  310. display into windows greater than this size will result in the window being 
  311. resized to the maximum size of the image at low resolution. 
  312.  
  313. On an XGA adapter, the breakpoint is 5/8 rather than half the display 
  314. dimensions. 
  315.  
  316. Note:  Scaling calculations assume that video is compressed at 256x240. For 
  317.        other resolutions, the calculations are different, and with smaller 
  318.        sizes it is not possible to fill the display. 
  319.  
  320. When multiple device contexts are visible on the display, the digital video 
  321. device selects high resolution only if all the contexts can be displayed at 
  322. high resolution. If any of the contexts require low resolution, the driver 
  323. switches all of the contexts to low resolution. These checks are carried out 
  324. continuously. For example, if there are two contexts, A and B, and A looks best 
  325. at high resolution but B requires low resolution, then low resolution is 
  326. selected. If B is closed and A remains open, the driver then switches to high 
  327. resolution to display A. 
  328.  
  329. The current implementation of the ActionMedia II OS/2 device driver Audio-Video 
  330. Kernel (AVK) requires that video playback be momentarily paused when switching 
  331. between low and high resolution modes. 
  332.  
  333.  
  334. ΓòÉΓòÉΓòÉ 2.5.3. Video Display Mode ΓòÉΓòÉΓòÉ
  335.  
  336. The only supported video display mode is 9-bit YUV.  YUV refers to a 
  337. color-image encoding scheme that separates luminance (Y) and two color signals: 
  338. red minus Y (U), and blue minus Y (V).  Transmission of YUV takes advantage of 
  339. the eye's greater sensitivity to luminance detail rather than color detail. 
  340.  
  341. All videos and stills are displayed using this mode. The 16-bit YUV mode is not 
  342. supported, so 16-bit stills are converted to 9-bit before being displayed. This 
  343. avoids conflicts when simultaneously displaying 9-bit YUV video and multiple 
  344. 9-bit and 16-bit stills. 
  345.  
  346.  
  347. ΓòÉΓòÉΓòÉ 2.5.4. Motion Video Compression Formats ΓòÉΓòÉΓòÉ
  348.  
  349. The ActionMedia II digital video display hardware uses a coprocessor for 
  350. compression and decompression of a digital image in a video display plane. The 
  351. compression techniques used for motion video are Real-Time Video and Production 
  352. Level Video. 
  353.  
  354. Real-Time Video (RTV) compression is available on the user's system. Analog 
  355. video, typically from a VCR or camera, is streamed into the capture card, 
  356. digitized, and compressed in real time. The data can then be stored on a hard 
  357. disk. 
  358.  
  359. Production Level Video (PLV) compression is produced offline by a DVI 
  360. technology compression facility. Analog video tape is digitized and compressed, 
  361. using a sophisticated algorithm on a powerful computer.  PLV files can be kept 
  362. on magnetic tape or transferred to CD-ROM. 
  363.  
  364. The ActionMedia II adapter supports both the American and European television 
  365. broadcast standards for analog video signals. The American standard is National 
  366. Television Standard Committee (NTSC), and the European standard is Phase 
  367. Alternation by Line (PAL). For a description of how to configure your system, 
  368. see the ActionMedia II Device Drivers booklet. 
  369.  
  370. The following table lists the compression formats and transfer rates that are 
  371. supported for motion video playback and recording. Compression formats are 
  372. supported in the ActionMedia II OS/2 device driver Audio-Video Kernel (AVK). 
  373.  
  374. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  375. ΓöéOperation      ΓöéCompression Type  ΓöéTransfer Rates             Γöé
  376. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  377. ΓöéPlayback       ΓöéRTV 1.0, 1.5, 2.0,ΓöéNTSC     256x240 pixels at Γöé
  378. Γöé               ΓöéPLV 1.0, 1.5, 2.0 Γöé                           Γöé
  379. Γöé               Γöé                  ΓöéPAL      256x240 pixels at Γöé
  380. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  381. ΓöéRecording      ΓöéRTV 2.0 and 2.1   ΓöéNTSC     128x240 at 30 FPS Γöé
  382. Γöé               Γöé                  Γöé         256x240 DVI pixelsΓöé
  383. Γöé               Γöé                  Γöé                           Γöé
  384. Γöé               Γöé                  ΓöéPAL      128x240 at 25 FPS Γöé
  385. Γöé               Γöé                  Γöé         256x240 DVI pixelsΓöé
  386. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  387.  
  388. Playback of motion video is supported into a PM desktop window but not to an 
  389. external NTSC or PAL monitor. When PAL video is recorded, it is taken from a 
  390. cropped view of 153x288 DVI pixels, so part of the source image is lost. 
  391.  
  392.  
  393. ΓòÉΓòÉΓòÉ 2.5.5. Audio Compression Formats ΓòÉΓòÉΓòÉ
  394.  
  395. Pulse Code Modulation (PCM) and Adaptive Differential Pulse Code Modulation 
  396. (ADPCM) are techniques used for sampling digital audio. Generally, the higher 
  397. the sampling rate and resolution, the higher the perceived quality. 
  398.  
  399. The ActionMedia II device supports three different sampling rates for ADPCM4 
  400. and PCM8 resolutions.  These rates are selectable as quality settings. 
  401.  
  402. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  403. ΓöéFormat              ΓöéSampling Rates                          Γöé
  404. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  405. ΓöéADPCM4              Γöé33.075kHz, 11.129kHz, and 8.268kHz      Γöé
  406. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  407. ΓöéPCM8                Γöé44.100kHz, 22.050kHz, and 11.025kHz     Γöé
  408. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  409.  
  410. Mono audio playback is supported. The signal is sent to both left and right 
  411. speakers. 
  412.  
  413.  
  414. ΓòÉΓòÉΓòÉ 2.5.6. Image Compression Formats ΓòÉΓòÉΓòÉ
  415.  
  416. The following table lists the compression formats supported for image capture 
  417. and display. There is some support for display of older AVK formats to provide 
  418. compatibility with previous media. 
  419.  
  420. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  421. ΓöéDisplay Formats          ΓöéCapture Formats          Γöé
  422. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  423. ΓöéPIC 1.0 9-bit and 16-bit ΓöéPIC 1.0 9-bit            Γöé
  424. ΓöéJPEG 1.0 9-bit           ΓöéJPEG 1.0 9-bit           Γöé
  425. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  426.  
  427.  
  428. ΓòÉΓòÉΓòÉ 2.6. Quality Settings for Video, Audio, and Image ΓòÉΓòÉΓòÉ
  429.  
  430. By specifying a preset quality level of low, medium, or high for audio, video, 
  431. or still images with the set command, you can adjust the compression algorithm 
  432. parameters currently in effect. For example, you can set the quality level for 
  433. ADPCM audio to low, as shown below. 
  434.  
  435. open marlins.avs type digitalvideo alias myvideo
  436. set myvideo audio compression ADPCM4 wait
  437. set myvideo audio quality low wait
  438. play myvideo wait
  439. close myvideo
  440.  
  441. The low setting ensures the best compression (lowest data size and rate) 
  442. possible and sacrifices the quality of the audio, video, or still image. 
  443.  
  444. The high setting ensures the best quality possible for audio, video, and still 
  445. images, at the expense of a high data rate. 
  446.  
  447. The medium setting is the nominal CD-ROM data rate (150KB per second), with 
  448. mostly intra-coded frames for video. The medium setting is the default. 
  449.  
  450.  
  451. ΓòÉΓòÉΓòÉ 2.6.1. Video Quality Levels ΓòÉΓòÉΓòÉ
  452.  
  453. The following table lists the quality levels for video, which are obtained by 
  454. varying the parameters of the RTV compression algorithm. 
  455.  
  456. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  457. ΓöéQuality Level  ΓöéStill Period   ΓöéPrefilter      ΓöéStill and Rel. Γöé
  458. Γöé               Γöé               Γöé               ΓöéQuantization   Γöé
  459. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  460. ΓöéHIGH           Γöé16             ΓöéNo             Γöé0              Γöé
  461. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  462. ΓöéMEDIUM         Γöé64             ΓöéYes            Γöé2              Γöé
  463. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  464. ΓöéLOW            Γöé128            ΓöéYes            Γöé3              Γöé
  465. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  466.  
  467. In successive frames of motion video, very little of the image changes from one 
  468. frame to the next. To avoid storage of all this redundant data, the AVK 
  469. compresses the data by saving only the changes from one frame to the next using 
  470. intraframe and interframe encoding. 
  471.  
  472. A frame that is compressed by being encoded entirely within itself is called an 
  473. intracoded-frame (I-frame) or still image. The still period algorithm parameter 
  474. specifies the minimum rate at which digitized images are compressed using 
  475. intraframe encoding. For example, if the still period is set to 1, every frame 
  476. is an I-frame. In the table the still period value of 16 indicates that every 
  477. sixteenth frame of compressed motion video is an I-frame.  Frames in between 
  478. the I-frames are compressed using interframe encoding. Each of these frames are 
  479. stored as a set of differences in relation to a previous frame. 
  480.  
  481. The prefilter parameter performs some noise reduction at the cost of blurring 
  482. the original images.  Specifying this parameter causes approximately a 2:1 
  483. reduction in the amount of compressed data generated per image. 
  484.  
  485. Still and relative quantization specify the level of quantization to use for 
  486. intraframe and interframe encoded images, respectively. A value of zero means 
  487. minimum quantization, which provides the best quality. Generally speaking, 
  488. parameter values less than 3 produce acceptable images.  Larger values can be 
  489. used when there is a lot of motion that conceals the blockiness or contouring 
  490. of the image that occurs. 
  491.  
  492. For more information on ActionMedia II video algorithm characteristics, see the 
  493. ActionMedia II Technical Reference. 
  494.  
  495.  
  496. ΓòÉΓòÉΓòÉ 2.6.2. Audio Quality Levels ΓòÉΓòÉΓòÉ
  497.  
  498. The following table lists the audio quality levels for ADPCM4 and PCM8, which 
  499. are obtained by varying the sampling rates of the digital audio data. 
  500.  
  501. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  502. ΓöéQuality Level       ΓöéADPCM4 Format       ΓöéPCM8 Format         Γöé
  503. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  504. ΓöéHIGH                Γöé33075 4-bit SPS     Γöé44100 8-bit SPS     Γöé
  505. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  506. ΓöéMEDIUM              Γöé11129 4-bit SPS     Γöé22050 8-bit SPS     Γöé
  507. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  508. ΓöéLOW                 Γöé8268 4-bit SPS      Γöé11025 8-bit SPS     Γöé
  509. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  510.  
  511.  
  512. ΓòÉΓòÉΓòÉ 2.6.3. Data Rates for Video and Audio Quality ΓòÉΓòÉΓòÉ
  513.  
  514. The following table lists the approximate data rates for video and audio 
  515. quality levels. Use these data rates to determine what the best quality level 
  516. is for your machine configuration. 
  517.  
  518. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  519. ΓöéQuality Level       ΓöéData Rate in Bytes Per Second (BPS)     Γöé
  520. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  521. ΓöéHIGH                Γöé350 000 BPS                             Γöé
  522. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  523. ΓöéMEDIUM              Γöé135 000 BPS                             Γöé
  524. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  525. ΓöéLOW                 Γöé110 000 BPS                             Γöé
  526. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  527.  
  528.  
  529. ΓòÉΓòÉΓòÉ 2.6.4. Image Quality Levels ΓòÉΓòÉΓòÉ
  530.  
  531. PIC 1.0 9-bit YUV images are captured at 512x480 DVI pixels. The quality of 
  532. image capture is varied by varying the algorithm and quantization values. 
  533.  
  534. The following table shows the filtering and quantization values that are set 
  535. for quality levels when capturing these images. 
  536.  
  537. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  538. ΓöéQuality Level       ΓöéFiltering           ΓöéQuantization        Γöé
  539. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  540. ΓöéHIGH                Γöé10                  Γöé0                   Γöé
  541. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  542. ΓöéMEDIUM              Γöé15                  Γöé5                   Γöé
  543. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  544. ΓöéLOW                 Γöé20                  Γöé8                   Γöé
  545. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  546.  
  547. JPEG 1.0 9-bit YUV images are captured at 512x480 DVI pixels. The quality of 
  548. image capture is varied by varying the values in the quantization table used by 
  549. the AVK compression API. These values are multiplied by the constants shown in 
  550. the following table to achieve the high, medium and low quality levels. If you 
  551. are interested in more information about the AVK API, see the ActionMedia II 
  552. Technical Reference. 
  553.  
  554. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  555. ΓöéQuality Level       ΓöéConstant                                Γöé
  556. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  557. ΓöéHIGH                Γöé0.5                                     Γöé
  558. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  559. ΓöéMEDIUM              Γöé1.0                                     Γöé
  560. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  561. ΓöéLOW                 Γöé1.5                                     Γöé
  562. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  563.  
  564.  
  565. ΓòÉΓòÉΓòÉ 3. Using the ActionMedia II Digital Video Device ΓòÉΓòÉΓòÉ
  566.  
  567. The MMPM/2 digital video device implemented for ActionMedia II provides support 
  568. to OS/2 Presentation Manager applications for: 
  569.  
  570. o Playing motion video 
  571. o Recording motion video 
  572. o Capturing still images from live and recorded video 
  573. o Displaying still images 
  574. o Monitoring the incoming video signal 
  575. o Displaying video and images in a default window or application window 
  576.  
  577. This chapter describes ActionMedia II digital video functions and provides 
  578. examples using Media Control Interface string commands. For more information 
  579. about the Media Control Interface string command syntax, see the MMPM/2 
  580. Programming Guide. 
  581.  
  582.  
  583. ΓòÉΓòÉΓòÉ 3.1. Playing Motion Video Files ΓòÉΓòÉΓòÉ
  584.  
  585. By default, playback of digital motion video is displayed in a window supplied 
  586. by the ActionMedia II digital video device. The default window is created when 
  587. the device is opened, but the window is not made visible until a cue, play, 
  588. record, set monitor on, or restore command is issued. 
  589.  
  590. The example shown below illustrates playing an entire motion video AVSS format 
  591. file.  Because to and from parameters are not specified, the file is played 
  592. from the current position to the end of the file.  When a motion video device 
  593. element is opened, the current position in the media is the first playable area 
  594. after any header or table of contents information. 
  595.  
  596. open seaworld.avs type digitalvideo alias myvideo wait
  597. play myvideo wait
  598. close myvideo
  599.  
  600. Each frame in a motion video file has a number associated with it. From the 
  601. perspective of the digital video device, each file is zero-based. That is, the 
  602. first frame is frame 0, the second frame is frame 1, and so on. This means the 
  603. number of the last frame in a file is 1 less than the total number of frames in 
  604. the file. 
  605.  
  606. The current position always indicates the frame that is about to be displayed, 
  607. rather than the frame that is currently displayed. 
  608.  
  609. When a play position in motion video is specified with the from parameter of 
  610. the play command, the actual position reached is accurate only to the nearest 
  611. intracoded frame (I-frame).  However, a position specified with the to 
  612. parameter is exact. 
  613.  
  614. If you need to specify an exact position in the video file to play from, you 
  615. can issue the seek command, which moves the current position in a file to an 
  616. exact point. The following example illustrates moving the current position to 
  617. frame 100 and then playing to frame 2000. 
  618.  
  619. open seaworld.avs type digitalvideo alias myvideo
  620. set myvideo time format frames wait
  621. seek myvideo to 100 wait
  622. play myvideo to 2000 wait
  623. close myvideo
  624.  
  625.  
  626. ΓòÉΓòÉΓòÉ 3.2. Recording Motion Video ΓòÉΓòÉΓòÉ
  627.  
  628. The ActionMedia II MMPM/2 digital video device supports recording of motion 
  629. video into AVSS-format motion video files.  The supported compression 
  630. algorithms for recording video are RTV 2.0 and 2.1, with RTV 2.1 being the 
  631. default setting for video compression. The associated sound track can be 
  632. recorded in the PCM8 or ADPCM4 format.  ADPCM4 is the default for audio 
  633. compression. Video input types are PAL and NTSC. 
  634.  
  635. Recording into new and existing files is supported. The following example 
  636. illustrates recording live video. As recording takes place, the digital audio 
  637. and video data is stored in the temporary file created for the video device 
  638. element. After the recording operation is complete, the device element is 
  639. played back so it can be viewed before it is saved as a permanent file on disk. 
  640.  
  641. To save the data as a video file, you can specify an existing file name or a 
  642. new file name with the save command. If you indicate an existing file name, the 
  643. data in the disk file will be completely replaced by the data in the temporary 
  644. file. You can also indicate that the file being saved is a video file; however, 
  645. it is not necessary because this is the default. 
  646.  
  647. In the example, monitoring is set on, so that the incoming video signal can be 
  648. viewed in the default video window before it is recorded. Monitoring of live 
  649. video can also be done without recording. 
  650.  
  651. open digitalvideo alias myvideo wait
  652. set myvideo video quality low wait
  653. set myvideo audio quality low wait
  654. set myvideo time format frames wait
  655. set myvideo monitor on wait
  656. record myvideo to 99 wait
  657. play myvideo wait
  658. save myvideo newvid.avs video wait
  659. close myvideo
  660.  
  661. In the following example low quality levels are specified for audio and video, 
  662. which means that audio and video quality will be sacrificed for low data rates. 
  663. The initial settings for audio, video, and image quality are the medium quality 
  664. levels, which are the nominal CD-ROM rates. 
  665.  
  666. Applications can specify that only video or only audio is to be recorded. In 
  667. the following example video recording is turned off, so that only audio will be 
  668. recorded. 
  669.  
  670. open digitalvideo alias myaudio wait
  671. set myaudio video record off wait
  672. set myaudio audio compression pcm8 wait
  673. set myaudio audio quality high wait
  674. set myaudio time format hms wait
  675. cue myaudio input wait
  676. record myaudio to 00:10:00 wait
  677. play myaudio wait
  678. save myaudio newaud.avs wait
  679. close myaudio
  680.  
  681. In the following example the audio quality for recording PCM8 digital audio is 
  682. set to high.  This means that the best quality audio will be produced, at the 
  683. expense of a high data rate. Specifying the cue input command causes the 
  684. default window to become visible, so it is not necessary to set the monitoring 
  685. function on. As in the previous example, the device element is played back 
  686. before it is saved as a file on disk. 
  687.  
  688.  
  689. ΓòÉΓòÉΓòÉ 3.3. Displaying Image Files ΓòÉΓòÉΓòÉ
  690.  
  691. The ActionMedia II MMPM/2 digital video device supports display of DVI 
  692. AVSS-format still image files. 
  693.  
  694. In the following example, issuing the restore command causes the MANATEE.AVS 
  695. data object to be transferred from the device element temporary buffer to the 
  696. display surface. 
  697.  
  698. open manatee.avs type digitalvideo alias myimage wait
  699. restore myimage wait
  700. close myimage
  701.  
  702. Because the ActionMedia II MMPM/2 driver supports multiple device contexts, 
  703. multiple still image device elements can be open simultaneously.  As shown in 
  704. the example below, up to five stills can be displayed at one time. 
  705.  
  706. open manatee.avs type digitalvideo alias image1 shareable wait
  707. open dolphin.avs type digitalvideo alias image2 shareable wait
  708. open whale.avs type digitalvideo alias image3 shareable wait
  709. open snapper.avs type digitalvideo alias image4 shareable wait
  710. open catfish.avs type digitalvideo alias image5 shareable wait
  711. restore image1 wait
  712. restore image2 wait
  713. restore image3 wait
  714. restore image4 wait
  715. restore image5 wait
  716. close image1
  717. close image2
  718. close image3
  719. close image4
  720. close image5
  721.  
  722.  
  723. ΓòÉΓòÉΓòÉ 3.4. Capturing Images ΓòÉΓòÉΓòÉ
  724.  
  725. The ActionMedia II driver captures DVI AVSS-format still files from live video 
  726. and from replayed digital video files. For a still to be captured, monitoring 
  727. of an incoming video signal must be set to on, or playback of a DVI AVSS-format 
  728. file must be in progress. 
  729.  
  730. The example shown below illustrates capturing a still image from live video. 
  731. Monitoring is set on so that the live video can be viewed in the default video 
  732. window. The capture command stores the current image as a device element in a 
  733. temporary file.  The restore command enables the device element to be viewed 
  734. before it is saved as a permanent image file with the save command. To save the 
  735. device element as an image file, you must specify the image parameter. 
  736.  
  737. Note that the capture temporary file is located in the subdirectory specified 
  738. by the multimedia work path.  This path can be set using the Multimedia Setup 
  739. program. 
  740.  
  741. open digitalvideo alias vid shareable
  742. set vid monitor on wait
  743. capture vid wait
  744. restore vid wait
  745. save vid birds.avs image wait
  746. close vid
  747.  
  748. The following example demonstrates capturing a still from a motion video file 
  749. as follows: 
  750.  
  751.  1. The first still is captured as a device element and then displayed. 
  752.  
  753.  2. The motion video file is repositioned to the beginning and played again so 
  754.     another capture can be made. 
  755.  
  756.  3. The second capture overwrites the first capture in the temporary buffer 
  757.     provided for the device element. 
  758.  
  759.  4. The device element is saved in a file. 
  760.  
  761. Capturing a Still from a Video File 
  762.  
  763. open motion.avs type digitalvideo alias myvideo wait
  764. set myvideo image compression jpeg9_10 wait
  765. play myvideo notify
  766. capture myvideo wait
  767. restore myvideo wait
  768. rewind myvideo wait
  769. play myvideo notify
  770. capture myvideo wait
  771. restore myvideo wait
  772. save myvideo image mystill.avs wait
  773. close myvideo
  774.  
  775. Note in the above example that the image compression format is set to jpeg9_10. 
  776. The initial setting for image compression is pic9_10. 
  777.  
  778.  
  779. ΓòÉΓòÉΓòÉ 3.5. Digital Video PM Windows ΓòÉΓòÉΓòÉ
  780.  
  781. The ActionMedia II MMPM/2 Media Control Interface supports two types of window: 
  782. default and application-defined. The default window is used if no other window 
  783. handle is specified. It provides a basic top-level desktop window in which to 
  784. display video and images that can be moved, sized, and iconized by the user. 
  785. When the window is iconized, the icon is simply a scaled-down version of the 
  786. video that continues to be updated at the video frame rate. 
  787.  
  788. Assuming the source DVI video is 256x240, the default size of the default 
  789. window is 320x240 VGA pixels on a VGA display, and 640x480 XGA pixels on an XGA 
  790. display. The position of the default window is determined by the Presentation 
  791. Manager shell. 
  792.  
  793. The default window has a default size option on the system menu pull-down. 
  794. Selection of this option causes the window to be resized so that the image or 
  795. video in the client area is displayed at its default size in a high-resolution 
  796. view. 
  797.  
  798.  
  799. ΓòÉΓòÉΓòÉ 3.5.1. Application-Defined Window ΓòÉΓòÉΓòÉ
  800.  
  801. An application-defined window can be used when the application requires more 
  802. control over the window. The application has the freedom to place video in its 
  803. own client area or in a child window, to add menus, and so on. If the parent of 
  804. the application-defined window is not the PM desktop, its parent window handle 
  805. must be supplied with the MCI_OPEN request. 
  806.  
  807. Color keying of the PM video window is on black. This has the implication that 
  808. when displaying overlay graphics in a video window, an application cannot use 
  809. black as a graphics color. 
  810.  
  811. If an application specifies a parent window handle when opening the device, it 
  812. must close the logical video device before destroying the parent window. 
  813. Otherwise, video can continue to be keyed into an area where the child window 
  814. once was. 
  815.  
  816.  
  817. ΓòÉΓòÉΓòÉ 3.5.2. Application Window Subclassing ΓòÉΓòÉΓòÉ
  818.  
  819. When an application-defined window is used for video or stills display, the 
  820. driver subclasses the window to ensure that video updating is maintained 
  821. correctly. Subclassing the window has the following effects: 
  822.  
  823. o Positions and sizes the window so that its boundaries are coincident with DVI 
  824.   pixel boundaries. 
  825.  
  826. o Ensures that the window cannot be sized above the maximum size of the 
  827.   displayed video or image. 
  828.  
  829. o Modifies the tracking rectangle so that the user cannot drag the size border 
  830.   beyond the maximum size of the displayed video image. 
  831.  
  832. Subclassing is also used to inform the AVK when other windows overlap so that 
  833. any areas that are painted in the transparency color can be repainted. The 
  834. transparency color indicates the area of the video window where video is to 
  835. show through the VGA or XGA image from the DVI plane behind it. Because the 
  836. ActionMedia II transparency color is black, video could show through any 
  837. portion of a window that is painted black which overlaps the video window. 
  838. Therefore, the AVK must repaint these areas of the DVI plane in black to 
  839. prevent the video from showing through. 
  840.  
  841.  
  842. ΓòÉΓòÉΓòÉ 4. Media Control Interface String Commands ΓòÉΓòÉΓòÉ
  843.  
  844. Following are the digital video string commands supported by the ActionMedia II 
  845. MMPM/2 media driver for the string interface of the Media Control Interface. 
  846.  
  847. An application thread that calls the ActionMedia II media driver using 
  848. mciSendString must create a PM message queue before calling the driver. 
  849.  
  850. Command           Description 
  851.  
  852. CAPABILITY item   Requests additional information about the capabilities of the 
  853.                   digital video driver. The item is one of the following: 
  854.  
  855.    can eject 
  856.         Returns FALSE.  The device cannot eject media. 
  857.  
  858.    can lockeject 
  859.         Returns FALSE.  The device cannot disable manual eject. 
  860.  
  861.    can play 
  862.         Returns TRUE.  The device can play. 
  863.  
  864.    can reverse 
  865.         Returns FALSE.  The device cannot play in reverse. 
  866.  
  867.    can record 
  868.         Returns TRUE if the ActionMedia II capture option is installed. Returns 
  869.         FALSE if the ActionMedia II capture option is not installed, or if the 
  870.         capture option is not configured. For configuration information, refer 
  871.         to the ActionMedia II Device Drivers booklet. 
  872.  
  873.    can insert 
  874.         Returns FALSE.  The device cannot insert recorded data into an existing 
  875.         file. 
  876.  
  877.    can save 
  878.         Returns TRUE.  The device can save data. 
  879.  
  880.    can stretch 
  881.         Returns TRUE.  The device can stretch frames to fill the display 
  882.         rectangle. 
  883.  
  884.    can distort 
  885.         Returns TRUE.  The device can independently stretch the horizontal and 
  886.         vertical dimensions of the image. 
  887.  
  888.    overlay graphics 
  889.         Returns TRUE.  The device supports the display by an application of 
  890.         overlay graphics in the video window. The application cannot use the 
  891.         color black as a graphics color, because this is the color key color 
  892.         that causes video to show through on the DVI plane. 
  893.  
  894.    compound device 
  895.         Returns TRUE.  The device requires an element name. 
  896.  
  897.    device type 
  898.         Returns Digitalvideo. 
  899.  
  900.    normal play rate 
  901.         Returns the normal play rate for the device in frames per second (fps). 
  902.         The normal play rate for the ActionMedia II device is 30 fps when 
  903.         configured for NTSC and 25 fps when configured for PAL. 
  904.  
  905.    fast play rate 
  906.         Returns the normal play rate.  The ActionMedia II device cannot play 
  907.         fast. 
  908.  
  909.    slow play rate 
  910.         Returns the normal play rate.  The ActionMedia II device cannot play 
  911.         slowly. 
  912.  
  913.    maximum play rate 
  914.         Returns the normal play rate. 
  915.  
  916.    minimum play rate 
  917.         Returns the normal play rate. 
  918.  
  919.    has audio 
  920.         Returns TRUE.  The device supports audio playback. 
  921.  
  922.    has video 
  923.         Returns TRUE.  The device supports video playback. 
  924.  
  925.    has image 
  926.         Returns TRUE.  The device supports still image functions. 
  927.  
  928.    horizontal video extent 
  929.         Returns the horizontal (X) source extent for the video source. 
  930.  
  931.    vertical video extent 
  932.         Returns the vertical (Y) source extent for the video source. 
  933.  
  934.    horizontal image extent 
  935.         Returns the horizontal (X) source extent for images. 
  936.  
  937.    vertical image extent 
  938.         Returns the vertical (Y) source extent for images. 
  939.  
  940.    uses files 
  941.         Returns TRUE.  The device element is a file path name. 
  942.  
  943.    windows 
  944.         Returns 5 as the maximum number of windows the device can support. 
  945.  
  946.    can setvolume 
  947.         Returns TRUE.  The device supports software control of volume level. 
  948.  
  949.    preroll type 
  950.         Returns deterministic as the preroll type. 
  951.  
  952.    preroll time 
  953.         Returns 0, indicating the preroll time is not bounded. 
  954.  
  955.    message item 
  956.         Returns TRUE if the device supports the message specified by item. 
  957.  
  958. CAPTURE           Captures the current video image.  The current video image is 
  959.                   the video image created while monitoring live video or 
  960.                   playing a video file. A capture operation does not cause the 
  961.                   image or bit map to be saved; the application must 
  962.                   subsequently issue save to save the device element. The image 
  963.                   device element is placed in a temporary file. Repeated 
  964.                   capture operations will overwrite the image contained in the 
  965.                   temporary file. 
  966.  
  967.                   Note that the temporary file is located in the subdirectory 
  968.                   specified by the multimedia work path.  This path can be set 
  969.                   using the Multimedia Setup program. 
  970.  
  971. CLOSE             Closes the device element and any resources associated with 
  972.                   it. 
  973.  
  974. CONNECTOR items   Queries the status of connectors on a device. The following 
  975.                   items modify the basic command: 
  976.  
  977.    <action> 
  978.         Indicates the operation to perform on the specified connector. 
  979.         Possible values are: 
  980.  
  981.       query 
  982.            Queries the status of the indicated connector.  The returned value 
  983.            of TRUE or FALSE indicates enabled or disabled respectively. Use of 
  984.            this option requires that the number and/or type options also be 
  985.            specified. 
  986.  
  987.    number <connector_number> 
  988.  
  989.         Indicates the connector number on which to perform the requested 
  990.         action. If the type item is included, then the connector number is 
  991.         interpreted as a relative offset within the specified connector type; 
  992.         otherwise, it is interpreted as an absolute index number. If omitted, 
  993.         an index of 1 is assumed. 
  994.  
  995.    type <connector_type> 
  996.  
  997.         Indicates the type of connector to which the requested action applies. 
  998.         The connector types are defined in the MMPM/2 Programming Guide. 
  999.  
  1000. CUE item          Prepares for playback or recording.  The CUE command does not 
  1001.                   have to be issued before playback or recording.  However, for 
  1002.                   the ActionMedia II interface it reduces the delay associated 
  1003.                   with the PLAY or RECORD command. If play is in progress and 
  1004.                   cue output is issued, the command is ignored. Similarly, if 
  1005.                   record is in progress and cue input is issued, the command is 
  1006.                   ignored. 
  1007.  
  1008.                   The item is one of the following: 
  1009.  
  1010.    input 
  1011.         Prepares for recording. 
  1012.  
  1013.    output 
  1014.         Prepares for playback. 
  1015.  
  1016. INFO item         Fills a user-supplied buffer with information. This command 
  1017.                   can be used to determine whether the file just loaded is an 
  1018.                   image or a video file by comparing the returned file name 
  1019.                   with the loaded file name. The item is one of the following: 
  1020.  
  1021.    image file 
  1022.         Returns the file name of the currently loaded image file. 
  1023.  
  1024.    video file 
  1025.         Returns the file name of the currently loaded digital video file. 
  1026.  
  1027.    product 
  1028.         Returns the product name and model of the current digital video device. 
  1029.  
  1030.    window text 
  1031.         Returns the caption of the display window. 
  1032.  
  1033. LOAD item         Loads a new device element (or file name) into an already 
  1034.                   open device context. 
  1035.  
  1036.    filename 
  1037.         File name to load. By convention, the file name has an extension of 
  1038.         AVS. 
  1039.  
  1040. OPEN items        Initializes the device.  The following optional items modify 
  1041.                   open: 
  1042.  
  1043.    alias device_alias 
  1044.         An alternate name for the device. If specified, it must also be used 
  1045.         for subsequent references. 
  1046.  
  1047.    parent hwnd 
  1048.         The window handle of the parent window. 
  1049.  
  1050.    shareable 
  1051.         Initializes the device as shareable. Specifying shareable makes the 
  1052.         resources of the device available to other device contexts.  If 
  1053.         shareable is not specified on open, the resource will be exclusively 
  1054.         acquired when the device is opened. 
  1055.  
  1056.    type device_type 
  1057.         The compound device used to control a device element. As an alternative 
  1058.         to type, the Media Control Interface can use the file extensions 
  1059.         associated with the file to select the controlling device. 
  1060.  
  1061. PAUSE             Pauses playing. 
  1062.  
  1063. PLAY items        Starts a play operation on the device. The following optional 
  1064.                   items modify play: 
  1065.  
  1066.    from pos to pos 
  1067.         The frame at which to start or stop playing. The position to start 
  1068.         playing from is accurate only to the nearest intracoded frame 
  1069.         (I-frame). The position to play to is exact. If from is omitted, play 
  1070.         starts at the current position; if to is omitted, play continues to the 
  1071.         end frame. 
  1072.  
  1073.         If you want to start play from an exact position, use the seek command 
  1074.         to move to the position and then play from the current position. 
  1075.  
  1076. RECORD items      Starts recording digital motion video into a temporary file. 
  1077.                   Subsequent record commands overwrite the data in the file. 
  1078.                   The temporary file is located in the subdirectory specified 
  1079.                   by the multimedia work path.  This path can be set using the 
  1080.                   Multimedia Setup program. 
  1081.  
  1082.                   Recording is supported into new and existing files. A new or 
  1083.                   existing file name must be specified with the save command. 
  1084.                   If an existing file name is specified, the save command 
  1085.                   completely replaces the data in the file on disk with the 
  1086.                   data in the temporary file. This command is supported only if 
  1087.                   capability can record returns TRUE. 
  1088.  
  1089.                   The following optional item modifies RECORD: 
  1090.  
  1091.    to pos 
  1092.         The position to stop recording. The device starts recording at the 
  1093.         current position; if to is omitted, the device records until a stop, 
  1094.         pause, or any other state-changing command is received. 
  1095.  
  1096. RESTORE           Restores the still image from the currently loaded image. 
  1097.  
  1098. RESUME            Resumes playing or recording from a paused state, keeping 
  1099.                   previously specified play or record parameters in effect. 
  1100.  
  1101. REWIND            Rewinds or seeks the device element to the first playable 
  1102.                   position (beginning). 
  1103.  
  1104. SAVE item         Saves the captured or recorded data for the device. The 
  1105.                   device transfers the image or video in the device element to 
  1106.                   a file. The save command causes a transition to the stopped 
  1107.                   state. The following items modify save: 
  1108.  
  1109.    filename 
  1110.         The destination path and file name of a new or existing file. If an 
  1111.         existing file name is specified, the save command completely replaces 
  1112.         the data in the file on disk with the data in the temporary file. 
  1113.  
  1114.         By convention, the file name has an extension of .AVS. If path is not 
  1115.         specified, the file will be located in the current subdirectory. 
  1116.  
  1117.    video 
  1118.         The motion video device element is to be saved. (Default) 
  1119.  
  1120.    image 
  1121.         The still image device element is to be saved. 
  1122.  
  1123.                   If neither video nor image is specified, the recorded data 
  1124.                   will be saved as a video file. 
  1125.  
  1126. SEEK item         Moves to the specified position in the file.  The ActionMedia 
  1127.                   II driver supports seeking for playback only.  The function 
  1128.                   is not supported in the record paused state. 
  1129.  
  1130.    to pos 
  1131.         The final position for the seek. 
  1132.  
  1133.    to start 
  1134.         Seek to the start of the file. 
  1135.  
  1136.    to end 
  1137.         Seek to the end of the file. This puts the device in a stopped state. 
  1138.  
  1139. SET items         The various control and attribute items: 
  1140.  
  1141.    audio items 
  1142.         The audio attributes of the device context specified by items. 
  1143.  
  1144.       on 
  1145.            Enables audio output. (Default) 
  1146.  
  1147.          all  Applies to both or all the channels. (Default) 
  1148.  
  1149.          left Applies to the left channel. 
  1150.  
  1151.          right Applies to the right channel. 
  1152.  
  1153.       off 
  1154.            Disables audio output. 
  1155.  
  1156.          all  Applies to both or all the channels. (Default) 
  1157.  
  1158.          left Applies to the left channel. 
  1159.  
  1160.          right Applies to the right channel. 
  1161.  
  1162.       volume percentage 
  1163.            Sets the volume level. 
  1164.  
  1165.          all  Applies to both or all the channels. (Default) 
  1166.  
  1167.          left Applies to the left channel. 
  1168.  
  1169.          right Applies to the right channel. 
  1170.  
  1171.       record 
  1172.            Applies to audio input.  Enables only video to be recorded. 
  1173.  
  1174.          on   Enables audio input. (Default) 
  1175.  
  1176.          off  Disables audio input. 
  1177.  
  1178.    monitor state 
  1179.         Sets monitoring as specified by state.  Monitoring will display the 
  1180.         incoming video signal when you are not playing a video file, recording 
  1181.         a file, or restoring an image. Once monitoring is set to on, audio and 
  1182.         video settings are static and cannot be modified until monitoring is 
  1183.         set to off. 
  1184.  
  1185.       on 
  1186.            Enables monitoring. 
  1187.  
  1188.       off 
  1189.            Disables monitoring. (Default) 
  1190.  
  1191.    time format type 
  1192.         The time format type to be used in subsequent commands. 
  1193.  
  1194.       frames 
  1195.            Sets time format to frames. All position information is specified in 
  1196.            frames following this command. 
  1197.  
  1198.       milliseconds 
  1199.            Sets time format to milliseconds.  The word "milliseconds" can be 
  1200.            abbreviated to ms. All position information is specified in this 
  1201.            format following this command. 
  1202.  
  1203.       hms 
  1204.            Sets time format to Hours:Minutes:Seconds. All position information 
  1205.            is specified in this format following this command. 
  1206.  
  1207.       mmtime 
  1208.            Sets time format to MMTIME. (Default) 
  1209.  
  1210.    audio compression type 
  1211.         The compression type used for recording the associated soundtrack for 
  1212.         motion video. 
  1213.  
  1214.       adpcm4 
  1215.            4-bit Adaptive Differential Pulse Code Modulation. (Default) 
  1216.  
  1217.       pcm8 
  1218.            8-bit Pulse Code Modulation. 
  1219.  
  1220.    video compression type 
  1221.         The compression type used for recording motion video. 
  1222.  
  1223.       rtv20 
  1224.            Real-time Video 2.0. 
  1225.  
  1226.       rtv21 
  1227.            Real-time Video 2.1. (Default) 
  1228.  
  1229.    image compression type 
  1230.         The compression type used for saving still images. 
  1231.  
  1232.       pic9_10 
  1233.            PIC 9-bit still image 1.0. (Default) 
  1234.  
  1235.       jpeg9_10 
  1236.            Joint Photographic Experts Group 9-bit still image 1.0. 
  1237.  
  1238.    video items 
  1239.         The video attributes of the device context specified by items. 
  1240.  
  1241.       on 
  1242.            Enables video output. (Default) 
  1243.  
  1244.       off 
  1245.            Disables video output. 
  1246.  
  1247.       record 
  1248.            Applies to video input.  If set to off, only audio is recorded. 
  1249.  
  1250.          on 
  1251.               Enables video input. (Default) 
  1252.  
  1253.          off 
  1254.               Disables video input. 
  1255.  
  1256.    audio quality level 
  1257.         The specified audio quality level. 
  1258.  
  1259.       low 
  1260.            minimal data size/rate 
  1261.  
  1262.       medium 
  1263.            nominal CD-ROM data rate. (Default) 
  1264.  
  1265.       high 
  1266.            best audio quality 
  1267.  
  1268.    video quality level 
  1269.         The specified motion video quality level. 
  1270.  
  1271.       low 
  1272.            minimal data size/rate 
  1273.  
  1274.       medium 
  1275.            nominal CD-ROM data rate. (Default) 
  1276.  
  1277.       high 
  1278.            best video image quality 
  1279.  
  1280.    image quality level 
  1281.         The specified still image quality level. 
  1282.  
  1283.       high 
  1284.            maximize image quality 
  1285.  
  1286.       medium 
  1287.            compromise between image quality and compression. (Default) 
  1288.  
  1289.       low 
  1290.            maximize compression 
  1291.  
  1292. SETCUEPOINT items Sets a cue point. 
  1293.  
  1294.    on 
  1295.         Enables the given cue point. 
  1296.  
  1297.    off 
  1298.         Disables the given cue point. 
  1299.  
  1300.    at position 
  1301.         The cue point location in the currently set device units. 
  1302.  
  1303.    return value 
  1304.         A value to be returned on the cue point message. 
  1305.  
  1306. STATUS item       Obtains status information for the device. One of the 
  1307.                   following items modifies STATUS: 
  1308.  
  1309.    audio compression 
  1310.         Returns the current compression type for recording the audio sound 
  1311.         track. 
  1312.  
  1313.    video compression 
  1314.         Returns the current compression type for recording motion video. 
  1315.  
  1316.    image compression 
  1317.         Returns the current compression type for saving still images. 
  1318.  
  1319.    audio quality 
  1320.         Returns the current quality level for recording audio. 
  1321.  
  1322.    video quality 
  1323.         Returns the current quality level for recording motion video. 
  1324.  
  1325.    image quality 
  1326.         Returns the current quality level for saving still images. 
  1327.  
  1328.    forward 
  1329.         Returns TRUE.  The play direction is forward. 
  1330.  
  1331.    length 
  1332.         Returns the length in the current time format. 
  1333.  
  1334.    mode 
  1335.         Returns paused, playing, recording, seeking, or stopped for the current 
  1336.         mode. 
  1337.  
  1338.    monitor 
  1339.         Returns on if monitoring is set on; otherwise, returns off. 
  1340.  
  1341.    position 
  1342.         Returns the current position in the current time format. 
  1343.  
  1344.    ready 
  1345.         Returns TRUE if the digital video device is ready. 
  1346.  
  1347.    speed format 
  1348.         Returns fps as the current speed format of the device. 
  1349.  
  1350.    start 
  1351.         Returns zero as the start position. 
  1352.  
  1353.    time format 
  1354.         Returns the time format. 
  1355.  
  1356.    volume 
  1357.         Returns the current volume setting.  The volume is returned as a string 
  1358.         in the format left:right where left and right are percentages of the 
  1359.         maximum achievable effect for the left and right channels respectively. 
  1360.         Leading zeros are suppressed for the volume level in each channel. 
  1361.  
  1362.    window handle 
  1363.         Returns as a string the handle of the window used for digital video. 
  1364.  
  1365.    horizontal video extent 
  1366.         Returns the horizontal (X) extent of the currently loaded motion video. 
  1367.  
  1368.    vertical video extent 
  1369.         Returns the vertical (Y) extent of the currently loaded motion video. 
  1370.  
  1371.    horizontal image extent 
  1372.         Returns the horizontal (X) extent of the currently loaded image. 
  1373.  
  1374.    vertical image extent 
  1375.         Returns the vertical (Y) extent of the currently loaded image. 
  1376.  
  1377. STEP              Steps one frame forward and displays the frame. If the 
  1378.                   ActionMedia II device is in a play-paused state when the step 
  1379.                   is issued, the next frame is displayed. If the ActionMedia II 
  1380.                   device is in a stopped state when the step is issued, the 
  1381.                   position is updated, but the frame is not displayed. 
  1382.  
  1383. STOP              Stops playing or recording. 
  1384.  
  1385. WINDOW item       Tells the digital video driver to use a given window to 
  1386.                   display video instead of the default window created by the 
  1387.                   driver. The driver subclasses the window to ensure that video 
  1388.                   update is maintained correctly. 
  1389.  
  1390.                   By default, the driver creates a window when opened but does 
  1391.                   not display it until the driver receives the CUE, SET monitor 
  1392.                   on, PLAY, RECORD, or RESTORE command.  Applications providing 
  1393.                   window handles should manage the display issues that result 
  1394.                   when the window is sized. 
  1395.  
  1396.                   Several flags manipulate the window.  Since the STATUS 
  1397.                   command can obtain the handle to the current display window, 
  1398.                   you can use the standard window functions instead. The 
  1399.                   following items modify WINDOW: 
  1400.  
  1401.    handle window_handle 
  1402.         The handle of the destination window used as an alternate to the 
  1403.         default window. 
  1404.  
  1405.    handle default 
  1406.         This flag can be used to set the display back to the driver's default 
  1407.         window. 
  1408.  
  1409.    state hide 
  1410.         Hides the current display window. 
  1411.  
  1412.    state maximize 
  1413.         Maximizes the current display window.  This indicator has no effect if 
  1414.         the window is in a maximized state, and is also mutually exclusive with 
  1415.         MINIMIZE and RESTORE. 
  1416.  
  1417.    state minimize 
  1418.         Minimizes the window.  This indicator has no effect if the window is in 
  1419.         a minimized state, and is also mutually exclusive with MAXIMIZE and 
  1420.         RESTORE. 
  1421.  
  1422.    state show 
  1423.         Shows the current display window. 
  1424.  
  1425.    state restore 
  1426.         Restores the current display window.  This indicator has no effect if 
  1427.         currently in a window and is mutually exclusive with MAXIMIZE and 
  1428.         MINIMIZE. 
  1429.  
  1430.    state activate 
  1431.         Activates the window if it is a frame window.  This has no other effect 
  1432.         on other windows.  The frame window is made the topmost window. 
  1433.  
  1434.    state deactivate 
  1435.         Deactivates the window if it is a frame window.  This has no effect on 
  1436.         other windows.  The frame window is made the bottommost window. 
  1437.  
  1438.    text caption 
  1439.         The caption for the default window.  The text flag will not modify the 
  1440.         caption for the user-defined window; the application must do this 
  1441.         through a Presentation Manager window command. 
  1442.  
  1443.  
  1444. ΓòÉΓòÉΓòÉ 5. Media Control Interface Messages ΓòÉΓòÉΓòÉ
  1445.  
  1446. Applications control devices in the multimedia environment by sending command 
  1447. messages using the Media Control Interface function mciSendCommand.  An 
  1448. application thread that calls the ActionMedia II media driver must create a PM 
  1449. message queue before calling the device. 
  1450.  
  1451. All command messages (except system messages) perform asynchronously without 
  1452. notification unless either MCI_NOTIFY or MCI_WAIT is specified in the first 
  1453. parameter of the message. These two flags are mutually exclusive; if both are 
  1454. used, the error MCIERR_FLAGS_NOT_COMPATIBLE is returned. If MCI_NOTIFY is used, 
  1455. control is returned immediately to the caller and then the command is 
  1456. completed. If MCI_WAIT is used, control is not returned to the caller until the 
  1457. command is completed.  A notification is sent to the application if 
  1458. MCIERR_SUCCESS was returned on the call. 
  1459.  
  1460. The second parameter specified for a command message is a pointer to a control 
  1461. block structure associated with that message, which is to be put in the 
  1462. dwParam2 field of mciSendCommand. 
  1463.  
  1464. Following is a list of all the command messages supported by the ActionMedia II 
  1465. digital video device. Following the table are detailed syntax descriptions of 
  1466. the new and changed messages that comprise the ActionMedia II digital video 
  1467. support. For descriptions of other Media Control Interface commands used by the 
  1468. digital video device that are not changed by the ActionMedia II implementation, 
  1469. see the MMPM/2 Programming Reference. 
  1470.  
  1471. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  1472. ΓöéCommand           ΓöéDescription                               Γöé
  1473. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1474. ΓöéMCI_CAPTURE       ΓöéCaptures the current video image and      Γöé
  1475. Γöé                  Γöéstores it in a temporary buffer.          Γöé
  1476. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1477. ΓöéMCI_CLOSE         ΓöéCloses the current device context.        Γöé
  1478. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1479. ΓöéMCI_CONNECTOR     ΓöéQueries the status of a connector.  Note  Γöé
  1480. Γöé                  Γöéthat connectors for the ActionMedia II    Γöé
  1481. Γöé                  Γöédigital video device are permanently      Γöé
  1482. Γöé                  Γöéenabled.                                  Γöé
  1483. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1484. ΓöéMCI_CUE           ΓöéReadies a device so that playback or      Γöé
  1485. Γöé                  Γöérecording can begin with minimum delay.   Γöé
  1486. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1487. ΓöéMCI_GETDEVCAPS    ΓöéReturns information about a device's      Γöé
  1488. Γöé                  Γöécapabilities.                             Γöé
  1489. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1490. ΓöéMCI_INFO          ΓöéReturns names of files loaded for the     Γöé
  1491. Γöé                  Γöécurrent device context.                   Γöé
  1492. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1493. ΓöéMCI_LOAD          ΓöéLoads an AVSS file for the current device Γöé
  1494. Γöé                  Γöécontext.                                  Γöé
  1495. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1496. ΓöéMCI_OPEN          ΓöéOpens a device context.                   Γöé
  1497. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1498. ΓöéMCI_PAUSE         ΓöéPauses recording or playback.             Γöé
  1499. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1500. ΓöéMCI_PLAY          ΓöéSignals the device to begin playing.      Γöé
  1501. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1502. ΓöéMCI_RECORD        ΓöéSignals the device to begin recording.    Γöé
  1503. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1504. ΓöéMCI_RESTORE       ΓöéTransfers an image device element from a  Γöé
  1505. Γöé                  Γöétemporary buffer to the display surface.  Γöé
  1506. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1507. ΓöéMCI_RESUME        ΓöéResumes a recording or playback operation.Γöé
  1508. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1509. ΓöéMCI_REWIND        ΓöéChanges the position in the media to the  Γöé
  1510. Γöé                  Γöéfirst playable position.                  Γöé
  1511. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1512. ΓöéMCI_SAVE          ΓöéSaves the currently loaded device element Γöé
  1513. Γöé                  Γöéin a file with the specified file name.   Γöé
  1514. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1515. ΓöéMCI_SEEK          ΓöéMoves to a new position in the media.     Γöé
  1516. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1517. ΓöéMCI_SET           ΓöéSets device information.                  Γöé
  1518. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1519. ΓöéMCI_SET_CUEPOINT  ΓöéSets a cuepoint on or off.                Γöé
  1520. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1521. ΓöéMCI_STATUS        ΓöéQueries information about the device      Γöé
  1522. Γöé                  Γöéstatus.                                   Γöé
  1523. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1524. ΓöéMCI_STEP          ΓöéSteps the playback of the video device    Γöé
  1525. Γöé                  Γöéelement forward by one frame.             Γöé
  1526. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1527. ΓöéMCI_STOP          ΓöéStops the playing or recording operation. Γöé
  1528. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1529. ΓöéMCI_WINDOW        ΓöéSpecifies an application window in which  Γöé
  1530. Γöé                  Γöéto display digital video output.          Γöé
  1531. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  1532.  
  1533.  
  1534. ΓòÉΓòÉΓòÉ 5.1. MCI_CAPTURE ΓòÉΓòÉΓòÉ
  1535.  
  1536.  
  1537. ΓòÉΓòÉΓòÉ <hidden> Topics - MCI_CAPTURE ΓòÉΓòÉΓòÉ
  1538.  
  1539. Select an item: 
  1540.  
  1541. Main Panel 
  1542. Parameters 
  1543. Return Values 
  1544. Notes 
  1545. Default Processing 
  1546. Example 
  1547.  
  1548.  
  1549. ΓòÉΓòÉΓòÉ <hidden> Main - MCI_CAPTURE ΓòÉΓòÉΓòÉ
  1550.  
  1551. This message causes the ActionMedia II device to capture the current video 
  1552. image and store it in the image device element. 
  1553.  
  1554. Parameters: 
  1555.  
  1556. dwParam1
  1557.     DWORD               dwParam1
  1558.  
  1559. dwParam2
  1560.     LPMCI_CAPTURE_PARMS dwParam2
  1561.  
  1562. returns
  1563.     DWORD               dwRC     Return codes indicating success or type of failure.
  1564.  
  1565.  
  1566. ΓòÉΓòÉΓòÉ <hidden> Notes - MCI_CAPTURE ΓòÉΓòÉΓòÉ
  1567.  
  1568. The captured image is retained as a still image device element of the digital 
  1569. video device. The format of the captured image is specified by the currently 
  1570. set image compression type. 
  1571.  
  1572. Repeated capture operations overwrite the image in the device element buffer. 
  1573. If the application wants to transfer the image data to a permanent file, it 
  1574. must issue MCI_SAVE. 
  1575.  
  1576.  
  1577. ΓòÉΓòÉΓòÉ <hidden> Default Processing - MCI_CAPTURE ΓòÉΓòÉΓòÉ
  1578.  
  1579. None. 
  1580.  
  1581.  
  1582. ΓòÉΓòÉΓòÉ <hidden> Parameters - MCI_CAPTURE ΓòÉΓòÉΓòÉ
  1583.  
  1584. dwParam1 (DWORD) 
  1585.  
  1586.    This parameter can contain the following standard flags, which can be used 
  1587.    with any type of device: 
  1588.  
  1589.    MCI_NOTIFY 
  1590.       Posts a notification message to the window specified in the dwCallback 
  1591.       parameter of the data structure identified by dwParam2 when the action 
  1592.       indicated by this message is completed. 
  1593.    MCI_WAIT 
  1594.       Does not return control until the action indicated by this message is 
  1595.       completed. 
  1596.  
  1597. dwParam2 (LPMCI_CAPTURE_PARMS) 
  1598.  
  1599.    A pointer to an MCI_CAPTURE_PARMS data structure. 
  1600.  
  1601.  
  1602. ΓòÉΓòÉΓòÉ <hidden> Return Values - MCI_CAPTURE ΓòÉΓòÉΓòÉ
  1603.  
  1604. dwRC (DWORD) 
  1605.    Return codes indicating success or type of failure. 
  1606.  
  1607.    MCIERR_SUCCESS 
  1608.       Capture operation succeeded. 
  1609.  
  1610.    MCIERR_INVALID_DEVICE_ID 
  1611.       Device ID is not valid. 
  1612.  
  1613.    MCIERR_INVALID_MODE 
  1614.       Must be monitoring or playing to do a capture. 
  1615.  
  1616.    MCIERR_UNSUPPORTED_FLAG 
  1617.       Given flag is unsupported for this device. 
  1618.  
  1619.    MCIERR_UNSUPPORTED_FUNCTION 
  1620.       No capture card installed or configured. 
  1621.  
  1622.    MCIERR_MISSING_FLAG 
  1623.       Missing item flag if neither ITEM nor MESSAGE flags given. 
  1624.  
  1625.    MCIERR_INVALID_FLAG 
  1626.       Flag is invalid (dwParam1). 
  1627.  
  1628.    MCIERR_FLAGS_NOT_COMPATIBLE 
  1629.       Flags cannot be used together. 
  1630.  
  1631.    MCIERR_INVALID_CALLBACK_HANDLE 
  1632.       Given callback handle is not correct. 
  1633.  
  1634.  
  1635. ΓòÉΓòÉΓòÉ <hidden> dwParam1 ΓòÉΓòÉΓòÉ
  1636.  
  1637. dwParam1 (DWORD) 
  1638.  
  1639.    This parameter can contain the following standard flags, which can be used 
  1640.    with any type of device: 
  1641.  
  1642.    MCI_NOTIFY 
  1643.       Posts a notification message to the window specified in the dwCallback 
  1644.       parameter of the data structure identified by dwParam2 when the action 
  1645.       indicated by this message is completed. 
  1646.    MCI_WAIT 
  1647.       Does not return control until the action indicated by this message is 
  1648.       completed. 
  1649.  
  1650.  
  1651. ΓòÉΓòÉΓòÉ <hidden> dwParam2 ΓòÉΓòÉΓòÉ
  1652.  
  1653. dwParam2 (LPMCI_CAPTURE_PARMS) 
  1654.  
  1655.    A pointer to an MCI_CAPTURE_PARMS data structure. 
  1656.  
  1657.  
  1658. ΓòÉΓòÉΓòÉ <hidden> dwRC ΓòÉΓòÉΓòÉ
  1659.  
  1660. dwRC (DWORD) 
  1661.    Return codes indicating success or type of failure. 
  1662.  
  1663.    MCIERR_SUCCESS 
  1664.       Capture operation succeeded. 
  1665.  
  1666.    MCIERR_INVALID_DEVICE_ID 
  1667.       Device ID is not valid. 
  1668.  
  1669.    MCIERR_INVALID_MODE 
  1670.       Must be monitoring or playing to do a capture. 
  1671.  
  1672.    MCIERR_UNSUPPORTED_FLAG 
  1673.       Given flag is unsupported for this device. 
  1674.  
  1675.    MCIERR_UNSUPPORTED_FUNCTION 
  1676.       No capture card installed or configured. 
  1677.  
  1678.    MCIERR_MISSING_FLAG 
  1679.       Missing item flag if neither ITEM nor MESSAGE flags given. 
  1680.  
  1681.    MCIERR_INVALID_FLAG 
  1682.       Flag is invalid (dwParam1). 
  1683.  
  1684.    MCIERR_FLAGS_NOT_COMPATIBLE 
  1685.       Flags cannot be used together. 
  1686.  
  1687.    MCIERR_INVALID_CALLBACK_HANDLE 
  1688.       Given callback handle is not correct. 
  1689.  
  1690.  
  1691. ΓòÉΓòÉΓòÉ <hidden> Example Code - MCI_CAPTURE ΓòÉΓòÉΓòÉ
  1692.  
  1693. The following code illustrates capturing an image with MCI_CAPTURE. 
  1694.  
  1695.    WORD     wDeviceID;
  1696.    HWND     hwndMyWindow;
  1697.    MCI_CAPTURE_PARMS mciCaptureParms;
  1698.                       /* generic message parms structure */
  1699.  
  1700.    /* Capture a still image */
  1701.  
  1702.    /* Assign dwCallback the handle to the PM Window routine */
  1703.    mciCaptureParms.dwCallback = (DWORD) hwndMyWindow;
  1704.  
  1705.    mciSendCommand( wDeviceID,                /* Device ID             */
  1706.              MCI_CAPTURE,                    /* MCI capture message   */
  1707.              MCI_NOTIFY,                     /* Flag for this message */
  1708.              (DWORD) mciCaptureParms,       /* Data structure        */
  1709.              0);
  1710.  
  1711.  
  1712. ΓòÉΓòÉΓòÉ 5.2. MCI_GETDEVCAPS ΓòÉΓòÉΓòÉ
  1713.  
  1714.  
  1715. ΓòÉΓòÉΓòÉ <hidden> Topics - MCI_GETDEVCAPS ΓòÉΓòÉΓòÉ
  1716.  
  1717. Select an item: 
  1718.  
  1719. Main Panel 
  1720. Parameters 
  1721. Return Values 
  1722. Notes 
  1723. Default Processing 
  1724. Example 
  1725.  
  1726.  
  1727. ΓòÉΓòÉΓòÉ <hidden> Main - MCI_GETDEVCAPS ΓòÉΓòÉΓòÉ
  1728.  
  1729. This message returns static information about the ActionMedia II digital video 
  1730. device. 
  1731.  
  1732. Parameters: 
  1733.  
  1734. dwParam1
  1735.     DWORD                  dwParam1
  1736.  
  1737. dwParam2
  1738.     LPMCI_GETDEVCAPS_PARMS dwParam2
  1739.  
  1740. returns
  1741.     DWORD                  dwRC     Return codes indicating success or type of failure.
  1742.  
  1743.  
  1744. ΓòÉΓòÉΓòÉ <hidden> Notes - MCI_GETDEVCAPS ΓòÉΓòÉΓòÉ
  1745.  
  1746. The MCI_GETDEVCAPS_ITEM and MCI_GETDEVCAPS_MESSAGE flags are mutually 
  1747. exclusive. Only a single item or message can be specified with the 
  1748. mciSendCommand function. 
  1749.  
  1750.  
  1751. ΓòÉΓòÉΓòÉ <hidden> Default Processing - MCI_GETDEVCAPS ΓòÉΓòÉΓòÉ
  1752.  
  1753. None. 
  1754.  
  1755.  
  1756. ΓòÉΓòÉΓòÉ <hidden> Parameters - MCI_GETDEVCAPS ΓòÉΓòÉΓòÉ
  1757.  
  1758. dwParam1 (DWORD) 
  1759.  
  1760.    Following are standard flags that can be used regardless of the type of 
  1761.    device: 
  1762.  
  1763.    MCI_NOTIFY 
  1764.       Posts a notification message to the window specified in the dwCallback 
  1765.       parameter of the data structure identified by dwParam2 when the action 
  1766.       indicated by this message is completed. 
  1767.    MCI_WAIT 
  1768.       Does not return control until the action indicated by this message is 
  1769.       completed. 
  1770.    MCI_GETDEVCAPS_MESSAGE 
  1771.       The wMessage field of the data structure identified by dwParam2 contains 
  1772.       a constant specifying the message to be queried.  If the device supports 
  1773.       the message, MCI_TRUE is returned; otherwise, MCI_FALSE is returned. 
  1774.  
  1775.       Note:  The string parser converts unrecognized strings into a message ID 
  1776.              value of 0.  This message value is defined as not being supported 
  1777.              by any driver.  Other messages are converted to their 
  1778.              corresponding message ID value. 
  1779.  
  1780.  
  1781.    MCI_GETDEVCAPS_ITEM 
  1782.       The dwItem field of the data structure identified by dwParam2 contains a 
  1783.       constant specifying the device capabilities to be queried. Following are 
  1784.    item values that can be used for the dwItem field of the data structure 
  1785.    pointed to by dwParam2. Values returned by the ActionMedia II digital are 
  1786.    indicated. 
  1787.  
  1788.    MCI_GETDEVCAPS_CAN_EJECT 
  1789.       Returns MCI_FALSE.  The device cannot eject media. 
  1790.    MCI_GETDEVCAPS_CAN_LOCKEJECT. 
  1791.       REturns MCI_FALSE.  The device cannot disable manual eject. 
  1792.    MCI_GETDEVCAPS_CAN_PLAY 
  1793.       Returns MCI_TRUE.  The device can play media.  The device supports 
  1794.       MCI_PLAY, MCI_PAUSE, MCI_RESUME, and MCI_STOP. 
  1795.    MCI_GETDEVCAPS_CAN_RECORD 
  1796.       Returns MCI_TRUE if the ActionMedia II capture option is installed and 
  1797.       configured.  Otherwise, returns MCI_FALSE. For configuration information, 
  1798.       see the ActionMedia II Device Drivers booklet. 
  1799.    MCI_GETDEVCAPS_CAN_RECORD_INSERT 
  1800.       Returns MCI_FALSE. 
  1801.    MCI_GETDEVCAPS_CAN_REVERSE 
  1802.       Returns MCI_FALSE.  The device cannot play in reverse. 
  1803.    MCI_GETDEVCAPS_CAN_SAVE 
  1804.       Returns MCI_TRUE.  The device can save files; the MCI_SAVE command must 
  1805.       be issued to save changes in the media element. 
  1806.    MCI_GETDEVCAPS_DEVICE_TYPE 
  1807.       Returns the device type constant for digital video. 
  1808.    MCI_GETDEVCAPS_HAS_AUDIO 
  1809.       Returns MCI_TRUE.  The device is capable of playing audio. 
  1810.    MCI_GETDEVCAPS_HAS_VIDEO 
  1811.       Returns MCI_TRUE.  The device is capable of playing video. 
  1812.    MCI_GETDEVCAPS_USES_FILES 
  1813.       Returns MCI_TRUE.  The compound device requires a file name. 
  1814.    MCI_GETDEVCAPS_CAN_STREAM 
  1815.       Returns MCI_FALSE. 
  1816.    MCI_GETDEVCAPS_CAN_SETVOLUME 
  1817.       Returns MCI_TRUE.  The device can set the audio volume level. 
  1818.    MCI_GETDEVCAPS_PREROLL_TYPE 
  1819.       Returns MCI_PREROLL_DETERMINISTIC. 
  1820.    MCI_GETDEVCAPS_PREROLL_TIME 
  1821.       The ActionMedia II device returns a value of zero for the maximum 
  1822.       notified preroll time, which indicates that an upper boundary to the 
  1823.       preroll time is not known. Digital Video Extensions 
  1824.    The following additional items apply to digital video devices.  Values 
  1825.    returned by the ActionMedia II digital video device are indicated. 
  1826.  
  1827.    MCI_DGV_GETDEVCAPS_HAS_IMAGE 
  1828.       Returns MCI_TRUE.  The device supports still images in its device 
  1829.       context. 
  1830.    MCI_DGV_GETDEVCAPS_OVERLAY_GRAPHICS 
  1831.       Returns MCI_TRUE.  The device supports the display by an application of 
  1832.       overlay graphics in the video window. The application cannot use the 
  1833.       color black as a graphics color, because this is the color key color that 
  1834.       causes video to show through on the DVI plane. 
  1835.    MCI_DGV_GETDEVCAPS_CAN_REVERSE 
  1836.       Returns MCI_FALSE.  The device cannot play in reverse. 
  1837.    MCI_DGV_GETDEVCAPS_CAN_STRETCH 
  1838.       Returns MCI_TRUE. The device can stretch the image to fill the frame. 
  1839.    MCI_DGV_GETDEVCAPS_CAN_DISTORT 
  1840.       Returns MCI_TRUE.  The device can stretch the image independently in 
  1841.       horizontal and vertical dimensions. 
  1842.    MCI_DGV_GETDEVCAPS_FAST_RATE 
  1843.       Returns the normal play rate. The ActionMedia II device cannot play fast. 
  1844.    MCI_DGV_GETDEVCAPS_SLOW_RATE 
  1845.       Returns the normal play rate. The ActionMedia II device cannot play 
  1846.       slowly. 
  1847.    MCI_DGV_GETDEVCAPS_NORMAL_RATE 
  1848.       Returns the normal play rate for the device in frames-per-second. The 
  1849.       normal play rate for the ActionMedia device is 30 fps when configured for 
  1850.       NTSC and 25 fps when configured for PAL. 
  1851.    MCI_DGV_GETDEVCAPS_MAXIMUM_RATE 
  1852.       Returns the normal play rate. 
  1853.    MCI_DGV_GETDEVCAPS_MINIMUM_RATE 
  1854.       Returns the normal play rate. 
  1855.    MCI_DGV_GETDEVCAPS_VIDEO_X_EXTENT 
  1856.       Returns the nominal horizontal (X) extent of the digital motion video 
  1857.       image. 
  1858.    MCI_DGV_GETDEVCAPS_VIDEO_Y_EXTENT 
  1859.       Returns the nominal vertical (Y) extent of the digital motion video 
  1860.       image. 
  1861.    MCI_DGV_GETDEVCAPS_IMAGE_X_EXTENT 
  1862.       Returns the nominal horizontal (X) extent of images, if applicable. 
  1863.    MCI_DGV_GETDEVCAPS_IMAGE_Y_EXTENT 
  1864.       Returns the nominal vertical (Y) extent of images, if applicable. 
  1865.    MCI_DGV_GETDEVCAPS_MAX_WINDOWS 
  1866.       Returns the maximum number of windows that the device can handle 
  1867.       simultaneously. 
  1868.  
  1869. dwParam2 (LPMCI_GETDEVCAPS_PARMS) 
  1870.  
  1871.    A pointer to the MCI_GETDEVCAPS_PARMS data structure. 
  1872.  
  1873.  
  1874. ΓòÉΓòÉΓòÉ <hidden> Return Values - MCI_GETDEVCAPS ΓòÉΓòÉΓòÉ
  1875.  
  1876. dwRC (DWORD) 
  1877.    Return codes indicating success or type of failure. 
  1878.  
  1879.    MCIERR_SUCCESS 
  1880.       If the function succeeds, 0 is returned. 
  1881.  
  1882.    MCIERR_INVALID_DEVICE_ID 
  1883.       Device ID is not valid. 
  1884.  
  1885.    MCIERR_MISSING_FLAG 
  1886.       A required flag is missing. 
  1887.  
  1888.    MCIERR_UNSUPPORTED_FLAG 
  1889.       Given flag is unsupported for this device. 
  1890.  
  1891.    MCIERR_INVALID_CALLBACK_HANDLE 
  1892.       Given callback handle is invalid. 
  1893.  
  1894.    MCIERR_HARDWARE 
  1895.       Device hardware error. 
  1896.  
  1897.    MCIERR_UNSUPPORTED_FUNCTION 
  1898.       Unsupported function. 
  1899.  
  1900.    MCIERR_INVALID_FLAG 
  1901.       Flag is invalid (dwParam1). 
  1902.  
  1903.    MCIERR_FLAGS_NOT_COMPATIBLE 
  1904.       Flags cannot be used together. 
  1905.  
  1906.    MCIERR_INVALID_ITEM_FLAG 
  1907.       Invalid getdevcaps item flag given. 
  1908.  
  1909.    MCIERR_MISSING_ITEM 
  1910.       Missing getdevcaps item flag. 
  1911.  
  1912.    MCIERR_MISSING_PARAMETER 
  1913.       Required parameter is missing. 
  1914.  
  1915.  
  1916. ΓòÉΓòÉΓòÉ <hidden> dwParam1 ΓòÉΓòÉΓòÉ
  1917.  
  1918. dwParam1 (DWORD) 
  1919.  
  1920.    Following are standard flags that can be used regardless of the type of 
  1921.    device: 
  1922.  
  1923.    MCI_NOTIFY 
  1924.       Posts a notification message to the window specified in the dwCallback 
  1925.       parameter of the data structure identified by dwParam2 when the action 
  1926.       indicated by this message is completed. 
  1927.    MCI_WAIT 
  1928.       Does not return control until the action indicated by this message is 
  1929.       completed. 
  1930.    MCI_GETDEVCAPS_MESSAGE 
  1931.       The wMessage field of the data structure identified by dwParam2 contains 
  1932.       a constant specifying the message to be queried.  If the device supports 
  1933.       the message, MCI_TRUE is returned; otherwise, MCI_FALSE is returned. 
  1934.  
  1935.       Note:  The string parser converts unrecognized strings into a message ID 
  1936.              value of 0.  This message value is defined as not being supported 
  1937.              by any driver.  Other messages are converted to their 
  1938.              corresponding message ID value. 
  1939.  
  1940.  
  1941.    MCI_GETDEVCAPS_ITEM 
  1942.       The dwItem field of the data structure identified by dwParam2 contains a 
  1943.       constant specifying the device capabilities to be queried. Following are 
  1944.    item values that can be used for the dwItem field of the data structure 
  1945.    pointed to by dwParam2. Values returned by the ActionMedia II digital are 
  1946.    indicated. 
  1947.  
  1948.    MCI_GETDEVCAPS_CAN_EJECT 
  1949.       Returns MCI_FALSE.  The device cannot eject media. 
  1950.    MCI_GETDEVCAPS_CAN_LOCKEJECT. 
  1951.       REturns MCI_FALSE.  The device cannot disable manual eject. 
  1952.    MCI_GETDEVCAPS_CAN_PLAY 
  1953.       Returns MCI_TRUE.  The device can play media.  The device supports 
  1954.       MCI_PLAY, MCI_PAUSE, MCI_RESUME, and MCI_STOP. 
  1955.    MCI_GETDEVCAPS_CAN_RECORD 
  1956.       Returns MCI_TRUE if the ActionMedia II capture option is installed and 
  1957.       configured.  Otherwise, returns MCI_FALSE. For configuration information, 
  1958.       see the ActionMedia II Device Drivers booklet. 
  1959.    MCI_GETDEVCAPS_CAN_RECORD_INSERT 
  1960.       Returns MCI_FALSE. 
  1961.    MCI_GETDEVCAPS_CAN_REVERSE 
  1962.       Returns MCI_FALSE.  The device cannot play in reverse. 
  1963.    MCI_GETDEVCAPS_CAN_SAVE 
  1964.       Returns MCI_TRUE.  The device can save files; the MCI_SAVE command must 
  1965.       be issued to save changes in the media element. 
  1966.    MCI_GETDEVCAPS_DEVICE_TYPE 
  1967.       Returns the device type constant for digital video. 
  1968.    MCI_GETDEVCAPS_HAS_AUDIO 
  1969.       Returns MCI_TRUE.  The device is capable of playing audio. 
  1970.    MCI_GETDEVCAPS_HAS_VIDEO 
  1971.       Returns MCI_TRUE.  The device is capable of playing video. 
  1972.    MCI_GETDEVCAPS_USES_FILES 
  1973.       Returns MCI_TRUE.  The compound device requires a file name. 
  1974.    MCI_GETDEVCAPS_CAN_STREAM 
  1975.       Returns MCI_FALSE. 
  1976.    MCI_GETDEVCAPS_CAN_SETVOLUME 
  1977.       Returns MCI_TRUE.  The device can set the audio volume level. 
  1978.    MCI_GETDEVCAPS_PREROLL_TYPE 
  1979.       Returns MCI_PREROLL_DETERMINISTIC. 
  1980.    MCI_GETDEVCAPS_PREROLL_TIME 
  1981.       The ActionMedia II device returns a value of zero for the maximum 
  1982.       notified preroll time, which indicates that an upper boundary to the 
  1983.       preroll time is not known. Digital Video Extensions 
  1984.    The following additional items apply to digital video devices.  Values 
  1985.    returned by the ActionMedia II digital video device are indicated. 
  1986.  
  1987.    MCI_DGV_GETDEVCAPS_HAS_IMAGE 
  1988.       Returns MCI_TRUE.  The device supports still images in its device 
  1989.       context. 
  1990.    MCI_DGV_GETDEVCAPS_OVERLAY_GRAPHICS 
  1991.       Returns MCI_TRUE.  The device supports the display by an application of 
  1992.       overlay graphics in the video window. The application cannot use the 
  1993.       color black as a graphics color, because this is the color key color that 
  1994.       causes video to show through on the DVI plane. 
  1995.    MCI_DGV_GETDEVCAPS_CAN_REVERSE 
  1996.       Returns MCI_FALSE.  The device cannot play in reverse. 
  1997.    MCI_DGV_GETDEVCAPS_CAN_STRETCH 
  1998.       Returns MCI_TRUE. The device can stretch the image to fill the frame. 
  1999.    MCI_DGV_GETDEVCAPS_CAN_DISTORT 
  2000.       Returns MCI_TRUE.  The device can stretch the image independently in 
  2001.       horizontal and vertical dimensions. 
  2002.    MCI_DGV_GETDEVCAPS_FAST_RATE 
  2003.       Returns the normal play rate. The ActionMedia II device cannot play fast. 
  2004.    MCI_DGV_GETDEVCAPS_SLOW_RATE 
  2005.       Returns the normal play rate. The ActionMedia II device cannot play 
  2006.       slowly. 
  2007.    MCI_DGV_GETDEVCAPS_NORMAL_RATE 
  2008.       Returns the normal play rate for the device in frames-per-second. The 
  2009.       normal play rate for the ActionMedia device is 30 fps when configured for 
  2010.       NTSC and 25 fps when configured for PAL. 
  2011.    MCI_DGV_GETDEVCAPS_MAXIMUM_RATE 
  2012.       Returns the normal play rate. 
  2013.    MCI_DGV_GETDEVCAPS_MINIMUM_RATE 
  2014.       Returns the normal play rate. 
  2015.    MCI_DGV_GETDEVCAPS_VIDEO_X_EXTENT 
  2016.       Returns the nominal horizontal (X) extent of the digital motion video 
  2017.       image. 
  2018.    MCI_DGV_GETDEVCAPS_VIDEO_Y_EXTENT 
  2019.       Returns the nominal vertical (Y) extent of the digital motion video 
  2020.       image. 
  2021.    MCI_DGV_GETDEVCAPS_IMAGE_X_EXTENT 
  2022.       Returns the nominal horizontal (X) extent of images, if applicable. 
  2023.    MCI_DGV_GETDEVCAPS_IMAGE_Y_EXTENT 
  2024.       Returns the nominal vertical (Y) extent of images, if applicable. 
  2025.    MCI_DGV_GETDEVCAPS_MAX_WINDOWS 
  2026.       Returns the maximum number of windows that the device can handle 
  2027.       simultaneously. 
  2028.  
  2029.  
  2030. ΓòÉΓòÉΓòÉ <hidden> dwParam2 ΓòÉΓòÉΓòÉ
  2031.  
  2032. dwParam2 (LPMCI_GETDEVCAPS_PARMS) 
  2033.  
  2034.    A pointer to the MCI_GETDEVCAPS_PARMS data structure. 
  2035.  
  2036.  
  2037. ΓòÉΓòÉΓòÉ <hidden> dwRC ΓòÉΓòÉΓòÉ
  2038.  
  2039. dwRC (DWORD) 
  2040.    Return codes indicating success or type of failure. 
  2041.  
  2042.    MCIERR_SUCCESS 
  2043.       If the function succeeds, 0 is returned. 
  2044.  
  2045.    MCIERR_INVALID_DEVICE_ID 
  2046.       Device ID is not valid. 
  2047.  
  2048.    MCIERR_MISSING_FLAG 
  2049.       A required flag is missing. 
  2050.  
  2051.    MCIERR_UNSUPPORTED_FLAG 
  2052.       Given flag is unsupported for this device. 
  2053.  
  2054.    MCIERR_INVALID_CALLBACK_HANDLE 
  2055.       Given callback handle is invalid. 
  2056.  
  2057.    MCIERR_HARDWARE 
  2058.       Device hardware error. 
  2059.  
  2060.    MCIERR_UNSUPPORTED_FUNCTION 
  2061.       Unsupported function. 
  2062.  
  2063.    MCIERR_INVALID_FLAG 
  2064.       Flag is invalid (dwParam1). 
  2065.  
  2066.    MCIERR_FLAGS_NOT_COMPATIBLE 
  2067.       Flags cannot be used together. 
  2068.  
  2069.    MCIERR_INVALID_ITEM_FLAG 
  2070.       Invalid getdevcaps item flag given. 
  2071.  
  2072.    MCIERR_MISSING_ITEM 
  2073.       Missing getdevcaps item flag. 
  2074.  
  2075.    MCIERR_MISSING_PARAMETER 
  2076.       Required parameter is missing. 
  2077.  
  2078.  
  2079. ΓòÉΓòÉΓòÉ <hidden> Example Code - MCI_GETDEVCAPS ΓòÉΓòÉΓòÉ
  2080.  
  2081. The following code illustrates how to determine if a device has audio 
  2082. capability. 
  2083.  
  2084. WORD     wDeviceID;
  2085. DWORD    rc;
  2086. BOOL     fHas_audio;                   /* Set to TRUE by this example
  2087.                                            if device has audio        */
  2088. MCI_GETDEVCAPS_PARMS  mgdcp;
  2089.  
  2090. /* Determine if device has audio capability                           */
  2091.  
  2092. mgdcp.dwItem = MCI_GETDEVCAPS_HAS_AUDIO;
  2093.  
  2094. rc = mciSendCommand(wDeviceID,            /* Device ID                */
  2095.                     MCI_GETDEVCAPS,       /* Get device capability
  2096.                                              message                  */
  2097.                     MCI_WAIT | MCI_GETDEVCAPS_ITEM,
  2098.                                           /* Flags for this message   */
  2099.                     (DWORD) mgdcp,       /* Data structure           */
  2100.                     0);                   /* No user parm             */
  2101.  
  2102. if (rc == MCIERR_SUCCESS)
  2103.   {
  2104.    fHas_audio = (BOOL) mgdcp.dwReturn; /* Return if device
  2105.                                              has audio                */
  2106.   }
  2107.  
  2108.  
  2109. ΓòÉΓòÉΓòÉ 5.3. MCI_INFO ΓòÉΓòÉΓòÉ
  2110.  
  2111.  
  2112. ΓòÉΓòÉΓòÉ <hidden> Topics - MCI_INFO ΓòÉΓòÉΓòÉ
  2113.  
  2114. Select an item: 
  2115.  
  2116. Main Panel 
  2117. Parameters 
  2118. Return Values 
  2119. Notes 
  2120. Default Processing 
  2121. Example 
  2122.  
  2123.  
  2124. ΓòÉΓòÉΓòÉ <hidden> Main - MCI_INFO ΓòÉΓòÉΓòÉ
  2125.  
  2126. This message returns string information from a media device. 
  2127.  
  2128. Parameters: 
  2129.  
  2130. dwParam1
  2131.     DWORD            dwParam1
  2132.  
  2133. dwParam2
  2134.     LPMCI_INFO_PARMS dwParam2
  2135.  
  2136. returns
  2137.     DWORD            dwRC     Return codes indicating success or type of failure.
  2138.  
  2139.  
  2140. ΓòÉΓòÉΓòÉ <hidden> Notes - MCI_INFO ΓòÉΓòÉΓòÉ
  2141.  
  2142. This command can be used to determine whether the file just loaded is a video 
  2143. or an image file by setting the MCI_INFO_VIDEO_FILE or MCI_INFO_IMAGE_FILE 
  2144. flag, and then comparing the file name returned with the loaded file name. 
  2145.  
  2146. If the size of the specified buffer is too small to hold all the data, the 
  2147. dwRetSize field contains the required buffer size and the error code 
  2148. MCIERR_INVALID_BUFFER is returned.  The buffer contains as much of the INFO 
  2149. data as its size permits. 
  2150.  
  2151. Only one flag can be used per MCI_INFO message. If more than one flag is 
  2152. specified, the error MCIERR_FLAGS_NOT_COMPATIBLE is returned. If no flags are 
  2153. specified, the error MCIERR_MISSING_FLAG is returned. 
  2154.  
  2155.  
  2156. ΓòÉΓòÉΓòÉ <hidden> Default Processing - MCI_INFO ΓòÉΓòÉΓòÉ
  2157.  
  2158. None. 
  2159.  
  2160.  
  2161. ΓòÉΓòÉΓòÉ <hidden> Parameters - MCI_INFO ΓòÉΓòÉΓòÉ
  2162.  
  2163. dwParam1 (DWORD) 
  2164.  
  2165.    The following flags can be used regardless of the type of device: 
  2166.  
  2167.    MCI_NOTIFY 
  2168.       A notification message is to be posted to the window specified in the 
  2169.       dwCallback parameter of the data structure identified by dwParam2 when 
  2170.       the action indicated by this message is completed. 
  2171.    MCI_WAIT 
  2172.       Control is not to be returned until the action indicated by this message 
  2173.       is completed. 
  2174.    MCI_INFO_PRODUCT 
  2175.       Returns a description of the particular hardware associated with a 
  2176.       device. 
  2177.    Digital Video Extensions 
  2178.    The following additional flags apply to digital video devices: 
  2179.  
  2180.    MCI_INFO_VIDEO_FILE 
  2181.       Returns the file name of the current motion video file used by the 
  2182.       device. 
  2183.    MCI_INFO_IMAGE_FILE 
  2184.       Returns the file name of the current image file used by the device. 
  2185.    MCI_DGV_INFO_TEXT 
  2186.       Returns the caption of the window in which the digital video is currently 
  2187.       displayed. 
  2188.  
  2189. dwParam2 (LPMCI_INFO_PARMS) 
  2190.  
  2191.    A pointer to the MCI_INFO_PARMS data structure. 
  2192.  
  2193.  
  2194. ΓòÉΓòÉΓòÉ <hidden> Return Values - MCI_INFO ΓòÉΓòÉΓòÉ
  2195.  
  2196. dwRC (DWORD) 
  2197.    Return codes indicating success or type of failure. 
  2198.  
  2199.    MCIERR_SUCCESS 
  2200.       If the function succeeds, 0 is returned. 
  2201.  
  2202.    MCIERR_INVALID_DEVICE_ID 
  2203.       Device ID is not valid. 
  2204.  
  2205.    MCIERR_MISSING_FLAG 
  2206.       A required flag is missing. 
  2207.  
  2208.    MCIERR_UNSUPPORTED_FLAG 
  2209.       Given flag is unsupported for this device. 
  2210.  
  2211.    MCIERR_INVALID_CALLBACK_HANDLE 
  2212.       Given callback handle is invalid. 
  2213.  
  2214.    MCIERR_INVALID_FLAG 
  2215.       Flag is invalid (dwParam1). 
  2216.  
  2217.    MCIERR_FLAGS_NOT_COMPATIBLE 
  2218.       Flags cannot be used together. 
  2219.  
  2220.    MCIERR_INVALID_BUFFER 
  2221.       Invalid return buffer given. 
  2222.  
  2223.    MCIERR_FILE_NOT_FOUND 
  2224.       Information requested for MCI_INFO_VIDEO_FILE or MCI_INFO_IMAGE_FILE does 
  2225.       not exist. 
  2226.  
  2227.    MCIERR_MISSING_FLAG 
  2228.       No flag specified. 
  2229.  
  2230.    MCIERR_MISSING_PARAMETER 
  2231.       Required parameter is missing. 
  2232.  
  2233.  
  2234. ΓòÉΓòÉΓòÉ <hidden> dwParam1 ΓòÉΓòÉΓòÉ
  2235.  
  2236. dwParam1 (DWORD) 
  2237.  
  2238.    The following flags can be used regardless of the type of device: 
  2239.  
  2240.    MCI_NOTIFY 
  2241.       A notification message is to be posted to the window specified in the 
  2242.       dwCallback parameter of the data structure identified by dwParam2 when 
  2243.       the action indicated by this message is completed. 
  2244.    MCI_WAIT 
  2245.       Control is not to be returned until the action indicated by this message 
  2246.       is completed. 
  2247.    MCI_INFO_PRODUCT 
  2248.       Returns a description of the particular hardware associated with a 
  2249.       device. 
  2250.    Digital Video Extensions 
  2251.    The following additional flags apply to digital video devices: 
  2252.  
  2253.    MCI_INFO_VIDEO_FILE 
  2254.       Returns the file name of the current motion video file used by the 
  2255.       device. 
  2256.    MCI_INFO_IMAGE_FILE 
  2257.       Returns the file name of the current image file used by the device. 
  2258.    MCI_DGV_INFO_TEXT 
  2259.       Returns the caption of the window in which the digital video is currently 
  2260.       displayed. 
  2261.  
  2262.  
  2263. ΓòÉΓòÉΓòÉ <hidden> dwParam2 ΓòÉΓòÉΓòÉ
  2264.  
  2265. dwParam2 (LPMCI_INFO_PARMS) 
  2266.  
  2267.    A pointer to the MCI_INFO_PARMS data structure. 
  2268.  
  2269.  
  2270. ΓòÉΓòÉΓòÉ <hidden> dwRC ΓòÉΓòÉΓòÉ
  2271.  
  2272. dwRC (DWORD) 
  2273.    Return codes indicating success or type of failure. 
  2274.  
  2275.    MCIERR_SUCCESS 
  2276.       If the function succeeds, 0 is returned. 
  2277.  
  2278.    MCIERR_INVALID_DEVICE_ID 
  2279.       Device ID is not valid. 
  2280.  
  2281.    MCIERR_MISSING_FLAG 
  2282.       A required flag is missing. 
  2283.  
  2284.    MCIERR_UNSUPPORTED_FLAG 
  2285.       Given flag is unsupported for this device. 
  2286.  
  2287.    MCIERR_INVALID_CALLBACK_HANDLE 
  2288.       Given callback handle is invalid. 
  2289.  
  2290.    MCIERR_INVALID_FLAG 
  2291.       Flag is invalid (dwParam1). 
  2292.  
  2293.    MCIERR_FLAGS_NOT_COMPATIBLE 
  2294.       Flags cannot be used together. 
  2295.  
  2296.    MCIERR_INVALID_BUFFER 
  2297.       Invalid return buffer given. 
  2298.  
  2299.    MCIERR_FILE_NOT_FOUND 
  2300.       Information requested for MCI_INFO_VIDEO_FILE or MCI_INFO_IMAGE_FILE does 
  2301.       not exist. 
  2302.  
  2303.    MCIERR_MISSING_FLAG 
  2304.       No flag specified. 
  2305.  
  2306.    MCIERR_MISSING_PARAMETER 
  2307.       Required parameter is missing. 
  2308.  
  2309.  
  2310. ΓòÉΓòÉΓòÉ <hidden> Example Code - MCI_INFO ΓòÉΓòÉΓòÉ
  2311.  
  2312. The following code illustrates returning string information from a media 
  2313. device. 
  2314.  
  2315. #define  RETBUFSIZE 128
  2316.  
  2317. WORD     wDeviceID;
  2318. CHAR     InfoRet [RETBUFSIZE ];  /* Return string buffer */
  2319. MCI_INFO_PARMS  infoparms;
  2320.  
  2321. /* Get the file name of the currently loaded image file */
  2322.  
  2323. infoparms.lpstrReturn = (LPSTR) InfoRet; /* Pointer to return buffer */
  2324. infoparms.dwRetSize = RETBUFSIZE;         /* Return buffer size      */
  2325.  
  2326. mciSendCommand( wDeviceID,                /* Device ID               */
  2327.                 MCI_INFO,                /* MCI info message        */
  2328.                 MCI_WAIT | MCI_INFO_IMAGE_FILE,
  2329.                                           /* Flags for this message  */
  2330.                 (DWORD) infoparms,       /* Data structure          */
  2331.                 0);                       /* No user parm            */
  2332.  
  2333. /* infoparms.lpstrReturn now contains name of current image file */
  2334.  
  2335.  
  2336. ΓòÉΓòÉΓòÉ 5.4. MCI_OPEN ΓòÉΓòÉΓòÉ
  2337.  
  2338.  
  2339. ΓòÉΓòÉΓòÉ <hidden> Topics - MCI_OPEN ΓòÉΓòÉΓòÉ
  2340.  
  2341. Select an item: 
  2342.  
  2343. Main Panel 
  2344. Parameters 
  2345. Return Values 
  2346. Notes 
  2347. Default Processing 
  2348. Example 
  2349.  
  2350.  
  2351. ΓòÉΓòÉΓòÉ <hidden> Main - MCI_OPEN ΓòÉΓòÉΓòÉ
  2352.  
  2353. This message is sent to create a new device context. 
  2354.  
  2355. Parameters: 
  2356.  
  2357. dwParam1
  2358.     DWORD                         dwParam1
  2359.  
  2360. dwParam2
  2361.     LPMCI_DGV_OPEN_PARMS dwParam2
  2362.  
  2363. returns
  2364.     DWORD                         dwRC
  2365.  
  2366.  
  2367. ΓòÉΓòÉΓòÉ <hidden> Notes - MCI_OPEN ΓòÉΓòÉΓòÉ
  2368.  
  2369. If motion video is to be displayed in an application window specified with the 
  2370. MCI_WINDOW command, a parent window handle must be supplied with the MCI_OPEN 
  2371. request.  Otherwise, the ActionMedia II digital video device opens the default 
  2372. video window, whose parent is the PM desktop.  The window will not be visible 
  2373. until a cue, play, record, or monitoring operation begins. 
  2374.  
  2375.  
  2376. ΓòÉΓòÉΓòÉ <hidden> Default Processing - MCI_OPEN ΓòÉΓòÉΓòÉ
  2377.  
  2378. If MCI_OPEN_SHAREABLE is not specified, the device will be opened for exclusive 
  2379. use. 
  2380.  
  2381. If MCI_OPEN_TYPE_ID is not specified and lpstrDeviceName in dwParam2 is not 
  2382. NULL, then the system attempts to open the device specified by the 
  2383. lpstrDeviceName string.  If lpstrDeviceName is NULL and the MCI_OPEN_ELEMENT 
  2384. flag is specified, the system attempts to select and open a device based on the 
  2385. element extension. 
  2386.  
  2387. If lpstrDeviceName is a device type ID with a null ordinal or a string device 
  2388. name with no ordinals, then the default device of the specified type is opened. 
  2389. The default device may be selected using the Multimedia Setup application. 
  2390.  
  2391.  
  2392. ΓòÉΓòÉΓòÉ <hidden> Parameters - MCI_OPEN ΓòÉΓòÉΓòÉ
  2393.  
  2394. dwParam1 (DWORD) 
  2395.  
  2396.    The following standard flags can be used regardless of the type of device: 
  2397.  
  2398.    MCI_NOTIFY 
  2399.       A notification message is to be posted to the window specified in the 
  2400.       dwCallback parameter of the data structure identified by dwParam2 when 
  2401.       the action indicated by this message is completed. 
  2402.    MCI_WAIT 
  2403.       Control is not to be returned until the action indicated by this message 
  2404.       is completed. 
  2405.    MCI_OPEN_SHAREABLE 
  2406.       The device is opened as shareable, enabling other applications to share 
  2407.       the device if necessary.  Omitting this flag causes the device to be 
  2408.       opened for exclusive use. 
  2409.    MCI_OPEN_ELEMENT 
  2410.       An element name is included.  The element name can be a file name. The 
  2411.       element name will be in the lpstrElementName field.  If a nonexistent 
  2412.       element name is specified, a temporary element is created for subsequent 
  2413.       use with MCI_RECORD.  The temporary file can be made permanent by 
  2414.       providing a name using the MCI_SAVE message. 
  2415.    MCI_OPEN_ALIAS 
  2416.       An alias is included in the lpstrAlias field. 
  2417.    MCI_OPEN_TYPE_ID 
  2418.       The lpstrDeviceType field of the next parameter is to be interpreted as 
  2419.       follows:  The low-order word is a standard device type, and the 
  2420.       high-order word is the ordinal index for the device.  If MCI_OPEN_TYPE_ID 
  2421.       is not specified and lpstrDeviceName in dwParam2 is not NULL, then the 
  2422.       system attempts to open the device specified by the lpstrDeviceName 
  2423.       string.  If MCI_OPEN_TYPE_ID is not specified and lpstrDeviceName is NULL 
  2424.       and MCI_OPEN_ELEMENT is specified, the system attempts to select and open 
  2425.       a device based on the element extension. 
  2426.    Digital Video Extensions 
  2427.    The following additional flag applies to digital video devices: 
  2428.  
  2429.    MCI_DGV_OPEN_PARENT 
  2430.       Indicates the parent window handle is specified in the hwndParent field 
  2431.       of the data structure identified by lpOpen.  If not specified, 
  2432.       HWND_DESKTOP is assumed to be the parent. 
  2433.  
  2434. dwParam2 (LPMCI_DGV_OPEN_PARMS) 
  2435.  
  2436.    A pointer to the MCI_DGV_OPEN_PARMS data structure. 
  2437.  
  2438.  
  2439. ΓòÉΓòÉΓòÉ <hidden> Return Values - MCI_OPEN ΓòÉΓòÉΓòÉ
  2440.  
  2441. dwRC (DWORD) 
  2442.  
  2443.    Return codes indicating success or type of failure: 
  2444.  
  2445.    MCIERR_SUCCESS 
  2446.       If the function succeeds, 0 is returned. 
  2447.  
  2448.    MCIERR_CANNOT_ADD_ALIAS 
  2449.       Alias cannot be added. 
  2450.  
  2451.    MCIERR_DUPLICATE_ALIAS 
  2452.       Alias already exists. 
  2453.  
  2454.    MCIERR_INVALID_DEVICE_ID 
  2455.       Device ID is not valid. 
  2456.  
  2457.    MCIERR_MISSING_FLAG 
  2458.       Required flag is missing. 
  2459.  
  2460.    MCIERR_UNSUPPORTED_FLAG 
  2461.       Given flag is unsupported for this device. 
  2462.  
  2463.    MCIERR_INVALID_CALLBACK_HANDLE 
  2464.       Given callback or parent handle is invalid. 
  2465.  
  2466.    MCIERR_UNSUPPORTED_FUNCTION 
  2467.       Unsupported function. 
  2468.  
  2469.    MCIERR_INVALID_CONNECTION 
  2470.       Connection requested is not correct. 
  2471.  
  2472.    MCIERR_INVALID_FLAG 
  2473.       Flag is invalid (dwParam1). 
  2474.  
  2475.    MCIERR_FILE_NOT_FOUND 
  2476.       Given file could not be found. 
  2477.  
  2478.    MCIERR_FLAGS_NOT_COMPATIBLE 
  2479.       Flags cannot be used together. 
  2480.  
  2481.    MCIERR_DEVICE_OPEN 
  2482.       Device is already open and is not shareable. 
  2483.  
  2484.    MCIERR_CANNOT_LOAD_DRIVER 
  2485.       Driver could not be loaded. 
  2486.  
  2487.    MCIERR_DEVICE_LOCKED 
  2488.       Device is acquired for exclusive use. 
  2489.  
  2490.    MCIERR_OUT_OF_MEMORY 
  2491.       Out of memory. 
  2492.  
  2493.    MCIERR_MISSING_PARAMETER 
  2494.       Required parameter is missing. 
  2495.  
  2496.    MCIERR_RESOURCE_NOT_AVAILABLE 
  2497.       Required resource not available. 
  2498.  
  2499.  
  2500. ΓòÉΓòÉΓòÉ <hidden> dwParam1 ΓòÉΓòÉΓòÉ
  2501.  
  2502. dwParam1 (DWORD) 
  2503.  
  2504.    The following standard flags can be used regardless of the type of device: 
  2505.  
  2506.    MCI_NOTIFY 
  2507.       A notification message is to be posted to the window specified in the 
  2508.       dwCallback parameter of the data structure identified by dwParam2 when 
  2509.       the action indicated by this message is completed. 
  2510.    MCI_WAIT 
  2511.       Control is not to be returned until the action indicated by this message 
  2512.       is completed. 
  2513.    MCI_OPEN_SHAREABLE 
  2514.       The device is opened as shareable, enabling other applications to share 
  2515.       the device if necessary.  Omitting this flag causes the device to be 
  2516.       opened for exclusive use. 
  2517.    MCI_OPEN_ELEMENT 
  2518.       An element name is included.  The element name can be a file name. The 
  2519.       element name will be in the lpstrElementName field.  If a nonexistent 
  2520.       element name is specified, a temporary element is created for subsequent 
  2521.       use with MCI_RECORD.  The temporary file can be made permanent by 
  2522.       providing a name using the MCI_SAVE message. 
  2523.    MCI_OPEN_ALIAS 
  2524.       An alias is included in the lpstrAlias field. 
  2525.    MCI_OPEN_TYPE_ID 
  2526.       The lpstrDeviceType field of the next parameter is to be interpreted as 
  2527.       follows:  The low-order word is a standard device type, and the 
  2528.       high-order word is the ordinal index for the device.  If MCI_OPEN_TYPE_ID 
  2529.       is not specified and lpstrDeviceName in dwParam2 is not NULL, then the 
  2530.       system attempts to open the device specified by the lpstrDeviceName 
  2531.       string.  If MCI_OPEN_TYPE_ID is not specified and lpstrDeviceName is NULL 
  2532.       and MCI_OPEN_ELEMENT is specified, the system attempts to select and open 
  2533.       a device based on the element extension. 
  2534.    Digital Video Extensions 
  2535.    The following additional flag applies to digital video devices: 
  2536.  
  2537.    MCI_DGV_OPEN_PARENT 
  2538.       Indicates the parent window handle is specified in the hwndParent field 
  2539.       of the data structure identified by lpOpen.  If not specified, 
  2540.       HWND_DESKTOP is assumed to be the parent. 
  2541.  
  2542.  
  2543. ΓòÉΓòÉΓòÉ <hidden> dwParam2 ΓòÉΓòÉΓòÉ
  2544.  
  2545. dwParam2 (LPMCI_DGV_OPEN_PARMS) 
  2546.  
  2547.    A pointer to the MCI_DGV_OPEN_PARMS data structure. 
  2548.  
  2549.  
  2550. ΓòÉΓòÉΓòÉ <hidden> dwRC ΓòÉΓòÉΓòÉ
  2551.  
  2552. dwRC (DWORD) 
  2553.  
  2554.    Return codes indicating success or type of failure: 
  2555.  
  2556.    MCIERR_SUCCESS 
  2557.       If the function succeeds, 0 is returned. 
  2558.  
  2559.    MCIERR_CANNOT_ADD_ALIAS 
  2560.       Alias cannot be added. 
  2561.  
  2562.    MCIERR_DUPLICATE_ALIAS 
  2563.       Alias already exists. 
  2564.  
  2565.    MCIERR_INVALID_DEVICE_ID 
  2566.       Device ID is not valid. 
  2567.  
  2568.    MCIERR_MISSING_FLAG 
  2569.       Required flag is missing. 
  2570.  
  2571.    MCIERR_UNSUPPORTED_FLAG 
  2572.       Given flag is unsupported for this device. 
  2573.  
  2574.    MCIERR_INVALID_CALLBACK_HANDLE 
  2575.       Given callback or parent handle is invalid. 
  2576.  
  2577.    MCIERR_UNSUPPORTED_FUNCTION 
  2578.       Unsupported function. 
  2579.  
  2580.    MCIERR_INVALID_CONNECTION 
  2581.       Connection requested is not correct. 
  2582.  
  2583.    MCIERR_INVALID_FLAG 
  2584.       Flag is invalid (dwParam1). 
  2585.  
  2586.    MCIERR_FILE_NOT_FOUND 
  2587.       Given file could not be found. 
  2588.  
  2589.    MCIERR_FLAGS_NOT_COMPATIBLE 
  2590.       Flags cannot be used together. 
  2591.  
  2592.    MCIERR_DEVICE_OPEN 
  2593.       Device is already open and is not shareable. 
  2594.  
  2595.    MCIERR_CANNOT_LOAD_DRIVER 
  2596.       Driver could not be loaded. 
  2597.  
  2598.    MCIERR_DEVICE_LOCKED 
  2599.       Device is acquired for exclusive use. 
  2600.  
  2601.    MCIERR_OUT_OF_MEMORY 
  2602.       Out of memory. 
  2603.  
  2604.    MCIERR_MISSING_PARAMETER 
  2605.       Required parameter is missing. 
  2606.  
  2607.    MCIERR_RESOURCE_NOT_AVAILABLE 
  2608.       Required resource not available. 
  2609.  
  2610.  
  2611. ΓòÉΓòÉΓòÉ <hidden> Example Code - MCI_OPEN ΓòÉΓòÉΓòÉ
  2612.  
  2613. The following code illustrates opening a digital video device context and 
  2614. specifying the device element PLAY.AVS. 
  2615.  
  2616. DWORD          rc;
  2617. MCI_DGV_OPEN_PARMS mop;
  2618.  
  2619. mop.dwCallback = (DWORD) NULL;       /* N/A - we're waiting        */
  2620. mop.wDeviceID  = (WORD)  NULL;       /* This is returned           */
  2621. mop.lpstrDeviceType = (LPSTR) "digitalvideo";
  2622.                                      /* Using default device type  */
  2623. mop.lpstrElementName = (LPSTR) "play.avs";  /* File name to open   */
  2624.  
  2625. rc = mciSendCommand( 0,                 /* Don't know device yet   */
  2626.                      MCI_OPEN,          /* MCI open message        */
  2627.                      MCI_WAIT | MCI_OPEN_ELEMENT |
  2628.                      MCI_OPEN_SHAREABLE,/* Flags for this message  */
  2629.                      (DWORD) mop,      /* Data structure          */
  2630.                      0);                /* No user parm            */
  2631. if (rc == MCI_SUCCESS)
  2632.   {
  2633.    wDeviceID = mop.wDeviceID;           /* Return device ID        */
  2634.   }
  2635.  
  2636.  
  2637. ΓòÉΓòÉΓòÉ 5.5. MCI_RESTORE ΓòÉΓòÉΓòÉ
  2638.  
  2639.  
  2640. ΓòÉΓòÉΓòÉ <hidden> Topics - MCI_RESTORE ΓòÉΓòÉΓòÉ
  2641.  
  2642. Select an item: 
  2643.  
  2644. Main Panel 
  2645. Parameters 
  2646. Return Values 
  2647. Notes 
  2648. Default Processing 
  2649. Example 
  2650.  
  2651.  
  2652. ΓòÉΓòÉΓòÉ <hidden> Main - MCI_RESTORE ΓòÉΓòÉΓòÉ
  2653.  
  2654. This message transfers the image currently in the image device element to the 
  2655. display surface. 
  2656.  
  2657. Parameters: 
  2658.  
  2659. dwParam1
  2660.     DWORD               dwParam1
  2661.  
  2662. dwParam2
  2663.     LPMCI_RESTORE_PARMS dwParam2
  2664.  
  2665. returns
  2666.     DWORD               dwRC
  2667.  
  2668.  
  2669. ΓòÉΓòÉΓòÉ <hidden> Notes - MCI_RESTORE ΓòÉΓòÉΓòÉ
  2670.  
  2671. The image is restored from the still image device element of the digital video 
  2672. device. This message can be used to view an image that has just been captured 
  2673. with the MCI_CAPTURE command or has been loaded from an image file stored on a 
  2674. logical drive. 
  2675.  
  2676. This function fails if there is no image device element currently loaded. 
  2677.  
  2678.  
  2679. ΓòÉΓòÉΓòÉ <hidden> Default Processing - MCI_RESTORE ΓòÉΓòÉΓòÉ
  2680.  
  2681. None. 
  2682.  
  2683.  
  2684. ΓòÉΓòÉΓòÉ <hidden> Parameters - MCI_RESTORE ΓòÉΓòÉΓòÉ
  2685.  
  2686. dwParam1 (DWORD) 
  2687.  
  2688.    The following standard flags can be used regardless of the type of device: 
  2689.  
  2690.    MCI_NOTIFY 
  2691.       A notification message is to be posted to the window specified in the 
  2692.       dwCallback parameter of the data structure identified by dwParam2 when 
  2693.       the action indicated by this message is completed. 
  2694.    MCI_WAIT 
  2695.       Control is not to be returned until the action indicated by this message 
  2696.       is completed. 
  2697.  
  2698. dwParam2 (LPMCI_RESTORE_PARMS) 
  2699.  
  2700.    A pointer to an MCI_RESTORE_PARMS data structure. 
  2701.  
  2702.  
  2703. ΓòÉΓòÉΓòÉ <hidden> Return Values - MCI_RESTORE ΓòÉΓòÉΓòÉ
  2704.  
  2705. dwRC (DWORD) 
  2706.  
  2707.    MCIERR_SUCCESS 
  2708.       If the function succeeds. 
  2709.  
  2710.    MCI_INVALID_DEVICE_ID 
  2711.       Device ID is not valid. 
  2712.  
  2713.    MCIERR_MISSING_FLAG 
  2714.       A required flag is missing. 
  2715.  
  2716.    MCIERR_UNSUPPORTED_FLAG 
  2717.       Given flag is unsupported for this device. 
  2718.  
  2719.    MCIERR_INVALID_CALLBACK_HANDLE 
  2720.       Given callback handle is invalid. 
  2721.  
  2722.    MCIERR_FILE_NOT_FOUND 
  2723.       No image yet captured or loaded. 
  2724.  
  2725.    MCIERR_INVALID_FLAG 
  2726.       Flag is invalid. 
  2727.  
  2728.    MCIERR_FLAGS_NOT_COMPATIBLE 
  2729.       Flags cannot be used together. 
  2730.  
  2731.    MCIERR_MISSING_PARAMETER 
  2732.       Required parameter is missing. 
  2733.  
  2734.  
  2735. ΓòÉΓòÉΓòÉ <hidden> dwParam1 ΓòÉΓòÉΓòÉ
  2736.  
  2737. dwParam1 (DWORD) 
  2738.  
  2739.    The following standard flags can be used regardless of the type of device: 
  2740.  
  2741.    MCI_NOTIFY 
  2742.       A notification message is to be posted to the window specified in the 
  2743.       dwCallback parameter of the data structure identified by dwParam2 when 
  2744.       the action indicated by this message is completed. 
  2745.    MCI_WAIT 
  2746.       Control is not to be returned until the action indicated by this message 
  2747.       is completed. 
  2748.  
  2749.  
  2750. ΓòÉΓòÉΓòÉ <hidden> dwParam2 ΓòÉΓòÉΓòÉ
  2751.  
  2752. dwParam2 (LPMCI_RESTORE_PARMS) 
  2753.  
  2754.    A pointer to an MCI_RESTORE_PARMS data structure. 
  2755.  
  2756.  
  2757. ΓòÉΓòÉΓòÉ <hidden> dwRC ΓòÉΓòÉΓòÉ
  2758.  
  2759. dwRC (DWORD) 
  2760.  
  2761.    MCIERR_SUCCESS 
  2762.       If the function succeeds. 
  2763.  
  2764.    MCI_INVALID_DEVICE_ID 
  2765.       Device ID is not valid. 
  2766.  
  2767.    MCIERR_MISSING_FLAG 
  2768.       A required flag is missing. 
  2769.  
  2770.    MCIERR_UNSUPPORTED_FLAG 
  2771.       Given flag is unsupported for this device. 
  2772.  
  2773.    MCIERR_INVALID_CALLBACK_HANDLE 
  2774.       Given callback handle is invalid. 
  2775.  
  2776.    MCIERR_FILE_NOT_FOUND 
  2777.       No image yet captured or loaded. 
  2778.  
  2779.    MCIERR_INVALID_FLAG 
  2780.       Flag is invalid. 
  2781.  
  2782.    MCIERR_FLAGS_NOT_COMPATIBLE 
  2783.       Flags cannot be used together. 
  2784.  
  2785.    MCIERR_MISSING_PARAMETER 
  2786.       Required parameter is missing. 
  2787.  
  2788.  
  2789. ΓòÉΓòÉΓòÉ <hidden> Example Code - MCI_RESTORE ΓòÉΓòÉΓòÉ
  2790.  
  2791. The following code illustrates the use of MCI_RESTORE. 
  2792.  
  2793.  
  2794.    WORD              wDeviceID;
  2795.    HWND              hwndMyWindow;
  2796.    MCI_RESTORE_PARMS mciRestore Parms;
  2797.                              /* Generic message parms structure */
  2798.  
  2799.    /* Display a still image using the default window.           */
  2800.  
  2801.    /* Assign dwCallback the handle to the PM Window routine.    */
  2802.    mciRestoreParms.dwCallback = (DWORD) hwndMyWindow;
  2803.  
  2804.    mciSendCommand( wDeviceID,                /* Device ID             */
  2805.                    MCI_RESTORE,              /* MCI restore message   */
  2806.                    MCI_NOTIFY,               /* Flag for this message */
  2807.                    (DWORD) mciRestoreParms, /* Data structure        */
  2808.                    0);                       /* No user parm          */
  2809.  
  2810.  
  2811. ΓòÉΓòÉΓòÉ 5.6. MCI_REWIND ΓòÉΓòÉΓòÉ
  2812.  
  2813.  
  2814. ΓòÉΓòÉΓòÉ <hidden> Topics - MCI_REWIND ΓòÉΓòÉΓòÉ
  2815.  
  2816. Select an item: 
  2817.  
  2818. Main Panel 
  2819. Parameters 
  2820. Return Values 
  2821. Notes 
  2822. Default Processing 
  2823. Example 
  2824.  
  2825.  
  2826. ΓòÉΓòÉΓòÉ <hidden> Main - MCI_REWIND ΓòÉΓòÉΓòÉ
  2827.  
  2828. This message changes the position in the media to the beginning point. 
  2829.  
  2830. Parameters: 
  2831.  
  2832. dwParam1
  2833.     DWORD               dwParam1
  2834.  
  2835. dwParam2
  2836.     LPMCI_GENERIC_PARMS dwParam2
  2837.  
  2838. returns
  2839.     DWORD               dwRC     Return codes indicating success or type of failure.
  2840.  
  2841.  
  2842. ΓòÉΓòÉΓòÉ <hidden> Notes - MCI_REWIND ΓòÉΓòÉΓòÉ
  2843.  
  2844. The beginning point in the media is defined as the first playable area, beyond 
  2845. any header or table-of-contents data. This message is equivalent to MCI_SEEK 
  2846. with the MCI_TO_START flag specified. 
  2847.  
  2848.  
  2849. ΓòÉΓòÉΓòÉ <hidden> Default Processing - MCI_REWIND ΓòÉΓòÉΓòÉ
  2850.  
  2851. None. 
  2852.  
  2853.  
  2854. ΓòÉΓòÉΓòÉ <hidden> Parameters - MCI_REWIND ΓòÉΓòÉΓòÉ
  2855.  
  2856. dwParam1 (DWORD) 
  2857.  
  2858.    The following standard flags can be used regardless of the type of device: 
  2859.  
  2860.    MCI_NOTIFY 
  2861.       A notification message is to be posted to the window specified in the 
  2862.       dwCallback parameter of the data structure identified by dwParam2 when 
  2863.       the action indicated by this message is completed. 
  2864.    MCI_WAIT 
  2865.       Control is not to be returned until the action indicated by this message 
  2866.       is completed. 
  2867.  
  2868. dwParam2 (LPMCI_GENERIC_PARMS) 
  2869.  
  2870.    A pointer to a default parameter data structure. 
  2871.  
  2872.  
  2873. ΓòÉΓòÉΓòÉ <hidden> Return Values - MCI_REWIND ΓòÉΓòÉΓòÉ
  2874.  
  2875. dwRC (DWORD) 
  2876.    Return codes indicating success or type of failure. 
  2877.  
  2878.    MCIERR_SUCCESS 
  2879.       If the function succeeds, 0 is returned. 
  2880.  
  2881.    MCIERR_INVALID_DEVICE_ID 
  2882.       Device ID is not valid. 
  2883.  
  2884.    MCIERR_MISSING_FLAG 
  2885.       Required flag is missing. 
  2886.  
  2887.    MCIERR_UNSUPPORTED_FLAG 
  2888.       Given flag is unsupported for this device. 
  2889.  
  2890.    MCIERR_INVALID_FLAG 
  2891.       Flag is invalid (dwParam1). 
  2892.  
  2893.    MCIERR_INVALID_CALLBACK_HANDLE 
  2894.       Given callback handle is not correct. 
  2895.  
  2896.    MCIERR_FLAGS_NOT_COMPATIBLE 
  2897.       Flags cannot be used together. 
  2898.  
  2899.    MCIERR_FILE_NOT_FOUND 
  2900.       File has not been loaded. 
  2901.  
  2902.    MCIERR_MISSING_PARAMETER 
  2903.       Required parameter is missing. 
  2904.  
  2905.  
  2906. ΓòÉΓòÉΓòÉ <hidden> dwParam1 ΓòÉΓòÉΓòÉ
  2907.  
  2908. dwParam1 (DWORD) 
  2909.  
  2910.    The following standard flags can be used regardless of the type of device: 
  2911.  
  2912.    MCI_NOTIFY 
  2913.       A notification message is to be posted to the window specified in the 
  2914.       dwCallback parameter of the data structure identified by dwParam2 when 
  2915.       the action indicated by this message is completed. 
  2916.    MCI_WAIT 
  2917.       Control is not to be returned until the action indicated by this message 
  2918.       is completed. 
  2919.  
  2920.  
  2921. ΓòÉΓòÉΓòÉ <hidden> dwParam2 ΓòÉΓòÉΓòÉ
  2922.  
  2923. dwParam2 (LPMCI_GENERIC_PARMS) 
  2924.  
  2925.    A pointer to a default parameter data structure. 
  2926.  
  2927.  
  2928. ΓòÉΓòÉΓòÉ <hidden> dwRC ΓòÉΓòÉΓòÉ
  2929.  
  2930. dwRC (DWORD) 
  2931.    Return codes indicating success or type of failure. 
  2932.  
  2933.    MCIERR_SUCCESS 
  2934.       If the function succeeds, 0 is returned. 
  2935.  
  2936.    MCIERR_INVALID_DEVICE_ID 
  2937.       Device ID is not valid. 
  2938.  
  2939.    MCIERR_MISSING_FLAG 
  2940.       Required flag is missing. 
  2941.  
  2942.    MCIERR_UNSUPPORTED_FLAG 
  2943.       Given flag is unsupported for this device. 
  2944.  
  2945.    MCIERR_INVALID_FLAG 
  2946.       Flag is invalid (dwParam1). 
  2947.  
  2948.    MCIERR_INVALID_CALLBACK_HANDLE 
  2949.       Given callback handle is not correct. 
  2950.  
  2951.    MCIERR_FLAGS_NOT_COMPATIBLE 
  2952.       Flags cannot be used together. 
  2953.  
  2954.    MCIERR_FILE_NOT_FOUND 
  2955.       File has not been loaded. 
  2956.  
  2957.    MCIERR_MISSING_PARAMETER 
  2958.       Required parameter is missing. 
  2959.  
  2960.  
  2961. ΓòÉΓòÉΓòÉ <hidden> Example Code - MCI_REWIND ΓòÉΓòÉΓòÉ
  2962.  
  2963. The following code illustrates MCI_REWIND. 
  2964.  
  2965.  
  2966.    WORD              wDeviceID;
  2967.    HWND              hwndMyWindow;
  2968.    MCI_GENERIC_PARMS mciGenericParms;
  2969.                              /* Generic message parms structure */
  2970.  
  2971.    /* Rewind; seek the media to the beginning point */
  2972.  
  2973.    /* Assign dwCallback the handle to the PM Window routine */
  2974.    mciGenericParms.dwCallback = (DWORD) hwndMyWindow;
  2975.  
  2976.    mciSendCommand( wDeviceID,                /* Device ID             */
  2977.                    MCI_REWIND,               /* MCI rewind message    */
  2978.                    MCI_NOTIFY,               /* Flag for this message */
  2979.                    (DWORD) mciGenericParms, /* Data structure        */
  2980.                    0);                       /* No user parm          */
  2981.  
  2982.  
  2983. ΓòÉΓòÉΓòÉ 5.7. MCI_SAVE ΓòÉΓòÉΓòÉ
  2984.  
  2985.  
  2986. ΓòÉΓòÉΓòÉ <hidden> Topics - MCI_SAVE ΓòÉΓòÉΓòÉ
  2987.  
  2988. Select an item: 
  2989.  
  2990. Main Panel 
  2991. Parameters 
  2992. Return Values 
  2993. Notes 
  2994. Default Processing 
  2995. Example 
  2996.  
  2997.  
  2998. ΓòÉΓòÉΓòÉ <hidden> Main - MCI_SAVE ΓòÉΓòÉΓòÉ
  2999.  
  3000. This message saves the current image or recorded motion video device element in 
  3001. a file. 
  3002.  
  3003. Parameters: 
  3004.  
  3005. dwParam1
  3006.     DWORD            dwParam1
  3007.  
  3008. dwParam2
  3009.     LPMCI_SAVE_PARMS dwParam2
  3010.  
  3011. returns
  3012.     DWORD            dwRC
  3013.  
  3014.  
  3015. ΓòÉΓòÉΓòÉ <hidden> Notes - MCI_SAVE ΓòÉΓòÉΓòÉ
  3016.  
  3017. To perform a save operation, you can specify the name of a new or existing file 
  3018. to which the save can be made. If you specify an existing file, the data in the 
  3019. device element completely replaces the data in the existing file. 
  3020.  
  3021. You should also specify whether video or image data is being saved. If you do 
  3022. not specify MCI_DGV_SAVE_VIDEO_FILE or MCI_DGV_SAVE_IMAGE_FILE, the device 
  3023. element is saved as a video file. If the MCI_SAVE_FILE flag is specified, the 
  3024. device element is saved in the file name specified in lpFileName. 
  3025.  
  3026.  
  3027. ΓòÉΓòÉΓòÉ <hidden> Default Processing - MCI_SAVE ΓòÉΓòÉΓòÉ
  3028.  
  3029. None. 
  3030.  
  3031.  
  3032. ΓòÉΓòÉΓòÉ <hidden> Parameters - MCI_SAVE ΓòÉΓòÉΓòÉ
  3033.  
  3034. dwParam1 (DWORD) 
  3035.  
  3036.    The following flags can be used regardless of the type of device: 
  3037.  
  3038.    MCI_NOTIFY 
  3039.       A notification message is to be posted to the window specified in the 
  3040.       dwCallback parameter of the data structure identified by dwParam2 when 
  3041.       the action indicated by this message is completed. 
  3042.    MCI_WAIT 
  3043.       Control is not to be returned until the action indicated by this message 
  3044.       is completed. 
  3045.    MCI_SAVE_FILE 
  3046.       The lpFilename field of the data structure identified by dwParam2 
  3047.       contains a pointer to a buffer containing the destination file name.  If 
  3048.       a file name is not specified, the original file opened or the most 
  3049.       recently loaded file name is assumed. Digital Video Extensions 
  3050.    The following additional flags apply to digital video drivers: 
  3051.  
  3052.    MCI_DGV_SAVE_VIDEO_FILE 
  3053.       Saves the motion video device element. 
  3054.    MCI_DGV_SAVE_IMAGE_FILE 
  3055.       Saves the still image device element. 
  3056.  
  3057. dwParam2 (LPMCI_SAVE_PARMS) 
  3058.  
  3059.    A pointer to the MCI_SAVE_PARMS data structure. 
  3060.  
  3061.  
  3062. ΓòÉΓòÉΓòÉ <hidden> Return Values - MCI_SAVE ΓòÉΓòÉΓòÉ
  3063.  
  3064. dwRC (DWORD) 
  3065.  
  3066.    Return codes indicating success or failure: 
  3067.  
  3068.    MCIERR_SUCCESS 
  3069.       If the function succeeds, 0 is returned. 
  3070.  
  3071.    MCIERR_INVALID_DEVICE_ID 
  3072.       Device ID is not valid. 
  3073.  
  3074.    MCIERR_INSTANCE_INACTIVE 
  3075.       Device is currently inactive.  Issue an MCI_ACQUIREDEVICE message to make 
  3076.       device context active. 
  3077.  
  3078.    MCIERR_MISSING_FLAG 
  3079.       Required flag is missing. 
  3080.  
  3081.    MCIERR_UNSUPPORTED_FLAG 
  3082.       Given flag is unsupported for this device. 
  3083.  
  3084.    MCIERR_INVALID_CALLBACK_HANDLE 
  3085.       Given callback handle is invalid. 
  3086.  
  3087.    MCIERR_HARDWARE 
  3088.       Device hardware error. 
  3089.  
  3090.    MCIERR_UNSUPPORTED_FUNCTION 
  3091.       Unsupported function. 
  3092.  
  3093.    MCIERR_INVALID_FLAG 
  3094.       Flag is invalid (dwParam1). 
  3095.  
  3096.    MCIERR_FLAGS_NOT_COMPATIBLE 
  3097.       Flags cannot be used together. 
  3098.  
  3099.    MCIERR_FILE_NOT_FOUND 
  3100.       File has not been loaded. 
  3101.  
  3102.    MCIERR_MISSING_PARAMETER 
  3103.       Required parameter is missing. 
  3104.  
  3105.    MCIERR_OUT_OF_MEMORY 
  3106.       Device out of memory. 
  3107.  
  3108.    MCIERR_TARGET_DEVICE_FULL 
  3109.       Target device is full. 
  3110.  
  3111.  
  3112. ΓòÉΓòÉΓòÉ <hidden> dwParam1 ΓòÉΓòÉΓòÉ
  3113.  
  3114. dwParam1 (DWORD) 
  3115.  
  3116.    The following flags can be used regardless of the type of device: 
  3117.  
  3118.    MCI_NOTIFY 
  3119.       A notification message is to be posted to the window specified in the 
  3120.       dwCallback parameter of the data structure identified by dwParam2 when 
  3121.       the action indicated by this message is completed. 
  3122.    MCI_WAIT 
  3123.       Control is not to be returned until the action indicated by this message 
  3124.       is completed. 
  3125.    MCI_SAVE_FILE 
  3126.       The lpFilename field of the data structure identified by dwParam2 
  3127.       contains a pointer to a buffer containing the destination file name.  If 
  3128.       a file name is not specified, the original file opened or the most 
  3129.       recently loaded file name is assumed. Digital Video Extensions 
  3130.    The following additional flags apply to digital video drivers: 
  3131.  
  3132.    MCI_DGV_SAVE_VIDEO_FILE 
  3133.       Saves the motion video device element. 
  3134.    MCI_DGV_SAVE_IMAGE_FILE 
  3135.       Saves the still image device element. 
  3136.  
  3137.  
  3138. ΓòÉΓòÉΓòÉ <hidden> dwParam2 ΓòÉΓòÉΓòÉ
  3139.  
  3140. dwParam2 (LPMCI_SAVE_PARMS) 
  3141.  
  3142.    A pointer to the MCI_SAVE_PARMS data structure. 
  3143.  
  3144.  
  3145. ΓòÉΓòÉΓòÉ <hidden> dwRC ΓòÉΓòÉΓòÉ
  3146.  
  3147. dwRC (DWORD) 
  3148.  
  3149.    Return codes indicating success or failure: 
  3150.  
  3151.    MCIERR_SUCCESS 
  3152.       If the function succeeds, 0 is returned. 
  3153.  
  3154.    MCIERR_INVALID_DEVICE_ID 
  3155.       Device ID is not valid. 
  3156.  
  3157.    MCIERR_INSTANCE_INACTIVE 
  3158.       Device is currently inactive.  Issue an MCI_ACQUIREDEVICE message to make 
  3159.       device context active. 
  3160.  
  3161.    MCIERR_MISSING_FLAG 
  3162.       Required flag is missing. 
  3163.  
  3164.    MCIERR_UNSUPPORTED_FLAG 
  3165.       Given flag is unsupported for this device. 
  3166.  
  3167.    MCIERR_INVALID_CALLBACK_HANDLE 
  3168.       Given callback handle is invalid. 
  3169.  
  3170.    MCIERR_HARDWARE 
  3171.       Device hardware error. 
  3172.  
  3173.    MCIERR_UNSUPPORTED_FUNCTION 
  3174.       Unsupported function. 
  3175.  
  3176.    MCIERR_INVALID_FLAG 
  3177.       Flag is invalid (dwParam1). 
  3178.  
  3179.    MCIERR_FLAGS_NOT_COMPATIBLE 
  3180.       Flags cannot be used together. 
  3181.  
  3182.    MCIERR_FILE_NOT_FOUND 
  3183.       File has not been loaded. 
  3184.  
  3185.    MCIERR_MISSING_PARAMETER 
  3186.       Required parameter is missing. 
  3187.  
  3188.    MCIERR_OUT_OF_MEMORY 
  3189.       Device out of memory. 
  3190.  
  3191.    MCIERR_TARGET_DEVICE_FULL 
  3192.       Target device is full. 
  3193.  
  3194.  
  3195. ΓòÉΓòÉΓòÉ <hidden> Example Code - MCI_SAVE ΓòÉΓòÉΓòÉ
  3196.  
  3197. The following code illustrates how to save a device element in a new video file 
  3198. and receive notification when the save is complete. 
  3199.  
  3200. WORD wDeviceID;
  3201. HWND hwndMyWindow;
  3202. MCI_SAVE_PARMS msp;
  3203.  
  3204. /* Assign dwCallback the handle to the PM Window */
  3205. msp.dwCallback = (DWORD) hwndMyWindow;
  3206.  
  3207. msp.lpFileName = (DWORD) "rebuttal.avs";    /* File name to save     */
  3208.  
  3209. mciSendCommand( wDeviceID,                  /* Device ID             */
  3210.                 MCI_SAVE,                   /* MCI save messge       */
  3211.                 MCI_NOTIFY | MCI_DGV_SAVE_VIDEO_FILE,
  3212.                                             /* Flags for message     */
  3213.                 (DWORD) msp,               /* Data structure        */
  3214.                 0);                         /* No user parm          */
  3215.  
  3216.  
  3217. ΓòÉΓòÉΓòÉ 5.8. MCI_SET ΓòÉΓòÉΓòÉ
  3218.  
  3219.  
  3220. ΓòÉΓòÉΓòÉ <hidden> Topics - MCI_SET ΓòÉΓòÉΓòÉ
  3221.  
  3222. Select an item: 
  3223.  
  3224. Main Panel 
  3225. Parameters 
  3226. Return Values 
  3227. Notes 
  3228. Default Processing 
  3229. Example 
  3230.  
  3231.  
  3232. ΓòÉΓòÉΓòÉ <hidden> Main - MCI_SET ΓòÉΓòÉΓòÉ
  3233.  
  3234. This message sets device information. 
  3235.  
  3236. Parameters: 
  3237.  
  3238. dwParam1
  3239.     DWORD               dwParam1
  3240.  
  3241. dwParam2
  3242.     LPMCI_DGV_SET_PARMS dwParam2
  3243.  
  3244. returns
  3245.     DWORD               dwRC
  3246.  
  3247.  
  3248. ΓòÉΓòÉΓòÉ <hidden> Notes - MCI_SET ΓòÉΓòÉΓòÉ
  3249.  
  3250. Quality levels can be set individually for audio, video, and image. These 
  3251. preset quality levels enable applications to alter a specified compression 
  3252. algorithm to improve the quality of image capture and motion video and audio 
  3253. recording. 
  3254.  
  3255.  
  3256. ΓòÉΓòÉΓòÉ <hidden> Default Processing - MCI_SET ΓòÉΓòÉΓòÉ
  3257.  
  3258. None. 
  3259.  
  3260.  
  3261. ΓòÉΓòÉΓòÉ <hidden> Parameters - MCI_SET ΓòÉΓòÉΓòÉ
  3262.  
  3263. dwParam1 (DWORD) 
  3264.  
  3265.  
  3266.    The following flags can be used regardless of the type of device.  With the 
  3267.    exception of the MCI_WAIT and MCI_NOTIFY flags, all other flags are mutually 
  3268.    exclusive unless otherwise described. 
  3269.  
  3270.    MCI_NOTIFY 
  3271.       A notification message is to be posted to the window specified in the 
  3272.       dwCallback parameter of the data structure identified by dwParam2 when 
  3273.       the action indicated by this message is completed. 
  3274.    MCI_WAIT 
  3275.       Control is not to be returned until the action indicated by this message 
  3276.       is completed. 
  3277.    MCI_SET_AUDIO 
  3278.       Sets audio attributes of the device context.  A device with audio 
  3279.       capabilities may support both left and right channels.  The channel is 
  3280.       specified in the dwAudio field of the data structure specified by 
  3281.       dwParam2.  The action to be taken is specified with the flags MCI_SET_ON 
  3282.       (which enables audio output at the current volume level), MCI_SET_OFF 
  3283.       (which mutes audio output), or MCI_SET_VOLUME.  Specifying MCI_SET_VOLUME 
  3284.       does not enable audio output if MCI_SET_OFF has been previously 
  3285.       specified. 
  3286.    MCI_SET_RECORD 
  3287.       Sets the audio or video input on or off.  This flag must be used with 
  3288.       either MCI_SET_AUDIO or MCI_SET_VIDEO and MCI_SET_ON or MCI_SET_OFF.  To 
  3289.       record audio only, use with the flags MCI_SET_VIDEO and MCI_SET_OFF.  To 
  3290.       record video only, use with the flags MCI_SET_AUDIO and MCI_SET_OFF. 
  3291.    MCI_SET_VOLUME 
  3292.       Sets the level of audio as a percentage of the maximum audio level as 
  3293.       indicated in the dwLevel field.  The volume level that can be set on the 
  3294.       device might be of coarser granularity than that specified.  In this 
  3295.       case, the actual level can be obtained by issuing a MCI_STATUS message. 
  3296.       If a number greater than 100 is given, then 100 will be used as the 
  3297.       volume setting, and no error will be returned. 
  3298.    MCI_SET_VIDEO 
  3299.       Sets the video output signal on or off.  This flag must be used with 
  3300.       either MCI_SET_ON or MCI_SET_OFF. 
  3301.    MCI_SET_ON 
  3302.       Sets the video or specified audio channel on. The following values can be 
  3303.       specified with MCI_SET_ON: 
  3304.  
  3305.       MCI_SET_AUDIO_ALL 
  3306.       MCI_SET_AUDIO_LEFT 
  3307.       MCI_SET_AUDIO_RIGHT 
  3308.    MCI_SET_OFF 
  3309.       Sets the video or specified audio channel off. The following values can 
  3310.       be specified with MCI_SET_OFF: 
  3311.  
  3312.       MCI_SET_AUDIO_ALL 
  3313.       MCI_SET_AUDIO_LEFT 
  3314.       MCI_SET_AUDIO_RIGHT 
  3315.    MCI_SET_MONITOR 
  3316.       Enables monitoring.  Must be used in conjunction with MCI_SET_ON or 
  3317.       MCI_SET_OFF. 
  3318.    MCI_SET_TIME_FORMAT 
  3319.       Specifies a time format to be used on subsequent commands.  A time-format 
  3320.       parameter must be indicated in the dwTimeFormat field of the data 
  3321.       structure specified by dwParam2 if this flag is used. The following time 
  3322.       formats are supported by digital video devices: 
  3323.  
  3324.       MCI_FORMAT_MMTIME 
  3325.          Changes the time format to MMTIME. 
  3326.       MCI_FORMAT_MILLISECONDS 
  3327.          Changes the time format to milliseconds. 
  3328.       MCI_FORMAT_FRAMES 
  3329.          Changes the time format to frames. 
  3330.       MCI_FORMAT_HMS 
  3331.          Changes the time format to hours, minutes, seconds. 
  3332.    MCI_SET_ITEM 
  3333.       Specifies that an item to be set is specified in the dwItem field of the 
  3334.       data structure pointed to by dwParam2.  Any value associated with the 
  3335.       item is contained in the dwValue field.  Each item defines the use (if 
  3336.       any) and meaning of the value in the dwValue field. 
  3337.  
  3338. dwParam2 (LPMCI_DGV_SET_PARMS) 
  3339.  
  3340.    A pointer to a MCI_DGV_SET_PARMS data structure.  This parameter replaces 
  3341.    the standard default parameter data structure dwParm2(LPMCI_SET_PARMS). 
  3342.    Digital Video Extensions 
  3343.    The following additional flags apply to digital video devices: 
  3344.  
  3345.    MCI_DGV_SET_VIDEO_COMPRESSION 
  3346.       Sets the compression format used for recording digital motion video. 
  3347.  
  3348.       MCI_VID_COMP_RTV_2_1 
  3349.       MCI_VID_COMP_RTV_2_0 
  3350.  
  3351.    MCI_DGV_SET_IMAGE_COMPRESSION 
  3352.       Sets the compression type used for saving still bit maps or images. 
  3353.       Values used are: 
  3354.  
  3355.       MCI_IMG_COMP_PIC9_1_0 
  3356.       MCI_IMG_COMP_JPEG9_1_0 
  3357.  
  3358.    MCI_DGV_SET_AUDIO_COMPRESSION 
  3359.       Sets the compression type used for recording of the associated digital 
  3360.       audio soundtrack.  Values used are: 
  3361.  
  3362.       MCI_AUD_COMP_ADPCM4 
  3363.       MCI_AUD_COMP_PCM8 
  3364.  
  3365.    MCI_DGV_SET_IMAGE_QUALITY 
  3366.       Sets the specified image quality level.  Values used are: 
  3367.  
  3368.       MCI_IMG_QUALITY_HIGH 
  3369.       MCI_IMG_QUALITY_MED 
  3370.       MCI_IMG_QUALITY_LOW 
  3371.  
  3372.    MCI_DGV_SET_VIDEO_QUALITY 
  3373.       Sets the specified video quality level.  Values used are: 
  3374.  
  3375.       MCI_VID_QUALITY_HIGH 
  3376.       MCI_VID_QUALITY_MED 
  3377.       MCI_VID_QUALITY_LOW 
  3378.  
  3379.    MCI_DGV_SET_AUDIO_QUALITY 
  3380.       Sets the specified audio quality level.  Values used are: 
  3381.  
  3382.       MCI_AUD_QUALITY_HIGH 
  3383.       MCI_AUD_QUALITY_MED 
  3384.       MCI_AUD_QUALITY-LOW 
  3385.  
  3386.  
  3387. ΓòÉΓòÉΓòÉ <hidden> Return Values - MCI_SET ΓòÉΓòÉΓòÉ
  3388.  
  3389. dwRC (DWORD) 
  3390.  
  3391.    Return codes indicating success or type of failure: 
  3392.  
  3393.    MCIERR_SUCCESS 
  3394.       If the function succeeds, 0 is returned. 
  3395.  
  3396.    MCIERR_INVALID_DEVICE_ID 
  3397.       Device ID is not valid. 
  3398.  
  3399.    MCIERR_INSTANCE_INACTIVE 
  3400.       Device ID is currently inactive.  Issue an MCI_ACQUIREDEVICE message to 
  3401.       make the ID active. 
  3402.  
  3403.    MCIERR_MISSING_FLAG 
  3404.       Required flag is missing. 
  3405.  
  3406.    MCIERR_INVALID_MODE 
  3407.       Current mode of the device prevents the message from being accepted. 
  3408.  
  3409.    MCIERR_UNSUPPORTED_FLAG 
  3410.       Given flag is unsupported for this device. 
  3411.  
  3412.    MCIERR_INVALID_CALLBACK_HANDLE 
  3413.       Given callback handle is invalid. 
  3414.  
  3415.    MCIERR_HARDWARE 
  3416.       Device hardware error. 
  3417.  
  3418.    MCIERR_UNSUPPORTED_FUNCTION 
  3419.       Function is not supported. 
  3420.  
  3421.    MCIERR_INVALID_FLAG 
  3422.       Flag is invalid (dwParam1). 
  3423.  
  3424.    MCIERR_FLAGS_NOT_COMPATABLE 
  3425.       Flags cannot be used together. 
  3426.  
  3427.    MCIERR_INVALID_TIME_FORMAT_FLAG 
  3428.       Invalid time format flag given. 
  3429.  
  3430.    MCIERR_INVALID_AUDIO_FLAG 
  3431.       Invalid audio flag given. 
  3432.  
  3433.    MCIERR_OUT_OF_MEMORY 
  3434.       Out of memory. 
  3435.  
  3436.    MCIERR_MISSING_PARAMETER 
  3437.       Required parameter is missing. 
  3438.  
  3439.    MCIERR_CANNOT_CHANGE_CHANNEL 
  3440.       Cannot change channel. 
  3441.  
  3442.    MCIERR_INVALID_ITEM_FLAG 
  3443.       Given flag is not correct. 
  3444.  
  3445.    MCIERR_MISSING_ITEM 
  3446.       Missing set item flag. 
  3447.  
  3448.  
  3449. ΓòÉΓòÉΓòÉ <hidden> dwParam1 ΓòÉΓòÉΓòÉ
  3450.  
  3451. dwParam1 (DWORD) 
  3452.  
  3453.  
  3454.    The following flags can be used regardless of the type of device.  With the 
  3455.    exception of the MCI_WAIT and MCI_NOTIFY flags, all other flags are mutually 
  3456.    exclusive unless otherwise described. 
  3457.  
  3458.    MCI_NOTIFY 
  3459.       A notification message is to be posted to the window specified in the 
  3460.       dwCallback parameter of the data structure identified by dwParam2 when 
  3461.       the action indicated by this message is completed. 
  3462.    MCI_WAIT 
  3463.       Control is not to be returned until the action indicated by this message 
  3464.       is completed. 
  3465.    MCI_SET_AUDIO 
  3466.       Sets audio attributes of the device context.  A device with audio 
  3467.       capabilities may support both left and right channels.  The channel is 
  3468.       specified in the dwAudio field of the data structure specified by 
  3469.       dwParam2.  The action to be taken is specified with the flags MCI_SET_ON 
  3470.       (which enables audio output at the current volume level), MCI_SET_OFF 
  3471.       (which mutes audio output), or MCI_SET_VOLUME.  Specifying MCI_SET_VOLUME 
  3472.       does not enable audio output if MCI_SET_OFF has been previously 
  3473.       specified. 
  3474.    MCI_SET_RECORD 
  3475.       Sets the audio or video input on or off.  This flag must be used with 
  3476.       either MCI_SET_AUDIO or MCI_SET_VIDEO and MCI_SET_ON or MCI_SET_OFF.  To 
  3477.       record audio only, use with the flags MCI_SET_VIDEO and MCI_SET_OFF.  To 
  3478.       record video only, use with the flags MCI_SET_AUDIO and MCI_SET_OFF. 
  3479.    MCI_SET_VOLUME 
  3480.       Sets the level of audio as a percentage of the maximum audio level as 
  3481.       indicated in the dwLevel field.  The volume level that can be set on the 
  3482.       device might be of coarser granularity than that specified.  In this 
  3483.       case, the actual level can be obtained by issuing a MCI_STATUS message. 
  3484.       If a number greater than 100 is given, then 100 will be used as the 
  3485.       volume setting, and no error will be returned. 
  3486.    MCI_SET_VIDEO 
  3487.       Sets the video output signal on or off.  This flag must be used with 
  3488.       either MCI_SET_ON or MCI_SET_OFF. 
  3489.    MCI_SET_ON 
  3490.       Sets the video or specified audio channel on. The following values can be 
  3491.       specified with MCI_SET_ON: 
  3492.  
  3493.       MCI_SET_AUDIO_ALL 
  3494.       MCI_SET_AUDIO_LEFT 
  3495.       MCI_SET_AUDIO_RIGHT 
  3496.    MCI_SET_OFF 
  3497.       Sets the video or specified audio channel off. The following values can 
  3498.       be specified with MCI_SET_OFF: 
  3499.  
  3500.       MCI_SET_AUDIO_ALL 
  3501.       MCI_SET_AUDIO_LEFT 
  3502.       MCI_SET_AUDIO_RIGHT 
  3503.    MCI_SET_MONITOR 
  3504.       Enables monitoring.  Must be used in conjunction with MCI_SET_ON or 
  3505.       MCI_SET_OFF. 
  3506.    MCI_SET_TIME_FORMAT 
  3507.       Specifies a time format to be used on subsequent commands.  A time-format 
  3508.       parameter must be indicated in the dwTimeFormat field of the data 
  3509.       structure specified by dwParam2 if this flag is used. The following time 
  3510.       formats are supported by digital video devices: 
  3511.  
  3512.       MCI_FORMAT_MMTIME 
  3513.          Changes the time format to MMTIME. 
  3514.       MCI_FORMAT_MILLISECONDS 
  3515.          Changes the time format to milliseconds. 
  3516.       MCI_FORMAT_FRAMES 
  3517.          Changes the time format to frames. 
  3518.       MCI_FORMAT_HMS 
  3519.          Changes the time format to hours, minutes, seconds. 
  3520.    MCI_SET_ITEM 
  3521.       Specifies that an item to be set is specified in the dwItem field of the 
  3522.       data structure pointed to by dwParam2.  Any value associated with the 
  3523.       item is contained in the dwValue field.  Each item defines the use (if 
  3524.       any) and meaning of the value in the dwValue field. 
  3525.  
  3526.  
  3527. ΓòÉΓòÉΓòÉ <hidden> dwParam2 ΓòÉΓòÉΓòÉ
  3528.  
  3529. dwParam2 (LPMCI_DGV_SET_PARMS) 
  3530.  
  3531.    A pointer to a MCI_DGV_SET_PARMS data structure.  This parameter replaces 
  3532.    the standard default parameter data structure dwParm2(LPMCI_SET_PARMS). 
  3533.    Digital Video Extensions 
  3534.    The following additional flags apply to digital video devices: 
  3535.  
  3536.    MCI_DGV_SET_VIDEO_COMPRESSION 
  3537.       Sets the compression format used for recording digital motion video. 
  3538.  
  3539.       MCI_VID_COMP_RTV_2_1 
  3540.       MCI_VID_COMP_RTV_2_0 
  3541.  
  3542.    MCI_DGV_SET_IMAGE_COMPRESSION 
  3543.       Sets the compression type used for saving still bit maps or images. 
  3544.       Values used are: 
  3545.  
  3546.       MCI_IMG_COMP_PIC9_1_0 
  3547.       MCI_IMG_COMP_JPEG9_1_0 
  3548.  
  3549.    MCI_DGV_SET_AUDIO_COMPRESSION 
  3550.       Sets the compression type used for recording of the associated digital 
  3551.       audio soundtrack.  Values used are: 
  3552.  
  3553.       MCI_AUD_COMP_ADPCM4 
  3554.       MCI_AUD_COMP_PCM8 
  3555.  
  3556.    MCI_DGV_SET_IMAGE_QUALITY 
  3557.       Sets the specified image quality level.  Values used are: 
  3558.  
  3559.       MCI_IMG_QUALITY_HIGH 
  3560.       MCI_IMG_QUALITY_MED 
  3561.       MCI_IMG_QUALITY_LOW 
  3562.  
  3563.    MCI_DGV_SET_VIDEO_QUALITY 
  3564.       Sets the specified video quality level.  Values used are: 
  3565.  
  3566.       MCI_VID_QUALITY_HIGH 
  3567.       MCI_VID_QUALITY_MED 
  3568.       MCI_VID_QUALITY_LOW 
  3569.  
  3570.    MCI_DGV_SET_AUDIO_QUALITY 
  3571.       Sets the specified audio quality level.  Values used are: 
  3572.  
  3573.       MCI_AUD_QUALITY_HIGH 
  3574.       MCI_AUD_QUALITY_MED 
  3575.       MCI_AUD_QUALITY-LOW 
  3576.  
  3577.  
  3578. ΓòÉΓòÉΓòÉ <hidden> dwRC ΓòÉΓòÉΓòÉ
  3579.  
  3580. dwRC (DWORD) 
  3581.  
  3582.    Return codes indicating success or type of failure: 
  3583.  
  3584.    MCIERR_SUCCESS 
  3585.       If the function succeeds, 0 is returned. 
  3586.  
  3587.    MCIERR_INVALID_DEVICE_ID 
  3588.       Device ID is not valid. 
  3589.  
  3590.    MCIERR_INSTANCE_INACTIVE 
  3591.       Device ID is currently inactive.  Issue an MCI_ACQUIREDEVICE message to 
  3592.       make the ID active. 
  3593.  
  3594.    MCIERR_MISSING_FLAG 
  3595.       Required flag is missing. 
  3596.  
  3597.    MCIERR_INVALID_MODE 
  3598.       Current mode of the device prevents the message from being accepted. 
  3599.  
  3600.    MCIERR_UNSUPPORTED_FLAG 
  3601.       Given flag is unsupported for this device. 
  3602.  
  3603.    MCIERR_INVALID_CALLBACK_HANDLE 
  3604.       Given callback handle is invalid. 
  3605.  
  3606.    MCIERR_HARDWARE 
  3607.       Device hardware error. 
  3608.  
  3609.    MCIERR_UNSUPPORTED_FUNCTION 
  3610.       Function is not supported. 
  3611.  
  3612.    MCIERR_INVALID_FLAG 
  3613.       Flag is invalid (dwParam1). 
  3614.  
  3615.    MCIERR_FLAGS_NOT_COMPATABLE 
  3616.       Flags cannot be used together. 
  3617.  
  3618.    MCIERR_INVALID_TIME_FORMAT_FLAG 
  3619.       Invalid time format flag given. 
  3620.  
  3621.    MCIERR_INVALID_AUDIO_FLAG 
  3622.       Invalid audio flag given. 
  3623.  
  3624.    MCIERR_OUT_OF_MEMORY 
  3625.       Out of memory. 
  3626.  
  3627.    MCIERR_MISSING_PARAMETER 
  3628.       Required parameter is missing. 
  3629.  
  3630.    MCIERR_CANNOT_CHANGE_CHANNEL 
  3631.       Cannot change channel. 
  3632.  
  3633.    MCIERR_INVALID_ITEM_FLAG 
  3634.       Given flag is not correct. 
  3635.  
  3636.    MCIERR_MISSING_ITEM 
  3637.       Missing set item flag. 
  3638.  
  3639.  
  3640. ΓòÉΓòÉΓòÉ <hidden> Example Code - MCI_SET ΓòÉΓòÉΓòÉ
  3641.  
  3642. The following code illustrates setting audio attributes.  In this example both 
  3643. left and right channels are specified, and the volume level is set at 50%. 
  3644.  
  3645. WORD wDeviceID;
  3646. MCI_DGV_SET_PARMS mwsp;
  3647. HWND hwndMyWindow;
  3648.  
  3649.    /* Assign dwCallback the handle to the PM Window */
  3650.    mwsp.dwCallback = (DWORD) hwndMyWindow;
  3651.  
  3652.    mwsp.dwAudio = MCI_SET_AUDIO_ALL;    /* Set both left and right */
  3653.    mwsp.dwLevel = (DWORD) 50;           /* volume level 50%        */
  3654.  
  3655.    mciSendCommand( wDeviceID,           /* Device ID               */
  3656.                    MCI_SET,             /* MCI set message         */
  3657.                    MCI_NOTIFY | MCI_SET_AUDIO | MCI_SET_VOLUME,
  3658.                                         /* Flags for this message  */
  3659.                    (DWORD) mwsp,       /* Data structure          */
  3660.                    0);                  /* No user parm            */
  3661.  
  3662.  
  3663. ΓòÉΓòÉΓòÉ 5.9. MCI_STATUS ΓòÉΓòÉΓòÉ
  3664.  
  3665.  
  3666. ΓòÉΓòÉΓòÉ <hidden> Topics - MCI_STATUS ΓòÉΓòÉΓòÉ
  3667.  
  3668. Select an item: 
  3669.  
  3670. Main Panel 
  3671. Parameters 
  3672. Return Values 
  3673. Notes 
  3674. Default Processing 
  3675. Example 
  3676.  
  3677.  
  3678. ΓòÉΓòÉΓòÉ <hidden> Main - MCI_STATUS ΓòÉΓòÉΓòÉ
  3679.  
  3680. This message obtains information about the status of the ActionMedia II device. 
  3681.  
  3682. Parameters: 
  3683.  
  3684. dwParam1
  3685.     DWORD              dwParam1
  3686.  
  3687. dwParam2
  3688.     LPMCI_STATUS_PARMS dwParam2
  3689.  
  3690. returns
  3691.     DWORD              dwRC     Return codes indicating success or type of failure.
  3692.  
  3693.  
  3694. ΓòÉΓòÉΓòÉ <hidden> Notes - MCI_STATUS ΓòÉΓòÉΓòÉ
  3695.  
  3696. The parameters and flags for this message vary according to the selected 
  3697. device.  All devices support this message, and the applicable status items for 
  3698. each device are listed with each parameter. 
  3699.  
  3700.  
  3701. ΓòÉΓòÉΓòÉ <hidden> Default Processing - MCI_STATUS ΓòÉΓòÉΓòÉ
  3702.  
  3703. None. 
  3704.  
  3705.  
  3706. ΓòÉΓòÉΓòÉ <hidden> Parameters - MCI_STATUS ΓòÉΓòÉΓòÉ
  3707.  
  3708. dwParam1 (DWORD) 
  3709.  
  3710.  
  3711.    The following flags can be used regardless of the type of device: 
  3712.  
  3713.    MCI_NOTIFY 
  3714.       A notification message is to be posted to the window specified in the 
  3715.       dwCallback parameter of the data structure identified by dwParam2 when 
  3716.       the action indicated by this message is completed. 
  3717.    MCI_WAIT 
  3718.       Control is not to be returned until the action indicated by this message 
  3719.       is completed. 
  3720.    MCI_STATUS_START 
  3721.       Returns the starting position of the media. 
  3722.    MCI_STATUS_ITEM 
  3723.       Indicates that the dwItem field of the data structure identified by 
  3724.       dwParam2 contains a constant specifying the status item in question. 
  3725.  
  3726. dwParam2 (LPMCI_STATUS_PARMS) 
  3727.  
  3728.    A pointer to the MCI_STATUS_PARMS data structure. 
  3729.    The following flags are standard item values that can be used in the dwItem 
  3730.    field of the LPMCI_STATUS_PARMS data structure regardless of the type of 
  3731.    device: 
  3732.  
  3733.    MCI_STATUS_LENGTH 
  3734.       Returns the total media length in units as specified in the MCI_SET 
  3735.       message and the MCI_SET_TIME_FORMAT flag. If the media length cannot be 
  3736.       determined, MCIERR_INDETERMINATE_LENGTH is returned. 
  3737.    MCI_STATUS_MODE 
  3738.       Returns the current mode of the device.  Possible values are: 
  3739.  
  3740.       MCI_MODE_PAUSE 
  3741.       MCI_MODE_PLAY 
  3742.       MCI_MODE_STOP 
  3743.       MCI_MODE_RECORD 
  3744.       MCI_MODE_SEEK 
  3745.    MCI_STATUS_MONITOR 
  3746.       Returns MCI_ON or MCI_OFF to indicate whether monitoring of the incoming 
  3747.       video signal  is set on or off. 
  3748.    MCI_STATUS_POSITION 
  3749.       Returns the current position. 
  3750.    MCI_STATUS_READY 
  3751.       Returns MCI_TRUE if the device is ready; otherwise, returns MCI_FALSE. 
  3752.    MCI_STATUS_SPEED_FORMAT 
  3753.       Returns the currently set speed format.  The only speed format that can 
  3754.       be set is: 
  3755.  
  3756.       MCI_FORMAT_FPS 
  3757.    MCI_STATUS_TIME_FORMAT 
  3758.       Returns the currently set time format.  Possible values are: 
  3759.  
  3760.       MCI_FORMAT_MILLISECONDS 
  3761.       MCI_FORMAT_MMTIME 
  3762.       MCI_FORMAT_FRAMES 
  3763.       MCI_FORMAT_HMS 
  3764.    MCI_STATUS_VOLUME 
  3765.       Returns the actual volume level set in the device as a percentage of the 
  3766.       maximum achievable effect. The left channel is returned in the low-order 
  3767.       word, and the right channel is returned in the high-order word. Digital 
  3768.    Video Extensions 
  3769.    The following additional status items apply to digital video devices: 
  3770.  
  3771.    MCI_DGV_STATUS_HWND 
  3772.       Returns the handle of the playback window. 
  3773.    MCI_DGV_STATUS_AUDIO_COMPRESSION 
  3774.       Returns the current compression format for playback or recording the 
  3775.       associated audio sound track. 
  3776.    MCI_DGV_STATUS_VIDEO_COMPRESSION 
  3777.       Returns the current compression format for playback or recording of 
  3778.       motion video. 
  3779.    MCI_DGV_STATUS_IMAGE_COMPRESSION 
  3780.       Returns the compression format currently set for capturing a loaded 
  3781.       image. 
  3782.    MCI_DGV_STATUS_AUDIO_QUALITY 
  3783.       Returns the currently set audio quality level for recording the 
  3784.       associated audio sound track. 
  3785.    MCI_DGV_STATUS_VIDEO_QUALITY 
  3786.       Returns the currently set video quality level for recording of motion 
  3787.       video. 
  3788.    MCI_DGV_STATUS_IMAGE_QUALITY 
  3789.       Returns the currently set quality level for saving image data. 
  3790.    MCI_DGV_STATUS_FORWARD 
  3791.       Returns MCI_TRUE. 
  3792.    MCI_DGV_STATUS_VIDEO_X_EXTENT 
  3793.       Returns the horizontal (X) extent of the digital motion video image for 
  3794.       the currently loaded motion video device element. 
  3795.    MCI_DGV_STATUS_VIDEO_Y_EXTENT 
  3796.       Returns the vertical (Y) extent of the digital motion video image for the 
  3797.       currently loaded motion video device element. 
  3798.    MCI_DGV_STATUS_IMAGE_X_EXTENT 
  3799.       Returns the horizontal (X) extent of the currently loaded still image 
  3800.       device element. 
  3801.    MCI_DGV_STATUS_IMAGE_Y_EXTENT 
  3802.       Returns the vertical (Y) extent of the currently loaded still image 
  3803.       device element. 
  3804.  
  3805.  
  3806. ΓòÉΓòÉΓòÉ <hidden> Return Values - MCI_STATUS ΓòÉΓòÉΓòÉ
  3807.  
  3808. dwRC (DWORD) 
  3809.    Return codes indicating success or type of failure. 
  3810.  
  3811.    MCIERR_SUCCESS 
  3812.       If the function succeeds, 0 is returned. 
  3813.  
  3814.    MCIERR_INVALID_DEVICE_ID 
  3815.       Device ID is not valid. 
  3816.  
  3817.    MCIERR_MISSING_FLAG 
  3818.       A required flag is missing. 
  3819.  
  3820.    MCIERR_UNSUPPORTED_FLAG 
  3821.       Given flag is unsupported for this device. 
  3822.  
  3823.    MCIERR_INVALID_CALLBACK_HANDLE 
  3824.       Given callback handle is invalid. 
  3825.  
  3826.    MCIERR_HARDWARE 
  3827.       Device hardware error. 
  3828.  
  3829.    MCIERR_UNSUPPORTED_FUNCTION 
  3830.       Unsupported function. 
  3831.  
  3832.    MCIERR_INVALID_FLAG 
  3833.       Flag is invalid (dwParam1). 
  3834.  
  3835.    MCIERR_FLAGS_NOT_COMPATIBLE 
  3836.       Flags cannot be used together. 
  3837.  
  3838.    MCIERR_INVALID_ITEM_FLAG 
  3839.       Invalid status item flag given. 
  3840.  
  3841.    MCIERR_MISSING_ITEM 
  3842.       Missing status item flag. 
  3843.  
  3844.    MCIERR_MISSING_PARAMETER 
  3845.       Required parameter is missing. 
  3846.  
  3847.    MCIERR_INVALID_BUFFER 
  3848.       Invalid return buffer given. 
  3849.  
  3850.  
  3851. ΓòÉΓòÉΓòÉ <hidden> dwParam1 ΓòÉΓòÉΓòÉ
  3852.  
  3853. dwParam1 (DWORD) 
  3854.  
  3855.  
  3856.    The following flags can be used regardless of the type of device: 
  3857.  
  3858.    MCI_NOTIFY 
  3859.       A notification message is to be posted to the window specified in the 
  3860.       dwCallback parameter of the data structure identified by dwParam2 when 
  3861.       the action indicated by this message is completed. 
  3862.    MCI_WAIT 
  3863.       Control is not to be returned until the action indicated by this message 
  3864.       is completed. 
  3865.    MCI_STATUS_START 
  3866.       Returns the starting position of the media. 
  3867.    MCI_STATUS_ITEM 
  3868.       Indicates that the dwItem field of the data structure identified by 
  3869.       dwParam2 contains a constant specifying the status item in question. 
  3870.  
  3871.  
  3872. ΓòÉΓòÉΓòÉ <hidden> dwParam2 ΓòÉΓòÉΓòÉ
  3873.  
  3874. dwParam2 (LPMCI_STATUS_PARMS) 
  3875.  
  3876.    A pointer to the MCI_STATUS_PARMS data structure. 
  3877.    The following flags are standard item values that can be used in the dwItem 
  3878.    field of the LPMCI_STATUS_PARMS data structure regardless of the type of 
  3879.    device: 
  3880.  
  3881.    MCI_STATUS_LENGTH 
  3882.       Returns the total media length in units as specified in the MCI_SET 
  3883.       message and the MCI_SET_TIME_FORMAT flag. If the media length cannot be 
  3884.       determined, MCIERR_INDETERMINATE_LENGTH is returned. 
  3885.    MCI_STATUS_MODE 
  3886.       Returns the current mode of the device.  Possible values are: 
  3887.  
  3888.       MCI_MODE_PAUSE 
  3889.       MCI_MODE_PLAY 
  3890.       MCI_MODE_STOP 
  3891.       MCI_MODE_RECORD 
  3892.       MCI_MODE_SEEK 
  3893.    MCI_STATUS_MONITOR 
  3894.       Returns MCI_ON or MCI_OFF to indicate whether monitoring of the incoming 
  3895.       video signal  is set on or off. 
  3896.    MCI_STATUS_POSITION 
  3897.       Returns the current position. 
  3898.    MCI_STATUS_READY 
  3899.       Returns MCI_TRUE if the device is ready; otherwise, returns MCI_FALSE. 
  3900.    MCI_STATUS_SPEED_FORMAT 
  3901.       Returns the currently set speed format.  The only speed format that can 
  3902.       be set is: 
  3903.  
  3904.       MCI_FORMAT_FPS 
  3905.    MCI_STATUS_TIME_FORMAT 
  3906.       Returns the currently set time format.  Possible values are: 
  3907.  
  3908.       MCI_FORMAT_MILLISECONDS 
  3909.       MCI_FORMAT_MMTIME 
  3910.       MCI_FORMAT_FRAMES 
  3911.       MCI_FORMAT_HMS 
  3912.    MCI_STATUS_VOLUME 
  3913.       Returns the actual volume level set in the device as a percentage of the 
  3914.       maximum achievable effect. The left channel is returned in the low-order 
  3915.       word, and the right channel is returned in the high-order word. Digital 
  3916.    Video Extensions 
  3917.    The following additional status items apply to digital video devices: 
  3918.  
  3919.    MCI_DGV_STATUS_HWND 
  3920.       Returns the handle of the playback window. 
  3921.    MCI_DGV_STATUS_AUDIO_COMPRESSION 
  3922.       Returns the current compression format for playback or recording the 
  3923.       associated audio sound track. 
  3924.    MCI_DGV_STATUS_VIDEO_COMPRESSION 
  3925.       Returns the current compression format for playback or recording of 
  3926.       motion video. 
  3927.    MCI_DGV_STATUS_IMAGE_COMPRESSION 
  3928.       Returns the compression format currently set for capturing a loaded 
  3929.       image. 
  3930.    MCI_DGV_STATUS_AUDIO_QUALITY 
  3931.       Returns the currently set audio quality level for recording the 
  3932.       associated audio sound track. 
  3933.    MCI_DGV_STATUS_VIDEO_QUALITY 
  3934.       Returns the currently set video quality level for recording of motion 
  3935.       video. 
  3936.    MCI_DGV_STATUS_IMAGE_QUALITY 
  3937.       Returns the currently set quality level for saving image data. 
  3938.    MCI_DGV_STATUS_FORWARD 
  3939.       Returns MCI_TRUE. 
  3940.    MCI_DGV_STATUS_VIDEO_X_EXTENT 
  3941.       Returns the horizontal (X) extent of the digital motion video image for 
  3942.       the currently loaded motion video device element. 
  3943.    MCI_DGV_STATUS_VIDEO_Y_EXTENT 
  3944.       Returns the vertical (Y) extent of the digital motion video image for the 
  3945.       currently loaded motion video device element. 
  3946.    MCI_DGV_STATUS_IMAGE_X_EXTENT 
  3947.       Returns the horizontal (X) extent of the currently loaded still image 
  3948.       device element. 
  3949.    MCI_DGV_STATUS_IMAGE_Y_EXTENT 
  3950.       Returns the vertical (Y) extent of the currently loaded still image 
  3951.       device element. 
  3952.  
  3953.  
  3954. ΓòÉΓòÉΓòÉ <hidden> dwRC ΓòÉΓòÉΓòÉ
  3955.  
  3956. dwRC (DWORD) 
  3957.    Return codes indicating success or type of failure. 
  3958.  
  3959.    MCIERR_SUCCESS 
  3960.       If the function succeeds, 0 is returned. 
  3961.  
  3962.    MCIERR_INVALID_DEVICE_ID 
  3963.       Device ID is not valid. 
  3964.  
  3965.    MCIERR_MISSING_FLAG 
  3966.       A required flag is missing. 
  3967.  
  3968.    MCIERR_UNSUPPORTED_FLAG 
  3969.       Given flag is unsupported for this device. 
  3970.  
  3971.    MCIERR_INVALID_CALLBACK_HANDLE 
  3972.       Given callback handle is invalid. 
  3973.  
  3974.    MCIERR_HARDWARE 
  3975.       Device hardware error. 
  3976.  
  3977.    MCIERR_UNSUPPORTED_FUNCTION 
  3978.       Unsupported function. 
  3979.  
  3980.    MCIERR_INVALID_FLAG 
  3981.       Flag is invalid (dwParam1). 
  3982.  
  3983.    MCIERR_FLAGS_NOT_COMPATIBLE 
  3984.       Flags cannot be used together. 
  3985.  
  3986.    MCIERR_INVALID_ITEM_FLAG 
  3987.       Invalid status item flag given. 
  3988.  
  3989.    MCIERR_MISSING_ITEM 
  3990.       Missing status item flag. 
  3991.  
  3992.    MCIERR_MISSING_PARAMETER 
  3993.       Required parameter is missing. 
  3994.  
  3995.    MCIERR_INVALID_BUFFER 
  3996.       Invalid return buffer given. 
  3997.  
  3998.  
  3999. ΓòÉΓòÉΓòÉ <hidden> Example Code - MCI_STATUS ΓòÉΓòÉΓòÉ
  4000.  
  4001. The following code illustrates getting the current position in the file. 
  4002.  
  4003.  WORD     wDeviceID;
  4004.  DWORD    dwerror;
  4005.  DWORD    dwPosition;      /* Value for current position */
  4006.  MCI_STATUS_PARMS  mstatusp;
  4007.  
  4008.  mstatusp.dwItem = MCI_STATUS_POSITION;
  4009.  
  4010.  dwError = mciSendCommand( wDeviceID,        /* Device ID              */
  4011.                            MCI_STATUS,       /* MCI status message     */
  4012.                            MCI_WAIT | MCI_STATUS_ITEM,
  4013.                                              /* Flags for this message */
  4014.                            (DWORD) mstatusp,/* Data structure         */
  4015.                            0);               /* No user parm           */
  4016.  
  4017.  if (dwError == MCIERR_SUCCESS)
  4018.    {
  4019.      dwPosition = mstatusp.dwReturn; /* Position status                   */
  4020.    }
  4021.  
  4022.  
  4023. ΓòÉΓòÉΓòÉ 5.10. MCI_WINDOW ΓòÉΓòÉΓòÉ
  4024.  
  4025.  
  4026. ΓòÉΓòÉΓòÉ <hidden> Topics - MCI_WINDOW ΓòÉΓòÉΓòÉ
  4027.  
  4028. Select an item: 
  4029.  
  4030. Main Panel 
  4031. Parameters 
  4032. Return Values 
  4033. Notes 
  4034. Default Processing 
  4035. Example 
  4036.  
  4037.  
  4038. ΓòÉΓòÉΓòÉ <hidden> Main - MCI_WINDOW ΓòÉΓòÉΓòÉ
  4039.  
  4040. This message specifies an application window to be used by the ActionMedia II 
  4041. device for displaying digital video. 
  4042.  
  4043. Parameters: 
  4044.  
  4045. dwParam1
  4046.     DWORD                  dwParam1
  4047.  
  4048. dwParam2
  4049.     LPMCI_DGV_WINDOW_PARMS dwParam2
  4050.  
  4051. returns
  4052.     DWORD                  dwRC     Return codes indicating success or type of failure.
  4053.  
  4054.  
  4055. ΓòÉΓòÉΓòÉ <hidden> Notes - MCI_WINDOW ΓòÉΓòÉΓòÉ
  4056.  
  4057. By default, the ActionMedia II digital video device creates a window when an 
  4058. application opens the device, but it does not display the window until an 
  4059. MCI_CUE, MCI_PLAY, MCI_RECORD, or MCI_SET_MONITOR_ON command is received. The 
  4060. MCI_WINDOW command tells the device to use the specified application window 
  4061. instead of the default window to display motion video or still images. 
  4062. Applications that supply window handles to the digital video device must be 
  4063. prepared to update an invalid rectangle on the window. 
  4064.  
  4065. Several flags are provided to allow users to manipulate the window. Since the 
  4066. MCI_STATUS command can be used to obtain the current window handle, programmers 
  4067. may opt to use the standard window APIs instead. The flags are provided so 
  4068. applications that use the string interface can perform standard operations. 
  4069.  
  4070.  
  4071. ΓòÉΓòÉΓòÉ <hidden> Default Processing - MCI_WINDOW ΓòÉΓòÉΓòÉ
  4072.  
  4073. None. 
  4074.  
  4075.  
  4076. ΓòÉΓòÉΓòÉ <hidden> Parameters - MCI_WINDOW ΓòÉΓòÉΓòÉ
  4077.  
  4078. dwParam1 (DWORD) 
  4079.  
  4080.    The following flags apply to all devices supporting MCI_WINDOW: 
  4081.  
  4082.    MCI_NOTIFY 
  4083.       A notification message is to be posted to the window specified in the 
  4084.       dwCallback parameter of the data structure identified by dwParam2 when 
  4085.       the action indicated by this message is completed. 
  4086.    MCI_WAIT 
  4087.       Control is not to be returned until the action indicated by this message 
  4088.       is completed. 
  4089.  
  4090. dwParam2 (LPMCI_DGV_WINDOW_PARMS) 
  4091.  
  4092.    A pointer to a MCI_DGV_WINDOW_PARMS data structure. 
  4093.    The following flags apply to digital video devices: 
  4094.  
  4095.    MCI_DGV_WINDOW_HWND 
  4096.       Indicates that the handle of the client window used for the destination 
  4097.       is included in the hwndDest field of the data structure. 
  4098.    MCI_DGV_WINDOW_DEFAULT 
  4099.       Indicates a  return to the default window. 
  4100.    MCI_DGV_WINDOW_STATE 
  4101.       Indicates that the wCmdShow field of the data structure contains a 
  4102.       parameter for setting the window state. The following standard 
  4103.       Presentation Manager flags can be used: 
  4104.  
  4105.       SWP_HIDE 
  4106.       SWP_MAXIMIZE 
  4107.       SWP_MINIMIZE 
  4108.       SWP_SHOW 
  4109.       SWP_RESTORE 
  4110.       SWP_ACTIVATE 
  4111.       SWP_DEACTIVATE 
  4112.    MCI_DGV_WINDOW_TEXT 
  4113.       Indicates that the lpstrText field of the data structure pointed to by 
  4114.       dwParam2 contains a pointer to a buffer containing the caption used for 
  4115.       the window. 
  4116.  
  4117.  
  4118. ΓòÉΓòÉΓòÉ <hidden> Return Values - MCI_WINDOW ΓòÉΓòÉΓòÉ
  4119.  
  4120. dwRC (DWORD) 
  4121.    Return codes indicating success or type of failure. 
  4122.  
  4123.    MCIERR_SUCCESS 
  4124.       If the function succeeds. 
  4125.  
  4126.    MCIERR_INVALID_DEVICE_ID 
  4127.       Device ID is not valid. 
  4128.  
  4129.    MCIERR_MISSING_FLAG 
  4130.       Required flag is missing. 
  4131.  
  4132.    MCIERR_INVALID_FLAG 
  4133.       Flag is invalid (dwParam1). 
  4134.  
  4135.    MCIERR_UNSUPPORTED_FLAG 
  4136.       Given flag is unsupported for this device. 
  4137.  
  4138.    MCIERR_INVALID_CALLBACK_HANDLE 
  4139.       Callback or client window handle invalid. 
  4140.  
  4141.  
  4142. ΓòÉΓòÉΓòÉ <hidden> dwParam1 ΓòÉΓòÉΓòÉ
  4143.  
  4144. dwParam1 (DWORD) 
  4145.  
  4146.    The following flags apply to all devices supporting MCI_WINDOW: 
  4147.  
  4148.    MCI_NOTIFY 
  4149.       A notification message is to be posted to the window specified in the 
  4150.       dwCallback parameter of the data structure identified by dwParam2 when 
  4151.       the action indicated by this message is completed. 
  4152.    MCI_WAIT 
  4153.       Control is not to be returned until the action indicated by this message 
  4154.       is completed. 
  4155.  
  4156.  
  4157. ΓòÉΓòÉΓòÉ <hidden> dwParam2 ΓòÉΓòÉΓòÉ
  4158.  
  4159. dwParam2 (LPMCI_DGV_WINDOW_PARMS) 
  4160.  
  4161.    A pointer to a MCI_DGV_WINDOW_PARMS data structure. 
  4162.    The following flags apply to digital video devices: 
  4163.  
  4164.    MCI_DGV_WINDOW_HWND 
  4165.       Indicates that the handle of the client window used for the destination 
  4166.       is included in the hwndDest field of the data structure. 
  4167.    MCI_DGV_WINDOW_DEFAULT 
  4168.       Indicates a  return to the default window. 
  4169.    MCI_DGV_WINDOW_STATE 
  4170.       Indicates that the wCmdShow field of the data structure contains a 
  4171.       parameter for setting the window state. The following standard 
  4172.       Presentation Manager flags can be used: 
  4173.  
  4174.       SWP_HIDE 
  4175.       SWP_MAXIMIZE 
  4176.       SWP_MINIMIZE 
  4177.       SWP_SHOW 
  4178.       SWP_RESTORE 
  4179.       SWP_ACTIVATE 
  4180.       SWP_DEACTIVATE 
  4181.    MCI_DGV_WINDOW_TEXT 
  4182.       Indicates that the lpstrText field of the data structure pointed to by 
  4183.       dwParam2 contains a pointer to a buffer containing the caption used for 
  4184.       the window. 
  4185.  
  4186.  
  4187. ΓòÉΓòÉΓòÉ <hidden> dwRC ΓòÉΓòÉΓòÉ
  4188.  
  4189. dwRC (DWORD) 
  4190.    Return codes indicating success or type of failure. 
  4191.  
  4192.    MCIERR_SUCCESS 
  4193.       If the function succeeds. 
  4194.  
  4195.    MCIERR_INVALID_DEVICE_ID 
  4196.       Device ID is not valid. 
  4197.  
  4198.    MCIERR_MISSING_FLAG 
  4199.       Required flag is missing. 
  4200.  
  4201.    MCIERR_INVALID_FLAG 
  4202.       Flag is invalid (dwParam1). 
  4203.  
  4204.    MCIERR_UNSUPPORTED_FLAG 
  4205.       Given flag is unsupported for this device. 
  4206.  
  4207.    MCIERR_INVALID_CALLBACK_HANDLE 
  4208.       Callback or client window handle invalid. 
  4209.  
  4210.  
  4211. ΓòÉΓòÉΓòÉ <hidden> Example Code - MCI_WINDOW ΓòÉΓòÉΓòÉ
  4212.  
  4213. The following code illustrates creating an application window that will be used 
  4214. for displaying motion video and images. 
  4215.  
  4216.    MCI_DGV_WINDOW_PARMS    mdgvwindowp;
  4217.    HWND                    hwndFrame,
  4218.                            hwndClient;
  4219.    WORD                    wDeviceID;
  4220.    DWORD                   dwError;
  4221.    ULONG                   ulCtlData;
  4222.  
  4223.    ulCtlData = FCF_STANDARD;
  4224.  
  4225.    hwndFrame = WinCreateStdWindow( HWND_DESKTOP,
  4226.                                    0L,
  4227.                                    ulCtlData,
  4228.                                    (PSZ)"Digital Video",
  4229.                                    (PSZ)"Digital Video Window",
  4230.                                    WS_VISIBLE,
  4231.                                    (HMODULE)NULL,
  4232.                                    ID_RESOURCE,
  4233.                                    (PHWND)hwndClient );
  4234.  
  4235.    if( hwndFrame != NULLHANDLE ){
  4236.       /*
  4237.       Set up the window structure so that the driver displays
  4238.       video in the client window
  4239.       */
  4240.       mdgvwindowp.dwCallback    = NULLHANDLE;
  4241.       mdgvwindowp.hwndDest      = hwndClient;
  4242.       mdgvwindowp.wCmdShow      = 0;
  4243.       mdgvwindowp.wReserved1    = 0;
  4244.       mdgvwindowp.lpstrText     = (LPSTR)NULL;
  4245.       mdgvwindowp.lpstrAlias    = (LPSTR)NULL;
  4246.       /*
  4247.       Issue MCI_WINDOW command
  4248.       */
  4249.       dwError = mciSendCommand( wDeviceID,
  4250.                                 MCI_WINDOW,
  4251.                                 MCI_DGV_WINDOW_HWND | MCI_WAIT,
  4252.                                 (DWORD)mdgvwindowp,
  4253.                                 0 );
  4254.    }
  4255.  
  4256.  
  4257. ΓòÉΓòÉΓòÉ 6. Media Control Interface Data Structures ΓòÉΓòÉΓòÉ
  4258.  
  4259. This chapter contains the data structures for the digital video command 
  4260. messages that are supported by the ActionMedia II Media Control Interface.  All 
  4261. other command message data structures for the Media Control Interface are 
  4262. described in the MMPM/2 Programming Reference. The following table lists the 
  4263. command messages and associated data structures used by the ActionMedia II 
  4264. digital video device. 
  4265.  
  4266. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  4267. ΓöéCommand Message          ΓöéDescription                        Γöé
  4268. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  4269. ΓöéMCI_CAPTURE              ΓöéMCI_CAPTURE_PARMS                  Γöé
  4270. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  4271. ΓöéMCI_CLOSE                ΓöéMCI_GENERIC_PARMS                  Γöé
  4272. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  4273. ΓöéMCI_CONNECTOR            ΓöéMCI_CONNECTOR_PARMS                Γöé
  4274. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  4275. ΓöéMCI_CUE                  ΓöéMCI_GENERIC_PARMS                  Γöé
  4276. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  4277. ΓöéMCI_GETDEVCAPS           ΓöéMCI_GETDEVCAPS_PARMS               Γöé
  4278. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  4279. ΓöéMCI_INFO                 ΓöéMCI_INFO_PARMS                     Γöé
  4280. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  4281. ΓöéMCI_LOAD                 ΓöéMCI_LOAD_PARMS                     Γöé
  4282. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  4283. ΓöéMCI_OPEN                 ΓöéMCI_DGV_OPEN_PARMS                 Γöé
  4284. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  4285. ΓöéMCI_PLAY                 ΓöéMCI_DGV_PLAY_PARMS                 Γöé
  4286. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  4287. ΓöéMCI_PAUSE                ΓöéMCI_GENERIC_PARMS                  Γöé
  4288. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  4289. ΓöéMCI_RECORD               ΓöéMCI_RECORD_PARMS                   Γöé
  4290. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  4291. ΓöéMCI_RESTORE              ΓöéMCI_RESTORE_PARMS                  Γöé
  4292. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  4293. ΓöéMCI_RESUME               ΓöéMCI_GENERIC_PARMS                  Γöé
  4294. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  4295. ΓöéMCI_REWIND               ΓöéMCI_GENERIC_PARMS                  Γöé
  4296. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  4297. ΓöéMCI_SAVE                 ΓöéMCI_SAVE_PARMS                     Γöé
  4298. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  4299. ΓöéMCI_SEEK                 ΓöéMCI_SEEK_PARMS                     Γöé
  4300. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  4301. ΓöéMCI_SET                  ΓöéMCI_DGV_SET_PARMS (This structure  Γöé
  4302. Γöé                         Γöéis the equivalent of               Γöé
  4303. Γöé                         ΓöéMCI_SET_PARMS.)                    Γöé
  4304. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  4305. ΓöéMCI_STEP                 ΓöéMCI_STEP_PARMS                     Γöé
  4306. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  4307. ΓöéMCI_WINDOW               ΓöéMCI_DGV_WINDOW_PARMS               Γöé
  4308. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  4309. The following table lists the fields in Release 1.0 data structures that are 
  4310. not used in the current ActionMedia implementation of the Media Control 
  4311. Interface. 
  4312.  
  4313. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  4314. ΓöéData Structure      ΓöéField Not Used                          Γöé
  4315. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  4316. ΓöéMCI_RECORD_PARMS    ΓöédwFrom                                  Γöé
  4317. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  4318. ΓöéMCI_SET_PARMS       ΓöédwOver                                  Γöé
  4319. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  4320. ΓöéMCI_STATUS          ΓöédwTrack                                 Γöé
  4321. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  4322. ΓöéMCI_STEP            ΓöédwStep                                  Γöé
  4323. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  4324.  
  4325.  
  4326. ΓòÉΓòÉΓòÉ 6.1. MCI_CAPTURE_PARMS ΓòÉΓòÉΓòÉ
  4327.  
  4328. MCI_CAPTURE_PARMS The MCI_CAPTURE_PARMS structure contains parameters for the 
  4329. MCI_CAPTURE message. 
  4330.  
  4331. typedef struct _MCI_CAPTURE_PARMS {
  4332. DWORD    dwCallback;  /*  */
  4333. RECT     rect;        /*  */
  4334.  } MCI_CAPTURE_PARMS;
  4335.  
  4336.  
  4337. ΓòÉΓòÉΓòÉ <hidden> dwCallback ΓòÉΓòÉΓòÉ
  4338.  
  4339. dwCallback (DWORD) 
  4340.  
  4341.    A window handle cast to a DWORD to be used in returning asynchronous 
  4342.    notification messages.  This parameter must be specified if the MCI_NOTIFY 
  4343.    flag is specified. 
  4344.  
  4345.  
  4346. ΓòÉΓòÉΓòÉ <hidden> rect ΓòÉΓòÉΓòÉ
  4347.  
  4348. rect (RECT) 
  4349.  
  4350.    A rectangle array specifying the area to be captured. 
  4351.  
  4352.    Note:  This field is not used in the current ActionMedia II implementation. 
  4353.  
  4354.  
  4355. ΓòÉΓòÉΓòÉ 6.2. MCI_DGV_OPEN_PARMS ΓòÉΓòÉΓòÉ
  4356.  
  4357. MCI_DGV_OPEN_PARMS The MCI_DGV_OPEN_PARMS structure contains information for 
  4358. the MCI_OPEN message for digital video devices. 
  4359.  
  4360. typedef struct _MCI_DGV_OPEN_PARMS {
  4361. DWORD    dwCallback;        /*  */
  4362. WORD     wDeviceID;         /*  */
  4363. WORD     wReserved0;        /*  */
  4364. LPSTR    lpstrDeviceType;   /*  */
  4365. LPSTR    lpstrElementName;  /*  */
  4366. LPSTR    lpstrAlias;        /*  */
  4367. HWND     hwndParent;        /*  */
  4368.  } MCI_DGV_OPEN_PARMS;
  4369.  
  4370.  
  4371. ΓòÉΓòÉΓòÉ <hidden> dwCallback ΓòÉΓòÉΓòÉ
  4372.  
  4373. dwCallback (DWORD) 
  4374.  
  4375.    A window handle cast to a DWORD to be used in returning asynchronous 
  4376.    notification messages.  This parameter must be specified if the MCI_NOTIFY 
  4377.    flag is specified. 
  4378.  
  4379.  
  4380. ΓòÉΓòÉΓòÉ <hidden> wDeviceID ΓòÉΓòÉΓòÉ
  4381.  
  4382. wDeviceID (WORD) 
  4383.  
  4384.    The device ID returned to the user. 
  4385.  
  4386.  
  4387. ΓòÉΓòÉΓòÉ <hidden> wReserved0 ΓòÉΓòÉΓòÉ
  4388.  
  4389. wReserved0 (WORD) 
  4390.  
  4391.    Reserved. 
  4392.  
  4393.  
  4394. ΓòÉΓòÉΓòÉ <hidden> lpstrDeviceType ΓòÉΓòÉΓòÉ
  4395.  
  4396. lpstrDeviceType (LPSTR) 
  4397.  
  4398.    The name or constant ID of the device type. 
  4399.  
  4400.  
  4401. ΓòÉΓòÉΓòÉ <hidden> lpstrElementName ΓòÉΓòÉΓòÉ
  4402.  
  4403. lpstrElementName (LPSTR) 
  4404.  
  4405.    The device element name (usually a path name) or NULL. 
  4406.  
  4407.  
  4408. ΓòÉΓòÉΓòÉ <hidden> lpstrAlias ΓòÉΓòÉΓòÉ
  4409.  
  4410. lpstrAlias (LPSTR) 
  4411.  
  4412.    An optional device alias. 
  4413.  
  4414.  
  4415. ΓòÉΓòÉΓòÉ <hidden> hwndParent ΓòÉΓòÉΓòÉ
  4416.  
  4417. hwndParent (HWND) 
  4418.  
  4419.    The handle to use as the window parent. 
  4420.  
  4421.  
  4422. ΓòÉΓòÉΓòÉ 6.3. MCI_DGV_PLAY_PARMS ΓòÉΓòÉΓòÉ
  4423.  
  4424. MCI_DGV_PLAY_PARMS The MCI_DGV_PLAY_PARMS structure contains parameters for the 
  4425. MCI_PLAY message for digital video devices. 
  4426.  
  4427. typedef struct _MCI_DGV_PLAY_PARMS {
  4428. DWORD    dwCallback;  /*  */
  4429. DWORD    dwFrom;      /*  */
  4430. DWORD    dwTo;        /*  */
  4431. DWORD    dwSpeed;     /*  */
  4432.  } MCI_DGV_PLAY_PARMS;
  4433.  
  4434.  
  4435. ΓòÉΓòÉΓòÉ <hidden> dwCallback ΓòÉΓòÉΓòÉ
  4436.  
  4437. dwCallback (DWORD) 
  4438.  
  4439.    A window handle cast to a DWORD to be used in returning asynchronous 
  4440.    notification messages.  This parameter must be specified if the MCI_NOTIFY 
  4441.    flag is specified. 
  4442.  
  4443.  
  4444. ΓòÉΓòÉΓòÉ <hidden> dwFrom ΓòÉΓòÉΓòÉ
  4445.  
  4446. dwFrom (DWORD) 
  4447.  
  4448.    The position to play from. 
  4449.  
  4450.  
  4451. ΓòÉΓòÉΓòÉ <hidden> dwTo ΓòÉΓòÉΓòÉ
  4452.  
  4453. dwTo (DWORD) 
  4454.  
  4455.    The position to play to. 
  4456.  
  4457.  
  4458. ΓòÉΓòÉΓòÉ <hidden> dwSpeed ΓòÉΓòÉΓòÉ
  4459.  
  4460. dwSpeed (DWORD) 
  4461.  
  4462.    The play rate in frames per second. 
  4463.  
  4464.    Note:  This field is not used in the current ActionMedia II implementation. 
  4465.  
  4466.  
  4467. ΓòÉΓòÉΓòÉ 6.4. MCI_DGV_WINDOW_PARMS ΓòÉΓòÉΓòÉ
  4468.  
  4469. MCI_DGV_WINDOW_PARMS The MCI_DGV_WINDOW_PARMS structure contains parameters for 
  4470. the MCI_WINDOW message for digital video devices. 
  4471.  
  4472. typedef struct _MCI_DGV_WINDOW_PARMS {
  4473. DWORD    dwCallback;  /*  */
  4474. HWND     hwndDest;    /*  */
  4475. WORD     wReserved1;  /*  */
  4476. WORD     wCmdShow;    /*  */
  4477. LPSTR    lpstrText;   /*  */
  4478. LPSTR    lpstrAlias;  /*  */
  4479.  } MCI_DGV_WINDOW_PARMS;
  4480.  
  4481.  
  4482. ΓòÉΓòÉΓòÉ <hidden> dwCallback ΓòÉΓòÉΓòÉ
  4483.  
  4484. dwCallback (DWORD) 
  4485.  
  4486.    A window handle cast to a DWORD for the MCI callback function.  This 
  4487.    parameter must be specified if the MCI_NOTIFY flag is specified. 
  4488.  
  4489.  
  4490. ΓòÉΓòÉΓòÉ <hidden> hwndDest ΓòÉΓòÉΓòÉ
  4491.  
  4492. hwndDest (HWND) 
  4493.  
  4494.    A handle to the client window used for the destination of the digital video. 
  4495.  
  4496.  
  4497. ΓòÉΓòÉΓòÉ <hidden> wReserved1 ΓòÉΓòÉΓòÉ
  4498.  
  4499. wReserved1 (WORD) 
  4500.  
  4501.    Reserved. 
  4502.  
  4503.  
  4504. ΓòÉΓòÉΓòÉ <hidden> wCmdShow ΓòÉΓòÉΓòÉ
  4505.  
  4506. wCmdShow (WORD) 
  4507.  
  4508.    Specifies how the window is displayed. 
  4509.  
  4510.  
  4511. ΓòÉΓòÉΓòÉ <hidden> lpstrText ΓòÉΓòÉΓòÉ
  4512.  
  4513. lpstrText (LPSTR) 
  4514.  
  4515.    The text to use as the window caption. 
  4516.  
  4517.  
  4518. ΓòÉΓòÉΓòÉ <hidden> lpstrAlias ΓòÉΓòÉΓòÉ
  4519.  
  4520. lpstrAlias (LPSTR) 
  4521.  
  4522.    The window alias for the display window. 
  4523.  
  4524.    Note:  This field is not used in the current ActionMedia II implementation. 
  4525.  
  4526.  
  4527. ΓòÉΓòÉΓòÉ 6.5. MCI_RESTORE_PARMS ΓòÉΓòÉΓòÉ
  4528.  
  4529. MCI_RESTORE_PARMS The MCI_RESTORE_PARMS structure contains parameters for the 
  4530. MCI_RESTORE message. 
  4531.  
  4532. typedef struct _MCI_RESTORE_PARMS {
  4533. DWORD    dwCallback;  /*  */
  4534. RECT     SrcRect;     /*  */
  4535. RECT     DestRect;    /*  */
  4536.  } MCI_RESTORE_PARMS;
  4537.  
  4538.  
  4539. ΓòÉΓòÉΓòÉ <hidden> dwCallback ΓòÉΓòÉΓòÉ
  4540.  
  4541. dwCallback (DWORD) 
  4542.  
  4543.    A window handle cast to a DWORD for the MCI callback function.  This 
  4544.    parameter must be specified if the MCI_NOTIFY flag is specified. 
  4545.  
  4546.  
  4547. ΓòÉΓòÉΓòÉ <hidden> SrcRect ΓòÉΓòÉΓòÉ
  4548.  
  4549. SrcRect (RECT) 
  4550.  
  4551.    The source image rectangle array of the area to restore. 
  4552.  
  4553.    Note:  This field is not used in the current ActionMedia II implementation. 
  4554.  
  4555.  
  4556. ΓòÉΓòÉΓòÉ <hidden> DestRect ΓòÉΓòÉΓòÉ
  4557.  
  4558. DestRect (RECT) 
  4559.  
  4560.    The destination window rectangle array of the area to restore. 
  4561.  
  4562.    Note:  This field is not used in the current ActionMedia II implementation. 
  4563.  
  4564.  
  4565. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  4566.  
  4567. When you place a bookmark on a topic, it is added to a list of bookmarks you 
  4568. have previously set.  You can view the list, and you can remove one or all 
  4569. bookmarks from the list.  If you have not set any bookmarks, the list is empty. 
  4570.  
  4571. To set a bookmark, do the following: 
  4572.  
  4573.  1. Select a topic from the Contents. 
  4574.  
  4575.  2. When that topic appears, choose the Bookmark option from the Services menu. 
  4576.  
  4577.  3. If you want to change the name used for the bookmark, type the new name in 
  4578.     the field. 
  4579.  
  4580.  4. Select the Place radio button. 
  4581.  
  4582.  5. Select OK.  The bookmark is then added to the bookmark list. 
  4583.  
  4584.  
  4585. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  4586.  
  4587. You can specify a word or phrase to be searched.  You can also limit the search 
  4588. to a set of topics by first marking the topics on the Contents list. 
  4589.  
  4590. To search for a word or phrase in all topics, do the following: 
  4591.  
  4592.  1. Select the Search option from the Services menu. 
  4593.  
  4594.  2. Type the word or words to be searched. 
  4595.  
  4596.  3. Select All sections. 
  4597.  
  4598.  4. Select Search to begin the search. 
  4599.  
  4600.  5. The list of topics where the word or phrase appears is displayed. 
  4601.  
  4602.  
  4603. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  4604.  
  4605. You can print one or more topics.  You can also print a set of topics by first 
  4606. marking the topics on the Contents list. 
  4607.  
  4608. To print the document Contents list, do the following: 
  4609.  
  4610.  1. Select Print from the Services menu. 
  4611.  
  4612.  2. Select Contents. 
  4613.  
  4614.  3. Select Print. 
  4615.  
  4616.  4. The Contents list is printed on your printer. 
  4617.  
  4618.  
  4619. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  4620.  
  4621. You can copy a topic you are viewing into a temporary file named TEXT.TMP.  You 
  4622. can later edit that file by using an editor such as the System Editor. 
  4623.  
  4624. To copy a topic, do the following: 
  4625.  
  4626.  1. Expand the Contents list and select a topic. 
  4627.  
  4628.  2. When the topic appears, select Copy to file from the Services menu. 
  4629.  
  4630. The system copies the text pertaining to that topic into the temporary TEXT.TMP 
  4631. file. 
  4632.  
  4633. For information on any of the other choices in the Services menu, highlight the 
  4634. choice and press the F1 key. 
  4635.  
  4636.  
  4637. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  4638.  
  4639. You can control the appearance of the Contents list. 
  4640.  
  4641. To expand the Contents and show all levels for all topics, select Expand all 
  4642. from the Options menu. 
  4643.  
  4644. For information on any of the other choices in the Options menu, highlight the 
  4645. choice and press the F1 key. 
  4646.  
  4647.  
  4648. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  4649.  
  4650. Notices 
  4651.  
  4652. References in this publication to IBM products, programs, or services do not 
  4653. imply that IBM intends to make these available in all countries in which IBM 
  4654. operates.  Any reference to an IBM product, program or service is not intended 
  4655. to state or imply that only IBM's product, program or service may be used.  Any 
  4656. functionally equivalent product, program, or service that does not infringe any 
  4657. of IBM's intellectual property rights or other legally protectible rights may 
  4658. be used instead of the IBM product, program, or service.  Evaluation and 
  4659. verification of operation in conjunction with other products, programs, or 
  4660. services, except those expressly designated by IBM, are the user's 
  4661. responsibility. 
  4662.  
  4663.  
  4664. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  4665.  
  4666. Trademarks and Service Marks 
  4667.  
  4668. The following terms, denoted by an asterisk (*) in this information, are 
  4669. trademarks of the International Business Machines Corporation in the United 
  4670. States and/or other countries: 
  4671.  
  4672. AVC 
  4673.                Audio Visual Connection 
  4674.  
  4675. CUA 
  4676.                Common User Access 
  4677.  
  4678. OS/2 
  4679.                Operating System/2 
  4680.  
  4681. PS/2 
  4682.                Personal System/2 
  4683.  
  4684. IBM 
  4685.                M-Motion 
  4686.  
  4687. Multimedia Presentation Manager/2 
  4688.                Multimedia Presentation Manager Toolkit/2 
  4689.  
  4690. Presentation Manager 
  4691.                Workplace Shell 
  4692.  
  4693. The following terms, denoted by a double asterisk (**) in this publication are 
  4694. the trademarks of other companies as follows: 
  4695.  
  4696. DVI 
  4697.                Intel Corporation. 
  4698.  
  4699. ActionMedia 
  4700.                Intel Corporation. 
  4701.