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.

150 lines
2.3 KiB

  1. /*++
  2. Copyright (c) 2000 Microsoft Corporation
  3. Module Name:
  4. hwdbp.h
  5. Abstract:
  6. Module's private definitions.
  7. Author:
  8. Ovidiu Temereanca (ovidiut) 11-Jul-2000 Initial implementation
  9. Revision History:
  10. --*/
  11. typedef struct {
  12. HASHTABLE InfFileTable;
  13. HASHTABLE PnpIdTable;
  14. HASHTABLE UnsupPnpIdTable;
  15. DWORD Checksum;
  16. } HWDB, *PHWDB;
  17. BOOL
  18. HwdbpInitialize (
  19. IN PCSTR TempDir
  20. );
  21. VOID
  22. HwdbpTerminate (
  23. VOID
  24. );
  25. PHWDB
  26. HwdbpOpen (
  27. IN PCSTR DatabaseFile
  28. );
  29. BOOL
  30. HwdbpClose (
  31. IN HANDLE Hwdb
  32. );
  33. BOOL
  34. HwdbpAppendInfs (
  35. IN HANDLE Hwdb,
  36. IN PCSTR SourceDirectory,
  37. IN HWDBAPPENDINFSCALLBACKA Callback, OPTIONAL
  38. IN PVOID CallbackContext, OPTIONAL
  39. IN BOOL CallbackIsUnicode
  40. );
  41. BOOL
  42. HwdbpAppendDatabase (
  43. IN HANDLE HwdbTarget,
  44. IN HANDLE HwdbSource
  45. );
  46. BOOL
  47. HwdbpFlush (
  48. IN HANDLE Hwdb,
  49. IN PCSTR OutputFile
  50. );
  51. BOOL
  52. HwdbpHasDriver (
  53. IN HANDLE Hwdb,
  54. IN PCSTR PnpId,
  55. OUT PBOOL Unsupported
  56. );
  57. BOOL
  58. HwdbpHasAnyDriver (
  59. IN HANDLE Hwdb,
  60. IN PCSTR PnpIds,
  61. OUT PBOOL Unsupported
  62. );
  63. BOOL
  64. HwpAddPnpIdsInInf (
  65. IN PCSTR InfPath,
  66. IN OUT PHWDB Hwdb,
  67. IN PCSTR SourceDirectory,
  68. IN PCSTR InfFilename,
  69. IN HWDBAPPENDINFSCALLBACKA Callback, OPTIONAL
  70. IN PVOID CallbackContext, OPTIONAL
  71. IN BOOL CallbackIsUnicode
  72. );
  73. #if 0
  74. BOOL
  75. HwdbpEnumeratePnpIdA (
  76. IN PHWDB Hwdb,
  77. IN PHWDBENUM_CALLBACKA EnumCallback,
  78. IN PVOID UserContext
  79. );
  80. BOOL
  81. HwdbpEnumeratePnpIdW (
  82. IN PHWDB Hwdb,
  83. IN PHWDBENUM_CALLBACKW EnumCallback,
  84. IN PVOID UserContext
  85. );
  86. #endif
  87. typedef struct {
  88. HANDLE File;
  89. GROWBUFFER GrowBuf;
  90. } HWDBINF_ENUM_INTERNAL, *PHWDBINF_ENUM_INTERNAL;
  91. BOOL
  92. HwdbpEnumFirstInfA (
  93. OUT PHWDBINF_ENUMA EnumPtr,
  94. IN PCSTR DatabaseFile
  95. );
  96. BOOL
  97. HwdbpEnumFirstInfW (
  98. OUT PHWDBINF_ENUMW EnumPtr,
  99. IN PCSTR DatabaseFile
  100. );
  101. BOOL
  102. HwdbpEnumNextInfA (
  103. IN OUT PHWDBINF_ENUMA EnumPtr
  104. );
  105. BOOL
  106. HwdbpEnumNextInfW (
  107. IN OUT PHWDBINF_ENUMW EnumPtr
  108. );
  109. VOID
  110. HwdbpAbortEnumInfA (
  111. IN OUT PHWDBINF_ENUMA EnumPtr
  112. );
  113. VOID
  114. HwdbpAbortEnumInfW (
  115. IN OUT PHWDBINF_ENUMW EnumPtr
  116. );