compstui.h 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966
  1. /*
  2. * compstui.h
  3. *
  4. * This file is part of the ReactOS PSDK package.
  5. *
  6. * Contributors:
  7. * Created by Amine Khaldi.
  8. *
  9. * THIS SOFTWARE IS NOT COPYRIGHTED
  10. *
  11. * This source code is offered for use in the public domain. You may
  12. * use, modify or distribute it freely.
  13. *
  14. * This code is distributed in the hope that it will be useful but
  15. * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
  16. * DISCLAIMED. This includes but is not limited to warranties of
  17. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  18. *
  19. */
  20. #pragma once
  21. #ifdef __cplusplus
  22. extern "C" {
  23. #endif
  24. #define IDI_CPSUI_ICONID_FIRST 64000
  25. #define IDI_CPSUI_EMPTY 64000
  26. #define IDI_CPSUI_SEL_NONE 64001
  27. #define IDI_CPSUI_WARNING 64002
  28. #define IDI_CPSUI_NO 64003
  29. #define IDI_CPSUI_YES 64004
  30. #define IDI_CPSUI_FALSE 64005
  31. #define IDI_CPSUI_TRUE 64006
  32. #define IDI_CPSUI_OFF 64007
  33. #define IDI_CPSUI_ON 64008
  34. #define IDI_CPSUI_PAPER_OUTPUT 64009
  35. #define IDI_CPSUI_ENVELOPE 64010
  36. #define IDI_CPSUI_MEM 64011
  37. #define IDI_CPSUI_FONTCARTHDR 64012
  38. #define IDI_CPSUI_FONTCART 64013
  39. #define IDI_CPSUI_STAPLER_ON 64014
  40. #define IDI_CPSUI_STAPLER_OFF 64015
  41. #define IDI_CPSUI_HT_HOST 64016
  42. #define IDI_CPSUI_HT_DEVICE 64017
  43. #define IDI_CPSUI_TT_PRINTASGRAPHIC 64018
  44. #define IDI_CPSUI_TT_DOWNLOADSOFT 64019
  45. #define IDI_CPSUI_TT_DOWNLOADVECT 64020
  46. #define IDI_CPSUI_TT_SUBDEV 64021
  47. #define IDI_CPSUI_PORTRAIT 64022
  48. #define IDI_CPSUI_LANDSCAPE 64023
  49. #define IDI_CPSUI_ROT_LAND 64024
  50. #define IDI_CPSUI_AUTOSEL 64025
  51. #define IDI_CPSUI_PAPER_TRAY 64026
  52. #define IDI_CPSUI_PAPER_TRAY2 64027
  53. #define IDI_CPSUI_PAPER_TRAY3 64028
  54. #define IDI_CPSUI_TRANSPARENT 64029
  55. #define IDI_CPSUI_COLLATE 64030
  56. #define IDI_CPSUI_DUPLEX_NONE 64031
  57. #define IDI_CPSUI_DUPLEX_HORZ 64032
  58. #define IDI_CPSUI_DUPLEX_VERT 64033
  59. #define IDI_CPSUI_RES_DRAFT 64034
  60. #define IDI_CPSUI_RES_LOW 64035
  61. #define IDI_CPSUI_RES_MEDIUM 64036
  62. #define IDI_CPSUI_RES_HIGH 64037
  63. #define IDI_CPSUI_RES_PRESENTATION 64038
  64. #define IDI_CPSUI_MONO 64039
  65. #define IDI_CPSUI_COLOR 64040
  66. #define IDI_CPSUI_DITHER_NONE 64041
  67. #define IDI_CPSUI_DITHER_COARSE 64042
  68. #define IDI_CPSUI_DITHER_FINE 64043
  69. #define IDI_CPSUI_DITHER_LINEART 64044
  70. #define IDI_CPSUI_SCALING 64045
  71. #define IDI_CPSUI_COPY 64046
  72. #define IDI_CPSUI_HTCLRADJ 64047
  73. #define IDI_CPSUI_HALFTONE_SETUP 64048
  74. #define IDI_CPSUI_WATERMARK 64049
  75. #define IDI_CPSUI_ERROR 64050
  76. #define IDI_CPSUI_ICM_OPTION 64051
  77. #define IDI_CPSUI_ICM_METHOD 64052
  78. #define IDI_CPSUI_ICM_INTENT 64053
  79. #define IDI_CPSUI_STD_FORM 64054
  80. #define IDI_CPSUI_OUTBIN 64055
  81. #define IDI_CPSUI_OUTPUT 64056
  82. #define IDI_CPSUI_GRAPHIC 64057
  83. #define IDI_CPSUI_ADVANCE 64058
  84. #define IDI_CPSUI_DOCUMENT 64059
  85. #define IDI_CPSUI_DEVICE 64060
  86. #define IDI_CPSUI_DEVICE2 64061
  87. #define IDI_CPSUI_PRINTER 64062
  88. #define IDI_CPSUI_PRINTER2 64063
  89. #define IDI_CPSUI_PRINTER3 64064
  90. #define IDI_CPSUI_PRINTER4 64065
  91. #define IDI_CPSUI_OPTION 64066
  92. #define IDI_CPSUI_OPTION2 64067
  93. #define IDI_CPSUI_STOP 64068
  94. #define IDI_CPSUI_NOTINSTALLED 64069
  95. #define IDI_CPSUI_WARNING_OVERLAY 64070
  96. #define IDI_CPSUI_STOP_WARNING_OVERLAY 64071
  97. #define IDI_CPSUI_GENERIC_OPTION 64072
  98. #define IDI_CPSUI_GENERIC_ITEM 64073
  99. #define IDI_CPSUI_RUN_DIALOG 64074
  100. #define IDI_CPSUI_QUESTION 64075
  101. #define IDI_CPSUI_FORMTRAYASSIGN 64076
  102. #define IDI_CPSUI_PRINTER_FOLDER 64077
  103. #define IDI_CPSUI_INSTALLABLE_OPTION 64078
  104. #define IDI_CPSUI_PRINTER_FEATURE 64079
  105. #define IDI_CPSUI_DEVICE_FEATURE 64080
  106. #define IDI_CPSUI_FONTSUB 64081
  107. #define IDI_CPSUI_POSTSCRIPT 64082
  108. #define IDI_CPSUI_TELEPHONE 64083
  109. #define IDI_CPSUI_DUPLEX_NONE_L 64084
  110. #define IDI_CPSUI_DUPLEX_HORZ_L 64085
  111. #define IDI_CPSUI_DUPLEX_VERT_L 64086
  112. #define IDI_CPSUI_LF_PEN_PLOTTER 64087
  113. #define IDI_CPSUI_SF_PEN_PLOTTER 64088
  114. #define IDI_CPSUI_LF_RASTER_PLOTTER 64089
  115. #define IDI_CPSUI_SF_RASTER_PLOTTER 64090
  116. #define IDI_CPSUI_ROLL_PAPER 64091
  117. #define IDI_CPSUI_PEN_CARROUSEL 64092
  118. #define IDI_CPSUI_PLOTTER_PEN 64093
  119. #define IDI_CPSUI_MANUAL_FEED 64094
  120. #define IDI_CPSUI_FAX 64095
  121. #define IDI_CPSUI_PAGE_PROTECT 64096
  122. #define IDI_CPSUI_ENVELOPE_FEED 64097
  123. #define IDI_CPSUI_FONTCART_SLOT 64098
  124. #define IDI_CPSUI_LAYOUT_BMP_PORTRAIT 64099
  125. #define IDI_CPSUI_LAYOUT_BMP_ARROWL 64100
  126. #define IDI_CPSUI_LAYOUT_BMP_ARROWS 64101
  127. #define IDI_CPSUI_LAYOUT_BMP_BOOKLETL 64102
  128. #define IDI_CPSUI_LAYOUT_BMP_BOOKLETP 64103
  129. #if (NTDDI_VERSION >= NTDDI_VISTA)
  130. #define IDI_CPSUI_LAYOUT_BMP_ARROWLR 64104
  131. #define IDI_CPSUI_LAYOUT_BMP_ROT_PORT 64105
  132. #define IDI_CPSUI_LAYOUT_BMP_BOOKLETL_NB 64106
  133. #define IDI_CPSUI_LAYOUT_BMP_BOOKLETP_NB 64107
  134. #define IDI_CPSUI_ROT_PORT 64110
  135. #define IDI_CPSUI_NUP_BORDER 64111
  136. #define IDI_CPSUI_ICONID_LAST 64111
  137. #else
  138. #define IDI_CPSUI_ICONID_LAST 64103
  139. #endif
  140. #define IDS_CPSUI_STRID_FIRST 64700
  141. #define IDS_CPSUI_SETUP 64700
  142. #define IDS_CPSUI_MORE 64701
  143. #define IDS_CPSUI_CHANGE 64702
  144. #define IDS_CPSUI_OPTION 64703
  145. #define IDS_CPSUI_OF 64704
  146. #define IDS_CPSUI_RANGE_FROM 64705
  147. #define IDS_CPSUI_TO 64706
  148. #define IDS_CPSUI_COLON_SEP 64707
  149. #define IDS_CPSUI_LEFT_ANGLE 64708
  150. #define IDS_CPSUI_RIGHT_ANGLE 64709
  151. #define IDS_CPSUI_SLASH_SEP 64710
  152. #define IDS_CPSUI_PERCENT 64711
  153. #define IDS_CPSUI_LBCB_NOSEL 64712
  154. #define IDS_CPSUI_PROPERTIES 64713
  155. #define IDS_CPSUI_DEFAULTDOCUMENT 64714
  156. #define IDS_CPSUI_DOCUMENT 64715
  157. #define IDS_CPSUI_ADVANCEDOCUMENT 64716
  158. #define IDS_CPSUI_PRINTER 64717
  159. #define IDS_CPSUI_AUTOSELECT 64718
  160. #define IDS_CPSUI_PAPER_OUTPUT 64719
  161. #define IDS_CPSUI_GRAPHIC 64720
  162. #define IDS_CPSUI_OPTIONS 64721
  163. #define IDS_CPSUI_ADVANCED 64722
  164. #define IDS_CPSUI_STDDOCPROPTAB 64723
  165. #define IDS_CPSUI_STDDOCPROPTVTAB 64724
  166. #define IDS_CPSUI_DEVICEOPTIONS 64725
  167. #define IDS_CPSUI_FALSE 64726
  168. #define IDS_CPSUI_TRUE 64727
  169. #define IDS_CPSUI_NO 64728
  170. #define IDS_CPSUI_YES 64729
  171. #define IDS_CPSUI_OFF 64730
  172. #define IDS_CPSUI_ON 64731
  173. #define IDS_CPSUI_DEFAULT 64732
  174. #define IDS_CPSUI_ERROR 64733
  175. #define IDS_CPSUI_NONE 64734
  176. #define IDS_CPSUI_NOT 64735
  177. #define IDS_CPSUI_EXIST 64736
  178. #define IDS_CPSUI_NOTINSTALLED 64737
  179. #define IDS_CPSUI_ORIENTATION 64738
  180. #define IDS_CPSUI_SCALING 64739
  181. #define IDS_CPSUI_NUM_OF_COPIES 64740
  182. #define IDS_CPSUI_SOURCE 64741
  183. #define IDS_CPSUI_PRINTQUALITY 64742
  184. #define IDS_CPSUI_RESOLUTION 64743
  185. #define IDS_CPSUI_COLOR_APPERANCE 64744
  186. #define IDS_CPSUI_DUPLEX 64745
  187. #define IDS_CPSUI_TTOPTION 64746
  188. #define IDS_CPSUI_FORMNAME 64747
  189. #define IDS_CPSUI_ICM 64748
  190. #define IDS_CPSUI_ICMMETHOD 64749
  191. #define IDS_CPSUI_ICMINTENT 64750
  192. #define IDS_CPSUI_MEDIA 64751
  193. #define IDS_CPSUI_DITHERING 64752
  194. #define IDS_CPSUI_PORTRAIT 64753
  195. #define IDS_CPSUI_LANDSCAPE 64754
  196. #define IDS_CPSUI_ROT_LAND 64755
  197. #define IDS_CPSUI_COLLATE 64756
  198. #define IDS_CPSUI_COLLATED 64757
  199. #define IDS_CPSUI_PRINTFLDSETTING 64758
  200. #define IDS_CPSUI_DRAFT 64759
  201. #define IDS_CPSUI_LOW 64760
  202. #define IDS_CPSUI_MEDIUM 64761
  203. #define IDS_CPSUI_HIGH 64762
  204. #define IDS_CPSUI_PRESENTATION 64763
  205. #define IDS_CPSUI_COLOR 64764
  206. #define IDS_CPSUI_GRAYSCALE 64765
  207. #define IDS_CPSUI_MONOCHROME 64766
  208. #define IDS_CPSUI_SIMPLEX 64767
  209. #define IDS_CPSUI_HORIZONTAL 64768
  210. #define IDS_CPSUI_VERTICAL 64769
  211. #define IDS_CPSUI_LONG_SIDE 64770
  212. #define IDS_CPSUI_SHORT_SIDE 64771
  213. #define IDS_CPSUI_TT_PRINTASGRAPHIC 64772
  214. #define IDS_CPSUI_TT_DOWNLOADSOFT 64773
  215. #define IDS_CPSUI_TT_DOWNLOADVECT 64774
  216. #define IDS_CPSUI_TT_SUBDEV 64775
  217. #define IDS_CPSUI_ICM_BLACKWHITE 64776
  218. #define IDS_CPSUI_ICM_NO 64777
  219. #define IDS_CPSUI_ICM_YES 64778
  220. #define IDS_CPSUI_ICM_SATURATION 64779
  221. #define IDS_CPSUI_ICM_CONTRAST 64780
  222. #define IDS_CPSUI_ICM_COLORMETRIC 64781
  223. #define IDS_CPSUI_STANDARD 64782
  224. #define IDS_CPSUI_GLOSSY 64783
  225. #define IDS_CPSUI_TRANSPARENCY 64784
  226. #define IDS_CPSUI_REGULAR 64785
  227. #define IDS_CPSUI_BOND 64786
  228. #define IDS_CPSUI_COARSE 64787
  229. #define IDS_CPSUI_FINE 64788
  230. #define IDS_CPSUI_LINEART 64789
  231. #define IDS_CPSUI_ERRDIFFUSE 64790
  232. #define IDS_CPSUI_HALFTONE 64791
  233. #define IDS_CPSUI_HTCLRADJ 64792
  234. #define IDS_CPSUI_USE_HOST_HT 64793
  235. #define IDS_CPSUI_USE_DEVICE_HT 64794
  236. #define IDS_CPSUI_USE_PRINTER_HT 64795
  237. #define IDS_CPSUI_OUTBINASSIGN 64796
  238. #define IDS_CPSUI_WATERMARK 64797
  239. #define IDS_CPSUI_FORMTRAYASSIGN 64798
  240. #define IDS_CPSUI_UPPER_TRAY 64799
  241. #define IDS_CPSUI_ONLYONE 64800
  242. #define IDS_CPSUI_LOWER_TRAY 64801
  243. #define IDS_CPSUI_MIDDLE_TRAY 64802
  244. #define IDS_CPSUI_MANUAL_TRAY 64803
  245. #define IDS_CPSUI_ENVELOPE_TRAY 64804
  246. #define IDS_CPSUI_ENVMANUAL_TRAY 64805
  247. #define IDS_CPSUI_TRACTOR_TRAY 64806
  248. #define IDS_CPSUI_SMALLFMT_TRAY 64807
  249. #define IDS_CPSUI_LARGEFMT_TRAY 64808
  250. #define IDS_CPSUI_LARGECAP_TRAY 64809
  251. #define IDS_CPSUI_CASSETTE_TRAY 64810
  252. #define IDS_CPSUI_DEFAULT_TRAY 64811
  253. #define IDS_CPSUI_FORMSOURCE 64812
  254. #define IDS_CPSUI_MANUALFEED 64813
  255. #define IDS_CPSUI_PRINTERMEM_KB 64814
  256. #define IDS_CPSUI_PRINTERMEM_MB 64815
  257. #define IDS_CPSUI_PAGEPROTECT 64816
  258. #define IDS_CPSUI_HALFTONE_SETUP 64817
  259. #define IDS_CPSUI_INSTFONTCART 64818
  260. #define IDS_CPSUI_SLOT1 64819
  261. #define IDS_CPSUI_SLOT2 64820
  262. #define IDS_CPSUI_SLOT3 64821
  263. #define IDS_CPSUI_SLOT4 64822
  264. #define IDS_CPSUI_LEFT_SLOT 64823
  265. #define IDS_CPSUI_RIGHT_SLOT 64824
  266. #define IDS_CPSUI_STAPLER 64825
  267. #define IDS_CPSUI_STAPLER_ON 64826
  268. #define IDS_CPSUI_STAPLER_OFF 64827
  269. #define IDS_CPSUI_STACKER 64828
  270. #define IDS_CPSUI_MAILBOX 64829
  271. #define IDS_CPSUI_COPY 64830
  272. #define IDS_CPSUI_COPIES 64831
  273. #define IDS_CPSUI_TOTAL 64832
  274. #define IDS_CPSUI_MAKE 64833
  275. #define IDS_CPSUI_PRINT 64834
  276. #define IDS_CPSUI_FAX 64835
  277. #define IDS_CPSUI_PLOT 64836
  278. #define IDS_CPSUI_SLOW 64837
  279. #define IDS_CPSUI_FAST 64838
  280. #define IDS_CPSUI_ROTATED 64839
  281. #define IDS_CPSUI_RESET 64840
  282. #define IDS_CPSUI_ALL 64841
  283. #define IDS_CPSUI_DEVICE 64842
  284. #define IDS_CPSUI_SETTINGS 64843
  285. #define IDS_CPSUI_REVERT 64844
  286. #define IDS_CPSUI_CHANGES 64845
  287. #define IDS_CPSUI_CHANGED 64846
  288. #define IDS_CPSUI_WARNING 64847
  289. #define IDS_CPSUI_ABOUT 64848
  290. #define IDS_CPSUI_VERSION 64849
  291. #define IDS_CPSUI_NO_NAME 64850
  292. #define IDS_CPSUI_SETTING 64851
  293. #define IDS_CPSUI_DEVICE_SETTINGS 64852
  294. #define IDS_CPSUI_STDDOCPROPTAB1 64853
  295. #define IDS_CPSUI_STDDOCPROPTAB2 64854
  296. #define IDS_CPSUI_PAGEORDER 64855
  297. #define IDS_CPSUI_FRONTTOBACK 64856
  298. #define IDS_CPSUI_BACKTOFRONT 64857
  299. #define IDS_CPSUI_QUALITY_SETTINGS 64858
  300. #define IDS_CPSUI_QUALITY_DRAFT 64859
  301. #define IDS_CPSUI_QUALITY_BETTER 64860
  302. #define IDS_CPSUI_QUALITY_BEST 64861
  303. #define IDS_CPSUI_QUALITY_CUSTOM 64862
  304. #define IDS_CPSUI_OUTPUTBIN 64863
  305. #define IDS_CPSUI_NUP 64864
  306. #define IDS_CPSUI_NUP_NORMAL 64865
  307. #define IDS_CPSUI_NUP_TWOUP 64866
  308. #define IDS_CPSUI_NUP_FOURUP 64867
  309. #define IDS_CPSUI_NUP_SIXUP 64868
  310. #define IDS_CPSUI_NUP_NINEUP 64869
  311. #define IDS_CPSUI_NUP_SIXTEENUP 64870
  312. #define IDS_CPSUI_SIDE1 64871
  313. #define IDS_CPSUI_SIDE2 64872
  314. #define IDS_CPSUI_BOOKLET 64873
  315. #if (NTDDI_VERSION >= NTDDI_VISTA)
  316. #define IDS_CPSUI_POSTER 64874
  317. #define IDS_CPSUI_POSTER_2x2 64875
  318. #define IDS_CPSUI_POSTER_3x3 64876
  319. #define IDS_CPSUI_POSTER_4x4 64877
  320. #define IDS_CPSUI_NUP_DIRECTION 64878
  321. #define IDS_CPSUI_RIGHT_THEN_DOWN 64879
  322. #define IDS_CPSUI_DOWN_THEN_RIGHT 64880
  323. #define IDS_CPSUI_LEFT_THEN_DOWN 64881
  324. #define IDS_CPSUI_DOWN_THEN_LEFT 64882
  325. #define IDS_CPSUI_MANUAL_DUPLEX 64883
  326. #define IDS_CPSUI_MANUAL_DUPLEX_ON 64884
  327. #define IDS_CPSUI_MANUAL_DUPLEX_OFF 64885
  328. #define IDS_CPSUI_ROT_PORT 64886
  329. #define IDS_CPSUI_STAPLE 64887
  330. #define IDS_CPSUI_BOOKLET_EDGE 64888
  331. #define IDS_CPSUI_BOOKLET_EDGE_LEFT 64889
  332. #define IDS_CPSUI_BOOKLET_EDGE_RIGHT 64890
  333. #define IDS_CPSUI_NUP_BORDER 64891
  334. #define IDS_CPSUI_NUP_BORDERED 64892
  335. #define IDS_CPSUI_STRID_LAST 64892
  336. #else
  337. #define IDS_CPSUI_STRID_LAST 64873
  338. #endif
  339. #if (!defined(RC_INVOKED))
  340. /* DEFINES */
  341. #define TVOT_2STATES 0
  342. #define TVOT_3STATES 1
  343. #define TVOT_UDARROW 2
  344. #define TVOT_TRACKBAR 3
  345. #define TVOT_SCROLLBAR 4
  346. #define TVOT_LISTBOX 5
  347. #define TVOT_COMBOBOX 6
  348. #define TVOT_EDITBOX 7
  349. #define TVOT_PUSHBUTTON 8
  350. #define TVOT_CHKBOX 9
  351. #if (NTDDI_VERSION >= NTDDI_VISTA)
  352. #define TVOT_NSTATES_EX 10
  353. #define TVOT_LAST TVOT_NSTATES_EX
  354. #else
  355. #define TVOT_LAST TVOT_CHKBOX
  356. #endif
  357. #define TVOT_NONE (TVOT_LAST + 1)
  358. #define CHKBOXS_FALSE_TRUE 0
  359. #define CHKBOXS_NO_YES 1
  360. #define CHKBOXS_OFF_ON 2
  361. #define CHKBOXS_FALSE_PDATA 3
  362. #define CHKBOXS_NO_PDATA 4
  363. #define CHKBOXS_OFF_PDATA 5
  364. #define CHKBOXS_NONE_PDATA 6
  365. #define PUSHBUTTON_TYPE_DLGPROC 0
  366. #define PUSHBUTTON_TYPE_CALLBACK 1
  367. #define PUSHBUTTON_TYPE_HTCLRADJ 2
  368. #define PUSHBUTTON_TYPE_HTSETUP 3
  369. #define MAX_RES_STR_CHARS 160
  370. #define OPTPF_HIDE 0x01
  371. #define OPTPF_DISABLED 0x02
  372. #define OPTPF_ICONID_AS_HICON 0x04
  373. #define OPTPF_OVERLAY_WARNING_ICON 0x08
  374. #define OPTPF_OVERLAY_STOP_ICON 0x10
  375. #define OPTPF_OVERLAY_NO_ICON 0x20
  376. #define OPTPF_USE_HDLGTEMPLATE 0x40
  377. #if (NTDDI_VERSION >= NTDDI_VISTA)
  378. #define OPTPF_MASK 0x7f
  379. #endif
  380. #if (NTDDI_VERSION >= NTDDI_VISTA)
  381. #define OPTCF_HIDE 0x01
  382. #define OPTCF_MASK 0x01
  383. #endif
  384. #define OPTTF_TYPE_DISABLED 0x01
  385. #define OPTTF_NOSPACE_BEFORE_POSTFIX 0x02
  386. #if (NTDDI_VERSION >= NTDDI_VISTA)
  387. #define OPTTF_MASK 0x03
  388. #endif
  389. #define OTS_LBCB_SORT 0x0001
  390. #define OTS_LBCB_PROPPAGE_LBUSECB 0x0002
  391. #define OTS_LBCB_PROPPAGE_CBUSELB 0x0004
  392. #define OTS_LBCB_INCL_ITEM_NONE 0x0008
  393. #define OTS_LBCB_NO_ICON16_IN_ITEM 0x0010
  394. #define OTS_PUSH_INCL_SETUP_TITLE 0x0020
  395. #define OTS_PUSH_NO_DOT_DOT_DOT 0x0040
  396. #define OTS_PUSH_ENABLE_ALWAYS 0x0080
  397. #if (NTDDI_VERSION >= NTDDI_VISTA)
  398. #define OTS_MASK 0x00ff
  399. #endif
  400. #define EPF_PUSH_TYPE_DLGPROC 0x0001
  401. #define EPF_INCL_SETUP_TITLE 0x0002
  402. #define EPF_NO_DOT_DOT_DOT 0x0004
  403. #define EPF_ICONID_AS_HICON 0x0008
  404. #define EPF_OVERLAY_WARNING_ICON 0x0010
  405. #define EPF_OVERLAY_STOP_ICON 0x0020
  406. #define EPF_OVERLAY_NO_ICON 0x0040
  407. #define EPF_USE_HDLGTEMPLATE 0x0080
  408. #if (NTDDI_VERSION >= NTDDI_VISTA)
  409. #define EPF_MASK 0x00ff
  410. #endif
  411. #define ECBF_CHECKNAME_AT_FRONT 0x0001
  412. #define ECBF_CHECKNAME_ONLY_ENABLED 0x0002
  413. #define ECBF_ICONID_AS_HICON 0x0004
  414. #define ECBF_OVERLAY_WARNING_ICON 0x0008
  415. #define ECBF_OVERLAY_ECBICON_IF_CHECKED 0x0010
  416. #define ECBF_OVERLAY_STOP_ICON 0x0020
  417. #define ECBF_OVERLAY_NO_ICON 0x0040
  418. #define ECBF_CHECKNAME_ONLY 0x0080
  419. #if (NTDDI_VERSION >= NTDDI_VISTA)
  420. #define ECBF_MASK 0x00ff
  421. #endif
  422. #define OPTIF_COLLAPSE __MSABI_LONG(0x00000001)
  423. #define OPTIF_HIDE __MSABI_LONG(0x00000002)
  424. #define OPTIF_CALLBACK __MSABI_LONG(0x00000004)
  425. #define OPTIF_CHANGED __MSABI_LONG(0x00000008)
  426. #define OPTIF_CHANGEONCE __MSABI_LONG(0x00000010)
  427. #define OPTIF_DISABLED __MSABI_LONG(0x00000020)
  428. #define OPTIF_ECB_CHECKED __MSABI_LONG(0x00000040)
  429. #define OPTIF_EXT_HIDE __MSABI_LONG(0x00000080)
  430. #define OPTIF_EXT_DISABLED __MSABI_LONG(0x00000100)
  431. #define OPTIF_SEL_AS_HICON __MSABI_LONG(0x00000200)
  432. #define OPTIF_EXT_IS_EXTPUSH __MSABI_LONG(0x00000400)
  433. #define OPTIF_NO_GROUPBOX_NAME __MSABI_LONG(0x00000800)
  434. #define OPTIF_OVERLAY_WARNING_ICON __MSABI_LONG(0x00001000)
  435. #define OPTIF_OVERLAY_STOP_ICON __MSABI_LONG(0x00002000)
  436. #define OPTIF_OVERLAY_NO_ICON __MSABI_LONG(0x00004000)
  437. #define OPTIF_INITIAL_TVITEM __MSABI_LONG(0x00008000)
  438. #define OPTIF_HAS_POIEXT __MSABI_LONG(0x00010000)
  439. #define OPTIF_MASK __MSABI_LONG(0x0001ffff)
  440. #define DMPUB_NONE 0
  441. #define DMPUB_FIRST 1
  442. #define DMPUB_ORIENTATION 1
  443. #define DMPUB_SCALE 2
  444. #define DMPUB_COPIES_COLLATE 3
  445. #define DMPUB_DEFSOURCE 4
  446. #define DMPUB_PRINTQUALITY 5
  447. #define DMPUB_COLOR 6
  448. #define DMPUB_DUPLEX 7
  449. #define DMPUB_TTOPTION 8
  450. #define DMPUB_FORMNAME 9
  451. #define DMPUB_ICMMETHOD 10
  452. #define DMPUB_ICMINTENT 11
  453. #define DMPUB_MEDIATYPE 12
  454. #define DMPUB_DITHERTYPE 13
  455. #define DMPUB_OUTPUTBIN 14
  456. #define DMPUB_QUALITY 15
  457. #define DMPUB_NUP 16
  458. #define DMPUB_PAGEORDER 17
  459. #if (NTDDI_VERSION >= NTDDI_VISTA)
  460. #define DMPUB_NUP_DIRECTION 18
  461. #define DMPUB_MANUAL_DUPLEX 19
  462. #define DMPUB_STAPLE 20
  463. #define DMPUB_BOOKLET_EDGE 21
  464. #define DMPUB_LAST 21
  465. #else
  466. #define DMPUB_LAST 17
  467. #endif
  468. #define DMPUB_OEM_PAPER_ITEM 97
  469. #define DMPUB_OEM_GRAPHIC_ITEM 98
  470. #define DMPUB_OEM_ROOT_ITEM 99
  471. #define DMPUB_USER 100
  472. #define MAKE_DMPUB_HIDEBIT(DMPub) (DWORD)(((DWORD)0x01 << ((DMPub) - 1)))
  473. #define IS_DMPUB_HIDDEN(dw, DMPub) (WINBOOL)((DWORD)(dw) & MAKE_DMPUB_HIDEBIT(DMPub))
  474. #define OIEXTF_ANSI_STRING 0x0001
  475. #define CPSUICB_REASON_SEL_CHANGED 0
  476. #define CPSUICB_REASON_PUSHBUTTON 1
  477. #define CPSUICB_REASON_ECB_CHANGED 2
  478. #define CPSUICB_REASON_DLGPROC 3
  479. #define CPSUICB_REASON_UNDO_CHANGES 4
  480. #define CPSUICB_REASON_EXTPUSH 5
  481. #define CPSUICB_REASON_APPLYNOW 6
  482. #define CPSUICB_REASON_OPTITEM_SETFOCUS 7
  483. #define CPSUICB_REASON_ITEMS_REVERTED 8
  484. #define CPSUICB_REASON_ABOUT 9
  485. #define CPSUICB_REASON_SETACTIVE 10
  486. #define CPSUICB_REASON_KILLACTIVE 11
  487. #define CPSUICB_ACTION_NONE 0
  488. #define CPSUICB_ACTION_OPTIF_CHANGED 1
  489. #define CPSUICB_ACTION_REINIT_ITEMS 2
  490. #define CPSUICB_ACTION_NO_APPLY_EXIT 3
  491. #define CPSUICB_ACTION_ITEMS_APPLIED 4
  492. #define DP_STD_TREEVIEWPAGE 0xFFFF
  493. #define DP_STD_DOCPROPPAGE2 0xFFFE
  494. #define DP_STD_DOCPROPPAGE1 0XFFFD
  495. #define DP_STD_RESERVED_START 0xFFF0
  496. #define MAX_DLGPAGE_COUNT 64
  497. #define DPF_ICONID_AS_HICON 0x0001
  498. #define DPF_USE_HDLGTEMPLATE 0x0002
  499. #define CPSUIF_UPDATE_PERMISSION 0x0001
  500. #define CPSUIF_ICONID_AS_HICON 0x0002
  501. #define CPSUIF_ABOUT_CALLBACK 0x0004
  502. #define CPSUI_PDLGPAGE_DOCPROP (PDLGPAGE)1
  503. #define CPSUI_PDLGPAGE_ADVDOCPROP (PDLGPAGE)2
  504. #define CPSUI_PDLGPAGE_PRINTERPROP (PDLGPAGE)3
  505. #define CPSUI_PDLGPAGE_TREEVIEWONLY (PDLGPAGE)4
  506. #define CPSUI_PDLGPAGE_TREEVIWONLY CPSUI_PDLGPAGE_TREEVIEWONLY
  507. #define CPSFUNC_ADD_HPROPSHEETPAGE 0
  508. #define CPSFUNC_ADD_PROPSHEETPAGEW 1
  509. #define CPSFUNC_ADD_PCOMPROPSHEETUIA 2
  510. #define CPSFUNC_ADD_PCOMPROPSHEETUIW 3
  511. #define CPSFUNC_ADD_PFNPROPSHEETUIA 4
  512. #define CPSFUNC_ADD_PFNPROPSHEETUIW 5
  513. #define CPSFUNC_DELETE_HCOMPROPSHEET 6
  514. #define CPSFUNC_SET_HSTARTPAGE 7
  515. #define CPSFUNC_GET_PAGECOUNT 8
  516. #define CPSFUNC_SET_RESULT 9
  517. #define CPSFUNC_GET_HPSUIPAGES 10
  518. #define CPSFUNC_LOAD_CPSUI_STRINGA 11
  519. #define CPSFUNC_LOAD_CPSUI_STRINGW 12
  520. #define CPSFUNC_LOAD_CPSUI_ICON 13
  521. #define CPSFUNC_GET_PFNPROPSHEETUI_ICON 14
  522. #define CPSFUNC_ADD_PROPSHEETPAGEA 15
  523. #define CPSFUNC_INSERT_PSUIPAGEA 16
  524. #define CPSFUNC_INSERT_PSUIPAGEW 17
  525. #define CPSFUNC_SET_PSUIPAGE_TITLEA 18
  526. #define CPSFUNC_SET_PSUIPAGE_TITLEW 19
  527. #define CPSFUNC_SET_PSUIPAGE_ICON 20
  528. #define CPSFUNC_SET_DATABLOCK 21
  529. #define CPSFUNC_QUERY_DATABLOCK 22
  530. #define CPSFUNC_SET_DMPUB_HIDEBITS 23
  531. #define CPSFUNC_IGNORE_CPSUI_PSN_APPLY 24
  532. #define CPSFUNC_DO_APPLY_CPSUI 25
  533. #if (NTDDI_VERSION >= NTDDI_WINXP)
  534. #define CPSFUNC_SET_FUSION_CONTEXT 26
  535. #define MAX_CPSFUNC_INDEX 26
  536. #else
  537. #define MAX_CPSFUNC_INDEX 25
  538. #endif
  539. #ifdef UNICODE
  540. #define CPSFUNC_ADD_PCOMPROPSHEETUI CPSFUNC_ADD_PCOMPROPSHEETUIW
  541. #define CPSFUNC_ADD_PFNPROPSHEETUI CPSFUNC_ADD_PFNPROPSHEETUIW
  542. #define CPSFUNC_LOAD_CPSUI_STRING CPSFUNC_LOAD_CPSUI_STRINGW
  543. #define CPSFUNC_ADD_PROPSHEETPAGE CPSFUNC_ADD_PROPSHEETPAGEW
  544. #define CPSFUNC_INSERT_PSUIPAGE CPSFUNC_INSERT_PSUIPAGEW
  545. #define CPSFUNC_SET_PSUIPAGE_TITLE CPSFUNC_SET_PSUIPAGE_TITLEW
  546. #else
  547. #define CPSFUNC_ADD_PCOMPROPSHEETUI CPSFUNC_ADD_PCOMPROPSHEETUIA
  548. #define CPSFUNC_ADD_PFNPROPSHEETUI CPSFUNC_ADD_PFNPROPSHEETUIA
  549. #define CPSFUNC_LOAD_CPSUI_STRING CPSFUNC_LOAD_CPSUI_STRINGA
  550. #define CPSFUNC_ADD_PROPSHEETPAGE CPSFUNC_ADD_PROPSHEETPAGEA
  551. #define CPSFUNC_INSERT_PSUIPAGE CPSFUNC_INSERT_PSUIPAGEA
  552. #define CPSFUNC_SET_PSUIPAGE_TITLE CPSFUNC_SET_PSUIPAGE_TITLEA
  553. #endif
  554. #define SR_OWNER 0
  555. #define SR_OWNER_PARENT 1
  556. #define HINSPSUIPAGE_FIRST (HANDLE)0xFFFFFFFE
  557. #define HINSPSUIPAGE_LAST (HANDLE)0xFFFFFFFF
  558. #define HINSPSUIPAGE_INDEX(i) (HANDLE)MAKELONG(i, 0);
  559. #define PSUIPAGEINSERT_GROUP_PARENT 0
  560. #define PSUIPAGEINSERT_PCOMPROPSHEETUI 1
  561. #define PSUIPAGEINSERT_PFNPROPSHEETUI 2
  562. #define PSUIPAGEINSERT_PROPSHEETPAGE 3
  563. #define PSUIPAGEINSERT_HPROPSHEETPAGE 4
  564. #define PSUIPAGEINSERT_DLL 5
  565. #define MAX_PSUIPAGEINSERT_INDEX 5
  566. #define INSPSUIPAGE_MODE_BEFORE 0
  567. #define INSPSUIPAGE_MODE_AFTER 1
  568. #define INSPSUIPAGE_MODE_FIRST_CHILD 2
  569. #define INSPSUIPAGE_MODE_LAST_CHILD 3
  570. #define INSPSUIPAGE_MODE_INDEX 4
  571. #define SSP_TVPAGE 10000
  572. #define SSP_STDPAGE1 10001
  573. #define SSP_STDPAGE2 10002
  574. #define APPLYCPSUI_NO_NEWDEF 0x00000001
  575. #define APPLYCPSUI_OK_CANCEL_BUTTON 0x00000002
  576. #define PROPSHEETUI_REASON_INIT 0
  577. #define PROPSHEETUI_REASON_GET_INFO_HEADER 1
  578. #define PROPSHEETUI_REASON_DESTROY 2
  579. #define PROPSHEETUI_REASON_SET_RESULT 3
  580. #define PROPSHEETUI_REASON_GET_ICON 4
  581. #define MAX_PROPSHEETUI_REASON_INDEX 4
  582. #define PROPSHEETUI_INFO_VERSION 0x0100
  583. #define PSUIINFO_UNICODE 0x0001
  584. /* return-values for CommonPropertySheetUI on success */
  585. #define CPSUI_CANCEL 0
  586. #define CPSUI_OK 1
  587. #define CPSUI_RESTARTWINDOWS 2
  588. #define CPSUI_REBOOTSYSTEM 3
  589. #define ERR_CPSUI_GETLASTERROR -1
  590. #define ERR_CPSUI_ALLOCMEM_FAILED -2
  591. #define ERR_CPSUI_INVALID_PDATA -3
  592. #define ERR_CPSUI_INVALID_LPARAM -4
  593. #define ERR_CPSUI_NULL_HINST -5
  594. #define ERR_CPSUI_NULL_CALLERNAME -6
  595. #define ERR_CPSUI_NULL_OPTITEMNAME -7
  596. #define ERR_CPSUI_NO_PROPSHEETPAGE -8
  597. #define ERR_CPSUI_TOO_MANY_PROPSHEETPAGES -9
  598. #define ERR_CPSUI_CREATEPROPPAGE_FAILED -10
  599. #define ERR_CPSUI_MORE_THAN_ONE_TVPAGE -11
  600. #define ERR_CPSUI_MORE_THAN_ONE_STDPAGE -12
  601. #define ERR_CPSUI_INVALID_PDLGPAGE -13
  602. #define ERR_CPSUI_INVALID_DLGPAGE_CBSIZE -14
  603. #define ERR_CPSUI_TOO_MANY_DLGPAGES -15
  604. #define ERR_CPSUI_INVALID_DLGPAGEIDX -16
  605. #define ERR_CPSUI_SUBITEM_DIFF_DLGPAGEIDX -17
  606. #define ERR_CPSUI_NULL_POPTITEM -18
  607. #define ERR_CPSUI_INVALID_OPTITEM_CBSIZE -19
  608. #define ERR_CPSUI_INVALID_OPTTYPE_CBSIZE -20
  609. #define ERR_CPSUI_INVALID_OPTTYPE_COUNT -21
  610. #define ERR_CPSUI_NULL_POPTPARAM -22
  611. #define ERR_CPSUI_INVALID_OPTPARAM_CBSIZE -23
  612. #define ERR_CPSUI_INVALID_EDITBOX_PSEL -24
  613. #define ERR_CPSUI_INVALID_EDITBOX_BUF_SIZE -25
  614. #define ERR_CPSUI_INVALID_ECB_CBSIZE -26
  615. #define ERR_CPSUI_NULL_ECB_PTITLE -27
  616. #define ERR_CPSUI_NULL_ECB_PCHECKEDNAME -28
  617. #define ERR_CPSUI_INVALID_DMPUBID -29
  618. #define ERR_CPSUI_INVALID_DMPUB_TVOT -30
  619. #define ERR_CPSUI_CREATE_TRACKBAR_FAILED -31
  620. #define ERR_CPSUI_CREATE_UDARROW_FAILED -32
  621. #define ERR_CPSUI_CREATE_IMAGELIST_FAILED -33
  622. #define ERR_CPSUI_INVALID_TVOT_TYPE -34
  623. #define ERR_CPSUI_INVALID_LBCB_TYPE -35
  624. #define ERR_CPSUI_SUBITEM_DIFF_OPTIF_HIDE -36
  625. #define ERR_CPSUI_INVALID_PUSHBUTTON_TYPE -38
  626. #define ERR_CPSUI_INVALID_EXTPUSH_CBSIZE -39
  627. #define ERR_CPSUI_NULL_EXTPUSH_DLGPROC -40
  628. #define ERR_CPSUI_NO_EXTPUSH_DLGTEMPLATEID -41
  629. #define ERR_CPSUI_NULL_EXTPUSH_CALLBACK -42
  630. #define ERR_CPSUI_DMCOPIES_USE_EXTPUSH -43
  631. #define ERR_CPSUI_ZERO_OPTITEM -44
  632. #define ERR_CPSUI_FUNCTION_NOT_IMPLEMENTED -9999
  633. #define ERR_CPSUI_INTERNAL_ERROR -10000
  634. #define PSUIHDRF_OBSOLETE 0x0001
  635. #define PSUIHDRF_NOAPPLYNOW 0x0002
  636. #define PSUIHDRF_PROPTITLE 0x0004
  637. #define PSUIHDRF_USEHICON 0x0008
  638. #define PSUIHDRF_DEFTITLE 0x0010
  639. #define PSUIHDRF_EXACT_PTITLE 0x0020
  640. /* TYPES */
  641. typedef struct _OPTPARAM {
  642. WORD cbSize;
  643. BYTE Flags;
  644. BYTE Style;
  645. LPTSTR pData;
  646. ULONG_PTR IconID;
  647. LPARAM lParam;
  648. ULONG_PTR dwReserved[2];
  649. } OPTPARAM, *POPTPARAM;
  650. #if (NTDDI_VERSION >= NTDDI_VISTA)
  651. typedef struct _OPTCOMBO {
  652. WORD cbSize;
  653. BYTE Flags;
  654. WORD cListItem;
  655. POPTPARAM pListItem;
  656. LONG Sel;
  657. DWORD dwReserved[3];
  658. } OPTCOMBO, *POPTCOMBO;
  659. #endif
  660. typedef struct _OPTTYPE {
  661. WORD cbSize;
  662. BYTE Type;
  663. BYTE Flags;
  664. WORD Count;
  665. WORD BegCtrlID;
  666. POPTPARAM pOptParam;
  667. WORD Style;
  668. WORD wReserved[3];
  669. ULONG_PTR dwReserved[3];
  670. } OPTTYPE, *POPTTYPE;
  671. typedef struct _EXTPUSH {
  672. WORD cbSize;
  673. WORD Flags;
  674. LPTSTR pTitle;
  675. __C89_NAMELESS union {
  676. DLGPROC DlgProc;
  677. FARPROC pfnCallBack;
  678. } DUMMYUNIONNAME;
  679. ULONG_PTR IconID;
  680. __C89_NAMELESS union {
  681. WORD DlgTemplateID;
  682. HANDLE hDlgTemplate;
  683. } DUMMYUNIONNAME2;
  684. ULONG_PTR dwReserved[3];
  685. } EXTPUSH, *PEXTPUSH;
  686. typedef struct _EXTCHKBOX {
  687. WORD cbSize;
  688. WORD Flags;
  689. LPTSTR pTitle;
  690. LPTSTR pSeparator;
  691. LPTSTR pCheckedName;
  692. ULONG_PTR IconID;
  693. WORD wReserved[4];
  694. ULONG_PTR dwReserved[2];
  695. } EXTCHKBOX, *PEXTCHKBOX;
  696. typedef struct _OIEXT {
  697. WORD cbSize;
  698. WORD Flags;
  699. HINSTANCE hInstCaller;
  700. LPTSTR pHelpFile;
  701. ULONG_PTR dwReserved[4];
  702. } OIEXT, *POIEXT;
  703. typedef struct _OPTITEM {
  704. WORD cbSize;
  705. BYTE Level;
  706. BYTE DlgPageIdx;
  707. DWORD Flags;
  708. ULONG_PTR UserData;
  709. LPTSTR pName;
  710. __C89_NAMELESS union {
  711. LONG Sel;
  712. LPTSTR pSel;
  713. } DUMMYUNIONNAME;
  714. __C89_NAMELESS union {
  715. PEXTCHKBOX pExtChkBox;
  716. PEXTPUSH pExtPush;
  717. } DUMMYUNIONNAME2;
  718. POPTTYPE pOptType;
  719. DWORD HelpIndex;
  720. BYTE DMPubID;
  721. BYTE UserItemID;
  722. WORD wReserved;
  723. POIEXT pOIExt;
  724. ULONG_PTR dwReserved[3];
  725. } OPTITEM, *POPTITEM;
  726. typedef struct _CPSUICBPARAM {
  727. WORD cbSize;
  728. WORD Reason;
  729. HWND hDlg;
  730. POPTITEM pOptItem;
  731. WORD cOptItem;
  732. WORD Flags;
  733. POPTITEM pCurItem;
  734. __C89_NAMELESS union {
  735. LONG OldSel;
  736. LPTSTR pOldSel;
  737. } DUMMYUNIONNAME;
  738. ULONG_PTR UserData;
  739. ULONG_PTR Result;
  740. } CPSUICBPARAM, *PCPSUICBPARAM;
  741. typedef LONG
  742. (APIENTRY *_CPSUICALLBACK)(
  743. PCPSUICBPARAM pCPSUICBParam);
  744. #define CPSUICALLBACK LONG APIENTRY
  745. typedef struct _DLGPAGE {
  746. WORD cbSize;
  747. WORD Flags;
  748. DLGPROC DlgProc;
  749. LPTSTR pTabName;
  750. ULONG_PTR IconID;
  751. __C89_NAMELESS union {
  752. WORD DlgTemplateID;
  753. HANDLE hDlgTemplate;
  754. } DUMMYUNIONNAME;
  755. } DLGPAGE, *PDLGPAGE;
  756. typedef struct _COMPROPSHEETUI {
  757. WORD cbSize;
  758. WORD Flags;
  759. HINSTANCE hInstCaller;
  760. LPTSTR pCallerName;
  761. ULONG_PTR UserData;
  762. LPTSTR pHelpFile;
  763. _CPSUICALLBACK pfnCallBack;
  764. POPTITEM pOptItem;
  765. PDLGPAGE pDlgPage;
  766. WORD cOptItem;
  767. WORD cDlgPage;
  768. ULONG_PTR IconID;
  769. LPTSTR pOptItemName;
  770. WORD CallerVersion;
  771. WORD OptItemVersion;
  772. ULONG_PTR dwReserved[4];
  773. } COMPROPSHEETUI, *PCOMPROPSHEETUI;
  774. typedef struct _SETRESULT_INFO {
  775. WORD cbSize;
  776. WORD wReserved;
  777. HANDLE hSetResult;
  778. LRESULT Result;
  779. } SETRESULT_INFO, *PSETRESULT_INFO;
  780. typedef struct _INSERTPSUIPAGE_INFO {
  781. WORD cbSize;
  782. BYTE Type;
  783. BYTE Mode;
  784. ULONG_PTR dwData1;
  785. ULONG_PTR dwData2;
  786. ULONG_PTR dwData3;
  787. } INSERTPSUIPAGE_INFO, *PINSERTPSUIPAGE_INFO;
  788. typedef LONG_PTR
  789. (CALLBACK *PFNCOMPROPSHEET)(
  790. HANDLE hComPropSheet,
  791. UINT Function,
  792. LPARAM lParam1,
  793. LPARAM lParam2);
  794. typedef struct _PSPINFO {
  795. WORD cbSize;
  796. WORD wReserved;
  797. HANDLE hComPropSheet;
  798. HANDLE hCPSUIPage;
  799. PFNCOMPROPSHEET pfnComPropSheet;
  800. } PSPINFO, *PPSPINFO;
  801. #define PPSPINFO_FROM_WM_INITDIALOG_LPARAM(lParam) \
  802. (PPSPINFO)((LPBYTE)lParam + ((LPPROPSHEETPAGE)lParam)->dwSize)
  803. typedef struct _CPSUIDATABLOCK {
  804. DWORD cbData;
  805. LPBYTE pbData;
  806. } CPSUIDATABLOCK, *PCPSUIDATABLOCK;
  807. typedef struct _PROPSHEETUI_INFO {
  808. WORD cbSize;
  809. WORD Version;
  810. WORD Flags;
  811. WORD Reason;
  812. HANDLE hComPropSheet;
  813. PFNCOMPROPSHEET pfnComPropSheet;
  814. LPARAM lParamInit;
  815. ULONG_PTR UserData;
  816. ULONG_PTR Result;
  817. } PROPSHEETUI_INFO, *PPROPSHEETUI_INFO;
  818. typedef struct _PROPSHEETUI_GETICON_INFO {
  819. WORD cbSize;
  820. WORD Flags;
  821. WORD cxIcon;
  822. WORD cyIcon;
  823. HICON hIcon;
  824. } PROPSHEETUI_GETICON_INFO, *PPROPSHEETUI_GETICON_INFO;
  825. typedef LONG
  826. (FAR *PFNPROPSHEETUI)(
  827. PPROPSHEETUI_INFO pPSUIInfo,
  828. LPARAM lParam);
  829. typedef struct _PROPSHEETUI_INFO_HEADER {
  830. WORD cbSize;
  831. WORD Flags;
  832. LPTSTR pTitle;
  833. HWND hWndParent;
  834. HINSTANCE hInst;
  835. __C89_NAMELESS union {
  836. HICON hIcon;
  837. ULONG_PTR IconID;
  838. } DUMMYUNIONNAME;
  839. } PROPSHEETUI_INFO_HEADER, *PPROPSHEETUI_INFO_HEADER;
  840. /* FUNCTIONS */
  841. LONG
  842. APIENTRY
  843. CommonPropertySheetUIA(
  844. HWND hWndOwner,
  845. PFNPROPSHEETUI pfnPropSheetUI,
  846. LPARAM lParam,
  847. LPDWORD pResult);
  848. LONG
  849. APIENTRY
  850. CommonPropertySheetUIW(
  851. HWND hWndOwner,
  852. PFNPROPSHEETUI pfnPropSheetUI,
  853. LPARAM lParam,
  854. LPDWORD pResult);
  855. #ifdef UNICODE
  856. #define CommonPropertySheetUI CommonPropertySheetUIW
  857. #else
  858. #define CommonPropertySheetUI CommonPropertySheetUIA
  859. #endif
  860. ULONG_PTR
  861. APIENTRY
  862. GetCPSUIUserData(
  863. HWND hDlg);
  864. WINBOOL
  865. APIENTRY
  866. SetCPSUIUserData(
  867. HWND hDlg,
  868. ULONG_PTR CPSUIUserData);
  869. #endif /* (!defined(RC_INVOKED)) */
  870. /* FIXME : These declarations doesn't exist in the official header */
  871. ULONG_PTR WINAPI GetPSTUIUserData(HWND);
  872. WINBOOL WINAPI SetPSTUIUserData(HWND, ULONG_PTR);
  873. #ifdef __cplusplus
  874. } /* extern "C" */
  875. #endif