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.

181 lines
2.6 KiB

  1. /*++
  2. Copyright (c) 1993 Microsoft Corporation
  3. Module Name:
  4. regiodls.hxx
  5. Abstract:
  6. This module contains the declarations for the IO_DESCRIPTOR_LIST
  7. class. This class models models an IO_RESOURCE_LIST structure,
  8. used on registry data of type REG_RESOURCE_REQUIREMENTS_LIST.
  9. Author:
  10. Jaime Sasson (jaimes) 01-Dec-1993
  11. Environment:
  12. ULIB, User Mode
  13. --*/
  14. #if !defined( _IO_DESCRIPTOR_LIST_ )
  15. #define _IO_DESCRIPTOR_LIST_
  16. // don't let ntdddisk.h (included in ulib.hxx")
  17. // redefine values
  18. #define _NTDDDISK_H_
  19. #include "ulib.hxx"
  20. #include "array.hxx"
  21. DECLARE_CLASS( IO_DESCRIPTOR_LIST );
  22. class IO_DESCRIPTOR_LIST : public OBJECT {
  23. public:
  24. DECLARE_CONSTRUCTOR( IO_DESCRIPTOR_LIST );
  25. VIRTUAL
  26. ~IO_DESCRIPTOR_LIST(
  27. );
  28. NONVIRTUAL
  29. BOOLEAN
  30. Initialize(
  31. IN PCBYTE Data,
  32. IN ULONG DataSize,
  33. OUT PULONG ListSize DEFAULT NULL
  34. );
  35. NONVIRTUAL
  36. USHORT
  37. GetVersion(
  38. ) CONST;
  39. NONVIRTUAL
  40. USHORT
  41. GetRevision(
  42. ) CONST;
  43. NONVIRTUAL
  44. PARRAY
  45. GetDescriptorsList(
  46. ) CONST;
  47. #if DBG
  48. NONVIRTUAL
  49. VOID
  50. DbgDumpObject(
  51. );
  52. #endif
  53. private:
  54. NONVIRTUAL
  55. VOID
  56. Construct(
  57. );
  58. NONVIRTUAL
  59. VOID
  60. Destroy(
  61. );
  62. USHORT _Version;
  63. USHORT _Revision;
  64. PARRAY _DescriptorsList;
  65. };
  66. INLINE
  67. USHORT
  68. IO_DESCRIPTOR_LIST::GetVersion(
  69. ) CONST
  70. /*++
  71. Routine Description:
  72. Return the version of the resource list.
  73. Arguments:
  74. None.
  75. Return Value:
  76. USHORT - Returns the version of the resource list
  77. --*/
  78. {
  79. return( _Version );
  80. }
  81. INLINE
  82. USHORT
  83. IO_DESCRIPTOR_LIST::GetRevision(
  84. ) CONST
  85. /*++
  86. Routine Description:
  87. Return the revision of the resource list.
  88. Arguments:
  89. None.
  90. Return Value:
  91. USHORT - Returns the revisin of the resource list
  92. --*/
  93. {
  94. return( _Revision );
  95. }
  96. INLINE
  97. PARRAY
  98. IO_DESCRIPTOR_LIST::GetDescriptorsList(
  99. ) CONST
  100. /*++
  101. Routine Description:
  102. Return a pointer to the array that contains the resource
  103. descriptors.
  104. Arguments:
  105. None.
  106. Return Value:
  107. PARRAY - Pointer to the array that contains the resource descriptors.
  108. --*/
  109. {
  110. return( _DescriptorsList );
  111. }
  112. #endif // _IO_DESCRIPTOR_LIST_