⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mmddk.h

📁 美国Delta Tau公司PMAC多轴运动控制卡的VC++示例程序
💻 H
📖 第 1 页 / 共 2 页
字号:
    #define AUXDM_GETNUMDEVS    3
    #define AUXDM_GETDEVCAPS    4
    #define AUXDM_GETVOLUME     5
    #define AUXDM_SETVOLUME     6

  #endif // ifndef MMNOAUXDEV

  // #if (WINVER >= 0x030B)
  #ifndef MMNOMIXERDEV

    #ifndef MAXMIXERDRIVERS

  //
  //  maximum number of mixer drivers that can be loaded by MSMIXMGR.DLL
  //
      #define MAXMIXERDRIVERS     10


  //
  //  mixer device open information structure
  //
  //
  typedef struct tMIXEROPENDESC
  {
      HMIXER          hmx;        // handle that will be used
      LPVOID          pReserved0; // reserved--driver should ignore
      DWORD           dwCallback; // callback
      DWORD           dwInstance; // app's private instance information

  } MIXEROPENDESC, *PMIXEROPENDESC, FAR *LPMIXEROPENDESC;



  //
  //
  //
  //
      #define MXDM_INIT                   100
      #define MXDM_USER                   DRV_USER

      #define MXDM_BASE                   (1)
      #define MXDM_GETNUMDEVS             (MXDM_BASE + 0)
      #define MXDM_GETDEVCAPS             (MXDM_BASE + 1)
      #define MXDM_OPEN                   (MXDM_BASE + 2)
      #define MXDM_CLOSE                  (MXDM_BASE + 3)
      #define MXDM_GETLINEINFO            (MXDM_BASE + 4)
      #define MXDM_GETLINECONTROLS        (MXDM_BASE + 5)
      #define MXDM_GETCONTROLDETAILS      (MXDM_BASE + 6)
      #define MXDM_SETCONTROLDETAILS      (MXDM_BASE + 7)

    #endif // MAXMIXERDRIVERS

  #endif // MMNOMIXERDEV
         // #endif /* ifdef WINVER >= 0x030B */

  #if !defined(MMNOTIMERDEV)
  /****************************************************************************

                          Timer device driver support

  ****************************************************************************/

  typedef struct timerevent_tag {
      WORD                wDelay;      // delay required
      WORD                wResolution; // resolution required
      LPTIMECALLBACK      lpFunction;  // ptr to callback function
      DWORD               dwUser;      // user DWORD
      WORD                wFlags;      // defines how to program event
      WORD                wReserved1;  // structure packing
  } TIMEREVENT;
  typedef TIMEREVENT FAR *LPTIMEREVENT;

  // messages sent to tddMessage() function
    #define TDD_KILLTIMEREVENT  (DRV_RESERVED+0)  // indices into a table of
    #define TDD_SETTIMEREVENT   (DRV_RESERVED+4)  // functions; thus offset by
    #define TDD_GETSYSTEMTIME   (DRV_RESERVED+8)  // four each time...
    #define TDD_GETDEVCAPS      (DRV_RESERVED+12) // room for future expansion
    #define TDD_BEGINMINPERIOD  (DRV_RESERVED+16) // room for future expansion
    #define TDD_ENDMINPERIOD    (DRV_RESERVED+20) // room for future expansion

  #endif // ifndef MMNOTIMERDEV


  #ifndef MMNOJOYDEV
  /****************************************************************************

                         Joystick device driver support

  ****************************************************************************/

  // joystick calibration info structure
  typedef struct joycalibrate_tag {
      WORD    wXbase;
      WORD    wXdelta;
      WORD    wYbase;
      WORD    wYdelta;
      WORD    wZbase;
      WORD    wZdelta;
  } JOYCALIBRATE;
  typedef JOYCALIBRATE FAR *LPJOYCALIBRATE;

  // prototype for joystick message function
  typedef DWORD (JOYDEVMSGPROC)(DWORD, UINT, LONG, LONG);
  typedef JOYDEVMSGPROC FAR *LPJOYDEVMSGPROC;

  // messages sent to joystick driver's DriverProc() function
    #define JDD_GETNUMDEVS      (DRV_RESERVED+0x0001)
    #define JDD_GETDEVCAPS      (DRV_RESERVED+0x0002)
    #define JDD_GETPOS          (DRV_RESERVED+0x0101)
    #define JDD_SETCALIBRATION  (DRV_RESERVED+0x0102)

  #endif // ifndef MMNOJOYDEV

  #ifndef MAKELRESULT
    #define MAKELRESULT(low, high)   ((LRESULT)MAKELONG(low, high))
  #endif //MAKELRESULT


  #ifndef MMNOMCIDEV
  /****************************************************************************

                          MCI device driver support

  ****************************************************************************/


  // internal MCI messages
    #define MCI_OPEN_DRIVER             0x0801
    #define MCI_CLOSE_DRIVER            0x0802

    #define MAKEMCIRESOURCE(wRet, wRes) MAKELRESULT((wRet), (wRes))

  // string return values only used with MAKEMCIRESOURCE
    #define MCI_FALSE                       (MCI_STRING_OFFSET + 19)
    #define MCI_TRUE                        (MCI_STRING_OFFSET + 20)

  // resource string return values
    #define MCI_FORMAT_RETURN_BASE          MCI_FORMAT_MILLISECONDS_S
    #define MCI_FORMAT_MILLISECONDS_S       (MCI_STRING_OFFSET + 21)
    #define MCI_FORMAT_HMS_S                (MCI_STRING_OFFSET + 22)
    #define MCI_FORMAT_MSF_S                (MCI_STRING_OFFSET + 23)
    #define MCI_FORMAT_FRAMES_S             (MCI_STRING_OFFSET + 24)
    #define MCI_FORMAT_SMPTE_24_S           (MCI_STRING_OFFSET + 25)
    #define MCI_FORMAT_SMPTE_25_S           (MCI_STRING_OFFSET + 26)
    #define MCI_FORMAT_SMPTE_30_S           (MCI_STRING_OFFSET + 27)
    #define MCI_FORMAT_SMPTE_30DROP_S       (MCI_STRING_OFFSET + 28)
    #define MCI_FORMAT_BYTES_S              (MCI_STRING_OFFSET + 29)
    #define MCI_FORMAT_SAMPLES_S            (MCI_STRING_OFFSET + 30)
    #define MCI_FORMAT_TMSF_S               (MCI_STRING_OFFSET + 31)

    #define MCI_VD_FORMAT_TRACK_S           (MCI_VD_OFFSET + 5)

    #define WAVE_FORMAT_PCM_S               (MCI_WAVE_OFFSET + 0)
    #define WAVE_MAPPER_S                   (MCI_WAVE_OFFSET + 1)

    #define MCI_SEQ_MAPPER_S                (MCI_SEQ_OFFSET + 5)
    #define MCI_SEQ_FILE_S                  (MCI_SEQ_OFFSET + 6)
    #define MCI_SEQ_MIDI_S                  (MCI_SEQ_OFFSET + 7)
    #define MCI_SEQ_SMPTE_S                 (MCI_SEQ_OFFSET + 8)
    #define MCI_SEQ_FORMAT_SONGPTR_S        (MCI_SEQ_OFFSET + 9)
    #define MCI_SEQ_NONE_S                  (MCI_SEQ_OFFSET + 10)
    #define MIDIMAPPER_S                    (MCI_SEQ_OFFSET + 11)

    #define MCI_TABLE_NOT_PRESENT   ((UINT)-1)
  // parameters for internal version of MCI_OPEN message sent from
  // mciOpenDevice() to the driver
  typedef struct {
      MCIDEVICEID wDeviceID;       // device ID
      LPCWSTR  lpstrParams;        // parameter string for entry in SYSTEM.INI
      UINT    wCustomCommandTable; // custom command table ((-1) if none)
                                   // filled in by the driver
      UINT    wType;               // driver type
                                   // filled in by the driver
  } MCI_OPEN_DRIVER_PARMS;
  typedef MCI_OPEN_DRIVER_PARMS FAR * LPMCI_OPEN_DRIVER_PARMS;

  // maximum length of an MCI device type
    #define MCI_MAX_DEVICE_TYPE_LENGTH 80

  // flags for mciSendCommandInternal() which direct mciSendString() how to
  // interpret the return value
    #define MCI_RESOURCE_RETURNED       0x00010000 // resource ID
    #define MCI_COLONIZED3_RETURN       0x00020000 // colonized ID, 3 bytes data
    #define MCI_COLONIZED4_RETURN       0x00040000 // colonized ID, 4 bytes data
    #define MCI_INTEGER_RETURNED        0x00080000 // integer conversion needed
    #define MCI_RESOURCE_DRIVER         0x00100000 // driver owns returned resource

  // invalid command table ID
    #define MCI_NO_COMMAND_TABLE    ((UINT)(-1))

  // command table information type tags
    #define MCI_COMMAND_HEAD        0
    #define MCI_STRING              1
    #define MCI_INTEGER             2
    #define MCI_END_COMMAND         3
    #define MCI_RETURN              4
    #define MCI_FLAG                5
    #define MCI_END_COMMAND_LIST    6
    #define MCI_RECT                7
    #define MCI_CONSTANT            8
    #define MCI_END_CONSTANT        9
    #define MCI_HWND               10
    #define MCI_HPAL               11
    #define MCI_HDC                12

  // function prototypes for MCI driver functions
  DWORD APIENTRY mciGetDriverData(MCIDEVICEID wDeviceID);
  BOOL  APIENTRY mciSetDriverData(MCIDEVICEID wDeviceID, DWORD dwData);
  UINT  APIENTRY mciDriverYield (MCIDEVICEID wDeviceID);
  BOOL  APIENTRY mciDriverNotify (HANDLE hwndCallback, MCIDEVICEID wDeviceID,
      UINT uStatus);
  UINT  APIENTRY mciLoadCommandResource(HANDLE hInstance,
      LPCWSTR lpResName, UINT wType);
  BOOL  APIENTRY mciFreeCommandResource(UINT wTable);

  #endif // ifndef MMNOMCIDEV


  #ifndef MMNOTASKDEV
  /*****************************************************************************

                                 Task support

  *****************************************************************************/

  // error return values
    #define TASKERR_NOTASKSUPPORT 1
    #define TASKERR_OUTOFMEMORY   2

  // task support function prototypes
  typedef VOID (TASKCALLBACK) (DWORD dwInst);

  typedef TASKCALLBACK FAR *LPTASKCALLBACK;

  UINT    APIENTRY mmTaskCreate(LPTASKCALLBACK lpfn, HANDLE FAR * lph, DWORD dwInst);
  VOID    APIENTRY mmTaskBlock(DWORD h);
  BOOL    APIENTRY mmTaskSignal(DWORD h);
  VOID    APIENTRY mmTaskYield(VOID);
  DWORD  APIENTRY mmGetCurrentTask(VOID);

  #endif // endif MMNOTASKDEV

  #define MMDDKINC

  #ifdef __cplusplus
}
  #endif /* __cplusplus */

  #include "poppack.h" /* Revert to default packing */

#endif /* _INC_MMDDK */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -