Source code of Windows XP (NT5)
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.

133 lines
2.7 KiB

  1. //==========================================================================;
  2. //
  3. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
  4. // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
  5. // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
  6. // PURPOSE.
  7. //
  8. // Copyright (c) 1992 - 1998 Microsoft Corporation. All Rights Reserved.
  9. //
  10. //--------------------------------------------------------------------------;
  11. ////////////////////////////////////////////////////////////////////////////////
  12. //
  13. // BDA Digital Demodulator class
  14. //
  15. class CBdaDigitalDemodulator :
  16. public CUnknown,
  17. public IBDA_DigitalDemodulator
  18. {
  19. friend class CBdaControlNode;
  20. public:
  21. DECLARE_IUNKNOWN;
  22. CBdaDigitalDemodulator (
  23. IUnknown * pUnkOuter,
  24. CBdaControlNode * pControlNode
  25. );
  26. ~CBdaDigitalDemodulator ( );
  27. //
  28. // IBDA_DigitalDemodulator
  29. //
  30. STDMETHODIMP
  31. put_ModulationType (
  32. ModulationType * pModulationType
  33. );
  34. STDMETHODIMP
  35. get_ModulationType (
  36. ModulationType * pModulationType
  37. );
  38. STDMETHODIMP
  39. put_InnerFECMethod (
  40. FECMethod * pFECMethod
  41. );
  42. STDMETHODIMP
  43. get_InnerFECMethod (
  44. FECMethod * pFECMethod
  45. );
  46. STDMETHODIMP
  47. put_InnerFECRate (
  48. BinaryConvolutionCodeRate * pFECRate
  49. );
  50. STDMETHODIMP
  51. get_InnerFECRate (
  52. BinaryConvolutionCodeRate * pFECRate
  53. );
  54. STDMETHODIMP
  55. put_OuterFECMethod (
  56. FECMethod * pFECMethod
  57. );
  58. STDMETHODIMP
  59. get_OuterFECMethod (
  60. FECMethod * pFECMethod
  61. );
  62. STDMETHODIMP
  63. put_OuterFECRate (
  64. BinaryConvolutionCodeRate * pFECRate
  65. );
  66. STDMETHODIMP
  67. get_OuterFECRate (
  68. BinaryConvolutionCodeRate * pFECRate
  69. );
  70. STDMETHODIMP
  71. put_SymbolRate (
  72. ULONG * pSymbolRate
  73. );
  74. STDMETHODIMP
  75. get_SymbolRate (
  76. ULONG * pSymbolRate
  77. );
  78. STDMETHODIMP
  79. put_SpectralInversion (
  80. SpectralInversion * pSpectralInversion
  81. );
  82. STDMETHODIMP
  83. get_SpectralInversion (
  84. SpectralInversion * pSpectralInversion
  85. );
  86. //
  87. // Utility Methods
  88. //
  89. STDMETHODIMP
  90. put_KsProperty(
  91. DWORD dwPropID,
  92. PVOID pvPropData,
  93. ULONG ulcbPropData
  94. );
  95. STDMETHODIMP
  96. get_KsProperty (
  97. DWORD dwPropID,
  98. PVOID pvPropData,
  99. ULONG ulcbPropData,
  100. ULONG * pulcbBytesReturned
  101. );
  102. private:
  103. IUnknown * m_pUnkOuter;
  104. CBdaControlNode * m_pControlNode;
  105. CCritSec m_FilterLock;
  106. };