808 lines
20 KiB
Modula-2
808 lines
20 KiB
Modula-2
//
|
|
// this file will initially be parsed by c-preprocessor
|
|
//
|
|
// "SPAPIP" is defined for the private library
|
|
// "ANSI_SETUPAPI" will be defined for the special ANSI variants (see relevent "sources")
|
|
//
|
|
|
|
#ifdef SPAPIP
|
|
#define INTERNAL // allow linking of internal API's
|
|
#else //SPAPIP
|
|
#define INTERNAL PRIVATE // do not allow (compile time) linking of internal API's
|
|
#endif //SPAPIP
|
|
|
|
#ifndef EXPNAME
|
|
#define EXPNAME "SETUPAPI"
|
|
#endif //EXPNAME
|
|
|
|
LIBRARY EXPNAME
|
|
|
|
EXPORTS
|
|
|
|
;----- cfgmgr32 -----
|
|
; hw tree traveral routines
|
|
;
|
|
; not exported in ANSI variants
|
|
;
|
|
|
|
#ifndef ANSI_SETUPAPI
|
|
|
|
CM_Locate_DevNodeA
|
|
CM_Locate_DevNodeW
|
|
CM_Locate_DevNode_ExA
|
|
CM_Locate_DevNode_ExW
|
|
CM_Get_Child
|
|
CM_Get_Child_Ex
|
|
CM_Get_Sibling
|
|
CM_Get_Sibling_Ex
|
|
CM_Get_Parent
|
|
CM_Get_Parent_Ex
|
|
CM_Get_Device_IDA
|
|
CM_Get_Device_IDW
|
|
CM_Get_Device_ID_ExA
|
|
CM_Get_Device_ID_ExW
|
|
CM_Get_Device_ID_Size
|
|
CM_Get_Device_ID_Size_Ex
|
|
CM_Enumerate_EnumeratorsA
|
|
CM_Enumerate_EnumeratorsW
|
|
CM_Enumerate_Enumerators_ExA
|
|
CM_Enumerate_Enumerators_ExW
|
|
CM_Get_Device_ID_ListA
|
|
CM_Get_Device_ID_ListW
|
|
CM_Get_Device_ID_List_ExA
|
|
CM_Get_Device_ID_List_ExW
|
|
CM_Get_Device_ID_List_SizeA
|
|
CM_Get_Device_ID_List_SizeW
|
|
CM_Get_Device_ID_List_Size_ExA
|
|
CM_Get_Device_ID_List_Size_ExW
|
|
CM_Get_Depth
|
|
CM_Get_Depth_Ex
|
|
|
|
; registry property routines
|
|
CM_Get_DevNode_Registry_PropertyA
|
|
CM_Get_DevNode_Registry_PropertyW
|
|
CM_Get_DevNode_Registry_Property_ExA
|
|
CM_Get_DevNode_Registry_Property_ExW
|
|
CM_Set_DevNode_Registry_PropertyA
|
|
CM_Set_DevNode_Registry_PropertyW
|
|
CM_Set_DevNode_Registry_Property_ExA
|
|
CM_Set_DevNode_Registry_Property_ExW
|
|
CM_Get_Class_Registry_PropertyA
|
|
CM_Get_Class_Registry_PropertyW
|
|
CM_Set_Class_Registry_PropertyA
|
|
CM_Set_Class_Registry_PropertyW
|
|
CM_Open_DevNode_Key
|
|
CM_Open_DevNode_Key_Ex
|
|
CM_Delete_DevNode_Key
|
|
CM_Delete_DevNode_Key_Ex
|
|
CM_Open_Class_KeyA
|
|
CM_Open_Class_KeyW
|
|
CM_Open_Class_Key_ExA
|
|
CM_Open_Class_Key_ExW
|
|
CM_Enumerate_Classes
|
|
CM_Enumerate_Classes_Ex
|
|
CM_Get_Class_NameA
|
|
CM_Get_Class_NameW
|
|
CM_Get_Class_Name_ExA
|
|
CM_Get_Class_Name_ExW
|
|
CM_Get_Class_Key_NameA
|
|
CM_Get_Class_Key_NameW
|
|
CM_Get_Class_Key_Name_ExA
|
|
CM_Get_Class_Key_Name_ExW
|
|
CM_Delete_Class_Key
|
|
CM_Delete_Class_Key_Ex
|
|
CM_Get_Device_Interface_ListA
|
|
CM_Get_Device_Interface_ListW
|
|
CM_Get_Device_Interface_List_ExA
|
|
CM_Get_Device_Interface_List_ExW
|
|
CM_Get_Device_Interface_List_SizeA
|
|
CM_Get_Device_Interface_List_SizeW
|
|
CM_Get_Device_Interface_List_Size_ExA
|
|
CM_Get_Device_Interface_List_Size_ExW
|
|
CM_Register_Device_InterfaceA
|
|
CM_Register_Device_InterfaceW
|
|
CM_Register_Device_Interface_ExA
|
|
CM_Register_Device_Interface_ExW
|
|
CM_Unregister_Device_InterfaceA
|
|
CM_Unregister_Device_InterfaceW
|
|
CM_Unregister_Device_Interface_ExA
|
|
CM_Unregister_Device_Interface_ExW
|
|
CM_Get_Device_Interface_AliasA
|
|
CM_Get_Device_Interface_AliasW
|
|
CM_Get_Device_Interface_Alias_ExA
|
|
CM_Get_Device_Interface_Alias_ExW
|
|
CM_Get_DevNode_Custom_PropertyA
|
|
CM_Get_DevNode_Custom_PropertyW
|
|
CM_Get_DevNode_Custom_Property_ExA
|
|
CM_Get_DevNode_Custom_Property_ExW
|
|
|
|
; routines that operate on devnodes/devinsts
|
|
CM_Add_IDA
|
|
CM_Add_IDW
|
|
CM_Add_ID_ExA
|
|
CM_Add_ID_ExW
|
|
CM_Create_DevNodeA
|
|
CM_Create_DevNodeW
|
|
CM_Create_DevNode_ExA
|
|
CM_Create_DevNode_ExW
|
|
CM_Disable_DevNode
|
|
CM_Disable_DevNode_Ex
|
|
CM_Enable_DevNode
|
|
CM_Enable_DevNode_Ex
|
|
CM_Get_DevNode_Status
|
|
CM_Get_DevNode_Status_Ex
|
|
CM_Set_DevNode_Problem
|
|
CM_Set_DevNode_Problem_Ex
|
|
CM_Move_DevNode
|
|
CM_Move_DevNode_Ex
|
|
CM_Reenumerate_DevNode
|
|
CM_Reenumerate_DevNode_Ex
|
|
CM_Request_Device_EjectA
|
|
CM_Request_Device_Eject_ExA
|
|
CM_Request_Device_EjectW
|
|
CM_Request_Device_Eject_ExW
|
|
CM_Setup_DevNode
|
|
CM_Setup_DevNode_Ex
|
|
CM_Remove_SubTree
|
|
CM_Remove_SubTree_Ex
|
|
CM_Uninstall_DevNode
|
|
CM_Uninstall_DevNode_Ex
|
|
CM_Query_And_Remove_SubTreeA
|
|
CM_Query_And_Remove_SubTree_ExA
|
|
CM_Query_And_Remove_SubTreeW
|
|
CM_Query_And_Remove_SubTree_ExW
|
|
CM_Query_Remove_SubTree
|
|
CM_Query_Remove_SubTree_Ex
|
|
CM_Register_Device_Driver
|
|
CM_Register_Device_Driver_Ex
|
|
|
|
|
|
; logical configuration routines
|
|
CM_Add_Empty_Log_Conf
|
|
CM_Add_Empty_Log_Conf_Ex
|
|
CM_Free_Log_Conf
|
|
CM_Free_Log_Conf_Ex
|
|
CM_Get_First_Log_Conf
|
|
CM_Get_First_Log_Conf_Ex
|
|
CM_Get_Next_Log_Conf
|
|
CM_Get_Next_Log_Conf_Ex
|
|
CM_Free_Log_Conf_Handle
|
|
CM_Get_Log_Conf_Priority
|
|
CM_Get_Log_Conf_Priority_Ex
|
|
|
|
|
|
; range routines
|
|
CM_Add_Range
|
|
CM_Create_Range_List
|
|
CM_Delete_Range
|
|
CM_Dup_Range_List
|
|
CM_Find_Range
|
|
CM_First_Range
|
|
CM_Free_Range_List
|
|
CM_Intersect_Range_List
|
|
CM_Invert_Range_List
|
|
CM_Merge_Range_List
|
|
CM_Next_Range
|
|
CM_Test_Range_Available
|
|
|
|
|
|
; hardware profile routines
|
|
CM_Is_Dock_Station_Present
|
|
CM_Is_Dock_Station_Present_Ex
|
|
CM_Request_Eject_PC
|
|
CM_Request_Eject_PC_Ex
|
|
CM_Get_HW_Prof_FlagsA
|
|
CM_Get_HW_Prof_FlagsW
|
|
CM_Get_HW_Prof_Flags_ExA
|
|
CM_Get_HW_Prof_Flags_ExW
|
|
CM_Set_HW_Prof_FlagsA
|
|
CM_Set_HW_Prof_FlagsW
|
|
CM_Set_HW_Prof_Flags_ExA
|
|
CM_Set_HW_Prof_Flags_ExW
|
|
CM_Get_Hardware_Profile_InfoA
|
|
CM_Get_Hardware_Profile_InfoW
|
|
CM_Get_Hardware_Profile_Info_ExA
|
|
CM_Get_Hardware_Profile_Info_ExW
|
|
CM_Set_HW_Prof ; NOT IMPLEMENTED
|
|
CM_Set_HW_Prof_Ex ; NOT IMPLEMENTED
|
|
CM_Is_Dock_Station_Present ; NOT IMPLEMENTED
|
|
CM_Request_Eject_PC ; NOT IMPLEMENTED
|
|
|
|
|
|
; resource routines
|
|
CM_Add_Res_Des
|
|
CM_Add_Res_Des_Ex
|
|
CM_Free_Res_Des
|
|
CM_Free_Res_Des_Ex
|
|
CM_Get_Next_Res_Des
|
|
CM_Get_Next_Res_Des_Ex
|
|
CM_Get_Res_Des_Data
|
|
CM_Get_Res_Des_Data_Ex
|
|
CM_Get_Res_Des_Data_Size
|
|
CM_Get_Res_Des_Data_Size_Ex
|
|
CM_Modify_Res_Des
|
|
CM_Modify_Res_Des_Ex
|
|
CM_Detect_Resource_Conflict ; Superceded
|
|
CM_Detect_Resource_Conflict_Ex ; Superceded
|
|
CM_Free_Res_Des_Handle
|
|
|
|
; resource conflict routines
|
|
CM_Query_Resource_Conflict_List
|
|
CM_Free_Resource_Conflict_Handle
|
|
CM_Get_Resource_Conflict_Count
|
|
CM_Get_Resource_Conflict_DetailsA
|
|
CM_Get_Resource_Conflict_DetailsW
|
|
|
|
; miscellaneous routines
|
|
CM_Get_Version
|
|
CM_Get_Version_Ex
|
|
CM_Is_Version_Available
|
|
CM_Is_Version_Available_Ex
|
|
CM_Connect_MachineA
|
|
CM_Connect_MachineW
|
|
CM_Disconnect_Machine
|
|
CM_Get_Global_State
|
|
CM_Get_Global_State_Ex
|
|
CM_Query_Arbitrator_Free_Data
|
|
CM_Query_Arbitrator_Free_Data_Ex
|
|
CM_Query_Arbitrator_Free_Size
|
|
CM_Query_Arbitrator_Free_Size_Ex
|
|
CM_Run_Detection ; NOT IMPLEMENTED
|
|
CM_Run_Detection_Ex ; NOT IMPLEMENTED
|
|
|
|
|
|
; internal routines
|
|
CMP_Report_LogOn
|
|
|
|
CMP_Init_Detection
|
|
CMP_RegisterNotification
|
|
CMP_UnregisterNotification
|
|
CMP_WaitServicesAvailable
|
|
CMP_WaitNoPendingInstallEvents
|
|
CMP_GetBlockedDriverInfo
|
|
CMP_GetServerSideDeviceInstallFlags
|
|
|
|
#endif // !ANSI_SETUPAPI
|
|
|
|
;
|
|
;----- setupapi -----
|
|
;
|
|
|
|
;
|
|
; INF Open/close and version APIs
|
|
;
|
|
SetupGetInfInformationA
|
|
SetupGetInfInformationW
|
|
SetupQueryInfFileInformationA
|
|
SetupQueryInfFileInformationW
|
|
SetupQueryInfOriginalFileInformationA
|
|
SetupQueryInfOriginalFileInformationW
|
|
SetupQueryInfVersionInformationA
|
|
SetupQueryInfVersionInformationW
|
|
SetupGetInfFileListA
|
|
SetupGetInfFileListW
|
|
SetupOpenInfFileA
|
|
SetupOpenInfFileW
|
|
SetupOpenAppendInfFileA
|
|
SetupOpenAppendInfFileW
|
|
SetupCloseInfFile
|
|
SetupOpenMasterInf
|
|
SetupVerifyInfFileA
|
|
SetupVerifyInfFileW
|
|
;
|
|
; Low-level enumeration of sections
|
|
; in a single INF
|
|
;
|
|
SetupEnumInfSectionsA
|
|
SetupEnumInfSectionsW
|
|
;
|
|
; INF line APIs
|
|
;
|
|
SetupFindFirstLineA
|
|
SetupFindFirstLineW
|
|
SetupFindNextLine
|
|
SetupFindNextMatchLineA
|
|
SetupFindNextMatchLineW
|
|
SetupGetLineByIndexA
|
|
SetupGetLineByIndexW
|
|
SetupGetLineCountA
|
|
SetupGetLineCountW
|
|
SetupGetLineTextA
|
|
SetupGetLineTextW
|
|
|
|
;
|
|
; INF value APIs
|
|
;
|
|
SetupGetFieldCount
|
|
SetupGetStringFieldA
|
|
SetupGetStringFieldW
|
|
SetupGetIntField
|
|
SetupGetMultiSzFieldA
|
|
SetupGetMultiSzFieldW
|
|
SetupGetBinaryField
|
|
|
|
;
|
|
; INF filelist APIs
|
|
;
|
|
SetupGetSourceFileLocationA
|
|
SetupGetSourceFileLocationW
|
|
SetupGetSourceFileSizeA
|
|
SetupGetSourceFileSizeW
|
|
SetupGetTargetPathA
|
|
SetupGetTargetPathW
|
|
|
|
;
|
|
; Source media information APIs
|
|
;
|
|
SetupGetSourceInfoA
|
|
SetupGetSourceInfoW
|
|
|
|
;
|
|
; Low-level copy functions
|
|
;
|
|
SetupGetFileCompressionInfoA
|
|
SetupGetFileCompressionInfoW
|
|
SetupGetFileCompressionInfoExA
|
|
SetupGetFileCompressionInfoExW
|
|
SetupDecompressOrCopyFileA
|
|
SetupDecompressOrCopyFileW
|
|
SetupInstallFileA
|
|
SetupInstallFileW
|
|
SetupInstallFileExA
|
|
SetupInstallFileExW
|
|
SetupCopyOEMInfA
|
|
SetupCopyOEMInfW
|
|
SetupUninstallNewlyCopiedInfs
|
|
SetupUninstallOEMInfA
|
|
SetupUninstallOEMInfW
|
|
|
|
;
|
|
; Disk prompting functions
|
|
;
|
|
SetupPromptForDiskA
|
|
SetupPromptForDiskW
|
|
|
|
;
|
|
; Source list control functions
|
|
;
|
|
SetupSetSourceListA
|
|
SetupSetSourceListW
|
|
SetupCancelTemporarySourceList
|
|
SetupAddToSourceListA
|
|
SetupAddToSourceListW
|
|
SetupRemoveFromSourceListA
|
|
SetupRemoveFromSourceListW
|
|
SetupQuerySourceListA
|
|
SetupQuerySourceListW
|
|
SetupFreeSourceListA
|
|
SetupFreeSourceListW
|
|
|
|
;
|
|
; File operation error functions
|
|
;
|
|
SetupCopyErrorA
|
|
SetupCopyErrorW
|
|
SetupRenameErrorA
|
|
SetupRenameErrorW
|
|
SetupDeleteErrorA
|
|
SetupDeleteErrorW
|
|
SetupBackupErrorA
|
|
SetupBackupErrorW
|
|
|
|
;
|
|
; File queue functions
|
|
;
|
|
SetupOpenFileQueue
|
|
SetupCloseFileQueue
|
|
SetupSetFileQueueAlternatePlatformA
|
|
SetupSetFileQueueAlternatePlatformW
|
|
SetupSetPlatformPathOverrideA
|
|
SetupSetPlatformPathOverrideW
|
|
SetupQueueCopyA
|
|
SetupQueueCopyW
|
|
SetupQueueCopyIndirectA
|
|
SetupQueueCopyIndirectW
|
|
SetupQueueDeleteA
|
|
SetupQueueDeleteW
|
|
SetupQueueRenameA
|
|
SetupQueueRenameW
|
|
SetupQueueCopySectionA
|
|
SetupQueueCopySectionW
|
|
SetupQueueDeleteSectionA
|
|
SetupQueueDeleteSectionW
|
|
SetupQueueRenameSectionA
|
|
SetupQueueRenameSectionW
|
|
SetupQueueDefaultCopyA
|
|
SetupQueueDefaultCopyW
|
|
SetupCommitFileQueue
|
|
SetupCommitFileQueueA
|
|
SetupCommitFileQueueW
|
|
SetupInitDefaultQueueCallback
|
|
SetupInitDefaultQueueCallbackEx
|
|
SetupTermDefaultQueueCallback
|
|
#ifdef ANSI_SETUPAPI
|
|
SetupDefaultQueueCallback = SetupDefaultQueueCallbackA
|
|
#else
|
|
SetupDefaultQueueCallback = SetupDefaultQueueCallbackW
|
|
#endif
|
|
SetupDefaultQueueCallbackA
|
|
SetupDefaultQueueCallbackW
|
|
#ifdef ANSI_SETUPAPI
|
|
SetupScanFileQueue = SetupScanFileQueueA
|
|
#else
|
|
SetupScanFileQueue = SetupScanFileQueueW
|
|
#endif
|
|
SetupScanFileQueueA
|
|
SetupScanFileQueueW
|
|
SetupSetDirectoryIdA
|
|
SetupSetDirectoryIdW
|
|
SetupSetDirectoryIdExA
|
|
SetupSetDirectoryIdExW
|
|
SetupGetFileQueueCount
|
|
SetupGetFileQueueFlags
|
|
SetupSetFileQueueFlags
|
|
;
|
|
; Disk space list functions
|
|
;
|
|
SetupCreateDiskSpaceListA
|
|
SetupCreateDiskSpaceListW
|
|
SetupDuplicateDiskSpaceListA
|
|
SetupDuplicateDiskSpaceListW
|
|
SetupDestroyDiskSpaceList
|
|
SetupQueryDrivesInDiskSpaceListA
|
|
SetupQueryDrivesInDiskSpaceListW
|
|
SetupQuerySpaceRequiredOnDriveA
|
|
SetupQuerySpaceRequiredOnDriveW
|
|
SetupAdjustDiskSpaceListA
|
|
SetupAdjustDiskSpaceListW
|
|
SetupAddToDiskSpaceListA
|
|
SetupAddToDiskSpaceListW
|
|
SetupAddSectionToDiskSpaceListA
|
|
SetupAddSectionToDiskSpaceListW
|
|
SetupAddInstallSectionToDiskSpaceListA
|
|
SetupAddInstallSectionToDiskSpaceListW
|
|
SetupRemoveFromDiskSpaceListA
|
|
SetupRemoveFromDiskSpaceListW
|
|
SetupRemoveSectionFromDiskSpaceListA
|
|
SetupRemoveSectionFromDiskSpaceListW
|
|
SetupRemoveInstallSectionFromDiskSpaceListA
|
|
SetupRemoveInstallSectionFromDiskSpaceListW
|
|
|
|
;
|
|
; High-level INF-based installation functions
|
|
;
|
|
SetupInstallFromInfSectionA
|
|
SetupInstallFromInfSectionW
|
|
SetupInstallFilesFromInfSectionA
|
|
SetupInstallFilesFromInfSectionW
|
|
SetupInstallServicesFromInfSectionA
|
|
SetupInstallServicesFromInfSectionW
|
|
SetupInstallServicesFromInfSectionExA
|
|
SetupInstallServicesFromInfSectionExW
|
|
|
|
;
|
|
; Even higher-level INF install function (to support
|
|
; right-click INF installs in the shell).
|
|
;
|
|
InstallHinfSectionA
|
|
InstallHinfSectionW
|
|
InstallHinfSection = InstallHinfSectionA
|
|
|
|
;
|
|
; Property sheet extension export (e.g., for resource
|
|
; seletion property page).
|
|
;
|
|
ExtensionPropSheetPageProc
|
|
|
|
;
|
|
; File logging functions
|
|
;
|
|
SetupInitializeFileLogA
|
|
SetupInitializeFileLogW
|
|
SetupTerminateFileLog
|
|
SetupLogFileA
|
|
SetupLogFileW
|
|
SetupRemoveFileLogEntryA
|
|
SetupRemoveFileLogEntryW
|
|
SetupQueryFileLogA
|
|
SetupQueryFileLogW
|
|
|
|
;
|
|
; File backup functions
|
|
;
|
|
SetupGetBackupInformationA
|
|
SetupGetBackupInformationW
|
|
SetupPrepareQueueForRestoreA
|
|
SetupPrepareQueueForRestoreW
|
|
|
|
;
|
|
; Miscellaneous stuff
|
|
;
|
|
SetupPromptReboot
|
|
SetupIterateCabinetA
|
|
SetupIterateCabinetW
|
|
SetupSetNonInteractiveMode
|
|
SetupGetNonInteractiveMode
|
|
|
|
;
|
|
; Device Installer functions
|
|
;
|
|
SetupDiAskForOEMDisk
|
|
SetupDiBuildClassInfoList
|
|
SetupDiBuildClassInfoListExA
|
|
SetupDiBuildClassInfoListExW
|
|
SetupDiBuildDriverInfoList
|
|
SetupDiCallClassInstaller
|
|
SetupDiCancelDriverInfoSearch
|
|
SetupDiChangeState
|
|
SetupDiClassGuidsFromNameA
|
|
SetupDiClassGuidsFromNameExA
|
|
SetupDiClassGuidsFromNameExW
|
|
SetupDiClassGuidsFromNameW
|
|
SetupDiClassNameFromGuidA
|
|
SetupDiClassNameFromGuidExA
|
|
SetupDiClassNameFromGuidExW
|
|
SetupDiClassNameFromGuidW
|
|
SetupDiCreateDevRegKeyA
|
|
SetupDiCreateDevRegKeyW
|
|
SetupDiCreateDeviceInfoA
|
|
SetupDiCreateDeviceInfoList
|
|
SetupDiCreateDeviceInfoListExA
|
|
SetupDiCreateDeviceInfoListExW
|
|
SetupDiCreateDeviceInfoW
|
|
SetupDiCreateDeviceInterfaceA
|
|
SetupDiCreateDeviceInterfaceRegKeyA
|
|
SetupDiCreateDeviceInterfaceRegKeyW
|
|
SetupDiCreateDeviceInterfaceW
|
|
SetupDiDeleteDevRegKey
|
|
SetupDiDeleteDeviceInfo
|
|
SetupDiDeleteDeviceInterfaceData
|
|
SetupDiDeleteDeviceInterfaceRegKey
|
|
SetupDiDestroyClassImageList
|
|
SetupDiDestroyDeviceInfoList
|
|
SetupDiDestroyDriverInfoList
|
|
SetupDiDrawMiniIcon
|
|
SetupDiEnumDeviceInfo
|
|
SetupDiEnumDeviceInterfaces
|
|
SetupDiEnumDriverInfoA
|
|
SetupDiEnumDriverInfoW
|
|
SetupDiGetActualSectionToInstallA
|
|
SetupDiGetActualSectionToInstallW
|
|
SetupDiGetActualSectionToInstallExA
|
|
SetupDiGetActualSectionToInstallExW
|
|
SetupDiGetClassBitmapIndex
|
|
SetupDiGetClassDescriptionA
|
|
SetupDiGetClassDescriptionExA
|
|
SetupDiGetClassDescriptionExW
|
|
SetupDiGetClassDescriptionW
|
|
SetupDiGetClassDevPropertySheetsA
|
|
SetupDiGetClassDevPropertySheetsW
|
|
SetupDiGetClassDevsA
|
|
SetupDiGetClassDevsExA
|
|
SetupDiGetClassDevsExW
|
|
SetupDiGetClassDevsW
|
|
SetupDiGetClassImageIndex
|
|
SetupDiGetClassImageList
|
|
SetupDiGetClassImageListExA
|
|
SetupDiGetClassImageListExW
|
|
SetupDiGetClassInstallParamsA
|
|
SetupDiGetClassInstallParamsW
|
|
SetupDiGetClassRegistryPropertyA
|
|
SetupDiGetClassRegistryPropertyW
|
|
SetupDiGetCustomDevicePropertyA
|
|
SetupDiGetCustomDevicePropertyW
|
|
SetupDiGetDeviceInfoListClass
|
|
SetupDiGetDeviceInfoListDetailA
|
|
SetupDiGetDeviceInfoListDetailW
|
|
SetupDiGetDeviceInstallParamsA
|
|
SetupDiGetDeviceInstallParamsW
|
|
SetupDiGetDeviceInstanceIdA
|
|
SetupDiGetDeviceInstanceIdW
|
|
SetupDiGetDeviceInterfaceAlias
|
|
SetupDiGetDeviceInterfaceDetailA
|
|
SetupDiGetDeviceInterfaceDetailW
|
|
SetupDiGetDeviceRegistryPropertyA
|
|
SetupDiGetDeviceRegistryPropertyW
|
|
SetupDiGetDriverInfoDetailA
|
|
SetupDiGetDriverInfoDetailW
|
|
SetupDiGetDriverInstallParamsA
|
|
SetupDiGetDriverInstallParamsW
|
|
SetupDiGetHwProfileFriendlyNameA
|
|
SetupDiGetHwProfileFriendlyNameExA
|
|
SetupDiGetHwProfileFriendlyNameExW
|
|
SetupDiGetHwProfileFriendlyNameW
|
|
SetupDiGetHwProfileList
|
|
SetupDiGetHwProfileListExA
|
|
SetupDiGetHwProfileListExW
|
|
SetupDiGetINFClassA
|
|
SetupDiGetINFClassW
|
|
SetupDiGetSelectedDevice
|
|
SetupDiGetSelectedDriverA
|
|
SetupDiGetSelectedDriverW
|
|
SetupDiGetWizardPage
|
|
SetupDiInstallClassA
|
|
SetupDiInstallClassExA
|
|
SetupDiInstallClassExW
|
|
SetupDiInstallClassW
|
|
SetupDiInstallDevice
|
|
SetupDiInstallDeviceInterfaces
|
|
SetupDiInstallDriverFiles
|
|
SetupDiLoadClassIcon
|
|
SetupDiMoveDuplicateDevice
|
|
SetupDiOpenClassRegKey
|
|
SetupDiOpenClassRegKeyExA
|
|
SetupDiOpenClassRegKeyExW
|
|
SetupDiOpenDevRegKey
|
|
SetupDiOpenDeviceInfoA
|
|
SetupDiOpenDeviceInfoW
|
|
SetupDiOpenDeviceInterfaceA
|
|
SetupDiOpenDeviceInterfaceRegKey
|
|
SetupDiOpenDeviceInterfaceW
|
|
SetupDiRegisterCoDeviceInstallers
|
|
SetupDiRegisterDeviceInfo
|
|
SetupDiRemoveDevice
|
|
SetupDiRemoveDeviceInterface
|
|
SetupDiSelectBestCompatDrv
|
|
SetupDiSelectDevice
|
|
SetupDiSelectOEMDrv
|
|
SetupDiSetClassInstallParamsA
|
|
SetupDiSetClassInstallParamsW
|
|
SetupDiSetClassRegistryPropertyA
|
|
SetupDiSetClassRegistryPropertyW
|
|
SetupDiSetDeviceInstallParamsA
|
|
SetupDiSetDeviceInstallParamsW
|
|
SetupDiSetDeviceInterfaceDefault
|
|
SetupDiSetDeviceRegistryPropertyA
|
|
SetupDiSetDeviceRegistryPropertyW
|
|
SetupDiSetDriverInstallParamsA
|
|
SetupDiSetDriverInstallParamsW
|
|
SetupDiSetSelectedDevice
|
|
SetupDiSetSelectedDriverA
|
|
SetupDiSetSelectedDriverW
|
|
SetupDiUnremoveDevice
|
|
|
|
;
|
|
; Message Log APIs
|
|
;
|
|
SetupOpenLog
|
|
SetupLogErrorA
|
|
SetupLogErrorW
|
|
SetupCloseLog
|
|
|
|
;
|
|
; Internal stuff (see \nt\internal\inc\spapip.h)
|
|
;
|
|
#ifdef ANSI_SETUPAPI
|
|
;
|
|
; API's exported by ANSI variants of SetupAPI
|
|
;
|
|
pSetupGetField PRIVATE
|
|
|
|
#else
|
|
;
|
|
; API's exported by UNICODE variants of SetupAPI
|
|
; marked "INTERNAL" so that they are accessable only via SPAPIP.LIB
|
|
;
|
|
|
|
pSetupAcquireSCMLock INTERNAL
|
|
pSetupAddMiniIconToList INTERNAL
|
|
pSetupAddTagToGroupOrderListEntry INTERNAL
|
|
pSetupAppendStringToMultiSz INTERNAL
|
|
pSetupCaptureAndConvertAnsiArg INTERNAL
|
|
pSetupCenterWindowRelativeToParent INTERNAL
|
|
pSetupConcatenatePaths INTERNAL
|
|
pSetupDiGetDeviceInfoContext INTERNAL
|
|
pSetupDiSetDeviceInfoContext INTERNAL
|
|
pSetupDoesUserHavePrivilege INTERNAL
|
|
pSetupDuplicateString INTERNAL
|
|
pSetupEnablePrivilege INTERNAL
|
|
pSetupFree INTERNAL
|
|
pSetupFreeStringArray INTERNAL
|
|
pSetupGetCurrentDriverSigningPolicy INTERNAL
|
|
pSetupGetField INTERNAL
|
|
pSetupGetFileTitle INTERNAL
|
|
pSetupGetGlobalFlags INTERNAL
|
|
pSetupGetInfSections INTERNAL
|
|
pSetupGetQueueFlags INTERNAL
|
|
pSetupGetRealSystemTime INTERNAL
|
|
pSetupGetVersionInfoFromImage INTERNAL
|
|
pSetupGuidFromString INTERNAL
|
|
pSetupHandleFailedVerification INTERNAL
|
|
pSetupInfCacheBuild INTERNAL
|
|
pSetupInfIsFromOemLocation INTERNAL
|
|
pSetupInstallCatalog INTERNAL
|
|
pSetupInstallStopEx INTERNAL
|
|
pSetupIsGuidNull INTERNAL
|
|
pSetupIsUserAdmin INTERNAL
|
|
pSetupMakeSurePathExists INTERNAL
|
|
pSetupMalloc INTERNAL
|
|
pSetupModifyGlobalFlags INTERNAL
|
|
pSetupMultiByteToUnicode INTERNAL
|
|
pSetupOpenAndMapFileForRead INTERNAL
|
|
pSetupOutOfMemory INTERNAL
|
|
pSetupQueryMultiSzValueToArray INTERNAL
|
|
pSetupRealloc INTERNAL
|
|
pSetupRegistryDelnode INTERNAL
|
|
pSetupRetrieveServiceConfig INTERNAL
|
|
pSetupSetArrayToMultiSzValue INTERNAL
|
|
pSetupSetGlobalFlags INTERNAL
|
|
pSetupSetNoDriverPrompts INTERNAL
|
|
pSetupSetQueueFlags INTERNAL
|
|
pSetupSetSystemSourcePath INTERNAL
|
|
pSetupShouldDeviceBeExcluded INTERNAL
|
|
pSetupStringFromGuid INTERNAL
|
|
pSetupStringTableAddString INTERNAL
|
|
pSetupStringTableAddStringEx INTERNAL
|
|
pSetupStringTableDestroy INTERNAL
|
|
pSetupStringTableDuplicate INTERNAL
|
|
pSetupStringTableEnum INTERNAL
|
|
pSetupStringTableGetExtraData INTERNAL
|
|
pSetupStringTableInitialize INTERNAL
|
|
pSetupStringTableInitializeEx INTERNAL
|
|
pSetupStringTableLookUpString INTERNAL
|
|
pSetupStringTableLookUpStringEx INTERNAL
|
|
pSetupStringTableSetExtraData INTERNAL
|
|
pSetupStringTableStringFromId INTERNAL
|
|
pSetupStringTableStringFromIdEx INTERNAL
|
|
pSetupUnicodeToMultiByte INTERNAL
|
|
pSetupUnmapAndCloseFile INTERNAL
|
|
pSetupVerifyCatalogFile INTERNAL
|
|
pSetupVerifyFile INTERNAL
|
|
pSetupVerifyQueuedCatalogs INTERNAL
|
|
pSetupWriteLogEntry INTERNAL
|
|
pSetupWriteLogError INTERNAL
|
|
|
|
;
|
|
; internal API's accessed only via GetProcAddress
|
|
;
|
|
pSetupAccessRunOnceNodeList PRIVATE
|
|
pSetupDestroyRunOnceNodeList PRIVATE
|
|
|
|
#endif // !ANSI_SETUPAPI
|
|
|
|
;
|
|
; APPCOMPAT!!!!
|
|
; sadly this is here because MyFree got into a DDK
|
|
; this *must* call LocalFree
|
|
;
|
|
MyFree = OldMyFree PRIVATE
|
|
;
|
|
; APPCOMPAT!!!!
|
|
; it seems someone decided to use thse too
|
|
; these must work with MyFree
|
|
;
|
|
MyMalloc = OldMyMalloc PRIVATE
|
|
MyRealloc = OldMyRealloc PRIVATE
|
|
;
|
|
; APPCOMPAT!!!!
|
|
; Security API's
|
|
;
|
|
IsUserAdmin = pSetupIsUserAdmin PRIVATE
|
|
DoesUserHavePrivilege = pSetupDoesUserHavePrivilege PRIVATE
|
|
;
|
|
; APPCOMPAT!!!!
|
|
; Used by SQL7sp2 and Win2k hotfix.exe
|
|
; we just pretend to succeed but actually do nothing
|
|
;
|
|
#ifndef ANSI_SETUPAPI
|
|
InstallCatalog = OldInstallCatalog PRIVATE
|
|
#endif
|
|
|
|
;
|
|
; APPCOMPAT!!!!
|
|
; Used by Win2k hotfix.exe
|
|
; for now, route to new API's
|
|
;
|
|
#ifndef ANSI_SETUPAPI
|
|
VerifyCatalogFile = pSetupVerifyCatalogFile PRIVATE
|
|
UnicodeToMultiByte = pSetupUnicodeToMultiByte PRIVATE
|
|
#endif
|
|
|
|
;
|
|
; Used and linked to by various build tools
|
|
; will eventually be supersceeded by SetupEnumInfSections
|
|
;
|
|
SetupGetInfSections = pSetupGetInfSections
|
|
|
|
|