-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetupapi.bi
More file actions
1732 lines (1601 loc) · 112 KB
/
Copy pathsetupapi.bi
File metadata and controls
1732 lines (1601 loc) · 112 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
#pragma once
#include once "_mingw_unicode.bi"
#include once "commctrl.bi"
#include once "devpropdef.bi"
#if defined(__FB_WIN32__) and defined(__FB_64BIT__)
#include once "pshpack8.bi"
#else
#include once "pshpack1.bi"
#endif
#include once "poppack.bi"
#define _INC_SETUPAPI
#define WINSETUPAPI DECLSPEC_IMPORT
const _SETUPAPI_VER = &h0502
#define __LPGUID_DEFINED__
type LPGUID as GUID ptr
const LINE_LEN = 256
const MAX_INF_STRING_LENGTH = 4096
const MAX_INF_SECTION_NAME_LENGTH = 255
const MAX_TITLE_LEN = 60
const MAX_INSTRUCTION_LEN = 256
const MAX_LABEL_LEN = 30
const MAX_SERVICE_NAME_LEN = 256
const MAX_SUBTITLE_LEN = 256
#define SP_MAX_MACHINENAME_LENGTH (MAX_PATH + 3)
type HINF as PVOID
type _INFCONTEXT
Inf as PVOID
CurrentInf as PVOID
Section as UINT
Line as UINT
end type
type INFCONTEXT as _INFCONTEXT
type PINFCONTEXT as _INFCONTEXT ptr
type _SP_INF_INFORMATION
InfStyle as DWORD
InfCount as DWORD
VersionData(0 to ANYSIZE_ARRAY - 1) as BYTE
end type
type SP_INF_INFORMATION as _SP_INF_INFORMATION
type PSP_INF_INFORMATION as _SP_INF_INFORMATION ptr
type _SP_ALTPLATFORM_INFO_V2
cbSize as DWORD
Platform as DWORD
MajorVersion as DWORD
MinorVersion as DWORD
ProcessorArchitecture as WORD
'' TODO: __C89_NAMELESS union { WORD Reserved; WORD Flags; };
FirstValidatedMajorVersion as DWORD
FirstValidatedMinorVersion as DWORD
end type
type SP_ALTPLATFORM_INFO_V2 as _SP_ALTPLATFORM_INFO_V2
type PSP_ALTPLATFORM_INFO_V2 as _SP_ALTPLATFORM_INFO_V2 ptr
type _SP_ALTPLATFORM_INFO_V1
cbSize as DWORD
Platform as DWORD
MajorVersion as DWORD
MinorVersion as DWORD
ProcessorArchitecture as WORD
Reserved as WORD
end type
type SP_ALTPLATFORM_INFO_V1 as _SP_ALTPLATFORM_INFO_V1
type PSP_ALTPLATFORM_INFO_V1 as _SP_ALTPLATFORM_INFO_V1 ptr
type SP_ALTPLATFORM_INFO as SP_ALTPLATFORM_INFO_V2
type PSP_ALTPLATFORM_INFO as PSP_ALTPLATFORM_INFO_V2
const SP_ALTPLATFORM_FLAGS_VERSION_RANGE = &h0001
type _SP_ORIGINAL_FILE_INFO_A
cbSize as DWORD
OriginalInfName(0 to MAX_PATH - 1) as CHAR
OriginalCatalogName(0 to MAX_PATH - 1) as CHAR
end type
type SP_ORIGINAL_FILE_INFO_A as _SP_ORIGINAL_FILE_INFO_A
type PSP_ORIGINAL_FILE_INFO_A as _SP_ORIGINAL_FILE_INFO_A ptr
type _SP_ORIGINAL_FILE_INFO_W
cbSize as DWORD
OriginalInfName(0 to MAX_PATH - 1) as WCHAR
OriginalCatalogName(0 to MAX_PATH - 1) as WCHAR
end type
type SP_ORIGINAL_FILE_INFO_W as _SP_ORIGINAL_FILE_INFO_W
type PSP_ORIGINAL_FILE_INFO_W as _SP_ORIGINAL_FILE_INFO_W ptr
'' TODO: __MINGW_TYPEDEF_UAW(SP_ORIGINAL_FILE_INFO) __MINGW_TYPEDEF_UAW(PSP_ORIGINAL_FILE_INFO) typedef UINT (CALLBACK *PSP_FILE_CALLBACK_A)(PVOID Context,UINT Notification,UINT_PTR Param1,UINT_PTR Param2);
const INF_STYLE_NONE = &h00000000
const INF_STYLE_OLDNT = &h00000001
const INF_STYLE_WIN4 = &h00000002
const INF_STYLE_CACHE_ENABLE = &h00000010
const INF_STYLE_CACHE_DISABLE = &h00000020
const INF_STYLE_CACHE_IGNORE = &h00000040
const DIRID_ABSOLUTE = -1
const DIRID_ABSOLUTE_16BIT = &hffff
const DIRID_NULL = 0
const DIRID_SRCPATH = 1
const DIRID_WINDOWS = 10
const DIRID_SYSTEM = 11
const DIRID_DRIVERS = 12
const DIRID_IOSUBSYS = DIRID_DRIVERS
const DIRID_INF = 17
const DIRID_HELP = 18
const DIRID_FONTS = 20
const DIRID_VIEWERS = 21
const DIRID_COLOR = 23
const DIRID_APPS = 24
const DIRID_SHARED = 25
const DIRID_BOOT = 30
const DIRID_SYSTEM16 = 50
const DIRID_SPOOL = 51
const DIRID_SPOOLDRIVERS = 52
const DIRID_USERPROFILE = 53
const DIRID_LOADER = 54
const DIRID_PRINTPROCESSOR = 55
const DIRID_DEFAULT = DIRID_SYSTEM
const DIRID_COMMON_STARTMENU = 16406
const DIRID_COMMON_PROGRAMS = 16407
const DIRID_COMMON_STARTUP = 16408
const DIRID_COMMON_DESKTOPDIRECTORY = 16409
const DIRID_COMMON_FAVORITES = 16415
const DIRID_COMMON_APPDATA = 16419
const DIRID_PROGRAM_FILES = 16422
const DIRID_SYSTEM_X86 = 16425
const DIRID_PROGRAM_FILES_X86 = 16426
const DIRID_PROGRAM_FILES_COMMON = 16427
const DIRID_PROGRAM_FILES_COMMONX86 = 16428
const DIRID_COMMON_TEMPLATES = 16429
const DIRID_COMMON_DOCUMENTS = 16430
const DIRID_USER = &h8000
'' TODO: typedef UINT (CALLBACK *PSP_FILE_CALLBACK_W)(PVOID Context,UINT Notification,UINT_PTR Param1,UINT_PTR Param2);
#define PSP_FILE_CALLBACK __MINGW_NAME_UAW(PSP_FILE_CALLBACK)
const SPFILENOTIFY_STARTQUEUE = &h00000001
const SPFILENOTIFY_ENDQUEUE = &h00000002
const SPFILENOTIFY_STARTSUBQUEUE = &h00000003
const SPFILENOTIFY_ENDSUBQUEUE = &h00000004
const SPFILENOTIFY_STARTDELETE = &h00000005
const SPFILENOTIFY_ENDDELETE = &h00000006
const SPFILENOTIFY_DELETEERROR = &h00000007
const SPFILENOTIFY_STARTRENAME = &h00000008
const SPFILENOTIFY_ENDRENAME = &h00000009
const SPFILENOTIFY_RENAMEERROR = &h0000000a
const SPFILENOTIFY_STARTCOPY = &h0000000b
const SPFILENOTIFY_ENDCOPY = &h0000000c
const SPFILENOTIFY_COPYERROR = &h0000000d
const SPFILENOTIFY_NEEDMEDIA = &h0000000e
const SPFILENOTIFY_QUEUESCAN = &h0000000f
const SPFILENOTIFY_CABINETINFO = &h00000010
const SPFILENOTIFY_FILEINCABINET = &h00000011
const SPFILENOTIFY_NEEDNEWCABINET = &h00000012
const SPFILENOTIFY_FILEEXTRACTED = &h00000013
const SPFILENOTIFY_FILEOPDELAYED = &h00000014
const SPFILENOTIFY_STARTBACKUP = &h00000015
const SPFILENOTIFY_BACKUPERROR = &h00000016
const SPFILENOTIFY_ENDBACKUP = &h00000017
const SPFILENOTIFY_QUEUESCAN_EX = &h00000018
const SPFILENOTIFY_STARTREGISTRATION = &h00000019
const SPFILENOTIFY_ENDREGISTRATION = &h00000020
const SPFILENOTIFY_QUEUESCAN_SIGNERINFO = &h00000040
const SPFILENOTIFY_LANGMISMATCH = &h00010000
const SPFILENOTIFY_TARGETEXISTS = &h00020000
const SPFILENOTIFY_TARGETNEWER = &h00040000
const FILEOP_COPY = 0
const FILEOP_RENAME = 1
const FILEOP_DELETE = 2
const FILEOP_BACKUP = 3
const FILEOP_ABORT = 0
const FILEOP_DOIT = 1
const FILEOP_SKIP = 2
const FILEOP_RETRY = FILEOP_DOIT
const FILEOP_NEWPATH = 4
const COPYFLG_WARN_IF_SKIP = &h00000001
const COPYFLG_NOSKIP = &h00000002
const COPYFLG_NOVERSIONCHECK = &h00000004
const COPYFLG_FORCE_FILE_IN_USE = &h00000008
const COPYFLG_NO_OVERWRITE = &h00000010
const COPYFLG_NO_VERSION_DIALOG = &h00000020
const COPYFLG_OVERWRITE_OLDER_ONLY = &h00000040
const COPYFLG_REPLACEONLY = &h00000400
const COPYFLG_NODECOMP = &h00000800
const COPYFLG_REPLACE_BOOT_FILE = &h00001000
const COPYFLG_NOPRUNE = &h00002000
const DELFLG_IN_USE = &h00000001
const DELFLG_IN_USE1 = &h00010000
type _FILEPATHS_A
Target as PCSTR
Source as PCSTR
Win32Error as UINT
Flags as DWORD
end type
type FILEPATHS_A as _FILEPATHS_A
type PFILEPATHS_A as _FILEPATHS_A ptr
type _FILEPATHS_W
Target as PCWSTR
Source as PCWSTR
Win32Error as UINT
Flags as DWORD
end type
type FILEPATHS_W as _FILEPATHS_W
type PFILEPATHS_W as _FILEPATHS_W ptr
'' TODO: __MINGW_TYPEDEF_UAW(FILEPATHS) __MINGW_TYPEDEF_UAW(PFILEPATHS) typedef struct _FILEPATHS_SIGNERINFO_A { PCSTR Target; PCSTR Source; UINT Win32Error; DWORD Flags; PCSTR DigitalSigner; PCSTR Version; PCSTR CatalogFile; } FILEPATHS_SIGNERINFO_A,*PFILEPATHS_SIGNERINFO_A;
type _FILEPATHS_SIGNERINFO_W
Target as PCWSTR
Source as PCWSTR
Win32Error as UINT
Flags as DWORD
DigitalSigner as PCWSTR
Version as PCWSTR
CatalogFile as PCWSTR
end type
type FILEPATHS_SIGNERINFO_W as _FILEPATHS_SIGNERINFO_W
type PFILEPATHS_SIGNERINFO_W as _FILEPATHS_SIGNERINFO_W ptr
'' TODO: __MINGW_TYPEDEF_UAW(FILEPATHS_SIGNERINFO) __MINGW_TYPEDEF_UAW(PFILEPATHS_SIGNERINFO) typedef struct _SOURCE_MEDIA_A { PCSTR Reserved; PCSTR Tagfile; PCSTR Description; PCSTR SourcePath; PCSTR SourceFile; DWORD Flags; } SOURCE_MEDIA_A,*PSOURCE_MEDIA_A;
type _SOURCE_MEDIA_W
Reserved as PCWSTR
Tagfile as PCWSTR
Description as PCWSTR
SourcePath as PCWSTR
SourceFile as PCWSTR
Flags as DWORD
end type
type SOURCE_MEDIA_W as _SOURCE_MEDIA_W
type PSOURCE_MEDIA_W as _SOURCE_MEDIA_W ptr
'' TODO: __MINGW_TYPEDEF_UAW(SOURCE_MEDIA) __MINGW_TYPEDEF_UAW(PSOURCE_MEDIA) typedef struct _CABINET_INFO_A { PCSTR CabinetPath; PCSTR CabinetFile; PCSTR DiskName; USHORT SetId; USHORT CabinetNumber; } CABINET_INFO_A,*PCABINET_INFO_A;
type _CABINET_INFO_W
CabinetPath as PCWSTR
CabinetFile as PCWSTR
DiskName as PCWSTR
SetId as USHORT
CabinetNumber as USHORT
end type
type CABINET_INFO_W as _CABINET_INFO_W
type PCABINET_INFO_W as _CABINET_INFO_W ptr
'' TODO: __MINGW_TYPEDEF_UAW(CABINET_INFO) __MINGW_TYPEDEF_UAW(PCABINET_INFO) typedef struct _FILE_IN_CABINET_INFO_A { PCSTR NameInCabinet; DWORD FileSize; DWORD Win32Error; WORD DosDate; WORD DosTime; WORD DosAttribs; CHAR FullTargetName[MAX_PATH]; } FILE_IN_CABINET_INFO_A,*PFILE_IN_CABINET_INFO_A;
type _FILE_IN_CABINET_INFO_W
NameInCabinet as PCWSTR
FileSize as DWORD
Win32Error as DWORD
DosDate as WORD
DosTime as WORD
DosAttribs as WORD
FullTargetName(0 to MAX_PATH - 1) as WCHAR
end type
type FILE_IN_CABINET_INFO_W as _FILE_IN_CABINET_INFO_W
type PFILE_IN_CABINET_INFO_W as _FILE_IN_CABINET_INFO_W ptr
'' TODO: __MINGW_TYPEDEF_UAW(FILE_IN_CABINET_INFO) __MINGW_TYPEDEF_UAW(PFILE_IN_CABINET_INFO) typedef struct _SP_REGISTER_CONTROL_STATUSA { DWORD cbSize; PCSTR FileName; DWORD Win32Error; DWORD FailureCode; } SP_REGISTER_CONTROL_STATUSA,*PSP_REGISTER_CONTROL_STATUSA;
type _SP_REGISTER_CONTROL_STATUSW
cbSize as DWORD
FileName as PCWSTR
Win32Error as DWORD
FailureCode as DWORD
end type
type SP_REGISTER_CONTROL_STATUSW as _SP_REGISTER_CONTROL_STATUSW
type PSP_REGISTER_CONTROL_STATUSW as _SP_REGISTER_CONTROL_STATUSW ptr
'' TODO: __MINGW_TYPEDEF_AW(SP_REGISTER_CONTROL_STATUS) __MINGW_TYPEDEF_AW(PSP_REGISTER_CONTROL_STATUS) typedef PVOID HSPFILEQ;
const SPREG_SUCCESS = &h00000000
const SPREG_LOADLIBRARY = &h00000001
const SPREG_GETPROCADDR = &h00000002
const SPREG_REGSVR = &h00000003
const SPREG_DLLINSTALL = &h00000004
const SPREG_TIMEOUT = &h00000005
const SPREG_UNKNOWN = &hFFFFFFFF
type _SP_FILE_COPY_PARAMS_A
cbSize as DWORD
QueueHandle as HSPFILEQ
SourceRootPath as PCSTR
SourcePath as PCSTR
SourceFilename as PCSTR
SourceDescription as PCSTR
SourceTagfile as PCSTR
TargetDirectory as PCSTR
TargetFilename as PCSTR
CopyStyle as DWORD
LayoutInf as HINF
SecurityDescriptor as PCSTR
end type
type SP_FILE_COPY_PARAMS_A as _SP_FILE_COPY_PARAMS_A
type PSP_FILE_COPY_PARAMS_A as _SP_FILE_COPY_PARAMS_A ptr
type _SP_FILE_COPY_PARAMS_W
cbSize as DWORD
QueueHandle as HSPFILEQ
SourceRootPath as PCWSTR
SourcePath as PCWSTR
SourceFilename as PCWSTR
SourceDescription as PCWSTR
SourceTagfile as PCWSTR
TargetDirectory as PCWSTR
TargetFilename as PCWSTR
CopyStyle as DWORD
LayoutInf as HINF
SecurityDescriptor as PCWSTR
end type
type SP_FILE_COPY_PARAMS_W as _SP_FILE_COPY_PARAMS_W
type PSP_FILE_COPY_PARAMS_W as _SP_FILE_COPY_PARAMS_W ptr
'' TODO: __MINGW_TYPEDEF_UAW(SP_FILE_COPY_PARAMS) __MINGW_TYPEDEF_UAW(PSP_FILE_COPY_PARAMS) typedef PVOID HDSKSPC;
type HDEVINFO as PVOID
type _SP_DEVINFO_DATA
cbSize as DWORD
ClassGuid as GUID
DevInst as DWORD
Reserved as ULONG_PTR
end type
type SP_DEVINFO_DATA as _SP_DEVINFO_DATA
type PSP_DEVINFO_DATA as _SP_DEVINFO_DATA ptr
type _SP_DEVICE_INTERFACE_DATA
cbSize as DWORD
InterfaceClassGuid as GUID
Flags as DWORD
Reserved as ULONG_PTR
end type
type SP_DEVICE_INTERFACE_DATA as _SP_DEVICE_INTERFACE_DATA
type PSP_DEVICE_INTERFACE_DATA as _SP_DEVICE_INTERFACE_DATA ptr
const SPINT_ACTIVE = &h00000001
const SPINT_DEFAULT = &h00000002
const SPINT_REMOVED = &h00000004
type SP_INTERFACE_DEVICE_DATA as SP_DEVICE_INTERFACE_DATA
type PSP_INTERFACE_DEVICE_DATA as PSP_DEVICE_INTERFACE_DATA
const SPID_ACTIVE = SPINT_ACTIVE
const SPID_DEFAULT = SPINT_DEFAULT
const SPID_REMOVED = SPINT_REMOVED
type _SP_DEVICE_INTERFACE_DETAIL_DATA_A
cbSize as DWORD
DevicePath(0 to ANYSIZE_ARRAY - 1) as CHAR
end type
type SP_DEVICE_INTERFACE_DETAIL_DATA_A as _SP_DEVICE_INTERFACE_DETAIL_DATA_A
type PSP_DEVICE_INTERFACE_DETAIL_DATA_A as _SP_DEVICE_INTERFACE_DETAIL_DATA_A ptr
type _SP_DEVICE_INTERFACE_DETAIL_DATA_W
cbSize as DWORD
DevicePath(0 to ANYSIZE_ARRAY - 1) as WCHAR
end type
type SP_DEVICE_INTERFACE_DETAIL_DATA_W as _SP_DEVICE_INTERFACE_DETAIL_DATA_W
type PSP_DEVICE_INTERFACE_DETAIL_DATA_W as _SP_DEVICE_INTERFACE_DETAIL_DATA_W ptr
'' TODO: __MINGW_TYPEDEF_UAW(SP_DEVICE_INTERFACE_DETAIL_DATA) __MINGW_TYPEDEF_UAW(PSP_DEVICE_INTERFACE_DETAIL_DATA) typedef SP_DEVICE_INTERFACE_DETAIL_DATA_W SP_INTERFACE_DEVICE_DETAIL_DATA_W;
type PSP_INTERFACE_DEVICE_DETAIL_DATA_W as PSP_DEVICE_INTERFACE_DETAIL_DATA_W
type SP_INTERFACE_DEVICE_DETAIL_DATA_A as SP_DEVICE_INTERFACE_DETAIL_DATA_A
type PSP_INTERFACE_DEVICE_DETAIL_DATA_A as PSP_DEVICE_INTERFACE_DETAIL_DATA_A
'' TODO: __MINGW_TYPEDEF_UAW(SP_INTERFACE_DEVICE_DETAIL_DATA) __MINGW_TYPEDEF_UAW(PSP_INTERFACE_DEVICE_DETAIL_DATA) typedef struct _SP_DEVINFO_LIST_DETAIL_DATA_A { DWORD cbSize; GUID ClassGuid; HANDLE RemoteMachineHandle; CHAR RemoteMachineName[(MAX_PATH + 3)]; } SP_DEVINFO_LIST_DETAIL_DATA_A,*PSP_DEVINFO_LIST_DETAIL_DATA_A;
type _SP_DEVINFO_LIST_DETAIL_DATA_W
cbSize as DWORD
ClassGuid as GUID
RemoteMachineHandle as HANDLE
RemoteMachineName(0 to (MAX_PATH + 3) - 1) as WCHAR
end type
type SP_DEVINFO_LIST_DETAIL_DATA_W as _SP_DEVINFO_LIST_DETAIL_DATA_W
type PSP_DEVINFO_LIST_DETAIL_DATA_W as _SP_DEVINFO_LIST_DETAIL_DATA_W ptr
'' TODO: __MINGW_TYPEDEF_UAW(SP_DEVINFO_LIST_DETAIL_DATA) __MINGW_TYPEDEF_UAW(PSP_DEVINFO_LIST_DETAIL_DATA) typedef UINT DI_FUNCTION;
const DIF_SELECTDEVICE = &h00000001
const DIF_INSTALLDEVICE = &h00000002
const DIF_ASSIGNRESOURCES = &h00000003
const DIF_PROPERTIES = &h00000004
const DIF_REMOVE = &h00000005
const DIF_FIRSTTIMESETUP = &h00000006
const DIF_FOUNDDEVICE = &h00000007
const DIF_SELECTCLASSDRIVERS = &h00000008
const DIF_VALIDATECLASSDRIVERS = &h00000009
const DIF_INSTALLCLASSDRIVERS = &h0000000A
const DIF_CALCDISKSPACE = &h0000000B
const DIF_DESTROYPRIVATEDATA = &h0000000C
const DIF_VALIDATEDRIVER = &h0000000D
const DIF_DETECT = &h0000000F
const DIF_INSTALLWIZARD = &h00000010
const DIF_DESTROYWIZARDDATA = &h00000011
const DIF_PROPERTYCHANGE = &h00000012
const DIF_ENABLECLASS = &h00000013
const DIF_DETECTVERIFY = &h00000014
const DIF_INSTALLDEVICEFILES = &h00000015
const DIF_UNREMOVE = &h00000016
const DIF_SELECTBESTCOMPATDRV = &h00000017
const DIF_ALLOW_INSTALL = &h00000018
const DIF_REGISTERDEVICE = &h00000019
const DIF_NEWDEVICEWIZARD_PRESELECT = &h0000001A
const DIF_NEWDEVICEWIZARD_SELECT = &h0000001B
const DIF_NEWDEVICEWIZARD_PREANALYZE = &h0000001C
const DIF_NEWDEVICEWIZARD_POSTANALYZE = &h0000001D
const DIF_NEWDEVICEWIZARD_FINISHINSTALL = &h0000001E
const DIF_UNUSED1 = &h0000001F
const DIF_INSTALLINTERFACES = &h00000020
const DIF_DETECTCANCEL = &h00000021
const DIF_REGISTER_COINSTALLERS = &h00000022
const DIF_ADDPROPERTYPAGE_ADVANCED = &h00000023
const DIF_ADDPROPERTYPAGE_BASIC = &h00000024
const DIF_RESERVED1 = &h00000025
const DIF_TROUBLESHOOTER = &h00000026
const DIF_POWERMESSAGEWAKE = &h00000027
const DIF_ADDREMOTEPROPERTYPAGE_ADVANCED = &h00000028
const DIF_UPDATEDRIVER_UI = &h00000029
const DIF_RESERVED2 = &h00000030
const DIF_MOVEDEVICE = &h0000000E
type _SP_DEVINSTALL_PARAMS_A
cbSize as DWORD
Flags as DWORD
FlagsEx as DWORD
hwndParent as HWND
'' TODO: __MINGW_NAME_UAW(PSP_FILE_CALLBACK) InstallMsgHandler;
InstallMsgHandlerContext as PVOID
FileQueue as HSPFILEQ
ClassInstallReserved as ULONG_PTR
Reserved as DWORD
DriverPath(0 to MAX_PATH - 1) as CHAR
end type
type SP_DEVINSTALL_PARAMS_A as _SP_DEVINSTALL_PARAMS_A
type PSP_DEVINSTALL_PARAMS_A as _SP_DEVINSTALL_PARAMS_A ptr
type _SP_DEVINSTALL_PARAMS_W
cbSize as DWORD
Flags as DWORD
FlagsEx as DWORD
hwndParent as HWND
'' TODO: __MINGW_NAME_UAW(PSP_FILE_CALLBACK) InstallMsgHandler;
InstallMsgHandlerContext as PVOID
FileQueue as HSPFILEQ
ClassInstallReserved as ULONG_PTR
Reserved as DWORD
DriverPath(0 to MAX_PATH - 1) as WCHAR
end type
type SP_DEVINSTALL_PARAMS_W as _SP_DEVINSTALL_PARAMS_W
type PSP_DEVINSTALL_PARAMS_W as _SP_DEVINSTALL_PARAMS_W ptr
'' TODO: __MINGW_TYPEDEF_UAW(SP_DEVINSTALL_PARAMS) __MINGW_TYPEDEF_UAW(PSP_DEVINSTALL_PARAMS) typedef struct _SP_CLASSINSTALL_HEADER { DWORD cbSize; DI_FUNCTION InstallFunction; } SP_CLASSINSTALL_HEADER,*PSP_CLASSINSTALL_HEADER;
#define DI_SHOWOEM __MSABI_LONG(&h00000001)
#define DI_SHOWCOMPAT __MSABI_LONG(&h00000002)
#define DI_SHOWCLASS __MSABI_LONG(&h00000004)
#define DI_SHOWALL __MSABI_LONG(&h00000007)
#define DI_NOVCP __MSABI_LONG(&h00000008)
#define DI_DIDCOMPAT __MSABI_LONG(&h00000010)
#define DI_DIDCLASS __MSABI_LONG(&h00000020)
#define DI_AUTOASSIGNRES __MSABI_LONG(&h00000040)
#define DI_NEEDRESTART __MSABI_LONG(&h00000080)
#define DI_NEEDREBOOT __MSABI_LONG(&h00000100)
#define DI_NOBROWSE __MSABI_LONG(&h00000200)
#define DI_MULTMFGS __MSABI_LONG(&h00000400)
#define DI_DISABLED __MSABI_LONG(&h00000800)
#define DI_GENERALPAGE_ADDED __MSABI_LONG(&h00001000)
#define DI_RESOURCEPAGE_ADDED __MSABI_LONG(&h00002000)
#define DI_PROPERTIES_CHANGE __MSABI_LONG(&h00004000)
#define DI_INF_IS_SORTED __MSABI_LONG(&h00008000)
#define DI_ENUMSINGLEINF __MSABI_LONG(&h00010000)
#define DI_DONOTCALLCONFIGMG __MSABI_LONG(&h00020000)
#define DI_INSTALLDISABLED __MSABI_LONG(&h00040000)
#define DI_COMPAT_FROM_CLASS __MSABI_LONG(&h00080000)
#define DI_CLASSINSTALLPARAMS __MSABI_LONG(&h00100000)
#define DI_NODI_DEFAULTACTION __MSABI_LONG(&h00200000)
#define DI_QUIETINSTALL __MSABI_LONG(&h00800000)
#define DI_NOFILECOPY __MSABI_LONG(&h01000000)
#define DI_FORCECOPY __MSABI_LONG(&h02000000)
#define DI_DRIVERPAGE_ADDED __MSABI_LONG(&h04000000)
#define DI_USECI_SELECTSTRINGS __MSABI_LONG(&h08000000)
#define DI_OVERRIDE_INFFLAGS __MSABI_LONG(&h10000000)
#define DI_PROPS_NOCHANGEUSAGE __MSABI_LONG(&h20000000)
#define DI_NOSELECTICONS __MSABI_LONG(&h40000000)
#define DI_NOWRITE_IDS __MSABI_LONG(&h80000000)
#define DI_FLAGSEX_USEOLDINFSEARCH __MSABI_LONG(&h00000001)
#define DI_FLAGSEX_RESERVED2 __MSABI_LONG(&h00000002)
#define DI_FLAGSEX_CI_FAILED __MSABI_LONG(&h00000004)
#define DI_FLAGSEX_DIDINFOLIST __MSABI_LONG(&h00000010)
#define DI_FLAGSEX_DIDCOMPATINFO __MSABI_LONG(&h00000020)
#define DI_FLAGSEX_FILTERCLASSES __MSABI_LONG(&h00000040)
#define DI_FLAGSEX_SETFAILEDINSTALL __MSABI_LONG(&h00000080)
#define DI_FLAGSEX_DEVICECHANGE __MSABI_LONG(&h00000100)
#define DI_FLAGSEX_ALWAYSWRITEIDS __MSABI_LONG(&h00000200)
#define DI_FLAGSEX_PROPCHANGE_PENDING __MSABI_LONG(&h00000400)
#define DI_FLAGSEX_ALLOWEXCLUDEDDRVS __MSABI_LONG(&h00000800)
#define DI_FLAGSEX_NOUIONQUERYREMOVE __MSABI_LONG(&h00001000)
#define DI_FLAGSEX_USECLASSFORCOMPAT __MSABI_LONG(&h00002000)
#define DI_FLAGSEX_RESERVED3 __MSABI_LONG(&h00004000)
#define DI_FLAGSEX_NO_DRVREG_MODIFY __MSABI_LONG(&h00008000)
#define DI_FLAGSEX_IN_SYSTEM_SETUP __MSABI_LONG(&h00010000)
#define DI_FLAGSEX_INET_DRIVER __MSABI_LONG(&h00020000)
#define DI_FLAGSEX_APPENDDRIVERLIST __MSABI_LONG(&h00040000)
#define DI_FLAGSEX_PREINSTALLBACKUP __MSABI_LONG(&h00080000)
#define DI_FLAGSEX_BACKUPONREPLACE __MSABI_LONG(&h00100000)
#define DI_FLAGSEX_DRIVERLIST_FROM_URL __MSABI_LONG(&h00200000)
#define DI_FLAGSEX_RESERVED1 __MSABI_LONG(&h00400000)
#define DI_FLAGSEX_EXCLUDE_OLD_INET_DRIVERS __MSABI_LONG(&h00800000)
#define DI_FLAGSEX_POWERPAGE_ADDED __MSABI_LONG(&h01000000)
#define DI_FLAGSEX_FILTERSIMILARDRIVERS __MSABI_LONG(&h02000000)
#define DI_FLAGSEX_INSTALLEDDRIVER __MSABI_LONG(&h04000000)
#define DI_FLAGSEX_NO_CLASSLIST_NODE_MERGE __MSABI_LONG(&h08000000)
#define DI_FLAGSEX_ALTPLATFORM_DRVSEARCH __MSABI_LONG(&h10000000)
#define DI_FLAGSEX_RESTART_DEVICE_ONLY __MSABI_LONG(&h20000000)
type _SP_ENABLECLASS_PARAMS
ClassInstallHeader as SP_CLASSINSTALL_HEADER
ClassGuid as GUID
EnableMessage as DWORD
end type
type SP_ENABLECLASS_PARAMS as _SP_ENABLECLASS_PARAMS
type PSP_ENABLECLASS_PARAMS as _SP_ENABLECLASS_PARAMS ptr
const ENABLECLASS_QUERY = 0
const ENABLECLASS_SUCCESS = 1
const ENABLECLASS_FAILURE = 2
const DICS_ENABLE = &h00000001
const DICS_DISABLE = &h00000002
const DICS_PROPCHANGE = &h00000003
const DICS_START = &h00000004
const DICS_STOP = &h00000005
const DICS_FLAG_GLOBAL = &h00000001
const DICS_FLAG_CONFIGSPECIFIC = &h00000002
const DICS_FLAG_CONFIGGENERAL = &h00000004
type _SP_PROPCHANGE_PARAMS
ClassInstallHeader as SP_CLASSINSTALL_HEADER
StateChange as DWORD
Scope as DWORD
HwProfile as DWORD
end type
type SP_PROPCHANGE_PARAMS as _SP_PROPCHANGE_PARAMS
type PSP_PROPCHANGE_PARAMS as _SP_PROPCHANGE_PARAMS ptr
type _SP_REMOVEDEVICE_PARAMS
ClassInstallHeader as SP_CLASSINSTALL_HEADER
Scope as DWORD
HwProfile as DWORD
end type
type SP_REMOVEDEVICE_PARAMS as _SP_REMOVEDEVICE_PARAMS
type PSP_REMOVEDEVICE_PARAMS as _SP_REMOVEDEVICE_PARAMS ptr
const DI_REMOVEDEVICE_GLOBAL = &h00000001
const DI_REMOVEDEVICE_CONFIGSPECIFIC = &h00000002
type _SP_UNREMOVEDEVICE_PARAMS
ClassInstallHeader as SP_CLASSINSTALL_HEADER
Scope as DWORD
HwProfile as DWORD
end type
type SP_UNREMOVEDEVICE_PARAMS as _SP_UNREMOVEDEVICE_PARAMS
type PSP_UNREMOVEDEVICE_PARAMS as _SP_UNREMOVEDEVICE_PARAMS ptr
const DI_UNREMOVEDEVICE_CONFIGSPECIFIC = &h00000002
type _SP_SELECTDEVICE_PARAMS_A
ClassInstallHeader as SP_CLASSINSTALL_HEADER
Title(0 to 59) as CHAR
Instructions(0 to 255) as CHAR
ListLabel(0 to 29) as CHAR
SubTitle(0 to 255) as CHAR
Reserved(0 to 1) as BYTE
end type
type SP_SELECTDEVICE_PARAMS_A as _SP_SELECTDEVICE_PARAMS_A
type PSP_SELECTDEVICE_PARAMS_A as _SP_SELECTDEVICE_PARAMS_A ptr
type _SP_SELECTDEVICE_PARAMS_W
ClassInstallHeader as SP_CLASSINSTALL_HEADER
Title(0 to 59) as WCHAR
Instructions(0 to 255) as WCHAR
ListLabel(0 to 29) as WCHAR
SubTitle(0 to 255) as WCHAR
end type
type SP_SELECTDEVICE_PARAMS_W as _SP_SELECTDEVICE_PARAMS_W
type PSP_SELECTDEVICE_PARAMS_W as _SP_SELECTDEVICE_PARAMS_W ptr
'' TODO: __MINGW_TYPEDEF_UAW(SP_SELECTDEVICE_PARAMS) __MINGW_TYPEDEF_UAW(PSP_SELECTDEVICE_PARAMS) typedef WINBOOL (CALLBACK *PDETECT_PROGRESS_NOTIFY)(PVOID ProgressNotifyParam,DWORD DetectComplete);
type _SP_DETECTDEVICE_PARAMS
ClassInstallHeader as SP_CLASSINSTALL_HEADER
DetectProgressNotify as PDETECT_PROGRESS_NOTIFY
ProgressNotifyParam as PVOID
end type
type SP_DETECTDEVICE_PARAMS as _SP_DETECTDEVICE_PARAMS
type PSP_DETECTDEVICE_PARAMS as _SP_DETECTDEVICE_PARAMS ptr
const MAX_INSTALLWIZARD_DYNAPAGES = 20
type _SP_INSTALLWIZARD_DATA
ClassInstallHeader as SP_CLASSINSTALL_HEADER
Flags as DWORD
DynamicPages(0 to 19) as HPROPSHEETPAGE
NumDynamicPages as DWORD
DynamicPageFlags as DWORD
PrivateFlags as DWORD
PrivateData as LPARAM
hwndWizardDlg as HWND
end type
type SP_INSTALLWIZARD_DATA as _SP_INSTALLWIZARD_DATA
type PSP_INSTALLWIZARD_DATA as _SP_INSTALLWIZARD_DATA ptr
const NDW_INSTALLFLAG_DIDFACTDEFS = &h00000001
const NDW_INSTALLFLAG_HARDWAREALLREADYIN = &h00000002
#define NDW_INSTALLFLAG_NEEDRESTART DI_NEEDRESTART
#define NDW_INSTALLFLAG_NEEDREBOOT DI_NEEDREBOOT
const NDW_INSTALLFLAG_NEEDSHUTDOWN = &h00000200
const NDW_INSTALLFLAG_EXPRESSINTRO = &h00000400
const NDW_INSTALLFLAG_SKIPISDEVINSTALLED = &h00000800
const NDW_INSTALLFLAG_NODETECTEDDEVS = &h00001000
const NDW_INSTALLFLAG_INSTALLSPECIFIC = &h00002000
const NDW_INSTALLFLAG_SKIPCLASSLIST = &h00004000
const NDW_INSTALLFLAG_CI_PICKED_OEM = &h00008000
const NDW_INSTALLFLAG_PCMCIAMODE = &h00010000
const NDW_INSTALLFLAG_PCMCIADEVICE = &h00020000
const NDW_INSTALLFLAG_USERCANCEL = &h00040000
const NDW_INSTALLFLAG_KNOWNCLASS = &h00080000
const DYNAWIZ_FLAG_PAGESADDED = &h00000001
const DYNAWIZ_FLAG_ANALYZE_HANDLECONFLICT = &h00000008
const DYNAWIZ_FLAG_INSTALLDET_NEXT = &h00000002
const DYNAWIZ_FLAG_INSTALLDET_PREV = &h00000004
const MIN_IDD_DYNAWIZ_RESOURCE_ID = 10000
const MAX_IDD_DYNAWIZ_RESOURCE_ID = 11000
const IDD_DYNAWIZ_FIRSTPAGE = 10000
const IDD_DYNAWIZ_SELECT_PREVPAGE = 10001
const IDD_DYNAWIZ_SELECT_NEXTPAGE = 10002
const IDD_DYNAWIZ_ANALYZE_PREVPAGE = 10003
const IDD_DYNAWIZ_ANALYZE_NEXTPAGE = 10004
const IDD_DYNAWIZ_SELECTDEV_PAGE = 10009
const IDD_DYNAWIZ_ANALYZEDEV_PAGE = 10010
const IDD_DYNAWIZ_INSTALLDETECTEDDEVS_PAGE = 10011
const IDD_DYNAWIZ_SELECTCLASS_PAGE = 10012
const IDD_DYNAWIZ_INSTALLDETECTED_PREVPAGE = 10006
const IDD_DYNAWIZ_INSTALLDETECTED_NEXTPAGE = 10007
const IDD_DYNAWIZ_INSTALLDETECTED_NODEVS = 10008
type _SP_NEWDEVICEWIZARD_DATA
ClassInstallHeader as SP_CLASSINSTALL_HEADER
Flags as DWORD
DynamicPages(0 to 19) as HPROPSHEETPAGE
NumDynamicPages as DWORD
hwndWizardDlg as HWND
end type
type SP_NEWDEVICEWIZARD_DATA as _SP_NEWDEVICEWIZARD_DATA
type PSP_NEWDEVICEWIZARD_DATA as _SP_NEWDEVICEWIZARD_DATA ptr
type SP_ADDPROPERTYPAGE_DATA as SP_NEWDEVICEWIZARD_DATA
type PSP_ADDPROPERTYPAGE_DATA as PSP_NEWDEVICEWIZARD_DATA
type _SP_TROUBLESHOOTER_PARAMS_A
ClassInstallHeader as SP_CLASSINSTALL_HEADER
ChmFile(0 to MAX_PATH - 1) as CHAR
HtmlTroubleShooter(0 to MAX_PATH - 1) as CHAR
end type
type SP_TROUBLESHOOTER_PARAMS_A as _SP_TROUBLESHOOTER_PARAMS_A
type PSP_TROUBLESHOOTER_PARAMS_A as _SP_TROUBLESHOOTER_PARAMS_A ptr
type _SP_TROUBLESHOOTER_PARAMS_W
ClassInstallHeader as SP_CLASSINSTALL_HEADER
ChmFile(0 to MAX_PATH - 1) as WCHAR
HtmlTroubleShooter(0 to MAX_PATH - 1) as WCHAR
end type
type SP_TROUBLESHOOTER_PARAMS_W as _SP_TROUBLESHOOTER_PARAMS_W
type PSP_TROUBLESHOOTER_PARAMS_W as _SP_TROUBLESHOOTER_PARAMS_W ptr
'' TODO: __MINGW_TYPEDEF_UAW(SP_TROUBLESHOOTER_PARAMS) __MINGW_TYPEDEF_UAW(PSP_TROUBLESHOOTER_PARAMS) typedef struct _SP_POWERMESSAGEWAKE_PARAMS_A { SP_CLASSINSTALL_HEADER ClassInstallHeader; CHAR PowerMessageWake[256*2]; } SP_POWERMESSAGEWAKE_PARAMS_A,*PSP_POWERMESSAGEWAKE_PARAMS_A;
type _SP_POWERMESSAGEWAKE_PARAMS_W
ClassInstallHeader as SP_CLASSINSTALL_HEADER
PowerMessageWake(0 to (256 * 2) - 1) as WCHAR
end type
type SP_POWERMESSAGEWAKE_PARAMS_W as _SP_POWERMESSAGEWAKE_PARAMS_W
type PSP_POWERMESSAGEWAKE_PARAMS_W as _SP_POWERMESSAGEWAKE_PARAMS_W ptr
'' TODO: __MINGW_TYPEDEF_UAW(SP_POWERMESSAGEWAKE_PARAMS) __MINGW_TYPEDEF_UAW(PSP_POWERMESSAGEWAKE_PARAMS) typedef struct _SP_DRVINFO_DATA_V2_A { DWORD cbSize; DWORD DriverType; ULONG_PTR Reserved; CHAR Description[256]; CHAR MfgName[256]; CHAR ProviderName[256]; FILETIME DriverDate; DWORDLONG DriverVersion; } SP_DRVINFO_DATA_V2_A,*PSP_DRVINFO_DATA_V2_A;
type _SP_DRVINFO_DATA_V2_W
cbSize as DWORD
DriverType as DWORD
Reserved as ULONG_PTR
Description(0 to 255) as WCHAR
MfgName(0 to 255) as WCHAR
ProviderName(0 to 255) as WCHAR
DriverDate as FILETIME
DriverVersion as DWORDLONG
end type
type SP_DRVINFO_DATA_V2_W as _SP_DRVINFO_DATA_V2_W
type PSP_DRVINFO_DATA_V2_W as _SP_DRVINFO_DATA_V2_W ptr
type _SP_DRVINFO_DATA_V1_A
cbSize as DWORD
DriverType as DWORD
Reserved as ULONG_PTR
Description(0 to 255) as CHAR
MfgName(0 to 255) as CHAR
ProviderName(0 to 255) as CHAR
end type
type SP_DRVINFO_DATA_V1_A as _SP_DRVINFO_DATA_V1_A
type PSP_DRVINFO_DATA_V1_A as _SP_DRVINFO_DATA_V1_A ptr
type _SP_DRVINFO_DATA_V1_W
cbSize as DWORD
DriverType as DWORD
Reserved as ULONG_PTR
Description(0 to 255) as WCHAR
MfgName(0 to 255) as WCHAR
ProviderName(0 to 255) as WCHAR
end type
type SP_DRVINFO_DATA_V1_W as _SP_DRVINFO_DATA_V1_W
type PSP_DRVINFO_DATA_V1_W as _SP_DRVINFO_DATA_V1_W ptr
'' TODO: __MINGW_TYPEDEF_UAW(SP_DRVINFO_DATA_V1) __MINGW_TYPEDEF_UAW(PSP_DRVINFO_DATA_V1) __MINGW_TYPEDEF_UAW(SP_DRVINFO_DATA_V2) __MINGW_TYPEDEF_UAW(PSP_DRVINFO_DATA_V2) typedef SP_DRVINFO_DATA_V2_A SP_DRVINFO_DATA_A;
type PSP_DRVINFO_DATA_A as PSP_DRVINFO_DATA_V2_A
type SP_DRVINFO_DATA_W as SP_DRVINFO_DATA_V2_W
type PSP_DRVINFO_DATA_W as PSP_DRVINFO_DATA_V2_W
type SP_DRVINFO_DATA as SP_DRVINFO_DATA_V2
type PSP_DRVINFO_DATA as PSP_DRVINFO_DATA_V2
type _SP_DRVINFO_DETAIL_DATA_A
cbSize as DWORD
InfDate as FILETIME
CompatIDsOffset as DWORD
CompatIDsLength as DWORD
Reserved as ULONG_PTR
SectionName(0 to 255) as CHAR
InfFileName(0 to MAX_PATH - 1) as CHAR
DrvDescription(0 to 255) as CHAR
HardwareID(0 to ANYSIZE_ARRAY - 1) as CHAR
end type
type SP_DRVINFO_DETAIL_DATA_A as _SP_DRVINFO_DETAIL_DATA_A
type PSP_DRVINFO_DETAIL_DATA_A as _SP_DRVINFO_DETAIL_DATA_A ptr
type _SP_DRVINFO_DETAIL_DATA_W
cbSize as DWORD
InfDate as FILETIME
CompatIDsOffset as DWORD
CompatIDsLength as DWORD
Reserved as ULONG_PTR
SectionName(0 to 255) as WCHAR
InfFileName(0 to MAX_PATH - 1) as WCHAR
DrvDescription(0 to 255) as WCHAR
HardwareID(0 to ANYSIZE_ARRAY - 1) as WCHAR
end type
type SP_DRVINFO_DETAIL_DATA_W as _SP_DRVINFO_DETAIL_DATA_W
type PSP_DRVINFO_DETAIL_DATA_W as _SP_DRVINFO_DETAIL_DATA_W ptr
'' TODO: __MINGW_TYPEDEF_UAW(SP_DRVINFO_DETAIL_DATA) __MINGW_TYPEDEF_UAW(PSP_DRVINFO_DETAIL_DATA) typedef struct _SP_DRVINSTALL_PARAMS { DWORD cbSize; DWORD Rank; DWORD Flags; DWORD_PTR PrivateData; DWORD Reserved; } SP_DRVINSTALL_PARAMS,*PSP_DRVINSTALL_PARAMS;
const DNF_DUPDESC = &h00000001
const DNF_OLDDRIVER = &h00000002
const DNF_EXCLUDEFROMLIST = &h00000004
const DNF_NODRIVER = &h00000008
const DNF_LEGACYINF = &h00000010
const DNF_CLASS_DRIVER = &h00000020
const DNF_COMPATIBLE_DRIVER = &h00000040
const DNF_INET_DRIVER = &h00000080
const DNF_UNUSED1 = &h00000100
const DNF_INDEXED_DRIVER = &h00000200
const DNF_OLD_INET_DRIVER = &h00000400
const DNF_BAD_DRIVER = &h00000800
const DNF_DUPPROVIDER = &h00001000
const DNF_INF_IS_SIGNED = &h00002000
const DNF_OEM_F6_INF = &h00004000
const DNF_DUPDRIVERVER = &h00008000
const DNF_BASIC_DRIVER = &h00010000
const DNF_AUTHENTICODE_SIGNED = &h00020000
const DRIVER_HARDWAREID_RANK = &h00000FFF
const DRIVER_COMPATID_RANK = &h00003FFF
const DRIVER_UNTRUSTED_RANK = &h00008000
const DRIVER_UNTRUSTED_HARDWAREID_RANK = &h00008FFF
const DRIVER_UNTRUSTED_COMPATID_RANK = &h0000BFFF
const DRIVER_W9X_SUSPECT_RANK = &h0000C000
const DRIVER_W9X_SUSPECT_HARDWAREID_RANK = &h0000CFFF
const DRIVER_W9X_SUSPECT_COMPATID_RANK = &h0000FFFF
'' TODO: typedef DWORD (CALLBACK *PSP_DETSIG_CMPPROC)(HDEVINFO DeviceInfoSet,PSP_DEVINFO_DATA NewDeviceData,PSP_DEVINFO_DATA ExistingDeviceData,PVOID CompareContext);
type _COINSTALLER_CONTEXT_DATA
PostProcessing as WINBOOL
InstallResult as DWORD
PrivateData as PVOID
end type
type COINSTALLER_CONTEXT_DATA as _COINSTALLER_CONTEXT_DATA
type PCOINSTALLER_CONTEXT_DATA as _COINSTALLER_CONTEXT_DATA ptr
type _SP_CLASSIMAGELIST_DATA
cbSize as DWORD
ImageList as HIMAGELIST
Reserved as ULONG_PTR
end type
type SP_CLASSIMAGELIST_DATA as _SP_CLASSIMAGELIST_DATA
type PSP_CLASSIMAGELIST_DATA as _SP_CLASSIMAGELIST_DATA ptr
type _SP_PROPSHEETPAGE_REQUEST
cbSize as DWORD
PageRequested as DWORD
DeviceInfoSet as HDEVINFO
DeviceInfoData as PSP_DEVINFO_DATA
end type
type SP_PROPSHEETPAGE_REQUEST as _SP_PROPSHEETPAGE_REQUEST
type PSP_PROPSHEETPAGE_REQUEST as _SP_PROPSHEETPAGE_REQUEST ptr
const SPPSR_SELECT_DEVICE_RESOURCES = 1
const SPPSR_ENUM_BASIC_DEVICE_PROPERTIES = 2
const SPPSR_ENUM_ADV_DEVICE_PROPERTIES = 3
type _SP_BACKUP_QUEUE_PARAMS_V2_A
cbSize as DWORD
FullInfPath(0 to MAX_PATH - 1) as CHAR
FilenameOffset as INT
ReinstallInstance(0 to MAX_PATH - 1) as CHAR
end type
type SP_BACKUP_QUEUE_PARAMS_V2_A as _SP_BACKUP_QUEUE_PARAMS_V2_A
type PSP_BACKUP_QUEUE_PARAMS_V2_A as _SP_BACKUP_QUEUE_PARAMS_V2_A ptr
type _SP_BACKUP_QUEUE_PARAMS_V2_W
cbSize as DWORD
FullInfPath(0 to MAX_PATH - 1) as WCHAR
FilenameOffset as INT
ReinstallInstance(0 to MAX_PATH - 1) as WCHAR
end type
type SP_BACKUP_QUEUE_PARAMS_V2_W as _SP_BACKUP_QUEUE_PARAMS_V2_W
type PSP_BACKUP_QUEUE_PARAMS_V2_W as _SP_BACKUP_QUEUE_PARAMS_V2_W ptr
type _SP_BACKUP_QUEUE_PARAMS_V1_A
cbSize as DWORD
FullInfPath(0 to MAX_PATH - 1) as CHAR
FilenameOffset as INT
end type
type SP_BACKUP_QUEUE_PARAMS_V1_A as _SP_BACKUP_QUEUE_PARAMS_V1_A
type PSP_BACKUP_QUEUE_PARAMS_V1_A as _SP_BACKUP_QUEUE_PARAMS_V1_A ptr
type _SP_BACKUP_QUEUE_PARAMS_V1_W
cbSize as DWORD
FullInfPath(0 to MAX_PATH - 1) as WCHAR
FilenameOffset as INT
end type
type SP_BACKUP_QUEUE_PARAMS_V1_W as _SP_BACKUP_QUEUE_PARAMS_V1_W
type PSP_BACKUP_QUEUE_PARAMS_V1_W as _SP_BACKUP_QUEUE_PARAMS_V1_W ptr
'' TODO: __MINGW_TYPEDEF_UAW(SP_BACKUP_QUEUE_PARAMS_V1) __MINGW_TYPEDEF_UAW(PSP_BACKUP_QUEUE_PARAMS_V1) __MINGW_TYPEDEF_UAW(SP_BACKUP_QUEUE_PARAMS_V2) __MINGW_TYPEDEF_UAW(PSP_BACKUP_QUEUE_PARAMS_V2) typedef SP_BACKUP_QUEUE_PARAMS_V2_A SP_BACKUP_QUEUE_PARAMS_A;
type PSP_BACKUP_QUEUE_PARAMS_A as PSP_BACKUP_QUEUE_PARAMS_V2_A
type SP_BACKUP_QUEUE_PARAMS_W as SP_BACKUP_QUEUE_PARAMS_V2_W
type PSP_BACKUP_QUEUE_PARAMS_W as PSP_BACKUP_QUEUE_PARAMS_V2_W
type SP_BACKUP_QUEUE_PARAMS as SP_BACKUP_QUEUE_PARAMS_V2
type PSP_BACKUP_QUEUE_PARAMS as PSP_BACKUP_QUEUE_PARAMS_V2
#define _SPAPI_ERRORS
#define ERROR_EXPECTED_SECTION_NAME ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or 0)
#define ERROR_BAD_SECTION_NAME_LINE ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or 1)
#define ERROR_SECTION_NAME_TOO_LONG ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or 2)
#define ERROR_GENERAL_SYNTAX ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or 3)
#define ERROR_WRONG_INF_STYLE ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h100)
#define ERROR_SECTION_NOT_FOUND ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h101)
#define ERROR_LINE_NOT_FOUND ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h102)
#define ERROR_NO_BACKUP ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h103)
#define ERROR_NO_ASSOCIATED_CLASS ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h200)
#define ERROR_CLASS_MISMATCH ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h201)
#define ERROR_DUPLICATE_FOUND ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h202)
#define ERROR_NO_DRIVER_SELECTED ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h203)
#define ERROR_KEY_DOES_NOT_EXIST ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h204)
#define ERROR_INVALID_DEVINST_NAME ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h205)
#define ERROR_INVALID_CLASS ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h206)
#define ERROR_DEVINST_ALREADY_EXISTS ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h207)
#define ERROR_DEVINFO_NOT_REGISTERED ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h208)
#define ERROR_INVALID_REG_PROPERTY ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h209)
#define ERROR_NO_INF ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h20A)
#define ERROR_NO_SUCH_DEVINST ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h20B)
#define ERROR_CANT_LOAD_CLASS_ICON ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h20C)
#define ERROR_INVALID_CLASS_INSTALLER ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h20D)
#define ERROR_DI_DO_DEFAULT ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h20E)
#define ERROR_DI_NOFILECOPY ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h20F)
#define ERROR_INVALID_HWPROFILE ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h210)
#define ERROR_NO_DEVICE_SELECTED ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h211)
#define ERROR_DEVINFO_LIST_LOCKED ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h212)
#define ERROR_DEVINFO_DATA_LOCKED ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h213)
#define ERROR_DI_BAD_PATH ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h214)
#define ERROR_NO_CLASSINSTALL_PARAMS ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h215)
#define ERROR_FILEQUEUE_LOCKED ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h216)
#define ERROR_BAD_SERVICE_INSTALLSECT ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h217)
#define ERROR_NO_CLASS_DRIVER_LIST ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h218)
#define ERROR_NO_ASSOCIATED_SERVICE ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h219)
#define ERROR_NO_DEFAULT_DEVICE_INTERFACE ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h21A)
#define ERROR_DEVICE_INTERFACE_ACTIVE ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h21B)
#define ERROR_DEVICE_INTERFACE_REMOVED ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h21C)
#define ERROR_BAD_INTERFACE_INSTALLSECT ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h21D)
#define ERROR_NO_SUCH_INTERFACE_CLASS ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h21E)
#define ERROR_INVALID_REFERENCE_STRING ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h21F)
#define ERROR_INVALID_MACHINENAME ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h220)
#define ERROR_REMOTE_COMM_FAILURE ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h221)
#define ERROR_MACHINE_UNAVAILABLE ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h222)
#define ERROR_NO_CONFIGMGR_SERVICES ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h223)
#define ERROR_INVALID_PROPPAGE_PROVIDER ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h224)
#define ERROR_NO_SUCH_DEVICE_INTERFACE ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h225)
#define ERROR_DI_POSTPROCESSING_REQUIRED ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h226)
#define ERROR_INVALID_COINSTALLER ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h227)
#define ERROR_NO_COMPAT_DRIVERS ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h228)
#define ERROR_NO_DEVICE_ICON ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h229)
#define ERROR_INVALID_INF_LOGCONFIG ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h22A)
#define ERROR_DI_DONT_INSTALL ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h22B)
#define ERROR_INVALID_FILTER_DRIVER ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h22C)
#define ERROR_NON_WINDOWS_NT_DRIVER ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h22D)
#define ERROR_NON_WINDOWS_DRIVER ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h22E)
#define ERROR_NO_CATALOG_FOR_OEM_INF ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h22F)
#define ERROR_DEVINSTALL_QUEUE_NONNATIVE ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h230)
#define ERROR_NOT_DISABLEABLE ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h231)
#define ERROR_CANT_REMOVE_DEVINST ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h232)
#define ERROR_INVALID_TARGET ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h233)
#define ERROR_DRIVER_NONNATIVE ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h234)
#define ERROR_IN_WOW64 ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h235)
#define ERROR_SET_SYSTEM_RESTORE_POINT ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h236)
#define ERROR_INCORRECTLY_COPIED_INF ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h237)
#define ERROR_SCE_DISABLED ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h238)
#define ERROR_UNKNOWN_EXCEPTION ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h239)
#define ERROR_PNP_REGISTRY_ERROR ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h23A)
#define ERROR_REMOTE_REQUEST_UNSUPPORTED ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h23B)
#define ERROR_NOT_AN_INSTALLED_OEM_INF ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h23C)
#define ERROR_INF_IN_USE_BY_DEVICES ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h23D)
#define ERROR_DI_FUNCTION_OBSOLETE ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h23E)
#define ERROR_NO_AUTHENTICODE_CATALOG ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h23F)
#define ERROR_AUTHENTICODE_DISALLOWED ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h240)
#define ERROR_AUTHENTICODE_TRUSTED_PUBLISHER ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h241)
#define ERROR_AUTHENTICODE_TRUST_NOT_ESTABLISHED ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h242)
#define ERROR_AUTHENTICODE_PUBLISHER_NOT_TRUSTED ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h243)
#define ERROR_SIGNATURE_OSATTRIBUTE_MISMATCH ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h244)
#define ERROR_ONLY_VALIDATE_VIA_AUTHENTICODE ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h245)
#define ERROR_DEVICE_INSTALLER_NOT_READY ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h246)
#define ERROR_DRIVER_STORE_ADD_FAILED ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h247)
#define ERROR_DEVICE_INSTALL_BLOCKED ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h248)
#define ERROR_DRIVER_INSTALL_BLOCKED ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h249)
#define ERROR_WRONG_INF_TYPE ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h24A)
#define ERROR_FILE_HASH_NOT_IN_CATALOG ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h24B)
#define ERROR_DRIVER_STORE_DELETE_FAILED ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h24C)
#define ERROR_UNRECOVERABLE_STACK_OVERFLOW ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h300)
#define EXCEPTION_SPAPI_UNRECOVERABLE_STACK_OVERFLOW ERROR_UNRECOVERABLE_STACK_OVERFLOW
#define ERROR_NO_DEFAULT_INTERFACE_DEVICE ERROR_NO_DEFAULT_DEVICE_INTERFACE
#define ERROR_INTERFACE_DEVICE_ACTIVE ERROR_DEVICE_INTERFACE_ACTIVE
#define ERROR_INTERFACE_DEVICE_REMOVED ERROR_DEVICE_INTERFACE_REMOVED
#define ERROR_NO_SUCH_INTERFACE_DEVICE ERROR_NO_SUCH_DEVICE_INTERFACE
#define ERROR_NOT_INSTALLED ((APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or &h1000)
'' TODO: DECLSPEC_IMPORT WINBOOL WINAPI SetupGetInfInformationA(LPCVOID InfSpec,DWORD SearchControl,PSP_INF_INFORMATION ReturnBuffer,DWORD ReturnBufferSize,PDWORD RequiredSize);
'' TODO: DECLSPEC_IMPORT WINBOOL WINAPI SetupGetInfInformationW(LPCVOID InfSpec,DWORD SearchControl,PSP_INF_INFORMATION ReturnBuffer,DWORD ReturnBufferSize,PDWORD RequiredSize);
const INFINFO_INF_SPEC_IS_HINF = 1
const INFINFO_INF_NAME_IS_ABSOLUTE = 2
const INFINFO_DEFAULT_SEARCH = 3
const INFINFO_REVERSE_DEFAULT_SEARCH = 4
const INFINFO_INF_PATH_LIST_SEARCH = 5
#define SetupGetInfInformation __MINGW_NAME_AW(SetupGetInfInformation)
#define SetupQueryInfFileInformation __MINGW_NAME_AW(SetupQueryInfFileInformation)
#define SetupQueryInfOriginalFileInformation __MINGW_NAME_AW(SetupQueryInfOriginalFileInformation)
#define SetupQueryInfVersionInformation __MINGW_NAME_AW(SetupQueryInfVersionInformation)
#define SetupGetInfFileList __MINGW_NAME_AW(SetupGetInfFileList)
#define SetupOpenInfFile __MINGW_NAME_AW(SetupOpenInfFile)
#define SetupOpenAppendInfFile __MINGW_NAME_AW(SetupOpenAppendInfFile)
#define SetupFindFirstLine __MINGW_NAME_AW(SetupFindFirstLine)
#define SetupFindNextMatchLine __MINGW_NAME_AW(SetupFindNextMatchLine)
#define SetupGetLineByIndex __MINGW_NAME_AW(SetupGetLineByIndex)
#define SetupGetLineCount __MINGW_NAME_AW(SetupGetLineCount)
#define SetupGetLineText __MINGW_NAME_AW(SetupGetLineText)
#define SetupGetStringField __MINGW_NAME_AW(SetupGetStringField)
#define SetupGetMultiSzField __MINGW_NAME_AW(SetupGetMultiSzField)
#define SetupGetFileCompressionInfo __MINGW_NAME_AW(SetupGetFileCompressionInfo)
#define SetupGetFileCompressionInfoEx __MINGW_NAME_AW(SetupGetFileCompressionInfoEx)
#define SetupDecompressOrCopyFile __MINGW_NAME_AW(SetupDecompressOrCopyFile)
#define SetupGetSourceFileLocation __MINGW_NAME_AW(SetupGetSourceFileLocation)
#define SetupGetSourceFileSize __MINGW_NAME_AW(SetupGetSourceFileSize)
#define SetupGetTargetPath __MINGW_NAME_AW(SetupGetTargetPath)
#define SetupSetSourceList __MINGW_NAME_AW(SetupSetSourceList)
#define SetupAddToSourceList __MINGW_NAME_AW(SetupAddToSourceList)
#define SetupRemoveFromSourceList __MINGW_NAME_AW(SetupRemoveFromSourceList)
#define SetupQuerySourceList __MINGW_NAME_AW(SetupQuerySourceList)
#define SetupFreeSourceList __MINGW_NAME_AW(SetupFreeSourceList)
#define SetupPromptForDisk __MINGW_NAME_AW(SetupPromptForDisk)
#define SetupCopyError __MINGW_NAME_AW(SetupCopyError)
#define SetupRenameError __MINGW_NAME_AW(SetupRenameError)
#define SetupDeleteError __MINGW_NAME_AW(SetupDeleteError)
#define SetupBackupError __MINGW_NAME_AW(SetupBackupError)