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.

44 lines
2.0 KiB

  1. /*==========================================================================;
  2. *
  3. * Copyright (C) 1999 Microsoft Corporation. All Rights Reserved.
  4. *
  5. * File: dpvacmi.h
  6. * Content: Definition of object which implements ACM compression provider interface
  7. *
  8. * History:
  9. * Date By Reason
  10. * =========== =========== ====================
  11. * 10/27/99 rodtoll created
  12. * 12/16/99 rodtoll Bug #123250 - Insert proper names/descriptions for codecs
  13. * Codec names now based on resource entries for format and
  14. * names are constructed using ACM names + bitrate
  15. * 03/03/2000 rodtoll Updated to handle alternative gamevoice build.
  16. * 06/27/2001 rodtoll RC2: DPVOICE: DPVACM's DllMain calls into acm -- potential hang
  17. * Move global initialization to first object creation
  18. ***************************************************************************/
  19. #ifndef __DPVACMI_H
  20. #define __DPVACMI_H
  21. extern "C" DNCRITICAL_SECTION g_csObjectCountLock;
  22. extern "C" HINSTANCE g_hDllInst;
  23. LONG IncrementObjectCount();
  24. LONG DecrementObjectCount();
  25. class CDPVACMI: public CDPVCPI
  26. {
  27. public:
  28. static HRESULT InitCompressionList( HINSTANCE hInst, const wchar_t *szwRegistryBase );
  29. HRESULT CreateCompressor( DPVCPIOBJECT *This, LPWAVEFORMATEX lpwfxSrcFormat, GUID guidTargetCT, PDPVCOMPRESSOR *ppCompressor, DWORD dwFlags );
  30. HRESULT CreateDeCompressor( DPVCPIOBJECT *This, GUID guidTargetCT, LPWAVEFORMATEX lpwfxSrcFormat, PDPVCOMPRESSOR *ppCompressor, DWORD dwFlags );
  31. static WAVEFORMATEX s_wfxInnerFormat; // Inner format
  32. static HRESULT GetCompressionNameAndDescription( HINSTANCE hInst, DVFULLCOMPRESSIONINFO *pdvCompressionInfo );
  33. static HRESULT GetDriverNameW( HACMDRIVERID hadid, wchar_t *szwDriverName );
  34. static HRESULT GetDriverNameA( HACMDRIVERID hadid, wchar_t *szwDriverName );
  35. static HRESULT LoadAndAllocString( HINSTANCE hInstance, UINT uiResourceID, wchar_t **lpswzString );
  36. static void AddEntry( CompressionNode *pNewNode );
  37. static HRESULT LoadDefaultTypes( HINSTANCE hInst );
  38. };
  39. #endif