msacmdrv.h
上传用户:kjfoods
上传日期:2020-07-06
资源大小:29949k
文件大小:5k
源码类别:

midi

开发平台:

Unix_Linux

  1. /*
  2.  *      msacmdrv.h   -       Declarations for MSACM driver
  3.  */
  4. #ifndef __WINE_MSACMDRV_H
  5. #define __WINE_MSACMDRV_H
  6. #include "windef.h"
  7. #include "msacm.h"
  8. /***********************************************************************
  9.  * Types
  10.  */
  11. /***********************************************************************
  12.  * Defines/Enums
  13.  */
  14. #define MAKE_ACM_VERSION(mjr, mnr, bld) 
  15.   (((long)(mjr)<<24) | ((long)(mnr)<<16) | ((long)bld))
  16. #define ACMDRVOPENDESC_SECTIONNAME_CHARS    
  17. #define ACMDM_DRIVER_NOTIFY             (ACMDM_BASE + 1)
  18. #define ACMDM_DRIVER_DETAILS            (ACMDM_BASE + 10)
  19. #define ACMDM_HARDWARE_WAVE_CAPS_INPUT  (ACMDM_BASE + 20)
  20. #define ACMDM_HARDWARE_WAVE_CAPS_OUTPUT (ACMDM_BASE + 21)
  21. #define ACMDM_FORMATTAG_DETAILS         (ACMDM_BASE + 25)
  22. #define ACMDM_FORMAT_DETAILS            (ACMDM_BASE + 26)
  23. #define ACMDM_FORMAT_SUGGEST            (ACMDM_BASE + 27)
  24. #define ACMDM_FILTERTAG_DETAILS         (ACMDM_BASE + 50)
  25. #define ACMDM_FILTER_DETAILS            (ACMDM_BASE + 51)
  26. #define ACMDM_STREAM_OPEN               (ACMDM_BASE + 76)
  27. #define ACMDM_STREAM_CLOSE              (ACMDM_BASE + 77)
  28. #define ACMDM_STREAM_SIZE               (ACMDM_BASE + 78)
  29. #define ACMDM_STREAM_CONVERT            (ACMDM_BASE + 79)
  30. #define ACMDM_STREAM_RESET              (ACMDM_BASE + 80)
  31. #define ACMDM_STREAM_PREPARE            (ACMDM_BASE + 81)
  32. #define ACMDM_STREAM_UNPREPARE          (ACMDM_BASE + 82)
  33. #define ACMDM_STREAM_UPDATE             (ACMDM_BASE + 83)
  34. /***********************************************************************
  35.  * Structures
  36.  */
  37. typedef struct _ACMDRVOPENDESCA
  38. {
  39.   DWORD  cbStruct;
  40.   FOURCC fccType;
  41.   FOURCC fccComp;
  42.   DWORD  dwVersion;
  43.   DWORD  dwFlags;
  44.   DWORD  dwError;
  45.   LPCSTR pszSectionName;
  46.   LPCSTR pszAliasName;
  47.   DWORD  dnDevNode;
  48. } ACMDRVOPENDESCA, *PACMDRVOPENDESCA;
  49. typedef struct _ACMDRVOPENDESCW
  50. {
  51.   DWORD   cbStruct;
  52.   FOURCC  fccType;
  53.   FOURCC  fccComp;
  54.   DWORD   dwVersion;
  55.   DWORD   dwFlags;
  56.   DWORD   dwError;
  57.   LPCWSTR pszSectionName;
  58.   LPCWSTR pszAliasName;
  59.   DWORD   dnDevNode;
  60. } ACMDRVOPENDESCW, *PACMDRVOPENDESCW;
  61. typedef struct _ACMDRVOPENDESC16
  62. {
  63.   DWORD  cbStruct;
  64.   FOURCC fccType;
  65.   FOURCC fccComp;
  66.   DWORD  dwVersion;
  67.   DWORD  dwFlags;
  68.   DWORD  dwError;
  69.   LPCSTR pszSectionName;
  70.   LPCSTR pszAliasName;
  71.   DWORD  dnDevNode;
  72. } ACMDRVOPENDESC16, *NPACMDRVOPENDESC16, *LPACMDRVOPENDESC16;
  73. typedef struct _ACMDRVSTREAMINSTANCE16
  74. {
  75.   DWORD            cbStruct;
  76.   LPWAVEFORMATEX   pwfxSrc;
  77.   LPWAVEFORMATEX   pwfxDst;
  78.   LPWAVEFILTER     pwfltr;
  79.   DWORD            dwCallback;
  80.   DWORD            dwInstance;
  81.   DWORD            fdwOpen;
  82.   DWORD            fdwDriver;
  83.   DWORD            dwDriver;
  84.   HACMSTREAM16     has;
  85. } ACMDRVSTREAMINSTANCE16, *NPACMDRVSTREAMINSTANCE16, *LPACMDRVSTREAMINSTANCE16;
  86. typedef struct _ACMDRVSTREAMINSTANCE
  87. {
  88.   DWORD           cbStruct;
  89.   PWAVEFORMATEX   pwfxSrc;
  90.   PWAVEFORMATEX   pwfxDst;
  91.   PWAVEFILTER     pwfltr;
  92.   DWORD           dwCallback;
  93.   DWORD           dwInstance;
  94.   DWORD           fdwOpen;
  95.   DWORD           fdwDriver;
  96.   DWORD           dwDriver;
  97.   HACMSTREAM    has;
  98. } ACMDRVSTREAMINSTANCE, *PACMDRVSTREAMINSTANCE;
  99. typedef struct _ACMDRVSTREAMHEADER16 *LPACMDRVSTREAMHEADER16;
  100. typedef struct _ACMDRVSTREAMHEADER16 {
  101.   DWORD  cbStruct;
  102.   DWORD  fdwStatus;
  103.   DWORD  dwUser;
  104.   LPBYTE pbSrc;
  105.   DWORD  cbSrcLength;
  106.   DWORD  cbSrcLengthUsed;
  107.   DWORD  dwSrcUser;
  108.   LPBYTE pbDst;
  109.   DWORD  cbDstLength;
  110.   DWORD  cbDstLengthUsed;
  111.   DWORD  dwDstUser;
  112.   DWORD fdwConvert;
  113.   LPACMDRVSTREAMHEADER16 *padshNext;
  114.   DWORD fdwDriver;
  115.   DWORD dwDriver;
  116.   /* Internal fields for ACM */
  117.   DWORD  fdwPrepared;
  118.   DWORD  dwPrepared;
  119.   LPBYTE pbPreparedSrc;
  120.   DWORD  cbPreparedSrcLength;
  121.   LPBYTE pbPreparedDst;
  122.   DWORD  cbPreparedDstLength;
  123. } ACMDRVSTREAMHEADER16, *NPACMDRVSTREAMHEADER16;
  124. typedef struct _ACMDRVSTREAMHEADER *PACMDRVSTREAMHEADER;
  125. typedef struct _ACMDRVSTREAMHEADER {
  126.   DWORD  cbStruct;
  127.   DWORD  fdwStatus;
  128.   DWORD  dwUser;
  129.   LPBYTE pbSrc;
  130.   DWORD  cbSrcLength;
  131.   DWORD  cbSrcLengthUsed;
  132.   DWORD  dwSrcUser;
  133.   LPBYTE pbDst;
  134.   DWORD  cbDstLength;
  135.   DWORD  cbDstLengthUsed;
  136.   DWORD  dwDstUser;
  137.   DWORD fdwConvert;
  138.   PACMDRVSTREAMHEADER *padshNext;
  139.   DWORD fdwDriver;
  140.   DWORD dwDriver;
  141.   /* Internal fields for ACM */
  142.   DWORD  fdwPrepared;
  143.   DWORD  dwPrepared;
  144.   LPBYTE pbPreparedSrc;
  145.   DWORD  cbPreparedSrcLength;
  146.   LPBYTE pbPreparedDst;
  147.   DWORD  cbPreparedDstLength;
  148. } ACMDRVSTREAMHEADER;
  149. typedef struct _ACMDRVSTREAMSIZE
  150. {
  151.   DWORD cbStruct;
  152.   DWORD fdwSize;
  153.   DWORD cbSrcLength;
  154.   DWORD cbDstLength;
  155. } ACMDRVSTREAMSIZE16, *NPACMDRVSTREAMSIZE16, *LPACMDRVSTREAMSIZE16,
  156.   ACMDRVSTREAMSIZE, *PACMDRVSTREAMSIZE;
  157. typedef struct _ACMDRVFORMATSUGGEST16
  158. {
  159.   DWORD            cbStruct;
  160.   DWORD            fdwSuggest;
  161.   LPWAVEFORMATEX   pwfxSrc;
  162.   DWORD            cbwfxSrc;
  163.   LPWAVEFORMATEX   pwfxDst;
  164.   DWORD            cbwfxDst;
  165. } ACMDRVFORMATSUGGEST16, *NPACMDRVFORMATSUGGEST, *LPACMDRVFORMATSUGGEST;
  166. typedef struct _ACMDRVFORMATSUGGEST
  167. {
  168.   DWORD           cbStruct;
  169.   DWORD           fdwSuggest;
  170.   PWAVEFORMATEX   pwfxSrc;
  171.   DWORD           cbwfxSrc;
  172.   PWAVEFORMATEX   pwfxDst;
  173.   DWORD           cbwfxDst;
  174. } ACMDRVFORMATSUGGEST, *PACMDRVFORMATSUGGEST;
  175. #endif  /* __WINE_MSACMDRV_H */