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.

84 lines
2.0 KiB

  1. // SecondaryControlChannel.h : Declaration of the CSecondaryControlChannel
  2. #pragma once
  3. #include "resource.h" // main symbols
  4. /////////////////////////////////////////////////////////////////////////////
  5. // CSecondaryControlChannel
  6. class ATL_NO_VTABLE CSecondaryControlChannel :
  7. public CComObjectRootEx<CComMultiThreadModel>,
  8. public CComCoClass<CSecondaryControlChannel, &CLSID_SecondaryControlChannel>,
  9. public ISecondaryControlChannel
  10. {
  11. public:
  12. CSecondaryControlChannel()
  13. {
  14. m_HandleDynamicRedirect = NULL;
  15. }
  16. DECLARE_REGISTRY_RESOURCEID(IDR_SECONDARYCONTROLCHANNEL)
  17. DECLARE_NOT_AGGREGATABLE(CSecondaryControlChannel)
  18. BEGIN_COM_MAP(CSecondaryControlChannel)
  19. COM_INTERFACE_ENTRY(ISecondaryControlChannel)
  20. END_COM_MAP()
  21. // ISecondaryControlChannel
  22. public:
  23. STDMETHODIMP Cancel();
  24. STDMETHODIMP GetChannelProperties(
  25. ALG_SECONDARY_CHANNEL_PROPERTIES ** ppProperties
  26. );
  27. STDMETHODIMP GetOriginalDestinationInformation(
  28. ULONG ulSourceAddress,
  29. USHORT usSourcePort,
  30. ULONG * pulOriginalDestinationAddress,
  31. USHORT * pusOriginalDestinationPort,
  32. IAdapterInfo ** ppReceiveAdapter
  33. );
  34. //
  35. // Methods
  36. //
  37. HRESULT CancelRedirects();
  38. //
  39. // Properties
  40. //
  41. ALG_SECONDARY_CHANNEL_PROPERTIES m_Properties;
  42. // Cache original argument of the redirect
  43. // Dynamic Redirect
  44. HANDLE_PTR m_HandleDynamicRedirect;
  45. // None dynamic redirect
  46. ULONG m_ulDestinationAddress;
  47. USHORT m_usDestinationPort;
  48. ULONG m_ulSourceAddress;
  49. USHORT m_usSourcePort;
  50. ULONG m_ulNewDestinationAddress;
  51. USHORT m_usNewDestinationPort;
  52. ULONG m_ulNewSourceAddress;
  53. USHORT m_usNewSourcePort;
  54. };