File version 10.0.17763.1
Signed-off-by: Zhiyi Zhang zzhang@codeweavers.com --- v2: Simplify registry handling. Remove inconsistent tests. v3: Add a FIXME for unhandled errors in SetupDiGetDevicePropertyW. Thanks to Zeb.
dlls/setupapi/setupapi.spec | 158 +++++++++++++++++++++++++++++++++++- 1 file changed, 157 insertions(+), 1 deletion(-)
diff --git a/dlls/setupapi/setupapi.spec b/dlls/setupapi/setupapi.spec index 0b44e184fc..eb2dab204d 100644 --- a/dlls/setupapi/setupapi.spec +++ b/dlls/setupapi/setupapi.spec @@ -3,12 +3,16 @@ @ stub AddTagToGroupOrderListEntry @ stub AppendStringToMultiSz @ stdcall AssertFail(str long str) +@ stub CMP_GetBlockedDriverInfo +@ stub CMP_GetServerSideDeviceInstallFlags @ stub CMP_Init_Detection @ stub CMP_RegisterNotification @ stub CMP_Report_LogOn @ stub CMP_UnregisterNotification @ stdcall CMP_WaitNoPendingInstallEvents(long) @ stub CMP_WaitServices +@ stub CMP_WaitServicesAvailable +@ stub CM_Add_Driver_PackageW @ stub CM_Add_Empty_Log_Conf @ stub CM_Add_Empty_Log_Conf_Ex @ stub CM_Add_IDA @@ -18,6 +22,7 @@ @ stub CM_Add_Range @ stub CM_Add_Res_Des @ stub CM_Add_Res_Des_Ex +@ stub CM_Apply_PowerScheme @ stdcall CM_Connect_MachineA(str ptr) @ stdcall CM_Connect_MachineW(wstr ptr) @ stdcall CM_Create_DevNodeA(ptr str long long) @@ -29,6 +34,12 @@ @ stub CM_Delete_Class_Key_Ex @ stub CM_Delete_DevNode_Key @ stub CM_Delete_DevNode_Key_Ex +@ stub CM_Delete_Device_Interface_KeyA +@ stub CM_Delete_Device_Interface_KeyW +@ stub CM_Delete_Device_Interface_Key_ExA +@ stub CM_Delete_Device_Interface_Key_ExW +@ stub CM_Delete_Driver_PackageW +@ stub CM_Delete_PowerScheme @ stub CM_Delete_Range @ stub CM_Detect_Resource_Conflict @ stub CM_Detect_Resource_Conflict_Ex @@ -36,6 +47,7 @@ @ stub CM_Disable_DevNode_Ex @ stdcall CM_Disconnect_Machine(long) @ stub CM_Dup_Range_List +@ stub CM_Duplicate_PowerScheme @ stub CM_Enable_DevNode @ stub CM_Enable_DevNode_Ex @ stdcall CM_Enumerate_Classes(long ptr long) @@ -53,6 +65,7 @@ @ stub CM_Free_Res_Des @ stub CM_Free_Res_Des_Ex @ stub CM_Free_Res_Des_Handle +@ stub CM_Free_Resource_Conflict_Handle @ stdcall CM_Get_Child(ptr long long) @ stdcall CM_Get_Child_Ex(ptr long long ptr) @ stub CM_Get_Class_Key_NameA @@ -67,6 +80,10 @@ @ stdcall CM_Get_Class_Registry_PropertyW(ptr long ptr ptr long long ptr) @ stub CM_Get_Depth @ stub CM_Get_Depth_Ex +@ stub CM_Get_DevNode_Custom_PropertyA +@ stub CM_Get_DevNode_Custom_PropertyW +@ stub CM_Get_DevNode_Custom_Property_ExA +@ stub CM_Get_DevNode_Custom_Property_ExW @ stdcall CM_Get_DevNode_Registry_PropertyA(long long ptr ptr ptr long) @ stdcall CM_Get_DevNode_Registry_PropertyW(long long ptr ptr ptr long) @ stdcall CM_Get_DevNode_Registry_Property_ExA(long long ptr ptr ptr long ptr) @@ -123,13 +140,22 @@ @ stub CM_Get_Res_Des_Data_Ex @ stub CM_Get_Res_Des_Data_Size @ stub CM_Get_Res_Des_Data_Size_Ex +@ stub CM_Get_Resource_Conflict_Count +@ stub CM_Get_Resource_Conflict_DetailsA +@ stub CM_Get_Resource_Conflict_DetailsW @ stub CM_Get_Sibling @ stdcall CM_Get_Sibling_Ex(ptr long long ptr) @ stdcall CM_Get_Version() @ stub CM_Get_Version_Ex +@ stub CM_Import_PowerScheme +@ stub CM_Install_DevNodeW +@ stub CM_Install_DevNode_ExW @ stub CM_Intersect_Range_List @ stub CM_Invert_Range_List @ stub CM_Is_Dock_Station_Present +@ stub CM_Is_Dock_Station_Present_Ex +@ stub CM_Is_Version_Available +@ stub CM_Is_Version_Available_Ex @ stdcall CM_Locate_DevNodeA(ptr str long) @ stdcall CM_Locate_DevNodeW(ptr wstr long) @ stdcall CM_Locate_DevNode_ExA(ptr str long long) @@ -146,6 +172,10 @@ @ stub CM_Open_Class_Key_ExW @ stdcall CM_Open_DevNode_Key(long long long long ptr long) @ stub CM_Open_DevNode_Key_Ex +@ stub CM_Open_Device_Interface_KeyA +@ stub CM_Open_Device_Interface_KeyW +@ stub CM_Open_Device_Interface_Key_ExA +@ stub CM_Open_Device_Interface_Key_ExW @ stub CM_Query_And_Remove_SubTreeA @ stub CM_Query_And_Remove_SubTreeW @ stub CM_Query_And_Remove_SubTree_ExA @@ -156,6 +186,7 @@ @ stub CM_Query_Arbitrator_Free_Size_Ex @ stub CM_Query_Remove_SubTree @ stub CM_Query_Remove_SubTree_Ex +@ stub CM_Query_Resource_Conflict_List @ stdcall CM_Reenumerate_DevNode(ptr long) @ stdcall CM_Reenumerate_DevNode_Ex(ptr long ptr) @ stub CM_Register_Device_Driver @@ -170,11 +201,17 @@ @ stub CM_Remove_Unmarked_Children_Ex @ stub CM_Request_Device_EjectA @ stub CM_Request_Device_EjectW +@ stub CM_Request_Device_Eject_ExA +@ stub CM_Request_Device_Eject_ExW @ stub CM_Request_Eject_PC +@ stub CM_Request_Eject_PC_Ex @ stub CM_Reset_Children_Marks @ stub CM_Reset_Children_Marks_Ex +@ stub CM_RestoreAll_DefaultPowerSchemes +@ stub CM_Restore_DefaultPowerScheme @ stub CM_Run_Detection @ stub CM_Run_Detection_Ex +@ stub CM_Set_ActiveScheme @ stdcall CM_Set_Class_Registry_PropertyA(ptr long ptr long long ptr) @ stdcall CM_Set_Class_Registry_PropertyW(ptr long ptr long long ptr) @ stub CM_Set_DevNode_Problem @@ -198,8 +235,17 @@ @ stub CM_Unregister_Device_InterfaceW @ stub CM_Unregister_Device_Interface_ExA @ stub CM_Unregister_Device_Interface_ExW +@ stub CM_Write_UserPowerKey @ stdcall CaptureAndConvertAnsiArg(str ptr) @ stdcall CaptureStringArg(wstr ptr) +@ stub DriverStoreAddDriverPackageA +@ stub DriverStoreAddDriverPackageW +@ stub DriverStoreDeleteDriverPackageA +@ stub DriverStoreDeleteDriverPackageW +@ stub DriverStoreEnumDriverPackageA +@ stub DriverStoreEnumDriverPackageW +@ stub DriverStoreFindDriverPackageA +@ stub DriverStoreFindDriverPackageW @ stub CenterWindowRelativeToParent @ stub ConcatenatePaths @ stdcall DelayedMove(wstr wstr) @@ -233,6 +279,11 @@ @ stdcall MyRealloc(ptr long) @ stdcall OpenAndMapFileForRead(wstr ptr ptr ptr ptr) @ stub OutOfMemory +@ stub PnpEnumDrpFile +@ stub PnpIsFileAclIntact +@ stub PnpIsFileContentIntact +@ stub PnpIsFilePnpDriver +@ stub PnpRepairWindowsProtectedDriver @ stub QueryMultiSzValueToArray @ stdcall QueryRegistryValue(long wstr ptr ptr ptr) @ stub ReadAsciiOrUnicodeTextFile @@ -252,6 +303,8 @@ @ stdcall SetupAddToSourceListW(long wstr) @ stub SetupAdjustDiskSpaceListA @ stub SetupAdjustDiskSpaceListW +@ stub SetupBackupErrorA +@ stub SetupBackupErrorW @ stub SetupCancelTemporarySourceList @ stdcall SetupCloseFileQueue(ptr) @ stdcall SetupCloseInfFile(long) @@ -259,6 +312,8 @@ @ stdcall SetupCommitFileQueue(long long ptr ptr) SetupCommitFileQueueW @ stdcall SetupCommitFileQueueA(long long ptr ptr) @ stdcall SetupCommitFileQueueW(long long ptr ptr) +@ stub SetupConfigureWmiFromInfSectionA +@ stub SetupConfigureWmiFromInfSectionW @ stdcall SetupCopyErrorA(long str str str str str long long str long ptr) @ stdcall SetupCopyErrorW(long wstr wstr wstr wstr wstr long long wstr long ptr) @ stdcall SetupCopyOEMInfA(str str long long ptr long ptr ptr) @@ -273,6 +328,7 @@ @ stdcall SetupDeleteErrorA(long str str long long) @ stdcall SetupDeleteErrorW(long wstr wstr long long) @ stdcall SetupDestroyDiskSpaceList(long) +@ stub SetupDiApplyPowerScheme @ stub SetupDiAskForOEMDisk @ stdcall SetupDiBuildClassInfoList(long ptr long ptr) @ stdcall SetupDiBuildClassInfoListExA(long ptr long ptr str ptr) @@ -313,7 +369,11 @@ @ stdcall SetupDiEnumDeviceInterfaces(long ptr ptr long ptr) @ stdcall SetupDiEnumDriverInfoA(ptr ptr long long ptr) @ stdcall SetupDiEnumDriverInfoW(ptr ptr long long ptr) +@ stub SetupDiGetActualModelsSectionA +@ stub SetupDiGetActualModelsSectionW @ stdcall SetupDiGetActualSectionToInstallA(long str str long ptr ptr) +@ stub SetupDiGetActualSectionToInstallExA +@ stub SetupDiGetActualSectionToInstallExW @ stdcall SetupDiGetActualSectionToInstallW(long wstr wstr long ptr ptr) @ stdcall SetupDiGetClassBitmapIndex(ptr ptr) @ stdcall SetupDiGetClassDescriptionA(ptr str long ptr) @@ -332,6 +392,14 @@ @ stub SetupDiGetClassImageListExW @ stub SetupDiGetClassInstallParamsA @ stub SetupDiGetClassInstallParamsW +@ stub SetupDiGetClassPropertyExW +@ stub SetupDiGetClassPropertyKeys +@ stub SetupDiGetClassPropertyKeysExW +@ stub SetupDiGetClassPropertyW +@ stub SetupDiGetClassRegistryPropertyA +@ stub SetupDiGetClassRegistryPropertyW +@ stub SetupDiGetCustomDevicePropertyA +@ stub SetupDiGetCustomDevicePropertyW @ stub SetupDiGetDeviceInfoListClass @ stdcall SetupDiGetDeviceInfoListDetailA(ptr ptr) @ stdcall SetupDiGetDeviceInfoListDetailW(ptr ptr) @@ -342,6 +410,8 @@ @ stub SetupDiGetDeviceInterfaceAlias @ stdcall SetupDiGetDeviceInterfaceDetailA(long ptr ptr long ptr ptr) @ stdcall SetupDiGetDeviceInterfaceDetailW(long ptr ptr long ptr ptr) +@ stub SetupDiGetDeviceInterfacePropertyKeys +@ stub SetupDiGetDevicePropertyKeys @ stdcall SetupDiGetDevicePropertyW(ptr ptr ptr ptr ptr long ptr long) @ stdcall SetupDiGetDeviceRegistryPropertyA(long ptr long ptr ptr long ptr) @ stdcall SetupDiGetDeviceRegistryPropertyW(long ptr long ptr ptr long ptr) @@ -367,8 +437,10 @@ @ stub SetupDiInstallClassExW @ stdcall SetupDiInstallClassW(long wstr long ptr) @ stub SetupDiInstallDevice +@ stub SetupDiInstallDeviceInterfaces @ stub SetupDiInstallDriverFiles @ stdcall SetupDiLoadClassIcon(ptr ptr ptr) +@ stub SetupDiLoadDeviceIcon @ stub SetupDiMoveDuplicateDevice @ stdcall SetupDiOpenClassRegKey(ptr long) @ stdcall SetupDiOpenClassRegKeyExA(ptr long long str ptr) @@ -379,16 +451,31 @@ @ stdcall SetupDiOpenDeviceInterfaceA(ptr str long ptr) @ stub SetupDiOpenDeviceInterfaceRegKey @ stdcall SetupDiOpenDeviceInterfaceW(ptr wstr long ptr) +@ stub SetupDiRegisterCoDeviceInstallers @ stdcall SetupDiRegisterDeviceInfo(ptr ptr long ptr ptr ptr) @ stdcall SetupDiRemoveDevice(ptr ptr) @ stdcall SetupDiRemoveDeviceInterface(ptr ptr) +@ stub SetupDiReportAdditionalSoftwareRequested +@ stub SetupDiReportDeviceInstallError +@ stub SetupDiReportDriverNotFoundError +@ stub SetupDiReportDriverPackageImportationError +@ stub SetupDiReportGenericDriverInstalled +@ stub SetupDiReportPnPDeviceProblem +@ stub SetupDiRestartDevices @ stdcall SetupDiSelectBestCompatDrv(ptr ptr) @ stub SetupDiSelectDevice @ stub SetupDiSelectOEMDrv @ stdcall SetupDiSetClassInstallParamsA(ptr ptr ptr long) @ stdcall SetupDiSetClassInstallParamsW(ptr ptr ptr long) +@ stub SetupDiSetClassPropertyExW +@ stub SetupDiSetClassPropertyW +@ stub SetupDiSetClassRegistryPropertyA +@ stub SetupDiSetClassRegistryPropertyW @ stdcall SetupDiSetDeviceInstallParamsA(ptr ptr ptr) @ stdcall SetupDiSetDeviceInstallParamsW(ptr ptr ptr) +@ stub SetupDiSetDeviceInterfaceDefault +@ stub SetupDiSetDeviceInterfacePropertyW +@ stub SetupDiSetDevicePropertyW @ stdcall SetupDiSetDeviceRegistryPropertyA(ptr ptr long ptr long) @ stdcall SetupDiSetDeviceRegistryPropertyW(ptr ptr long ptr long) @ stub SetupDiSetDriverInstallParamsA @@ -401,6 +488,8 @@ @ stdcall SetupDuplicateDiskSpaceListW(ptr ptr long long) @ stdcall SetupEnumInfSectionsA(long long ptr long ptr) @ stdcall SetupEnumInfSectionsW(long long ptr long ptr) +@ stub SetupEnumPublishedInfA +@ stub SetupEnumPublishedInfW @ stdcall SetupFindFirstLineA(long str str ptr) @ stdcall SetupFindFirstLineW(long wstr wstr ptr) @ stdcall SetupFindNextLine(ptr ptr) @@ -418,10 +507,14 @@ @ stdcall SetupGetFileCompressionInfoW(wstr ptr ptr ptr ptr) @ stdcall SetupGetFileQueueCount(long long ptr) @ stdcall SetupGetFileQueueFlags(long ptr) +@ stub SetupGetInfDriverStoreLocationA +@ stub SetupGetInfDriverStoreLocationW @ stdcall SetupGetInfFileListA(str long ptr long ptr) @ stdcall SetupGetInfFileListW(wstr long ptr long ptr) @ stdcall SetupGetInfInformationA(ptr long ptr long ptr) @ stdcall SetupGetInfInformationW(ptr long ptr long ptr) +@ stub SetupGetInfPublishedNameA +@ stub SetupGetInfPublishedNameW @ stub SetupGetInfSections @ stdcall SetupGetIntField(ptr long ptr) @ stdcall SetupGetLineByIndexA(long str long ptr) @@ -443,6 +536,7 @@ @ stdcall SetupGetStringFieldW(ptr long ptr long ptr) @ stdcall SetupGetTargetPathA(ptr ptr str ptr long ptr) @ stdcall SetupGetTargetPathW(ptr ptr wstr ptr long ptr) +@ stub SetupGetThreadLogToken @ stdcall SetupInitDefaultQueueCallback(long) @ stdcall SetupInitDefaultQueueCallbackEx(long long long long ptr) @ stdcall SetupInitializeFileLogA (str long) @@ -455,6 +549,8 @@ @ stdcall SetupInstallFilesFromInfSectionW(long long long wstr wstr long) @ stdcall SetupInstallFromInfSectionA(long long str long long str long ptr ptr long ptr) @ stdcall SetupInstallFromInfSectionW(long long wstr long long wstr long ptr ptr long ptr) +@ stub SetupInstallLogCloseEventGroup +@ stub SetupInstallLogCreateEventGroup @ stdcall SetupInstallServicesFromInfSectionA(long str long) @ stub SetupInstallServicesFromInfSectionExA @ stub SetupInstallServicesFromInfSectionExW @@ -472,6 +568,8 @@ @ stdcall SetupOpenInfFileW(wstr wstr long ptr) @ stdcall SetupOpenLog(long) @ stdcall SetupOpenMasterInf() +@ stub SetupPrepareQueueForRestoreA +@ stub SetupPrepareQueueForRestoreW @ stdcall SetupPromptForDiskA(ptr str str str str str long ptr long ptr) @ stdcall SetupPromptForDiskW(ptr wstr wstr wstr wstr wstr long ptr long ptr) @ stdcall SetupPromptReboot(ptr ptr long) @@ -532,10 +630,17 @@ @ stub SetupSetPlatformPathOverrideW @ stdcall SetupSetSourceListA(long ptr long) @ stdcall SetupSetSourceListW(long ptr long) +@ stub SetupSetThreadLogToken @ stdcall SetupTermDefaultQueueCallback(ptr) @ stdcall SetupTerminateFileLog(long) +@ stub SetupUninstallNewlyCopiedInfs @ stdcall SetupUninstallOEMInfA(str long ptr) @ stdcall SetupUninstallOEMInfW(wstr long ptr) +@ stub SetupVerifyInfFileA +@ stub SetupVerifyInfFileW +@ stub SetupWriteTextLog +@ stub SetupWriteTextLogError +@ stub SetupWriteTextLogInfLine @ stub ShouldDeviceBeExcluded @ stdcall StampFileSecurity(wstr ptr) @ stdcall StringTableAddString(ptr wstr long) @@ -557,28 +662,71 @@ @ stdcall UnmapAndCloseFile(long long ptr) @ stub VerifyCatalogFile @ stub VerifyFile +@ stub pGetDriverPackageHash @ stub pSetupAccessRunOnceNodeList @ stub pSetupAddMiniIconToList @ stub pSetupAddTagToGroupOrderListEntry +@ stub pSetupAppendPath @ stub pSetupAppendStringToMultiSz +@ stub pSetupCaptureAndConvertAnsiArg +@ stub pSetupCenterWindowRelativeToParent +@ stub pSetupCloseTextLogSection +@ stub pSetupConcatenatePaths +@ stub pSetupCreateTextLogSectionA +@ stub pSetupCreateTextLogSectionW @ stub pSetupDestroyRunOnceNodeList +@ stub pSetupDiBuildInfoDataFromStrongName +@ stub pSetupDiCrimsonLogDeviceInstall +@ stub pSetupDiEnumSelectedDrivers +@ stub pSetupDiGetDriverInfoExtensionId +@ stub pSetupDiGetStrongNameForDriverNode +@ stub pSetupDiInvalidateHelperModules @ stub pSetupDirectoryIdToPath +@ stub pSetupDoLastKnownGoodBackup +@ stub pSetupDoesUserHavePrivilege +@ stub pSetupDuplicateString +@ stub pSetupEnablePrivilege @ stdcall pSetupFree(ptr) MyFree +@ stub pSetupGetCurrentDriverSigningPolicy +@ stub pSetupGetDriverDate +@ stub pSetupGetDriverVersion @ stdcall pSetupGetField(ptr long) +@ stub pSetupGetFileTitle @ stdcall pSetupGetGlobalFlags() +@ stub pSetupGetIndirectStringsFromDriverInfo +@ stub pSetupGetInfSections @ stub pSetupGetOsLoaderDriveAndPath @ stdcall pSetupGetQueueFlags(ptr) +@ stub pSetupGetRealSystemTime @ stub pSetupGetVersionDatum @ stub pSetupGuidFromString -@ stub pSetupIsGuidNull +@ stub pSetupHandleFailedVerification +@ stub pSetupInfGetDigitalSignatureInfo +@ stub pSetupInfIsInbox +@ stub pSetupInfSetDigitalSignatureInfo @ stdcall pSetupInstallCatalog(wstr wstr ptr) +@ stub pSetupIsBiDiLocalizedSystemEx +@ stub pSetupIsGuidNull +@ stub pSetupIsLocalSystem @ stdcall pSetupIsUserAdmin() IsUserAdmin +@ stub pSetupIsUserTrustedInstaller +@ stub pSetupLoadIndirectString @ stub pSetupMakeSurePathExists @ stdcall pSetupMalloc(long) MyMalloc +@ stub pSetupModifyGlobalFlags +@ stub pSetupMultiByteToUnicode +@ stub pSetupOpenAndMapFileForRead +@ stub pSetupOutOfMemory +@ stub pSetupQueryMultiSzValueToArray @ stdcall pSetupRealloc(ptr long) MyRealloc +@ stub pSetupRegistryDelnode +@ stub pSetupRetrieveServiceConfig +@ stub pSetupSetArrayToMultiSzValue +@ stub pSetupSetDriverPackageRestorePoint @ stdcall pSetupSetGlobalFlags(long) @ stdcall pSetupSetQueueFlags(ptr long) @ stub pSetupSetSystemSourceFlags +@ stub pSetupShouldDeviceBeExcluded @ stub pSetupStringFromGuid @ stdcall pSetupStringTableAddString(ptr wstr long) StringTableAddString @ stdcall pSetupStringTableAddStringEx(ptr wstr long ptr long) StringTableAddStringEx @@ -591,5 +739,13 @@ @ stdcall pSetupStringTableLookUpString(ptr wstr long) StringTableLookUpString @ stdcall pSetupStringTableLookUpStringEx(ptr wstr long ptr ptr) StringTableLookUpStringEx @ stdcall pSetupStringTableSetExtraData(ptr long ptr long) StringTableSetExtraData +@ stub pSetupStringTableStringFromId +@ stub pSetupStringTableStringFromIdEx +@ stub pSetupUnicodeToMultiByte +@ stub pSetupUninstallCatalog +@ stub pSetupUnmapAndCloseFile +@ stub pSetupValidateDriverPackage @ stub pSetupVerifyCatalogFile @ stub pSetupVerifyQueuedCatalogs +@ stub pSetupWriteLogEntry +@ stub pSetupWriteLogError
Zhiyi Zhang zzhang@codeweavers.com writes:
File version 10.0.17763.1
Signed-off-by: Zhiyi Zhang zzhang@codeweavers.com
v2: Simplify registry handling. Remove inconsistent tests. v3: Add a FIXME for unhandled errors in SetupDiGetDevicePropertyW. Thanks to Zeb.
In general it's better to add new exports as commented out stubs, and uncomment them as they are implemented. Otherwise an app that works today may see the stubs and start calling them.