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.

807 lines
20 KiB

  1. //
  2. // this file will initially be parsed by c-preprocessor
  3. //
  4. // "SPAPIP" is defined for the private library
  5. // "ANSI_SETUPAPI" will be defined for the special ANSI variants (see relevent "sources")
  6. //
  7. #ifdef SPAPIP
  8. #define INTERNAL // allow linking of internal API's
  9. #else //SPAPIP
  10. #define INTERNAL PRIVATE // do not allow (compile time) linking of internal API's
  11. #endif //SPAPIP
  12. #ifndef EXPNAME
  13. #define EXPNAME "SETUPAPI"
  14. #endif //EXPNAME
  15. LIBRARY EXPNAME
  16. EXPORTS
  17. ;----- cfgmgr32 -----
  18. ; hw tree traveral routines
  19. ;
  20. ; not exported in ANSI variants
  21. ;
  22. #ifndef ANSI_SETUPAPI
  23. CM_Locate_DevNodeA
  24. CM_Locate_DevNodeW
  25. CM_Locate_DevNode_ExA
  26. CM_Locate_DevNode_ExW
  27. CM_Get_Child
  28. CM_Get_Child_Ex
  29. CM_Get_Sibling
  30. CM_Get_Sibling_Ex
  31. CM_Get_Parent
  32. CM_Get_Parent_Ex
  33. CM_Get_Device_IDA
  34. CM_Get_Device_IDW
  35. CM_Get_Device_ID_ExA
  36. CM_Get_Device_ID_ExW
  37. CM_Get_Device_ID_Size
  38. CM_Get_Device_ID_Size_Ex
  39. CM_Enumerate_EnumeratorsA
  40. CM_Enumerate_EnumeratorsW
  41. CM_Enumerate_Enumerators_ExA
  42. CM_Enumerate_Enumerators_ExW
  43. CM_Get_Device_ID_ListA
  44. CM_Get_Device_ID_ListW
  45. CM_Get_Device_ID_List_ExA
  46. CM_Get_Device_ID_List_ExW
  47. CM_Get_Device_ID_List_SizeA
  48. CM_Get_Device_ID_List_SizeW
  49. CM_Get_Device_ID_List_Size_ExA
  50. CM_Get_Device_ID_List_Size_ExW
  51. CM_Get_Depth
  52. CM_Get_Depth_Ex
  53. ; registry property routines
  54. CM_Get_DevNode_Registry_PropertyA
  55. CM_Get_DevNode_Registry_PropertyW
  56. CM_Get_DevNode_Registry_Property_ExA
  57. CM_Get_DevNode_Registry_Property_ExW
  58. CM_Set_DevNode_Registry_PropertyA
  59. CM_Set_DevNode_Registry_PropertyW
  60. CM_Set_DevNode_Registry_Property_ExA
  61. CM_Set_DevNode_Registry_Property_ExW
  62. CM_Get_Class_Registry_PropertyA
  63. CM_Get_Class_Registry_PropertyW
  64. CM_Set_Class_Registry_PropertyA
  65. CM_Set_Class_Registry_PropertyW
  66. CM_Open_DevNode_Key
  67. CM_Open_DevNode_Key_Ex
  68. CM_Delete_DevNode_Key
  69. CM_Delete_DevNode_Key_Ex
  70. CM_Open_Class_KeyA
  71. CM_Open_Class_KeyW
  72. CM_Open_Class_Key_ExA
  73. CM_Open_Class_Key_ExW
  74. CM_Enumerate_Classes
  75. CM_Enumerate_Classes_Ex
  76. CM_Get_Class_NameA
  77. CM_Get_Class_NameW
  78. CM_Get_Class_Name_ExA
  79. CM_Get_Class_Name_ExW
  80. CM_Get_Class_Key_NameA
  81. CM_Get_Class_Key_NameW
  82. CM_Get_Class_Key_Name_ExA
  83. CM_Get_Class_Key_Name_ExW
  84. CM_Delete_Class_Key
  85. CM_Delete_Class_Key_Ex
  86. CM_Get_Device_Interface_ListA
  87. CM_Get_Device_Interface_ListW
  88. CM_Get_Device_Interface_List_ExA
  89. CM_Get_Device_Interface_List_ExW
  90. CM_Get_Device_Interface_List_SizeA
  91. CM_Get_Device_Interface_List_SizeW
  92. CM_Get_Device_Interface_List_Size_ExA
  93. CM_Get_Device_Interface_List_Size_ExW
  94. CM_Register_Device_InterfaceA
  95. CM_Register_Device_InterfaceW
  96. CM_Register_Device_Interface_ExA
  97. CM_Register_Device_Interface_ExW
  98. CM_Unregister_Device_InterfaceA
  99. CM_Unregister_Device_InterfaceW
  100. CM_Unregister_Device_Interface_ExA
  101. CM_Unregister_Device_Interface_ExW
  102. CM_Get_Device_Interface_AliasA
  103. CM_Get_Device_Interface_AliasW
  104. CM_Get_Device_Interface_Alias_ExA
  105. CM_Get_Device_Interface_Alias_ExW
  106. CM_Get_DevNode_Custom_PropertyA
  107. CM_Get_DevNode_Custom_PropertyW
  108. CM_Get_DevNode_Custom_Property_ExA
  109. CM_Get_DevNode_Custom_Property_ExW
  110. ; routines that operate on devnodes/devinsts
  111. CM_Add_IDA
  112. CM_Add_IDW
  113. CM_Add_ID_ExA
  114. CM_Add_ID_ExW
  115. CM_Create_DevNodeA
  116. CM_Create_DevNodeW
  117. CM_Create_DevNode_ExA
  118. CM_Create_DevNode_ExW
  119. CM_Disable_DevNode
  120. CM_Disable_DevNode_Ex
  121. CM_Enable_DevNode
  122. CM_Enable_DevNode_Ex
  123. CM_Get_DevNode_Status
  124. CM_Get_DevNode_Status_Ex
  125. CM_Set_DevNode_Problem
  126. CM_Set_DevNode_Problem_Ex
  127. CM_Move_DevNode
  128. CM_Move_DevNode_Ex
  129. CM_Reenumerate_DevNode
  130. CM_Reenumerate_DevNode_Ex
  131. CM_Request_Device_EjectA
  132. CM_Request_Device_Eject_ExA
  133. CM_Request_Device_EjectW
  134. CM_Request_Device_Eject_ExW
  135. CM_Setup_DevNode
  136. CM_Setup_DevNode_Ex
  137. CM_Remove_SubTree
  138. CM_Remove_SubTree_Ex
  139. CM_Uninstall_DevNode
  140. CM_Uninstall_DevNode_Ex
  141. CM_Query_And_Remove_SubTreeA
  142. CM_Query_And_Remove_SubTree_ExA
  143. CM_Query_And_Remove_SubTreeW
  144. CM_Query_And_Remove_SubTree_ExW
  145. CM_Query_Remove_SubTree
  146. CM_Query_Remove_SubTree_Ex
  147. CM_Register_Device_Driver
  148. CM_Register_Device_Driver_Ex
  149. ; logical configuration routines
  150. CM_Add_Empty_Log_Conf
  151. CM_Add_Empty_Log_Conf_Ex
  152. CM_Free_Log_Conf
  153. CM_Free_Log_Conf_Ex
  154. CM_Get_First_Log_Conf
  155. CM_Get_First_Log_Conf_Ex
  156. CM_Get_Next_Log_Conf
  157. CM_Get_Next_Log_Conf_Ex
  158. CM_Free_Log_Conf_Handle
  159. CM_Get_Log_Conf_Priority
  160. CM_Get_Log_Conf_Priority_Ex
  161. ; range routines
  162. CM_Add_Range
  163. CM_Create_Range_List
  164. CM_Delete_Range
  165. CM_Dup_Range_List
  166. CM_Find_Range
  167. CM_First_Range
  168. CM_Free_Range_List
  169. CM_Intersect_Range_List
  170. CM_Invert_Range_List
  171. CM_Merge_Range_List
  172. CM_Next_Range
  173. CM_Test_Range_Available
  174. ; hardware profile routines
  175. CM_Is_Dock_Station_Present
  176. CM_Is_Dock_Station_Present_Ex
  177. CM_Request_Eject_PC
  178. CM_Request_Eject_PC_Ex
  179. CM_Get_HW_Prof_FlagsA
  180. CM_Get_HW_Prof_FlagsW
  181. CM_Get_HW_Prof_Flags_ExA
  182. CM_Get_HW_Prof_Flags_ExW
  183. CM_Set_HW_Prof_FlagsA
  184. CM_Set_HW_Prof_FlagsW
  185. CM_Set_HW_Prof_Flags_ExA
  186. CM_Set_HW_Prof_Flags_ExW
  187. CM_Get_Hardware_Profile_InfoA
  188. CM_Get_Hardware_Profile_InfoW
  189. CM_Get_Hardware_Profile_Info_ExA
  190. CM_Get_Hardware_Profile_Info_ExW
  191. CM_Set_HW_Prof ; NOT IMPLEMENTED
  192. CM_Set_HW_Prof_Ex ; NOT IMPLEMENTED
  193. CM_Is_Dock_Station_Present ; NOT IMPLEMENTED
  194. CM_Request_Eject_PC ; NOT IMPLEMENTED
  195. ; resource routines
  196. CM_Add_Res_Des
  197. CM_Add_Res_Des_Ex
  198. CM_Free_Res_Des
  199. CM_Free_Res_Des_Ex
  200. CM_Get_Next_Res_Des
  201. CM_Get_Next_Res_Des_Ex
  202. CM_Get_Res_Des_Data
  203. CM_Get_Res_Des_Data_Ex
  204. CM_Get_Res_Des_Data_Size
  205. CM_Get_Res_Des_Data_Size_Ex
  206. CM_Modify_Res_Des
  207. CM_Modify_Res_Des_Ex
  208. CM_Detect_Resource_Conflict ; Superceded
  209. CM_Detect_Resource_Conflict_Ex ; Superceded
  210. CM_Free_Res_Des_Handle
  211. ; resource conflict routines
  212. CM_Query_Resource_Conflict_List
  213. CM_Free_Resource_Conflict_Handle
  214. CM_Get_Resource_Conflict_Count
  215. CM_Get_Resource_Conflict_DetailsA
  216. CM_Get_Resource_Conflict_DetailsW
  217. ; miscellaneous routines
  218. CM_Get_Version
  219. CM_Get_Version_Ex
  220. CM_Is_Version_Available
  221. CM_Is_Version_Available_Ex
  222. CM_Connect_MachineA
  223. CM_Connect_MachineW
  224. CM_Disconnect_Machine
  225. CM_Get_Global_State
  226. CM_Get_Global_State_Ex
  227. CM_Query_Arbitrator_Free_Data
  228. CM_Query_Arbitrator_Free_Data_Ex
  229. CM_Query_Arbitrator_Free_Size
  230. CM_Query_Arbitrator_Free_Size_Ex
  231. CM_Run_Detection ; NOT IMPLEMENTED
  232. CM_Run_Detection_Ex ; NOT IMPLEMENTED
  233. ; internal routines
  234. CMP_Report_LogOn
  235. CMP_Init_Detection
  236. CMP_RegisterNotification
  237. CMP_UnregisterNotification
  238. CMP_WaitServicesAvailable
  239. CMP_WaitNoPendingInstallEvents
  240. CMP_GetBlockedDriverInfo
  241. CMP_GetServerSideDeviceInstallFlags
  242. #endif // !ANSI_SETUPAPI
  243. ;
  244. ;----- setupapi -----
  245. ;
  246. ;
  247. ; INF Open/close and version APIs
  248. ;
  249. SetupGetInfInformationA
  250. SetupGetInfInformationW
  251. SetupQueryInfFileInformationA
  252. SetupQueryInfFileInformationW
  253. SetupQueryInfOriginalFileInformationA
  254. SetupQueryInfOriginalFileInformationW
  255. SetupQueryInfVersionInformationA
  256. SetupQueryInfVersionInformationW
  257. SetupGetInfFileListA
  258. SetupGetInfFileListW
  259. SetupOpenInfFileA
  260. SetupOpenInfFileW
  261. SetupOpenAppendInfFileA
  262. SetupOpenAppendInfFileW
  263. SetupCloseInfFile
  264. SetupOpenMasterInf
  265. SetupVerifyInfFileA
  266. SetupVerifyInfFileW
  267. ;
  268. ; Low-level enumeration of sections
  269. ; in a single INF
  270. ;
  271. SetupEnumInfSectionsA
  272. SetupEnumInfSectionsW
  273. ;
  274. ; INF line APIs
  275. ;
  276. SetupFindFirstLineA
  277. SetupFindFirstLineW
  278. SetupFindNextLine
  279. SetupFindNextMatchLineA
  280. SetupFindNextMatchLineW
  281. SetupGetLineByIndexA
  282. SetupGetLineByIndexW
  283. SetupGetLineCountA
  284. SetupGetLineCountW
  285. SetupGetLineTextA
  286. SetupGetLineTextW
  287. ;
  288. ; INF value APIs
  289. ;
  290. SetupGetFieldCount
  291. SetupGetStringFieldA
  292. SetupGetStringFieldW
  293. SetupGetIntField
  294. SetupGetMultiSzFieldA
  295. SetupGetMultiSzFieldW
  296. SetupGetBinaryField
  297. ;
  298. ; INF filelist APIs
  299. ;
  300. SetupGetSourceFileLocationA
  301. SetupGetSourceFileLocationW
  302. SetupGetSourceFileSizeA
  303. SetupGetSourceFileSizeW
  304. SetupGetTargetPathA
  305. SetupGetTargetPathW
  306. ;
  307. ; Source media information APIs
  308. ;
  309. SetupGetSourceInfoA
  310. SetupGetSourceInfoW
  311. ;
  312. ; Low-level copy functions
  313. ;
  314. SetupGetFileCompressionInfoA
  315. SetupGetFileCompressionInfoW
  316. SetupGetFileCompressionInfoExA
  317. SetupGetFileCompressionInfoExW
  318. SetupDecompressOrCopyFileA
  319. SetupDecompressOrCopyFileW
  320. SetupInstallFileA
  321. SetupInstallFileW
  322. SetupInstallFileExA
  323. SetupInstallFileExW
  324. SetupCopyOEMInfA
  325. SetupCopyOEMInfW
  326. SetupUninstallNewlyCopiedInfs
  327. SetupUninstallOEMInfA
  328. SetupUninstallOEMInfW
  329. ;
  330. ; Disk prompting functions
  331. ;
  332. SetupPromptForDiskA
  333. SetupPromptForDiskW
  334. ;
  335. ; Source list control functions
  336. ;
  337. SetupSetSourceListA
  338. SetupSetSourceListW
  339. SetupCancelTemporarySourceList
  340. SetupAddToSourceListA
  341. SetupAddToSourceListW
  342. SetupRemoveFromSourceListA
  343. SetupRemoveFromSourceListW
  344. SetupQuerySourceListA
  345. SetupQuerySourceListW
  346. SetupFreeSourceListA
  347. SetupFreeSourceListW
  348. ;
  349. ; File operation error functions
  350. ;
  351. SetupCopyErrorA
  352. SetupCopyErrorW
  353. SetupRenameErrorA
  354. SetupRenameErrorW
  355. SetupDeleteErrorA
  356. SetupDeleteErrorW
  357. SetupBackupErrorA
  358. SetupBackupErrorW
  359. ;
  360. ; File queue functions
  361. ;
  362. SetupOpenFileQueue
  363. SetupCloseFileQueue
  364. SetupSetFileQueueAlternatePlatformA
  365. SetupSetFileQueueAlternatePlatformW
  366. SetupSetPlatformPathOverrideA
  367. SetupSetPlatformPathOverrideW
  368. SetupQueueCopyA
  369. SetupQueueCopyW
  370. SetupQueueCopyIndirectA
  371. SetupQueueCopyIndirectW
  372. SetupQueueDeleteA
  373. SetupQueueDeleteW
  374. SetupQueueRenameA
  375. SetupQueueRenameW
  376. SetupQueueCopySectionA
  377. SetupQueueCopySectionW
  378. SetupQueueDeleteSectionA
  379. SetupQueueDeleteSectionW
  380. SetupQueueRenameSectionA
  381. SetupQueueRenameSectionW
  382. SetupQueueDefaultCopyA
  383. SetupQueueDefaultCopyW
  384. SetupCommitFileQueue
  385. SetupCommitFileQueueA
  386. SetupCommitFileQueueW
  387. SetupInitDefaultQueueCallback
  388. SetupInitDefaultQueueCallbackEx
  389. SetupTermDefaultQueueCallback
  390. #ifdef ANSI_SETUPAPI
  391. SetupDefaultQueueCallback = SetupDefaultQueueCallbackA
  392. #else
  393. SetupDefaultQueueCallback = SetupDefaultQueueCallbackW
  394. #endif
  395. SetupDefaultQueueCallbackA
  396. SetupDefaultQueueCallbackW
  397. #ifdef ANSI_SETUPAPI
  398. SetupScanFileQueue = SetupScanFileQueueA
  399. #else
  400. SetupScanFileQueue = SetupScanFileQueueW
  401. #endif
  402. SetupScanFileQueueA
  403. SetupScanFileQueueW
  404. SetupSetDirectoryIdA
  405. SetupSetDirectoryIdW
  406. SetupSetDirectoryIdExA
  407. SetupSetDirectoryIdExW
  408. SetupGetFileQueueCount
  409. SetupGetFileQueueFlags
  410. SetupSetFileQueueFlags
  411. ;
  412. ; Disk space list functions
  413. ;
  414. SetupCreateDiskSpaceListA
  415. SetupCreateDiskSpaceListW
  416. SetupDuplicateDiskSpaceListA
  417. SetupDuplicateDiskSpaceListW
  418. SetupDestroyDiskSpaceList
  419. SetupQueryDrivesInDiskSpaceListA
  420. SetupQueryDrivesInDiskSpaceListW
  421. SetupQuerySpaceRequiredOnDriveA
  422. SetupQuerySpaceRequiredOnDriveW
  423. SetupAdjustDiskSpaceListA
  424. SetupAdjustDiskSpaceListW
  425. SetupAddToDiskSpaceListA
  426. SetupAddToDiskSpaceListW
  427. SetupAddSectionToDiskSpaceListA
  428. SetupAddSectionToDiskSpaceListW
  429. SetupAddInstallSectionToDiskSpaceListA
  430. SetupAddInstallSectionToDiskSpaceListW
  431. SetupRemoveFromDiskSpaceListA
  432. SetupRemoveFromDiskSpaceListW
  433. SetupRemoveSectionFromDiskSpaceListA
  434. SetupRemoveSectionFromDiskSpaceListW
  435. SetupRemoveInstallSectionFromDiskSpaceListA
  436. SetupRemoveInstallSectionFromDiskSpaceListW
  437. ;
  438. ; High-level INF-based installation functions
  439. ;
  440. SetupInstallFromInfSectionA
  441. SetupInstallFromInfSectionW
  442. SetupInstallFilesFromInfSectionA
  443. SetupInstallFilesFromInfSectionW
  444. SetupInstallServicesFromInfSectionA
  445. SetupInstallServicesFromInfSectionW
  446. SetupInstallServicesFromInfSectionExA
  447. SetupInstallServicesFromInfSectionExW
  448. ;
  449. ; Even higher-level INF install function (to support
  450. ; right-click INF installs in the shell).
  451. ;
  452. InstallHinfSectionA
  453. InstallHinfSectionW
  454. InstallHinfSection = InstallHinfSectionA
  455. ;
  456. ; Property sheet extension export (e.g., for resource
  457. ; seletion property page).
  458. ;
  459. ExtensionPropSheetPageProc
  460. ;
  461. ; File logging functions
  462. ;
  463. SetupInitializeFileLogA
  464. SetupInitializeFileLogW
  465. SetupTerminateFileLog
  466. SetupLogFileA
  467. SetupLogFileW
  468. SetupRemoveFileLogEntryA
  469. SetupRemoveFileLogEntryW
  470. SetupQueryFileLogA
  471. SetupQueryFileLogW
  472. ;
  473. ; File backup functions
  474. ;
  475. SetupGetBackupInformationA
  476. SetupGetBackupInformationW
  477. SetupPrepareQueueForRestoreA
  478. SetupPrepareQueueForRestoreW
  479. ;
  480. ; Miscellaneous stuff
  481. ;
  482. SetupPromptReboot
  483. SetupIterateCabinetA
  484. SetupIterateCabinetW
  485. SetupSetNonInteractiveMode
  486. SetupGetNonInteractiveMode
  487. ;
  488. ; Device Installer functions
  489. ;
  490. SetupDiAskForOEMDisk
  491. SetupDiBuildClassInfoList
  492. SetupDiBuildClassInfoListExA
  493. SetupDiBuildClassInfoListExW
  494. SetupDiBuildDriverInfoList
  495. SetupDiCallClassInstaller
  496. SetupDiCancelDriverInfoSearch
  497. SetupDiChangeState
  498. SetupDiClassGuidsFromNameA
  499. SetupDiClassGuidsFromNameExA
  500. SetupDiClassGuidsFromNameExW
  501. SetupDiClassGuidsFromNameW
  502. SetupDiClassNameFromGuidA
  503. SetupDiClassNameFromGuidExA
  504. SetupDiClassNameFromGuidExW
  505. SetupDiClassNameFromGuidW
  506. SetupDiCreateDevRegKeyA
  507. SetupDiCreateDevRegKeyW
  508. SetupDiCreateDeviceInfoA
  509. SetupDiCreateDeviceInfoList
  510. SetupDiCreateDeviceInfoListExA
  511. SetupDiCreateDeviceInfoListExW
  512. SetupDiCreateDeviceInfoW
  513. SetupDiCreateDeviceInterfaceA
  514. SetupDiCreateDeviceInterfaceRegKeyA
  515. SetupDiCreateDeviceInterfaceRegKeyW
  516. SetupDiCreateDeviceInterfaceW
  517. SetupDiDeleteDevRegKey
  518. SetupDiDeleteDeviceInfo
  519. SetupDiDeleteDeviceInterfaceData
  520. SetupDiDeleteDeviceInterfaceRegKey
  521. SetupDiDestroyClassImageList
  522. SetupDiDestroyDeviceInfoList
  523. SetupDiDestroyDriverInfoList
  524. SetupDiDrawMiniIcon
  525. SetupDiEnumDeviceInfo
  526. SetupDiEnumDeviceInterfaces
  527. SetupDiEnumDriverInfoA
  528. SetupDiEnumDriverInfoW
  529. SetupDiGetActualSectionToInstallA
  530. SetupDiGetActualSectionToInstallW
  531. SetupDiGetActualSectionToInstallExA
  532. SetupDiGetActualSectionToInstallExW
  533. SetupDiGetClassBitmapIndex
  534. SetupDiGetClassDescriptionA
  535. SetupDiGetClassDescriptionExA
  536. SetupDiGetClassDescriptionExW
  537. SetupDiGetClassDescriptionW
  538. SetupDiGetClassDevPropertySheetsA
  539. SetupDiGetClassDevPropertySheetsW
  540. SetupDiGetClassDevsA
  541. SetupDiGetClassDevsExA
  542. SetupDiGetClassDevsExW
  543. SetupDiGetClassDevsW
  544. SetupDiGetClassImageIndex
  545. SetupDiGetClassImageList
  546. SetupDiGetClassImageListExA
  547. SetupDiGetClassImageListExW
  548. SetupDiGetClassInstallParamsA
  549. SetupDiGetClassInstallParamsW
  550. SetupDiGetClassRegistryPropertyA
  551. SetupDiGetClassRegistryPropertyW
  552. SetupDiGetCustomDevicePropertyA
  553. SetupDiGetCustomDevicePropertyW
  554. SetupDiGetDeviceInfoListClass
  555. SetupDiGetDeviceInfoListDetailA
  556. SetupDiGetDeviceInfoListDetailW
  557. SetupDiGetDeviceInstallParamsA
  558. SetupDiGetDeviceInstallParamsW
  559. SetupDiGetDeviceInstanceIdA
  560. SetupDiGetDeviceInstanceIdW
  561. SetupDiGetDeviceInterfaceAlias
  562. SetupDiGetDeviceInterfaceDetailA
  563. SetupDiGetDeviceInterfaceDetailW
  564. SetupDiGetDeviceRegistryPropertyA
  565. SetupDiGetDeviceRegistryPropertyW
  566. SetupDiGetDriverInfoDetailA
  567. SetupDiGetDriverInfoDetailW
  568. SetupDiGetDriverInstallParamsA
  569. SetupDiGetDriverInstallParamsW
  570. SetupDiGetHwProfileFriendlyNameA
  571. SetupDiGetHwProfileFriendlyNameExA
  572. SetupDiGetHwProfileFriendlyNameExW
  573. SetupDiGetHwProfileFriendlyNameW
  574. SetupDiGetHwProfileList
  575. SetupDiGetHwProfileListExA
  576. SetupDiGetHwProfileListExW
  577. SetupDiGetINFClassA
  578. SetupDiGetINFClassW
  579. SetupDiGetSelectedDevice
  580. SetupDiGetSelectedDriverA
  581. SetupDiGetSelectedDriverW
  582. SetupDiGetWizardPage
  583. SetupDiInstallClassA
  584. SetupDiInstallClassExA
  585. SetupDiInstallClassExW
  586. SetupDiInstallClassW
  587. SetupDiInstallDevice
  588. SetupDiInstallDeviceInterfaces
  589. SetupDiInstallDriverFiles
  590. SetupDiLoadClassIcon
  591. SetupDiMoveDuplicateDevice
  592. SetupDiOpenClassRegKey
  593. SetupDiOpenClassRegKeyExA
  594. SetupDiOpenClassRegKeyExW
  595. SetupDiOpenDevRegKey
  596. SetupDiOpenDeviceInfoA
  597. SetupDiOpenDeviceInfoW
  598. SetupDiOpenDeviceInterfaceA
  599. SetupDiOpenDeviceInterfaceRegKey
  600. SetupDiOpenDeviceInterfaceW
  601. SetupDiRegisterCoDeviceInstallers
  602. SetupDiRegisterDeviceInfo
  603. SetupDiRemoveDevice
  604. SetupDiRemoveDeviceInterface
  605. SetupDiSelectBestCompatDrv
  606. SetupDiSelectDevice
  607. SetupDiSelectOEMDrv
  608. SetupDiSetClassInstallParamsA
  609. SetupDiSetClassInstallParamsW
  610. SetupDiSetClassRegistryPropertyA
  611. SetupDiSetClassRegistryPropertyW
  612. SetupDiSetDeviceInstallParamsA
  613. SetupDiSetDeviceInstallParamsW
  614. SetupDiSetDeviceInterfaceDefault
  615. SetupDiSetDeviceRegistryPropertyA
  616. SetupDiSetDeviceRegistryPropertyW
  617. SetupDiSetDriverInstallParamsA
  618. SetupDiSetDriverInstallParamsW
  619. SetupDiSetSelectedDevice
  620. SetupDiSetSelectedDriverA
  621. SetupDiSetSelectedDriverW
  622. SetupDiUnremoveDevice
  623. ;
  624. ; Message Log APIs
  625. ;
  626. SetupOpenLog
  627. SetupLogErrorA
  628. SetupLogErrorW
  629. SetupCloseLog
  630. ;
  631. ; Internal stuff (see \nt\internal\inc\spapip.h)
  632. ;
  633. #ifdef ANSI_SETUPAPI
  634. ;
  635. ; API's exported by ANSI variants of SetupAPI
  636. ;
  637. pSetupGetField PRIVATE
  638. #else
  639. ;
  640. ; API's exported by UNICODE variants of SetupAPI
  641. ; marked "INTERNAL" so that they are accessable only via SPAPIP.LIB
  642. ;
  643. pSetupAcquireSCMLock INTERNAL
  644. pSetupAddMiniIconToList INTERNAL
  645. pSetupAddTagToGroupOrderListEntry INTERNAL
  646. pSetupAppendStringToMultiSz INTERNAL
  647. pSetupCaptureAndConvertAnsiArg INTERNAL
  648. pSetupCenterWindowRelativeToParent INTERNAL
  649. pSetupConcatenatePaths INTERNAL
  650. pSetupDiGetDeviceInfoContext INTERNAL
  651. pSetupDiSetDeviceInfoContext INTERNAL
  652. pSetupDoesUserHavePrivilege INTERNAL
  653. pSetupDuplicateString INTERNAL
  654. pSetupEnablePrivilege INTERNAL
  655. pSetupFree INTERNAL
  656. pSetupFreeStringArray INTERNAL
  657. pSetupGetCurrentDriverSigningPolicy INTERNAL
  658. pSetupGetField INTERNAL
  659. pSetupGetFileTitle INTERNAL
  660. pSetupGetGlobalFlags INTERNAL
  661. pSetupGetInfSections INTERNAL
  662. pSetupGetQueueFlags INTERNAL
  663. pSetupGetRealSystemTime INTERNAL
  664. pSetupGetVersionInfoFromImage INTERNAL
  665. pSetupGuidFromString INTERNAL
  666. pSetupHandleFailedVerification INTERNAL
  667. pSetupInfCacheBuild INTERNAL
  668. pSetupInfIsFromOemLocation INTERNAL
  669. pSetupInstallCatalog INTERNAL
  670. pSetupInstallStopEx INTERNAL
  671. pSetupIsGuidNull INTERNAL
  672. pSetupIsUserAdmin INTERNAL
  673. pSetupMakeSurePathExists INTERNAL
  674. pSetupMalloc INTERNAL
  675. pSetupModifyGlobalFlags INTERNAL
  676. pSetupMultiByteToUnicode INTERNAL
  677. pSetupOpenAndMapFileForRead INTERNAL
  678. pSetupOutOfMemory INTERNAL
  679. pSetupQueryMultiSzValueToArray INTERNAL
  680. pSetupRealloc INTERNAL
  681. pSetupRegistryDelnode INTERNAL
  682. pSetupRetrieveServiceConfig INTERNAL
  683. pSetupSetArrayToMultiSzValue INTERNAL
  684. pSetupSetGlobalFlags INTERNAL
  685. pSetupSetNoDriverPrompts INTERNAL
  686. pSetupSetQueueFlags INTERNAL
  687. pSetupSetSystemSourcePath INTERNAL
  688. pSetupShouldDeviceBeExcluded INTERNAL
  689. pSetupStringFromGuid INTERNAL
  690. pSetupStringTableAddString INTERNAL
  691. pSetupStringTableAddStringEx INTERNAL
  692. pSetupStringTableDestroy INTERNAL
  693. pSetupStringTableDuplicate INTERNAL
  694. pSetupStringTableEnum INTERNAL
  695. pSetupStringTableGetExtraData INTERNAL
  696. pSetupStringTableInitialize INTERNAL
  697. pSetupStringTableInitializeEx INTERNAL
  698. pSetupStringTableLookUpString INTERNAL
  699. pSetupStringTableLookUpStringEx INTERNAL
  700. pSetupStringTableSetExtraData INTERNAL
  701. pSetupStringTableStringFromId INTERNAL
  702. pSetupStringTableStringFromIdEx INTERNAL
  703. pSetupUnicodeToMultiByte INTERNAL
  704. pSetupUnmapAndCloseFile INTERNAL
  705. pSetupVerifyCatalogFile INTERNAL
  706. pSetupVerifyFile INTERNAL
  707. pSetupVerifyQueuedCatalogs INTERNAL
  708. pSetupWriteLogEntry INTERNAL
  709. pSetupWriteLogError INTERNAL
  710. ;
  711. ; internal API's accessed only via GetProcAddress
  712. ;
  713. pSetupAccessRunOnceNodeList PRIVATE
  714. pSetupDestroyRunOnceNodeList PRIVATE
  715. #endif // !ANSI_SETUPAPI
  716. ;
  717. ; APPCOMPAT!!!!
  718. ; sadly this is here because MyFree got into a DDK
  719. ; this *must* call LocalFree
  720. ;
  721. MyFree = OldMyFree PRIVATE
  722. ;
  723. ; APPCOMPAT!!!!
  724. ; it seems someone decided to use thse too
  725. ; these must work with MyFree
  726. ;
  727. MyMalloc = OldMyMalloc PRIVATE
  728. MyRealloc = OldMyRealloc PRIVATE
  729. ;
  730. ; APPCOMPAT!!!!
  731. ; Security API's
  732. ;
  733. IsUserAdmin = pSetupIsUserAdmin PRIVATE
  734. DoesUserHavePrivilege = pSetupDoesUserHavePrivilege PRIVATE
  735. ;
  736. ; APPCOMPAT!!!!
  737. ; Used by SQL7sp2 and Win2k hotfix.exe
  738. ; we just pretend to succeed but actually do nothing
  739. ;
  740. #ifndef ANSI_SETUPAPI
  741. InstallCatalog = OldInstallCatalog PRIVATE
  742. #endif
  743. ;
  744. ; APPCOMPAT!!!!
  745. ; Used by Win2k hotfix.exe
  746. ; for now, route to new API's
  747. ;
  748. #ifndef ANSI_SETUPAPI
  749. VerifyCatalogFile = pSetupVerifyCatalogFile PRIVATE
  750. UnicodeToMultiByte = pSetupUnicodeToMultiByte PRIVATE
  751. #endif
  752. ;
  753. ; Used and linked to by various build tools
  754. ; will eventually be supersceeded by SetupEnumInfSections
  755. ;
  756. SetupGetInfSections = pSetupGetInfSections