home *** CD-ROM | disk | FTP | other *** search
/ ftp.alaska-software.com / 2014.06.ftp.alaska-software.com.tar / ftp.alaska-software.com / acsn / History / BDVIDEO / BDVIDEO.ZIP / XPPMM.PRG < prev   
Text File  |  2001-04-05  |  4KB  |  112 lines

  1. ///////////////////////////////////////////////////////////////////////////////
  2. //
  3. //                             A  C  S  N
  4. //
  5. // +---------------  Alaska Certified Solutions Network  -------------------+
  6. // |                                                                        |
  7. // |        This file is proved and certified by Alaska Software            |
  8. // |                                                                        |
  9. // |                   No: <Certification number>                           |
  10. // |                                                                        |
  11. // |   For more information about ACSN read the appropriate announcement    |
  12. // |      or scan for ACSN in the Alaska Support-LIBs on CompuServe or      |
  13. // |                   at WWW.ALASKA-SOFTWARE.COM                           |
  14. // |                                                                        |
  15. // +------------------------------------------------------------------------+
  16. //
  17. // FILE NAME
  18. //
  19. //    XPPMM.PRG
  20. //
  21. // AUTHOR
  22. //
  23. //    (c) Copyright 1997-2001, Gernot Trautmann
  24. //
  25. //    ALL RIGHTS RESERVED
  26. //
  27. //    This file is the property of AUTHOR. It participates in the
  28. //    Alaska Certified Solutions Network program. Permission to use, 
  29. //    copy, modify, and distribute this software for any purpose and 
  30. //    without fee is hereby granted, provided that the above copyright 
  31. //    notice appear in all copies and that the name of the author or
  32. //    Alaska Software not be used in advertising or publicity pertaining 
  33. //    to distribution of the software without specific, written prior 
  34. //    permission. 
  35. //
  36. // WARRANTY
  37. //
  38. //    THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
  39. //    AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
  40. //    INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
  41. //    FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL THE AUTHOR
  42. //    OR ALASKA SOFTWARE BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
  43. //    SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, 
  44. //    INCLUDING WITHOUT LIMITATION, LOSS OF PROFIT AND LOSS OF USE.
  45. //
  46. // DESCRIPTION
  47. //
  48. //    MCI basic interface using DllCall()
  49. //
  50. // REMARKS
  51. //
  52. //    The former XPPMM.DLL is not longer maintained.
  53. // 
  54. // HISTORY
  55. //
  56. //
  57. ///////////////////////////////////////////////////////////////////////////////
  58. #include "dll.ch"
  59.  
  60. /* This function sends a command string to a media device
  61.  *
  62.  * nReturnCode = mmSendString( cCommand, [@cReturnValue] , 
  63.  */
  64. FUNCTION MMSendstring(cCommand, cReturnValue)
  65. LOCAL rc := 0
  66.  
  67.     /* check parameters */
  68.     IF Valtype(cCommand) != "C"
  69.         RETURN -1
  70.     ENDIF
  71.     /* tolerate 2nd param type */
  72.     IF Valtype(cReturnValue) != "C"  
  73.         cReturnValue := space(1024)
  74.     ENDIF
  75.     rc := DllCall("Winmm", DLL_STDCALL + DLL_CALLMODE_COPY, "mciSendStringA",;
  76.                   cCommand, @cReturnValue, len(cReturnValue), 0)
  77.     cReturnValue := Rtrim(cReturnValue)
  78.     /* commands and return values are belonging to are all english,
  79.      * so no need to worry about code page here
  80.      */  
  81. RETURN rc
  82.  
  83. /* This function fills the caller's buffer with the textual 
  84.  * description of the given error code returned by the MM
  85.  * functions. 
  86.  *
  87.  * cErrDescr <- mmGetErrString(nError)
  88.  */
  89. FUNCTION MMGeterrstring(nError)
  90. LOCAL cErrDescr
  91. LOCAL rc
  92.  
  93.     /* setup a buffer to receive the
  94.      * error description
  95.      */
  96.     cErrDescr := space(1024)
  97.     rc := DllCall("Winmm", DLL_STDCALL, "mciGetErrorStringA", nError,;
  98.                    @cErrDescr, len(cErrDescr))
  99.     IF rc < 1
  100.         cErrDescr := "Unknown error code"
  101.     ELSE
  102.         IF Set(_SET_CHARSET) == CHARSET_OEM
  103.             /* error strings are localized and need 
  104.              * extra transformation
  105.              */
  106.             cErrDescr := ConvToAnsiCp(cErrDescr)
  107.         ENDIF
  108.     ENDIF
  109. RETURN rtrim(cErrDescr)
  110.  
  111.  
  112.