Leaked source code of windows server 2003
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.

97 lines
2.7 KiB

  1. //=================================================================
  2. //
  3. // MsAcm32Api.h
  4. //
  5. // Copyright (c) 1999-2001 Microsoft Corporation, All Rights Reserved
  6. //
  7. //=================================================================
  8. #ifndef _MsAcm32Api_H_
  9. #define _MsAcm32Api_H_
  10. /******************************************************************************
  11. * #includes to Register this class with the CResourceManager.
  12. *****************************************************************************/
  13. extern const GUID g_guidMsAcm32Api;
  14. extern const TCHAR g_tstrMsAcm32[];
  15. /******************************************************************************
  16. * Function pointer typedefs. Add new functions here as required.
  17. *****************************************************************************/
  18. #ifdef UNICODE
  19. typedef MMRESULT (ACMAPI *PFN_MsAcm32_acmDriverDetails )
  20. (
  21. HACMDRIVERID hadid,
  22. LPACMDRIVERDETAILSW padd,
  23. DWORD fdwDetails
  24. );
  25. #else
  26. typedef MMRESULT (ACMAPI *PFN_MsAcm32_acmDriverDetails )
  27. (
  28. HACMDRIVERID hadid,
  29. LPACMDRIVERDETAILSA padd,
  30. DWORD fdwDetails
  31. );
  32. #endif
  33. typedef MMRESULT (ACMAPI *PFN_MsAcm32_acmDriverEnum )
  34. (
  35. ACMDRIVERENUMCB fnCallback,
  36. DWORD_PTR dwInstance,
  37. DWORD fdwEnum
  38. );
  39. /******************************************************************************
  40. * Wrapper class for Tapi load/unload, for registration with CResourceManager.
  41. *****************************************************************************/
  42. class CMsAcm32Api : public CDllWrapperBase
  43. {
  44. private:
  45. // Member variables (function pointers) pointing to Tapi functions.
  46. // Add new functions here as required.
  47. PFN_MsAcm32_acmDriverDetails m_pfnacmDriverDetails ;
  48. PFN_MsAcm32_acmDriverEnum m_pfnacmDriverEnum ;
  49. public:
  50. // Constructor and destructor:
  51. CMsAcm32Api(LPCTSTR a_tstrWrappedDllName);
  52. ~CMsAcm32Api();
  53. // Initialization function to check function pointers.
  54. virtual bool Init();
  55. // Member functions wrapping Tapi functions.
  56. // Add new functions here as required:
  57. #ifdef UNICODE
  58. MMRESULT MsAcm32acmDriverDetails
  59. (
  60. HACMDRIVERID hadid,
  61. LPACMDRIVERDETAILSW padd,
  62. DWORD fdwDetails
  63. );
  64. #else
  65. MMRESULT MsAcm32acmDriverDetails
  66. (
  67. HACMDRIVERID hadid,
  68. LPACMDRIVERDETAILSA padd,
  69. DWORD fdwDetails
  70. );
  71. #endif
  72. MMRESULT MsAcm32acmDriverEnum (
  73. ACMDRIVERENUMCB fnCallback,
  74. DWORD_PTR dwInstance,
  75. DWORD fdwEnum
  76. );
  77. };
  78. #endif