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.

171 lines
4.0 KiB

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