home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / d / d001 / 1.ddi / DIGITALV.H_ / DIGITALV.H
Encoding:
C/C++ Source or Header  |  1992-10-27  |  30.1 KB  |  842 lines

  1. /****************************************************************************/
  2. /*                                                                          */
  3. /*        DIGITALV.H - Include file for the MCI Digital Video Command Set   */
  4. /*                                                                          */
  5. /*                              Version 1.0                                 */
  6. /*                                                                          */
  7. /*        Copyright (c) 1992, Microsoft Corp.  All rights reserved.         */
  8. /*                                                                          */
  9. /*  Date            Modification                                            */
  10. /*  ------------    ------------                                            */
  11. /*  Aug 19, 1992    -Version 1.0 Release
  12. /*                                                                          */
  13. /****************************************************************************/
  14.  
  15. #ifndef _INC_DIGITALV
  16. #define _INC_DIGITALV  100
  17.  
  18. #ifdef __cplusplus
  19. extern "C" {            /* Assume C declarations for C++ */
  20. #endif    /* __cplusplus */
  21.  
  22. #define MCI_TEST                            0x00000020L
  23.  
  24. /* Message values */
  25.  
  26. #define MCI_CAPTURE                         0x0870 
  27. #define MCI_MONITOR                         0x0871 
  28. #define MCI_RESERVE                         0x0872 
  29. #define MCI_SETAUDIO                        0x0873 
  30. #define MCI_SIGNAL                          0x0875 
  31. #define MCI_SETVIDEO                        0x0876 
  32. #define MCI_QUALITY                         0x0877
  33. #define MCI_LIST                            0x0878
  34. #define MCI_UNDO                            0x0879
  35. #define MCI_CONFIGURE                       0x087a
  36. #define MCI_RESTORE                         0x087b
  37.  
  38. /* Return and string constant values */
  39.  
  40. #define MCI_ON   1
  41. #define MCI_OFF  0
  42.  
  43. #define MCI_DGV_FILE_MODE_SAVING            0x0001
  44. #define MCI_DGV_FILE_MODE_LOADING           0x0002
  45. #define MCI_DGV_FILE_MODE_EDITING           0x0003
  46. #define MCI_DGV_FILE_MODE_IDLE              0x0004
  47.  
  48. /* These identifiers are used only by device drivers */
  49.  
  50. #define MCI_ON_S                            0x00008000L
  51. #define MCI_OFF_S                           0x00008001L
  52. #define MCI_DGV_FILE_S                      0x00008002L
  53. #define MCI_DGV_INPUT_S                     0x00008003L
  54.  
  55. #define MCI_DGV_FILE_MODE_SAVING_S          0x00008004L
  56. #define MCI_DGV_FILE_MODE_LOADING_S         0x00008005L
  57. #define MCI_DGV_FILE_MODE_EDITING_S         0x00008006L
  58. #define MCI_DGV_FILE_MODE_IDLE_S            0x00008007L
  59.  
  60. #define MCI_DGV_SETVIDEO_SRC_NTSC_S         0x00008010L
  61. #define MCI_DGV_SETVIDEO_SRC_RGB_S          0x00008011L
  62. #define MCI_DGV_SETVIDEO_SRC_SVIDEO_S       0x00008012L
  63. #define MCI_DGV_SETVIDEO_SRC_PAL_S          0x00008013L
  64. #define MCI_DGV_SETVIDEO_SRC_SECAM_S        0x00008014L
  65. #define MCI_DGV_SETVIDEO_SRC_GENERIC_S      0x00008015L
  66.  
  67. #define MCI_DGV_SETAUDIO_SRC_LEFT_S         0x00008020L
  68. #define MCI_DGV_SETAUDIO_SRC_RIGHT_S        0x00008021L
  69. #define MCI_DGV_SETAUDIO_SRC_AVERAGE_S      0x00008022L
  70. #define MCI_DGV_SETAUDIO_SRC_STEREO_S       0x00008023L
  71.  
  72. /* Window message for signal notification */
  73.  
  74. #define MM_MCISIGNAL                        0x3CB
  75.  
  76. /* error values */
  77.  
  78. #define MCIERR_DGV_DEVICE_LIMIT             (MCIERR_CUSTOM_DRIVER_BASE+0)
  79. #define MCIERR_DGV_IOERR                    (MCIERR_CUSTOM_DRIVER_BASE+1) 
  80. #define MCIERR_DGV_WORKSPACE_EMPTY          (MCIERR_CUSTOM_DRIVER_BASE+2) 
  81. #define MCIERR_DGV_DISK_FULL                (MCIERR_CUSTOM_DRIVER_BASE+3) 
  82. #define MCIERR_DGV_DEVICE_MEMORY_FULL       (MCIERR_CUSTOM_DRIVER_BASE+4)
  83. #define MCIERR_DGV_BAD_CLIPBOARD_RANGE      (MCIERR_CUSTOM_DRIVER_BASE+5)
  84.  
  85. /* defines for monitor methods */
  86.  
  87. #define MCI_DGV_METHOD_PRE                  0x0000a000L
  88. #define MCI_DGV_METHOD_POST                 0x0000a001L
  89. #define MCI_DGV_METHOD_DIRECT               0x0000a002L
  90.  
  91. /* defines for known file formats */
  92.  
  93. #define MCI_DGV_FF_AVSS                     0x00004000L
  94. #define MCI_DGV_FF_AVI                      0x00004001L
  95. #define MCI_DGV_FF_DIB                      0x00004002L
  96. #define MCI_DGV_FF_RDIB                     0x00004003L
  97. #define MCI_DGV_FF_JPEG                     0x00004004L
  98. #define MCI_DGV_FF_RJPEG                    0x00004005L
  99. #define MCI_DGV_FF_JFIF                     0x00004006L
  100. #define MCI_DGV_FF_MPEG                     0x00004007L
  101.  
  102. /* values for dwItem field of MCI_CAPABILITY_PARMS structure */
  103.  
  104. #define MCI_DGV_GETDEVCAPS_CAN_LOCK         0x00004000L
  105. #define MCI_DGV_GETDEVCAPS_CAN_STRETCH      0x00004001L 
  106. #define MCI_DGV_GETDEVCAPS_CAN_FREEZE       0x00004002L
  107. #define MCI_DGV_GETDEVCAPS_MAX_WINDOWS      0x00004003L 
  108. #define MCI_DGV_GETDEVCAPS_CAN_REVERSE      0x00004004L 
  109. #define MCI_DGV_GETDEVCAPS_HAS_STILL        0x00004005L
  110. #define MCI_DGV_GETDEVCAPS_PALETTES         0x00004006L
  111. #define MCI_DGV_GETDEVCAPS_CAN_STR_IN       0x00004008L 
  112. #define MCI_DGV_GETDEVCAPS_CAN_TEST         0x00004009L
  113. #define MCI_DGV_GETDEVCAPS_MAXIMUM_RATE     0x0000400aL
  114. #define MCI_DGV_GETDEVCAPS_MINIMUM_RATE     0x0000400bL
  115.  
  116. /* flags for dwFlags parameter of MCI_CAPTURE command message */
  117.  
  118. #define MCI_DGV_CAPTURE_AS                  0x00010000L
  119. #define MCI_DGV_CAPTURE_AT                  0x00020000L
  120.  
  121. /* flags for dwFlags parameter of MCI_COPY command message */
  122.  
  123. #define MCI_DGV_COPY_AT                     0x00010000L
  124. #define MCI_DGV_COPY_AUDIO_STREAM           0x00020000L
  125. #define MCI_DGV_COPY_VIDEO_STREAM           0x00040000L
  126.  
  127. /* flags for dwFlags parameter of MCI_CUE command message */
  128.  
  129. #define MCI_DGV_CUE_INPUT                   0x00010000L 
  130. #define MCI_DGV_CUE_OUTPUT                  0x00020000L
  131. #define MCI_DGV_CUE_NOSHOW                  0x00040000L 
  132.  
  133. /* flags for dwFlags parameter of MCI_CUT command message */
  134.  
  135. #define MCI_DGV_CUT_AT                      0x00010000L
  136. #define MCI_DGV_CUT_AUDIO_STREAM            0x00020000L
  137. #define MCI_DGV_CUT_VIDEO_STREAM            0x00040000L
  138.  
  139. /* flags for dwFlags parameter of MCI_DELETE command message */
  140.  
  141. #define MCI_DGV_DELETE_AT                   0x00010000L
  142. #define MCI_DGV_DELETE_AUDIO_STREAM         0x00020000L
  143. #define MCI_DGV_DELETE_VIDEO_STREAM         0x00040000L
  144.  
  145. /* flags for dwFlags parameter of MCI_FREEZE command message */
  146.  
  147. #define MCI_DGV_FREEZE_AT                   0x00010000L
  148. #define MCI_DGV_FREEZE_OUTSIDE              0x00020000L
  149.  
  150. /* flags for dwFlags parameter of MCI_INFO command message */
  151.  
  152. #define MCI_DGV_INFO_TEXT                   0x00010000L 
  153. #define MCI_DGV_INFO_ITEM                   0X00020000L
  154.  
  155. /* values for dwItem field of MCI_DGV_INFO_PARMS structure */
  156.  
  157. #define MCI_INFO_VERSION                    0x00000400L
  158.  
  159. #define MCI_DGV_INFO_USAGE                  0x00004000L
  160. #define MCI_DGV_INFO_AUDIO_QUALITY          0x00004001L
  161. #define MCI_DGV_INFO_STILL_QUALITY          0x00004002L
  162. #define MCI_DGV_INFO_VIDEO_QUALITY          0x00004003L
  163. #define MCI_DGV_INFO_AUDIO_ALG              0x00004004L
  164. #define MCI_DGV_INFO_STILL_ALG              0x00004005L
  165. #define MCI_DGV_INFO_VIDEO_ALG              0x00004006L
  166.  
  167. /* flags for dwFlags parameter of MCI_LIST command message */
  168.  
  169. #define MCI_DGV_LIST_ITEM                   0x00010000L
  170. #define MCI_DGV_LIST_COUNT                  0x00020000L
  171. #define MCI_DGV_LIST_NUMBER                 0x00040000L
  172. #define MCI_DGV_LIST_ALG                    0x00080000L
  173.  
  174. /* values for dwItem field of MCI_DGV_LIST_PARMS structure */
  175.  
  176. #define MCI_DGV_LIST_AUDIO_ALG              0x00004000L
  177. #define MCI_DGV_LIST_AUDIO_QUALITY          0x00004001L
  178. #define MCI_DGV_LIST_AUDIO_STREAM           0x00004002L
  179. #define MCI_DGV_LIST_STILL_ALG              0x00004003L
  180. #define MCI_DGV_LIST_STILL_QUALITY          0x00004004L
  181. #define MCI_DGV_LIST_VIDEO_ALG              0x00004005L
  182. #define MCI_DGV_LIST_VIDEO_QUALITY          0x00004006L
  183. #define MCI_DGV_LIST_VIDEO_STREAM           0x00004007L
  184. #define MCI_DGV_LIST_VIDEO_SOURCE           0x00004008L
  185.  
  186.  
  187. /* flags for dwFlags parameter of MCI_MONITOR command message */
  188.  
  189. #define MCI_DGV_MONITOR_METHOD              0x00010000L
  190. #define MCI_DGV_MONITOR_SOURCE              0x00020000L
  191.  
  192. /* values for dwSource parameter of the MCI_DGV_MONITOR_PARMS struture */
  193.  
  194. #define MCI_DGV_MONITOR_INPUT               0x00004000L
  195. #define MCI_DGV_MONITOR_FILE                0x00004001L
  196.  
  197. /* flags for dwFlags parameter of MCI_OPEN command message */
  198.  
  199. #define MCI_DGV_OPEN_WS                     0x00010000L 
  200. #define MCI_DGV_OPEN_PARENT                 0x00020000L
  201. #define MCI_DGV_OPEN_NOSTATIC               0x00040000L
  202.  
  203. /* flags for dwFlags parameter of MCI_PASTE command message */
  204.  
  205. #define MCI_DGV_PASTE_AT                    0x00010000L
  206. #define MCI_DGV_PASTE_AUDIO_STREAM          0x00020000L
  207. #define MCI_DGV_PASTE_VIDEO_STREAM          0x00040000L
  208. #define MCI_DGV_PASTE_INSERT                0x00080000L
  209. #define MCI_DGV_PASTE_OVERWRITE             0x00100000L
  210.  
  211. /* flags for dwFlags parameter of MCI_PLAY command message */
  212.  
  213. #define MCI_DGV_PLAY_REPEAT                 0x00010000L                
  214. #define MCI_DGV_PLAY_REVERSE                0x00020000L 
  215.  
  216. /* flags for dwFlags parameter of MCI_PUT command message */
  217.  
  218. #define MCI_DGV_RECT                        0x00010000L 
  219. #define MCI_DGV_PUT_SOURCE                  0x00020000L 
  220. #define MCI_DGV_PUT_DESTINATION             0x00040000L 
  221. #define MCI_DGV_PUT_FRAME                   0x00080000L
  222. #define MCI_DGV_PUT_VIDEO                   0x00100000L
  223. #define MCI_DGV_PUT_WINDOW                  0x00200000L
  224. #define MCI_DGV_PUT_CLIENT                  0x00400000L
  225.  
  226. /* flags for dwFlags parameter of MCI_QUALITY command message */
  227.  
  228. #define MCI_QUALITY_ITEM                    0x00010000L
  229. #define MCI_QUALITY_NAME                    0x00020000L
  230. #define MCI_QUALITY_ALG                     0x00040000L
  231. #define MCI_QUALITY_DIALOG                  0x00080000L
  232. #define MCI_QUALITY_HANDLE                  0x00100000L
  233.  
  234. /* values for dwItem field of MCI_QUALITY_PARMS structure */
  235.  
  236. #define MCI_QUALITY_ITEM_AUDIO              0x00004000L
  237. #define MCI_QUALITY_ITEM_STILL              0x00004001L
  238. #define MCI_QUALITY_ITEM_VIDEO              0x00004002L
  239.  
  240. /* flags for dwFlags parameter of MCI_REALIZE command message */
  241.  
  242. #define MCI_DGV_REALIZE_NORM                0x00010000L
  243. #define MCI_DGV_REALIZE_BKGD                0x00020000L
  244.  
  245. /* flags for dwFlags parameter of MCI_RECORD command message */
  246.  
  247. #define MCI_DGV_RECORD_HOLD                 0x00020000L
  248. #define MCI_DGV_RECORD_AUDIO_STREAM         0x00040000L
  249. #define MCI_DGV_RECORD_VIDEO_STREAM         0x00080000L
  250.  
  251. /* flags for dwFlags parameters of MCI_RESERVE command message */
  252.  
  253. #define MCI_DGV_RESERVE_IN                  0x00010000L
  254. #define MCI_DGV_RESERVE_SIZE                0x00020000L
  255.  
  256. /* flags for dwFlags parameter of MCI_RESTORE command message */
  257.  
  258. #define MCI_DGV_RESTORE_FROM                0x00010000L
  259. #define MCI_DGV_RESTORE_AT                  0x00020000L
  260.  
  261. /* flags for dwFlags parameters of MCI_SAVE command message */
  262.  
  263. #define MCI_DGV_SAVE_ABORT                  0x00020000L
  264. #define MCI_DGV_SAVE_KEEPRESERVE            0x00040000L
  265.  
  266. /* flags for dwFlags parameters of MCI_SET command message */
  267.  
  268. #define MCI_DGV_SET_SEEK_EXACTLY            0x00010000L
  269. #define MCI_DGV_SET_SPEED                   0x00020000L
  270. #define MCI_DGV_SET_STILL                   0x00040000L
  271. #define MCI_DGV_SET_FILEFORMAT              0x00080000L
  272.  
  273. /* flags for the dwFlags parameter of MCI_SETAUDIO command message */
  274.  
  275. #define MCI_DGV_SETAUDIO_OVER               0x00010000L
  276. #define MCI_DGV_SETAUDIO_CLOCKTIME          0x00020000L
  277. #define MCI_DGV_SETAUDIO_ALG                0x00040000L
  278. #define MCI_DGV_SETAUDIO_QUALITY            0x00080000L
  279. #define MCI_DGV_SETAUDIO_RECORD             0x00100000L
  280. #define MCI_DGV_SETAUDIO_LEFT               0x00200000L
  281. #define MCI_DGV_SETAUDIO_RIGHT              0x00400000L
  282. #define MCI_DGV_SETAUDIO_ITEM               0x00800000L
  283. #define MCI_DGV_SETAUDIO_VALUE              0x01000000L
  284. #define MCI_DGV_SETAUDIO_INPUT              0x02000000L
  285. #define MCI_DGV_SETAUDIO_OUTPUT             0x04000000L
  286.  
  287. /* values for the dwItem parameter of MCI_DGV_SETAUDIO_PARMS */
  288.  
  289. #define MCI_DGV_SETAUDIO_TREBLE             0x00004000L
  290. #define MCI_DGV_SETAUDIO_BASS               0x00004001L
  291. #define MCI_DGV_SETAUDIO_VOLUME             0x00004002L
  292. #define MCI_DGV_SETAUDIO_STREAM             0x00004003L
  293. #define MCI_DGV_SETAUDIO_SOURCE             0x00004004L
  294. #define MCI_DGV_SETAUDIO_SAMPLESPERSEC      0x00004005L
  295. #define MCI_DGV_SETAUDIO_AVGBYTESPERSEC     0x00004006L
  296. #define MCI_DGV_SETAUDIO_BLOCKALIGN         0x00004007L
  297. #define MCI_DGV_SETAUDIO_BITSPERSAMPLE      0x00004008L
  298.  
  299. /* values for the dwValue parameter of MCI_DGV_SETAUDIO_PARMS
  300.    used with MCI_DGV_SETAUDIO_SOURCE */
  301.  
  302. #define MCI_DGV_SETAUDIO_SOURCE_STEREO      0x00000000L
  303. #define MCI_DGV_SETAUDIO_SOURCE_LEFT        0x00000001L
  304. #define MCI_DGV_SETAUDIO_SOURCE_RIGHT       0x00000002L
  305. #define MCI_DGV_SETAUDIO_SOURCE_AVERAGE     0x00004000L
  306.  
  307. /* flags for the dwFlags parameter of MCI_SETVIDEO command */
  308.  
  309. #define MCI_DGV_SETVIDEO_QUALITY            0x00010000L
  310. #define MCI_DGV_SETVIDEO_ALG                0x00020000L
  311. #define MCI_DGV_SETVIDEO_CLOCKTIME          0x00040000L
  312. #define MCI_DGV_SETVIDEO_SRC_NUMBER         0x00080000L
  313. #define MCI_DGV_SETVIDEO_ITEM               0x00100000L
  314. #define MCI_DGV_SETVIDEO_OVER               0x00200000L
  315. #define MCI_DGV_SETVIDEO_RECORD             0x00400000L
  316. #define MCI_DGV_SETVIDEO_STILL              0x00800000L
  317. #define MCI_DGV_SETVIDEO_VALUE              0x01000000L
  318. #define MCI_DGV_SETVIDEO_INPUT              0x02000000L
  319. #define MCI_DGV_SETVIDEO_OUTPUT             0x04000000L
  320.  
  321. /* values for the dwTo field of MCI_SETVIDEO_PARMS
  322.    used with MCI_DGV_SETVIDEO_SOURCE */
  323.  
  324. #define MCI_DGV_SETVIDEO_SRC_NTSC           0x00004000L
  325. #define MCI_DGV_SETVIDEO_SRC_RGB            0x00004001L
  326. #define MCI_DGV_SETVIDEO_SRC_SVIDEO         0x00004002L
  327. #define MCI_DGV_SETVIDEO_SRC_PAL            0x00004003L
  328. #define MCI_DGV_SETVIDEO_SRC_SECAM          0x00004004L
  329. #define MCI_DGV_SETVIDEO_SRC_GENERIC        0x00004005L
  330.  
  331. /* values for the dwItem field of MCI_SETVIDEO_PARMS */
  332.  
  333. #define MCI_DGV_SETVIDEO_BRIGHTNESS         0x00004000L
  334. #define MCI_DGV_SETVIDEO_COLOR              0x00004001L
  335. #define MCI_DGV_SETVIDEO_CONTRAST           0x00004002L
  336. #define MCI_DGV_SETVIDEO_TINT               0x00004003L
  337. #define MCI_DGV_SETVIDEO_SHARPNESS          0x00004004L
  338. #define MCI_DGV_SETVIDEO_GAMMA              0x00004005L
  339. #define MCI_DGV_SETVIDEO_STREAM             0x00004006L
  340. #define MCI_DGV_SETVIDEO_PALHANDLE          0x00004007L
  341. #define MCI_DGV_SETVIDEO_FRAME_RATE         0x00004008L
  342. #define MCI_DGV_SETVIDEO_SOURCE             0x00004009L
  343. #define MCI_DGV_SETVIDEO_KEY_INDEX          0x0000400aL
  344. #define MCI_DGV_SETVIDEO_KEY_COLOR          0x0000400bL
  345. #define MCI_DGV_SETVIDEO_BITSPERPEL         0x0000400cL
  346.  
  347. /* flags for the dwFlags parameter of MCI_SIGNAL */
  348.  
  349. #define MCI_DGV_SIGNAL_AT                   0x00010000L
  350. #define MCI_DGV_SIGNAL_EVERY                0x00020000L
  351. #define MCI_DGV_SIGNAL_USERVAL              0x00040000L
  352. #define MCI_DGV_SIGNAL_CANCEL               0x00080000L
  353. #define MCI_DGV_SIGNAL_POSITION             0x00100000L
  354.  
  355. /* The following is the function digitalvideo drivers must use 
  356.  * to signal when a frame marked by the SIGNAL command has been rendered:
  357.  *
  358.  *  SEND_DGVSIGNAL(dwFlags, dwCallback, hDriver, wDeviceID, dwUser, dwPos )
  359.  *
  360.  * The following is a description of the parameters:
  361.  *
  362.  *  dwFlags    - the dwFlags parameter passed when the signal was set
  363.  *  dwCallback - the dwCallback value from the MCI_DGV_SIGNAL_PARMS struct
  364.  *               used to set the signal
  365.  *  hDriver    - the handle assigned to the driver by MMSYSTEM when the 
  366.  *               device was opened
  367.  *  wDeviceID  - the device ID
  368.  *  dwUser     - the dwUserParm value from the MCI_DGV_SIGNAL_PARMS struct
  369.  *               used to set the signal
  370.  *  dwPos      - the position at which the signal was sent, in the current
  371.  *               time format.
  372.  *
  373.  * The window indicated by the handle in the dwCallback field is notified 
  374.  * by means of a Windows message with the following form:
  375.  *
  376.  * msg    = MM_MCISIGNAL
  377.  * wParam = wDeviceID of the sending driver 
  378.  * lParam = the uservalue specified or the position the signal was sent
  379.  *          at; the latter if the MCI_DGV_SIGNAL_POSITION flag was set 
  380.  *          in the dwFlags parameter when the signal was created.
  381.  */
  382.  
  383. #define SEND_DGVSIGNAL(dwFlags, dwCallback, hDriver, wDeviceID, dwUser, dwPos ) \
  384.   DriverCallback( (dwCallback), DCB_WINDOW, (HANDLE)(wDeviceID), MM_MCISIGNAL,\
  385.   hDriver, ((dwFlags) & MCI_DGV_SIGNAL_POSITION) ? (dwPos):(dwUser),\
  386.   ((dwFlags) & MCI_DGV_SIGNAL_POSITION) ? (dwUser):(dwPos))
  387.  
  388. /* flags for the dwFlags parameter of MCI_STATUS command */
  389.                                             
  390. #define MCI_DGV_STATUS_NOMINAL              0x00020000L
  391. #define MCI_DGV_STATUS_REFERENCE            0x00040000L
  392. #define MCI_DGV_STATUS_LEFT                 0x00080000L
  393. #define MCI_DGV_STATUS_RIGHT                0x00100000L
  394. #define MCI_DGV_STATUS_DISKSPACE            0x00200000L
  395. #define MCI_DGV_STATUS_INPUT                0x00400000L
  396. #define MCI_DGV_STATUS_OUTPUT               0x00800000L
  397. #define MCI_DGV_STATUS_RECORD               0x01000000L
  398.  
  399. /* values for dwItem field of MCI_STATUS_PARMS structure */
  400.  
  401. #define MCI_DGV_STATUS_AUDIO_INPUT          0x00004000L
  402. #define MCI_DGV_STATUS_HWND                 0x00004001L
  403. #define MCI_DGV_STATUS_SPEED                0x00004003L
  404. #define MCI_DGV_STATUS_HPAL                 0x00004004L
  405. #define MCI_DGV_STATUS_BRIGHTNESS           0x00004005L
  406. #define MCI_DGV_STATUS_COLOR                0x00004006L
  407. #define MCI_DGV_STATUS_CONTRAST             0x00004007L
  408. #define MCI_DGV_STATUS_FILEFORMAT           0x00004008L
  409. #define MCI_DGV_STATUS_AUDIO_SOURCE         0x00004009L
  410. #define MCI_DGV_STATUS_GAMMA                0x0000400aL
  411. #define MCI_DGV_STATUS_MONITOR              0x0000400bL
  412. #define MCI_DGV_STATUS_MONITOR_METHOD       0x0000400cL
  413. #define MCI_DGV_STATUS_FRAME_RATE           0x0000400eL
  414. #define MCI_DGV_STATUS_BASS                 0x0000400fL
  415. #define MCI_DGV_STATUS_SIZE                 0x00004010L
  416. #define MCI_DGV_STATUS_SEEK_EXACTLY         0x00004011L
  417. #define MCI_DGV_STATUS_SHARPNESS            0x00004012L
  418. #define MCI_DGV_STATUS_SMPTE                0x00004013L
  419. #define MCI_DGV_STATUS_AUDIO                0x00004014L
  420. #define MCI_DGV_STATUS_TINT                 0x00004015L
  421. #define MCI_DGV_STATUS_TREBLE               0x00004016L
  422. #define MCI_DGV_STATUS_UNSAVED              0x00004017L
  423. #define MCI_DGV_STATUS_VIDEO                0x00004018L
  424. #define MCI_DGV_STATUS_VOLUME               0x00004019L
  425. #define MCI_DGV_STATUS_AUDIO_RECORD         0x0000401aL
  426. #define MCI_DGV_STATUS_VIDEO_SOURCE         0x0000401bL
  427. #define MCI_DGV_STATUS_VIDEO_RECORD         0x0000401cL
  428. #define MCI_DGV_STATUS_STILL_FILEFORMAT     0x0000401dL
  429. #define MCI_DGV_STATUS_VIDEO_SRC_NUM        0x0000401eL
  430. #define MCI_DGV_STATUS_FILE_MODE            0x0000401fL
  431. #define MCI_DGV_STATUS_FILE_COMPLETION      0x00004020L
  432. #define MCI_DGV_STATUS_WINDOW_VISIBLE       0x00004021L
  433. #define MCI_DGV_STATUS_WINDOW_MINIMIZED     0x00004022L
  434. #define MCI_DGV_STATUS_WINDOW_MAXIMIZED     0x00004023L
  435. #define MCI_DGV_STATUS_KEY_INDEX            0x00004024L
  436. #define MCI_DGV_STATUS_KEY_COLOR            0x00004025L
  437. #define MCI_DGV_STATUS_PAUSE_MODE           0x00004026L
  438. #define MCI_DGV_STATUS_SAMPLESPERSEC        0x00004027L
  439. #define MCI_DGV_STATUS_AVGBYTESPERSEC       0x00004028L
  440. #define MCI_DGV_STATUS_BLOCKALIGN           0x00004029L
  441. #define MCI_DGV_STATUS_BITSPERSAMPLE        0x0000402aL
  442. #define MCI_DGV_STATUS_BITSPERPEL           0x0000402bL
  443. #define MCI_DGV_STATUS_FORWARD              0x0000402cL
  444. #define MCI_DGV_STATUS_AUDIO_STREAM         0x0000402dL
  445. #define MCI_DGV_STATUS_VIDEO_STREAM         0x0000402eL
  446.  
  447. /* flags for dwFlags parameter of MCI_STEP command message */
  448.  
  449. #define MCI_DGV_STEP_REVERSE                0x00010000L 
  450. #define MCI_DGV_STEP_FRAMES                 0x00020000L 
  451.  
  452. /* flags for dwFlags parameter of MCI_STOP command message */
  453.  
  454. #define MCI_DGV_STOP_HOLD                   0x00010000L
  455.  
  456. /* flags for dwFlags parameter of MCI_UPDATE command message */
  457.  
  458. #define MCI_DGV_UPDATE_HDC                  0x00020000L
  459. #define MCI_DGV_UPDATE_PAINT                0x00040000L
  460.  
  461. /* flags for dwFlags parameter of MCI_WHERE command message */
  462.  
  463. #define MCI_DGV_WHERE_SOURCE                0x00020000L
  464. #define MCI_DGV_WHERE_DESTINATION           0x00040000L
  465. #define MCI_DGV_WHERE_FRAME                 0x00080000L
  466. #define MCI_DGV_WHERE_VIDEO                 0x00100000L
  467. #define MCI_DGV_WHERE_WINDOW                0x00200000L
  468. #define MCI_DGV_WHERE_MAX                   0x00400000L
  469.  
  470. /* flags for dwFlags parameter of MCI_WINDOW command message */
  471.  
  472. #define MCI_DGV_WINDOW_HWND                 0x00010000L 
  473. #define MCI_DGV_WINDOW_STATE                0x00040000L 
  474. #define MCI_DGV_WINDOW_TEXT                 0x00080000L 
  475.  
  476. /* flags for hWnd parameter of MCI_DGV_WINDOW_PARMS parameter block */
  477.  
  478. #define MCI_DGV_WINDOW_DEFAULT              0x00000000L
  479.  
  480. /* parameter block for MCI_WHERE, MCI_PUT, MCI_FREEZE, MCI_UNFREEZE cmds */
  481.  
  482. typedef struct {
  483.     DWORD   dwCallback;
  484. #ifdef MCI_USE_OFFEXT
  485.     POINT   ptOffset;
  486.     POINT   ptExtent;
  487. #else    
  488.     RECT    rc;
  489. #endif  
  490. } MCI_DGV_RECT_PARMS;
  491. typedef MCI_DGV_RECT_PARMS FAR * LPMCI_DGV_RECT_PARMS;
  492.  
  493. /* parameter block for MCI_CAPTURE command message */
  494.  
  495. typedef struct {
  496.     DWORD   dwCallback;
  497.     LPSTR   lpstrFileName;
  498. #ifdef MCI_USE_OFFEXT
  499.     POINT   ptOffset;
  500.     POINT   ptExtent;
  501. #else    
  502.     RECT    rc;
  503. #endif  
  504. } MCI_DGV_CAPTURE_PARMS;
  505. typedef MCI_DGV_CAPTURE_PARMS FAR * LPMCI_DGV_CAPTURE_PARMS;
  506.  
  507. /* parameter block for MCI_CLOSE command message */
  508.  
  509. typedef MCI_GENERIC_PARMS MCI_CLOSE_PARMS;
  510. typedef MCI_CLOSE_PARMS FAR * LPMCI_CLOSE_PARMS;
  511.  
  512. /* parameter block for MCI_COPY command message */
  513.  
  514. typedef struct {
  515.     DWORD   dwCallback;
  516.     DWORD   dwFrom;    
  517.     DWORD   dwTo;  
  518. #ifdef MCI_USE_OFFEXT
  519.     POINT   ptOffset;
  520.     POINT   ptExtent;
  521. #else    
  522.     RECT    rc;
  523. #endif  
  524.     DWORD   dwAudioStream;
  525.     DWORD   dwVideoStream;
  526. } MCI_DGV_COPY_PARMS;
  527. typedef MCI_DGV_COPY_PARMS FAR * LPMCI_DGV_COPY_PARMS;
  528.  
  529. /* parameter block for MCI_CUE command message */
  530.  
  531. typedef struct {
  532.     DWORD   dwCallback;
  533.     DWORD   dwTo;    
  534. } MCI_DGV_CUE_PARMS;
  535. typedef MCI_DGV_CUE_PARMS FAR * LPMCI_DGV_CUE_PARMS;
  536.  
  537. /* parameter block for MCI_CUT command message */
  538.  
  539. typedef struct {
  540.     DWORD   dwCallback;
  541.     DWORD   dwFrom;
  542.     DWORD   dwTo;  
  543. #ifdef MCI_USE_OFFEXT
  544.     POINT   ptOffset;
  545.     POINT   ptExtent;
  546. #else    
  547.     RECT    rc;
  548. #endif  
  549.     DWORD   dwAudioStream;
  550.     DWORD   dwVideoStream;
  551. } MCI_DGV_CUT_PARMS;
  552. typedef MCI_DGV_CUT_PARMS FAR * LPMCI_DGV_CUT_PARMS;
  553.  
  554. /* parameter block for MCI_DELETE command message */
  555.  
  556. typedef struct {
  557.     DWORD   dwCallback;
  558.     DWORD   dwFrom;
  559.     DWORD   dwTo;
  560. #ifdef MCI_USE_OFFEXT
  561.     POINT   ptOffset;
  562.     POINT   ptExtent;
  563. #else    
  564.     RECT    rc;
  565. #endif  
  566.     DWORD   dwAudioStream;
  567.     DWORD   dwVideoStream;
  568. } MCI_DGV_DELETE_PARMS;
  569. typedef MCI_DGV_DELETE_PARMS FAR * LPMCI_DGV_DELETE_PARMS;
  570.  
  571. /* parameter block for MCI_FREEZE command message */
  572.  
  573. typedef MCI_DGV_RECT_PARMS MCI_DGV_FREEZE_PARMS;
  574. typedef MCI_DGV_FREEZE_PARMS FAR * LPMCI_DGV_FREEZE_PARMS;
  575.  
  576. /* parameter block for MCI_INFO command message */
  577.  
  578. typedef struct  {
  579.     DWORD   dwCallback;
  580.     LPSTR   lpstrReturn;
  581.     DWORD   dwRetSize;
  582.     DWORD   dwItem;
  583. } MCI_DGV_INFO_PARMS;
  584. typedef MCI_INFO_PARMS FAR * LPMCI_INFO_PARMS;
  585. typedef MCI_DGV_INFO_PARMS FAR * LPMCI_DGV_INFO_PARMS;
  586.  
  587. /* parameter block for MCI_LIST command message */
  588.  
  589. typedef struct {
  590.     DWORD   dwCallback;
  591.     LPSTR   lpstrReturn;
  592.     DWORD   dwLength;
  593.     DWORD   dwNumber;
  594.     DWORD   dwItem;
  595.     LPSTR   lpstrAlgorithm;
  596. } MCI_DGV_LIST_PARMS;
  597. typedef MCI_DGV_LIST_PARMS FAR * LPMCI_DGV_LIST_PARMS;
  598.  
  599. /* parameter block for MCI_LOAD command message */
  600.  
  601. typedef MCI_LOAD_PARMS MCI_DGV_LOAD_PARMS;   
  602. typedef MCI_DGV_LOAD_PARMS FAR * LPMCI_DGV_LOAD_PARMS;
  603.  
  604. /* parameter block for MCI_MONITOR command message */
  605.  
  606. typedef struct {
  607.     DWORD   dwCallback;
  608.     DWORD   dwSource;
  609.     DWORD   dwMethod;
  610. } MCI_DGV_MONITOR_PARMS;
  611. typedef MCI_DGV_MONITOR_PARMS FAR * LPMCI_DGV_MONITOR_PARMS;
  612.  
  613. /* parameter block for MCI_OPEN command message */
  614.  
  615. typedef struct {
  616.     DWORD   dwCallback;
  617.     WORD    wDeviceID;
  618.     WORD    wReserved0;
  619.     LPSTR   lpstrDeviceType;
  620.     LPSTR   lpstrElementName;
  621.     LPSTR   lpstrAlias;
  622.     DWORD   dwStyle;
  623.     HWND    hWndParent;
  624.     WORD    wReserved1;
  625. } MCI_DGV_OPEN_PARMS;
  626. typedef MCI_DGV_OPEN_PARMS FAR * LPMCI_DGV_OPEN_PARMS;
  627.  
  628. /* parameter block for MCI_PAUSE command message */
  629.  
  630. typedef MCI_GENERIC_PARMS MCI_DGV_PAUSE_PARMS;
  631. typedef MCI_DGV_PAUSE_PARMS FAR * LPMCI_DGV_PAUSE_PARMS;
  632.  
  633. /* parameter block for MCI_PASTE command message */
  634.  
  635. typedef struct {
  636.     DWORD   dwCallback;
  637.     DWORD   dwTo;  
  638. #ifdef MCI_USE_OFFEXT
  639.     POINT   ptOffset;
  640.     POINT   ptExtent;
  641. #else    
  642.     RECT    rc;
  643. #endif  
  644.     DWORD   dwAudioStream;
  645.     DWORD   dwVideoStream;
  646. } MCI_DGV_PASTE_PARMS;
  647. typedef MCI_DGV_PASTE_PARMS FAR * LPMCI_DGV_PASTE_PARMS;
  648.  
  649. /* parameter block for MCI_PLAY command message */
  650.  
  651. typedef MCI_PLAY_PARMS MCI_DGV_PLAY_PARMS;
  652. typedef MCI_DGV_PLAY_PARMS FAR * LPMCI_DGV_PLAY_PARMS;
  653.  
  654. /* parameter block for MCI_PUT command message */
  655.  
  656. typedef MCI_DGV_RECT_PARMS MCI_DGV_PUT_PARMS;
  657. typedef MCI_DGV_PUT_PARMS FAR * LPMCI_DGV_PUT_PARMS;
  658.  
  659. /* parameter block for MCI_QUALITY command message */
  660.  
  661. typedef struct {
  662.     DWORD       dwCallback;
  663.     DWORD       dwItem;
  664.     LPSTR       lpstrName;
  665.     DWORD       lpstrAlgorithm;
  666.     DWORD       dwHandle;
  667. } MCI_DGV_QUALITY_PARMS;
  668. typedef MCI_DGV_QUALITY_PARMS FAR * LPMCI_DGV_QUALITY_PARMS;
  669.  
  670. /* parameter block for MCI_REALIZE command message */
  671.  
  672. typedef MCI_GENERIC_PARMS MCI_REALIZE_PARMS;
  673. typedef MCI_REALIZE_PARMS FAR * LPMCI_REALIZE_PARMS;
  674.  
  675. /* parameter block for MCI_RECORD command message */
  676.  
  677. typedef struct {
  678.     DWORD   dwCallback;
  679.     DWORD   dwFrom;
  680.     DWORD   dwTo;
  681. #ifdef MCI_USE_OFFEXT
  682.     POINT   ptOffset;
  683.     POINT   ptExtent;
  684. #else    
  685.     RECT    rc;
  686. #endif  
  687.     DWORD   dwAudioStream;
  688.     DWORD   dwVideoStream;
  689. } MCI_DGV_RECORD_PARMS;
  690. typedef MCI_DGV_RECORD_PARMS FAR * LPMCI_DGV_RECORD_PARMS;
  691.  
  692. /* parameter block for MCI_RESERVE command message */
  693.  
  694. typedef struct {
  695.     DWORD   dwCallback;
  696.     LPSTR   lpstrPath;
  697.     DWORD   dwSize;
  698. } MCI_DGV_RESERVE_PARMS;
  699. typedef MCI_DGV_RESERVE_PARMS FAR * LPMCI_DGV_RESERVE_PARMS;
  700.  
  701. /* parameter block for MCI_RESTORE command message */
  702.  
  703. typedef struct {
  704.     DWORD   dwCallback;
  705.     LPSTR   lpstrFileName;
  706. #ifdef MCI_USE_OFFEXT
  707.     POINT   ptOffset;
  708.     POINT   ptExtent;
  709. #else    
  710.     RECT    rc;
  711. #endif  
  712. } MCI_DGV_RESTORE_PARMS;
  713. typedef MCI_DGV_RESTORE_PARMS FAR * LPMCI_DGV_RESTORE_PARMS;
  714.  
  715. /* parameter block for MCI_RESUME command message */
  716.  
  717. typedef MCI_GENERIC_PARMS MCI_DGV_RESUME_PARMS;
  718. typedef MCI_DGV_RESUME_PARMS FAR * LPMCI_DGV_RESUME_PARMS;
  719.  
  720. /* parameter block for MCI_SAVE command message */
  721.  
  722. typedef struct {
  723.     DWORD   dwCallback;
  724.     LPSTR   lpstrFileName;
  725.     RECT    rc;
  726. } MCI_DGV_SAVE_PARMS;
  727. typedef MCI_DGV_SAVE_PARMS FAR * LPMCI_DGV_SAVE_PARMS;
  728.  
  729. /* parameter block for MCI_SET command message */
  730.  
  731. typedef struct {
  732.     DWORD   dwCallback;
  733.     DWORD   dwTimeFormat;
  734.     DWORD   dwAudio;
  735.     DWORD   dwFileFormat;
  736.     DWORD   dwSpeed;
  737. } MCI_DGV_SET_PARMS;
  738. typedef MCI_DGV_SET_PARMS FAR * LPMCI_DGV_SET_PARMS;
  739.  
  740. /* parameter block for MCI_SETAUDIO command message */
  741.  
  742. typedef struct {
  743.     DWORD   dwCallback;
  744.     DWORD   dwItem;
  745.     DWORD   dwValue;
  746.     DWORD   dwOver;
  747.     LPSTR   lpstrAlgorithm;
  748.     LPSTR   lpstrQuality;
  749. } MCI_DGV_SETAUDIO_PARMS;
  750. typedef MCI_DGV_SETAUDIO_PARMS FAR * LPMCI_DGV_SETAUDIO_PARMS;
  751.  
  752. /* parameter block for MCI_SIGNAL command message */
  753.  
  754. typedef struct {
  755.     DWORD   dwCallback;
  756.     DWORD   dwPosition;
  757.     DWORD   dwPeriod;
  758.     DWORD   dwUserParm;
  759. } MCI_DGV_SIGNAL_PARMS;
  760. typedef MCI_DGV_SIGNAL_PARMS FAR * LPMCI_DGV_SIGNAL_PARMS;
  761.  
  762. /* parameter block for MCI_SETVIDEO command message */
  763.  
  764. typedef struct {
  765.     DWORD   dwCallback;
  766.     DWORD   dwItem;
  767.     DWORD   dwValue;
  768.     DWORD   dwOver;
  769.     LPSTR   lpstrAlgorithm;
  770.     LPSTR   lpstrQuality;
  771.     DWORD   dwSourceNumber;
  772. } MCI_DGV_SETVIDEO_PARMS;
  773. typedef MCI_DGV_SETVIDEO_PARMS FAR * LPMCI_DGV_SETVIDEO_PARMS;
  774.  
  775. /* parameter block for MCI_STATUS command message */
  776.  
  777. typedef struct {
  778.     DWORD   dwCallback;
  779.     DWORD   dwReturn;
  780.     DWORD   dwItem;
  781.     DWORD   dwTrack;
  782.     LPSTR   lpstrDrive;
  783.     DWORD   dwReference;
  784. } MCI_DGV_STATUS_PARMS;
  785. typedef MCI_DGV_STATUS_PARMS FAR * LPMCI_DGV_STATUS_PARMS;
  786.  
  787. /* parameter block for MCI_STEP command message */
  788.  
  789. typedef struct {
  790.     DWORD   dwCallback;
  791.     DWORD   dwFrames;
  792. } MCI_DGV_STEP_PARMS;
  793. typedef MCI_DGV_STEP_PARMS FAR *LPMCI_DGV_STEP_PARMS;
  794.  
  795. /* parameter block for MCI_STOP command message */
  796.  
  797. typedef MCI_GENERIC_PARMS MCI_DGV_STOP_PARMS;
  798. typedef MCI_DGV_STOP_PARMS FAR * LPMCI_DGV_STOP_PARMS;
  799.  
  800. /* parameter block for MCI_UNFREEZE command message */
  801.  
  802. typedef MCI_DGV_RECT_PARMS MCI_DGV_UNFREEZE_PARMS;
  803. typedef MCI_DGV_UNFREEZE_PARMS FAR * LPMCI_DGV_UNFREEZE_PARMS;
  804.  
  805. /* parameter block for MCI_UPDATE command message */
  806.  
  807. typedef struct {
  808.     DWORD   dwCallback;
  809. #ifdef MCI_USE_OFFEXT
  810.     POINT   ptOffset;
  811.     POINT   ptExtent;
  812. #else    
  813.     RECT    rc;
  814. #endif  
  815.     HDC     hDC;
  816.     WORD    wReserved0;
  817. } MCI_DGV_UPDATE_PARMS;
  818. typedef MCI_DGV_UPDATE_PARMS FAR * LPMCI_DGV_UPDATE_PARMS;
  819.  
  820. /* parameter block for MCI_WHERE command message */
  821.  
  822. typedef MCI_DGV_RECT_PARMS MCI_DGV_WHERE_PARMS;
  823. typedef MCI_DGV_WHERE_PARMS FAR * LPMCI_DGV_WHERE_PARMS;
  824.  
  825. /* parameter block for MCI_WINDOW command message */
  826.  
  827. typedef struct {
  828.     DWORD   dwCallback;
  829.     HWND    hWnd;
  830.     WORD    wReserved1;
  831.     WORD    nCmdShow;
  832.     WORD    wReserved2;
  833.     LPSTR   lpstrText;
  834. } MCI_DGV_WINDOW_PARMS;
  835. typedef MCI_DGV_WINDOW_PARMS FAR * LPMCI_DGV_WINDOW_PARMS;
  836.  
  837. #ifdef __cplusplus
  838. }                       /* End of extern "C" { */
  839. #endif    /* __cplusplus */
  840.  
  841. #endif  /* !_INC_DIGITALV */
  842.