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.

87 lines
2.5 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. PFILTER_NODE pFilterNode;
  50. KSPIN_DATAFLOW DataFlow;
  51. KSPIN_COMMUNICATION Communication;
  52. KSPIN_CINSTANCES cPinInstances;
  53. GUID *pguidCategory;
  54. GUID *pguidName;
  55. PWSTR pwstrName;
  56. LIST_DESTROY_TOPOLOGY_CONNECTION lstTopologyConnection;
  57. LIST_PIN_NODE lstPinNode;
  58. ULONG PinId;
  59. NTSTATUS GetPinInstances(
  60. PFILE_OBJECT pFileObject,
  61. PKSPIN_CINSTANCES pcInstances);
  62. private:
  63. PKSPIN_PHYSICALCONNECTION pPhysicalConnection;
  64. public:
  65. DefineSignature(0x20204950); // PI
  66. } PIN_INFO, *PPIN_INFO;
  67. //---------------------------------------------------------------------------
  68. typedef ListSingleDestroy<PIN_INFO> LIST_PIN_INFO;
  69. //---------------------------------------------------------------------------
  70. // Globals
  71. //---------------------------------------------------------------------------
  72. extern DATARANGES DataRangesNull;
  73. extern IDENTIFIERS IdentifiersNull;
  74. //---------------------------------------------------------------------------