Source code of Windows XP (NT5)
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.

107 lines
4.2 KiB

  1. /****************************************************************************/
  2. /* */
  3. /* MSVIDDRV.H - Include file for messages to video drivers */
  4. /* */
  5. /* Note: You must include WINDOWS.H before including this file. */
  6. /* */
  7. /* Copyright (c) 1990-1993, Microsoft Corp. All rights reserved. */
  8. /* */
  9. /****************************************************************************/
  10. #ifndef _INC_MSVIDDRV
  11. #define _INC_MSVIDDRV 50 /* version number */
  12. #ifdef __cplusplus
  13. extern "C" { /* Assume C declarations for C++ */
  14. #endif /* __cplusplus */
  15. /****************************************************************************
  16. Digital Video Messages (DVM_)
  17. ****************************************************************************/
  18. // General messages
  19. #define DVM_START DRV_USER
  20. #define DVM_GETERRORTEXT (DVM_START + 0)
  21. #define DVM_GETVIDEOAPIVER (DVM_START + 1)
  22. // This value increments each time the API changes
  23. // It is passed to the driver in the DRV_OPEN message.
  24. #define VIDEOAPIVERSION 2
  25. // General messages applicable to all channel types
  26. #define DVM_DIALOG (DVM_START + 100)
  27. #define DVM_CONFIGURESTORAGE (DVM_START + 101)
  28. #define DVM_GET_CHANNEL_CAPS (DVM_START + 102)
  29. #define DVM_UPDATE (DVM_START + 103)
  30. // Single frame msg
  31. #define DVM_FRAME (DVM_START + 200)
  32. // stream messages
  33. #define DVM_STREAM_MSG_START (DVM_START + 300)
  34. #define DVM_STREAM_MSG_END (DVM_START + 399)
  35. #define DVM_STREAM_ADDBUFFER (DVM_START + 300)
  36. #define DVM_STREAM_FINI (DVM_START + 301)
  37. #define DVM_STREAM_GETERROR (DVM_START + 302)
  38. #define DVM_STREAM_GETPOSITION (DVM_START + 303)
  39. #define DVM_STREAM_INIT (DVM_START + 304)
  40. #define DVM_STREAM_PREPAREHEADER (DVM_START + 305)
  41. #define DVM_STREAM_RESET (DVM_START + 306)
  42. #define DVM_STREAM_START (DVM_START + 307)
  43. #define DVM_STREAM_STOP (DVM_START + 308)
  44. #define DVM_STREAM_UNPREPAREHEADER (DVM_START + 309)
  45. // NOTE that DVM_CONFIGURE numbers will start at 0x1000 (for configure API)
  46. /****************************************************************************
  47. Open Definitions
  48. ****************************************************************************/
  49. #define OPEN_TYPE_VCAP mmioFOURCC('v', 'c', 'a', 'p')
  50. // The following structure is the same as IC_OPEN
  51. // to allow compressors and capture devices to share
  52. // the same DriverProc.
  53. typedef struct tag_video_open_parms {
  54. DWORD dwSize; // sizeof(VIDEO_OPEN_PARMS)
  55. FOURCC fccType; // 'vcap'
  56. FOURCC fccComp; // unused
  57. DWORD dwVersion; // version of msvideo opening you
  58. DWORD dwFlags; // channel type
  59. DWORD dwError; // if open fails, this is why
  60. } VIDEO_OPEN_PARMS, FAR * LPVIDEO_OPEN_PARMS;
  61. typedef struct tag_video_geterrortext_parms {
  62. DWORD dwError; // The error number to identify
  63. LPSTR lpText; // Text buffer to fill
  64. DWORD dwLength; // Size of text buffer.
  65. } VIDEO_GETERRORTEXT_PARMS, FAR * LPVIDEO_GETERRORTEXT_PARMS;
  66. typedef struct tag_video_stream_init_parms {
  67. DWORD dwMicroSecPerFrame;
  68. DWORD dwCallback;
  69. DWORD dwCallbackInst;
  70. DWORD dwFlags;
  71. DWORD hVideo;
  72. } VIDEO_STREAM_INIT_PARMS, FAR * LPVIDEO_STREAM_INIT_PARMS;
  73. typedef struct tag_video_configure_parms {
  74. LPDWORD lpdwReturn; // Return parameter from configure MSG.
  75. LPVOID lpData1; // Pointer to data 1.
  76. DWORD dwSize1; // size of data buffer 1.
  77. LPVOID lpData2; // Pointer to data 2.
  78. DWORD dwSize2; // size of data buffer 2.
  79. } VIDEOCONFIGPARMS, FAR * LPVIDEOCONFIGPARMS;
  80. #ifdef __cplusplus
  81. } /* End of extern "C" { */
  82. #endif /* __cplusplus */
  83. #endif /* _INC_MSVIDDRV */