home *** CD-ROM | disk | FTP | other *** search
/ Programming Tool Box / SIMS_2.iso / vb_refer / desadecs / apitypes.txt < prev    next >
Text File  |  1992-10-19  |  14KB  |  608 lines

  1. ' ------------------------------------------------------------------------
  2. '
  3. '     APITYPES.TXT -- Windows 3.1 API Type Declarations for Visual Basic
  4. '
  5. '                       Copyright (C) 1992 Desaware
  6. '
  7. '  You have a royalty-free right to use, modify, reproduce and distribute
  8. '  this file (and/or any modified version) in any way you find useful,
  9. '  provided that you agree that Desaware and Ziff-Davis Press has no 
  10. '  warranty, obligation or liability for its contents.  
  11. '  Refer to the Ziff-Davis Visual Basic Programmer's Guide to the 
  12. '  Windows API for further information.
  13. '
  14. '  This file is in part derived from winapi.txt from Microsoft
  15. '
  16. ' ------------------------------------------------------------------------
  17.  
  18. ' Type definitions
  19.  
  20. Type RECT   '8 Bytes
  21.     left As Integer
  22.     top As Integer
  23.     right As Integer
  24.     bottom As Integer
  25. End Type
  26.  
  27. Type POINTAPI  '4 Bytes - Synonymous with LONG
  28.     x As Integer
  29.     y As Integer
  30. End Type
  31.  
  32. Type SIZEAPI  '4 Bytes - Synonymous with LONG
  33.     x As Integer
  34.     y As Integer
  35. End Type
  36.  
  37. ' ParameterBlock description structure for use with LoadModule
  38. Type PARAMETERBLOCK  '14 Bytes
  39.     wEnvSeg As Integer
  40.     lpCmdLine As Long
  41.     lpCmdShow As Long
  42.     dwReserved As Long
  43. End Type
  44.  
  45.  
  46. '  OpenFile() Structure
  47. Type OFSTRUCT  '136 Bytes
  48.     cBytes As String * 1
  49.     fFixedDisk As String * 1
  50.     nErrCode As Integer
  51.     reserved As String * 4
  52.     szPathName As String * 128
  53. End Type
  54.  
  55. '  Bitmap Header Definition
  56. Type BITMAP '14 bytes
  57.     bmType As Integer
  58.     bmWidth As Integer
  59.     bmHeight As Integer
  60.     bmWidthBytes As Integer
  61.     bmPlanes As String * 1
  62.     bmBitsPixel As String * 1
  63.     bmBits As Long
  64. End Type
  65.  
  66. Type RGBTRIPLE    '3 Bytes
  67.     rgbtBlue As String * 1
  68.     rgbtGreen As String * 1
  69.     rgbtRed As String * 1
  70. End Type
  71.  
  72. Type RGBQUAD      '4 Bytes
  73.     rgbBlue as String * 1
  74.     rgbGreen As String * 1
  75.     rgbRed As String * 1
  76.     rgbReserved As String * 1
  77. End Type
  78.  
  79. '  structures for defining DIBs
  80. Type BITMAPCOREHEADER '12 bytes
  81.     bcSize as Long
  82.     bcWidth As Integer
  83.     bcHeight As Integer
  84.     bcPlanes As Integer
  85.     bcBitCount As Integer
  86. End Type
  87.  
  88. Type BITMAPINFOHEADER '40 bytes
  89.     biSize As Long
  90.     biWidth As Long
  91.     biHeight As Long
  92.     biPlanes As Integer
  93.     biBitCount As Integer
  94.     biCompression As Long
  95.     biSizeImage As Long
  96.     biXPelsPerMeter As Long
  97.     biYPelsPerMeter As Long
  98.     biClrUsed As Long
  99.     biClrImportant As Long
  100. End Type
  101.  
  102. Type BITMAPINFO   'Varies
  103.     bmiHeader as BITMAPINFOHEADER
  104.     bmiColors As String * 128 ' Array length is arbitrary; may be changed
  105. End Type
  106.  
  107. Type BITMAPCOREINFO  'Varies
  108.     bmciHeader As BITMAPCOREHEADER
  109.     bmciColors As String * 48 ' Array length is arbitrary; may be changed
  110. End Type
  111.  
  112. Type BITMAPFILEHEADER   '14 Bytes
  113.     bfType As Integer
  114.     bfSize As Long
  115.     bfReserved1 As Integer
  116.     bfReserved2 As Integer
  117.     bfOffBits As Long
  118. End Type
  119.  
  120.  
  121. '  Clipboard Metafile Picture Structure
  122. Type HANDLETABLE
  123.     objectHandle As String * 512 ' Array length is arbitrary; may be changed
  124. End Type
  125.  
  126. Type METARECORD
  127.     rdSize As Long
  128.     rdFunction As Integer
  129.     rdParm As String * 512 ' Array length is arbitrary; may be changed
  130. End Type
  131.  
  132.  
  133. Type METAFILEPICT    '8 Bytes
  134.     mm As Integer
  135.     xExt As Integer
  136.     yExt As Integer
  137.     hMF As Integer
  138. End Type
  139.  
  140. Type METAHEADER      '18 Bytes
  141.     mtType As Integer
  142.     mtHeaderSize As Integer
  143.     mtVersion As Integer
  144.     mtSize As Long
  145.     mtNoObjects As Integer
  146.     mtMaxRecord As Long
  147.     mtNoParameters As Integer
  148. End Type
  149.  
  150. Type TEXTMETRIC   '31 Bytes
  151.     tmHeight As Integer
  152.     tmAscent As Integer
  153.     tmDescent As Integer
  154.     tmInternalLeading As Integer
  155.     tmExternalLeading As Integer
  156.     tmAveCharWidth As Integer
  157.     tmMaxCharWidth As Integer
  158.     tmWeight As Integer
  159.     tmItalic As String * 1
  160.     tmUnderlined As String * 1
  161.     tmStruckOut As String * 1
  162.     tmFirstChar As String * 1
  163.     tmLastChar As String * 1
  164.     tmDefaultChar As String * 1
  165.     tmBreakChar As String * 1
  166.     tmPitchAndFamily As String * 1
  167.     tmCharSet As String * 1
  168.     tmOverhang As Integer
  169.     tmDigitizedAspectX As Integer
  170.     tmDigitizedAspectY As Integer
  171. End Type
  172.  
  173. Type NEWTEXTMETRIC   '41 Bytes
  174.     tmHeight As Integer
  175.     tmAscent As Integer
  176.     tmDescent As Integer
  177.     tmInternalLeading As Integer
  178.     tmExternalLeading As Integer
  179.     tmAveCharWidth As Integer
  180.     tmMaxCharWidth As Integer
  181.     tmWeight As Integer
  182.     tmItalic As String * 1
  183.     tmUnderlined As String * 1
  184.     tmStruckOut As String * 1
  185.     tmFirstChar As String * 1
  186.     tmLastChar As String * 1
  187.     tmDefaultChar As String * 1
  188.     tmBreakChar As String * 1
  189.     tmPitchAndFamily As String * 1
  190.     tmCharSet As String * 1
  191.     tmOverhang As Integer
  192.     tmDigitizedAspectX As Integer
  193.     tmDigitizedAspectY As Integer
  194.    ntmFlags As Long
  195.    ntmSizeEM As Integer
  196.    ntmCellHeight As Integer
  197.    ntmAvgWidth As Integer
  198. End Type
  199.  
  200. '  GDI Logical Objects:
  201.  
  202. '  Pel Array
  203. Type PELARRAY  ' 10 Bytes
  204.     paXCount As Integer
  205.     paYCount As Integer
  206.     paXExt As Integer
  207.     paYExt As Integer
  208.     paRGBs As Integer
  209. End Type
  210.  
  211. '  Logical Brush (or Pattern)
  212. Type LOGBRUSH     '8 Bytes
  213.     lbStyle As Integer
  214.     lbColor As Long
  215.     lbHatch As Integer
  216. End Type
  217.  
  218. '  Logical Pen
  219. Type LOGPEN    '10 Bytes
  220.     lopnStyle As Integer
  221.     lopnWidth As POINTAPI
  222.     lopnColor As Long
  223. End Type
  224.  
  225. Type PALETTEENTRY    '4 Bytes
  226.     peRed As String * 1
  227.     peGreen As String * 1
  228.     peBlue As String * 1
  229.     peFlags As String * 1
  230. End Type
  231.  
  232. '  Logical Palette
  233. Type LOGPALETTE
  234.     palVersion As Integer
  235.     palNumEntries As Integer
  236.     palPalEntry As String * 252 ' Array length is arbitrary; may be changed
  237. End Type
  238.  
  239. '  Logical Font
  240.  
  241. Type LOGFONT   ' 50 Bytes
  242.     lfHeight As Integer
  243.     lfWidth As Integer
  244.     lfEscapement As Integer
  245.     lfOrientation As Integer
  246.     lfWeight As Integer
  247.     lfItalic As String * 1
  248.     lfUnderline As String * 1
  249.     lfStrikeOut As String * 1
  250.     lfCharSet As String * 1
  251.     lfOutPrecision As String * 1
  252.     lfClipPrecision As String * 1
  253.     lfQuality As String * 1
  254.     lfPitchAndFamily As String * 1
  255.     lfFaceName As String * 32
  256. End Type
  257.  
  258. Type NEWLOGFONT   ' 146 Bytes
  259.     lfHeight As Integer
  260.     lfWidth As Integer
  261.     lfEscapement As Integer
  262.     lfOrientation As Integer
  263.     lfWeight As Integer
  264.     lfItalic As String * 1
  265.     lfUnderline As String * 1
  266.     lfStrikeOut As String * 1
  267.     lfCharSet As String * 1
  268.     lfOutPrecision As String * 1
  269.     lfClipPrecision As String * 1
  270.     lfQuality As String * 1
  271.     lfPitchAndFamily As String * 1
  272.     lfFaceName As String * 32
  273.    lfFullName As String * 64
  274.    lfStyle As String * 32
  275. End Type
  276.  
  277.  
  278. Type EVENTMSG  '10 Bytes
  279.     message As Integer
  280.     paramL As Integer
  281.     paramH As Integer
  282.     time As Long
  283. End Type
  284.  
  285. '  Message structure
  286. Type MSG    '18 Bytes
  287.     hwnd As Integer
  288.     message As Integer
  289.     wParam As Integer
  290.     lParam As Long
  291.     time As Long
  292.     pt As POINTAPI
  293. End Type
  294.  
  295. Type PAINTSTRUCT     '32 Bytes
  296.     hdc As Integer
  297.     fErase As Integer
  298.     rcPaint As RECT
  299.     fRestore As Integer
  300.     fIncUpdate As Integer
  301.     rgbReserved As String * 16
  302. End Type
  303.  
  304. Type CREATESTRUCT
  305.     lpCreateParams As Long     '34 Bytes
  306.     hInstance As Integer
  307.     hMenu As Integer
  308.     hwndParent As Integer
  309.     cy As Integer
  310.     cx As Integer
  311.     y As Integer
  312.     x As Integer
  313.     style As Long
  314.     lpszName As Long
  315.     lpszClass As Long
  316.     ExStyle As Long
  317. End Type
  318.  
  319. Type MEASUREITEMSTRUCT  '14 Bytes
  320.     CtlType As Integer
  321.     CtlID As Integer
  322.     itemID As Integer
  323.     itemWidth As Integer
  324.     itemHeight As Integer
  325.     itemData As Long
  326. End Type
  327.  
  328. '  DRAWITEMSTRUCT for ownerdraw
  329. Type DRAWITEMSTRUCT     '26 Bytes
  330.     CtlType As Integer
  331.     CtlID As Integer
  332.     itemID As Integer
  333.     itemAction As Integer
  334.     itemState As Integer
  335.     hwndItem As Integer
  336.     hDC As Integer
  337.     rcItem As RECT
  338.     itemData As Long
  339. End Type
  340.  
  341. '  DELETEITEMSTRUCT for ownerdraw
  342. Type DELETEITEMSTRUCT   '12 Bytes
  343.     CtlType As Integer
  344.     CtlID As Integer
  345.     itemID As Integer
  346.     hwndItem As Integer
  347.     itemData As Long
  348. End Type
  349.  
  350. '  COMPAREITEMSTRUCT for ownerdraw sorting
  351. Type COMPAREITEMSTRUCT  '18 Bytes
  352.     CtlType As Integer
  353.     CtlID As Integer
  354.     hwndItem As Integer
  355.     itemID1 As Integer
  356.     itemData1 As Long
  357.     itemID2 As Integer
  358.     itemData2 As Long
  359. End Type
  360.  
  361. Type MENUITEMTEMPLATEHEADER   '4 Bytes
  362.     versionNumber As Integer
  363.     offset As Integer
  364. End Type
  365.  
  366. Type MENUITEMTEMPLATE   'Varies depending on the size of the mtString array
  367.     mtOption As Integer
  368.     mtID As Integer
  369.     mtString As String *1
  370. End Type
  371.  
  372. Type DCB    '25 Bytes
  373.     Id As String * 1
  374.     BaudRate As Integer
  375.     ByteSize As String * 1
  376.     Parity As String * 1
  377.     StopBits As String * 1
  378.     RlsTimeout As Integer
  379.     CtsTimeout As Integer
  380.     DsrTimeout As Integer
  381.  
  382.     Bits1 As String * 1 ' The fifteen actual DCB bit-sized data fields
  383.     Bits2 As String * 1 ' within these two bytes can be manipulated by
  384.                           ' bitwise logical And/Or operations.  Refer to
  385.                           ' Chapter 14 for further information
  386.  
  387.     XonChar As String * 1
  388.     XoffChar As String * 1
  389.     XonLim As Integer
  390.     XoffLim As Integer
  391.     PeChar As String * 1
  392.     EofChar As String * 1
  393.     EvtChar As String * 1
  394.     TxDelay As Integer
  395. End Type
  396.  
  397. Type COMSTAT   '5 Bytes
  398.     Bits As String * 1 ' For specific bit flags and their
  399.                          ' meanings, refer to chapter 14
  400.     cbInQue As Integer
  401.     cbOutQue As Integer
  402. End Type
  403.  
  404. Type MDICREATESTRUCT    '26 Bytes
  405.     szClass As Long
  406.     szTitle As Long
  407.     hOwner As Integer
  408.     x As Integer
  409.     y As Integer
  410.     cx As Integer
  411.     cy As Integer
  412.     style As Long
  413.     lParam As Long
  414. End Type
  415.  
  416. Type CLIENTCREATESTRUCT    '4 Bytes
  417.     hWindowMenu As Integer
  418.     idFirstChild As Integer
  419. End Type
  420.  
  421. Type MULTIKEYHELP
  422.     mkSize As Integer
  423.     mkKeylist As String * 1
  424.     szKeyphrase As String * 253 ' Array length is arbitrary; may be changed
  425. End Type
  426.  
  427. Type WINDOWPLACEMENT    '20 Bytes
  428.    length As Integer
  429.    showCmd As Integer
  430.    ptMinPosition AS POINTAPI
  431.    ptMaxPosition AS POINTAPI
  432.    rcNormalPosition As RECT
  433. End Type
  434.  
  435. Type WNDCLASS  '26 Bytes
  436.    style As Integer
  437.    lpfnWndProc As Long  ' Note: address of function here
  438.    cbClsExtra As Integer
  439.    cbWndExtra As Integer
  440.    hInstance As Integer
  441.    hIcon As Integer
  442.    hCursor As Integer
  443.    hbrBackground As Integer
  444.    lpszMenuName As Long    ' Resource ID or far pointer to name
  445.    lpszClassName As Long   ' Far pointer to name
  446. End Type   
  447.  
  448. Type ABC    '6 Bytes
  449.    abcA As Integer
  450.    abcB As Integer
  451.    abcC As Integer
  452. End Type
  453.  
  454. Type PANOSE ' 10 Bytes
  455.    bFamilyType As String * 1
  456.    bSerifStyle As String * 1
  457.    bWeight As String * 1
  458.    bProportion As String * 1   
  459.    bContrast As String * 1
  460.    bStrokeVariation As String * 1
  461.    bArmStyle As String * 1
  462.    bLetterform As String * 1
  463.    bMidline As String * 1
  464.    bXHeight As String * 1
  465. End Type
  466.       
  467. Type OUTLINETEXTMETRIC  '112 Bytes
  468.    otmSize As Integer
  469.    otmTextMetrics As TEXTMETRIC
  470.    otmFIller As String * 1
  471.    otmPanoseNumber As PANOSE
  472.    otmfsSelection As Integer
  473.    otmfsType As Integer
  474.    otmsCharSlopeRise As Integer
  475.    otmsCharSlopeRun As Integer
  476.    otmEMSquare As Integer
  477.    otmAscent As Integer
  478.    otmDescent As Integer
  479.    otmLineGap As Integer
  480.    otmCapEmHeight As Integer
  481.    otmXHeight As Integer
  482.    otmrcFontBox As RECT
  483.    otmMacAscent As Integer
  484.    otmMacDescent As Integer
  485.    otmMacLineGap As Integer
  486.    otmusMinimumPPEM As Integer
  487.    otmptSubscriptSize As POINTAPI
  488.    otmptSubscriptOffset As POINTAPI
  489.    otmptSuperscriptSize As POINTAPI
  490.    otmptSuperscriptOffset As POINTAPI
  491.    otmsStrikeoutSize As Integer
  492.    otmsStrikeoutPosition As Integer
  493.    otmsUnderscoreSize As Integer
  494.    otmsUnderscorePosition As Integer
  495.    otmpFamilyName As Integer
  496.    otmpFaceName As Integer
  497.    otmpStyleName As Integer
  498.    otmpFullName As Integer
  499. End Type
  500.  
  501.  
  502. Type RASTERIZERSTATUS   '6 Bytes
  503.    nSize As Integer
  504.    wFlags As Integer
  505.    nLanguageID As Integer
  506. End Type
  507.  
  508.  
  509. Type GLYPHMETRICS ' 12 Bytes
  510.    gmBlackBoxX As Integer
  511.    gmBlackBoxY As Integer
  512.    gmptGlyphOrigin As POINTAPI
  513.    gmCellIncX As Integer
  514.    gmCellIncY As Integer
  515. End Type
  516.  
  517. Type FIXED  '4 Bytes
  518.    fract As Integer
  519.    value As Integer
  520. End Type
  521.  
  522. Type MAT2   '16 Bytes
  523.    eM11 As FIXED
  524.    eM12 As FIXED
  525.    eM21 As FIXED
  526.    eM22 As FIXED
  527. End Type
  528.  
  529. Type POINTFX   ' 8 Bytes
  530.    x As FIXED
  531.    y As Fixed
  532. End Type
  533.  
  534. Type TTPOLYGONHEADER    ' 16 Bytes
  535.    cb As Long
  536.    dw As Long
  537.    pfxStart As POINTFX
  538. end Type
  539.  
  540. Type TTPOLYCURVE     ' 12 Bytes
  541.    wType As Integer
  542.    cpfx As Integer
  543.    apfx As POINTFX
  544. end Type
  545.  
  546. Type DOCINFO    ' 10 Bytes
  547.    cbSize As Integer
  548.    lpszDocName As Long
  549.    lpszOutput As Long
  550. End Type
  551.  
  552. Type WINDEBUGINFO   ' 26 Bytes
  553.    flags As Integer
  554.    dwOptions As Long
  555.    dwFilter As Long
  556.    achAllocModule As String * 8
  557.    dwAllocBreak As Long
  558.    dwAllocCount As Long
  559. End Type
  560.  
  561. Type DEVMODE    ' 68 Bytes
  562.     dmDeviceName As String *32
  563.     dmSpecVersion As Integer
  564.     dmDriverVersion As Integer
  565.     dmSize As Integer
  566.     dmDriverExtra As Integer
  567.     dmFields As Long
  568.     dmOrientation As Integer
  569.     dmPaperSize As Integer
  570.     dmPaperLength As Integer
  571.     dmPaperWidth As Integer
  572.     dmScale As Integer
  573.     dmCopies As Integer
  574.     dmDefaultSource As Integer
  575.     dmPrintQuality As Integer
  576.     dmColor As Integer
  577.     dmDuplex As Integer
  578.     dmYResolution As Integer
  579.     dmTTOption As Integer
  580. End Type
  581.  
  582. Type FIXEDFILEINFO ' 52 Bytes
  583.     dwSignature As Long
  584.     dwStrucVersion As Long
  585.     dwFileVersionMS As Long
  586.     dwFileVersionLS As Long
  587.     dwProductVersionMS As Long
  588.     dwProductVersionLS As Long
  589.     dwFileFlagsMask As Long
  590.     dwFileFlags As Long
  591.     dwFileOS As Long
  592.     dwFileType As Long
  593.     dwFileSubtype As Long
  594.     dwFileDateMS As Long
  595.     dwFileDateLS As Long
  596. End Type
  597.  
  598. Type HELPWININFO  ' 14 Bytes
  599.     wStructSize As Integer
  600.     x As Integer
  601.     y As Integer
  602.     dx As Integer
  603.     dy As Integer
  604.     wMax As Integer
  605.     rgchMember As String *2
  606. End Type
  607.  
  608.