// // 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