digitalv.h 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867
  1. /*
  2. * Copyright (C) 1999 Eric Pouech
  3. *
  4. * This library is free software; you can redistribute it and/or
  5. * modify it under the terms of the GNU Lesser General Public
  6. * License as published by the Free Software Foundation; either
  7. * version 2.1 of the License, or (at your option) any later version.
  8. *
  9. * This library is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  12. * Lesser General Public License for more details.
  13. *
  14. * You should have received a copy of the GNU Lesser General Public
  15. * License along with this library; if not, write to the Free Software
  16. * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  17. */
  18. #ifndef __WINE_DIGITALV_H
  19. #define __WINE_DIGITALV_H
  20. /*
  21. * Wine Digital Video extensions
  22. */
  23. #ifdef __cplusplus
  24. extern "C" {
  25. #endif
  26. #define MCI_TEST 0x00000020L
  27. /* Message values */
  28. #define MCI_CAPTURE 0x0870
  29. #define MCI_MONITOR 0x0871
  30. #define MCI_RESERVE 0x0872
  31. #define MCI_SETAUDIO 0x0873
  32. #define MCI_SIGNAL 0x0875
  33. #define MCI_SETVIDEO 0x0876
  34. #define MCI_QUALITY 0x0877
  35. #define MCI_LIST 0x0878
  36. #define MCI_UNDO 0x0879
  37. #define MCI_CONFIGURE 0x087A
  38. #define MCI_RESTORE 0x087B
  39. /* Return and string constant values */
  40. #define MCI_ON 1
  41. #define MCI_OFF 0
  42. #define MCI_DGV_FILE_MODE_SAVING 0x0001
  43. #define MCI_DGV_FILE_MODE_LOADING 0x0002
  44. #define MCI_DGV_FILE_MODE_EDITING 0x0003
  45. #define MCI_DGV_FILE_MODE_IDLE 0x0004
  46. /* These identifiers are used only by device drivers */
  47. #define MCI_ON_S 0x00008000L
  48. #define MCI_OFF_S 0x00008001L
  49. #define MCI_DGV_FILE_S 0x00008002L
  50. #define MCI_DGV_INPUT_S 0x00008003L
  51. #define MCI_DGV_FILE_MODE_SAVING_S 0x00008004L
  52. #define MCI_DGV_FILE_MODE_LOADING_S 0x00008005L
  53. #define MCI_DGV_FILE_MODE_EDITING_S 0x00008006L
  54. #define MCI_DGV_FILE_MODE_IDLE_S 0x00008007L
  55. #define MCI_DGV_SETVIDEO_SRC_NTSC_S 0x00008010L
  56. #define MCI_DGV_SETVIDEO_SRC_RGB_S 0x00008011L
  57. #define MCI_DGV_SETVIDEO_SRC_SVIDEO_S 0x00008012L
  58. #define MCI_DGV_SETVIDEO_SRC_PAL_S 0x00008013L
  59. #define MCI_DGV_SETVIDEO_SRC_SECAM_S 0x00008014L
  60. #define MCI_DGV_SETVIDEO_SRC_GENERIC_S 0x00008015L
  61. #define MCI_DGV_SETAUDIO_SRC_LEFT_S 0x00008020L
  62. #define MCI_DGV_SETAUDIO_SRC_RIGHT_S 0x00008021L
  63. #define MCI_DGV_SETAUDIO_SRC_AVERAGE_S 0x00008022L
  64. #define MCI_DGV_SETAUDIO_SRC_STEREO_S 0x00008023L
  65. /* Window message for signal notification */
  66. #ifndef MM_MCISIGNAL
  67. #define MM_MCISIGNAL 0x3CB
  68. #endif
  69. /* error values */
  70. #define MCIERR_DGV_DEVICE_LIMIT (MCIERR_CUSTOM_DRIVER_BASE+0)
  71. #define MCIERR_DGV_IOERR (MCIERR_CUSTOM_DRIVER_BASE+1)
  72. #define MCIERR_DGV_WORKSPACE_EMPTY (MCIERR_CUSTOM_DRIVER_BASE+2)
  73. #define MCIERR_DGV_DISK_FULL (MCIERR_CUSTOM_DRIVER_BASE+3)
  74. #define MCIERR_DGV_DEVICE_MEMORY_FULL (MCIERR_CUSTOM_DRIVER_BASE+4)
  75. #define MCIERR_DGV_BAD_CLIPBOARD_RANGE (MCIERR_CUSTOM_DRIVER_BASE+5)
  76. /* defines for monitor methods */
  77. #define MCI_DGV_METHOD_PRE 0x0000a000L
  78. #define MCI_DGV_METHOD_POST 0x0000a001L
  79. #define MCI_DGV_METHOD_DIRECT 0x0000a002L
  80. /* defines for known file formats */
  81. #define MCI_DGV_FF_AVSS 0x00004000L
  82. #define MCI_DGV_FF_AVI 0x00004001L
  83. #define MCI_DGV_FF_DIB 0x00004002L
  84. #define MCI_DGV_FF_RDIB 0x00004003L
  85. #define MCI_DGV_FF_JPEG 0x00004004L
  86. #define MCI_DGV_FF_RJPEG 0x00004005L
  87. #define MCI_DGV_FF_JFIF 0x00004006L
  88. #define MCI_DGV_FF_MPEG 0x00004007L
  89. /* values for dwItem field of MCI_CAPABILITY_PARMS structure */
  90. #define MCI_DGV_GETDEVCAPS_CAN_LOCK 0x00004000L
  91. #define MCI_DGV_GETDEVCAPS_CAN_STRETCH 0x00004001L
  92. #define MCI_DGV_GETDEVCAPS_CAN_FREEZE 0x00004002L
  93. #define MCI_DGV_GETDEVCAPS_MAX_WINDOWS 0x00004003L
  94. #define MCI_DGV_GETDEVCAPS_CAN_REVERSE 0x00004004L
  95. #define MCI_DGV_GETDEVCAPS_HAS_STILL 0x00004005L
  96. #define MCI_DGV_GETDEVCAPS_PALETTES 0x00004006L
  97. #define MCI_DGV_GETDEVCAPS_CAN_STR_IN 0x00004008L
  98. #define MCI_DGV_GETDEVCAPS_CAN_TEST 0x00004009L
  99. #define MCI_DGV_GETDEVCAPS_MAXIMUM_RATE 0x0000400aL
  100. #define MCI_DGV_GETDEVCAPS_MINIMUM_RATE 0x0000400bL
  101. /* flags for dwFlags parameter of MCI_CAPTURE command message */
  102. #define MCI_DGV_CAPTURE_AS 0x00010000L
  103. #define MCI_DGV_CAPTURE_AT 0x00020000L
  104. /* flags for dwFlags parameter of MCI_COPY command message */
  105. #define MCI_DGV_COPY_AT 0x00010000L
  106. #define MCI_DGV_COPY_AUDIO_STREAM 0x00020000L
  107. #define MCI_DGV_COPY_VIDEO_STREAM 0x00040000L
  108. /* flags for dwFlags parameter of MCI_CUE command message */
  109. #define MCI_DGV_CUE_INPUT 0x00010000L
  110. #define MCI_DGV_CUE_OUTPUT 0x00020000L
  111. #define MCI_DGV_CUE_NOSHOW 0x00040000L
  112. /* flags for dwFlags parameter of MCI_CUT command message */
  113. #define MCI_DGV_CUT_AT 0x00010000L
  114. #define MCI_DGV_CUT_AUDIO_STREAM 0x00020000L
  115. #define MCI_DGV_CUT_VIDEO_STREAM 0x00040000L
  116. /* flags for dwFlags parameter of MCI_DELETE command message */
  117. #define MCI_DGV_DELETE_AT 0x00010000L
  118. #define MCI_DGV_DELETE_AUDIO_STREAM 0x00020000L
  119. #define MCI_DGV_DELETE_VIDEO_STREAM 0x00040000L
  120. /* flags for dwFlags parameter of MCI_FREEZE command message */
  121. #define MCI_DGV_FREEZE_AT 0x00010000L
  122. #define MCI_DGV_FREEZE_OUTSIDE 0x00020000L
  123. /* flags for dwFlags parameter of MCI_INFO command message */
  124. #define MCI_DGV_INFO_TEXT 0x00010000L
  125. #define MCI_DGV_INFO_ITEM 0X00020000L
  126. /* values for dwItem field of MCI_DGV_INFO_PARMS structure */
  127. #define MCI_INFO_VERSION 0x00000400L
  128. #define MCI_DGV_INFO_USAGE 0x00004000L
  129. #define MCI_DGV_INFO_AUDIO_QUALITY 0x00004001L
  130. #define MCI_DGV_INFO_STILL_QUALITY 0x00004002L
  131. #define MCI_DGV_INFO_VIDEO_QUALITY 0x00004003L
  132. #define MCI_DGV_INFO_AUDIO_ALG 0x00004004L
  133. #define MCI_DGV_INFO_STILL_ALG 0x00004005L
  134. #define MCI_DGV_INFO_VIDEO_ALG 0x00004006L
  135. /* flags for dwFlags parameter of MCI_LIST command message */
  136. #define MCI_DGV_LIST_ITEM 0x00010000L
  137. #define MCI_DGV_LIST_COUNT 0x00020000L
  138. #define MCI_DGV_LIST_NUMBER 0x00040000L
  139. #define MCI_DGV_LIST_ALG 0x00080000L
  140. /* values for dwItem field of MCI_DGV_LIST_PARMS structure */
  141. #define MCI_DGV_LIST_AUDIO_ALG 0x00004000L
  142. #define MCI_DGV_LIST_AUDIO_QUALITY 0x00004001L
  143. #define MCI_DGV_LIST_AUDIO_STREAM 0x00004002L
  144. #define MCI_DGV_LIST_STILL_ALG 0x00004003L
  145. #define MCI_DGV_LIST_STILL_QUALITY 0x00004004L
  146. #define MCI_DGV_LIST_VIDEO_ALG 0x00004005L
  147. #define MCI_DGV_LIST_VIDEO_QUALITY 0x00004006L
  148. #define MCI_DGV_LIST_VIDEO_STREAM 0x00004007L
  149. #define MCI_DGV_LIST_VIDEO_SOURCE 0x00004008L
  150. /* flags for dwFlags parameter of MCI_MONITOR command message */
  151. #define MCI_DGV_MONITOR_METHOD 0x00010000L
  152. #define MCI_DGV_MONITOR_SOURCE 0x00020000L
  153. /* values for dwSource parameter of the MCI_DGV_MONITOR_PARMS struture */
  154. #define MCI_DGV_MONITOR_INPUT 0x00004000L
  155. #define MCI_DGV_MONITOR_FILE 0x00004001L
  156. /* flags for dwFlags parameter of MCI_OPEN command message */
  157. #define MCI_DGV_OPEN_WS 0x00010000L
  158. #define MCI_DGV_OPEN_PARENT 0x00020000L
  159. #define MCI_DGV_OPEN_NOSTATIC 0x00040000L
  160. #define MCI_DGV_OPEN_16BIT 0x00080000L
  161. #define MCI_DGV_OPEN_32BIT 0x00100000L
  162. /* flags for dwFlags parameter of MCI_PASTE command message */
  163. #define MCI_DGV_PASTE_AT 0x00010000L
  164. #define MCI_DGV_PASTE_AUDIO_STREAM 0x00020000L
  165. #define MCI_DGV_PASTE_VIDEO_STREAM 0x00040000L
  166. #define MCI_DGV_PASTE_INSERT 0x00080000L
  167. #define MCI_DGV_PASTE_OVERWRITE 0x00100000L
  168. /* flags for dwFlags parameter of MCI_PLAY command message */
  169. #define MCI_DGV_PLAY_REPEAT 0x00010000L
  170. #define MCI_DGV_PLAY_REVERSE 0x00020000L
  171. /* flags for dwFlags parameter of MCI_PUT command message */
  172. #define MCI_DGV_RECT 0x00010000L
  173. #define MCI_DGV_PUT_SOURCE 0x00020000L
  174. #define MCI_DGV_PUT_DESTINATION 0x00040000L
  175. #define MCI_DGV_PUT_FRAME 0x00080000L
  176. #define MCI_DGV_PUT_VIDEO 0x00100000L
  177. #define MCI_DGV_PUT_WINDOW 0x00200000L
  178. #define MCI_DGV_PUT_CLIENT 0x00400000L
  179. /* flags for dwFlags parameter of MCI_QUALITY command message */
  180. #define MCI_QUALITY_ITEM 0x00010000L
  181. #define MCI_QUALITY_NAME 0x00020000L
  182. #define MCI_QUALITY_ALG 0x00040000L
  183. #define MCI_QUALITY_DIALOG 0x00080000L
  184. #define MCI_QUALITY_HANDLE 0x00100000L
  185. /* values for dwItem field of MCI_QUALITY_PARMS structure */
  186. #define MCI_QUALITY_ITEM_AUDIO 0x00004000L
  187. #define MCI_QUALITY_ITEM_STILL 0x00004001L
  188. #define MCI_QUALITY_ITEM_VIDEO 0x00004002L
  189. /* flags for dwFlags parameter of MCI_REALIZE command message */
  190. #define MCI_DGV_REALIZE_NORM 0x00010000L
  191. #define MCI_DGV_REALIZE_BKGD 0x00020000L
  192. /* flags for dwFlags parameter of MCI_RECORD command message */
  193. #define MCI_DGV_RECORD_HOLD 0x00020000L
  194. #define MCI_DGV_RECORD_AUDIO_STREAM 0x00040000L
  195. #define MCI_DGV_RECORD_VIDEO_STREAM 0x00080000L
  196. /* flags for dwFlags parameters of MCI_RESERVE command message */
  197. #define MCI_DGV_RESERVE_IN 0x00010000L
  198. #define MCI_DGV_RESERVE_SIZE 0x00020000L
  199. /* flags for dwFlags parameter of MCI_RESTORE command message */
  200. #define MCI_DGV_RESTORE_FROM 0x00010000L
  201. #define MCI_DGV_RESTORE_AT 0x00020000L
  202. /* flags for dwFlags parameters of MCI_SAVE command message */
  203. #define MCI_DGV_SAVE_ABORT 0x00020000L
  204. #define MCI_DGV_SAVE_KEEPRESERVE 0x00040000L
  205. /* flags for dwFlags parameters of MCI_SET command message */
  206. #define MCI_DGV_SET_SEEK_EXACTLY 0x00010000L
  207. #define MCI_DGV_SET_SPEED 0x00020000L
  208. #define MCI_DGV_SET_STILL 0x00040000L
  209. #define MCI_DGV_SET_FILEFORMAT 0x00080000L
  210. /* flags for the dwFlags parameter of MCI_SETAUDIO command message */
  211. #define MCI_DGV_SETAUDIO_OVER 0x00010000L
  212. #define MCI_DGV_SETAUDIO_CLOCKTIME 0x00020000L
  213. #define MCI_DGV_SETAUDIO_ALG 0x00040000L
  214. #define MCI_DGV_SETAUDIO_QUALITY 0x00080000L
  215. #define MCI_DGV_SETAUDIO_RECORD 0x00100000L
  216. #define MCI_DGV_SETAUDIO_LEFT 0x00200000L
  217. #define MCI_DGV_SETAUDIO_RIGHT 0x00400000L
  218. #define MCI_DGV_SETAUDIO_ITEM 0x00800000L
  219. #define MCI_DGV_SETAUDIO_VALUE 0x01000000L
  220. #define MCI_DGV_SETAUDIO_INPUT 0x02000000L
  221. #define MCI_DGV_SETAUDIO_OUTPUT 0x04000000L
  222. /* values for the dwItem parameter of MCI_DGV_SETAUDIO_PARMS */
  223. #define MCI_DGV_SETAUDIO_TREBLE 0x00004000L
  224. #define MCI_DGV_SETAUDIO_BASS 0x00004001L
  225. #define MCI_DGV_SETAUDIO_VOLUME 0x00004002L
  226. #define MCI_DGV_SETAUDIO_STREAM 0x00004003L
  227. #define MCI_DGV_SETAUDIO_SOURCE 0x00004004L
  228. #define MCI_DGV_SETAUDIO_SAMPLESPERSEC 0x00004005L
  229. #define MCI_DGV_SETAUDIO_AVGBYTESPERSEC 0x00004006L
  230. #define MCI_DGV_SETAUDIO_BLOCKALIGN 0x00004007L
  231. #define MCI_DGV_SETAUDIO_BITSPERSAMPLE 0x00004008L
  232. /* values for the dwValue parameter of MCI_DGV_SETAUDIO_PARMS
  233. used with MCI_DGV_SETAUDIO_SOURCE */
  234. #define MCI_DGV_SETAUDIO_SOURCE_STEREO 0x00000000L
  235. #define MCI_DGV_SETAUDIO_SOURCE_LEFT 0x00000001L
  236. #define MCI_DGV_SETAUDIO_SOURCE_RIGHT 0x00000002L
  237. #define MCI_DGV_SETAUDIO_SOURCE_AVERAGE 0x00004000L
  238. /* flags for the dwFlags parameter of MCI_SETVIDEO command */
  239. #define MCI_DGV_SETVIDEO_QUALITY 0x00010000L
  240. #define MCI_DGV_SETVIDEO_ALG 0x00020000L
  241. #define MCI_DGV_SETVIDEO_CLOCKTIME 0x00040000L
  242. #define MCI_DGV_SETVIDEO_SRC_NUMBER 0x00080000L
  243. #define MCI_DGV_SETVIDEO_ITEM 0x00100000L
  244. #define MCI_DGV_SETVIDEO_OVER 0x00200000L
  245. #define MCI_DGV_SETVIDEO_RECORD 0x00400000L
  246. #define MCI_DGV_SETVIDEO_STILL 0x00800000L
  247. #define MCI_DGV_SETVIDEO_VALUE 0x01000000L
  248. #define MCI_DGV_SETVIDEO_INPUT 0x02000000L
  249. #define MCI_DGV_SETVIDEO_OUTPUT 0x04000000L
  250. /* values for the dwTo field of MCI_SETVIDEO_PARMS
  251. used with MCI_DGV_SETVIDEO_SOURCE */
  252. #define MCI_DGV_SETVIDEO_SRC_NTSC 0x00004000L
  253. #define MCI_DGV_SETVIDEO_SRC_RGB 0x00004001L
  254. #define MCI_DGV_SETVIDEO_SRC_SVIDEO 0x00004002L
  255. #define MCI_DGV_SETVIDEO_SRC_PAL 0x00004003L
  256. #define MCI_DGV_SETVIDEO_SRC_SECAM 0x00004004L
  257. #define MCI_DGV_SETVIDEO_SRC_GENERIC 0x00004005L
  258. /* values for the dwItem field of MCI_SETVIDEO_PARMS */
  259. #define MCI_DGV_SETVIDEO_BRIGHTNESS 0x00004000L
  260. #define MCI_DGV_SETVIDEO_COLOR 0x00004001L
  261. #define MCI_DGV_SETVIDEO_CONTRAST 0x00004002L
  262. #define MCI_DGV_SETVIDEO_TINT 0x00004003L
  263. #define MCI_DGV_SETVIDEO_SHARPNESS 0x00004004L
  264. #define MCI_DGV_SETVIDEO_GAMMA 0x00004005L
  265. #define MCI_DGV_SETVIDEO_STREAM 0x00004006L
  266. #define MCI_DGV_SETVIDEO_PALHANDLE 0x00004007L
  267. #define MCI_DGV_SETVIDEO_FRAME_RATE 0x00004008L
  268. #define MCI_DGV_SETVIDEO_SOURCE 0x00004009L
  269. #define MCI_DGV_SETVIDEO_KEY_INDEX 0x0000400aL
  270. #define MCI_DGV_SETVIDEO_KEY_COLOR 0x0000400bL
  271. #define MCI_DGV_SETVIDEO_BITSPERPEL 0x0000400cL
  272. /* flags for the dwFlags parameter of MCI_SIGNAL */
  273. #define MCI_DGV_SIGNAL_AT 0x00010000L
  274. #define MCI_DGV_SIGNAL_EVERY 0x00020000L
  275. #define MCI_DGV_SIGNAL_USERVAL 0x00040000L
  276. #define MCI_DGV_SIGNAL_CANCEL 0x00080000L
  277. #define MCI_DGV_SIGNAL_POSITION 0x00100000L
  278. /* flags for the dwFlags parameter of MCI_STATUS command */
  279. #define MCI_DGV_STATUS_NOMINAL 0x00020000L
  280. #define MCI_DGV_STATUS_REFERENCE 0x00040000L
  281. #define MCI_DGV_STATUS_LEFT 0x00080000L
  282. #define MCI_DGV_STATUS_RIGHT 0x00100000L
  283. #define MCI_DGV_STATUS_DISKSPACE 0x00200000L
  284. #define MCI_DGV_STATUS_INPUT 0x00400000L
  285. #define MCI_DGV_STATUS_OUTPUT 0x00800000L
  286. #define MCI_DGV_STATUS_RECORD 0x01000000L
  287. /* values for dwItem field of MCI_STATUS_PARMS structure */
  288. #define MCI_DGV_STATUS_AUDIO_INPUT 0x00004000L
  289. #define MCI_DGV_STATUS_HWND 0x00004001L
  290. #define MCI_DGV_STATUS_SPEED 0x00004003L
  291. #define MCI_DGV_STATUS_HPAL 0x00004004L
  292. #define MCI_DGV_STATUS_BRIGHTNESS 0x00004005L
  293. #define MCI_DGV_STATUS_COLOR 0x00004006L
  294. #define MCI_DGV_STATUS_CONTRAST 0x00004007L
  295. #define MCI_DGV_STATUS_FILEFORMAT 0x00004008L
  296. #define MCI_DGV_STATUS_AUDIO_SOURCE 0x00004009L
  297. #define MCI_DGV_STATUS_GAMMA 0x0000400aL
  298. #define MCI_DGV_STATUS_MONITOR 0x0000400bL
  299. #define MCI_DGV_STATUS_MONITOR_METHOD 0x0000400cL
  300. #define MCI_DGV_STATUS_FRAME_RATE 0x0000400eL
  301. #define MCI_DGV_STATUS_BASS 0x0000400fL
  302. #define MCI_DGV_STATUS_SIZE 0x00004010L
  303. #define MCI_DGV_STATUS_SEEK_EXACTLY 0x00004011L
  304. #define MCI_DGV_STATUS_SHARPNESS 0x00004012L
  305. #define MCI_DGV_STATUS_SMPTE 0x00004013L
  306. #define MCI_DGV_STATUS_AUDIO 0x00004014L
  307. #define MCI_DGV_STATUS_TINT 0x00004015L
  308. #define MCI_DGV_STATUS_TREBLE 0x00004016L
  309. #define MCI_DGV_STATUS_UNSAVED 0x00004017L
  310. #define MCI_DGV_STATUS_VIDEO 0x00004018L
  311. #define MCI_DGV_STATUS_VOLUME 0x00004019L
  312. #define MCI_DGV_STATUS_AUDIO_RECORD 0x0000401aL
  313. #define MCI_DGV_STATUS_VIDEO_SOURCE 0x0000401bL
  314. #define MCI_DGV_STATUS_VIDEO_RECORD 0x0000401cL
  315. #define MCI_DGV_STATUS_STILL_FILEFORMAT 0x0000401dL
  316. #define MCI_DGV_STATUS_VIDEO_SRC_NUM 0x0000401eL
  317. #define MCI_DGV_STATUS_FILE_MODE 0x0000401fL
  318. #define MCI_DGV_STATUS_FILE_COMPLETION 0x00004020L
  319. #define MCI_DGV_STATUS_WINDOW_VISIBLE 0x00004021L
  320. #define MCI_DGV_STATUS_WINDOW_MINIMIZED 0x00004022L
  321. #define MCI_DGV_STATUS_WINDOW_MAXIMIZED 0x00004023L
  322. #define MCI_DGV_STATUS_KEY_INDEX 0x00004024L
  323. #define MCI_DGV_STATUS_KEY_COLOR 0x00004025L
  324. #define MCI_DGV_STATUS_PAUSE_MODE 0x00004026L
  325. #define MCI_DGV_STATUS_SAMPLESPERSEC 0x00004027L
  326. #define MCI_DGV_STATUS_AVGBYTESPERSEC 0x00004028L
  327. #define MCI_DGV_STATUS_BLOCKALIGN 0x00004029L
  328. #define MCI_DGV_STATUS_BITSPERSAMPLE 0x0000402aL
  329. #define MCI_DGV_STATUS_BITSPERPEL 0x0000402bL
  330. #define MCI_DGV_STATUS_FORWARD 0x0000402cL
  331. #define MCI_DGV_STATUS_AUDIO_STREAM 0x0000402dL
  332. #define MCI_DGV_STATUS_VIDEO_STREAM 0x0000402eL
  333. /* flags for dwFlags parameter of MCI_STEP command message */
  334. #define MCI_DGV_STEP_REVERSE 0x00010000L
  335. #define MCI_DGV_STEP_FRAMES 0x00020000L
  336. /* flags for dwFlags parameter of MCI_STOP command message */
  337. #define MCI_DGV_STOP_HOLD 0x00010000L
  338. /* flags for dwFlags parameter of MCI_UPDATE command message */
  339. #define MCI_DGV_UPDATE_HDC 0x00020000L
  340. #define MCI_DGV_UPDATE_PAINT 0x00040000L
  341. /* flags for dwFlags parameter of MCI_WHERE command message */
  342. #define MCI_DGV_WHERE_SOURCE 0x00020000L
  343. #define MCI_DGV_WHERE_DESTINATION 0x00040000L
  344. #define MCI_DGV_WHERE_FRAME 0x00080000L
  345. #define MCI_DGV_WHERE_VIDEO 0x00100000L
  346. #define MCI_DGV_WHERE_WINDOW 0x00200000L
  347. #define MCI_DGV_WHERE_MAX 0x00400000L
  348. /* flags for dwFlags parameter of MCI_WINDOW command message */
  349. #define MCI_DGV_WINDOW_HWND 0x00010000L
  350. #define MCI_DGV_WINDOW_STATE 0x00040000L
  351. #define MCI_DGV_WINDOW_TEXT 0x00080000L
  352. /* flags for hWnd parameter of MCI_DGV_WINDOW_PARMS parameter block */
  353. #define MCI_DGV_WINDOW_DEFAULT 0x00000000L
  354. /* parameter block for MCI_WHERE, MCI_PUT, MCI_FREEZE, MCI_UNFREEZE cmds */
  355. typedef struct {
  356. DWORD_PTR dwCallback;
  357. RECT rc;
  358. } MCI_DGV_RECT_PARMS, *LPMCI_DGV_RECT_PARMS;
  359. /* parameter block for MCI_CAPTURE command message */
  360. typedef struct {
  361. DWORD_PTR dwCallback;
  362. LPSTR lpstrFileName;
  363. RECT rc;
  364. } MCI_DGV_CAPTURE_PARMSA, *LPMCI_DGV_CAPTURE_PARMSA;
  365. typedef struct {
  366. DWORD_PTR dwCallback;
  367. LPWSTR lpstrFileName;
  368. RECT rc;
  369. } MCI_DGV_CAPTURE_PARMSW, *LPMCI_DGV_CAPTURE_PARMSW;
  370. DECL_WINELIB_TYPE_AW(MCI_DGV_CAPTURE_PARMS)
  371. DECL_WINELIB_TYPE_AW(LPMCI_DGV_CAPTURE_PARMS)
  372. /* parameter block for MCI_CLOSE command message */
  373. typedef MCI_GENERIC_PARMS MCI_CLOSE_PARMS, *LPMCI_CLOSE_PARMS;
  374. /* parameter block for MCI_COPY command message */
  375. typedef struct {
  376. DWORD_PTR dwCallback;
  377. DWORD dwFrom;
  378. DWORD dwTo;
  379. RECT rc;
  380. DWORD dwAudioStream;
  381. DWORD dwVideoStream;
  382. } MCI_DGV_COPY_PARMS, *LPMCI_DGV_COPY_PARMS;
  383. /* parameter block for MCI_CUE command message */
  384. typedef struct {
  385. DWORD_PTR dwCallback;
  386. DWORD dwTo;
  387. } MCI_DGV_CUE_PARMS, *LPMCI_DGV_CUE_PARMS;
  388. /* parameter block for MCI_CUT command message */
  389. typedef struct {
  390. DWORD_PTR dwCallback;
  391. DWORD dwFrom;
  392. DWORD dwTo;
  393. RECT rc;
  394. DWORD dwAudioStream;
  395. DWORD dwVideoStream;
  396. } MCI_DGV_CUT_PARMS, * LPMCI_DGV_CUT_PARMS;
  397. /* parameter block for MCI_DELETE command message */
  398. typedef struct {
  399. DWORD_PTR dwCallback;
  400. DWORD dwFrom;
  401. DWORD dwTo;
  402. RECT rc;
  403. DWORD dwAudioStream;
  404. DWORD dwVideoStream;
  405. } MCI_DGV_DELETE_PARMS, * LPMCI_DGV_DELETE_PARMS;
  406. /* parameter block for MCI_FREEZE command message */
  407. typedef MCI_DGV_RECT_PARMS MCI_DGV_FREEZE_PARMS, * LPMCI_DGV_FREEZE_PARMS;
  408. /* parameter block for MCI_INFO command message */
  409. typedef struct {
  410. DWORD_PTR dwCallback;
  411. LPSTR lpstrReturn;
  412. DWORD dwRetSize;
  413. DWORD dwItem;
  414. } MCI_DGV_INFO_PARMSA, * LPMCI_DGV_INFO_PARMSA;
  415. typedef struct {
  416. DWORD_PTR dwCallback;
  417. LPWSTR lpstrReturn;
  418. DWORD dwRetSize;
  419. DWORD dwItem;
  420. } MCI_DGV_INFO_PARMSW, *LPMCI_DGV_INFO_PARMSW;
  421. DECL_WINELIB_TYPE_AW(MCI_DGV_INFO_PARMS)
  422. DECL_WINELIB_TYPE_AW(LPMCI_DGV_INFO_PARMS)
  423. /* parameter block for MCI_LIST command message */
  424. typedef struct {
  425. DWORD_PTR dwCallback;
  426. LPSTR lpstrReturn;
  427. DWORD dwLength;
  428. DWORD dwNumber;
  429. DWORD dwItem;
  430. LPSTR lpstrAlgorithm;
  431. } MCI_DGV_LIST_PARMSA, *LPMCI_DGV_LIST_PARMSA;
  432. typedef struct {
  433. DWORD_PTR dwCallback;
  434. LPWSTR lpstrReturn;
  435. DWORD dwLength;
  436. DWORD dwNumber;
  437. DWORD dwItem;
  438. LPWSTR lpstrAlgorithm;
  439. } MCI_DGV_LIST_PARMSW, *LPMCI_DGV_LIST_PARMSW;
  440. DECL_WINELIB_TYPE_AW(MCI_DGV_LIST_PARMS)
  441. DECL_WINELIB_TYPE_AW(LPMCI_DGV_LIST_PARMS)
  442. /* parameter block for MCI_LOAD command message */
  443. typedef MCI_LOAD_PARMSA MCI_DGV_LOAD_PARMSA, * LPMCI_DGV_LOAD_PARMSA;
  444. typedef MCI_LOAD_PARMSW MCI_DGV_LOAD_PARMSW, * LPMCI_DGV_LOAD_PARMSW;
  445. DECL_WINELIB_TYPE_AW(MCI_DGV_LOAD_PARMS)
  446. DECL_WINELIB_TYPE_AW(LPMCI_DGV_LOAD_PARMS)
  447. /* parameter block for MCI_MONITOR command message */
  448. typedef struct {
  449. DWORD_PTR dwCallback;
  450. DWORD dwSource;
  451. DWORD dwMethod;
  452. } MCI_DGV_MONITOR_PARMS, * LPMCI_DGV_MONITOR_PARMS;
  453. /* parameter block for MCI_OPEN command message */
  454. typedef struct {
  455. DWORD_PTR dwCallback;
  456. UINT wDeviceID;
  457. LPSTR lpstrDeviceType;
  458. LPSTR lpstrElementName;
  459. LPSTR lpstrAlias;
  460. DWORD dwStyle;
  461. HWND hWndParent;
  462. } MCI_DGV_OPEN_PARMSA, *LPMCI_DGV_OPEN_PARMSA;
  463. typedef struct {
  464. DWORD_PTR dwCallback;
  465. UINT wDeviceID;
  466. LPWSTR lpstrDeviceType;
  467. LPWSTR lpstrElementName;
  468. LPWSTR lpstrAlias;
  469. DWORD dwStyle;
  470. HWND hWndParent;
  471. } MCI_DGV_OPEN_PARMSW, *LPMCI_DGV_OPEN_PARMSW;
  472. DECL_WINELIB_TYPE_AW(MCI_DGV_OPEN_PARMS)
  473. DECL_WINELIB_TYPE_AW(LPMCI_DGV_OPEN_PARMS)
  474. /* parameter block for MCI_PAUSE command message */
  475. typedef MCI_GENERIC_PARMS MCI_DGV_PAUSE_PARMS, * LPMCI_DGV_PAUSE_PARMS;
  476. /* parameter block for MCI_PASTE command message */
  477. typedef struct {
  478. DWORD_PTR dwCallback;
  479. DWORD dwTo;
  480. RECT rc;
  481. DWORD dwAudioStream;
  482. DWORD dwVideoStream;
  483. } MCI_DGV_PASTE_PARMS, * LPMCI_DGV_PASTE_PARMS;
  484. /* parameter block for MCI_PLAY command message */
  485. typedef MCI_PLAY_PARMS MCI_DGV_PLAY_PARMS, * LPMCI_DGV_PLAY_PARMS;
  486. /* parameter block for MCI_PUT command message */
  487. typedef MCI_DGV_RECT_PARMS MCI_DGV_PUT_PARMS, * LPMCI_DGV_PUT_PARMS;
  488. /* parameter block for MCI_QUALITY command message */
  489. typedef struct {
  490. DWORD_PTR dwCallback;
  491. DWORD dwItem;
  492. LPSTR lpstrName;
  493. DWORD lpstrAlgorithm;
  494. DWORD dwHandle;
  495. } MCI_DGV_QUALITY_PARMSA, *LPMCI_DGV_QUALITY_PARMSA;
  496. typedef struct {
  497. DWORD_PTR dwCallback;
  498. DWORD dwItem;
  499. LPWSTR lpstrName;
  500. DWORD lpstrAlgorithm;
  501. DWORD dwHandle;
  502. } MCI_DGV_QUALITY_PARMSW, *LPMCI_DGV_QUALITY_PARMSW;
  503. DECL_WINELIB_TYPE_AW(MCI_DGV_QUALITY_PARMS)
  504. DECL_WINELIB_TYPE_AW(LPMCI_DGV_QUALITY_PARMS)
  505. /* parameter block for MCI_REALIZE command message */
  506. typedef MCI_GENERIC_PARMS MCI_REALIZE_PARMS, * LPMCI_REALIZE_PARMS;
  507. /* parameter block for MCI_RECORD command message */
  508. typedef struct {
  509. DWORD_PTR dwCallback;
  510. DWORD dwFrom;
  511. DWORD dwTo;
  512. RECT rc;
  513. DWORD dwAudioStream;
  514. DWORD dwVideoStream;
  515. } MCI_DGV_RECORD_PARMS, * LPMCI_DGV_RECORD_PARMS;
  516. /* parameter block for MCI_RESERVE command message */
  517. typedef struct {
  518. DWORD_PTR dwCallback;
  519. LPSTR lpstrPath;
  520. DWORD dwSize;
  521. } MCI_DGV_RESERVE_PARMSA, *LPMCI_DGV_RESERVE_PARMSA;
  522. typedef struct {
  523. DWORD_PTR dwCallback;
  524. LPWSTR lpstrPath;
  525. DWORD dwSize;
  526. } MCI_DGV_RESERVE_PARMSW, *LPMCI_DGV_RESERVE_PARMSW;
  527. DECL_WINELIB_TYPE_AW(MCI_DGV_RESERVE_PARMS)
  528. DECL_WINELIB_TYPE_AW(LPMCI_DGV_RESERVE_PARMS)
  529. /* parameter block for MCI_RESTORE command message */
  530. typedef struct {
  531. DWORD_PTR dwCallback;
  532. LPSTR lpstrFileName;
  533. RECT rc;
  534. } MCI_DGV_RESTORE_PARMSA, *LPMCI_DGV_RESTORE_PARMSA;
  535. typedef struct {
  536. DWORD_PTR dwCallback;
  537. LPWSTR lpstrFileName;
  538. RECT rc;
  539. } MCI_DGV_RESTORE_PARMSW, *LPMCI_DGV_RESTORE_PARMSW;
  540. DECL_WINELIB_TYPE_AW(MCI_DGV_RESTORE_PARMS)
  541. DECL_WINELIB_TYPE_AW(LPMCI_DGV_RESTORE_PARMS)
  542. /* parameter block for MCI_RESUME command message */
  543. typedef MCI_GENERIC_PARMS MCI_DGV_RESUME_PARMS, * LPMCI_DGV_RESUME_PARMS;
  544. /* parameter block for MCI_SAVE command message */
  545. typedef struct {
  546. DWORD_PTR dwCallback;
  547. LPSTR lpstrFileName;
  548. RECT rc;
  549. } MCI_DGV_SAVE_PARMSA, *LPMCI_DGV_SAVE_PARMSA;
  550. typedef struct {
  551. DWORD_PTR dwCallback;
  552. LPWSTR lpstrFileName;
  553. RECT rc;
  554. } MCI_DGV_SAVE_PARMSW, *LPMCI_DGV_SAVE_PARMSW;
  555. DECL_WINELIB_TYPE_AW(MCI_DGV_SAVE_PARMS)
  556. DECL_WINELIB_TYPE_AW(LPMCI_DGV_SAVE_PARMS)
  557. /* parameter block for MCI_SET command message */
  558. typedef struct {
  559. DWORD_PTR dwCallback;
  560. DWORD dwTimeFormat;
  561. DWORD dwAudio;
  562. DWORD dwFileFormat;
  563. DWORD dwSpeed;
  564. } MCI_DGV_SET_PARMS, *LPMCI_DGV_SET_PARMS;
  565. /* parameter block for MCI_SETAUDIO command message */
  566. typedef struct {
  567. DWORD_PTR dwCallback;
  568. DWORD dwItem;
  569. DWORD dwValue;
  570. DWORD dwOver;
  571. LPSTR lpstrAlgorithm;
  572. LPSTR lpstrQuality;
  573. } MCI_DGV_SETAUDIO_PARMSA, *LPMCI_DGV_SETAUDIO_PARMSA;
  574. typedef struct {
  575. DWORD_PTR dwCallback;
  576. DWORD dwItem;
  577. DWORD dwValue;
  578. DWORD dwOver;
  579. LPWSTR lpstrAlgorithm;
  580. LPWSTR lpstrQuality;
  581. } MCI_DGV_SETAUDIO_PARMSW, *LPMCI_DGV_SETAUDIO_PARMSW;
  582. DECL_WINELIB_TYPE_AW(MCI_DGV_SETAUDIO_PARMS)
  583. DECL_WINELIB_TYPE_AW(LPMCI_DGV_SETAUDIO_PARMS)
  584. /* parameter block for MCI_SIGNAL command message */
  585. typedef struct {
  586. DWORD_PTR dwCallback;
  587. DWORD dwPosition;
  588. DWORD dwPeriod;
  589. DWORD dwUserParm;
  590. } MCI_DGV_SIGNAL_PARMS, * LPMCI_DGV_SIGNAL_PARMS;
  591. /* parameter block for MCI_SETVIDEO command message */
  592. typedef struct {
  593. DWORD_PTR dwCallback;
  594. DWORD dwItem;
  595. DWORD dwValue;
  596. DWORD dwOver;
  597. LPSTR lpstrAlgorithm;
  598. LPSTR lpstrQuality;
  599. DWORD dwSourceNumber;
  600. } MCI_DGV_SETVIDEO_PARMSA, *LPMCI_DGV_SETVIDEO_PARMSA;
  601. typedef struct {
  602. DWORD_PTR dwCallback;
  603. DWORD dwItem;
  604. DWORD dwValue;
  605. DWORD dwOver;
  606. LPWSTR lpstrAlgorithm;
  607. LPWSTR lpstrQuality;
  608. DWORD dwSourceNumber;
  609. } MCI_DGV_SETVIDEO_PARMSW, *LPMCI_DGV_SETVIDEO_PARMSW;
  610. DECL_WINELIB_TYPE_AW(MCI_DGV_SETVIDEO_PARMS)
  611. DECL_WINELIB_TYPE_AW(LPMCI_DGV_SETVIDEO_PARMS)
  612. /* parameter block for MCI_STATUS command message */
  613. typedef struct {
  614. DWORD_PTR dwCallback;
  615. DWORD_PTR dwReturn;
  616. DWORD dwItem;
  617. DWORD dwTrack;
  618. LPSTR lpstrDrive;
  619. DWORD dwReference;
  620. } MCI_DGV_STATUS_PARMSA, *LPMCI_DGV_STATUS_PARMSA;
  621. typedef struct {
  622. DWORD_PTR dwCallback;
  623. DWORD_PTR dwReturn;
  624. DWORD dwItem;
  625. DWORD dwTrack;
  626. LPWSTR lpstrDrive;
  627. DWORD dwReference;
  628. } MCI_DGV_STATUS_PARMSW, *LPMCI_DGV_STATUS_PARMSW;
  629. DECL_WINELIB_TYPE_AW(MCI_DGV_STATUS_PARMS)
  630. DECL_WINELIB_TYPE_AW(LPMCI_DGV_STATUS_PARMS)
  631. /* parameter block for MCI_STEP command message */
  632. typedef struct {
  633. DWORD_PTR dwCallback;
  634. DWORD dwFrames;
  635. } MCI_DGV_STEP_PARMS, *LPMCI_DGV_STEP_PARMS;
  636. /* parameter block for MCI_STOP command message */
  637. typedef MCI_GENERIC_PARMS MCI_DGV_STOP_PARMS, * LPMCI_DGV_STOP_PARMS;
  638. /* parameter block for MCI_UNFREEZE command message */
  639. typedef MCI_DGV_RECT_PARMS MCI_DGV_UNFREEZE_PARMS, * LPMCI_DGV_UNFREEZE_PARMS;
  640. /* parameter block for MCI_UPDATE command message */
  641. typedef struct {
  642. DWORD_PTR dwCallback;
  643. RECT rc;
  644. HDC hDC;
  645. } MCI_DGV_UPDATE_PARMS, * LPMCI_DGV_UPDATE_PARMS;
  646. /* parameter block for MCI_WHERE command message */
  647. typedef MCI_DGV_RECT_PARMS MCI_DGV_WHERE_PARMS, * LPMCI_DGV_WHERE_PARMS;
  648. /* parameter block for MCI_WINDOW command message */
  649. typedef struct {
  650. DWORD_PTR dwCallback;
  651. HWND hWnd;
  652. UINT nCmdShow;
  653. LPSTR lpstrText;
  654. } MCI_DGV_WINDOW_PARMSA, *LPMCI_DGV_WINDOW_PARMSA;
  655. typedef struct {
  656. DWORD_PTR dwCallback;
  657. HWND hWnd;
  658. UINT nCmdShow;
  659. LPWSTR lpstrText;
  660. } MCI_DGV_WINDOW_PARMSW, *LPMCI_DGV_WINDOW_PARMSW;
  661. DECL_WINELIB_TYPE_AW(MCI_DGV_WINDOW_PARMS)
  662. #ifdef __cplusplus
  663. }
  664. #endif
  665. #endif /* __WINE_DIGITALV_H */