Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2578 lines
90 KiB

  1. /*
  2. modified July 23, 1993 HFF Marked messages used in macros as internal.
  3. These messages are documented with equivalent
  4. macro.
  5. */
  6. /*----------------------------------------------------------------------------*\
  7. *
  8. * MCIWnd
  9. *
  10. * the MCIWnd window class is a window class for controling MCI devices
  11. * MCI devices include, wave files, midi files, AVI Video, cd audio,
  12. * vcr, video disc, and others..
  13. *
  14. * to learn more about MCI and mci command sets see the
  15. * "Microsoft Multimedia Programmers's guide" in the Win31 SDK
  16. *
  17. * the easiest use of the MCIWnd class is like so:
  18. *
  19. * hwnd = MCIWndCreate(hwndParent, hInstance, 0, "smag.wav");
  20. * ...
  21. * MCIWndPlay(hwnd);
  22. * MCIWndStop(hwnd);
  23. * MCIWndPause(hwnd);
  24. * ....
  25. * MCIWndDestroy(hwnd);
  26. *
  27. * this will create a window with a play/pause, stop and a playbar
  28. * and start the wave file playing.
  29. *
  30. * mciwnd.h defines macros for all the most common MCI commands, but
  31. * any string command can be used if needed. Note unlike the
  32. * mciSendString() API, no alias or file name needs to be specifed.
  33. *
  34. * MCIWndSendString(hwnd, "set hue to bright");
  35. *
  36. *
  37. *----------------------------------------------------------------------------*/
  38. /***********************************************************************
  39. * @doc EXTERNAL
  40. *
  41. * @api BOOL | MCIWndRegisterClass | This function registers the MCI
  42. * window class MCIWND_WINDOW_CLASS.
  43. *
  44. * @parm HINSTANCE | hinstance | Specifies a handle to the device instance.
  45. *
  46. * @rdesc Returns zero if the class is registered successfully.
  47. *
  48. * @comm Use <f CreateWindow> to create the window used for
  49. * playing the MCI device. Use <f MCIWndCreate> to
  50. * simultaneously register the window class and
  51. * create a window.
  52. *
  53. * @xref MCIWndCreate
  54. *
  55. ***********************************************************************/
  56. /***********************************************************************
  57. * @doc EXTERNAL
  58. *
  59. * @api HWND | MCIWndCreate | This function creates an MCIWnd window for
  60. * using MCI services.
  61. *
  62. * @parm HWND | hwndParent | Specifies a handle to the parent window.
  63. *
  64. * @parm HINSTANCE | hInstance | Specifies the window instance.
  65. *
  66. * @parm DWORD | dwStyle | Specifies any flags for the window style.
  67. * If you do not specify any of the WS_ styles, your window will
  68. * use WS_CHILD, WS_BORDER, and WS_VISIBLE if you specify a non-NULL
  69. * parent window, and WS_OVERLAPPEDWINDOW and WS_VISIBLE otherwise.
  70. * Thus, to create an invisible child window, specify WS_CHILD to
  71. * prevent the default flags from being used.
  72. *
  73. * The following styles are defined in addition to
  74. * those defined for <f CreateWindow>.
  75. *
  76. * @flag MCIWNDF_NOAUTOSIZEWINDOW | Inhibits the changing of
  77. * the window size when the image size changes. By default,
  78. * the window size changes automatically to reflect changes in
  79. * image size. The window also automatically resizes when a
  80. * new file opens or closes.
  81. *
  82. * @flag MCIWNDF_NOAUTOSIZEMOVIE | Prevents stretching the
  83. * image when window size changes. For MCI devices
  84. * that display video in a window, MCIWnd normally
  85. * resizes the image to fill the window.
  86. *
  87. * @flag MCIWNDF_NOPLAYBAR | Inhibits the display of the playbar.
  88. * By default, a playbar is displayed. The default controls on
  89. * on the playbar include the PLAY, STOP, RECORD,
  90. * and MENU buttons as well as a trackbar to set the
  91. * media position.
  92. *
  93. * Holding a shift key down while pressing the PLAY button plays
  94. * the media backwards (if supported). For windowed devices,
  95. * holding the control key down while pressing the PLAY
  96. * button plays the device in FULLSCREEN mode if supported.
  97. *
  98. * @flag MCIWNDF_NOMENU | Inhibits the display of a menu button
  99. * on the playbar and inhibits display of the popup menu
  100. * normally available when the right mouse button
  101. * is pressed when the cursor is over the window.
  102. *
  103. * @flag MCIWNDF_RECORD | Displays a record button on the playbar
  104. * or menu, and adds a new file command to the menu.
  105. * By default, only nondestructive
  106. * commands are available on the playbar and menu.
  107. *
  108. * @flag MCIWNDF_NOERRORDLG | Inhibits display of an error dialog
  109. * box for MCI errors. Applications can use <f MCIWndGetError>
  110. * to determine the most recent error.
  111. *
  112. * @flag MCIWNDF_NOTIFYMODE | Has MCIWnd notify the parent
  113. * window when the mode of the MCI device changes.
  114. * Whenever the mode changes (for example,
  115. * from stop to play) the parent window receives a
  116. * <m MCIWNDM_NOTIFYMODE> message. The <p lParam> of the
  117. * message contains the new state of the device (for
  118. * example, MCI_MODE_STOP). The application can get
  119. * the text string of the new mode with the <f MCIWndGetMode>.
  120. *
  121. * @flag MCIWNDF_NOTIFYPOS | Has MCIWnd notify the parent window
  122. * when the position of the media changes. MCIWnd sends
  123. * the <m MCIWNDM_NOTIFYPOS> message to inform the parent
  124. * window of changes. The <p lParam> of the message
  125. * contains the new position in the media.
  126. *
  127. * @flag MCIWNDF_NOTIFYMEDIA | Has MCIWnd notify the parent window
  128. * when the media changes. Whenever a file is opened or
  129. * closed, or a new device is loaded, MCIWnd sends the
  130. * <m MCIWNDM_NOTIFYMEDIA> message. The <p lParam> of
  131. * the message contains a pointer to the new filename.
  132. *
  133. * @flag MCIWNDF_NOTIFYSIZE | Has MCIWnd notify the parent window
  134. * when the size of the window changes.
  135. *
  136. * @flag MCIWNDF_NOTIFYERROR | Has MCIWnd notify the parent window
  137. * when an error occurs.
  138. *
  139. * @flag MCIWNDF_NOTIFYALL | Notifies parent window of all changes.
  140. *
  141. * @flag MCIWNDF_SHOWNAME | Displays the name of the open
  142. * MCI device element in the window caption.
  143. *
  144. * @flag MCIWNDF_SHOWPOS | Displays the position of the MCI device
  145. * in the window caption.
  146. *
  147. * @flag MCIWNDF_SHOWMODE | Displays the mode of the MCI device
  148. * in the window caption.
  149. *
  150. * @flag MCIWNDF_SHOWALL | Displays all window features.
  151. *
  152. * @parm LPSTR | szFile | Specifies a zero-terminated string indicating
  153. * the name of an MCI device or device element to open.
  154. *
  155. * @rdesc Returns a handle to an MCIWnd window if successful.
  156. * Otherwise it returns zero.
  157. *
  158. * @comm Use the window handle returned by this function for the
  159. * window handle in the MCIWnd macros. If your application
  160. * uses this macro, it does not need to use <f MCIWndRegisterClass>.
  161. *
  162. * For non-windowed devices, applications need a window to
  163. * display the toolbar and trackbar. Applications that
  164. * access non-windowed devices (such as a waveform audio device),
  165. * and do not display any controls, can leave the window invisible.
  166. *
  167. ***********************************************************************/
  168. /***********************************************************************
  169. *
  170. * @doc INTERNAL
  171. *
  172. * @msg MCIWNDM_???? | This message is a placeholder for
  173. * flags until I find out which message they apply to.
  174. *
  175. * @parm LPARAM | wFlags | Specifies applicable flags for the open.
  176. *
  177. *
  178. * @flag MCIWND_START | Indicates the start of the media.
  179. *
  180. * @flag MCIWND_END | Indicates the end of the media.
  181. *
  182. * @flag MCIWND_CURRENT | Indicates the current position.
  183. *
  184. ***********************************************************************/
  185. /***********************************************************************
  186. *
  187. * @doc INTERNAL
  188. *
  189. * @msg MCIWNDM_SENDSTRING | This MCIWnd message sends a string command
  190. * to an MCI device.
  191. *
  192. * @parm WPARAM | WParam1 | Not used; set to zero.
  193. *
  194. * @parm LPARAM | lParam | Specifies a zero-terminated string to
  195. * send to the MCI device.
  196. *
  197. * @rdesc Returns zero if successful. Otherwise it returns
  198. * an MCI error code.
  199. *
  200. * @comm When sending a string with this message, omit the
  201. * alias used when a string is sent with <f mciSendString>.
  202. *
  203. ***********************************************************************/
  204. /***********************************************************************
  205. *
  206. * @doc INTERNAL
  207. *
  208. * @msg MCIWNDM_GETPOSITION | This MCIWnd message has an MCI
  209. * device return the current position of the device element.
  210. *
  211. * @parm WPARAM | wParam | Not used; set to zero.
  212. *
  213. * @parm LPARAM | lParam | Not used; set to zero.
  214. *
  215. * @rdesc Returns the current position.
  216. *
  217. ***********************************************************************/
  218. /***********************************************************************
  219. *
  220. * @doc INTERNAL
  221. *
  222. * @msg MCIWNDM_GETSTART | This MCIWnd message has an MCI
  223. * device return the starting position of the device element.
  224. *
  225. * @parm WPARAM | wParam | Not used; set to zero.
  226. *
  227. * @parm LPARAM | lParam | Not used; set to zero.
  228. *
  229. * @rdesc Returns the starting position of the device element.
  230. *
  231. * @comm Typically the return value is zero but some devices
  232. * use a non-zero starting position for the device
  233. * element.
  234. *
  235. ***********************************************************************/
  236. /***********************************************************************
  237. *
  238. * @doc INTERNAL
  239. *
  240. * @msg MCIWNDM_GETLENGTH | This MCIWnd message has an MCI
  241. * device return the length of its media.
  242. *
  243. * @parm WPARAM | wParam | Not used; set to zero.
  244. *
  245. * @parm LPARAM | lParam | Not used; set to zero.
  246. *
  247. * @rdesc Returns the length of the media.
  248. *
  249. ***********************************************************************/
  250. /***********************************************************************
  251. *
  252. * @doc INTERNAL
  253. *
  254. * @msg MCIWNDM_GETEND | This MCIWnd message has an MCI
  255. * device return the ending position of the media.
  256. * (The ending position corresponds to the starting
  257. * position plus the length.)
  258. *
  259. * @parm WPARAM | wParam | Not used; set to zero.
  260. *
  261. * @parm LPARAM | lParam | Not used; set to zero.
  262. *
  263. * @rdesc Returns the ending position of the media.
  264. *
  265. ***********************************************************************/
  266. /***********************************************************************
  267. *
  268. * @doc INTERNAL
  269. *
  270. * @msg MCIWNDM_GETMODE | This MCIWnd message has an MCI
  271. * device return its mode.
  272. *
  273. * @parm WPARAM | wParam | Specifies the size of the data buffer.
  274. *
  275. * @parm LPARAM | lParam | Specifies a far pointer to the
  276. * application-supplied buffer used to return the mode.
  277. *
  278. * @rdesc Returns an integer corresponding to the MCI mode.
  279. *
  280. * @comm If the zero-terminated string describing the mode is
  281. * longer than the buffer, it is truncated.
  282. *
  283. ***********************************************************************/
  284. /***********************************************************************
  285. *
  286. * @doc INTERNAL
  287. *
  288. * @msg MCIWNDM_SETZOOM | This MCIWnd message has an MCI device stretch
  289. * a video image.
  290. *
  291. * @parm WPARAM | wParam | Not used; set to zero.
  292. *
  293. * @parm LPARAM | lParam | Specifies an integer indicating
  294. * the zoom factor as a percentage of the original
  295. * image. Specifying 100 displays the image at its
  296. * authored sized. Specifying 200 displays the image
  297. * at twice normal size. Specifying 50 displays the image at
  298. * half normal size.
  299. *
  300. * @rdesc None.
  301. *
  302. * @xref MCIWNDM_GETZOOM
  303. *
  304. ***********************************************************************/
  305. /***********************************************************************
  306. *
  307. * @doc INTERNAL
  308. *
  309. * @msg MCIWNDM_GETZOOM | This MCIWnd message has an MCI device return
  310. * the zoom factor last set with <f MCIWNDM_SETZOOM>.
  311. *
  312. * @parm WPARAM | wParam | Not used; set to zero.
  313. *
  314. * @parm LPARAM | lParam | Not used; set to zero.
  315. *
  316. * @rdesc Returns an integer corresponding to the zoom factor. A value
  317. * of 100 indicates the image is not zoomed. A value of 200
  318. * indicates the image is twice normal size. A value of 50
  319. * indicates the image is half normal size.
  320. *
  321. * @xref MCIWNDM_SETZOOM
  322. *
  323. ***********************************************************************/
  324. /***********************************************************************
  325. *
  326. * @doc INTERNAL
  327. *
  328. * @msg MCIWNDM_EJECT | This MCIWnd message has an MCI
  329. * device eject its media.
  330. *
  331. * @parm WPARAM | wParam | Not used; set to zero.
  332. *
  333. * @parm LPARAM | lParam | Not used; set to zero.
  334. *
  335. * @rdesc Returns false if successful. Otherwise it returns
  336. * an MCI error code.
  337. *
  338. ***********************************************************************/
  339. /***********************************************************************
  340. *
  341. * @doc INTERNAL
  342. *
  343. * @msg MCIWNDM_SETVOLUME | This MCIWnd message has an MCI
  344. * device set its volume level.
  345. *
  346. * @parm WPARAM | wParam | Not used; set to zero.
  347. *
  348. * @parm LPARAM | lParam | Specifies an integer indicating the volume level
  349. * Specify 1000 for the normal volume level. Specify larger
  350. * values to increase the volume level and smaller
  351. * values to decrease the volume level.
  352. *
  353. *
  354. * @rdesc Returns zero if successful. Otherwise it returns
  355. * an MCI error code.
  356. *
  357. * @xref MCIWNDM_GETVOLUME
  358. *
  359. ***********************************************************************/
  360. /***********************************************************************
  361. *
  362. * @doc INTERNAL
  363. *
  364. * @msg MCIWNDM_GETVOLUME | This MCIWnd message has an MCI
  365. * device return its volume level.
  366. *
  367. * @parm WPARAM | wParam | Not used; set to zero.
  368. *
  369. * @parm LPARAM | lParam | Not used; set to zero.
  370. *
  371. * @rdesc Returns the volume level.
  372. *
  373. * @xref MCIWNDM_SETVOLUME
  374. *
  375. ***********************************************************************/
  376. /***********************************************************************
  377. *
  378. * @doc INTERNAL
  379. *
  380. * @msg MCIWNDM_SETSPEED | This MCIWnd message has an MCI
  381. * device set its playback speed.
  382. *
  383. * @parm WPARAM | wParam | Not used; set to zero.
  384. *
  385. * @parm LPARAM | lParam | Specifies an integer indicating
  386. * the playback speed. Specify 1000
  387. * for the normal speed. Specify larger values for faster speeds
  388. * and smaller values for slower speeds.
  389. **
  390. * @rdesc Returns false if successful. Otherwise it returns
  391. * an MCI error code.
  392. *
  393. * @xref MCIWNDM_GETSPEED
  394. *
  395. ***********************************************************************/
  396. /***********************************************************************
  397. *
  398. * @doc INTERNAL
  399. *
  400. * @msg MCIWNDM_GETSPEED | This MCIWnd message has an MCI
  401. * device return its playback speed.
  402. *
  403. * @parm WPARAM | wParam | Not used; set to zero.
  404. *
  405. * @parm LPARAM | lParam | Not used; set to zero.
  406. *
  407. * @rdesc Returns the playback speed.
  408. *
  409. * @xref MCIWNDM_SetSpeed
  410. *
  411. ***********************************************************************/
  412. /***********************************************************************
  413. *
  414. * @doc INTERNAL
  415. *
  416. * @msg MCIWNDM_SETTIMEFORMAT | This MCIWnd message has an MCI
  417. * device set its time format.
  418. *
  419. * @parm WPARAM | wParam | Not used; set to zero.
  420. *
  421. * @parm LPARAM | lParam | Specifies a far pointer to a data buffer
  422. * containing the time format.
  423. *
  424. * @rdesc Returns zero if successful. Otherwise it returns
  425. * an MCI error code.
  426. *
  427. * @comm Application can specify formats other than frames and
  428. * milliseconds if they are supported by the MCI device.
  429. * Non-continuous formats, such as tracks and
  430. * SMPTE can cause the scroll bar to behave erratically.
  431. * For these time formats, applications might change the
  432. * window style by using MCIWNDF_NOPLAYBAR to turn off the
  433. * playbar.
  434. *
  435. * @xref MCIWNDM_GETTIMEFORMAT
  436. *
  437. ***********************************************************************/
  438. /***********************************************************************
  439. *
  440. * @doc INTERNAL
  441. *
  442. * @msg MCIWNDM_GETTIMEFORMAT | This MCIWnd message has an MCI
  443. * device return its time format.
  444. *
  445. * @parm WPARAM | wParam | Specifies the size of the data buffer.
  446. *
  447. * @parm LPARAM | lParam | Specifies a far pointer to the
  448. * application-supplied data buffer used to return the time format.
  449. *
  450. * @rdesc Returns an integer corresponding to the MCI time format.
  451. *
  452. * @comm If the zero-terminated string describing the time format
  453. * longer than the buffer, MCIWnd truncates it.
  454. *
  455. * @xref MCIWNDM_SETTIMEFORMAT
  456. *
  457. ***********************************************************************/
  458. /***********************************************************************
  459. *
  460. * @doc INTERNAL
  461. *
  462. * @msg MCIWNDM_PLAYFROM | This MCIWnd message specifies the
  463. * starting position for playing and sends the MCI_PLAY
  464. * message to an MCI device to begin playing.
  465. *
  466. * @parm WPARAM | wParam | Not used; set to zero.
  467. *
  468. * @parm LPARAM | lParam | Specifies the starting position for the sequence.
  469. *
  470. * @rdesc Returns zero if successful. Otherwise it returns
  471. * an MCI error code.
  472. *
  473. * @comm This message starts the device playing. Play continues until it is
  474. * stopped or the device reaches the end of the sequence.
  475. *
  476. * @xref MCIWNDM_PLAYTO
  477. *
  478. ***********************************************************************/
  479. /***********************************************************************
  480. * @doc INTERNAL
  481. *
  482. * @msg MCIWNDM_PLAYTO | This MCIWnd message specifies the ending position
  483. * of a playback sequence and sends the MCI_PLAY message to an
  484. * MCI device to begin play.
  485. *
  486. * @parm WPARAM | wParam | Not used; set to zero.
  487. *
  488. * @parm LPARAM | lParam | Specifies the ending position for the sequence.
  489. *
  490. * @rdesc Returns zero if successful. Otherwise it returns
  491. * an MCI error code.
  492. *
  493. * @comm This message starts play from the current position. Play stops
  494. * when the sequence reaches the specified position (or the end
  495. * of the sequence if the specified position is beyond the end
  496. * of the sequence).
  497. *
  498. * @xref MCIWNDM_PLAYTO
  499. *
  500. ***********************************************************************/
  501. /***********************************************************************
  502. *
  503. * @doc INTERNAL
  504. *
  505. * @msg MCIWNDM_GETFILENAME | This MCIWnd message has an MCI
  506. * device return the filename of its device element.
  507. *
  508. * @parm WPARAM | wParam | Specifies the size of the data buffer.
  509. *
  510. * @parm LPARAM | lParam | Specifies a far pointer to the
  511. * application-supplied data buffer used
  512. * to return the filename.
  513. *
  514. * @rdesc Returns zero if successful. Otherwise it returns
  515. * an MCI error code.
  516. *
  517. * @comm If the zero-terminated string containing the filename is
  518. * longer than the buffer, it is truncated.
  519. *
  520. ***********************************************************************/
  521. /***********************************************************************
  522. *
  523. * @doc INTERNAL
  524. *
  525. * @msg MCIWNDM_GETDEVICE | This MCIWnd message has an MCI
  526. * device return its device type.
  527. *
  528. * @parm WPARAM | wParam | Specifies the size of the data buffer.
  529. *
  530. * @parm LPARAM | lParam | Specifies a far pointer to the
  531. * application-supplied data buffer used
  532. * to return the device type.
  533. *
  534. * @rdesc Returns zero if successful. Otherwise it returns
  535. * an MCI error code.
  536. *
  537. * @comm If the zero-terminated string describing the device type is
  538. * longer than the buffer, MCIWnd truncates it.
  539. *
  540. ************************************************************************/
  541. /***********************************************************************
  542. *
  543. * @doc INTERNAL
  544. *
  545. * @msg MCIWNDM_GETPALETTE | This MCIWnd message has an MCI
  546. * device return a handle to its palette.
  547. *
  548. * @parm WPARAM | wParam | Not used; set to zero.
  549. *
  550. * @parm LPARAM | lParam | Not used; set to zero.
  551. *
  552. * @rdesc Returns the handle to the palette.
  553. *
  554. * @xref MCIWNDM_SETPALETTE
  555. *
  556. ***********************************************************************/
  557. /***********************************************************************
  558. * @doc INTERNAL
  559. *
  560. * @msg MCIWNDM_SETPALETTE | This MCIWnd message sends a palette handle
  561. * to an MCI device.
  562. *
  563. * @parm WPARAM | wParam | Specifies the handle to the palette.
  564. *
  565. * @parm LPARAM | lParam | Not used; set to zero.
  566. *
  567. * @rdesc Returns zero if successful. Otherwise it returns
  568. * an MCI error code.
  569. *
  570. * @xref MCIWNDM_GETPALETTE
  571. *
  572. ***********************************************************************/
  573. /***********************************************************************
  574. *
  575. * @doc INTERNAL
  576. *
  577. * @msg MCIWNDM_GETERROR | This message has MCIWnd return
  578. * the last MCI error associated with its window.
  579. *
  580. * @parm WPARAM | wParam | Specifies the size of the error data buffer.
  581. *
  582. * @parm LPARAM | lParam | Specifies a far pointer to the
  583. * application-supplied data buffer used to return the error.
  584. *
  585. * @rdesc Returns zero if successful. Otherwise it returns
  586. * an integer corresponding to the MCI error code.
  587. *
  588. * @comm If the zero-terminated string describing the error is
  589. * longer than the buffer, it is truncated.
  590. *
  591. ***********************************************************************/
  592. /***********************************************************************
  593. *
  594. * @doc INTERNAL
  595. *
  596. * @msg MCIWNDM_SETACTIVETIMER | This message sets the
  597. * period used by MCIWnd to update the scrollbar,
  598. * position information displayed in the window caption,
  599. * and send notification messages to the parent window
  600. * when the MCIWnd is the active window.
  601. *
  602. * @parm WPARAM | wParam | Specifies the integer number of milliseconds
  603. * between updates.
  604. *
  605. * @parm LPARAM | lParam | Not used; set to zero.
  606. *
  607. * @rdesc None.
  608. *
  609. * @xref MCIWNDM_SETINACTIVETIMER MCIWNDM_SETTIMERS
  610. *
  611. ***********************************************************************/
  612. /***********************************************************************
  613. *
  614. * @doc INTERNAL
  615. *
  616. * @msg MCIWNDM_SETINACTIVETIMER | This message sets the
  617. * period used by MCIWnd to update the scrollbar,
  618. * position information displayed in the window caption,
  619. * and send notification messages to the parent window
  620. * when the MCIWnd is the inactive window.
  621. *
  622. * @parm WPARAM | wParam | Specifies the integer number of milliseconds
  623. * between updates.
  624. *
  625. * @parm LPARAM | lParam | Not used; set to zero.
  626. *
  627. * @rdesc None.
  628. *
  629. * @xref MCIWNDM_SETACTIVETIMER MCIWNDM_SETTIMERS
  630. *
  631. ***********************************************************************/
  632. /***********************************************************************
  633. *
  634. * @doc INTERNAL
  635. *
  636. * @msg MCIWNDM_SETTIMERS | This message sets the
  637. * periods used by MCIWnd to update the scrollbar,
  638. * position information displayed in the window caption,
  639. * and send notification messages to the parent window.
  640. *
  641. * @parm WPARAM | wParam | Specifies the integer number of milliseconds
  642. * between updates when the window is the active window.
  643. *
  644. * @parm LPARAM | lParam | Specifies the integer number of milliseconds
  645. * between updates when the window is the inactive window.
  646. *
  647. * @rdesc None.
  648. *
  649. * @xref MCIWNDM_SETACTIVETIMER MCIWNDM_SETINACTIVETIMER
  650. *
  651. ***********************************************************************/
  652. /***********************************************************************
  653. *
  654. * @doc INTERNAL
  655. *
  656. * @msg MCIWNDM_GETACTIVETIMER | This message returns
  657. * the timer period used when the MCIWnd window is the
  658. * active window.
  659. *
  660. * @parm WPARAM | wParam | Not used; set to zero.
  661. *
  662. * @parm LPARAM | lParam | Not used; set to zero.
  663. *
  664. * @rdesc Returns the update period in milliseconds.
  665. * The default is 500 milliseconds.
  666. *
  667. * @xref MCIWNDM_SETACTIVETIMER
  668. *
  669. ***********************************************************************/
  670. /***********************************************************************
  671. *
  672. * @doc INTERNAL
  673. *
  674. * @msg MCIWNDM_GETINACTIVETIMER | This message returns
  675. * the timer period used when the MCIWnd window is the
  676. * inactive window.
  677. *
  678. * @parm WPARAM | wParam | Not used; set to zero.
  679. *
  680. * @parm LPARAM | lParam | Not used; set to zero.
  681. *
  682. * @rdesc Returns the update period in milliseconds.
  683. * The default is 2000 milliseconds.
  684. *
  685. * @xref MCIWNDM_SETINACTIVETIMER
  686. *
  687. ***********************************************************************/
  688. /***********************************************************************
  689. *
  690. * @doc INTERNAL
  691. *
  692. * @msg MCIWNDM_GETSTYLES | This MCIWnd message returns
  693. * the flags used for specifying the styles used
  694. * for an MCIWnd window.
  695. *
  696. * @parm WPARAM | wParam | Not used; set to zero.
  697. *
  698. * @parm LPARAM | lParam | Not used; set to zero.
  699. *
  700. * @rdesc Returns the flags specifying the styles used for
  701. * the window.
  702. *
  703. ***********************************************************************/
  704. /***********************************************************************
  705. *
  706. * @doc INTERNAL
  707. *
  708. * @msg MCIWNDM_CHANGESTYLES | This MCIWnd message
  709. * changes the styles used for the window.
  710. *
  711. * @parm WPARAM | wParam | Specifies a mask for <p lParam>. This
  712. * mask is the bitwise or of all styles that will be updated.
  713. *
  714. * @parm LPARAM | lParam | Specifies the styles used for the window.
  715. * See <f MCIWndCreate> for the available styles.
  716. *
  717. * @rdesc Returns zero if successful. Otherwise it returns
  718. * an MCI error code.
  719. *
  720. ***********************************************************************/
  721. /***********************************************************************
  722. *
  723. * @doc INTERNAL
  724. *
  725. * @msg MCIWNDM_GETALIAS | This MCIWnd message returns the alias
  726. * used to open and MCI device or device element.
  727. *
  728. * @parm WPARAM | wParam | Not used; set to zero.
  729. *
  730. * @parm LPARAM | lParam | Not used; set to zero.
  731. *
  732. * @rdesc Returns the device alias.
  733. *
  734. ***********************************************************************/
  735. /***********************************************************************
  736. *
  737. * @doc INTERNAL
  738. *
  739. * @msg MCIWNDM_NEW | This MCIWnd message has an MCI device create a new
  740. * file.
  741. *
  742. * @parm WPARAM | wParam | Not used; set to zero.
  743. *
  744. * @parm LPARAM | lParam | Specifies a far pointer to a buffer
  745. * containing the name of the MCI device used to create
  746. * the file.
  747. *
  748. * @rdesc Returns false if successful. Otherwise it returns
  749. * an MCI error code.
  750. *
  751. ***********************************************************************/
  752. /***********************************************************************
  753. *
  754. * @doc INTERNAL
  755. *
  756. * @msg MCIWNDM_SETREPEAT | This MCIWnd message has an MCI device
  757. * repeat a sequence.
  758. *
  759. * @parm WPARAM | wParam | Specifies the number of times to repeat a sequence.
  760. *
  761. * @parm LPARAM | lParam | Not used; set to zero.
  762. *
  763. * @rdesc Returns TRUE if successful. Otherwise it returns
  764. * an MCI error code.
  765. *
  766. ***********************************************************************/
  767. /***********************************************************************
  768. *
  769. * @doc INTERNAL
  770. *
  771. * @msg MCIWNDM_GETREPEAT | This MCIWnd message has an MCI device
  772. * return the number times it will repeat a sequence.
  773. *
  774. * @parm WPARAM | wParam | Not used; set to zero.
  775. *
  776. * @parm LPARAM | lParam | Not used; set to zero.
  777. *
  778. * @rdesc Returns TRUE if successful. Otherwise it returns
  779. * an MCI error code.
  780. *
  781. ***********************************************************************/
  782. /***********************************************************************
  783. *
  784. * @doc INTERNAL
  785. *
  786. * @msg MCIWNDM_REALIZE | This MCIWnd message has an MCI device
  787. * realize its palette.
  788. *
  789. * @parm WPARAM | wParam | Specifies TRUE if the window is a
  790. * background window.
  791. *
  792. * @parm LPARAM | lParam | Not used; set to zero.
  793. *
  794. * @rdesc Returns zero if successful. Otherwise it returns
  795. * an MCI error code.
  796. *
  797. ***********************************************************************/
  798. /***********************************************************************
  799. *
  800. * @doc INTERNAL
  801. *
  802. * @msg MCIWNDM_VALIDATEMEDIA | This message has MCIWnd synchronize
  803. * its position information to the new media when it has changed.
  804. *
  805. * @parm WPARAM | wParam | Not used; set to zero.
  806. *
  807. * @parm LPARAM | lParam | Not used; set to zero.
  808. *
  809. * @rdesc None.
  810. *
  811. * @comm If your application changes the time format of a
  812. * device without using MCIWnd, the starting and ending
  813. * position of the media, as well as the trackbar continue to
  814. * use the old format. Use the <f MCIWndValidateMedia>
  815. * macro or the <m MCIWNDM_VALIDATEMEDIA> message to update
  816. * these values. Normally, you should not
  817. * need to use this message.
  818. *
  819. ***********************************************************************/
  820. /***********************************************************************
  821. * @doc EXTERNAL
  822. *
  823. * @msg MCIWNDM_NOTIFYMODE | MCIWND sends this message to
  824. * the parent window of an application to notify
  825. * it that device mode has changed.
  826. *
  827. * @parm WPARAM | WParam | Not used.
  828. *
  829. * @parm LPARAM | LParam | Specifies an integer corresponding to
  830. * the MCI mode.
  831. *
  832. ***********************************************************************/
  833. /***********************************************************************
  834. * @doc EXTERNAL
  835. *
  836. * @msg MCIWNDM_NOTIFYPOS | MCIWND sends this message to
  837. * the parent window of an application to notify it
  838. * that the window position has changed.
  839. *
  840. * @parm WPARAM | WParam | Not used.
  841. *
  842. * @parm LPARAM | LParam | Specifies the new position.
  843. *
  844. ***********************************************************************/
  845. /***********************************************************************
  846. * @doc EXTERNAL
  847. *
  848. * @msg MCIWNDM_NOTIFYSIZE | MCIWND sends this message to
  849. * the parent window of an application to notify it
  850. * that the window size has changed.
  851. *
  852. * @parm HWND | WParam | Specifies a handle to the MCIWnd window that
  853. * has changed size.
  854. *
  855. * @parm LPARAM | LParam | Not used; set to zero.
  856. *
  857. ***********************************************************************/
  858. /***********************************************************************
  859. * @doc EXTERNAL
  860. *
  861. * @msg MCIWNDM_NOTIFYMEDIA | MCIWND sends this message to
  862. * the parent window of an application to notify it
  863. * that the media has changed.
  864. *
  865. * @parm WPARAM | WParam | Not used.
  866. *
  867. * @parm LPARAM | LParam | Specifies a far pointer to
  868. * a zero-terminated string containing the new filename.
  869. * If the media is closing, it specifies a null string.
  870. *
  871. ***********************************************************************/
  872. /***********************************************************************
  873. *
  874. * @doc INTERNAL
  875. *
  876. * @msg MCIWNDM_NOTIFYCLOSE | MCIWND sends this message to
  877. * the parent window of an application to notify it
  878. * that the window is closing.
  879. *
  880. * @parm HWND | WParam | Specifies the window handle.
  881. *
  882. * @parm LPARAM | LParam | Not used; set to zero.
  883. *
  884. ***********************************************************************/
  885. /***********************************************************************
  886. *
  887. * @doc EXTERNAL
  888. *
  889. * @msg MCIWNDM_NOTIFYERROR | MCIWND sends this message to
  890. * the parent window of an application to send it an error from MCI.
  891. *
  892. * @parm HWND | WParam | Specifies the window handle.
  893. *
  894. * @parm LPARAM | LParam | Specifies a far pointer to a zero-terminated
  895. * string indicating the error.
  896. *
  897. ***********************************************************************/
  898. /***********************************************************************
  899. * @doc EXTERNAL
  900. *
  901. * @api LONG | MCIWndOpen | This macro has MCIWnd open an MCI device.
  902. *
  903. * @parm HWND | hwnd | Specifies the handle to the MCIWnd window.
  904. *
  905. * @parm LPSTR | szFile | Specifies a zero-terminated string for the file name.
  906. * Specifying -1 for this parameter has the MCI device display
  907. * a dialog box used to specify the filename.
  908. *
  909. * @parm WORD | wFlags | Specifies applicable flags for the open.
  910. *
  911. * @rdesc Returns zero if successful. Otherwise it returns
  912. * an MCI error code.
  913. *
  914. * @comm This macro is defined with the MCI_OPEN message.
  915. * The <p wParam> parameter for the message is set to <p wFlags>,
  916. * and the <p lParam> parameter for the message is set to
  917. * <p szFile>.
  918. *
  919. * @xref MCIWndClose MCIWndOpenDialog
  920. *
  921. ***********************************************************************/
  922. /***********************************************************************
  923. * @doc EXTERNAL
  924. *
  925. * @api LONG | MCIWndOpenDialog | This macro
  926. * has MCIWnd display a dialog box for specifying the filename
  927. * MCIWnd uses to open an MCI device.
  928. *
  929. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  930. *
  931. * @rdesc Returns zero if successful. Otherwise it returns
  932. * an MCI error code.
  933. *
  934. * @comm This macro is defined with the MCI_OPEN message.
  935. * The <p wParam> parameter for the message is set to -1,
  936. * and the <p lParam> parameter for the message is set to zero.
  937. *
  938. * @xref MCIWndClose MCIWndOpen
  939. *
  940. ***********************************************************************/
  941. /***********************************************************************
  942. * @doc EXTERNAL
  943. *
  944. * @api LONG | MCIWndNew | This MCIWnd macro has an MCI device create a new
  945. * file.
  946. *
  947. * @parm HWND | hwnd | Specifies the handle to the MCIWnd window.
  948. *
  949. * @parm LPARAM | lp | Points to the name of the device
  950. * used to create the new file.
  951. *
  952. * @rdesc Returns zero if successful. Otherwise it returns
  953. * an MCI error code.
  954. *
  955. * @comm This macro is defined with the MCIWNDM_NEW message.
  956. * The <p wParam> parameter for the message is set to zero,
  957. * and the <p lParam> parameter is set to <p lp>.
  958. *
  959. ***********************************************************************/
  960. /***********************************************************************
  961. * @doc EXTERNAL
  962. *
  963. * @api LONG | MCIWndClose | This macro has MCIWnd close an
  964. * MCI device or device element.
  965. *
  966. * @parm HWND | hwnd | Specifies the handle to the MCIWnd window.
  967. *
  968. * @rdesc Returns zero.
  969. *
  970. * @comm Use this macro to close an MCI device
  971. * without destroying the MCIWnd window.
  972. * Use <f MCIWndDestroy> to simultaneously close
  973. * the MCI device and destroy the MCIWnd window.
  974. *
  975. * If your application will immediately open a new MCI device in
  976. * the MCIWnd window, use <f MCIWndOpen> to simultaneously
  977. * close the current MCI device and open a new one.
  978. *
  979. * @comm This macro is defined with the MCI_CLOSE message.
  980. * The <p wParam> and <p lParam> parameters for the message
  981. * are set to zero.
  982. *
  983. * @xref MCIWndOpen MCIWndDestroy
  984. *
  985. ***********************************************************************/
  986. /***********************************************************************
  987. * @doc EXTERNAL
  988. *
  989. * @api VOID | MCIWndDestroy | This MCIWnd macro closes an MCI device
  990. * or device element and destroys the MCIWnd window.
  991. *
  992. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  993. *
  994. * @comm This macro is defined with the WM_CLOSE message.
  995. * The <p wParam> and <p lParam> parameters for the message
  996. * are set to zero.
  997. *
  998. * @xref MCIWndOpen MCIWndClose
  999. *
  1000. ***********************************************************************/
  1001. /***********************************************************************
  1002. * @doc EXTERNAL
  1003. *
  1004. * @api VOID | MCIWndSetZoom | This MCIWnd macro has an MCI device stretch
  1005. * a video image.
  1006. *
  1007. * @parm HWND | hwnd | Specifies the handle to the MCIWnd window.
  1008. *
  1009. * @parm int | iZoom | Specifies an integer indicating the zoom factor as
  1010. * a percentage of the original image. Specifying 100 displays the
  1011. * image at its authored sized. Specifying 200 displays the image
  1012. * at twice normal size. Specifying 50 displays the image at
  1013. * half normal size.
  1014. *
  1015. * @comm This macro is defined with the MCIWNDM_SETZOOM message.
  1016. * The <p wParam> parameter for the message is set to zero,
  1017. * and the <p lParam> parameter has the same
  1018. * definition as <p iZoom>.
  1019. *
  1020. * @xref MCIWndGetZoom
  1021. *
  1022. ***********************************************************************/
  1023. /***********************************************************************
  1024. * @doc EXTERNAL
  1025. *
  1026. * @api UINT | MCIWndGetZoom | This MCIWnd macro has an MCI device return
  1027. * the zoom factor it is using.
  1028. *
  1029. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  1030. *
  1031. * @rdesc Returns an integer corresponding to the zoom factor. A value
  1032. * of 100 indicates the image is not zoomed. A value
  1033. * of 200 indicates the image is zoomed to twice its
  1034. * original size. A value of 50 indicates the image
  1035. * is reduced to half its original size.
  1036. *
  1037. * @comm This macro is defined with the MCIWNDM_GETZOOM message.
  1038. * The <p wParam> and <p lParam> parameters for the message
  1039. * are set to zero.
  1040. *
  1041. * @xref MCIWndSetZoom
  1042. *
  1043. ***********************************************************************/
  1044. /***********************************************************************
  1045. * @doc EXTERNAL
  1046. *
  1047. * @api LONG | MCIWndSendString | This MCIWnd macro sends a string command
  1048. * to an MCI device.
  1049. *
  1050. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  1051. *
  1052. * @parm LPSTR | sz | Specifies a string to send to the MCI device.
  1053. *
  1054. * @rdesc Returns zero if successful. Otherwise it returns
  1055. * an MCI error code.
  1056. *
  1057. * @comm When sending a string with this macro, omit the
  1058. * alias used when the string is sent with <f mciSendString>.
  1059. *
  1060. * This macro is defined with the MCIWNDM_SENDSTRING message.
  1061. * The <p wParam> parameter for the message is set to zero,
  1062. * and the <p lParam> parameter has the same
  1063. * definition as <p sz>.
  1064. *
  1065. ***********************************************************************/
  1066. /***********************************************************************
  1067. * @doc EXTERNAL
  1068. *
  1069. * @api LONG | MCIWndReturnString | This MCIWnd macro obains
  1070. * the string information returned by an MCI device.
  1071. *
  1072. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  1073. *
  1074. * @parm LPARAM | lp | Specifies a far pointer to the application-supplied
  1075. * buffer used to return the zero-terminated string.
  1076. *
  1077. * @parm int | iLen | Specifies the size of the data buffer.
  1078. *
  1079. * @rdesc Returns an integer corresponding to the MCI string.
  1080. *
  1081. * @comm If the zero-terminated string is
  1082. * longer than the buffer, it is truncated.
  1083. *
  1084. * This macro is defined with the MCIWNDM_RETURNSTRING message.
  1085. * The <p wParam> parameter for the message has the same
  1086. * definition as <p iLen>, and the <p lParam> parameter has the same
  1087. * definition as <p lp>.
  1088. *
  1089. ***********************************************************************/
  1090. /***********************************************************************
  1091. * @doc EXTERNAL
  1092. *
  1093. * @api LONG | MCIWndSeek | This MCIWnd macro sends the MCI_SEEK message
  1094. * to an MCI device to seek to a specified position.
  1095. *
  1096. * @parm HWND | hwnd | Specifies the handle to the MCIWnd window.
  1097. *
  1098. * @parm LONG | lPos | Specifies the seek position.
  1099. *
  1100. * @rdesc Returns zero if successful. Otherwise it returns
  1101. * an MCI error code.
  1102. *
  1103. * @comm The units for the seek position depend on the current time format.
  1104. *
  1105. * This macro is defined with the MCI_SEEK message.
  1106. * The <p wParam> parameter for the message is set to zero,
  1107. * and the <p lParam> parameter has the same
  1108. * definition as <p lPos>.
  1109. *
  1110. * @xref MCIWndEnd MCIWndHome
  1111. *
  1112. ***********************************************************************/
  1113. /***********************************************************************
  1114. * @doc EXTERNAL
  1115. *
  1116. * @api LONG | MCIWndHome | This MCIWnd macro sends the MCI_SEEK message
  1117. * to an MCI device to seek to the start of the media.
  1118. *
  1119. * @parm HWND | hwnd | Specifies the handle to the MCIWnd window.
  1120. *
  1121. * @rdesc Returns zero if successful. Otherwise it returns
  1122. * an MCI error code.
  1123. *
  1124. * @comm This macro is defined with the MCIWND_START message.
  1125. * The <p wParam> and <p lParam> parameters for the message
  1126. * are set to zero.
  1127. *
  1128. * @xref MCIWndEnd MCIWndSeek
  1129. *
  1130. **********************************************************************/
  1131. /***********************************************************************
  1132. * @doc EXTERNAL
  1133. *
  1134. * @api LONG | MCIWndEnd | This MCIWnd macro has
  1135. * an MCI device seek to the end of the media.
  1136. *
  1137. * @parm HWND | hwnd | Specifies the handle to the MCIWnd window.
  1138. *
  1139. * @rdesc Returns zero if successful. Otherwise it returns
  1140. * an MCI error code.
  1141. *
  1142. * @comm This macro is defined with the MCIWND_END message.
  1143. * The <p wParam> and <p lParam> parameters for the message
  1144. * are set to zero.
  1145. *
  1146. * @xref MCIWndHome MCIWndSeek
  1147. *
  1148. **********************************************************************/
  1149. /***********************************************************************
  1150. * @doc EXTERNAL
  1151. *
  1152. * @api LONG | MCIWndPlay | This MCIWnd macro has the MCI device
  1153. * start playing.
  1154. *
  1155. * @parm HWND | hwnd | Specifies the handle to the MCIWnd window.
  1156. *
  1157. * @rdesc Returns zero if successful. Otherwise it returns
  1158. * an MCI error code.
  1159. *
  1160. * @comm This macro starts playing from the current position.
  1161. *
  1162. * @comm This macro is defined with the MCI_PLAY message.
  1163. * The <p wParam> and <p lParam> parameters for the message
  1164. * are set to zero.
  1165. *
  1166. * @xref MCIWndPlayReverse MCIWndPlayFrom MCIWndPlayTo MCIWndPlayFromTo
  1167. *
  1168. ***********************************************************************/
  1169. /***********************************************************************
  1170. * @doc EXTERNAL
  1171. *
  1172. * @api LONG | MCIWndPlayFrom | This MCIWnd macro specifies the
  1173. * starting position for playing and has the MCI device
  1174. * start playing.
  1175. *
  1176. * @parm HWND | hwnd | Specifies the handle to the MCIWnd window.
  1177. *
  1178. * @parm LONG | lPos | Specifies the starting position for the sequence.
  1179. *
  1180. * @rdesc Returns zero if successful. Otherwise it returns
  1181. * an MCI error code.
  1182. *
  1183. * @comm This macro starts play from the specified position.
  1184. * Playing continues until it is
  1185. * stopped or play reaches the end of the sequence.
  1186. *
  1187. * This macro is defined with the MCIWNDM_PLAYFROM message.
  1188. * The <p wParam> parameter for the message is set to zero,
  1189. * and the <p lParam> parameter has the same
  1190. * definition as <p lPos>.
  1191. *
  1192. * @xref MCIWndPlay MCIWndPlayReverse MCIWndPlayTo MCIWndPlayFromTo
  1193. *
  1194. ***********************************************************************/
  1195. /***********************************************************************
  1196. * @doc EXTERNAL
  1197. *
  1198. * @api LONG | MCIWndPlayFromTo | This MCIWnd macro specifies the
  1199. * starting and ending positions for playing a sequence and
  1200. * has the MCI device start playing.
  1201. *
  1202. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  1203. *
  1204. * @parm LONG | lStart | Specifies the starting position for the sequence.
  1205. *
  1206. * @parm LONG | lEnd | Specifies the ending position for the sequence.
  1207. *
  1208. * @rdesc Returns zero if successful. Otherwise it returns
  1209. * an MCI error code.
  1210. *
  1211. * @comm This macro seeks to the starting position then starts playing.
  1212. * Play stops when the sequence reaches the specified position
  1213. * (or the end of the sequence if the specified position is
  1214. * beyond the end of the sequence).
  1215. *
  1216. * This macro is defined with the MCIWndSeek and MCIWndPlayTo
  1217. * macros.
  1218. *
  1219. * @xref MCIWndPlay MCIWndPlayFrom MCIWndPlayReverse MCIWndPlayTo
  1220. *
  1221. ***********************************************************************/
  1222. /***********************************************************************
  1223. * @doc EXTERNAL
  1224. *
  1225. * @api LONG | MCIWndPlayTo | This MCIWnd macro specifies the ending position
  1226. * for playing and has the MCI device start playing.
  1227. *
  1228. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  1229. *
  1230. * @parm LONG | lPos | Specifies the ending position for the sequence.
  1231. *
  1232. * @rdesc Returns zero if successful. Otherwise it returns
  1233. * an MCI error code.
  1234. *
  1235. * @comm This macro starts play from the current position. Play stops
  1236. * when the sequence reaches the specified position (or the end
  1237. * of the sequence if the specified position is beyond the end
  1238. * of the sequence).
  1239. *
  1240. * This macro is defined with the MCWINDM_PLAYTO message.
  1241. * The <p wParam> parameter is set to zero for the message,
  1242. * and the <p lParam> parameter has the same
  1243. * definition as <p lPos>.
  1244. *
  1245. * @xref MCIWndPlay MCIWndPlayFrom MCIWndPlayTo MCIWndPlayFromTo
  1246. *
  1247. ***********************************************************************/
  1248. /***********************************************************************
  1249. * @doc EXTERNAL
  1250. *
  1251. * @api LONG | MCIWndPlayReverse | This MCIWnd macro
  1252. * has the MCI device start playing the sequence in reverse.
  1253. *
  1254. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  1255. *
  1256. * @rdesc Returns zero if successful. Otherwise it returns
  1257. * an MCI error code.
  1258. *
  1259. * @comm This macro starts play from the current position. Play stops
  1260. * when the sequence reaches the begining of the file or it is
  1261. * stopped.
  1262. *
  1263. * @comm This macro is defined with the MCI_PLAYREVERSE message.
  1264. * The <p wParam> and <p lParam> parameters for the message
  1265. * are set to zero.
  1266. *
  1267. * @xref MCIWndPlay MCIWndPlayFrom MCIWndPlayTo MCIWndPlayFromTo
  1268. *
  1269. ***********************************************************************/
  1270. /***********************************************************************
  1271. * @doc EXTERNAL
  1272. *
  1273. * @api LONG | MCIWndStop | This MCIWnd macro has and MCI device
  1274. * stop playing or recording.
  1275. *
  1276. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  1277. *
  1278. * @rdesc Returns zero if successful. Otherwise it returns
  1279. * an MCI error code.
  1280. *
  1281. * @comm This macro is defined with the MCI_STOP message.
  1282. * The <p wParam> and <p lParam> parameters for the message
  1283. * are set to zero.
  1284. *
  1285. ***********************************************************************/
  1286. /***********************************************************************
  1287. * @doc EXTERNAL
  1288. *
  1289. * @api LONG | MCIWndPause | This MCIWnd macro has an
  1290. * MCI device pause playing or recording.
  1291. *
  1292. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  1293. *
  1294. * @rdesc Returns zero if successful. Otherwise it returns
  1295. * an MCI error code.
  1296. *
  1297. * @comm This macro is defined with the MCI_PAUSE message.
  1298. * The <p wParam> and <p lParam> parameters for the message
  1299. * are set to zero.
  1300. *
  1301. ***********************************************************************/
  1302. /***********************************************************************
  1303. * @doc EXTERNAL
  1304. *
  1305. * @api LONG | MCIWndResume | This MCIWnd macro
  1306. * has an MCI device continue playing or recording.
  1307. *
  1308. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  1309. *
  1310. * @rdesc Returns zero if successful. Otherwise it returns
  1311. * an MCI error code.
  1312. *
  1313. * @comm This macro is defined with the MCI_RESUME message.
  1314. * The <p wParam> and <p lParam> parameters for the message
  1315. * are set to zero.
  1316. *
  1317. ***********************************************************************/
  1318. /***********************************************************************
  1319. *
  1320. * @doc EXTERNAL
  1321. *
  1322. * @api LRESULT | MCIWndCanRecord | This MCIWnd macro determines if an MCI device
  1323. * supports recording.
  1324. *
  1325. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  1326. *
  1327. * @rdesc Returns TRUE if the device supports recording. Otherwise it returns
  1328. * an MCI error code.
  1329. *
  1330. * @comm This macro is defined with the MCIWNDM_CAN_RECORD message.
  1331. * The <p wParam> and <p lParam> parameters for the message
  1332. * are set to zero.
  1333. *
  1334. ************************************************************************/
  1335. /***********************************************************************
  1336. *
  1337. * @doc EXTERNAL
  1338. *
  1339. * @api LRESULT | MCIWndCanSave | This macro determines if an MCI device
  1340. * can save data.
  1341. *
  1342. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  1343. *
  1344. * @rdesc Returns TRUE if the device supports saving data. Otherwise it returns
  1345. * an MCI error code.
  1346. *
  1347. * @comm This macro is defined with the MCIWNDM_CAN_SAVE message.
  1348. * The <p wParam> and <p lParam> parameters for the message
  1349. * are set to zero.
  1350. *
  1351. *
  1352. ***********************************************************************/
  1353. /***********************************************************************
  1354. *
  1355. * @doc EXTERNAL
  1356. *
  1357. * @api LRESULT | MCIWndCanPlay | This macro determines if an MCI device
  1358. * supports playing a sequence.
  1359. *
  1360. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  1361. *
  1362. * @rdesc Returns TRUE if the device supports playing data. Otherwise it returns
  1363. * an MCI error code.
  1364. *
  1365. * @comm This macro is defined with the MCIWNDM_CAN_PLAY message.
  1366. * The <p wParam> and <p lParam> parameters for the message
  1367. * are set to zero.
  1368. *
  1369. ***********************************************************************/
  1370. /***********************************************************************
  1371. *
  1372. * @doc EXTERNAL
  1373. *
  1374. * @api LRESULT | MCIWndCanEject | This macro determines if an MCI device
  1375. * can eject its media.
  1376. *
  1377. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  1378. *
  1379. * @rdesc Returns TRUE if the device can eject its media. Otherwise it returns
  1380. * an MCI error code.
  1381. *
  1382. *
  1383. * @comm This macro is defined with the MCIWNDM_CAN_EJECT message.
  1384. * The <p wParam> and <p lParam> parameters for the message
  1385. * are set to zero.
  1386. *
  1387. ***********************************************************************/
  1388. /***********************************************************************
  1389. *
  1390. * @doc EXTERNAL
  1391. *
  1392. * @api LRESULT | MCIWndCanConfig | This macro determines if an MCI device
  1393. * supports configuration.
  1394. *
  1395. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  1396. *
  1397. * @rdesc Returns TRUE if the device supports configuration. Otherwise it returns
  1398. * an MCI error code.
  1399. *
  1400. *
  1401. * @comm This macro is defined with the MCIWNDM_CAN_CONFIG message.
  1402. * The <p wParam> and <p lParam> parameters for the message
  1403. * are set to zero.
  1404. *
  1405. ***********************************************************************/
  1406. /***********************************************************************
  1407. *
  1408. * @doc INTERNAL
  1409. *
  1410. * @api LRESULT | MCIWndCanVolume | This macro determines if an MCI device
  1411. * supports volume changes.
  1412. *
  1413. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  1414. *
  1415. * @rdesc Returns TRUE if the device supports changing it volume level. Otherwise it returns
  1416. * an MCI error code.
  1417. *
  1418. ***********************************************************************/
  1419. /***********************************************************************
  1420. *
  1421. * @doc EXTERNAL
  1422. *
  1423. * @api LRESULT | MCIWndCanWindow | This macro determines if an MCI device
  1424. * supports window commands.
  1425. *
  1426. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  1427. *
  1428. * @rdesc Returns TRUE if the device supports windowing operations. Otherwise it returns
  1429. * an MCI error code.
  1430. *
  1431. ***********************************************************************/
  1432. /***********************************************************************
  1433. * @doc EXTERNAL
  1434. *
  1435. * @api LONG | MCIWndRecord | This MCIWnd macro has
  1436. * an MCI device start recording.
  1437. *
  1438. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  1439. *
  1440. * @rdesc Returns zero if successful. Otherwise it returns
  1441. * an MCI error code.
  1442. *
  1443. * @comm This macro starts recording from the current position.
  1444. *
  1445. * @comm This macro is defined with the MCI_RECORD message.
  1446. * The <p wParam> and <p lParam> parameters for the message
  1447. * are set to zero.
  1448. *
  1449. * @xref MCIWndStop MCIWndPause
  1450. *
  1451. ***********************************************************************/
  1452. /***********************************************************************
  1453. *
  1454. * @doc INTERNAL
  1455. *
  1456. * @api LONG | MCIWndRecordFrom | This macro specifies the starting position
  1457. * for recording and sends the MCI_RECORD message
  1458. * to an MCI device to start recording.
  1459. *
  1460. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  1461. *
  1462. * @parm LONG | lStart | Specifies the starting position for recording.
  1463. *
  1464. * @rdesc Returns TRUE if successful. Otherwise it returns
  1465. * an MCI error code.
  1466. *
  1467. * @comm This macro starts record from the specified position.
  1468. * Recording continues until it is
  1469. * stopped or record reaches the end of the record file.
  1470. *
  1471. * @xref MCIWndRecord MCIWndRecordTo MCIWndRecordFromTo MCIWndRecordPreview
  1472. *
  1473. ***********************************************************************/
  1474. /***********************************************************************
  1475. *
  1476. * @doc INTERNAL
  1477. *
  1478. * @api LONG | MCIWndRecordFromTo | This macro specifies the starting and ending
  1479. * positions for recording a sequence and sends the MCI_RECORD message
  1480. * to an MCI device to start recording.
  1481. *
  1482. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  1483. *
  1484. * @parm LONG | lStart | Specifies the starting position for recording.
  1485. *
  1486. * @parm LONG | lEnd | Specifies the ending position for recording.
  1487. *
  1488. * @rdesc Returns TRUE if successful. Otherwise it returns
  1489. * an MCI error code.
  1490. *
  1491. * @comm This macro seeks to the starting position then starts recording.
  1492. * Recording stops when the sequence reaches the specified position
  1493. * (or the end of the sequence if the specified position is
  1494. * beyond the end of the sequence).
  1495. *
  1496. * @xref MCIWndRecord MCIWndRecordFrom MCIWndRecordTo MCIWndRecordPreview
  1497. *
  1498. ***********************************************************************/
  1499. /***********************************************************************
  1500. *
  1501. * @doc INTERNAL
  1502. *
  1503. * @api LONG | MCIWndRecordTo | This macro specifies the ending position
  1504. * for recording and sends the MCI_RECORD message
  1505. * to an MCI device to start recording.
  1506. *
  1507. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  1508. *
  1509. * @parm LONG | lPos | Specifies the ending position for recording.
  1510. *
  1511. * @rdesc Returns TRUE if successful. Otherwise it returns
  1512. * an MCI error code.
  1513. *
  1514. * @comm This macro starts recording from the current position. Record stops
  1515. * when the sequence reaches the specified position (or the end
  1516. * of the sequence if the specified position is beyond the end
  1517. * of the sequence).
  1518. *
  1519. * @xref MCIWndRecord MCIWndRecordFrom MCIWndRecordFromTo MCIWndRecordPreview
  1520. *
  1521. ***********************************************************************/
  1522. /***********************************************************************
  1523. *
  1524. * @doc INTERNAL
  1525. *
  1526. * @api LRESULT | MCIWndRecordPreview | This macro previews the input
  1527. * used for recording.
  1528. *
  1529. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  1530. *
  1531. * @rdesc Returns TRUE if successful. Otherwise it returns
  1532. * an MCI error code.
  1533. *
  1534. * @comm This macro does not initiate recording.
  1535. *
  1536. * @xref MCIWndRecordFrom MCIWndRecordTo MCIWndRecordFromTo MCIWndRecordPreview
  1537. *
  1538. ***********************************************************************/
  1539. /***********************************************************************
  1540. * @doc EXTERNAL
  1541. *
  1542. * @api LONG | MCIWndSave | This MCIWnd macro has an
  1543. * MCI device save its data.
  1544. *
  1545. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  1546. *
  1547. * @parm LPSTR | szFile | Specifies a zero-terminated string containing
  1548. * the name and path of the destination file. Specifying -1 for
  1549. * this parameter has the device display its dialog box for
  1550. * specifying the filename.
  1551. *
  1552. * @rdesc Returns zero if successful. Otherwise it returns
  1553. * an MCI error code.
  1554. *
  1555. * This macro is defined with the MCI_SAVEE message.
  1556. * The <p wParam> parameter for the message is set to zero,
  1557. * and the <p lParam> parameter has the same
  1558. * definition as <p szFile>.
  1559. *
  1560. * @xref MCIWndSaveDialog
  1561. *
  1562. ***********************************************************************/
  1563. /***********************************************************************
  1564. * @doc EXTERNAL
  1565. *
  1566. * @api LONG | MCIWndSaveDialog | This MCIWnd macro displays
  1567. * a dialog box for specifying the filename used to save data
  1568. * and has the MCI device save the data.
  1569. *
  1570. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  1571. *
  1572. * @rdesc Returns zero if successful. Otherwise it returns
  1573. * an MCI error code.
  1574. *
  1575. * This macro is defined with the MCIWNDM_SAVE message.
  1576. * The <p wParam> parameter for the message is set to zero,
  1577. * and the <p lParam> parameter is set to -1.
  1578. *
  1579. * @xref MCIWndSave
  1580. *
  1581. ***********************************************************************/
  1582. /***********************************************************************
  1583. *
  1584. * @doc INTERNAL
  1585. *
  1586. * @api LRESULT | MCIWndSetFormat | This macro has an MCI
  1587. * device set its format data.
  1588. *
  1589. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  1590. *
  1591. * @parm HWND | lp | Specifies a far pointer to the format data buffer.
  1592. *
  1593. * @parm int | cb | Specifies the size of the format data buffer.
  1594. *
  1595. * @rdesc Returns TRUE if successful. Otherwise it returns
  1596. * an MCI error code.
  1597. *
  1598. * @xref MCIWndGetFormat MCIWndFormatDialog
  1599. *
  1600. ***********************************************************************/
  1601. /***********************************************************************
  1602. *
  1603. * @doc INTERNAL
  1604. *
  1605. * @api LRESULT | MCIWndGetFormat | This macro has an MCI
  1606. * device return its format data.
  1607. *
  1608. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  1609. *
  1610. * @parm LPARAM | lp | Specifies a far pointer to the format data buffer.
  1611. *
  1612. * @parm int | cb | Specifies the size of the format data buffer.
  1613. *
  1614. * @rdesc Returns TRUE if successful. Otherwise it returns
  1615. * an MCI error code.
  1616. *
  1617. * @xref MCIWndSetFormat MCIWndFormatDialog
  1618. *
  1619. ***********************************************************************/
  1620. /***********************************************************************
  1621. *
  1622. * @doc INTERNAL
  1623. *
  1624. * @api LRESULT | MCIWndFormatDialog | This macro has an MCI
  1625. * device display a dialog box for setting its format data.
  1626. *
  1627. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  1628. *
  1629. * @rdesc Returns TRUE if successful. Otherwise it returns
  1630. * an MCI error code.
  1631. *
  1632. * @xref MCIWndSetFormat MCIWndGetFormat
  1633. *
  1634. ***********************************************************************/
  1635. /***********************************************************************
  1636. * @doc EXTERNAL
  1637. *
  1638. * @api LONG | MCIWndEject | This MCIWnd macro has an MCI
  1639. * device eject its media.
  1640. *
  1641. * @parm HWND | hwnd | Specifies the handle to the MCIWnd window.
  1642. *
  1643. * @rdesc Returns zero if successful. Otherwise it returns
  1644. * an MCI error code.
  1645. *
  1646. * @comm This macro is defined with the MCWINDM_EJECT message.
  1647. * The <p wParam> and <p lParam> parameters for the message
  1648. * are set to zero.
  1649. *
  1650. ***********************************************************************/
  1651. /***********************************************************************
  1652. * @doc EXTERNAL
  1653. *
  1654. * @api UINT | MCIWndGetDeviceID | This MCIWnd macro has an MCI
  1655. * device return its device ID.
  1656. *
  1657. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  1658. *
  1659. * @rdesc Returns the device ID.
  1660. *
  1661. * @comm This macro is defined with the MCIWNDM_GETDEVICEID message.
  1662. * The <p wParam> and <p lParam> parameters for the message
  1663. * are set to zero.
  1664. *
  1665. ***********************************************************************/
  1666. /***********************************************************************
  1667. * @doc EXTERNAL
  1668. *
  1669. * @api UINT | MCIWndGetAlias | This MCIWnd macro returns the
  1670. * alias used to open an MCI device or device element.
  1671. *
  1672. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  1673. *
  1674. * @rdesc Returns the device alias.
  1675. *
  1676. * @comm This macro is defined with the MCIWNDM_GETALIAS message.
  1677. * The <p wParam> and <p lParam> parameters for the message
  1678. * are set to zero.
  1679. *
  1680. ***********************************************************************/
  1681. /***********************************************************************
  1682. * @doc EXTERNAL
  1683. *
  1684. * @api LONG | MCIWndGetMode | This MCIWnd macro has an MCI
  1685. * device return its mode.
  1686. *
  1687. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  1688. *
  1689. * @parm LPARAM | lp | Specifies a far pointer to the application-supplied
  1690. * buffer used to return the mode.
  1691. *
  1692. * @parm int | iLen | Specifies the size of the data buffer.
  1693. *
  1694. * @rdesc Returns an integer corresponding to the MCI constant
  1695. * defining the mode.
  1696. *
  1697. * @comm If the zero-terminated string describing the mode is
  1698. * longer than the buffer, it is truncated.
  1699. *
  1700. * This macro is defined with the MCIWNDM_GETMODE message.
  1701. * The <p wParam> parameter for the message has the same
  1702. * definition as <p iLen>, and the <p lParam> parameter has the same
  1703. * definition as <p lp>.
  1704. *
  1705. ***********************************************************************/
  1706. /***********************************************************************
  1707. * @doc EXTERNAL
  1708. *
  1709. * @api LONG | MCIWndGetPosition | This MCIWnd macro
  1710. * returns the current position of the MCI device element.
  1711. *
  1712. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  1713. *
  1714. * @rdesc Returns the current position.
  1715. *
  1716. * @comm The units for the position value depend on the current time format.
  1717. *
  1718. * @comm This macro is defined with the MCIWNDM_GETPOSITION message.
  1719. * The <p wParam> and <p lParam> parameters for the message
  1720. * are set to zero.
  1721. *
  1722. ***********************************************************************/
  1723. /***********************************************************************
  1724. * @doc EXTERNAL
  1725. *
  1726. * @api LONG | MCIWndGetPositionString | This MCIWnd macro
  1727. * returns the current position of the MCI device element
  1728. * in a string format.
  1729. *
  1730. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  1731. *
  1732. * @parm LPARAM | lp | Specifies a far pointer to the application-supplied
  1733. * buffer used to return the zero-terminated string.
  1734. *
  1735. * @parm int | iLen | Specifies the size of the data buffer.
  1736. *
  1737. * @rdesc Returns an integer corresponding to the position.
  1738. *
  1739. * @comm If the device supports tracks, the position information
  1740. * is returned in the TT:MM:SS:FF format where TT corresponds
  1741. * to tracks, MM and SS corresponds to minutes and seconds, and
  1742. * FF corresponds to frames.
  1743. *
  1744. * If the zero-terminated string is
  1745. * longer than the buffer, it is truncated.
  1746. *
  1747. * This macro is defined with the MCIWNDM_GETPOSITION message.
  1748. * The <p wParam> parameter for the message has the same
  1749. * definition as <p iLen>, and the <p lParam> parameter has the same
  1750. * definition as <p lp>.
  1751. *
  1752. *
  1753. * @comm The units for the position value depend on the current time format.
  1754. *
  1755. ***********************************************************************/
  1756. /***********************************************************************
  1757. * @doc EXTERNAL
  1758. *
  1759. * @api LONG | MCIWndGetStart | This MCIWnd macro returns
  1760. * the starting position of an MCI device element.
  1761. *
  1762. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  1763. *
  1764. * @rdesc Returns the starting position of the device element.
  1765. *
  1766. * @comm Typically, the return value is zero but some devices
  1767. * use a non-zero starting position for the device
  1768. * element. Seeking to this position sets the device
  1769. * to the start of the media.
  1770. *
  1771. * This macro is defined with the MCIWNDM_GETSTART message.
  1772. * The <p wParam> and <p lParam> parameters for the message
  1773. * are set to zero.
  1774. *
  1775. ***********************************************************************/
  1776. /***********************************************************************
  1777. * @doc EXTERNAL
  1778. *
  1779. * @api LONG | MCIWndGetLength | This MCIWnd macro returns
  1780. * the length of an MCI device element.
  1781. *
  1782. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  1783. *
  1784. * @rdesc Returns the length of the device element.
  1785. *
  1786. * @comm This value plus the value returned for <f MCIWndGetStart>
  1787. * equals the end of the media.
  1788. *
  1789. * @comm This macro is defined with the MCIWNDM_GETLENGTH message.
  1790. * The <p wParam> and <p lParam> parameters for the message
  1791. * are set to zero.
  1792. *
  1793. ***********************************************************************/
  1794. /***********************************************************************
  1795. * @doc EXTERNAL
  1796. *
  1797. * @api LONG | MCIWndGetEnd | This MCIWnd macro returns
  1798. * the ending position of an MCI device element.
  1799. *
  1800. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  1801. *
  1802. * @rdesc Returns the ending position.
  1803. *
  1804. * @comm This macro is defined with the MCIWNDM_GETEND message.
  1805. * The <p wParam> and <p lParam> parameters for the message
  1806. * are set to zero.
  1807. *
  1808. ***********************************************************************/
  1809. /***********************************************************************
  1810. * @doc EXTERNAL
  1811. *
  1812. * @api LONG | MCIWndStep | This MCIWnd macro steps
  1813. * an MCI device element.
  1814. *
  1815. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  1816. *
  1817. * @parm LPARAM | n | Specifies the number of frames or
  1818. * milliseconds to step. Negative
  1819. * values step the device element in reverse.
  1820. *
  1821. * @rdesc Returns zero if successful. Otherwise it returns
  1822. * an MCI error code.
  1823. *
  1824. * @comm The units for the step value depend on the current time format.
  1825. *
  1826. * @comm This macro is defined with the MCI_STEP message.
  1827. * The <p wParam> parameter is set to zero and the <p lParam>
  1828. * has the same definition as <p n>.
  1829. *
  1830. ***********************************************************************/
  1831. /***********************************************************************
  1832. * @doc EXTERNAL
  1833. *
  1834. * @api LONG | MCIWndSetVolume | This MCIWnd macro sets the
  1835. * volume level of an MCI device.
  1836. *
  1837. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  1838. *
  1839. * @parm int | iVol | Specifies the volume level. Specify 1000
  1840. * for the normal volume level. Specify larger values to increase
  1841. * the volume level and smaller values to decrease the volume level.
  1842. *
  1843. * @rdesc Returns zero if successful. Otherwise it returns
  1844. * an MCI error code.
  1845. *
  1846. * @comm This macro is defined with the MCIWNDM_SETVOLUME message.
  1847. * The <p wParam> parameter for the message is set to zero,
  1848. * and the <p lParam> parameter has the same
  1849. * definition as <p iVol>.
  1850. *
  1851. * @xref MCIWndGetVolume
  1852. *
  1853. ***********************************************************************/
  1854. /***********************************************************************
  1855. * @doc EXTERNAL
  1856. *
  1857. * @api LONG | MCIWndGetVolume | This MCIWnd macro returns
  1858. * volume level of an MCI device.
  1859. *
  1860. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  1861. *
  1862. * @rdesc Returns the volume level.
  1863. *
  1864. * @comm This macro is defined with the MCIWNDM_GETVOLUME message.
  1865. * The <p wParam> and <p lParam> parameters for the message
  1866. * are set to zero.
  1867. *
  1868. * @xref MCIWndSetVolume
  1869. *
  1870. ***********************************************************************/
  1871. /***********************************************************************
  1872. * @doc EXTERNAL
  1873. *
  1874. * @api LONG | MCIWndSetSpeed | This MCIWnd macro sets
  1875. * the playback speed of an MCI device.
  1876. *
  1877. * @parm HWND | hwnd | Specifies the handle to the MCIWnd window.
  1878. *
  1879. * @parm int | iSpeed | Specifies the playback speed. Specify 1000
  1880. * for the normal speed. Specify larger values for faster speeds
  1881. * and smaller values for slower speeds.
  1882. *
  1883. * @rdesc Returns zero if successful. Otherwise it returns
  1884. * an MCI error code.
  1885. *
  1886. * @comm This macro is defined with the MCIWNDM_SETSPEED message.
  1887. * The <p wParam> parameter for the message is set to zero,
  1888. * and the <p lParam> parameter has the same
  1889. * definition as <p iSpeed>.
  1890. *
  1891. * @xref MCIWndGetSpeed
  1892. *
  1893. ***********************************************************************/
  1894. /***********************************************************************
  1895. * @doc EXTERNAL
  1896. *
  1897. * @api LONG | MCIWndGetSpeed | This MCIWnd macro returns the
  1898. * playback speed of an MCI device.
  1899. *
  1900. * @parm HWND | hwnd | Specifies the handle to the MCIWnd window.
  1901. *
  1902. * @rdesc Returns the playback speed.
  1903. *
  1904. * @comm This macro is defined with the MCIWNDM_GETSPEED message.
  1905. * The <p wParam> and <p lParam> parameters for the message
  1906. * are set to zero.
  1907. *
  1908. * @xref MCIWndSetSpeed
  1909. *
  1910. ***********************************************************************/
  1911. /***********************************************************************
  1912. * @doc EXTERNAL
  1913. *
  1914. * @api LONG | MCIWndSetTimeFormat | This MCIWnd macro
  1915. * specifies time fomat used by an MCI device.
  1916. *
  1917. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  1918. *
  1919. * @parm LPSTR | lp | Specifies a far pointer to a data buffer
  1920. * containing the zero-terminated string indicating the time format.
  1921. *
  1922. * @rdesc Returns zero if successful. Otherwise it returns
  1923. * an MCI error code.
  1924. *
  1925. * @comm Application can specify formats other than frames and
  1926. * milliseconds if they are supported by the MCI device.
  1927. * Non-continuous formats, such as tracks and
  1928. * SMPTE can cause the scroll bar to behave erratically.
  1929. * For these time formats, applications might change the
  1930. * window style by using MCIWNDF_NOPLAYBAR to turn off the
  1931. * playbar.
  1932. *
  1933. * This macro is defined with the MCIWNDM_SETTIMEFORMAT message.
  1934. * The <p wParam> parameter for the message is set to zero,
  1935. * and the <p lParam> parameter has the same
  1936. * definition as <p lp>.
  1937. *
  1938. * @xref MCIWndGetTimeFormat MCIWndUseFrames MCIWndUseTime
  1939. *
  1940. ***********************************************************************/
  1941. /***********************************************************************
  1942. * @doc EXTERNAL
  1943. *
  1944. * @api LONG | MCIWndUseFrames | This MCIWnd macro has an MCI
  1945. * device set its time format to frames.
  1946. *
  1947. * @parm HWND | hwnd | Specifies the handle to the MCIWnd window.
  1948. *
  1949. * @rdesc Returns zero if successful. Otherwise it returns
  1950. * an MCI error code.
  1951. *
  1952. * This macro is defined with the MCIWNDM_SETTIMEFORMAT message.
  1953. * The <p wParam> parameter for the message is set to zero,
  1954. * and the <p lParam> parameter is set to "frames".
  1955. *
  1956. * @xref MCIWndSetTimeFormat
  1957. *
  1958. ***********************************************************************/
  1959. /***********************************************************************
  1960. * @doc EXTERNAL
  1961. *
  1962. * @api LONG | MCIWndUseTime | This MCIWnd macro has an MCI
  1963. * device set its time format to milliseconds.
  1964. *
  1965. * @parm HWND | hwnd | Specifies the handle to the MCIWnd window.
  1966. *
  1967. * @rdesc Returns zero if successful. Otherwise it returns
  1968. * an MCI error code.
  1969. *
  1970. * This macro is defined with the MCIWNDM_SETTIMEFORMAT message.
  1971. * The <p wParam> parameter for the message is set to zero,
  1972. * and the <p lParam> parameter is set to "ms".
  1973. *
  1974. * @xref MCIWndSetTimeFormat
  1975. *
  1976. ***********************************************************************/
  1977. /***********************************************************************
  1978. * @doc EXTERNAL
  1979. *
  1980. * @api LONG | MCIWndGetTimeFormat | This macro returns the time
  1981. * format of an MCI device in an application-supplied buffer.
  1982. *
  1983. * @parm HWND | hwnd | Specifies the handle to the MCIWnd window.
  1984. *
  1985. * @parm LPARAM | lp | Specifies a far pointer to the data buffer used
  1986. * to return the zero-terminated string indicating time format.
  1987. *
  1988. * @parm int | iLen | Specifies the size of the data buffer.
  1989. *
  1990. * @rdesc Returns an integer corresponding to the MCI constant
  1991. * defining the time format.
  1992. *
  1993. * @comm If the time format string is longer than the return buffer,
  1994. * MCIWnd truncates the string.
  1995. *
  1996. * This macro is defined with the MCIWNDM_GETTIMEFORMAT message.
  1997. * The <p wParam> parameter for the message has the same
  1998. * definition as <p iLen>, and the <p lParam> parameter has the same
  1999. * definition as <p lp>.
  2000. *
  2001. * @xref MCIWndSetTimeFormat
  2002. *
  2003. ***********************************************************************/
  2004. /***********************************************************************
  2005. * @doc EXTERNAL
  2006. *
  2007. * @api VOID | MCIWndSetActiveTimer | This MCIWnd macro sets the
  2008. * period used by MCIWnd to update the scrollbar,
  2009. * position information displayed in the window caption,
  2010. * and send notification messages to the parent window
  2011. * when the MCIWnd window is the active window.
  2012. *
  2013. * @parm HWND | hwnd | Specifies the handle to the MCIWnd window.
  2014. *
  2015. * @parm int | iActive | Specifies an integer timer period in milliseconds.
  2016. *
  2017. * @comm This macro is defined with the MCIWNDM_SETACTIVETIMER message.
  2018. * The <p wParam> parameter for the message has the same
  2019. * definition as <p iACTIVE>, and the <p lParam> parameter
  2020. * is set to zero.
  2021. *
  2022. * @xref MCIWndSetInactiveTimer MCIWndSetTimers
  2023. *
  2024. ***********************************************************************/
  2025. /***********************************************************************
  2026. * @doc EXTERNAL
  2027. *
  2028. * @api VOID | MCIWndSetInactiveTimer | This MCIWnd macro sets
  2029. * the period used by MCIWnd to update the scrollbar,
  2030. * position information displayed in the window caption,
  2031. * and send notification messages to the parent window
  2032. * when the MCIWnd window is the inactive window.
  2033. *
  2034. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  2035. *
  2036. * @parm int | iInactive | Specifies an integer timer period in milliseconds.
  2037. *
  2038. * @comm This macro is defined with the MCIWNDM_SETINACTIVETIMER message.
  2039. * The <p wParam> parameter for the message has the same
  2040. * definition as <p iInactive>, and the <p lParam> parameter
  2041. * is set to zero.
  2042. *
  2043. * @xref MCIWndSetActiveTimer MCIWndSetTimers
  2044. *
  2045. ***********************************************************************/
  2046. /***********************************************************************
  2047. * @doc EXTERNAL
  2048. *
  2049. * @api VOID | MCIWndSetTimers | This MCIWnd macro sets the time
  2050. * periods used by MCIWnd to update the scrollbar, position
  2051. * information displayed in the window caption,
  2052. * and send notification messages to the parent window.
  2053. *
  2054. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  2055. *
  2056. * @parm int | iActive | Specifies an integer timer period used
  2057. * by MCIWnd when it is the active window. This value
  2058. * is limited to 16 bits.
  2059. *
  2060. * @parm int | iInactive | Specifies an integer timer period used
  2061. * by MCIWnd when it is the inactive window. This value
  2062. * is limited to 16 bits.
  2063. *
  2064. * This macro is defined with the MCIWNDM_SETTIMERS message.
  2065. * The <p wParam> parameter for the message has the same
  2066. * definition as <p iActive>, and the <p lParam> parameter has the same
  2067. * definition as <p iInactive>.
  2068. *
  2069. * @xref MCIWndSetActiveTimer MCIWndSetInactiveTimer
  2070. *
  2071. ***********************************************************************/
  2072. /***********************************************************************
  2073. * @doc EXTERNAL
  2074. *
  2075. * @api UINT | MCIWndGetActiveTimer | This MCIWnd macro returns
  2076. * the timer period used when the MCIWnd window is
  2077. * the active window.
  2078. *
  2079. * @parm HWND | hwnd | Specifies the handle to the MCIWnd window.
  2080. *
  2081. * @rdesc Returns the update period in milliseconds.
  2082. * The default is 500 milliseconds.
  2083. *
  2084. * @comm This macro is defined with the MCIWNDM_GETACTIVETIMER message.
  2085. * The <p wParam> and <p lParam> parameters for the message
  2086. * are set to zero.
  2087. *
  2088. * @xref MCIWndSetActiveTimer MCIWndSetTimers MCIWndGetInactiveTimer
  2089. *
  2090. ***********************************************************************/
  2091. /***********************************************************************
  2092. * @doc EXTERNAL
  2093. *
  2094. * @api UINT | MCIWndGetInactiveTimer | This MCIWnd macro returns
  2095. * the timer period used when the MCIWnd window is
  2096. * the inactive window.
  2097. *
  2098. * @parm HWND | hwnd | Specifies the handle to the MCIWnd window.
  2099. *
  2100. * @rdesc Returns the timer period in milliseconds.
  2101. * The default is 2000 milliseconds.
  2102. *
  2103. * @comm This macro is defined with the MCIWNDM_GETINACTIVERTIMER message.
  2104. * The <p wParam> and <p lParam> parameters for the message
  2105. * are set to zero.
  2106. *
  2107. * @xref MCIWndSetInactiveTimer MCIWndSetTimers MCIWndGetActiveTimer
  2108. *
  2109. ***********************************************************************/
  2110. /***********************************************************************
  2111. * @doc EXTERNAL
  2112. *
  2113. * @api LONG | MCIWndGetError | This MCIWnd macro returns the last MCI
  2114. * error encountered.
  2115. *
  2116. * @parm HWND | hwnd | Specifies the handle to the MCIWnd window.
  2117. *
  2118. * @parm LPARAM | lp | Specifies a far pointer to an application-supplied
  2119. * buffer used to return the error string.
  2120. *
  2121. * @parm int | iLen | Specifies the size of the error data buffer.
  2122. *
  2123. * @rdesc Returns the integer error code.
  2124. *
  2125. *@comm If <p lp> is a valid pointer, a zero-terminated string
  2126. * corresponding to the error is returned in its buffer. If
  2127. * the error string is longer than the buffer, MCIWnd truncates it.
  2128. *
  2129. * This macro is defined with the MCIWNDM_GETERROR message.
  2130. * The <p wParam> parameter for the message has the same
  2131. * definition as <p iLen>, and the <p lParam> parameter has the same
  2132. * definition as <p lp>.
  2133. *
  2134. ***********************************************************************/
  2135. /***********************************************************************
  2136. * @doc EXTERNAL
  2137. *
  2138. * @api HPALETTE | MCIWndGetPalette | This MCIWnd macro returns
  2139. * a handle to the palette used by an MCI device.
  2140. *
  2141. * @parm HWND | hwnd | Specifies the handle to the MCIWnd window.
  2142. *
  2143. * @rdesc Returns the handle to the palette.
  2144. *
  2145. * @comm This macro is defined with the MCIWNDM_GETPALETTE message.
  2146. * The <p wParam> and <p lParam> parameters for the message
  2147. * are set to zero.
  2148. *
  2149. * @xref MCIWndSetPalette
  2150. *
  2151. ***********************************************************************/
  2152. /***********************************************************************
  2153. * @doc EXTERNAL
  2154. *
  2155. * @api LONG | MCIWndSetPalette | This MCIWnd macro sends a palette handle
  2156. * to an MCI device.
  2157. *
  2158. * @parm HWND | hwnd | Specifies the handle to the MCIWnd window.
  2159. *
  2160. * @parm HPALETTE | hpal | Specifies the handle to the palette.
  2161. *
  2162. * @rdesc Returns zero if successful. Otherwise it returns
  2163. * an MCI error code.
  2164. *
  2165. * @comm This macro is defined with the MCIWNDM_SETPALETTE message.
  2166. * The <p wParam> parameter for the message has the same
  2167. * definition as <p hpal>, and the <p lParam> parameter
  2168. * is set to zero.
  2169. *
  2170. * @xref MCIWndGetPalette
  2171. *
  2172. ***********************************************************************/
  2173. /***********************************************************************
  2174. * @doc EXTERNAL
  2175. *
  2176. * @api LONG | MCIWndGetFileName | This MCIWnd macro returns
  2177. * the filename used by an MCI device element.
  2178. *
  2179. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  2180. *
  2181. * @parm LPARAM | lp | Specifies a far pointer to the
  2182. * application-supplied data buffer used
  2183. * to return the filename.
  2184. *
  2185. * @parm int | iLen | Specifies the size of the data buffer.
  2186. *
  2187. * @rdesc Returns zero if successful. Otherwise it returns one.
  2188. *
  2189. * @comm If the zero-terminated string containing the filename is
  2190. * longer than the buffer, MCIWnd truncates it.
  2191. *
  2192. * This macro is defined with the MCIWNDM_GETFILENAME message.
  2193. * The <p wParam> parameter for the message has the same
  2194. * definition as <p iLen>, and the <p lParam> parameter has the same
  2195. * definition as <p lp>.
  2196. *
  2197. ***********************************************************************/
  2198. /***********************************************************************
  2199. * @doc EXTERNAL
  2200. *
  2201. * @api LONG | MCIWndGetDevice | This MCIWnd macro returns the
  2202. * name of the currently opened MCI device.
  2203. *
  2204. * @parm HWND | hwnd | Specifies the handle to the MCIWnd window.
  2205. *
  2206. * @parm LPARAM | lp | Specifies a far pointer to the application-supplied
  2207. * data buffer used to return the device name.
  2208. *
  2209. * @parm int | len | Specifies the size of the data buffer.
  2210. *
  2211. * @rdesc Returns zero if successful. Otherwise it returns 42.
  2212. *
  2213. * @comm If the zero-terminated string containing the device name is
  2214. * longer than the buffer, MCIWnd truncates it.
  2215. *
  2216. * This macro is defined with the MCIWNDM_GETDEVICE message.
  2217. * The <p wParam> parameter for the message has the same
  2218. * definition as <p len>, and the <p lParam> parameter has the same
  2219. * definition as <p lp>.
  2220. *
  2221. ***********************************************************************/
  2222. /***********************************************************************
  2223. * @doc EXTERNAL
  2224. *
  2225. * @api UINT | MCIWndGetStyles | This MCIWnd macro returns
  2226. * the flags specifying the styles used
  2227. * for its window.
  2228. *
  2229. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  2230. *
  2231. * @rdesc Returns the flags specifying the styles used for
  2232. * the window. This value is the bitwise or of the MCIWNDF flags.
  2233. *
  2234. * @comm This macro is defined with the MCIWNDM_GETSTYLES message.
  2235. * The <p wParam> and <p lParam> parameters for the message
  2236. * are set to zero.
  2237. *
  2238. * @xref MCIWndChangeStyles MCIWndCreate
  2239. *
  2240. ***********************************************************************/
  2241. /***********************************************************************
  2242. * @doc EXTERNAL
  2243. *
  2244. * @api LONG | MCIWndChangeStyles | This MCIWnd macro changes
  2245. * the styles used for its window.
  2246. *
  2247. * @parm HWND | hwnd | Specifies the handle to the MCIWnd window.
  2248. *
  2249. * @parm int | mask | Specifies a mask for <p value>. This
  2250. * mask is the bitwise or of all styles that will be
  2251. * permitted to change.
  2252. *
  2253. * @parm int | value | Specifies the styles used for the window.
  2254. * See <f MCIWndCreate> for the available styles.
  2255. *
  2256. * @rdesc Returns zero.
  2257. *
  2258. * @comm This macro is defined with the MCIWNDM_CHANGESTYLES message.
  2259. * The <p wParam> parameter for the message has the same
  2260. * definition as <p mask>, and the <p lParam> parameter has the same
  2261. * definition as <p value>.
  2262. *
  2263. ***********************************************************************/
  2264. /***********************************************************************
  2265. * @doc EXTERNAL
  2266. *
  2267. * @api VOID | MCIWndValidateMedia | This macro has MCIWnd synchronize
  2268. * its position information to the new media when it has changed.
  2269. *
  2270. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  2271. *
  2272. * @comm If your application changes the time format of a
  2273. * device without using MCIWnd, the starting and ending
  2274. * position of the media, as well as the trackbar continue to
  2275. * use the old format. Use the <f MCIWndValidateMedia>
  2276. * macro to update these values. Normally, you should not
  2277. * need to use this macro.
  2278. *
  2279. * This macro is defined with the MCIWNDM_VALIDATEMEDIA message.
  2280. * The <p wParam> and <p lParam> parameters for the message
  2281. * are set to zero.
  2282. *
  2283. ***********************************************************************/
  2284. /***********************************************************************
  2285. *
  2286. * @doc INTERNAL
  2287. *
  2288. * @api LONG | MCIWndGetRepeat | This macro obtains the number
  2289. * of times the MCI device will repeat a sequence.
  2290. *
  2291. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  2292. *
  2293. * @rdesc Returns an integer indicating the number of times
  2294. * the MCI device will repeat a sequence.
  2295. *
  2296. ***********************************************************************/
  2297. /***********************************************************************
  2298. * @doc EXTERNAL
  2299. *
  2300. * @api LONG | MCIWndRealize | This MCIWnd macro has an MCI
  2301. * device realize its pallette.
  2302. *
  2303. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  2304. *
  2305. * @parm BOOL | fBkgnd | Set to TRUE to if the window is
  2306. * a background application.
  2307. *
  2308. * @rdesc Returns zero if successful. Otherwise it returns
  2309. * an MCI error code.
  2310. *
  2311. * @comm Call this macro from the WM_PALETTECHANGED
  2312. * and WM_QUERYNEWPALETTE message handlers instead of using
  2313. * <f RealizePalette>. This MCIWnd macro uses
  2314. * the palette of the MCI device and calls <f RealizePalette>.
  2315. * If realizing the palette is the only purpose of your
  2316. * WM_PALETTECHANGED and WM_QUERYNEWPALETTE message handlers,
  2317. * just pass the WM_PALETTECHANGED and WM_QUERYNEWPALETTE messages
  2318. * on to the MCI window and it will automatically realize the palette.
  2319. *
  2320. * This macro is defined with the MCIWNDM_REALIZE message.
  2321. * The <p wParam> parameter for the message has the same
  2322. * definition as <p fBkgnd>, and the <p lParam> parameter
  2323. * is set to zero.
  2324. *
  2325. ***********************************************************************/
  2326. /***********************************************************************
  2327. *
  2328. * @doc INTERNAL
  2329. *
  2330. * @api VOID | MCIWndActivate | This macro has an MCI
  2331. * device activate its window.
  2332. *
  2333. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  2334. *
  2335. * @parm int | f | Specifies applicable flags.
  2336. *
  2337. * @rdesc Returns TRUE if successful. Otherwise it returns
  2338. * an MCI error code.
  2339. *
  2340. ***********************************************************************/
  2341. /***********************************************************************
  2342. * @doc EXTERNAL
  2343. *
  2344. * @api LONG | MCIWndPutSource | This MCIWnd macro specifies the
  2345. * source rectangle for an MCI device.
  2346. *
  2347. * @parm HWND | hwnd | Specifies the handle to the MCIWnd window.
  2348. *
  2349. * @parm RECT | prc | Specifies a rectangle indicating image
  2350. * source.
  2351. *
  2352. * @rdesc Returns zero if successful. Otherwise it returns an error.
  2353. *
  2354. * @comm This macro is defined with the MCIWNDM_PUT_SOURCE message.
  2355. * The <p wParam> parameter is set to zero and the <p lParam>
  2356. * has the same definition as <p prc>.
  2357. *
  2358. * @xref MCIWndGetSource
  2359. *
  2360. ***********************************************************************/
  2361. /***********************************************************************
  2362. * @doc EXTERNAL
  2363. *
  2364. * @api LONG | MCIWndGetSource | This MCIWnd macro has an MCI device return
  2365. * the rectangle used for the source of the image.
  2366. *
  2367. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  2368. *
  2369. * @parm LPRECT | prc | Specifies a pointer to a <t RECT> data type
  2370. * used to return the source rectangle.
  2371. *
  2372. * @rdesc Returns zero if successful. Otherwise it returns an error.
  2373. *
  2374. * @comm This macro is defined with the MCIWNDM_GET_SOURCE message.
  2375. * The <p wParam> parameter is set to zero and the <p lParam>
  2376. * has the same definition as <p prc>.
  2377. *
  2378. * @xref MCIWndPutSource
  2379. *
  2380. ***********************************************************************/
  2381. /***********************************************************************
  2382. * @doc EXTERNAL
  2383. *
  2384. * @api LONG | MCIWndPutDest | This MCIWnd macro specifies the
  2385. * destination rectangle for an MCI device.
  2386. *
  2387. * @parm HWND | hwnd | Specifies the handle to the MCIWnd window.
  2388. *
  2389. * @parm RECT | prc | Specifies a rectangle indicating image
  2390. * destination.
  2391. *
  2392. * @rdesc Returns zero if successful. Otherwise it returns an error.
  2393. *
  2394. * @comm This macro is defined with the MCIWNDM_PUT_DEST message.
  2395. * The <p wParam> parameter is set to zero and the <p lParam>
  2396. * has the same definition as <p prc>.
  2397. *
  2398. * @xref MCIWndGetDest
  2399. *
  2400. ***********************************************************************/
  2401. /***********************************************************************
  2402. * @doc EXTERNAL
  2403. *
  2404. * @api LONG | MCIWndGetDest | This MCIWnd macro has an MCI device return
  2405. * the rectangle used for the image destination.
  2406. *
  2407. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  2408. *
  2409. * @parm LPRECT | prc | Specifies a pointer to a <t RECT> data
  2410. * type used to return the destination rectangle.
  2411. *
  2412. * @rdesc Returns zero if successful. Otherwise it returns an error.
  2413. *
  2414. * @comm This macro is defined with the MCIWNDM_GET_DEST message.
  2415. * The <p wParam> parameter is set to zero and the <p lParam>
  2416. * has the same definition as <p prc>.
  2417. *
  2418. * @xref MCIWndPutDest
  2419. *
  2420. ***********************************************************************/
  2421. /***********************************************************************
  2422. * @doc EXTERNAL
  2423. *
  2424. * @api void | MCIWndSetRepeat | This MCIWnd macro has an MCIWnd
  2425. * repeat a play sequence subsequently specified with an
  2426. * MCIWndPlay macro.
  2427. *
  2428. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  2429. *
  2430. * @rdesc Returns TRUE if the flag is set.
  2431. *
  2432. * @comm This macro is defined with the MCIWNDM_SETREPEAT message.
  2433. * The <p wParam> and <p lParam> parameters are set to zero.
  2434. *
  2435. ***********************************************************************/
  2436. /***********************************************************************
  2437. * @doc EXTERNAL
  2438. *
  2439. * @api BOOL | MCIWndGetRepeat | This MCIWnd macro returns the status
  2440. * of the MCIWnd repeat flag.
  2441. *
  2442. * @parm HWND | hwnd | Specifies the handle to the MCI window.
  2443. *
  2444. * @parm BOOL | f | Set to TRUE to if MCIWnd is to continuously repeat
  2445. * a sequence.
  2446. *
  2447. * @comm This macro is defined with the MCIWNDM_SETREPEAT message.
  2448. * The <p wParam> parameter for the message is set to zero,
  2449. * and the <p lParam> parameter has the same definition
  2450. * as <p f>.
  2451. *
  2452. ***********************************************************************/