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.

173 lines
4.0 KiB

  1. //=================================================================
  2. //
  3. // IRQDesc.cpp
  4. //
  5. // Copyright (c) 1997-2001 Microsoft Corporation, All Rights Reserved
  6. //
  7. //
  8. // History: 10/15/97 Sanj Created by Sanj
  9. // 10/17/97 jennymc Moved things a tiny bit
  10. //
  11. /////////////////////////////////////////////////////////////////////////
  12. #include "precomp.h"
  13. #include <assertbreak.h>
  14. #include "refptr.h"
  15. #include "poormansresource.h"
  16. #include "resourcedesc.h"
  17. #include "irqdesc.h"
  18. ////////////////////////////////////////////////////////////////////////
  19. //
  20. // Function: CIRQDescriptor::CIRQDescriptor
  21. //
  22. // Class Constructor.
  23. //
  24. // Inputs: PPOORMAN_RESDESC_HDR pResDescHdr - Resource Descriptor
  25. // header used to get resource info
  26. // plus the raw bytes following.
  27. // CConfigMgrDevice* pOwnerDevice - Pointer to the
  28. // owner config manager device.
  29. //
  30. // Outputs: None.
  31. //
  32. // Return: None.
  33. //
  34. // Comments: None.
  35. //
  36. ////////////////////////////////////////////////////////////////////////
  37. CIRQDescriptor::CIRQDescriptor( PPOORMAN_RESDESC_HDR pResDescHdr,
  38. CConfigMgrDevice* pOwnerDevice )
  39. : CResourceDescriptor( pResDescHdr, pOwnerDevice )
  40. {
  41. }
  42. ////////////////////////////////////////////////////////////////////////
  43. //
  44. // Function: CIRQDescriptor::CIRQDescriptor
  45. //
  46. // Class Constructor.
  47. //
  48. // Inputs: DWORD dwResourceId - Resource Id with flags
  49. // IRQ_DES irqDes - IRQ Descriptor.
  50. // CConfigMgrDevice* pOwnerDevice - Pointer to the
  51. // owner config manager device.
  52. //
  53. // Outputs: None.
  54. //
  55. // Return: None.
  56. //
  57. // Comments: None.
  58. //
  59. ////////////////////////////////////////////////////////////////////////
  60. CIRQDescriptor::CIRQDescriptor( DWORD dwResourceId,
  61. IRQ_DES& irqDes,
  62. CConfigMgrDevice* pOwnerDevice )
  63. : CResourceDescriptor( dwResourceId, &irqDes, sizeof(IRQ_DES), pOwnerDevice )
  64. {
  65. ASSERT_BREAK( ResType_IRQ == GetResourceType() );
  66. }
  67. // Copy Constructor
  68. CIRQDescriptor::CIRQDescriptor( const CIRQDescriptor& irq )
  69. : CResourceDescriptor( irq )
  70. {
  71. }
  72. ////////////////////////////////////////////////////////////////////////
  73. //
  74. // Function: CIRQDescriptor::~CIRQDescriptor
  75. //
  76. // Class Destructor.
  77. //
  78. // Inputs: None.
  79. //
  80. // Outputs: None.
  81. //
  82. // Return: None.
  83. //
  84. // Comments: None.
  85. //
  86. ////////////////////////////////////////////////////////////////////////
  87. CIRQDescriptor::~CIRQDescriptor( void )
  88. {
  89. }
  90. ////////////////////////////////////////////////////////////////////////
  91. //
  92. // Function: CIRQDescriptor::GetResource()
  93. //
  94. // Returns a string representation of the associated IRQ Number.
  95. //
  96. // Inputs: None.
  97. //
  98. // Outputs: CHString& str - Storage for string.
  99. //
  100. // Return: TRUE/FALSE Function successful or not.
  101. //
  102. // Comments: Do NOT call down to the base class.
  103. //
  104. ////////////////////////////////////////////////////////////////////////
  105. void *CIRQDescriptor::GetResource()
  106. {
  107. if ( NULL != m_pbResourceDescriptor )
  108. {
  109. // Traverse an IRQ Resource Descriptor and place it's IRQ valuestring
  110. PIRQ_DES pIRQ = (PIRQ_DES) m_pbResourceDescriptor;
  111. return pIRQ;
  112. }
  113. return NULL;
  114. }
  115. //
  116. // Constructor and Destructor for the IRQ Descriptor Collection
  117. // object.
  118. //
  119. ////////////////////////////////////////////////////////////////////////
  120. //
  121. // Function: CIRQCollection::CIRQCollection
  122. //
  123. // Class Constructor.
  124. //
  125. // Inputs: None.
  126. //
  127. // Outputs: None.
  128. //
  129. // Return: None.
  130. //
  131. // Comments: None.
  132. //
  133. ////////////////////////////////////////////////////////////////////////
  134. CIRQCollection::CIRQCollection( void )
  135. {
  136. }
  137. ////////////////////////////////////////////////////////////////////////
  138. //
  139. // Function: CIRQCollection::~CIRQCollection
  140. //
  141. // Class Destructor.
  142. //
  143. // Inputs: None.
  144. //
  145. // Outputs: None.
  146. //
  147. // Return: None.
  148. //
  149. // Comments: None.
  150. //
  151. ////////////////////////////////////////////////////////////////////////
  152. CIRQCollection::~CIRQCollection( void )
  153. {
  154. }