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.

219 lines
4.3 KiB

  1. /*++
  2. Copyright (c) 2000 Microsoft Corporation
  3. Module Name:
  4. wsdu.h
  5. Abstract:
  6. Interface to a Dynamic Update support control for Winnt32.
  7. Author:
  8. Ovidiu Temereanca (ovidiut) 06-Jul-2000
  9. Revision History:
  10. <alias> <date> <comment>
  11. --*/
  12. BOOL
  13. WINAPI
  14. DuIsSupported (
  15. VOID
  16. );
  17. typedef
  18. BOOL
  19. (WINAPI* PDUISSUPPORTED) (
  20. VOID
  21. );
  22. #define SETUPQUERYID_PNPID 1
  23. typedef struct {
  24. BOOL Handled;
  25. BOOL Unsupported;
  26. } PNPID_INFO, *PPNPID_INFO;
  27. #define SETUPQUERYID_DOWNLOADDRIVER 2
  28. // Dynamic Update Custom Error Codes
  29. #define DU_ERROR_MISSING_DLL 12001L
  30. #define DU_NOT_INITIALIZED 12002L
  31. #define DU_ERROR_ASYNC_FAIL 12003L
  32. typedef BOOL (WINAPI* PWINNT32QUERY) (
  33. IN DWORD SetupQueryId,
  34. IN PVOID InData,
  35. IN DWORD InDataSize,
  36. IN OUT PVOID OutData, OPTIONAL
  37. IN OUT PDWORD OutDataSize
  38. );
  39. HANDLE
  40. WINAPI
  41. DuInitializeA (
  42. IN PCSTR BaseDir,
  43. IN PCSTR TempDir,
  44. IN POSVERSIONINFOEXA TargetOsVersion,
  45. IN PCSTR TargetPlatform, // "i386", "ia64"
  46. IN LCID TargetLCID,
  47. IN BOOL Unattend,
  48. IN BOOL Upgrade,
  49. IN PWINNT32QUERY Winnt32QueryCallback
  50. );
  51. typedef
  52. HANDLE
  53. (WINAPI* PDUINITIALIZEA) (
  54. IN PCSTR BaseDir,
  55. IN PCSTR TempDir,
  56. IN POSVERSIONINFOEXA TargetOsVersion,
  57. IN PCSTR TargetPlatform, // "i386", "ia64"
  58. IN LCID TargetLCID,
  59. IN BOOL Unattend,
  60. IN BOOL Upgrade,
  61. IN PWINNT32QUERY Winnt32QueryCallback
  62. );
  63. HANDLE
  64. WINAPI
  65. DuInitializeW (
  66. IN PCWSTR BaseDir,
  67. IN PCWSTR TempDir,
  68. IN POSVERSIONINFOEXW TargetOsVersion,
  69. IN PCWSTR TargetPlatform, // "i386", "ia64"
  70. IN LCID TargetLCID,
  71. IN BOOL Unattend,
  72. IN BOOL Upgrade,
  73. IN PWINNT32QUERY Winnt32QueryCallback
  74. );
  75. typedef
  76. HANDLE
  77. (WINAPI* PDUINITIALIZEW) (
  78. IN PCWSTR BaseDir,
  79. IN PCWSTR TempDir,
  80. IN POSVERSIONINFOEXW TargetOsVersion,
  81. IN PCWSTR TargetPlatform, // "i386", "ia64"
  82. IN LCID TargetLCID,
  83. IN BOOL Unattend,
  84. IN BOOL Upgrade,
  85. IN PWINNT32QUERY Winnt32QueryCallback
  86. );
  87. #ifdef UNICODE
  88. #define DuInitialize DuInitializeW
  89. #define PDUINITIALIZE PDUINITIALIZEW
  90. #else
  91. #define DuInitialize DuInitializeA
  92. #define PDUINITIALIZE PDUINITIALIZEA
  93. #endif
  94. BOOL
  95. WINAPI
  96. DuDoDetection (
  97. IN HANDLE hConnection,
  98. OUT PDWORD TotalEstimatedTime,
  99. OUT PDWORD TotalEstimatedSize
  100. );
  101. typedef
  102. BOOL
  103. (WINAPI* PDUDODETECTION) (
  104. IN HANDLE hConnection,
  105. OUT PDWORD TotalEstimatedTime,
  106. OUT PDWORD TotalEstimatedSize
  107. );
  108. BOOL
  109. WINAPI
  110. DuQueryUnsupportedDriversA (
  111. IN HANDLE hConnection,
  112. IN PCSTR* ListOfUnsupportedDrivers,
  113. OUT PDWORD TotalEstimatedTime,
  114. OUT PDWORD TotalEstimatedSize
  115. );
  116. typedef
  117. BOOL
  118. (WINAPI* PDUQUERYUNSUPDRVSA) (
  119. IN HANDLE hConnection,
  120. IN PCSTR* ListOfUnsupportedDrivers,
  121. OUT PDWORD TotalEstimatedTime,
  122. OUT PDWORD TotalEstimatedSize
  123. );
  124. BOOL
  125. WINAPI
  126. DuQueryUnsupportedDriversW (
  127. IN HANDLE hConnection,
  128. IN PCWSTR* ListOfUnsupportedDrivers,
  129. OUT PDWORD TotalEstimatedTime,
  130. OUT PDWORD TotalEstimatedSize
  131. );
  132. typedef
  133. BOOL
  134. (WINAPI* PDUQUERYUNSUPDRVSW) (
  135. IN HANDLE hConnection,
  136. IN PCWSTR* ListOfUnsupportedDrivers,
  137. OUT PDWORD TotalEstimatedTime,
  138. OUT PDWORD TotalEstimatedSize
  139. );
  140. #ifdef UNICODE
  141. #define DuQueryUnsupportedDrivers DuQueryUnsupportedDriversW
  142. #define PDUQUERYUNSUPDRVS PDUQUERYUNSUPDRVSW
  143. #else
  144. #define DuQueryUnsupportedDrivers DuQueryUnsupportedDriversA
  145. #define PDUQUERYUNSUPDRVS PDUQUERYUNSUPDRVSA
  146. #endif
  147. BOOL
  148. WINAPI
  149. DuBeginDownload (
  150. IN HANDLE hConnection,
  151. IN HWND hwndNotify
  152. );
  153. typedef
  154. BOOL
  155. (WINAPI* PDUBEGINDOWNLOAD) (
  156. IN HANDLE hConnection,
  157. IN HWND hwndNotify
  158. );
  159. VOID
  160. WINAPI
  161. DuAbortDownload (
  162. IN HANDLE hConnection
  163. );
  164. typedef
  165. VOID
  166. (WINAPI* PDUABORTDOWNLOAD) (
  167. IN HANDLE hConnection
  168. );
  169. DWORD
  170. WINAPI
  171. DuUninitialize (
  172. IN HANDLE hConnection
  173. );
  174. typedef
  175. DWORD
  176. (WINAPI* PDUUNINITIALIZE) (
  177. IN HANDLE hConnection
  178. );