+Global Const $CBS_AUTOHSCROLL = 0x40 ; Automatically scrolls the text in an edit control to the right when the user types a character at the end of the line.
+Global Const $CBS_DISABLENOSCROLL = 0x800 ; Shows a disabled vertical scroll bar
+Global Const $CBS_DROPDOWN = 0x2 ; Similar to $CBS_SIMPLE, except that the list box is not displayed unless the user selects an icon next to the edit control
+Global Const $CBS_DROPDOWNLIST = 0x3 ; Similar to $CBS_DROPDOWN, except that the edit control is replaced by a static text item that displays the current selection in the list box
+Global Const $CBS_HASSTRINGS = 0x200 ; Specifies that an owner-drawn combo box contains items consisting of strings
+Global Const $CBS_LOWERCASE = 0x4000 ; Converts to lowercase all text in both the selection field and the list
+Global Const $CBS_NOINTEGRALHEIGHT = 0x400 ; Specifies that the size of the combo box is exactly the size specified by the application when it created the combo box
+Global Const $CBS_OEMCONVERT = 0x80 ; Converts text entered in the combo box edit control from the Windows character set to the OEM character set and then back to the Windows character set
+Global Const $CBS_OWNERDRAWFIXED = 0x10 ; Specifies that the owner of the list box is responsible for drawing its contents and that the items in the list box are all the same height
+Global Const $CBS_OWNERDRAWVARIABLE = 0x20 ; Specifies that the owner of the list box is responsible for drawing its contents and that the items in the list box are variable in height
+Global Const $CBS_SIMPLE = 0x1 ; Displays the list box at all times
+Global Const $CBS_SORT = 0x100 ; Automatically sorts strings added to the list box
+Global Const $CBS_UPPERCASE = 0x2000 ; Converts to uppercase all text in both the selection field and the list
+Global Const $EIMES_GETCOMPSTRATONCE = 0x1 ; If this flag is set, the edit control hooks the WM_IME_COMPOSITION message with fFlags set to GCS_RESULTSTR and returns the result string immediately
+Global Const $EIMES_CANCELCOMPSTRINFOCUS = 0x2 ; If this flag is set, the edit control cancels the composition string when it receives the WM_SETFOCUS message.
+Global Const $EIMES_COMPLETECOMPSTRKILLFOCUS = 0x4 ; If this flag is set, the edit control completes the composition string upon receiving the WM_KILLFOCUS message.
+; XlFormatConditionOperator Enumeration. Specifies the operator to use to compare a formula against the value in a cell or, for xlBetween and xlNotBetween, to compare two formulas.
+Global Const $xlSheetHidden = 0 ; Hides the worksheet which the user can unhide via menu
+Global Const $xlSheetVeryHidden = 2 ; Hides the object so that the only way for you to make it visible again is by setting this property to True (the user cannot make the object visible)
+Global Const $xlSheetVisible = -1 ; Displays the sheet
+
+; XlSortDataOption Enumeration. Specifies how to sort text.
+ If @error Then Return SetError(1, _WinAPI_GetLastError(), 0)
+
+ Local $iNumberOfBytesRead = $ai_FTPReadFile[4]
+ If $iNumberOfBytesRead == 0 And $ai_FTPReadFile[0] == 1 Then
+ Return SetError(-1, 0, 0)
+ ElseIf $ai_FTPReadFile[0] == 0 Then
+ Return SetError(2, _WinAPI_GetLastError(), 0)
+ EndIf
+
+ Local $s_FileRead
+ If $iNumberOfBytesToRead > $iNumberOfBytesRead Then
+ $s_FileRead = BinaryMid(DllStructGetData($tBuffer, 1), 1, $iNumberOfBytesRead) ;index is omitted so the entire array is written into $s_FileRead as a BinaryString
+ Else
+ $s_FileRead = DllStructGetData($tBuffer, 1) ;index is omitted so the entire array is written into $s_FileRead as a BinaryString
+Global Const $GDIP_INTERPOLATIONMODE_LOWQUALITY = 1 ; Specifies a low-quality mode
+Global Const $GDIP_INTERPOLATIONMODE_HIGHQUALITY = 2 ; Specifies a high-quality mode
+Global Const $GDIP_INTERPOLATIONMODE_BILINEAR = 3 ; Specifies bilinear interpolation. No prefiltering is done. This mode is not suitable for shrinking an image below 50 percent of its original size.
+Global Const $GDIP_INTERPOLATIONMODE_BICUBIC = 4 ; Specifies bicubic interpolation. No prefiltering is done. This mode is not suitable for shrinking an image below 25 percent of its original size
+Global Const $GDIP_INTERPOLATIONMODE_HIGHQUALITYBILINEAR = 6 ; Specifies high-quality, bilinear interpolation. Prefiltering is performed to ensure high-quality shrinking.
+Global Const $GDIP_INTERPOLATIONMODE_HIGHQUALITYBICUBIC = 7 ; Specifies high-quality, bicubic interpolation. Prefiltering is performed to ensure high-quality shrinking. This mode produces the highest quality transformed images.
+
+; TextRenderingHint constants
+Global Const $GDIP_TEXTRENDERINGHINT_SYSTEMDEFAULT = 0 ; Specifies that a character is drawn using the currently selected system font smoothing mode (also called a rendering hint).
+Global Const $GDIP_TEXTRENDERINGHINT_SINGLEBITPERPIXELGRIDFIT = 1 ; Specifies that a character is drawn using its glyph bitmap and hinting to improve character appearance on stems and curvature.
+Global Const $GDIP_TEXTRENDERINGHINT_SINGLEBITPERPIXEL = 2 ; Specifies that a character is drawn using its glyph bitmap and no hinting. This results in better performance at the expense of quality.
+Global Const $GDIP_TEXTRENDERINGHINT_ANTIALIASGRIDFIT = 3 ; Specifies that a character is drawn using its antialiased glyph bitmap and hinting. This results in much better quality due to antialiasing at a higher performance cost.
+Global Const $GDIP_TEXTRENDERINGHINT_ANTIALIAS = 4 ; Specifies that a character is drawn using its antialiased glyph bitmap and no hinting. Stem width differences may be noticeable because hinting is turned off.
+Global Const $GDIP_TEXTRENDERINGHINT_CLEARTYPEGRIDFIT = 5 ; Specifies that a character is drawn using its glyph ClearType bitmap and hinting. This type of text rendering cannot be used along with CompositingModeSourceCopy.
+
+; PixelOffsetMode constants
+Global Const $GDIP_PIXELOFFSETMODE_INVALID = -1 ; Used internally.
+Global Const $GDIP_PIXELOFFSETMODE_DEFAULT = 0 ; Equivalent to $GDIP_PIXELOFFSETMODE_NONE
+Global Const $GDIP_PIXELOFFSETMODE_HIGHSPEED = 1 ; Equivalent to $GDIP_PIXELOFFSETMODE_NONE
+Global Const $GDIP_PIXELOFFSETMODE_HIGHQUALITY = 2 ; Equivalent to $GDIP_PIXELOFFSETMODE_HALF
+Global Const $GDIP_PIXELOFFSETMODE_NONE = 3 ; Indicates that pixel centers have integer coordinates.
+Global Const $GDIP_PIXELOFFSETMODE_HALF = 4 ; Indicates that pixel centers have coordinates that are half way between integer values.
+
+; LineJoin constants
+Global Const $GDIP_PENSETLINEJOIN_MITER = 0 ; Specifies a mitered join. This produces a sharp corner or a clipped corner, depending on whether the length of the miter exceeds the miter limit.
+Global Const $GDIP_PENSETLINEJOIN_BEVEL = 1 ; Specifies a beveled join. This produces a diagonal corner.
+Global Const $GDIP_PENSETLINEJOIN_ROUND = 2 ; Specifies a circular join. This produces a smooth, circular arc between the lines.
+Global Const $GDIP_PENSETLINEJOIN_MITERCLIPPED = 3 ; Specifies a mitered join. This produces a sharp corner or a beveled corner, depending on whether the length of the miter exceeds the miter limit.
+
+; Fill mode constants
+Global Const $GDIP_FillModeAlternate = 0 ;Specifies that areas are filled according to the even-odd parity rule. According to this rule, you can determine
+;whether a test point is inside or outside a closed curve as follows: Draw a line from the test point to a point
+;that is distant from the curve. If that line crosses the curve an odd number of times, the test point is inside
+;the curve; otherwise, the test point is outside the curve.
+
+Global Const $GDIP_FillModeWinding = 1 ;Specifies that areas are filled according to the nonzero winding rule. According to this rule, you can determine
+;whether a test point is inside or outside a closed curve as follows: Draw a line from a test point to a point that
+;is distant from the curve. Count the number of times the curve crosses the test line from left to right, and count
+;the number of times the curve crosses the test line from right to left. If those two numbers are the same, the test
+;point is outside the curve; otherwise, the test point is inside the curve.
+
+; Quality constants
+Global Const $GDIP_QUALITYMODEINVALID = -1
+Global Const $GDIP_QUALITYMODEDEFAULT = 0
+Global Const $GDIP_QUALITYMODELOW = 1
+Global Const $GDIP_QUALITYMODEHIGH = 2
+
+; Alpha Compositing mode constants
+Global Const $GDIP_COMPOSITINGMODESOURCEOVER = 0 ; Specifies that when a color is rendered, it is blended with the background color. The blend is determined by the alpha component of the color being rendered
+Global Const $GDIP_COMPOSITINGMODESOURCECOPY = 1 ; Specifies that when a color is rendered, it overwrites the background color. This mode cannot be used along with $TextRenderingHintClearTypeGridFit
+Global Const $GDIP_PaletteTypeOptimal = 1 ;Optimal palette generated using a median-cut algorithm.
+Global Const $GDIP_PaletteTypeFixedBW = 2 ;Black and white palette.
+
+;Symmetric halftone palettes. Each of these halftone palettes will be a superset of the system palette. E.g. Halftone8 will have it's 8-color on-off primaries and the 16 system colors added. With duplicates removed, that leaves 16 colors.
+Global Const $GDIP_PaletteTypeFixedHalftone27 = 4 ;3 intensity levels of each color
+Global Const $GDIP_PaletteTypeFixedHalftone64 = 5 ;4 intensity levels of each color
+Global Const $GDIP_PaletteTypeFixedHalftone125 = 6 ;5 intensity levels of each color
+Global Const $GDIP_PaletteTypeFixedHalftone216 = 7 ;6 intensity levels of each color
+
+;Assymetric halftone palettes. These are somewhat less useful than the symmetric ones, but are included for completeness. These do not include all of the system colors.
+Global Const $GDIP_DitherTypeSolid = 1 ;Solid color - picks the nearest matching color with no attempt to halftone or dither. May be used on an arbitrary palette.
+
+;Ordered dithers and spiral dithers must be used with a fixed palette. NOTE: DitherOrdered4x4 is unique in that it may apply to 16bpp conversions also.
+; A set of flags that specify which members of this structure contain data to be set or which members are being requested. Set this member to one or more of the following flags.
+; BCSIF_GLYPH
+; himlGlyph is valid.
+; BCSIF_IMAGE
+; himlGlyph is valid. Use when uSplitStyle is set to BCSS_IMAGE.
+; BCSIF_SIZE
+; size is valid.
+; BCSIF_STYLE
+; uSplitStyle is valid.
+; himlGlyph
+; A handle to the image list. The provider retains ownership of the image list and is ultimately responsible for its disposal.
+; uSplitStyle
+; The split button style. Value must be one or more of the following flags.
+; BCSS_ALIGNLEFT
+; Align the image or glyph horizontally with the left margin.
+Global Const $LVS_SHAREIMAGELISTS = 0x0040 ; The image list will not be deleted when the control is destroyed
+Global Const $LVS_SHOWSELALWAYS = 0x0008 ; The selection is always shown
+Global Const $LVS_SINGLESEL = 0x0004 ; Only one item at a time can be selected
+Global Const $LVS_SMALLICON = 0x0002 ; This style specifies small icon view
+Global Const $LVS_SORTASCENDING = 0x0010 ; Item indexes are sorted based on item text in ascending order
+Global Const $LVS_SORTDESCENDING = 0x0020 ; Item indexes are sorted based on item text in descending order
+Global Const $LVS_TYPEMASK = 0x0003 ; Determines the control's current window style
+Global Const $LVS_TYPESTYLEMASK = 0xfc00 ; Determines the window styles
+
+; listView Extended Styles
+Global Const $LVS_EX_AUTOAUTOARRANGE = 0x01000000 ; Vista - Automatically arrange icons if no icon positions have been set (Similar to LVS_AUTOARRANGE).
+Global Const $LVS_EX_AUTOCHECKSELECT = 0x08000000 ; Vista - Automatically select check boxes on single click
+Global Const $LVS_EX_COLUMNOVERFLOW = 0x80000000 ; Indicates that an overflow button should be displayed in icon/tile view if there is not enough client width to display the complete set of header items
+Global Const $LVS_EX_COLUMNSNAPPOINTS = 0x40000000 ; Vista - Snap to minimum column width when the user resizes a column
+Global Const $LVS_EX_DOUBLEBUFFER = 0x00010000 ; Paints via double-buffering, which reduces flicker