- implemented proper LDD/LDID handling
- implement Ctl*Ldd(), Ctl[GS]etLddPath, GenInstall (no real operations yet, I want help), InstallHinfSection - Stubbed out DiGetClassDevs16 (needed for e.g. Monkey Island 3 ;) - many new .spec stubs
This commit is contained in:
parent
2c5efe31c0
commit
559f432126
|
@ -10,6 +10,7 @@ LDDLLFLAGS = @LDDLLFLAGS@
|
|||
SYMBOLFILE = $(MODULE).tmp.o
|
||||
|
||||
C_SRCS = \
|
||||
devinst.c \
|
||||
infparse.c \
|
||||
setupx_main.c \
|
||||
stubs.c
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
/*
|
||||
* SetupAPI device installer
|
||||
*
|
||||
*/
|
||||
|
||||
#include "debugtools.h"
|
||||
#include "windef.h"
|
||||
#include "setupx16.h"
|
||||
#include "heap.h"
|
||||
|
||||
DEFAULT_DEBUG_CHANNEL(setupapi);
|
||||
|
||||
/*
|
||||
* Return a list of installed system devices.
|
||||
* Uses HKLM\\ENUM to list devices.
|
||||
*/
|
||||
RETERR16 WINAPI DiGetClassDevs16(LPLPDEVICE_INFO16 lplpdi,
|
||||
LPCSTR lpszClassName, HWND16 hwndParent, INT16 iFlags)
|
||||
{
|
||||
LPDEVICE_INFO16 lpdi;
|
||||
|
||||
FIXME("(%p, '%s', %04x, %04x), semi-stub.\n",
|
||||
lplpdi, lpszClassName, hwndParent, iFlags);
|
||||
lpdi = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(DEVICE_INFO16));
|
||||
lpdi->cbSize = sizeof(DEVICE_INFO16);
|
||||
*lplpdi = lpdi;
|
||||
return OK;
|
||||
}
|
|
@ -1,7 +1,12 @@
|
|||
/*
|
||||
* SetupX .inf file parsing functions
|
||||
*
|
||||
* FIXME: return values ???
|
||||
* FIXME:
|
||||
* - return values ???
|
||||
* - this should be reimplemented at some point to have its own
|
||||
* file parsing instead of using profile functions,
|
||||
* as some SETUPX exports probably demand that
|
||||
* (IpSaveRestorePosition, IpFindNextMatchLine, ...).
|
||||
*/
|
||||
|
||||
#include "debugtools.h"
|
||||
|
@ -10,6 +15,7 @@
|
|||
#include "heap.h"
|
||||
#include "wine/winbase16.h"
|
||||
#include "setupx16.h"
|
||||
#include "setupx_private.h"
|
||||
|
||||
DEFAULT_DEBUG_CHANNEL(setupx);
|
||||
|
||||
|
|
|
@ -4,83 +4,84 @@ owner setupapi
|
|||
|
||||
1 stub WEP
|
||||
2 pascal16 IpOpen(str ptr) IpOpen16
|
||||
3 stub IPOPENAPPEND
|
||||
3 stub IpOpenAppend #(str word)
|
||||
4 pascal16 IpClose(word) IpClose16
|
||||
5 stub IPGETLONGFIELD
|
||||
6 stub IPGETSTRINGFIELD
|
||||
7 stub IPFINDFIRSTLINE
|
||||
8 stub IPGETLINECOUNT
|
||||
9 stub IPGETFIELDCOUNT
|
||||
10 stub IPGETINTFIELD
|
||||
11 stub IPFINDNEXTLINE
|
||||
12 stub IPGETFILENAME
|
||||
13 stub VCPQUEUECOPY
|
||||
5 stub IpGetLongField #(word ptr word ptr)
|
||||
6 stub IpGetStringField #(word ptr word ptr word ptr)
|
||||
7 stub IpFindFirstLine #(word str str ptr)
|
||||
8 stub IpGetLineCount #(word str ptr)
|
||||
9 stub IpGetFieldCount #(word ptr ptr)
|
||||
10 stub IpGetIntField #(word ptr word ptr)
|
||||
11 stub IpFindNextLine #(word ptr)
|
||||
12 stub IpGetFileName #(word ptr word)
|
||||
13 stub VcpQueueCopy #(str str str str word word ptr word long)
|
||||
14 stub NOAUTORUNWNDPROC
|
||||
15 stub __DEBUGMSG
|
||||
16 stub __ASSERTMSG
|
||||
17 stub VCPQUEUEDELETE
|
||||
18 stub TPOPENFILE
|
||||
19 stub TPCLOSEFILE
|
||||
20 stub TPOPENSECTION
|
||||
21 stub TPCLOSESECTION
|
||||
22 stub TPCOMMITSECTION
|
||||
23 stub TPGETLINE
|
||||
24 stub TPGETNEXTLINE
|
||||
25 stub TPINSERTLINE
|
||||
26 stub TPREPLACELINE
|
||||
27 stub TPDELETELINE
|
||||
28 stub TPMOVELINE
|
||||
29 stub TPGETLINECONTENTS
|
||||
30 stub TPGETPRIVATEPROFILESTRING
|
||||
31 stub TPWRITEPRIVATEPROFILESTRING
|
||||
32 stub TPGETPROFILESTRING
|
||||
33 stub CTLSETLDD
|
||||
34 stub CTLGETLDD
|
||||
35 stub CTLFINDLDD
|
||||
36 stub CTLADDLDD
|
||||
37 stub CTLDELLDD
|
||||
17 stub VcpQueueDelete #(str str word long)
|
||||
18 stub TpOpenFile #(str ptr word)
|
||||
19 stub TpCloseFile #(word)
|
||||
20 stub TpOpenSection #(word ptr str word)
|
||||
21 stub TpCloseSection #(word)
|
||||
22 stub TpCommitSection #(word word str word)
|
||||
23 stub TpGetLine #(word str str word word ptr)
|
||||
24 stub TpGetNextLine #(word str str ptr)
|
||||
25 stub TpInsertLine #(word str str word word word)
|
||||
26 stub TpReplaceLine #(word str str word word word)
|
||||
27 stub TpDeleteLine #(word word word word)
|
||||
28 stub TpMoveLine #(word word word word word word)
|
||||
29 stub TpGetLineContents #(word ptr word ptr word word word)
|
||||
30 stub TpGetPrivateProfileString #(str str str ptr word str)
|
||||
31 stub TpWritePrivateProfileString #(str str str str)
|
||||
32 stub TpGetProfileString #(str str str ptr word)
|
||||
33 pascal16 CtlSetLdd(ptr) CtlSetLdd16
|
||||
34 pascal16 CtlGetLdd(ptr) CtlGetLdd16
|
||||
35 pascal16 CtlFindLdd(ptr) CtlFindLdd16
|
||||
36 pascal16 CtlAddLdd(ptr) CtlAddLdd16
|
||||
37 pascal16 CtlDelLdd(word) CtlDelLdd16
|
||||
38 pascal16 CtlGetLddPath(word ptr) CtlGetLddPath16
|
||||
39 stub SUREGCLOSEKEY
|
||||
40 stub SUREGCREATEKEY
|
||||
41 stub SUREGDELETEKEY
|
||||
42 stub SUREGDELETEVALUE
|
||||
43 stub SUREGENUMKEY
|
||||
44 stub SUREGENUMVALUE
|
||||
45 stub SUREGFLUSH
|
||||
46 stub SUREGINIT
|
||||
39 stub SURegCloseKey #(word)
|
||||
40 stub SURegCreateKey #(word)
|
||||
41 stub SURegDeleteKey #(word str)
|
||||
42 stub SURegDeleteValue #(word str)
|
||||
43 stub SURegEnumKey #(word long ptr long)
|
||||
44 stub SURegEnumValue #(word long str ptr ptr ptr ptr ptr)
|
||||
45 stub SURegFlush #()
|
||||
46 stub SURegInit #()
|
||||
47 pascal SURegOpenKey(word str ptr) SURegOpenKey
|
||||
48 stub SUREGQUERYVALUE
|
||||
49 stub SUREGQUERYVALUE16
|
||||
48 stub SURegQueryValue
|
||||
49 stub SURegQueryValue16 #(word str ptr ptr)
|
||||
50 pascal SURegQueryValueEx(long str ptr ptr ptr ptr) SURegQueryValueEx
|
||||
51 stub SUREGSETVALUE
|
||||
52 stub SUREGSETVALUE16
|
||||
53 stub SUREGSETVALUEEX
|
||||
54 stub SUREGSAVEKEY
|
||||
55 stub SUREGLOADKEY
|
||||
56 stub SUREGUNLOADKEY
|
||||
60 stub DISKINFOFROMLDID
|
||||
61 stub SUERRORTOIDS
|
||||
62 stub TPWRITEPROFILESTRING
|
||||
51 stub SURegSetValue
|
||||
52 stub SURegSetValue16 #(word str long ptr long)
|
||||
53 stub SURegSetValueEx #(word str long long ptr long)
|
||||
54 stub SURegSaveKey #(word str ptr)
|
||||
55 stub SURegLoadKey #(word str str)
|
||||
56 stub SURegUnLoadKey #(word str)
|
||||
60 stub DiskInfoFromLdid #(word ptr)
|
||||
61 stub suErrorToIds #(word word)
|
||||
62 stub TPWriteProfileString #(str str str)
|
||||
63 stub SURPLSETUP
|
||||
64 stub SUSTORELDIDPATH
|
||||
65 stub WILDCARDSTRCMPI
|
||||
101 pascal16 GenInstall(word str word) GenInstall16
|
||||
102 stub GENWININITRENAME
|
||||
102 stub GenWinInitRename #(str str word)
|
||||
103 pascal GenFormStrWithoutPlaceHolders(str str word) GenFormStrWithoutPlaceHolders16
|
||||
104 stub SETUPX
|
||||
105 stub CFGSETUPMERGE
|
||||
105 stub CfgSetupMerge #(word)
|
||||
106 stub INITDEPENDANTLDIDS
|
||||
107 stub CFGOBJFINDKEYCMD
|
||||
108 stub GENSUREGSETVALUEEX
|
||||
110 stub GENINSTALLEX
|
||||
111 stub GENCOPYLOGCONFIG2REG
|
||||
112 stub SUGETSETSETUPFLAGS
|
||||
114 stub CFGPARSELINE
|
||||
108 stub GenSURegSetValueEx
|
||||
109 stub GENINSTALLWITHQUEUE
|
||||
110 stub GenInstallEx #(word str word word ptr long)
|
||||
111 stub GenCopyLogConfig2Reg #(word word str)
|
||||
112 stub SUGetSetSetupFlags #(ptr word)
|
||||
114 stub CFGPARSELINE # returns array
|
||||
115 stub CFGSETAUTOPROCESS
|
||||
116 stub CFGOBJTOSTR
|
||||
117 stub CFGLNTOOBJ
|
||||
118 stub MATCHCMDEXT
|
||||
119 stub IPFINDNEXTMATCHLINE
|
||||
119 stub IpFindNextMatchLine #(word str ptr)
|
||||
120 stub P_SETDEFAULTOPTION
|
||||
121 stub CFGCLEANBOOT
|
||||
122 stub CFGMATCHCMDEXT
|
||||
|
@ -90,16 +91,24 @@ owner setupapi
|
|||
126 stub GENMAPROOTREGSTR2KEY
|
||||
127 stub P_CDROMOC
|
||||
128 stub P_MEDIAOC
|
||||
130 stub _SUFORMATMESSAGE
|
||||
131 stub SUVFORMATMESSAGE
|
||||
132 stub _SUFORMATMESSAGEBOX
|
||||
135 stub SUHELP
|
||||
140 stub SUVERCONFLICT
|
||||
141 stub SUVERCONFLICTINIT
|
||||
142 stub SUVERCONFLICTTERM
|
||||
143 stub SUCREATEEBD
|
||||
144 stub SUCOPYTOEBD
|
||||
145 stub SXISMSDOS7RUNNING
|
||||
129 stub CFGCLEAN1STBOOT
|
||||
130 stub suFormatMessage
|
||||
131 stub suvFormatMessage #(word str str word ptr)
|
||||
132 stub suFormatMessageBox
|
||||
#133 stub suHelp # W98SE conflict !!
|
||||
135 stub suHelp #(word word)
|
||||
#135 stub P_WEBTVOC # W98SE conflict !!
|
||||
136 stub P_WBEMOC
|
||||
137 stub P_THEMESOC
|
||||
138 stub P_IMAGINGOC
|
||||
139 stub P_SCHEMESOC
|
||||
140 stub suVerConflict #(word ptr word ptr)
|
||||
141 stub suVerConflictInit #(word)
|
||||
142 stub suVerConflictTerm #(ptr)
|
||||
# Emergency Boot Disk
|
||||
143 stub suCreateEBD #(word ptr long)
|
||||
144 stub suCopyToEBD
|
||||
145 stub sxIsMSDOS7Running #()
|
||||
150 stub DS_INIT
|
||||
151 stub DS_DESTROY
|
||||
152 stub DS_SSYNCDRIVES
|
||||
|
@ -112,60 +121,64 @@ owner setupapi
|
|||
159 stub DS_SETAVAILABLEPAD
|
||||
160 stub SXUPDATEDS
|
||||
170 stub SUSETMEM
|
||||
171 stub WRITEDMFBOOTDATA
|
||||
200 pascal vcpOpen(ptr str) vcpOpen16
|
||||
201 pascal vcpClose(word word word) vcpClose16
|
||||
202 stub VCPDEFCALLBACKPROC
|
||||
203 stub VCPENUMFILES
|
||||
204 stub VCPQUEUERENAME
|
||||
205 stub VSMGETSTRINGNAME
|
||||
206 stub VSMSTRINGDELETE
|
||||
207 stub VSMSTRINGADD
|
||||
208 stub VSMGETSTRINGRAWNAME
|
||||
209 stub IPSAVERESTOREPOSITION
|
||||
171 stub WriteDMFBootData #(word ptr word)
|
||||
200 pascal VcpOpen(ptr str) VcpOpen16
|
||||
201 pascal VcpClose(word word word) VcpClose16
|
||||
202 stub vcpDefCallbackProc #(ptr word word long long)
|
||||
203 stub vcpEnumFiles #(ptr long)
|
||||
204 stub VcpQueueRename #(str str str str word word long)
|
||||
205 stub vsmGetStringName #(word ptr word)
|
||||
206 stub vsmStringDelete #(word)
|
||||
207 stub vsmStringAdd #(str)
|
||||
208 stub vsmGetStringRawName #(word)
|
||||
209 stub IpSaveRestorePosition #(word word)
|
||||
210 pascal16 IpGetProfileString(word str str ptr word) IpGetProfileString16
|
||||
211 stub IPOPENEX
|
||||
212 stub IPOPENAPPENDEX
|
||||
213 stub VCPUICALLBACKPROC
|
||||
214 stub VCPADDMRUPATH
|
||||
300 stub DIBUILDCOMPATDRVLIST
|
||||
301 stub DIBUILDCLASSDRVLIST
|
||||
302 stub DIDESTROYDRIVERNODELIST
|
||||
303 stub DICREATEDEVICEINFO
|
||||
304 stub DIGETCLASSDEVS
|
||||
305 stub DIDESTROYDEVICEINFOLIST
|
||||
306 stub DIREMOVEDEVICE
|
||||
308 stub DICALLCLASSINSTALLER
|
||||
309 stub DICREATEDRIVERNODE
|
||||
310 stub DIDRAWMINIICON
|
||||
311 stub DIGETCLASSBITMAPINDEX
|
||||
312 stub DISELECTDEVICE
|
||||
313 stub DIINSTALLDEVICE
|
||||
314 stub DILOADCLASSICON
|
||||
315 stub DIASKFOROEMDISK
|
||||
316 stub DISPLAY_SETMODE
|
||||
317 stub DISPLAY_CLASSINSTALLER
|
||||
318 stub DICREATEDEVREGKEY
|
||||
319 stub DIOPENDEVREGKEY
|
||||
320 stub DIINSTALLDRVSECTION
|
||||
321 stub DIINSTALLCLASS
|
||||
322 stub DIOPENCLASSREGKEY
|
||||
323 stub DISPLAY_SETFONTSIZE
|
||||
324 stub DISPLAY_OPENFONTSIZEKEY
|
||||
325 stub DIBUILDCLASSDRVLISTFROMOLDINF
|
||||
326 stub DIISTHERENEEDTOCOPY
|
||||
333 stub DICHANGESTATE
|
||||
340 stub GETFCTN
|
||||
341 stub DIBUILDCLASSINFOLIST
|
||||
342 stub DIDESTROYCLASSINFOLIST
|
||||
343 stub DIGETDEVICECLASSINFO
|
||||
344 stub DIDELETEDEVREGKEY
|
||||
350 stub DISELECTOEMDRV
|
||||
351 stub DIGETINFCLASS
|
||||
360 stub GENINFLCTODEVNODE
|
||||
211 stub IpOpenEx #(str ptr word)
|
||||
212 stub IpOpenAppendEx #(str word word)
|
||||
213 stub vcpUICallbackProc #(ptr word word long long)
|
||||
214 stub VcpAddMRUPath #(str)
|
||||
300 stub DiBuildCompatDrvList #(ptr)
|
||||
301 stub DiBuildClassDrvList #(ptr)
|
||||
302 stub DiDestroyDriverNodeList #(ptr)
|
||||
303 stub DiCreateDeviceInfo #(ptr str long str str word)
|
||||
304 pascal16 DiGetClassDevs(ptr str word word) DiGetClassDevs16
|
||||
305 stub DiDestroyDeviceInfoList #(ptr)
|
||||
306 stub DiRemoveDevice #(ptr)
|
||||
308 stub DiCallClassInstaller #(word ptr)
|
||||
309 stub DiCreateDriverNode #(ptr word word word str str str str str str long)
|
||||
310 stub DiDrawMiniIcon
|
||||
311 stub DiGetClassBitmapIndex #(str ptr)
|
||||
312 stub DiSelectDevice #(ptr)
|
||||
313 stub DiInstallDevice #(ptr)
|
||||
314 stub DiLoadClassIcon #(str ptr ptr)
|
||||
315 stub DiAskForOEMDisk #(ptr)
|
||||
316 stub Display_SetMode #(ptr word word word)
|
||||
317 stub Display_ClassInstaller #(word ptr)
|
||||
318 stub DiCreateDevRegKey #(ptr ptr word str word)
|
||||
319 stub DiOpenDevRegKey #(ptr ptr word)
|
||||
320 stub DiInstallDrvSection #(str str str str long)
|
||||
321 stub DiInstallClass #(str long)
|
||||
322 stub DiOpenClassRegKey #(ptr str)
|
||||
323 stub Display_SetFontSize #(str)
|
||||
324 stub Display_OpenFontSizeKey #(ptr)
|
||||
325 stub DiBuildClassDrvListFromOldInf #(ptr str ptr long)
|
||||
326 stub DiIsThereNeedToCopy #(word long)
|
||||
333 stub DiChangeState #(ptr long long long)
|
||||
334 stub WALKSUBTREE
|
||||
340 stub GetFctn #(word str str ptr ptr)
|
||||
341 stub DiBuildClassInfoList #(ptr)
|
||||
342 stub DiDestroyClassInfoList #(ptr)
|
||||
343 stub DiGetDeviceClassInfo #(ptr ptr)
|
||||
344 stub DiDeleteDevRegKey #(ptr word)
|
||||
350 stub DiSelectOEMDrv #(word ptr)
|
||||
351 stub DiGetINFClass #(str word str long)
|
||||
353 stub DIPICKBESTDRIVER
|
||||
355 stub COPYINFFILE
|
||||
360 stub GenInfLCToDevNode #(word str word word long)
|
||||
361 stub GETDOSMESSAGE
|
||||
362 stub MOUSE_CLASSINSTALLER
|
||||
363 stub SXCOMPAREDOSAPPVER
|
||||
362 stub Mouse_ClassInstaller #(word ptr)
|
||||
363 stub sxCompareDosAppVer #(str str)
|
||||
364 stub MONITOR_CLASSINSTALLER
|
||||
365 stub FCEGETRESDESOFFSET
|
||||
366 stub FCEGETALLOCVALUE
|
||||
367 stub FCEADDRESDES
|
||||
|
@ -176,27 +189,30 @@ owner setupapi
|
|||
372 stub FCEGETOTHERVALUE
|
||||
373 stub FCEGETVALIDATEVALUE
|
||||
374 stub FCEWRITETHISFORCEDCONFIGNOW
|
||||
375 stub SUCREATEPROPERTYSHEETPAGE
|
||||
376 stub SUDESTROYPROPERTYSHEETPAGE
|
||||
377 stub SUPROPERTYSHEET
|
||||
380 stub DIREADREGLOGCONF
|
||||
381 stub DIREADREGCONF
|
||||
390 stub DIBUILDPOTENTIALDUPLICATESLIST
|
||||
395 stub INITSUBSTRDATA
|
||||
396 stub GETFIRSTSUBSTR
|
||||
397 stub GETNEXTSUBSTR
|
||||
400 stub BISFILEINVMM32
|
||||
401 stub DIINSTALLDRIVERFILES
|
||||
405 stub DIBUILDCLASSINFOLISTEX
|
||||
406 stub DIGETCLASSDEVSEX
|
||||
407 stub DICOPYREGSUBKEYVALUE
|
||||
410 stub IPGETVERSIONSTRING
|
||||
411 stub VCPEXPLAIN
|
||||
412 stub DIBUILDDRIVERINDEX
|
||||
413 stub DIADDSINGLEINFTODRVIDX
|
||||
375 stub SUCreatePropertySheetPage #(ptr)
|
||||
376 stub SUDestroyPropertySheetPage #(word)
|
||||
377 stub SUPropertySheet #(ptr)
|
||||
380 stub DiReadRegLogConf #(ptr str ptr ptr)
|
||||
381 stub DiReadRegConf #(ptr ptr ptr long)
|
||||
390 stub DiBuildPotentialDuplicatesList #(ptr ptr long ptr ptr)
|
||||
395 stub InitSubstrData #(ptr str)
|
||||
396 stub GetFirstSubstr #(ptr)
|
||||
397 stub GetNextSubstr #(ptr)
|
||||
398 stub INITSUBSTRDATAEX
|
||||
400 stub bIsFileInVMM32 #(str)
|
||||
401 stub DiInstallDriverFiles #(ptr)
|
||||
405 stub DiBuildClassInfoListEx #(ptr long)
|
||||
406 stub DiGetClassDevsEx #(ptr str str word word)
|
||||
407 stub DiCopyRegSubKeyValue #(word str str str)
|
||||
408 stub IPGETDRIVERDATE
|
||||
409 stub IPGETDRIVERVERSION
|
||||
410 stub IpGetVersionString #(str str ptr word str)
|
||||
411 stub VcpExplain #(ptr long)
|
||||
412 stub DiBuildDriverIndex #(word)
|
||||
413 stub DiAddSingleInfToDrvIdx #(str word word)
|
||||
414 stub FCEGETFLAGS
|
||||
450 stub UIMAKEDLGNONBOLD
|
||||
451 stub UIDELETENONBOLDFONT
|
||||
450 stub UiMakeDlgNonBold #(word)
|
||||
451 stub UiDeleteNonBoldFont #(word)
|
||||
500 stub SUEBDPAGE
|
||||
501 stub SUOCPAGE
|
||||
502 stub SXLISTSUBPROC
|
||||
|
@ -206,15 +222,51 @@ owner setupapi
|
|||
507 stub SXOCFIXNEEDS
|
||||
508 pascal16 CtlSetLddPath(word str) CtlSetLddPath16
|
||||
509 stub SXCALLOCPROC
|
||||
520 stub DIBUILDCLASSDRVINFOLIST
|
||||
521 stub DIBUILDCOMPATDRVINFOLIST
|
||||
522 stub DIDESTROYDRVINFOLIST
|
||||
523 stub DICONVERTDRIVERINFOTODRIVERNODE
|
||||
525 stub FIRSTBOOTMOVETODOSSTART
|
||||
526 stub DOSOPTENABLECURCFG
|
||||
527 pascal InstallHinfSection(word word str word) InstallHinfSection16
|
||||
510 stub BUILDINFOCS
|
||||
511 stub BUILDREGOCS
|
||||
512 stub DELETEOCS
|
||||
520 stub DiBuildClassDrvInfoList #(ptr)
|
||||
521 stub DiBuildCompatDrvInfoList #(ptr)
|
||||
522 stub DiDestroyDrvInfoList #(ptr)
|
||||
523 stub DiConvertDriverInfoToDriverNode #(ptr ptr)
|
||||
524 stub DISELECTBESTCOMPATDRV
|
||||
525 stub FirstBootMoveToDOSSTART #(str word)
|
||||
526 stub DOSOptEnableCurCfg #(str)
|
||||
527 pascal16 InstallHinfSection(word word str word) InstallHinfSection16
|
||||
528 stub SXMAKEUNCPATH
|
||||
529 stub SXISSBSSERVERFILE
|
||||
530 stub SXFINDBATCHFILES
|
||||
600 stub PIDCONSTRUCT
|
||||
601 stub PIDVALIDATE
|
||||
531 stub ISPANEUROPEAN
|
||||
532 stub UPGRADENIGGLINGS
|
||||
533 stub DISPLAY_ISSECONDDISPLAY
|
||||
534 stub ISWINDOWSFILE
|
||||
540 stub VERIFYSELECTEDDRIVER
|
||||
575 stub SXCALLMIGRATIONDLLS
|
||||
576 stub SXCALLMIGRATIONDLLS_RUNDLL
|
||||
600 stub PidConstruct #(str str str word)
|
||||
601 stub PidValidate #(str str)
|
||||
602 stub GETJAPANESEKEYBOARDTYPE
|
||||
610 stub CRC32COMPUTE
|
||||
621 stub SXSAVEINFO
|
||||
622 stub SXADDPAGEEX
|
||||
623 stub OPKREMOVEINSTALLEDNETDEVICE
|
||||
640 stub DOFIRSTRUNSCREENS
|
||||
700 stub SXSHOWREBOOTDLG
|
||||
701 stub SXSHOWREBOOTDLG_RUNDLL
|
||||
750 stub UIPOSITIONDIALOG
|
||||
775 stub ASPICLEAN
|
||||
800 stub EXTRACTCABFILE
|
||||
825 stub PIDGEN3
|
||||
826 stub GETSETUPINFO
|
||||
827 stub SETSETUPINFO
|
||||
828 stub GETKEYBOARDOPTIONS
|
||||
829 stub GETLOCALEOPTIONS
|
||||
830 stub SETINTLOPTIONS
|
||||
831 stub GETPRODUCTTYPE
|
||||
832 stub ISOPKMODE
|
||||
833 stub AUDITONETIMEINSTALL
|
||||
834 stub DISKDUP
|
||||
835 stub OPKPREINSTALL
|
||||
836 stub ISAUDITMODE
|
||||
837 stub ISAUDITAUTO
|
||||
838 stub GETVALIDEULA
|
||||
|
|
|
@ -6,11 +6,17 @@
|
|||
typedef UINT16 HINF16;
|
||||
typedef UINT16 LOGDISKID16;
|
||||
|
||||
#define LINE_LEN 256
|
||||
|
||||
/* error codes stuff */
|
||||
|
||||
typedef UINT16 RETERR16;
|
||||
#define OK 0
|
||||
#define IP_ERROR (UINT16)100
|
||||
#define TP_ERROR (UINT16)200
|
||||
#define VCP_ERROR (UINT16)300
|
||||
#define GEN_ERROR (UINT16)400
|
||||
#define DI_ERROR (UINT16)500
|
||||
|
||||
enum _IP_ERR {
|
||||
ERR_IP_INVALID_FILENAME = IP_ERROR+1,
|
||||
|
@ -21,7 +27,7 @@ enum _IP_ERR {
|
|||
ERR_IP_INVALID_INFFILE,
|
||||
ERR_IP_INVALID_HINF,
|
||||
ERR_IP_INVALID_FIELD,
|
||||
ERR_IP_SECTION_NOT_FOUND,
|
||||
ERR_IP_SECT_NOT_FOUND,
|
||||
ERR_IP_END_OF_SECTION,
|
||||
ERR_IP_PROFILE_NOT_FOUND,
|
||||
ERR_IP_LINE_NOT_FOUND,
|
||||
|
@ -31,7 +37,62 @@ enum _IP_ERR {
|
|||
ERR_IP_INVALID_INFTYPE
|
||||
};
|
||||
|
||||
/* logical disk identifiers (LDID) */
|
||||
enum _ERR_VCP {
|
||||
ERR_VCP_IOFAIL = VCP_ERROR+1,
|
||||
ERR_VCP_STRINGTOOLONG,
|
||||
ERR_VCP_NOMEM,
|
||||
ERR_VCP_QUEUEFULL,
|
||||
ERR_VCP_NOVHSTR,
|
||||
ERR_VCP_OVERFLOW,
|
||||
ERR_VCP_BADARG,
|
||||
ERR_VCP_UNINIT,
|
||||
ERR_VCP_NOTFOUND,
|
||||
ERR_VCP_BUSY,
|
||||
ERR_VCP_INTERRUPTED,
|
||||
ERR_VCP_BADDEST,
|
||||
ERR_VCP_SKIPPED,
|
||||
ERR_VCP_IO,
|
||||
ERR_VCP_LOCKED,
|
||||
ERR_VCP_WRONGDISK,
|
||||
ERR_VCP_CHANGEMODE,
|
||||
ERR_VCP_LDDINVALID,
|
||||
ERR_VCP_LDDFIND,
|
||||
ERR_VCP_LDDUNINIT,
|
||||
ERR_VCP_LDDPATH_INVALID,
|
||||
ERR_VCP_NOEXPANSION,
|
||||
ERR_VCP_NOTOPEN,
|
||||
ERR_VCP_NO_DIGITAL_SIGNATURE_CATALOG,
|
||||
ERR_VCP_NO_DIGITAL_SIGNATURE_FILE
|
||||
};
|
||||
|
||||
/****** logical disk management ******/
|
||||
|
||||
typedef struct _LOGDISKDESC_S { /* ldd */
|
||||
WORD cbSize; /* struct size */
|
||||
LOGDISKID16 ldid; /* logical disk ID */
|
||||
LPSTR pszPath; /* path this descriptor points to */
|
||||
LPSTR pszVolLabel; /* volume label of the disk related to it */
|
||||
LPSTR pszDiskName; /* name of this disk */
|
||||
WORD wVolTime; /* modification time of volume label */
|
||||
WORD wVolDate; /* modification date */
|
||||
DWORD dwSerNum; /* serial number of disk */
|
||||
WORD wFlags;
|
||||
} LOGDISKDESC_S, *LPLOGDISKDESC;
|
||||
|
||||
/** logical disk identifiers (LDID) **/
|
||||
|
||||
/* predefined LDIDs */
|
||||
#define LDID_PREDEF_START 0x0001
|
||||
#define LDID_PREDEF_END 0x7fff
|
||||
|
||||
/* registry-assigned LDIDs */
|
||||
#define LDID_VAR_START 0x7000
|
||||
#define LDID_VAR_END 0x7fff
|
||||
|
||||
/* dynamically assigned LDIDs */
|
||||
#define LDID_ASSIGN_START 0x8000
|
||||
#define LDID_ASSIGN_END 0xbfff
|
||||
|
||||
#define LDID_NULL 0
|
||||
#define LDID_ABSOLUTE ((UINT)-1)
|
||||
#define LDID_SRCPATH 1 /* setup source path */
|
||||
|
@ -63,16 +124,90 @@ enum _IP_ERR {
|
|||
#define LDID_OLD_WINBOOT 32 /* root subdir */
|
||||
#define LDID_OLD_WIN 33 /* old windows dir */
|
||||
|
||||
typedef struct {
|
||||
HINF16 hInf;
|
||||
HFILE hInfFile;
|
||||
LPSTR lpInfFileName;
|
||||
} INF_FILE;
|
||||
/* flags for GenInstall() */
|
||||
#define GENINSTALL_DO_FILES 1
|
||||
#define GENINSTALL_DO_INI 2
|
||||
#define GENINSTALL_DO_REG 4
|
||||
#define GENINSTALL_DO_INI2REG 8
|
||||
#define GENINSTALL_DO_CFGAUTO 16
|
||||
#define GENINSTALL_DO_LOGCONFIG 32
|
||||
#define GENINSTALL_DO_REGSRCPATH 64
|
||||
#define GENINSTALL_DO_PERUSER 128
|
||||
|
||||
extern INF_FILE *InfList;
|
||||
extern WORD InfNumEntries;
|
||||
#define GEINISTALL_DO_INIREG 14
|
||||
#define GENINSTALL_DO_ALL 255
|
||||
|
||||
extern LPCSTR IP_GetFileName(HINF16 hInf);
|
||||
extern void WINAPI GenFormStrWithoutPlaceHolders16( LPSTR szDst, LPCSTR szSrc, HINF16 hInf);
|
||||
/*
|
||||
* flags for InstallHinfSection()
|
||||
* 128 can be added, too. This means that the .inf file is provided by you
|
||||
* instead of being a 32 bit file (i.e. Windows .inf file).
|
||||
* In this case all files you install must be in the same dir
|
||||
* as your .inf file on the install disk.
|
||||
*/
|
||||
#define HOW_NEVER_REBOOT 0
|
||||
#define HOW_ALWAYS_SILENT_REBOOT 1
|
||||
#define HOW_ALWAYS_PROMPT_REBOOT 2
|
||||
#define HOW_SILENT_REBOOT 3
|
||||
#define HOW_PROMPT_REBOOT 4
|
||||
|
||||
/****** device installation stuff ******/
|
||||
|
||||
#define MAX_CLASS_NAME_LEN 32
|
||||
#define MAX_DEVNODE_ID_LEN 256
|
||||
#define MAX_GUID_STR 50
|
||||
|
||||
typedef struct _DEVICE_INFO
|
||||
{
|
||||
UINT16 cbSize;
|
||||
struct _DEVICE_INFO *lpNextDi;
|
||||
char szDescription[LINE_LEN];
|
||||
DWORD dnDevnode;
|
||||
HKEY hRegKey;
|
||||
char szRegSubkey[MAX_DEVNODE_ID_LEN];
|
||||
char szClassName[MAX_CLASS_NAME_LEN];
|
||||
DWORD Flags;
|
||||
HWND16 hwndParent;
|
||||
/*LPDRIVER_NODE*/ LPVOID lpCompatDrvList;
|
||||
/*LPDRIVER_NODE*/ LPVOID lpClassDrvList;
|
||||
/*LPDRIVER_NODE*/ LPVOID lpSelectedDriver;
|
||||
ATOM atDriverPath;
|
||||
ATOM atTempInfFile;
|
||||
HINSTANCE16 hinstClassInstaller;
|
||||
HINSTANCE16 hinstClassPropProvidor;
|
||||
HINSTANCE16 hinstDevicePropProvidor;
|
||||
HINSTANCE16 hinstBasicPropProvidor;
|
||||
FARPROC16 fpClassInstaller;
|
||||
FARPROC16 fpClassEnumPropPages;
|
||||
FARPROC16 fpDeviceEnumPropPages;
|
||||
FARPROC16 fpEnumBasicProperties;
|
||||
DWORD dwSetupReserved;
|
||||
DWORD dwClassInstallReserved;
|
||||
/*GENCALLBACKPROC*/ LPVOID gicpGenInstallCallBack;
|
||||
|
||||
LPARAM gicplParam;
|
||||
UINT16 InfType;
|
||||
|
||||
HINSTANCE16 hinstPrivateProblemHandler;
|
||||
FARPROC16 fpPrivateProblemHandler;
|
||||
LPARAM lpClassInstallParams;
|
||||
struct _DEVICE_INFO *lpdiChildList;
|
||||
DWORD dwFlagsEx;
|
||||
/*LPDRIVER_INFO*/ LPVOID lpCompatDrvInfoList;
|
||||
/*LPDRIVER_INFO*/ LPVOID lpClassDrvInfoList;
|
||||
char szClassGUID[MAX_GUID_STR];
|
||||
} DEVICE_INFO16, *LPDEVICE_INFO16, **LPLPDEVICE_INFO16;
|
||||
|
||||
|
||||
typedef LRESULT (CALLBACK *VIFPROC)(LPVOID lpvObj, UINT uMsg, WPARAM wParam, LPARAM lParam, LPARAM lparamRef);
|
||||
|
||||
extern void WINAPI GenFormStrWithoutPlaceHolders16(LPSTR,LPCSTR,HINF16);
|
||||
extern RETERR16 WINAPI IpOpen16(LPCSTR,HINF16 *);
|
||||
extern RETERR16 WINAPI IpClose16(HINF16);
|
||||
extern RETERR16 WINAPI CtlSetLdd16(LPLOGDISKDESC);
|
||||
extern RETERR16 WINAPI CtlGetLdd16(LPLOGDISKDESC);
|
||||
extern RETERR16 WINAPI CtlFindLdd16(LPLOGDISKDESC);
|
||||
extern RETERR16 WINAPI CtlAddLdd16(LPLOGDISKDESC);
|
||||
extern RETERR16 WINAPI CtlDelLdd16(LOGDISKID16);
|
||||
extern RETERR16 WINAPI GenInstall16(HINF16,LPCSTR,WORD);
|
||||
|
||||
#endif /* __SETUPX16_H */
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,29 @@
|
|||
#ifndef __SETUPX_PRIVATE_H
|
||||
#define __SETUPX_PRIVATE_H
|
||||
|
||||
#include "wine/windef16.h"
|
||||
|
||||
typedef struct tagLDD_LIST {
|
||||
LPLOGDISKDESC pldd;
|
||||
struct tagLDD_LIST *next;
|
||||
} LDD_LIST;
|
||||
|
||||
#define INIT_LDD(ldd, LDID) \
|
||||
do { \
|
||||
memset(&(ldd), 0, sizeof(LOGDISKDESC_S)); \
|
||||
(ldd).cbSize = sizeof(LOGDISKDESC_S); \
|
||||
ldd.ldid = LDID; \
|
||||
} while(0)
|
||||
|
||||
typedef struct {
|
||||
HINF16 hInf;
|
||||
HFILE hInfFile;
|
||||
LPSTR lpInfFileName;
|
||||
} INF_FILE;
|
||||
|
||||
extern INF_FILE *InfList;
|
||||
extern WORD InfNumEntries;
|
||||
|
||||
extern LPCSTR IP_GetFileName(HINF16 hInf);
|
||||
|
||||
#endif /* __SETUPX_PRIVATE_H */
|
Loading…
Reference in New Issue