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.

390 lines
18 KiB

  1. /***************************************************************************
  2. **
  3. ** File: SETUPAPI.H
  4. ** Purpose: Prototypes for the Setup API.
  5. ** Notes:
  6. **
  7. ****************************************************************************/
  8. #ifndef SETUPAPI_H
  9. #define SETUPAPI_H
  10. #define ACME_LOGFILE 1
  11. /* Plenty of macros to make the port to Win32 easier.
  12. * e.g. #define _fmemcmp memcmp
  13. */
  14. #include <windowsx.h>
  15. /* Ignore the following declarators */
  16. #define _based(seg)
  17. #define _loadds
  18. #define __loadds
  19. #define __export
  20. /* Undef CopyFile, which WIN32 defines as CopyFileA, an API */
  21. #undef CopyFile
  22. /*
  23. * In Win32, all the Api's work directly with ANSI buffers, so we no longer
  24. * want to use conversions.
  25. */
  26. #undef OemToAnsi
  27. #undef AnsiToOem
  28. #define OemToAnsi(o,a) lstrcpy(a,o)
  29. #define AnsiToOem(a,o) lstrcpy(o,a)
  30. #ifdef _DEBUG
  31. #define DEBUG
  32. #endif
  33. #ifdef __cplusplus
  34. extern "C" { /* Assume C declarations for C++ */
  35. #endif
  36. /* Private toolkit messages used by ACMSETUP and custom actions */
  37. #define STF_MESSAGE (WM_USER + 0x8000)
  38. #define STF_REINITDIALOG (STF_MESSAGE + 12)
  39. #define STF_ACTIVATEAPP (STF_MESSAGE + 17)
  40. /*
  41. * Setup Error Codes. These are the values passed to the user supplied
  42. * error function.
  43. */
  44. typedef unsigned int SEC; /* Setup Error Code */
  45. typedef SEC * PSEC; /* Ptr to Setup Error Code */
  46. #define secOk ((SEC) 0)
  47. #define secErr ((SEC)1024)
  48. #define secQuit ((SEC)1025)
  49. #define secRestart ((SEC)1026) /* Windows is being restarted */
  50. /*
  51. * Window Visibility Modes - InitSetupToolkit parameter
  52. */
  53. typedef UINT WVM; /* Window Visibility Mode */
  54. #define wvmNormal ((WVM)0)
  55. #define wvmMaximized ((WVM)1)
  56. #define wvmMinimized ((WVM)2)
  57. /*
  58. * CoMmand Option flags
  59. */
  60. typedef UINT CMO; /* CoMmand Option */
  61. #define cmoVital ((CMO)0x1)
  62. #define cmoCopy ((CMO)0x2)
  63. #define cmoUndo ((CMO)0x4)
  64. #define cmoRoot ((CMO)0x8)
  65. #define cmoDecompress ((CMO)0x10)
  66. #define cmoTimeStamp ((CMO)0x20)
  67. #define cmoReadOnly ((CMO)0x40)
  68. #define cmoBackup ((CMO)0x80)
  69. #define cmoForce ((CMO)0x100)
  70. #define cmoRemove ((CMO)0x200)
  71. #define cmoOverwrite ((CMO)0x400)
  72. #define cmoAppend ((CMO)0x800)
  73. #define cmoPrepend ((CMO)0x1000)
  74. #define cmoShared ((CMO)0x2000)
  75. #define cmoSystem ((CMO)0x4000)
  76. /* NOTE oefCabinet in COMSTF.H uses 0x8000 */
  77. #define cmoNone ((CMO)0x0)
  78. #define cmoAll ((CMO)0xffff)
  79. /*
  80. * File Exist Modes - DoesFileExist parameter
  81. * (order is important)
  82. */
  83. typedef UINT FEM; /* File Exist Mode */
  84. #define femExists ((FEM)0)
  85. #define femRead ((FEM)1)
  86. #define femWrite ((FEM)2)
  87. #define femReadWrite ((FEM)3)
  88. #define femMin ((FEM)0)
  89. #define femMax ((FEM)4)
  90. /*
  91. * Size ChecK Modes - SetSizeCheckMode parameter
  92. */
  93. typedef UINT SCKM; /* Size ChecK Mode */
  94. #define sckmOff ((SCKM)0)
  95. #define sckmOnIgnore ((SCKM)1)
  96. #define sckmOnFatal ((SCKM)2)
  97. /*
  98. * Silent Mode - SetSilentMode parameter
  99. */
  100. typedef UINT SM; /* Silent Mode */
  101. #define smNormal ((SM)0x0000)
  102. #define smNoDialogs ((SM)0x0001)
  103. #define smNoCopyGauge ((SM)0x0002)
  104. #define smTotallySilent ((SM) ~(0))
  105. /*
  106. * Current File Version - DoesSharedFileNeedCopying return type
  107. *
  108. * NOTE - order is important - see FIBSECfv(cfv) macro below.
  109. */
  110. typedef enum _CFV /* Current File Version */
  111. {
  112. cfvNoFile,
  113. cfvLoVer,
  114. cfvDiffLang,
  115. cfvEqVer,
  116. cfvHiVer,
  117. cfvUnknown
  118. } CFV;
  119. typedef CFV * PCFV; /* Ptr to Current File Version */
  120. #define FIBSECfv(cfv) (cfv > cfvEqVer)
  121. typedef UINT WMD; /* Windows MoDe */
  122. #define wmdReal 0
  123. #define wmdStandard 1
  124. #define wmdEnhanced 2
  125. #define wmdNT 3
  126. #define wmdUnknown 10
  127. typedef UINT CPU; /* type of Central Processor Unit (or coprocessor) */
  128. #define cpu8086 0
  129. #define cpu80186 1
  130. #define cpu80286 2
  131. #define cpu80386 3
  132. #define cpu80486 4
  133. #define cpuR4000 5 /* for compatibility with CDrivers : Setup 2.0 */
  134. /* Ideally this should have been ifdef'd to > 5 */
  135. #define cpuMin 0
  136. #define cpuMax 5
  137. #define cpuUnknown 20
  138. typedef VOID ( WINAPI *LPFNERROREXIT )( UINT );
  139. #define SETUPAPI WINAPI
  140. #define SZ char *
  141. #define CSZ char * const
  142. #define SZC const char *
  143. #define CSZC const char * const
  144. extern VOID SETUPAPI AddBlankToBillboardList ( LONG lTicks );
  145. extern VOID SETUPAPI AddDos5Help ( SZ szProgName, SZ szProgHelp, CMO cmo );
  146. extern VOID SETUPAPI AddLineToRestartFile ( SZ szLine );
  147. extern VOID SETUPAPI AddListItem ( SZ szSymbol, SZ szItem );
  148. extern VOID SETUPAPI AddSectionFilesToCopyList ( SZ szSect, SZ szSrcDir, SZ szDstDir );
  149. extern VOID SETUPAPI AddSectionKeyFileToCopyList ( SZ szSect, SZ szKey, SZ szSrcDir, SZ szDstDir );
  150. extern VOID SETUPAPI AddSpecialFileToCopyList ( SZ szSect, SZ szKey, SZ szSrcDir, SZ szDstPath );
  151. extern VOID SETUPAPI AddSrcFileWithAttribsToCopyList ( SZ szSect, SZ szKey, SZ szSrcPath, SZ szDstPath );
  152. extern VOID SETUPAPI AddShareToAutoexec ( SZ szSrc, SZ szDst, BOOL fConfig, BOOL fNeedsNewLine, SZ szDefPath, UINT wMinLock, UINT wMinBuf, UINT wMaxLock, UINT wMaxBuf, CMO cmo );
  153. extern VOID SETUPAPI AddToBillboardList ( SZ szDll, UINT idDlg, SZ szProc, LONG lTicks );
  154. extern VOID SETUPAPI BackupFile ( SZ szFullPath, SZ szBackup );
  155. extern UINT SETUPAPI CbGetListItem ( SZ szSym, UINT uiItem, SZ szItem, UINT cbMax );
  156. extern UINT SETUPAPI CbGetSymbolValue ( SZ szSymbol, SZ szValue, UINT cbMax );
  157. extern VOID SETUPAPI ClearBillboardList ( VOID );
  158. extern VOID SETUPAPI ClearCopyList ( VOID );
  159. extern int SETUPAPI CompareFileVersions ( SZ szVer1, SZ szVer2 );
  160. extern VOID SETUPAPI CopyFile ( SZ szFullPathSrc, SZ szFullPathDst, CMO cmo, BOOL fAppend );
  161. extern VOID SETUPAPI CopyFilesInCopyList ( BOOL fDeterrentEnabled );
  162. extern VOID SETUPAPI CreateDir ( SZ szDir, CMO cmo );
  163. extern VOID SETUPAPI CreateIniKeyValue ( CSZC cszcFile, CSZC cszcSect, CSZC cszcKey, CSZC cszcValue, CMO cmo );
  164. extern VOID SETUPAPI CreateProgmanGroup ( SZ szGroup, SZ szPath, CMO cmo );
  165. extern VOID SETUPAPI CreateProgmanItem ( SZ szGroup, SZ szItem, SZ szCmd, SZ szOther, CMO cmo );
  166. extern VOID SETUPAPI CreateSysIniKeyValue ( SZ szFile, SZ szSect, SZ szKey, SZ szValue, CMO cmo );
  167. extern VOID SETUPAPI DebugMessagesOn ( BOOL fMsgOn );
  168. extern VOID SETUPAPI DeleteProgmanGroup ( SZ szGroup, CMO cmo );
  169. extern VOID SETUPAPI DeleteProgmanItem ( SZ szGroup, SZ szItem, CMO cmo, BOOL fDelEmptyGroup );
  170. extern BOOL SETUPAPI DeleteRegKeyValue32 ( HKEY hRootKey, CSZC cszcSubKey, CSZC cszcValueName );
  171. extern int SETUPAPI DoMsgBox ( CSZC cszcText, CSZC cszcCaption, UINT uiType );
  172. extern int SETUPAPI DoMsgBoxProc( CSZC cszcText, CSZC cszcCaption, UINT uiType );
  173. extern BOOL SETUPAPI DoesDirExist ( SZ szDir );
  174. extern BOOL SETUPAPI DoesFileExist ( SZ szFileName, FEM fem );
  175. extern BOOL SETUPAPI DoesInfSectionExist ( SZ szSect );
  176. extern BOOL SETUPAPI DoesInfSectionKeyExist ( SZ szSect, SZ szKey );
  177. extern BOOL SETUPAPI DoesIniKeyExist ( SZ szFile, SZ szSect, SZ szKey );
  178. extern BOOL SETUPAPI DoesIniSectionExist ( SZ szFile, SZ szSect );
  179. extern CFV SETUPAPI DoesSharedFileNeedCopying ( VOID );
  180. extern BOOL SETUPAPI DoesSysIniKeyValueExist ( SZ szFile, SZ szSect, SZ szKey, SZ szValue );
  181. extern VOID SETUPAPI DumpCopyList ( SZ szFile );
  182. extern VOID SETUPAPI EndSetupToolkit ( VOID );
  183. extern BOOL SETUPAPI ExitExecRestart ( VOID );
  184. extern BOOL SETUPAPI FAddLineToRestartFile ( SZ szLine );
  185. extern BOOL SETUPAPI FAddListItem ( SZ szSym, SZ szItem );
  186. extern BOOL SETUPAPI FCloseHelp ( VOID );
  187. extern BOOL SETUPAPI FGetShareParamsFromFile ( CSZC cszcFile, BOOL fConfig, UINT * puiLock, UINT * puiBuf, BOOL * pfAnyShare, SZ szPath, UINT cbBuf );
  188. extern BOOL SETUPAPI FixupWinIniMsappsSection ( VOID );
  189. extern BOOL SETUPAPI FLanguageMismatchInf ( SZ szSection, SZ szKey, SZ szDestPath );
  190. extern BOOL SETUPAPI FLongFileNamesSuppressed ( VOID );
  191. extern BOOL SETUPAPI FOpenLogFile ( CSZC cszcFile, BOOL fAppend );
  192. extern BOOL SETUPAPI FRegCloseKey (HKEY hKey);
  193. extern BOOL SETUPAPI FGetKeyInfo(HKEY hkey,LPDWORD lpcSubKeys,LPDWORD lpcValues);
  194. extern BOOL SETUPAPI FRegCreateKey32(HKEY hRootKey, SZ szRegKey,HKEY* phKey);
  195. extern BOOL SETUPAPI FWriteToLogFile ( CSZC cszc, BOOL fRequireLog );
  196. extern BOOL SETUPAPI FCloseLogFile ( VOID );
  197. extern BOOL SETUPAPI ForceNewDialog ( BOOL fForce );
  198. extern BOOL SETUPAPI HandleOOM ( VOID );
  199. extern UINT SETUPAPI HandleSharedFile ( SZ szInfSect, SZ szInfKey, CSZC cszcRegKey,
  200. CSZC cszcFullPath, HKEY hRegRootKey, SZ szRegDbKey,
  201. SZ szRegValueName, UINT uiRegDbField, SZ szWinIniSect,
  202. SZ szWinIniKey, UINT uiWinIniField, SZ szBuf, UINT cbBufMax);
  203. extern BOOL SETUPAPI FRemoveSymbol ( SZ szSymbol );
  204. extern BOOL SETUPAPI FReplaceListItem ( SZ szSym, UINT uiItem, SZ szItem );
  205. extern BOOL SETUPAPI FSetSymbolValue ( SZ szSymbol, SZ szValue );
  206. extern UINT SETUPAPI FindFileInTree ( SZ szFile, SZ szDir, SZ szBuf, UINT cbBufMax );
  207. extern UINT SETUPAPI FindFileUsingFileOpen ( SZ szFile, SZ szPath, UINT cbPathMax );
  208. extern UINT SETUPAPI FindTargetOnEnvVar ( SZ szFile, SZ szEnvVar, SZ szBuf, UINT cbBufMax );
  209. extern VOID SETUPAPI ForceRestartOn ( VOID );
  210. extern VOID SETUPAPI ForceRestartOff ( VOID );
  211. extern VOID SETUPAPI FreeMemInf ( VOID * pvMemInf );
  212. extern char SETUPAPI GetConfigLastDrive ( VOID );
  213. extern UINT SETUPAPI GetConfigNumBuffers ( VOID );
  214. extern UINT SETUPAPI GetConfigNumFiles ( VOID );
  215. extern UINT SETUPAPI GetConfigRamdriveSize ( VOID );
  216. extern UINT SETUPAPI GetConfigSmartdrvSize ( VOID );
  217. extern LONG SETUPAPI GetCopyListCost ( SZ szExtraList, SZ szCostList, SZ szNeedList );
  218. extern UINT SETUPAPI GetDOSMajorVersion ( VOID );
  219. extern UINT SETUPAPI GetDOSMinorVersion ( VOID );
  220. extern UINT SETUPAPI GetDateOfFile ( SZ szFile, SZ szBuf, UINT cbBufMax );
  221. extern UINT SETUPAPI GetDayFromDate ( SZ szDate );
  222. extern UINT SETUPAPI GetEnvVariableValue ( SZ szEnvVar, SZ szBuf, UINT cbBufMax );
  223. extern UINT SETUPAPI GetExistingFOTFileForTTF ( SZ szFile, SZ szBuf, UINT cbBufMax );
  224. extern LONG SETUPAPI GetFreeSpaceForDrive ( SZ szDrive );
  225. extern UINT SETUPAPI GetHourFromDate ( SZ szDate );
  226. extern UINT SETUPAPI GetIniKeyString ( CSZC cszcFile, CSZC cszcSect, CSZC cszcKey, SZ szBuf, UINT cbBufMax );
  227. extern UINT SETUPAPI GetListItem ( SZ szListSymbol, UINT uiItem, SZ szBuf, UINT cbBufMax );
  228. extern UINT SETUPAPI GetListLength ( SZ szSymbol );
  229. extern VOID SETUPAPI GetLocalHardDrivesList ( SZ szSymbol );
  230. extern WORD SETUPAPI GetLocalLanguage ( VOID );
  231. extern UINT SETUPAPI GetMinuteFromDate ( SZ szDate );
  232. extern UINT SETUPAPI GetMonthFromDate ( SZ szDate );
  233. extern VOID SETUPAPI GetNetworkDrivesList ( SZ szSymbol );
  234. extern UINT SETUPAPI GetNthFieldFromIniString ( SZ szLine, UINT uiField, SZ szBuf, UINT cbBufMax );
  235. extern UINT SETUPAPI GetNumWinApps ( VOID );
  236. extern VOID SETUPAPI GetParallelPortsList ( SZ szSymbol );
  237. extern UINT SETUPAPI GetProcessorType ( VOID );
  238. extern UINT SETUPAPI GetRegKeyValue32 ( HKEY hRootKey, CSZC cszcSubKey, CSZC cszcValueName, PDWORD pdwType, PBYTE pbData, UINT cbData );
  239. extern VOID SETUPAPI GetRemovableDrivesList ( SZ szSymbol );
  240. extern int SETUPAPI GetScreenHeight ( VOID );
  241. extern int SETUPAPI GetScreenWidth ( VOID );
  242. extern UINT SETUPAPI GetSecondFromDate ( SZ szDate );
  243. extern UINT SETUPAPI GetSectionKeyDate ( SZ szSect, SZ szKey, SZ szBuf, UINT cbBufMax );
  244. extern UINT SETUPAPI GetSectionKeyFilename ( SZ szSect, SZ szKey, SZ szBuf, UINT cbBufMax );
  245. extern LONG SETUPAPI GetSectionKeySize ( SZ szSect, SZ szKey );
  246. extern UINT SETUPAPI GetSectionKeyVersion ( SZ szSect, SZ szKey, SZ szBuf, UINT cbBufMax );
  247. extern VOID SETUPAPI GetSerialPortsList ( SZ szSymbol );
  248. extern SM SETUPAPI GetSilentMode ( VOID );
  249. extern LONG SETUPAPI GetSizeOfFile ( SZ szFile );
  250. extern UINT SETUPAPI GetSymbolValue ( SZ szSymbol, SZ szBuf, UINT cbBufMax );
  251. extern LONG SETUPAPI GetTotalSpaceForDrive ( SZ szDrive );
  252. extern UINT SETUPAPI GetTypeFaceNameFromTTF ( SZ szFile, SZ szBuf, UINT cbBufMax );
  253. extern VOID SETUPAPI GetValidDrivesList ( SZ szSymbol );
  254. extern LONG SETUPAPI GetVersionNthField ( SZ szVersion, UINT uiField );
  255. extern UINT SETUPAPI GetVersionOfFile ( SZ szFile, SZ szBuf, UINT cbBufMax );
  256. extern UINT SETUPAPI GetWindowsDirPath ( SZ szBuf, UINT cbBufMax );
  257. extern UINT SETUPAPI GetWindowsMajorVersion ( VOID );
  258. extern UINT SETUPAPI GetWindowsMinorVersion ( VOID );
  259. extern UINT SETUPAPI GetWindowsMode ( VOID );
  260. extern UINT SETUPAPI GetWindowsSysDir ( SZ szBuf, UINT cbBufMax );
  261. extern UINT SETUPAPI GetYearFromDate ( SZ szDate );
  262. extern BOOL SETUPAPI Has87MathChip ( VOID );
  263. extern BOOL SETUPAPI HasMonochromeDisplay ( VOID );
  264. extern BOOL SETUPAPI HasMouseInstalled ( VOID );
  265. extern HWND SETUPAPI HdlgShowHelp (UINT uiMsg, WPARAM wParam, LPARAM lParam);
  266. extern HINSTANCE SETUPAPI HinstFrame ( VOID );
  267. extern HWND SETUPAPI HwndFrame ( VOID );
  268. extern VOID SETUPAPI InitLongFileNames ( VOID );
  269. extern UINT SETUPAPI InitSetupToolkit ( SZ szCmdLine, WVM wvmVisibilityMode, BOOL fUseRegDb, LPFNERROREXIT lpfnErrorExit );
  270. extern BOOL SETUPAPI IsCtl3dEnabled ( VOID );
  271. extern BOOL SETUPAPI IsDirWritable ( SZ szDir );
  272. extern BOOL SETUPAPI IsDriveLocalHard ( SZ szDrive );
  273. extern BOOL SETUPAPI IsDriveNetwork ( SZ szDrive );
  274. extern BOOL SETUPAPI IsDriveRemovable ( SZ szDrive );
  275. extern BOOL SETUPAPI IsDriveValid ( SZ szDrive );
  276. extern BOOL SETUPAPI IsDriverInConfig ( SZ szDrv );
  277. extern BOOL SETUPAPI IsFileInUseBySystem ( SZ szFullPath );
  278. extern BOOL SETUPAPI IsFileWritable ( SZ szFile );
  279. extern BOOL SETUPAPI IsValidPath ( SZC szcPath );
  280. extern BOOL SETUPAPI IsWindowsShared ( VOID );
  281. extern VOID SETUPAPI MakeListFromProgmanGroups ( SZ szSymbol );
  282. extern VOID SETUPAPI MakeListFromSectionDate ( SZ szSym, SZ szSect );
  283. extern VOID SETUPAPI MakeListFromSectionFilename ( SZ szSym, SZ szSect );
  284. extern VOID SETUPAPI MakeListFromSectionKeys ( SZ szSymbol, SZ szSect );
  285. extern VOID SETUPAPI MakeListFromSectionSize ( SZ szSym, SZ szSect );
  286. extern VOID SETUPAPI MakeListFromSectionVersion ( SZ szSym, SZ szSect );
  287. extern VOID SETUPAPI PrependToPath ( SZ szSrc, SZ szDst, SZ szDir, CMO cmo );
  288. extern VOID * SETUPAPI PVSaveMemInf ( VOID );
  289. extern VOID SETUPAPI ReactivateSetupScript ( VOID );
  290. extern VOID SETUPAPI ReadInfFile ( SZ szFile );
  291. extern VOID SETUPAPI RemoveDir ( SZ szDir, CMO cmo );
  292. extern VOID SETUPAPI RemoveFile ( SZ szFullPathSrc, CMO cmo );
  293. extern VOID SETUPAPI RemoveIniKey ( CSZC cszcFile, CSZC cszcSect, CSZC cszcKey, CMO cmo );
  294. extern VOID SETUPAPI RemoveIniSection ( CSZC cszcFile, CSZC cszcSect, CMO cmo );
  295. extern VOID SETUPAPI RemoveSectionFilesToCopyList ( SZ szSect, SZ szDstDir );
  296. extern VOID SETUPAPI RemoveSectionKeyFileToCopyList ( SZ szSect, SZ szKey, SZ szDstDir );
  297. extern VOID SETUPAPI RemoveSpecialFileToCopyList ( SZ szSect, SZ szKey, SZ szDstPath );
  298. extern VOID SETUPAPI RemoveSymbol ( SZ szSym );
  299. extern VOID SETUPAPI RenameFile ( SZ szFullPath, SZ szBackup );
  300. extern VOID SETUPAPI ReplaceListItem ( SZ szSymbol, UINT uiItem, SZ szItem );
  301. extern BOOL SETUPAPI RestartListEmpty ( VOID );
  302. extern VOID SETUPAPI RestoreCursor ( HCURSOR hcursorPrev );
  303. extern VOID SETUPAPI RestoreMemInf ( VOID * pvMemInf );
  304. extern VOID * SETUPAPI SaveMemInf ( VOID );
  305. extern UINT SETUPAPI SearchForLocationForSharedFile ( HKEY hRegRootKey,
  306. SZ szRegDbKey, SZ szRegValueName, UINT uiRegDbField,
  307. SZ szWinIniSect, SZ szWinIniKey, UINT uiWinIniField,
  308. SZ szDefSharedPath, SZ szVersion, SZ szLangSrc,
  309. SZ szBuf, UINT cbBufMax );
  310. extern VOID SETUPAPI SetAbout ( SZ szAbout1, SZ szAbout2 );
  311. extern BOOL SETUPAPI SetBeepingMode ( BOOL fMode );
  312. extern VOID SETUPAPI SetBitmap ( SZ szDll, UINT idBitmap );
  313. extern VOID SETUPAPI SetCopyGaugePosition ( int x, int y );
  314. extern BOOL SETUPAPI SetCopyMode ( BOOL fMode );
  315. extern BOOL SETUPAPI SetDecompMode ( BOOL fMode );
  316. extern BOOL SETUPAPI SetRegKeyValue32 ( HKEY hRootKey, CSZC cszcSubKey, CSZC cszcValueName, DWORD fdwType, CONST BYTE* lpbData, DWORD cbData );
  317. extern BOOL SETUPAPI SetRegKeyValue32Ex (HKEY hKey,HKEY hRootKey, CSZC cszcRegKey, CSZC cszcValueName, DWORD fdwType,CONST BYTE* lpbData, DWORD cbData,BOOL fClose );
  318. extern BOOL SETUPAPI GetRegKeyValue32Ex (HKEY hKey,CSZC cszcValueName, PDWORD pdwType,PBYTE pbData, UINT cbData, BOOL fClose );
  319. extern VOID SETUPAPI SetRestartDir ( SZ szDir );
  320. extern SM SETUPAPI SetSilentMode ( SM smSilentMode );
  321. extern UINT SETUPAPI SetSizeCheckMode ( SCKM sckmMode );
  322. extern VOID SETUPAPI SetSymbolValue ( SZ szSymbol, SZ szValue );
  323. extern BOOL SETUPAPI SetTimeValue ( UINT uiHours, UINT uiMinutes, UINT uiSeconds );
  324. extern VOID SETUPAPI SetTitle ( SZ sz );
  325. extern VOID SETUPAPI ShowProgmanGroup ( SZ szGroup, UINT Cmd, CMO cmo );
  326. extern HCURSOR SETUPAPI ShowWaitCursor ( VOID );
  327. extern VOID SETUPAPI StampResource ( SZ szFilePath, UINT uiResType, UINT uiResId, SZ szData, UINT cbData, BOOL fNotCopied );
  328. extern VOID SETUPAPI SuppressLongFileNames ( VOID );
  329. extern VOID SETUPAPI UIPop ( UINT cDlgs );
  330. extern VOID SETUPAPI UIPopAll ( VOID );
  331. extern UINT SETUPAPI UIStartDlg ( SZ szDll, UINT Dlg, SZ szDlgProc, UINT HelpDlg, SZ szHelpProc, SZ szBuf, UINT cbBufMax );
  332. extern UINT SETUPAPI UIStartExeDlg ( HINSTANCE hinstExe, UINT Dlg, FARPROC lpfnDlgProc, UINT HelpDlg, FARPROC lpfnHelpProc, SZ szBuf, UINT cbBufMax );
  333. extern UINT SETUPAPI UIStartExeDlgWinHelp ( HINSTANCE hinstExe, UINT Dlg, FARPROC lpfnDlgProc, SZ szFile, DWORD* rgdwHelpID, SZ szBuf, UINT cbBufMax );
  334. extern UINT SETUPAPI UsGetListLength ( SZ szSym );
  335. extern VOID SETUPAPI WriteLogDivider ( VOID );
  336. extern UINT SETUPAPI EnsurePathExists( SZ szFullPathDst );
  337. extern BOOL SETUPAPI FRemoveOurDir ( SZ szFullPath, BOOL fStrip );
  338. #if defined(UI_HOOK)
  339. extern HMODULE SETUPAPI HmodUIHookDll(VOID);
  340. #endif /* UI_HOOK */
  341. #undef SZ
  342. #undef CSZ
  343. #undef SZC
  344. #undef CSZC
  345. #ifdef __cplusplus
  346. } /* End of extern "C" { */
  347. #endif
  348. #endif /* SETUPAPI_H */