Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1318 lines
30 KiB

  1. ;-----------------------------------------------------------------------;
  2. ; STRUC.INC
  3. ;
  4. ; This module contains macros to support private structure definitions.
  5. ; The thunk layer requires private definitions because, since it needs
  6. ; both the 32-bit and 16-bit definitions at the same time, it cannot
  7. ; use the otherwise multiply defined versions from the public include
  8. ; files.
  9. ;-----------------------------------------------------------------------;
  10. ;-----------------------------------------------------------------------;
  11. ; DefType
  12. ;
  13. ; name
  14. ; The type name.
  15. ; typesize
  16. ; The type size compared to byte, word, or dword.
  17. ;
  18. ; Define the size of a type by creating the variable name&_size.
  19. ; This macro only accepts byte, word, or dword for typesize.
  20. ;-----------------------------------------------------------------------;
  21. DefType macro name,typesize
  22. ifidn <typesize>,<byte>
  23. name&_size equ 1
  24. else
  25. ifidn <typesize>,<word>
  26. name&_size equ 2
  27. else
  28. ifdif <typesize>,<dword>
  29. .err
  30. endif
  31. name&_size equ 4
  32. endif
  33. endif
  34. endm
  35. ;-----------------------------------------------------------------------;
  36. ; beginStruct
  37. ;
  38. ; name
  39. ; The structure base name.
  40. ; tag
  41. ; The structure tag.
  42. ; mode
  43. ; Whether the structure is the 16 or 32-bit version.
  44. ;
  45. ; The macro marks the beginning of a structure definition. The fieldX
  46. ; macros and the endStruct macro are also necessary to completely
  47. ; define a structure.
  48. ;
  49. ;Structure data to maintain:
  50. ;
  51. ; structure size <name>_size
  52. ;
  53. ; Temp variables:
  54. ; sname structure name
  55. ; stag structure tag
  56. ; ssize structure size
  57. ;-----------------------------------------------------------------------;
  58. beginStruct macro name:req,tag,mode:req
  59. ifb <tag>
  60. cat <stag equ !<?>,&mode,!>
  61. else
  62. cat <stag equ >,!<,&tag, &mode,!>
  63. endif
  64. cat <sname equ >,!<,&name,&mode,!>
  65. ;Initialize temporary variables.
  66. ssize = 0
  67. endm
  68. ;-----------------------------------------------------------------------;
  69. ; endStruct
  70. ;
  71. ; Marks the end of a structure definition.
  72. ;-----------------------------------------------------------------------;
  73. endStruct macro
  74. ;Define structure size
  75. cat %sname,_size,< equ <%ssize>>
  76. endm
  77. ;-----------------------------------------------------------------------;
  78. ; field?
  79. ;
  80. ; name
  81. ; The field name, without the structure tag.
  82. ; fieldtype
  83. ; The field type.
  84. ; fieldsize
  85. ; The field size. This may be blank, in which case the macro
  86. ; looks up the size of the given fieldtype.
  87. ;
  88. ; Defines a structure field.
  89. ;
  90. ;Field data to maintain:
  91. ;
  92. ; Field offset = <stag>_<name>
  93. ;-----------------------------------------------------------------------;
  94. field? macro name:req, fieldtype:req, fieldsize
  95. ;If field size is not explicitly given, look up the size.
  96. ifnb <fieldsize>
  97. fsize equ <&fieldsize>
  98. else
  99. fsize equ <fieldtype&_size>
  100. endif
  101. cat %stag,_,&name,< equ >,%ssize
  102. ssize = ssize + fsize ;update structure size
  103. endm
  104. ;-----------------------------------------------------------------------;
  105. ; fieldB
  106. ;
  107. ; Define a byte field.
  108. ;-----------------------------------------------------------------------;
  109. fieldB macro name
  110. field? name,BYTE,1
  111. endm
  112. ;-----------------------------------------------------------------------;
  113. ; fieldW
  114. ;
  115. ; Define a word field.
  116. ;-----------------------------------------------------------------------;
  117. fieldW macro name
  118. field? name,WORD,2
  119. endm
  120. ;-----------------------------------------------------------------------;
  121. ; fieldD
  122. ;
  123. ; Define a dword field.
  124. ;-----------------------------------------------------------------------;
  125. fieldD macro name
  126. field? name,DWORD,4
  127. endm
  128. ;-----------------------------------------------------------------------;
  129. ; Define types and structures.
  130. ;-----------------------------------------------------------------------;
  131. DefType BYTE, byte
  132. DefType WORD, word
  133. DefType DWORD, dword
  134. DefType SHORT, word
  135. DefType LONG, dword
  136. DefType LPSTR, dword
  137. DefType int16, word
  138. DefType HANDLE16, word
  139. DefType HWND16, word
  140. DefType HMENU16, word
  141. DefType HMENUX16, word
  142. DefType HDC16, word
  143. DefType HRGN16, word
  144. DefType LPSZ16, dword
  145. DefType LPLOGFONT16, dword
  146. DefType PFNWNDPROC16, dword
  147. DefType PFNOPENFILENAME16, dword
  148. DefType PFNCHOOSEFONT16, dword
  149. DefType PFNCHOOSECOLOR16, dword
  150. DefType PFNPRINTDLG16, dword
  151. DefType HANDLE32, dword
  152. DefType HWND32, dword
  153. DefType HMENU32, dword
  154. DefType HMENUX32, dword
  155. DefType HDC32, dword
  156. DefType HRGN32, dword
  157. DefType LPSZ32, dword
  158. DefType LPLOGFONT32, dword
  159. DefType PFNWNDPROC32, dword
  160. DefType PFNOPENFILENAME32, dword
  161. DefType PFNCHOOSEFONT32, dword
  162. DefType PFNCHOOSECOLOR32, dword
  163. DefType PFNPRINTDLG32, dword
  164. beginStruct RECT,rc,16
  165. field? left ,int16
  166. field? top ,int16
  167. field? right ,int16
  168. field? bottom ,int16
  169. endStruct
  170. beginStruct RECT,rc,32
  171. field? left ,LONG
  172. field? top ,LONG
  173. field? right ,LONG
  174. field? bottom ,LONG
  175. endStruct
  176. beginStruct POINT,pt,16
  177. field? x, int16
  178. field? y, int16
  179. endStruct
  180. beginStruct POINT,pt,32
  181. field? x ,LONG
  182. field? y ,LONG
  183. endStruct
  184. beginStruct CREATESTRUCT,cs_,16
  185. field? wIdHi ,int16
  186. fieldD lpCreateParams
  187. field? hInstance ,HANDLE16
  188. field? hMenu ,HMENUX16
  189. field? hwndParent ,HWND16
  190. field? cy ,int16
  191. field? cx ,int16
  192. field? y ,int16
  193. field? x ,int16
  194. field? style ,LONG
  195. field? lpszName ,LPSZ16
  196. field? lpszClass ,LPSZ16
  197. field? dwExStyle ,LONG
  198. endStruct
  199. beginStruct CREATESTRUCT,cs_,32
  200. fieldD lpCreateParams
  201. field? hInstance ,HANDLE32
  202. field? hMenu ,HMENUX32
  203. field? hwndParent ,HWND32
  204. field? cy ,DWORD ;SHORT -- stored as dwords
  205. field? cx ,DWORD ;SHORT
  206. field? y ,DWORD ;SHORT
  207. field? x ,DWORD ;SHORT
  208. field? style ,LONG
  209. field? lpszName ,LPSZ32
  210. field? lpszClass ,LPSZ32
  211. field? dwExStyle ,LONG
  212. endStruct
  213. beginStruct COMPAREITEMSTRUCT,co_,16
  214. fieldW CtlType
  215. fieldW CtlIDLo
  216. field? hwndItem,HWND16
  217. fieldW itemID1
  218. fieldD itemData1
  219. fieldW itemID2
  220. fieldD itemData2
  221. fieldD dwLocaleId
  222. fieldW CtlIDHi
  223. endStruct
  224. beginStruct COMPAREITEMSTRUCT,co_,32
  225. fieldD CtlType
  226. fieldD CtlID
  227. field? hwndItem,HWND32
  228. fieldD itemID1
  229. fieldD itemData1
  230. fieldD itemID2
  231. fieldD itemData2
  232. fieldD dwLocaleId ;;new field
  233. endStruct
  234. beginStruct DELETEITEMSTRUCT,de_,16
  235. fieldW CtlType
  236. fieldW CtlIDLo
  237. fieldW itemID
  238. field? hwndItem,HWND16
  239. fieldD itemData
  240. fieldW CtlIDHi
  241. endStruct
  242. beginStruct DELETEITEMSTRUCT,de_,32
  243. fieldD CtlType
  244. fieldD CtlID
  245. fieldD itemID
  246. field? hwndItem,HWND32
  247. fieldD itemData
  248. endStruct
  249. beginStruct DRAWITEMSTRUCT,dr_,16
  250. fieldW CtlType
  251. fieldW CtlIDLo
  252. fieldW itemID
  253. fieldW itemAction
  254. fieldW itemState
  255. field? hwndItem ,HWND16
  256. field? hDC ,HDC16
  257. field? rcItem ,RECT16
  258. fieldD itemData
  259. fieldW CtlIDHi
  260. endStruct
  261. beginStruct DRAWITEMSTRUCT,dr_,32
  262. fieldD CtlType
  263. fieldD CtlID
  264. fieldD itemID
  265. fieldD itemAction
  266. fieldD itemState
  267. field? hwndItem ,HWND32
  268. field? hDC ,HDC32
  269. field? rcItem ,RECT32
  270. fieldD itemData
  271. endStruct
  272. beginStruct MEASUREITEMSTRUCT,me_,16
  273. fieldW CtlType
  274. fieldW CtlIDLo
  275. fieldW itemID
  276. fieldW itemWidth
  277. fieldW itemHeight
  278. fieldD itemData
  279. fieldW CtlIDHi
  280. endStruct
  281. beginStruct MEASUREITEMSTRUCT,me_,32
  282. fieldD CtlType
  283. fieldD CtlID
  284. fieldD itemID
  285. fieldD itemWidth
  286. fieldD itemHeight
  287. fieldD itemData
  288. endStruct
  289. beginStruct DROPSTRUCT,drp,16
  290. field? hwndSource ,HWND16
  291. field? hwndSink ,HWND16
  292. fieldW wFmt
  293. fieldD dwData
  294. field? ptDrop ,POINT16
  295. fieldD dwControlData
  296. endStruct
  297. beginStruct DROPSTRUCT,drp,32
  298. field? hwndSource ,HWND32
  299. field? hwndSink ,HWND32
  300. fieldD wFmt
  301. fieldD dwData
  302. field? ptDrop ,POINT32
  303. fieldD dwControlData
  304. endStruct
  305. beginStruct MDICREATESTRUCT,,16
  306. field? szClass ,LPSZ16
  307. field? szTitle ,LPSZ16
  308. field? hOwner ,HANDLE16
  309. field? x ,int16
  310. field? y ,int16
  311. field? cx ,int16
  312. field? cy ,int16
  313. field? style ,LONG
  314. field? lParam ,LPSZ16
  315. endStruct
  316. beginStruct MDICREATESTRUCT,,32
  317. field? szClass ,LPSZ32
  318. field? szTitle ,LPSZ32
  319. field? hOwner ,HANDLE32
  320. field? x ,LONG
  321. field? y ,LONG
  322. field? cx ,LONG
  323. field? cy ,LONG
  324. field? style ,LONG
  325. field? lParam ,LPSZ32
  326. endStruct
  327. beginStruct MINMAXINFOSTRUCT,,16
  328. field? pt0, POINT16
  329. field? pt1, POINT16
  330. field? pt2, POINT16
  331. field? pt3, POINT16
  332. field? pt4, POINT16
  333. endStruct
  334. beginStruct MINMAXINFOSTRUCT,,32
  335. field? pt0, POINT32
  336. field? pt1, POINT32
  337. field? pt2, POINT32
  338. field? pt3, POINT32
  339. field? pt4, POINT32
  340. endStruct
  341. beginStruct MSGSTRUCT,ms,16
  342. field? hwnd, HWND16
  343. fieldW message
  344. fieldW wParamLo
  345. field? lParam, LONG
  346. fieldD time
  347. field? pt, POINT16
  348. fieldW wParamHi
  349. endStruct
  350. beginStruct MSGSTRUCT,ms,32
  351. field? hwnd, HWND32
  352. fieldD message
  353. fieldD wParam
  354. field? lParam, LONG
  355. fieldD time
  356. field? pt, POINT32
  357. endStruct
  358. beginStruct CWPSTRUCT,cwp,16
  359. fieldW wParamHi
  360. field? lParam, LONG
  361. fieldW wParamLo
  362. fieldW message
  363. field? hwnd, HWND16
  364. endStruct
  365. beginStruct CWPSTRUCT,cwp,32
  366. field? lParam, LONG
  367. fieldD wParam
  368. fieldD message
  369. field? hwnd, HWND32
  370. endStruct
  371. beginStruct CWPRETSTRUCT,cwpret,16
  372. fieldD lResult
  373. fieldW wParamHi
  374. fieldD lParam
  375. fieldW wParamLo
  376. fieldW message
  377. field? hwnd, HWND16
  378. endStruct
  379. beginStruct CWPRETSTRUCT,cwpret,32
  380. fieldD lResult
  381. fieldD lParam
  382. fieldD wParam
  383. fieldD message
  384. field? hwnd, HWND32
  385. endStruct
  386. beginStruct HARDWAREHOOKSTRUCT,hhs,16
  387. field? hwnd, HWND16
  388. fieldW message
  389. fieldW wParamLo
  390. fieldD lParam
  391. FieldW wParamHi
  392. endStruct
  393. beginStruct HARDWAREHOOKSTRUCT,hhs,32
  394. field? hwnd, HWND32
  395. fieldD message
  396. fieldD wParam
  397. fieldD lParam
  398. endStruct
  399. beginStruct MOUSEHOOKSTRUCT,mhs,16
  400. field? point, POINT16
  401. field? hwnd, HWND16
  402. fieldW wHitTestCode
  403. fieldD dwExtraInfo
  404. endStruct
  405. beginStruct MOUSEHOOKSTRUCT,mhs,32
  406. field? point, POINT32
  407. field? hwnd, HWND32
  408. fieldD wHitTestCode
  409. fieldD dwExtraInfo
  410. endStruct
  411. beginStruct CBTHOOKSTRUCT,cbthk,16
  412. fieldD wParam
  413. fieldD lParam
  414. endStruct
  415. beginStruct CBTHOOKSTRUCT,cbthk,32
  416. fieldD wParam
  417. fieldD lParam
  418. endStruct
  419. beginStruct WINDOWPOS,wp,16
  420. field? hwnd, HWND16
  421. field? hwndInsertAfter, HWND16
  422. field? x, int16
  423. field? y, int16
  424. field? cx, int16
  425. field? cy, int16
  426. fieldW flags
  427. endStruct
  428. beginStruct WINDOWPOS,wp,32
  429. field? hwnd, HWND32
  430. field? hwndInsertAfter, HWND32
  431. field? x, LONG
  432. field? y, LONG
  433. field? cx, LONG
  434. field? cy, LONG
  435. fieldD flags
  436. endStruct
  437. beginStruct NCCALCSIZE,ncs,16
  438. field? rcFirst, RECT16
  439. field? rcSecond, RECT16
  440. field? rcThird, RECT16
  441. field? lpWndPos, LPSZ16
  442. field? wndPos, WINDOWPOS16
  443. endStruct
  444. beginStruct NCCALCSIZE,ncs,32
  445. field? rcFirst, RECT32
  446. field? rcSecond, RECT32
  447. field? rcThird, RECT32
  448. field? lpWndPos, LPSZ32
  449. field? wndPos, WINDOWPOS32
  450. endStruct
  451. beginStruct EVENTMSG,em,16
  452. fieldW message
  453. fieldW paramL
  454. fieldW paramH
  455. fieldD time
  456. field? hwnd, HWND16
  457. endStruct
  458. beginStruct EVENTMSG,em,32
  459. fieldD message
  460. fieldD paramL
  461. fieldD paramH
  462. fieldD time
  463. field? hwnd, HWND32
  464. endStruct
  465. beginStruct CBTACTIVATESTRUCT,cbta,16
  466. field? fMouse, int16
  467. field? hwndActive, HWND16
  468. endStruct
  469. beginStruct CBTACTIVATESTRUCT,cbta,32
  470. field? fMouse, LONG
  471. field? hwndActive, HWND32
  472. endStruct
  473. beginStruct CBT_CREATEWND,cbtc,16
  474. fieldD lpcs ;LPCREATESTRUCT16
  475. field? hwndInsertAfter, HWND16
  476. endStruct
  477. beginStruct CBT_CREATEWND,cbtc,32
  478. fieldD lpcs ;LPCREATESTRUCT32
  479. field? hwndInsertAfter, HWND32
  480. endStruct
  481. DDEPACK struc
  482. uiLo dd ?
  483. uiHi dd ?
  484. DDEPACK ends
  485. beginStruct CONVCONTEXT,cc,16
  486. fieldW cb
  487. fieldW wFlags
  488. fieldW wCountryID
  489. field? iCodePage ,int16
  490. fieldD dwLangID
  491. fieldD dwSecurity
  492. endStruct
  493. beginStruct CONVCONTEXT,cc,32
  494. fieldD cb
  495. fieldD wFlags
  496. fieldD wCountryID
  497. field? iCodePage ,LONG
  498. fieldD dwLangID
  499. fieldD dwSecurity
  500. fieldD Length ; This is the quality
  501. fieldW ImpersonationLevel ; of service field.
  502. fieldW ContextTrackingMode ;
  503. fieldW EffectiveOnly ;
  504. fieldW PaddingByte ; For ZP4 packing
  505. endStruct
  506. beginStruct CONVINFO,ci,16
  507. fieldD cb
  508. fieldD hUser
  509. fieldD hConvPartner
  510. fieldD hszSvcPartner
  511. fieldD hszServiceReq
  512. fieldD hszTopic
  513. fieldD hszItem
  514. fieldW wFmt
  515. fieldW wType
  516. fieldW wStatus
  517. fieldW wConvst
  518. fieldW wLastError
  519. fieldD hConvList
  520. field? ConvCtxt ,CONVCONTEXT16
  521. endStruct
  522. beginStruct CONVINFO,ci,32
  523. fieldD cb
  524. fieldD hUser
  525. fieldD hConvPartner
  526. fieldD hszSvcPartner
  527. fieldD hszServiceReq
  528. fieldD hszTopic
  529. fieldD hszItem
  530. fieldD wFmt
  531. fieldD wType
  532. fieldD wStatus
  533. fieldD wConvst
  534. fieldD wLastError
  535. fieldD hConvList
  536. field? ConvCtxt ,CONVCONTEXT32
  537. fieldD hwnd
  538. fieldD hwndPartner
  539. endStruct
  540. ;The last field is not used by the system -- vestigial.
  541. beginStruct PAINTSTRUCT,ps,16
  542. field? hdc ,HDC16
  543. field? fErase ,int16
  544. field? rcPaint ,RECT16
  545. field? fRestore ,int16
  546. field? fIncUpdate ,int16
  547. ;BYTE rgbReserved[16];
  548. fieldD reserved1
  549. fieldD reserved2
  550. fieldD reserved3
  551. fieldD reserved4
  552. endStruct
  553. ;The last field is not used by the system -- vestigial.
  554. beginStruct PAINTSTRUCT,ps,32
  555. field? hdc ,HDC32
  556. field? fErase ,LONG
  557. field? rcPaint ,RECT32
  558. field? fRestore ,LONG
  559. field? fIncUpdate ,LONG
  560. ;BYTE rgbReserved[32];
  561. fieldD reserved1
  562. fieldD reserved2
  563. fieldD reserved3
  564. fieldD reserved4
  565. fieldD reserved5
  566. fieldD reserved6
  567. fieldD reserved7
  568. fieldD reserved8
  569. endStruct
  570. beginStruct CREATESTRUCT2,cs_,16
  571. field? wIdHi ,int16
  572. fieldD lpCreateParams
  573. field? hInstance ,HANDLE16
  574. field? hMenu ,HMENUX16
  575. field? hwndParent ,HWND16
  576. field? cy ,int16
  577. field? cx ,int16
  578. field? y ,int16
  579. field? x ,int16
  580. field? style ,LONG
  581. field? lpszName ,LPSZ16
  582. field? lpszClass ,LPSZ16
  583. field? dwExStyle ,LONG
  584. field? mdi_szClass ,LPSZ16
  585. field? mdi_szTitle ,LPSZ16
  586. field? mdi_hOwner ,HANDLE16
  587. field? mdi_x ,int16
  588. field? mdi_y ,int16
  589. field? mdi_cx ,int16
  590. field? mdi_cy ,int16
  591. field? mdi_style ,LONG
  592. fieldD mdi_lParam
  593. endStruct
  594. beginStruct CREATESTRUCT2,cs_,32
  595. fieldD lpCreateParams
  596. field? hInstance ,HANDLE32
  597. field? hMenu ,HMENUX32
  598. field? hwndParent ,HWND32
  599. field? cy ,LONG
  600. field? cx ,LONG
  601. field? y ,LONG
  602. field? x ,LONG
  603. field? style ,LONG
  604. field? lpszName ,LPSZ32
  605. field? lpszClass ,LPSZ32
  606. field? dwExStyle ,LONG
  607. field? mdi_szClass ,LPSZ32
  608. field? mdi_szTitle ,LPSZ32
  609. field? mdi_hOwner ,HANDLE32
  610. field? mdi_x ,LONG
  611. field? mdi_y ,LONG
  612. field? mdi_cx ,LONG
  613. field? mdi_cy ,LONG
  614. field? mdi_style ,LONG
  615. fieldD mdi_lParam
  616. endStruct
  617. beginStruct RECTSTRUCT,rs,16
  618. field? ptPosition ,POINT16
  619. field? ptSize ,POINT16
  620. fieldW wStyle
  621. fieldW wPattern
  622. endStruct
  623. beginStruct RECTSTRUCT,rs,32
  624. field? ptPosition ,POINT32
  625. field? ptSize ,POINT32
  626. fieldW wStyle
  627. fieldW wPattern
  628. endStruct
  629. beginStruct LOGPEN,lopn,16
  630. fieldW Style
  631. field? Width ,POINT16
  632. fieldD Color
  633. endStruct
  634. beginStruct LOGPEN,lopn,32
  635. fieldD Style
  636. field? Width ,POINT32
  637. fieldD Color
  638. endStruct
  639. beginStruct LOGBRUSH,lb,16
  640. fieldW Style
  641. fieldD Color
  642. field? Hatch ,int16
  643. endStruct
  644. beginStruct LOGBRUSH,lb,32
  645. fieldD Style
  646. fieldD Color
  647. field? Hatch ,LONG
  648. endStruct
  649. beginStruct PATH_INFO,pi,16
  650. fieldW RenderMode
  651. fieldB FillMode
  652. fieldB BkMode
  653. field? Pen ,LOGPEN16
  654. field? Brush ,LOGBRUSH16
  655. fieldD BkColor
  656. endStruct
  657. beginStruct PATH_INFO,pi,32
  658. fieldW RenderMode
  659. fieldB FillMode
  660. fieldB BkMode
  661. field? Pen ,LOGPEN32
  662. field? Brush ,LOGBRUSH32
  663. fieldD BkColor
  664. endStruct
  665. beginStruct SCREENPARAMS,sp,16
  666. field? angle ,int16
  667. field? frequency ,int16
  668. endStruct
  669. beginStruct SCREENPARAMS,sp,32
  670. field? angle ,LONG
  671. field? frequency ,LONG
  672. endStruct
  673. beginStruct OPENFILENAME,ofn,16
  674. fieldD cbSize
  675. field? hwndOwner ,HWND16
  676. field? hInstance ,HANDLE16
  677. field? lpstrFilter ,LPSZ16
  678. field? lpstrCustomFilter ,LPSZ16
  679. fieldD nMaxCustFilter
  680. fieldD nFilterIndex
  681. field? lpstrFile ,LPSZ16
  682. fieldD nMaxFile
  683. field? lpstrFileTitle ,LPSZ16
  684. fieldD nMaxFileTitle
  685. field? lpstrInitialDir ,LPSZ16
  686. field? lpstrTitle ,LPSZ16
  687. fieldD Flags
  688. fieldW nFileOffset
  689. fieldW nFileExtension
  690. field? lpstrDefExt ,LPSZ16
  691. fieldD lCustData
  692. field? lpfnHook ,PFNOPENFILENAME16
  693. field? lpTemplateName ,LPSZ16
  694. endStruct
  695. beginStruct OPENFILENAME,ofn,32
  696. fieldD cbSize
  697. field? hwndOwner ,HWND32
  698. field? hInstance ,HANDLE32
  699. field? lpstrFilter ,LPSZ32
  700. field? lpstrCustomFilter ,LPSZ32
  701. fieldD nMaxCustFilter
  702. fieldD nFilterIndex
  703. field? lpstrFile ,LPSZ32
  704. fieldD nMaxFile
  705. field? lpstrFileTitle ,LPSZ32
  706. fieldD nMaxFileTitle
  707. field? lpstrInitialDir ,LPSZ32
  708. field? lpstrTitle ,LPSZ32
  709. fieldD Flags
  710. fieldW nFileOffset
  711. fieldW nFileExtension
  712. field? lpstrDefExt ,LPSZ32
  713. fieldD lCustData
  714. field? lpfnHook ,PFNOPENFILENAME32
  715. field? lpTemplateName ,LPSZ32
  716. endStruct
  717. beginStruct CHOOSECOLOR,cclr,16
  718. fieldD cbSize
  719. field? hwndOwner ,HWND16
  720. field? hInstance ,HANDLE16
  721. fieldD rgbResult
  722. field? lpCustColors ,LPSZ16
  723. fieldD Flags
  724. fieldD lCustData
  725. field? lpfnHook ,PFNCHOOSECOLOR16
  726. field? lpTemplateName ,LPSZ16
  727. endStruct
  728. beginStruct CHOOSECOLOR,cclr,32
  729. fieldD cbSize
  730. field? hwndOwner ,HWND32
  731. field? hInstance ,HANDLE32
  732. fieldD rgbResult
  733. field? lpCustColors ,LPSZ32
  734. fieldD Flags
  735. fieldD lCustData
  736. field? lpfnHook ,PFNCHOOSECOLOR32
  737. field? lpTemplateName ,LPSZ32
  738. endStruct
  739. beginStruct LOGFONT,mlf,16
  740. fieldW lfHeight
  741. fieldW lfWidth
  742. fieldW lfEscapement
  743. fieldW lfOrientation
  744. fieldW lfWeight
  745. fieldB lfItalic
  746. fieldB lfUnderline
  747. fieldB lfStrikeOut
  748. fieldB lfCharSet
  749. fieldB lfOutPrecision
  750. fieldB lfClipPrecision
  751. fieldB lfQuality
  752. fieldB lfPitchAndFamily
  753. field? lfFaceName,BYTE,32
  754. endStruct
  755. beginStruct LOGFONT,mlf,32
  756. fieldD lfHeight
  757. fieldD lfWidth
  758. fieldD lfEscapement
  759. fieldD lfOrientation
  760. fieldD lfWeight
  761. fieldB lfItalic
  762. fieldB lfUnderline
  763. fieldB lfStrikeOut
  764. fieldB lfCharSet
  765. fieldB lfOutPrecision
  766. fieldB lfClipPrecision
  767. fieldB lfQuality
  768. fieldB lfPitchAndFamily
  769. field? lfFaceName,BYTE,32
  770. endStruct
  771. beginStruct CHOOSEFONT,cfnt,16
  772. fieldD cbSize
  773. field? hwndOwner ,HWND16
  774. field? hDC ,HDC16
  775. field? lpLogFont ,LPLOGFONT16
  776. field? iPointSize ,int16
  777. fieldD Flags
  778. fieldD rgbColors
  779. fieldD lCustData
  780. field? lpfnHook ,PFNCHOOSEFONT16
  781. field? lpTemplateName ,LPSZ16
  782. field? hInstance ,HANDLE16 ;!!!
  783. field? lpszStyle ,LPSZ16
  784. fieldW nFontType
  785. field? nSizeMin ,int16
  786. field? nSizeMax ,int16
  787. endStruct
  788. beginStruct CHOOSEFONT,cfnt,32
  789. fieldD cbSize
  790. field? hwndOwner ,HWND32
  791. field? hDC ,HDC32
  792. field? lpLogFont ,LPLOGFONT32
  793. field? iPointSize ,LONG
  794. fieldD Flags
  795. fieldD rgbColors
  796. fieldD lCustData
  797. field? lpfnHook ,PFNCHOOSEFONT32
  798. field? lpTemplateName ,LPSZ32
  799. field? hInstance ,HANDLE32 ;!!!
  800. field? lpszStyle ,LPSZ32
  801. fieldW nFontType
  802. fieldW padding
  803. field? nSizeMin ,LONG
  804. field? nSizeMax ,LONG
  805. endStruct
  806. beginStruct CHOOSEFONT2,cfnt2,16
  807. field? cfnt ,CHOOSEFONT16
  808. field? lf ,LOGFONT16
  809. endStruct
  810. beginStruct CHOOSEFONT2,cfnt2,32
  811. field? cfnt ,CHOOSEFONT32
  812. field? lf ,LOGFONT32
  813. endStruct
  814. beginStruct PRINTDLG,pdlg,16
  815. fieldD cbSize
  816. field? hwndOwner ,HWND16
  817. field? hDevMode ,HANDLE16 ;!!!
  818. field? hDevNames ,HANDLE16 ;!!!
  819. field? hDC ,HDC16
  820. fieldD Flags
  821. fieldW nFromPage
  822. fieldW nToPage
  823. fieldW nMinPage
  824. fieldW nMaxPage
  825. fieldW nCopies
  826. field? hInstance ,HANDLE16 ;!!!
  827. fieldD lCustData
  828. field? lpfnPrintHook ,PFNPRINTDLG16
  829. field? lpfnSetupHook ,PFNPRINTDLG16
  830. field? lpPrintTemplateName,LPSZ16
  831. field? lpSetupTemplateName,LPSZ16
  832. fieldW hPrintTemplate
  833. fieldW hSetupTemplate
  834. endStruct
  835. beginStruct PRINTDLG,pdlg,32
  836. fieldD cbSize
  837. field? hwndOwner ,HWND32
  838. field? hDevMode ,HANDLE32 ;!!!
  839. field? hDevNames ,HANDLE32 ;!!!
  840. field? hDC ,HDC32
  841. fieldD Flags
  842. fieldW nFromPage
  843. fieldW nToPage
  844. fieldW nMinPage
  845. fieldW nMaxPage
  846. fieldW nCopies
  847. field? hInstance ,HANDLE32 ;!!!
  848. fieldD lCustData
  849. field? lpfnPrintHook ,PFNPRINTDLG32
  850. field? lpfnSetupHook ,PFNPRINTDLG32
  851. field? lpPrintTemplateName,LPSZ32
  852. field? lpSetupTemplateName,LPSZ32
  853. fieldD hPrintTemplate
  854. fieldD hSetupTemplate
  855. endStruct
  856. beginStruct COPYDATASTRUCT,cd,16
  857. fieldD dwData
  858. fieldD cbData
  859. field? lpData ,LPSZ16
  860. endStruct
  861. beginStruct COPYDATASTRUCT,cd,32
  862. fieldD dwData
  863. fieldD cbData
  864. field? lpData ,LPSZ32
  865. endStruct
  866. beginStruct HELPINFOSTRUCT,,16
  867. fieldD cbSize
  868. fieldW iContextType
  869. fieldW iCtrlId
  870. field? hItemHandle, HWND16
  871. fieldD dwContextId;
  872. field? MousePos, POINT16
  873. endStruct
  874. beginStruct HELPINFOSTRUCT,,32
  875. fieldD cbSize
  876. fieldD iContextType
  877. fieldD iCtrlId
  878. field? hItemHandle, HWND32
  879. fieldD dwContextId;
  880. field? MousePos, POINT32
  881. endStruct
  882. beginStruct MENUITEMINFO,mii_,16
  883. fieldD cbSize
  884. fieldD fMask
  885. fieldW fType
  886. fieldW fState
  887. fieldW wID
  888. field? hSubMenu, HMENU16
  889. fieldW hbmpChecked
  890. fieldW hbmpUnchecked
  891. fieldD dwItemData
  892. field? dwTypeData, LPSZ16
  893. fieldW cch
  894. fieldW hbmpItem
  895. endStruct
  896. beginStruct MENUITEMINFO,mii_,32
  897. fieldD cbSize
  898. fieldD fMask
  899. fieldD fType
  900. fieldD fState
  901. fieldD wID
  902. field? hSubMenu, HMENU32
  903. fieldD hbmpChecked
  904. fieldD hbmpUnchecked
  905. fieldD dwItemData
  906. field? dwTypeData, LPSZ32
  907. fieldD cch
  908. fieldD hbmpItem
  909. endStruct
  910. beginStruct MENUINFO,mi_,16
  911. fieldD cbSize
  912. fieldD fMask
  913. fieldD cyMax
  914. fieldD hbrBack
  915. fieldD dwContextHelpID
  916. fieldD dwMenuData
  917. endStruct
  918. beginStruct MENUINFO,mi_,32
  919. fieldD cbSize
  920. fieldD fMask
  921. fieldD cyMax
  922. fieldD hbrBack
  923. fieldD dwContextHelpID
  924. fieldD dwMenuData
  925. endStruct
  926. beginStruct SCROLLINFO,scri_,16
  927. fieldD cbSize
  928. fieldD fMask
  929. fieldD nMin
  930. fieldD nMax
  931. fieldD nPage
  932. fieldD nPos
  933. endStruct
  934. beginStruct SCROLLINFO,scri_,32
  935. fieldD cbSize
  936. fieldD fMask
  937. fieldD nMin
  938. fieldD nMax
  939. fieldD nPage
  940. fieldD nPos
  941. endStruct
  942. beginStruct TRACKMOUSEEVENT,mi_,16
  943. fieldD cbSize
  944. fieldD dwFlags
  945. field? hwndTrack ,HWND16
  946. fieldD dwHoverTime
  947. endStruct
  948. beginStruct TRACKMOUSEEVENT,mi_,32
  949. fieldD cbSize
  950. fieldD dwFlags
  951. field? hwndTrack ,HWND32
  952. fieldD dwHoverTime
  953. endStruct
  954. beginStruct WNDCLASS,wc_,16
  955. fieldW style
  956. fieldD lpfnWndProc
  957. fieldW cbClassExtra
  958. fieldW cbWndExtra
  959. fieldW hInstance
  960. fieldW hIcon
  961. fieldW hCursor
  962. fieldW hbrBackground
  963. field? lpszMenuName,LPSZ16
  964. field? lpszClassName,LPSZ16
  965. endStruct
  966. beginStruct WNDCLASS,wc_,32
  967. fieldD style
  968. fieldD lpfnWndProc
  969. fieldD cbClassExtra
  970. fieldD cbWndExtra
  971. fieldW hInstance
  972. fieldW hIcon
  973. fieldW hCursor
  974. fieldW hbrBackground
  975. field? lpszMenuName,LPSZ32
  976. field? lpszClassName,LPSZ32
  977. endStruct
  978. beginStruct WNDCLASSEX,wce_,16
  979. fieldD cbSize
  980. fieldD style
  981. fieldD lpfnWndProc
  982. fieldW cbClassExtra
  983. fieldW cbWndExtra
  984. fieldW hInstance
  985. fieldW hIcon
  986. fieldW hCursor
  987. fieldW hbrBackground
  988. field? lpszMenuName,LPSZ16
  989. field? lpszClassName,LPSZ16
  990. fieldW hIconSm
  991. endStruct
  992. beginStruct WNDCLASSEX,wce_,32
  993. fieldD cbSize
  994. fieldD style
  995. fieldD lpfnWndProc
  996. fieldD cbClassExtra
  997. fieldD cbWndExtra
  998. fieldD hInstance
  999. fieldD hIcon
  1000. fieldD hCursor
  1001. fieldD hbrBackground
  1002. field? lpszMenuName,LPSZ32
  1003. field? lpszClassName,LPSZ32
  1004. fieldD hIconSm
  1005. endStruct
  1006. beginStruct WINDOWPLACEMENT,wpl,16
  1007. fieldW length
  1008. fieldW flags
  1009. fieldW showCmd
  1010. field? ptMinPos, POINT16
  1011. field? ptMaxPos, POINT16
  1012. field? rcNormal, RECT16
  1013. endStruct
  1014. beginStruct WINDOWPLACMENET,wpl,32
  1015. fieldD length
  1016. fieldD flags
  1017. fieldD showCmd
  1018. field? ptMinPos, POINT32
  1019. field? ptMaxPos, POINT32
  1020. field? rcNormal, RECT32
  1021. endStruct
  1022. beginStruct DRAWTEXTPARAMS,dtp_,16
  1023. fieldD cbSize
  1024. fieldW iTabLength
  1025. fieldW iLeftMargin
  1026. fieldW iRightMargin
  1027. fieldW uiLengthDrawn
  1028. endStruct
  1029. beginStruct DRAWTEXTPARAMS,dtp_,32
  1030. fieldD cbSize
  1031. fieldD iTabLength
  1032. fieldD iLeftMargin
  1033. fieldD iRightMargin
  1034. fieldD uiLengthDrawn
  1035. endStruct
  1036. beginStruct TPMPARAMS,tpm_,16
  1037. fieldD cbSize
  1038. field? rcExclude,RECT16
  1039. endStruct
  1040. beginStruct TPMPARAMS,tpm_,32
  1041. fieldD cbSize
  1042. field? rcExclude,RECT32
  1043. endStruct
  1044. beginStruct MSGBOXPARAMS,mbx_,16
  1045. fieldD cbSize
  1046. fieldW hwndOwner
  1047. fieldW hInstance
  1048. field? lpszText,LPSZ16
  1049. field? lpszCaption,LPSZ16
  1050. fieldD dwStyle
  1051. field? lpszIcon,LPSZ16
  1052. fieldD dwContextHelpId
  1053. fieldD lpfnMsgBoxCallback
  1054. fieldD dwLanguageId
  1055. endStruct
  1056. beginStruct MSGBOXPARAMS,mbx_,32
  1057. fieldD cbSize
  1058. fieldD hwndOwner
  1059. fieldD hInstance
  1060. field? lpszText,LPSZ32
  1061. field? lpszCaption,LPSZ32
  1062. fieldD dwStyle
  1063. field? lpszIcon,LPSZ32
  1064. fieldD dwContextHelpId
  1065. fieldD lpfnMsgBoxCallback
  1066. fieldD dwLanguageId
  1067. endStruct
  1068. beginStruct NOTIFYSTRUCT,nmh,16
  1069. fieldD hwndFrom
  1070. fieldD idFrom
  1071. fieldD code
  1072. endStruct
  1073. beginStruct NOTIFYSTRUCT,nmh,32
  1074. fieldD hwndFrom
  1075. fieldD idFrom
  1076. fieldD code
  1077. endStruct
  1078. beginStruct STYLESTRUCT,sty,16
  1079. fieldD styleOld
  1080. fieldD styleNew
  1081. endStruct
  1082. beginStruct STYLESTRUCT,sty,32
  1083. fieldD styleOld
  1084. fieldD styleNew
  1085. endStruct
  1086. beginStruct MDINEXTMENU,mdin,32
  1087. fieldD hmenuIn
  1088. fieldD hmenuNext
  1089. fieldD hwndNext
  1090. endStruct
  1091. beginStruct DEBUGHOOK,dh,16
  1092. fieldW hModuleInstaller
  1093. fieldD idThreadInstaller
  1094. fieldD lParam
  1095. fieldW wParam
  1096. fieldW code
  1097. fieldD idThread
  1098. fieldW whType
  1099. endStruct
  1100. beginStruct DEBUGHOOK,dh,32
  1101. fieldD idThread
  1102. fieldD idThreadInstaller
  1103. fieldD lParam
  1104. fieldD wParam
  1105. fieldD code
  1106. fieldW hModuleInstaller
  1107. fieldW hTask
  1108. endStruct
  1109. beginStruct MNDRAGOVERINFO,mdoi,16
  1110. fieldD dwFlags
  1111. field? hmenu16,HMENU16
  1112. fieldW uItemIndex
  1113. field? hwnd16Notify,HWND16
  1114. endStruct
  1115. beginStruct MNDRAGOVERINFO,mdoi,32
  1116. fieldD dwFlags
  1117. field? hmenu16,HMENU32
  1118. fieldD uItemIndex
  1119. field? hwnd16Notify,HWND32
  1120. endStruct
  1121. beginstruct MENUGETOBJECTINFO,mgoi,16
  1122. fieldD dwFlags
  1123. fieldW uItemPos
  1124. field? hmenu,HMENU16
  1125. field? riid,LPSZ16
  1126. field? pvObj,LPSZ16
  1127. endStruct
  1128. beginstruct MENUGETOBJECTINFO,mgoi,32
  1129. fieldD dwFlags
  1130. fieldD uItemPos
  1131. field? hmenu,HMENU32
  1132. field? riid,LPSZ32
  1133. field? pvObj,LPSZ32
  1134. endStruct
  1135. ifdef FE_IME
  1136. ;
  1137. ; COMPOSITIONFROM structure.
  1138. ;
  1139. beginStruct COMPOSITIONFORM,ime_compform,32
  1140. fieldD dwStyle
  1141. field? ptCurrent,POINT32
  1142. field? rcCompArea,RECT32
  1143. endStruct
  1144. beginStruct COMPOSITIONFORM,ime_compform,16
  1145. fieldD dwStyle
  1146. field? ptCurrent,POINT16
  1147. field? rcCompArea,RECT16
  1148. endStruct
  1149. ;
  1150. ; CANDIDATEFROM structure.
  1151. ;
  1152. beginStruct CANDIDATEFORM,ime_candform,32
  1153. fieldD dwIndex
  1154. fieldD dwStyle
  1155. field? ptCurrent,POINT32
  1156. field? rcCompArea,RECT32
  1157. endStruct
  1158. beginStruct CANDIDATEFORM,ime_candform,16
  1159. fieldD dwIndex
  1160. fieldD dwStyle
  1161. field? ptCurrent,POINT16
  1162. field? rcCompArea,RECT16
  1163. endStruct
  1164. endif