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.

94 lines
2.2 KiB

  1. //---------------------------------------------------------------------------
  2. //
  3. // Module: pn.h
  4. //
  5. // Description: pin node classes
  6. //
  7. //
  8. //@@BEGIN_MSINTERNAL
  9. // Development Team:
  10. // Mike McLaughlin
  11. //
  12. // History: Date Author Comment
  13. //
  14. //@@END_MSINTERNAL
  15. //---------------------------------------------------------------------------
  16. //
  17. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
  18. // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
  19. // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
  20. // PURPOSE.
  21. //
  22. // Copyright (c) 1996-1999 Microsoft Corporation. All Rights Reserved.
  23. //
  24. //---------------------------------------------------------------------------
  25. //---------------------------------------------------------------------------
  26. // Classes
  27. //---------------------------------------------------------------------------
  28. typedef class CPinNode : public CListSingleItem
  29. {
  30. public:
  31. CPinNode(
  32. PPIN_INFO pPinInfo
  33. );
  34. CPinNode(
  35. PGRAPH_NODE pGraphNode,
  36. PPIN_NODE pPinNode
  37. );
  38. static NTSTATUS
  39. CreateAll(
  40. PPIN_INFO pPinInfo,
  41. PDATARANGES pDataRanges,
  42. PIDENTIFIERS pInterfaces,
  43. PIDENTIFIERS pMediums
  44. );
  45. ENUMFUNC
  46. Destroy()
  47. {
  48. Assert(this);
  49. delete this;
  50. return(STATUS_CONTINUE);
  51. };
  52. BOOL
  53. ComparePins(
  54. PPIN_NODE pPinNode
  55. );
  56. ULONG
  57. GetOverhead(
  58. )
  59. {
  60. return(ulOverhead);
  61. };
  62. ULONG
  63. GetType( // see lfn.h
  64. );
  65. private:
  66. ULONG ulOverhead;
  67. public:
  68. PPIN_INFO pPinInfo;
  69. PLOGICAL_FILTER_NODE pLogicalFilterNode;
  70. PKSDATARANGE pDataRange;
  71. PKSPIN_MEDIUM pMedium;
  72. PKSPIN_INTERFACE pInterface;
  73. DefineSignature(0x20204e50); // PN
  74. } PIN_NODE, *PPIN_NODE;
  75. //---------------------------------------------------------------------------
  76. typedef ListSingleDestroy<PIN_NODE> LIST_PIN_NODE;
  77. //---------------------------------------------------------------------------
  78. typedef ListData<PIN_NODE> LIST_DATA_PIN_NODE;
  79. //---------------------------------------------------------------------------