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.

89 lines
2.4 KiB

  1. //---------------------------------------------------------------------------
  2. //
  3. // Module: pi.h
  4. //
  5. // Description: pin info 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. // Constants and Macros
  27. //---------------------------------------------------------------------------
  28. //---------------------------------------------------------------------------
  29. // Classes
  30. //---------------------------------------------------------------------------
  31. typedef class CPinInfo : public CListSingleItem
  32. {
  33. public:
  34. CPinInfo(
  35. PFILTER_NODE pFilterNode,
  36. ULONG PinId = MAXULONG
  37. );
  38. ~CPinInfo();
  39. NTSTATUS Create(
  40. PFILE_OBJECT pFileObject
  41. );
  42. ENUMFUNC Destroy()
  43. {
  44. Assert(this);
  45. delete this;
  46. return(STATUS_CONTINUE);
  47. };
  48. ENUMFUNC CreatePhysicalConnection();
  49. #ifdef DEBUG
  50. ENUMFUNC Dump();
  51. #endif
  52. PFILTER_NODE pFilterNode;
  53. KSPIN_DATAFLOW DataFlow;
  54. KSPIN_COMMUNICATION Communication;
  55. KSPIN_CINSTANCES cPinInstances;
  56. GUID *pguidCategory;
  57. GUID *pguidName;
  58. PWSTR pwstrName;
  59. LIST_DESTROY_TOPOLOGY_CONNECTION lstTopologyConnection;
  60. LIST_PIN_NODE lstPinNode;
  61. ULONG PinId;
  62. NTSTATUS GetPinInstances(
  63. PFILE_OBJECT pFileObject,
  64. PKSPIN_CINSTANCES pcInstances);
  65. private:
  66. PKSPIN_PHYSICALCONNECTION pPhysicalConnection;
  67. public:
  68. DefineSignature(0x20204950); // PI
  69. } PIN_INFO, *PPIN_INFO;
  70. //---------------------------------------------------------------------------
  71. typedef ListSingleDestroy<PIN_INFO> LIST_PIN_INFO;
  72. //---------------------------------------------------------------------------
  73. // Globals
  74. //---------------------------------------------------------------------------
  75. extern DATARANGES DataRangesNull;
  76. extern IDENTIFIERS IdentifiersNull;
  77. //---------------------------------------------------------------------------