home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1998 May / Pcwk5b98.iso / Borland / Cplus45 / BC45 / MSINC.PAK / MSVIDDRV.H < prev    next >
C/C++ Source or Header  |  1995-08-29  |  5KB  |  122 lines

  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. /****************************************************************************/
  8.  
  9. /*
  10.  *      C/C++ Run Time Library - Version 6.5
  11.  *
  12.  *      Copyright (c) 1994 by Borland International
  13.  *      All Rights Reserved.
  14.  *
  15.  */
  16.  
  17. #ifndef _INC_MSVIDDRV
  18. #define _INC_MSVIDDRV   50      /* version number */
  19. #define __MSVIDDRV_H
  20.  
  21. #ifdef __cplusplus
  22. extern "C" {            /* Assume C declarations for C++ */
  23. #endif  /* __cplusplus */
  24.  
  25. /****************************************************************************
  26.  
  27.          Digital Video Messages (DVM_)
  28.  
  29. ****************************************************************************/
  30.  
  31. // General messages
  32. #define DVM_START                         DRV_USER
  33. #define DVM_GETERRORTEXT                  (DVM_START + 0)
  34. #define DVM_GETVIDEOAPIVER                (DVM_START + 1)
  35.  
  36. // This value increments each time the API changes
  37. // It is passed to the driver in the DRV_OPEN message.
  38. #define VIDEOAPIVERSION                 3
  39.  
  40. // General messages applicable to all channel types
  41. #define DVM_DIALOG                      (DVM_START + 100)
  42. #define DVM_CONFIGURESTORAGE            (DVM_START + 101)
  43. #define DVM_GET_CHANNEL_CAPS            (DVM_START + 102)
  44. #define DVM_UPDATE                      (DVM_START + 103)
  45.  
  46. // Single frame msg
  47. #define DVM_FRAME                       (DVM_START + 200)
  48.  
  49. // stream messages
  50. #define DVM_STREAM_MSG_START            (DVM_START + 300)
  51. #define DVM_STREAM_MSG_END              (DVM_START + 399)
  52.  
  53. #define DVM_STREAM_ADDBUFFER            (DVM_START + 300)
  54. #define DVM_STREAM_FINI                 (DVM_START + 301)
  55. #define DVM_STREAM_GETERROR             (DVM_START + 302)
  56. #define DVM_STREAM_GETPOSITION          (DVM_START + 303)
  57. #define DVM_STREAM_INIT                 (DVM_START + 304)
  58. #define DVM_STREAM_PREPAREHEADER        (DVM_START + 305)
  59. #define DVM_STREAM_RESET                (DVM_START + 306)
  60. #define DVM_STREAM_START                (DVM_START + 307)
  61. #define DVM_STREAM_STOP                 (DVM_START + 308)
  62. #define DVM_STREAM_UNPREPAREHEADER      (DVM_START + 309)
  63.  
  64. // Following added post VFW1.1a
  65. #define DVM_STREAM_ALLOCHDRANDBUFFER    (DVM_START + 310)
  66. #define DVM_STREAM_FREEHDRANDBUFFER     (DVM_START + 311)
  67.  
  68. // NOTE that DVM_CONFIGURE numbers will start at 0x1000 (for configure API)
  69.  
  70.  
  71. /****************************************************************************
  72.  
  73.                 Open Definitions
  74.  
  75. ****************************************************************************/
  76. #define OPEN_TYPE_VCAP mmioFOURCC('v', 'c', 'a', 'p')
  77.  
  78. // The following structure is the same as IC_OPEN
  79. // to allow compressors and capture devices to share
  80. // the same DriverProc.
  81.  
  82. typedef struct tag_video_open_parms {
  83.     DWORD               dwSize;         // sizeof(VIDEO_OPEN_PARMS)
  84.     FOURCC              fccType;        // 'vcap'
  85.     FOURCC              fccComp;        // unused
  86.     DWORD               dwVersion;      // version of msvideo opening you
  87.     DWORD               dwFlags;        // channel type
  88.     DWORD               dwError;        // if open fails, this is why
  89. } VIDEO_OPEN_PARMS, FAR * LPVIDEO_OPEN_PARMS;
  90.  
  91. typedef struct tag_video_geterrortext_parms {
  92.        DWORD  dwError;          // The error number to identify
  93. #ifdef WIN32
  94.        LPWSTR lpText;           // Text buffer to fill
  95. #else
  96.        LPSTR lpText;            // Text buffer to fill
  97. #endif
  98.        DWORD  dwLength;         // Size of text buffer in characters
  99. } VIDEO_GETERRORTEXT_PARMS, FAR * LPVIDEO_GETERRORTEXT_PARMS;
  100.  
  101. typedef struct tag_video_stream_init_parms {
  102.        DWORD  dwMicroSecPerFrame;
  103.        DWORD  dwCallback;
  104.        DWORD  dwCallbackInst;
  105.        DWORD  dwFlags;
  106.        DWORD  hVideo;
  107. } VIDEO_STREAM_INIT_PARMS, FAR * LPVIDEO_STREAM_INIT_PARMS;
  108.  
  109. typedef struct tag_video_configure_parms {
  110.        LPDWORD  lpdwReturn;     // Return parameter from configure MSG.
  111.        LPVOID   lpData1;        // Pointer to data 1.
  112.        DWORD    dwSize1;        // size of data buffer 1.
  113.        LPVOID   lpData2;        // Pointer to data 2.
  114.        DWORD    dwSize2;        // size of data buffer 2.
  115. } VIDEOCONFIGPARMS, FAR * LPVIDEOCONFIGPARMS;
  116.  
  117. #ifdef __cplusplus
  118. }                       /* End of extern "C" { */
  119. #endif  /* __cplusplus */
  120.  
  121. #endif  /* _INC_MSVIDDRV */
  122.