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.

88 lines
2.8 KiB

  1. //==========================================================================;
  2. //
  3. // WDMTVSnd.H
  4. // WDM TVAudio MiniDriver.
  5. // CWDMTVAudio Class definition.
  6. // Copyright (c) 1996 - 1997 ATI Technologies Inc. All Rights Reserved.
  7. //
  8. //==========================================================================;
  9. #ifndef _WDMTVSND_H_
  10. #define _WDMTVSND_H_
  11. #include "i2script.h"
  12. #include "aticonfg.h"
  13. #include "pinmedia.h"
  14. #define WDMTVAUDIO_PINS_NUMBER 2 // 1 input and 1 output
  15. #define KSPROPERTIES_TVAUDIO_NUMBER_SET 1
  16. #define KSPROPERTIES_TVAUDIO_NUMBER ( KSPROPERTY_TVAUDIO_CURRENTLY_AVAILABLE_MODES + 1)
  17. #define KSEVENTS_TVAUDIO_NUMBER_SET 1
  18. #define KSEVENTS_TVAUDIO_NUMBER 1
  19. class CWDMTVAudio
  20. {
  21. public:
  22. CWDMTVAudio ( PPORT_CONFIGURATION_INFORMATION pConfigInfo, CI2CScript * pCScript, PUINT puiError);
  23. PVOID operator new ( size_t stSize, PVOID pAllocation);
  24. // Attributes
  25. private:
  26. // WDM global topology headers
  27. GUID m_wdmTVAudioTopologyCategory;
  28. KSTOPOLOGY m_wdmTVAudioTopology;
  29. // WDM global pins Medium information
  30. KSPIN_MEDIUM m_wdmTVAudioPinsMediumInfo[WDMTVAUDIO_PINS_NUMBER];
  31. BOOL m_wdmTVAudioPinsDirectionInfo[WDMTVAUDIO_PINS_NUMBER];
  32. // WDM global property headers
  33. KSPROPERTY_ITEM m_wdmTVAudioProperties[KSPROPERTIES_TVAUDIO_NUMBER];
  34. KSPROPERTY_SET m_wdmTVAudioPropertySet[KSPROPERTIES_TVAUDIO_NUMBER_SET];
  35. // WDM global event properties
  36. KSEVENT_ITEM m_wdmTVAudioEvents[KSEVENTS_TVAUDIO_NUMBER];
  37. KSEVENT_SET m_wdmTVAudioEventsSet[KSEVENTS_TVAUDIO_NUMBER_SET];
  38. // WDM global stream headers
  39. HW_STREAM_HEADER m_wdmTVAudioStreamHeader;
  40. // I2C provider properties
  41. CI2CScript * m_pI2CScript;
  42. // Configurations
  43. CATIHwConfiguration m_CATIConfiguration;
  44. ULONG m_ulModesSupported;
  45. UINT m_uiAudioConfiguration;
  46. UCHAR m_uchAudioChipAddress;
  47. // Run-time properties
  48. ULONG m_ulTVAudioMode;
  49. ULONG m_ulTVAudioSignalProperties;
  50. DEVICE_POWER_STATE m_ulPowerState;
  51. // Implementation
  52. public:
  53. BOOL AdapterUnInitialize ( PHW_STREAM_REQUEST_BLOCK pSrb);
  54. BOOL AdapterGetStreamInfo ( PHW_STREAM_REQUEST_BLOCK pSrb);
  55. BOOL AdapterQueryUnload ( PHW_STREAM_REQUEST_BLOCK pSrb);
  56. BOOL AdapterGetProperty ( PHW_STREAM_REQUEST_BLOCK pSrb);
  57. BOOL AdapterSetProperty ( PHW_STREAM_REQUEST_BLOCK pSrb);
  58. NTSTATUS AdapterCompleteInitialization ( PHW_STREAM_REQUEST_BLOCK pSrb);
  59. NTSTATUS AdapterSetPowerState ( PHW_STREAM_REQUEST_BLOCK pSrb);
  60. private:
  61. void SetWDMTVAudioKSEvents ( void);
  62. void SetWDMTVAudioKSProperties ( void);
  63. void SetWDMTVAudioKSTopology ( void);
  64. BOOL SetAudioOperationMode ( ULONG ulModeToSet);
  65. BOOL GetAudioOperationMode ( PULONG pulMode);
  66. };
  67. #endif // _WDMTVSND_H_