diff options
Diffstat (limited to 'src/3rdparty')
139 files changed, 38276 insertions, 43676 deletions
diff --git a/src/3rdparty/atspi2/atspi/atspi-constants.h b/src/3rdparty/atspi2/atspi/atspi-constants.h index 7a55169f1f..3675bcca1f 100644 --- a/src/3rdparty/atspi2/atspi/atspi-constants.h +++ b/src/3rdparty/atspi2/atspi/atspi-constants.h @@ -190,7 +190,7 @@ typedef enum { * enumeration. * * Enumeration used by #AtspiMatchRule to specify - * how to interpret #AtspiAccesible objects. + * how to interpret #AtspiAccessible objects. * **/ typedef enum { @@ -331,6 +331,8 @@ typedef enum { * #atspi_text_get_text_at_offset, #atspi_text_get_text_after_offset, and * #atspi_text_get_text_before_offset. * + * This enumerationis deprecated since 2.9.90 and should not be used. Use + * AtspiTextGranularity with #atspi_text_get_string_at_offset instead. **/ typedef enum { ATSPI_TEXT_BOUNDARY_CHAR, @@ -343,6 +345,34 @@ typedef enum { } AtspiTextBoundaryType; /** + *AtspiTextGranularity: + *@ATSPI_TEXT_GRANULARITY_CHAR: Granularity is defined by the boundaries between characters + * (including non-printing characters) + *@ATSPI_TEXT_GRANULARITY_WORD: Granularity is defined by the boundaries of a word, + * starting at the beginning of the current word and finishing at the beginning of + * the following one, if present. + *@ATSPI_TEXT_GRANULARITY_SENTENCE: Granularity is defined by the boundaries of a sentence, + * starting at the beginning of the current sentence and finishing at the beginning of + * the following one, if present. + *@ATSPI_TEXT_GRANULARITY_LINE: Granularity is defined by the boundaries of a line, + * starting at the beginning of the current line and finishing at the beginning of + * the following one, if present. + *@ATSPI_TEXT_GRANULARITY_PARAGRAPH: Granularity is defined by the boundaries of a paragraph, + * starting at the beginning of the current paragraph and finishing at the beginning of + * the following one, if present. + * + * Text granularity types used for specifying the granularity of the region of + * text we are interested in. + **/ +typedef enum { + ATSPI_TEXT_GRANULARITY_CHAR, + ATSPI_TEXT_GRANULARITY_WORD, + ATSPI_TEXT_GRANULARITY_SENTENCE, + ATSPI_TEXT_GRANULARITY_LINE, + ATSPI_TEXT_GRANULARITY_PARAGRAPH +} AtspiTextGranularity; + +/** * ATSPI_TEXT_BOUNDARY_TYPE_COUNT: * * One higher than the highest valid value of #AtspiTextBoundaryType. @@ -523,6 +553,14 @@ typedef enum { * @ATSPI_STATE_VISITED: This state indicates that the object (typically a * hyperlink) has already been activated or invoked, with the result that * some backing data has been downloaded or rendered. + *@ATSPI_STATE_CHECKABLE: Indicates this object has the potential to + * be checked, such as a checkbox or toggle-able table cell. @Since: + * 2.12 + *@ATSPI_STATE_HAS_POPUP: Indicates that the object has a popup + * context menu or sub-level menu which may or may not be + * showing. This means that activation renders conditional content. + * Note that ordinary tooltips are not considered popups in this + * context. @Since: 2.12 * @ATSPI_STATE_LAST_DEFINED: This value of the enumeration should not be used * as a parameter, it indicates the number of items in the #AtspiStateType * enumeration. @@ -574,6 +612,8 @@ typedef enum { ATSPI_STATE_SELECTABLE_TEXT, ATSPI_STATE_IS_DEFAULT, ATSPI_STATE_VISITED, + ATSPI_STATE_CHECKABLE, + ATSPI_STATE_HAS_POPUP, ATSPI_STATE_LAST_DEFINED, } AtspiStateType; @@ -639,19 +679,20 @@ typedef enum { * @ATSPI_KEY_PRESS: Emulates the pressing of a hardware keyboard key. * @ATSPI_KEY_RELEASE: Emulates the release of a hardware keyboard key. * @ATSPI_KEY_PRESSRELEASE: Emulates the pressing and immediate releasing - * ofa hardware keyboard key. + * of a hardware keyboard key. * @ATSPI_KEY_SYM: A symbolic key event is generated, without specifying a * hardware key. Note: if the keysym is not present in the current keyboard * map, the #AtspiDeviceEventController instance has a limited ability to * generate such keysyms on-the-fly. Reliability of GenerateKeyboardEvent * calls using out-of-keymap keysyms will vary from system to system, and on - * the number of different out-of-keymap being generated in quick succession. + * the number of different out-of-keymap keysyms being generated in quick + * succession. * In practice this is rarely significant, since the keysyms of interest to * AT clients and keyboard emulators are usually part of the current keymap, - * i.e. present on the system keyboard for the current locale (even if a - * physical hardware keyboard is not connected. + * i.e., present on the system keyboard for the current locale (even if a + * physical hardware keyboard is not connected). * @ATSPI_KEY_STRING: A string is converted to its equivalent keyboard events - * and emitted. If the string consists of complex character or composed + * and emitted. If the string consists of complex characters or composed * characters which are not in the current keymap, string emission is * subject to the out-of-keymap limitations described for * @ATSPI_KEY_SYM. In practice this limitation primarily effects @@ -1000,7 +1041,7 @@ typedef enum { * contains a view of document content. #AtspiDocument frames may occur within * another #AtspiDocument instance, in which case the second document may be * said to be embedded in the containing instance. HTML frames are often - * @ATSPI_ROLE_DOCUMENT_FRAME: Either this object, or a singleton descendant, + * ATSPI_ROLE_DOCUMENT_FRAME: Either this object, or a singleton descendant, * should implement the #AtspiDocument interface. * @ATSPI_ROLE_HEADING: The object serves as a heading for content which * follows it in a document. The 'heading level' of the heading, if @@ -1064,6 +1105,46 @@ typedef enum { * particular application. * @ATSPI_ROLE_INFO_BAR: An object designed to present a message to the user * within an existing window. + *@ATSPI_ROLE_LEVEL_BAR: A bar that serves as a level indicator to, for + * instance, show the strength of a password or the state of a battery. + * Since: 2.8 + *@ATSPI_ROLE_TITLE_BAR: A bar that serves as the title of a window or a + * dialog. @Since: 2.12 + *@ATSPI_ROLE_BLOCK_QUOTE: An object which contains a text section + * that is quoted from another source. @Since: 2.12 + *@ATSPI_ROLE_AUDIO: An object which represents an audio + * element. @Since: 2.12 + *@ATSPI_ROLE_VIDEO: An object which represents a video + * element. @Since: 2.12 + *@ATSPI_ROLE_DEFINITION: A definition of a term or concept. @Since: 2.12 + *@ATSPI_ROLE_ARTICLE: A section of a page that consists of a + * composition that forms an independent part of a document, page, or + * site. Examples: A blog entry, a news story, a forum post. @Since: + * 2.12 + *@ATSPI_ROLE_LANDMARK: A region of a web page intended as a + * navigational landmark. This is designed to allow Assistive + * Technologies to provide quick navigation among key regions within a + * document. @Since: 2.12 + *@ATSPI_ROLE_LOG: A text widget or container holding log content, such + * as chat history and error logs. In this role there is a + * relationship between the arrival of new items in the log and the + * reading order. The log contains a meaningful sequence and new + * information is added only to the end of the log, not at arbitrary + * points. @Since: 2.12 + *@ATSPI_ROLE_MARQUEE: A container where non-essential information + * changes frequently. Common usages of marquee include stock tickers + * and ad banners. The primary difference between a marquee and a log + * is that logs usually have a meaningful order or sequence of + * important content changes. @Since: 2.12 + *@ATSPI_ROLE_MATH: A text widget or container that holds a mathematical + * expression. @Since: 2.12 + *@ATSPI_ROLE_RATING: A widget whose purpose is to display a rating, + * such as the number of stars associated with a song in a media + * player. Objects of this role should also implement + * AtspiValue. @Since: 2.12 + *@ATSPI_ROLE_TIMER: An object containing a numerical counter which + * indicates an amount of elapsed time from a start point, or the time + * remaining until an end point. @Since: 2.12 * @ATSPI_ROLE_LAST_DEFINED: Not a valid role, used for finding end of * enumeration. * @@ -1175,6 +1256,19 @@ typedef enum { ATSPI_ROLE_IMAGE_MAP, ATSPI_ROLE_NOTIFICATION, ATSPI_ROLE_INFO_BAR, + ATSPI_ROLE_LEVEL_BAR, + ATSPI_ROLE_TITLE_BAR, + ATSPI_ROLE_BLOCK_QUOTE, + ATSPI_ROLE_AUDIO, + ATSPI_ROLE_VIDEO, + ATSPI_ROLE_DEFINITION, + ATSPI_ROLE_ARTICLE, + ATSPI_ROLE_LANDMARK, + ATSPI_ROLE_LOG, + ATSPI_ROLE_MARQUEE, + ATSPI_ROLE_MATH, + ATSPI_ROLE_RATING, + ATSPI_ROLE_TIMER, ATSPI_ROLE_LAST_DEFINED, } AtspiRole; @@ -1187,8 +1281,8 @@ typedef enum { typedef enum { - ATSPI_CACHE_NONE = 0, - ATSPI_CACHE_PARENT = 1 << 0, + ATSPI_CACHE_NONE = 0, + ATSPI_CACHE_PARENT = 1 << 0, ATSPI_CACHE_CHILDREN = 1 << 1, ATSPI_CACHE_NAME = 1 << 2, ATSPI_CACHE_DESCRIPTION = 1 << 3, @@ -1197,10 +1291,7 @@ typedef enum ATSPI_CACHE_INTERFACES = 1 << 6, ATSPI_CACHE_ATTRIBUTES = 1 << 7, ATSPI_CACHE_ALL = 0x3fffffff, - ATSPI_CACHE_DEFAULT = ATSPI_CACHE_PARENT | ATSPI_CACHE_CHILDREN | - ATSPI_CACHE_NAME | ATSPI_CACHE_DESCRIPTION | - ATSPI_CACHE_STATES | ATSPI_CACHE_ROLE | - ATSPI_CACHE_INTERFACES, + ATSPI_CACHE_DEFAULT = ATSPI_CACHE_PARENT | ATSPI_CACHE_CHILDREN | ATSPI_CACHE_NAME | ATSPI_CACHE_DESCRIPTION | ATSPI_CACHE_STATES | ATSPI_CACHE_ROLE | ATSPI_CACHE_INTERFACES, ATSPI_CACHE_UNDEFINED = 0x40000000, } AtspiCache; @@ -1231,6 +1322,7 @@ typedef enum #define ATSPI_DBUS_INTERFACE_IMAGE "org.a11y.atspi.Image" #define ATSPI_DBUS_INTERFACE_SELECTION "org.a11y.atspi.Selection" #define ATSPI_DBUS_INTERFACE_TABLE "org.a11y.atspi.Table" +#define ATSPI_DBUS_INTERFACE_TABLE_CELL "org.a11y.atspi.TableCell" #define ATSPI_DBUS_INTERFACE_TEXT "org.a11y.atspi.Text" #define ATSPI_DBUS_INTERFACE_VALUE "org.a11y.atspi.Value" #define ATSPI_DBUS_INTERFACE_SOCKET "org.a11y.atspi.Socket" diff --git a/src/3rdparty/des/des.cpp b/src/3rdparty/des/des.cpp deleted file mode 100644 index c1a260bbac..0000000000 --- a/src/3rdparty/des/des.cpp +++ /dev/null @@ -1,602 +0,0 @@ -/* - * Implementation of DES encryption for NTLM - * - * Copyright 1997-2005 Simon Tatham. - * - * This software is released under the MIT license. - */ - -/* - * Description of DES - * ------------------ - * - * Unlike the description in FIPS 46, I'm going to use _sensible_ indices: - * bits in an n-bit word are numbered from 0 at the LSB to n-1 at the MSB. - * And S-boxes are indexed by six consecutive bits, not by the outer two - * followed by the middle four. - * - * The DES encryption routine requires a 64-bit input, and a key schedule K - * containing 16 48-bit elements. - * - * First the input is permuted by the initial permutation IP. - * Then the input is split into 32-bit words L and R. (L is the MSW.) - * Next, 16 rounds. In each round: - * (L, R) <- (R, L xor f(R, K[i])) - * Then the pre-output words L and R are swapped. - * Then L and R are glued back together into a 64-bit word. (L is the MSW, - * again, but since we just swapped them, the MSW is the R that came out - * of the last round.) - * The 64-bit output block is permuted by the inverse of IP and returned. - * - * Decryption is identical except that the elements of K are used in the - * opposite order. (This wouldn't work if that word swap didn't happen.) - * - * The function f, used in each round, accepts a 32-bit word R and a - * 48-bit key block K. It produces a 32-bit output. - * - * First R is expanded to 48 bits using the bit-selection function E. - * The resulting 48-bit block is XORed with the key block K to produce - * a 48-bit block X. - * This block X is split into eight groups of 6 bits. Each group of 6 - * bits is then looked up in one of the eight S-boxes to convert - * it to 4 bits. These eight groups of 4 bits are glued back - * together to produce a 32-bit preoutput block. - * The preoutput block is permuted using the permutation P and returned. - * - * Key setup maps a 64-bit key word into a 16x48-bit key schedule. Although - * the approved input format for the key is a 64-bit word, eight of the - * bits are discarded, so the actual quantity of key used is 56 bits. - * - * First the input key is converted to two 28-bit words C and D using - * the bit-selection function PC1. - * Then 16 rounds of key setup occur. In each round, C and D are each - * rotated left by either 1 or 2 bits (depending on which round), and - * then converted into a key schedule element using the bit-selection - * function PC2. - * - * That's the actual algorithm. Now for the tedious details: all those - * painful permutations and lookup tables. - * - * IP is a 64-to-64 bit permutation. Its output contains the following - * bits of its input (listed in order MSB to LSB of output). - * - * 6 14 22 30 38 46 54 62 4 12 20 28 36 44 52 60 - * 2 10 18 26 34 42 50 58 0 8 16 24 32 40 48 56 - * 7 15 23 31 39 47 55 63 5 13 21 29 37 45 53 61 - * 3 11 19 27 35 43 51 59 1 9 17 25 33 41 49 57 - * - * E is a 32-to-48 bit selection function. Its output contains the following - * bits of its input (listed in order MSB to LSB of output). - * - * 0 31 30 29 28 27 28 27 26 25 24 23 24 23 22 21 20 19 20 19 18 17 16 15 - * 16 15 14 13 12 11 12 11 10 9 8 7 8 7 6 5 4 3 4 3 2 1 0 31 - * - * The S-boxes are arbitrary table-lookups each mapping a 6-bit input to a - * 4-bit output. In other words, each S-box is an array[64] of 4-bit numbers. - * The S-boxes are listed below. The first S-box listed is applied to the - * most significant six bits of the block X; the last one is applied to the - * least significant. - * - * 14 0 4 15 13 7 1 4 2 14 15 2 11 13 8 1 - * 3 10 10 6 6 12 12 11 5 9 9 5 0 3 7 8 - * 4 15 1 12 14 8 8 2 13 4 6 9 2 1 11 7 - * 15 5 12 11 9 3 7 14 3 10 10 0 5 6 0 13 - * - * 15 3 1 13 8 4 14 7 6 15 11 2 3 8 4 14 - * 9 12 7 0 2 1 13 10 12 6 0 9 5 11 10 5 - * 0 13 14 8 7 10 11 1 10 3 4 15 13 4 1 2 - * 5 11 8 6 12 7 6 12 9 0 3 5 2 14 15 9 - * - * 10 13 0 7 9 0 14 9 6 3 3 4 15 6 5 10 - * 1 2 13 8 12 5 7 14 11 12 4 11 2 15 8 1 - * 13 1 6 10 4 13 9 0 8 6 15 9 3 8 0 7 - * 11 4 1 15 2 14 12 3 5 11 10 5 14 2 7 12 - * - * 7 13 13 8 14 11 3 5 0 6 6 15 9 0 10 3 - * 1 4 2 7 8 2 5 12 11 1 12 10 4 14 15 9 - * 10 3 6 15 9 0 0 6 12 10 11 1 7 13 13 8 - * 15 9 1 4 3 5 14 11 5 12 2 7 8 2 4 14 - * - * 2 14 12 11 4 2 1 12 7 4 10 7 11 13 6 1 - * 8 5 5 0 3 15 15 10 13 3 0 9 14 8 9 6 - * 4 11 2 8 1 12 11 7 10 1 13 14 7 2 8 13 - * 15 6 9 15 12 0 5 9 6 10 3 4 0 5 14 3 - * - * 12 10 1 15 10 4 15 2 9 7 2 12 6 9 8 5 - * 0 6 13 1 3 13 4 14 14 0 7 11 5 3 11 8 - * 9 4 14 3 15 2 5 12 2 9 8 5 12 15 3 10 - * 7 11 0 14 4 1 10 7 1 6 13 0 11 8 6 13 - * - * 4 13 11 0 2 11 14 7 15 4 0 9 8 1 13 10 - * 3 14 12 3 9 5 7 12 5 2 10 15 6 8 1 6 - * 1 6 4 11 11 13 13 8 12 1 3 4 7 10 14 7 - * 10 9 15 5 6 0 8 15 0 14 5 2 9 3 2 12 - * - * 13 1 2 15 8 13 4 8 6 10 15 3 11 7 1 4 - * 10 12 9 5 3 6 14 11 5 0 0 14 12 9 7 2 - * 7 2 11 1 4 14 1 7 9 4 12 10 14 8 2 13 - * 0 15 6 12 10 9 13 0 15 3 3 5 5 6 8 11 - * - * P is a 32-to-32 bit permutation. Its output contains the following - * bits of its input (listed in order MSB to LSB of output). - * - * 16 25 12 11 3 20 4 15 31 17 9 6 27 14 1 22 - * 30 24 8 18 0 5 29 23 13 19 2 26 10 21 28 7 - * - * PC1 is a 64-to-56 bit selection function. Its output is in two words, - * C and D. The word C contains the following bits of its input (listed - * in order MSB to LSB of output). - * - * 7 15 23 31 39 47 55 63 6 14 22 30 38 46 - * 54 62 5 13 21 29 37 45 53 61 4 12 20 28 - * - * And the word D contains these bits. - * - * 1 9 17 25 33 41 49 57 2 10 18 26 34 42 - * 50 58 3 11 19 27 35 43 51 59 36 44 52 60 - * - * PC2 is a 56-to-48 bit selection function. Its input is in two words, - * C and D. These are treated as one 56-bit word (with C more significant, - * so that bits 55 to 28 of the word are bits 27 to 0 of C, and bits 27 to - * 0 of the word are bits 27 to 0 of D). The output contains the following - * bits of this 56-bit input word (listed in order MSB to LSB of output). - * - * 42 39 45 32 55 51 53 28 41 50 35 46 33 37 44 52 30 48 40 49 29 36 43 54 - * 15 4 25 19 9 1 26 16 5 11 23 8 12 7 17 0 22 3 10 14 6 20 27 24 - */ - -/* - * Implementation details - * ---------------------- - * - * If you look at the code in this module, you'll find it looks - * nothing _like_ the above algorithm. Here I explain the - * differences... - * - * Key setup has not been heavily optimised here. We are not - * concerned with key agility: we aren't codebreakers. We don't - * mind a little delay (and it really is a little one; it may be a - * factor of five or so slower than it could be but it's still not - * an appreciable length of time) while setting up. The only tweaks - * in the key setup are ones which change the format of the key - * schedule to speed up the actual encryption. I'll describe those - * below. - * - * The first and most obvious optimisation is the S-boxes. Since - * each S-box always targets the same four bits in the final 32-bit - * word, so the output from (for example) S-box 0 must always be - * shifted left 28 bits, we can store the already-shifted outputs - * in the lookup tables. This reduces lookup-and-shift to lookup, - * so the S-box step is now just a question of ORing together eight - * table lookups. - * - * The permutation P is just a bit order change; it's invariant - * with respect to OR, in that P(x)|P(y) = P(x|y). Therefore, we - * can apply P to every entry of the S-box tables and then we don't - * have to do it in the code of f(). This yields a set of tables - * which might be called SP-boxes. - * - * The bit-selection function E is our next target. Note that E is - * immediately followed by the operation of splitting into 6-bit - * chunks. Examining the 6-bit chunks coming out of E we notice - * they're all contiguous within the word (speaking cyclically - - * the end two wrap round); so we can extract those bit strings - * individually rather than explicitly running E. This would yield - * code such as - * - * y |= SPboxes[0][ (rotl(R, 5) ^ top6bitsofK) & 0x3F ]; - * t |= SPboxes[1][ (rotl(R,11) ^ next6bitsofK) & 0x3F ]; - * - * and so on; and the key schedule preparation would have to - * provide each 6-bit chunk separately. - * - * Really we'd like to XOR in the key schedule element before - * looking up bit strings in R. This we can't do, naively, because - * the 6-bit strings we want overlap. But look at the strings: - * - * 3322222222221111111111 - * bit 10987654321098765432109876543210 - * - * box0 XXXXX X - * box1 XXXXXX - * box2 XXXXXX - * box3 XXXXXX - * box4 XXXXXX - * box5 XXXXXX - * box6 XXXXXX - * box7 X XXXXX - * - * The bit strings we need to XOR in for boxes 0, 2, 4 and 6 don't - * overlap with each other. Neither do the ones for boxes 1, 3, 5 - * and 7. So we could provide the key schedule in the form of two - * words that we can separately XOR into R, and then every S-box - * index is available as a (cyclically) contiguous 6-bit substring - * of one or the other of the results. - * - * The comments in Eric Young's libdes implementation point out - * that two of these bit strings require a rotation (rather than a - * simple shift) to extract. It's unavoidable that at least _one_ - * must do; but we can actually run the whole inner algorithm (all - * 16 rounds) rotated one bit to the left, so that what the `real' - * DES description sees as L=0x80000001 we see as L=0x00000003. - * This requires rotating all our SP-box entries one bit to the - * left, and rotating each word of the key schedule elements one to - * the left, and rotating L and R one bit left just after IP and - * one bit right again just before FP. And in each round we convert - * a rotate into a shift, so we've saved a few per cent. - * - * That's about it for the inner loop; the SP-box tables as listed - * below are what I've described here (the original S value, - * shifted to its final place in the input to P, run through P, and - * then rotated one bit left). All that remains is to optimise the - * initial permutation IP. - * - * IP is not an arbitrary permutation. It has the nice property - * that if you take any bit number, write it in binary (6 bits), - * permute those 6 bits and invert some of them, you get the final - * position of that bit. Specifically, the bit whose initial - * position is given (in binary) as fedcba ends up in position - * AcbFED (where a capital letter denotes the inverse of a bit). - * - * We have the 64-bit data in two 32-bit words L and R, where bits - * in L are those with f=1 and bits in R are those with f=0. We - * note that we can do a simple transformation: suppose we exchange - * the bits with f=1,c=0 and the bits with f=0,c=1. This will cause - * the bit fedcba to be in position cedfba - we've `swapped' bits c - * and f in the position of each bit! - * - * Better still, this transformation is easy. In the example above, - * bits in L with c=0 are bits 0x0F0F0F0F, and those in R with c=1 - * are 0xF0F0F0F0. So we can do - * - * difference = ((R >> 4) ^ L) & 0x0F0F0F0F - * R ^= (difference << 4) - * L ^= difference - * - * to perform the swap. Let's denote this by bitswap(4,0x0F0F0F0F). - * Also, we can invert the bit at the top just by exchanging L and - * R. So in a few swaps and a few of these bit operations we can - * do: - * - * Initially the position of bit fedcba is fedcba - * Swap L with R to make it Fedcba - * Perform bitswap( 4,0x0F0F0F0F) to make it cedFba - * Perform bitswap(16,0x0000FFFF) to make it ecdFba - * Swap L with R to make it EcdFba - * Perform bitswap( 2,0x33333333) to make it bcdFEa - * Perform bitswap( 8,0x00FF00FF) to make it dcbFEa - * Swap L with R to make it DcbFEa - * Perform bitswap( 1,0x55555555) to make it acbFED - * Swap L with R to make it AcbFED - * - * (In the actual code the four swaps are implicit: R and L are - * simply used the other way round in the first, second and last - * bitswap operations.) - * - * The final permutation is just the inverse of IP, so it can be - * performed by a similar set of operations. - */ - -struct des_context { - quint32 k0246[16], k1357[16]; -}; - -#define rotl(x, c) ( (x << c) | (x >> (32-c)) ) -#define rotl28(x, c) ( ( (x << c) | (x >> (28-c)) ) & 0x0FFFFFFF) - -static quint32 bitsel(quint32 * input, const int *bitnums, int size) -{ - quint32 ret = 0; - while (size--) { - int bitpos = *bitnums++; - ret <<= 1; - if (bitpos >= 0) - ret |= 1 & (input[bitpos / 32] >> (bitpos % 32)); - } - return ret; -} - -static inline void des_key_setup(quint32 key_msw, quint32 key_lsw, - struct des_context *sched) -{ - /* Tables are modified to work with 56-bit key */ - static const int PC1_Cbits[] = { - 6, 13, 20, 27, 34, 41, 48, 55, 5, 12, 19, 26, 33, 40, - 47, 54, 4, 11, 18, 25, 32, 39, 46, 53, 3, 10, 17, 24 - }; - static const int PC1_Dbits[] = { - 0, 7, 14, 21, 28, 35, 42, 49, 1, 8, 15, 22, 29, 36, - 43, 50, 2, 9, 16, 23, 30, 37, 44, 51, 31, 38, 45, 52 - }; - /* - * The bit numbers in the two lists below don't correspond to - * the ones in the above description of PC2, because in the - * above description C and D are concatenated so `bit 28' means - * bit 0 of C. In this implementation we're using the standard - * `bitsel' function above and C is in the second word, so bit - * 0 of C is addressed by writing `32' here. - */ - static const int PC2_0246[] = { - 49, 36, 59, 55, -1, -1, 37, 41, 48, 56, 34, 52, -1, -1, 15, 4, - 25, 19, 9, 1, -1, -1, 12, 7, 17, 0, 22, 3, -1, -1, 46, 43 - }; - static const int PC2_1357[] = { - -1, -1, 57, 32, 45, 54, 39, 50, -1, -1, 44, 53, 33, 40, 47, 58, - -1, -1, 26, 16, 5, 11, 23, 8, -1, -1, 10, 14, 6, 20, 27, 24 - }; - static const int leftshifts[] = { - 1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1 - }; - - quint32 C, D; - quint32 buf[2]; - int i; - - buf[0] = key_lsw; - buf[1] = key_msw; - - C = bitsel(buf, PC1_Cbits, 28); - D = bitsel(buf, PC1_Dbits, 28); - - for (i = 0; i < 16; i++) { - C = rotl28(C, leftshifts[i]); - D = rotl28(D, leftshifts[i]); - buf[0] = D; - buf[1] = C; - sched->k0246[i] = bitsel(buf, PC2_0246, 32); - sched->k1357[i] = bitsel(buf, PC2_1357, 32); - } -} - -static const quint32 SPboxes[8][64] = { - {0x01010400, 0x00000000, 0x00010000, 0x01010404, - 0x01010004, 0x00010404, 0x00000004, 0x00010000, - 0x00000400, 0x01010400, 0x01010404, 0x00000400, - 0x01000404, 0x01010004, 0x01000000, 0x00000004, - 0x00000404, 0x01000400, 0x01000400, 0x00010400, - 0x00010400, 0x01010000, 0x01010000, 0x01000404, - 0x00010004, 0x01000004, 0x01000004, 0x00010004, - 0x00000000, 0x00000404, 0x00010404, 0x01000000, - 0x00010000, 0x01010404, 0x00000004, 0x01010000, - 0x01010400, 0x01000000, 0x01000000, 0x00000400, - 0x01010004, 0x00010000, 0x00010400, 0x01000004, - 0x00000400, 0x00000004, 0x01000404, 0x00010404, - 0x01010404, 0x00010004, 0x01010000, 0x01000404, - 0x01000004, 0x00000404, 0x00010404, 0x01010400, - 0x00000404, 0x01000400, 0x01000400, 0x00000000, - 0x00010004, 0x00010400, 0x00000000, 0x01010004}, - - {0x80108020, 0x80008000, 0x00008000, 0x00108020, - 0x00100000, 0x00000020, 0x80100020, 0x80008020, - 0x80000020, 0x80108020, 0x80108000, 0x80000000, - 0x80008000, 0x00100000, 0x00000020, 0x80100020, - 0x00108000, 0x00100020, 0x80008020, 0x00000000, - 0x80000000, 0x00008000, 0x00108020, 0x80100000, - 0x00100020, 0x80000020, 0x00000000, 0x00108000, - 0x00008020, 0x80108000, 0x80100000, 0x00008020, - 0x00000000, 0x00108020, 0x80100020, 0x00100000, - 0x80008020, 0x80100000, 0x80108000, 0x00008000, - 0x80100000, 0x80008000, 0x00000020, 0x80108020, - 0x00108020, 0x00000020, 0x00008000, 0x80000000, - 0x00008020, 0x80108000, 0x00100000, 0x80000020, - 0x00100020, 0x80008020, 0x80000020, 0x00100020, - 0x00108000, 0x00000000, 0x80008000, 0x00008020, - 0x80000000, 0x80100020, 0x80108020, 0x00108000}, - - {0x00000208, 0x08020200, 0x00000000, 0x08020008, - 0x08000200, 0x00000000, 0x00020208, 0x08000200, - 0x00020008, 0x08000008, 0x08000008, 0x00020000, - 0x08020208, 0x00020008, 0x08020000, 0x00000208, - 0x08000000, 0x00000008, 0x08020200, 0x00000200, - 0x00020200, 0x08020000, 0x08020008, 0x00020208, - 0x08000208, 0x00020200, 0x00020000, 0x08000208, - 0x00000008, 0x08020208, 0x00000200, 0x08000000, - 0x08020200, 0x08000000, 0x00020008, 0x00000208, - 0x00020000, 0x08020200, 0x08000200, 0x00000000, - 0x00000200, 0x00020008, 0x08020208, 0x08000200, - 0x08000008, 0x00000200, 0x00000000, 0x08020008, - 0x08000208, 0x00020000, 0x08000000, 0x08020208, - 0x00000008, 0x00020208, 0x00020200, 0x08000008, - 0x08020000, 0x08000208, 0x00000208, 0x08020000, - 0x00020208, 0x00000008, 0x08020008, 0x00020200}, - - {0x00802001, 0x00002081, 0x00002081, 0x00000080, - 0x00802080, 0x00800081, 0x00800001, 0x00002001, - 0x00000000, 0x00802000, 0x00802000, 0x00802081, - 0x00000081, 0x00000000, 0x00800080, 0x00800001, - 0x00000001, 0x00002000, 0x00800000, 0x00802001, - 0x00000080, 0x00800000, 0x00002001, 0x00002080, - 0x00800081, 0x00000001, 0x00002080, 0x00800080, - 0x00002000, 0x00802080, 0x00802081, 0x00000081, - 0x00800080, 0x00800001, 0x00802000, 0x00802081, - 0x00000081, 0x00000000, 0x00000000, 0x00802000, - 0x00002080, 0x00800080, 0x00800081, 0x00000001, - 0x00802001, 0x00002081, 0x00002081, 0x00000080, - 0x00802081, 0x00000081, 0x00000001, 0x00002000, - 0x00800001, 0x00002001, 0x00802080, 0x00800081, - 0x00002001, 0x00002080, 0x00800000, 0x00802001, - 0x00000080, 0x00800000, 0x00002000, 0x00802080}, - - {0x00000100, 0x02080100, 0x02080000, 0x42000100, - 0x00080000, 0x00000100, 0x40000000, 0x02080000, - 0x40080100, 0x00080000, 0x02000100, 0x40080100, - 0x42000100, 0x42080000, 0x00080100, 0x40000000, - 0x02000000, 0x40080000, 0x40080000, 0x00000000, - 0x40000100, 0x42080100, 0x42080100, 0x02000100, - 0x42080000, 0x40000100, 0x00000000, 0x42000000, - 0x02080100, 0x02000000, 0x42000000, 0x00080100, - 0x00080000, 0x42000100, 0x00000100, 0x02000000, - 0x40000000, 0x02080000, 0x42000100, 0x40080100, - 0x02000100, 0x40000000, 0x42080000, 0x02080100, - 0x40080100, 0x00000100, 0x02000000, 0x42080000, - 0x42080100, 0x00080100, 0x42000000, 0x42080100, - 0x02080000, 0x00000000, 0x40080000, 0x42000000, - 0x00080100, 0x02000100, 0x40000100, 0x00080000, - 0x00000000, 0x40080000, 0x02080100, 0x40000100}, - - {0x20000010, 0x20400000, 0x00004000, 0x20404010, - 0x20400000, 0x00000010, 0x20404010, 0x00400000, - 0x20004000, 0x00404010, 0x00400000, 0x20000010, - 0x00400010, 0x20004000, 0x20000000, 0x00004010, - 0x00000000, 0x00400010, 0x20004010, 0x00004000, - 0x00404000, 0x20004010, 0x00000010, 0x20400010, - 0x20400010, 0x00000000, 0x00404010, 0x20404000, - 0x00004010, 0x00404000, 0x20404000, 0x20000000, - 0x20004000, 0x00000010, 0x20400010, 0x00404000, - 0x20404010, 0x00400000, 0x00004010, 0x20000010, - 0x00400000, 0x20004000, 0x20000000, 0x00004010, - 0x20000010, 0x20404010, 0x00404000, 0x20400000, - 0x00404010, 0x20404000, 0x00000000, 0x20400010, - 0x00000010, 0x00004000, 0x20400000, 0x00404010, - 0x00004000, 0x00400010, 0x20004010, 0x00000000, - 0x20404000, 0x20000000, 0x00400010, 0x20004010}, - - {0x00200000, 0x04200002, 0x04000802, 0x00000000, - 0x00000800, 0x04000802, 0x00200802, 0x04200800, - 0x04200802, 0x00200000, 0x00000000, 0x04000002, - 0x00000002, 0x04000000, 0x04200002, 0x00000802, - 0x04000800, 0x00200802, 0x00200002, 0x04000800, - 0x04000002, 0x04200000, 0x04200800, 0x00200002, - 0x04200000, 0x00000800, 0x00000802, 0x04200802, - 0x00200800, 0x00000002, 0x04000000, 0x00200800, - 0x04000000, 0x00200800, 0x00200000, 0x04000802, - 0x04000802, 0x04200002, 0x04200002, 0x00000002, - 0x00200002, 0x04000000, 0x04000800, 0x00200000, - 0x04200800, 0x00000802, 0x00200802, 0x04200800, - 0x00000802, 0x04000002, 0x04200802, 0x04200000, - 0x00200800, 0x00000000, 0x00000002, 0x04200802, - 0x00000000, 0x00200802, 0x04200000, 0x00000800, - 0x04000002, 0x04000800, 0x00000800, 0x00200002}, - - {0x10001040, 0x00001000, 0x00040000, 0x10041040, - 0x10000000, 0x10001040, 0x00000040, 0x10000000, - 0x00040040, 0x10040000, 0x10041040, 0x00041000, - 0x10041000, 0x00041040, 0x00001000, 0x00000040, - 0x10040000, 0x10000040, 0x10001000, 0x00001040, - 0x00041000, 0x00040040, 0x10040040, 0x10041000, - 0x00001040, 0x00000000, 0x00000000, 0x10040040, - 0x10000040, 0x10001000, 0x00041040, 0x00040000, - 0x00041040, 0x00040000, 0x10041000, 0x00001000, - 0x00000040, 0x10040040, 0x00001000, 0x00041040, - 0x10001000, 0x00000040, 0x10000040, 0x10040000, - 0x10040040, 0x10000000, 0x00040000, 0x10001040, - 0x00000000, 0x10041040, 0x00040040, 0x10000040, - 0x10040000, 0x10001000, 0x10001040, 0x00000000, - 0x10041040, 0x00041000, 0x00041000, 0x00001040, - 0x00001040, 0x00040040, 0x10000000, 0x10041000} -}; - -#define f(R, K0246, K1357) (\ - s0246 = R ^ K0246, \ - s1357 = R ^ K1357, \ - s0246 = rotl(s0246, 28), \ - SPboxes[0] [(s0246 >> 24) & 0x3F] | \ - SPboxes[1] [(s1357 >> 24) & 0x3F] | \ - SPboxes[2] [(s0246 >> 16) & 0x3F] | \ - SPboxes[3] [(s1357 >> 16) & 0x3F] | \ - SPboxes[4] [(s0246 >> 8) & 0x3F] | \ - SPboxes[5] [(s1357 >> 8) & 0x3F] | \ - SPboxes[6] [(s0246 ) & 0x3F] | \ - SPboxes[7] [(s1357 ) & 0x3F]) - -#define bitswap(L, R, n, mask) (\ - swap = mask & ( (R >> n) ^ L ), \ - R ^= swap << n, \ - L ^= swap) - -/* Initial permutation */ -#define IP(L, R) (\ - bitswap(R, L, 4, 0x0F0F0F0F), \ - bitswap(R, L, 16, 0x0000FFFF), \ - bitswap(L, R, 2, 0x33333333), \ - bitswap(L, R, 8, 0x00FF00FF), \ - bitswap(R, L, 1, 0x55555555)) - -/* Final permutation */ -#define FP(L, R) (\ - bitswap(R, L, 1, 0x55555555), \ - bitswap(L, R, 8, 0x00FF00FF), \ - bitswap(L, R, 2, 0x33333333), \ - bitswap(R, L, 16, 0x0000FFFF), \ - bitswap(R, L, 4, 0x0F0F0F0F)) - -static void -des_encipher(quint32 *output, quint32 L, quint32 R, - struct des_context *sched) -{ - quint32 swap, s0246, s1357; - - IP(L, R); - - L = rotl(L, 1); - R = rotl(R, 1); - - L ^= f(R, sched->k0246[0], sched->k1357[0]); - R ^= f(L, sched->k0246[1], sched->k1357[1]); - L ^= f(R, sched->k0246[2], sched->k1357[2]); - R ^= f(L, sched->k0246[3], sched->k1357[3]); - L ^= f(R, sched->k0246[4], sched->k1357[4]); - R ^= f(L, sched->k0246[5], sched->k1357[5]); - L ^= f(R, sched->k0246[6], sched->k1357[6]); - R ^= f(L, sched->k0246[7], sched->k1357[7]); - L ^= f(R, sched->k0246[8], sched->k1357[8]); - R ^= f(L, sched->k0246[9], sched->k1357[9]); - L ^= f(R, sched->k0246[10], sched->k1357[10]); - R ^= f(L, sched->k0246[11], sched->k1357[11]); - L ^= f(R, sched->k0246[12], sched->k1357[12]); - R ^= f(L, sched->k0246[13], sched->k1357[13]); - L ^= f(R, sched->k0246[14], sched->k1357[14]); - R ^= f(L, sched->k0246[15], sched->k1357[15]); - - L = rotl(L, 31); - R = rotl(R, 31); - - swap = L; - L = R; - R = swap; - - FP(L, R); - - output[0] = L; - output[1] = R; -} - -#define GET_32BIT_MSB_FIRST(cp) \ - (((unsigned long)(unsigned char)(cp)[3]) | \ - ((unsigned long)(unsigned char)(cp)[2] << 8) | \ - ((unsigned long)(unsigned char)(cp)[1] << 16) | \ - ((unsigned long)(unsigned char)(cp)[0] << 24)) - -#define PUT_32BIT_MSB_FIRST(cp, value) do { \ - (cp)[3] = (value); \ - (cp)[2] = (value) >> 8; \ - (cp)[1] = (value) >> 16; \ - (cp)[0] = (value) >> 24; } while (0) - -static inline void -des_cbc_encrypt(unsigned char *dest, const unsigned char *src, - struct des_context *sched) -{ - quint32 out[2], L, R; - - L = GET_32BIT_MSB_FIRST(src); - R = GET_32BIT_MSB_FIRST(src + 4); - des_encipher(out, L, R, sched); - PUT_32BIT_MSB_FIRST(dest, out[0]); - PUT_32BIT_MSB_FIRST(dest + 4, out[1]); -} - - -static unsigned char * -deshash(unsigned char *dst, const unsigned char *key, - const unsigned char *src) -{ - struct des_context ctx; - - des_key_setup(GET_32BIT_MSB_FIRST(key) >> 8, - GET_32BIT_MSB_FIRST(key + 3), &ctx); - - des_cbc_encrypt(dst, src, &ctx); - - return dst; -} diff --git a/src/3rdparty/forkfd/forkfd.c b/src/3rdparty/forkfd/forkfd.c new file mode 100644 index 0000000000..067e41d486 --- /dev/null +++ b/src/3rdparty/forkfd/forkfd.c @@ -0,0 +1,495 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Intel Corporation +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor +** the names of its contributors may be used to endorse or promote +** products derived from this software without specific prior written +** permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef _GNU_SOURCE +# define _GNU_SOURCE +# define _POSIX_C_SOURCE 200809L +# define _XOPEN_SOURCE 500 +#endif +#include "forkfd.h" + +#include <sys/types.h> +#include <sys/wait.h> +#include <assert.h> +#include <errno.h> +#include <pthread.h> +#include <signal.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> + +#ifdef __linux__ +# define HAVE_PIPE2 1 +# define HAVE_EVENTFD 1 +# include <sys/eventfd.h> +#endif + +#if _POSIX_VERSION-0 >= 200809L || _XOPEN_VERSION-0 >= 500 +# define HAVE_WAITID 1 +#endif + +#ifndef FFD_ATOMIC_RELAXED +# include "forkfd_gcc.h" +#endif + +#define CHILDREN_IN_SMALL_ARRAY 16 +#define CHILDREN_IN_BIG_ARRAY 256 +#define sizeofarray(array) (sizeof(array)/sizeof(array[0])) +#define EINTR_LOOP(ret, call) \ + do { \ + ret = call; \ + } while (ret == -1 && errno == EINTR) + +typedef struct process_info +{ + ffd_atomic_int pid; + int deathPipe; +} ProcessInfo; + +struct BigArray; +typedef struct Header +{ + ffd_atomic_pointer(struct BigArray) nextArray; + ffd_atomic_int busyCount; +} Header; + +typedef struct BigArray +{ + Header header; + ProcessInfo entries[CHILDREN_IN_BIG_ARRAY]; +} BigArray; + +typedef struct SmallArray +{ + Header header; + ProcessInfo entries[CHILDREN_IN_SMALL_ARRAY]; +} SmallArray; +static SmallArray children; + +static struct sigaction old_sigaction; +static pthread_once_t forkfd_initialization = PTHREAD_ONCE_INIT; +static ffd_atomic_int forkfd_status = FFD_ATOMIC_INIT(0); + +static ProcessInfo *tryAllocateInSection(Header *header, ProcessInfo entries[], int maxCount) +{ + /* we use ACQUIRE here because the signal handler might have released the PID */ + int busyCount = ffd_atomic_add_fetch(&header->busyCount, 1, FFD_ATOMIC_ACQUIRE); + if (busyCount <= maxCount) { + /* there's an available entry in this section, find it and take it */ + int i; + for (i = 0; i < maxCount; ++i) { + /* if the PID is 0, it's free; mark it as used by swapping it with -1 */ + int expected_pid = 0; + if (ffd_atomic_compare_exchange(&entries[i].pid, &expected_pid, + -1, FFD_ATOMIC_RELAXED, FFD_ATOMIC_RELAXED)) + return &entries[i]; + } + } + + /* there isn't an available entry, undo our increment */ + ffd_atomic_add_fetch(&header->busyCount, -1, FFD_ATOMIC_RELAXED); + return NULL; +} + +static ProcessInfo *allocateInfo(Header **header) +{ + Header *currentHeader = &children.header; + + /* try to find an available entry in the small array first */ + ProcessInfo *info = + tryAllocateInSection(currentHeader, children.entries, sizeofarray(children.entries)); + + /* go on to the next arrays */ + while (info == NULL) { + BigArray *array = ffd_atomic_load(¤tHeader->nextArray, FFD_ATOMIC_ACQUIRE); + if (array == NULL) { + /* allocate an array and try to use it */ + BigArray *allocatedArray = (BigArray *)calloc(1, sizeof(BigArray)); + if (allocatedArray == NULL) + return NULL; + + if (ffd_atomic_compare_exchange(¤tHeader->nextArray, &array, allocatedArray, + FFD_ATOMIC_RELEASE, FFD_ATOMIC_ACQUIRE)) { + /* success */ + array = allocatedArray; + } else { + /* failed, the atomic updated 'array' */ + free(allocatedArray); + } + } + + currentHeader = &array->header; + info = tryAllocateInSection(currentHeader, array->entries, sizeofarray(array->entries)); + } + + *header = currentHeader; + return info; +} + +static int tryReaping(pid_t pid, siginfo_t *info) +{ + /* reap the child */ +#ifdef HAVE_WAITID + // we have waitid(2), which fills in siginfo_t for us + info->si_pid = 0; + return waitid(P_PID, pid, info, WEXITED | WNOHANG) == 0 && info->si_pid == pid; +#else + int status; + if (waitpid(pid, &status, WNOHANG) <= 0) + return 0; // child did not change state + + info->si_signo = SIGCHLD; + info->si_utime = 0; + info->si_stime = 0; + info->si_pid = pid; + if (WIFEXITED(status)) { + info->si_code = CLD_EXITED; + info->si_status = WEXITSTATUS(status); + } else if (WIFSIGNALED(status)) { + info->si_code = CLD_KILLED; +# ifdef WCOREDUMP + if (WCOREDUMP(status)) + info->si_code = CLD_DUMPED; +# endif + info->si_status = WTERMSIG(status); + } + + return 1; +#endif +} + +static void freeInfo(Header *header, ProcessInfo *entry) +{ + entry->deathPipe = -1; + entry->pid = 0; + + ffd_atomic_add_fetch(&header->busyCount, -1, FFD_ATOMIC_RELEASE); + assert(header->busyCount >= 0); +} + +static void notifyAndFreeInfo(Header *header, ProcessInfo *entry, siginfo_t *info) +{ + ssize_t ret; + EINTR_LOOP(ret, write(entry->deathPipe, info, sizeof(*info))); + EINTR_LOOP(ret, close(entry->deathPipe)); + + freeInfo(header, entry); +} + +static void sigchld_handler(int signum) +{ + /* + * This is a signal handler, so we need to be careful about which functions + * we can call. See the full, official listing in the POSIX.1-2008 + * specification at: + * http://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_04_03 + * + */ + + if (ffd_atomic_load(&forkfd_status, FFD_ATOMIC_RELAXED) == 1) { + /* is this one of our children? */ + BigArray *array; + siginfo_t info; + int i; + + for (i = 0; i < (int)sizeofarray(children.entries); ++i) { + int pid = ffd_atomic_load(&children.entries[i].pid, FFD_ATOMIC_ACQUIRE); + if (pid > 0 && tryReaping(pid, &info)) { + /* this is our child, send notification and free up this entry */ + notifyAndFreeInfo(&children.header, &children.entries[i], &info); + } + } + + /* try the arrays */ + array = ffd_atomic_load(&children.header.nextArray, FFD_ATOMIC_ACQUIRE); + while (array != NULL) { + for (i = 0; i < (int)sizeofarray(array->entries); ++i) { + int pid = ffd_atomic_load(&array->entries[i].pid, FFD_ATOMIC_ACQUIRE); + if (pid > 0 && tryReaping(pid, &info)) { + /* this is our child, send notification and free up this entry */ + notifyAndFreeInfo(&array->header, &array->entries[i], &info); + } + } + + array = ffd_atomic_load(&array->header.nextArray, FFD_ATOMIC_ACQUIRE); + } + } + + if (old_sigaction.sa_handler != SIG_IGN && old_sigaction.sa_handler != SIG_DFL) + old_sigaction.sa_handler(signum); +} + +static void forkfd_initialize() +{ + /* install our signal handler */ + struct sigaction action; + memset(&action, 0, sizeof action); + sigemptyset(&action.sa_mask); + action.sa_flags = SA_NOCLDSTOP; + action.sa_handler = sigchld_handler; + + /* ### RACE CONDITION + * The sigaction function does a memcpy from an internal buffer + * to old_sigaction, which we use in the SIGCHLD handler. If a + * SIGCHLD is delivered before or during that memcpy, the handler will + * see an inconsistent state. + * + * There is no solution. pthread_sigmask doesn't work here because the + * signal could be delivered to another thread. + */ + sigaction(SIGCHLD, &action, &old_sigaction); + +#ifndef __GNUC__ + atexit(cleanup); +#endif + + ffd_atomic_store(&forkfd_status, 1, FFD_ATOMIC_RELAXED); +} + +#ifdef __GNUC__ +__attribute((destructor, unused)) static void cleanup(); +#endif + +static void cleanup() +{ + BigArray *array; + /* This function is not thread-safe! + * It must only be called when the process is shutting down. + * At shutdown, we expect no one to be calling forkfd(), so we don't + * need to be thread-safe with what is done there. + * + * But SIGCHLD might be delivered to any thread, including this one. + * There's no way to prevent that. The correct solution would be to + * cooperatively delete. We don't do that. + */ + if (ffd_atomic_load(&forkfd_status, FFD_ATOMIC_RELAXED) == 0) + return; + + /* notify the handler that we're no longer in operation */ + ffd_atomic_store(&forkfd_status, 0, FFD_ATOMIC_RELAXED); + + /* free any arrays we might have */ + array = children.header.nextArray; + while (array != NULL) { + BigArray *next = array->header.nextArray; + free(array); + array = next; + } +} + +static int create_pipe(int filedes[], int flags) +{ + int ret; +#ifdef HAVE_PIPE2 + /* use pipe2(2) whenever possible, since it can thread-safely create a + * cloexec pair of pipes. Without it, we have a race condition setting + * FD_CLOEXEC + */ + ret = pipe2(filedes, O_CLOEXEC); + if (ret == -1) + return ret; + + if ((flags & FFD_CLOEXEC) == 0) + fcntl(filedes[0], F_SETFD, 0); +#else + ret = pipe(filedes); + if (ret == -1) + return ret; + + fcntl(filedes[1], F_SETFD, FD_CLOEXEC); + if (flags & FFD_CLOEXEC) + fcntl(filedes[0], F_SETFD, FD_CLOEXEC); +#endif + if (flags & FFD_NONBLOCK) + fcntl(filedes[0], F_SETFL, fcntl(filedes[0], F_GETFL) | O_NONBLOCK); + return ret; +} + +/** + * @brief forkfd returns a file descriptor representing a child process + * @return a file descriptor, or -1 in case of failure + * + * forkfd() creates a file descriptor that can be used to be notified of when a + * child process exits. This file descriptor can be monitored using select(2), + * poll(2) or similar mechanisms. + * + * The @a flags parameter can contain the following values ORed to change the + * behaviour of forkfd(): + * + * @li @c FFD_NONBLOCK Set the O_NONBLOCK file status flag on the new open file + * descriptor. Using this flag saves extra calls to fnctl(2) to achieve the same + * result. + * + * @li @c FFD_CLOEXEC Set the close-on-exec (FD_CLOEXEC) flag on the new file + * descriptor. You probably want to set this flag, since forkfd() does not work + * if the original parent process dies. + * + * The file descriptor returned by forkfd() supports the following operations: + * + * @li read(2) When the child process exits, then the buffer supplied to + * read(2) is used to return information about the status of the child in the + * form of one @c siginfo_t structure. The buffer must be at least + * sizeof(siginfo_t) bytes. The return value of read(2) is the total number of + * bytes read. + * + * @li poll(2), select(2) (and similar) The file descriptor is readable (the + * select(2) readfds argument; the poll(2) POLLIN flag) if the child has exited + * or signalled via SIGCHLD. + * + * @li close(2) When the file descriptor is no longer required it should be closed. + */ +int forkfd(int flags, pid_t *ppid) +{ + Header *header; + ProcessInfo *info; + pid_t pid; + int fd = -1; + int death_pipe[2]; + int sync_pipe[2]; + int ret; +#ifdef __linux__ + int efd; +#endif + + (void) pthread_once(&forkfd_initialization, forkfd_initialize); + + info = allocateInfo(&header); + if (info == NULL) { + errno = ENOMEM; + return -1; + } + + /* create the pipes before we fork */ + if (create_pipe(death_pipe, flags) == -1) + goto err_free; /* failed to create the pipes, pass errno */ + +#ifdef HAVE_EVENTFD + /* try using an eventfd, which consumes less resources */ + efd = eventfd(0, EFD_CLOEXEC); + if (efd == -1) +#endif + { + /* try a pipe */ + if (create_pipe(sync_pipe, FFD_CLOEXEC) == -1) { + /* failed both at eventfd and pipe; fail and pass errno */ + goto err_close; + } + } + + /* now fork */ + pid = fork(); + if (pid == -1) + goto err_close2; /* failed to fork, pass errno */ + if (ppid) + *ppid = pid; + + /* + * We need to store the child's PID in the info structure, so + * the SIGCHLD handler knows that this child is present and it + * knows the writing end of the pipe to pass information on. + * However, the child process could exit before we stored the + * information (or the handler could run for other children exiting). + * We prevent that from happening by blocking the child process in + * a read(2) until we're finished storing the information. + */ + if (pid == 0) { + /* this is the child process */ + /* first, wait for the all clear */ +#ifdef HAVE_EVENTFD + if (efd != -1) { + eventfd_t val64; + EINTR_LOOP(ret, eventfd_read(efd, &val64)); + EINTR_LOOP(ret, close(efd)); + } else +#endif + { + char c; + EINTR_LOOP(ret, close(sync_pipe[1])); + EINTR_LOOP(ret, read(sync_pipe[0], &c, sizeof c)); + EINTR_LOOP(ret, close(sync_pipe[0])); + } + + /* now close the pipes and return to the caller */ + EINTR_LOOP(ret, close(death_pipe[0])); + EINTR_LOOP(ret, close(death_pipe[1])); + fd = FFD_CHILD_PROCESS; + } else { + /* parent process */ + info->deathPipe = death_pipe[1]; + fd = death_pipe[0]; + ffd_atomic_store(&info->pid, pid, FFD_ATOMIC_RELEASE); + + /* release the child */ +#ifdef HAVE_EVENTFD + if (efd != -1) { + eventfd_t val64 = 42; + EINTR_LOOP(ret, eventfd_write(efd, val64)); + EINTR_LOOP(ret, close(efd)); + } else +#endif + { + /* + * Usually, closing would be enough to make read(2) return and the child process + * continue. We need to write here: another thread could be calling forkfd at the + * same time, which means auxpipe[1] might be open in another child process. + */ + EINTR_LOOP(ret, close(sync_pipe[0])); + EINTR_LOOP(ret, write(sync_pipe[1], "", 1)); + EINTR_LOOP(ret, close(sync_pipe[1])); + } + } + + return fd; + +err_close2: +#ifdef HAVE_EVENTFD + if (efd != -1) { + EINTR_LOOP(ret, close(efd)); + } else +#endif + { + EINTR_LOOP(ret, close(sync_pipe[0])); + EINTR_LOOP(ret, close(sync_pipe[1])); + } +err_close: + EINTR_LOOP(ret, close(death_pipe[0])); + EINTR_LOOP(ret, close(death_pipe[1])); +err_free: + /* free the info pointer */ + freeInfo(header, info); + return -1; +} diff --git a/src/3rdparty/forkfd/forkfd.h b/src/3rdparty/forkfd/forkfd.h new file mode 100644 index 0000000000..01b8882623 --- /dev/null +++ b/src/3rdparty/forkfd/forkfd.h @@ -0,0 +1,58 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Intel Corporation +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor +** the names of its contributors may be used to endorse or promote +** products derived from this software without specific prior written +** permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef FORKFD_H +#define FORKFD_H + +#include <fcntl.h> + +#ifdef __cplusplus +extern "C" { +#endif + +#define FFD_CLOEXEC 1 +#define FFD_NONBLOCK 2 + +#define FFD_CHILD_PROCESS (-2) + +int forkfd(int flags, pid_t *ppid); + +#ifdef __cplusplus +} +#endif + +#endif // FORKFD_H diff --git a/src/3rdparty/forkfd/forkfd_gcc.h b/src/3rdparty/forkfd/forkfd_gcc.h new file mode 100644 index 0000000000..e5cbbe60e0 --- /dev/null +++ b/src/3rdparty/forkfd/forkfd_gcc.h @@ -0,0 +1,76 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Intel Corporation +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor +** the names of its contributors may be used to endorse or promote +** products derived from this software without specific prior written +** permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef FFD_ATOMIC_GCC_H +#define FFD_ATOMIC_GCC_H + +/* atomics */ +/* we'll use the GCC 4.7 atomic builtins + * See http://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html#_005f_005fatomic-Builtins + * Or in texinfo: C Extensions > __atomic Builtins + */ +typedef int ffd_atomic_int; +#define ffd_atomic_pointer(type) type* + +#define FFD_ATOMIC_INIT(val) (val) + +#define FFD_ATOMIC_RELAXED __ATOMIC_RELAXED +#define FFD_ATOMIC_ACQUIRE __ATOMIC_ACQUIRE +#define FFD_ATOMIC_RELEASE __ATOMIC_RELEASE +// acq_rel & cst not necessary + +#if !defined(__GNUC__) || \ + ((__GNUC__ - 0) * 100 + (__GNUC_MINOR__ - 0)) < 407 || \ + (defined(__INTEL_COMPILER) && __INTEL_COMPILER-0 < 1310) || \ + (defined(__clang__) && ((__clang_major__-0) * 100 + (__clang_minor-0)) < 303) +#define ffd_atomic_load_n(ptr,order) *(ptr) +#define ffd_atomic_store_n(ptr,val,order) (*(ptr) = (val), (void)0) +#define ffd_atomic_exchange_n(ptr,val,order) __sync_lock_test_and_set(ptr, val) +#define ffd_atomic_compare_exchange_n(ptr,expected,desired,weak,order1,order2) \ + __sync_bool_compare_and_swap(ptr, *(expected), desired) ? 1 : \ + (*(expected) = *(ptr), 0) +#define ffd_atomic_add_fetch(ptr,val,order) __sync_add_and_fetch(ptr, val) +#else +#define ffd_atomic_load(ptr,order) __atomic_load_n(ptr, order) +#define ffd_atomic_store(ptr,val,order) __atomic_store_n(ptr, val, order) +#define ffd_atomic_exchange(ptr,val,order) __atomic_exchange_n(ptr, val, order) +#define ffd_atomic_compare_exchange(ptr,expected,desired,order1,order2) \ + __atomic_compare_exchange_n(ptr, expected, desired, 1, order1, order2) +#define ffd_atomic_add_fetch(ptr,val,order) __atomic_add_fetch(ptr, val, order) +#endif + +#endif diff --git a/src/3rdparty/iaccessible2/generated/amd64/Accessible2.h b/src/3rdparty/iaccessible2/generated/amd64/Accessible2.h deleted file mode 100644 index 3973db319e..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/Accessible2.h +++ /dev/null @@ -1,585 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:56 2012 - */ -/* Compiler settings for Accessible2.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the <rpcndr.h> version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of <rpcndr.h> -#endif // __RPCNDR_H_VERSION__ - -#ifndef COM_NO_WINDOWS_H -#include "windows.h" -#include "ole2.h" -#endif /*COM_NO_WINDOWS_H*/ - -#ifndef __Accessible2_h__ -#define __Accessible2_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -#ifndef __IAccessible2_FWD_DEFINED__ -#define __IAccessible2_FWD_DEFINED__ -typedef interface IAccessible2 IAccessible2; -#endif /* __IAccessible2_FWD_DEFINED__ */ - - -/* header files for imported files */ -#include "objidl.h" -#include "oaidl.h" -#include "oleacc.h" -#include "AccessibleRelation.h" -#include "AccessibleStates.h" -#include "IA2CommonTypes.h" - -#ifdef __cplusplus -extern "C"{ -#endif - - -/* interface __MIDL_itf_Accessible2_0000_0000 */ -/* [local] */ - -typedef struct IA2Locale - { - BSTR language; - BSTR country; - BSTR variant; - } IA2Locale; - - - -extern RPC_IF_HANDLE __MIDL_itf_Accessible2_0000_0000_v0_0_c_ifspec; -extern RPC_IF_HANDLE __MIDL_itf_Accessible2_0000_0000_v0_0_s_ifspec; - -#ifndef __IAccessible2_INTERFACE_DEFINED__ -#define __IAccessible2_INTERFACE_DEFINED__ - -/* interface IAccessible2 */ -/* [uuid][object] */ - - -EXTERN_C const IID IID_IAccessible2; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("E89F726E-C4F4-4c19-BB19-B647D7FA8478") - IAccessible2 : public IAccessible - { - public: - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nRelations( - /* [retval][out] */ long *nRelations) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_relation( - /* [in] */ long relationIndex, - /* [retval][out] */ IAccessibleRelation **relation) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_relations( - /* [in] */ long maxRelations, - /* [length_is][size_is][out] */ IAccessibleRelation **relations, - /* [retval][out] */ long *nRelations) = 0; - - virtual HRESULT STDMETHODCALLTYPE role( - /* [retval][out] */ long *role) = 0; - - virtual HRESULT STDMETHODCALLTYPE scrollTo( - /* [in] */ enum IA2ScrollType scrollType) = 0; - - virtual HRESULT STDMETHODCALLTYPE scrollToPoint( - /* [in] */ enum IA2CoordinateType coordinateType, - /* [in] */ long x, - /* [in] */ long y) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_groupPosition( - /* [out] */ long *groupLevel, - /* [out] */ long *similarItemsInGroup, - /* [retval][out] */ long *positionInGroup) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_states( - /* [retval][out] */ AccessibleStates *states) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extendedRole( - /* [retval][out] */ BSTR *extendedRole) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_localizedExtendedRole( - /* [retval][out] */ BSTR *localizedExtendedRole) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nExtendedStates( - /* [retval][out] */ long *nExtendedStates) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extendedStates( - /* [in] */ long maxExtendedStates, - /* [length_is][length_is][size_is][size_is][out] */ BSTR **extendedStates, - /* [retval][out] */ long *nExtendedStates) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_localizedExtendedStates( - /* [in] */ long maxLocalizedExtendedStates, - /* [length_is][length_is][size_is][size_is][out] */ BSTR **localizedExtendedStates, - /* [retval][out] */ long *nLocalizedExtendedStates) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_uniqueID( - /* [retval][out] */ long *uniqueID) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_windowHandle( - /* [retval][out] */ HWND *windowHandle) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_indexInParent( - /* [retval][out] */ long *indexInParent) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_locale( - /* [retval][out] */ IA2Locale *locale) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_attributes( - /* [retval][out] */ BSTR *attributes) = 0; - - }; - -#else /* C style interface */ - - typedef struct IAccessible2Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IAccessible2 * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IAccessible2 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IAccessible2 * This); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( - IAccessible2 * This, - /* [out] */ UINT *pctinfo); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( - IAccessible2 * This, - /* [in] */ UINT iTInfo, - /* [in] */ LCID lcid, - /* [out] */ ITypeInfo **ppTInfo); - - HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( - IAccessible2 * This, - /* [in] */ REFIID riid, - /* [size_is][in] */ LPOLESTR *rgszNames, - /* [range][in] */ UINT cNames, - /* [in] */ LCID lcid, - /* [size_is][out] */ DISPID *rgDispId); - - /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( - IAccessible2 * This, - /* [in] */ DISPID dispIdMember, - /* [in] */ REFIID riid, - /* [in] */ LCID lcid, - /* [in] */ WORD wFlags, - /* [out][in] */ DISPPARAMS *pDispParams, - /* [out] */ VARIANT *pVarResult, - /* [out] */ EXCEPINFO *pExcepInfo, - /* [out] */ UINT *puArgErr); - - /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accParent )( - IAccessible2 * This, - /* [retval][out] */ IDispatch **ppdispParent); - - /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accChildCount )( - IAccessible2 * This, - /* [retval][out] */ long *pcountChildren); - - /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accChild )( - IAccessible2 * This, - /* [in] */ VARIANT varChild, - /* [retval][out] */ IDispatch **ppdispChild); - - /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accName )( - IAccessible2 * This, - /* [optional][in] */ VARIANT varChild, - /* [retval][out] */ BSTR *pszName); - - /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accValue )( - IAccessible2 * This, - /* [optional][in] */ VARIANT varChild, - /* [retval][out] */ BSTR *pszValue); - - /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accDescription )( - IAccessible2 * This, - /* [optional][in] */ VARIANT varChild, - /* [retval][out] */ BSTR *pszDescription); - - /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accRole )( - IAccessible2 * This, - /* [optional][in] */ VARIANT varChild, - /* [retval][out] */ VARIANT *pvarRole); - - /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accState )( - IAccessible2 * This, - /* [optional][in] */ VARIANT varChild, - /* [retval][out] */ VARIANT *pvarState); - - /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accHelp )( - IAccessible2 * This, - /* [optional][in] */ VARIANT varChild, - /* [retval][out] */ BSTR *pszHelp); - - /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accHelpTopic )( - IAccessible2 * This, - /* [out] */ BSTR *pszHelpFile, - /* [optional][in] */ VARIANT varChild, - /* [retval][out] */ long *pidTopic); - - /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accKeyboardShortcut )( - IAccessible2 * This, - /* [optional][in] */ VARIANT varChild, - /* [retval][out] */ BSTR *pszKeyboardShortcut); - - /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accFocus )( - IAccessible2 * This, - /* [retval][out] */ VARIANT *pvarChild); - - /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accSelection )( - IAccessible2 * This, - /* [retval][out] */ VARIANT *pvarChildren); - - /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accDefaultAction )( - IAccessible2 * This, - /* [optional][in] */ VARIANT varChild, - /* [retval][out] */ BSTR *pszDefaultAction); - - /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accSelect )( - IAccessible2 * This, - /* [in] */ long flagsSelect, - /* [optional][in] */ VARIANT varChild); - - /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accLocation )( - IAccessible2 * This, - /* [out] */ long *pxLeft, - /* [out] */ long *pyTop, - /* [out] */ long *pcxWidth, - /* [out] */ long *pcyHeight, - /* [optional][in] */ VARIANT varChild); - - /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accNavigate )( - IAccessible2 * This, - /* [in] */ long navDir, - /* [optional][in] */ VARIANT varStart, - /* [retval][out] */ VARIANT *pvarEndUpAt); - - /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accHitTest )( - IAccessible2 * This, - /* [in] */ long xLeft, - /* [in] */ long yTop, - /* [retval][out] */ VARIANT *pvarChild); - - /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accDoDefaultAction )( - IAccessible2 * This, - /* [optional][in] */ VARIANT varChild); - - /* [id][propput][hidden] */ HRESULT ( STDMETHODCALLTYPE *put_accName )( - IAccessible2 * This, - /* [optional][in] */ VARIANT varChild, - /* [in] */ BSTR szName); - - /* [id][propput][hidden] */ HRESULT ( STDMETHODCALLTYPE *put_accValue )( - IAccessible2 * This, - /* [optional][in] */ VARIANT varChild, - /* [in] */ BSTR szValue); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nRelations )( - IAccessible2 * This, - /* [retval][out] */ long *nRelations); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relation )( - IAccessible2 * This, - /* [in] */ long relationIndex, - /* [retval][out] */ IAccessibleRelation **relation); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relations )( - IAccessible2 * This, - /* [in] */ long maxRelations, - /* [length_is][size_is][out] */ IAccessibleRelation **relations, - /* [retval][out] */ long *nRelations); - - HRESULT ( STDMETHODCALLTYPE *role )( - IAccessible2 * This, - /* [retval][out] */ long *role); - - HRESULT ( STDMETHODCALLTYPE *scrollTo )( - IAccessible2 * This, - /* [in] */ enum IA2ScrollType scrollType); - - HRESULT ( STDMETHODCALLTYPE *scrollToPoint )( - IAccessible2 * This, - /* [in] */ enum IA2CoordinateType coordinateType, - /* [in] */ long x, - /* [in] */ long y); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_groupPosition )( - IAccessible2 * This, - /* [out] */ long *groupLevel, - /* [out] */ long *similarItemsInGroup, - /* [retval][out] */ long *positionInGroup); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_states )( - IAccessible2 * This, - /* [retval][out] */ AccessibleStates *states); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extendedRole )( - IAccessible2 * This, - /* [retval][out] */ BSTR *extendedRole); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedExtendedRole )( - IAccessible2 * This, - /* [retval][out] */ BSTR *localizedExtendedRole); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nExtendedStates )( - IAccessible2 * This, - /* [retval][out] */ long *nExtendedStates); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extendedStates )( - IAccessible2 * This, - /* [in] */ long maxExtendedStates, - /* [length_is][length_is][size_is][size_is][out] */ BSTR **extendedStates, - /* [retval][out] */ long *nExtendedStates); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedExtendedStates )( - IAccessible2 * This, - /* [in] */ long maxLocalizedExtendedStates, - /* [length_is][length_is][size_is][size_is][out] */ BSTR **localizedExtendedStates, - /* [retval][out] */ long *nLocalizedExtendedStates); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_uniqueID )( - IAccessible2 * This, - /* [retval][out] */ long *uniqueID); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_windowHandle )( - IAccessible2 * This, - /* [retval][out] */ HWND *windowHandle); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_indexInParent )( - IAccessible2 * This, - /* [retval][out] */ long *indexInParent); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_locale )( - IAccessible2 * This, - /* [retval][out] */ IA2Locale *locale); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )( - IAccessible2 * This, - /* [retval][out] */ BSTR *attributes); - - END_INTERFACE - } IAccessible2Vtbl; - - interface IAccessible2 - { - CONST_VTBL struct IAccessible2Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IAccessible2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IAccessible2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IAccessible2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IAccessible2_GetTypeInfoCount(This,pctinfo) \ - ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) - -#define IAccessible2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ - ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) - -#define IAccessible2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ - ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) - -#define IAccessible2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ - ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) - - -#define IAccessible2_get_accParent(This,ppdispParent) \ - ( (This)->lpVtbl -> get_accParent(This,ppdispParent) ) - -#define IAccessible2_get_accChildCount(This,pcountChildren) \ - ( (This)->lpVtbl -> get_accChildCount(This,pcountChildren) ) - -#define IAccessible2_get_accChild(This,varChild,ppdispChild) \ - ( (This)->lpVtbl -> get_accChild(This,varChild,ppdispChild) ) - -#define IAccessible2_get_accName(This,varChild,pszName) \ - ( (This)->lpVtbl -> get_accName(This,varChild,pszName) ) - -#define IAccessible2_get_accValue(This,varChild,pszValue) \ - ( (This)->lpVtbl -> get_accValue(This,varChild,pszValue) ) - -#define IAccessible2_get_accDescription(This,varChild,pszDescription) \ - ( (This)->lpVtbl -> get_accDescription(This,varChild,pszDescription) ) - -#define IAccessible2_get_accRole(This,varChild,pvarRole) \ - ( (This)->lpVtbl -> get_accRole(This,varChild,pvarRole) ) - -#define IAccessible2_get_accState(This,varChild,pvarState) \ - ( (This)->lpVtbl -> get_accState(This,varChild,pvarState) ) - -#define IAccessible2_get_accHelp(This,varChild,pszHelp) \ - ( (This)->lpVtbl -> get_accHelp(This,varChild,pszHelp) ) - -#define IAccessible2_get_accHelpTopic(This,pszHelpFile,varChild,pidTopic) \ - ( (This)->lpVtbl -> get_accHelpTopic(This,pszHelpFile,varChild,pidTopic) ) - -#define IAccessible2_get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut) \ - ( (This)->lpVtbl -> get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut) ) - -#define IAccessible2_get_accFocus(This,pvarChild) \ - ( (This)->lpVtbl -> get_accFocus(This,pvarChild) ) - -#define IAccessible2_get_accSelection(This,pvarChildren) \ - ( (This)->lpVtbl -> get_accSelection(This,pvarChildren) ) - -#define IAccessible2_get_accDefaultAction(This,varChild,pszDefaultAction) \ - ( (This)->lpVtbl -> get_accDefaultAction(This,varChild,pszDefaultAction) ) - -#define IAccessible2_accSelect(This,flagsSelect,varChild) \ - ( (This)->lpVtbl -> accSelect(This,flagsSelect,varChild) ) - -#define IAccessible2_accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild) \ - ( (This)->lpVtbl -> accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild) ) - -#define IAccessible2_accNavigate(This,navDir,varStart,pvarEndUpAt) \ - ( (This)->lpVtbl -> accNavigate(This,navDir,varStart,pvarEndUpAt) ) - -#define IAccessible2_accHitTest(This,xLeft,yTop,pvarChild) \ - ( (This)->lpVtbl -> accHitTest(This,xLeft,yTop,pvarChild) ) - -#define IAccessible2_accDoDefaultAction(This,varChild) \ - ( (This)->lpVtbl -> accDoDefaultAction(This,varChild) ) - -#define IAccessible2_put_accName(This,varChild,szName) \ - ( (This)->lpVtbl -> put_accName(This,varChild,szName) ) - -#define IAccessible2_put_accValue(This,varChild,szValue) \ - ( (This)->lpVtbl -> put_accValue(This,varChild,szValue) ) - - -#define IAccessible2_get_nRelations(This,nRelations) \ - ( (This)->lpVtbl -> get_nRelations(This,nRelations) ) - -#define IAccessible2_get_relation(This,relationIndex,relation) \ - ( (This)->lpVtbl -> get_relation(This,relationIndex,relation) ) - -#define IAccessible2_get_relations(This,maxRelations,relations,nRelations) \ - ( (This)->lpVtbl -> get_relations(This,maxRelations,relations,nRelations) ) - -#define IAccessible2_role(This,role) \ - ( (This)->lpVtbl -> role(This,role) ) - -#define IAccessible2_scrollTo(This,scrollType) \ - ( (This)->lpVtbl -> scrollTo(This,scrollType) ) - -#define IAccessible2_scrollToPoint(This,coordinateType,x,y) \ - ( (This)->lpVtbl -> scrollToPoint(This,coordinateType,x,y) ) - -#define IAccessible2_get_groupPosition(This,groupLevel,similarItemsInGroup,positionInGroup) \ - ( (This)->lpVtbl -> get_groupPosition(This,groupLevel,similarItemsInGroup,positionInGroup) ) - -#define IAccessible2_get_states(This,states) \ - ( (This)->lpVtbl -> get_states(This,states) ) - -#define IAccessible2_get_extendedRole(This,extendedRole) \ - ( (This)->lpVtbl -> get_extendedRole(This,extendedRole) ) - -#define IAccessible2_get_localizedExtendedRole(This,localizedExtendedRole) \ - ( (This)->lpVtbl -> get_localizedExtendedRole(This,localizedExtendedRole) ) - -#define IAccessible2_get_nExtendedStates(This,nExtendedStates) \ - ( (This)->lpVtbl -> get_nExtendedStates(This,nExtendedStates) ) - -#define IAccessible2_get_extendedStates(This,maxExtendedStates,extendedStates,nExtendedStates) \ - ( (This)->lpVtbl -> get_extendedStates(This,maxExtendedStates,extendedStates,nExtendedStates) ) - -#define IAccessible2_get_localizedExtendedStates(This,maxLocalizedExtendedStates,localizedExtendedStates,nLocalizedExtendedStates) \ - ( (This)->lpVtbl -> get_localizedExtendedStates(This,maxLocalizedExtendedStates,localizedExtendedStates,nLocalizedExtendedStates) ) - -#define IAccessible2_get_uniqueID(This,uniqueID) \ - ( (This)->lpVtbl -> get_uniqueID(This,uniqueID) ) - -#define IAccessible2_get_windowHandle(This,windowHandle) \ - ( (This)->lpVtbl -> get_windowHandle(This,windowHandle) ) - -#define IAccessible2_get_indexInParent(This,indexInParent) \ - ( (This)->lpVtbl -> get_indexInParent(This,indexInParent) ) - -#define IAccessible2_get_locale(This,locale) \ - ( (This)->lpVtbl -> get_locale(This,locale) ) - -#define IAccessible2_get_attributes(This,attributes) \ - ( (This)->lpVtbl -> get_attributes(This,attributes) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IAccessible2_INTERFACE_DEFINED__ */ - - -/* Additional Prototypes for ALL interfaces */ - -unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * ); -unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * ); -unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); -void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * ); - -unsigned long __RPC_USER HWND_UserSize( unsigned long *, unsigned long , HWND * ); -unsigned char * __RPC_USER HWND_UserMarshal( unsigned long *, unsigned char *, HWND * ); -unsigned char * __RPC_USER HWND_UserUnmarshal(unsigned long *, unsigned char *, HWND * ); -void __RPC_USER HWND_UserFree( unsigned long *, HWND * ); - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/src/3rdparty/iaccessible2/generated/amd64/Accessible2_i.c b/src/3rdparty/iaccessible2/generated/amd64/Accessible2_i.c deleted file mode 100644 index 480a2a7537..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/Accessible2_i.c +++ /dev/null @@ -1,79 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */ - -/* link this file in with the server and any clients */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:56 2012 - */ -/* Compiler settings for Accessible2.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -#ifdef __cplusplus -extern "C"{ -#endif - - -#include <rpc.h> -#include <rpcndr.h> - -#ifdef _MIDL_USE_GUIDDEF_ - -#ifndef INITGUID -#define INITGUID -#include <guiddef.h> -#undef INITGUID -#else -#include <guiddef.h> -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) - -#else // !_MIDL_USE_GUIDDEF_ - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - -typedef struct _IID -{ - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; -} IID; - -#endif // __IID_DEFINED__ - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED -typedef IID CLSID; -#endif // CLSID_DEFINED - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} - -#endif !_MIDL_USE_GUIDDEF_ - -MIDL_DEFINE_GUID(IID, IID_IAccessible2,0xE89F726E,0xC4F4,0x4c19,0xBB,0x19,0xB6,0x47,0xD7,0xFA,0x84,0x78); - -#undef MIDL_DEFINE_GUID - -#ifdef __cplusplus -} -#endif - - - diff --git a/src/3rdparty/iaccessible2/generated/amd64/Accessible2_p.c b/src/3rdparty/iaccessible2/generated/amd64/Accessible2_p.c deleted file mode 100644 index 281718a7e5..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/Accessible2_p.c +++ /dev/null @@ -1,1196 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the proxy stub code */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:56 2012 - */ -/* Compiler settings for Accessible2.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#if defined(_M_AMD64) - - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ -#if _MSC_VER >= 1200 -#pragma warning(push) -#endif - -#pragma warning( disable: 4211 ) /* redefine extern to static */ -#pragma warning( disable: 4232 ) /* dllimport identity*/ -#pragma warning( disable: 4024 ) /* array to pointer mapping*/ -#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */ - -#define USE_STUBLESS_PROXY - - -/* verify that the <rpcproxy.h> version is high enough to compile this file*/ -#ifndef __REDQ_RPCPROXY_H_VERSION__ -#define __REQUIRED_RPCPROXY_H_VERSION__ 475 -#endif - - -#include "rpcproxy.h" -#ifndef __RPCPROXY_H_VERSION__ -#error this stub requires an updated version of <rpcproxy.h> -#endif /* __RPCPROXY_H_VERSION__ */ - - -#include "Accessible2.h" - -#define TYPE_FORMAT_STRING_SIZE 189 -#define PROC_FORMAT_STRING_SIZE 751 -#define EXPR_FORMAT_STRING_SIZE 1 -#define TRANSMIT_AS_TABLE_SIZE 0 -#define WIRE_MARSHAL_TABLE_SIZE 2 - -typedef struct _Accessible2_MIDL_TYPE_FORMAT_STRING - { - short Pad; - unsigned char Format[ TYPE_FORMAT_STRING_SIZE ]; - } Accessible2_MIDL_TYPE_FORMAT_STRING; - -typedef struct _Accessible2_MIDL_PROC_FORMAT_STRING - { - short Pad; - unsigned char Format[ PROC_FORMAT_STRING_SIZE ]; - } Accessible2_MIDL_PROC_FORMAT_STRING; - -typedef struct _Accessible2_MIDL_EXPR_FORMAT_STRING - { - long Pad; - unsigned char Format[ EXPR_FORMAT_STRING_SIZE ]; - } Accessible2_MIDL_EXPR_FORMAT_STRING; - - -static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax = -{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}}; - - -extern const Accessible2_MIDL_TYPE_FORMAT_STRING Accessible2__MIDL_TypeFormatString; -extern const Accessible2_MIDL_PROC_FORMAT_STRING Accessible2__MIDL_ProcFormatString; -extern const Accessible2_MIDL_EXPR_FORMAT_STRING Accessible2__MIDL_ExprFormatString; - - -extern const MIDL_STUB_DESC Object_StubDesc; - - -extern const MIDL_SERVER_INFO IAccessible2_ServerInfo; -extern const MIDL_STUBLESS_PROXY_INFO IAccessible2_ProxyInfo; - - -extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ]; - -#if !defined(__RPC_WIN64__) -#error Invalid build platform for this stub. -#endif - -static const Accessible2_MIDL_PROC_FORMAT_STRING Accessible2__MIDL_ProcFormatString = - { - 0, - { - - /* Procedure get_nRelations */ - - 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 2 */ NdrFcLong( 0x0 ), /* 0 */ -/* 6 */ NdrFcShort( 0x1c ), /* 28 */ -/* 8 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 10 */ NdrFcShort( 0x0 ), /* 0 */ -/* 12 */ NdrFcShort( 0x24 ), /* 36 */ -/* 14 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 16 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 18 */ NdrFcShort( 0x0 ), /* 0 */ -/* 20 */ NdrFcShort( 0x0 ), /* 0 */ -/* 22 */ NdrFcShort( 0x0 ), /* 0 */ -/* 24 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter nRelations */ - -/* 26 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 28 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 30 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 32 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 34 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 36 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_relation */ - -/* 38 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 40 */ NdrFcLong( 0x0 ), /* 0 */ -/* 44 */ NdrFcShort( 0x1d ), /* 29 */ -/* 46 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 48 */ NdrFcShort( 0x8 ), /* 8 */ -/* 50 */ NdrFcShort( 0x8 ), /* 8 */ -/* 52 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x3, /* 3 */ -/* 54 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 56 */ NdrFcShort( 0x0 ), /* 0 */ -/* 58 */ NdrFcShort( 0x0 ), /* 0 */ -/* 60 */ NdrFcShort( 0x0 ), /* 0 */ -/* 62 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter relationIndex */ - -/* 64 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 66 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 68 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter relation */ - -/* 70 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ -/* 72 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 74 */ NdrFcShort( 0x6 ), /* Type Offset=6 */ - - /* Return value */ - -/* 76 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 78 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 80 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_relations */ - -/* 82 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 84 */ NdrFcLong( 0x0 ), /* 0 */ -/* 88 */ NdrFcShort( 0x1e ), /* 30 */ -/* 90 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ -/* 92 */ NdrFcShort( 0x8 ), /* 8 */ -/* 94 */ NdrFcShort( 0x24 ), /* 36 */ -/* 96 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x4, /* 4 */ -/* 98 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 100 */ NdrFcShort( 0x1 ), /* 1 */ -/* 102 */ NdrFcShort( 0x0 ), /* 0 */ -/* 104 */ NdrFcShort( 0x0 ), /* 0 */ -/* 106 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter maxRelations */ - -/* 108 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 110 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 112 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter relations */ - -/* 114 */ NdrFcShort( 0x113 ), /* Flags: must size, must free, out, simple ref, */ -/* 116 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 118 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ - - /* Parameter nRelations */ - -/* 120 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 122 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 124 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 126 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 128 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 130 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure role */ - -/* 132 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 134 */ NdrFcLong( 0x0 ), /* 0 */ -/* 138 */ NdrFcShort( 0x1f ), /* 31 */ -/* 140 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 142 */ NdrFcShort( 0x0 ), /* 0 */ -/* 144 */ NdrFcShort( 0x24 ), /* 36 */ -/* 146 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 148 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 150 */ NdrFcShort( 0x0 ), /* 0 */ -/* 152 */ NdrFcShort( 0x0 ), /* 0 */ -/* 154 */ NdrFcShort( 0x0 ), /* 0 */ -/* 156 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter role */ - -/* 158 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 160 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 162 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 164 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 166 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 168 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure scrollTo */ - -/* 170 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 172 */ NdrFcLong( 0x0 ), /* 0 */ -/* 176 */ NdrFcShort( 0x20 ), /* 32 */ -/* 178 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 180 */ NdrFcShort( 0x6 ), /* 6 */ -/* 182 */ NdrFcShort( 0x8 ), /* 8 */ -/* 184 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 186 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 188 */ NdrFcShort( 0x0 ), /* 0 */ -/* 190 */ NdrFcShort( 0x0 ), /* 0 */ -/* 192 */ NdrFcShort( 0x0 ), /* 0 */ -/* 194 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter scrollType */ - -/* 196 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 198 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 200 */ 0xd, /* FC_ENUM16 */ - 0x0, /* 0 */ - - /* Return value */ - -/* 202 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 204 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 206 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure scrollToPoint */ - -/* 208 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 210 */ NdrFcLong( 0x0 ), /* 0 */ -/* 214 */ NdrFcShort( 0x21 ), /* 33 */ -/* 216 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ -/* 218 */ NdrFcShort( 0x16 ), /* 22 */ -/* 220 */ NdrFcShort( 0x8 ), /* 8 */ -/* 222 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x4, /* 4 */ -/* 224 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 226 */ NdrFcShort( 0x0 ), /* 0 */ -/* 228 */ NdrFcShort( 0x0 ), /* 0 */ -/* 230 */ NdrFcShort( 0x0 ), /* 0 */ -/* 232 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter coordinateType */ - -/* 234 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 236 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 238 */ 0xd, /* FC_ENUM16 */ - 0x0, /* 0 */ - - /* Parameter x */ - -/* 240 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 242 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 244 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter y */ - -/* 246 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 248 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 250 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 252 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 254 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 256 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_groupPosition */ - -/* 258 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 260 */ NdrFcLong( 0x0 ), /* 0 */ -/* 264 */ NdrFcShort( 0x22 ), /* 34 */ -/* 266 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ -/* 268 */ NdrFcShort( 0x0 ), /* 0 */ -/* 270 */ NdrFcShort( 0x5c ), /* 92 */ -/* 272 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x4, /* 4 */ -/* 274 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 276 */ NdrFcShort( 0x0 ), /* 0 */ -/* 278 */ NdrFcShort( 0x0 ), /* 0 */ -/* 280 */ NdrFcShort( 0x0 ), /* 0 */ -/* 282 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter groupLevel */ - -/* 284 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 286 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 288 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter similarItemsInGroup */ - -/* 290 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 292 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 294 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter positionInGroup */ - -/* 296 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 298 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 300 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 302 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 304 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 306 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_states */ - -/* 308 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 310 */ NdrFcLong( 0x0 ), /* 0 */ -/* 314 */ NdrFcShort( 0x23 ), /* 35 */ -/* 316 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 318 */ NdrFcShort( 0x0 ), /* 0 */ -/* 320 */ NdrFcShort( 0x24 ), /* 36 */ -/* 322 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 324 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 326 */ NdrFcShort( 0x0 ), /* 0 */ -/* 328 */ NdrFcShort( 0x0 ), /* 0 */ -/* 330 */ NdrFcShort( 0x0 ), /* 0 */ -/* 332 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter states */ - -/* 334 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 336 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 338 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 340 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 342 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 344 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_extendedRole */ - -/* 346 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 348 */ NdrFcLong( 0x0 ), /* 0 */ -/* 352 */ NdrFcShort( 0x24 ), /* 36 */ -/* 354 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 356 */ NdrFcShort( 0x0 ), /* 0 */ -/* 358 */ NdrFcShort( 0x8 ), /* 8 */ -/* 360 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 362 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 364 */ NdrFcShort( 0x1 ), /* 1 */ -/* 366 */ NdrFcShort( 0x0 ), /* 0 */ -/* 368 */ NdrFcShort( 0x0 ), /* 0 */ -/* 370 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter extendedRole */ - -/* 372 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 374 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 376 */ NdrFcShort( 0x54 ), /* Type Offset=84 */ - - /* Return value */ - -/* 378 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 380 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 382 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_localizedExtendedRole */ - -/* 384 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 386 */ NdrFcLong( 0x0 ), /* 0 */ -/* 390 */ NdrFcShort( 0x25 ), /* 37 */ -/* 392 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 394 */ NdrFcShort( 0x0 ), /* 0 */ -/* 396 */ NdrFcShort( 0x8 ), /* 8 */ -/* 398 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 400 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 402 */ NdrFcShort( 0x1 ), /* 1 */ -/* 404 */ NdrFcShort( 0x0 ), /* 0 */ -/* 406 */ NdrFcShort( 0x0 ), /* 0 */ -/* 408 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter localizedExtendedRole */ - -/* 410 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 412 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 414 */ NdrFcShort( 0x54 ), /* Type Offset=84 */ - - /* Return value */ - -/* 416 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 418 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 420 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_nExtendedStates */ - -/* 422 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 424 */ NdrFcLong( 0x0 ), /* 0 */ -/* 428 */ NdrFcShort( 0x26 ), /* 38 */ -/* 430 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 432 */ NdrFcShort( 0x0 ), /* 0 */ -/* 434 */ NdrFcShort( 0x24 ), /* 36 */ -/* 436 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 438 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 440 */ NdrFcShort( 0x0 ), /* 0 */ -/* 442 */ NdrFcShort( 0x0 ), /* 0 */ -/* 444 */ NdrFcShort( 0x0 ), /* 0 */ -/* 446 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter nExtendedStates */ - -/* 448 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 450 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 452 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 454 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 456 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 458 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_extendedStates */ - -/* 460 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 462 */ NdrFcLong( 0x0 ), /* 0 */ -/* 466 */ NdrFcShort( 0x27 ), /* 39 */ -/* 468 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ -/* 470 */ NdrFcShort( 0x8 ), /* 8 */ -/* 472 */ NdrFcShort( 0x24 ), /* 36 */ -/* 474 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x4, /* 4 */ -/* 476 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 478 */ NdrFcShort( 0x1 ), /* 1 */ -/* 480 */ NdrFcShort( 0x0 ), /* 0 */ -/* 482 */ NdrFcShort( 0x0 ), /* 0 */ -/* 484 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter maxExtendedStates */ - -/* 486 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 488 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 490 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter extendedStates */ - -/* 492 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ -/* 494 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 496 */ NdrFcShort( 0x5e ), /* Type Offset=94 */ - - /* Parameter nExtendedStates */ - -/* 498 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 500 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 502 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 504 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 506 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 508 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_localizedExtendedStates */ - -/* 510 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 512 */ NdrFcLong( 0x0 ), /* 0 */ -/* 516 */ NdrFcShort( 0x28 ), /* 40 */ -/* 518 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ -/* 520 */ NdrFcShort( 0x8 ), /* 8 */ -/* 522 */ NdrFcShort( 0x24 ), /* 36 */ -/* 524 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x4, /* 4 */ -/* 526 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 528 */ NdrFcShort( 0x1 ), /* 1 */ -/* 530 */ NdrFcShort( 0x0 ), /* 0 */ -/* 532 */ NdrFcShort( 0x0 ), /* 0 */ -/* 534 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter maxLocalizedExtendedStates */ - -/* 536 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 538 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 540 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter localizedExtendedStates */ - -/* 542 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ -/* 544 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 546 */ NdrFcShort( 0x5e ), /* Type Offset=94 */ - - /* Parameter nLocalizedExtendedStates */ - -/* 548 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 550 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 552 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 554 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 556 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 558 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_uniqueID */ - -/* 560 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 562 */ NdrFcLong( 0x0 ), /* 0 */ -/* 566 */ NdrFcShort( 0x29 ), /* 41 */ -/* 568 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 570 */ NdrFcShort( 0x0 ), /* 0 */ -/* 572 */ NdrFcShort( 0x24 ), /* 36 */ -/* 574 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 576 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 578 */ NdrFcShort( 0x0 ), /* 0 */ -/* 580 */ NdrFcShort( 0x0 ), /* 0 */ -/* 582 */ NdrFcShort( 0x0 ), /* 0 */ -/* 584 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter uniqueID */ - -/* 586 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 588 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 590 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 592 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 594 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 596 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_windowHandle */ - -/* 598 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 600 */ NdrFcLong( 0x0 ), /* 0 */ -/* 604 */ NdrFcShort( 0x2a ), /* 42 */ -/* 606 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 608 */ NdrFcShort( 0x0 ), /* 0 */ -/* 610 */ NdrFcShort( 0x8 ), /* 8 */ -/* 612 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 614 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 616 */ NdrFcShort( 0x1 ), /* 1 */ -/* 618 */ NdrFcShort( 0x0 ), /* 0 */ -/* 620 */ NdrFcShort( 0x0 ), /* 0 */ -/* 622 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter windowHandle */ - -/* 624 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 626 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 628 */ NdrFcShort( 0x98 ), /* Type Offset=152 */ - - /* Return value */ - -/* 630 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 632 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 634 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_indexInParent */ - -/* 636 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 638 */ NdrFcLong( 0x0 ), /* 0 */ -/* 642 */ NdrFcShort( 0x2b ), /* 43 */ -/* 644 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 646 */ NdrFcShort( 0x0 ), /* 0 */ -/* 648 */ NdrFcShort( 0x24 ), /* 36 */ -/* 650 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 652 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 654 */ NdrFcShort( 0x0 ), /* 0 */ -/* 656 */ NdrFcShort( 0x0 ), /* 0 */ -/* 658 */ NdrFcShort( 0x0 ), /* 0 */ -/* 660 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter indexInParent */ - -/* 662 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 664 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 666 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 668 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 670 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 672 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_locale */ - -/* 674 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 676 */ NdrFcLong( 0x0 ), /* 0 */ -/* 680 */ NdrFcShort( 0x2c ), /* 44 */ -/* 682 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 684 */ NdrFcShort( 0x0 ), /* 0 */ -/* 686 */ NdrFcShort( 0x8 ), /* 8 */ -/* 688 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 690 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 692 */ NdrFcShort( 0x1 ), /* 1 */ -/* 694 */ NdrFcShort( 0x0 ), /* 0 */ -/* 696 */ NdrFcShort( 0x0 ), /* 0 */ -/* 698 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter locale */ - -/* 700 */ NdrFcShort( 0x6113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=24 */ -/* 702 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 704 */ NdrFcShort( 0xa6 ), /* Type Offset=166 */ - - /* Return value */ - -/* 706 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 708 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 710 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_attributes */ - -/* 712 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 714 */ NdrFcLong( 0x0 ), /* 0 */ -/* 718 */ NdrFcShort( 0x2d ), /* 45 */ -/* 720 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 722 */ NdrFcShort( 0x0 ), /* 0 */ -/* 724 */ NdrFcShort( 0x8 ), /* 8 */ -/* 726 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 728 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 730 */ NdrFcShort( 0x1 ), /* 1 */ -/* 732 */ NdrFcShort( 0x0 ), /* 0 */ -/* 734 */ NdrFcShort( 0x0 ), /* 0 */ -/* 736 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter attributes */ - -/* 738 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 740 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 742 */ NdrFcShort( 0x54 ), /* Type Offset=84 */ - - /* Return value */ - -/* 744 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 746 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 748 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - 0x0 - } - }; - -static const Accessible2_MIDL_TYPE_FORMAT_STRING Accessible2__MIDL_TypeFormatString = - { - 0, - { - NdrFcShort( 0x0 ), /* 0 */ -/* 2 */ - 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */ -/* 4 */ 0x8, /* FC_LONG */ - 0x5c, /* FC_PAD */ -/* 6 */ - 0x11, 0x10, /* FC_RP [pointer_deref] */ -/* 8 */ NdrFcShort( 0x2 ), /* Offset= 2 (10) */ -/* 10 */ - 0x2f, /* FC_IP */ - 0x5a, /* FC_CONSTANT_IID */ -/* 12 */ NdrFcLong( 0x7cdf86ee ), /* 2095023854 */ -/* 16 */ NdrFcShort( 0xc3da ), /* -15398 */ -/* 18 */ NdrFcShort( 0x496a ), /* 18794 */ -/* 20 */ 0xbd, /* 189 */ - 0xa4, /* 164 */ -/* 22 */ 0x28, /* 40 */ - 0x1b, /* 27 */ -/* 24 */ 0x33, /* 51 */ - 0x6e, /* 110 */ -/* 26 */ 0x1f, /* 31 */ - 0xdc, /* 220 */ -/* 28 */ - 0x11, 0x0, /* FC_RP */ -/* 30 */ NdrFcShort( 0x2 ), /* Offset= 2 (32) */ -/* 32 */ - 0x21, /* FC_BOGUS_ARRAY */ - 0x3, /* 3 */ -/* 34 */ NdrFcShort( 0x0 ), /* 0 */ -/* 36 */ 0x28, /* Corr desc: parameter, FC_LONG */ - 0x0, /* */ -/* 38 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 40 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 42 */ 0x28, /* Corr desc: parameter, FC_LONG */ - 0x54, /* FC_DEREFERENCE */ -/* 44 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 46 */ NdrFcShort( 0x0 ), /* Corr flags: */ -/* 48 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 50 */ NdrFcShort( 0xffd8 ), /* Offset= -40 (10) */ -/* 52 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 54 */ - 0x11, 0x4, /* FC_RP [alloced_on_stack] */ -/* 56 */ NdrFcShort( 0x1c ), /* Offset= 28 (84) */ -/* 58 */ - 0x13, 0x0, /* FC_OP */ -/* 60 */ NdrFcShort( 0xe ), /* Offset= 14 (74) */ -/* 62 */ - 0x1b, /* FC_CARRAY */ - 0x1, /* 1 */ -/* 64 */ NdrFcShort( 0x2 ), /* 2 */ -/* 66 */ 0x9, /* Corr desc: FC_ULONG */ - 0x0, /* */ -/* 68 */ NdrFcShort( 0xfffc ), /* -4 */ -/* 70 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 72 */ 0x6, /* FC_SHORT */ - 0x5b, /* FC_END */ -/* 74 */ - 0x17, /* FC_CSTRUCT */ - 0x3, /* 3 */ -/* 76 */ NdrFcShort( 0x8 ), /* 8 */ -/* 78 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (62) */ -/* 80 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 82 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 84 */ 0xb4, /* FC_USER_MARSHAL */ - 0x83, /* 131 */ -/* 86 */ NdrFcShort( 0x0 ), /* 0 */ -/* 88 */ NdrFcShort( 0x8 ), /* 8 */ -/* 90 */ NdrFcShort( 0x0 ), /* 0 */ -/* 92 */ NdrFcShort( 0xffde ), /* Offset= -34 (58) */ -/* 94 */ - 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */ -/* 96 */ NdrFcShort( 0x2 ), /* Offset= 2 (98) */ -/* 98 */ - 0x13, 0x0, /* FC_OP */ -/* 100 */ NdrFcShort( 0x2 ), /* Offset= 2 (102) */ -/* 102 */ - 0x21, /* FC_BOGUS_ARRAY */ - 0x3, /* 3 */ -/* 104 */ NdrFcShort( 0x0 ), /* 0 */ -/* 106 */ 0x28, /* Corr desc: parameter, FC_LONG */ - 0x0, /* */ -/* 108 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 110 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 112 */ 0x28, /* Corr desc: parameter, FC_LONG */ - 0x54, /* FC_DEREFERENCE */ -/* 114 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 116 */ NdrFcShort( 0x0 ), /* Corr flags: */ -/* 118 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 120 */ NdrFcShort( 0xffdc ), /* Offset= -36 (84) */ -/* 122 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 124 */ - 0x11, 0x4, /* FC_RP [alloced_on_stack] */ -/* 126 */ NdrFcShort( 0x1a ), /* Offset= 26 (152) */ -/* 128 */ - 0x13, 0x0, /* FC_OP */ -/* 130 */ NdrFcShort( 0x2 ), /* Offset= 2 (132) */ -/* 132 */ - 0x2a, /* FC_ENCAPSULATED_UNION */ - 0x48, /* 72 */ -/* 134 */ NdrFcShort( 0x4 ), /* 4 */ -/* 136 */ NdrFcShort( 0x2 ), /* 2 */ -/* 138 */ NdrFcLong( 0x48746457 ), /* 1215587415 */ -/* 142 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ -/* 144 */ NdrFcLong( 0x52746457 ), /* 1383359575 */ -/* 148 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ -/* 150 */ NdrFcShort( 0xffff ), /* Offset= -1 (149) */ -/* 152 */ 0xb4, /* FC_USER_MARSHAL */ - 0x83, /* 131 */ -/* 154 */ NdrFcShort( 0x1 ), /* 1 */ -/* 156 */ NdrFcShort( 0x8 ), /* 8 */ -/* 158 */ NdrFcShort( 0x0 ), /* 0 */ -/* 160 */ NdrFcShort( 0xffe0 ), /* Offset= -32 (128) */ -/* 162 */ - 0x11, 0x4, /* FC_RP [alloced_on_stack] */ -/* 164 */ NdrFcShort( 0x2 ), /* Offset= 2 (166) */ -/* 166 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 168 */ NdrFcShort( 0x18 ), /* 24 */ -/* 170 */ NdrFcShort( 0x0 ), /* 0 */ -/* 172 */ NdrFcShort( 0x0 ), /* Offset= 0 (172) */ -/* 174 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 176 */ NdrFcShort( 0xffa4 ), /* Offset= -92 (84) */ -/* 178 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 180 */ NdrFcShort( 0xffa0 ), /* Offset= -96 (84) */ -/* 182 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 184 */ NdrFcShort( 0xff9c ), /* Offset= -100 (84) */ -/* 186 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ - - 0x0 - } - }; - -static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] = - { - - { - BSTR_UserSize - ,BSTR_UserMarshal - ,BSTR_UserUnmarshal - ,BSTR_UserFree - }, - { - HWND_UserSize - ,HWND_UserMarshal - ,HWND_UserUnmarshal - ,HWND_UserFree - } - - }; - - - -/* Standard interface: __MIDL_itf_Accessible2_0000_0000, ver. 0.0, - GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */ - - -/* Object interface: IUnknown, ver. 0.0, - GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */ - - -/* Object interface: IDispatch, ver. 0.0, - GUID={0x00020400,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */ - - -/* Object interface: IAccessible, ver. 0.0, - GUID={0x618736e0,0x3c3d,0x11cf,{0x81,0x0c,0x00,0xaa,0x00,0x38,0x9b,0x71}} */ - - -/* Object interface: IAccessible2, ver. 0.0, - GUID={0xE89F726E,0xC4F4,0x4c19,{0xBB,0x19,0xB6,0x47,0xD7,0xFA,0x84,0x78}} */ - -#pragma code_seg(".orpc") -static const unsigned short IAccessible2_FormatStringOffsetTable[] = - { - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - 0, - 38, - 82, - 132, - 170, - 208, - 258, - 308, - 346, - 384, - 422, - 460, - 510, - 560, - 598, - 636, - 674, - 712 - }; - -static const MIDL_STUBLESS_PROXY_INFO IAccessible2_ProxyInfo = - { - &Object_StubDesc, - Accessible2__MIDL_ProcFormatString.Format, - &IAccessible2_FormatStringOffsetTable[-3], - 0, - 0, - 0 - }; - - -static const MIDL_SERVER_INFO IAccessible2_ServerInfo = - { - &Object_StubDesc, - 0, - Accessible2__MIDL_ProcFormatString.Format, - &IAccessible2_FormatStringOffsetTable[-3], - 0, - 0, - 0, - 0}; -CINTERFACE_PROXY_VTABLE(46) _IAccessible2ProxyVtbl = -{ - &IAccessible2_ProxyInfo, - &IID_IAccessible2, - IUnknown_QueryInterface_Proxy, - IUnknown_AddRef_Proxy, - IUnknown_Release_Proxy , - 0 /* IDispatch::GetTypeInfoCount */ , - 0 /* IDispatch::GetTypeInfo */ , - 0 /* IDispatch::GetIDsOfNames */ , - 0 /* IDispatch_Invoke_Proxy */ , - 0 /* IAccessible::get_accParent */ , - 0 /* IAccessible::get_accChildCount */ , - 0 /* IAccessible::get_accChild */ , - 0 /* IAccessible::get_accName */ , - 0 /* IAccessible::get_accValue */ , - 0 /* IAccessible::get_accDescription */ , - 0 /* IAccessible::get_accRole */ , - 0 /* IAccessible::get_accState */ , - 0 /* IAccessible::get_accHelp */ , - 0 /* IAccessible::get_accHelpTopic */ , - 0 /* IAccessible::get_accKeyboardShortcut */ , - 0 /* IAccessible::get_accFocus */ , - 0 /* IAccessible::get_accSelection */ , - 0 /* IAccessible::get_accDefaultAction */ , - 0 /* IAccessible::accSelect */ , - 0 /* IAccessible::accLocation */ , - 0 /* IAccessible::accNavigate */ , - 0 /* IAccessible::accHitTest */ , - 0 /* IAccessible::accDoDefaultAction */ , - 0 /* IAccessible::put_accName */ , - 0 /* IAccessible::put_accValue */ , - (void *) (INT_PTR) -1 /* IAccessible2::get_nRelations */ , - (void *) (INT_PTR) -1 /* IAccessible2::get_relation */ , - (void *) (INT_PTR) -1 /* IAccessible2::get_relations */ , - (void *) (INT_PTR) -1 /* IAccessible2::role */ , - (void *) (INT_PTR) -1 /* IAccessible2::scrollTo */ , - (void *) (INT_PTR) -1 /* IAccessible2::scrollToPoint */ , - (void *) (INT_PTR) -1 /* IAccessible2::get_groupPosition */ , - (void *) (INT_PTR) -1 /* IAccessible2::get_states */ , - (void *) (INT_PTR) -1 /* IAccessible2::get_extendedRole */ , - (void *) (INT_PTR) -1 /* IAccessible2::get_localizedExtendedRole */ , - (void *) (INT_PTR) -1 /* IAccessible2::get_nExtendedStates */ , - (void *) (INT_PTR) -1 /* IAccessible2::get_extendedStates */ , - (void *) (INT_PTR) -1 /* IAccessible2::get_localizedExtendedStates */ , - (void *) (INT_PTR) -1 /* IAccessible2::get_uniqueID */ , - (void *) (INT_PTR) -1 /* IAccessible2::get_windowHandle */ , - (void *) (INT_PTR) -1 /* IAccessible2::get_indexInParent */ , - (void *) (INT_PTR) -1 /* IAccessible2::get_locale */ , - (void *) (INT_PTR) -1 /* IAccessible2::get_attributes */ -}; - - -static const PRPC_STUB_FUNCTION IAccessible2_table[] = -{ - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2 -}; - -CInterfaceStubVtbl _IAccessible2StubVtbl = -{ - &IID_IAccessible2, - &IAccessible2_ServerInfo, - 46, - &IAccessible2_table[-3], - CStdStubBuffer_DELEGATING_METHODS -}; - -static const MIDL_STUB_DESC Object_StubDesc = - { - 0, - NdrOleAllocate, - NdrOleFree, - 0, - 0, - 0, - 0, - 0, - Accessible2__MIDL_TypeFormatString.Format, - 1, /* -error bounds_check flag */ - 0x50002, /* Ndr library version */ - 0, - 0x700022b, /* MIDL Version 7.0.555 */ - 0, - UserMarshalRoutines, - 0, /* notify & notify_flag routine table */ - 0x1, /* MIDL flag */ - 0, /* cs routines */ - 0, /* proxy/server info */ - 0 - }; - -const CInterfaceProxyVtbl * const _Accessible2_ProxyVtblList[] = -{ - ( CInterfaceProxyVtbl *) &_IAccessible2ProxyVtbl, - 0 -}; - -const CInterfaceStubVtbl * const _Accessible2_StubVtblList[] = -{ - ( CInterfaceStubVtbl *) &_IAccessible2StubVtbl, - 0 -}; - -PCInterfaceName const _Accessible2_InterfaceNamesList[] = -{ - "IAccessible2", - 0 -}; - -const IID * const _Accessible2_BaseIIDList[] = -{ - &IID_IAccessible, - 0 -}; - - -#define _Accessible2_CHECK_IID(n) IID_GENERIC_CHECK_IID( _Accessible2, pIID, n) - -int __stdcall _Accessible2_IID_Lookup( const IID * pIID, int * pIndex ) -{ - - if(!_Accessible2_CHECK_IID(0)) - { - *pIndex = 0; - return 1; - } - - return 0; -} - -const ExtendedProxyFileInfo Accessible2_ProxyFileInfo = -{ - (PCInterfaceProxyVtblList *) & _Accessible2_ProxyVtblList, - (PCInterfaceStubVtblList *) & _Accessible2_StubVtblList, - (const PCInterfaceName * ) & _Accessible2_InterfaceNamesList, - (const IID ** ) & _Accessible2_BaseIIDList, - & _Accessible2_IID_Lookup, - 1, - 2, - 0, /* table of [async_uuid] interfaces */ - 0, /* Filler1 */ - 0, /* Filler2 */ - 0 /* Filler3 */ -}; -#if _MSC_VER >= 1200 -#pragma warning(pop) -#endif - - -#endif /* defined(_M_AMD64)*/ - diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleAction.h b/src/3rdparty/iaccessible2/generated/amd64/AccessibleAction.h deleted file mode 100644 index 8755505bf3..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleAction.h +++ /dev/null @@ -1,220 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:56 2012 - */ -/* Compiler settings for AccessibleAction.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the <rpcndr.h> version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of <rpcndr.h> -#endif // __RPCNDR_H_VERSION__ - -#ifndef COM_NO_WINDOWS_H -#include "windows.h" -#include "ole2.h" -#endif /*COM_NO_WINDOWS_H*/ - -#ifndef __AccessibleAction_h__ -#define __AccessibleAction_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -#ifndef __IAccessibleAction_FWD_DEFINED__ -#define __IAccessibleAction_FWD_DEFINED__ -typedef interface IAccessibleAction IAccessibleAction; -#endif /* __IAccessibleAction_FWD_DEFINED__ */ - - -/* header files for imported files */ -#include "objidl.h" -#include "oaidl.h" -#include "oleacc.h" - -#ifdef __cplusplus -extern "C"{ -#endif - - -#ifndef __IAccessibleAction_INTERFACE_DEFINED__ -#define __IAccessibleAction_INTERFACE_DEFINED__ - -/* interface IAccessibleAction */ -/* [uuid][object] */ - - -EXTERN_C const IID IID_IAccessibleAction; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("B70D9F59-3B5A-4dba-AB9E-22012F607DF5") - IAccessibleAction : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE nActions( - /* [retval][out] */ long *nActions) = 0; - - virtual HRESULT STDMETHODCALLTYPE doAction( - /* [in] */ long actionIndex) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_description( - /* [in] */ long actionIndex, - /* [retval][out] */ BSTR *description) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_keyBinding( - /* [in] */ long actionIndex, - /* [in] */ long nMaxBindings, - /* [length_is][length_is][size_is][size_is][out] */ BSTR **keyBindings, - /* [retval][out] */ long *nBindings) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_name( - /* [in] */ long actionIndex, - /* [retval][out] */ BSTR *name) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_localizedName( - /* [in] */ long actionIndex, - /* [retval][out] */ BSTR *localizedName) = 0; - - }; - -#else /* C style interface */ - - typedef struct IAccessibleActionVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IAccessibleAction * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IAccessibleAction * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IAccessibleAction * This); - - HRESULT ( STDMETHODCALLTYPE *nActions )( - IAccessibleAction * This, - /* [retval][out] */ long *nActions); - - HRESULT ( STDMETHODCALLTYPE *doAction )( - IAccessibleAction * This, - /* [in] */ long actionIndex); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_description )( - IAccessibleAction * This, - /* [in] */ long actionIndex, - /* [retval][out] */ BSTR *description); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_keyBinding )( - IAccessibleAction * This, - /* [in] */ long actionIndex, - /* [in] */ long nMaxBindings, - /* [length_is][length_is][size_is][size_is][out] */ BSTR **keyBindings, - /* [retval][out] */ long *nBindings); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( - IAccessibleAction * This, - /* [in] */ long actionIndex, - /* [retval][out] */ BSTR *name); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedName )( - IAccessibleAction * This, - /* [in] */ long actionIndex, - /* [retval][out] */ BSTR *localizedName); - - END_INTERFACE - } IAccessibleActionVtbl; - - interface IAccessibleAction - { - CONST_VTBL struct IAccessibleActionVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IAccessibleAction_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IAccessibleAction_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IAccessibleAction_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IAccessibleAction_nActions(This,nActions) \ - ( (This)->lpVtbl -> nActions(This,nActions) ) - -#define IAccessibleAction_doAction(This,actionIndex) \ - ( (This)->lpVtbl -> doAction(This,actionIndex) ) - -#define IAccessibleAction_get_description(This,actionIndex,description) \ - ( (This)->lpVtbl -> get_description(This,actionIndex,description) ) - -#define IAccessibleAction_get_keyBinding(This,actionIndex,nMaxBindings,keyBindings,nBindings) \ - ( (This)->lpVtbl -> get_keyBinding(This,actionIndex,nMaxBindings,keyBindings,nBindings) ) - -#define IAccessibleAction_get_name(This,actionIndex,name) \ - ( (This)->lpVtbl -> get_name(This,actionIndex,name) ) - -#define IAccessibleAction_get_localizedName(This,actionIndex,localizedName) \ - ( (This)->lpVtbl -> get_localizedName(This,actionIndex,localizedName) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IAccessibleAction_INTERFACE_DEFINED__ */ - - -/* Additional Prototypes for ALL interfaces */ - -unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * ); -unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * ); -unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); -void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * ); - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleAction_i.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleAction_i.c deleted file mode 100644 index a4d754b68d..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleAction_i.c +++ /dev/null @@ -1,79 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */ - -/* link this file in with the server and any clients */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:56 2012 - */ -/* Compiler settings for AccessibleAction.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -#ifdef __cplusplus -extern "C"{ -#endif - - -#include <rpc.h> -#include <rpcndr.h> - -#ifdef _MIDL_USE_GUIDDEF_ - -#ifndef INITGUID -#define INITGUID -#include <guiddef.h> -#undef INITGUID -#else -#include <guiddef.h> -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) - -#else // !_MIDL_USE_GUIDDEF_ - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - -typedef struct _IID -{ - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; -} IID; - -#endif // __IID_DEFINED__ - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED -typedef IID CLSID; -#endif // CLSID_DEFINED - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} - -#endif !_MIDL_USE_GUIDDEF_ - -MIDL_DEFINE_GUID(IID, IID_IAccessibleAction,0xB70D9F59,0x3B5A,0x4dba,0xAB,0x9E,0x22,0x01,0x2F,0x60,0x7D,0xF5); - -#undef MIDL_DEFINE_GUID - -#ifdef __cplusplus -} -#endif - - - diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleAction_p.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleAction_p.c deleted file mode 100644 index 68eeac00b4..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleAction_p.c +++ /dev/null @@ -1,557 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the proxy stub code */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:56 2012 - */ -/* Compiler settings for AccessibleAction.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#if defined(_M_AMD64) - - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ -#if _MSC_VER >= 1200 -#pragma warning(push) -#endif - -#pragma warning( disable: 4211 ) /* redefine extern to static */ -#pragma warning( disable: 4232 ) /* dllimport identity*/ -#pragma warning( disable: 4024 ) /* array to pointer mapping*/ -#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */ - -#define USE_STUBLESS_PROXY - - -/* verify that the <rpcproxy.h> version is high enough to compile this file*/ -#ifndef __REDQ_RPCPROXY_H_VERSION__ -#define __REQUIRED_RPCPROXY_H_VERSION__ 475 -#endif - - -#include "rpcproxy.h" -#ifndef __RPCPROXY_H_VERSION__ -#error this stub requires an updated version of <rpcproxy.h> -#endif /* __RPCPROXY_H_VERSION__ */ - - -#include "AccessibleAction.h" - -#define TYPE_FORMAT_STRING_SIZE 77 -#define PROC_FORMAT_STRING_SIZE 265 -#define EXPR_FORMAT_STRING_SIZE 1 -#define TRANSMIT_AS_TABLE_SIZE 0 -#define WIRE_MARSHAL_TABLE_SIZE 1 - -typedef struct _AccessibleAction_MIDL_TYPE_FORMAT_STRING - { - short Pad; - unsigned char Format[ TYPE_FORMAT_STRING_SIZE ]; - } AccessibleAction_MIDL_TYPE_FORMAT_STRING; - -typedef struct _AccessibleAction_MIDL_PROC_FORMAT_STRING - { - short Pad; - unsigned char Format[ PROC_FORMAT_STRING_SIZE ]; - } AccessibleAction_MIDL_PROC_FORMAT_STRING; - -typedef struct _AccessibleAction_MIDL_EXPR_FORMAT_STRING - { - long Pad; - unsigned char Format[ EXPR_FORMAT_STRING_SIZE ]; - } AccessibleAction_MIDL_EXPR_FORMAT_STRING; - - -static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax = -{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}}; - - -extern const AccessibleAction_MIDL_TYPE_FORMAT_STRING AccessibleAction__MIDL_TypeFormatString; -extern const AccessibleAction_MIDL_PROC_FORMAT_STRING AccessibleAction__MIDL_ProcFormatString; -extern const AccessibleAction_MIDL_EXPR_FORMAT_STRING AccessibleAction__MIDL_ExprFormatString; - - -extern const MIDL_STUB_DESC Object_StubDesc; - - -extern const MIDL_SERVER_INFO IAccessibleAction_ServerInfo; -extern const MIDL_STUBLESS_PROXY_INFO IAccessibleAction_ProxyInfo; - - -extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ]; - -#if !defined(__RPC_WIN64__) -#error Invalid build platform for this stub. -#endif - -static const AccessibleAction_MIDL_PROC_FORMAT_STRING AccessibleAction__MIDL_ProcFormatString = - { - 0, - { - - /* Procedure nActions */ - - 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 2 */ NdrFcLong( 0x0 ), /* 0 */ -/* 6 */ NdrFcShort( 0x3 ), /* 3 */ -/* 8 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 10 */ NdrFcShort( 0x0 ), /* 0 */ -/* 12 */ NdrFcShort( 0x24 ), /* 36 */ -/* 14 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 16 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 18 */ NdrFcShort( 0x0 ), /* 0 */ -/* 20 */ NdrFcShort( 0x0 ), /* 0 */ -/* 22 */ NdrFcShort( 0x0 ), /* 0 */ -/* 24 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter nActions */ - -/* 26 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 28 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 30 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 32 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 34 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 36 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure doAction */ - -/* 38 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 40 */ NdrFcLong( 0x0 ), /* 0 */ -/* 44 */ NdrFcShort( 0x4 ), /* 4 */ -/* 46 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 48 */ NdrFcShort( 0x8 ), /* 8 */ -/* 50 */ NdrFcShort( 0x8 ), /* 8 */ -/* 52 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 54 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 56 */ NdrFcShort( 0x0 ), /* 0 */ -/* 58 */ NdrFcShort( 0x0 ), /* 0 */ -/* 60 */ NdrFcShort( 0x0 ), /* 0 */ -/* 62 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter actionIndex */ - -/* 64 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 66 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 68 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 70 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 72 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 74 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_description */ - -/* 76 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 78 */ NdrFcLong( 0x0 ), /* 0 */ -/* 82 */ NdrFcShort( 0x5 ), /* 5 */ -/* 84 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 86 */ NdrFcShort( 0x8 ), /* 8 */ -/* 88 */ NdrFcShort( 0x8 ), /* 8 */ -/* 90 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x3, /* 3 */ -/* 92 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 94 */ NdrFcShort( 0x1 ), /* 1 */ -/* 96 */ NdrFcShort( 0x0 ), /* 0 */ -/* 98 */ NdrFcShort( 0x0 ), /* 0 */ -/* 100 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter actionIndex */ - -/* 102 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 104 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 106 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter description */ - -/* 108 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 110 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 112 */ NdrFcShort( 0x24 ), /* Type Offset=36 */ - - /* Return value */ - -/* 114 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 116 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 118 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_keyBinding */ - -/* 120 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 122 */ NdrFcLong( 0x0 ), /* 0 */ -/* 126 */ NdrFcShort( 0x6 ), /* 6 */ -/* 128 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */ -/* 130 */ NdrFcShort( 0x10 ), /* 16 */ -/* 132 */ NdrFcShort( 0x24 ), /* 36 */ -/* 134 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x5, /* 5 */ -/* 136 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 138 */ NdrFcShort( 0x1 ), /* 1 */ -/* 140 */ NdrFcShort( 0x0 ), /* 0 */ -/* 142 */ NdrFcShort( 0x0 ), /* 0 */ -/* 144 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter actionIndex */ - -/* 146 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 148 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 150 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter nMaxBindings */ - -/* 152 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 154 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 156 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter keyBindings */ - -/* 158 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ -/* 160 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 162 */ NdrFcShort( 0x2e ), /* Type Offset=46 */ - - /* Parameter nBindings */ - -/* 164 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 166 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 168 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 170 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 172 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ -/* 174 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_name */ - -/* 176 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 178 */ NdrFcLong( 0x0 ), /* 0 */ -/* 182 */ NdrFcShort( 0x7 ), /* 7 */ -/* 184 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 186 */ NdrFcShort( 0x8 ), /* 8 */ -/* 188 */ NdrFcShort( 0x8 ), /* 8 */ -/* 190 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x3, /* 3 */ -/* 192 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 194 */ NdrFcShort( 0x1 ), /* 1 */ -/* 196 */ NdrFcShort( 0x0 ), /* 0 */ -/* 198 */ NdrFcShort( 0x0 ), /* 0 */ -/* 200 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter actionIndex */ - -/* 202 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 204 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 206 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter name */ - -/* 208 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 210 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 212 */ NdrFcShort( 0x24 ), /* Type Offset=36 */ - - /* Return value */ - -/* 214 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 216 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 218 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_localizedName */ - -/* 220 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 222 */ NdrFcLong( 0x0 ), /* 0 */ -/* 226 */ NdrFcShort( 0x8 ), /* 8 */ -/* 228 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 230 */ NdrFcShort( 0x8 ), /* 8 */ -/* 232 */ NdrFcShort( 0x8 ), /* 8 */ -/* 234 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x3, /* 3 */ -/* 236 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 238 */ NdrFcShort( 0x1 ), /* 1 */ -/* 240 */ NdrFcShort( 0x0 ), /* 0 */ -/* 242 */ NdrFcShort( 0x0 ), /* 0 */ -/* 244 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter actionIndex */ - -/* 246 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 248 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 250 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter localizedName */ - -/* 252 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 254 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 256 */ NdrFcShort( 0x24 ), /* Type Offset=36 */ - - /* Return value */ - -/* 258 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 260 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 262 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - 0x0 - } - }; - -static const AccessibleAction_MIDL_TYPE_FORMAT_STRING AccessibleAction__MIDL_TypeFormatString = - { - 0, - { - NdrFcShort( 0x0 ), /* 0 */ -/* 2 */ - 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */ -/* 4 */ 0x8, /* FC_LONG */ - 0x5c, /* FC_PAD */ -/* 6 */ - 0x11, 0x4, /* FC_RP [alloced_on_stack] */ -/* 8 */ NdrFcShort( 0x1c ), /* Offset= 28 (36) */ -/* 10 */ - 0x13, 0x0, /* FC_OP */ -/* 12 */ NdrFcShort( 0xe ), /* Offset= 14 (26) */ -/* 14 */ - 0x1b, /* FC_CARRAY */ - 0x1, /* 1 */ -/* 16 */ NdrFcShort( 0x2 ), /* 2 */ -/* 18 */ 0x9, /* Corr desc: FC_ULONG */ - 0x0, /* */ -/* 20 */ NdrFcShort( 0xfffc ), /* -4 */ -/* 22 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 24 */ 0x6, /* FC_SHORT */ - 0x5b, /* FC_END */ -/* 26 */ - 0x17, /* FC_CSTRUCT */ - 0x3, /* 3 */ -/* 28 */ NdrFcShort( 0x8 ), /* 8 */ -/* 30 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (14) */ -/* 32 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 34 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 36 */ 0xb4, /* FC_USER_MARSHAL */ - 0x83, /* 131 */ -/* 38 */ NdrFcShort( 0x0 ), /* 0 */ -/* 40 */ NdrFcShort( 0x8 ), /* 8 */ -/* 42 */ NdrFcShort( 0x0 ), /* 0 */ -/* 44 */ NdrFcShort( 0xffde ), /* Offset= -34 (10) */ -/* 46 */ - 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */ -/* 48 */ NdrFcShort( 0x2 ), /* Offset= 2 (50) */ -/* 50 */ - 0x13, 0x0, /* FC_OP */ -/* 52 */ NdrFcShort( 0x2 ), /* Offset= 2 (54) */ -/* 54 */ - 0x21, /* FC_BOGUS_ARRAY */ - 0x3, /* 3 */ -/* 56 */ NdrFcShort( 0x0 ), /* 0 */ -/* 58 */ 0x28, /* Corr desc: parameter, FC_LONG */ - 0x0, /* */ -/* 60 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 62 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 64 */ 0x28, /* Corr desc: parameter, FC_LONG */ - 0x54, /* FC_DEREFERENCE */ -/* 66 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 68 */ NdrFcShort( 0x0 ), /* Corr flags: */ -/* 70 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 72 */ NdrFcShort( 0xffdc ), /* Offset= -36 (36) */ -/* 74 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ - - 0x0 - } - }; - -static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] = - { - - { - BSTR_UserSize - ,BSTR_UserMarshal - ,BSTR_UserUnmarshal - ,BSTR_UserFree - } - - }; - - - -/* Object interface: IUnknown, ver. 0.0, - GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */ - - -/* Object interface: IAccessibleAction, ver. 0.0, - GUID={0xB70D9F59,0x3B5A,0x4dba,{0xAB,0x9E,0x22,0x01,0x2F,0x60,0x7D,0xF5}} */ - -#pragma code_seg(".orpc") -static const unsigned short IAccessibleAction_FormatStringOffsetTable[] = - { - 0, - 38, - 76, - 120, - 176, - 220 - }; - -static const MIDL_STUBLESS_PROXY_INFO IAccessibleAction_ProxyInfo = - { - &Object_StubDesc, - AccessibleAction__MIDL_ProcFormatString.Format, - &IAccessibleAction_FormatStringOffsetTable[-3], - 0, - 0, - 0 - }; - - -static const MIDL_SERVER_INFO IAccessibleAction_ServerInfo = - { - &Object_StubDesc, - 0, - AccessibleAction__MIDL_ProcFormatString.Format, - &IAccessibleAction_FormatStringOffsetTable[-3], - 0, - 0, - 0, - 0}; -CINTERFACE_PROXY_VTABLE(9) _IAccessibleActionProxyVtbl = -{ - &IAccessibleAction_ProxyInfo, - &IID_IAccessibleAction, - IUnknown_QueryInterface_Proxy, - IUnknown_AddRef_Proxy, - IUnknown_Release_Proxy , - (void *) (INT_PTR) -1 /* IAccessibleAction::nActions */ , - (void *) (INT_PTR) -1 /* IAccessibleAction::doAction */ , - (void *) (INT_PTR) -1 /* IAccessibleAction::get_description */ , - (void *) (INT_PTR) -1 /* IAccessibleAction::get_keyBinding */ , - (void *) (INT_PTR) -1 /* IAccessibleAction::get_name */ , - (void *) (INT_PTR) -1 /* IAccessibleAction::get_localizedName */ -}; - -const CInterfaceStubVtbl _IAccessibleActionStubVtbl = -{ - &IID_IAccessibleAction, - &IAccessibleAction_ServerInfo, - 9, - 0, /* pure interpreted */ - CStdStubBuffer_METHODS -}; - -static const MIDL_STUB_DESC Object_StubDesc = - { - 0, - NdrOleAllocate, - NdrOleFree, - 0, - 0, - 0, - 0, - 0, - AccessibleAction__MIDL_TypeFormatString.Format, - 1, /* -error bounds_check flag */ - 0x50002, /* Ndr library version */ - 0, - 0x700022b, /* MIDL Version 7.0.555 */ - 0, - UserMarshalRoutines, - 0, /* notify & notify_flag routine table */ - 0x1, /* MIDL flag */ - 0, /* cs routines */ - 0, /* proxy/server info */ - 0 - }; - -const CInterfaceProxyVtbl * const _AccessibleAction_ProxyVtblList[] = -{ - ( CInterfaceProxyVtbl *) &_IAccessibleActionProxyVtbl, - 0 -}; - -const CInterfaceStubVtbl * const _AccessibleAction_StubVtblList[] = -{ - ( CInterfaceStubVtbl *) &_IAccessibleActionStubVtbl, - 0 -}; - -PCInterfaceName const _AccessibleAction_InterfaceNamesList[] = -{ - "IAccessibleAction", - 0 -}; - - -#define _AccessibleAction_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleAction, pIID, n) - -int __stdcall _AccessibleAction_IID_Lookup( const IID * pIID, int * pIndex ) -{ - - if(!_AccessibleAction_CHECK_IID(0)) - { - *pIndex = 0; - return 1; - } - - return 0; -} - -const ExtendedProxyFileInfo AccessibleAction_ProxyFileInfo = -{ - (PCInterfaceProxyVtblList *) & _AccessibleAction_ProxyVtblList, - (PCInterfaceStubVtblList *) & _AccessibleAction_StubVtblList, - (const PCInterfaceName * ) & _AccessibleAction_InterfaceNamesList, - 0, /* no delegation */ - & _AccessibleAction_IID_Lookup, - 1, - 2, - 0, /* table of [async_uuid] interfaces */ - 0, /* Filler1 */ - 0, /* Filler2 */ - 0 /* Filler3 */ -}; -#if _MSC_VER >= 1200 -#pragma warning(pop) -#endif - - -#endif /* defined(_M_AMD64)*/ - diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleApplication.h b/src/3rdparty/iaccessible2/generated/amd64/AccessibleApplication.h deleted file mode 100644 index 7e901563e9..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleApplication.h +++ /dev/null @@ -1,188 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:57 2012 - */ -/* Compiler settings for AccessibleApplication.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the <rpcndr.h> version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of <rpcndr.h> -#endif // __RPCNDR_H_VERSION__ - -#ifndef COM_NO_WINDOWS_H -#include "windows.h" -#include "ole2.h" -#endif /*COM_NO_WINDOWS_H*/ - -#ifndef __AccessibleApplication_h__ -#define __AccessibleApplication_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -#ifndef __IAccessibleApplication_FWD_DEFINED__ -#define __IAccessibleApplication_FWD_DEFINED__ -typedef interface IAccessibleApplication IAccessibleApplication; -#endif /* __IAccessibleApplication_FWD_DEFINED__ */ - - -/* header files for imported files */ -#include "objidl.h" -#include "oaidl.h" -#include "oleacc.h" - -#ifdef __cplusplus -extern "C"{ -#endif - - -#ifndef __IAccessibleApplication_INTERFACE_DEFINED__ -#define __IAccessibleApplication_INTERFACE_DEFINED__ - -/* interface IAccessibleApplication */ -/* [uuid][object] */ - - -EXTERN_C const IID IID_IAccessibleApplication; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("D49DED83-5B25-43F4-9B95-93B44595979E") - IAccessibleApplication : public IUnknown - { - public: - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appName( - /* [retval][out] */ BSTR *name) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appVersion( - /* [retval][out] */ BSTR *version) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_toolkitName( - /* [retval][out] */ BSTR *name) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_toolkitVersion( - /* [retval][out] */ BSTR *version) = 0; - - }; - -#else /* C style interface */ - - typedef struct IAccessibleApplicationVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IAccessibleApplication * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IAccessibleApplication * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IAccessibleApplication * This); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appName )( - IAccessibleApplication * This, - /* [retval][out] */ BSTR *name); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appVersion )( - IAccessibleApplication * This, - /* [retval][out] */ BSTR *version); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_toolkitName )( - IAccessibleApplication * This, - /* [retval][out] */ BSTR *name); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_toolkitVersion )( - IAccessibleApplication * This, - /* [retval][out] */ BSTR *version); - - END_INTERFACE - } IAccessibleApplicationVtbl; - - interface IAccessibleApplication - { - CONST_VTBL struct IAccessibleApplicationVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IAccessibleApplication_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IAccessibleApplication_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IAccessibleApplication_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IAccessibleApplication_get_appName(This,name) \ - ( (This)->lpVtbl -> get_appName(This,name) ) - -#define IAccessibleApplication_get_appVersion(This,version) \ - ( (This)->lpVtbl -> get_appVersion(This,version) ) - -#define IAccessibleApplication_get_toolkitName(This,name) \ - ( (This)->lpVtbl -> get_toolkitName(This,name) ) - -#define IAccessibleApplication_get_toolkitVersion(This,version) \ - ( (This)->lpVtbl -> get_toolkitVersion(This,version) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IAccessibleApplication_INTERFACE_DEFINED__ */ - - -/* Additional Prototypes for ALL interfaces */ - -unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * ); -unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * ); -unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); -void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * ); - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleApplication_i.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleApplication_i.c deleted file mode 100644 index b50ae8a2c6..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleApplication_i.c +++ /dev/null @@ -1,79 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */ - -/* link this file in with the server and any clients */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:57 2012 - */ -/* Compiler settings for AccessibleApplication.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -#ifdef __cplusplus -extern "C"{ -#endif - - -#include <rpc.h> -#include <rpcndr.h> - -#ifdef _MIDL_USE_GUIDDEF_ - -#ifndef INITGUID -#define INITGUID -#include <guiddef.h> -#undef INITGUID -#else -#include <guiddef.h> -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) - -#else // !_MIDL_USE_GUIDDEF_ - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - -typedef struct _IID -{ - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; -} IID; - -#endif // __IID_DEFINED__ - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED -typedef IID CLSID; -#endif // CLSID_DEFINED - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} - -#endif !_MIDL_USE_GUIDDEF_ - -MIDL_DEFINE_GUID(IID, IID_IAccessibleApplication,0xD49DED83,0x5B25,0x43F4,0x9B,0x95,0x93,0xB4,0x45,0x95,0x97,0x9E); - -#undef MIDL_DEFINE_GUID - -#ifdef __cplusplus -} -#endif - - - diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleApplication_p.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleApplication_p.c deleted file mode 100644 index 84d7e30344..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleApplication_p.c +++ /dev/null @@ -1,420 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the proxy stub code */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:57 2012 - */ -/* Compiler settings for AccessibleApplication.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#if defined(_M_AMD64) - - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ -#if _MSC_VER >= 1200 -#pragma warning(push) -#endif - -#pragma warning( disable: 4211 ) /* redefine extern to static */ -#pragma warning( disable: 4232 ) /* dllimport identity*/ -#pragma warning( disable: 4024 ) /* array to pointer mapping*/ -#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */ - -#define USE_STUBLESS_PROXY - - -/* verify that the <rpcproxy.h> version is high enough to compile this file*/ -#ifndef __REDQ_RPCPROXY_H_VERSION__ -#define __REQUIRED_RPCPROXY_H_VERSION__ 475 -#endif - - -#include "rpcproxy.h" -#ifndef __RPCPROXY_H_VERSION__ -#error this stub requires an updated version of <rpcproxy.h> -#endif /* __RPCPROXY_H_VERSION__ */ - - -#include "AccessibleApplication.h" - -#define TYPE_FORMAT_STRING_SIZE 43 -#define PROC_FORMAT_STRING_SIZE 153 -#define EXPR_FORMAT_STRING_SIZE 1 -#define TRANSMIT_AS_TABLE_SIZE 0 -#define WIRE_MARSHAL_TABLE_SIZE 1 - -typedef struct _AccessibleApplication_MIDL_TYPE_FORMAT_STRING - { - short Pad; - unsigned char Format[ TYPE_FORMAT_STRING_SIZE ]; - } AccessibleApplication_MIDL_TYPE_FORMAT_STRING; - -typedef struct _AccessibleApplication_MIDL_PROC_FORMAT_STRING - { - short Pad; - unsigned char Format[ PROC_FORMAT_STRING_SIZE ]; - } AccessibleApplication_MIDL_PROC_FORMAT_STRING; - -typedef struct _AccessibleApplication_MIDL_EXPR_FORMAT_STRING - { - long Pad; - unsigned char Format[ EXPR_FORMAT_STRING_SIZE ]; - } AccessibleApplication_MIDL_EXPR_FORMAT_STRING; - - -static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax = -{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}}; - - -extern const AccessibleApplication_MIDL_TYPE_FORMAT_STRING AccessibleApplication__MIDL_TypeFormatString; -extern const AccessibleApplication_MIDL_PROC_FORMAT_STRING AccessibleApplication__MIDL_ProcFormatString; -extern const AccessibleApplication_MIDL_EXPR_FORMAT_STRING AccessibleApplication__MIDL_ExprFormatString; - - -extern const MIDL_STUB_DESC Object_StubDesc; - - -extern const MIDL_SERVER_INFO IAccessibleApplication_ServerInfo; -extern const MIDL_STUBLESS_PROXY_INFO IAccessibleApplication_ProxyInfo; - - -extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ]; - -#if !defined(__RPC_WIN64__) -#error Invalid build platform for this stub. -#endif - -static const AccessibleApplication_MIDL_PROC_FORMAT_STRING AccessibleApplication__MIDL_ProcFormatString = - { - 0, - { - - /* Procedure get_appName */ - - 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 2 */ NdrFcLong( 0x0 ), /* 0 */ -/* 6 */ NdrFcShort( 0x3 ), /* 3 */ -/* 8 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 10 */ NdrFcShort( 0x0 ), /* 0 */ -/* 12 */ NdrFcShort( 0x8 ), /* 8 */ -/* 14 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 16 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 18 */ NdrFcShort( 0x1 ), /* 1 */ -/* 20 */ NdrFcShort( 0x0 ), /* 0 */ -/* 22 */ NdrFcShort( 0x0 ), /* 0 */ -/* 24 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter name */ - -/* 26 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 28 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 30 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ - - /* Return value */ - -/* 32 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 34 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 36 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_appVersion */ - -/* 38 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 40 */ NdrFcLong( 0x0 ), /* 0 */ -/* 44 */ NdrFcShort( 0x4 ), /* 4 */ -/* 46 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 48 */ NdrFcShort( 0x0 ), /* 0 */ -/* 50 */ NdrFcShort( 0x8 ), /* 8 */ -/* 52 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 54 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 56 */ NdrFcShort( 0x1 ), /* 1 */ -/* 58 */ NdrFcShort( 0x0 ), /* 0 */ -/* 60 */ NdrFcShort( 0x0 ), /* 0 */ -/* 62 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter version */ - -/* 64 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 66 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 68 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ - - /* Return value */ - -/* 70 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 72 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 74 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_toolkitName */ - -/* 76 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 78 */ NdrFcLong( 0x0 ), /* 0 */ -/* 82 */ NdrFcShort( 0x5 ), /* 5 */ -/* 84 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 86 */ NdrFcShort( 0x0 ), /* 0 */ -/* 88 */ NdrFcShort( 0x8 ), /* 8 */ -/* 90 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 92 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 94 */ NdrFcShort( 0x1 ), /* 1 */ -/* 96 */ NdrFcShort( 0x0 ), /* 0 */ -/* 98 */ NdrFcShort( 0x0 ), /* 0 */ -/* 100 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter name */ - -/* 102 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 104 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 106 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ - - /* Return value */ - -/* 108 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 110 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 112 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_toolkitVersion */ - -/* 114 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 116 */ NdrFcLong( 0x0 ), /* 0 */ -/* 120 */ NdrFcShort( 0x6 ), /* 6 */ -/* 122 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 124 */ NdrFcShort( 0x0 ), /* 0 */ -/* 126 */ NdrFcShort( 0x8 ), /* 8 */ -/* 128 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 130 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 132 */ NdrFcShort( 0x1 ), /* 1 */ -/* 134 */ NdrFcShort( 0x0 ), /* 0 */ -/* 136 */ NdrFcShort( 0x0 ), /* 0 */ -/* 138 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter version */ - -/* 140 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 142 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 144 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ - - /* Return value */ - -/* 146 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 148 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 150 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - 0x0 - } - }; - -static const AccessibleApplication_MIDL_TYPE_FORMAT_STRING AccessibleApplication__MIDL_TypeFormatString = - { - 0, - { - NdrFcShort( 0x0 ), /* 0 */ -/* 2 */ - 0x11, 0x4, /* FC_RP [alloced_on_stack] */ -/* 4 */ NdrFcShort( 0x1c ), /* Offset= 28 (32) */ -/* 6 */ - 0x13, 0x0, /* FC_OP */ -/* 8 */ NdrFcShort( 0xe ), /* Offset= 14 (22) */ -/* 10 */ - 0x1b, /* FC_CARRAY */ - 0x1, /* 1 */ -/* 12 */ NdrFcShort( 0x2 ), /* 2 */ -/* 14 */ 0x9, /* Corr desc: FC_ULONG */ - 0x0, /* */ -/* 16 */ NdrFcShort( 0xfffc ), /* -4 */ -/* 18 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 20 */ 0x6, /* FC_SHORT */ - 0x5b, /* FC_END */ -/* 22 */ - 0x17, /* FC_CSTRUCT */ - 0x3, /* 3 */ -/* 24 */ NdrFcShort( 0x8 ), /* 8 */ -/* 26 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (10) */ -/* 28 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 30 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 32 */ 0xb4, /* FC_USER_MARSHAL */ - 0x83, /* 131 */ -/* 34 */ NdrFcShort( 0x0 ), /* 0 */ -/* 36 */ NdrFcShort( 0x8 ), /* 8 */ -/* 38 */ NdrFcShort( 0x0 ), /* 0 */ -/* 40 */ NdrFcShort( 0xffde ), /* Offset= -34 (6) */ - - 0x0 - } - }; - -static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] = - { - - { - BSTR_UserSize - ,BSTR_UserMarshal - ,BSTR_UserUnmarshal - ,BSTR_UserFree - } - - }; - - - -/* Object interface: IUnknown, ver. 0.0, - GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */ - - -/* Object interface: IAccessibleApplication, ver. 0.0, - GUID={0xD49DED83,0x5B25,0x43F4,{0x9B,0x95,0x93,0xB4,0x45,0x95,0x97,0x9E}} */ - -#pragma code_seg(".orpc") -static const unsigned short IAccessibleApplication_FormatStringOffsetTable[] = - { - 0, - 38, - 76, - 114 - }; - -static const MIDL_STUBLESS_PROXY_INFO IAccessibleApplication_ProxyInfo = - { - &Object_StubDesc, - AccessibleApplication__MIDL_ProcFormatString.Format, - &IAccessibleApplication_FormatStringOffsetTable[-3], - 0, - 0, - 0 - }; - - -static const MIDL_SERVER_INFO IAccessibleApplication_ServerInfo = - { - &Object_StubDesc, - 0, - AccessibleApplication__MIDL_ProcFormatString.Format, - &IAccessibleApplication_FormatStringOffsetTable[-3], - 0, - 0, - 0, - 0}; -CINTERFACE_PROXY_VTABLE(7) _IAccessibleApplicationProxyVtbl = -{ - &IAccessibleApplication_ProxyInfo, - &IID_IAccessibleApplication, - IUnknown_QueryInterface_Proxy, - IUnknown_AddRef_Proxy, - IUnknown_Release_Proxy , - (void *) (INT_PTR) -1 /* IAccessibleApplication::get_appName */ , - (void *) (INT_PTR) -1 /* IAccessibleApplication::get_appVersion */ , - (void *) (INT_PTR) -1 /* IAccessibleApplication::get_toolkitName */ , - (void *) (INT_PTR) -1 /* IAccessibleApplication::get_toolkitVersion */ -}; - -const CInterfaceStubVtbl _IAccessibleApplicationStubVtbl = -{ - &IID_IAccessibleApplication, - &IAccessibleApplication_ServerInfo, - 7, - 0, /* pure interpreted */ - CStdStubBuffer_METHODS -}; - -static const MIDL_STUB_DESC Object_StubDesc = - { - 0, - NdrOleAllocate, - NdrOleFree, - 0, - 0, - 0, - 0, - 0, - AccessibleApplication__MIDL_TypeFormatString.Format, - 1, /* -error bounds_check flag */ - 0x50002, /* Ndr library version */ - 0, - 0x700022b, /* MIDL Version 7.0.555 */ - 0, - UserMarshalRoutines, - 0, /* notify & notify_flag routine table */ - 0x1, /* MIDL flag */ - 0, /* cs routines */ - 0, /* proxy/server info */ - 0 - }; - -const CInterfaceProxyVtbl * const _AccessibleApplication_ProxyVtblList[] = -{ - ( CInterfaceProxyVtbl *) &_IAccessibleApplicationProxyVtbl, - 0 -}; - -const CInterfaceStubVtbl * const _AccessibleApplication_StubVtblList[] = -{ - ( CInterfaceStubVtbl *) &_IAccessibleApplicationStubVtbl, - 0 -}; - -PCInterfaceName const _AccessibleApplication_InterfaceNamesList[] = -{ - "IAccessibleApplication", - 0 -}; - - -#define _AccessibleApplication_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleApplication, pIID, n) - -int __stdcall _AccessibleApplication_IID_Lookup( const IID * pIID, int * pIndex ) -{ - - if(!_AccessibleApplication_CHECK_IID(0)) - { - *pIndex = 0; - return 1; - } - - return 0; -} - -const ExtendedProxyFileInfo AccessibleApplication_ProxyFileInfo = -{ - (PCInterfaceProxyVtblList *) & _AccessibleApplication_ProxyVtblList, - (PCInterfaceStubVtblList *) & _AccessibleApplication_StubVtblList, - (const PCInterfaceName * ) & _AccessibleApplication_InterfaceNamesList, - 0, /* no delegation */ - & _AccessibleApplication_IID_Lookup, - 1, - 2, - 0, /* table of [async_uuid] interfaces */ - 0, /* Filler1 */ - 0, /* Filler2 */ - 0 /* Filler3 */ -}; -#if _MSC_VER >= 1200 -#pragma warning(pop) -#endif - - -#endif /* defined(_M_AMD64)*/ - diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleComponent.h b/src/3rdparty/iaccessible2/generated/amd64/AccessibleComponent.h deleted file mode 100644 index 38f696f45c..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleComponent.h +++ /dev/null @@ -1,185 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:57 2012 - */ -/* Compiler settings for AccessibleComponent.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the <rpcndr.h> version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of <rpcndr.h> -#endif // __RPCNDR_H_VERSION__ - -#ifndef COM_NO_WINDOWS_H -#include "windows.h" -#include "ole2.h" -#endif /*COM_NO_WINDOWS_H*/ - -#ifndef __AccessibleComponent_h__ -#define __AccessibleComponent_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -#ifndef __IAccessibleComponent_FWD_DEFINED__ -#define __IAccessibleComponent_FWD_DEFINED__ -typedef interface IAccessibleComponent IAccessibleComponent; -#endif /* __IAccessibleComponent_FWD_DEFINED__ */ - - -/* header files for imported files */ -#include "objidl.h" -#include "oaidl.h" -#include "oleacc.h" - -#ifdef __cplusplus -extern "C"{ -#endif - - -/* interface __MIDL_itf_AccessibleComponent_0000_0000 */ -/* [local] */ - -typedef long IA2Color; - - - -extern RPC_IF_HANDLE __MIDL_itf_AccessibleComponent_0000_0000_v0_0_c_ifspec; -extern RPC_IF_HANDLE __MIDL_itf_AccessibleComponent_0000_0000_v0_0_s_ifspec; - -#ifndef __IAccessibleComponent_INTERFACE_DEFINED__ -#define __IAccessibleComponent_INTERFACE_DEFINED__ - -/* interface IAccessibleComponent */ -/* [uuid][object] */ - - -EXTERN_C const IID IID_IAccessibleComponent; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("1546D4B0-4C98-4bda-89AE-9A64748BDDE4") - IAccessibleComponent : public IUnknown - { - public: - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_locationInParent( - /* [out] */ long *x, - /* [retval][out] */ long *y) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_foreground( - /* [retval][out] */ IA2Color *foreground) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_background( - /* [retval][out] */ IA2Color *background) = 0; - - }; - -#else /* C style interface */ - - typedef struct IAccessibleComponentVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IAccessibleComponent * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IAccessibleComponent * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IAccessibleComponent * This); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_locationInParent )( - IAccessibleComponent * This, - /* [out] */ long *x, - /* [retval][out] */ long *y); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_foreground )( - IAccessibleComponent * This, - /* [retval][out] */ IA2Color *foreground); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_background )( - IAccessibleComponent * This, - /* [retval][out] */ IA2Color *background); - - END_INTERFACE - } IAccessibleComponentVtbl; - - interface IAccessibleComponent - { - CONST_VTBL struct IAccessibleComponentVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IAccessibleComponent_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IAccessibleComponent_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IAccessibleComponent_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IAccessibleComponent_get_locationInParent(This,x,y) \ - ( (This)->lpVtbl -> get_locationInParent(This,x,y) ) - -#define IAccessibleComponent_get_foreground(This,foreground) \ - ( (This)->lpVtbl -> get_foreground(This,foreground) ) - -#define IAccessibleComponent_get_background(This,background) \ - ( (This)->lpVtbl -> get_background(This,background) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IAccessibleComponent_INTERFACE_DEFINED__ */ - - -/* Additional Prototypes for ALL interfaces */ - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleComponent_i.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleComponent_i.c deleted file mode 100644 index 34be13e31c..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleComponent_i.c +++ /dev/null @@ -1,79 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */ - -/* link this file in with the server and any clients */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:57 2012 - */ -/* Compiler settings for AccessibleComponent.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -#ifdef __cplusplus -extern "C"{ -#endif - - -#include <rpc.h> -#include <rpcndr.h> - -#ifdef _MIDL_USE_GUIDDEF_ - -#ifndef INITGUID -#define INITGUID -#include <guiddef.h> -#undef INITGUID -#else -#include <guiddef.h> -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) - -#else // !_MIDL_USE_GUIDDEF_ - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - -typedef struct _IID -{ - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; -} IID; - -#endif // __IID_DEFINED__ - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED -typedef IID CLSID; -#endif // CLSID_DEFINED - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} - -#endif !_MIDL_USE_GUIDDEF_ - -MIDL_DEFINE_GUID(IID, IID_IAccessibleComponent,0x1546D4B0,0x4C98,0x4bda,0x89,0xAE,0x9A,0x64,0x74,0x8B,0xDD,0xE4); - -#undef MIDL_DEFINE_GUID - -#ifdef __cplusplus -} -#endif - - - diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleComponent_p.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleComponent_p.c deleted file mode 100644 index ddcacff7e7..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleComponent_p.c +++ /dev/null @@ -1,360 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the proxy stub code */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:57 2012 - */ -/* Compiler settings for AccessibleComponent.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#if defined(_M_AMD64) - - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ -#if _MSC_VER >= 1200 -#pragma warning(push) -#endif - -#pragma warning( disable: 4211 ) /* redefine extern to static */ -#pragma warning( disable: 4232 ) /* dllimport identity*/ -#pragma warning( disable: 4024 ) /* array to pointer mapping*/ -#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */ - -#define USE_STUBLESS_PROXY - - -/* verify that the <rpcproxy.h> version is high enough to compile this file*/ -#ifndef __REDQ_RPCPROXY_H_VERSION__ -#define __REQUIRED_RPCPROXY_H_VERSION__ 475 -#endif - - -#include "rpcproxy.h" -#ifndef __RPCPROXY_H_VERSION__ -#error this stub requires an updated version of <rpcproxy.h> -#endif /* __RPCPROXY_H_VERSION__ */ - - -#include "AccessibleComponent.h" - -#define TYPE_FORMAT_STRING_SIZE 7 -#define PROC_FORMAT_STRING_SIZE 121 -#define EXPR_FORMAT_STRING_SIZE 1 -#define TRANSMIT_AS_TABLE_SIZE 0 -#define WIRE_MARSHAL_TABLE_SIZE 0 - -typedef struct _AccessibleComponent_MIDL_TYPE_FORMAT_STRING - { - short Pad; - unsigned char Format[ TYPE_FORMAT_STRING_SIZE ]; - } AccessibleComponent_MIDL_TYPE_FORMAT_STRING; - -typedef struct _AccessibleComponent_MIDL_PROC_FORMAT_STRING - { - short Pad; - unsigned char Format[ PROC_FORMAT_STRING_SIZE ]; - } AccessibleComponent_MIDL_PROC_FORMAT_STRING; - -typedef struct _AccessibleComponent_MIDL_EXPR_FORMAT_STRING - { - long Pad; - unsigned char Format[ EXPR_FORMAT_STRING_SIZE ]; - } AccessibleComponent_MIDL_EXPR_FORMAT_STRING; - - -static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax = -{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}}; - - -extern const AccessibleComponent_MIDL_TYPE_FORMAT_STRING AccessibleComponent__MIDL_TypeFormatString; -extern const AccessibleComponent_MIDL_PROC_FORMAT_STRING AccessibleComponent__MIDL_ProcFormatString; -extern const AccessibleComponent_MIDL_EXPR_FORMAT_STRING AccessibleComponent__MIDL_ExprFormatString; - - -extern const MIDL_STUB_DESC Object_StubDesc; - - -extern const MIDL_SERVER_INFO IAccessibleComponent_ServerInfo; -extern const MIDL_STUBLESS_PROXY_INFO IAccessibleComponent_ProxyInfo; - - - -#if !defined(__RPC_WIN64__) -#error Invalid build platform for this stub. -#endif - -static const AccessibleComponent_MIDL_PROC_FORMAT_STRING AccessibleComponent__MIDL_ProcFormatString = - { - 0, - { - - /* Procedure get_locationInParent */ - - 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 2 */ NdrFcLong( 0x0 ), /* 0 */ -/* 6 */ NdrFcShort( 0x3 ), /* 3 */ -/* 8 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 10 */ NdrFcShort( 0x0 ), /* 0 */ -/* 12 */ NdrFcShort( 0x40 ), /* 64 */ -/* 14 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x3, /* 3 */ -/* 16 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 18 */ NdrFcShort( 0x0 ), /* 0 */ -/* 20 */ NdrFcShort( 0x0 ), /* 0 */ -/* 22 */ NdrFcShort( 0x0 ), /* 0 */ -/* 24 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter x */ - -/* 26 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 28 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 30 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter y */ - -/* 32 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 34 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 36 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 38 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 40 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 42 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_foreground */ - -/* 44 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 46 */ NdrFcLong( 0x0 ), /* 0 */ -/* 50 */ NdrFcShort( 0x4 ), /* 4 */ -/* 52 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 54 */ NdrFcShort( 0x0 ), /* 0 */ -/* 56 */ NdrFcShort( 0x24 ), /* 36 */ -/* 58 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 60 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 62 */ NdrFcShort( 0x0 ), /* 0 */ -/* 64 */ NdrFcShort( 0x0 ), /* 0 */ -/* 66 */ NdrFcShort( 0x0 ), /* 0 */ -/* 68 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter foreground */ - -/* 70 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 72 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 74 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 76 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 78 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 80 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_background */ - -/* 82 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 84 */ NdrFcLong( 0x0 ), /* 0 */ -/* 88 */ NdrFcShort( 0x5 ), /* 5 */ -/* 90 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 92 */ NdrFcShort( 0x0 ), /* 0 */ -/* 94 */ NdrFcShort( 0x24 ), /* 36 */ -/* 96 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 98 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 100 */ NdrFcShort( 0x0 ), /* 0 */ -/* 102 */ NdrFcShort( 0x0 ), /* 0 */ -/* 104 */ NdrFcShort( 0x0 ), /* 0 */ -/* 106 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter background */ - -/* 108 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 110 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 112 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 114 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 116 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 118 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - 0x0 - } - }; - -static const AccessibleComponent_MIDL_TYPE_FORMAT_STRING AccessibleComponent__MIDL_TypeFormatString = - { - 0, - { - NdrFcShort( 0x0 ), /* 0 */ -/* 2 */ - 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */ -/* 4 */ 0x8, /* FC_LONG */ - 0x5c, /* FC_PAD */ - - 0x0 - } - }; - - -/* Standard interface: __MIDL_itf_AccessibleComponent_0000_0000, ver. 0.0, - GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */ - - -/* Object interface: IUnknown, ver. 0.0, - GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */ - - -/* Object interface: IAccessibleComponent, ver. 0.0, - GUID={0x1546D4B0,0x4C98,0x4bda,{0x89,0xAE,0x9A,0x64,0x74,0x8B,0xDD,0xE4}} */ - -#pragma code_seg(".orpc") -static const unsigned short IAccessibleComponent_FormatStringOffsetTable[] = - { - 0, - 44, - 82 - }; - -static const MIDL_STUBLESS_PROXY_INFO IAccessibleComponent_ProxyInfo = - { - &Object_StubDesc, - AccessibleComponent__MIDL_ProcFormatString.Format, - &IAccessibleComponent_FormatStringOffsetTable[-3], - 0, - 0, - 0 - }; - - -static const MIDL_SERVER_INFO IAccessibleComponent_ServerInfo = - { - &Object_StubDesc, - 0, - AccessibleComponent__MIDL_ProcFormatString.Format, - &IAccessibleComponent_FormatStringOffsetTable[-3], - 0, - 0, - 0, - 0}; -CINTERFACE_PROXY_VTABLE(6) _IAccessibleComponentProxyVtbl = -{ - &IAccessibleComponent_ProxyInfo, - &IID_IAccessibleComponent, - IUnknown_QueryInterface_Proxy, - IUnknown_AddRef_Proxy, - IUnknown_Release_Proxy , - (void *) (INT_PTR) -1 /* IAccessibleComponent::get_locationInParent */ , - (void *) (INT_PTR) -1 /* IAccessibleComponent::get_foreground */ , - (void *) (INT_PTR) -1 /* IAccessibleComponent::get_background */ -}; - -const CInterfaceStubVtbl _IAccessibleComponentStubVtbl = -{ - &IID_IAccessibleComponent, - &IAccessibleComponent_ServerInfo, - 6, - 0, /* pure interpreted */ - CStdStubBuffer_METHODS -}; - -static const MIDL_STUB_DESC Object_StubDesc = - { - 0, - NdrOleAllocate, - NdrOleFree, - 0, - 0, - 0, - 0, - 0, - AccessibleComponent__MIDL_TypeFormatString.Format, - 1, /* -error bounds_check flag */ - 0x50002, /* Ndr library version */ - 0, - 0x700022b, /* MIDL Version 7.0.555 */ - 0, - 0, - 0, /* notify & notify_flag routine table */ - 0x1, /* MIDL flag */ - 0, /* cs routines */ - 0, /* proxy/server info */ - 0 - }; - -const CInterfaceProxyVtbl * const _AccessibleComponent_ProxyVtblList[] = -{ - ( CInterfaceProxyVtbl *) &_IAccessibleComponentProxyVtbl, - 0 -}; - -const CInterfaceStubVtbl * const _AccessibleComponent_StubVtblList[] = -{ - ( CInterfaceStubVtbl *) &_IAccessibleComponentStubVtbl, - 0 -}; - -PCInterfaceName const _AccessibleComponent_InterfaceNamesList[] = -{ - "IAccessibleComponent", - 0 -}; - - -#define _AccessibleComponent_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleComponent, pIID, n) - -int __stdcall _AccessibleComponent_IID_Lookup( const IID * pIID, int * pIndex ) -{ - - if(!_AccessibleComponent_CHECK_IID(0)) - { - *pIndex = 0; - return 1; - } - - return 0; -} - -const ExtendedProxyFileInfo AccessibleComponent_ProxyFileInfo = -{ - (PCInterfaceProxyVtblList *) & _AccessibleComponent_ProxyVtblList, - (PCInterfaceStubVtblList *) & _AccessibleComponent_StubVtblList, - (const PCInterfaceName * ) & _AccessibleComponent_InterfaceNamesList, - 0, /* no delegation */ - & _AccessibleComponent_IID_Lookup, - 1, - 2, - 0, /* table of [async_uuid] interfaces */ - 0, /* Filler1 */ - 0, /* Filler2 */ - 0 /* Filler3 */ -}; -#if _MSC_VER >= 1200 -#pragma warning(pop) -#endif - - -#endif /* defined(_M_AMD64)*/ - diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleEditableText.h b/src/3rdparty/iaccessible2/generated/amd64/AccessibleEditableText.h deleted file mode 100644 index 4c94154a15..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleEditableText.h +++ /dev/null @@ -1,235 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:57 2012 - */ -/* Compiler settings for AccessibleEditableText.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the <rpcndr.h> version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of <rpcndr.h> -#endif // __RPCNDR_H_VERSION__ - -#ifndef COM_NO_WINDOWS_H -#include "windows.h" -#include "ole2.h" -#endif /*COM_NO_WINDOWS_H*/ - -#ifndef __AccessibleEditableText_h__ -#define __AccessibleEditableText_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -#ifndef __IAccessibleEditableText_FWD_DEFINED__ -#define __IAccessibleEditableText_FWD_DEFINED__ -typedef interface IAccessibleEditableText IAccessibleEditableText; -#endif /* __IAccessibleEditableText_FWD_DEFINED__ */ - - -/* header files for imported files */ -#include "objidl.h" -#include "oaidl.h" -#include "oleacc.h" -#include "IA2CommonTypes.h" - -#ifdef __cplusplus -extern "C"{ -#endif - - -#ifndef __IAccessibleEditableText_INTERFACE_DEFINED__ -#define __IAccessibleEditableText_INTERFACE_DEFINED__ - -/* interface IAccessibleEditableText */ -/* [uuid][object] */ - - -EXTERN_C const IID IID_IAccessibleEditableText; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("A59AA09A-7011-4b65-939D-32B1FB5547E3") - IAccessibleEditableText : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE copyText( - /* [in] */ long startOffset, - /* [in] */ long endOffset) = 0; - - virtual HRESULT STDMETHODCALLTYPE deleteText( - /* [in] */ long startOffset, - /* [in] */ long endOffset) = 0; - - virtual HRESULT STDMETHODCALLTYPE insertText( - /* [in] */ long offset, - /* [in] */ BSTR *text) = 0; - - virtual HRESULT STDMETHODCALLTYPE cutText( - /* [in] */ long startOffset, - /* [in] */ long endOffset) = 0; - - virtual HRESULT STDMETHODCALLTYPE pasteText( - /* [in] */ long offset) = 0; - - virtual HRESULT STDMETHODCALLTYPE replaceText( - /* [in] */ long startOffset, - /* [in] */ long endOffset, - /* [in] */ BSTR *text) = 0; - - virtual HRESULT STDMETHODCALLTYPE setAttributes( - /* [in] */ long startOffset, - /* [in] */ long endOffset, - /* [in] */ BSTR *attributes) = 0; - - }; - -#else /* C style interface */ - - typedef struct IAccessibleEditableTextVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IAccessibleEditableText * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IAccessibleEditableText * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IAccessibleEditableText * This); - - HRESULT ( STDMETHODCALLTYPE *copyText )( - IAccessibleEditableText * This, - /* [in] */ long startOffset, - /* [in] */ long endOffset); - - HRESULT ( STDMETHODCALLTYPE *deleteText )( - IAccessibleEditableText * This, - /* [in] */ long startOffset, - /* [in] */ long endOffset); - - HRESULT ( STDMETHODCALLTYPE *insertText )( - IAccessibleEditableText * This, - /* [in] */ long offset, - /* [in] */ BSTR *text); - - HRESULT ( STDMETHODCALLTYPE *cutText )( - IAccessibleEditableText * This, - /* [in] */ long startOffset, - /* [in] */ long endOffset); - - HRESULT ( STDMETHODCALLTYPE *pasteText )( - IAccessibleEditableText * This, - /* [in] */ long offset); - - HRESULT ( STDMETHODCALLTYPE *replaceText )( - IAccessibleEditableText * This, - /* [in] */ long startOffset, - /* [in] */ long endOffset, - /* [in] */ BSTR *text); - - HRESULT ( STDMETHODCALLTYPE *setAttributes )( - IAccessibleEditableText * This, - /* [in] */ long startOffset, - /* [in] */ long endOffset, - /* [in] */ BSTR *attributes); - - END_INTERFACE - } IAccessibleEditableTextVtbl; - - interface IAccessibleEditableText - { - CONST_VTBL struct IAccessibleEditableTextVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IAccessibleEditableText_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IAccessibleEditableText_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IAccessibleEditableText_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IAccessibleEditableText_copyText(This,startOffset,endOffset) \ - ( (This)->lpVtbl -> copyText(This,startOffset,endOffset) ) - -#define IAccessibleEditableText_deleteText(This,startOffset,endOffset) \ - ( (This)->lpVtbl -> deleteText(This,startOffset,endOffset) ) - -#define IAccessibleEditableText_insertText(This,offset,text) \ - ( (This)->lpVtbl -> insertText(This,offset,text) ) - -#define IAccessibleEditableText_cutText(This,startOffset,endOffset) \ - ( (This)->lpVtbl -> cutText(This,startOffset,endOffset) ) - -#define IAccessibleEditableText_pasteText(This,offset) \ - ( (This)->lpVtbl -> pasteText(This,offset) ) - -#define IAccessibleEditableText_replaceText(This,startOffset,endOffset,text) \ - ( (This)->lpVtbl -> replaceText(This,startOffset,endOffset,text) ) - -#define IAccessibleEditableText_setAttributes(This,startOffset,endOffset,attributes) \ - ( (This)->lpVtbl -> setAttributes(This,startOffset,endOffset,attributes) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IAccessibleEditableText_INTERFACE_DEFINED__ */ - - -/* Additional Prototypes for ALL interfaces */ - -unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * ); -unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * ); -unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); -void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * ); - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleEditableText_i.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleEditableText_i.c deleted file mode 100644 index a444951721..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleEditableText_i.c +++ /dev/null @@ -1,79 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */ - -/* link this file in with the server and any clients */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:57 2012 - */ -/* Compiler settings for AccessibleEditableText.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -#ifdef __cplusplus -extern "C"{ -#endif - - -#include <rpc.h> -#include <rpcndr.h> - -#ifdef _MIDL_USE_GUIDDEF_ - -#ifndef INITGUID -#define INITGUID -#include <guiddef.h> -#undef INITGUID -#else -#include <guiddef.h> -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) - -#else // !_MIDL_USE_GUIDDEF_ - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - -typedef struct _IID -{ - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; -} IID; - -#endif // __IID_DEFINED__ - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED -typedef IID CLSID; -#endif // CLSID_DEFINED - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} - -#endif !_MIDL_USE_GUIDDEF_ - -MIDL_DEFINE_GUID(IID, IID_IAccessibleEditableText,0xA59AA09A,0x7011,0x4b65,0x93,0x9D,0x32,0xB1,0xFB,0x55,0x47,0xE3); - -#undef MIDL_DEFINE_GUID - -#ifdef __cplusplus -} -#endif - - - diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleEditableText_p.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleEditableText_p.c deleted file mode 100644 index 9e9b466d86..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleEditableText_p.c +++ /dev/null @@ -1,579 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the proxy stub code */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:57 2012 - */ -/* Compiler settings for AccessibleEditableText.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#if defined(_M_AMD64) - - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ -#if _MSC_VER >= 1200 -#pragma warning(push) -#endif - -#pragma warning( disable: 4211 ) /* redefine extern to static */ -#pragma warning( disable: 4232 ) /* dllimport identity*/ -#pragma warning( disable: 4024 ) /* array to pointer mapping*/ -#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */ - -#define USE_STUBLESS_PROXY - - -/* verify that the <rpcproxy.h> version is high enough to compile this file*/ -#ifndef __REDQ_RPCPROXY_H_VERSION__ -#define __REQUIRED_RPCPROXY_H_VERSION__ 475 -#endif - - -#include "rpcproxy.h" -#ifndef __RPCPROXY_H_VERSION__ -#error this stub requires an updated version of <rpcproxy.h> -#endif /* __RPCPROXY_H_VERSION__ */ - - -#include "AccessibleEditableText.h" - -#define TYPE_FORMAT_STRING_SIZE 43 -#define PROC_FORMAT_STRING_SIZE 315 -#define EXPR_FORMAT_STRING_SIZE 1 -#define TRANSMIT_AS_TABLE_SIZE 0 -#define WIRE_MARSHAL_TABLE_SIZE 1 - -typedef struct _AccessibleEditableText_MIDL_TYPE_FORMAT_STRING - { - short Pad; - unsigned char Format[ TYPE_FORMAT_STRING_SIZE ]; - } AccessibleEditableText_MIDL_TYPE_FORMAT_STRING; - -typedef struct _AccessibleEditableText_MIDL_PROC_FORMAT_STRING - { - short Pad; - unsigned char Format[ PROC_FORMAT_STRING_SIZE ]; - } AccessibleEditableText_MIDL_PROC_FORMAT_STRING; - -typedef struct _AccessibleEditableText_MIDL_EXPR_FORMAT_STRING - { - long Pad; - unsigned char Format[ EXPR_FORMAT_STRING_SIZE ]; - } AccessibleEditableText_MIDL_EXPR_FORMAT_STRING; - - -static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax = -{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}}; - - -extern const AccessibleEditableText_MIDL_TYPE_FORMAT_STRING AccessibleEditableText__MIDL_TypeFormatString; -extern const AccessibleEditableText_MIDL_PROC_FORMAT_STRING AccessibleEditableText__MIDL_ProcFormatString; -extern const AccessibleEditableText_MIDL_EXPR_FORMAT_STRING AccessibleEditableText__MIDL_ExprFormatString; - - -extern const MIDL_STUB_DESC Object_StubDesc; - - -extern const MIDL_SERVER_INFO IAccessibleEditableText_ServerInfo; -extern const MIDL_STUBLESS_PROXY_INFO IAccessibleEditableText_ProxyInfo; - - -extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ]; - -#if !defined(__RPC_WIN64__) -#error Invalid build platform for this stub. -#endif - -static const AccessibleEditableText_MIDL_PROC_FORMAT_STRING AccessibleEditableText__MIDL_ProcFormatString = - { - 0, - { - - /* Procedure copyText */ - - 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 2 */ NdrFcLong( 0x0 ), /* 0 */ -/* 6 */ NdrFcShort( 0x3 ), /* 3 */ -/* 8 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 10 */ NdrFcShort( 0x10 ), /* 16 */ -/* 12 */ NdrFcShort( 0x8 ), /* 8 */ -/* 14 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x3, /* 3 */ -/* 16 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 18 */ NdrFcShort( 0x0 ), /* 0 */ -/* 20 */ NdrFcShort( 0x0 ), /* 0 */ -/* 22 */ NdrFcShort( 0x0 ), /* 0 */ -/* 24 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter startOffset */ - -/* 26 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 28 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 30 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter endOffset */ - -/* 32 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 34 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 36 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 38 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 40 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 42 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure deleteText */ - -/* 44 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 46 */ NdrFcLong( 0x0 ), /* 0 */ -/* 50 */ NdrFcShort( 0x4 ), /* 4 */ -/* 52 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 54 */ NdrFcShort( 0x10 ), /* 16 */ -/* 56 */ NdrFcShort( 0x8 ), /* 8 */ -/* 58 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x3, /* 3 */ -/* 60 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 62 */ NdrFcShort( 0x0 ), /* 0 */ -/* 64 */ NdrFcShort( 0x0 ), /* 0 */ -/* 66 */ NdrFcShort( 0x0 ), /* 0 */ -/* 68 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter startOffset */ - -/* 70 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 72 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 74 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter endOffset */ - -/* 76 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 78 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 80 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 82 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 84 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 86 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure insertText */ - -/* 88 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 90 */ NdrFcLong( 0x0 ), /* 0 */ -/* 94 */ NdrFcShort( 0x5 ), /* 5 */ -/* 96 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 98 */ NdrFcShort( 0x8 ), /* 8 */ -/* 100 */ NdrFcShort( 0x8 ), /* 8 */ -/* 102 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ - 0x3, /* 3 */ -/* 104 */ 0xa, /* 10 */ - 0x5, /* Ext Flags: new corr desc, srv corr check, */ -/* 106 */ NdrFcShort( 0x0 ), /* 0 */ -/* 108 */ NdrFcShort( 0x1 ), /* 1 */ -/* 110 */ NdrFcShort( 0x0 ), /* 0 */ -/* 112 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter offset */ - -/* 114 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 116 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 118 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter text */ - -/* 120 */ NdrFcShort( 0x10b ), /* Flags: must size, must free, in, simple ref, */ -/* 122 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 124 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ - - /* Return value */ - -/* 126 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 128 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 130 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure cutText */ - -/* 132 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 134 */ NdrFcLong( 0x0 ), /* 0 */ -/* 138 */ NdrFcShort( 0x6 ), /* 6 */ -/* 140 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 142 */ NdrFcShort( 0x10 ), /* 16 */ -/* 144 */ NdrFcShort( 0x8 ), /* 8 */ -/* 146 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x3, /* 3 */ -/* 148 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 150 */ NdrFcShort( 0x0 ), /* 0 */ -/* 152 */ NdrFcShort( 0x0 ), /* 0 */ -/* 154 */ NdrFcShort( 0x0 ), /* 0 */ -/* 156 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter startOffset */ - -/* 158 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 160 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 162 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter endOffset */ - -/* 164 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 166 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 168 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 170 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 172 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 174 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure pasteText */ - -/* 176 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 178 */ NdrFcLong( 0x0 ), /* 0 */ -/* 182 */ NdrFcShort( 0x7 ), /* 7 */ -/* 184 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 186 */ NdrFcShort( 0x8 ), /* 8 */ -/* 188 */ NdrFcShort( 0x8 ), /* 8 */ -/* 190 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 192 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 194 */ NdrFcShort( 0x0 ), /* 0 */ -/* 196 */ NdrFcShort( 0x0 ), /* 0 */ -/* 198 */ NdrFcShort( 0x0 ), /* 0 */ -/* 200 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter offset */ - -/* 202 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 204 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 206 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 208 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 210 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 212 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure replaceText */ - -/* 214 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 216 */ NdrFcLong( 0x0 ), /* 0 */ -/* 220 */ NdrFcShort( 0x8 ), /* 8 */ -/* 222 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ -/* 224 */ NdrFcShort( 0x10 ), /* 16 */ -/* 226 */ NdrFcShort( 0x8 ), /* 8 */ -/* 228 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ - 0x4, /* 4 */ -/* 230 */ 0xa, /* 10 */ - 0x5, /* Ext Flags: new corr desc, srv corr check, */ -/* 232 */ NdrFcShort( 0x0 ), /* 0 */ -/* 234 */ NdrFcShort( 0x1 ), /* 1 */ -/* 236 */ NdrFcShort( 0x0 ), /* 0 */ -/* 238 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter startOffset */ - -/* 240 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 242 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 244 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter endOffset */ - -/* 246 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 248 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 250 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter text */ - -/* 252 */ NdrFcShort( 0x10b ), /* Flags: must size, must free, in, simple ref, */ -/* 254 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 256 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ - - /* Return value */ - -/* 258 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 260 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 262 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure setAttributes */ - -/* 264 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 266 */ NdrFcLong( 0x0 ), /* 0 */ -/* 270 */ NdrFcShort( 0x9 ), /* 9 */ -/* 272 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ -/* 274 */ NdrFcShort( 0x10 ), /* 16 */ -/* 276 */ NdrFcShort( 0x8 ), /* 8 */ -/* 278 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ - 0x4, /* 4 */ -/* 280 */ 0xa, /* 10 */ - 0x5, /* Ext Flags: new corr desc, srv corr check, */ -/* 282 */ NdrFcShort( 0x0 ), /* 0 */ -/* 284 */ NdrFcShort( 0x1 ), /* 1 */ -/* 286 */ NdrFcShort( 0x0 ), /* 0 */ -/* 288 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter startOffset */ - -/* 290 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 292 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 294 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter endOffset */ - -/* 296 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 298 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 300 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter attributes */ - -/* 302 */ NdrFcShort( 0x10b ), /* Flags: must size, must free, in, simple ref, */ -/* 304 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 306 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ - - /* Return value */ - -/* 308 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 310 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 312 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - 0x0 - } - }; - -static const AccessibleEditableText_MIDL_TYPE_FORMAT_STRING AccessibleEditableText__MIDL_TypeFormatString = - { - 0, - { - NdrFcShort( 0x0 ), /* 0 */ -/* 2 */ - 0x11, 0x0, /* FC_RP */ -/* 4 */ NdrFcShort( 0x1c ), /* Offset= 28 (32) */ -/* 6 */ - 0x12, 0x0, /* FC_UP */ -/* 8 */ NdrFcShort( 0xe ), /* Offset= 14 (22) */ -/* 10 */ - 0x1b, /* FC_CARRAY */ - 0x1, /* 1 */ -/* 12 */ NdrFcShort( 0x2 ), /* 2 */ -/* 14 */ 0x9, /* Corr desc: FC_ULONG */ - 0x0, /* */ -/* 16 */ NdrFcShort( 0xfffc ), /* -4 */ -/* 18 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 20 */ 0x6, /* FC_SHORT */ - 0x5b, /* FC_END */ -/* 22 */ - 0x17, /* FC_CSTRUCT */ - 0x3, /* 3 */ -/* 24 */ NdrFcShort( 0x8 ), /* 8 */ -/* 26 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (10) */ -/* 28 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 30 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 32 */ 0xb4, /* FC_USER_MARSHAL */ - 0x83, /* 131 */ -/* 34 */ NdrFcShort( 0x0 ), /* 0 */ -/* 36 */ NdrFcShort( 0x8 ), /* 8 */ -/* 38 */ NdrFcShort( 0x0 ), /* 0 */ -/* 40 */ NdrFcShort( 0xffde ), /* Offset= -34 (6) */ - - 0x0 - } - }; - -static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] = - { - - { - BSTR_UserSize - ,BSTR_UserMarshal - ,BSTR_UserUnmarshal - ,BSTR_UserFree - } - - }; - - - -/* Object interface: IUnknown, ver. 0.0, - GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */ - - -/* Object interface: IAccessibleEditableText, ver. 0.0, - GUID={0xA59AA09A,0x7011,0x4b65,{0x93,0x9D,0x32,0xB1,0xFB,0x55,0x47,0xE3}} */ - -#pragma code_seg(".orpc") -static const unsigned short IAccessibleEditableText_FormatStringOffsetTable[] = - { - 0, - 44, - 88, - 132, - 176, - 214, - 264 - }; - -static const MIDL_STUBLESS_PROXY_INFO IAccessibleEditableText_ProxyInfo = - { - &Object_StubDesc, - AccessibleEditableText__MIDL_ProcFormatString.Format, - &IAccessibleEditableText_FormatStringOffsetTable[-3], - 0, - 0, - 0 - }; - - -static const MIDL_SERVER_INFO IAccessibleEditableText_ServerInfo = - { - &Object_StubDesc, - 0, - AccessibleEditableText__MIDL_ProcFormatString.Format, - &IAccessibleEditableText_FormatStringOffsetTable[-3], - 0, - 0, - 0, - 0}; -CINTERFACE_PROXY_VTABLE(10) _IAccessibleEditableTextProxyVtbl = -{ - &IAccessibleEditableText_ProxyInfo, - &IID_IAccessibleEditableText, - IUnknown_QueryInterface_Proxy, - IUnknown_AddRef_Proxy, - IUnknown_Release_Proxy , - (void *) (INT_PTR) -1 /* IAccessibleEditableText::copyText */ , - (void *) (INT_PTR) -1 /* IAccessibleEditableText::deleteText */ , - (void *) (INT_PTR) -1 /* IAccessibleEditableText::insertText */ , - (void *) (INT_PTR) -1 /* IAccessibleEditableText::cutText */ , - (void *) (INT_PTR) -1 /* IAccessibleEditableText::pasteText */ , - (void *) (INT_PTR) -1 /* IAccessibleEditableText::replaceText */ , - (void *) (INT_PTR) -1 /* IAccessibleEditableText::setAttributes */ -}; - -const CInterfaceStubVtbl _IAccessibleEditableTextStubVtbl = -{ - &IID_IAccessibleEditableText, - &IAccessibleEditableText_ServerInfo, - 10, - 0, /* pure interpreted */ - CStdStubBuffer_METHODS -}; - -static const MIDL_STUB_DESC Object_StubDesc = - { - 0, - NdrOleAllocate, - NdrOleFree, - 0, - 0, - 0, - 0, - 0, - AccessibleEditableText__MIDL_TypeFormatString.Format, - 1, /* -error bounds_check flag */ - 0x50002, /* Ndr library version */ - 0, - 0x700022b, /* MIDL Version 7.0.555 */ - 0, - UserMarshalRoutines, - 0, /* notify & notify_flag routine table */ - 0x1, /* MIDL flag */ - 0, /* cs routines */ - 0, /* proxy/server info */ - 0 - }; - -const CInterfaceProxyVtbl * const _AccessibleEditableText_ProxyVtblList[] = -{ - ( CInterfaceProxyVtbl *) &_IAccessibleEditableTextProxyVtbl, - 0 -}; - -const CInterfaceStubVtbl * const _AccessibleEditableText_StubVtblList[] = -{ - ( CInterfaceStubVtbl *) &_IAccessibleEditableTextStubVtbl, - 0 -}; - -PCInterfaceName const _AccessibleEditableText_InterfaceNamesList[] = -{ - "IAccessibleEditableText", - 0 -}; - - -#define _AccessibleEditableText_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleEditableText, pIID, n) - -int __stdcall _AccessibleEditableText_IID_Lookup( const IID * pIID, int * pIndex ) -{ - - if(!_AccessibleEditableText_CHECK_IID(0)) - { - *pIndex = 0; - return 1; - } - - return 0; -} - -const ExtendedProxyFileInfo AccessibleEditableText_ProxyFileInfo = -{ - (PCInterfaceProxyVtblList *) & _AccessibleEditableText_ProxyVtblList, - (PCInterfaceStubVtblList *) & _AccessibleEditableText_StubVtblList, - (const PCInterfaceName * ) & _AccessibleEditableText_InterfaceNamesList, - 0, /* no delegation */ - & _AccessibleEditableText_IID_Lookup, - 1, - 2, - 0, /* table of [async_uuid] interfaces */ - 0, /* Filler1 */ - 0, /* Filler2 */ - 0 /* Filler3 */ -}; -#if _MSC_VER >= 1200 -#pragma warning(pop) -#endif - - -#endif /* defined(_M_AMD64)*/ - diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleEventID.h b/src/3rdparty/iaccessible2/generated/amd64/AccessibleEventID.h deleted file mode 100644 index 6e6c8a888a..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleEventID.h +++ /dev/null @@ -1,105 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:57 2012 - */ -/* Compiler settings for AccessibleEventID.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the <rpcndr.h> version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of <rpcndr.h> -#endif // __RPCNDR_H_VERSION__ - - -#ifndef __AccessibleEventID_h__ -#define __AccessibleEventID_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -#ifdef __cplusplus -extern "C"{ -#endif - - -/* interface __MIDL_itf_AccessibleEventID_0000_0000 */ -/* [local] */ - - -enum IA2EventID - { IA2_EVENT_ACTION_CHANGED = 0x101, - IA2_EVENT_ACTIVE_DECENDENT_CHANGED = ( IA2_EVENT_ACTION_CHANGED + 1 ) , - IA2_EVENT_ACTIVE_DESCENDANT_CHANGED = IA2_EVENT_ACTIVE_DECENDENT_CHANGED, - IA2_EVENT_DOCUMENT_ATTRIBUTE_CHANGED = ( IA2_EVENT_ACTIVE_DESCENDANT_CHANGED + 1 ) , - IA2_EVENT_DOCUMENT_CONTENT_CHANGED = ( IA2_EVENT_DOCUMENT_ATTRIBUTE_CHANGED + 1 ) , - IA2_EVENT_DOCUMENT_LOAD_COMPLETE = ( IA2_EVENT_DOCUMENT_CONTENT_CHANGED + 1 ) , - IA2_EVENT_DOCUMENT_LOAD_STOPPED = ( IA2_EVENT_DOCUMENT_LOAD_COMPLETE + 1 ) , - IA2_EVENT_DOCUMENT_RELOAD = ( IA2_EVENT_DOCUMENT_LOAD_STOPPED + 1 ) , - IA2_EVENT_HYPERLINK_END_INDEX_CHANGED = ( IA2_EVENT_DOCUMENT_RELOAD + 1 ) , - IA2_EVENT_HYPERLINK_NUMBER_OF_ANCHORS_CHANGED = ( IA2_EVENT_HYPERLINK_END_INDEX_CHANGED + 1 ) , - IA2_EVENT_HYPERLINK_SELECTED_LINK_CHANGED = ( IA2_EVENT_HYPERLINK_NUMBER_OF_ANCHORS_CHANGED + 1 ) , - IA2_EVENT_HYPERTEXT_LINK_ACTIVATED = ( IA2_EVENT_HYPERLINK_SELECTED_LINK_CHANGED + 1 ) , - IA2_EVENT_HYPERTEXT_LINK_SELECTED = ( IA2_EVENT_HYPERTEXT_LINK_ACTIVATED + 1 ) , - IA2_EVENT_HYPERLINK_START_INDEX_CHANGED = ( IA2_EVENT_HYPERTEXT_LINK_SELECTED + 1 ) , - IA2_EVENT_HYPERTEXT_CHANGED = ( IA2_EVENT_HYPERLINK_START_INDEX_CHANGED + 1 ) , - IA2_EVENT_HYPERTEXT_NLINKS_CHANGED = ( IA2_EVENT_HYPERTEXT_CHANGED + 1 ) , - IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED = ( IA2_EVENT_HYPERTEXT_NLINKS_CHANGED + 1 ) , - IA2_EVENT_PAGE_CHANGED = ( IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED + 1 ) , - IA2_EVENT_SECTION_CHANGED = ( IA2_EVENT_PAGE_CHANGED + 1 ) , - IA2_EVENT_TABLE_CAPTION_CHANGED = ( IA2_EVENT_SECTION_CHANGED + 1 ) , - IA2_EVENT_TABLE_COLUMN_DESCRIPTION_CHANGED = ( IA2_EVENT_TABLE_CAPTION_CHANGED + 1 ) , - IA2_EVENT_TABLE_COLUMN_HEADER_CHANGED = ( IA2_EVENT_TABLE_COLUMN_DESCRIPTION_CHANGED + 1 ) , - IA2_EVENT_TABLE_MODEL_CHANGED = ( IA2_EVENT_TABLE_COLUMN_HEADER_CHANGED + 1 ) , - IA2_EVENT_TABLE_ROW_DESCRIPTION_CHANGED = ( IA2_EVENT_TABLE_MODEL_CHANGED + 1 ) , - IA2_EVENT_TABLE_ROW_HEADER_CHANGED = ( IA2_EVENT_TABLE_ROW_DESCRIPTION_CHANGED + 1 ) , - IA2_EVENT_TABLE_SUMMARY_CHANGED = ( IA2_EVENT_TABLE_ROW_HEADER_CHANGED + 1 ) , - IA2_EVENT_TEXT_ATTRIBUTE_CHANGED = ( IA2_EVENT_TABLE_SUMMARY_CHANGED + 1 ) , - IA2_EVENT_TEXT_CARET_MOVED = ( IA2_EVENT_TEXT_ATTRIBUTE_CHANGED + 1 ) , - IA2_EVENT_TEXT_CHANGED = ( IA2_EVENT_TEXT_CARET_MOVED + 1 ) , - IA2_EVENT_TEXT_COLUMN_CHANGED = ( IA2_EVENT_TEXT_CHANGED + 1 ) , - IA2_EVENT_TEXT_INSERTED = ( IA2_EVENT_TEXT_COLUMN_CHANGED + 1 ) , - IA2_EVENT_TEXT_REMOVED = ( IA2_EVENT_TEXT_INSERTED + 1 ) , - IA2_EVENT_TEXT_UPDATED = ( IA2_EVENT_TEXT_REMOVED + 1 ) , - IA2_EVENT_TEXT_SELECTION_CHANGED = ( IA2_EVENT_TEXT_UPDATED + 1 ) , - IA2_EVENT_VISIBLE_DATA_CHANGED = ( IA2_EVENT_TEXT_SELECTION_CHANGED + 1 ) - } ; - - -extern RPC_IF_HANDLE __MIDL_itf_AccessibleEventID_0000_0000_v0_0_c_ifspec; -extern RPC_IF_HANDLE __MIDL_itf_AccessibleEventID_0000_0000_v0_0_s_ifspec; - -/* Additional Prototypes for ALL interfaces */ - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleHyperlink.h b/src/3rdparty/iaccessible2/generated/amd64/AccessibleHyperlink.h deleted file mode 100644 index 24fad0bd8a..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleHyperlink.h +++ /dev/null @@ -1,252 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:57 2012 - */ -/* Compiler settings for AccessibleHyperlink.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the <rpcndr.h> version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of <rpcndr.h> -#endif // __RPCNDR_H_VERSION__ - -#ifndef COM_NO_WINDOWS_H -#include "windows.h" -#include "ole2.h" -#endif /*COM_NO_WINDOWS_H*/ - -#ifndef __AccessibleHyperlink_h__ -#define __AccessibleHyperlink_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -#ifndef __IAccessibleHyperlink_FWD_DEFINED__ -#define __IAccessibleHyperlink_FWD_DEFINED__ -typedef interface IAccessibleHyperlink IAccessibleHyperlink; -#endif /* __IAccessibleHyperlink_FWD_DEFINED__ */ - - -/* header files for imported files */ -#include "objidl.h" -#include "oaidl.h" -#include "oleacc.h" -#include "AccessibleAction.h" - -#ifdef __cplusplus -extern "C"{ -#endif - - -#ifndef __IAccessibleHyperlink_INTERFACE_DEFINED__ -#define __IAccessibleHyperlink_INTERFACE_DEFINED__ - -/* interface IAccessibleHyperlink */ -/* [uuid][object] */ - - -EXTERN_C const IID IID_IAccessibleHyperlink; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("01C20F2B-3DD2-400f-949F-AD00BDAB1D41") - IAccessibleHyperlink : public IAccessibleAction - { - public: - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_anchor( - /* [in] */ long index, - /* [retval][out] */ VARIANT *anchor) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_anchorTarget( - /* [in] */ long index, - /* [retval][out] */ VARIANT *anchorTarget) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_startIndex( - /* [retval][out] */ long *index) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_endIndex( - /* [retval][out] */ long *index) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_valid( - /* [retval][out] */ boolean *valid) = 0; - - }; - -#else /* C style interface */ - - typedef struct IAccessibleHyperlinkVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IAccessibleHyperlink * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IAccessibleHyperlink * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IAccessibleHyperlink * This); - - HRESULT ( STDMETHODCALLTYPE *nActions )( - IAccessibleHyperlink * This, - /* [retval][out] */ long *nActions); - - HRESULT ( STDMETHODCALLTYPE *doAction )( - IAccessibleHyperlink * This, - /* [in] */ long actionIndex); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_description )( - IAccessibleHyperlink * This, - /* [in] */ long actionIndex, - /* [retval][out] */ BSTR *description); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_keyBinding )( - IAccessibleHyperlink * This, - /* [in] */ long actionIndex, - /* [in] */ long nMaxBindings, - /* [length_is][length_is][size_is][size_is][out] */ BSTR **keyBindings, - /* [retval][out] */ long *nBindings); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( - IAccessibleHyperlink * This, - /* [in] */ long actionIndex, - /* [retval][out] */ BSTR *name); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedName )( - IAccessibleHyperlink * This, - /* [in] */ long actionIndex, - /* [retval][out] */ BSTR *localizedName); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_anchor )( - IAccessibleHyperlink * This, - /* [in] */ long index, - /* [retval][out] */ VARIANT *anchor); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_anchorTarget )( - IAccessibleHyperlink * This, - /* [in] */ long index, - /* [retval][out] */ VARIANT *anchorTarget); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_startIndex )( - IAccessibleHyperlink * This, - /* [retval][out] */ long *index); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_endIndex )( - IAccessibleHyperlink * This, - /* [retval][out] */ long *index); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_valid )( - IAccessibleHyperlink * This, - /* [retval][out] */ boolean *valid); - - END_INTERFACE - } IAccessibleHyperlinkVtbl; - - interface IAccessibleHyperlink - { - CONST_VTBL struct IAccessibleHyperlinkVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IAccessibleHyperlink_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IAccessibleHyperlink_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IAccessibleHyperlink_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IAccessibleHyperlink_nActions(This,nActions) \ - ( (This)->lpVtbl -> nActions(This,nActions) ) - -#define IAccessibleHyperlink_doAction(This,actionIndex) \ - ( (This)->lpVtbl -> doAction(This,actionIndex) ) - -#define IAccessibleHyperlink_get_description(This,actionIndex,description) \ - ( (This)->lpVtbl -> get_description(This,actionIndex,description) ) - -#define IAccessibleHyperlink_get_keyBinding(This,actionIndex,nMaxBindings,keyBindings,nBindings) \ - ( (This)->lpVtbl -> get_keyBinding(This,actionIndex,nMaxBindings,keyBindings,nBindings) ) - -#define IAccessibleHyperlink_get_name(This,actionIndex,name) \ - ( (This)->lpVtbl -> get_name(This,actionIndex,name) ) - -#define IAccessibleHyperlink_get_localizedName(This,actionIndex,localizedName) \ - ( (This)->lpVtbl -> get_localizedName(This,actionIndex,localizedName) ) - - -#define IAccessibleHyperlink_get_anchor(This,index,anchor) \ - ( (This)->lpVtbl -> get_anchor(This,index,anchor) ) - -#define IAccessibleHyperlink_get_anchorTarget(This,index,anchorTarget) \ - ( (This)->lpVtbl -> get_anchorTarget(This,index,anchorTarget) ) - -#define IAccessibleHyperlink_get_startIndex(This,index) \ - ( (This)->lpVtbl -> get_startIndex(This,index) ) - -#define IAccessibleHyperlink_get_endIndex(This,index) \ - ( (This)->lpVtbl -> get_endIndex(This,index) ) - -#define IAccessibleHyperlink_get_valid(This,valid) \ - ( (This)->lpVtbl -> get_valid(This,valid) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IAccessibleHyperlink_INTERFACE_DEFINED__ */ - - -/* Additional Prototypes for ALL interfaces */ - -unsigned long __RPC_USER VARIANT_UserSize( unsigned long *, unsigned long , VARIANT * ); -unsigned char * __RPC_USER VARIANT_UserMarshal( unsigned long *, unsigned char *, VARIANT * ); -unsigned char * __RPC_USER VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); -void __RPC_USER VARIANT_UserFree( unsigned long *, VARIANT * ); - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleHyperlink_i.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleHyperlink_i.c deleted file mode 100644 index f668740e0b..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleHyperlink_i.c +++ /dev/null @@ -1,79 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */ - -/* link this file in with the server and any clients */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:57 2012 - */ -/* Compiler settings for AccessibleHyperlink.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -#ifdef __cplusplus -extern "C"{ -#endif - - -#include <rpc.h> -#include <rpcndr.h> - -#ifdef _MIDL_USE_GUIDDEF_ - -#ifndef INITGUID -#define INITGUID -#include <guiddef.h> -#undef INITGUID -#else -#include <guiddef.h> -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) - -#else // !_MIDL_USE_GUIDDEF_ - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - -typedef struct _IID -{ - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; -} IID; - -#endif // __IID_DEFINED__ - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED -typedef IID CLSID; -#endif // CLSID_DEFINED - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} - -#endif !_MIDL_USE_GUIDDEF_ - -MIDL_DEFINE_GUID(IID, IID_IAccessibleHyperlink,0x01C20F2B,0x3DD2,0x400f,0x94,0x9F,0xAD,0x00,0xBD,0xAB,0x1D,0x41); - -#undef MIDL_DEFINE_GUID - -#ifdef __cplusplus -} -#endif - - - diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleHyperlink_p.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleHyperlink_p.c deleted file mode 100644 index 4cf0a1333c..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleHyperlink_p.c +++ /dev/null @@ -1,1113 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the proxy stub code */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:57 2012 - */ -/* Compiler settings for AccessibleHyperlink.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#if defined(_M_AMD64) - - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ -#if _MSC_VER >= 1200 -#pragma warning(push) -#endif - -#pragma warning( disable: 4211 ) /* redefine extern to static */ -#pragma warning( disable: 4232 ) /* dllimport identity*/ -#pragma warning( disable: 4024 ) /* array to pointer mapping*/ -#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */ - -#define USE_STUBLESS_PROXY - - -/* verify that the <rpcproxy.h> version is high enough to compile this file*/ -#ifndef __REDQ_RPCPROXY_H_VERSION__ -#define __REQUIRED_RPCPROXY_H_VERSION__ 475 -#endif - - -#include "rpcproxy.h" -#ifndef __RPCPROXY_H_VERSION__ -#error this stub requires an updated version of <rpcproxy.h> -#endif /* __RPCPROXY_H_VERSION__ */ - - -#include "AccessibleHyperlink.h" - -#define TYPE_FORMAT_STRING_SIZE 997 -#define PROC_FORMAT_STRING_SIZE 203 -#define EXPR_FORMAT_STRING_SIZE 1 -#define TRANSMIT_AS_TABLE_SIZE 0 -#define WIRE_MARSHAL_TABLE_SIZE 1 - -typedef struct _AccessibleHyperlink_MIDL_TYPE_FORMAT_STRING - { - short Pad; - unsigned char Format[ TYPE_FORMAT_STRING_SIZE ]; - } AccessibleHyperlink_MIDL_TYPE_FORMAT_STRING; - -typedef struct _AccessibleHyperlink_MIDL_PROC_FORMAT_STRING - { - short Pad; - unsigned char Format[ PROC_FORMAT_STRING_SIZE ]; - } AccessibleHyperlink_MIDL_PROC_FORMAT_STRING; - -typedef struct _AccessibleHyperlink_MIDL_EXPR_FORMAT_STRING - { - long Pad; - unsigned char Format[ EXPR_FORMAT_STRING_SIZE ]; - } AccessibleHyperlink_MIDL_EXPR_FORMAT_STRING; - - -static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax = -{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}}; - - -extern const AccessibleHyperlink_MIDL_TYPE_FORMAT_STRING AccessibleHyperlink__MIDL_TypeFormatString; -extern const AccessibleHyperlink_MIDL_PROC_FORMAT_STRING AccessibleHyperlink__MIDL_ProcFormatString; -extern const AccessibleHyperlink_MIDL_EXPR_FORMAT_STRING AccessibleHyperlink__MIDL_ExprFormatString; - - -extern const MIDL_STUB_DESC Object_StubDesc; - - -extern const MIDL_SERVER_INFO IAccessibleHyperlink_ServerInfo; -extern const MIDL_STUBLESS_PROXY_INFO IAccessibleHyperlink_ProxyInfo; - - -extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ]; - -#if !defined(__RPC_WIN64__) -#error Invalid build platform for this stub. -#endif - -static const AccessibleHyperlink_MIDL_PROC_FORMAT_STRING AccessibleHyperlink__MIDL_ProcFormatString = - { - 0, - { - - /* Procedure get_anchor */ - - 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 2 */ NdrFcLong( 0x0 ), /* 0 */ -/* 6 */ NdrFcShort( 0x9 ), /* 9 */ -/* 8 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 10 */ NdrFcShort( 0x8 ), /* 8 */ -/* 12 */ NdrFcShort( 0x8 ), /* 8 */ -/* 14 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x3, /* 3 */ -/* 16 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 18 */ NdrFcShort( 0x1 ), /* 1 */ -/* 20 */ NdrFcShort( 0x0 ), /* 0 */ -/* 22 */ NdrFcShort( 0x0 ), /* 0 */ -/* 24 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter index */ - -/* 26 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 28 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 30 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter anchor */ - -/* 32 */ NdrFcShort( 0x6113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=24 */ -/* 34 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 36 */ NdrFcShort( 0x3d2 ), /* Type Offset=978 */ - - /* Return value */ - -/* 38 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 40 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 42 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_anchorTarget */ - -/* 44 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 46 */ NdrFcLong( 0x0 ), /* 0 */ -/* 50 */ NdrFcShort( 0xa ), /* 10 */ -/* 52 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 54 */ NdrFcShort( 0x8 ), /* 8 */ -/* 56 */ NdrFcShort( 0x8 ), /* 8 */ -/* 58 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x3, /* 3 */ -/* 60 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 62 */ NdrFcShort( 0x1 ), /* 1 */ -/* 64 */ NdrFcShort( 0x0 ), /* 0 */ -/* 66 */ NdrFcShort( 0x0 ), /* 0 */ -/* 68 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter index */ - -/* 70 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 72 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 74 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter anchorTarget */ - -/* 76 */ NdrFcShort( 0x6113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=24 */ -/* 78 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 80 */ NdrFcShort( 0x3d2 ), /* Type Offset=978 */ - - /* Return value */ - -/* 82 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 84 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 86 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_startIndex */ - -/* 88 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 90 */ NdrFcLong( 0x0 ), /* 0 */ -/* 94 */ NdrFcShort( 0xb ), /* 11 */ -/* 96 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 98 */ NdrFcShort( 0x0 ), /* 0 */ -/* 100 */ NdrFcShort( 0x24 ), /* 36 */ -/* 102 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 104 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 106 */ NdrFcShort( 0x0 ), /* 0 */ -/* 108 */ NdrFcShort( 0x0 ), /* 0 */ -/* 110 */ NdrFcShort( 0x0 ), /* 0 */ -/* 112 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter index */ - -/* 114 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 116 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 118 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 120 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 122 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 124 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_endIndex */ - -/* 126 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 128 */ NdrFcLong( 0x0 ), /* 0 */ -/* 132 */ NdrFcShort( 0xc ), /* 12 */ -/* 134 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 136 */ NdrFcShort( 0x0 ), /* 0 */ -/* 138 */ NdrFcShort( 0x24 ), /* 36 */ -/* 140 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 142 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 144 */ NdrFcShort( 0x0 ), /* 0 */ -/* 146 */ NdrFcShort( 0x0 ), /* 0 */ -/* 148 */ NdrFcShort( 0x0 ), /* 0 */ -/* 150 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter index */ - -/* 152 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 154 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 156 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 158 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 160 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 162 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_valid */ - -/* 164 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 166 */ NdrFcLong( 0x0 ), /* 0 */ -/* 170 */ NdrFcShort( 0xd ), /* 13 */ -/* 172 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 174 */ NdrFcShort( 0x0 ), /* 0 */ -/* 176 */ NdrFcShort( 0x21 ), /* 33 */ -/* 178 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 180 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 182 */ NdrFcShort( 0x0 ), /* 0 */ -/* 184 */ NdrFcShort( 0x0 ), /* 0 */ -/* 186 */ NdrFcShort( 0x0 ), /* 0 */ -/* 188 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter valid */ - -/* 190 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 192 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 194 */ 0x3, /* FC_SMALL */ - 0x0, /* 0 */ - - /* Return value */ - -/* 196 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 198 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 200 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - 0x0 - } - }; - -static const AccessibleHyperlink_MIDL_TYPE_FORMAT_STRING AccessibleHyperlink__MIDL_TypeFormatString = - { - 0, - { - NdrFcShort( 0x0 ), /* 0 */ -/* 2 */ - 0x11, 0x4, /* FC_RP [alloced_on_stack] */ -/* 4 */ NdrFcShort( 0x3ce ), /* Offset= 974 (978) */ -/* 6 */ - 0x13, 0x0, /* FC_OP */ -/* 8 */ NdrFcShort( 0x3b6 ), /* Offset= 950 (958) */ -/* 10 */ - 0x2b, /* FC_NON_ENCAPSULATED_UNION */ - 0x9, /* FC_ULONG */ -/* 12 */ 0x7, /* Corr desc: FC_USHORT */ - 0x0, /* */ -/* 14 */ NdrFcShort( 0xfff8 ), /* -8 */ -/* 16 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 18 */ NdrFcShort( 0x2 ), /* Offset= 2 (20) */ -/* 20 */ NdrFcShort( 0x10 ), /* 16 */ -/* 22 */ NdrFcShort( 0x2f ), /* 47 */ -/* 24 */ NdrFcLong( 0x14 ), /* 20 */ -/* 28 */ NdrFcShort( 0x800b ), /* Simple arm type: FC_HYPER */ -/* 30 */ NdrFcLong( 0x3 ), /* 3 */ -/* 34 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ -/* 36 */ NdrFcLong( 0x11 ), /* 17 */ -/* 40 */ NdrFcShort( 0x8001 ), /* Simple arm type: FC_BYTE */ -/* 42 */ NdrFcLong( 0x2 ), /* 2 */ -/* 46 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */ -/* 48 */ NdrFcLong( 0x4 ), /* 4 */ -/* 52 */ NdrFcShort( 0x800a ), /* Simple arm type: FC_FLOAT */ -/* 54 */ NdrFcLong( 0x5 ), /* 5 */ -/* 58 */ NdrFcShort( 0x800c ), /* Simple arm type: FC_DOUBLE */ -/* 60 */ NdrFcLong( 0xb ), /* 11 */ -/* 64 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */ -/* 66 */ NdrFcLong( 0xa ), /* 10 */ -/* 70 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ -/* 72 */ NdrFcLong( 0x6 ), /* 6 */ -/* 76 */ NdrFcShort( 0xe8 ), /* Offset= 232 (308) */ -/* 78 */ NdrFcLong( 0x7 ), /* 7 */ -/* 82 */ NdrFcShort( 0x800c ), /* Simple arm type: FC_DOUBLE */ -/* 84 */ NdrFcLong( 0x8 ), /* 8 */ -/* 88 */ NdrFcShort( 0xe2 ), /* Offset= 226 (314) */ -/* 90 */ NdrFcLong( 0xd ), /* 13 */ -/* 94 */ NdrFcShort( 0xf6 ), /* Offset= 246 (340) */ -/* 96 */ NdrFcLong( 0x9 ), /* 9 */ -/* 100 */ NdrFcShort( 0x102 ), /* Offset= 258 (358) */ -/* 102 */ NdrFcLong( 0x2000 ), /* 8192 */ -/* 106 */ NdrFcShort( 0x10e ), /* Offset= 270 (376) */ -/* 108 */ NdrFcLong( 0x24 ), /* 36 */ -/* 112 */ NdrFcShort( 0x304 ), /* Offset= 772 (884) */ -/* 114 */ NdrFcLong( 0x4024 ), /* 16420 */ -/* 118 */ NdrFcShort( 0x2fe ), /* Offset= 766 (884) */ -/* 120 */ NdrFcLong( 0x4011 ), /* 16401 */ -/* 124 */ NdrFcShort( 0x2fc ), /* Offset= 764 (888) */ -/* 126 */ NdrFcLong( 0x4002 ), /* 16386 */ -/* 130 */ NdrFcShort( 0x2fa ), /* Offset= 762 (892) */ -/* 132 */ NdrFcLong( 0x4003 ), /* 16387 */ -/* 136 */ NdrFcShort( 0x2f8 ), /* Offset= 760 (896) */ -/* 138 */ NdrFcLong( 0x4014 ), /* 16404 */ -/* 142 */ NdrFcShort( 0x2f6 ), /* Offset= 758 (900) */ -/* 144 */ NdrFcLong( 0x4004 ), /* 16388 */ -/* 148 */ NdrFcShort( 0x2f4 ), /* Offset= 756 (904) */ -/* 150 */ NdrFcLong( 0x4005 ), /* 16389 */ -/* 154 */ NdrFcShort( 0x2f2 ), /* Offset= 754 (908) */ -/* 156 */ NdrFcLong( 0x400b ), /* 16395 */ -/* 160 */ NdrFcShort( 0x2dc ), /* Offset= 732 (892) */ -/* 162 */ NdrFcLong( 0x400a ), /* 16394 */ -/* 166 */ NdrFcShort( 0x2da ), /* Offset= 730 (896) */ -/* 168 */ NdrFcLong( 0x4006 ), /* 16390 */ -/* 172 */ NdrFcShort( 0x2e4 ), /* Offset= 740 (912) */ -/* 174 */ NdrFcLong( 0x4007 ), /* 16391 */ -/* 178 */ NdrFcShort( 0x2da ), /* Offset= 730 (908) */ -/* 180 */ NdrFcLong( 0x4008 ), /* 16392 */ -/* 184 */ NdrFcShort( 0x2dc ), /* Offset= 732 (916) */ -/* 186 */ NdrFcLong( 0x400d ), /* 16397 */ -/* 190 */ NdrFcShort( 0x2da ), /* Offset= 730 (920) */ -/* 192 */ NdrFcLong( 0x4009 ), /* 16393 */ -/* 196 */ NdrFcShort( 0x2d8 ), /* Offset= 728 (924) */ -/* 198 */ NdrFcLong( 0x6000 ), /* 24576 */ -/* 202 */ NdrFcShort( 0x2d6 ), /* Offset= 726 (928) */ -/* 204 */ NdrFcLong( 0x400c ), /* 16396 */ -/* 208 */ NdrFcShort( 0x2d4 ), /* Offset= 724 (932) */ -/* 210 */ NdrFcLong( 0x10 ), /* 16 */ -/* 214 */ NdrFcShort( 0x8002 ), /* Simple arm type: FC_CHAR */ -/* 216 */ NdrFcLong( 0x12 ), /* 18 */ -/* 220 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */ -/* 222 */ NdrFcLong( 0x13 ), /* 19 */ -/* 226 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ -/* 228 */ NdrFcLong( 0x15 ), /* 21 */ -/* 232 */ NdrFcShort( 0x800b ), /* Simple arm type: FC_HYPER */ -/* 234 */ NdrFcLong( 0x16 ), /* 22 */ -/* 238 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ -/* 240 */ NdrFcLong( 0x17 ), /* 23 */ -/* 244 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ -/* 246 */ NdrFcLong( 0xe ), /* 14 */ -/* 250 */ NdrFcShort( 0x2b2 ), /* Offset= 690 (940) */ -/* 252 */ NdrFcLong( 0x400e ), /* 16398 */ -/* 256 */ NdrFcShort( 0x2b6 ), /* Offset= 694 (950) */ -/* 258 */ NdrFcLong( 0x4010 ), /* 16400 */ -/* 262 */ NdrFcShort( 0x2b4 ), /* Offset= 692 (954) */ -/* 264 */ NdrFcLong( 0x4012 ), /* 16402 */ -/* 268 */ NdrFcShort( 0x270 ), /* Offset= 624 (892) */ -/* 270 */ NdrFcLong( 0x4013 ), /* 16403 */ -/* 274 */ NdrFcShort( 0x26e ), /* Offset= 622 (896) */ -/* 276 */ NdrFcLong( 0x4015 ), /* 16405 */ -/* 280 */ NdrFcShort( 0x26c ), /* Offset= 620 (900) */ -/* 282 */ NdrFcLong( 0x4016 ), /* 16406 */ -/* 286 */ NdrFcShort( 0x262 ), /* Offset= 610 (896) */ -/* 288 */ NdrFcLong( 0x4017 ), /* 16407 */ -/* 292 */ NdrFcShort( 0x25c ), /* Offset= 604 (896) */ -/* 294 */ NdrFcLong( 0x0 ), /* 0 */ -/* 298 */ NdrFcShort( 0x0 ), /* Offset= 0 (298) */ -/* 300 */ NdrFcLong( 0x1 ), /* 1 */ -/* 304 */ NdrFcShort( 0x0 ), /* Offset= 0 (304) */ -/* 306 */ NdrFcShort( 0xffff ), /* Offset= -1 (305) */ -/* 308 */ - 0x15, /* FC_STRUCT */ - 0x7, /* 7 */ -/* 310 */ NdrFcShort( 0x8 ), /* 8 */ -/* 312 */ 0xb, /* FC_HYPER */ - 0x5b, /* FC_END */ -/* 314 */ - 0x13, 0x0, /* FC_OP */ -/* 316 */ NdrFcShort( 0xe ), /* Offset= 14 (330) */ -/* 318 */ - 0x1b, /* FC_CARRAY */ - 0x1, /* 1 */ -/* 320 */ NdrFcShort( 0x2 ), /* 2 */ -/* 322 */ 0x9, /* Corr desc: FC_ULONG */ - 0x0, /* */ -/* 324 */ NdrFcShort( 0xfffc ), /* -4 */ -/* 326 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 328 */ 0x6, /* FC_SHORT */ - 0x5b, /* FC_END */ -/* 330 */ - 0x17, /* FC_CSTRUCT */ - 0x3, /* 3 */ -/* 332 */ NdrFcShort( 0x8 ), /* 8 */ -/* 334 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (318) */ -/* 336 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 338 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 340 */ - 0x2f, /* FC_IP */ - 0x5a, /* FC_CONSTANT_IID */ -/* 342 */ NdrFcLong( 0x0 ), /* 0 */ -/* 346 */ NdrFcShort( 0x0 ), /* 0 */ -/* 348 */ NdrFcShort( 0x0 ), /* 0 */ -/* 350 */ 0xc0, /* 192 */ - 0x0, /* 0 */ -/* 352 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 354 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 356 */ 0x0, /* 0 */ - 0x46, /* 70 */ -/* 358 */ - 0x2f, /* FC_IP */ - 0x5a, /* FC_CONSTANT_IID */ -/* 360 */ NdrFcLong( 0x20400 ), /* 132096 */ -/* 364 */ NdrFcShort( 0x0 ), /* 0 */ -/* 366 */ NdrFcShort( 0x0 ), /* 0 */ -/* 368 */ 0xc0, /* 192 */ - 0x0, /* 0 */ -/* 370 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 372 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 374 */ 0x0, /* 0 */ - 0x46, /* 70 */ -/* 376 */ - 0x13, 0x10, /* FC_OP [pointer_deref] */ -/* 378 */ NdrFcShort( 0x2 ), /* Offset= 2 (380) */ -/* 380 */ - 0x13, 0x0, /* FC_OP */ -/* 382 */ NdrFcShort( 0x1e4 ), /* Offset= 484 (866) */ -/* 384 */ - 0x2a, /* FC_ENCAPSULATED_UNION */ - 0x89, /* 137 */ -/* 386 */ NdrFcShort( 0x20 ), /* 32 */ -/* 388 */ NdrFcShort( 0xa ), /* 10 */ -/* 390 */ NdrFcLong( 0x8 ), /* 8 */ -/* 394 */ NdrFcShort( 0x50 ), /* Offset= 80 (474) */ -/* 396 */ NdrFcLong( 0xd ), /* 13 */ -/* 400 */ NdrFcShort( 0x70 ), /* Offset= 112 (512) */ -/* 402 */ NdrFcLong( 0x9 ), /* 9 */ -/* 406 */ NdrFcShort( 0x90 ), /* Offset= 144 (550) */ -/* 408 */ NdrFcLong( 0xc ), /* 12 */ -/* 412 */ NdrFcShort( 0xb0 ), /* Offset= 176 (588) */ -/* 414 */ NdrFcLong( 0x24 ), /* 36 */ -/* 418 */ NdrFcShort( 0x102 ), /* Offset= 258 (676) */ -/* 420 */ NdrFcLong( 0x800d ), /* 32781 */ -/* 424 */ NdrFcShort( 0x11e ), /* Offset= 286 (710) */ -/* 426 */ NdrFcLong( 0x10 ), /* 16 */ -/* 430 */ NdrFcShort( 0x138 ), /* Offset= 312 (742) */ -/* 432 */ NdrFcLong( 0x2 ), /* 2 */ -/* 436 */ NdrFcShort( 0x14e ), /* Offset= 334 (770) */ -/* 438 */ NdrFcLong( 0x3 ), /* 3 */ -/* 442 */ NdrFcShort( 0x164 ), /* Offset= 356 (798) */ -/* 444 */ NdrFcLong( 0x14 ), /* 20 */ -/* 448 */ NdrFcShort( 0x17a ), /* Offset= 378 (826) */ -/* 450 */ NdrFcShort( 0xffff ), /* Offset= -1 (449) */ -/* 452 */ - 0x21, /* FC_BOGUS_ARRAY */ - 0x3, /* 3 */ -/* 454 */ NdrFcShort( 0x0 ), /* 0 */ -/* 456 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 458 */ NdrFcShort( 0x0 ), /* 0 */ -/* 460 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 462 */ NdrFcLong( 0xffffffff ), /* -1 */ -/* 466 */ NdrFcShort( 0x0 ), /* Corr flags: */ -/* 468 */ - 0x13, 0x0, /* FC_OP */ -/* 470 */ NdrFcShort( 0xff74 ), /* Offset= -140 (330) */ -/* 472 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 474 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 476 */ NdrFcShort( 0x10 ), /* 16 */ -/* 478 */ NdrFcShort( 0x0 ), /* 0 */ -/* 480 */ NdrFcShort( 0x6 ), /* Offset= 6 (486) */ -/* 482 */ 0x8, /* FC_LONG */ - 0x40, /* FC_STRUCTPAD4 */ -/* 484 */ 0x36, /* FC_POINTER */ - 0x5b, /* FC_END */ -/* 486 */ - 0x11, 0x0, /* FC_RP */ -/* 488 */ NdrFcShort( 0xffdc ), /* Offset= -36 (452) */ -/* 490 */ - 0x21, /* FC_BOGUS_ARRAY */ - 0x3, /* 3 */ -/* 492 */ NdrFcShort( 0x0 ), /* 0 */ -/* 494 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 496 */ NdrFcShort( 0x0 ), /* 0 */ -/* 498 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 500 */ NdrFcLong( 0xffffffff ), /* -1 */ -/* 504 */ NdrFcShort( 0x0 ), /* Corr flags: */ -/* 506 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 508 */ NdrFcShort( 0xff58 ), /* Offset= -168 (340) */ -/* 510 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 512 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 514 */ NdrFcShort( 0x10 ), /* 16 */ -/* 516 */ NdrFcShort( 0x0 ), /* 0 */ -/* 518 */ NdrFcShort( 0x6 ), /* Offset= 6 (524) */ -/* 520 */ 0x8, /* FC_LONG */ - 0x40, /* FC_STRUCTPAD4 */ -/* 522 */ 0x36, /* FC_POINTER */ - 0x5b, /* FC_END */ -/* 524 */ - 0x11, 0x0, /* FC_RP */ -/* 526 */ NdrFcShort( 0xffdc ), /* Offset= -36 (490) */ -/* 528 */ - 0x21, /* FC_BOGUS_ARRAY */ - 0x3, /* 3 */ -/* 530 */ NdrFcShort( 0x0 ), /* 0 */ -/* 532 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 534 */ NdrFcShort( 0x0 ), /* 0 */ -/* 536 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 538 */ NdrFcLong( 0xffffffff ), /* -1 */ -/* 542 */ NdrFcShort( 0x0 ), /* Corr flags: */ -/* 544 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 546 */ NdrFcShort( 0xff44 ), /* Offset= -188 (358) */ -/* 548 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 550 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 552 */ NdrFcShort( 0x10 ), /* 16 */ -/* 554 */ NdrFcShort( 0x0 ), /* 0 */ -/* 556 */ NdrFcShort( 0x6 ), /* Offset= 6 (562) */ -/* 558 */ 0x8, /* FC_LONG */ - 0x40, /* FC_STRUCTPAD4 */ -/* 560 */ 0x36, /* FC_POINTER */ - 0x5b, /* FC_END */ -/* 562 */ - 0x11, 0x0, /* FC_RP */ -/* 564 */ NdrFcShort( 0xffdc ), /* Offset= -36 (528) */ -/* 566 */ - 0x21, /* FC_BOGUS_ARRAY */ - 0x3, /* 3 */ -/* 568 */ NdrFcShort( 0x0 ), /* 0 */ -/* 570 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 572 */ NdrFcShort( 0x0 ), /* 0 */ -/* 574 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 576 */ NdrFcLong( 0xffffffff ), /* -1 */ -/* 580 */ NdrFcShort( 0x0 ), /* Corr flags: */ -/* 582 */ - 0x13, 0x0, /* FC_OP */ -/* 584 */ NdrFcShort( 0x176 ), /* Offset= 374 (958) */ -/* 586 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 588 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 590 */ NdrFcShort( 0x10 ), /* 16 */ -/* 592 */ NdrFcShort( 0x0 ), /* 0 */ -/* 594 */ NdrFcShort( 0x6 ), /* Offset= 6 (600) */ -/* 596 */ 0x8, /* FC_LONG */ - 0x40, /* FC_STRUCTPAD4 */ -/* 598 */ 0x36, /* FC_POINTER */ - 0x5b, /* FC_END */ -/* 600 */ - 0x11, 0x0, /* FC_RP */ -/* 602 */ NdrFcShort( 0xffdc ), /* Offset= -36 (566) */ -/* 604 */ - 0x2f, /* FC_IP */ - 0x5a, /* FC_CONSTANT_IID */ -/* 606 */ NdrFcLong( 0x2f ), /* 47 */ -/* 610 */ NdrFcShort( 0x0 ), /* 0 */ -/* 612 */ NdrFcShort( 0x0 ), /* 0 */ -/* 614 */ 0xc0, /* 192 */ - 0x0, /* 0 */ -/* 616 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 618 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 620 */ 0x0, /* 0 */ - 0x46, /* 70 */ -/* 622 */ - 0x1b, /* FC_CARRAY */ - 0x0, /* 0 */ -/* 624 */ NdrFcShort( 0x1 ), /* 1 */ -/* 626 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 628 */ NdrFcShort( 0x4 ), /* 4 */ -/* 630 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 632 */ 0x1, /* FC_BYTE */ - 0x5b, /* FC_END */ -/* 634 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 636 */ NdrFcShort( 0x18 ), /* 24 */ -/* 638 */ NdrFcShort( 0x0 ), /* 0 */ -/* 640 */ NdrFcShort( 0xa ), /* Offset= 10 (650) */ -/* 642 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 644 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 646 */ NdrFcShort( 0xffd6 ), /* Offset= -42 (604) */ -/* 648 */ 0x36, /* FC_POINTER */ - 0x5b, /* FC_END */ -/* 650 */ - 0x13, 0x0, /* FC_OP */ -/* 652 */ NdrFcShort( 0xffe2 ), /* Offset= -30 (622) */ -/* 654 */ - 0x21, /* FC_BOGUS_ARRAY */ - 0x3, /* 3 */ -/* 656 */ NdrFcShort( 0x0 ), /* 0 */ -/* 658 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 660 */ NdrFcShort( 0x0 ), /* 0 */ -/* 662 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 664 */ NdrFcLong( 0xffffffff ), /* -1 */ -/* 668 */ NdrFcShort( 0x0 ), /* Corr flags: */ -/* 670 */ - 0x13, 0x0, /* FC_OP */ -/* 672 */ NdrFcShort( 0xffda ), /* Offset= -38 (634) */ -/* 674 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 676 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 678 */ NdrFcShort( 0x10 ), /* 16 */ -/* 680 */ NdrFcShort( 0x0 ), /* 0 */ -/* 682 */ NdrFcShort( 0x6 ), /* Offset= 6 (688) */ -/* 684 */ 0x8, /* FC_LONG */ - 0x40, /* FC_STRUCTPAD4 */ -/* 686 */ 0x36, /* FC_POINTER */ - 0x5b, /* FC_END */ -/* 688 */ - 0x11, 0x0, /* FC_RP */ -/* 690 */ NdrFcShort( 0xffdc ), /* Offset= -36 (654) */ -/* 692 */ - 0x1d, /* FC_SMFARRAY */ - 0x0, /* 0 */ -/* 694 */ NdrFcShort( 0x8 ), /* 8 */ -/* 696 */ 0x1, /* FC_BYTE */ - 0x5b, /* FC_END */ -/* 698 */ - 0x15, /* FC_STRUCT */ - 0x3, /* 3 */ -/* 700 */ NdrFcShort( 0x10 ), /* 16 */ -/* 702 */ 0x8, /* FC_LONG */ - 0x6, /* FC_SHORT */ -/* 704 */ 0x6, /* FC_SHORT */ - 0x4c, /* FC_EMBEDDED_COMPLEX */ -/* 706 */ 0x0, /* 0 */ - NdrFcShort( 0xfff1 ), /* Offset= -15 (692) */ - 0x5b, /* FC_END */ -/* 710 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 712 */ NdrFcShort( 0x20 ), /* 32 */ -/* 714 */ NdrFcShort( 0x0 ), /* 0 */ -/* 716 */ NdrFcShort( 0xa ), /* Offset= 10 (726) */ -/* 718 */ 0x8, /* FC_LONG */ - 0x40, /* FC_STRUCTPAD4 */ -/* 720 */ 0x36, /* FC_POINTER */ - 0x4c, /* FC_EMBEDDED_COMPLEX */ -/* 722 */ 0x0, /* 0 */ - NdrFcShort( 0xffe7 ), /* Offset= -25 (698) */ - 0x5b, /* FC_END */ -/* 726 */ - 0x11, 0x0, /* FC_RP */ -/* 728 */ NdrFcShort( 0xff12 ), /* Offset= -238 (490) */ -/* 730 */ - 0x1b, /* FC_CARRAY */ - 0x0, /* 0 */ -/* 732 */ NdrFcShort( 0x1 ), /* 1 */ -/* 734 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 736 */ NdrFcShort( 0x0 ), /* 0 */ -/* 738 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 740 */ 0x1, /* FC_BYTE */ - 0x5b, /* FC_END */ -/* 742 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 744 */ NdrFcShort( 0x10 ), /* 16 */ -/* 746 */ NdrFcShort( 0x0 ), /* 0 */ -/* 748 */ NdrFcShort( 0x6 ), /* Offset= 6 (754) */ -/* 750 */ 0x8, /* FC_LONG */ - 0x40, /* FC_STRUCTPAD4 */ -/* 752 */ 0x36, /* FC_POINTER */ - 0x5b, /* FC_END */ -/* 754 */ - 0x13, 0x0, /* FC_OP */ -/* 756 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (730) */ -/* 758 */ - 0x1b, /* FC_CARRAY */ - 0x1, /* 1 */ -/* 760 */ NdrFcShort( 0x2 ), /* 2 */ -/* 762 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 764 */ NdrFcShort( 0x0 ), /* 0 */ -/* 766 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 768 */ 0x6, /* FC_SHORT */ - 0x5b, /* FC_END */ -/* 770 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 772 */ NdrFcShort( 0x10 ), /* 16 */ -/* 774 */ NdrFcShort( 0x0 ), /* 0 */ -/* 776 */ NdrFcShort( 0x6 ), /* Offset= 6 (782) */ -/* 778 */ 0x8, /* FC_LONG */ - 0x40, /* FC_STRUCTPAD4 */ -/* 780 */ 0x36, /* FC_POINTER */ - 0x5b, /* FC_END */ -/* 782 */ - 0x13, 0x0, /* FC_OP */ -/* 784 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (758) */ -/* 786 */ - 0x1b, /* FC_CARRAY */ - 0x3, /* 3 */ -/* 788 */ NdrFcShort( 0x4 ), /* 4 */ -/* 790 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 792 */ NdrFcShort( 0x0 ), /* 0 */ -/* 794 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 796 */ 0x8, /* FC_LONG */ - 0x5b, /* FC_END */ -/* 798 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 800 */ NdrFcShort( 0x10 ), /* 16 */ -/* 802 */ NdrFcShort( 0x0 ), /* 0 */ -/* 804 */ NdrFcShort( 0x6 ), /* Offset= 6 (810) */ -/* 806 */ 0x8, /* FC_LONG */ - 0x40, /* FC_STRUCTPAD4 */ -/* 808 */ 0x36, /* FC_POINTER */ - 0x5b, /* FC_END */ -/* 810 */ - 0x13, 0x0, /* FC_OP */ -/* 812 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (786) */ -/* 814 */ - 0x1b, /* FC_CARRAY */ - 0x7, /* 7 */ -/* 816 */ NdrFcShort( 0x8 ), /* 8 */ -/* 818 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 820 */ NdrFcShort( 0x0 ), /* 0 */ -/* 822 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 824 */ 0xb, /* FC_HYPER */ - 0x5b, /* FC_END */ -/* 826 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 828 */ NdrFcShort( 0x10 ), /* 16 */ -/* 830 */ NdrFcShort( 0x0 ), /* 0 */ -/* 832 */ NdrFcShort( 0x6 ), /* Offset= 6 (838) */ -/* 834 */ 0x8, /* FC_LONG */ - 0x40, /* FC_STRUCTPAD4 */ -/* 836 */ 0x36, /* FC_POINTER */ - 0x5b, /* FC_END */ -/* 838 */ - 0x13, 0x0, /* FC_OP */ -/* 840 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (814) */ -/* 842 */ - 0x15, /* FC_STRUCT */ - 0x3, /* 3 */ -/* 844 */ NdrFcShort( 0x8 ), /* 8 */ -/* 846 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 848 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 850 */ - 0x1b, /* FC_CARRAY */ - 0x3, /* 3 */ -/* 852 */ NdrFcShort( 0x8 ), /* 8 */ -/* 854 */ 0x7, /* Corr desc: FC_USHORT */ - 0x0, /* */ -/* 856 */ NdrFcShort( 0xffc8 ), /* -56 */ -/* 858 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 860 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 862 */ NdrFcShort( 0xffec ), /* Offset= -20 (842) */ -/* 864 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 866 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 868 */ NdrFcShort( 0x38 ), /* 56 */ -/* 870 */ NdrFcShort( 0xffec ), /* Offset= -20 (850) */ -/* 872 */ NdrFcShort( 0x0 ), /* Offset= 0 (872) */ -/* 874 */ 0x6, /* FC_SHORT */ - 0x6, /* FC_SHORT */ -/* 876 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 878 */ 0x40, /* FC_STRUCTPAD4 */ - 0x4c, /* FC_EMBEDDED_COMPLEX */ -/* 880 */ 0x0, /* 0 */ - NdrFcShort( 0xfe0f ), /* Offset= -497 (384) */ - 0x5b, /* FC_END */ -/* 884 */ - 0x13, 0x0, /* FC_OP */ -/* 886 */ NdrFcShort( 0xff04 ), /* Offset= -252 (634) */ -/* 888 */ - 0x13, 0x8, /* FC_OP [simple_pointer] */ -/* 890 */ 0x1, /* FC_BYTE */ - 0x5c, /* FC_PAD */ -/* 892 */ - 0x13, 0x8, /* FC_OP [simple_pointer] */ -/* 894 */ 0x6, /* FC_SHORT */ - 0x5c, /* FC_PAD */ -/* 896 */ - 0x13, 0x8, /* FC_OP [simple_pointer] */ -/* 898 */ 0x8, /* FC_LONG */ - 0x5c, /* FC_PAD */ -/* 900 */ - 0x13, 0x8, /* FC_OP [simple_pointer] */ -/* 902 */ 0xb, /* FC_HYPER */ - 0x5c, /* FC_PAD */ -/* 904 */ - 0x13, 0x8, /* FC_OP [simple_pointer] */ -/* 906 */ 0xa, /* FC_FLOAT */ - 0x5c, /* FC_PAD */ -/* 908 */ - 0x13, 0x8, /* FC_OP [simple_pointer] */ -/* 910 */ 0xc, /* FC_DOUBLE */ - 0x5c, /* FC_PAD */ -/* 912 */ - 0x13, 0x0, /* FC_OP */ -/* 914 */ NdrFcShort( 0xfda2 ), /* Offset= -606 (308) */ -/* 916 */ - 0x13, 0x10, /* FC_OP [pointer_deref] */ -/* 918 */ NdrFcShort( 0xfda4 ), /* Offset= -604 (314) */ -/* 920 */ - 0x13, 0x10, /* FC_OP [pointer_deref] */ -/* 922 */ NdrFcShort( 0xfdba ), /* Offset= -582 (340) */ -/* 924 */ - 0x13, 0x10, /* FC_OP [pointer_deref] */ -/* 926 */ NdrFcShort( 0xfdc8 ), /* Offset= -568 (358) */ -/* 928 */ - 0x13, 0x10, /* FC_OP [pointer_deref] */ -/* 930 */ NdrFcShort( 0xfdd6 ), /* Offset= -554 (376) */ -/* 932 */ - 0x13, 0x10, /* FC_OP [pointer_deref] */ -/* 934 */ NdrFcShort( 0x2 ), /* Offset= 2 (936) */ -/* 936 */ - 0x13, 0x0, /* FC_OP */ -/* 938 */ NdrFcShort( 0x14 ), /* Offset= 20 (958) */ -/* 940 */ - 0x15, /* FC_STRUCT */ - 0x7, /* 7 */ -/* 942 */ NdrFcShort( 0x10 ), /* 16 */ -/* 944 */ 0x6, /* FC_SHORT */ - 0x1, /* FC_BYTE */ -/* 946 */ 0x1, /* FC_BYTE */ - 0x8, /* FC_LONG */ -/* 948 */ 0xb, /* FC_HYPER */ - 0x5b, /* FC_END */ -/* 950 */ - 0x13, 0x0, /* FC_OP */ -/* 952 */ NdrFcShort( 0xfff4 ), /* Offset= -12 (940) */ -/* 954 */ - 0x13, 0x8, /* FC_OP [simple_pointer] */ -/* 956 */ 0x2, /* FC_CHAR */ - 0x5c, /* FC_PAD */ -/* 958 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x7, /* 7 */ -/* 960 */ NdrFcShort( 0x20 ), /* 32 */ -/* 962 */ NdrFcShort( 0x0 ), /* 0 */ -/* 964 */ NdrFcShort( 0x0 ), /* Offset= 0 (964) */ -/* 966 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 968 */ 0x6, /* FC_SHORT */ - 0x6, /* FC_SHORT */ -/* 970 */ 0x6, /* FC_SHORT */ - 0x6, /* FC_SHORT */ -/* 972 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 974 */ NdrFcShort( 0xfc3c ), /* Offset= -964 (10) */ -/* 976 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 978 */ 0xb4, /* FC_USER_MARSHAL */ - 0x83, /* 131 */ -/* 980 */ NdrFcShort( 0x0 ), /* 0 */ -/* 982 */ NdrFcShort( 0x18 ), /* 24 */ -/* 984 */ NdrFcShort( 0x0 ), /* 0 */ -/* 986 */ NdrFcShort( 0xfc2c ), /* Offset= -980 (6) */ -/* 988 */ - 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */ -/* 990 */ 0x8, /* FC_LONG */ - 0x5c, /* FC_PAD */ -/* 992 */ - 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */ -/* 994 */ 0x3, /* FC_SMALL */ - 0x5c, /* FC_PAD */ - - 0x0 - } - }; - -static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] = - { - - { - VARIANT_UserSize - ,VARIANT_UserMarshal - ,VARIANT_UserUnmarshal - ,VARIANT_UserFree - } - - }; - - - -/* Object interface: IUnknown, ver. 0.0, - GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */ - - -/* Object interface: IAccessibleAction, ver. 0.0, - GUID={0xB70D9F59,0x3B5A,0x4dba,{0xAB,0x9E,0x22,0x01,0x2F,0x60,0x7D,0xF5}} */ - - -/* Object interface: IAccessibleHyperlink, ver. 0.0, - GUID={0x01C20F2B,0x3DD2,0x400f,{0x94,0x9F,0xAD,0x00,0xBD,0xAB,0x1D,0x41}} */ - -#pragma code_seg(".orpc") -static const unsigned short IAccessibleHyperlink_FormatStringOffsetTable[] = - { - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - 0, - 44, - 88, - 126, - 164 - }; - -static const MIDL_STUBLESS_PROXY_INFO IAccessibleHyperlink_ProxyInfo = - { - &Object_StubDesc, - AccessibleHyperlink__MIDL_ProcFormatString.Format, - &IAccessibleHyperlink_FormatStringOffsetTable[-3], - 0, - 0, - 0 - }; - - -static const MIDL_SERVER_INFO IAccessibleHyperlink_ServerInfo = - { - &Object_StubDesc, - 0, - AccessibleHyperlink__MIDL_ProcFormatString.Format, - &IAccessibleHyperlink_FormatStringOffsetTable[-3], - 0, - 0, - 0, - 0}; -CINTERFACE_PROXY_VTABLE(14) _IAccessibleHyperlinkProxyVtbl = -{ - &IAccessibleHyperlink_ProxyInfo, - &IID_IAccessibleHyperlink, - IUnknown_QueryInterface_Proxy, - IUnknown_AddRef_Proxy, - IUnknown_Release_Proxy , - 0 /* IAccessibleAction::nActions */ , - 0 /* IAccessibleAction::doAction */ , - 0 /* IAccessibleAction::get_description */ , - 0 /* IAccessibleAction::get_keyBinding */ , - 0 /* IAccessibleAction::get_name */ , - 0 /* IAccessibleAction::get_localizedName */ , - (void *) (INT_PTR) -1 /* IAccessibleHyperlink::get_anchor */ , - (void *) (INT_PTR) -1 /* IAccessibleHyperlink::get_anchorTarget */ , - (void *) (INT_PTR) -1 /* IAccessibleHyperlink::get_startIndex */ , - (void *) (INT_PTR) -1 /* IAccessibleHyperlink::get_endIndex */ , - (void *) (INT_PTR) -1 /* IAccessibleHyperlink::get_valid */ -}; - - -static const PRPC_STUB_FUNCTION IAccessibleHyperlink_table[] = -{ - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2 -}; - -CInterfaceStubVtbl _IAccessibleHyperlinkStubVtbl = -{ - &IID_IAccessibleHyperlink, - &IAccessibleHyperlink_ServerInfo, - 14, - &IAccessibleHyperlink_table[-3], - CStdStubBuffer_DELEGATING_METHODS -}; - -static const MIDL_STUB_DESC Object_StubDesc = - { - 0, - NdrOleAllocate, - NdrOleFree, - 0, - 0, - 0, - 0, - 0, - AccessibleHyperlink__MIDL_TypeFormatString.Format, - 1, /* -error bounds_check flag */ - 0x50002, /* Ndr library version */ - 0, - 0x700022b, /* MIDL Version 7.0.555 */ - 0, - UserMarshalRoutines, - 0, /* notify & notify_flag routine table */ - 0x1, /* MIDL flag */ - 0, /* cs routines */ - 0, /* proxy/server info */ - 0 - }; - -const CInterfaceProxyVtbl * const _AccessibleHyperlink_ProxyVtblList[] = -{ - ( CInterfaceProxyVtbl *) &_IAccessibleHyperlinkProxyVtbl, - 0 -}; - -const CInterfaceStubVtbl * const _AccessibleHyperlink_StubVtblList[] = -{ - ( CInterfaceStubVtbl *) &_IAccessibleHyperlinkStubVtbl, - 0 -}; - -PCInterfaceName const _AccessibleHyperlink_InterfaceNamesList[] = -{ - "IAccessibleHyperlink", - 0 -}; - -const IID * const _AccessibleHyperlink_BaseIIDList[] = -{ - &IID_IAccessibleAction, - 0 -}; - - -#define _AccessibleHyperlink_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleHyperlink, pIID, n) - -int __stdcall _AccessibleHyperlink_IID_Lookup( const IID * pIID, int * pIndex ) -{ - - if(!_AccessibleHyperlink_CHECK_IID(0)) - { - *pIndex = 0; - return 1; - } - - return 0; -} - -const ExtendedProxyFileInfo AccessibleHyperlink_ProxyFileInfo = -{ - (PCInterfaceProxyVtblList *) & _AccessibleHyperlink_ProxyVtblList, - (PCInterfaceStubVtblList *) & _AccessibleHyperlink_StubVtblList, - (const PCInterfaceName * ) & _AccessibleHyperlink_InterfaceNamesList, - (const IID ** ) & _AccessibleHyperlink_BaseIIDList, - & _AccessibleHyperlink_IID_Lookup, - 1, - 2, - 0, /* table of [async_uuid] interfaces */ - 0, /* Filler1 */ - 0, /* Filler2 */ - 0 /* Filler3 */ -}; -#if _MSC_VER >= 1200 -#pragma warning(pop) -#endif - - -#endif /* defined(_M_AMD64)*/ - diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleHypertext.h b/src/3rdparty/iaccessible2/generated/amd64/AccessibleHypertext.h deleted file mode 100644 index 91cb85c69e..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleHypertext.h +++ /dev/null @@ -1,349 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:58 2012 - */ -/* Compiler settings for AccessibleHypertext.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the <rpcndr.h> version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of <rpcndr.h> -#endif // __RPCNDR_H_VERSION__ - -#ifndef COM_NO_WINDOWS_H -#include "windows.h" -#include "ole2.h" -#endif /*COM_NO_WINDOWS_H*/ - -#ifndef __AccessibleHypertext_h__ -#define __AccessibleHypertext_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -#ifndef __IAccessibleHypertext_FWD_DEFINED__ -#define __IAccessibleHypertext_FWD_DEFINED__ -typedef interface IAccessibleHypertext IAccessibleHypertext; -#endif /* __IAccessibleHypertext_FWD_DEFINED__ */ - - -/* header files for imported files */ -#include "objidl.h" -#include "oaidl.h" -#include "oleacc.h" -#include "AccessibleText.h" -#include "AccessibleHyperlink.h" - -#ifdef __cplusplus -extern "C"{ -#endif - - -#ifndef __IAccessibleHypertext_INTERFACE_DEFINED__ -#define __IAccessibleHypertext_INTERFACE_DEFINED__ - -/* interface IAccessibleHypertext */ -/* [uuid][object] */ - - -EXTERN_C const IID IID_IAccessibleHypertext; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("6B4F8BBF-F1F2-418a-B35E-A195BC4103B9") - IAccessibleHypertext : public IAccessibleText - { - public: - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nHyperlinks( - /* [retval][out] */ long *hyperlinkCount) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_hyperlink( - /* [in] */ long index, - /* [retval][out] */ IAccessibleHyperlink **hyperlink) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_hyperlinkIndex( - /* [in] */ long charIndex, - /* [retval][out] */ long *hyperlinkIndex) = 0; - - }; - -#else /* C style interface */ - - typedef struct IAccessibleHypertextVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IAccessibleHypertext * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IAccessibleHypertext * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IAccessibleHypertext * This); - - HRESULT ( STDMETHODCALLTYPE *addSelection )( - IAccessibleHypertext * This, - /* [in] */ long startOffset, - /* [in] */ long endOffset); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )( - IAccessibleHypertext * This, - /* [in] */ long offset, - /* [out] */ long *startOffset, - /* [out] */ long *endOffset, - /* [retval][out] */ BSTR *textAttributes); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caretOffset )( - IAccessibleHypertext * This, - /* [retval][out] */ long *offset); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_characterExtents )( - IAccessibleHypertext * This, - /* [in] */ long offset, - /* [in] */ enum IA2CoordinateType coordType, - /* [out] */ long *x, - /* [out] */ long *y, - /* [out] */ long *width, - /* [retval][out] */ long *height); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelections )( - IAccessibleHypertext * This, - /* [retval][out] */ long *nSelections); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetAtPoint )( - IAccessibleHypertext * This, - /* [in] */ long x, - /* [in] */ long y, - /* [in] */ enum IA2CoordinateType coordType, - /* [retval][out] */ long *offset); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selection )( - IAccessibleHypertext * This, - /* [in] */ long selectionIndex, - /* [out] */ long *startOffset, - /* [retval][out] */ long *endOffset); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_text )( - IAccessibleHypertext * This, - /* [in] */ long startOffset, - /* [in] */ long endOffset, - /* [retval][out] */ BSTR *text); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textBeforeOffset )( - IAccessibleHypertext * This, - /* [in] */ long offset, - /* [in] */ enum IA2TextBoundaryType boundaryType, - /* [out] */ long *startOffset, - /* [out] */ long *endOffset, - /* [retval][out] */ BSTR *text); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAfterOffset )( - IAccessibleHypertext * This, - /* [in] */ long offset, - /* [in] */ enum IA2TextBoundaryType boundaryType, - /* [out] */ long *startOffset, - /* [out] */ long *endOffset, - /* [retval][out] */ BSTR *text); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAtOffset )( - IAccessibleHypertext * This, - /* [in] */ long offset, - /* [in] */ enum IA2TextBoundaryType boundaryType, - /* [out] */ long *startOffset, - /* [out] */ long *endOffset, - /* [retval][out] */ BSTR *text); - - HRESULT ( STDMETHODCALLTYPE *removeSelection )( - IAccessibleHypertext * This, - /* [in] */ long selectionIndex); - - HRESULT ( STDMETHODCALLTYPE *setCaretOffset )( - IAccessibleHypertext * This, - /* [in] */ long offset); - - HRESULT ( STDMETHODCALLTYPE *setSelection )( - IAccessibleHypertext * This, - /* [in] */ long selectionIndex, - /* [in] */ long startOffset, - /* [in] */ long endOffset); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nCharacters )( - IAccessibleHypertext * This, - /* [retval][out] */ long *nCharacters); - - HRESULT ( STDMETHODCALLTYPE *scrollSubstringTo )( - IAccessibleHypertext * This, - /* [in] */ long startIndex, - /* [in] */ long endIndex, - /* [in] */ enum IA2ScrollType scrollType); - - HRESULT ( STDMETHODCALLTYPE *scrollSubstringToPoint )( - IAccessibleHypertext * This, - /* [in] */ long startIndex, - /* [in] */ long endIndex, - /* [in] */ enum IA2CoordinateType coordinateType, - /* [in] */ long x, - /* [in] */ long y); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_newText )( - IAccessibleHypertext * This, - /* [retval][out] */ IA2TextSegment *newText); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_oldText )( - IAccessibleHypertext * This, - /* [retval][out] */ IA2TextSegment *oldText); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nHyperlinks )( - IAccessibleHypertext * This, - /* [retval][out] */ long *hyperlinkCount); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hyperlink )( - IAccessibleHypertext * This, - /* [in] */ long index, - /* [retval][out] */ IAccessibleHyperlink **hyperlink); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hyperlinkIndex )( - IAccessibleHypertext * This, - /* [in] */ long charIndex, - /* [retval][out] */ long *hyperlinkIndex); - - END_INTERFACE - } IAccessibleHypertextVtbl; - - interface IAccessibleHypertext - { - CONST_VTBL struct IAccessibleHypertextVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IAccessibleHypertext_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IAccessibleHypertext_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IAccessibleHypertext_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IAccessibleHypertext_addSelection(This,startOffset,endOffset) \ - ( (This)->lpVtbl -> addSelection(This,startOffset,endOffset) ) - -#define IAccessibleHypertext_get_attributes(This,offset,startOffset,endOffset,textAttributes) \ - ( (This)->lpVtbl -> get_attributes(This,offset,startOffset,endOffset,textAttributes) ) - -#define IAccessibleHypertext_get_caretOffset(This,offset) \ - ( (This)->lpVtbl -> get_caretOffset(This,offset) ) - -#define IAccessibleHypertext_get_characterExtents(This,offset,coordType,x,y,width,height) \ - ( (This)->lpVtbl -> get_characterExtents(This,offset,coordType,x,y,width,height) ) - -#define IAccessibleHypertext_get_nSelections(This,nSelections) \ - ( (This)->lpVtbl -> get_nSelections(This,nSelections) ) - -#define IAccessibleHypertext_get_offsetAtPoint(This,x,y,coordType,offset) \ - ( (This)->lpVtbl -> get_offsetAtPoint(This,x,y,coordType,offset) ) - -#define IAccessibleHypertext_get_selection(This,selectionIndex,startOffset,endOffset) \ - ( (This)->lpVtbl -> get_selection(This,selectionIndex,startOffset,endOffset) ) - -#define IAccessibleHypertext_get_text(This,startOffset,endOffset,text) \ - ( (This)->lpVtbl -> get_text(This,startOffset,endOffset,text) ) - -#define IAccessibleHypertext_get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) \ - ( (This)->lpVtbl -> get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) ) - -#define IAccessibleHypertext_get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) \ - ( (This)->lpVtbl -> get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) ) - -#define IAccessibleHypertext_get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) \ - ( (This)->lpVtbl -> get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) ) - -#define IAccessibleHypertext_removeSelection(This,selectionIndex) \ - ( (This)->lpVtbl -> removeSelection(This,selectionIndex) ) - -#define IAccessibleHypertext_setCaretOffset(This,offset) \ - ( (This)->lpVtbl -> setCaretOffset(This,offset) ) - -#define IAccessibleHypertext_setSelection(This,selectionIndex,startOffset,endOffset) \ - ( (This)->lpVtbl -> setSelection(This,selectionIndex,startOffset,endOffset) ) - -#define IAccessibleHypertext_get_nCharacters(This,nCharacters) \ - ( (This)->lpVtbl -> get_nCharacters(This,nCharacters) ) - -#define IAccessibleHypertext_scrollSubstringTo(This,startIndex,endIndex,scrollType) \ - ( (This)->lpVtbl -> scrollSubstringTo(This,startIndex,endIndex,scrollType) ) - -#define IAccessibleHypertext_scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) \ - ( (This)->lpVtbl -> scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) ) - -#define IAccessibleHypertext_get_newText(This,newText) \ - ( (This)->lpVtbl -> get_newText(This,newText) ) - -#define IAccessibleHypertext_get_oldText(This,oldText) \ - ( (This)->lpVtbl -> get_oldText(This,oldText) ) - - -#define IAccessibleHypertext_get_nHyperlinks(This,hyperlinkCount) \ - ( (This)->lpVtbl -> get_nHyperlinks(This,hyperlinkCount) ) - -#define IAccessibleHypertext_get_hyperlink(This,index,hyperlink) \ - ( (This)->lpVtbl -> get_hyperlink(This,index,hyperlink) ) - -#define IAccessibleHypertext_get_hyperlinkIndex(This,charIndex,hyperlinkIndex) \ - ( (This)->lpVtbl -> get_hyperlinkIndex(This,charIndex,hyperlinkIndex) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IAccessibleHypertext_INTERFACE_DEFINED__ */ - - -/* Additional Prototypes for ALL interfaces */ - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleHypertext_i.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleHypertext_i.c deleted file mode 100644 index fbc3ef133a..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleHypertext_i.c +++ /dev/null @@ -1,79 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */ - -/* link this file in with the server and any clients */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:58 2012 - */ -/* Compiler settings for AccessibleHypertext.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -#ifdef __cplusplus -extern "C"{ -#endif - - -#include <rpc.h> -#include <rpcndr.h> - -#ifdef _MIDL_USE_GUIDDEF_ - -#ifndef INITGUID -#define INITGUID -#include <guiddef.h> -#undef INITGUID -#else -#include <guiddef.h> -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) - -#else // !_MIDL_USE_GUIDDEF_ - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - -typedef struct _IID -{ - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; -} IID; - -#endif // __IID_DEFINED__ - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED -typedef IID CLSID; -#endif // CLSID_DEFINED - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} - -#endif !_MIDL_USE_GUIDDEF_ - -MIDL_DEFINE_GUID(IID, IID_IAccessibleHypertext,0x6B4F8BBF,0xF1F2,0x418a,0xB3,0x5E,0xA1,0x95,0xBC,0x41,0x03,0xB9); - -#undef MIDL_DEFINE_GUID - -#ifdef __cplusplus -} -#endif - - - diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleHypertext_p.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleHypertext_p.c deleted file mode 100644 index e4df1ac6df..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleHypertext_p.c +++ /dev/null @@ -1,454 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the proxy stub code */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:58 2012 - */ -/* Compiler settings for AccessibleHypertext.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#if defined(_M_AMD64) - - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ -#if _MSC_VER >= 1200 -#pragma warning(push) -#endif - -#pragma warning( disable: 4211 ) /* redefine extern to static */ -#pragma warning( disable: 4232 ) /* dllimport identity*/ -#pragma warning( disable: 4024 ) /* array to pointer mapping*/ -#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */ - -#define USE_STUBLESS_PROXY - - -/* verify that the <rpcproxy.h> version is high enough to compile this file*/ -#ifndef __REDQ_RPCPROXY_H_VERSION__ -#define __REQUIRED_RPCPROXY_H_VERSION__ 475 -#endif - - -#include "rpcproxy.h" -#ifndef __RPCPROXY_H_VERSION__ -#error this stub requires an updated version of <rpcproxy.h> -#endif /* __RPCPROXY_H_VERSION__ */ - - -#include "AccessibleHypertext.h" - -#define TYPE_FORMAT_STRING_SIZE 29 -#define PROC_FORMAT_STRING_SIZE 127 -#define EXPR_FORMAT_STRING_SIZE 1 -#define TRANSMIT_AS_TABLE_SIZE 0 -#define WIRE_MARSHAL_TABLE_SIZE 0 - -typedef struct _AccessibleHypertext_MIDL_TYPE_FORMAT_STRING - { - short Pad; - unsigned char Format[ TYPE_FORMAT_STRING_SIZE ]; - } AccessibleHypertext_MIDL_TYPE_FORMAT_STRING; - -typedef struct _AccessibleHypertext_MIDL_PROC_FORMAT_STRING - { - short Pad; - unsigned char Format[ PROC_FORMAT_STRING_SIZE ]; - } AccessibleHypertext_MIDL_PROC_FORMAT_STRING; - -typedef struct _AccessibleHypertext_MIDL_EXPR_FORMAT_STRING - { - long Pad; - unsigned char Format[ EXPR_FORMAT_STRING_SIZE ]; - } AccessibleHypertext_MIDL_EXPR_FORMAT_STRING; - - -static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax = -{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}}; - - -extern const AccessibleHypertext_MIDL_TYPE_FORMAT_STRING AccessibleHypertext__MIDL_TypeFormatString; -extern const AccessibleHypertext_MIDL_PROC_FORMAT_STRING AccessibleHypertext__MIDL_ProcFormatString; -extern const AccessibleHypertext_MIDL_EXPR_FORMAT_STRING AccessibleHypertext__MIDL_ExprFormatString; - - -extern const MIDL_STUB_DESC Object_StubDesc; - - -extern const MIDL_SERVER_INFO IAccessibleHypertext_ServerInfo; -extern const MIDL_STUBLESS_PROXY_INFO IAccessibleHypertext_ProxyInfo; - - - -#if !defined(__RPC_WIN64__) -#error Invalid build platform for this stub. -#endif - -static const AccessibleHypertext_MIDL_PROC_FORMAT_STRING AccessibleHypertext__MIDL_ProcFormatString = - { - 0, - { - - /* Procedure get_nHyperlinks */ - - 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 2 */ NdrFcLong( 0x0 ), /* 0 */ -/* 6 */ NdrFcShort( 0x16 ), /* 22 */ -/* 8 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 10 */ NdrFcShort( 0x0 ), /* 0 */ -/* 12 */ NdrFcShort( 0x24 ), /* 36 */ -/* 14 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 16 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 18 */ NdrFcShort( 0x0 ), /* 0 */ -/* 20 */ NdrFcShort( 0x0 ), /* 0 */ -/* 22 */ NdrFcShort( 0x0 ), /* 0 */ -/* 24 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter hyperlinkCount */ - -/* 26 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 28 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 30 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 32 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 34 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 36 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_hyperlink */ - -/* 38 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 40 */ NdrFcLong( 0x0 ), /* 0 */ -/* 44 */ NdrFcShort( 0x17 ), /* 23 */ -/* 46 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 48 */ NdrFcShort( 0x8 ), /* 8 */ -/* 50 */ NdrFcShort( 0x8 ), /* 8 */ -/* 52 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x3, /* 3 */ -/* 54 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 56 */ NdrFcShort( 0x0 ), /* 0 */ -/* 58 */ NdrFcShort( 0x0 ), /* 0 */ -/* 60 */ NdrFcShort( 0x0 ), /* 0 */ -/* 62 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter index */ - -/* 64 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 66 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 68 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter hyperlink */ - -/* 70 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ -/* 72 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 74 */ NdrFcShort( 0x6 ), /* Type Offset=6 */ - - /* Return value */ - -/* 76 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 78 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 80 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_hyperlinkIndex */ - -/* 82 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 84 */ NdrFcLong( 0x0 ), /* 0 */ -/* 88 */ NdrFcShort( 0x18 ), /* 24 */ -/* 90 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 92 */ NdrFcShort( 0x8 ), /* 8 */ -/* 94 */ NdrFcShort( 0x24 ), /* 36 */ -/* 96 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x3, /* 3 */ -/* 98 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 100 */ NdrFcShort( 0x0 ), /* 0 */ -/* 102 */ NdrFcShort( 0x0 ), /* 0 */ -/* 104 */ NdrFcShort( 0x0 ), /* 0 */ -/* 106 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter charIndex */ - -/* 108 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 110 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 112 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter hyperlinkIndex */ - -/* 114 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 116 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 118 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 120 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 122 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 124 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - 0x0 - } - }; - -static const AccessibleHypertext_MIDL_TYPE_FORMAT_STRING AccessibleHypertext__MIDL_TypeFormatString = - { - 0, - { - NdrFcShort( 0x0 ), /* 0 */ -/* 2 */ - 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */ -/* 4 */ 0x8, /* FC_LONG */ - 0x5c, /* FC_PAD */ -/* 6 */ - 0x11, 0x10, /* FC_RP [pointer_deref] */ -/* 8 */ NdrFcShort( 0x2 ), /* Offset= 2 (10) */ -/* 10 */ - 0x2f, /* FC_IP */ - 0x5a, /* FC_CONSTANT_IID */ -/* 12 */ NdrFcLong( 0x1c20f2b ), /* 29495083 */ -/* 16 */ NdrFcShort( 0x3dd2 ), /* 15826 */ -/* 18 */ NdrFcShort( 0x400f ), /* 16399 */ -/* 20 */ 0x94, /* 148 */ - 0x9f, /* 159 */ -/* 22 */ 0xad, /* 173 */ - 0x0, /* 0 */ -/* 24 */ 0xbd, /* 189 */ - 0xab, /* 171 */ -/* 26 */ 0x1d, /* 29 */ - 0x41, /* 65 */ - - 0x0 - } - }; - - -/* Object interface: IUnknown, ver. 0.0, - GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */ - - -/* Object interface: IAccessibleText, ver. 0.0, - GUID={0x24FD2FFB,0x3AAD,0x4a08,{0x83,0x35,0xA3,0xAD,0x89,0xC0,0xFB,0x4B}} */ - - -/* Object interface: IAccessibleHypertext, ver. 0.0, - GUID={0x6B4F8BBF,0xF1F2,0x418a,{0xB3,0x5E,0xA1,0x95,0xBC,0x41,0x03,0xB9}} */ - -#pragma code_seg(".orpc") -static const unsigned short IAccessibleHypertext_FormatStringOffsetTable[] = - { - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - 0, - 38, - 82 - }; - -static const MIDL_STUBLESS_PROXY_INFO IAccessibleHypertext_ProxyInfo = - { - &Object_StubDesc, - AccessibleHypertext__MIDL_ProcFormatString.Format, - &IAccessibleHypertext_FormatStringOffsetTable[-3], - 0, - 0, - 0 - }; - - -static const MIDL_SERVER_INFO IAccessibleHypertext_ServerInfo = - { - &Object_StubDesc, - 0, - AccessibleHypertext__MIDL_ProcFormatString.Format, - &IAccessibleHypertext_FormatStringOffsetTable[-3], - 0, - 0, - 0, - 0}; -CINTERFACE_PROXY_VTABLE(25) _IAccessibleHypertextProxyVtbl = -{ - &IAccessibleHypertext_ProxyInfo, - &IID_IAccessibleHypertext, - IUnknown_QueryInterface_Proxy, - IUnknown_AddRef_Proxy, - IUnknown_Release_Proxy , - 0 /* IAccessibleText::addSelection */ , - 0 /* IAccessibleText::get_attributes */ , - 0 /* IAccessibleText::get_caretOffset */ , - 0 /* IAccessibleText::get_characterExtents */ , - 0 /* IAccessibleText::get_nSelections */ , - 0 /* IAccessibleText::get_offsetAtPoint */ , - 0 /* IAccessibleText::get_selection */ , - 0 /* IAccessibleText::get_text */ , - 0 /* IAccessibleText::get_textBeforeOffset */ , - 0 /* IAccessibleText::get_textAfterOffset */ , - 0 /* IAccessibleText::get_textAtOffset */ , - 0 /* IAccessibleText::removeSelection */ , - 0 /* IAccessibleText::setCaretOffset */ , - 0 /* IAccessibleText::setSelection */ , - 0 /* IAccessibleText::get_nCharacters */ , - 0 /* IAccessibleText::scrollSubstringTo */ , - 0 /* IAccessibleText::scrollSubstringToPoint */ , - 0 /* IAccessibleText::get_newText */ , - 0 /* IAccessibleText::get_oldText */ , - (void *) (INT_PTR) -1 /* IAccessibleHypertext::get_nHyperlinks */ , - (void *) (INT_PTR) -1 /* IAccessibleHypertext::get_hyperlink */ , - (void *) (INT_PTR) -1 /* IAccessibleHypertext::get_hyperlinkIndex */ -}; - - -static const PRPC_STUB_FUNCTION IAccessibleHypertext_table[] = -{ - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2 -}; - -CInterfaceStubVtbl _IAccessibleHypertextStubVtbl = -{ - &IID_IAccessibleHypertext, - &IAccessibleHypertext_ServerInfo, - 25, - &IAccessibleHypertext_table[-3], - CStdStubBuffer_DELEGATING_METHODS -}; - -static const MIDL_STUB_DESC Object_StubDesc = - { - 0, - NdrOleAllocate, - NdrOleFree, - 0, - 0, - 0, - 0, - 0, - AccessibleHypertext__MIDL_TypeFormatString.Format, - 1, /* -error bounds_check flag */ - 0x50002, /* Ndr library version */ - 0, - 0x700022b, /* MIDL Version 7.0.555 */ - 0, - 0, - 0, /* notify & notify_flag routine table */ - 0x1, /* MIDL flag */ - 0, /* cs routines */ - 0, /* proxy/server info */ - 0 - }; - -const CInterfaceProxyVtbl * const _AccessibleHypertext_ProxyVtblList[] = -{ - ( CInterfaceProxyVtbl *) &_IAccessibleHypertextProxyVtbl, - 0 -}; - -const CInterfaceStubVtbl * const _AccessibleHypertext_StubVtblList[] = -{ - ( CInterfaceStubVtbl *) &_IAccessibleHypertextStubVtbl, - 0 -}; - -PCInterfaceName const _AccessibleHypertext_InterfaceNamesList[] = -{ - "IAccessibleHypertext", - 0 -}; - -const IID * const _AccessibleHypertext_BaseIIDList[] = -{ - &IID_IAccessibleText, - 0 -}; - - -#define _AccessibleHypertext_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleHypertext, pIID, n) - -int __stdcall _AccessibleHypertext_IID_Lookup( const IID * pIID, int * pIndex ) -{ - - if(!_AccessibleHypertext_CHECK_IID(0)) - { - *pIndex = 0; - return 1; - } - - return 0; -} - -const ExtendedProxyFileInfo AccessibleHypertext_ProxyFileInfo = -{ - (PCInterfaceProxyVtblList *) & _AccessibleHypertext_ProxyVtblList, - (PCInterfaceStubVtblList *) & _AccessibleHypertext_StubVtblList, - (const PCInterfaceName * ) & _AccessibleHypertext_InterfaceNamesList, - (const IID ** ) & _AccessibleHypertext_BaseIIDList, - & _AccessibleHypertext_IID_Lookup, - 1, - 2, - 0, /* table of [async_uuid] interfaces */ - 0, /* Filler1 */ - 0, /* Filler2 */ - 0 /* Filler3 */ -}; -#if _MSC_VER >= 1200 -#pragma warning(pop) -#endif - - -#endif /* defined(_M_AMD64)*/ - diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleImage.h b/src/3rdparty/iaccessible2/generated/amd64/AccessibleImage.h deleted file mode 100644 index a01e4dc0b6..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleImage.h +++ /dev/null @@ -1,185 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:58 2012 - */ -/* Compiler settings for AccessibleImage.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the <rpcndr.h> version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of <rpcndr.h> -#endif // __RPCNDR_H_VERSION__ - -#ifndef COM_NO_WINDOWS_H -#include "windows.h" -#include "ole2.h" -#endif /*COM_NO_WINDOWS_H*/ - -#ifndef __AccessibleImage_h__ -#define __AccessibleImage_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -#ifndef __IAccessibleImage_FWD_DEFINED__ -#define __IAccessibleImage_FWD_DEFINED__ -typedef interface IAccessibleImage IAccessibleImage; -#endif /* __IAccessibleImage_FWD_DEFINED__ */ - - -/* header files for imported files */ -#include "objidl.h" -#include "oaidl.h" -#include "oleacc.h" -#include "IA2CommonTypes.h" - -#ifdef __cplusplus -extern "C"{ -#endif - - -#ifndef __IAccessibleImage_INTERFACE_DEFINED__ -#define __IAccessibleImage_INTERFACE_DEFINED__ - -/* interface IAccessibleImage */ -/* [uuid][object] */ - - -EXTERN_C const IID IID_IAccessibleImage; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("FE5ABB3D-615E-4f7b-909F-5F0EDA9E8DDE") - IAccessibleImage : public IUnknown - { - public: - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_description( - /* [retval][out] */ BSTR *description) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_imagePosition( - /* [in] */ enum IA2CoordinateType coordinateType, - /* [out] */ long *x, - /* [retval][out] */ long *y) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_imageSize( - /* [out] */ long *height, - /* [retval][out] */ long *width) = 0; - - }; - -#else /* C style interface */ - - typedef struct IAccessibleImageVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IAccessibleImage * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IAccessibleImage * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IAccessibleImage * This); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_description )( - IAccessibleImage * This, - /* [retval][out] */ BSTR *description); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_imagePosition )( - IAccessibleImage * This, - /* [in] */ enum IA2CoordinateType coordinateType, - /* [out] */ long *x, - /* [retval][out] */ long *y); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_imageSize )( - IAccessibleImage * This, - /* [out] */ long *height, - /* [retval][out] */ long *width); - - END_INTERFACE - } IAccessibleImageVtbl; - - interface IAccessibleImage - { - CONST_VTBL struct IAccessibleImageVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IAccessibleImage_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IAccessibleImage_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IAccessibleImage_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IAccessibleImage_get_description(This,description) \ - ( (This)->lpVtbl -> get_description(This,description) ) - -#define IAccessibleImage_get_imagePosition(This,coordinateType,x,y) \ - ( (This)->lpVtbl -> get_imagePosition(This,coordinateType,x,y) ) - -#define IAccessibleImage_get_imageSize(This,height,width) \ - ( (This)->lpVtbl -> get_imageSize(This,height,width) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IAccessibleImage_INTERFACE_DEFINED__ */ - - -/* Additional Prototypes for ALL interfaces */ - -unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * ); -unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * ); -unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); -void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * ); - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleImage_i.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleImage_i.c deleted file mode 100644 index 1afecd10b5..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleImage_i.c +++ /dev/null @@ -1,79 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */ - -/* link this file in with the server and any clients */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:58 2012 - */ -/* Compiler settings for AccessibleImage.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -#ifdef __cplusplus -extern "C"{ -#endif - - -#include <rpc.h> -#include <rpcndr.h> - -#ifdef _MIDL_USE_GUIDDEF_ - -#ifndef INITGUID -#define INITGUID -#include <guiddef.h> -#undef INITGUID -#else -#include <guiddef.h> -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) - -#else // !_MIDL_USE_GUIDDEF_ - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - -typedef struct _IID -{ - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; -} IID; - -#endif // __IID_DEFINED__ - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED -typedef IID CLSID; -#endif // CLSID_DEFINED - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} - -#endif !_MIDL_USE_GUIDDEF_ - -MIDL_DEFINE_GUID(IID, IID_IAccessibleImage,0xFE5ABB3D,0x615E,0x4f7b,0x90,0x9F,0x5F,0x0E,0xDA,0x9E,0x8D,0xDE); - -#undef MIDL_DEFINE_GUID - -#ifdef __cplusplus -} -#endif - - - diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleImage_p.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleImage_p.c deleted file mode 100644 index 4b6aff7ba5..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleImage_p.c +++ /dev/null @@ -1,414 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the proxy stub code */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:58 2012 - */ -/* Compiler settings for AccessibleImage.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#if defined(_M_AMD64) - - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ -#if _MSC_VER >= 1200 -#pragma warning(push) -#endif - -#pragma warning( disable: 4211 ) /* redefine extern to static */ -#pragma warning( disable: 4232 ) /* dllimport identity*/ -#pragma warning( disable: 4024 ) /* array to pointer mapping*/ -#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */ - -#define USE_STUBLESS_PROXY - - -/* verify that the <rpcproxy.h> version is high enough to compile this file*/ -#ifndef __REDQ_RPCPROXY_H_VERSION__ -#define __REQUIRED_RPCPROXY_H_VERSION__ 475 -#endif - - -#include "rpcproxy.h" -#ifndef __RPCPROXY_H_VERSION__ -#error this stub requires an updated version of <rpcproxy.h> -#endif /* __RPCPROXY_H_VERSION__ */ - - -#include "AccessibleImage.h" - -#define TYPE_FORMAT_STRING_SIZE 47 -#define PROC_FORMAT_STRING_SIZE 133 -#define EXPR_FORMAT_STRING_SIZE 1 -#define TRANSMIT_AS_TABLE_SIZE 0 -#define WIRE_MARSHAL_TABLE_SIZE 1 - -typedef struct _AccessibleImage_MIDL_TYPE_FORMAT_STRING - { - short Pad; - unsigned char Format[ TYPE_FORMAT_STRING_SIZE ]; - } AccessibleImage_MIDL_TYPE_FORMAT_STRING; - -typedef struct _AccessibleImage_MIDL_PROC_FORMAT_STRING - { - short Pad; - unsigned char Format[ PROC_FORMAT_STRING_SIZE ]; - } AccessibleImage_MIDL_PROC_FORMAT_STRING; - -typedef struct _AccessibleImage_MIDL_EXPR_FORMAT_STRING - { - long Pad; - unsigned char Format[ EXPR_FORMAT_STRING_SIZE ]; - } AccessibleImage_MIDL_EXPR_FORMAT_STRING; - - -static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax = -{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}}; - - -extern const AccessibleImage_MIDL_TYPE_FORMAT_STRING AccessibleImage__MIDL_TypeFormatString; -extern const AccessibleImage_MIDL_PROC_FORMAT_STRING AccessibleImage__MIDL_ProcFormatString; -extern const AccessibleImage_MIDL_EXPR_FORMAT_STRING AccessibleImage__MIDL_ExprFormatString; - - -extern const MIDL_STUB_DESC Object_StubDesc; - - -extern const MIDL_SERVER_INFO IAccessibleImage_ServerInfo; -extern const MIDL_STUBLESS_PROXY_INFO IAccessibleImage_ProxyInfo; - - -extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ]; - -#if !defined(__RPC_WIN64__) -#error Invalid build platform for this stub. -#endif - -static const AccessibleImage_MIDL_PROC_FORMAT_STRING AccessibleImage__MIDL_ProcFormatString = - { - 0, - { - - /* Procedure get_description */ - - 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 2 */ NdrFcLong( 0x0 ), /* 0 */ -/* 6 */ NdrFcShort( 0x3 ), /* 3 */ -/* 8 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 10 */ NdrFcShort( 0x0 ), /* 0 */ -/* 12 */ NdrFcShort( 0x8 ), /* 8 */ -/* 14 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 16 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 18 */ NdrFcShort( 0x1 ), /* 1 */ -/* 20 */ NdrFcShort( 0x0 ), /* 0 */ -/* 22 */ NdrFcShort( 0x0 ), /* 0 */ -/* 24 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter description */ - -/* 26 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 28 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 30 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ - - /* Return value */ - -/* 32 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 34 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 36 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_imagePosition */ - -/* 38 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 40 */ NdrFcLong( 0x0 ), /* 0 */ -/* 44 */ NdrFcShort( 0x4 ), /* 4 */ -/* 46 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ -/* 48 */ NdrFcShort( 0x6 ), /* 6 */ -/* 50 */ NdrFcShort( 0x40 ), /* 64 */ -/* 52 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x4, /* 4 */ -/* 54 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 56 */ NdrFcShort( 0x0 ), /* 0 */ -/* 58 */ NdrFcShort( 0x0 ), /* 0 */ -/* 60 */ NdrFcShort( 0x0 ), /* 0 */ -/* 62 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter coordinateType */ - -/* 64 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 66 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 68 */ 0xd, /* FC_ENUM16 */ - 0x0, /* 0 */ - - /* Parameter x */ - -/* 70 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 72 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 74 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter y */ - -/* 76 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 78 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 80 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 82 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 84 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 86 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_imageSize */ - -/* 88 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 90 */ NdrFcLong( 0x0 ), /* 0 */ -/* 94 */ NdrFcShort( 0x5 ), /* 5 */ -/* 96 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 98 */ NdrFcShort( 0x0 ), /* 0 */ -/* 100 */ NdrFcShort( 0x40 ), /* 64 */ -/* 102 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x3, /* 3 */ -/* 104 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 106 */ NdrFcShort( 0x0 ), /* 0 */ -/* 108 */ NdrFcShort( 0x0 ), /* 0 */ -/* 110 */ NdrFcShort( 0x0 ), /* 0 */ -/* 112 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter height */ - -/* 114 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 116 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 118 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter width */ - -/* 120 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 122 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 124 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 126 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 128 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 130 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - 0x0 - } - }; - -static const AccessibleImage_MIDL_TYPE_FORMAT_STRING AccessibleImage__MIDL_TypeFormatString = - { - 0, - { - NdrFcShort( 0x0 ), /* 0 */ -/* 2 */ - 0x11, 0x4, /* FC_RP [alloced_on_stack] */ -/* 4 */ NdrFcShort( 0x1c ), /* Offset= 28 (32) */ -/* 6 */ - 0x13, 0x0, /* FC_OP */ -/* 8 */ NdrFcShort( 0xe ), /* Offset= 14 (22) */ -/* 10 */ - 0x1b, /* FC_CARRAY */ - 0x1, /* 1 */ -/* 12 */ NdrFcShort( 0x2 ), /* 2 */ -/* 14 */ 0x9, /* Corr desc: FC_ULONG */ - 0x0, /* */ -/* 16 */ NdrFcShort( 0xfffc ), /* -4 */ -/* 18 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 20 */ 0x6, /* FC_SHORT */ - 0x5b, /* FC_END */ -/* 22 */ - 0x17, /* FC_CSTRUCT */ - 0x3, /* 3 */ -/* 24 */ NdrFcShort( 0x8 ), /* 8 */ -/* 26 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (10) */ -/* 28 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 30 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 32 */ 0xb4, /* FC_USER_MARSHAL */ - 0x83, /* 131 */ -/* 34 */ NdrFcShort( 0x0 ), /* 0 */ -/* 36 */ NdrFcShort( 0x8 ), /* 8 */ -/* 38 */ NdrFcShort( 0x0 ), /* 0 */ -/* 40 */ NdrFcShort( 0xffde ), /* Offset= -34 (6) */ -/* 42 */ - 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */ -/* 44 */ 0x8, /* FC_LONG */ - 0x5c, /* FC_PAD */ - - 0x0 - } - }; - -static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] = - { - - { - BSTR_UserSize - ,BSTR_UserMarshal - ,BSTR_UserUnmarshal - ,BSTR_UserFree - } - - }; - - - -/* Object interface: IUnknown, ver. 0.0, - GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */ - - -/* Object interface: IAccessibleImage, ver. 0.0, - GUID={0xFE5ABB3D,0x615E,0x4f7b,{0x90,0x9F,0x5F,0x0E,0xDA,0x9E,0x8D,0xDE}} */ - -#pragma code_seg(".orpc") -static const unsigned short IAccessibleImage_FormatStringOffsetTable[] = - { - 0, - 38, - 88 - }; - -static const MIDL_STUBLESS_PROXY_INFO IAccessibleImage_ProxyInfo = - { - &Object_StubDesc, - AccessibleImage__MIDL_ProcFormatString.Format, - &IAccessibleImage_FormatStringOffsetTable[-3], - 0, - 0, - 0 - }; - - -static const MIDL_SERVER_INFO IAccessibleImage_ServerInfo = - { - &Object_StubDesc, - 0, - AccessibleImage__MIDL_ProcFormatString.Format, - &IAccessibleImage_FormatStringOffsetTable[-3], - 0, - 0, - 0, - 0}; -CINTERFACE_PROXY_VTABLE(6) _IAccessibleImageProxyVtbl = -{ - &IAccessibleImage_ProxyInfo, - &IID_IAccessibleImage, - IUnknown_QueryInterface_Proxy, - IUnknown_AddRef_Proxy, - IUnknown_Release_Proxy , - (void *) (INT_PTR) -1 /* IAccessibleImage::get_description */ , - (void *) (INT_PTR) -1 /* IAccessibleImage::get_imagePosition */ , - (void *) (INT_PTR) -1 /* IAccessibleImage::get_imageSize */ -}; - -const CInterfaceStubVtbl _IAccessibleImageStubVtbl = -{ - &IID_IAccessibleImage, - &IAccessibleImage_ServerInfo, - 6, - 0, /* pure interpreted */ - CStdStubBuffer_METHODS -}; - -static const MIDL_STUB_DESC Object_StubDesc = - { - 0, - NdrOleAllocate, - NdrOleFree, - 0, - 0, - 0, - 0, - 0, - AccessibleImage__MIDL_TypeFormatString.Format, - 1, /* -error bounds_check flag */ - 0x50002, /* Ndr library version */ - 0, - 0x700022b, /* MIDL Version 7.0.555 */ - 0, - UserMarshalRoutines, - 0, /* notify & notify_flag routine table */ - 0x1, /* MIDL flag */ - 0, /* cs routines */ - 0, /* proxy/server info */ - 0 - }; - -const CInterfaceProxyVtbl * const _AccessibleImage_ProxyVtblList[] = -{ - ( CInterfaceProxyVtbl *) &_IAccessibleImageProxyVtbl, - 0 -}; - -const CInterfaceStubVtbl * const _AccessibleImage_StubVtblList[] = -{ - ( CInterfaceStubVtbl *) &_IAccessibleImageStubVtbl, - 0 -}; - -PCInterfaceName const _AccessibleImage_InterfaceNamesList[] = -{ - "IAccessibleImage", - 0 -}; - - -#define _AccessibleImage_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleImage, pIID, n) - -int __stdcall _AccessibleImage_IID_Lookup( const IID * pIID, int * pIndex ) -{ - - if(!_AccessibleImage_CHECK_IID(0)) - { - *pIndex = 0; - return 1; - } - - return 0; -} - -const ExtendedProxyFileInfo AccessibleImage_ProxyFileInfo = -{ - (PCInterfaceProxyVtblList *) & _AccessibleImage_ProxyVtblList, - (PCInterfaceStubVtblList *) & _AccessibleImage_StubVtblList, - (const PCInterfaceName * ) & _AccessibleImage_InterfaceNamesList, - 0, /* no delegation */ - & _AccessibleImage_IID_Lookup, - 1, - 2, - 0, /* table of [async_uuid] interfaces */ - 0, /* Filler1 */ - 0, /* Filler2 */ - 0 /* Filler3 */ -}; -#if _MSC_VER >= 1200 -#pragma warning(pop) -#endif - - -#endif /* defined(_M_AMD64)*/ - diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleRelation.h b/src/3rdparty/iaccessible2/generated/amd64/AccessibleRelation.h deleted file mode 100644 index e153cd8476..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleRelation.h +++ /dev/null @@ -1,244 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:58 2012 - */ -/* Compiler settings for AccessibleRelation.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the <rpcndr.h> version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of <rpcndr.h> -#endif // __RPCNDR_H_VERSION__ - -#ifndef COM_NO_WINDOWS_H -#include "windows.h" -#include "ole2.h" -#endif /*COM_NO_WINDOWS_H*/ - -#ifndef __AccessibleRelation_h__ -#define __AccessibleRelation_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -#ifndef __IAccessibleRelation_FWD_DEFINED__ -#define __IAccessibleRelation_FWD_DEFINED__ -typedef interface IAccessibleRelation IAccessibleRelation; -#endif /* __IAccessibleRelation_FWD_DEFINED__ */ - - -/* header files for imported files */ -#include "objidl.h" -#include "oaidl.h" -#include "oleacc.h" - -#ifdef __cplusplus -extern "C"{ -#endif - - -/* interface __MIDL_itf_AccessibleRelation_0000_0000 */ -/* [local] */ - -#define IA2_RELATION_CONTROLLED_BY ( L"controlledBy" ) - -#define IA2_RELATION_CONTROLLER_FOR ( L"controllerFor" ) - -#define IA2_RELATION_DESCRIBED_BY ( L"describedBy" ) - -#define IA2_RELATION_DESCRIPTION_FOR ( L"descriptionFor" ) - -#define IA2_RELATION_EMBEDDED_BY ( L"embeddedBy" ) - -#define IA2_RELATION_EMBEDS ( L"embeds" ) - -#define IA2_RELATION_FLOWS_FROM ( L"flowsFrom" ) - -#define IA2_RELATION_FLOWS_TO ( L"flowsTo" ) - -#define IA2_RELATION_LABEL_FOR ( L"labelFor" ) - -#define IA2_RELATION_LABELED_BY ( L"labelledBy" ) - -#define IA2_RELATION_LABELLED_BY ( L"labelledBy" ) - -#define IA2_RELATION_MEMBER_OF ( L"memberOf" ) - -#define IA2_RELATION_NODE_CHILD_OF ( L"nodeChildOf" ) - -#define IA2_RELATION_PARENT_WINDOW_OF ( L"parentWindowOf" ) - -#define IA2_RELATION_POPUP_FOR ( L"popupFor" ) - -#define IA2_RELATION_SUBWINDOW_OF ( L"subwindowOf" ) - - - -extern RPC_IF_HANDLE __MIDL_itf_AccessibleRelation_0000_0000_v0_0_c_ifspec; -extern RPC_IF_HANDLE __MIDL_itf_AccessibleRelation_0000_0000_v0_0_s_ifspec; - -#ifndef __IAccessibleRelation_INTERFACE_DEFINED__ -#define __IAccessibleRelation_INTERFACE_DEFINED__ - -/* interface IAccessibleRelation */ -/* [uuid][object] */ - - -EXTERN_C const IID IID_IAccessibleRelation; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("7CDF86EE-C3DA-496a-BDA4-281B336E1FDC") - IAccessibleRelation : public IUnknown - { - public: - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_relationType( - /* [retval][out] */ BSTR *relationType) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_localizedRelationType( - /* [retval][out] */ BSTR *localizedRelationType) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nTargets( - /* [retval][out] */ long *nTargets) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_target( - /* [in] */ long targetIndex, - /* [retval][out] */ IUnknown **target) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targets( - /* [in] */ long maxTargets, - /* [length_is][size_is][out] */ IUnknown **targets, - /* [retval][out] */ long *nTargets) = 0; - - }; - -#else /* C style interface */ - - typedef struct IAccessibleRelationVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IAccessibleRelation * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IAccessibleRelation * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IAccessibleRelation * This); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relationType )( - IAccessibleRelation * This, - /* [retval][out] */ BSTR *relationType); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedRelationType )( - IAccessibleRelation * This, - /* [retval][out] */ BSTR *localizedRelationType); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nTargets )( - IAccessibleRelation * This, - /* [retval][out] */ long *nTargets); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_target )( - IAccessibleRelation * This, - /* [in] */ long targetIndex, - /* [retval][out] */ IUnknown **target); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targets )( - IAccessibleRelation * This, - /* [in] */ long maxTargets, - /* [length_is][size_is][out] */ IUnknown **targets, - /* [retval][out] */ long *nTargets); - - END_INTERFACE - } IAccessibleRelationVtbl; - - interface IAccessibleRelation - { - CONST_VTBL struct IAccessibleRelationVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IAccessibleRelation_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IAccessibleRelation_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IAccessibleRelation_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IAccessibleRelation_get_relationType(This,relationType) \ - ( (This)->lpVtbl -> get_relationType(This,relationType) ) - -#define IAccessibleRelation_get_localizedRelationType(This,localizedRelationType) \ - ( (This)->lpVtbl -> get_localizedRelationType(This,localizedRelationType) ) - -#define IAccessibleRelation_get_nTargets(This,nTargets) \ - ( (This)->lpVtbl -> get_nTargets(This,nTargets) ) - -#define IAccessibleRelation_get_target(This,targetIndex,target) \ - ( (This)->lpVtbl -> get_target(This,targetIndex,target) ) - -#define IAccessibleRelation_get_targets(This,maxTargets,targets,nTargets) \ - ( (This)->lpVtbl -> get_targets(This,maxTargets,targets,nTargets) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IAccessibleRelation_INTERFACE_DEFINED__ */ - - -/* Additional Prototypes for ALL interfaces */ - -unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * ); -unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * ); -unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); -void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * ); - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleRelation_i.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleRelation_i.c deleted file mode 100644 index 2ab3837a27..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleRelation_i.c +++ /dev/null @@ -1,79 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */ - -/* link this file in with the server and any clients */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:58 2012 - */ -/* Compiler settings for AccessibleRelation.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -#ifdef __cplusplus -extern "C"{ -#endif - - -#include <rpc.h> -#include <rpcndr.h> - -#ifdef _MIDL_USE_GUIDDEF_ - -#ifndef INITGUID -#define INITGUID -#include <guiddef.h> -#undef INITGUID -#else -#include <guiddef.h> -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) - -#else // !_MIDL_USE_GUIDDEF_ - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - -typedef struct _IID -{ - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; -} IID; - -#endif // __IID_DEFINED__ - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED -typedef IID CLSID; -#endif // CLSID_DEFINED - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} - -#endif !_MIDL_USE_GUIDDEF_ - -MIDL_DEFINE_GUID(IID, IID_IAccessibleRelation,0x7CDF86EE,0xC3DA,0x496a,0xBD,0xA4,0x28,0x1B,0x33,0x6E,0x1F,0xDC); - -#undef MIDL_DEFINE_GUID - -#ifdef __cplusplus -} -#endif - - - diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleRelation_p.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleRelation_p.c deleted file mode 100644 index e02cf7254c..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleRelation_p.c +++ /dev/null @@ -1,520 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the proxy stub code */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:58 2012 - */ -/* Compiler settings for AccessibleRelation.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#if defined(_M_AMD64) - - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ -#if _MSC_VER >= 1200 -#pragma warning(push) -#endif - -#pragma warning( disable: 4211 ) /* redefine extern to static */ -#pragma warning( disable: 4232 ) /* dllimport identity*/ -#pragma warning( disable: 4024 ) /* array to pointer mapping*/ -#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */ - -#define USE_STUBLESS_PROXY - - -/* verify that the <rpcproxy.h> version is high enough to compile this file*/ -#ifndef __REDQ_RPCPROXY_H_VERSION__ -#define __REQUIRED_RPCPROXY_H_VERSION__ 475 -#endif - - -#include "rpcproxy.h" -#ifndef __RPCPROXY_H_VERSION__ -#error this stub requires an updated version of <rpcproxy.h> -#endif /* __RPCPROXY_H_VERSION__ */ - - -#include "AccessibleRelation.h" - -#define TYPE_FORMAT_STRING_SIZE 95 -#define PROC_FORMAT_STRING_SIZE 209 -#define EXPR_FORMAT_STRING_SIZE 1 -#define TRANSMIT_AS_TABLE_SIZE 0 -#define WIRE_MARSHAL_TABLE_SIZE 1 - -typedef struct _AccessibleRelation_MIDL_TYPE_FORMAT_STRING - { - short Pad; - unsigned char Format[ TYPE_FORMAT_STRING_SIZE ]; - } AccessibleRelation_MIDL_TYPE_FORMAT_STRING; - -typedef struct _AccessibleRelation_MIDL_PROC_FORMAT_STRING - { - short Pad; - unsigned char Format[ PROC_FORMAT_STRING_SIZE ]; - } AccessibleRelation_MIDL_PROC_FORMAT_STRING; - -typedef struct _AccessibleRelation_MIDL_EXPR_FORMAT_STRING - { - long Pad; - unsigned char Format[ EXPR_FORMAT_STRING_SIZE ]; - } AccessibleRelation_MIDL_EXPR_FORMAT_STRING; - - -static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax = -{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}}; - - -extern const AccessibleRelation_MIDL_TYPE_FORMAT_STRING AccessibleRelation__MIDL_TypeFormatString; -extern const AccessibleRelation_MIDL_PROC_FORMAT_STRING AccessibleRelation__MIDL_ProcFormatString; -extern const AccessibleRelation_MIDL_EXPR_FORMAT_STRING AccessibleRelation__MIDL_ExprFormatString; - - -extern const MIDL_STUB_DESC Object_StubDesc; - - -extern const MIDL_SERVER_INFO IAccessibleRelation_ServerInfo; -extern const MIDL_STUBLESS_PROXY_INFO IAccessibleRelation_ProxyInfo; - - -extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ]; - -#if !defined(__RPC_WIN64__) -#error Invalid build platform for this stub. -#endif - -static const AccessibleRelation_MIDL_PROC_FORMAT_STRING AccessibleRelation__MIDL_ProcFormatString = - { - 0, - { - - /* Procedure get_relationType */ - - 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 2 */ NdrFcLong( 0x0 ), /* 0 */ -/* 6 */ NdrFcShort( 0x3 ), /* 3 */ -/* 8 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 10 */ NdrFcShort( 0x0 ), /* 0 */ -/* 12 */ NdrFcShort( 0x8 ), /* 8 */ -/* 14 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 16 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 18 */ NdrFcShort( 0x1 ), /* 1 */ -/* 20 */ NdrFcShort( 0x0 ), /* 0 */ -/* 22 */ NdrFcShort( 0x0 ), /* 0 */ -/* 24 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter relationType */ - -/* 26 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 28 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 30 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ - - /* Return value */ - -/* 32 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 34 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 36 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_localizedRelationType */ - -/* 38 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 40 */ NdrFcLong( 0x0 ), /* 0 */ -/* 44 */ NdrFcShort( 0x4 ), /* 4 */ -/* 46 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 48 */ NdrFcShort( 0x0 ), /* 0 */ -/* 50 */ NdrFcShort( 0x8 ), /* 8 */ -/* 52 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 54 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 56 */ NdrFcShort( 0x1 ), /* 1 */ -/* 58 */ NdrFcShort( 0x0 ), /* 0 */ -/* 60 */ NdrFcShort( 0x0 ), /* 0 */ -/* 62 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter localizedRelationType */ - -/* 64 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 66 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 68 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ - - /* Return value */ - -/* 70 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 72 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 74 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_nTargets */ - -/* 76 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 78 */ NdrFcLong( 0x0 ), /* 0 */ -/* 82 */ NdrFcShort( 0x5 ), /* 5 */ -/* 84 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 86 */ NdrFcShort( 0x0 ), /* 0 */ -/* 88 */ NdrFcShort( 0x24 ), /* 36 */ -/* 90 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 92 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 94 */ NdrFcShort( 0x0 ), /* 0 */ -/* 96 */ NdrFcShort( 0x0 ), /* 0 */ -/* 98 */ NdrFcShort( 0x0 ), /* 0 */ -/* 100 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter nTargets */ - -/* 102 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 104 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 106 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 108 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 110 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 112 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_target */ - -/* 114 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 116 */ NdrFcLong( 0x0 ), /* 0 */ -/* 120 */ NdrFcShort( 0x6 ), /* 6 */ -/* 122 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 124 */ NdrFcShort( 0x8 ), /* 8 */ -/* 126 */ NdrFcShort( 0x8 ), /* 8 */ -/* 128 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x3, /* 3 */ -/* 130 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 132 */ NdrFcShort( 0x0 ), /* 0 */ -/* 134 */ NdrFcShort( 0x0 ), /* 0 */ -/* 136 */ NdrFcShort( 0x0 ), /* 0 */ -/* 138 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter targetIndex */ - -/* 140 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 142 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 144 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter target */ - -/* 146 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ -/* 148 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 150 */ NdrFcShort( 0x2e ), /* Type Offset=46 */ - - /* Return value */ - -/* 152 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 154 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 156 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_targets */ - -/* 158 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 160 */ NdrFcLong( 0x0 ), /* 0 */ -/* 164 */ NdrFcShort( 0x7 ), /* 7 */ -/* 166 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ -/* 168 */ NdrFcShort( 0x8 ), /* 8 */ -/* 170 */ NdrFcShort( 0x24 ), /* 36 */ -/* 172 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x4, /* 4 */ -/* 174 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 176 */ NdrFcShort( 0x1 ), /* 1 */ -/* 178 */ NdrFcShort( 0x0 ), /* 0 */ -/* 180 */ NdrFcShort( 0x0 ), /* 0 */ -/* 182 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter maxTargets */ - -/* 184 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 186 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 188 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter targets */ - -/* 190 */ NdrFcShort( 0x113 ), /* Flags: must size, must free, out, simple ref, */ -/* 192 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 194 */ NdrFcShort( 0x48 ), /* Type Offset=72 */ - - /* Parameter nTargets */ - -/* 196 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 198 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 200 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 202 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 204 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 206 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - 0x0 - } - }; - -static const AccessibleRelation_MIDL_TYPE_FORMAT_STRING AccessibleRelation__MIDL_TypeFormatString = - { - 0, - { - NdrFcShort( 0x0 ), /* 0 */ -/* 2 */ - 0x11, 0x4, /* FC_RP [alloced_on_stack] */ -/* 4 */ NdrFcShort( 0x1c ), /* Offset= 28 (32) */ -/* 6 */ - 0x13, 0x0, /* FC_OP */ -/* 8 */ NdrFcShort( 0xe ), /* Offset= 14 (22) */ -/* 10 */ - 0x1b, /* FC_CARRAY */ - 0x1, /* 1 */ -/* 12 */ NdrFcShort( 0x2 ), /* 2 */ -/* 14 */ 0x9, /* Corr desc: FC_ULONG */ - 0x0, /* */ -/* 16 */ NdrFcShort( 0xfffc ), /* -4 */ -/* 18 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 20 */ 0x6, /* FC_SHORT */ - 0x5b, /* FC_END */ -/* 22 */ - 0x17, /* FC_CSTRUCT */ - 0x3, /* 3 */ -/* 24 */ NdrFcShort( 0x8 ), /* 8 */ -/* 26 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (10) */ -/* 28 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 30 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 32 */ 0xb4, /* FC_USER_MARSHAL */ - 0x83, /* 131 */ -/* 34 */ NdrFcShort( 0x0 ), /* 0 */ -/* 36 */ NdrFcShort( 0x8 ), /* 8 */ -/* 38 */ NdrFcShort( 0x0 ), /* 0 */ -/* 40 */ NdrFcShort( 0xffde ), /* Offset= -34 (6) */ -/* 42 */ - 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */ -/* 44 */ 0x8, /* FC_LONG */ - 0x5c, /* FC_PAD */ -/* 46 */ - 0x11, 0x10, /* FC_RP [pointer_deref] */ -/* 48 */ NdrFcShort( 0x2 ), /* Offset= 2 (50) */ -/* 50 */ - 0x2f, /* FC_IP */ - 0x5a, /* FC_CONSTANT_IID */ -/* 52 */ NdrFcLong( 0x0 ), /* 0 */ -/* 56 */ NdrFcShort( 0x0 ), /* 0 */ -/* 58 */ NdrFcShort( 0x0 ), /* 0 */ -/* 60 */ 0xc0, /* 192 */ - 0x0, /* 0 */ -/* 62 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 64 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 66 */ 0x0, /* 0 */ - 0x46, /* 70 */ -/* 68 */ - 0x11, 0x0, /* FC_RP */ -/* 70 */ NdrFcShort( 0x2 ), /* Offset= 2 (72) */ -/* 72 */ - 0x21, /* FC_BOGUS_ARRAY */ - 0x3, /* 3 */ -/* 74 */ NdrFcShort( 0x0 ), /* 0 */ -/* 76 */ 0x28, /* Corr desc: parameter, FC_LONG */ - 0x0, /* */ -/* 78 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 80 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 82 */ 0x28, /* Corr desc: parameter, FC_LONG */ - 0x54, /* FC_DEREFERENCE */ -/* 84 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 86 */ NdrFcShort( 0x0 ), /* Corr flags: */ -/* 88 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 90 */ NdrFcShort( 0xffd8 ), /* Offset= -40 (50) */ -/* 92 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ - - 0x0 - } - }; - -static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] = - { - - { - BSTR_UserSize - ,BSTR_UserMarshal - ,BSTR_UserUnmarshal - ,BSTR_UserFree - } - - }; - - - -/* Standard interface: __MIDL_itf_AccessibleRelation_0000_0000, ver. 0.0, - GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */ - - -/* Object interface: IUnknown, ver. 0.0, - GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */ - - -/* Object interface: IAccessibleRelation, ver. 0.0, - GUID={0x7CDF86EE,0xC3DA,0x496a,{0xBD,0xA4,0x28,0x1B,0x33,0x6E,0x1F,0xDC}} */ - -#pragma code_seg(".orpc") -static const unsigned short IAccessibleRelation_FormatStringOffsetTable[] = - { - 0, - 38, - 76, - 114, - 158 - }; - -static const MIDL_STUBLESS_PROXY_INFO IAccessibleRelation_ProxyInfo = - { - &Object_StubDesc, - AccessibleRelation__MIDL_ProcFormatString.Format, - &IAccessibleRelation_FormatStringOffsetTable[-3], - 0, - 0, - 0 - }; - - -static const MIDL_SERVER_INFO IAccessibleRelation_ServerInfo = - { - &Object_StubDesc, - 0, - AccessibleRelation__MIDL_ProcFormatString.Format, - &IAccessibleRelation_FormatStringOffsetTable[-3], - 0, - 0, - 0, - 0}; -CINTERFACE_PROXY_VTABLE(8) _IAccessibleRelationProxyVtbl = -{ - &IAccessibleRelation_ProxyInfo, - &IID_IAccessibleRelation, - IUnknown_QueryInterface_Proxy, - IUnknown_AddRef_Proxy, - IUnknown_Release_Proxy , - (void *) (INT_PTR) -1 /* IAccessibleRelation::get_relationType */ , - (void *) (INT_PTR) -1 /* IAccessibleRelation::get_localizedRelationType */ , - (void *) (INT_PTR) -1 /* IAccessibleRelation::get_nTargets */ , - (void *) (INT_PTR) -1 /* IAccessibleRelation::get_target */ , - (void *) (INT_PTR) -1 /* IAccessibleRelation::get_targets */ -}; - -const CInterfaceStubVtbl _IAccessibleRelationStubVtbl = -{ - &IID_IAccessibleRelation, - &IAccessibleRelation_ServerInfo, - 8, - 0, /* pure interpreted */ - CStdStubBuffer_METHODS -}; - -static const MIDL_STUB_DESC Object_StubDesc = - { - 0, - NdrOleAllocate, - NdrOleFree, - 0, - 0, - 0, - 0, - 0, - AccessibleRelation__MIDL_TypeFormatString.Format, - 1, /* -error bounds_check flag */ - 0x50002, /* Ndr library version */ - 0, - 0x700022b, /* MIDL Version 7.0.555 */ - 0, - UserMarshalRoutines, - 0, /* notify & notify_flag routine table */ - 0x1, /* MIDL flag */ - 0, /* cs routines */ - 0, /* proxy/server info */ - 0 - }; - -const CInterfaceProxyVtbl * const _AccessibleRelation_ProxyVtblList[] = -{ - ( CInterfaceProxyVtbl *) &_IAccessibleRelationProxyVtbl, - 0 -}; - -const CInterfaceStubVtbl * const _AccessibleRelation_StubVtblList[] = -{ - ( CInterfaceStubVtbl *) &_IAccessibleRelationStubVtbl, - 0 -}; - -PCInterfaceName const _AccessibleRelation_InterfaceNamesList[] = -{ - "IAccessibleRelation", - 0 -}; - - -#define _AccessibleRelation_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleRelation, pIID, n) - -int __stdcall _AccessibleRelation_IID_Lookup( const IID * pIID, int * pIndex ) -{ - - if(!_AccessibleRelation_CHECK_IID(0)) - { - *pIndex = 0; - return 1; - } - - return 0; -} - -const ExtendedProxyFileInfo AccessibleRelation_ProxyFileInfo = -{ - (PCInterfaceProxyVtblList *) & _AccessibleRelation_ProxyVtblList, - (PCInterfaceStubVtblList *) & _AccessibleRelation_StubVtblList, - (const PCInterfaceName * ) & _AccessibleRelation_InterfaceNamesList, - 0, /* no delegation */ - & _AccessibleRelation_IID_Lookup, - 1, - 2, - 0, /* table of [async_uuid] interfaces */ - 0, /* Filler1 */ - 0, /* Filler2 */ - 0 /* Filler3 */ -}; -#if _MSC_VER >= 1200 -#pragma warning(pop) -#endif - - -#endif /* defined(_M_AMD64)*/ - diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleRole.h b/src/3rdparty/iaccessible2/generated/amd64/AccessibleRole.h deleted file mode 100644 index bee6466b7c..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleRole.h +++ /dev/null @@ -1,118 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:59 2012 - */ -/* Compiler settings for AccessibleRole.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the <rpcndr.h> version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of <rpcndr.h> -#endif // __RPCNDR_H_VERSION__ - - -#ifndef __AccessibleRole_h__ -#define __AccessibleRole_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -/* header files for imported files */ -#include "objidl.h" - -#ifdef __cplusplus -extern "C"{ -#endif - - -/* interface __MIDL_itf_AccessibleRole_0000_0000 */ -/* [local] */ - - -enum IA2Role - { IA2_ROLE_UNKNOWN = 0, - IA2_ROLE_CANVAS = 0x401, - IA2_ROLE_CAPTION = ( IA2_ROLE_CANVAS + 1 ) , - IA2_ROLE_CHECK_MENU_ITEM = ( IA2_ROLE_CAPTION + 1 ) , - IA2_ROLE_COLOR_CHOOSER = ( IA2_ROLE_CHECK_MENU_ITEM + 1 ) , - IA2_ROLE_DATE_EDITOR = ( IA2_ROLE_COLOR_CHOOSER + 1 ) , - IA2_ROLE_DESKTOP_ICON = ( IA2_ROLE_DATE_EDITOR + 1 ) , - IA2_ROLE_DESKTOP_PANE = ( IA2_ROLE_DESKTOP_ICON + 1 ) , - IA2_ROLE_DIRECTORY_PANE = ( IA2_ROLE_DESKTOP_PANE + 1 ) , - IA2_ROLE_EDITBAR = ( IA2_ROLE_DIRECTORY_PANE + 1 ) , - IA2_ROLE_EMBEDDED_OBJECT = ( IA2_ROLE_EDITBAR + 1 ) , - IA2_ROLE_ENDNOTE = ( IA2_ROLE_EMBEDDED_OBJECT + 1 ) , - IA2_ROLE_FILE_CHOOSER = ( IA2_ROLE_ENDNOTE + 1 ) , - IA2_ROLE_FONT_CHOOSER = ( IA2_ROLE_FILE_CHOOSER + 1 ) , - IA2_ROLE_FOOTER = ( IA2_ROLE_FONT_CHOOSER + 1 ) , - IA2_ROLE_FOOTNOTE = ( IA2_ROLE_FOOTER + 1 ) , - IA2_ROLE_FORM = ( IA2_ROLE_FOOTNOTE + 1 ) , - IA2_ROLE_FRAME = ( IA2_ROLE_FORM + 1 ) , - IA2_ROLE_GLASS_PANE = ( IA2_ROLE_FRAME + 1 ) , - IA2_ROLE_HEADER = ( IA2_ROLE_GLASS_PANE + 1 ) , - IA2_ROLE_HEADING = ( IA2_ROLE_HEADER + 1 ) , - IA2_ROLE_ICON = ( IA2_ROLE_HEADING + 1 ) , - IA2_ROLE_IMAGE_MAP = ( IA2_ROLE_ICON + 1 ) , - IA2_ROLE_INPUT_METHOD_WINDOW = ( IA2_ROLE_IMAGE_MAP + 1 ) , - IA2_ROLE_INTERNAL_FRAME = ( IA2_ROLE_INPUT_METHOD_WINDOW + 1 ) , - IA2_ROLE_LABEL = ( IA2_ROLE_INTERNAL_FRAME + 1 ) , - IA2_ROLE_LAYERED_PANE = ( IA2_ROLE_LABEL + 1 ) , - IA2_ROLE_NOTE = ( IA2_ROLE_LAYERED_PANE + 1 ) , - IA2_ROLE_OPTION_PANE = ( IA2_ROLE_NOTE + 1 ) , - IA2_ROLE_PAGE = ( IA2_ROLE_OPTION_PANE + 1 ) , - IA2_ROLE_PARAGRAPH = ( IA2_ROLE_PAGE + 1 ) , - IA2_ROLE_RADIO_MENU_ITEM = ( IA2_ROLE_PARAGRAPH + 1 ) , - IA2_ROLE_REDUNDANT_OBJECT = ( IA2_ROLE_RADIO_MENU_ITEM + 1 ) , - IA2_ROLE_ROOT_PANE = ( IA2_ROLE_REDUNDANT_OBJECT + 1 ) , - IA2_ROLE_RULER = ( IA2_ROLE_ROOT_PANE + 1 ) , - IA2_ROLE_SCROLL_PANE = ( IA2_ROLE_RULER + 1 ) , - IA2_ROLE_SECTION = ( IA2_ROLE_SCROLL_PANE + 1 ) , - IA2_ROLE_SHAPE = ( IA2_ROLE_SECTION + 1 ) , - IA2_ROLE_SPLIT_PANE = ( IA2_ROLE_SHAPE + 1 ) , - IA2_ROLE_TEAR_OFF_MENU = ( IA2_ROLE_SPLIT_PANE + 1 ) , - IA2_ROLE_TERMINAL = ( IA2_ROLE_TEAR_OFF_MENU + 1 ) , - IA2_ROLE_TEXT_FRAME = ( IA2_ROLE_TERMINAL + 1 ) , - IA2_ROLE_TOGGLE_BUTTON = ( IA2_ROLE_TEXT_FRAME + 1 ) , - IA2_ROLE_VIEW_PORT = ( IA2_ROLE_TOGGLE_BUTTON + 1 ) , - IA2_ROLE_COMPLEMENTARY_CONTENT = ( IA2_ROLE_VIEW_PORT + 1 ) - } ; - - -extern RPC_IF_HANDLE __MIDL_itf_AccessibleRole_0000_0000_v0_0_c_ifspec; -extern RPC_IF_HANDLE __MIDL_itf_AccessibleRole_0000_0000_v0_0_s_ifspec; - -/* Additional Prototypes for ALL interfaces */ - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleStates.h b/src/3rdparty/iaccessible2/generated/amd64/AccessibleStates.h deleted file mode 100644 index fbb6ff99b3..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleStates.h +++ /dev/null @@ -1,95 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:59 2012 - */ -/* Compiler settings for AccessibleStates.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the <rpcndr.h> version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of <rpcndr.h> -#endif // __RPCNDR_H_VERSION__ - - -#ifndef __AccessibleStates_h__ -#define __AccessibleStates_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -/* header files for imported files */ -#include "objidl.h" - -#ifdef __cplusplus -extern "C"{ -#endif - - -/* interface __MIDL_itf_AccessibleStates_0000_0000 */ -/* [local] */ - -typedef long AccessibleStates; - - -enum IA2States - { IA2_STATE_ACTIVE = 0x1, - IA2_STATE_ARMED = 0x2, - IA2_STATE_DEFUNCT = 0x4, - IA2_STATE_EDITABLE = 0x8, - IA2_STATE_HORIZONTAL = 0x10, - IA2_STATE_ICONIFIED = 0x20, - IA2_STATE_INVALID_ENTRY = 0x40, - IA2_STATE_MANAGES_DESCENDANTS = 0x80, - IA2_STATE_MODAL = 0x100, - IA2_STATE_MULTI_LINE = 0x200, - IA2_STATE_OPAQUE = 0x400, - IA2_STATE_REQUIRED = 0x800, - IA2_STATE_SELECTABLE_TEXT = 0x1000, - IA2_STATE_SINGLE_LINE = 0x2000, - IA2_STATE_STALE = 0x4000, - IA2_STATE_SUPPORTS_AUTOCOMPLETION = 0x8000, - IA2_STATE_TRANSIENT = 0x10000, - IA2_STATE_VERTICAL = 0x20000, - IA2_STATE_CHECKABLE = 0x40000, - IA2_STATE_PINNED = 0x80000 - } ; - - -extern RPC_IF_HANDLE __MIDL_itf_AccessibleStates_0000_0000_v0_0_c_ifspec; -extern RPC_IF_HANDLE __MIDL_itf_AccessibleStates_0000_0000_v0_0_s_ifspec; - -/* Additional Prototypes for ALL interfaces */ - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleTable.h b/src/3rdparty/iaccessible2/generated/amd64/AccessibleTable.h deleted file mode 100644 index fb9c7478a1..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleTable.h +++ /dev/null @@ -1,497 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:59 2012 - */ -/* Compiler settings for AccessibleTable.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the <rpcndr.h> version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of <rpcndr.h> -#endif // __RPCNDR_H_VERSION__ - -#ifndef COM_NO_WINDOWS_H -#include "windows.h" -#include "ole2.h" -#endif /*COM_NO_WINDOWS_H*/ - -#ifndef __AccessibleTable_h__ -#define __AccessibleTable_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -#ifndef __IAccessibleTable_FWD_DEFINED__ -#define __IAccessibleTable_FWD_DEFINED__ -typedef interface IAccessibleTable IAccessibleTable; -#endif /* __IAccessibleTable_FWD_DEFINED__ */ - - -/* header files for imported files */ -#include "objidl.h" -#include "oaidl.h" -#include "oleacc.h" -#include "Accessible2.h" - -#ifdef __cplusplus -extern "C"{ -#endif - - -#ifndef __IAccessibleTable_INTERFACE_DEFINED__ -#define __IAccessibleTable_INTERFACE_DEFINED__ - -/* interface IAccessibleTable */ -/* [uuid][object] */ - - -EXTERN_C const IID IID_IAccessibleTable; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("35AD8070-C20C-4fb4-B094-F4F7275DD469") - IAccessibleTable : public IUnknown - { - public: - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_accessibleAt( - /* [in] */ long row, - /* [in] */ long column, - /* [retval][out] */ IUnknown **accessible) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_caption( - /* [retval][out] */ IUnknown **accessible) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_childIndex( - /* [in] */ long rowIndex, - /* [in] */ long columnIndex, - /* [retval][out] */ long *cellIndex) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnDescription( - /* [in] */ long column, - /* [retval][out] */ BSTR *description) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnExtentAt( - /* [in] */ long row, - /* [in] */ long column, - /* [retval][out] */ long *nColumnsSpanned) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnHeader( - /* [out] */ IAccessibleTable **accessibleTable, - /* [retval][out] */ long *startingRowIndex) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnIndex( - /* [in] */ long cellIndex, - /* [retval][out] */ long *columnIndex) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nColumns( - /* [retval][out] */ long *columnCount) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nRows( - /* [retval][out] */ long *rowCount) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedChildren( - /* [retval][out] */ long *cellCount) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedColumns( - /* [retval][out] */ long *columnCount) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedRows( - /* [retval][out] */ long *rowCount) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowDescription( - /* [in] */ long row, - /* [retval][out] */ BSTR *description) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowExtentAt( - /* [in] */ long row, - /* [in] */ long column, - /* [retval][out] */ long *nRowsSpanned) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowHeader( - /* [out] */ IAccessibleTable **accessibleTable, - /* [retval][out] */ long *startingColumnIndex) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowIndex( - /* [in] */ long cellIndex, - /* [retval][out] */ long *rowIndex) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedChildren( - /* [in] */ long maxChildren, - /* [length_is][length_is][size_is][size_is][out] */ long **children, - /* [retval][out] */ long *nChildren) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedColumns( - /* [in] */ long maxColumns, - /* [length_is][length_is][size_is][size_is][out] */ long **columns, - /* [retval][out] */ long *nColumns) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedRows( - /* [in] */ long maxRows, - /* [length_is][length_is][size_is][size_is][out] */ long **rows, - /* [retval][out] */ long *nRows) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_summary( - /* [retval][out] */ IUnknown **accessible) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isColumnSelected( - /* [in] */ long column, - /* [retval][out] */ boolean *isSelected) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRowSelected( - /* [in] */ long row, - /* [retval][out] */ boolean *isSelected) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isSelected( - /* [in] */ long row, - /* [in] */ long column, - /* [retval][out] */ boolean *isSelected) = 0; - - virtual HRESULT STDMETHODCALLTYPE selectRow( - /* [in] */ long row) = 0; - - virtual HRESULT STDMETHODCALLTYPE selectColumn( - /* [in] */ long column) = 0; - - virtual HRESULT STDMETHODCALLTYPE unselectRow( - /* [in] */ long row) = 0; - - virtual HRESULT STDMETHODCALLTYPE unselectColumn( - /* [in] */ long column) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowColumnExtentsAtIndex( - /* [in] */ long index, - /* [out] */ long *row, - /* [out] */ long *column, - /* [out] */ long *rowExtents, - /* [out] */ long *columnExtents, - /* [retval][out] */ boolean *isSelected) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_modelChange( - /* [retval][out] */ IA2TableModelChange *modelChange) = 0; - - }; - -#else /* C style interface */ - - typedef struct IAccessibleTableVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IAccessibleTable * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IAccessibleTable * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IAccessibleTable * This); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_accessibleAt )( - IAccessibleTable * This, - /* [in] */ long row, - /* [in] */ long column, - /* [retval][out] */ IUnknown **accessible); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caption )( - IAccessibleTable * This, - /* [retval][out] */ IUnknown **accessible); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_childIndex )( - IAccessibleTable * This, - /* [in] */ long rowIndex, - /* [in] */ long columnIndex, - /* [retval][out] */ long *cellIndex); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnDescription )( - IAccessibleTable * This, - /* [in] */ long column, - /* [retval][out] */ BSTR *description); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnExtentAt )( - IAccessibleTable * This, - /* [in] */ long row, - /* [in] */ long column, - /* [retval][out] */ long *nColumnsSpanned); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnHeader )( - IAccessibleTable * This, - /* [out] */ IAccessibleTable **accessibleTable, - /* [retval][out] */ long *startingRowIndex); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnIndex )( - IAccessibleTable * This, - /* [in] */ long cellIndex, - /* [retval][out] */ long *columnIndex); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nColumns )( - IAccessibleTable * This, - /* [retval][out] */ long *columnCount); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nRows )( - IAccessibleTable * This, - /* [retval][out] */ long *rowCount); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedChildren )( - IAccessibleTable * This, - /* [retval][out] */ long *cellCount); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedColumns )( - IAccessibleTable * This, - /* [retval][out] */ long *columnCount); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedRows )( - IAccessibleTable * This, - /* [retval][out] */ long *rowCount); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowDescription )( - IAccessibleTable * This, - /* [in] */ long row, - /* [retval][out] */ BSTR *description); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowExtentAt )( - IAccessibleTable * This, - /* [in] */ long row, - /* [in] */ long column, - /* [retval][out] */ long *nRowsSpanned); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowHeader )( - IAccessibleTable * This, - /* [out] */ IAccessibleTable **accessibleTable, - /* [retval][out] */ long *startingColumnIndex); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowIndex )( - IAccessibleTable * This, - /* [in] */ long cellIndex, - /* [retval][out] */ long *rowIndex); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedChildren )( - IAccessibleTable * This, - /* [in] */ long maxChildren, - /* [length_is][length_is][size_is][size_is][out] */ long **children, - /* [retval][out] */ long *nChildren); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedColumns )( - IAccessibleTable * This, - /* [in] */ long maxColumns, - /* [length_is][length_is][size_is][size_is][out] */ long **columns, - /* [retval][out] */ long *nColumns); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedRows )( - IAccessibleTable * This, - /* [in] */ long maxRows, - /* [length_is][length_is][size_is][size_is][out] */ long **rows, - /* [retval][out] */ long *nRows); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_summary )( - IAccessibleTable * This, - /* [retval][out] */ IUnknown **accessible); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isColumnSelected )( - IAccessibleTable * This, - /* [in] */ long column, - /* [retval][out] */ boolean *isSelected); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRowSelected )( - IAccessibleTable * This, - /* [in] */ long row, - /* [retval][out] */ boolean *isSelected); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSelected )( - IAccessibleTable * This, - /* [in] */ long row, - /* [in] */ long column, - /* [retval][out] */ boolean *isSelected); - - HRESULT ( STDMETHODCALLTYPE *selectRow )( - IAccessibleTable * This, - /* [in] */ long row); - - HRESULT ( STDMETHODCALLTYPE *selectColumn )( - IAccessibleTable * This, - /* [in] */ long column); - - HRESULT ( STDMETHODCALLTYPE *unselectRow )( - IAccessibleTable * This, - /* [in] */ long row); - - HRESULT ( STDMETHODCALLTYPE *unselectColumn )( - IAccessibleTable * This, - /* [in] */ long column); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowColumnExtentsAtIndex )( - IAccessibleTable * This, - /* [in] */ long index, - /* [out] */ long *row, - /* [out] */ long *column, - /* [out] */ long *rowExtents, - /* [out] */ long *columnExtents, - /* [retval][out] */ boolean *isSelected); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_modelChange )( - IAccessibleTable * This, - /* [retval][out] */ IA2TableModelChange *modelChange); - - END_INTERFACE - } IAccessibleTableVtbl; - - interface IAccessibleTable - { - CONST_VTBL struct IAccessibleTableVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IAccessibleTable_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IAccessibleTable_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IAccessibleTable_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IAccessibleTable_get_accessibleAt(This,row,column,accessible) \ - ( (This)->lpVtbl -> get_accessibleAt(This,row,column,accessible) ) - -#define IAccessibleTable_get_caption(This,accessible) \ - ( (This)->lpVtbl -> get_caption(This,accessible) ) - -#define IAccessibleTable_get_childIndex(This,rowIndex,columnIndex,cellIndex) \ - ( (This)->lpVtbl -> get_childIndex(This,rowIndex,columnIndex,cellIndex) ) - -#define IAccessibleTable_get_columnDescription(This,column,description) \ - ( (This)->lpVtbl -> get_columnDescription(This,column,description) ) - -#define IAccessibleTable_get_columnExtentAt(This,row,column,nColumnsSpanned) \ - ( (This)->lpVtbl -> get_columnExtentAt(This,row,column,nColumnsSpanned) ) - -#define IAccessibleTable_get_columnHeader(This,accessibleTable,startingRowIndex) \ - ( (This)->lpVtbl -> get_columnHeader(This,accessibleTable,startingRowIndex) ) - -#define IAccessibleTable_get_columnIndex(This,cellIndex,columnIndex) \ - ( (This)->lpVtbl -> get_columnIndex(This,cellIndex,columnIndex) ) - -#define IAccessibleTable_get_nColumns(This,columnCount) \ - ( (This)->lpVtbl -> get_nColumns(This,columnCount) ) - -#define IAccessibleTable_get_nRows(This,rowCount) \ - ( (This)->lpVtbl -> get_nRows(This,rowCount) ) - -#define IAccessibleTable_get_nSelectedChildren(This,cellCount) \ - ( (This)->lpVtbl -> get_nSelectedChildren(This,cellCount) ) - -#define IAccessibleTable_get_nSelectedColumns(This,columnCount) \ - ( (This)->lpVtbl -> get_nSelectedColumns(This,columnCount) ) - -#define IAccessibleTable_get_nSelectedRows(This,rowCount) \ - ( (This)->lpVtbl -> get_nSelectedRows(This,rowCount) ) - -#define IAccessibleTable_get_rowDescription(This,row,description) \ - ( (This)->lpVtbl -> get_rowDescription(This,row,description) ) - -#define IAccessibleTable_get_rowExtentAt(This,row,column,nRowsSpanned) \ - ( (This)->lpVtbl -> get_rowExtentAt(This,row,column,nRowsSpanned) ) - -#define IAccessibleTable_get_rowHeader(This,accessibleTable,startingColumnIndex) \ - ( (This)->lpVtbl -> get_rowHeader(This,accessibleTable,startingColumnIndex) ) - -#define IAccessibleTable_get_rowIndex(This,cellIndex,rowIndex) \ - ( (This)->lpVtbl -> get_rowIndex(This,cellIndex,rowIndex) ) - -#define IAccessibleTable_get_selectedChildren(This,maxChildren,children,nChildren) \ - ( (This)->lpVtbl -> get_selectedChildren(This,maxChildren,children,nChildren) ) - -#define IAccessibleTable_get_selectedColumns(This,maxColumns,columns,nColumns) \ - ( (This)->lpVtbl -> get_selectedColumns(This,maxColumns,columns,nColumns) ) - -#define IAccessibleTable_get_selectedRows(This,maxRows,rows,nRows) \ - ( (This)->lpVtbl -> get_selectedRows(This,maxRows,rows,nRows) ) - -#define IAccessibleTable_get_summary(This,accessible) \ - ( (This)->lpVtbl -> get_summary(This,accessible) ) - -#define IAccessibleTable_get_isColumnSelected(This,column,isSelected) \ - ( (This)->lpVtbl -> get_isColumnSelected(This,column,isSelected) ) - -#define IAccessibleTable_get_isRowSelected(This,row,isSelected) \ - ( (This)->lpVtbl -> get_isRowSelected(This,row,isSelected) ) - -#define IAccessibleTable_get_isSelected(This,row,column,isSelected) \ - ( (This)->lpVtbl -> get_isSelected(This,row,column,isSelected) ) - -#define IAccessibleTable_selectRow(This,row) \ - ( (This)->lpVtbl -> selectRow(This,row) ) - -#define IAccessibleTable_selectColumn(This,column) \ - ( (This)->lpVtbl -> selectColumn(This,column) ) - -#define IAccessibleTable_unselectRow(This,row) \ - ( (This)->lpVtbl -> unselectRow(This,row) ) - -#define IAccessibleTable_unselectColumn(This,column) \ - ( (This)->lpVtbl -> unselectColumn(This,column) ) - -#define IAccessibleTable_get_rowColumnExtentsAtIndex(This,index,row,column,rowExtents,columnExtents,isSelected) \ - ( (This)->lpVtbl -> get_rowColumnExtentsAtIndex(This,index,row,column,rowExtents,columnExtents,isSelected) ) - -#define IAccessibleTable_get_modelChange(This,modelChange) \ - ( (This)->lpVtbl -> get_modelChange(This,modelChange) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IAccessibleTable_INTERFACE_DEFINED__ */ - - -/* Additional Prototypes for ALL interfaces */ - -unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * ); -unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * ); -unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); -void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * ); - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleTable2.h b/src/3rdparty/iaccessible2/generated/amd64/AccessibleTable2.h deleted file mode 100644 index eeacb21515..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleTable2.h +++ /dev/null @@ -1,367 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:59 2012 - */ -/* Compiler settings for AccessibleTable2.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the <rpcndr.h> version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of <rpcndr.h> -#endif // __RPCNDR_H_VERSION__ - -#ifndef COM_NO_WINDOWS_H -#include "windows.h" -#include "ole2.h" -#endif /*COM_NO_WINDOWS_H*/ - -#ifndef __AccessibleTable2_h__ -#define __AccessibleTable2_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -#ifndef __IAccessibleTable2_FWD_DEFINED__ -#define __IAccessibleTable2_FWD_DEFINED__ -typedef interface IAccessibleTable2 IAccessibleTable2; -#endif /* __IAccessibleTable2_FWD_DEFINED__ */ - - -/* header files for imported files */ -#include "objidl.h" -#include "oaidl.h" -#include "oleacc.h" -#include "Accessible2.h" - -#ifdef __cplusplus -extern "C"{ -#endif - - -#ifndef __IAccessibleTable2_INTERFACE_DEFINED__ -#define __IAccessibleTable2_INTERFACE_DEFINED__ - -/* interface IAccessibleTable2 */ -/* [uuid][object] */ - - -EXTERN_C const IID IID_IAccessibleTable2; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("6167f295-06f0-4cdd-a1fa-02e25153d869") - IAccessibleTable2 : public IUnknown - { - public: - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_cellAt( - /* [in] */ long row, - /* [in] */ long column, - /* [retval][out] */ IUnknown **cell) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_caption( - /* [retval][out] */ IUnknown **accessible) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnDescription( - /* [in] */ long column, - /* [retval][out] */ BSTR *description) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nColumns( - /* [retval][out] */ long *columnCount) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nRows( - /* [retval][out] */ long *rowCount) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedCells( - /* [retval][out] */ long *cellCount) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedColumns( - /* [retval][out] */ long *columnCount) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedRows( - /* [retval][out] */ long *rowCount) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowDescription( - /* [in] */ long row, - /* [retval][out] */ BSTR *description) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedCells( - /* [size_is][size_is][size_is][out] */ IUnknown ***cells, - /* [retval][out] */ long *nSelectedCells) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedColumns( - /* [size_is][size_is][out] */ long **selectedColumns, - /* [retval][out] */ long *nColumns) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedRows( - /* [size_is][size_is][out] */ long **selectedRows, - /* [retval][out] */ long *nRows) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_summary( - /* [retval][out] */ IUnknown **accessible) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isColumnSelected( - /* [in] */ long column, - /* [retval][out] */ boolean *isSelected) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRowSelected( - /* [in] */ long row, - /* [retval][out] */ boolean *isSelected) = 0; - - virtual HRESULT STDMETHODCALLTYPE selectRow( - /* [in] */ long row) = 0; - - virtual HRESULT STDMETHODCALLTYPE selectColumn( - /* [in] */ long column) = 0; - - virtual HRESULT STDMETHODCALLTYPE unselectRow( - /* [in] */ long row) = 0; - - virtual HRESULT STDMETHODCALLTYPE unselectColumn( - /* [in] */ long column) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_modelChange( - /* [retval][out] */ IA2TableModelChange *modelChange) = 0; - - }; - -#else /* C style interface */ - - typedef struct IAccessibleTable2Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IAccessibleTable2 * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IAccessibleTable2 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IAccessibleTable2 * This); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_cellAt )( - IAccessibleTable2 * This, - /* [in] */ long row, - /* [in] */ long column, - /* [retval][out] */ IUnknown **cell); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caption )( - IAccessibleTable2 * This, - /* [retval][out] */ IUnknown **accessible); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnDescription )( - IAccessibleTable2 * This, - /* [in] */ long column, - /* [retval][out] */ BSTR *description); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nColumns )( - IAccessibleTable2 * This, - /* [retval][out] */ long *columnCount); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nRows )( - IAccessibleTable2 * This, - /* [retval][out] */ long *rowCount); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedCells )( - IAccessibleTable2 * This, - /* [retval][out] */ long *cellCount); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedColumns )( - IAccessibleTable2 * This, - /* [retval][out] */ long *columnCount); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedRows )( - IAccessibleTable2 * This, - /* [retval][out] */ long *rowCount); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowDescription )( - IAccessibleTable2 * This, - /* [in] */ long row, - /* [retval][out] */ BSTR *description); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedCells )( - IAccessibleTable2 * This, - /* [size_is][size_is][size_is][out] */ IUnknown ***cells, - /* [retval][out] */ long *nSelectedCells); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedColumns )( - IAccessibleTable2 * This, - /* [size_is][size_is][out] */ long **selectedColumns, - /* [retval][out] */ long *nColumns); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedRows )( - IAccessibleTable2 * This, - /* [size_is][size_is][out] */ long **selectedRows, - /* [retval][out] */ long *nRows); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_summary )( - IAccessibleTable2 * This, - /* [retval][out] */ IUnknown **accessible); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isColumnSelected )( - IAccessibleTable2 * This, - /* [in] */ long column, - /* [retval][out] */ boolean *isSelected); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRowSelected )( - IAccessibleTable2 * This, - /* [in] */ long row, - /* [retval][out] */ boolean *isSelected); - - HRESULT ( STDMETHODCALLTYPE *selectRow )( - IAccessibleTable2 * This, - /* [in] */ long row); - - HRESULT ( STDMETHODCALLTYPE *selectColumn )( - IAccessibleTable2 * This, - /* [in] */ long column); - - HRESULT ( STDMETHODCALLTYPE *unselectRow )( - IAccessibleTable2 * This, - /* [in] */ long row); - - HRESULT ( STDMETHODCALLTYPE *unselectColumn )( - IAccessibleTable2 * This, - /* [in] */ long column); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_modelChange )( - IAccessibleTable2 * This, - /* [retval][out] */ IA2TableModelChange *modelChange); - - END_INTERFACE - } IAccessibleTable2Vtbl; - - interface IAccessibleTable2 - { - CONST_VTBL struct IAccessibleTable2Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IAccessibleTable2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IAccessibleTable2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IAccessibleTable2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IAccessibleTable2_get_cellAt(This,row,column,cell) \ - ( (This)->lpVtbl -> get_cellAt(This,row,column,cell) ) - -#define IAccessibleTable2_get_caption(This,accessible) \ - ( (This)->lpVtbl -> get_caption(This,accessible) ) - -#define IAccessibleTable2_get_columnDescription(This,column,description) \ - ( (This)->lpVtbl -> get_columnDescription(This,column,description) ) - -#define IAccessibleTable2_get_nColumns(This,columnCount) \ - ( (This)->lpVtbl -> get_nColumns(This,columnCount) ) - -#define IAccessibleTable2_get_nRows(This,rowCount) \ - ( (This)->lpVtbl -> get_nRows(This,rowCount) ) - -#define IAccessibleTable2_get_nSelectedCells(This,cellCount) \ - ( (This)->lpVtbl -> get_nSelectedCells(This,cellCount) ) - -#define IAccessibleTable2_get_nSelectedColumns(This,columnCount) \ - ( (This)->lpVtbl -> get_nSelectedColumns(This,columnCount) ) - -#define IAccessibleTable2_get_nSelectedRows(This,rowCount) \ - ( (This)->lpVtbl -> get_nSelectedRows(This,rowCount) ) - -#define IAccessibleTable2_get_rowDescription(This,row,description) \ - ( (This)->lpVtbl -> get_rowDescription(This,row,description) ) - -#define IAccessibleTable2_get_selectedCells(This,cells,nSelectedCells) \ - ( (This)->lpVtbl -> get_selectedCells(This,cells,nSelectedCells) ) - -#define IAccessibleTable2_get_selectedColumns(This,selectedColumns,nColumns) \ - ( (This)->lpVtbl -> get_selectedColumns(This,selectedColumns,nColumns) ) - -#define IAccessibleTable2_get_selectedRows(This,selectedRows,nRows) \ - ( (This)->lpVtbl -> get_selectedRows(This,selectedRows,nRows) ) - -#define IAccessibleTable2_get_summary(This,accessible) \ - ( (This)->lpVtbl -> get_summary(This,accessible) ) - -#define IAccessibleTable2_get_isColumnSelected(This,column,isSelected) \ - ( (This)->lpVtbl -> get_isColumnSelected(This,column,isSelected) ) - -#define IAccessibleTable2_get_isRowSelected(This,row,isSelected) \ - ( (This)->lpVtbl -> get_isRowSelected(This,row,isSelected) ) - -#define IAccessibleTable2_selectRow(This,row) \ - ( (This)->lpVtbl -> selectRow(This,row) ) - -#define IAccessibleTable2_selectColumn(This,column) \ - ( (This)->lpVtbl -> selectColumn(This,column) ) - -#define IAccessibleTable2_unselectRow(This,row) \ - ( (This)->lpVtbl -> unselectRow(This,row) ) - -#define IAccessibleTable2_unselectColumn(This,column) \ - ( (This)->lpVtbl -> unselectColumn(This,column) ) - -#define IAccessibleTable2_get_modelChange(This,modelChange) \ - ( (This)->lpVtbl -> get_modelChange(This,modelChange) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IAccessibleTable2_INTERFACE_DEFINED__ */ - - -/* Additional Prototypes for ALL interfaces */ - -unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * ); -unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * ); -unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); -void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * ); - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleTable2_i.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleTable2_i.c deleted file mode 100644 index 56e5f31fc0..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleTable2_i.c +++ /dev/null @@ -1,79 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */ - -/* link this file in with the server and any clients */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:59 2012 - */ -/* Compiler settings for AccessibleTable2.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -#ifdef __cplusplus -extern "C"{ -#endif - - -#include <rpc.h> -#include <rpcndr.h> - -#ifdef _MIDL_USE_GUIDDEF_ - -#ifndef INITGUID -#define INITGUID -#include <guiddef.h> -#undef INITGUID -#else -#include <guiddef.h> -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) - -#else // !_MIDL_USE_GUIDDEF_ - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - -typedef struct _IID -{ - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; -} IID; - -#endif // __IID_DEFINED__ - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED -typedef IID CLSID; -#endif // CLSID_DEFINED - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} - -#endif !_MIDL_USE_GUIDDEF_ - -MIDL_DEFINE_GUID(IID, IID_IAccessibleTable2,0x6167f295,0x06f0,0x4cdd,0xa1,0xfa,0x02,0xe2,0x51,0x53,0xd8,0x69); - -#undef MIDL_DEFINE_GUID - -#ifdef __cplusplus -} -#endif - - - diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleTable2_p.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleTable2_p.c deleted file mode 100644 index 02c603fde9..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleTable2_p.c +++ /dev/null @@ -1,1099 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the proxy stub code */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:59 2012 - */ -/* Compiler settings for AccessibleTable2.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#if defined(_M_AMD64) - - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ -#if _MSC_VER >= 1200 -#pragma warning(push) -#endif - -#pragma warning( disable: 4211 ) /* redefine extern to static */ -#pragma warning( disable: 4232 ) /* dllimport identity*/ -#pragma warning( disable: 4024 ) /* array to pointer mapping*/ -#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */ - -#define USE_STUBLESS_PROXY - - -/* verify that the <rpcproxy.h> version is high enough to compile this file*/ -#ifndef __REDQ_RPCPROXY_H_VERSION__ -#define __REQUIRED_RPCPROXY_H_VERSION__ 475 -#endif - - -#include "rpcproxy.h" -#ifndef __RPCPROXY_H_VERSION__ -#error this stub requires an updated version of <rpcproxy.h> -#endif /* __RPCPROXY_H_VERSION__ */ - - -#include "AccessibleTable2.h" - -#define TYPE_FORMAT_STRING_SIZE 141 -#define PROC_FORMAT_STRING_SIZE 815 -#define EXPR_FORMAT_STRING_SIZE 1 -#define TRANSMIT_AS_TABLE_SIZE 0 -#define WIRE_MARSHAL_TABLE_SIZE 1 - -typedef struct _AccessibleTable2_MIDL_TYPE_FORMAT_STRING - { - short Pad; - unsigned char Format[ TYPE_FORMAT_STRING_SIZE ]; - } AccessibleTable2_MIDL_TYPE_FORMAT_STRING; - -typedef struct _AccessibleTable2_MIDL_PROC_FORMAT_STRING - { - short Pad; - unsigned char Format[ PROC_FORMAT_STRING_SIZE ]; - } AccessibleTable2_MIDL_PROC_FORMAT_STRING; - -typedef struct _AccessibleTable2_MIDL_EXPR_FORMAT_STRING - { - long Pad; - unsigned char Format[ EXPR_FORMAT_STRING_SIZE ]; - } AccessibleTable2_MIDL_EXPR_FORMAT_STRING; - - -static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax = -{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}}; - - -extern const AccessibleTable2_MIDL_TYPE_FORMAT_STRING AccessibleTable2__MIDL_TypeFormatString; -extern const AccessibleTable2_MIDL_PROC_FORMAT_STRING AccessibleTable2__MIDL_ProcFormatString; -extern const AccessibleTable2_MIDL_EXPR_FORMAT_STRING AccessibleTable2__MIDL_ExprFormatString; - - -extern const MIDL_STUB_DESC Object_StubDesc; - - -extern const MIDL_SERVER_INFO IAccessibleTable2_ServerInfo; -extern const MIDL_STUBLESS_PROXY_INFO IAccessibleTable2_ProxyInfo; - - -extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ]; - -#if !defined(__RPC_WIN64__) -#error Invalid build platform for this stub. -#endif - -static const AccessibleTable2_MIDL_PROC_FORMAT_STRING AccessibleTable2__MIDL_ProcFormatString = - { - 0, - { - - /* Procedure get_cellAt */ - - 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 2 */ NdrFcLong( 0x0 ), /* 0 */ -/* 6 */ NdrFcShort( 0x3 ), /* 3 */ -/* 8 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ -/* 10 */ NdrFcShort( 0x10 ), /* 16 */ -/* 12 */ NdrFcShort( 0x8 ), /* 8 */ -/* 14 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x4, /* 4 */ -/* 16 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 18 */ NdrFcShort( 0x0 ), /* 0 */ -/* 20 */ NdrFcShort( 0x0 ), /* 0 */ -/* 22 */ NdrFcShort( 0x0 ), /* 0 */ -/* 24 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter row */ - -/* 26 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 28 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 30 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter column */ - -/* 32 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 34 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 36 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter cell */ - -/* 38 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ -/* 40 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 42 */ NdrFcShort( 0x2 ), /* Type Offset=2 */ - - /* Return value */ - -/* 44 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 46 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 48 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_caption */ - -/* 50 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 52 */ NdrFcLong( 0x0 ), /* 0 */ -/* 56 */ NdrFcShort( 0x4 ), /* 4 */ -/* 58 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 60 */ NdrFcShort( 0x0 ), /* 0 */ -/* 62 */ NdrFcShort( 0x8 ), /* 8 */ -/* 64 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 66 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 68 */ NdrFcShort( 0x0 ), /* 0 */ -/* 70 */ NdrFcShort( 0x0 ), /* 0 */ -/* 72 */ NdrFcShort( 0x0 ), /* 0 */ -/* 74 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter accessible */ - -/* 76 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ -/* 78 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 80 */ NdrFcShort( 0x2 ), /* Type Offset=2 */ - - /* Return value */ - -/* 82 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 84 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 86 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_columnDescription */ - -/* 88 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 90 */ NdrFcLong( 0x0 ), /* 0 */ -/* 94 */ NdrFcShort( 0x5 ), /* 5 */ -/* 96 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 98 */ NdrFcShort( 0x8 ), /* 8 */ -/* 100 */ NdrFcShort( 0x8 ), /* 8 */ -/* 102 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x3, /* 3 */ -/* 104 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 106 */ NdrFcShort( 0x1 ), /* 1 */ -/* 108 */ NdrFcShort( 0x0 ), /* 0 */ -/* 110 */ NdrFcShort( 0x0 ), /* 0 */ -/* 112 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter column */ - -/* 114 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 116 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 118 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter description */ - -/* 120 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 122 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 124 */ NdrFcShort( 0x36 ), /* Type Offset=54 */ - - /* Return value */ - -/* 126 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 128 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 130 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_nColumns */ - -/* 132 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 134 */ NdrFcLong( 0x0 ), /* 0 */ -/* 138 */ NdrFcShort( 0x6 ), /* 6 */ -/* 140 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 142 */ NdrFcShort( 0x0 ), /* 0 */ -/* 144 */ NdrFcShort( 0x24 ), /* 36 */ -/* 146 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 148 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 150 */ NdrFcShort( 0x0 ), /* 0 */ -/* 152 */ NdrFcShort( 0x0 ), /* 0 */ -/* 154 */ NdrFcShort( 0x0 ), /* 0 */ -/* 156 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter columnCount */ - -/* 158 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 160 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 162 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 164 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 166 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 168 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_nRows */ - -/* 170 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 172 */ NdrFcLong( 0x0 ), /* 0 */ -/* 176 */ NdrFcShort( 0x7 ), /* 7 */ -/* 178 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 180 */ NdrFcShort( 0x0 ), /* 0 */ -/* 182 */ NdrFcShort( 0x24 ), /* 36 */ -/* 184 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 186 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 188 */ NdrFcShort( 0x0 ), /* 0 */ -/* 190 */ NdrFcShort( 0x0 ), /* 0 */ -/* 192 */ NdrFcShort( 0x0 ), /* 0 */ -/* 194 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter rowCount */ - -/* 196 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 198 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 200 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 202 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 204 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 206 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_nSelectedCells */ - -/* 208 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 210 */ NdrFcLong( 0x0 ), /* 0 */ -/* 214 */ NdrFcShort( 0x8 ), /* 8 */ -/* 216 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 218 */ NdrFcShort( 0x0 ), /* 0 */ -/* 220 */ NdrFcShort( 0x24 ), /* 36 */ -/* 222 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 224 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 226 */ NdrFcShort( 0x0 ), /* 0 */ -/* 228 */ NdrFcShort( 0x0 ), /* 0 */ -/* 230 */ NdrFcShort( 0x0 ), /* 0 */ -/* 232 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter cellCount */ - -/* 234 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 236 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 238 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 240 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 242 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 244 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_nSelectedColumns */ - -/* 246 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 248 */ NdrFcLong( 0x0 ), /* 0 */ -/* 252 */ NdrFcShort( 0x9 ), /* 9 */ -/* 254 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 256 */ NdrFcShort( 0x0 ), /* 0 */ -/* 258 */ NdrFcShort( 0x24 ), /* 36 */ -/* 260 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 262 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 264 */ NdrFcShort( 0x0 ), /* 0 */ -/* 266 */ NdrFcShort( 0x0 ), /* 0 */ -/* 268 */ NdrFcShort( 0x0 ), /* 0 */ -/* 270 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter columnCount */ - -/* 272 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 274 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 276 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 278 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 280 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 282 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_nSelectedRows */ - -/* 284 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 286 */ NdrFcLong( 0x0 ), /* 0 */ -/* 290 */ NdrFcShort( 0xa ), /* 10 */ -/* 292 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 294 */ NdrFcShort( 0x0 ), /* 0 */ -/* 296 */ NdrFcShort( 0x24 ), /* 36 */ -/* 298 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 300 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 302 */ NdrFcShort( 0x0 ), /* 0 */ -/* 304 */ NdrFcShort( 0x0 ), /* 0 */ -/* 306 */ NdrFcShort( 0x0 ), /* 0 */ -/* 308 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter rowCount */ - -/* 310 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 312 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 314 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 316 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 318 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 320 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_rowDescription */ - -/* 322 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 324 */ NdrFcLong( 0x0 ), /* 0 */ -/* 328 */ NdrFcShort( 0xb ), /* 11 */ -/* 330 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 332 */ NdrFcShort( 0x8 ), /* 8 */ -/* 334 */ NdrFcShort( 0x8 ), /* 8 */ -/* 336 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x3, /* 3 */ -/* 338 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 340 */ NdrFcShort( 0x1 ), /* 1 */ -/* 342 */ NdrFcShort( 0x0 ), /* 0 */ -/* 344 */ NdrFcShort( 0x0 ), /* 0 */ -/* 346 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter row */ - -/* 348 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 350 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 352 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter description */ - -/* 354 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 356 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 358 */ NdrFcShort( 0x36 ), /* Type Offset=54 */ - - /* Return value */ - -/* 360 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 362 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 364 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_selectedCells */ - -/* 366 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 368 */ NdrFcLong( 0x0 ), /* 0 */ -/* 372 */ NdrFcShort( 0xc ), /* 12 */ -/* 374 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 376 */ NdrFcShort( 0x0 ), /* 0 */ -/* 378 */ NdrFcShort( 0x24 ), /* 36 */ -/* 380 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x3, /* 3 */ -/* 382 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 384 */ NdrFcShort( 0x1 ), /* 1 */ -/* 386 */ NdrFcShort( 0x0 ), /* 0 */ -/* 388 */ NdrFcShort( 0x0 ), /* 0 */ -/* 390 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter cells */ - -/* 392 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ -/* 394 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 396 */ NdrFcShort( 0x44 ), /* Type Offset=68 */ - - /* Parameter nSelectedCells */ - -/* 398 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 400 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 402 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 404 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 406 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 408 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_selectedColumns */ - -/* 410 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 412 */ NdrFcLong( 0x0 ), /* 0 */ -/* 416 */ NdrFcShort( 0xd ), /* 13 */ -/* 418 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 420 */ NdrFcShort( 0x0 ), /* 0 */ -/* 422 */ NdrFcShort( 0x24 ), /* 36 */ -/* 424 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x3, /* 3 */ -/* 426 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 428 */ NdrFcShort( 0x1 ), /* 1 */ -/* 430 */ NdrFcShort( 0x0 ), /* 0 */ -/* 432 */ NdrFcShort( 0x0 ), /* 0 */ -/* 434 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter selectedColumns */ - -/* 436 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ -/* 438 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 440 */ NdrFcShort( 0x62 ), /* Type Offset=98 */ - - /* Parameter nColumns */ - -/* 442 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 444 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 446 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 448 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 450 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 452 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_selectedRows */ - -/* 454 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 456 */ NdrFcLong( 0x0 ), /* 0 */ -/* 460 */ NdrFcShort( 0xe ), /* 14 */ -/* 462 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 464 */ NdrFcShort( 0x0 ), /* 0 */ -/* 466 */ NdrFcShort( 0x24 ), /* 36 */ -/* 468 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x3, /* 3 */ -/* 470 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 472 */ NdrFcShort( 0x1 ), /* 1 */ -/* 474 */ NdrFcShort( 0x0 ), /* 0 */ -/* 476 */ NdrFcShort( 0x0 ), /* 0 */ -/* 478 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter selectedRows */ - -/* 480 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ -/* 482 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 484 */ NdrFcShort( 0x62 ), /* Type Offset=98 */ - - /* Parameter nRows */ - -/* 486 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 488 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 490 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 492 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 494 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 496 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_summary */ - -/* 498 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 500 */ NdrFcLong( 0x0 ), /* 0 */ -/* 504 */ NdrFcShort( 0xf ), /* 15 */ -/* 506 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 508 */ NdrFcShort( 0x0 ), /* 0 */ -/* 510 */ NdrFcShort( 0x8 ), /* 8 */ -/* 512 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 514 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 516 */ NdrFcShort( 0x0 ), /* 0 */ -/* 518 */ NdrFcShort( 0x0 ), /* 0 */ -/* 520 */ NdrFcShort( 0x0 ), /* 0 */ -/* 522 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter accessible */ - -/* 524 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ -/* 526 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 528 */ NdrFcShort( 0x2 ), /* Type Offset=2 */ - - /* Return value */ - -/* 530 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 532 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 534 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_isColumnSelected */ - -/* 536 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 538 */ NdrFcLong( 0x0 ), /* 0 */ -/* 542 */ NdrFcShort( 0x10 ), /* 16 */ -/* 544 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 546 */ NdrFcShort( 0x8 ), /* 8 */ -/* 548 */ NdrFcShort( 0x21 ), /* 33 */ -/* 550 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x3, /* 3 */ -/* 552 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 554 */ NdrFcShort( 0x0 ), /* 0 */ -/* 556 */ NdrFcShort( 0x0 ), /* 0 */ -/* 558 */ NdrFcShort( 0x0 ), /* 0 */ -/* 560 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter column */ - -/* 562 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 564 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 566 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter isSelected */ - -/* 568 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 570 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 572 */ 0x3, /* FC_SMALL */ - 0x0, /* 0 */ - - /* Return value */ - -/* 574 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 576 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 578 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_isRowSelected */ - -/* 580 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 582 */ NdrFcLong( 0x0 ), /* 0 */ -/* 586 */ NdrFcShort( 0x11 ), /* 17 */ -/* 588 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 590 */ NdrFcShort( 0x8 ), /* 8 */ -/* 592 */ NdrFcShort( 0x21 ), /* 33 */ -/* 594 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x3, /* 3 */ -/* 596 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 598 */ NdrFcShort( 0x0 ), /* 0 */ -/* 600 */ NdrFcShort( 0x0 ), /* 0 */ -/* 602 */ NdrFcShort( 0x0 ), /* 0 */ -/* 604 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter row */ - -/* 606 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 608 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 610 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter isSelected */ - -/* 612 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 614 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 616 */ 0x3, /* FC_SMALL */ - 0x0, /* 0 */ - - /* Return value */ - -/* 618 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 620 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 622 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure selectRow */ - -/* 624 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 626 */ NdrFcLong( 0x0 ), /* 0 */ -/* 630 */ NdrFcShort( 0x12 ), /* 18 */ -/* 632 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 634 */ NdrFcShort( 0x8 ), /* 8 */ -/* 636 */ NdrFcShort( 0x8 ), /* 8 */ -/* 638 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 640 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 642 */ NdrFcShort( 0x0 ), /* 0 */ -/* 644 */ NdrFcShort( 0x0 ), /* 0 */ -/* 646 */ NdrFcShort( 0x0 ), /* 0 */ -/* 648 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter row */ - -/* 650 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 652 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 654 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 656 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 658 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 660 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure selectColumn */ - -/* 662 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 664 */ NdrFcLong( 0x0 ), /* 0 */ -/* 668 */ NdrFcShort( 0x13 ), /* 19 */ -/* 670 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 672 */ NdrFcShort( 0x8 ), /* 8 */ -/* 674 */ NdrFcShort( 0x8 ), /* 8 */ -/* 676 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 678 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 680 */ NdrFcShort( 0x0 ), /* 0 */ -/* 682 */ NdrFcShort( 0x0 ), /* 0 */ -/* 684 */ NdrFcShort( 0x0 ), /* 0 */ -/* 686 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter column */ - -/* 688 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 690 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 692 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 694 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 696 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 698 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure unselectRow */ - -/* 700 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 702 */ NdrFcLong( 0x0 ), /* 0 */ -/* 706 */ NdrFcShort( 0x14 ), /* 20 */ -/* 708 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 710 */ NdrFcShort( 0x8 ), /* 8 */ -/* 712 */ NdrFcShort( 0x8 ), /* 8 */ -/* 714 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 716 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 718 */ NdrFcShort( 0x0 ), /* 0 */ -/* 720 */ NdrFcShort( 0x0 ), /* 0 */ -/* 722 */ NdrFcShort( 0x0 ), /* 0 */ -/* 724 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter row */ - -/* 726 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 728 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 730 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 732 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 734 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 736 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure unselectColumn */ - -/* 738 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 740 */ NdrFcLong( 0x0 ), /* 0 */ -/* 744 */ NdrFcShort( 0x15 ), /* 21 */ -/* 746 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 748 */ NdrFcShort( 0x8 ), /* 8 */ -/* 750 */ NdrFcShort( 0x8 ), /* 8 */ -/* 752 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 754 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 756 */ NdrFcShort( 0x0 ), /* 0 */ -/* 758 */ NdrFcShort( 0x0 ), /* 0 */ -/* 760 */ NdrFcShort( 0x0 ), /* 0 */ -/* 762 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter column */ - -/* 764 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 766 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 768 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 770 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 772 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 774 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_modelChange */ - -/* 776 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 778 */ NdrFcLong( 0x0 ), /* 0 */ -/* 782 */ NdrFcShort( 0x16 ), /* 22 */ -/* 784 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 786 */ NdrFcShort( 0x0 ), /* 0 */ -/* 788 */ NdrFcShort( 0x8 ), /* 8 */ -/* 790 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 792 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 794 */ NdrFcShort( 0x0 ), /* 0 */ -/* 796 */ NdrFcShort( 0x0 ), /* 0 */ -/* 798 */ NdrFcShort( 0x0 ), /* 0 */ -/* 800 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter modelChange */ - -/* 802 */ NdrFcShort( 0x6113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=24 */ -/* 804 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 806 */ NdrFcShort( 0x7e ), /* Type Offset=126 */ - - /* Return value */ - -/* 808 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 810 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 812 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - 0x0 - } - }; - -static const AccessibleTable2_MIDL_TYPE_FORMAT_STRING AccessibleTable2__MIDL_TypeFormatString = - { - 0, - { - NdrFcShort( 0x0 ), /* 0 */ -/* 2 */ - 0x11, 0x10, /* FC_RP [pointer_deref] */ -/* 4 */ NdrFcShort( 0x2 ), /* Offset= 2 (6) */ -/* 6 */ - 0x2f, /* FC_IP */ - 0x5a, /* FC_CONSTANT_IID */ -/* 8 */ NdrFcLong( 0x0 ), /* 0 */ -/* 12 */ NdrFcShort( 0x0 ), /* 0 */ -/* 14 */ NdrFcShort( 0x0 ), /* 0 */ -/* 16 */ 0xc0, /* 192 */ - 0x0, /* 0 */ -/* 18 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 20 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 22 */ 0x0, /* 0 */ - 0x46, /* 70 */ -/* 24 */ - 0x11, 0x4, /* FC_RP [alloced_on_stack] */ -/* 26 */ NdrFcShort( 0x1c ), /* Offset= 28 (54) */ -/* 28 */ - 0x13, 0x0, /* FC_OP */ -/* 30 */ NdrFcShort( 0xe ), /* Offset= 14 (44) */ -/* 32 */ - 0x1b, /* FC_CARRAY */ - 0x1, /* 1 */ -/* 34 */ NdrFcShort( 0x2 ), /* 2 */ -/* 36 */ 0x9, /* Corr desc: FC_ULONG */ - 0x0, /* */ -/* 38 */ NdrFcShort( 0xfffc ), /* -4 */ -/* 40 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 42 */ 0x6, /* FC_SHORT */ - 0x5b, /* FC_END */ -/* 44 */ - 0x17, /* FC_CSTRUCT */ - 0x3, /* 3 */ -/* 46 */ NdrFcShort( 0x8 ), /* 8 */ -/* 48 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (32) */ -/* 50 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 52 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 54 */ 0xb4, /* FC_USER_MARSHAL */ - 0x83, /* 131 */ -/* 56 */ NdrFcShort( 0x0 ), /* 0 */ -/* 58 */ NdrFcShort( 0x8 ), /* 8 */ -/* 60 */ NdrFcShort( 0x0 ), /* 0 */ -/* 62 */ NdrFcShort( 0xffde ), /* Offset= -34 (28) */ -/* 64 */ - 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */ -/* 66 */ 0x8, /* FC_LONG */ - 0x5c, /* FC_PAD */ -/* 68 */ - 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */ -/* 70 */ NdrFcShort( 0x2 ), /* Offset= 2 (72) */ -/* 72 */ - 0x13, 0x0, /* FC_OP */ -/* 74 */ NdrFcShort( 0x2 ), /* Offset= 2 (76) */ -/* 76 */ - 0x21, /* FC_BOGUS_ARRAY */ - 0x3, /* 3 */ -/* 78 */ NdrFcShort( 0x0 ), /* 0 */ -/* 80 */ 0x28, /* Corr desc: parameter, FC_LONG */ - 0x54, /* FC_DEREFERENCE */ -/* 82 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 84 */ NdrFcShort( 0x0 ), /* Corr flags: */ -/* 86 */ NdrFcLong( 0xffffffff ), /* -1 */ -/* 90 */ NdrFcShort( 0x0 ), /* Corr flags: */ -/* 92 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 94 */ NdrFcShort( 0xffa8 ), /* Offset= -88 (6) */ -/* 96 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 98 */ - 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */ -/* 100 */ NdrFcShort( 0x2 ), /* Offset= 2 (102) */ -/* 102 */ - 0x13, 0x0, /* FC_OP */ -/* 104 */ NdrFcShort( 0x2 ), /* Offset= 2 (106) */ -/* 106 */ - 0x1b, /* FC_CARRAY */ - 0x3, /* 3 */ -/* 108 */ NdrFcShort( 0x4 ), /* 4 */ -/* 110 */ 0x28, /* Corr desc: parameter, FC_LONG */ - 0x54, /* FC_DEREFERENCE */ -/* 112 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 114 */ NdrFcShort( 0x0 ), /* Corr flags: */ -/* 116 */ 0x8, /* FC_LONG */ - 0x5b, /* FC_END */ -/* 118 */ - 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */ -/* 120 */ 0x3, /* FC_SMALL */ - 0x5c, /* FC_PAD */ -/* 122 */ - 0x11, 0x4, /* FC_RP [alloced_on_stack] */ -/* 124 */ NdrFcShort( 0x2 ), /* Offset= 2 (126) */ -/* 126 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 128 */ NdrFcShort( 0x14 ), /* 20 */ -/* 130 */ NdrFcShort( 0x0 ), /* 0 */ -/* 132 */ NdrFcShort( 0x0 ), /* Offset= 0 (132) */ -/* 134 */ 0xd, /* FC_ENUM16 */ - 0x8, /* FC_LONG */ -/* 136 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 138 */ 0x8, /* FC_LONG */ - 0x5b, /* FC_END */ - - 0x0 - } - }; - -static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] = - { - - { - BSTR_UserSize - ,BSTR_UserMarshal - ,BSTR_UserUnmarshal - ,BSTR_UserFree - } - - }; - - - -/* Object interface: IUnknown, ver. 0.0, - GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */ - - -/* Object interface: IAccessibleTable2, ver. 0.0, - GUID={0x6167f295,0x06f0,0x4cdd,{0xa1,0xfa,0x02,0xe2,0x51,0x53,0xd8,0x69}} */ - -#pragma code_seg(".orpc") -static const unsigned short IAccessibleTable2_FormatStringOffsetTable[] = - { - 0, - 50, - 88, - 132, - 170, - 208, - 246, - 284, - 322, - 366, - 410, - 454, - 498, - 536, - 580, - 624, - 662, - 700, - 738, - 776 - }; - -static const MIDL_STUBLESS_PROXY_INFO IAccessibleTable2_ProxyInfo = - { - &Object_StubDesc, - AccessibleTable2__MIDL_ProcFormatString.Format, - &IAccessibleTable2_FormatStringOffsetTable[-3], - 0, - 0, - 0 - }; - - -static const MIDL_SERVER_INFO IAccessibleTable2_ServerInfo = - { - &Object_StubDesc, - 0, - AccessibleTable2__MIDL_ProcFormatString.Format, - &IAccessibleTable2_FormatStringOffsetTable[-3], - 0, - 0, - 0, - 0}; -CINTERFACE_PROXY_VTABLE(23) _IAccessibleTable2ProxyVtbl = -{ - &IAccessibleTable2_ProxyInfo, - &IID_IAccessibleTable2, - IUnknown_QueryInterface_Proxy, - IUnknown_AddRef_Proxy, - IUnknown_Release_Proxy , - (void *) (INT_PTR) -1 /* IAccessibleTable2::get_cellAt */ , - (void *) (INT_PTR) -1 /* IAccessibleTable2::get_caption */ , - (void *) (INT_PTR) -1 /* IAccessibleTable2::get_columnDescription */ , - (void *) (INT_PTR) -1 /* IAccessibleTable2::get_nColumns */ , - (void *) (INT_PTR) -1 /* IAccessibleTable2::get_nRows */ , - (void *) (INT_PTR) -1 /* IAccessibleTable2::get_nSelectedCells */ , - (void *) (INT_PTR) -1 /* IAccessibleTable2::get_nSelectedColumns */ , - (void *) (INT_PTR) -1 /* IAccessibleTable2::get_nSelectedRows */ , - (void *) (INT_PTR) -1 /* IAccessibleTable2::get_rowDescription */ , - (void *) (INT_PTR) -1 /* IAccessibleTable2::get_selectedCells */ , - (void *) (INT_PTR) -1 /* IAccessibleTable2::get_selectedColumns */ , - (void *) (INT_PTR) -1 /* IAccessibleTable2::get_selectedRows */ , - (void *) (INT_PTR) -1 /* IAccessibleTable2::get_summary */ , - (void *) (INT_PTR) -1 /* IAccessibleTable2::get_isColumnSelected */ , - (void *) (INT_PTR) -1 /* IAccessibleTable2::get_isRowSelected */ , - (void *) (INT_PTR) -1 /* IAccessibleTable2::selectRow */ , - (void *) (INT_PTR) -1 /* IAccessibleTable2::selectColumn */ , - (void *) (INT_PTR) -1 /* IAccessibleTable2::unselectRow */ , - (void *) (INT_PTR) -1 /* IAccessibleTable2::unselectColumn */ , - (void *) (INT_PTR) -1 /* IAccessibleTable2::get_modelChange */ -}; - -const CInterfaceStubVtbl _IAccessibleTable2StubVtbl = -{ - &IID_IAccessibleTable2, - &IAccessibleTable2_ServerInfo, - 23, - 0, /* pure interpreted */ - CStdStubBuffer_METHODS -}; - -static const MIDL_STUB_DESC Object_StubDesc = - { - 0, - NdrOleAllocate, - NdrOleFree, - 0, - 0, - 0, - 0, - 0, - AccessibleTable2__MIDL_TypeFormatString.Format, - 1, /* -error bounds_check flag */ - 0x50002, /* Ndr library version */ - 0, - 0x700022b, /* MIDL Version 7.0.555 */ - 0, - UserMarshalRoutines, - 0, /* notify & notify_flag routine table */ - 0x1, /* MIDL flag */ - 0, /* cs routines */ - 0, /* proxy/server info */ - 0 - }; - -const CInterfaceProxyVtbl * const _AccessibleTable2_ProxyVtblList[] = -{ - ( CInterfaceProxyVtbl *) &_IAccessibleTable2ProxyVtbl, - 0 -}; - -const CInterfaceStubVtbl * const _AccessibleTable2_StubVtblList[] = -{ - ( CInterfaceStubVtbl *) &_IAccessibleTable2StubVtbl, - 0 -}; - -PCInterfaceName const _AccessibleTable2_InterfaceNamesList[] = -{ - "IAccessibleTable2", - 0 -}; - - -#define _AccessibleTable2_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleTable2, pIID, n) - -int __stdcall _AccessibleTable2_IID_Lookup( const IID * pIID, int * pIndex ) -{ - - if(!_AccessibleTable2_CHECK_IID(0)) - { - *pIndex = 0; - return 1; - } - - return 0; -} - -const ExtendedProxyFileInfo AccessibleTable2_ProxyFileInfo = -{ - (PCInterfaceProxyVtblList *) & _AccessibleTable2_ProxyVtblList, - (PCInterfaceStubVtblList *) & _AccessibleTable2_StubVtblList, - (const PCInterfaceName * ) & _AccessibleTable2_InterfaceNamesList, - 0, /* no delegation */ - & _AccessibleTable2_IID_Lookup, - 1, - 2, - 0, /* table of [async_uuid] interfaces */ - 0, /* Filler1 */ - 0, /* Filler2 */ - 0 /* Filler3 */ -}; -#if _MSC_VER >= 1200 -#pragma warning(pop) -#endif - - -#endif /* defined(_M_AMD64)*/ - diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleTableCell.h b/src/3rdparty/iaccessible2/generated/amd64/AccessibleTableCell.h deleted file mode 100644 index 85648fcc7e..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleTableCell.h +++ /dev/null @@ -1,246 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:54:00 2012 - */ -/* Compiler settings for AccessibleTableCell.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the <rpcndr.h> version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of <rpcndr.h> -#endif // __RPCNDR_H_VERSION__ - -#ifndef COM_NO_WINDOWS_H -#include "windows.h" -#include "ole2.h" -#endif /*COM_NO_WINDOWS_H*/ - -#ifndef __AccessibleTableCell_h__ -#define __AccessibleTableCell_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -#ifndef __IAccessibleTableCell_FWD_DEFINED__ -#define __IAccessibleTableCell_FWD_DEFINED__ -typedef interface IAccessibleTableCell IAccessibleTableCell; -#endif /* __IAccessibleTableCell_FWD_DEFINED__ */ - - -/* header files for imported files */ -#include "objidl.h" -#include "oaidl.h" -#include "oleacc.h" -#include "Accessible2.h" - -#ifdef __cplusplus -extern "C"{ -#endif - - -#ifndef __IAccessibleTableCell_INTERFACE_DEFINED__ -#define __IAccessibleTableCell_INTERFACE_DEFINED__ - -/* interface IAccessibleTableCell */ -/* [uuid][object] */ - - -EXTERN_C const IID IID_IAccessibleTableCell; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("594116B1-C99F-4847-AD06-0A7A86ECE645") - IAccessibleTableCell : public IUnknown - { - public: - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnExtent( - /* [retval][out] */ long *nColumnsSpanned) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnHeaderCells( - /* [size_is][size_is][size_is][out] */ IUnknown ***cellAccessibles, - /* [retval][out] */ long *nColumnHeaderCells) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnIndex( - /* [retval][out] */ long *columnIndex) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowExtent( - /* [retval][out] */ long *nRowsSpanned) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowHeaderCells( - /* [size_is][size_is][size_is][out] */ IUnknown ***cellAccessibles, - /* [retval][out] */ long *nRowHeaderCells) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowIndex( - /* [retval][out] */ long *rowIndex) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isSelected( - /* [retval][out] */ boolean *isSelected) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowColumnExtents( - /* [out] */ long *row, - /* [out] */ long *column, - /* [out] */ long *rowExtents, - /* [out] */ long *columnExtents, - /* [retval][out] */ boolean *isSelected) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_table( - /* [retval][out] */ IUnknown **table) = 0; - - }; - -#else /* C style interface */ - - typedef struct IAccessibleTableCellVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IAccessibleTableCell * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IAccessibleTableCell * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IAccessibleTableCell * This); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnExtent )( - IAccessibleTableCell * This, - /* [retval][out] */ long *nColumnsSpanned); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnHeaderCells )( - IAccessibleTableCell * This, - /* [size_is][size_is][size_is][out] */ IUnknown ***cellAccessibles, - /* [retval][out] */ long *nColumnHeaderCells); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnIndex )( - IAccessibleTableCell * This, - /* [retval][out] */ long *columnIndex); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowExtent )( - IAccessibleTableCell * This, - /* [retval][out] */ long *nRowsSpanned); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowHeaderCells )( - IAccessibleTableCell * This, - /* [size_is][size_is][size_is][out] */ IUnknown ***cellAccessibles, - /* [retval][out] */ long *nRowHeaderCells); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowIndex )( - IAccessibleTableCell * This, - /* [retval][out] */ long *rowIndex); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSelected )( - IAccessibleTableCell * This, - /* [retval][out] */ boolean *isSelected); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowColumnExtents )( - IAccessibleTableCell * This, - /* [out] */ long *row, - /* [out] */ long *column, - /* [out] */ long *rowExtents, - /* [out] */ long *columnExtents, - /* [retval][out] */ boolean *isSelected); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_table )( - IAccessibleTableCell * This, - /* [retval][out] */ IUnknown **table); - - END_INTERFACE - } IAccessibleTableCellVtbl; - - interface IAccessibleTableCell - { - CONST_VTBL struct IAccessibleTableCellVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IAccessibleTableCell_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IAccessibleTableCell_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IAccessibleTableCell_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IAccessibleTableCell_get_columnExtent(This,nColumnsSpanned) \ - ( (This)->lpVtbl -> get_columnExtent(This,nColumnsSpanned) ) - -#define IAccessibleTableCell_get_columnHeaderCells(This,cellAccessibles,nColumnHeaderCells) \ - ( (This)->lpVtbl -> get_columnHeaderCells(This,cellAccessibles,nColumnHeaderCells) ) - -#define IAccessibleTableCell_get_columnIndex(This,columnIndex) \ - ( (This)->lpVtbl -> get_columnIndex(This,columnIndex) ) - -#define IAccessibleTableCell_get_rowExtent(This,nRowsSpanned) \ - ( (This)->lpVtbl -> get_rowExtent(This,nRowsSpanned) ) - -#define IAccessibleTableCell_get_rowHeaderCells(This,cellAccessibles,nRowHeaderCells) \ - ( (This)->lpVtbl -> get_rowHeaderCells(This,cellAccessibles,nRowHeaderCells) ) - -#define IAccessibleTableCell_get_rowIndex(This,rowIndex) \ - ( (This)->lpVtbl -> get_rowIndex(This,rowIndex) ) - -#define IAccessibleTableCell_get_isSelected(This,isSelected) \ - ( (This)->lpVtbl -> get_isSelected(This,isSelected) ) - -#define IAccessibleTableCell_get_rowColumnExtents(This,row,column,rowExtents,columnExtents,isSelected) \ - ( (This)->lpVtbl -> get_rowColumnExtents(This,row,column,rowExtents,columnExtents,isSelected) ) - -#define IAccessibleTableCell_get_table(This,table) \ - ( (This)->lpVtbl -> get_table(This,table) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IAccessibleTableCell_INTERFACE_DEFINED__ */ - - -/* Additional Prototypes for ALL interfaces */ - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleTableCell_i.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleTableCell_i.c deleted file mode 100644 index fa94037d95..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleTableCell_i.c +++ /dev/null @@ -1,79 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */ - -/* link this file in with the server and any clients */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:54:00 2012 - */ -/* Compiler settings for AccessibleTableCell.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -#ifdef __cplusplus -extern "C"{ -#endif - - -#include <rpc.h> -#include <rpcndr.h> - -#ifdef _MIDL_USE_GUIDDEF_ - -#ifndef INITGUID -#define INITGUID -#include <guiddef.h> -#undef INITGUID -#else -#include <guiddef.h> -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) - -#else // !_MIDL_USE_GUIDDEF_ - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - -typedef struct _IID -{ - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; -} IID; - -#endif // __IID_DEFINED__ - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED -typedef IID CLSID; -#endif // CLSID_DEFINED - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} - -#endif !_MIDL_USE_GUIDDEF_ - -MIDL_DEFINE_GUID(IID, IID_IAccessibleTableCell,0x594116B1,0xC99F,0x4847,0xAD,0x06,0x0A,0x7A,0x86,0xEC,0xE6,0x45); - -#undef MIDL_DEFINE_GUID - -#ifdef __cplusplus -} -#endif - - - diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleTableCell_p.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleTableCell_p.c deleted file mode 100644 index bf18e659b6..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleTableCell_p.c +++ /dev/null @@ -1,634 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the proxy stub code */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:54:00 2012 - */ -/* Compiler settings for AccessibleTableCell.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#if defined(_M_AMD64) - - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ -#if _MSC_VER >= 1200 -#pragma warning(push) -#endif - -#pragma warning( disable: 4211 ) /* redefine extern to static */ -#pragma warning( disable: 4232 ) /* dllimport identity*/ -#pragma warning( disable: 4024 ) /* array to pointer mapping*/ -#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */ - -#define USE_STUBLESS_PROXY - - -/* verify that the <rpcproxy.h> version is high enough to compile this file*/ -#ifndef __REDQ_RPCPROXY_H_VERSION__ -#define __REQUIRED_RPCPROXY_H_VERSION__ 475 -#endif - - -#include "rpcproxy.h" -#ifndef __RPCPROXY_H_VERSION__ -#error this stub requires an updated version of <rpcproxy.h> -#endif /* __RPCPROXY_H_VERSION__ */ - - -#include "AccessibleTableCell.h" - -#define TYPE_FORMAT_STRING_SIZE 63 -#define PROC_FORMAT_STRING_SIZE 379 -#define EXPR_FORMAT_STRING_SIZE 1 -#define TRANSMIT_AS_TABLE_SIZE 0 -#define WIRE_MARSHAL_TABLE_SIZE 0 - -typedef struct _AccessibleTableCell_MIDL_TYPE_FORMAT_STRING - { - short Pad; - unsigned char Format[ TYPE_FORMAT_STRING_SIZE ]; - } AccessibleTableCell_MIDL_TYPE_FORMAT_STRING; - -typedef struct _AccessibleTableCell_MIDL_PROC_FORMAT_STRING - { - short Pad; - unsigned char Format[ PROC_FORMAT_STRING_SIZE ]; - } AccessibleTableCell_MIDL_PROC_FORMAT_STRING; - -typedef struct _AccessibleTableCell_MIDL_EXPR_FORMAT_STRING - { - long Pad; - unsigned char Format[ EXPR_FORMAT_STRING_SIZE ]; - } AccessibleTableCell_MIDL_EXPR_FORMAT_STRING; - - -static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax = -{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}}; - - -extern const AccessibleTableCell_MIDL_TYPE_FORMAT_STRING AccessibleTableCell__MIDL_TypeFormatString; -extern const AccessibleTableCell_MIDL_PROC_FORMAT_STRING AccessibleTableCell__MIDL_ProcFormatString; -extern const AccessibleTableCell_MIDL_EXPR_FORMAT_STRING AccessibleTableCell__MIDL_ExprFormatString; - - -extern const MIDL_STUB_DESC Object_StubDesc; - - -extern const MIDL_SERVER_INFO IAccessibleTableCell_ServerInfo; -extern const MIDL_STUBLESS_PROXY_INFO IAccessibleTableCell_ProxyInfo; - - - -#if !defined(__RPC_WIN64__) -#error Invalid build platform for this stub. -#endif - -static const AccessibleTableCell_MIDL_PROC_FORMAT_STRING AccessibleTableCell__MIDL_ProcFormatString = - { - 0, - { - - /* Procedure get_columnExtent */ - - 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 2 */ NdrFcLong( 0x0 ), /* 0 */ -/* 6 */ NdrFcShort( 0x3 ), /* 3 */ -/* 8 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 10 */ NdrFcShort( 0x0 ), /* 0 */ -/* 12 */ NdrFcShort( 0x24 ), /* 36 */ -/* 14 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 16 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 18 */ NdrFcShort( 0x0 ), /* 0 */ -/* 20 */ NdrFcShort( 0x0 ), /* 0 */ -/* 22 */ NdrFcShort( 0x0 ), /* 0 */ -/* 24 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter nColumnsSpanned */ - -/* 26 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 28 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 30 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 32 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 34 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 36 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_columnHeaderCells */ - -/* 38 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 40 */ NdrFcLong( 0x0 ), /* 0 */ -/* 44 */ NdrFcShort( 0x4 ), /* 4 */ -/* 46 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 48 */ NdrFcShort( 0x0 ), /* 0 */ -/* 50 */ NdrFcShort( 0x24 ), /* 36 */ -/* 52 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x3, /* 3 */ -/* 54 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 56 */ NdrFcShort( 0x1 ), /* 1 */ -/* 58 */ NdrFcShort( 0x0 ), /* 0 */ -/* 60 */ NdrFcShort( 0x0 ), /* 0 */ -/* 62 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter cellAccessibles */ - -/* 64 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ -/* 66 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 68 */ NdrFcShort( 0x6 ), /* Type Offset=6 */ - - /* Parameter nColumnHeaderCells */ - -/* 70 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 72 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 74 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 76 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 78 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 80 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_columnIndex */ - -/* 82 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 84 */ NdrFcLong( 0x0 ), /* 0 */ -/* 88 */ NdrFcShort( 0x5 ), /* 5 */ -/* 90 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 92 */ NdrFcShort( 0x0 ), /* 0 */ -/* 94 */ NdrFcShort( 0x24 ), /* 36 */ -/* 96 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 98 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 100 */ NdrFcShort( 0x0 ), /* 0 */ -/* 102 */ NdrFcShort( 0x0 ), /* 0 */ -/* 104 */ NdrFcShort( 0x0 ), /* 0 */ -/* 106 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter columnIndex */ - -/* 108 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 110 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 112 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 114 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 116 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 118 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_rowExtent */ - -/* 120 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 122 */ NdrFcLong( 0x0 ), /* 0 */ -/* 126 */ NdrFcShort( 0x6 ), /* 6 */ -/* 128 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 130 */ NdrFcShort( 0x0 ), /* 0 */ -/* 132 */ NdrFcShort( 0x24 ), /* 36 */ -/* 134 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 136 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 138 */ NdrFcShort( 0x0 ), /* 0 */ -/* 140 */ NdrFcShort( 0x0 ), /* 0 */ -/* 142 */ NdrFcShort( 0x0 ), /* 0 */ -/* 144 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter nRowsSpanned */ - -/* 146 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 148 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 150 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 152 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 154 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 156 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_rowHeaderCells */ - -/* 158 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 160 */ NdrFcLong( 0x0 ), /* 0 */ -/* 164 */ NdrFcShort( 0x7 ), /* 7 */ -/* 166 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 168 */ NdrFcShort( 0x0 ), /* 0 */ -/* 170 */ NdrFcShort( 0x24 ), /* 36 */ -/* 172 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x3, /* 3 */ -/* 174 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 176 */ NdrFcShort( 0x1 ), /* 1 */ -/* 178 */ NdrFcShort( 0x0 ), /* 0 */ -/* 180 */ NdrFcShort( 0x0 ), /* 0 */ -/* 182 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter cellAccessibles */ - -/* 184 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ -/* 186 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 188 */ NdrFcShort( 0x6 ), /* Type Offset=6 */ - - /* Parameter nRowHeaderCells */ - -/* 190 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 192 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 194 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 196 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 198 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 200 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_rowIndex */ - -/* 202 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 204 */ NdrFcLong( 0x0 ), /* 0 */ -/* 208 */ NdrFcShort( 0x8 ), /* 8 */ -/* 210 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 212 */ NdrFcShort( 0x0 ), /* 0 */ -/* 214 */ NdrFcShort( 0x24 ), /* 36 */ -/* 216 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 218 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 220 */ NdrFcShort( 0x0 ), /* 0 */ -/* 222 */ NdrFcShort( 0x0 ), /* 0 */ -/* 224 */ NdrFcShort( 0x0 ), /* 0 */ -/* 226 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter rowIndex */ - -/* 228 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 230 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 232 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 234 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 236 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 238 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_isSelected */ - -/* 240 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 242 */ NdrFcLong( 0x0 ), /* 0 */ -/* 246 */ NdrFcShort( 0x9 ), /* 9 */ -/* 248 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 250 */ NdrFcShort( 0x0 ), /* 0 */ -/* 252 */ NdrFcShort( 0x21 ), /* 33 */ -/* 254 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 256 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 258 */ NdrFcShort( 0x0 ), /* 0 */ -/* 260 */ NdrFcShort( 0x0 ), /* 0 */ -/* 262 */ NdrFcShort( 0x0 ), /* 0 */ -/* 264 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter isSelected */ - -/* 266 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 268 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 270 */ 0x3, /* FC_SMALL */ - 0x0, /* 0 */ - - /* Return value */ - -/* 272 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 274 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 276 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_rowColumnExtents */ - -/* 278 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 280 */ NdrFcLong( 0x0 ), /* 0 */ -/* 284 */ NdrFcShort( 0xa ), /* 10 */ -/* 286 */ NdrFcShort( 0x38 ), /* X64 Stack size/offset = 56 */ -/* 288 */ NdrFcShort( 0x0 ), /* 0 */ -/* 290 */ NdrFcShort( 0x91 ), /* 145 */ -/* 292 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x6, /* 6 */ -/* 294 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 296 */ NdrFcShort( 0x0 ), /* 0 */ -/* 298 */ NdrFcShort( 0x0 ), /* 0 */ -/* 300 */ NdrFcShort( 0x0 ), /* 0 */ -/* 302 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter row */ - -/* 304 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 306 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 308 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter column */ - -/* 310 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 312 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 314 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter rowExtents */ - -/* 316 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 318 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 320 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter columnExtents */ - -/* 322 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 324 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 326 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter isSelected */ - -/* 328 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 330 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ -/* 332 */ 0x3, /* FC_SMALL */ - 0x0, /* 0 */ - - /* Return value */ - -/* 334 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 336 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */ -/* 338 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_table */ - -/* 340 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 342 */ NdrFcLong( 0x0 ), /* 0 */ -/* 346 */ NdrFcShort( 0xb ), /* 11 */ -/* 348 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 350 */ NdrFcShort( 0x0 ), /* 0 */ -/* 352 */ NdrFcShort( 0x8 ), /* 8 */ -/* 354 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 356 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 358 */ NdrFcShort( 0x0 ), /* 0 */ -/* 360 */ NdrFcShort( 0x0 ), /* 0 */ -/* 362 */ NdrFcShort( 0x0 ), /* 0 */ -/* 364 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter table */ - -/* 366 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ -/* 368 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 370 */ NdrFcShort( 0x3a ), /* Type Offset=58 */ - - /* Return value */ - -/* 372 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 374 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 376 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - 0x0 - } - }; - -static const AccessibleTableCell_MIDL_TYPE_FORMAT_STRING AccessibleTableCell__MIDL_TypeFormatString = - { - 0, - { - NdrFcShort( 0x0 ), /* 0 */ -/* 2 */ - 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */ -/* 4 */ 0x8, /* FC_LONG */ - 0x5c, /* FC_PAD */ -/* 6 */ - 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */ -/* 8 */ NdrFcShort( 0x2 ), /* Offset= 2 (10) */ -/* 10 */ - 0x13, 0x0, /* FC_OP */ -/* 12 */ NdrFcShort( 0x14 ), /* Offset= 20 (32) */ -/* 14 */ - 0x2f, /* FC_IP */ - 0x5a, /* FC_CONSTANT_IID */ -/* 16 */ NdrFcLong( 0x0 ), /* 0 */ -/* 20 */ NdrFcShort( 0x0 ), /* 0 */ -/* 22 */ NdrFcShort( 0x0 ), /* 0 */ -/* 24 */ 0xc0, /* 192 */ - 0x0, /* 0 */ -/* 26 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 28 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 30 */ 0x0, /* 0 */ - 0x46, /* 70 */ -/* 32 */ - 0x21, /* FC_BOGUS_ARRAY */ - 0x3, /* 3 */ -/* 34 */ NdrFcShort( 0x0 ), /* 0 */ -/* 36 */ 0x28, /* Corr desc: parameter, FC_LONG */ - 0x54, /* FC_DEREFERENCE */ -/* 38 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 40 */ NdrFcShort( 0x0 ), /* Corr flags: */ -/* 42 */ NdrFcLong( 0xffffffff ), /* -1 */ -/* 46 */ NdrFcShort( 0x0 ), /* Corr flags: */ -/* 48 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 50 */ NdrFcShort( 0xffdc ), /* Offset= -36 (14) */ -/* 52 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 54 */ - 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */ -/* 56 */ 0x3, /* FC_SMALL */ - 0x5c, /* FC_PAD */ -/* 58 */ - 0x11, 0x10, /* FC_RP [pointer_deref] */ -/* 60 */ NdrFcShort( 0xffd2 ), /* Offset= -46 (14) */ - - 0x0 - } - }; - - -/* Object interface: IUnknown, ver. 0.0, - GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */ - - -/* Object interface: IAccessibleTableCell, ver. 0.0, - GUID={0x594116B1,0xC99F,0x4847,{0xAD,0x06,0x0A,0x7A,0x86,0xEC,0xE6,0x45}} */ - -#pragma code_seg(".orpc") -static const unsigned short IAccessibleTableCell_FormatStringOffsetTable[] = - { - 0, - 38, - 82, - 120, - 158, - 202, - 240, - 278, - 340 - }; - -static const MIDL_STUBLESS_PROXY_INFO IAccessibleTableCell_ProxyInfo = - { - &Object_StubDesc, - AccessibleTableCell__MIDL_ProcFormatString.Format, - &IAccessibleTableCell_FormatStringOffsetTable[-3], - 0, - 0, - 0 - }; - - -static const MIDL_SERVER_INFO IAccessibleTableCell_ServerInfo = - { - &Object_StubDesc, - 0, - AccessibleTableCell__MIDL_ProcFormatString.Format, - &IAccessibleTableCell_FormatStringOffsetTable[-3], - 0, - 0, - 0, - 0}; -CINTERFACE_PROXY_VTABLE(12) _IAccessibleTableCellProxyVtbl = -{ - &IAccessibleTableCell_ProxyInfo, - &IID_IAccessibleTableCell, - IUnknown_QueryInterface_Proxy, - IUnknown_AddRef_Proxy, - IUnknown_Release_Proxy , - (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_columnExtent */ , - (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_columnHeaderCells */ , - (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_columnIndex */ , - (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_rowExtent */ , - (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_rowHeaderCells */ , - (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_rowIndex */ , - (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_isSelected */ , - (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_rowColumnExtents */ , - (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_table */ -}; - -const CInterfaceStubVtbl _IAccessibleTableCellStubVtbl = -{ - &IID_IAccessibleTableCell, - &IAccessibleTableCell_ServerInfo, - 12, - 0, /* pure interpreted */ - CStdStubBuffer_METHODS -}; - -static const MIDL_STUB_DESC Object_StubDesc = - { - 0, - NdrOleAllocate, - NdrOleFree, - 0, - 0, - 0, - 0, - 0, - AccessibleTableCell__MIDL_TypeFormatString.Format, - 1, /* -error bounds_check flag */ - 0x50002, /* Ndr library version */ - 0, - 0x700022b, /* MIDL Version 7.0.555 */ - 0, - 0, - 0, /* notify & notify_flag routine table */ - 0x1, /* MIDL flag */ - 0, /* cs routines */ - 0, /* proxy/server info */ - 0 - }; - -const CInterfaceProxyVtbl * const _AccessibleTableCell_ProxyVtblList[] = -{ - ( CInterfaceProxyVtbl *) &_IAccessibleTableCellProxyVtbl, - 0 -}; - -const CInterfaceStubVtbl * const _AccessibleTableCell_StubVtblList[] = -{ - ( CInterfaceStubVtbl *) &_IAccessibleTableCellStubVtbl, - 0 -}; - -PCInterfaceName const _AccessibleTableCell_InterfaceNamesList[] = -{ - "IAccessibleTableCell", - 0 -}; - - -#define _AccessibleTableCell_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleTableCell, pIID, n) - -int __stdcall _AccessibleTableCell_IID_Lookup( const IID * pIID, int * pIndex ) -{ - - if(!_AccessibleTableCell_CHECK_IID(0)) - { - *pIndex = 0; - return 1; - } - - return 0; -} - -const ExtendedProxyFileInfo AccessibleTableCell_ProxyFileInfo = -{ - (PCInterfaceProxyVtblList *) & _AccessibleTableCell_ProxyVtblList, - (PCInterfaceStubVtblList *) & _AccessibleTableCell_StubVtblList, - (const PCInterfaceName * ) & _AccessibleTableCell_InterfaceNamesList, - 0, /* no delegation */ - & _AccessibleTableCell_IID_Lookup, - 1, - 2, - 0, /* table of [async_uuid] interfaces */ - 0, /* Filler1 */ - 0, /* Filler2 */ - 0 /* Filler3 */ -}; -#if _MSC_VER >= 1200 -#pragma warning(pop) -#endif - - -#endif /* defined(_M_AMD64)*/ - diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleTable_i.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleTable_i.c deleted file mode 100644 index dd4e1fe983..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleTable_i.c +++ /dev/null @@ -1,79 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */ - -/* link this file in with the server and any clients */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:59 2012 - */ -/* Compiler settings for AccessibleTable.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -#ifdef __cplusplus -extern "C"{ -#endif - - -#include <rpc.h> -#include <rpcndr.h> - -#ifdef _MIDL_USE_GUIDDEF_ - -#ifndef INITGUID -#define INITGUID -#include <guiddef.h> -#undef INITGUID -#else -#include <guiddef.h> -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) - -#else // !_MIDL_USE_GUIDDEF_ - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - -typedef struct _IID -{ - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; -} IID; - -#endif // __IID_DEFINED__ - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED -typedef IID CLSID; -#endif // CLSID_DEFINED - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} - -#endif !_MIDL_USE_GUIDDEF_ - -MIDL_DEFINE_GUID(IID, IID_IAccessibleTable,0x35AD8070,0xC20C,0x4fb4,0xB0,0x94,0xF4,0xF7,0x27,0x5D,0xD4,0x69); - -#undef MIDL_DEFINE_GUID - -#ifdef __cplusplus -} -#endif - - - diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleTable_p.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleTable_p.c deleted file mode 100644 index cca4e376c8..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleTable_p.c +++ /dev/null @@ -1,1543 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the proxy stub code */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:59 2012 - */ -/* Compiler settings for AccessibleTable.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#if defined(_M_AMD64) - - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ -#if _MSC_VER >= 1200 -#pragma warning(push) -#endif - -#pragma warning( disable: 4211 ) /* redefine extern to static */ -#pragma warning( disable: 4232 ) /* dllimport identity*/ -#pragma warning( disable: 4024 ) /* array to pointer mapping*/ -#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */ - -#define USE_STUBLESS_PROXY - - -/* verify that the <rpcproxy.h> version is high enough to compile this file*/ -#ifndef __REDQ_RPCPROXY_H_VERSION__ -#define __REQUIRED_RPCPROXY_H_VERSION__ 475 -#endif - - -#include "rpcproxy.h" -#ifndef __RPCPROXY_H_VERSION__ -#error this stub requires an updated version of <rpcproxy.h> -#endif /* __RPCPROXY_H_VERSION__ */ - - -#include "AccessibleTable.h" - -#define TYPE_FORMAT_STRING_SIZE 139 -#define PROC_FORMAT_STRING_SIZE 1277 -#define EXPR_FORMAT_STRING_SIZE 1 -#define TRANSMIT_AS_TABLE_SIZE 0 -#define WIRE_MARSHAL_TABLE_SIZE 1 - -typedef struct _AccessibleTable_MIDL_TYPE_FORMAT_STRING - { - short Pad; - unsigned char Format[ TYPE_FORMAT_STRING_SIZE ]; - } AccessibleTable_MIDL_TYPE_FORMAT_STRING; - -typedef struct _AccessibleTable_MIDL_PROC_FORMAT_STRING - { - short Pad; - unsigned char Format[ PROC_FORMAT_STRING_SIZE ]; - } AccessibleTable_MIDL_PROC_FORMAT_STRING; - -typedef struct _AccessibleTable_MIDL_EXPR_FORMAT_STRING - { - long Pad; - unsigned char Format[ EXPR_FORMAT_STRING_SIZE ]; - } AccessibleTable_MIDL_EXPR_FORMAT_STRING; - - -static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax = -{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}}; - - -extern const AccessibleTable_MIDL_TYPE_FORMAT_STRING AccessibleTable__MIDL_TypeFormatString; -extern const AccessibleTable_MIDL_PROC_FORMAT_STRING AccessibleTable__MIDL_ProcFormatString; -extern const AccessibleTable_MIDL_EXPR_FORMAT_STRING AccessibleTable__MIDL_ExprFormatString; - - -extern const MIDL_STUB_DESC Object_StubDesc; - - -extern const MIDL_SERVER_INFO IAccessibleTable_ServerInfo; -extern const MIDL_STUBLESS_PROXY_INFO IAccessibleTable_ProxyInfo; - - -extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ]; - -#if !defined(__RPC_WIN64__) -#error Invalid build platform for this stub. -#endif - -static const AccessibleTable_MIDL_PROC_FORMAT_STRING AccessibleTable__MIDL_ProcFormatString = - { - 0, - { - - /* Procedure get_accessibleAt */ - - 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 2 */ NdrFcLong( 0x0 ), /* 0 */ -/* 6 */ NdrFcShort( 0x3 ), /* 3 */ -/* 8 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ -/* 10 */ NdrFcShort( 0x10 ), /* 16 */ -/* 12 */ NdrFcShort( 0x8 ), /* 8 */ -/* 14 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x4, /* 4 */ -/* 16 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 18 */ NdrFcShort( 0x0 ), /* 0 */ -/* 20 */ NdrFcShort( 0x0 ), /* 0 */ -/* 22 */ NdrFcShort( 0x0 ), /* 0 */ -/* 24 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter row */ - -/* 26 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 28 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 30 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter column */ - -/* 32 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 34 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 36 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter accessible */ - -/* 38 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ -/* 40 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 42 */ NdrFcShort( 0x2 ), /* Type Offset=2 */ - - /* Return value */ - -/* 44 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 46 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 48 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_caption */ - -/* 50 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 52 */ NdrFcLong( 0x0 ), /* 0 */ -/* 56 */ NdrFcShort( 0x4 ), /* 4 */ -/* 58 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 60 */ NdrFcShort( 0x0 ), /* 0 */ -/* 62 */ NdrFcShort( 0x8 ), /* 8 */ -/* 64 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 66 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 68 */ NdrFcShort( 0x0 ), /* 0 */ -/* 70 */ NdrFcShort( 0x0 ), /* 0 */ -/* 72 */ NdrFcShort( 0x0 ), /* 0 */ -/* 74 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter accessible */ - -/* 76 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ -/* 78 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 80 */ NdrFcShort( 0x2 ), /* Type Offset=2 */ - - /* Return value */ - -/* 82 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 84 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 86 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_childIndex */ - -/* 88 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 90 */ NdrFcLong( 0x0 ), /* 0 */ -/* 94 */ NdrFcShort( 0x5 ), /* 5 */ -/* 96 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ -/* 98 */ NdrFcShort( 0x10 ), /* 16 */ -/* 100 */ NdrFcShort( 0x24 ), /* 36 */ -/* 102 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x4, /* 4 */ -/* 104 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 106 */ NdrFcShort( 0x0 ), /* 0 */ -/* 108 */ NdrFcShort( 0x0 ), /* 0 */ -/* 110 */ NdrFcShort( 0x0 ), /* 0 */ -/* 112 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter rowIndex */ - -/* 114 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 116 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 118 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter columnIndex */ - -/* 120 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 122 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 124 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter cellIndex */ - -/* 126 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 128 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 130 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 132 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 134 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 136 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_columnDescription */ - -/* 138 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 140 */ NdrFcLong( 0x0 ), /* 0 */ -/* 144 */ NdrFcShort( 0x6 ), /* 6 */ -/* 146 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 148 */ NdrFcShort( 0x8 ), /* 8 */ -/* 150 */ NdrFcShort( 0x8 ), /* 8 */ -/* 152 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x3, /* 3 */ -/* 154 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 156 */ NdrFcShort( 0x1 ), /* 1 */ -/* 158 */ NdrFcShort( 0x0 ), /* 0 */ -/* 160 */ NdrFcShort( 0x0 ), /* 0 */ -/* 162 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter column */ - -/* 164 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 166 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 168 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter description */ - -/* 170 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 172 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 174 */ NdrFcShort( 0x3a ), /* Type Offset=58 */ - - /* Return value */ - -/* 176 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 178 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 180 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_columnExtentAt */ - -/* 182 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 184 */ NdrFcLong( 0x0 ), /* 0 */ -/* 188 */ NdrFcShort( 0x7 ), /* 7 */ -/* 190 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ -/* 192 */ NdrFcShort( 0x10 ), /* 16 */ -/* 194 */ NdrFcShort( 0x24 ), /* 36 */ -/* 196 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x4, /* 4 */ -/* 198 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 200 */ NdrFcShort( 0x0 ), /* 0 */ -/* 202 */ NdrFcShort( 0x0 ), /* 0 */ -/* 204 */ NdrFcShort( 0x0 ), /* 0 */ -/* 206 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter row */ - -/* 208 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 210 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 212 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter column */ - -/* 214 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 216 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 218 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter nColumnsSpanned */ - -/* 220 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 222 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 224 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 226 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 228 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 230 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_columnHeader */ - -/* 232 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 234 */ NdrFcLong( 0x0 ), /* 0 */ -/* 238 */ NdrFcShort( 0x8 ), /* 8 */ -/* 240 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 242 */ NdrFcShort( 0x0 ), /* 0 */ -/* 244 */ NdrFcShort( 0x24 ), /* 36 */ -/* 246 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x3, /* 3 */ -/* 248 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 250 */ NdrFcShort( 0x0 ), /* 0 */ -/* 252 */ NdrFcShort( 0x0 ), /* 0 */ -/* 254 */ NdrFcShort( 0x0 ), /* 0 */ -/* 256 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter accessibleTable */ - -/* 258 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ -/* 260 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 262 */ NdrFcShort( 0x44 ), /* Type Offset=68 */ - - /* Parameter startingRowIndex */ - -/* 264 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 266 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 268 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 270 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 272 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 274 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_columnIndex */ - -/* 276 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 278 */ NdrFcLong( 0x0 ), /* 0 */ -/* 282 */ NdrFcShort( 0x9 ), /* 9 */ -/* 284 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 286 */ NdrFcShort( 0x8 ), /* 8 */ -/* 288 */ NdrFcShort( 0x24 ), /* 36 */ -/* 290 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x3, /* 3 */ -/* 292 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 294 */ NdrFcShort( 0x0 ), /* 0 */ -/* 296 */ NdrFcShort( 0x0 ), /* 0 */ -/* 298 */ NdrFcShort( 0x0 ), /* 0 */ -/* 300 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter cellIndex */ - -/* 302 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 304 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 306 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter columnIndex */ - -/* 308 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 310 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 312 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 314 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 316 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 318 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_nColumns */ - -/* 320 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 322 */ NdrFcLong( 0x0 ), /* 0 */ -/* 326 */ NdrFcShort( 0xa ), /* 10 */ -/* 328 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 330 */ NdrFcShort( 0x0 ), /* 0 */ -/* 332 */ NdrFcShort( 0x24 ), /* 36 */ -/* 334 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 336 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 338 */ NdrFcShort( 0x0 ), /* 0 */ -/* 340 */ NdrFcShort( 0x0 ), /* 0 */ -/* 342 */ NdrFcShort( 0x0 ), /* 0 */ -/* 344 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter columnCount */ - -/* 346 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 348 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 350 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 352 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 354 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 356 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_nRows */ - -/* 358 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 360 */ NdrFcLong( 0x0 ), /* 0 */ -/* 364 */ NdrFcShort( 0xb ), /* 11 */ -/* 366 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 368 */ NdrFcShort( 0x0 ), /* 0 */ -/* 370 */ NdrFcShort( 0x24 ), /* 36 */ -/* 372 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 374 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 376 */ NdrFcShort( 0x0 ), /* 0 */ -/* 378 */ NdrFcShort( 0x0 ), /* 0 */ -/* 380 */ NdrFcShort( 0x0 ), /* 0 */ -/* 382 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter rowCount */ - -/* 384 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 386 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 388 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 390 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 392 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 394 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_nSelectedChildren */ - -/* 396 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 398 */ NdrFcLong( 0x0 ), /* 0 */ -/* 402 */ NdrFcShort( 0xc ), /* 12 */ -/* 404 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 406 */ NdrFcShort( 0x0 ), /* 0 */ -/* 408 */ NdrFcShort( 0x24 ), /* 36 */ -/* 410 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 412 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 414 */ NdrFcShort( 0x0 ), /* 0 */ -/* 416 */ NdrFcShort( 0x0 ), /* 0 */ -/* 418 */ NdrFcShort( 0x0 ), /* 0 */ -/* 420 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter cellCount */ - -/* 422 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 424 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 426 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 428 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 430 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 432 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_nSelectedColumns */ - -/* 434 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 436 */ NdrFcLong( 0x0 ), /* 0 */ -/* 440 */ NdrFcShort( 0xd ), /* 13 */ -/* 442 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 444 */ NdrFcShort( 0x0 ), /* 0 */ -/* 446 */ NdrFcShort( 0x24 ), /* 36 */ -/* 448 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 450 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 452 */ NdrFcShort( 0x0 ), /* 0 */ -/* 454 */ NdrFcShort( 0x0 ), /* 0 */ -/* 456 */ NdrFcShort( 0x0 ), /* 0 */ -/* 458 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter columnCount */ - -/* 460 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 462 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 464 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 466 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 468 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 470 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_nSelectedRows */ - -/* 472 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 474 */ NdrFcLong( 0x0 ), /* 0 */ -/* 478 */ NdrFcShort( 0xe ), /* 14 */ -/* 480 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 482 */ NdrFcShort( 0x0 ), /* 0 */ -/* 484 */ NdrFcShort( 0x24 ), /* 36 */ -/* 486 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 488 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 490 */ NdrFcShort( 0x0 ), /* 0 */ -/* 492 */ NdrFcShort( 0x0 ), /* 0 */ -/* 494 */ NdrFcShort( 0x0 ), /* 0 */ -/* 496 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter rowCount */ - -/* 498 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 500 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 502 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 504 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 506 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 508 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_rowDescription */ - -/* 510 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 512 */ NdrFcLong( 0x0 ), /* 0 */ -/* 516 */ NdrFcShort( 0xf ), /* 15 */ -/* 518 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 520 */ NdrFcShort( 0x8 ), /* 8 */ -/* 522 */ NdrFcShort( 0x8 ), /* 8 */ -/* 524 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x3, /* 3 */ -/* 526 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 528 */ NdrFcShort( 0x1 ), /* 1 */ -/* 530 */ NdrFcShort( 0x0 ), /* 0 */ -/* 532 */ NdrFcShort( 0x0 ), /* 0 */ -/* 534 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter row */ - -/* 536 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 538 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 540 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter description */ - -/* 542 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 544 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 546 */ NdrFcShort( 0x3a ), /* Type Offset=58 */ - - /* Return value */ - -/* 548 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 550 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 552 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_rowExtentAt */ - -/* 554 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 556 */ NdrFcLong( 0x0 ), /* 0 */ -/* 560 */ NdrFcShort( 0x10 ), /* 16 */ -/* 562 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ -/* 564 */ NdrFcShort( 0x10 ), /* 16 */ -/* 566 */ NdrFcShort( 0x24 ), /* 36 */ -/* 568 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x4, /* 4 */ -/* 570 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 572 */ NdrFcShort( 0x0 ), /* 0 */ -/* 574 */ NdrFcShort( 0x0 ), /* 0 */ -/* 576 */ NdrFcShort( 0x0 ), /* 0 */ -/* 578 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter row */ - -/* 580 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 582 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 584 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter column */ - -/* 586 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 588 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 590 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter nRowsSpanned */ - -/* 592 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 594 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 596 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 598 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 600 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 602 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_rowHeader */ - -/* 604 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 606 */ NdrFcLong( 0x0 ), /* 0 */ -/* 610 */ NdrFcShort( 0x11 ), /* 17 */ -/* 612 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 614 */ NdrFcShort( 0x0 ), /* 0 */ -/* 616 */ NdrFcShort( 0x24 ), /* 36 */ -/* 618 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x3, /* 3 */ -/* 620 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 622 */ NdrFcShort( 0x0 ), /* 0 */ -/* 624 */ NdrFcShort( 0x0 ), /* 0 */ -/* 626 */ NdrFcShort( 0x0 ), /* 0 */ -/* 628 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter accessibleTable */ - -/* 630 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ -/* 632 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 634 */ NdrFcShort( 0x44 ), /* Type Offset=68 */ - - /* Parameter startingColumnIndex */ - -/* 636 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 638 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 640 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 642 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 644 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 646 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_rowIndex */ - -/* 648 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 650 */ NdrFcLong( 0x0 ), /* 0 */ -/* 654 */ NdrFcShort( 0x12 ), /* 18 */ -/* 656 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 658 */ NdrFcShort( 0x8 ), /* 8 */ -/* 660 */ NdrFcShort( 0x24 ), /* 36 */ -/* 662 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x3, /* 3 */ -/* 664 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 666 */ NdrFcShort( 0x0 ), /* 0 */ -/* 668 */ NdrFcShort( 0x0 ), /* 0 */ -/* 670 */ NdrFcShort( 0x0 ), /* 0 */ -/* 672 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter cellIndex */ - -/* 674 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 676 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 678 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter rowIndex */ - -/* 680 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 682 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 684 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 686 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 688 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 690 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_selectedChildren */ - -/* 692 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 694 */ NdrFcLong( 0x0 ), /* 0 */ -/* 698 */ NdrFcShort( 0x13 ), /* 19 */ -/* 700 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ -/* 702 */ NdrFcShort( 0x8 ), /* 8 */ -/* 704 */ NdrFcShort( 0x24 ), /* 36 */ -/* 706 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x4, /* 4 */ -/* 708 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 710 */ NdrFcShort( 0x1 ), /* 1 */ -/* 712 */ NdrFcShort( 0x0 ), /* 0 */ -/* 714 */ NdrFcShort( 0x0 ), /* 0 */ -/* 716 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter maxChildren */ - -/* 718 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 720 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 722 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter children */ - -/* 724 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ -/* 726 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 728 */ NdrFcShort( 0x5a ), /* Type Offset=90 */ - - /* Parameter nChildren */ - -/* 730 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 732 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 734 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 736 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 738 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 740 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_selectedColumns */ - -/* 742 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 744 */ NdrFcLong( 0x0 ), /* 0 */ -/* 748 */ NdrFcShort( 0x14 ), /* 20 */ -/* 750 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ -/* 752 */ NdrFcShort( 0x8 ), /* 8 */ -/* 754 */ NdrFcShort( 0x24 ), /* 36 */ -/* 756 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x4, /* 4 */ -/* 758 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 760 */ NdrFcShort( 0x1 ), /* 1 */ -/* 762 */ NdrFcShort( 0x0 ), /* 0 */ -/* 764 */ NdrFcShort( 0x0 ), /* 0 */ -/* 766 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter maxColumns */ - -/* 768 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 770 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 772 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter columns */ - -/* 774 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ -/* 776 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 778 */ NdrFcShort( 0x5a ), /* Type Offset=90 */ - - /* Parameter nColumns */ - -/* 780 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 782 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 784 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 786 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 788 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 790 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_selectedRows */ - -/* 792 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 794 */ NdrFcLong( 0x0 ), /* 0 */ -/* 798 */ NdrFcShort( 0x15 ), /* 21 */ -/* 800 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ -/* 802 */ NdrFcShort( 0x8 ), /* 8 */ -/* 804 */ NdrFcShort( 0x24 ), /* 36 */ -/* 806 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x4, /* 4 */ -/* 808 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 810 */ NdrFcShort( 0x1 ), /* 1 */ -/* 812 */ NdrFcShort( 0x0 ), /* 0 */ -/* 814 */ NdrFcShort( 0x0 ), /* 0 */ -/* 816 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter maxRows */ - -/* 818 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 820 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 822 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter rows */ - -/* 824 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ -/* 826 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 828 */ NdrFcShort( 0x5a ), /* Type Offset=90 */ - - /* Parameter nRows */ - -/* 830 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 832 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 834 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 836 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 838 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 840 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_summary */ - -/* 842 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 844 */ NdrFcLong( 0x0 ), /* 0 */ -/* 848 */ NdrFcShort( 0x16 ), /* 22 */ -/* 850 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 852 */ NdrFcShort( 0x0 ), /* 0 */ -/* 854 */ NdrFcShort( 0x8 ), /* 8 */ -/* 856 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 858 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 860 */ NdrFcShort( 0x0 ), /* 0 */ -/* 862 */ NdrFcShort( 0x0 ), /* 0 */ -/* 864 */ NdrFcShort( 0x0 ), /* 0 */ -/* 866 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter accessible */ - -/* 868 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ -/* 870 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 872 */ NdrFcShort( 0x2 ), /* Type Offset=2 */ - - /* Return value */ - -/* 874 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 876 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 878 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_isColumnSelected */ - -/* 880 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 882 */ NdrFcLong( 0x0 ), /* 0 */ -/* 886 */ NdrFcShort( 0x17 ), /* 23 */ -/* 888 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 890 */ NdrFcShort( 0x8 ), /* 8 */ -/* 892 */ NdrFcShort( 0x21 ), /* 33 */ -/* 894 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x3, /* 3 */ -/* 896 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 898 */ NdrFcShort( 0x0 ), /* 0 */ -/* 900 */ NdrFcShort( 0x0 ), /* 0 */ -/* 902 */ NdrFcShort( 0x0 ), /* 0 */ -/* 904 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter column */ - -/* 906 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 908 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 910 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter isSelected */ - -/* 912 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 914 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 916 */ 0x3, /* FC_SMALL */ - 0x0, /* 0 */ - - /* Return value */ - -/* 918 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 920 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 922 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_isRowSelected */ - -/* 924 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 926 */ NdrFcLong( 0x0 ), /* 0 */ -/* 930 */ NdrFcShort( 0x18 ), /* 24 */ -/* 932 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 934 */ NdrFcShort( 0x8 ), /* 8 */ -/* 936 */ NdrFcShort( 0x21 ), /* 33 */ -/* 938 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x3, /* 3 */ -/* 940 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 942 */ NdrFcShort( 0x0 ), /* 0 */ -/* 944 */ NdrFcShort( 0x0 ), /* 0 */ -/* 946 */ NdrFcShort( 0x0 ), /* 0 */ -/* 948 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter row */ - -/* 950 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 952 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 954 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter isSelected */ - -/* 956 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 958 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 960 */ 0x3, /* FC_SMALL */ - 0x0, /* 0 */ - - /* Return value */ - -/* 962 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 964 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 966 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_isSelected */ - -/* 968 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 970 */ NdrFcLong( 0x0 ), /* 0 */ -/* 974 */ NdrFcShort( 0x19 ), /* 25 */ -/* 976 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ -/* 978 */ NdrFcShort( 0x10 ), /* 16 */ -/* 980 */ NdrFcShort( 0x21 ), /* 33 */ -/* 982 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x4, /* 4 */ -/* 984 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 986 */ NdrFcShort( 0x0 ), /* 0 */ -/* 988 */ NdrFcShort( 0x0 ), /* 0 */ -/* 990 */ NdrFcShort( 0x0 ), /* 0 */ -/* 992 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter row */ - -/* 994 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 996 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 998 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter column */ - -/* 1000 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 1002 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 1004 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter isSelected */ - -/* 1006 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 1008 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 1010 */ 0x3, /* FC_SMALL */ - 0x0, /* 0 */ - - /* Return value */ - -/* 1012 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 1014 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 1016 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure selectRow */ - -/* 1018 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 1020 */ NdrFcLong( 0x0 ), /* 0 */ -/* 1024 */ NdrFcShort( 0x1a ), /* 26 */ -/* 1026 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 1028 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1030 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1032 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 1034 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 1036 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1038 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1040 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1042 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter row */ - -/* 1044 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 1046 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 1048 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 1050 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 1052 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 1054 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure selectColumn */ - -/* 1056 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 1058 */ NdrFcLong( 0x0 ), /* 0 */ -/* 1062 */ NdrFcShort( 0x1b ), /* 27 */ -/* 1064 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 1066 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1068 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1070 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 1072 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 1074 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1076 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1078 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1080 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter column */ - -/* 1082 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 1084 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 1086 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 1088 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 1090 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 1092 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure unselectRow */ - -/* 1094 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 1096 */ NdrFcLong( 0x0 ), /* 0 */ -/* 1100 */ NdrFcShort( 0x1c ), /* 28 */ -/* 1102 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 1104 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1106 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1108 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 1110 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 1112 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1114 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1116 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1118 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter row */ - -/* 1120 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 1122 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 1124 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 1126 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 1128 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 1130 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure unselectColumn */ - -/* 1132 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 1134 */ NdrFcLong( 0x0 ), /* 0 */ -/* 1138 */ NdrFcShort( 0x1d ), /* 29 */ -/* 1140 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 1142 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1144 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1146 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 1148 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 1150 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1152 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1154 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1156 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter column */ - -/* 1158 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 1160 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 1162 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 1164 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 1166 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 1168 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_rowColumnExtentsAtIndex */ - -/* 1170 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 1172 */ NdrFcLong( 0x0 ), /* 0 */ -/* 1176 */ NdrFcShort( 0x1e ), /* 30 */ -/* 1178 */ NdrFcShort( 0x40 ), /* X64 Stack size/offset = 64 */ -/* 1180 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1182 */ NdrFcShort( 0x91 ), /* 145 */ -/* 1184 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x7, /* 7 */ -/* 1186 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 1188 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1190 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1192 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1194 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter index */ - -/* 1196 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 1198 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 1200 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter row */ - -/* 1202 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 1204 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 1206 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter column */ - -/* 1208 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 1210 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 1212 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter rowExtents */ - -/* 1214 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 1216 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 1218 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter columnExtents */ - -/* 1220 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 1222 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ -/* 1224 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter isSelected */ - -/* 1226 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 1228 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */ -/* 1230 */ 0x3, /* FC_SMALL */ - 0x0, /* 0 */ - - /* Return value */ - -/* 1232 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 1234 */ NdrFcShort( 0x38 ), /* X64 Stack size/offset = 56 */ -/* 1236 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_modelChange */ - -/* 1238 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 1240 */ NdrFcLong( 0x0 ), /* 0 */ -/* 1244 */ NdrFcShort( 0x1f ), /* 31 */ -/* 1246 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 1248 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1250 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1252 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 1254 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 1256 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1258 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1260 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1262 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter modelChange */ - -/* 1264 */ NdrFcShort( 0x6113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=24 */ -/* 1266 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 1268 */ NdrFcShort( 0x7c ), /* Type Offset=124 */ - - /* Return value */ - -/* 1270 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 1272 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 1274 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - 0x0 - } - }; - -static const AccessibleTable_MIDL_TYPE_FORMAT_STRING AccessibleTable__MIDL_TypeFormatString = - { - 0, - { - NdrFcShort( 0x0 ), /* 0 */ -/* 2 */ - 0x11, 0x10, /* FC_RP [pointer_deref] */ -/* 4 */ NdrFcShort( 0x2 ), /* Offset= 2 (6) */ -/* 6 */ - 0x2f, /* FC_IP */ - 0x5a, /* FC_CONSTANT_IID */ -/* 8 */ NdrFcLong( 0x0 ), /* 0 */ -/* 12 */ NdrFcShort( 0x0 ), /* 0 */ -/* 14 */ NdrFcShort( 0x0 ), /* 0 */ -/* 16 */ 0xc0, /* 192 */ - 0x0, /* 0 */ -/* 18 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 20 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 22 */ 0x0, /* 0 */ - 0x46, /* 70 */ -/* 24 */ - 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */ -/* 26 */ 0x8, /* FC_LONG */ - 0x5c, /* FC_PAD */ -/* 28 */ - 0x11, 0x4, /* FC_RP [alloced_on_stack] */ -/* 30 */ NdrFcShort( 0x1c ), /* Offset= 28 (58) */ -/* 32 */ - 0x13, 0x0, /* FC_OP */ -/* 34 */ NdrFcShort( 0xe ), /* Offset= 14 (48) */ -/* 36 */ - 0x1b, /* FC_CARRAY */ - 0x1, /* 1 */ -/* 38 */ NdrFcShort( 0x2 ), /* 2 */ -/* 40 */ 0x9, /* Corr desc: FC_ULONG */ - 0x0, /* */ -/* 42 */ NdrFcShort( 0xfffc ), /* -4 */ -/* 44 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 46 */ 0x6, /* FC_SHORT */ - 0x5b, /* FC_END */ -/* 48 */ - 0x17, /* FC_CSTRUCT */ - 0x3, /* 3 */ -/* 50 */ NdrFcShort( 0x8 ), /* 8 */ -/* 52 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (36) */ -/* 54 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 56 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 58 */ 0xb4, /* FC_USER_MARSHAL */ - 0x83, /* 131 */ -/* 60 */ NdrFcShort( 0x0 ), /* 0 */ -/* 62 */ NdrFcShort( 0x8 ), /* 8 */ -/* 64 */ NdrFcShort( 0x0 ), /* 0 */ -/* 66 */ NdrFcShort( 0xffde ), /* Offset= -34 (32) */ -/* 68 */ - 0x11, 0x10, /* FC_RP [pointer_deref] */ -/* 70 */ NdrFcShort( 0x2 ), /* Offset= 2 (72) */ -/* 72 */ - 0x2f, /* FC_IP */ - 0x5a, /* FC_CONSTANT_IID */ -/* 74 */ NdrFcLong( 0x35ad8070 ), /* 900563056 */ -/* 78 */ NdrFcShort( 0xc20c ), /* -15860 */ -/* 80 */ NdrFcShort( 0x4fb4 ), /* 20404 */ -/* 82 */ 0xb0, /* 176 */ - 0x94, /* 148 */ -/* 84 */ 0xf4, /* 244 */ - 0xf7, /* 247 */ -/* 86 */ 0x27, /* 39 */ - 0x5d, /* 93 */ -/* 88 */ 0xd4, /* 212 */ - 0x69, /* 105 */ -/* 90 */ - 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */ -/* 92 */ NdrFcShort( 0x2 ), /* Offset= 2 (94) */ -/* 94 */ - 0x13, 0x0, /* FC_OP */ -/* 96 */ NdrFcShort( 0x2 ), /* Offset= 2 (98) */ -/* 98 */ - 0x1c, /* FC_CVARRAY */ - 0x3, /* 3 */ -/* 100 */ NdrFcShort( 0x4 ), /* 4 */ -/* 102 */ 0x28, /* Corr desc: parameter, FC_LONG */ - 0x0, /* */ -/* 104 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 106 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 108 */ 0x28, /* Corr desc: parameter, FC_LONG */ - 0x54, /* FC_DEREFERENCE */ -/* 110 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 112 */ NdrFcShort( 0x0 ), /* Corr flags: */ -/* 114 */ 0x8, /* FC_LONG */ - 0x5b, /* FC_END */ -/* 116 */ - 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */ -/* 118 */ 0x3, /* FC_SMALL */ - 0x5c, /* FC_PAD */ -/* 120 */ - 0x11, 0x4, /* FC_RP [alloced_on_stack] */ -/* 122 */ NdrFcShort( 0x2 ), /* Offset= 2 (124) */ -/* 124 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 126 */ NdrFcShort( 0x14 ), /* 20 */ -/* 128 */ NdrFcShort( 0x0 ), /* 0 */ -/* 130 */ NdrFcShort( 0x0 ), /* Offset= 0 (130) */ -/* 132 */ 0xd, /* FC_ENUM16 */ - 0x8, /* FC_LONG */ -/* 134 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 136 */ 0x8, /* FC_LONG */ - 0x5b, /* FC_END */ - - 0x0 - } - }; - -static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] = - { - - { - BSTR_UserSize - ,BSTR_UserMarshal - ,BSTR_UserUnmarshal - ,BSTR_UserFree - } - - }; - - - -/* Object interface: IUnknown, ver. 0.0, - GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */ - - -/* Object interface: IAccessibleTable, ver. 0.0, - GUID={0x35AD8070,0xC20C,0x4fb4,{0xB0,0x94,0xF4,0xF7,0x27,0x5D,0xD4,0x69}} */ - -#pragma code_seg(".orpc") -static const unsigned short IAccessibleTable_FormatStringOffsetTable[] = - { - 0, - 50, - 88, - 138, - 182, - 232, - 276, - 320, - 358, - 396, - 434, - 472, - 510, - 554, - 604, - 648, - 692, - 742, - 792, - 842, - 880, - 924, - 968, - 1018, - 1056, - 1094, - 1132, - 1170, - 1238 - }; - -static const MIDL_STUBLESS_PROXY_INFO IAccessibleTable_ProxyInfo = - { - &Object_StubDesc, - AccessibleTable__MIDL_ProcFormatString.Format, - &IAccessibleTable_FormatStringOffsetTable[-3], - 0, - 0, - 0 - }; - - -static const MIDL_SERVER_INFO IAccessibleTable_ServerInfo = - { - &Object_StubDesc, - 0, - AccessibleTable__MIDL_ProcFormatString.Format, - &IAccessibleTable_FormatStringOffsetTable[-3], - 0, - 0, - 0, - 0}; -CINTERFACE_PROXY_VTABLE(32) _IAccessibleTableProxyVtbl = -{ - &IAccessibleTable_ProxyInfo, - &IID_IAccessibleTable, - IUnknown_QueryInterface_Proxy, - IUnknown_AddRef_Proxy, - IUnknown_Release_Proxy , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_accessibleAt */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_caption */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_childIndex */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_columnDescription */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_columnExtentAt */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_columnHeader */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_columnIndex */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_nColumns */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_nRows */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_nSelectedChildren */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_nSelectedColumns */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_nSelectedRows */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_rowDescription */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_rowExtentAt */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_rowHeader */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_rowIndex */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_selectedChildren */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_selectedColumns */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_selectedRows */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_summary */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_isColumnSelected */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_isRowSelected */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_isSelected */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::selectRow */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::selectColumn */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::unselectRow */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::unselectColumn */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_rowColumnExtentsAtIndex */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_modelChange */ -}; - -const CInterfaceStubVtbl _IAccessibleTableStubVtbl = -{ - &IID_IAccessibleTable, - &IAccessibleTable_ServerInfo, - 32, - 0, /* pure interpreted */ - CStdStubBuffer_METHODS -}; - -static const MIDL_STUB_DESC Object_StubDesc = - { - 0, - NdrOleAllocate, - NdrOleFree, - 0, - 0, - 0, - 0, - 0, - AccessibleTable__MIDL_TypeFormatString.Format, - 1, /* -error bounds_check flag */ - 0x50002, /* Ndr library version */ - 0, - 0x700022b, /* MIDL Version 7.0.555 */ - 0, - UserMarshalRoutines, - 0, /* notify & notify_flag routine table */ - 0x1, /* MIDL flag */ - 0, /* cs routines */ - 0, /* proxy/server info */ - 0 - }; - -const CInterfaceProxyVtbl * const _AccessibleTable_ProxyVtblList[] = -{ - ( CInterfaceProxyVtbl *) &_IAccessibleTableProxyVtbl, - 0 -}; - -const CInterfaceStubVtbl * const _AccessibleTable_StubVtblList[] = -{ - ( CInterfaceStubVtbl *) &_IAccessibleTableStubVtbl, - 0 -}; - -PCInterfaceName const _AccessibleTable_InterfaceNamesList[] = -{ - "IAccessibleTable", - 0 -}; - - -#define _AccessibleTable_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleTable, pIID, n) - -int __stdcall _AccessibleTable_IID_Lookup( const IID * pIID, int * pIndex ) -{ - - if(!_AccessibleTable_CHECK_IID(0)) - { - *pIndex = 0; - return 1; - } - - return 0; -} - -const ExtendedProxyFileInfo AccessibleTable_ProxyFileInfo = -{ - (PCInterfaceProxyVtblList *) & _AccessibleTable_ProxyVtblList, - (PCInterfaceStubVtblList *) & _AccessibleTable_StubVtblList, - (const PCInterfaceName * ) & _AccessibleTable_InterfaceNamesList, - 0, /* no delegation */ - & _AccessibleTable_IID_Lookup, - 1, - 2, - 0, /* table of [async_uuid] interfaces */ - 0, /* Filler1 */ - 0, /* Filler2 */ - 0 /* Filler3 */ -}; -#if _MSC_VER >= 1200 -#pragma warning(pop) -#endif - - -#endif /* defined(_M_AMD64)*/ - diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleText.h b/src/3rdparty/iaccessible2/generated/amd64/AccessibleText.h deleted file mode 100644 index 9b9119629d..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleText.h +++ /dev/null @@ -1,435 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:54:00 2012 - */ -/* Compiler settings for AccessibleText.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the <rpcndr.h> version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of <rpcndr.h> -#endif // __RPCNDR_H_VERSION__ - -#ifndef COM_NO_WINDOWS_H -#include "windows.h" -#include "ole2.h" -#endif /*COM_NO_WINDOWS_H*/ - -#ifndef __AccessibleText_h__ -#define __AccessibleText_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -#ifndef __IAccessibleText_FWD_DEFINED__ -#define __IAccessibleText_FWD_DEFINED__ -typedef interface IAccessibleText IAccessibleText; -#endif /* __IAccessibleText_FWD_DEFINED__ */ - - -/* header files for imported files */ -#include "objidl.h" -#include "oaidl.h" -#include "oleacc.h" -#include "IA2CommonTypes.h" - -#ifdef __cplusplus -extern "C"{ -#endif - - -/* interface __MIDL_itf_AccessibleText_0000_0000 */ -/* [local] */ - -typedef struct IA2TextSegment - { - BSTR text; - long start; - long end; - } IA2TextSegment; - - -enum IA2TextBoundaryType - { IA2_TEXT_BOUNDARY_CHAR = 0, - IA2_TEXT_BOUNDARY_WORD = ( IA2_TEXT_BOUNDARY_CHAR + 1 ) , - IA2_TEXT_BOUNDARY_SENTENCE = ( IA2_TEXT_BOUNDARY_WORD + 1 ) , - IA2_TEXT_BOUNDARY_PARAGRAPH = ( IA2_TEXT_BOUNDARY_SENTENCE + 1 ) , - IA2_TEXT_BOUNDARY_LINE = ( IA2_TEXT_BOUNDARY_PARAGRAPH + 1 ) , - IA2_TEXT_BOUNDARY_ALL = ( IA2_TEXT_BOUNDARY_LINE + 1 ) - } ; - - -extern RPC_IF_HANDLE __MIDL_itf_AccessibleText_0000_0000_v0_0_c_ifspec; -extern RPC_IF_HANDLE __MIDL_itf_AccessibleText_0000_0000_v0_0_s_ifspec; - -#ifndef __IAccessibleText_INTERFACE_DEFINED__ -#define __IAccessibleText_INTERFACE_DEFINED__ - -/* interface IAccessibleText */ -/* [uuid][object] */ - - -EXTERN_C const IID IID_IAccessibleText; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("24FD2FFB-3AAD-4a08-8335-A3AD89C0FB4B") - IAccessibleText : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE addSelection( - /* [in] */ long startOffset, - /* [in] */ long endOffset) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_attributes( - /* [in] */ long offset, - /* [out] */ long *startOffset, - /* [out] */ long *endOffset, - /* [retval][out] */ BSTR *textAttributes) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_caretOffset( - /* [retval][out] */ long *offset) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_characterExtents( - /* [in] */ long offset, - /* [in] */ enum IA2CoordinateType coordType, - /* [out] */ long *x, - /* [out] */ long *y, - /* [out] */ long *width, - /* [retval][out] */ long *height) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelections( - /* [retval][out] */ long *nSelections) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_offsetAtPoint( - /* [in] */ long x, - /* [in] */ long y, - /* [in] */ enum IA2CoordinateType coordType, - /* [retval][out] */ long *offset) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selection( - /* [in] */ long selectionIndex, - /* [out] */ long *startOffset, - /* [retval][out] */ long *endOffset) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_text( - /* [in] */ long startOffset, - /* [in] */ long endOffset, - /* [retval][out] */ BSTR *text) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_textBeforeOffset( - /* [in] */ long offset, - /* [in] */ enum IA2TextBoundaryType boundaryType, - /* [out] */ long *startOffset, - /* [out] */ long *endOffset, - /* [retval][out] */ BSTR *text) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_textAfterOffset( - /* [in] */ long offset, - /* [in] */ enum IA2TextBoundaryType boundaryType, - /* [out] */ long *startOffset, - /* [out] */ long *endOffset, - /* [retval][out] */ BSTR *text) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_textAtOffset( - /* [in] */ long offset, - /* [in] */ enum IA2TextBoundaryType boundaryType, - /* [out] */ long *startOffset, - /* [out] */ long *endOffset, - /* [retval][out] */ BSTR *text) = 0; - - virtual HRESULT STDMETHODCALLTYPE removeSelection( - /* [in] */ long selectionIndex) = 0; - - virtual HRESULT STDMETHODCALLTYPE setCaretOffset( - /* [in] */ long offset) = 0; - - virtual HRESULT STDMETHODCALLTYPE setSelection( - /* [in] */ long selectionIndex, - /* [in] */ long startOffset, - /* [in] */ long endOffset) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nCharacters( - /* [retval][out] */ long *nCharacters) = 0; - - virtual HRESULT STDMETHODCALLTYPE scrollSubstringTo( - /* [in] */ long startIndex, - /* [in] */ long endIndex, - /* [in] */ enum IA2ScrollType scrollType) = 0; - - virtual HRESULT STDMETHODCALLTYPE scrollSubstringToPoint( - /* [in] */ long startIndex, - /* [in] */ long endIndex, - /* [in] */ enum IA2CoordinateType coordinateType, - /* [in] */ long x, - /* [in] */ long y) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_newText( - /* [retval][out] */ IA2TextSegment *newText) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_oldText( - /* [retval][out] */ IA2TextSegment *oldText) = 0; - - }; - -#else /* C style interface */ - - typedef struct IAccessibleTextVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IAccessibleText * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IAccessibleText * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IAccessibleText * This); - - HRESULT ( STDMETHODCALLTYPE *addSelection )( - IAccessibleText * This, - /* [in] */ long startOffset, - /* [in] */ long endOffset); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )( - IAccessibleText * This, - /* [in] */ long offset, - /* [out] */ long *startOffset, - /* [out] */ long *endOffset, - /* [retval][out] */ BSTR *textAttributes); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caretOffset )( - IAccessibleText * This, - /* [retval][out] */ long *offset); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_characterExtents )( - IAccessibleText * This, - /* [in] */ long offset, - /* [in] */ enum IA2CoordinateType coordType, - /* [out] */ long *x, - /* [out] */ long *y, - /* [out] */ long *width, - /* [retval][out] */ long *height); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelections )( - IAccessibleText * This, - /* [retval][out] */ long *nSelections); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetAtPoint )( - IAccessibleText * This, - /* [in] */ long x, - /* [in] */ long y, - /* [in] */ enum IA2CoordinateType coordType, - /* [retval][out] */ long *offset); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selection )( - IAccessibleText * This, - /* [in] */ long selectionIndex, - /* [out] */ long *startOffset, - /* [retval][out] */ long *endOffset); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_text )( - IAccessibleText * This, - /* [in] */ long startOffset, - /* [in] */ long endOffset, - /* [retval][out] */ BSTR *text); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textBeforeOffset )( - IAccessibleText * This, - /* [in] */ long offset, - /* [in] */ enum IA2TextBoundaryType boundaryType, - /* [out] */ long *startOffset, - /* [out] */ long *endOffset, - /* [retval][out] */ BSTR *text); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAfterOffset )( - IAccessibleText * This, - /* [in] */ long offset, - /* [in] */ enum IA2TextBoundaryType boundaryType, - /* [out] */ long *startOffset, - /* [out] */ long *endOffset, - /* [retval][out] */ BSTR *text); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAtOffset )( - IAccessibleText * This, - /* [in] */ long offset, - /* [in] */ enum IA2TextBoundaryType boundaryType, - /* [out] */ long *startOffset, - /* [out] */ long *endOffset, - /* [retval][out] */ BSTR *text); - - HRESULT ( STDMETHODCALLTYPE *removeSelection )( - IAccessibleText * This, - /* [in] */ long selectionIndex); - - HRESULT ( STDMETHODCALLTYPE *setCaretOffset )( - IAccessibleText * This, - /* [in] */ long offset); - - HRESULT ( STDMETHODCALLTYPE *setSelection )( - IAccessibleText * This, - /* [in] */ long selectionIndex, - /* [in] */ long startOffset, - /* [in] */ long endOffset); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nCharacters )( - IAccessibleText * This, - /* [retval][out] */ long *nCharacters); - - HRESULT ( STDMETHODCALLTYPE *scrollSubstringTo )( - IAccessibleText * This, - /* [in] */ long startIndex, - /* [in] */ long endIndex, - /* [in] */ enum IA2ScrollType scrollType); - - HRESULT ( STDMETHODCALLTYPE *scrollSubstringToPoint )( - IAccessibleText * This, - /* [in] */ long startIndex, - /* [in] */ long endIndex, - /* [in] */ enum IA2CoordinateType coordinateType, - /* [in] */ long x, - /* [in] */ long y); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_newText )( - IAccessibleText * This, - /* [retval][out] */ IA2TextSegment *newText); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_oldText )( - IAccessibleText * This, - /* [retval][out] */ IA2TextSegment *oldText); - - END_INTERFACE - } IAccessibleTextVtbl; - - interface IAccessibleText - { - CONST_VTBL struct IAccessibleTextVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IAccessibleText_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IAccessibleText_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IAccessibleText_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IAccessibleText_addSelection(This,startOffset,endOffset) \ - ( (This)->lpVtbl -> addSelection(This,startOffset,endOffset) ) - -#define IAccessibleText_get_attributes(This,offset,startOffset,endOffset,textAttributes) \ - ( (This)->lpVtbl -> get_attributes(This,offset,startOffset,endOffset,textAttributes) ) - -#define IAccessibleText_get_caretOffset(This,offset) \ - ( (This)->lpVtbl -> get_caretOffset(This,offset) ) - -#define IAccessibleText_get_characterExtents(This,offset,coordType,x,y,width,height) \ - ( (This)->lpVtbl -> get_characterExtents(This,offset,coordType,x,y,width,height) ) - -#define IAccessibleText_get_nSelections(This,nSelections) \ - ( (This)->lpVtbl -> get_nSelections(This,nSelections) ) - -#define IAccessibleText_get_offsetAtPoint(This,x,y,coordType,offset) \ - ( (This)->lpVtbl -> get_offsetAtPoint(This,x,y,coordType,offset) ) - -#define IAccessibleText_get_selection(This,selectionIndex,startOffset,endOffset) \ - ( (This)->lpVtbl -> get_selection(This,selectionIndex,startOffset,endOffset) ) - -#define IAccessibleText_get_text(This,startOffset,endOffset,text) \ - ( (This)->lpVtbl -> get_text(This,startOffset,endOffset,text) ) - -#define IAccessibleText_get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) \ - ( (This)->lpVtbl -> get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) ) - -#define IAccessibleText_get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) \ - ( (This)->lpVtbl -> get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) ) - -#define IAccessibleText_get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) \ - ( (This)->lpVtbl -> get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) ) - -#define IAccessibleText_removeSelection(This,selectionIndex) \ - ( (This)->lpVtbl -> removeSelection(This,selectionIndex) ) - -#define IAccessibleText_setCaretOffset(This,offset) \ - ( (This)->lpVtbl -> setCaretOffset(This,offset) ) - -#define IAccessibleText_setSelection(This,selectionIndex,startOffset,endOffset) \ - ( (This)->lpVtbl -> setSelection(This,selectionIndex,startOffset,endOffset) ) - -#define IAccessibleText_get_nCharacters(This,nCharacters) \ - ( (This)->lpVtbl -> get_nCharacters(This,nCharacters) ) - -#define IAccessibleText_scrollSubstringTo(This,startIndex,endIndex,scrollType) \ - ( (This)->lpVtbl -> scrollSubstringTo(This,startIndex,endIndex,scrollType) ) - -#define IAccessibleText_scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) \ - ( (This)->lpVtbl -> scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) ) - -#define IAccessibleText_get_newText(This,newText) \ - ( (This)->lpVtbl -> get_newText(This,newText) ) - -#define IAccessibleText_get_oldText(This,oldText) \ - ( (This)->lpVtbl -> get_oldText(This,oldText) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IAccessibleText_INTERFACE_DEFINED__ */ - - -/* Additional Prototypes for ALL interfaces */ - -unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * ); -unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * ); -unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); -void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * ); - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleText_i.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleText_i.c deleted file mode 100644 index 564c790b78..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleText_i.c +++ /dev/null @@ -1,79 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */ - -/* link this file in with the server and any clients */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:54:00 2012 - */ -/* Compiler settings for AccessibleText.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -#ifdef __cplusplus -extern "C"{ -#endif - - -#include <rpc.h> -#include <rpcndr.h> - -#ifdef _MIDL_USE_GUIDDEF_ - -#ifndef INITGUID -#define INITGUID -#include <guiddef.h> -#undef INITGUID -#else -#include <guiddef.h> -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) - -#else // !_MIDL_USE_GUIDDEF_ - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - -typedef struct _IID -{ - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; -} IID; - -#endif // __IID_DEFINED__ - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED -typedef IID CLSID; -#endif // CLSID_DEFINED - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} - -#endif !_MIDL_USE_GUIDDEF_ - -MIDL_DEFINE_GUID(IID, IID_IAccessibleText,0x24FD2FFB,0x3AAD,0x4a08,0x83,0x35,0xA3,0xAD,0x89,0xC0,0xFB,0x4B); - -#undef MIDL_DEFINE_GUID - -#ifdef __cplusplus -} -#endif - - - diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleText_p.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleText_p.c deleted file mode 100644 index b2512f74ef..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleText_p.c +++ /dev/null @@ -1,1203 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the proxy stub code */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:54:00 2012 - */ -/* Compiler settings for AccessibleText.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#if defined(_M_AMD64) - - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ -#if _MSC_VER >= 1200 -#pragma warning(push) -#endif - -#pragma warning( disable: 4211 ) /* redefine extern to static */ -#pragma warning( disable: 4232 ) /* dllimport identity*/ -#pragma warning( disable: 4024 ) /* array to pointer mapping*/ -#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */ - -#define USE_STUBLESS_PROXY - - -/* verify that the <rpcproxy.h> version is high enough to compile this file*/ -#ifndef __REDQ_RPCPROXY_H_VERSION__ -#define __REQUIRED_RPCPROXY_H_VERSION__ 475 -#endif - - -#include "rpcproxy.h" -#ifndef __RPCPROXY_H_VERSION__ -#error this stub requires an updated version of <rpcproxy.h> -#endif /* __RPCPROXY_H_VERSION__ */ - - -#include "AccessibleText.h" - -#define TYPE_FORMAT_STRING_SIZE 67 -#define PROC_FORMAT_STRING_SIZE 939 -#define EXPR_FORMAT_STRING_SIZE 1 -#define TRANSMIT_AS_TABLE_SIZE 0 -#define WIRE_MARSHAL_TABLE_SIZE 1 - -typedef struct _AccessibleText_MIDL_TYPE_FORMAT_STRING - { - short Pad; - unsigned char Format[ TYPE_FORMAT_STRING_SIZE ]; - } AccessibleText_MIDL_TYPE_FORMAT_STRING; - -typedef struct _AccessibleText_MIDL_PROC_FORMAT_STRING - { - short Pad; - unsigned char Format[ PROC_FORMAT_STRING_SIZE ]; - } AccessibleText_MIDL_PROC_FORMAT_STRING; - -typedef struct _AccessibleText_MIDL_EXPR_FORMAT_STRING - { - long Pad; - unsigned char Format[ EXPR_FORMAT_STRING_SIZE ]; - } AccessibleText_MIDL_EXPR_FORMAT_STRING; - - -static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax = -{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}}; - - -extern const AccessibleText_MIDL_TYPE_FORMAT_STRING AccessibleText__MIDL_TypeFormatString; -extern const AccessibleText_MIDL_PROC_FORMAT_STRING AccessibleText__MIDL_ProcFormatString; -extern const AccessibleText_MIDL_EXPR_FORMAT_STRING AccessibleText__MIDL_ExprFormatString; - - -extern const MIDL_STUB_DESC Object_StubDesc; - - -extern const MIDL_SERVER_INFO IAccessibleText_ServerInfo; -extern const MIDL_STUBLESS_PROXY_INFO IAccessibleText_ProxyInfo; - - -extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ]; - -#if !defined(__RPC_WIN64__) -#error Invalid build platform for this stub. -#endif - -static const AccessibleText_MIDL_PROC_FORMAT_STRING AccessibleText__MIDL_ProcFormatString = - { - 0, - { - - /* Procedure addSelection */ - - 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 2 */ NdrFcLong( 0x0 ), /* 0 */ -/* 6 */ NdrFcShort( 0x3 ), /* 3 */ -/* 8 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 10 */ NdrFcShort( 0x10 ), /* 16 */ -/* 12 */ NdrFcShort( 0x8 ), /* 8 */ -/* 14 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x3, /* 3 */ -/* 16 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 18 */ NdrFcShort( 0x0 ), /* 0 */ -/* 20 */ NdrFcShort( 0x0 ), /* 0 */ -/* 22 */ NdrFcShort( 0x0 ), /* 0 */ -/* 24 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter startOffset */ - -/* 26 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 28 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 30 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter endOffset */ - -/* 32 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 34 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 36 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 38 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 40 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 42 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_attributes */ - -/* 44 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 46 */ NdrFcLong( 0x0 ), /* 0 */ -/* 50 */ NdrFcShort( 0x4 ), /* 4 */ -/* 52 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */ -/* 54 */ NdrFcShort( 0x8 ), /* 8 */ -/* 56 */ NdrFcShort( 0x40 ), /* 64 */ -/* 58 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x5, /* 5 */ -/* 60 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 62 */ NdrFcShort( 0x1 ), /* 1 */ -/* 64 */ NdrFcShort( 0x0 ), /* 0 */ -/* 66 */ NdrFcShort( 0x0 ), /* 0 */ -/* 68 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter offset */ - -/* 70 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 72 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 74 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter startOffset */ - -/* 76 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 78 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 80 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter endOffset */ - -/* 82 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 84 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 86 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter textAttributes */ - -/* 88 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 90 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 92 */ NdrFcShort( 0x24 ), /* Type Offset=36 */ - - /* Return value */ - -/* 94 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 96 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ -/* 98 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_caretOffset */ - -/* 100 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 102 */ NdrFcLong( 0x0 ), /* 0 */ -/* 106 */ NdrFcShort( 0x5 ), /* 5 */ -/* 108 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 110 */ NdrFcShort( 0x0 ), /* 0 */ -/* 112 */ NdrFcShort( 0x24 ), /* 36 */ -/* 114 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 116 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 118 */ NdrFcShort( 0x0 ), /* 0 */ -/* 120 */ NdrFcShort( 0x0 ), /* 0 */ -/* 122 */ NdrFcShort( 0x0 ), /* 0 */ -/* 124 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter offset */ - -/* 126 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 128 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 130 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 132 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 134 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 136 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_characterExtents */ - -/* 138 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 140 */ NdrFcLong( 0x0 ), /* 0 */ -/* 144 */ NdrFcShort( 0x6 ), /* 6 */ -/* 146 */ NdrFcShort( 0x40 ), /* X64 Stack size/offset = 64 */ -/* 148 */ NdrFcShort( 0xe ), /* 14 */ -/* 150 */ NdrFcShort( 0x78 ), /* 120 */ -/* 152 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x7, /* 7 */ -/* 154 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 156 */ NdrFcShort( 0x0 ), /* 0 */ -/* 158 */ NdrFcShort( 0x0 ), /* 0 */ -/* 160 */ NdrFcShort( 0x0 ), /* 0 */ -/* 162 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter offset */ - -/* 164 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 166 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 168 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter coordType */ - -/* 170 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 172 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 174 */ 0xd, /* FC_ENUM16 */ - 0x0, /* 0 */ - - /* Parameter x */ - -/* 176 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 178 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 180 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter y */ - -/* 182 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 184 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 186 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter width */ - -/* 188 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 190 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ -/* 192 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter height */ - -/* 194 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 196 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */ -/* 198 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 200 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 202 */ NdrFcShort( 0x38 ), /* X64 Stack size/offset = 56 */ -/* 204 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_nSelections */ - -/* 206 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 208 */ NdrFcLong( 0x0 ), /* 0 */ -/* 212 */ NdrFcShort( 0x7 ), /* 7 */ -/* 214 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 216 */ NdrFcShort( 0x0 ), /* 0 */ -/* 218 */ NdrFcShort( 0x24 ), /* 36 */ -/* 220 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 222 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 224 */ NdrFcShort( 0x0 ), /* 0 */ -/* 226 */ NdrFcShort( 0x0 ), /* 0 */ -/* 228 */ NdrFcShort( 0x0 ), /* 0 */ -/* 230 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter nSelections */ - -/* 232 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 234 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 236 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 238 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 240 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 242 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_offsetAtPoint */ - -/* 244 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 246 */ NdrFcLong( 0x0 ), /* 0 */ -/* 250 */ NdrFcShort( 0x8 ), /* 8 */ -/* 252 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */ -/* 254 */ NdrFcShort( 0x16 ), /* 22 */ -/* 256 */ NdrFcShort( 0x24 ), /* 36 */ -/* 258 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x5, /* 5 */ -/* 260 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 262 */ NdrFcShort( 0x0 ), /* 0 */ -/* 264 */ NdrFcShort( 0x0 ), /* 0 */ -/* 266 */ NdrFcShort( 0x0 ), /* 0 */ -/* 268 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter x */ - -/* 270 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 272 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 274 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter y */ - -/* 276 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 278 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 280 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter coordType */ - -/* 282 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 284 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 286 */ 0xd, /* FC_ENUM16 */ - 0x0, /* 0 */ - - /* Parameter offset */ - -/* 288 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 290 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 292 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 294 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 296 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ -/* 298 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_selection */ - -/* 300 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 302 */ NdrFcLong( 0x0 ), /* 0 */ -/* 306 */ NdrFcShort( 0x9 ), /* 9 */ -/* 308 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ -/* 310 */ NdrFcShort( 0x8 ), /* 8 */ -/* 312 */ NdrFcShort( 0x40 ), /* 64 */ -/* 314 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x4, /* 4 */ -/* 316 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 318 */ NdrFcShort( 0x0 ), /* 0 */ -/* 320 */ NdrFcShort( 0x0 ), /* 0 */ -/* 322 */ NdrFcShort( 0x0 ), /* 0 */ -/* 324 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter selectionIndex */ - -/* 326 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 328 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 330 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter startOffset */ - -/* 332 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 334 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 336 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter endOffset */ - -/* 338 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 340 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 342 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 344 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 346 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 348 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_text */ - -/* 350 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 352 */ NdrFcLong( 0x0 ), /* 0 */ -/* 356 */ NdrFcShort( 0xa ), /* 10 */ -/* 358 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ -/* 360 */ NdrFcShort( 0x10 ), /* 16 */ -/* 362 */ NdrFcShort( 0x8 ), /* 8 */ -/* 364 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x4, /* 4 */ -/* 366 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 368 */ NdrFcShort( 0x1 ), /* 1 */ -/* 370 */ NdrFcShort( 0x0 ), /* 0 */ -/* 372 */ NdrFcShort( 0x0 ), /* 0 */ -/* 374 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter startOffset */ - -/* 376 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 378 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 380 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter endOffset */ - -/* 382 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 384 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 386 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter text */ - -/* 388 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 390 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 392 */ NdrFcShort( 0x24 ), /* Type Offset=36 */ - - /* Return value */ - -/* 394 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 396 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 398 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_textBeforeOffset */ - -/* 400 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 402 */ NdrFcLong( 0x0 ), /* 0 */ -/* 406 */ NdrFcShort( 0xb ), /* 11 */ -/* 408 */ NdrFcShort( 0x38 ), /* X64 Stack size/offset = 56 */ -/* 410 */ NdrFcShort( 0xe ), /* 14 */ -/* 412 */ NdrFcShort( 0x40 ), /* 64 */ -/* 414 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x6, /* 6 */ -/* 416 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 418 */ NdrFcShort( 0x1 ), /* 1 */ -/* 420 */ NdrFcShort( 0x0 ), /* 0 */ -/* 422 */ NdrFcShort( 0x0 ), /* 0 */ -/* 424 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter offset */ - -/* 426 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 428 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 430 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter boundaryType */ - -/* 432 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 434 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 436 */ 0xd, /* FC_ENUM16 */ - 0x0, /* 0 */ - - /* Parameter startOffset */ - -/* 438 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 440 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 442 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter endOffset */ - -/* 444 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 446 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 448 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter text */ - -/* 450 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 452 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ -/* 454 */ NdrFcShort( 0x24 ), /* Type Offset=36 */ - - /* Return value */ - -/* 456 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 458 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */ -/* 460 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_textAfterOffset */ - -/* 462 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 464 */ NdrFcLong( 0x0 ), /* 0 */ -/* 468 */ NdrFcShort( 0xc ), /* 12 */ -/* 470 */ NdrFcShort( 0x38 ), /* X64 Stack size/offset = 56 */ -/* 472 */ NdrFcShort( 0xe ), /* 14 */ -/* 474 */ NdrFcShort( 0x40 ), /* 64 */ -/* 476 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x6, /* 6 */ -/* 478 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 480 */ NdrFcShort( 0x1 ), /* 1 */ -/* 482 */ NdrFcShort( 0x0 ), /* 0 */ -/* 484 */ NdrFcShort( 0x0 ), /* 0 */ -/* 486 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter offset */ - -/* 488 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 490 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 492 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter boundaryType */ - -/* 494 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 496 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 498 */ 0xd, /* FC_ENUM16 */ - 0x0, /* 0 */ - - /* Parameter startOffset */ - -/* 500 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 502 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 504 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter endOffset */ - -/* 506 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 508 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 510 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter text */ - -/* 512 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 514 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ -/* 516 */ NdrFcShort( 0x24 ), /* Type Offset=36 */ - - /* Return value */ - -/* 518 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 520 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */ -/* 522 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_textAtOffset */ - -/* 524 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 526 */ NdrFcLong( 0x0 ), /* 0 */ -/* 530 */ NdrFcShort( 0xd ), /* 13 */ -/* 532 */ NdrFcShort( 0x38 ), /* X64 Stack size/offset = 56 */ -/* 534 */ NdrFcShort( 0xe ), /* 14 */ -/* 536 */ NdrFcShort( 0x40 ), /* 64 */ -/* 538 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x6, /* 6 */ -/* 540 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 542 */ NdrFcShort( 0x1 ), /* 1 */ -/* 544 */ NdrFcShort( 0x0 ), /* 0 */ -/* 546 */ NdrFcShort( 0x0 ), /* 0 */ -/* 548 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter offset */ - -/* 550 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 552 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 554 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter boundaryType */ - -/* 556 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 558 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 560 */ 0xd, /* FC_ENUM16 */ - 0x0, /* 0 */ - - /* Parameter startOffset */ - -/* 562 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 564 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 566 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter endOffset */ - -/* 568 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 570 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 572 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter text */ - -/* 574 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 576 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ -/* 578 */ NdrFcShort( 0x24 ), /* Type Offset=36 */ - - /* Return value */ - -/* 580 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 582 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */ -/* 584 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure removeSelection */ - -/* 586 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 588 */ NdrFcLong( 0x0 ), /* 0 */ -/* 592 */ NdrFcShort( 0xe ), /* 14 */ -/* 594 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 596 */ NdrFcShort( 0x8 ), /* 8 */ -/* 598 */ NdrFcShort( 0x8 ), /* 8 */ -/* 600 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 602 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 604 */ NdrFcShort( 0x0 ), /* 0 */ -/* 606 */ NdrFcShort( 0x0 ), /* 0 */ -/* 608 */ NdrFcShort( 0x0 ), /* 0 */ -/* 610 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter selectionIndex */ - -/* 612 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 614 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 616 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 618 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 620 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 622 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure setCaretOffset */ - -/* 624 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 626 */ NdrFcLong( 0x0 ), /* 0 */ -/* 630 */ NdrFcShort( 0xf ), /* 15 */ -/* 632 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 634 */ NdrFcShort( 0x8 ), /* 8 */ -/* 636 */ NdrFcShort( 0x8 ), /* 8 */ -/* 638 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 640 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 642 */ NdrFcShort( 0x0 ), /* 0 */ -/* 644 */ NdrFcShort( 0x0 ), /* 0 */ -/* 646 */ NdrFcShort( 0x0 ), /* 0 */ -/* 648 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter offset */ - -/* 650 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 652 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 654 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 656 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 658 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 660 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure setSelection */ - -/* 662 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 664 */ NdrFcLong( 0x0 ), /* 0 */ -/* 668 */ NdrFcShort( 0x10 ), /* 16 */ -/* 670 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ -/* 672 */ NdrFcShort( 0x18 ), /* 24 */ -/* 674 */ NdrFcShort( 0x8 ), /* 8 */ -/* 676 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x4, /* 4 */ -/* 678 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 680 */ NdrFcShort( 0x0 ), /* 0 */ -/* 682 */ NdrFcShort( 0x0 ), /* 0 */ -/* 684 */ NdrFcShort( 0x0 ), /* 0 */ -/* 686 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter selectionIndex */ - -/* 688 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 690 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 692 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter startOffset */ - -/* 694 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 696 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 698 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter endOffset */ - -/* 700 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 702 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 704 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 706 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 708 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 710 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_nCharacters */ - -/* 712 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 714 */ NdrFcLong( 0x0 ), /* 0 */ -/* 718 */ NdrFcShort( 0x11 ), /* 17 */ -/* 720 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 722 */ NdrFcShort( 0x0 ), /* 0 */ -/* 724 */ NdrFcShort( 0x24 ), /* 36 */ -/* 726 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 728 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 730 */ NdrFcShort( 0x0 ), /* 0 */ -/* 732 */ NdrFcShort( 0x0 ), /* 0 */ -/* 734 */ NdrFcShort( 0x0 ), /* 0 */ -/* 736 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter nCharacters */ - -/* 738 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 740 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 742 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 744 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 746 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 748 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure scrollSubstringTo */ - -/* 750 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 752 */ NdrFcLong( 0x0 ), /* 0 */ -/* 756 */ NdrFcShort( 0x12 ), /* 18 */ -/* 758 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ -/* 760 */ NdrFcShort( 0x16 ), /* 22 */ -/* 762 */ NdrFcShort( 0x8 ), /* 8 */ -/* 764 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x4, /* 4 */ -/* 766 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 768 */ NdrFcShort( 0x0 ), /* 0 */ -/* 770 */ NdrFcShort( 0x0 ), /* 0 */ -/* 772 */ NdrFcShort( 0x0 ), /* 0 */ -/* 774 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter startIndex */ - -/* 776 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 778 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 780 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter endIndex */ - -/* 782 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 784 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 786 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter scrollType */ - -/* 788 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 790 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 792 */ 0xd, /* FC_ENUM16 */ - 0x0, /* 0 */ - - /* Return value */ - -/* 794 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 796 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 798 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure scrollSubstringToPoint */ - -/* 800 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 802 */ NdrFcLong( 0x0 ), /* 0 */ -/* 806 */ NdrFcShort( 0x13 ), /* 19 */ -/* 808 */ NdrFcShort( 0x38 ), /* X64 Stack size/offset = 56 */ -/* 810 */ NdrFcShort( 0x26 ), /* 38 */ -/* 812 */ NdrFcShort( 0x8 ), /* 8 */ -/* 814 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x6, /* 6 */ -/* 816 */ 0xa, /* 10 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 818 */ NdrFcShort( 0x0 ), /* 0 */ -/* 820 */ NdrFcShort( 0x0 ), /* 0 */ -/* 822 */ NdrFcShort( 0x0 ), /* 0 */ -/* 824 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter startIndex */ - -/* 826 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 828 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 830 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter endIndex */ - -/* 832 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 834 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 836 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter coordinateType */ - -/* 838 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 840 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 842 */ 0xd, /* FC_ENUM16 */ - 0x0, /* 0 */ - - /* Parameter x */ - -/* 844 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 846 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ -/* 848 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter y */ - -/* 850 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 852 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ -/* 854 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 856 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 858 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */ -/* 860 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_newText */ - -/* 862 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 864 */ NdrFcLong( 0x0 ), /* 0 */ -/* 868 */ NdrFcShort( 0x14 ), /* 20 */ -/* 870 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 872 */ NdrFcShort( 0x0 ), /* 0 */ -/* 874 */ NdrFcShort( 0x8 ), /* 8 */ -/* 876 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 878 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 880 */ NdrFcShort( 0x1 ), /* 1 */ -/* 882 */ NdrFcShort( 0x0 ), /* 0 */ -/* 884 */ NdrFcShort( 0x0 ), /* 0 */ -/* 886 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter newText */ - -/* 888 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ -/* 890 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 892 */ NdrFcShort( 0x32 ), /* Type Offset=50 */ - - /* Return value */ - -/* 894 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 896 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 898 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_oldText */ - -/* 900 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 902 */ NdrFcLong( 0x0 ), /* 0 */ -/* 906 */ NdrFcShort( 0x15 ), /* 21 */ -/* 908 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 910 */ NdrFcShort( 0x0 ), /* 0 */ -/* 912 */ NdrFcShort( 0x8 ), /* 8 */ -/* 914 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 916 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 918 */ NdrFcShort( 0x1 ), /* 1 */ -/* 920 */ NdrFcShort( 0x0 ), /* 0 */ -/* 922 */ NdrFcShort( 0x0 ), /* 0 */ -/* 924 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter oldText */ - -/* 926 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ -/* 928 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 930 */ NdrFcShort( 0x32 ), /* Type Offset=50 */ - - /* Return value */ - -/* 932 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 934 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 936 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - 0x0 - } - }; - -static const AccessibleText_MIDL_TYPE_FORMAT_STRING AccessibleText__MIDL_TypeFormatString = - { - 0, - { - NdrFcShort( 0x0 ), /* 0 */ -/* 2 */ - 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */ -/* 4 */ 0x8, /* FC_LONG */ - 0x5c, /* FC_PAD */ -/* 6 */ - 0x11, 0x4, /* FC_RP [alloced_on_stack] */ -/* 8 */ NdrFcShort( 0x1c ), /* Offset= 28 (36) */ -/* 10 */ - 0x13, 0x0, /* FC_OP */ -/* 12 */ NdrFcShort( 0xe ), /* Offset= 14 (26) */ -/* 14 */ - 0x1b, /* FC_CARRAY */ - 0x1, /* 1 */ -/* 16 */ NdrFcShort( 0x2 ), /* 2 */ -/* 18 */ 0x9, /* Corr desc: FC_ULONG */ - 0x0, /* */ -/* 20 */ NdrFcShort( 0xfffc ), /* -4 */ -/* 22 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 24 */ 0x6, /* FC_SHORT */ - 0x5b, /* FC_END */ -/* 26 */ - 0x17, /* FC_CSTRUCT */ - 0x3, /* 3 */ -/* 28 */ NdrFcShort( 0x8 ), /* 8 */ -/* 30 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (14) */ -/* 32 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 34 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 36 */ 0xb4, /* FC_USER_MARSHAL */ - 0x83, /* 131 */ -/* 38 */ NdrFcShort( 0x0 ), /* 0 */ -/* 40 */ NdrFcShort( 0x8 ), /* 8 */ -/* 42 */ NdrFcShort( 0x0 ), /* 0 */ -/* 44 */ NdrFcShort( 0xffde ), /* Offset= -34 (10) */ -/* 46 */ - 0x11, 0x4, /* FC_RP [alloced_on_stack] */ -/* 48 */ NdrFcShort( 0x2 ), /* Offset= 2 (50) */ -/* 50 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 52 */ NdrFcShort( 0x10 ), /* 16 */ -/* 54 */ NdrFcShort( 0x0 ), /* 0 */ -/* 56 */ NdrFcShort( 0x0 ), /* Offset= 0 (56) */ -/* 58 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 60 */ NdrFcShort( 0xffe8 ), /* Offset= -24 (36) */ -/* 62 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 64 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ - - 0x0 - } - }; - -static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] = - { - - { - BSTR_UserSize - ,BSTR_UserMarshal - ,BSTR_UserUnmarshal - ,BSTR_UserFree - } - - }; - - - -/* Standard interface: __MIDL_itf_AccessibleText_0000_0000, ver. 0.0, - GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */ - - -/* Object interface: IUnknown, ver. 0.0, - GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */ - - -/* Object interface: IAccessibleText, ver. 0.0, - GUID={0x24FD2FFB,0x3AAD,0x4a08,{0x83,0x35,0xA3,0xAD,0x89,0xC0,0xFB,0x4B}} */ - -#pragma code_seg(".orpc") -static const unsigned short IAccessibleText_FormatStringOffsetTable[] = - { - 0, - 44, - 100, - 138, - 206, - 244, - 300, - 350, - 400, - 462, - 524, - 586, - 624, - 662, - 712, - 750, - 800, - 862, - 900 - }; - -static const MIDL_STUBLESS_PROXY_INFO IAccessibleText_ProxyInfo = - { - &Object_StubDesc, - AccessibleText__MIDL_ProcFormatString.Format, - &IAccessibleText_FormatStringOffsetTable[-3], - 0, - 0, - 0 - }; - - -static const MIDL_SERVER_INFO IAccessibleText_ServerInfo = - { - &Object_StubDesc, - 0, - AccessibleText__MIDL_ProcFormatString.Format, - &IAccessibleText_FormatStringOffsetTable[-3], - 0, - 0, - 0, - 0}; -CINTERFACE_PROXY_VTABLE(22) _IAccessibleTextProxyVtbl = -{ - &IAccessibleText_ProxyInfo, - &IID_IAccessibleText, - IUnknown_QueryInterface_Proxy, - IUnknown_AddRef_Proxy, - IUnknown_Release_Proxy , - (void *) (INT_PTR) -1 /* IAccessibleText::addSelection */ , - (void *) (INT_PTR) -1 /* IAccessibleText::get_attributes */ , - (void *) (INT_PTR) -1 /* IAccessibleText::get_caretOffset */ , - (void *) (INT_PTR) -1 /* IAccessibleText::get_characterExtents */ , - (void *) (INT_PTR) -1 /* IAccessibleText::get_nSelections */ , - (void *) (INT_PTR) -1 /* IAccessibleText::get_offsetAtPoint */ , - (void *) (INT_PTR) -1 /* IAccessibleText::get_selection */ , - (void *) (INT_PTR) -1 /* IAccessibleText::get_text */ , - (void *) (INT_PTR) -1 /* IAccessibleText::get_textBeforeOffset */ , - (void *) (INT_PTR) -1 /* IAccessibleText::get_textAfterOffset */ , - (void *) (INT_PTR) -1 /* IAccessibleText::get_textAtOffset */ , - (void *) (INT_PTR) -1 /* IAccessibleText::removeSelection */ , - (void *) (INT_PTR) -1 /* IAccessibleText::setCaretOffset */ , - (void *) (INT_PTR) -1 /* IAccessibleText::setSelection */ , - (void *) (INT_PTR) -1 /* IAccessibleText::get_nCharacters */ , - (void *) (INT_PTR) -1 /* IAccessibleText::scrollSubstringTo */ , - (void *) (INT_PTR) -1 /* IAccessibleText::scrollSubstringToPoint */ , - (void *) (INT_PTR) -1 /* IAccessibleText::get_newText */ , - (void *) (INT_PTR) -1 /* IAccessibleText::get_oldText */ -}; - -const CInterfaceStubVtbl _IAccessibleTextStubVtbl = -{ - &IID_IAccessibleText, - &IAccessibleText_ServerInfo, - 22, - 0, /* pure interpreted */ - CStdStubBuffer_METHODS -}; - -static const MIDL_STUB_DESC Object_StubDesc = - { - 0, - NdrOleAllocate, - NdrOleFree, - 0, - 0, - 0, - 0, - 0, - AccessibleText__MIDL_TypeFormatString.Format, - 1, /* -error bounds_check flag */ - 0x50002, /* Ndr library version */ - 0, - 0x700022b, /* MIDL Version 7.0.555 */ - 0, - UserMarshalRoutines, - 0, /* notify & notify_flag routine table */ - 0x1, /* MIDL flag */ - 0, /* cs routines */ - 0, /* proxy/server info */ - 0 - }; - -const CInterfaceProxyVtbl * const _AccessibleText_ProxyVtblList[] = -{ - ( CInterfaceProxyVtbl *) &_IAccessibleTextProxyVtbl, - 0 -}; - -const CInterfaceStubVtbl * const _AccessibleText_StubVtblList[] = -{ - ( CInterfaceStubVtbl *) &_IAccessibleTextStubVtbl, - 0 -}; - -PCInterfaceName const _AccessibleText_InterfaceNamesList[] = -{ - "IAccessibleText", - 0 -}; - - -#define _AccessibleText_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleText, pIID, n) - -int __stdcall _AccessibleText_IID_Lookup( const IID * pIID, int * pIndex ) -{ - - if(!_AccessibleText_CHECK_IID(0)) - { - *pIndex = 0; - return 1; - } - - return 0; -} - -const ExtendedProxyFileInfo AccessibleText_ProxyFileInfo = -{ - (PCInterfaceProxyVtblList *) & _AccessibleText_ProxyVtblList, - (PCInterfaceStubVtblList *) & _AccessibleText_StubVtblList, - (const PCInterfaceName * ) & _AccessibleText_InterfaceNamesList, - 0, /* no delegation */ - & _AccessibleText_IID_Lookup, - 1, - 2, - 0, /* table of [async_uuid] interfaces */ - 0, /* Filler1 */ - 0, /* Filler2 */ - 0 /* Filler3 */ -}; -#if _MSC_VER >= 1200 -#pragma warning(pop) -#endif - - -#endif /* defined(_M_AMD64)*/ - diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleValue.h b/src/3rdparty/iaccessible2/generated/amd64/AccessibleValue.h deleted file mode 100644 index b27f9bb0c2..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleValue.h +++ /dev/null @@ -1,188 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:54:00 2012 - */ -/* Compiler settings for AccessibleValue.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the <rpcndr.h> version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of <rpcndr.h> -#endif // __RPCNDR_H_VERSION__ - -#ifndef COM_NO_WINDOWS_H -#include "windows.h" -#include "ole2.h" -#endif /*COM_NO_WINDOWS_H*/ - -#ifndef __AccessibleValue_h__ -#define __AccessibleValue_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -#ifndef __IAccessibleValue_FWD_DEFINED__ -#define __IAccessibleValue_FWD_DEFINED__ -typedef interface IAccessibleValue IAccessibleValue; -#endif /* __IAccessibleValue_FWD_DEFINED__ */ - - -/* header files for imported files */ -#include "objidl.h" -#include "oaidl.h" -#include "oleacc.h" - -#ifdef __cplusplus -extern "C"{ -#endif - - -#ifndef __IAccessibleValue_INTERFACE_DEFINED__ -#define __IAccessibleValue_INTERFACE_DEFINED__ - -/* interface IAccessibleValue */ -/* [uuid][object] */ - - -EXTERN_C const IID IID_IAccessibleValue; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("35855B5B-C566-4fd0-A7B1-E65465600394") - IAccessibleValue : public IUnknown - { - public: - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentValue( - /* [retval][out] */ VARIANT *currentValue) = 0; - - virtual HRESULT STDMETHODCALLTYPE setCurrentValue( - /* [in] */ VARIANT value) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_maximumValue( - /* [retval][out] */ VARIANT *maximumValue) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_minimumValue( - /* [retval][out] */ VARIANT *minimumValue) = 0; - - }; - -#else /* C style interface */ - - typedef struct IAccessibleValueVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IAccessibleValue * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IAccessibleValue * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IAccessibleValue * This); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentValue )( - IAccessibleValue * This, - /* [retval][out] */ VARIANT *currentValue); - - HRESULT ( STDMETHODCALLTYPE *setCurrentValue )( - IAccessibleValue * This, - /* [in] */ VARIANT value); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_maximumValue )( - IAccessibleValue * This, - /* [retval][out] */ VARIANT *maximumValue); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_minimumValue )( - IAccessibleValue * This, - /* [retval][out] */ VARIANT *minimumValue); - - END_INTERFACE - } IAccessibleValueVtbl; - - interface IAccessibleValue - { - CONST_VTBL struct IAccessibleValueVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IAccessibleValue_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IAccessibleValue_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IAccessibleValue_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IAccessibleValue_get_currentValue(This,currentValue) \ - ( (This)->lpVtbl -> get_currentValue(This,currentValue) ) - -#define IAccessibleValue_setCurrentValue(This,value) \ - ( (This)->lpVtbl -> setCurrentValue(This,value) ) - -#define IAccessibleValue_get_maximumValue(This,maximumValue) \ - ( (This)->lpVtbl -> get_maximumValue(This,maximumValue) ) - -#define IAccessibleValue_get_minimumValue(This,minimumValue) \ - ( (This)->lpVtbl -> get_minimumValue(This,minimumValue) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IAccessibleValue_INTERFACE_DEFINED__ */ - - -/* Additional Prototypes for ALL interfaces */ - -unsigned long __RPC_USER VARIANT_UserSize( unsigned long *, unsigned long , VARIANT * ); -unsigned char * __RPC_USER VARIANT_UserMarshal( unsigned long *, unsigned char *, VARIANT * ); -unsigned char * __RPC_USER VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); -void __RPC_USER VARIANT_UserFree( unsigned long *, VARIANT * ); - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleValue_i.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleValue_i.c deleted file mode 100644 index bc757ff1a1..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleValue_i.c +++ /dev/null @@ -1,79 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */ - -/* link this file in with the server and any clients */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:54:00 2012 - */ -/* Compiler settings for AccessibleValue.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -#ifdef __cplusplus -extern "C"{ -#endif - - -#include <rpc.h> -#include <rpcndr.h> - -#ifdef _MIDL_USE_GUIDDEF_ - -#ifndef INITGUID -#define INITGUID -#include <guiddef.h> -#undef INITGUID -#else -#include <guiddef.h> -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) - -#else // !_MIDL_USE_GUIDDEF_ - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - -typedef struct _IID -{ - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; -} IID; - -#endif // __IID_DEFINED__ - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED -typedef IID CLSID; -#endif // CLSID_DEFINED - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} - -#endif !_MIDL_USE_GUIDDEF_ - -MIDL_DEFINE_GUID(IID, IID_IAccessibleValue,0x35855B5B,0xC566,0x4fd0,0xA7,0xB1,0xE6,0x54,0x65,0x60,0x03,0x94); - -#undef MIDL_DEFINE_GUID - -#ifdef __cplusplus -} -#endif - - - diff --git a/src/3rdparty/iaccessible2/generated/amd64/AccessibleValue_p.c b/src/3rdparty/iaccessible2/generated/amd64/AccessibleValue_p.c deleted file mode 100644 index c3fd72ceb2..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/AccessibleValue_p.c +++ /dev/null @@ -1,1029 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the proxy stub code */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:54:00 2012 - */ -/* Compiler settings for AccessibleValue.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#if defined(_M_AMD64) - - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ -#if _MSC_VER >= 1200 -#pragma warning(push) -#endif - -#pragma warning( disable: 4211 ) /* redefine extern to static */ -#pragma warning( disable: 4232 ) /* dllimport identity*/ -#pragma warning( disable: 4024 ) /* array to pointer mapping*/ -#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */ - -#define USE_STUBLESS_PROXY - - -/* verify that the <rpcproxy.h> version is high enough to compile this file*/ -#ifndef __REDQ_RPCPROXY_H_VERSION__ -#define __REQUIRED_RPCPROXY_H_VERSION__ 475 -#endif - - -#include "rpcproxy.h" -#ifndef __RPCPROXY_H_VERSION__ -#error this stub requires an updated version of <rpcproxy.h> -#endif /* __RPCPROXY_H_VERSION__ */ - - -#include "AccessibleValue.h" - -#define TYPE_FORMAT_STRING_SIZE 1007 -#define PROC_FORMAT_STRING_SIZE 153 -#define EXPR_FORMAT_STRING_SIZE 1 -#define TRANSMIT_AS_TABLE_SIZE 0 -#define WIRE_MARSHAL_TABLE_SIZE 1 - -typedef struct _AccessibleValue_MIDL_TYPE_FORMAT_STRING - { - short Pad; - unsigned char Format[ TYPE_FORMAT_STRING_SIZE ]; - } AccessibleValue_MIDL_TYPE_FORMAT_STRING; - -typedef struct _AccessibleValue_MIDL_PROC_FORMAT_STRING - { - short Pad; - unsigned char Format[ PROC_FORMAT_STRING_SIZE ]; - } AccessibleValue_MIDL_PROC_FORMAT_STRING; - -typedef struct _AccessibleValue_MIDL_EXPR_FORMAT_STRING - { - long Pad; - unsigned char Format[ EXPR_FORMAT_STRING_SIZE ]; - } AccessibleValue_MIDL_EXPR_FORMAT_STRING; - - -static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax = -{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}}; - - -extern const AccessibleValue_MIDL_TYPE_FORMAT_STRING AccessibleValue__MIDL_TypeFormatString; -extern const AccessibleValue_MIDL_PROC_FORMAT_STRING AccessibleValue__MIDL_ProcFormatString; -extern const AccessibleValue_MIDL_EXPR_FORMAT_STRING AccessibleValue__MIDL_ExprFormatString; - - -extern const MIDL_STUB_DESC Object_StubDesc; - - -extern const MIDL_SERVER_INFO IAccessibleValue_ServerInfo; -extern const MIDL_STUBLESS_PROXY_INFO IAccessibleValue_ProxyInfo; - - -extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ]; - -#if !defined(__RPC_WIN64__) -#error Invalid build platform for this stub. -#endif - -static const AccessibleValue_MIDL_PROC_FORMAT_STRING AccessibleValue__MIDL_ProcFormatString = - { - 0, - { - - /* Procedure get_currentValue */ - - 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 2 */ NdrFcLong( 0x0 ), /* 0 */ -/* 6 */ NdrFcShort( 0x3 ), /* 3 */ -/* 8 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 10 */ NdrFcShort( 0x0 ), /* 0 */ -/* 12 */ NdrFcShort( 0x8 ), /* 8 */ -/* 14 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 16 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 18 */ NdrFcShort( 0x1 ), /* 1 */ -/* 20 */ NdrFcShort( 0x0 ), /* 0 */ -/* 22 */ NdrFcShort( 0x0 ), /* 0 */ -/* 24 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter currentValue */ - -/* 26 */ NdrFcShort( 0x6113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=24 */ -/* 28 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 30 */ NdrFcShort( 0x3d2 ), /* Type Offset=978 */ - - /* Return value */ - -/* 32 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 34 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 36 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure setCurrentValue */ - -/* 38 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 40 */ NdrFcLong( 0x0 ), /* 0 */ -/* 44 */ NdrFcShort( 0x4 ), /* 4 */ -/* 46 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 48 */ NdrFcShort( 0x0 ), /* 0 */ -/* 50 */ NdrFcShort( 0x8 ), /* 8 */ -/* 52 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ - 0x2, /* 2 */ -/* 54 */ 0xa, /* 10 */ - 0x85, /* Ext Flags: new corr desc, srv corr check, has big amd64 byval param */ -/* 56 */ NdrFcShort( 0x0 ), /* 0 */ -/* 58 */ NdrFcShort( 0x1 ), /* 1 */ -/* 60 */ NdrFcShort( 0x0 ), /* 0 */ -/* 62 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter value */ - -/* 64 */ NdrFcShort( 0x10b ), /* Flags: must size, must free, in, simple ref, */ -/* 66 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 68 */ NdrFcShort( 0x3e4 ), /* Type Offset=996 */ - - /* Return value */ - -/* 70 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 72 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 74 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_maximumValue */ - -/* 76 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 78 */ NdrFcLong( 0x0 ), /* 0 */ -/* 82 */ NdrFcShort( 0x5 ), /* 5 */ -/* 84 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 86 */ NdrFcShort( 0x0 ), /* 0 */ -/* 88 */ NdrFcShort( 0x8 ), /* 8 */ -/* 90 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 92 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 94 */ NdrFcShort( 0x1 ), /* 1 */ -/* 96 */ NdrFcShort( 0x0 ), /* 0 */ -/* 98 */ NdrFcShort( 0x0 ), /* 0 */ -/* 100 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter maximumValue */ - -/* 102 */ NdrFcShort( 0x6113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=24 */ -/* 104 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 106 */ NdrFcShort( 0x3d2 ), /* Type Offset=978 */ - - /* Return value */ - -/* 108 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 110 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 112 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_minimumValue */ - -/* 114 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 116 */ NdrFcLong( 0x0 ), /* 0 */ -/* 120 */ NdrFcShort( 0x6 ), /* 6 */ -/* 122 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ -/* 124 */ NdrFcShort( 0x0 ), /* 0 */ -/* 126 */ NdrFcShort( 0x8 ), /* 8 */ -/* 128 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 130 */ 0xa, /* 10 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 132 */ NdrFcShort( 0x1 ), /* 1 */ -/* 134 */ NdrFcShort( 0x0 ), /* 0 */ -/* 136 */ NdrFcShort( 0x0 ), /* 0 */ -/* 138 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter minimumValue */ - -/* 140 */ NdrFcShort( 0x6113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=24 */ -/* 142 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ -/* 144 */ NdrFcShort( 0x3d2 ), /* Type Offset=978 */ - - /* Return value */ - -/* 146 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 148 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ -/* 150 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - 0x0 - } - }; - -static const AccessibleValue_MIDL_TYPE_FORMAT_STRING AccessibleValue__MIDL_TypeFormatString = - { - 0, - { - NdrFcShort( 0x0 ), /* 0 */ -/* 2 */ - 0x11, 0x4, /* FC_RP [alloced_on_stack] */ -/* 4 */ NdrFcShort( 0x3ce ), /* Offset= 974 (978) */ -/* 6 */ - 0x13, 0x0, /* FC_OP */ -/* 8 */ NdrFcShort( 0x3b6 ), /* Offset= 950 (958) */ -/* 10 */ - 0x2b, /* FC_NON_ENCAPSULATED_UNION */ - 0x9, /* FC_ULONG */ -/* 12 */ 0x7, /* Corr desc: FC_USHORT */ - 0x0, /* */ -/* 14 */ NdrFcShort( 0xfff8 ), /* -8 */ -/* 16 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 18 */ NdrFcShort( 0x2 ), /* Offset= 2 (20) */ -/* 20 */ NdrFcShort( 0x10 ), /* 16 */ -/* 22 */ NdrFcShort( 0x2f ), /* 47 */ -/* 24 */ NdrFcLong( 0x14 ), /* 20 */ -/* 28 */ NdrFcShort( 0x800b ), /* Simple arm type: FC_HYPER */ -/* 30 */ NdrFcLong( 0x3 ), /* 3 */ -/* 34 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ -/* 36 */ NdrFcLong( 0x11 ), /* 17 */ -/* 40 */ NdrFcShort( 0x8001 ), /* Simple arm type: FC_BYTE */ -/* 42 */ NdrFcLong( 0x2 ), /* 2 */ -/* 46 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */ -/* 48 */ NdrFcLong( 0x4 ), /* 4 */ -/* 52 */ NdrFcShort( 0x800a ), /* Simple arm type: FC_FLOAT */ -/* 54 */ NdrFcLong( 0x5 ), /* 5 */ -/* 58 */ NdrFcShort( 0x800c ), /* Simple arm type: FC_DOUBLE */ -/* 60 */ NdrFcLong( 0xb ), /* 11 */ -/* 64 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */ -/* 66 */ NdrFcLong( 0xa ), /* 10 */ -/* 70 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ -/* 72 */ NdrFcLong( 0x6 ), /* 6 */ -/* 76 */ NdrFcShort( 0xe8 ), /* Offset= 232 (308) */ -/* 78 */ NdrFcLong( 0x7 ), /* 7 */ -/* 82 */ NdrFcShort( 0x800c ), /* Simple arm type: FC_DOUBLE */ -/* 84 */ NdrFcLong( 0x8 ), /* 8 */ -/* 88 */ NdrFcShort( 0xe2 ), /* Offset= 226 (314) */ -/* 90 */ NdrFcLong( 0xd ), /* 13 */ -/* 94 */ NdrFcShort( 0xf6 ), /* Offset= 246 (340) */ -/* 96 */ NdrFcLong( 0x9 ), /* 9 */ -/* 100 */ NdrFcShort( 0x102 ), /* Offset= 258 (358) */ -/* 102 */ NdrFcLong( 0x2000 ), /* 8192 */ -/* 106 */ NdrFcShort( 0x10e ), /* Offset= 270 (376) */ -/* 108 */ NdrFcLong( 0x24 ), /* 36 */ -/* 112 */ NdrFcShort( 0x304 ), /* Offset= 772 (884) */ -/* 114 */ NdrFcLong( 0x4024 ), /* 16420 */ -/* 118 */ NdrFcShort( 0x2fe ), /* Offset= 766 (884) */ -/* 120 */ NdrFcLong( 0x4011 ), /* 16401 */ -/* 124 */ NdrFcShort( 0x2fc ), /* Offset= 764 (888) */ -/* 126 */ NdrFcLong( 0x4002 ), /* 16386 */ -/* 130 */ NdrFcShort( 0x2fa ), /* Offset= 762 (892) */ -/* 132 */ NdrFcLong( 0x4003 ), /* 16387 */ -/* 136 */ NdrFcShort( 0x2f8 ), /* Offset= 760 (896) */ -/* 138 */ NdrFcLong( 0x4014 ), /* 16404 */ -/* 142 */ NdrFcShort( 0x2f6 ), /* Offset= 758 (900) */ -/* 144 */ NdrFcLong( 0x4004 ), /* 16388 */ -/* 148 */ NdrFcShort( 0x2f4 ), /* Offset= 756 (904) */ -/* 150 */ NdrFcLong( 0x4005 ), /* 16389 */ -/* 154 */ NdrFcShort( 0x2f2 ), /* Offset= 754 (908) */ -/* 156 */ NdrFcLong( 0x400b ), /* 16395 */ -/* 160 */ NdrFcShort( 0x2dc ), /* Offset= 732 (892) */ -/* 162 */ NdrFcLong( 0x400a ), /* 16394 */ -/* 166 */ NdrFcShort( 0x2da ), /* Offset= 730 (896) */ -/* 168 */ NdrFcLong( 0x4006 ), /* 16390 */ -/* 172 */ NdrFcShort( 0x2e4 ), /* Offset= 740 (912) */ -/* 174 */ NdrFcLong( 0x4007 ), /* 16391 */ -/* 178 */ NdrFcShort( 0x2da ), /* Offset= 730 (908) */ -/* 180 */ NdrFcLong( 0x4008 ), /* 16392 */ -/* 184 */ NdrFcShort( 0x2dc ), /* Offset= 732 (916) */ -/* 186 */ NdrFcLong( 0x400d ), /* 16397 */ -/* 190 */ NdrFcShort( 0x2da ), /* Offset= 730 (920) */ -/* 192 */ NdrFcLong( 0x4009 ), /* 16393 */ -/* 196 */ NdrFcShort( 0x2d8 ), /* Offset= 728 (924) */ -/* 198 */ NdrFcLong( 0x6000 ), /* 24576 */ -/* 202 */ NdrFcShort( 0x2d6 ), /* Offset= 726 (928) */ -/* 204 */ NdrFcLong( 0x400c ), /* 16396 */ -/* 208 */ NdrFcShort( 0x2d4 ), /* Offset= 724 (932) */ -/* 210 */ NdrFcLong( 0x10 ), /* 16 */ -/* 214 */ NdrFcShort( 0x8002 ), /* Simple arm type: FC_CHAR */ -/* 216 */ NdrFcLong( 0x12 ), /* 18 */ -/* 220 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */ -/* 222 */ NdrFcLong( 0x13 ), /* 19 */ -/* 226 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ -/* 228 */ NdrFcLong( 0x15 ), /* 21 */ -/* 232 */ NdrFcShort( 0x800b ), /* Simple arm type: FC_HYPER */ -/* 234 */ NdrFcLong( 0x16 ), /* 22 */ -/* 238 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ -/* 240 */ NdrFcLong( 0x17 ), /* 23 */ -/* 244 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ -/* 246 */ NdrFcLong( 0xe ), /* 14 */ -/* 250 */ NdrFcShort( 0x2b2 ), /* Offset= 690 (940) */ -/* 252 */ NdrFcLong( 0x400e ), /* 16398 */ -/* 256 */ NdrFcShort( 0x2b6 ), /* Offset= 694 (950) */ -/* 258 */ NdrFcLong( 0x4010 ), /* 16400 */ -/* 262 */ NdrFcShort( 0x2b4 ), /* Offset= 692 (954) */ -/* 264 */ NdrFcLong( 0x4012 ), /* 16402 */ -/* 268 */ NdrFcShort( 0x270 ), /* Offset= 624 (892) */ -/* 270 */ NdrFcLong( 0x4013 ), /* 16403 */ -/* 274 */ NdrFcShort( 0x26e ), /* Offset= 622 (896) */ -/* 276 */ NdrFcLong( 0x4015 ), /* 16405 */ -/* 280 */ NdrFcShort( 0x26c ), /* Offset= 620 (900) */ -/* 282 */ NdrFcLong( 0x4016 ), /* 16406 */ -/* 286 */ NdrFcShort( 0x262 ), /* Offset= 610 (896) */ -/* 288 */ NdrFcLong( 0x4017 ), /* 16407 */ -/* 292 */ NdrFcShort( 0x25c ), /* Offset= 604 (896) */ -/* 294 */ NdrFcLong( 0x0 ), /* 0 */ -/* 298 */ NdrFcShort( 0x0 ), /* Offset= 0 (298) */ -/* 300 */ NdrFcLong( 0x1 ), /* 1 */ -/* 304 */ NdrFcShort( 0x0 ), /* Offset= 0 (304) */ -/* 306 */ NdrFcShort( 0xffff ), /* Offset= -1 (305) */ -/* 308 */ - 0x15, /* FC_STRUCT */ - 0x7, /* 7 */ -/* 310 */ NdrFcShort( 0x8 ), /* 8 */ -/* 312 */ 0xb, /* FC_HYPER */ - 0x5b, /* FC_END */ -/* 314 */ - 0x13, 0x0, /* FC_OP */ -/* 316 */ NdrFcShort( 0xe ), /* Offset= 14 (330) */ -/* 318 */ - 0x1b, /* FC_CARRAY */ - 0x1, /* 1 */ -/* 320 */ NdrFcShort( 0x2 ), /* 2 */ -/* 322 */ 0x9, /* Corr desc: FC_ULONG */ - 0x0, /* */ -/* 324 */ NdrFcShort( 0xfffc ), /* -4 */ -/* 326 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 328 */ 0x6, /* FC_SHORT */ - 0x5b, /* FC_END */ -/* 330 */ - 0x17, /* FC_CSTRUCT */ - 0x3, /* 3 */ -/* 332 */ NdrFcShort( 0x8 ), /* 8 */ -/* 334 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (318) */ -/* 336 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 338 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 340 */ - 0x2f, /* FC_IP */ - 0x5a, /* FC_CONSTANT_IID */ -/* 342 */ NdrFcLong( 0x0 ), /* 0 */ -/* 346 */ NdrFcShort( 0x0 ), /* 0 */ -/* 348 */ NdrFcShort( 0x0 ), /* 0 */ -/* 350 */ 0xc0, /* 192 */ - 0x0, /* 0 */ -/* 352 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 354 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 356 */ 0x0, /* 0 */ - 0x46, /* 70 */ -/* 358 */ - 0x2f, /* FC_IP */ - 0x5a, /* FC_CONSTANT_IID */ -/* 360 */ NdrFcLong( 0x20400 ), /* 132096 */ -/* 364 */ NdrFcShort( 0x0 ), /* 0 */ -/* 366 */ NdrFcShort( 0x0 ), /* 0 */ -/* 368 */ 0xc0, /* 192 */ - 0x0, /* 0 */ -/* 370 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 372 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 374 */ 0x0, /* 0 */ - 0x46, /* 70 */ -/* 376 */ - 0x13, 0x10, /* FC_OP [pointer_deref] */ -/* 378 */ NdrFcShort( 0x2 ), /* Offset= 2 (380) */ -/* 380 */ - 0x13, 0x0, /* FC_OP */ -/* 382 */ NdrFcShort( 0x1e4 ), /* Offset= 484 (866) */ -/* 384 */ - 0x2a, /* FC_ENCAPSULATED_UNION */ - 0x89, /* 137 */ -/* 386 */ NdrFcShort( 0x20 ), /* 32 */ -/* 388 */ NdrFcShort( 0xa ), /* 10 */ -/* 390 */ NdrFcLong( 0x8 ), /* 8 */ -/* 394 */ NdrFcShort( 0x50 ), /* Offset= 80 (474) */ -/* 396 */ NdrFcLong( 0xd ), /* 13 */ -/* 400 */ NdrFcShort( 0x70 ), /* Offset= 112 (512) */ -/* 402 */ NdrFcLong( 0x9 ), /* 9 */ -/* 406 */ NdrFcShort( 0x90 ), /* Offset= 144 (550) */ -/* 408 */ NdrFcLong( 0xc ), /* 12 */ -/* 412 */ NdrFcShort( 0xb0 ), /* Offset= 176 (588) */ -/* 414 */ NdrFcLong( 0x24 ), /* 36 */ -/* 418 */ NdrFcShort( 0x102 ), /* Offset= 258 (676) */ -/* 420 */ NdrFcLong( 0x800d ), /* 32781 */ -/* 424 */ NdrFcShort( 0x11e ), /* Offset= 286 (710) */ -/* 426 */ NdrFcLong( 0x10 ), /* 16 */ -/* 430 */ NdrFcShort( 0x138 ), /* Offset= 312 (742) */ -/* 432 */ NdrFcLong( 0x2 ), /* 2 */ -/* 436 */ NdrFcShort( 0x14e ), /* Offset= 334 (770) */ -/* 438 */ NdrFcLong( 0x3 ), /* 3 */ -/* 442 */ NdrFcShort( 0x164 ), /* Offset= 356 (798) */ -/* 444 */ NdrFcLong( 0x14 ), /* 20 */ -/* 448 */ NdrFcShort( 0x17a ), /* Offset= 378 (826) */ -/* 450 */ NdrFcShort( 0xffff ), /* Offset= -1 (449) */ -/* 452 */ - 0x21, /* FC_BOGUS_ARRAY */ - 0x3, /* 3 */ -/* 454 */ NdrFcShort( 0x0 ), /* 0 */ -/* 456 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 458 */ NdrFcShort( 0x0 ), /* 0 */ -/* 460 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 462 */ NdrFcLong( 0xffffffff ), /* -1 */ -/* 466 */ NdrFcShort( 0x0 ), /* Corr flags: */ -/* 468 */ - 0x13, 0x0, /* FC_OP */ -/* 470 */ NdrFcShort( 0xff74 ), /* Offset= -140 (330) */ -/* 472 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 474 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 476 */ NdrFcShort( 0x10 ), /* 16 */ -/* 478 */ NdrFcShort( 0x0 ), /* 0 */ -/* 480 */ NdrFcShort( 0x6 ), /* Offset= 6 (486) */ -/* 482 */ 0x8, /* FC_LONG */ - 0x40, /* FC_STRUCTPAD4 */ -/* 484 */ 0x36, /* FC_POINTER */ - 0x5b, /* FC_END */ -/* 486 */ - 0x11, 0x0, /* FC_RP */ -/* 488 */ NdrFcShort( 0xffdc ), /* Offset= -36 (452) */ -/* 490 */ - 0x21, /* FC_BOGUS_ARRAY */ - 0x3, /* 3 */ -/* 492 */ NdrFcShort( 0x0 ), /* 0 */ -/* 494 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 496 */ NdrFcShort( 0x0 ), /* 0 */ -/* 498 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 500 */ NdrFcLong( 0xffffffff ), /* -1 */ -/* 504 */ NdrFcShort( 0x0 ), /* Corr flags: */ -/* 506 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 508 */ NdrFcShort( 0xff58 ), /* Offset= -168 (340) */ -/* 510 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 512 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 514 */ NdrFcShort( 0x10 ), /* 16 */ -/* 516 */ NdrFcShort( 0x0 ), /* 0 */ -/* 518 */ NdrFcShort( 0x6 ), /* Offset= 6 (524) */ -/* 520 */ 0x8, /* FC_LONG */ - 0x40, /* FC_STRUCTPAD4 */ -/* 522 */ 0x36, /* FC_POINTER */ - 0x5b, /* FC_END */ -/* 524 */ - 0x11, 0x0, /* FC_RP */ -/* 526 */ NdrFcShort( 0xffdc ), /* Offset= -36 (490) */ -/* 528 */ - 0x21, /* FC_BOGUS_ARRAY */ - 0x3, /* 3 */ -/* 530 */ NdrFcShort( 0x0 ), /* 0 */ -/* 532 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 534 */ NdrFcShort( 0x0 ), /* 0 */ -/* 536 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 538 */ NdrFcLong( 0xffffffff ), /* -1 */ -/* 542 */ NdrFcShort( 0x0 ), /* Corr flags: */ -/* 544 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 546 */ NdrFcShort( 0xff44 ), /* Offset= -188 (358) */ -/* 548 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 550 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 552 */ NdrFcShort( 0x10 ), /* 16 */ -/* 554 */ NdrFcShort( 0x0 ), /* 0 */ -/* 556 */ NdrFcShort( 0x6 ), /* Offset= 6 (562) */ -/* 558 */ 0x8, /* FC_LONG */ - 0x40, /* FC_STRUCTPAD4 */ -/* 560 */ 0x36, /* FC_POINTER */ - 0x5b, /* FC_END */ -/* 562 */ - 0x11, 0x0, /* FC_RP */ -/* 564 */ NdrFcShort( 0xffdc ), /* Offset= -36 (528) */ -/* 566 */ - 0x21, /* FC_BOGUS_ARRAY */ - 0x3, /* 3 */ -/* 568 */ NdrFcShort( 0x0 ), /* 0 */ -/* 570 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 572 */ NdrFcShort( 0x0 ), /* 0 */ -/* 574 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 576 */ NdrFcLong( 0xffffffff ), /* -1 */ -/* 580 */ NdrFcShort( 0x0 ), /* Corr flags: */ -/* 582 */ - 0x13, 0x0, /* FC_OP */ -/* 584 */ NdrFcShort( 0x176 ), /* Offset= 374 (958) */ -/* 586 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 588 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 590 */ NdrFcShort( 0x10 ), /* 16 */ -/* 592 */ NdrFcShort( 0x0 ), /* 0 */ -/* 594 */ NdrFcShort( 0x6 ), /* Offset= 6 (600) */ -/* 596 */ 0x8, /* FC_LONG */ - 0x40, /* FC_STRUCTPAD4 */ -/* 598 */ 0x36, /* FC_POINTER */ - 0x5b, /* FC_END */ -/* 600 */ - 0x11, 0x0, /* FC_RP */ -/* 602 */ NdrFcShort( 0xffdc ), /* Offset= -36 (566) */ -/* 604 */ - 0x2f, /* FC_IP */ - 0x5a, /* FC_CONSTANT_IID */ -/* 606 */ NdrFcLong( 0x2f ), /* 47 */ -/* 610 */ NdrFcShort( 0x0 ), /* 0 */ -/* 612 */ NdrFcShort( 0x0 ), /* 0 */ -/* 614 */ 0xc0, /* 192 */ - 0x0, /* 0 */ -/* 616 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 618 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 620 */ 0x0, /* 0 */ - 0x46, /* 70 */ -/* 622 */ - 0x1b, /* FC_CARRAY */ - 0x0, /* 0 */ -/* 624 */ NdrFcShort( 0x1 ), /* 1 */ -/* 626 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 628 */ NdrFcShort( 0x4 ), /* 4 */ -/* 630 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 632 */ 0x1, /* FC_BYTE */ - 0x5b, /* FC_END */ -/* 634 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 636 */ NdrFcShort( 0x18 ), /* 24 */ -/* 638 */ NdrFcShort( 0x0 ), /* 0 */ -/* 640 */ NdrFcShort( 0xa ), /* Offset= 10 (650) */ -/* 642 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 644 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 646 */ NdrFcShort( 0xffd6 ), /* Offset= -42 (604) */ -/* 648 */ 0x36, /* FC_POINTER */ - 0x5b, /* FC_END */ -/* 650 */ - 0x13, 0x0, /* FC_OP */ -/* 652 */ NdrFcShort( 0xffe2 ), /* Offset= -30 (622) */ -/* 654 */ - 0x21, /* FC_BOGUS_ARRAY */ - 0x3, /* 3 */ -/* 656 */ NdrFcShort( 0x0 ), /* 0 */ -/* 658 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 660 */ NdrFcShort( 0x0 ), /* 0 */ -/* 662 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 664 */ NdrFcLong( 0xffffffff ), /* -1 */ -/* 668 */ NdrFcShort( 0x0 ), /* Corr flags: */ -/* 670 */ - 0x13, 0x0, /* FC_OP */ -/* 672 */ NdrFcShort( 0xffda ), /* Offset= -38 (634) */ -/* 674 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 676 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 678 */ NdrFcShort( 0x10 ), /* 16 */ -/* 680 */ NdrFcShort( 0x0 ), /* 0 */ -/* 682 */ NdrFcShort( 0x6 ), /* Offset= 6 (688) */ -/* 684 */ 0x8, /* FC_LONG */ - 0x40, /* FC_STRUCTPAD4 */ -/* 686 */ 0x36, /* FC_POINTER */ - 0x5b, /* FC_END */ -/* 688 */ - 0x11, 0x0, /* FC_RP */ -/* 690 */ NdrFcShort( 0xffdc ), /* Offset= -36 (654) */ -/* 692 */ - 0x1d, /* FC_SMFARRAY */ - 0x0, /* 0 */ -/* 694 */ NdrFcShort( 0x8 ), /* 8 */ -/* 696 */ 0x1, /* FC_BYTE */ - 0x5b, /* FC_END */ -/* 698 */ - 0x15, /* FC_STRUCT */ - 0x3, /* 3 */ -/* 700 */ NdrFcShort( 0x10 ), /* 16 */ -/* 702 */ 0x8, /* FC_LONG */ - 0x6, /* FC_SHORT */ -/* 704 */ 0x6, /* FC_SHORT */ - 0x4c, /* FC_EMBEDDED_COMPLEX */ -/* 706 */ 0x0, /* 0 */ - NdrFcShort( 0xfff1 ), /* Offset= -15 (692) */ - 0x5b, /* FC_END */ -/* 710 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 712 */ NdrFcShort( 0x20 ), /* 32 */ -/* 714 */ NdrFcShort( 0x0 ), /* 0 */ -/* 716 */ NdrFcShort( 0xa ), /* Offset= 10 (726) */ -/* 718 */ 0x8, /* FC_LONG */ - 0x40, /* FC_STRUCTPAD4 */ -/* 720 */ 0x36, /* FC_POINTER */ - 0x4c, /* FC_EMBEDDED_COMPLEX */ -/* 722 */ 0x0, /* 0 */ - NdrFcShort( 0xffe7 ), /* Offset= -25 (698) */ - 0x5b, /* FC_END */ -/* 726 */ - 0x11, 0x0, /* FC_RP */ -/* 728 */ NdrFcShort( 0xff12 ), /* Offset= -238 (490) */ -/* 730 */ - 0x1b, /* FC_CARRAY */ - 0x0, /* 0 */ -/* 732 */ NdrFcShort( 0x1 ), /* 1 */ -/* 734 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 736 */ NdrFcShort( 0x0 ), /* 0 */ -/* 738 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 740 */ 0x1, /* FC_BYTE */ - 0x5b, /* FC_END */ -/* 742 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 744 */ NdrFcShort( 0x10 ), /* 16 */ -/* 746 */ NdrFcShort( 0x0 ), /* 0 */ -/* 748 */ NdrFcShort( 0x6 ), /* Offset= 6 (754) */ -/* 750 */ 0x8, /* FC_LONG */ - 0x40, /* FC_STRUCTPAD4 */ -/* 752 */ 0x36, /* FC_POINTER */ - 0x5b, /* FC_END */ -/* 754 */ - 0x13, 0x0, /* FC_OP */ -/* 756 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (730) */ -/* 758 */ - 0x1b, /* FC_CARRAY */ - 0x1, /* 1 */ -/* 760 */ NdrFcShort( 0x2 ), /* 2 */ -/* 762 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 764 */ NdrFcShort( 0x0 ), /* 0 */ -/* 766 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 768 */ 0x6, /* FC_SHORT */ - 0x5b, /* FC_END */ -/* 770 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 772 */ NdrFcShort( 0x10 ), /* 16 */ -/* 774 */ NdrFcShort( 0x0 ), /* 0 */ -/* 776 */ NdrFcShort( 0x6 ), /* Offset= 6 (782) */ -/* 778 */ 0x8, /* FC_LONG */ - 0x40, /* FC_STRUCTPAD4 */ -/* 780 */ 0x36, /* FC_POINTER */ - 0x5b, /* FC_END */ -/* 782 */ - 0x13, 0x0, /* FC_OP */ -/* 784 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (758) */ -/* 786 */ - 0x1b, /* FC_CARRAY */ - 0x3, /* 3 */ -/* 788 */ NdrFcShort( 0x4 ), /* 4 */ -/* 790 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 792 */ NdrFcShort( 0x0 ), /* 0 */ -/* 794 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 796 */ 0x8, /* FC_LONG */ - 0x5b, /* FC_END */ -/* 798 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 800 */ NdrFcShort( 0x10 ), /* 16 */ -/* 802 */ NdrFcShort( 0x0 ), /* 0 */ -/* 804 */ NdrFcShort( 0x6 ), /* Offset= 6 (810) */ -/* 806 */ 0x8, /* FC_LONG */ - 0x40, /* FC_STRUCTPAD4 */ -/* 808 */ 0x36, /* FC_POINTER */ - 0x5b, /* FC_END */ -/* 810 */ - 0x13, 0x0, /* FC_OP */ -/* 812 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (786) */ -/* 814 */ - 0x1b, /* FC_CARRAY */ - 0x7, /* 7 */ -/* 816 */ NdrFcShort( 0x8 ), /* 8 */ -/* 818 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 820 */ NdrFcShort( 0x0 ), /* 0 */ -/* 822 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 824 */ 0xb, /* FC_HYPER */ - 0x5b, /* FC_END */ -/* 826 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 828 */ NdrFcShort( 0x10 ), /* 16 */ -/* 830 */ NdrFcShort( 0x0 ), /* 0 */ -/* 832 */ NdrFcShort( 0x6 ), /* Offset= 6 (838) */ -/* 834 */ 0x8, /* FC_LONG */ - 0x40, /* FC_STRUCTPAD4 */ -/* 836 */ 0x36, /* FC_POINTER */ - 0x5b, /* FC_END */ -/* 838 */ - 0x13, 0x0, /* FC_OP */ -/* 840 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (814) */ -/* 842 */ - 0x15, /* FC_STRUCT */ - 0x3, /* 3 */ -/* 844 */ NdrFcShort( 0x8 ), /* 8 */ -/* 846 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 848 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 850 */ - 0x1b, /* FC_CARRAY */ - 0x3, /* 3 */ -/* 852 */ NdrFcShort( 0x8 ), /* 8 */ -/* 854 */ 0x7, /* Corr desc: FC_USHORT */ - 0x0, /* */ -/* 856 */ NdrFcShort( 0xffc8 ), /* -56 */ -/* 858 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 860 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 862 */ NdrFcShort( 0xffec ), /* Offset= -20 (842) */ -/* 864 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 866 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 868 */ NdrFcShort( 0x38 ), /* 56 */ -/* 870 */ NdrFcShort( 0xffec ), /* Offset= -20 (850) */ -/* 872 */ NdrFcShort( 0x0 ), /* Offset= 0 (872) */ -/* 874 */ 0x6, /* FC_SHORT */ - 0x6, /* FC_SHORT */ -/* 876 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 878 */ 0x40, /* FC_STRUCTPAD4 */ - 0x4c, /* FC_EMBEDDED_COMPLEX */ -/* 880 */ 0x0, /* 0 */ - NdrFcShort( 0xfe0f ), /* Offset= -497 (384) */ - 0x5b, /* FC_END */ -/* 884 */ - 0x13, 0x0, /* FC_OP */ -/* 886 */ NdrFcShort( 0xff04 ), /* Offset= -252 (634) */ -/* 888 */ - 0x13, 0x8, /* FC_OP [simple_pointer] */ -/* 890 */ 0x1, /* FC_BYTE */ - 0x5c, /* FC_PAD */ -/* 892 */ - 0x13, 0x8, /* FC_OP [simple_pointer] */ -/* 894 */ 0x6, /* FC_SHORT */ - 0x5c, /* FC_PAD */ -/* 896 */ - 0x13, 0x8, /* FC_OP [simple_pointer] */ -/* 898 */ 0x8, /* FC_LONG */ - 0x5c, /* FC_PAD */ -/* 900 */ - 0x13, 0x8, /* FC_OP [simple_pointer] */ -/* 902 */ 0xb, /* FC_HYPER */ - 0x5c, /* FC_PAD */ -/* 904 */ - 0x13, 0x8, /* FC_OP [simple_pointer] */ -/* 906 */ 0xa, /* FC_FLOAT */ - 0x5c, /* FC_PAD */ -/* 908 */ - 0x13, 0x8, /* FC_OP [simple_pointer] */ -/* 910 */ 0xc, /* FC_DOUBLE */ - 0x5c, /* FC_PAD */ -/* 912 */ - 0x13, 0x0, /* FC_OP */ -/* 914 */ NdrFcShort( 0xfda2 ), /* Offset= -606 (308) */ -/* 916 */ - 0x13, 0x10, /* FC_OP [pointer_deref] */ -/* 918 */ NdrFcShort( 0xfda4 ), /* Offset= -604 (314) */ -/* 920 */ - 0x13, 0x10, /* FC_OP [pointer_deref] */ -/* 922 */ NdrFcShort( 0xfdba ), /* Offset= -582 (340) */ -/* 924 */ - 0x13, 0x10, /* FC_OP [pointer_deref] */ -/* 926 */ NdrFcShort( 0xfdc8 ), /* Offset= -568 (358) */ -/* 928 */ - 0x13, 0x10, /* FC_OP [pointer_deref] */ -/* 930 */ NdrFcShort( 0xfdd6 ), /* Offset= -554 (376) */ -/* 932 */ - 0x13, 0x10, /* FC_OP [pointer_deref] */ -/* 934 */ NdrFcShort( 0x2 ), /* Offset= 2 (936) */ -/* 936 */ - 0x13, 0x0, /* FC_OP */ -/* 938 */ NdrFcShort( 0x14 ), /* Offset= 20 (958) */ -/* 940 */ - 0x15, /* FC_STRUCT */ - 0x7, /* 7 */ -/* 942 */ NdrFcShort( 0x10 ), /* 16 */ -/* 944 */ 0x6, /* FC_SHORT */ - 0x1, /* FC_BYTE */ -/* 946 */ 0x1, /* FC_BYTE */ - 0x8, /* FC_LONG */ -/* 948 */ 0xb, /* FC_HYPER */ - 0x5b, /* FC_END */ -/* 950 */ - 0x13, 0x0, /* FC_OP */ -/* 952 */ NdrFcShort( 0xfff4 ), /* Offset= -12 (940) */ -/* 954 */ - 0x13, 0x8, /* FC_OP [simple_pointer] */ -/* 956 */ 0x2, /* FC_CHAR */ - 0x5c, /* FC_PAD */ -/* 958 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x7, /* 7 */ -/* 960 */ NdrFcShort( 0x20 ), /* 32 */ -/* 962 */ NdrFcShort( 0x0 ), /* 0 */ -/* 964 */ NdrFcShort( 0x0 ), /* Offset= 0 (964) */ -/* 966 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 968 */ 0x6, /* FC_SHORT */ - 0x6, /* FC_SHORT */ -/* 970 */ 0x6, /* FC_SHORT */ - 0x6, /* FC_SHORT */ -/* 972 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 974 */ NdrFcShort( 0xfc3c ), /* Offset= -964 (10) */ -/* 976 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 978 */ 0xb4, /* FC_USER_MARSHAL */ - 0x83, /* 131 */ -/* 980 */ NdrFcShort( 0x0 ), /* 0 */ -/* 982 */ NdrFcShort( 0x18 ), /* 24 */ -/* 984 */ NdrFcShort( 0x0 ), /* 0 */ -/* 986 */ NdrFcShort( 0xfc2c ), /* Offset= -980 (6) */ -/* 988 */ - 0x11, 0x0, /* FC_RP */ -/* 990 */ NdrFcShort( 0x6 ), /* Offset= 6 (996) */ -/* 992 */ - 0x12, 0x0, /* FC_UP */ -/* 994 */ NdrFcShort( 0xffdc ), /* Offset= -36 (958) */ -/* 996 */ 0xb4, /* FC_USER_MARSHAL */ - 0x83, /* 131 */ -/* 998 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1000 */ NdrFcShort( 0x18 ), /* 24 */ -/* 1002 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1004 */ NdrFcShort( 0xfff4 ), /* Offset= -12 (992) */ - - 0x0 - } - }; - -static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] = - { - - { - VARIANT_UserSize - ,VARIANT_UserMarshal - ,VARIANT_UserUnmarshal - ,VARIANT_UserFree - } - - }; - - - -/* Object interface: IUnknown, ver. 0.0, - GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */ - - -/* Object interface: IAccessibleValue, ver. 0.0, - GUID={0x35855B5B,0xC566,0x4fd0,{0xA7,0xB1,0xE6,0x54,0x65,0x60,0x03,0x94}} */ - -#pragma code_seg(".orpc") -static const unsigned short IAccessibleValue_FormatStringOffsetTable[] = - { - 0, - 38, - 76, - 114 - }; - -static const MIDL_STUBLESS_PROXY_INFO IAccessibleValue_ProxyInfo = - { - &Object_StubDesc, - AccessibleValue__MIDL_ProcFormatString.Format, - &IAccessibleValue_FormatStringOffsetTable[-3], - 0, - 0, - 0 - }; - - -static const MIDL_SERVER_INFO IAccessibleValue_ServerInfo = - { - &Object_StubDesc, - 0, - AccessibleValue__MIDL_ProcFormatString.Format, - &IAccessibleValue_FormatStringOffsetTable[-3], - 0, - 0, - 0, - 0}; -CINTERFACE_PROXY_VTABLE(7) _IAccessibleValueProxyVtbl = -{ - &IAccessibleValue_ProxyInfo, - &IID_IAccessibleValue, - IUnknown_QueryInterface_Proxy, - IUnknown_AddRef_Proxy, - IUnknown_Release_Proxy , - (void *) (INT_PTR) -1 /* IAccessibleValue::get_currentValue */ , - (void *) (INT_PTR) -1 /* IAccessibleValue::setCurrentValue */ , - (void *) (INT_PTR) -1 /* IAccessibleValue::get_maximumValue */ , - (void *) (INT_PTR) -1 /* IAccessibleValue::get_minimumValue */ -}; - -const CInterfaceStubVtbl _IAccessibleValueStubVtbl = -{ - &IID_IAccessibleValue, - &IAccessibleValue_ServerInfo, - 7, - 0, /* pure interpreted */ - CStdStubBuffer_METHODS -}; - -static const MIDL_STUB_DESC Object_StubDesc = - { - 0, - NdrOleAllocate, - NdrOleFree, - 0, - 0, - 0, - 0, - 0, - AccessibleValue__MIDL_TypeFormatString.Format, - 1, /* -error bounds_check flag */ - 0x50002, /* Ndr library version */ - 0, - 0x700022b, /* MIDL Version 7.0.555 */ - 0, - UserMarshalRoutines, - 0, /* notify & notify_flag routine table */ - 0x1, /* MIDL flag */ - 0, /* cs routines */ - 0, /* proxy/server info */ - 0 - }; - -const CInterfaceProxyVtbl * const _AccessibleValue_ProxyVtblList[] = -{ - ( CInterfaceProxyVtbl *) &_IAccessibleValueProxyVtbl, - 0 -}; - -const CInterfaceStubVtbl * const _AccessibleValue_StubVtblList[] = -{ - ( CInterfaceStubVtbl *) &_IAccessibleValueStubVtbl, - 0 -}; - -PCInterfaceName const _AccessibleValue_InterfaceNamesList[] = -{ - "IAccessibleValue", - 0 -}; - - -#define _AccessibleValue_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleValue, pIID, n) - -int __stdcall _AccessibleValue_IID_Lookup( const IID * pIID, int * pIndex ) -{ - - if(!_AccessibleValue_CHECK_IID(0)) - { - *pIndex = 0; - return 1; - } - - return 0; -} - -const ExtendedProxyFileInfo AccessibleValue_ProxyFileInfo = -{ - (PCInterfaceProxyVtblList *) & _AccessibleValue_ProxyVtblList, - (PCInterfaceStubVtblList *) & _AccessibleValue_StubVtblList, - (const PCInterfaceName * ) & _AccessibleValue_InterfaceNamesList, - 0, /* no delegation */ - & _AccessibleValue_IID_Lookup, - 1, - 2, - 0, /* table of [async_uuid] interfaces */ - 0, /* Filler1 */ - 0, /* Filler2 */ - 0 /* Filler3 */ -}; -#if _MSC_VER >= 1200 -#pragma warning(pop) -#endif - - -#endif /* defined(_M_AMD64)*/ - diff --git a/src/3rdparty/iaccessible2/generated/amd64/IA2CommonTypes.h b/src/3rdparty/iaccessible2/generated/amd64/IA2CommonTypes.h deleted file mode 100644 index 5b5a313541..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/IA2CommonTypes.h +++ /dev/null @@ -1,102 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:54:00 2012 - */ -/* Compiler settings for IA2CommonTypes.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the <rpcndr.h> version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of <rpcndr.h> -#endif // __RPCNDR_H_VERSION__ - - -#ifndef __IA2CommonTypes_h__ -#define __IA2CommonTypes_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -#ifdef __cplusplus -extern "C"{ -#endif - - -/* interface __MIDL_itf_IA2CommonTypes_0000_0000 */ -/* [local] */ - - -enum IA2ScrollType - { IA2_SCROLL_TYPE_TOP_LEFT = 0, - IA2_SCROLL_TYPE_BOTTOM_RIGHT = ( IA2_SCROLL_TYPE_TOP_LEFT + 1 ) , - IA2_SCROLL_TYPE_TOP_EDGE = ( IA2_SCROLL_TYPE_BOTTOM_RIGHT + 1 ) , - IA2_SCROLL_TYPE_BOTTOM_EDGE = ( IA2_SCROLL_TYPE_TOP_EDGE + 1 ) , - IA2_SCROLL_TYPE_LEFT_EDGE = ( IA2_SCROLL_TYPE_BOTTOM_EDGE + 1 ) , - IA2_SCROLL_TYPE_RIGHT_EDGE = ( IA2_SCROLL_TYPE_LEFT_EDGE + 1 ) , - IA2_SCROLL_TYPE_ANYWHERE = ( IA2_SCROLL_TYPE_RIGHT_EDGE + 1 ) - } ; - -enum IA2CoordinateType - { IA2_COORDTYPE_SCREEN_RELATIVE = 0, - IA2_COORDTYPE_PARENT_RELATIVE = ( IA2_COORDTYPE_SCREEN_RELATIVE + 1 ) - } ; - -enum IA2TextSpecialOffsets - { IA2_TEXT_OFFSET_LENGTH = -1, - IA2_TEXT_OFFSET_CARET = -2 - } ; - -enum IA2TableModelChangeType - { IA2_TABLE_MODEL_CHANGE_INSERT = 0, - IA2_TABLE_MODEL_CHANGE_DELETE = ( IA2_TABLE_MODEL_CHANGE_INSERT + 1 ) , - IA2_TABLE_MODEL_CHANGE_UPDATE = ( IA2_TABLE_MODEL_CHANGE_DELETE + 1 ) - } ; -typedef struct IA2TableModelChange - { - enum IA2TableModelChangeType type; - long firstRow; - long lastRow; - long firstColumn; - long lastColumn; - } IA2TableModelChange; - - - -extern RPC_IF_HANDLE __MIDL_itf_IA2CommonTypes_0000_0000_v0_0_c_ifspec; -extern RPC_IF_HANDLE __MIDL_itf_IA2CommonTypes_0000_0000_v0_0_s_ifspec; - -/* Additional Prototypes for ALL interfaces */ - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/src/3rdparty/iaccessible2/generated/amd64/IA2TypeLibrary.h b/src/3rdparty/iaccessible2/generated/amd64/IA2TypeLibrary.h deleted file mode 100644 index 31142c6b44..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/IA2TypeLibrary.h +++ /dev/null @@ -1,103 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:54:00 2012 - */ -/* Compiler settings for IA2TypeLibrary.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the <rpcndr.h> version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of <rpcndr.h> -#endif // __RPCNDR_H_VERSION__ - - -#ifndef __IA2TypeLibrary_h__ -#define __IA2TypeLibrary_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -#ifdef __cplusplus -extern "C"{ -#endif - - -/* interface __MIDL_itf_IA2TypeLibrary_0000_0000 */ -/* [local] */ - - -// Type Library Definitions - - - -extern RPC_IF_HANDLE __MIDL_itf_IA2TypeLibrary_0000_0000_v0_0_c_ifspec; -extern RPC_IF_HANDLE __MIDL_itf_IA2TypeLibrary_0000_0000_v0_0_s_ifspec; - - -#ifndef __IAccessible2Lib_LIBRARY_DEFINED__ -#define __IAccessible2Lib_LIBRARY_DEFINED__ - -/* library IAccessible2Lib */ -/* [hidden][version][helpstring][uuid] */ - - - - - - - - - - - - - - - - - - - - - - - - -EXTERN_C const IID LIBID_IAccessible2Lib; -#endif /* __IAccessible2Lib_LIBRARY_DEFINED__ */ - -/* Additional Prototypes for ALL interfaces */ - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/src/3rdparty/iaccessible2/generated/amd64/IA2TypeLibrary.tlb b/src/3rdparty/iaccessible2/generated/amd64/IA2TypeLibrary.tlb Binary files differdeleted file mode 100644 index 44e7cdc173..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/IA2TypeLibrary.tlb +++ /dev/null diff --git a/src/3rdparty/iaccessible2/generated/amd64/IA2TypeLibrary_i.c b/src/3rdparty/iaccessible2/generated/amd64/IA2TypeLibrary_i.c deleted file mode 100644 index f3eabd2c49..0000000000 --- a/src/3rdparty/iaccessible2/generated/amd64/IA2TypeLibrary_i.c +++ /dev/null @@ -1,79 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */ - -/* link this file in with the server and any clients */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:54:00 2012 - */ -/* Compiler settings for IA2TypeLibrary.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -#ifdef __cplusplus -extern "C"{ -#endif - - -#include <rpc.h> -#include <rpcndr.h> - -#ifdef _MIDL_USE_GUIDDEF_ - -#ifndef INITGUID -#define INITGUID -#include <guiddef.h> -#undef INITGUID -#else -#include <guiddef.h> -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) - -#else // !_MIDL_USE_GUIDDEF_ - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - -typedef struct _IID -{ - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; -} IID; - -#endif // __IID_DEFINED__ - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED -typedef IID CLSID; -#endif // CLSID_DEFINED - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} - -#endif !_MIDL_USE_GUIDDEF_ - -MIDL_DEFINE_GUID(IID, LIBID_IAccessible2Lib,0xc974e070,0x3787,0x490a,0x87,0xb0,0xe3,0x33,0xb0,0x6c,0xa1,0xe2); - -#undef MIDL_DEFINE_GUID - -#ifdef __cplusplus -} -#endif - - - diff --git a/src/3rdparty/iaccessible2/generated/amd64/dlldata.c b/src/3rdparty/iaccessible2/generated/amd64/dlldata.c index e1e15a1fc0..1685d8340a 100644 --- a/src/3rdparty/iaccessible2/generated/amd64/dlldata.c +++ b/src/3rdparty/iaccessible2/generated/amd64/dlldata.c @@ -19,38 +19,12 @@ extern "C" { #endif -EXTERN_PROXY_FILE( Accessible2 ) -EXTERN_PROXY_FILE( AccessibleAction ) -EXTERN_PROXY_FILE( AccessibleApplication ) -EXTERN_PROXY_FILE( AccessibleComponent ) -EXTERN_PROXY_FILE( AccessibleEditableText ) -EXTERN_PROXY_FILE( AccessibleHyperlink ) -EXTERN_PROXY_FILE( AccessibleHypertext ) -EXTERN_PROXY_FILE( AccessibleImage ) -EXTERN_PROXY_FILE( AccessibleRelation ) -EXTERN_PROXY_FILE( AccessibleTable ) -EXTERN_PROXY_FILE( AccessibleTable2 ) -EXTERN_PROXY_FILE( AccessibleTableCell ) -EXTERN_PROXY_FILE( AccessibleText ) -EXTERN_PROXY_FILE( AccessibleValue ) +EXTERN_PROXY_FILE( ia2_api_all ) PROXYFILE_LIST_START /* Start of list */ - REFERENCE_PROXY_FILE( Accessible2 ), - REFERENCE_PROXY_FILE( AccessibleAction ), - REFERENCE_PROXY_FILE( AccessibleApplication ), - REFERENCE_PROXY_FILE( AccessibleComponent ), - REFERENCE_PROXY_FILE( AccessibleEditableText ), - REFERENCE_PROXY_FILE( AccessibleHyperlink ), - REFERENCE_PROXY_FILE( AccessibleHypertext ), - REFERENCE_PROXY_FILE( AccessibleImage ), - REFERENCE_PROXY_FILE( AccessibleRelation ), - REFERENCE_PROXY_FILE( AccessibleTable ), - REFERENCE_PROXY_FILE( AccessibleTable2 ), - REFERENCE_PROXY_FILE( AccessibleTableCell ), - REFERENCE_PROXY_FILE( AccessibleText ), - REFERENCE_PROXY_FILE( AccessibleValue ), + REFERENCE_PROXY_FILE( ia2_api_all ), /* End of list */ PROXYFILE_LIST_END diff --git a/src/3rdparty/iaccessible2/generated/amd64/ia2_api_all.h b/src/3rdparty/iaccessible2/generated/amd64/ia2_api_all.h new file mode 100644 index 0000000000..4f7b7d07d7 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/ia2_api_all.h @@ -0,0 +1,4667 @@ + + +/* this ALWAYS GENERATED file contains the definitions for the interfaces */ + + + /* File created by MIDL compiler version 7.00.0555 */ +/* at Mon Aug 11 14:34:44 2014 + */ +/* Compiler settings for ia2_api_all.idl: + Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 + protocol : dce , ms_ext, c_ext, robust + error checks: allocation ref bounds_check enum stub_data + VC __declspec() decoration level: + __declspec(uuid()), __declspec(selectany), __declspec(novtable) + DECLSPEC_UUID(), MIDL_INTERFACE() +*/ +/* @@MIDL_FILE_HEADING( ) */ + +#pragma warning( disable: 4049 ) /* more than 64k source lines */ + + +/* verify that the <rpcndr.h> version is high enough to compile this file*/ +#ifndef __REQUIRED_RPCNDR_H_VERSION__ +#define __REQUIRED_RPCNDR_H_VERSION__ 475 +#endif + +#include "rpc.h" +#include "rpcndr.h" + +#ifndef __RPCNDR_H_VERSION__ +#error this stub requires an updated version of <rpcndr.h> +#endif // __RPCNDR_H_VERSION__ + +#ifndef COM_NO_WINDOWS_H +#include "windows.h" +#include "ole2.h" +#endif /*COM_NO_WINDOWS_H*/ + +#ifndef __ia2_api_all_h__ +#define __ia2_api_all_h__ + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +#pragma once +#endif + +/* Forward Declarations */ + +#ifndef __IAccessibleRelation_FWD_DEFINED__ +#define __IAccessibleRelation_FWD_DEFINED__ +typedef interface IAccessibleRelation IAccessibleRelation; +#endif /* __IAccessibleRelation_FWD_DEFINED__ */ + + +#ifndef __IAccessibleAction_FWD_DEFINED__ +#define __IAccessibleAction_FWD_DEFINED__ +typedef interface IAccessibleAction IAccessibleAction; +#endif /* __IAccessibleAction_FWD_DEFINED__ */ + + +#ifndef __IAccessible2_FWD_DEFINED__ +#define __IAccessible2_FWD_DEFINED__ +typedef interface IAccessible2 IAccessible2; +#endif /* __IAccessible2_FWD_DEFINED__ */ + + +#ifndef __IAccessible2_2_FWD_DEFINED__ +#define __IAccessible2_2_FWD_DEFINED__ +typedef interface IAccessible2_2 IAccessible2_2; +#endif /* __IAccessible2_2_FWD_DEFINED__ */ + + +#ifndef __IAccessibleComponent_FWD_DEFINED__ +#define __IAccessibleComponent_FWD_DEFINED__ +typedef interface IAccessibleComponent IAccessibleComponent; +#endif /* __IAccessibleComponent_FWD_DEFINED__ */ + + +#ifndef __IAccessibleValue_FWD_DEFINED__ +#define __IAccessibleValue_FWD_DEFINED__ +typedef interface IAccessibleValue IAccessibleValue; +#endif /* __IAccessibleValue_FWD_DEFINED__ */ + + +#ifndef __IAccessibleText_FWD_DEFINED__ +#define __IAccessibleText_FWD_DEFINED__ +typedef interface IAccessibleText IAccessibleText; +#endif /* __IAccessibleText_FWD_DEFINED__ */ + + +#ifndef __IAccessibleText2_FWD_DEFINED__ +#define __IAccessibleText2_FWD_DEFINED__ +typedef interface IAccessibleText2 IAccessibleText2; +#endif /* __IAccessibleText2_FWD_DEFINED__ */ + + +#ifndef __IAccessibleEditableText_FWD_DEFINED__ +#define __IAccessibleEditableText_FWD_DEFINED__ +typedef interface IAccessibleEditableText IAccessibleEditableText; +#endif /* __IAccessibleEditableText_FWD_DEFINED__ */ + + +#ifndef __IAccessibleHyperlink_FWD_DEFINED__ +#define __IAccessibleHyperlink_FWD_DEFINED__ +typedef interface IAccessibleHyperlink IAccessibleHyperlink; +#endif /* __IAccessibleHyperlink_FWD_DEFINED__ */ + + +#ifndef __IAccessibleHypertext_FWD_DEFINED__ +#define __IAccessibleHypertext_FWD_DEFINED__ +typedef interface IAccessibleHypertext IAccessibleHypertext; +#endif /* __IAccessibleHypertext_FWD_DEFINED__ */ + + +#ifndef __IAccessibleHypertext2_FWD_DEFINED__ +#define __IAccessibleHypertext2_FWD_DEFINED__ +typedef interface IAccessibleHypertext2 IAccessibleHypertext2; +#endif /* __IAccessibleHypertext2_FWD_DEFINED__ */ + + +#ifndef __IAccessibleTable_FWD_DEFINED__ +#define __IAccessibleTable_FWD_DEFINED__ +typedef interface IAccessibleTable IAccessibleTable; +#endif /* __IAccessibleTable_FWD_DEFINED__ */ + + +#ifndef __IAccessibleTable2_FWD_DEFINED__ +#define __IAccessibleTable2_FWD_DEFINED__ +typedef interface IAccessibleTable2 IAccessibleTable2; +#endif /* __IAccessibleTable2_FWD_DEFINED__ */ + + +#ifndef __IAccessibleTableCell_FWD_DEFINED__ +#define __IAccessibleTableCell_FWD_DEFINED__ +typedef interface IAccessibleTableCell IAccessibleTableCell; +#endif /* __IAccessibleTableCell_FWD_DEFINED__ */ + + +#ifndef __IAccessibleImage_FWD_DEFINED__ +#define __IAccessibleImage_FWD_DEFINED__ +typedef interface IAccessibleImage IAccessibleImage; +#endif /* __IAccessibleImage_FWD_DEFINED__ */ + + +#ifndef __IAccessibleApplication_FWD_DEFINED__ +#define __IAccessibleApplication_FWD_DEFINED__ +typedef interface IAccessibleApplication IAccessibleApplication; +#endif /* __IAccessibleApplication_FWD_DEFINED__ */ + + +#ifndef __IAccessibleDocument_FWD_DEFINED__ +#define __IAccessibleDocument_FWD_DEFINED__ +typedef interface IAccessibleDocument IAccessibleDocument; +#endif /* __IAccessibleDocument_FWD_DEFINED__ */ + + +#ifndef __IAccessible2_FWD_DEFINED__ +#define __IAccessible2_FWD_DEFINED__ +typedef interface IAccessible2 IAccessible2; +#endif /* __IAccessible2_FWD_DEFINED__ */ + + +#ifndef __IAccessible2_2_FWD_DEFINED__ +#define __IAccessible2_2_FWD_DEFINED__ +typedef interface IAccessible2_2 IAccessible2_2; +#endif /* __IAccessible2_2_FWD_DEFINED__ */ + + +#ifndef __IAccessibleAction_FWD_DEFINED__ +#define __IAccessibleAction_FWD_DEFINED__ +typedef interface IAccessibleAction IAccessibleAction; +#endif /* __IAccessibleAction_FWD_DEFINED__ */ + + +#ifndef __IAccessibleApplication_FWD_DEFINED__ +#define __IAccessibleApplication_FWD_DEFINED__ +typedef interface IAccessibleApplication IAccessibleApplication; +#endif /* __IAccessibleApplication_FWD_DEFINED__ */ + + +#ifndef __IAccessibleComponent_FWD_DEFINED__ +#define __IAccessibleComponent_FWD_DEFINED__ +typedef interface IAccessibleComponent IAccessibleComponent; +#endif /* __IAccessibleComponent_FWD_DEFINED__ */ + + +#ifndef __IAccessibleDocument_FWD_DEFINED__ +#define __IAccessibleDocument_FWD_DEFINED__ +typedef interface IAccessibleDocument IAccessibleDocument; +#endif /* __IAccessibleDocument_FWD_DEFINED__ */ + + +#ifndef __IAccessibleEditableText_FWD_DEFINED__ +#define __IAccessibleEditableText_FWD_DEFINED__ +typedef interface IAccessibleEditableText IAccessibleEditableText; +#endif /* __IAccessibleEditableText_FWD_DEFINED__ */ + + +#ifndef __IAccessibleHyperlink_FWD_DEFINED__ +#define __IAccessibleHyperlink_FWD_DEFINED__ +typedef interface IAccessibleHyperlink IAccessibleHyperlink; +#endif /* __IAccessibleHyperlink_FWD_DEFINED__ */ + + +#ifndef __IAccessibleText_FWD_DEFINED__ +#define __IAccessibleText_FWD_DEFINED__ +typedef interface IAccessibleText IAccessibleText; +#endif /* __IAccessibleText_FWD_DEFINED__ */ + + +#ifndef __IAccessibleHypertext_FWD_DEFINED__ +#define __IAccessibleHypertext_FWD_DEFINED__ +typedef interface IAccessibleHypertext IAccessibleHypertext; +#endif /* __IAccessibleHypertext_FWD_DEFINED__ */ + + +#ifndef __IAccessibleHypertext2_FWD_DEFINED__ +#define __IAccessibleHypertext2_FWD_DEFINED__ +typedef interface IAccessibleHypertext2 IAccessibleHypertext2; +#endif /* __IAccessibleHypertext2_FWD_DEFINED__ */ + + +#ifndef __IAccessibleImage_FWD_DEFINED__ +#define __IAccessibleImage_FWD_DEFINED__ +typedef interface IAccessibleImage IAccessibleImage; +#endif /* __IAccessibleImage_FWD_DEFINED__ */ + + +#ifndef __IAccessibleRelation_FWD_DEFINED__ +#define __IAccessibleRelation_FWD_DEFINED__ +typedef interface IAccessibleRelation IAccessibleRelation; +#endif /* __IAccessibleRelation_FWD_DEFINED__ */ + + +#ifndef __IAccessibleTable_FWD_DEFINED__ +#define __IAccessibleTable_FWD_DEFINED__ +typedef interface IAccessibleTable IAccessibleTable; +#endif /* __IAccessibleTable_FWD_DEFINED__ */ + + +#ifndef __IAccessibleTable2_FWD_DEFINED__ +#define __IAccessibleTable2_FWD_DEFINED__ +typedef interface IAccessibleTable2 IAccessibleTable2; +#endif /* __IAccessibleTable2_FWD_DEFINED__ */ + + +#ifndef __IAccessibleTableCell_FWD_DEFINED__ +#define __IAccessibleTableCell_FWD_DEFINED__ +typedef interface IAccessibleTableCell IAccessibleTableCell; +#endif /* __IAccessibleTableCell_FWD_DEFINED__ */ + + +#ifndef __IAccessibleText2_FWD_DEFINED__ +#define __IAccessibleText2_FWD_DEFINED__ +typedef interface IAccessibleText2 IAccessibleText2; +#endif /* __IAccessibleText2_FWD_DEFINED__ */ + + +#ifndef __IAccessibleValue_FWD_DEFINED__ +#define __IAccessibleValue_FWD_DEFINED__ +typedef interface IAccessibleValue IAccessibleValue; +#endif /* __IAccessibleValue_FWD_DEFINED__ */ + + +/* header files for imported files */ +#include "objidl.h" +#include "oaidl.h" +#include "oleacc.h" + +#ifdef __cplusplus +extern "C"{ +#endif + + +/* interface __MIDL_itf_ia2_api_all_0000_0000 */ +/* [local] */ + + +enum IA2ScrollType + { IA2_SCROLL_TYPE_TOP_LEFT = 0, + IA2_SCROLL_TYPE_BOTTOM_RIGHT = ( IA2_SCROLL_TYPE_TOP_LEFT + 1 ) , + IA2_SCROLL_TYPE_TOP_EDGE = ( IA2_SCROLL_TYPE_BOTTOM_RIGHT + 1 ) , + IA2_SCROLL_TYPE_BOTTOM_EDGE = ( IA2_SCROLL_TYPE_TOP_EDGE + 1 ) , + IA2_SCROLL_TYPE_LEFT_EDGE = ( IA2_SCROLL_TYPE_BOTTOM_EDGE + 1 ) , + IA2_SCROLL_TYPE_RIGHT_EDGE = ( IA2_SCROLL_TYPE_LEFT_EDGE + 1 ) , + IA2_SCROLL_TYPE_ANYWHERE = ( IA2_SCROLL_TYPE_RIGHT_EDGE + 1 ) + } ; + +enum IA2CoordinateType + { IA2_COORDTYPE_SCREEN_RELATIVE = 0, + IA2_COORDTYPE_PARENT_RELATIVE = ( IA2_COORDTYPE_SCREEN_RELATIVE + 1 ) + } ; + +enum IA2TextSpecialOffsets + { IA2_TEXT_OFFSET_LENGTH = -1, + IA2_TEXT_OFFSET_CARET = -2 + } ; + +enum IA2TableModelChangeType + { IA2_TABLE_MODEL_CHANGE_INSERT = 0, + IA2_TABLE_MODEL_CHANGE_DELETE = ( IA2_TABLE_MODEL_CHANGE_INSERT + 1 ) , + IA2_TABLE_MODEL_CHANGE_UPDATE = ( IA2_TABLE_MODEL_CHANGE_DELETE + 1 ) + } ; +typedef struct IA2TableModelChange + { + enum IA2TableModelChangeType type; + long firstRow; + long lastRow; + long firstColumn; + long lastColumn; + } IA2TableModelChange; + +#define IA2_RELATION_CONTAINING_APPLICATION ( L"containingApplication" ) + +#define IA2_RELATION_CONTAINING_DOCUMENT ( L"containingDocument" ) + +#define IA2_RELATION_CONTAINING_TAB_PANE ( L"containingTabPane" ) + +#define IA2_RELATION_CONTAINING_WINDOW ( L"containingWindow" ) + +#define IA2_RELATION_CONTROLLED_BY ( L"controlledBy" ) + +#define IA2_RELATION_CONTROLLER_FOR ( L"controllerFor" ) + +#define IA2_RELATION_DESCRIBED_BY ( L"describedBy" ) + +#define IA2_RELATION_DESCRIPTION_FOR ( L"descriptionFor" ) + +#define IA2_RELATION_EMBEDDED_BY ( L"embeddedBy" ) + +#define IA2_RELATION_EMBEDS ( L"embeds" ) + +#define IA2_RELATION_FLOWS_FROM ( L"flowsFrom" ) + +#define IA2_RELATION_FLOWS_TO ( L"flowsTo" ) + +#define IA2_RELATION_LABEL_FOR ( L"labelFor" ) + +#define IA2_RELATION_LABELED_BY ( L"labelledBy" ) + +#define IA2_RELATION_LABELLED_BY ( L"labelledBy" ) + +#define IA2_RELATION_MEMBER_OF ( L"memberOf" ) + +#define IA2_RELATION_NEXT_TABBABLE ( L"nextTabbable" ) + +#define IA2_RELATION_NODE_CHILD_OF ( L"nodeChildOf" ) + +#define IA2_RELATION_NODE_PARENT_OF ( L"nodeParentOf" ) + +#define IA2_RELATION_PARENT_WINDOW_OF ( L"parentWindowOf" ) + +#define IA2_RELATION_POPUP_FOR ( L"popupFor" ) + +#define IA2_RELATION_PREVIOUS_TABBABLE ( L"previousTabbable" ) + +#define IA2_RELATION_SUBWINDOW_OF ( L"subwindowOf" ) + + + +extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0000_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0000_v0_0_s_ifspec; + +#ifndef __IAccessibleRelation_INTERFACE_DEFINED__ +#define __IAccessibleRelation_INTERFACE_DEFINED__ + +/* interface IAccessibleRelation */ +/* [uuid][object] */ + + +EXTERN_C const IID IID_IAccessibleRelation; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("7CDF86EE-C3DA-496a-BDA4-281B336E1FDC") + IAccessibleRelation : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_relationType( + /* [retval][out] */ BSTR *relationType) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_localizedRelationType( + /* [retval][out] */ BSTR *localizedRelationType) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nTargets( + /* [retval][out] */ long *nTargets) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_target( + /* [in] */ long targetIndex, + /* [retval][out] */ IUnknown **target) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targets( + /* [in] */ long maxTargets, + /* [length_is][size_is][out] */ IUnknown **targets, + /* [retval][out] */ long *nTargets) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAccessibleRelationVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAccessibleRelation * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAccessibleRelation * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAccessibleRelation * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relationType )( + IAccessibleRelation * This, + /* [retval][out] */ BSTR *relationType); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedRelationType )( + IAccessibleRelation * This, + /* [retval][out] */ BSTR *localizedRelationType); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nTargets )( + IAccessibleRelation * This, + /* [retval][out] */ long *nTargets); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_target )( + IAccessibleRelation * This, + /* [in] */ long targetIndex, + /* [retval][out] */ IUnknown **target); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targets )( + IAccessibleRelation * This, + /* [in] */ long maxTargets, + /* [length_is][size_is][out] */ IUnknown **targets, + /* [retval][out] */ long *nTargets); + + END_INTERFACE + } IAccessibleRelationVtbl; + + interface IAccessibleRelation + { + CONST_VTBL struct IAccessibleRelationVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAccessibleRelation_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAccessibleRelation_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAccessibleRelation_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAccessibleRelation_get_relationType(This,relationType) \ + ( (This)->lpVtbl -> get_relationType(This,relationType) ) + +#define IAccessibleRelation_get_localizedRelationType(This,localizedRelationType) \ + ( (This)->lpVtbl -> get_localizedRelationType(This,localizedRelationType) ) + +#define IAccessibleRelation_get_nTargets(This,nTargets) \ + ( (This)->lpVtbl -> get_nTargets(This,nTargets) ) + +#define IAccessibleRelation_get_target(This,targetIndex,target) \ + ( (This)->lpVtbl -> get_target(This,targetIndex,target) ) + +#define IAccessibleRelation_get_targets(This,maxTargets,targets,nTargets) \ + ( (This)->lpVtbl -> get_targets(This,maxTargets,targets,nTargets) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAccessibleRelation_INTERFACE_DEFINED__ */ + + +/* interface __MIDL_itf_ia2_api_all_0000_0001 */ +/* [local] */ + + +enum IA2Actions + { IA2_ACTION_OPEN = -1, + IA2_ACTION_COMPLETE = -2, + IA2_ACTION_CLOSE = -3 + } ; + + +extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0001_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0001_v0_0_s_ifspec; + +#ifndef __IAccessibleAction_INTERFACE_DEFINED__ +#define __IAccessibleAction_INTERFACE_DEFINED__ + +/* interface IAccessibleAction */ +/* [uuid][object] */ + + +EXTERN_C const IID IID_IAccessibleAction; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("B70D9F59-3B5A-4dba-AB9E-22012F607DF5") + IAccessibleAction : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE nActions( + /* [retval][out] */ long *nActions) = 0; + + virtual HRESULT STDMETHODCALLTYPE doAction( + /* [in] */ long actionIndex) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_description( + /* [in] */ long actionIndex, + /* [retval][out] */ BSTR *description) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_keyBinding( + /* [in] */ long actionIndex, + /* [in] */ long nMaxBindings, + /* [length_is][length_is][size_is][size_is][out] */ BSTR **keyBindings, + /* [retval][out] */ long *nBindings) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_name( + /* [in] */ long actionIndex, + /* [retval][out] */ BSTR *name) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_localizedName( + /* [in] */ long actionIndex, + /* [retval][out] */ BSTR *localizedName) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAccessibleActionVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAccessibleAction * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAccessibleAction * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAccessibleAction * This); + + HRESULT ( STDMETHODCALLTYPE *nActions )( + IAccessibleAction * This, + /* [retval][out] */ long *nActions); + + HRESULT ( STDMETHODCALLTYPE *doAction )( + IAccessibleAction * This, + /* [in] */ long actionIndex); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_description )( + IAccessibleAction * This, + /* [in] */ long actionIndex, + /* [retval][out] */ BSTR *description); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_keyBinding )( + IAccessibleAction * This, + /* [in] */ long actionIndex, + /* [in] */ long nMaxBindings, + /* [length_is][length_is][size_is][size_is][out] */ BSTR **keyBindings, + /* [retval][out] */ long *nBindings); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( + IAccessibleAction * This, + /* [in] */ long actionIndex, + /* [retval][out] */ BSTR *name); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedName )( + IAccessibleAction * This, + /* [in] */ long actionIndex, + /* [retval][out] */ BSTR *localizedName); + + END_INTERFACE + } IAccessibleActionVtbl; + + interface IAccessibleAction + { + CONST_VTBL struct IAccessibleActionVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAccessibleAction_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAccessibleAction_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAccessibleAction_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAccessibleAction_nActions(This,nActions) \ + ( (This)->lpVtbl -> nActions(This,nActions) ) + +#define IAccessibleAction_doAction(This,actionIndex) \ + ( (This)->lpVtbl -> doAction(This,actionIndex) ) + +#define IAccessibleAction_get_description(This,actionIndex,description) \ + ( (This)->lpVtbl -> get_description(This,actionIndex,description) ) + +#define IAccessibleAction_get_keyBinding(This,actionIndex,nMaxBindings,keyBindings,nBindings) \ + ( (This)->lpVtbl -> get_keyBinding(This,actionIndex,nMaxBindings,keyBindings,nBindings) ) + +#define IAccessibleAction_get_name(This,actionIndex,name) \ + ( (This)->lpVtbl -> get_name(This,actionIndex,name) ) + +#define IAccessibleAction_get_localizedName(This,actionIndex,localizedName) \ + ( (This)->lpVtbl -> get_localizedName(This,actionIndex,localizedName) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAccessibleAction_INTERFACE_DEFINED__ */ + + +/* interface __MIDL_itf_ia2_api_all_0000_0002 */ +/* [local] */ + + +enum IA2Role + { IA2_ROLE_UNKNOWN = 0, + IA2_ROLE_CANVAS = 0x401, + IA2_ROLE_CAPTION = ( IA2_ROLE_CANVAS + 1 ) , + IA2_ROLE_CHECK_MENU_ITEM = ( IA2_ROLE_CAPTION + 1 ) , + IA2_ROLE_COLOR_CHOOSER = ( IA2_ROLE_CHECK_MENU_ITEM + 1 ) , + IA2_ROLE_DATE_EDITOR = ( IA2_ROLE_COLOR_CHOOSER + 1 ) , + IA2_ROLE_DESKTOP_ICON = ( IA2_ROLE_DATE_EDITOR + 1 ) , + IA2_ROLE_DESKTOP_PANE = ( IA2_ROLE_DESKTOP_ICON + 1 ) , + IA2_ROLE_DIRECTORY_PANE = ( IA2_ROLE_DESKTOP_PANE + 1 ) , + IA2_ROLE_EDITBAR = ( IA2_ROLE_DIRECTORY_PANE + 1 ) , + IA2_ROLE_EMBEDDED_OBJECT = ( IA2_ROLE_EDITBAR + 1 ) , + IA2_ROLE_ENDNOTE = ( IA2_ROLE_EMBEDDED_OBJECT + 1 ) , + IA2_ROLE_FILE_CHOOSER = ( IA2_ROLE_ENDNOTE + 1 ) , + IA2_ROLE_FONT_CHOOSER = ( IA2_ROLE_FILE_CHOOSER + 1 ) , + IA2_ROLE_FOOTER = ( IA2_ROLE_FONT_CHOOSER + 1 ) , + IA2_ROLE_FOOTNOTE = ( IA2_ROLE_FOOTER + 1 ) , + IA2_ROLE_FORM = ( IA2_ROLE_FOOTNOTE + 1 ) , + IA2_ROLE_FRAME = ( IA2_ROLE_FORM + 1 ) , + IA2_ROLE_GLASS_PANE = ( IA2_ROLE_FRAME + 1 ) , + IA2_ROLE_HEADER = ( IA2_ROLE_GLASS_PANE + 1 ) , + IA2_ROLE_HEADING = ( IA2_ROLE_HEADER + 1 ) , + IA2_ROLE_ICON = ( IA2_ROLE_HEADING + 1 ) , + IA2_ROLE_IMAGE_MAP = ( IA2_ROLE_ICON + 1 ) , + IA2_ROLE_INPUT_METHOD_WINDOW = ( IA2_ROLE_IMAGE_MAP + 1 ) , + IA2_ROLE_INTERNAL_FRAME = ( IA2_ROLE_INPUT_METHOD_WINDOW + 1 ) , + IA2_ROLE_LABEL = ( IA2_ROLE_INTERNAL_FRAME + 1 ) , + IA2_ROLE_LAYERED_PANE = ( IA2_ROLE_LABEL + 1 ) , + IA2_ROLE_NOTE = ( IA2_ROLE_LAYERED_PANE + 1 ) , + IA2_ROLE_OPTION_PANE = ( IA2_ROLE_NOTE + 1 ) , + IA2_ROLE_PAGE = ( IA2_ROLE_OPTION_PANE + 1 ) , + IA2_ROLE_PARAGRAPH = ( IA2_ROLE_PAGE + 1 ) , + IA2_ROLE_RADIO_MENU_ITEM = ( IA2_ROLE_PARAGRAPH + 1 ) , + IA2_ROLE_REDUNDANT_OBJECT = ( IA2_ROLE_RADIO_MENU_ITEM + 1 ) , + IA2_ROLE_ROOT_PANE = ( IA2_ROLE_REDUNDANT_OBJECT + 1 ) , + IA2_ROLE_RULER = ( IA2_ROLE_ROOT_PANE + 1 ) , + IA2_ROLE_SCROLL_PANE = ( IA2_ROLE_RULER + 1 ) , + IA2_ROLE_SECTION = ( IA2_ROLE_SCROLL_PANE + 1 ) , + IA2_ROLE_SHAPE = ( IA2_ROLE_SECTION + 1 ) , + IA2_ROLE_SPLIT_PANE = ( IA2_ROLE_SHAPE + 1 ) , + IA2_ROLE_TEAR_OFF_MENU = ( IA2_ROLE_SPLIT_PANE + 1 ) , + IA2_ROLE_TERMINAL = ( IA2_ROLE_TEAR_OFF_MENU + 1 ) , + IA2_ROLE_TEXT_FRAME = ( IA2_ROLE_TERMINAL + 1 ) , + IA2_ROLE_TOGGLE_BUTTON = ( IA2_ROLE_TEXT_FRAME + 1 ) , + IA2_ROLE_VIEW_PORT = ( IA2_ROLE_TOGGLE_BUTTON + 1 ) , + IA2_ROLE_COMPLEMENTARY_CONTENT = ( IA2_ROLE_VIEW_PORT + 1 ) + } ; +typedef long AccessibleStates; + + +enum IA2States + { IA2_STATE_ACTIVE = 0x1, + IA2_STATE_ARMED = 0x2, + IA2_STATE_DEFUNCT = 0x4, + IA2_STATE_EDITABLE = 0x8, + IA2_STATE_HORIZONTAL = 0x10, + IA2_STATE_ICONIFIED = 0x20, + IA2_STATE_INVALID_ENTRY = 0x40, + IA2_STATE_MANAGES_DESCENDANTS = 0x80, + IA2_STATE_MODAL = 0x100, + IA2_STATE_MULTI_LINE = 0x200, + IA2_STATE_OPAQUE = 0x400, + IA2_STATE_REQUIRED = 0x800, + IA2_STATE_SELECTABLE_TEXT = 0x1000, + IA2_STATE_SINGLE_LINE = 0x2000, + IA2_STATE_STALE = 0x4000, + IA2_STATE_SUPPORTS_AUTOCOMPLETION = 0x8000, + IA2_STATE_TRANSIENT = 0x10000, + IA2_STATE_VERTICAL = 0x20000, + IA2_STATE_CHECKABLE = 0x40000, + IA2_STATE_PINNED = 0x80000 + } ; +typedef struct IA2Locale + { + BSTR language; + BSTR country; + BSTR variant; + } IA2Locale; + + + +extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0002_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0002_v0_0_s_ifspec; + +#ifndef __IAccessible2_INTERFACE_DEFINED__ +#define __IAccessible2_INTERFACE_DEFINED__ + +/* interface IAccessible2 */ +/* [uuid][object] */ + + +EXTERN_C const IID IID_IAccessible2; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("E89F726E-C4F4-4c19-BB19-B647D7FA8478") + IAccessible2 : public IAccessible + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nRelations( + /* [retval][out] */ long *nRelations) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_relation( + /* [in] */ long relationIndex, + /* [retval][out] */ IAccessibleRelation **relation) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_relations( + /* [in] */ long maxRelations, + /* [length_is][size_is][out] */ IAccessibleRelation **relations, + /* [retval][out] */ long *nRelations) = 0; + + virtual HRESULT STDMETHODCALLTYPE role( + /* [retval][out] */ long *role) = 0; + + virtual HRESULT STDMETHODCALLTYPE scrollTo( + /* [in] */ enum IA2ScrollType scrollType) = 0; + + virtual HRESULT STDMETHODCALLTYPE scrollToPoint( + /* [in] */ enum IA2CoordinateType coordinateType, + /* [in] */ long x, + /* [in] */ long y) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_groupPosition( + /* [out] */ long *groupLevel, + /* [out] */ long *similarItemsInGroup, + /* [retval][out] */ long *positionInGroup) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_states( + /* [retval][out] */ AccessibleStates *states) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extendedRole( + /* [retval][out] */ BSTR *extendedRole) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_localizedExtendedRole( + /* [retval][out] */ BSTR *localizedExtendedRole) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nExtendedStates( + /* [retval][out] */ long *nExtendedStates) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extendedStates( + /* [in] */ long maxExtendedStates, + /* [length_is][length_is][size_is][size_is][out] */ BSTR **extendedStates, + /* [retval][out] */ long *nExtendedStates) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_localizedExtendedStates( + /* [in] */ long maxLocalizedExtendedStates, + /* [length_is][length_is][size_is][size_is][out] */ BSTR **localizedExtendedStates, + /* [retval][out] */ long *nLocalizedExtendedStates) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_uniqueID( + /* [retval][out] */ long *uniqueID) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_windowHandle( + /* [retval][out] */ HWND *windowHandle) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_indexInParent( + /* [retval][out] */ long *indexInParent) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_locale( + /* [retval][out] */ IA2Locale *locale) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_attributes( + /* [retval][out] */ BSTR *attributes) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAccessible2Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAccessible2 * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAccessible2 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAccessible2 * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + IAccessible2 * This, + /* [out] */ UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + IAccessible2 * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + IAccessible2 * This, + /* [in] */ REFIID riid, + /* [size_is][in] */ LPOLESTR *rgszNames, + /* [range][in] */ UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IAccessible2 * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accParent )( + IAccessible2 * This, + /* [retval][out] */ IDispatch **ppdispParent); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accChildCount )( + IAccessible2 * This, + /* [retval][out] */ long *pcountChildren); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accChild )( + IAccessible2 * This, + /* [in] */ VARIANT varChild, + /* [retval][out] */ IDispatch **ppdispChild); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accName )( + IAccessible2 * This, + /* [optional][in] */ VARIANT varChild, + /* [retval][out] */ BSTR *pszName); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accValue )( + IAccessible2 * This, + /* [optional][in] */ VARIANT varChild, + /* [retval][out] */ BSTR *pszValue); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accDescription )( + IAccessible2 * This, + /* [optional][in] */ VARIANT varChild, + /* [retval][out] */ BSTR *pszDescription); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accRole )( + IAccessible2 * This, + /* [optional][in] */ VARIANT varChild, + /* [retval][out] */ VARIANT *pvarRole); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accState )( + IAccessible2 * This, + /* [optional][in] */ VARIANT varChild, + /* [retval][out] */ VARIANT *pvarState); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accHelp )( + IAccessible2 * This, + /* [optional][in] */ VARIANT varChild, + /* [retval][out] */ BSTR *pszHelp); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accHelpTopic )( + IAccessible2 * This, + /* [out] */ BSTR *pszHelpFile, + /* [optional][in] */ VARIANT varChild, + /* [retval][out] */ long *pidTopic); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accKeyboardShortcut )( + IAccessible2 * This, + /* [optional][in] */ VARIANT varChild, + /* [retval][out] */ BSTR *pszKeyboardShortcut); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accFocus )( + IAccessible2 * This, + /* [retval][out] */ VARIANT *pvarChild); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accSelection )( + IAccessible2 * This, + /* [retval][out] */ VARIANT *pvarChildren); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accDefaultAction )( + IAccessible2 * This, + /* [optional][in] */ VARIANT varChild, + /* [retval][out] */ BSTR *pszDefaultAction); + + /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accSelect )( + IAccessible2 * This, + /* [in] */ long flagsSelect, + /* [optional][in] */ VARIANT varChild); + + /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accLocation )( + IAccessible2 * This, + /* [out] */ long *pxLeft, + /* [out] */ long *pyTop, + /* [out] */ long *pcxWidth, + /* [out] */ long *pcyHeight, + /* [optional][in] */ VARIANT varChild); + + /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accNavigate )( + IAccessible2 * This, + /* [in] */ long navDir, + /* [optional][in] */ VARIANT varStart, + /* [retval][out] */ VARIANT *pvarEndUpAt); + + /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accHitTest )( + IAccessible2 * This, + /* [in] */ long xLeft, + /* [in] */ long yTop, + /* [retval][out] */ VARIANT *pvarChild); + + /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accDoDefaultAction )( + IAccessible2 * This, + /* [optional][in] */ VARIANT varChild); + + /* [id][propput][hidden] */ HRESULT ( STDMETHODCALLTYPE *put_accName )( + IAccessible2 * This, + /* [optional][in] */ VARIANT varChild, + /* [in] */ BSTR szName); + + /* [id][propput][hidden] */ HRESULT ( STDMETHODCALLTYPE *put_accValue )( + IAccessible2 * This, + /* [optional][in] */ VARIANT varChild, + /* [in] */ BSTR szValue); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nRelations )( + IAccessible2 * This, + /* [retval][out] */ long *nRelations); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relation )( + IAccessible2 * This, + /* [in] */ long relationIndex, + /* [retval][out] */ IAccessibleRelation **relation); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relations )( + IAccessible2 * This, + /* [in] */ long maxRelations, + /* [length_is][size_is][out] */ IAccessibleRelation **relations, + /* [retval][out] */ long *nRelations); + + HRESULT ( STDMETHODCALLTYPE *role )( + IAccessible2 * This, + /* [retval][out] */ long *role); + + HRESULT ( STDMETHODCALLTYPE *scrollTo )( + IAccessible2 * This, + /* [in] */ enum IA2ScrollType scrollType); + + HRESULT ( STDMETHODCALLTYPE *scrollToPoint )( + IAccessible2 * This, + /* [in] */ enum IA2CoordinateType coordinateType, + /* [in] */ long x, + /* [in] */ long y); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_groupPosition )( + IAccessible2 * This, + /* [out] */ long *groupLevel, + /* [out] */ long *similarItemsInGroup, + /* [retval][out] */ long *positionInGroup); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_states )( + IAccessible2 * This, + /* [retval][out] */ AccessibleStates *states); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extendedRole )( + IAccessible2 * This, + /* [retval][out] */ BSTR *extendedRole); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedExtendedRole )( + IAccessible2 * This, + /* [retval][out] */ BSTR *localizedExtendedRole); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nExtendedStates )( + IAccessible2 * This, + /* [retval][out] */ long *nExtendedStates); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extendedStates )( + IAccessible2 * This, + /* [in] */ long maxExtendedStates, + /* [length_is][length_is][size_is][size_is][out] */ BSTR **extendedStates, + /* [retval][out] */ long *nExtendedStates); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedExtendedStates )( + IAccessible2 * This, + /* [in] */ long maxLocalizedExtendedStates, + /* [length_is][length_is][size_is][size_is][out] */ BSTR **localizedExtendedStates, + /* [retval][out] */ long *nLocalizedExtendedStates); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_uniqueID )( + IAccessible2 * This, + /* [retval][out] */ long *uniqueID); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_windowHandle )( + IAccessible2 * This, + /* [retval][out] */ HWND *windowHandle); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_indexInParent )( + IAccessible2 * This, + /* [retval][out] */ long *indexInParent); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_locale )( + IAccessible2 * This, + /* [retval][out] */ IA2Locale *locale); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )( + IAccessible2 * This, + /* [retval][out] */ BSTR *attributes); + + END_INTERFACE + } IAccessible2Vtbl; + + interface IAccessible2 + { + CONST_VTBL struct IAccessible2Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAccessible2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAccessible2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAccessible2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAccessible2_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IAccessible2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IAccessible2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IAccessible2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IAccessible2_get_accParent(This,ppdispParent) \ + ( (This)->lpVtbl -> get_accParent(This,ppdispParent) ) + +#define IAccessible2_get_accChildCount(This,pcountChildren) \ + ( (This)->lpVtbl -> get_accChildCount(This,pcountChildren) ) + +#define IAccessible2_get_accChild(This,varChild,ppdispChild) \ + ( (This)->lpVtbl -> get_accChild(This,varChild,ppdispChild) ) + +#define IAccessible2_get_accName(This,varChild,pszName) \ + ( (This)->lpVtbl -> get_accName(This,varChild,pszName) ) + +#define IAccessible2_get_accValue(This,varChild,pszValue) \ + ( (This)->lpVtbl -> get_accValue(This,varChild,pszValue) ) + +#define IAccessible2_get_accDescription(This,varChild,pszDescription) \ + ( (This)->lpVtbl -> get_accDescription(This,varChild,pszDescription) ) + +#define IAccessible2_get_accRole(This,varChild,pvarRole) \ + ( (This)->lpVtbl -> get_accRole(This,varChild,pvarRole) ) + +#define IAccessible2_get_accState(This,varChild,pvarState) \ + ( (This)->lpVtbl -> get_accState(This,varChild,pvarState) ) + +#define IAccessible2_get_accHelp(This,varChild,pszHelp) \ + ( (This)->lpVtbl -> get_accHelp(This,varChild,pszHelp) ) + +#define IAccessible2_get_accHelpTopic(This,pszHelpFile,varChild,pidTopic) \ + ( (This)->lpVtbl -> get_accHelpTopic(This,pszHelpFile,varChild,pidTopic) ) + +#define IAccessible2_get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut) \ + ( (This)->lpVtbl -> get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut) ) + +#define IAccessible2_get_accFocus(This,pvarChild) \ + ( (This)->lpVtbl -> get_accFocus(This,pvarChild) ) + +#define IAccessible2_get_accSelection(This,pvarChildren) \ + ( (This)->lpVtbl -> get_accSelection(This,pvarChildren) ) + +#define IAccessible2_get_accDefaultAction(This,varChild,pszDefaultAction) \ + ( (This)->lpVtbl -> get_accDefaultAction(This,varChild,pszDefaultAction) ) + +#define IAccessible2_accSelect(This,flagsSelect,varChild) \ + ( (This)->lpVtbl -> accSelect(This,flagsSelect,varChild) ) + +#define IAccessible2_accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild) \ + ( (This)->lpVtbl -> accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild) ) + +#define IAccessible2_accNavigate(This,navDir,varStart,pvarEndUpAt) \ + ( (This)->lpVtbl -> accNavigate(This,navDir,varStart,pvarEndUpAt) ) + +#define IAccessible2_accHitTest(This,xLeft,yTop,pvarChild) \ + ( (This)->lpVtbl -> accHitTest(This,xLeft,yTop,pvarChild) ) + +#define IAccessible2_accDoDefaultAction(This,varChild) \ + ( (This)->lpVtbl -> accDoDefaultAction(This,varChild) ) + +#define IAccessible2_put_accName(This,varChild,szName) \ + ( (This)->lpVtbl -> put_accName(This,varChild,szName) ) + +#define IAccessible2_put_accValue(This,varChild,szValue) \ + ( (This)->lpVtbl -> put_accValue(This,varChild,szValue) ) + + +#define IAccessible2_get_nRelations(This,nRelations) \ + ( (This)->lpVtbl -> get_nRelations(This,nRelations) ) + +#define IAccessible2_get_relation(This,relationIndex,relation) \ + ( (This)->lpVtbl -> get_relation(This,relationIndex,relation) ) + +#define IAccessible2_get_relations(This,maxRelations,relations,nRelations) \ + ( (This)->lpVtbl -> get_relations(This,maxRelations,relations,nRelations) ) + +#define IAccessible2_role(This,role) \ + ( (This)->lpVtbl -> role(This,role) ) + +#define IAccessible2_scrollTo(This,scrollType) \ + ( (This)->lpVtbl -> scrollTo(This,scrollType) ) + +#define IAccessible2_scrollToPoint(This,coordinateType,x,y) \ + ( (This)->lpVtbl -> scrollToPoint(This,coordinateType,x,y) ) + +#define IAccessible2_get_groupPosition(This,groupLevel,similarItemsInGroup,positionInGroup) \ + ( (This)->lpVtbl -> get_groupPosition(This,groupLevel,similarItemsInGroup,positionInGroup) ) + +#define IAccessible2_get_states(This,states) \ + ( (This)->lpVtbl -> get_states(This,states) ) + +#define IAccessible2_get_extendedRole(This,extendedRole) \ + ( (This)->lpVtbl -> get_extendedRole(This,extendedRole) ) + +#define IAccessible2_get_localizedExtendedRole(This,localizedExtendedRole) \ + ( (This)->lpVtbl -> get_localizedExtendedRole(This,localizedExtendedRole) ) + +#define IAccessible2_get_nExtendedStates(This,nExtendedStates) \ + ( (This)->lpVtbl -> get_nExtendedStates(This,nExtendedStates) ) + +#define IAccessible2_get_extendedStates(This,maxExtendedStates,extendedStates,nExtendedStates) \ + ( (This)->lpVtbl -> get_extendedStates(This,maxExtendedStates,extendedStates,nExtendedStates) ) + +#define IAccessible2_get_localizedExtendedStates(This,maxLocalizedExtendedStates,localizedExtendedStates,nLocalizedExtendedStates) \ + ( (This)->lpVtbl -> get_localizedExtendedStates(This,maxLocalizedExtendedStates,localizedExtendedStates,nLocalizedExtendedStates) ) + +#define IAccessible2_get_uniqueID(This,uniqueID) \ + ( (This)->lpVtbl -> get_uniqueID(This,uniqueID) ) + +#define IAccessible2_get_windowHandle(This,windowHandle) \ + ( (This)->lpVtbl -> get_windowHandle(This,windowHandle) ) + +#define IAccessible2_get_indexInParent(This,indexInParent) \ + ( (This)->lpVtbl -> get_indexInParent(This,indexInParent) ) + +#define IAccessible2_get_locale(This,locale) \ + ( (This)->lpVtbl -> get_locale(This,locale) ) + +#define IAccessible2_get_attributes(This,attributes) \ + ( (This)->lpVtbl -> get_attributes(This,attributes) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAccessible2_INTERFACE_DEFINED__ */ + + +#ifndef __IAccessible2_2_INTERFACE_DEFINED__ +#define __IAccessible2_2_INTERFACE_DEFINED__ + +/* interface IAccessible2_2 */ +/* [uuid][object] */ + + +EXTERN_C const IID IID_IAccessible2_2; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("6C9430E9-299D-4E6F-BD01-A82A1E88D3FF") + IAccessible2_2 : public IAccessible2 + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_attribute( + /* [in] */ BSTR name, + /* [retval][out] */ VARIANT *attribute) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_accessibleWithCaret( + /* [out] */ IUnknown **accessible, + /* [retval][out] */ long *caretOffset) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_relationTargetsOfType( + /* [in] */ BSTR type, + /* [in] */ long maxTargets, + /* [size_is][size_is][out] */ IUnknown ***targets, + /* [retval][out] */ long *nTargets) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAccessible2_2Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAccessible2_2 * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAccessible2_2 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAccessible2_2 * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + IAccessible2_2 * This, + /* [out] */ UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + IAccessible2_2 * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + IAccessible2_2 * This, + /* [in] */ REFIID riid, + /* [size_is][in] */ LPOLESTR *rgszNames, + /* [range][in] */ UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IAccessible2_2 * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accParent )( + IAccessible2_2 * This, + /* [retval][out] */ IDispatch **ppdispParent); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accChildCount )( + IAccessible2_2 * This, + /* [retval][out] */ long *pcountChildren); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accChild )( + IAccessible2_2 * This, + /* [in] */ VARIANT varChild, + /* [retval][out] */ IDispatch **ppdispChild); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accName )( + IAccessible2_2 * This, + /* [optional][in] */ VARIANT varChild, + /* [retval][out] */ BSTR *pszName); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accValue )( + IAccessible2_2 * This, + /* [optional][in] */ VARIANT varChild, + /* [retval][out] */ BSTR *pszValue); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accDescription )( + IAccessible2_2 * This, + /* [optional][in] */ VARIANT varChild, + /* [retval][out] */ BSTR *pszDescription); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accRole )( + IAccessible2_2 * This, + /* [optional][in] */ VARIANT varChild, + /* [retval][out] */ VARIANT *pvarRole); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accState )( + IAccessible2_2 * This, + /* [optional][in] */ VARIANT varChild, + /* [retval][out] */ VARIANT *pvarState); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accHelp )( + IAccessible2_2 * This, + /* [optional][in] */ VARIANT varChild, + /* [retval][out] */ BSTR *pszHelp); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accHelpTopic )( + IAccessible2_2 * This, + /* [out] */ BSTR *pszHelpFile, + /* [optional][in] */ VARIANT varChild, + /* [retval][out] */ long *pidTopic); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accKeyboardShortcut )( + IAccessible2_2 * This, + /* [optional][in] */ VARIANT varChild, + /* [retval][out] */ BSTR *pszKeyboardShortcut); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accFocus )( + IAccessible2_2 * This, + /* [retval][out] */ VARIANT *pvarChild); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accSelection )( + IAccessible2_2 * This, + /* [retval][out] */ VARIANT *pvarChildren); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accDefaultAction )( + IAccessible2_2 * This, + /* [optional][in] */ VARIANT varChild, + /* [retval][out] */ BSTR *pszDefaultAction); + + /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accSelect )( + IAccessible2_2 * This, + /* [in] */ long flagsSelect, + /* [optional][in] */ VARIANT varChild); + + /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accLocation )( + IAccessible2_2 * This, + /* [out] */ long *pxLeft, + /* [out] */ long *pyTop, + /* [out] */ long *pcxWidth, + /* [out] */ long *pcyHeight, + /* [optional][in] */ VARIANT varChild); + + /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accNavigate )( + IAccessible2_2 * This, + /* [in] */ long navDir, + /* [optional][in] */ VARIANT varStart, + /* [retval][out] */ VARIANT *pvarEndUpAt); + + /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accHitTest )( + IAccessible2_2 * This, + /* [in] */ long xLeft, + /* [in] */ long yTop, + /* [retval][out] */ VARIANT *pvarChild); + + /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accDoDefaultAction )( + IAccessible2_2 * This, + /* [optional][in] */ VARIANT varChild); + + /* [id][propput][hidden] */ HRESULT ( STDMETHODCALLTYPE *put_accName )( + IAccessible2_2 * This, + /* [optional][in] */ VARIANT varChild, + /* [in] */ BSTR szName); + + /* [id][propput][hidden] */ HRESULT ( STDMETHODCALLTYPE *put_accValue )( + IAccessible2_2 * This, + /* [optional][in] */ VARIANT varChild, + /* [in] */ BSTR szValue); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nRelations )( + IAccessible2_2 * This, + /* [retval][out] */ long *nRelations); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relation )( + IAccessible2_2 * This, + /* [in] */ long relationIndex, + /* [retval][out] */ IAccessibleRelation **relation); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relations )( + IAccessible2_2 * This, + /* [in] */ long maxRelations, + /* [length_is][size_is][out] */ IAccessibleRelation **relations, + /* [retval][out] */ long *nRelations); + + HRESULT ( STDMETHODCALLTYPE *role )( + IAccessible2_2 * This, + /* [retval][out] */ long *role); + + HRESULT ( STDMETHODCALLTYPE *scrollTo )( + IAccessible2_2 * This, + /* [in] */ enum IA2ScrollType scrollType); + + HRESULT ( STDMETHODCALLTYPE *scrollToPoint )( + IAccessible2_2 * This, + /* [in] */ enum IA2CoordinateType coordinateType, + /* [in] */ long x, + /* [in] */ long y); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_groupPosition )( + IAccessible2_2 * This, + /* [out] */ long *groupLevel, + /* [out] */ long *similarItemsInGroup, + /* [retval][out] */ long *positionInGroup); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_states )( + IAccessible2_2 * This, + /* [retval][out] */ AccessibleStates *states); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extendedRole )( + IAccessible2_2 * This, + /* [retval][out] */ BSTR *extendedRole); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedExtendedRole )( + IAccessible2_2 * This, + /* [retval][out] */ BSTR *localizedExtendedRole); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nExtendedStates )( + IAccessible2_2 * This, + /* [retval][out] */ long *nExtendedStates); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extendedStates )( + IAccessible2_2 * This, + /* [in] */ long maxExtendedStates, + /* [length_is][length_is][size_is][size_is][out] */ BSTR **extendedStates, + /* [retval][out] */ long *nExtendedStates); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedExtendedStates )( + IAccessible2_2 * This, + /* [in] */ long maxLocalizedExtendedStates, + /* [length_is][length_is][size_is][size_is][out] */ BSTR **localizedExtendedStates, + /* [retval][out] */ long *nLocalizedExtendedStates); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_uniqueID )( + IAccessible2_2 * This, + /* [retval][out] */ long *uniqueID); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_windowHandle )( + IAccessible2_2 * This, + /* [retval][out] */ HWND *windowHandle); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_indexInParent )( + IAccessible2_2 * This, + /* [retval][out] */ long *indexInParent); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_locale )( + IAccessible2_2 * This, + /* [retval][out] */ IA2Locale *locale); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )( + IAccessible2_2 * This, + /* [retval][out] */ BSTR *attributes); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attribute )( + IAccessible2_2 * This, + /* [in] */ BSTR name, + /* [retval][out] */ VARIANT *attribute); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_accessibleWithCaret )( + IAccessible2_2 * This, + /* [out] */ IUnknown **accessible, + /* [retval][out] */ long *caretOffset); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relationTargetsOfType )( + IAccessible2_2 * This, + /* [in] */ BSTR type, + /* [in] */ long maxTargets, + /* [size_is][size_is][out] */ IUnknown ***targets, + /* [retval][out] */ long *nTargets); + + END_INTERFACE + } IAccessible2_2Vtbl; + + interface IAccessible2_2 + { + CONST_VTBL struct IAccessible2_2Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAccessible2_2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAccessible2_2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAccessible2_2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAccessible2_2_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IAccessible2_2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IAccessible2_2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IAccessible2_2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IAccessible2_2_get_accParent(This,ppdispParent) \ + ( (This)->lpVtbl -> get_accParent(This,ppdispParent) ) + +#define IAccessible2_2_get_accChildCount(This,pcountChildren) \ + ( (This)->lpVtbl -> get_accChildCount(This,pcountChildren) ) + +#define IAccessible2_2_get_accChild(This,varChild,ppdispChild) \ + ( (This)->lpVtbl -> get_accChild(This,varChild,ppdispChild) ) + +#define IAccessible2_2_get_accName(This,varChild,pszName) \ + ( (This)->lpVtbl -> get_accName(This,varChild,pszName) ) + +#define IAccessible2_2_get_accValue(This,varChild,pszValue) \ + ( (This)->lpVtbl -> get_accValue(This,varChild,pszValue) ) + +#define IAccessible2_2_get_accDescription(This,varChild,pszDescription) \ + ( (This)->lpVtbl -> get_accDescription(This,varChild,pszDescription) ) + +#define IAccessible2_2_get_accRole(This,varChild,pvarRole) \ + ( (This)->lpVtbl -> get_accRole(This,varChild,pvarRole) ) + +#define IAccessible2_2_get_accState(This,varChild,pvarState) \ + ( (This)->lpVtbl -> get_accState(This,varChild,pvarState) ) + +#define IAccessible2_2_get_accHelp(This,varChild,pszHelp) \ + ( (This)->lpVtbl -> get_accHelp(This,varChild,pszHelp) ) + +#define IAccessible2_2_get_accHelpTopic(This,pszHelpFile,varChild,pidTopic) \ + ( (This)->lpVtbl -> get_accHelpTopic(This,pszHelpFile,varChild,pidTopic) ) + +#define IAccessible2_2_get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut) \ + ( (This)->lpVtbl -> get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut) ) + +#define IAccessible2_2_get_accFocus(This,pvarChild) \ + ( (This)->lpVtbl -> get_accFocus(This,pvarChild) ) + +#define IAccessible2_2_get_accSelection(This,pvarChildren) \ + ( (This)->lpVtbl -> get_accSelection(This,pvarChildren) ) + +#define IAccessible2_2_get_accDefaultAction(This,varChild,pszDefaultAction) \ + ( (This)->lpVtbl -> get_accDefaultAction(This,varChild,pszDefaultAction) ) + +#define IAccessible2_2_accSelect(This,flagsSelect,varChild) \ + ( (This)->lpVtbl -> accSelect(This,flagsSelect,varChild) ) + +#define IAccessible2_2_accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild) \ + ( (This)->lpVtbl -> accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild) ) + +#define IAccessible2_2_accNavigate(This,navDir,varStart,pvarEndUpAt) \ + ( (This)->lpVtbl -> accNavigate(This,navDir,varStart,pvarEndUpAt) ) + +#define IAccessible2_2_accHitTest(This,xLeft,yTop,pvarChild) \ + ( (This)->lpVtbl -> accHitTest(This,xLeft,yTop,pvarChild) ) + +#define IAccessible2_2_accDoDefaultAction(This,varChild) \ + ( (This)->lpVtbl -> accDoDefaultAction(This,varChild) ) + +#define IAccessible2_2_put_accName(This,varChild,szName) \ + ( (This)->lpVtbl -> put_accName(This,varChild,szName) ) + +#define IAccessible2_2_put_accValue(This,varChild,szValue) \ + ( (This)->lpVtbl -> put_accValue(This,varChild,szValue) ) + + +#define IAccessible2_2_get_nRelations(This,nRelations) \ + ( (This)->lpVtbl -> get_nRelations(This,nRelations) ) + +#define IAccessible2_2_get_relation(This,relationIndex,relation) \ + ( (This)->lpVtbl -> get_relation(This,relationIndex,relation) ) + +#define IAccessible2_2_get_relations(This,maxRelations,relations,nRelations) \ + ( (This)->lpVtbl -> get_relations(This,maxRelations,relations,nRelations) ) + +#define IAccessible2_2_role(This,role) \ + ( (This)->lpVtbl -> role(This,role) ) + +#define IAccessible2_2_scrollTo(This,scrollType) \ + ( (This)->lpVtbl -> scrollTo(This,scrollType) ) + +#define IAccessible2_2_scrollToPoint(This,coordinateType,x,y) \ + ( (This)->lpVtbl -> scrollToPoint(This,coordinateType,x,y) ) + +#define IAccessible2_2_get_groupPosition(This,groupLevel,similarItemsInGroup,positionInGroup) \ + ( (This)->lpVtbl -> get_groupPosition(This,groupLevel,similarItemsInGroup,positionInGroup) ) + +#define IAccessible2_2_get_states(This,states) \ + ( (This)->lpVtbl -> get_states(This,states) ) + +#define IAccessible2_2_get_extendedRole(This,extendedRole) \ + ( (This)->lpVtbl -> get_extendedRole(This,extendedRole) ) + +#define IAccessible2_2_get_localizedExtendedRole(This,localizedExtendedRole) \ + ( (This)->lpVtbl -> get_localizedExtendedRole(This,localizedExtendedRole) ) + +#define IAccessible2_2_get_nExtendedStates(This,nExtendedStates) \ + ( (This)->lpVtbl -> get_nExtendedStates(This,nExtendedStates) ) + +#define IAccessible2_2_get_extendedStates(This,maxExtendedStates,extendedStates,nExtendedStates) \ + ( (This)->lpVtbl -> get_extendedStates(This,maxExtendedStates,extendedStates,nExtendedStates) ) + +#define IAccessible2_2_get_localizedExtendedStates(This,maxLocalizedExtendedStates,localizedExtendedStates,nLocalizedExtendedStates) \ + ( (This)->lpVtbl -> get_localizedExtendedStates(This,maxLocalizedExtendedStates,localizedExtendedStates,nLocalizedExtendedStates) ) + +#define IAccessible2_2_get_uniqueID(This,uniqueID) \ + ( (This)->lpVtbl -> get_uniqueID(This,uniqueID) ) + +#define IAccessible2_2_get_windowHandle(This,windowHandle) \ + ( (This)->lpVtbl -> get_windowHandle(This,windowHandle) ) + +#define IAccessible2_2_get_indexInParent(This,indexInParent) \ + ( (This)->lpVtbl -> get_indexInParent(This,indexInParent) ) + +#define IAccessible2_2_get_locale(This,locale) \ + ( (This)->lpVtbl -> get_locale(This,locale) ) + +#define IAccessible2_2_get_attributes(This,attributes) \ + ( (This)->lpVtbl -> get_attributes(This,attributes) ) + + +#define IAccessible2_2_get_attribute(This,name,attribute) \ + ( (This)->lpVtbl -> get_attribute(This,name,attribute) ) + +#define IAccessible2_2_get_accessibleWithCaret(This,accessible,caretOffset) \ + ( (This)->lpVtbl -> get_accessibleWithCaret(This,accessible,caretOffset) ) + +#define IAccessible2_2_get_relationTargetsOfType(This,type,maxTargets,targets,nTargets) \ + ( (This)->lpVtbl -> get_relationTargetsOfType(This,type,maxTargets,targets,nTargets) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAccessible2_2_INTERFACE_DEFINED__ */ + + +/* interface __MIDL_itf_ia2_api_all_0000_0004 */ +/* [local] */ + +typedef long IA2Color; + + + +extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0004_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0004_v0_0_s_ifspec; + +#ifndef __IAccessibleComponent_INTERFACE_DEFINED__ +#define __IAccessibleComponent_INTERFACE_DEFINED__ + +/* interface IAccessibleComponent */ +/* [uuid][object] */ + + +EXTERN_C const IID IID_IAccessibleComponent; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("1546D4B0-4C98-4bda-89AE-9A64748BDDE4") + IAccessibleComponent : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_locationInParent( + /* [out] */ long *x, + /* [retval][out] */ long *y) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_foreground( + /* [retval][out] */ IA2Color *foreground) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_background( + /* [retval][out] */ IA2Color *background) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAccessibleComponentVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAccessibleComponent * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAccessibleComponent * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAccessibleComponent * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_locationInParent )( + IAccessibleComponent * This, + /* [out] */ long *x, + /* [retval][out] */ long *y); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_foreground )( + IAccessibleComponent * This, + /* [retval][out] */ IA2Color *foreground); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_background )( + IAccessibleComponent * This, + /* [retval][out] */ IA2Color *background); + + END_INTERFACE + } IAccessibleComponentVtbl; + + interface IAccessibleComponent + { + CONST_VTBL struct IAccessibleComponentVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAccessibleComponent_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAccessibleComponent_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAccessibleComponent_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAccessibleComponent_get_locationInParent(This,x,y) \ + ( (This)->lpVtbl -> get_locationInParent(This,x,y) ) + +#define IAccessibleComponent_get_foreground(This,foreground) \ + ( (This)->lpVtbl -> get_foreground(This,foreground) ) + +#define IAccessibleComponent_get_background(This,background) \ + ( (This)->lpVtbl -> get_background(This,background) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAccessibleComponent_INTERFACE_DEFINED__ */ + + +#ifndef __IAccessibleValue_INTERFACE_DEFINED__ +#define __IAccessibleValue_INTERFACE_DEFINED__ + +/* interface IAccessibleValue */ +/* [uuid][object] */ + + +EXTERN_C const IID IID_IAccessibleValue; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("35855B5B-C566-4fd0-A7B1-E65465600394") + IAccessibleValue : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentValue( + /* [retval][out] */ VARIANT *currentValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE setCurrentValue( + /* [in] */ VARIANT value) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_maximumValue( + /* [retval][out] */ VARIANT *maximumValue) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_minimumValue( + /* [retval][out] */ VARIANT *minimumValue) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAccessibleValueVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAccessibleValue * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAccessibleValue * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAccessibleValue * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentValue )( + IAccessibleValue * This, + /* [retval][out] */ VARIANT *currentValue); + + HRESULT ( STDMETHODCALLTYPE *setCurrentValue )( + IAccessibleValue * This, + /* [in] */ VARIANT value); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_maximumValue )( + IAccessibleValue * This, + /* [retval][out] */ VARIANT *maximumValue); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_minimumValue )( + IAccessibleValue * This, + /* [retval][out] */ VARIANT *minimumValue); + + END_INTERFACE + } IAccessibleValueVtbl; + + interface IAccessibleValue + { + CONST_VTBL struct IAccessibleValueVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAccessibleValue_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAccessibleValue_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAccessibleValue_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAccessibleValue_get_currentValue(This,currentValue) \ + ( (This)->lpVtbl -> get_currentValue(This,currentValue) ) + +#define IAccessibleValue_setCurrentValue(This,value) \ + ( (This)->lpVtbl -> setCurrentValue(This,value) ) + +#define IAccessibleValue_get_maximumValue(This,maximumValue) \ + ( (This)->lpVtbl -> get_maximumValue(This,maximumValue) ) + +#define IAccessibleValue_get_minimumValue(This,minimumValue) \ + ( (This)->lpVtbl -> get_minimumValue(This,minimumValue) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAccessibleValue_INTERFACE_DEFINED__ */ + + +/* interface __MIDL_itf_ia2_api_all_0000_0006 */ +/* [local] */ + +typedef struct IA2TextSegment + { + BSTR text; + long start; + long end; + } IA2TextSegment; + + +enum IA2TextBoundaryType + { IA2_TEXT_BOUNDARY_CHAR = 0, + IA2_TEXT_BOUNDARY_WORD = ( IA2_TEXT_BOUNDARY_CHAR + 1 ) , + IA2_TEXT_BOUNDARY_SENTENCE = ( IA2_TEXT_BOUNDARY_WORD + 1 ) , + IA2_TEXT_BOUNDARY_PARAGRAPH = ( IA2_TEXT_BOUNDARY_SENTENCE + 1 ) , + IA2_TEXT_BOUNDARY_LINE = ( IA2_TEXT_BOUNDARY_PARAGRAPH + 1 ) , + IA2_TEXT_BOUNDARY_ALL = ( IA2_TEXT_BOUNDARY_LINE + 1 ) + } ; + + +extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0006_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0006_v0_0_s_ifspec; + +#ifndef __IAccessibleText_INTERFACE_DEFINED__ +#define __IAccessibleText_INTERFACE_DEFINED__ + +/* interface IAccessibleText */ +/* [uuid][object] */ + + +EXTERN_C const IID IID_IAccessibleText; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("24FD2FFB-3AAD-4a08-8335-A3AD89C0FB4B") + IAccessibleText : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE addSelection( + /* [in] */ long startOffset, + /* [in] */ long endOffset) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_attributes( + /* [in] */ long offset, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *textAttributes) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_caretOffset( + /* [retval][out] */ long *offset) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_characterExtents( + /* [in] */ long offset, + /* [in] */ enum IA2CoordinateType coordType, + /* [out] */ long *x, + /* [out] */ long *y, + /* [out] */ long *width, + /* [retval][out] */ long *height) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelections( + /* [retval][out] */ long *nSelections) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_offsetAtPoint( + /* [in] */ long x, + /* [in] */ long y, + /* [in] */ enum IA2CoordinateType coordType, + /* [retval][out] */ long *offset) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selection( + /* [in] */ long selectionIndex, + /* [out] */ long *startOffset, + /* [retval][out] */ long *endOffset) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_text( + /* [in] */ long startOffset, + /* [in] */ long endOffset, + /* [retval][out] */ BSTR *text) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_textBeforeOffset( + /* [in] */ long offset, + /* [in] */ enum IA2TextBoundaryType boundaryType, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *text) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_textAfterOffset( + /* [in] */ long offset, + /* [in] */ enum IA2TextBoundaryType boundaryType, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *text) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_textAtOffset( + /* [in] */ long offset, + /* [in] */ enum IA2TextBoundaryType boundaryType, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *text) = 0; + + virtual HRESULT STDMETHODCALLTYPE removeSelection( + /* [in] */ long selectionIndex) = 0; + + virtual HRESULT STDMETHODCALLTYPE setCaretOffset( + /* [in] */ long offset) = 0; + + virtual HRESULT STDMETHODCALLTYPE setSelection( + /* [in] */ long selectionIndex, + /* [in] */ long startOffset, + /* [in] */ long endOffset) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nCharacters( + /* [retval][out] */ long *nCharacters) = 0; + + virtual HRESULT STDMETHODCALLTYPE scrollSubstringTo( + /* [in] */ long startIndex, + /* [in] */ long endIndex, + /* [in] */ enum IA2ScrollType scrollType) = 0; + + virtual HRESULT STDMETHODCALLTYPE scrollSubstringToPoint( + /* [in] */ long startIndex, + /* [in] */ long endIndex, + /* [in] */ enum IA2CoordinateType coordinateType, + /* [in] */ long x, + /* [in] */ long y) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_newText( + /* [retval][out] */ IA2TextSegment *newText) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_oldText( + /* [retval][out] */ IA2TextSegment *oldText) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAccessibleTextVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAccessibleText * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAccessibleText * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAccessibleText * This); + + HRESULT ( STDMETHODCALLTYPE *addSelection )( + IAccessibleText * This, + /* [in] */ long startOffset, + /* [in] */ long endOffset); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )( + IAccessibleText * This, + /* [in] */ long offset, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *textAttributes); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caretOffset )( + IAccessibleText * This, + /* [retval][out] */ long *offset); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_characterExtents )( + IAccessibleText * This, + /* [in] */ long offset, + /* [in] */ enum IA2CoordinateType coordType, + /* [out] */ long *x, + /* [out] */ long *y, + /* [out] */ long *width, + /* [retval][out] */ long *height); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelections )( + IAccessibleText * This, + /* [retval][out] */ long *nSelections); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetAtPoint )( + IAccessibleText * This, + /* [in] */ long x, + /* [in] */ long y, + /* [in] */ enum IA2CoordinateType coordType, + /* [retval][out] */ long *offset); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selection )( + IAccessibleText * This, + /* [in] */ long selectionIndex, + /* [out] */ long *startOffset, + /* [retval][out] */ long *endOffset); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_text )( + IAccessibleText * This, + /* [in] */ long startOffset, + /* [in] */ long endOffset, + /* [retval][out] */ BSTR *text); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textBeforeOffset )( + IAccessibleText * This, + /* [in] */ long offset, + /* [in] */ enum IA2TextBoundaryType boundaryType, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *text); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAfterOffset )( + IAccessibleText * This, + /* [in] */ long offset, + /* [in] */ enum IA2TextBoundaryType boundaryType, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *text); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAtOffset )( + IAccessibleText * This, + /* [in] */ long offset, + /* [in] */ enum IA2TextBoundaryType boundaryType, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *text); + + HRESULT ( STDMETHODCALLTYPE *removeSelection )( + IAccessibleText * This, + /* [in] */ long selectionIndex); + + HRESULT ( STDMETHODCALLTYPE *setCaretOffset )( + IAccessibleText * This, + /* [in] */ long offset); + + HRESULT ( STDMETHODCALLTYPE *setSelection )( + IAccessibleText * This, + /* [in] */ long selectionIndex, + /* [in] */ long startOffset, + /* [in] */ long endOffset); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nCharacters )( + IAccessibleText * This, + /* [retval][out] */ long *nCharacters); + + HRESULT ( STDMETHODCALLTYPE *scrollSubstringTo )( + IAccessibleText * This, + /* [in] */ long startIndex, + /* [in] */ long endIndex, + /* [in] */ enum IA2ScrollType scrollType); + + HRESULT ( STDMETHODCALLTYPE *scrollSubstringToPoint )( + IAccessibleText * This, + /* [in] */ long startIndex, + /* [in] */ long endIndex, + /* [in] */ enum IA2CoordinateType coordinateType, + /* [in] */ long x, + /* [in] */ long y); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_newText )( + IAccessibleText * This, + /* [retval][out] */ IA2TextSegment *newText); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_oldText )( + IAccessibleText * This, + /* [retval][out] */ IA2TextSegment *oldText); + + END_INTERFACE + } IAccessibleTextVtbl; + + interface IAccessibleText + { + CONST_VTBL struct IAccessibleTextVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAccessibleText_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAccessibleText_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAccessibleText_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAccessibleText_addSelection(This,startOffset,endOffset) \ + ( (This)->lpVtbl -> addSelection(This,startOffset,endOffset) ) + +#define IAccessibleText_get_attributes(This,offset,startOffset,endOffset,textAttributes) \ + ( (This)->lpVtbl -> get_attributes(This,offset,startOffset,endOffset,textAttributes) ) + +#define IAccessibleText_get_caretOffset(This,offset) \ + ( (This)->lpVtbl -> get_caretOffset(This,offset) ) + +#define IAccessibleText_get_characterExtents(This,offset,coordType,x,y,width,height) \ + ( (This)->lpVtbl -> get_characterExtents(This,offset,coordType,x,y,width,height) ) + +#define IAccessibleText_get_nSelections(This,nSelections) \ + ( (This)->lpVtbl -> get_nSelections(This,nSelections) ) + +#define IAccessibleText_get_offsetAtPoint(This,x,y,coordType,offset) \ + ( (This)->lpVtbl -> get_offsetAtPoint(This,x,y,coordType,offset) ) + +#define IAccessibleText_get_selection(This,selectionIndex,startOffset,endOffset) \ + ( (This)->lpVtbl -> get_selection(This,selectionIndex,startOffset,endOffset) ) + +#define IAccessibleText_get_text(This,startOffset,endOffset,text) \ + ( (This)->lpVtbl -> get_text(This,startOffset,endOffset,text) ) + +#define IAccessibleText_get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) \ + ( (This)->lpVtbl -> get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) ) + +#define IAccessibleText_get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) \ + ( (This)->lpVtbl -> get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) ) + +#define IAccessibleText_get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) \ + ( (This)->lpVtbl -> get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) ) + +#define IAccessibleText_removeSelection(This,selectionIndex) \ + ( (This)->lpVtbl -> removeSelection(This,selectionIndex) ) + +#define IAccessibleText_setCaretOffset(This,offset) \ + ( (This)->lpVtbl -> setCaretOffset(This,offset) ) + +#define IAccessibleText_setSelection(This,selectionIndex,startOffset,endOffset) \ + ( (This)->lpVtbl -> setSelection(This,selectionIndex,startOffset,endOffset) ) + +#define IAccessibleText_get_nCharacters(This,nCharacters) \ + ( (This)->lpVtbl -> get_nCharacters(This,nCharacters) ) + +#define IAccessibleText_scrollSubstringTo(This,startIndex,endIndex,scrollType) \ + ( (This)->lpVtbl -> scrollSubstringTo(This,startIndex,endIndex,scrollType) ) + +#define IAccessibleText_scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) \ + ( (This)->lpVtbl -> scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) ) + +#define IAccessibleText_get_newText(This,newText) \ + ( (This)->lpVtbl -> get_newText(This,newText) ) + +#define IAccessibleText_get_oldText(This,oldText) \ + ( (This)->lpVtbl -> get_oldText(This,oldText) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAccessibleText_INTERFACE_DEFINED__ */ + + +#ifndef __IAccessibleText2_INTERFACE_DEFINED__ +#define __IAccessibleText2_INTERFACE_DEFINED__ + +/* interface IAccessibleText2 */ +/* [uuid][object] */ + + +EXTERN_C const IID IID_IAccessibleText2; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("9690A9CC-5C80-4DF5-852E-2D5AE4189A54") + IAccessibleText2 : public IAccessibleText + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_attributeRange( + /* [in] */ long offset, + /* [in] */ BSTR filter, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *attributeValues) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAccessibleText2Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAccessibleText2 * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAccessibleText2 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAccessibleText2 * This); + + HRESULT ( STDMETHODCALLTYPE *addSelection )( + IAccessibleText2 * This, + /* [in] */ long startOffset, + /* [in] */ long endOffset); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )( + IAccessibleText2 * This, + /* [in] */ long offset, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *textAttributes); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caretOffset )( + IAccessibleText2 * This, + /* [retval][out] */ long *offset); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_characterExtents )( + IAccessibleText2 * This, + /* [in] */ long offset, + /* [in] */ enum IA2CoordinateType coordType, + /* [out] */ long *x, + /* [out] */ long *y, + /* [out] */ long *width, + /* [retval][out] */ long *height); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelections )( + IAccessibleText2 * This, + /* [retval][out] */ long *nSelections); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetAtPoint )( + IAccessibleText2 * This, + /* [in] */ long x, + /* [in] */ long y, + /* [in] */ enum IA2CoordinateType coordType, + /* [retval][out] */ long *offset); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selection )( + IAccessibleText2 * This, + /* [in] */ long selectionIndex, + /* [out] */ long *startOffset, + /* [retval][out] */ long *endOffset); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_text )( + IAccessibleText2 * This, + /* [in] */ long startOffset, + /* [in] */ long endOffset, + /* [retval][out] */ BSTR *text); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textBeforeOffset )( + IAccessibleText2 * This, + /* [in] */ long offset, + /* [in] */ enum IA2TextBoundaryType boundaryType, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *text); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAfterOffset )( + IAccessibleText2 * This, + /* [in] */ long offset, + /* [in] */ enum IA2TextBoundaryType boundaryType, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *text); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAtOffset )( + IAccessibleText2 * This, + /* [in] */ long offset, + /* [in] */ enum IA2TextBoundaryType boundaryType, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *text); + + HRESULT ( STDMETHODCALLTYPE *removeSelection )( + IAccessibleText2 * This, + /* [in] */ long selectionIndex); + + HRESULT ( STDMETHODCALLTYPE *setCaretOffset )( + IAccessibleText2 * This, + /* [in] */ long offset); + + HRESULT ( STDMETHODCALLTYPE *setSelection )( + IAccessibleText2 * This, + /* [in] */ long selectionIndex, + /* [in] */ long startOffset, + /* [in] */ long endOffset); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nCharacters )( + IAccessibleText2 * This, + /* [retval][out] */ long *nCharacters); + + HRESULT ( STDMETHODCALLTYPE *scrollSubstringTo )( + IAccessibleText2 * This, + /* [in] */ long startIndex, + /* [in] */ long endIndex, + /* [in] */ enum IA2ScrollType scrollType); + + HRESULT ( STDMETHODCALLTYPE *scrollSubstringToPoint )( + IAccessibleText2 * This, + /* [in] */ long startIndex, + /* [in] */ long endIndex, + /* [in] */ enum IA2CoordinateType coordinateType, + /* [in] */ long x, + /* [in] */ long y); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_newText )( + IAccessibleText2 * This, + /* [retval][out] */ IA2TextSegment *newText); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_oldText )( + IAccessibleText2 * This, + /* [retval][out] */ IA2TextSegment *oldText); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributeRange )( + IAccessibleText2 * This, + /* [in] */ long offset, + /* [in] */ BSTR filter, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *attributeValues); + + END_INTERFACE + } IAccessibleText2Vtbl; + + interface IAccessibleText2 + { + CONST_VTBL struct IAccessibleText2Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAccessibleText2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAccessibleText2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAccessibleText2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAccessibleText2_addSelection(This,startOffset,endOffset) \ + ( (This)->lpVtbl -> addSelection(This,startOffset,endOffset) ) + +#define IAccessibleText2_get_attributes(This,offset,startOffset,endOffset,textAttributes) \ + ( (This)->lpVtbl -> get_attributes(This,offset,startOffset,endOffset,textAttributes) ) + +#define IAccessibleText2_get_caretOffset(This,offset) \ + ( (This)->lpVtbl -> get_caretOffset(This,offset) ) + +#define IAccessibleText2_get_characterExtents(This,offset,coordType,x,y,width,height) \ + ( (This)->lpVtbl -> get_characterExtents(This,offset,coordType,x,y,width,height) ) + +#define IAccessibleText2_get_nSelections(This,nSelections) \ + ( (This)->lpVtbl -> get_nSelections(This,nSelections) ) + +#define IAccessibleText2_get_offsetAtPoint(This,x,y,coordType,offset) \ + ( (This)->lpVtbl -> get_offsetAtPoint(This,x,y,coordType,offset) ) + +#define IAccessibleText2_get_selection(This,selectionIndex,startOffset,endOffset) \ + ( (This)->lpVtbl -> get_selection(This,selectionIndex,startOffset,endOffset) ) + +#define IAccessibleText2_get_text(This,startOffset,endOffset,text) \ + ( (This)->lpVtbl -> get_text(This,startOffset,endOffset,text) ) + +#define IAccessibleText2_get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) \ + ( (This)->lpVtbl -> get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) ) + +#define IAccessibleText2_get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) \ + ( (This)->lpVtbl -> get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) ) + +#define IAccessibleText2_get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) \ + ( (This)->lpVtbl -> get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) ) + +#define IAccessibleText2_removeSelection(This,selectionIndex) \ + ( (This)->lpVtbl -> removeSelection(This,selectionIndex) ) + +#define IAccessibleText2_setCaretOffset(This,offset) \ + ( (This)->lpVtbl -> setCaretOffset(This,offset) ) + +#define IAccessibleText2_setSelection(This,selectionIndex,startOffset,endOffset) \ + ( (This)->lpVtbl -> setSelection(This,selectionIndex,startOffset,endOffset) ) + +#define IAccessibleText2_get_nCharacters(This,nCharacters) \ + ( (This)->lpVtbl -> get_nCharacters(This,nCharacters) ) + +#define IAccessibleText2_scrollSubstringTo(This,startIndex,endIndex,scrollType) \ + ( (This)->lpVtbl -> scrollSubstringTo(This,startIndex,endIndex,scrollType) ) + +#define IAccessibleText2_scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) \ + ( (This)->lpVtbl -> scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) ) + +#define IAccessibleText2_get_newText(This,newText) \ + ( (This)->lpVtbl -> get_newText(This,newText) ) + +#define IAccessibleText2_get_oldText(This,oldText) \ + ( (This)->lpVtbl -> get_oldText(This,oldText) ) + + +#define IAccessibleText2_get_attributeRange(This,offset,filter,startOffset,endOffset,attributeValues) \ + ( (This)->lpVtbl -> get_attributeRange(This,offset,filter,startOffset,endOffset,attributeValues) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAccessibleText2_INTERFACE_DEFINED__ */ + + +#ifndef __IAccessibleEditableText_INTERFACE_DEFINED__ +#define __IAccessibleEditableText_INTERFACE_DEFINED__ + +/* interface IAccessibleEditableText */ +/* [uuid][object] */ + + +EXTERN_C const IID IID_IAccessibleEditableText; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("A59AA09A-7011-4b65-939D-32B1FB5547E3") + IAccessibleEditableText : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE copyText( + /* [in] */ long startOffset, + /* [in] */ long endOffset) = 0; + + virtual HRESULT STDMETHODCALLTYPE deleteText( + /* [in] */ long startOffset, + /* [in] */ long endOffset) = 0; + + virtual HRESULT STDMETHODCALLTYPE insertText( + /* [in] */ long offset, + /* [in] */ BSTR *text) = 0; + + virtual HRESULT STDMETHODCALLTYPE cutText( + /* [in] */ long startOffset, + /* [in] */ long endOffset) = 0; + + virtual HRESULT STDMETHODCALLTYPE pasteText( + /* [in] */ long offset) = 0; + + virtual HRESULT STDMETHODCALLTYPE replaceText( + /* [in] */ long startOffset, + /* [in] */ long endOffset, + /* [in] */ BSTR *text) = 0; + + virtual HRESULT STDMETHODCALLTYPE setAttributes( + /* [in] */ long startOffset, + /* [in] */ long endOffset, + /* [in] */ BSTR *attributes) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAccessibleEditableTextVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAccessibleEditableText * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAccessibleEditableText * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAccessibleEditableText * This); + + HRESULT ( STDMETHODCALLTYPE *copyText )( + IAccessibleEditableText * This, + /* [in] */ long startOffset, + /* [in] */ long endOffset); + + HRESULT ( STDMETHODCALLTYPE *deleteText )( + IAccessibleEditableText * This, + /* [in] */ long startOffset, + /* [in] */ long endOffset); + + HRESULT ( STDMETHODCALLTYPE *insertText )( + IAccessibleEditableText * This, + /* [in] */ long offset, + /* [in] */ BSTR *text); + + HRESULT ( STDMETHODCALLTYPE *cutText )( + IAccessibleEditableText * This, + /* [in] */ long startOffset, + /* [in] */ long endOffset); + + HRESULT ( STDMETHODCALLTYPE *pasteText )( + IAccessibleEditableText * This, + /* [in] */ long offset); + + HRESULT ( STDMETHODCALLTYPE *replaceText )( + IAccessibleEditableText * This, + /* [in] */ long startOffset, + /* [in] */ long endOffset, + /* [in] */ BSTR *text); + + HRESULT ( STDMETHODCALLTYPE *setAttributes )( + IAccessibleEditableText * This, + /* [in] */ long startOffset, + /* [in] */ long endOffset, + /* [in] */ BSTR *attributes); + + END_INTERFACE + } IAccessibleEditableTextVtbl; + + interface IAccessibleEditableText + { + CONST_VTBL struct IAccessibleEditableTextVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAccessibleEditableText_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAccessibleEditableText_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAccessibleEditableText_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAccessibleEditableText_copyText(This,startOffset,endOffset) \ + ( (This)->lpVtbl -> copyText(This,startOffset,endOffset) ) + +#define IAccessibleEditableText_deleteText(This,startOffset,endOffset) \ + ( (This)->lpVtbl -> deleteText(This,startOffset,endOffset) ) + +#define IAccessibleEditableText_insertText(This,offset,text) \ + ( (This)->lpVtbl -> insertText(This,offset,text) ) + +#define IAccessibleEditableText_cutText(This,startOffset,endOffset) \ + ( (This)->lpVtbl -> cutText(This,startOffset,endOffset) ) + +#define IAccessibleEditableText_pasteText(This,offset) \ + ( (This)->lpVtbl -> pasteText(This,offset) ) + +#define IAccessibleEditableText_replaceText(This,startOffset,endOffset,text) \ + ( (This)->lpVtbl -> replaceText(This,startOffset,endOffset,text) ) + +#define IAccessibleEditableText_setAttributes(This,startOffset,endOffset,attributes) \ + ( (This)->lpVtbl -> setAttributes(This,startOffset,endOffset,attributes) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAccessibleEditableText_INTERFACE_DEFINED__ */ + + +#ifndef __IAccessibleHyperlink_INTERFACE_DEFINED__ +#define __IAccessibleHyperlink_INTERFACE_DEFINED__ + +/* interface IAccessibleHyperlink */ +/* [uuid][object] */ + + +EXTERN_C const IID IID_IAccessibleHyperlink; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("01C20F2B-3DD2-400f-949F-AD00BDAB1D41") + IAccessibleHyperlink : public IAccessibleAction + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_anchor( + /* [in] */ long index, + /* [retval][out] */ VARIANT *anchor) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_anchorTarget( + /* [in] */ long index, + /* [retval][out] */ VARIANT *anchorTarget) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_startIndex( + /* [retval][out] */ long *index) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_endIndex( + /* [retval][out] */ long *index) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_valid( + /* [retval][out] */ boolean *valid) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAccessibleHyperlinkVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAccessibleHyperlink * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAccessibleHyperlink * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAccessibleHyperlink * This); + + HRESULT ( STDMETHODCALLTYPE *nActions )( + IAccessibleHyperlink * This, + /* [retval][out] */ long *nActions); + + HRESULT ( STDMETHODCALLTYPE *doAction )( + IAccessibleHyperlink * This, + /* [in] */ long actionIndex); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_description )( + IAccessibleHyperlink * This, + /* [in] */ long actionIndex, + /* [retval][out] */ BSTR *description); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_keyBinding )( + IAccessibleHyperlink * This, + /* [in] */ long actionIndex, + /* [in] */ long nMaxBindings, + /* [length_is][length_is][size_is][size_is][out] */ BSTR **keyBindings, + /* [retval][out] */ long *nBindings); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( + IAccessibleHyperlink * This, + /* [in] */ long actionIndex, + /* [retval][out] */ BSTR *name); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedName )( + IAccessibleHyperlink * This, + /* [in] */ long actionIndex, + /* [retval][out] */ BSTR *localizedName); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_anchor )( + IAccessibleHyperlink * This, + /* [in] */ long index, + /* [retval][out] */ VARIANT *anchor); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_anchorTarget )( + IAccessibleHyperlink * This, + /* [in] */ long index, + /* [retval][out] */ VARIANT *anchorTarget); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_startIndex )( + IAccessibleHyperlink * This, + /* [retval][out] */ long *index); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_endIndex )( + IAccessibleHyperlink * This, + /* [retval][out] */ long *index); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_valid )( + IAccessibleHyperlink * This, + /* [retval][out] */ boolean *valid); + + END_INTERFACE + } IAccessibleHyperlinkVtbl; + + interface IAccessibleHyperlink + { + CONST_VTBL struct IAccessibleHyperlinkVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAccessibleHyperlink_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAccessibleHyperlink_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAccessibleHyperlink_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAccessibleHyperlink_nActions(This,nActions) \ + ( (This)->lpVtbl -> nActions(This,nActions) ) + +#define IAccessibleHyperlink_doAction(This,actionIndex) \ + ( (This)->lpVtbl -> doAction(This,actionIndex) ) + +#define IAccessibleHyperlink_get_description(This,actionIndex,description) \ + ( (This)->lpVtbl -> get_description(This,actionIndex,description) ) + +#define IAccessibleHyperlink_get_keyBinding(This,actionIndex,nMaxBindings,keyBindings,nBindings) \ + ( (This)->lpVtbl -> get_keyBinding(This,actionIndex,nMaxBindings,keyBindings,nBindings) ) + +#define IAccessibleHyperlink_get_name(This,actionIndex,name) \ + ( (This)->lpVtbl -> get_name(This,actionIndex,name) ) + +#define IAccessibleHyperlink_get_localizedName(This,actionIndex,localizedName) \ + ( (This)->lpVtbl -> get_localizedName(This,actionIndex,localizedName) ) + + +#define IAccessibleHyperlink_get_anchor(This,index,anchor) \ + ( (This)->lpVtbl -> get_anchor(This,index,anchor) ) + +#define IAccessibleHyperlink_get_anchorTarget(This,index,anchorTarget) \ + ( (This)->lpVtbl -> get_anchorTarget(This,index,anchorTarget) ) + +#define IAccessibleHyperlink_get_startIndex(This,index) \ + ( (This)->lpVtbl -> get_startIndex(This,index) ) + +#define IAccessibleHyperlink_get_endIndex(This,index) \ + ( (This)->lpVtbl -> get_endIndex(This,index) ) + +#define IAccessibleHyperlink_get_valid(This,valid) \ + ( (This)->lpVtbl -> get_valid(This,valid) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAccessibleHyperlink_INTERFACE_DEFINED__ */ + + +#ifndef __IAccessibleHypertext_INTERFACE_DEFINED__ +#define __IAccessibleHypertext_INTERFACE_DEFINED__ + +/* interface IAccessibleHypertext */ +/* [uuid][object] */ + + +EXTERN_C const IID IID_IAccessibleHypertext; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("6B4F8BBF-F1F2-418a-B35E-A195BC4103B9") + IAccessibleHypertext : public IAccessibleText + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nHyperlinks( + /* [retval][out] */ long *hyperlinkCount) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_hyperlink( + /* [in] */ long index, + /* [retval][out] */ IAccessibleHyperlink **hyperlink) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_hyperlinkIndex( + /* [in] */ long charIndex, + /* [retval][out] */ long *hyperlinkIndex) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAccessibleHypertextVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAccessibleHypertext * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAccessibleHypertext * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAccessibleHypertext * This); + + HRESULT ( STDMETHODCALLTYPE *addSelection )( + IAccessibleHypertext * This, + /* [in] */ long startOffset, + /* [in] */ long endOffset); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )( + IAccessibleHypertext * This, + /* [in] */ long offset, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *textAttributes); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caretOffset )( + IAccessibleHypertext * This, + /* [retval][out] */ long *offset); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_characterExtents )( + IAccessibleHypertext * This, + /* [in] */ long offset, + /* [in] */ enum IA2CoordinateType coordType, + /* [out] */ long *x, + /* [out] */ long *y, + /* [out] */ long *width, + /* [retval][out] */ long *height); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelections )( + IAccessibleHypertext * This, + /* [retval][out] */ long *nSelections); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetAtPoint )( + IAccessibleHypertext * This, + /* [in] */ long x, + /* [in] */ long y, + /* [in] */ enum IA2CoordinateType coordType, + /* [retval][out] */ long *offset); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selection )( + IAccessibleHypertext * This, + /* [in] */ long selectionIndex, + /* [out] */ long *startOffset, + /* [retval][out] */ long *endOffset); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_text )( + IAccessibleHypertext * This, + /* [in] */ long startOffset, + /* [in] */ long endOffset, + /* [retval][out] */ BSTR *text); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textBeforeOffset )( + IAccessibleHypertext * This, + /* [in] */ long offset, + /* [in] */ enum IA2TextBoundaryType boundaryType, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *text); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAfterOffset )( + IAccessibleHypertext * This, + /* [in] */ long offset, + /* [in] */ enum IA2TextBoundaryType boundaryType, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *text); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAtOffset )( + IAccessibleHypertext * This, + /* [in] */ long offset, + /* [in] */ enum IA2TextBoundaryType boundaryType, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *text); + + HRESULT ( STDMETHODCALLTYPE *removeSelection )( + IAccessibleHypertext * This, + /* [in] */ long selectionIndex); + + HRESULT ( STDMETHODCALLTYPE *setCaretOffset )( + IAccessibleHypertext * This, + /* [in] */ long offset); + + HRESULT ( STDMETHODCALLTYPE *setSelection )( + IAccessibleHypertext * This, + /* [in] */ long selectionIndex, + /* [in] */ long startOffset, + /* [in] */ long endOffset); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nCharacters )( + IAccessibleHypertext * This, + /* [retval][out] */ long *nCharacters); + + HRESULT ( STDMETHODCALLTYPE *scrollSubstringTo )( + IAccessibleHypertext * This, + /* [in] */ long startIndex, + /* [in] */ long endIndex, + /* [in] */ enum IA2ScrollType scrollType); + + HRESULT ( STDMETHODCALLTYPE *scrollSubstringToPoint )( + IAccessibleHypertext * This, + /* [in] */ long startIndex, + /* [in] */ long endIndex, + /* [in] */ enum IA2CoordinateType coordinateType, + /* [in] */ long x, + /* [in] */ long y); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_newText )( + IAccessibleHypertext * This, + /* [retval][out] */ IA2TextSegment *newText); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_oldText )( + IAccessibleHypertext * This, + /* [retval][out] */ IA2TextSegment *oldText); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nHyperlinks )( + IAccessibleHypertext * This, + /* [retval][out] */ long *hyperlinkCount); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hyperlink )( + IAccessibleHypertext * This, + /* [in] */ long index, + /* [retval][out] */ IAccessibleHyperlink **hyperlink); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hyperlinkIndex )( + IAccessibleHypertext * This, + /* [in] */ long charIndex, + /* [retval][out] */ long *hyperlinkIndex); + + END_INTERFACE + } IAccessibleHypertextVtbl; + + interface IAccessibleHypertext + { + CONST_VTBL struct IAccessibleHypertextVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAccessibleHypertext_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAccessibleHypertext_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAccessibleHypertext_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAccessibleHypertext_addSelection(This,startOffset,endOffset) \ + ( (This)->lpVtbl -> addSelection(This,startOffset,endOffset) ) + +#define IAccessibleHypertext_get_attributes(This,offset,startOffset,endOffset,textAttributes) \ + ( (This)->lpVtbl -> get_attributes(This,offset,startOffset,endOffset,textAttributes) ) + +#define IAccessibleHypertext_get_caretOffset(This,offset) \ + ( (This)->lpVtbl -> get_caretOffset(This,offset) ) + +#define IAccessibleHypertext_get_characterExtents(This,offset,coordType,x,y,width,height) \ + ( (This)->lpVtbl -> get_characterExtents(This,offset,coordType,x,y,width,height) ) + +#define IAccessibleHypertext_get_nSelections(This,nSelections) \ + ( (This)->lpVtbl -> get_nSelections(This,nSelections) ) + +#define IAccessibleHypertext_get_offsetAtPoint(This,x,y,coordType,offset) \ + ( (This)->lpVtbl -> get_offsetAtPoint(This,x,y,coordType,offset) ) + +#define IAccessibleHypertext_get_selection(This,selectionIndex,startOffset,endOffset) \ + ( (This)->lpVtbl -> get_selection(This,selectionIndex,startOffset,endOffset) ) + +#define IAccessibleHypertext_get_text(This,startOffset,endOffset,text) \ + ( (This)->lpVtbl -> get_text(This,startOffset,endOffset,text) ) + +#define IAccessibleHypertext_get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) \ + ( (This)->lpVtbl -> get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) ) + +#define IAccessibleHypertext_get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) \ + ( (This)->lpVtbl -> get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) ) + +#define IAccessibleHypertext_get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) \ + ( (This)->lpVtbl -> get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) ) + +#define IAccessibleHypertext_removeSelection(This,selectionIndex) \ + ( (This)->lpVtbl -> removeSelection(This,selectionIndex) ) + +#define IAccessibleHypertext_setCaretOffset(This,offset) \ + ( (This)->lpVtbl -> setCaretOffset(This,offset) ) + +#define IAccessibleHypertext_setSelection(This,selectionIndex,startOffset,endOffset) \ + ( (This)->lpVtbl -> setSelection(This,selectionIndex,startOffset,endOffset) ) + +#define IAccessibleHypertext_get_nCharacters(This,nCharacters) \ + ( (This)->lpVtbl -> get_nCharacters(This,nCharacters) ) + +#define IAccessibleHypertext_scrollSubstringTo(This,startIndex,endIndex,scrollType) \ + ( (This)->lpVtbl -> scrollSubstringTo(This,startIndex,endIndex,scrollType) ) + +#define IAccessibleHypertext_scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) \ + ( (This)->lpVtbl -> scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) ) + +#define IAccessibleHypertext_get_newText(This,newText) \ + ( (This)->lpVtbl -> get_newText(This,newText) ) + +#define IAccessibleHypertext_get_oldText(This,oldText) \ + ( (This)->lpVtbl -> get_oldText(This,oldText) ) + + +#define IAccessibleHypertext_get_nHyperlinks(This,hyperlinkCount) \ + ( (This)->lpVtbl -> get_nHyperlinks(This,hyperlinkCount) ) + +#define IAccessibleHypertext_get_hyperlink(This,index,hyperlink) \ + ( (This)->lpVtbl -> get_hyperlink(This,index,hyperlink) ) + +#define IAccessibleHypertext_get_hyperlinkIndex(This,charIndex,hyperlinkIndex) \ + ( (This)->lpVtbl -> get_hyperlinkIndex(This,charIndex,hyperlinkIndex) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAccessibleHypertext_INTERFACE_DEFINED__ */ + + +#ifndef __IAccessibleHypertext2_INTERFACE_DEFINED__ +#define __IAccessibleHypertext2_INTERFACE_DEFINED__ + +/* interface IAccessibleHypertext2 */ +/* [uuid][object] */ + + +EXTERN_C const IID IID_IAccessibleHypertext2; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("CF64D89F-8287-4B44-8501-A827453A6077") + IAccessibleHypertext2 : public IAccessibleHypertext + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_hyperlinks( + /* [size_is][size_is][out] */ IAccessibleHyperlink ***hyperlinks, + /* [retval][out] */ long *nHyperlinks) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAccessibleHypertext2Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAccessibleHypertext2 * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAccessibleHypertext2 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAccessibleHypertext2 * This); + + HRESULT ( STDMETHODCALLTYPE *addSelection )( + IAccessibleHypertext2 * This, + /* [in] */ long startOffset, + /* [in] */ long endOffset); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )( + IAccessibleHypertext2 * This, + /* [in] */ long offset, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *textAttributes); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caretOffset )( + IAccessibleHypertext2 * This, + /* [retval][out] */ long *offset); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_characterExtents )( + IAccessibleHypertext2 * This, + /* [in] */ long offset, + /* [in] */ enum IA2CoordinateType coordType, + /* [out] */ long *x, + /* [out] */ long *y, + /* [out] */ long *width, + /* [retval][out] */ long *height); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelections )( + IAccessibleHypertext2 * This, + /* [retval][out] */ long *nSelections); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetAtPoint )( + IAccessibleHypertext2 * This, + /* [in] */ long x, + /* [in] */ long y, + /* [in] */ enum IA2CoordinateType coordType, + /* [retval][out] */ long *offset); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selection )( + IAccessibleHypertext2 * This, + /* [in] */ long selectionIndex, + /* [out] */ long *startOffset, + /* [retval][out] */ long *endOffset); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_text )( + IAccessibleHypertext2 * This, + /* [in] */ long startOffset, + /* [in] */ long endOffset, + /* [retval][out] */ BSTR *text); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textBeforeOffset )( + IAccessibleHypertext2 * This, + /* [in] */ long offset, + /* [in] */ enum IA2TextBoundaryType boundaryType, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *text); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAfterOffset )( + IAccessibleHypertext2 * This, + /* [in] */ long offset, + /* [in] */ enum IA2TextBoundaryType boundaryType, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *text); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAtOffset )( + IAccessibleHypertext2 * This, + /* [in] */ long offset, + /* [in] */ enum IA2TextBoundaryType boundaryType, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *text); + + HRESULT ( STDMETHODCALLTYPE *removeSelection )( + IAccessibleHypertext2 * This, + /* [in] */ long selectionIndex); + + HRESULT ( STDMETHODCALLTYPE *setCaretOffset )( + IAccessibleHypertext2 * This, + /* [in] */ long offset); + + HRESULT ( STDMETHODCALLTYPE *setSelection )( + IAccessibleHypertext2 * This, + /* [in] */ long selectionIndex, + /* [in] */ long startOffset, + /* [in] */ long endOffset); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nCharacters )( + IAccessibleHypertext2 * This, + /* [retval][out] */ long *nCharacters); + + HRESULT ( STDMETHODCALLTYPE *scrollSubstringTo )( + IAccessibleHypertext2 * This, + /* [in] */ long startIndex, + /* [in] */ long endIndex, + /* [in] */ enum IA2ScrollType scrollType); + + HRESULT ( STDMETHODCALLTYPE *scrollSubstringToPoint )( + IAccessibleHypertext2 * This, + /* [in] */ long startIndex, + /* [in] */ long endIndex, + /* [in] */ enum IA2CoordinateType coordinateType, + /* [in] */ long x, + /* [in] */ long y); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_newText )( + IAccessibleHypertext2 * This, + /* [retval][out] */ IA2TextSegment *newText); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_oldText )( + IAccessibleHypertext2 * This, + /* [retval][out] */ IA2TextSegment *oldText); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nHyperlinks )( + IAccessibleHypertext2 * This, + /* [retval][out] */ long *hyperlinkCount); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hyperlink )( + IAccessibleHypertext2 * This, + /* [in] */ long index, + /* [retval][out] */ IAccessibleHyperlink **hyperlink); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hyperlinkIndex )( + IAccessibleHypertext2 * This, + /* [in] */ long charIndex, + /* [retval][out] */ long *hyperlinkIndex); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hyperlinks )( + IAccessibleHypertext2 * This, + /* [size_is][size_is][out] */ IAccessibleHyperlink ***hyperlinks, + /* [retval][out] */ long *nHyperlinks); + + END_INTERFACE + } IAccessibleHypertext2Vtbl; + + interface IAccessibleHypertext2 + { + CONST_VTBL struct IAccessibleHypertext2Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAccessibleHypertext2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAccessibleHypertext2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAccessibleHypertext2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAccessibleHypertext2_addSelection(This,startOffset,endOffset) \ + ( (This)->lpVtbl -> addSelection(This,startOffset,endOffset) ) + +#define IAccessibleHypertext2_get_attributes(This,offset,startOffset,endOffset,textAttributes) \ + ( (This)->lpVtbl -> get_attributes(This,offset,startOffset,endOffset,textAttributes) ) + +#define IAccessibleHypertext2_get_caretOffset(This,offset) \ + ( (This)->lpVtbl -> get_caretOffset(This,offset) ) + +#define IAccessibleHypertext2_get_characterExtents(This,offset,coordType,x,y,width,height) \ + ( (This)->lpVtbl -> get_characterExtents(This,offset,coordType,x,y,width,height) ) + +#define IAccessibleHypertext2_get_nSelections(This,nSelections) \ + ( (This)->lpVtbl -> get_nSelections(This,nSelections) ) + +#define IAccessibleHypertext2_get_offsetAtPoint(This,x,y,coordType,offset) \ + ( (This)->lpVtbl -> get_offsetAtPoint(This,x,y,coordType,offset) ) + +#define IAccessibleHypertext2_get_selection(This,selectionIndex,startOffset,endOffset) \ + ( (This)->lpVtbl -> get_selection(This,selectionIndex,startOffset,endOffset) ) + +#define IAccessibleHypertext2_get_text(This,startOffset,endOffset,text) \ + ( (This)->lpVtbl -> get_text(This,startOffset,endOffset,text) ) + +#define IAccessibleHypertext2_get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) \ + ( (This)->lpVtbl -> get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) ) + +#define IAccessibleHypertext2_get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) \ + ( (This)->lpVtbl -> get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) ) + +#define IAccessibleHypertext2_get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) \ + ( (This)->lpVtbl -> get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) ) + +#define IAccessibleHypertext2_removeSelection(This,selectionIndex) \ + ( (This)->lpVtbl -> removeSelection(This,selectionIndex) ) + +#define IAccessibleHypertext2_setCaretOffset(This,offset) \ + ( (This)->lpVtbl -> setCaretOffset(This,offset) ) + +#define IAccessibleHypertext2_setSelection(This,selectionIndex,startOffset,endOffset) \ + ( (This)->lpVtbl -> setSelection(This,selectionIndex,startOffset,endOffset) ) + +#define IAccessibleHypertext2_get_nCharacters(This,nCharacters) \ + ( (This)->lpVtbl -> get_nCharacters(This,nCharacters) ) + +#define IAccessibleHypertext2_scrollSubstringTo(This,startIndex,endIndex,scrollType) \ + ( (This)->lpVtbl -> scrollSubstringTo(This,startIndex,endIndex,scrollType) ) + +#define IAccessibleHypertext2_scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) \ + ( (This)->lpVtbl -> scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) ) + +#define IAccessibleHypertext2_get_newText(This,newText) \ + ( (This)->lpVtbl -> get_newText(This,newText) ) + +#define IAccessibleHypertext2_get_oldText(This,oldText) \ + ( (This)->lpVtbl -> get_oldText(This,oldText) ) + + +#define IAccessibleHypertext2_get_nHyperlinks(This,hyperlinkCount) \ + ( (This)->lpVtbl -> get_nHyperlinks(This,hyperlinkCount) ) + +#define IAccessibleHypertext2_get_hyperlink(This,index,hyperlink) \ + ( (This)->lpVtbl -> get_hyperlink(This,index,hyperlink) ) + +#define IAccessibleHypertext2_get_hyperlinkIndex(This,charIndex,hyperlinkIndex) \ + ( (This)->lpVtbl -> get_hyperlinkIndex(This,charIndex,hyperlinkIndex) ) + + +#define IAccessibleHypertext2_get_hyperlinks(This,hyperlinks,nHyperlinks) \ + ( (This)->lpVtbl -> get_hyperlinks(This,hyperlinks,nHyperlinks) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAccessibleHypertext2_INTERFACE_DEFINED__ */ + + +#ifndef __IAccessibleTable_INTERFACE_DEFINED__ +#define __IAccessibleTable_INTERFACE_DEFINED__ + +/* interface IAccessibleTable */ +/* [uuid][object] */ + + +EXTERN_C const IID IID_IAccessibleTable; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("35AD8070-C20C-4fb4-B094-F4F7275DD469") + IAccessibleTable : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_accessibleAt( + /* [in] */ long row, + /* [in] */ long column, + /* [retval][out] */ IUnknown **accessible) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_caption( + /* [retval][out] */ IUnknown **accessible) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_childIndex( + /* [in] */ long rowIndex, + /* [in] */ long columnIndex, + /* [retval][out] */ long *cellIndex) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnDescription( + /* [in] */ long column, + /* [retval][out] */ BSTR *description) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnExtentAt( + /* [in] */ long row, + /* [in] */ long column, + /* [retval][out] */ long *nColumnsSpanned) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnHeader( + /* [out] */ IAccessibleTable **accessibleTable, + /* [retval][out] */ long *startingRowIndex) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnIndex( + /* [in] */ long cellIndex, + /* [retval][out] */ long *columnIndex) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nColumns( + /* [retval][out] */ long *columnCount) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nRows( + /* [retval][out] */ long *rowCount) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedChildren( + /* [retval][out] */ long *cellCount) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedColumns( + /* [retval][out] */ long *columnCount) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedRows( + /* [retval][out] */ long *rowCount) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowDescription( + /* [in] */ long row, + /* [retval][out] */ BSTR *description) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowExtentAt( + /* [in] */ long row, + /* [in] */ long column, + /* [retval][out] */ long *nRowsSpanned) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowHeader( + /* [out] */ IAccessibleTable **accessibleTable, + /* [retval][out] */ long *startingColumnIndex) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowIndex( + /* [in] */ long cellIndex, + /* [retval][out] */ long *rowIndex) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedChildren( + /* [in] */ long maxChildren, + /* [length_is][length_is][size_is][size_is][out] */ long **children, + /* [retval][out] */ long *nChildren) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedColumns( + /* [in] */ long maxColumns, + /* [length_is][length_is][size_is][size_is][out] */ long **columns, + /* [retval][out] */ long *nColumns) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedRows( + /* [in] */ long maxRows, + /* [length_is][length_is][size_is][size_is][out] */ long **rows, + /* [retval][out] */ long *nRows) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_summary( + /* [retval][out] */ IUnknown **accessible) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isColumnSelected( + /* [in] */ long column, + /* [retval][out] */ boolean *isSelected) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRowSelected( + /* [in] */ long row, + /* [retval][out] */ boolean *isSelected) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isSelected( + /* [in] */ long row, + /* [in] */ long column, + /* [retval][out] */ boolean *isSelected) = 0; + + virtual HRESULT STDMETHODCALLTYPE selectRow( + /* [in] */ long row) = 0; + + virtual HRESULT STDMETHODCALLTYPE selectColumn( + /* [in] */ long column) = 0; + + virtual HRESULT STDMETHODCALLTYPE unselectRow( + /* [in] */ long row) = 0; + + virtual HRESULT STDMETHODCALLTYPE unselectColumn( + /* [in] */ long column) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowColumnExtentsAtIndex( + /* [in] */ long index, + /* [out] */ long *row, + /* [out] */ long *column, + /* [out] */ long *rowExtents, + /* [out] */ long *columnExtents, + /* [retval][out] */ boolean *isSelected) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_modelChange( + /* [retval][out] */ IA2TableModelChange *modelChange) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAccessibleTableVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAccessibleTable * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAccessibleTable * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAccessibleTable * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_accessibleAt )( + IAccessibleTable * This, + /* [in] */ long row, + /* [in] */ long column, + /* [retval][out] */ IUnknown **accessible); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caption )( + IAccessibleTable * This, + /* [retval][out] */ IUnknown **accessible); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_childIndex )( + IAccessibleTable * This, + /* [in] */ long rowIndex, + /* [in] */ long columnIndex, + /* [retval][out] */ long *cellIndex); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnDescription )( + IAccessibleTable * This, + /* [in] */ long column, + /* [retval][out] */ BSTR *description); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnExtentAt )( + IAccessibleTable * This, + /* [in] */ long row, + /* [in] */ long column, + /* [retval][out] */ long *nColumnsSpanned); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnHeader )( + IAccessibleTable * This, + /* [out] */ IAccessibleTable **accessibleTable, + /* [retval][out] */ long *startingRowIndex); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnIndex )( + IAccessibleTable * This, + /* [in] */ long cellIndex, + /* [retval][out] */ long *columnIndex); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nColumns )( + IAccessibleTable * This, + /* [retval][out] */ long *columnCount); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nRows )( + IAccessibleTable * This, + /* [retval][out] */ long *rowCount); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedChildren )( + IAccessibleTable * This, + /* [retval][out] */ long *cellCount); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedColumns )( + IAccessibleTable * This, + /* [retval][out] */ long *columnCount); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedRows )( + IAccessibleTable * This, + /* [retval][out] */ long *rowCount); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowDescription )( + IAccessibleTable * This, + /* [in] */ long row, + /* [retval][out] */ BSTR *description); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowExtentAt )( + IAccessibleTable * This, + /* [in] */ long row, + /* [in] */ long column, + /* [retval][out] */ long *nRowsSpanned); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowHeader )( + IAccessibleTable * This, + /* [out] */ IAccessibleTable **accessibleTable, + /* [retval][out] */ long *startingColumnIndex); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowIndex )( + IAccessibleTable * This, + /* [in] */ long cellIndex, + /* [retval][out] */ long *rowIndex); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedChildren )( + IAccessibleTable * This, + /* [in] */ long maxChildren, + /* [length_is][length_is][size_is][size_is][out] */ long **children, + /* [retval][out] */ long *nChildren); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedColumns )( + IAccessibleTable * This, + /* [in] */ long maxColumns, + /* [length_is][length_is][size_is][size_is][out] */ long **columns, + /* [retval][out] */ long *nColumns); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedRows )( + IAccessibleTable * This, + /* [in] */ long maxRows, + /* [length_is][length_is][size_is][size_is][out] */ long **rows, + /* [retval][out] */ long *nRows); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_summary )( + IAccessibleTable * This, + /* [retval][out] */ IUnknown **accessible); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isColumnSelected )( + IAccessibleTable * This, + /* [in] */ long column, + /* [retval][out] */ boolean *isSelected); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRowSelected )( + IAccessibleTable * This, + /* [in] */ long row, + /* [retval][out] */ boolean *isSelected); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSelected )( + IAccessibleTable * This, + /* [in] */ long row, + /* [in] */ long column, + /* [retval][out] */ boolean *isSelected); + + HRESULT ( STDMETHODCALLTYPE *selectRow )( + IAccessibleTable * This, + /* [in] */ long row); + + HRESULT ( STDMETHODCALLTYPE *selectColumn )( + IAccessibleTable * This, + /* [in] */ long column); + + HRESULT ( STDMETHODCALLTYPE *unselectRow )( + IAccessibleTable * This, + /* [in] */ long row); + + HRESULT ( STDMETHODCALLTYPE *unselectColumn )( + IAccessibleTable * This, + /* [in] */ long column); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowColumnExtentsAtIndex )( + IAccessibleTable * This, + /* [in] */ long index, + /* [out] */ long *row, + /* [out] */ long *column, + /* [out] */ long *rowExtents, + /* [out] */ long *columnExtents, + /* [retval][out] */ boolean *isSelected); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_modelChange )( + IAccessibleTable * This, + /* [retval][out] */ IA2TableModelChange *modelChange); + + END_INTERFACE + } IAccessibleTableVtbl; + + interface IAccessibleTable + { + CONST_VTBL struct IAccessibleTableVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAccessibleTable_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAccessibleTable_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAccessibleTable_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAccessibleTable_get_accessibleAt(This,row,column,accessible) \ + ( (This)->lpVtbl -> get_accessibleAt(This,row,column,accessible) ) + +#define IAccessibleTable_get_caption(This,accessible) \ + ( (This)->lpVtbl -> get_caption(This,accessible) ) + +#define IAccessibleTable_get_childIndex(This,rowIndex,columnIndex,cellIndex) \ + ( (This)->lpVtbl -> get_childIndex(This,rowIndex,columnIndex,cellIndex) ) + +#define IAccessibleTable_get_columnDescription(This,column,description) \ + ( (This)->lpVtbl -> get_columnDescription(This,column,description) ) + +#define IAccessibleTable_get_columnExtentAt(This,row,column,nColumnsSpanned) \ + ( (This)->lpVtbl -> get_columnExtentAt(This,row,column,nColumnsSpanned) ) + +#define IAccessibleTable_get_columnHeader(This,accessibleTable,startingRowIndex) \ + ( (This)->lpVtbl -> get_columnHeader(This,accessibleTable,startingRowIndex) ) + +#define IAccessibleTable_get_columnIndex(This,cellIndex,columnIndex) \ + ( (This)->lpVtbl -> get_columnIndex(This,cellIndex,columnIndex) ) + +#define IAccessibleTable_get_nColumns(This,columnCount) \ + ( (This)->lpVtbl -> get_nColumns(This,columnCount) ) + +#define IAccessibleTable_get_nRows(This,rowCount) \ + ( (This)->lpVtbl -> get_nRows(This,rowCount) ) + +#define IAccessibleTable_get_nSelectedChildren(This,cellCount) \ + ( (This)->lpVtbl -> get_nSelectedChildren(This,cellCount) ) + +#define IAccessibleTable_get_nSelectedColumns(This,columnCount) \ + ( (This)->lpVtbl -> get_nSelectedColumns(This,columnCount) ) + +#define IAccessibleTable_get_nSelectedRows(This,rowCount) \ + ( (This)->lpVtbl -> get_nSelectedRows(This,rowCount) ) + +#define IAccessibleTable_get_rowDescription(This,row,description) \ + ( (This)->lpVtbl -> get_rowDescription(This,row,description) ) + +#define IAccessibleTable_get_rowExtentAt(This,row,column,nRowsSpanned) \ + ( (This)->lpVtbl -> get_rowExtentAt(This,row,column,nRowsSpanned) ) + +#define IAccessibleTable_get_rowHeader(This,accessibleTable,startingColumnIndex) \ + ( (This)->lpVtbl -> get_rowHeader(This,accessibleTable,startingColumnIndex) ) + +#define IAccessibleTable_get_rowIndex(This,cellIndex,rowIndex) \ + ( (This)->lpVtbl -> get_rowIndex(This,cellIndex,rowIndex) ) + +#define IAccessibleTable_get_selectedChildren(This,maxChildren,children,nChildren) \ + ( (This)->lpVtbl -> get_selectedChildren(This,maxChildren,children,nChildren) ) + +#define IAccessibleTable_get_selectedColumns(This,maxColumns,columns,nColumns) \ + ( (This)->lpVtbl -> get_selectedColumns(This,maxColumns,columns,nColumns) ) + +#define IAccessibleTable_get_selectedRows(This,maxRows,rows,nRows) \ + ( (This)->lpVtbl -> get_selectedRows(This,maxRows,rows,nRows) ) + +#define IAccessibleTable_get_summary(This,accessible) \ + ( (This)->lpVtbl -> get_summary(This,accessible) ) + +#define IAccessibleTable_get_isColumnSelected(This,column,isSelected) \ + ( (This)->lpVtbl -> get_isColumnSelected(This,column,isSelected) ) + +#define IAccessibleTable_get_isRowSelected(This,row,isSelected) \ + ( (This)->lpVtbl -> get_isRowSelected(This,row,isSelected) ) + +#define IAccessibleTable_get_isSelected(This,row,column,isSelected) \ + ( (This)->lpVtbl -> get_isSelected(This,row,column,isSelected) ) + +#define IAccessibleTable_selectRow(This,row) \ + ( (This)->lpVtbl -> selectRow(This,row) ) + +#define IAccessibleTable_selectColumn(This,column) \ + ( (This)->lpVtbl -> selectColumn(This,column) ) + +#define IAccessibleTable_unselectRow(This,row) \ + ( (This)->lpVtbl -> unselectRow(This,row) ) + +#define IAccessibleTable_unselectColumn(This,column) \ + ( (This)->lpVtbl -> unselectColumn(This,column) ) + +#define IAccessibleTable_get_rowColumnExtentsAtIndex(This,index,row,column,rowExtents,columnExtents,isSelected) \ + ( (This)->lpVtbl -> get_rowColumnExtentsAtIndex(This,index,row,column,rowExtents,columnExtents,isSelected) ) + +#define IAccessibleTable_get_modelChange(This,modelChange) \ + ( (This)->lpVtbl -> get_modelChange(This,modelChange) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAccessibleTable_INTERFACE_DEFINED__ */ + + +#ifndef __IAccessibleTable2_INTERFACE_DEFINED__ +#define __IAccessibleTable2_INTERFACE_DEFINED__ + +/* interface IAccessibleTable2 */ +/* [uuid][object] */ + + +EXTERN_C const IID IID_IAccessibleTable2; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("6167f295-06f0-4cdd-a1fa-02e25153d869") + IAccessibleTable2 : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_cellAt( + /* [in] */ long row, + /* [in] */ long column, + /* [retval][out] */ IUnknown **cell) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_caption( + /* [retval][out] */ IUnknown **accessible) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnDescription( + /* [in] */ long column, + /* [retval][out] */ BSTR *description) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nColumns( + /* [retval][out] */ long *columnCount) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nRows( + /* [retval][out] */ long *rowCount) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedCells( + /* [retval][out] */ long *cellCount) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedColumns( + /* [retval][out] */ long *columnCount) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedRows( + /* [retval][out] */ long *rowCount) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowDescription( + /* [in] */ long row, + /* [retval][out] */ BSTR *description) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedCells( + /* [size_is][size_is][out] */ IUnknown ***cells, + /* [retval][out] */ long *nSelectedCells) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedColumns( + /* [size_is][size_is][out] */ long **selectedColumns, + /* [retval][out] */ long *nColumns) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedRows( + /* [size_is][size_is][out] */ long **selectedRows, + /* [retval][out] */ long *nRows) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_summary( + /* [retval][out] */ IUnknown **accessible) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isColumnSelected( + /* [in] */ long column, + /* [retval][out] */ boolean *isSelected) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRowSelected( + /* [in] */ long row, + /* [retval][out] */ boolean *isSelected) = 0; + + virtual HRESULT STDMETHODCALLTYPE selectRow( + /* [in] */ long row) = 0; + + virtual HRESULT STDMETHODCALLTYPE selectColumn( + /* [in] */ long column) = 0; + + virtual HRESULT STDMETHODCALLTYPE unselectRow( + /* [in] */ long row) = 0; + + virtual HRESULT STDMETHODCALLTYPE unselectColumn( + /* [in] */ long column) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_modelChange( + /* [retval][out] */ IA2TableModelChange *modelChange) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAccessibleTable2Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAccessibleTable2 * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAccessibleTable2 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAccessibleTable2 * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_cellAt )( + IAccessibleTable2 * This, + /* [in] */ long row, + /* [in] */ long column, + /* [retval][out] */ IUnknown **cell); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caption )( + IAccessibleTable2 * This, + /* [retval][out] */ IUnknown **accessible); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnDescription )( + IAccessibleTable2 * This, + /* [in] */ long column, + /* [retval][out] */ BSTR *description); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nColumns )( + IAccessibleTable2 * This, + /* [retval][out] */ long *columnCount); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nRows )( + IAccessibleTable2 * This, + /* [retval][out] */ long *rowCount); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedCells )( + IAccessibleTable2 * This, + /* [retval][out] */ long *cellCount); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedColumns )( + IAccessibleTable2 * This, + /* [retval][out] */ long *columnCount); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedRows )( + IAccessibleTable2 * This, + /* [retval][out] */ long *rowCount); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowDescription )( + IAccessibleTable2 * This, + /* [in] */ long row, + /* [retval][out] */ BSTR *description); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedCells )( + IAccessibleTable2 * This, + /* [size_is][size_is][out] */ IUnknown ***cells, + /* [retval][out] */ long *nSelectedCells); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedColumns )( + IAccessibleTable2 * This, + /* [size_is][size_is][out] */ long **selectedColumns, + /* [retval][out] */ long *nColumns); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedRows )( + IAccessibleTable2 * This, + /* [size_is][size_is][out] */ long **selectedRows, + /* [retval][out] */ long *nRows); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_summary )( + IAccessibleTable2 * This, + /* [retval][out] */ IUnknown **accessible); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isColumnSelected )( + IAccessibleTable2 * This, + /* [in] */ long column, + /* [retval][out] */ boolean *isSelected); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRowSelected )( + IAccessibleTable2 * This, + /* [in] */ long row, + /* [retval][out] */ boolean *isSelected); + + HRESULT ( STDMETHODCALLTYPE *selectRow )( + IAccessibleTable2 * This, + /* [in] */ long row); + + HRESULT ( STDMETHODCALLTYPE *selectColumn )( + IAccessibleTable2 * This, + /* [in] */ long column); + + HRESULT ( STDMETHODCALLTYPE *unselectRow )( + IAccessibleTable2 * This, + /* [in] */ long row); + + HRESULT ( STDMETHODCALLTYPE *unselectColumn )( + IAccessibleTable2 * This, + /* [in] */ long column); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_modelChange )( + IAccessibleTable2 * This, + /* [retval][out] */ IA2TableModelChange *modelChange); + + END_INTERFACE + } IAccessibleTable2Vtbl; + + interface IAccessibleTable2 + { + CONST_VTBL struct IAccessibleTable2Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAccessibleTable2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAccessibleTable2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAccessibleTable2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAccessibleTable2_get_cellAt(This,row,column,cell) \ + ( (This)->lpVtbl -> get_cellAt(This,row,column,cell) ) + +#define IAccessibleTable2_get_caption(This,accessible) \ + ( (This)->lpVtbl -> get_caption(This,accessible) ) + +#define IAccessibleTable2_get_columnDescription(This,column,description) \ + ( (This)->lpVtbl -> get_columnDescription(This,column,description) ) + +#define IAccessibleTable2_get_nColumns(This,columnCount) \ + ( (This)->lpVtbl -> get_nColumns(This,columnCount) ) + +#define IAccessibleTable2_get_nRows(This,rowCount) \ + ( (This)->lpVtbl -> get_nRows(This,rowCount) ) + +#define IAccessibleTable2_get_nSelectedCells(This,cellCount) \ + ( (This)->lpVtbl -> get_nSelectedCells(This,cellCount) ) + +#define IAccessibleTable2_get_nSelectedColumns(This,columnCount) \ + ( (This)->lpVtbl -> get_nSelectedColumns(This,columnCount) ) + +#define IAccessibleTable2_get_nSelectedRows(This,rowCount) \ + ( (This)->lpVtbl -> get_nSelectedRows(This,rowCount) ) + +#define IAccessibleTable2_get_rowDescription(This,row,description) \ + ( (This)->lpVtbl -> get_rowDescription(This,row,description) ) + +#define IAccessibleTable2_get_selectedCells(This,cells,nSelectedCells) \ + ( (This)->lpVtbl -> get_selectedCells(This,cells,nSelectedCells) ) + +#define IAccessibleTable2_get_selectedColumns(This,selectedColumns,nColumns) \ + ( (This)->lpVtbl -> get_selectedColumns(This,selectedColumns,nColumns) ) + +#define IAccessibleTable2_get_selectedRows(This,selectedRows,nRows) \ + ( (This)->lpVtbl -> get_selectedRows(This,selectedRows,nRows) ) + +#define IAccessibleTable2_get_summary(This,accessible) \ + ( (This)->lpVtbl -> get_summary(This,accessible) ) + +#define IAccessibleTable2_get_isColumnSelected(This,column,isSelected) \ + ( (This)->lpVtbl -> get_isColumnSelected(This,column,isSelected) ) + +#define IAccessibleTable2_get_isRowSelected(This,row,isSelected) \ + ( (This)->lpVtbl -> get_isRowSelected(This,row,isSelected) ) + +#define IAccessibleTable2_selectRow(This,row) \ + ( (This)->lpVtbl -> selectRow(This,row) ) + +#define IAccessibleTable2_selectColumn(This,column) \ + ( (This)->lpVtbl -> selectColumn(This,column) ) + +#define IAccessibleTable2_unselectRow(This,row) \ + ( (This)->lpVtbl -> unselectRow(This,row) ) + +#define IAccessibleTable2_unselectColumn(This,column) \ + ( (This)->lpVtbl -> unselectColumn(This,column) ) + +#define IAccessibleTable2_get_modelChange(This,modelChange) \ + ( (This)->lpVtbl -> get_modelChange(This,modelChange) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAccessibleTable2_INTERFACE_DEFINED__ */ + + +#ifndef __IAccessibleTableCell_INTERFACE_DEFINED__ +#define __IAccessibleTableCell_INTERFACE_DEFINED__ + +/* interface IAccessibleTableCell */ +/* [uuid][object] */ + + +EXTERN_C const IID IID_IAccessibleTableCell; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("594116B1-C99F-4847-AD06-0A7A86ECE645") + IAccessibleTableCell : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnExtent( + /* [retval][out] */ long *nColumnsSpanned) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnHeaderCells( + /* [size_is][size_is][out] */ IUnknown ***cellAccessibles, + /* [retval][out] */ long *nColumnHeaderCells) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnIndex( + /* [retval][out] */ long *columnIndex) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowExtent( + /* [retval][out] */ long *nRowsSpanned) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowHeaderCells( + /* [size_is][size_is][out] */ IUnknown ***cellAccessibles, + /* [retval][out] */ long *nRowHeaderCells) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowIndex( + /* [retval][out] */ long *rowIndex) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isSelected( + /* [retval][out] */ boolean *isSelected) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowColumnExtents( + /* [out] */ long *row, + /* [out] */ long *column, + /* [out] */ long *rowExtents, + /* [out] */ long *columnExtents, + /* [retval][out] */ boolean *isSelected) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_table( + /* [retval][out] */ IUnknown **table) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAccessibleTableCellVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAccessibleTableCell * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAccessibleTableCell * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAccessibleTableCell * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnExtent )( + IAccessibleTableCell * This, + /* [retval][out] */ long *nColumnsSpanned); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnHeaderCells )( + IAccessibleTableCell * This, + /* [size_is][size_is][out] */ IUnknown ***cellAccessibles, + /* [retval][out] */ long *nColumnHeaderCells); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnIndex )( + IAccessibleTableCell * This, + /* [retval][out] */ long *columnIndex); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowExtent )( + IAccessibleTableCell * This, + /* [retval][out] */ long *nRowsSpanned); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowHeaderCells )( + IAccessibleTableCell * This, + /* [size_is][size_is][out] */ IUnknown ***cellAccessibles, + /* [retval][out] */ long *nRowHeaderCells); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowIndex )( + IAccessibleTableCell * This, + /* [retval][out] */ long *rowIndex); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSelected )( + IAccessibleTableCell * This, + /* [retval][out] */ boolean *isSelected); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowColumnExtents )( + IAccessibleTableCell * This, + /* [out] */ long *row, + /* [out] */ long *column, + /* [out] */ long *rowExtents, + /* [out] */ long *columnExtents, + /* [retval][out] */ boolean *isSelected); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_table )( + IAccessibleTableCell * This, + /* [retval][out] */ IUnknown **table); + + END_INTERFACE + } IAccessibleTableCellVtbl; + + interface IAccessibleTableCell + { + CONST_VTBL struct IAccessibleTableCellVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAccessibleTableCell_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAccessibleTableCell_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAccessibleTableCell_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAccessibleTableCell_get_columnExtent(This,nColumnsSpanned) \ + ( (This)->lpVtbl -> get_columnExtent(This,nColumnsSpanned) ) + +#define IAccessibleTableCell_get_columnHeaderCells(This,cellAccessibles,nColumnHeaderCells) \ + ( (This)->lpVtbl -> get_columnHeaderCells(This,cellAccessibles,nColumnHeaderCells) ) + +#define IAccessibleTableCell_get_columnIndex(This,columnIndex) \ + ( (This)->lpVtbl -> get_columnIndex(This,columnIndex) ) + +#define IAccessibleTableCell_get_rowExtent(This,nRowsSpanned) \ + ( (This)->lpVtbl -> get_rowExtent(This,nRowsSpanned) ) + +#define IAccessibleTableCell_get_rowHeaderCells(This,cellAccessibles,nRowHeaderCells) \ + ( (This)->lpVtbl -> get_rowHeaderCells(This,cellAccessibles,nRowHeaderCells) ) + +#define IAccessibleTableCell_get_rowIndex(This,rowIndex) \ + ( (This)->lpVtbl -> get_rowIndex(This,rowIndex) ) + +#define IAccessibleTableCell_get_isSelected(This,isSelected) \ + ( (This)->lpVtbl -> get_isSelected(This,isSelected) ) + +#define IAccessibleTableCell_get_rowColumnExtents(This,row,column,rowExtents,columnExtents,isSelected) \ + ( (This)->lpVtbl -> get_rowColumnExtents(This,row,column,rowExtents,columnExtents,isSelected) ) + +#define IAccessibleTableCell_get_table(This,table) \ + ( (This)->lpVtbl -> get_table(This,table) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAccessibleTableCell_INTERFACE_DEFINED__ */ + + +#ifndef __IAccessibleImage_INTERFACE_DEFINED__ +#define __IAccessibleImage_INTERFACE_DEFINED__ + +/* interface IAccessibleImage */ +/* [uuid][object] */ + + +EXTERN_C const IID IID_IAccessibleImage; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("FE5ABB3D-615E-4f7b-909F-5F0EDA9E8DDE") + IAccessibleImage : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_description( + /* [retval][out] */ BSTR *description) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_imagePosition( + /* [in] */ enum IA2CoordinateType coordinateType, + /* [out] */ long *x, + /* [retval][out] */ long *y) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_imageSize( + /* [out] */ long *height, + /* [retval][out] */ long *width) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAccessibleImageVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAccessibleImage * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAccessibleImage * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAccessibleImage * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_description )( + IAccessibleImage * This, + /* [retval][out] */ BSTR *description); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_imagePosition )( + IAccessibleImage * This, + /* [in] */ enum IA2CoordinateType coordinateType, + /* [out] */ long *x, + /* [retval][out] */ long *y); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_imageSize )( + IAccessibleImage * This, + /* [out] */ long *height, + /* [retval][out] */ long *width); + + END_INTERFACE + } IAccessibleImageVtbl; + + interface IAccessibleImage + { + CONST_VTBL struct IAccessibleImageVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAccessibleImage_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAccessibleImage_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAccessibleImage_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAccessibleImage_get_description(This,description) \ + ( (This)->lpVtbl -> get_description(This,description) ) + +#define IAccessibleImage_get_imagePosition(This,coordinateType,x,y) \ + ( (This)->lpVtbl -> get_imagePosition(This,coordinateType,x,y) ) + +#define IAccessibleImage_get_imageSize(This,height,width) \ + ( (This)->lpVtbl -> get_imageSize(This,height,width) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAccessibleImage_INTERFACE_DEFINED__ */ + + +/* interface __MIDL_itf_ia2_api_all_0000_0016 */ +/* [local] */ + + +enum IA2EventID + { IA2_EVENT_ACTION_CHANGED = 0x101, + IA2_EVENT_ACTIVE_DECENDENT_CHANGED = ( IA2_EVENT_ACTION_CHANGED + 1 ) , + IA2_EVENT_ACTIVE_DESCENDANT_CHANGED = IA2_EVENT_ACTIVE_DECENDENT_CHANGED, + IA2_EVENT_DOCUMENT_ATTRIBUTE_CHANGED = ( IA2_EVENT_ACTIVE_DESCENDANT_CHANGED + 1 ) , + IA2_EVENT_DOCUMENT_CONTENT_CHANGED = ( IA2_EVENT_DOCUMENT_ATTRIBUTE_CHANGED + 1 ) , + IA2_EVENT_DOCUMENT_LOAD_COMPLETE = ( IA2_EVENT_DOCUMENT_CONTENT_CHANGED + 1 ) , + IA2_EVENT_DOCUMENT_LOAD_STOPPED = ( IA2_EVENT_DOCUMENT_LOAD_COMPLETE + 1 ) , + IA2_EVENT_DOCUMENT_RELOAD = ( IA2_EVENT_DOCUMENT_LOAD_STOPPED + 1 ) , + IA2_EVENT_HYPERLINK_END_INDEX_CHANGED = ( IA2_EVENT_DOCUMENT_RELOAD + 1 ) , + IA2_EVENT_HYPERLINK_NUMBER_OF_ANCHORS_CHANGED = ( IA2_EVENT_HYPERLINK_END_INDEX_CHANGED + 1 ) , + IA2_EVENT_HYPERLINK_SELECTED_LINK_CHANGED = ( IA2_EVENT_HYPERLINK_NUMBER_OF_ANCHORS_CHANGED + 1 ) , + IA2_EVENT_HYPERTEXT_LINK_ACTIVATED = ( IA2_EVENT_HYPERLINK_SELECTED_LINK_CHANGED + 1 ) , + IA2_EVENT_HYPERTEXT_LINK_SELECTED = ( IA2_EVENT_HYPERTEXT_LINK_ACTIVATED + 1 ) , + IA2_EVENT_HYPERLINK_START_INDEX_CHANGED = ( IA2_EVENT_HYPERTEXT_LINK_SELECTED + 1 ) , + IA2_EVENT_HYPERTEXT_CHANGED = ( IA2_EVENT_HYPERLINK_START_INDEX_CHANGED + 1 ) , + IA2_EVENT_HYPERTEXT_NLINKS_CHANGED = ( IA2_EVENT_HYPERTEXT_CHANGED + 1 ) , + IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED = ( IA2_EVENT_HYPERTEXT_NLINKS_CHANGED + 1 ) , + IA2_EVENT_PAGE_CHANGED = ( IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED + 1 ) , + IA2_EVENT_SECTION_CHANGED = ( IA2_EVENT_PAGE_CHANGED + 1 ) , + IA2_EVENT_TABLE_CAPTION_CHANGED = ( IA2_EVENT_SECTION_CHANGED + 1 ) , + IA2_EVENT_TABLE_COLUMN_DESCRIPTION_CHANGED = ( IA2_EVENT_TABLE_CAPTION_CHANGED + 1 ) , + IA2_EVENT_TABLE_COLUMN_HEADER_CHANGED = ( IA2_EVENT_TABLE_COLUMN_DESCRIPTION_CHANGED + 1 ) , + IA2_EVENT_TABLE_MODEL_CHANGED = ( IA2_EVENT_TABLE_COLUMN_HEADER_CHANGED + 1 ) , + IA2_EVENT_TABLE_ROW_DESCRIPTION_CHANGED = ( IA2_EVENT_TABLE_MODEL_CHANGED + 1 ) , + IA2_EVENT_TABLE_ROW_HEADER_CHANGED = ( IA2_EVENT_TABLE_ROW_DESCRIPTION_CHANGED + 1 ) , + IA2_EVENT_TABLE_SUMMARY_CHANGED = ( IA2_EVENT_TABLE_ROW_HEADER_CHANGED + 1 ) , + IA2_EVENT_TEXT_ATTRIBUTE_CHANGED = ( IA2_EVENT_TABLE_SUMMARY_CHANGED + 1 ) , + IA2_EVENT_TEXT_CARET_MOVED = ( IA2_EVENT_TEXT_ATTRIBUTE_CHANGED + 1 ) , + IA2_EVENT_TEXT_CHANGED = ( IA2_EVENT_TEXT_CARET_MOVED + 1 ) , + IA2_EVENT_TEXT_COLUMN_CHANGED = ( IA2_EVENT_TEXT_CHANGED + 1 ) , + IA2_EVENT_TEXT_INSERTED = ( IA2_EVENT_TEXT_COLUMN_CHANGED + 1 ) , + IA2_EVENT_TEXT_REMOVED = ( IA2_EVENT_TEXT_INSERTED + 1 ) , + IA2_EVENT_TEXT_UPDATED = ( IA2_EVENT_TEXT_REMOVED + 1 ) , + IA2_EVENT_TEXT_SELECTION_CHANGED = ( IA2_EVENT_TEXT_UPDATED + 1 ) , + IA2_EVENT_VISIBLE_DATA_CHANGED = ( IA2_EVENT_TEXT_SELECTION_CHANGED + 1 ) + } ; + + +extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0016_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0016_v0_0_s_ifspec; + +#ifndef __IAccessibleApplication_INTERFACE_DEFINED__ +#define __IAccessibleApplication_INTERFACE_DEFINED__ + +/* interface IAccessibleApplication */ +/* [uuid][object] */ + + +EXTERN_C const IID IID_IAccessibleApplication; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("D49DED83-5B25-43F4-9B95-93B44595979E") + IAccessibleApplication : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appName( + /* [retval][out] */ BSTR *name) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appVersion( + /* [retval][out] */ BSTR *version) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_toolkitName( + /* [retval][out] */ BSTR *name) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_toolkitVersion( + /* [retval][out] */ BSTR *version) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAccessibleApplicationVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAccessibleApplication * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAccessibleApplication * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAccessibleApplication * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appName )( + IAccessibleApplication * This, + /* [retval][out] */ BSTR *name); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appVersion )( + IAccessibleApplication * This, + /* [retval][out] */ BSTR *version); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_toolkitName )( + IAccessibleApplication * This, + /* [retval][out] */ BSTR *name); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_toolkitVersion )( + IAccessibleApplication * This, + /* [retval][out] */ BSTR *version); + + END_INTERFACE + } IAccessibleApplicationVtbl; + + interface IAccessibleApplication + { + CONST_VTBL struct IAccessibleApplicationVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAccessibleApplication_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAccessibleApplication_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAccessibleApplication_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAccessibleApplication_get_appName(This,name) \ + ( (This)->lpVtbl -> get_appName(This,name) ) + +#define IAccessibleApplication_get_appVersion(This,version) \ + ( (This)->lpVtbl -> get_appVersion(This,version) ) + +#define IAccessibleApplication_get_toolkitName(This,name) \ + ( (This)->lpVtbl -> get_toolkitName(This,name) ) + +#define IAccessibleApplication_get_toolkitVersion(This,version) \ + ( (This)->lpVtbl -> get_toolkitVersion(This,version) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAccessibleApplication_INTERFACE_DEFINED__ */ + + +#ifndef __IAccessibleDocument_INTERFACE_DEFINED__ +#define __IAccessibleDocument_INTERFACE_DEFINED__ + +/* interface IAccessibleDocument */ +/* [uuid][object] */ + + +EXTERN_C const IID IID_IAccessibleDocument; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("C48C7FCF-4AB5-4056-AFA6-902D6E1D1149") + IAccessibleDocument : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_anchorTarget( + /* [retval][out] */ IUnknown **accessible) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAccessibleDocumentVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAccessibleDocument * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAccessibleDocument * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAccessibleDocument * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_anchorTarget )( + IAccessibleDocument * This, + /* [retval][out] */ IUnknown **accessible); + + END_INTERFACE + } IAccessibleDocumentVtbl; + + interface IAccessibleDocument + { + CONST_VTBL struct IAccessibleDocumentVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAccessibleDocument_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAccessibleDocument_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAccessibleDocument_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAccessibleDocument_get_anchorTarget(This,accessible) \ + ( (This)->lpVtbl -> get_anchorTarget(This,accessible) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAccessibleDocument_INTERFACE_DEFINED__ */ + + +/* interface __MIDL_itf_ia2_api_all_0000_0018 */ +/* [local] */ + + +// Type Library Definitions + + + +extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0018_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0018_v0_0_s_ifspec; + + +#ifndef __IAccessible2Lib_LIBRARY_DEFINED__ +#define __IAccessible2Lib_LIBRARY_DEFINED__ + +/* library IAccessible2Lib */ +/* [hidden][version][helpstring][uuid] */ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +EXTERN_C const IID LIBID_IAccessible2Lib; +#endif /* __IAccessible2Lib_LIBRARY_DEFINED__ */ + +/* Additional Prototypes for ALL interfaces */ + +unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * ); +unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * ); +unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); +void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * ); + +unsigned long __RPC_USER HWND_UserSize( unsigned long *, unsigned long , HWND * ); +unsigned char * __RPC_USER HWND_UserMarshal( unsigned long *, unsigned char *, HWND * ); +unsigned char * __RPC_USER HWND_UserUnmarshal(unsigned long *, unsigned char *, HWND * ); +void __RPC_USER HWND_UserFree( unsigned long *, HWND * ); + +unsigned long __RPC_USER VARIANT_UserSize( unsigned long *, unsigned long , VARIANT * ); +unsigned char * __RPC_USER VARIANT_UserMarshal( unsigned long *, unsigned char *, VARIANT * ); +unsigned char * __RPC_USER VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); +void __RPC_USER VARIANT_UserFree( unsigned long *, VARIANT * ); + +/* end of Additional Prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif + + diff --git a/src/3rdparty/iaccessible2/generated/amd64/ia2_api_all.tlb b/src/3rdparty/iaccessible2/generated/amd64/ia2_api_all.tlb Binary files differnew file mode 100644 index 0000000000..7d0b47e312 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/ia2_api_all.tlb diff --git a/src/3rdparty/iaccessible2/generated/amd64/ia2_api_all_i.c b/src/3rdparty/iaccessible2/generated/amd64/ia2_api_all_i.c new file mode 100644 index 0000000000..e04a5dcb69 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/ia2_api_all_i.c @@ -0,0 +1,133 @@ + + +/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */ + +/* link this file in with the server and any clients */ + + + /* File created by MIDL compiler version 7.00.0555 */ +/* at Mon Aug 11 14:34:44 2014 + */ +/* Compiler settings for ia2_api_all.idl: + Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 + protocol : dce , ms_ext, c_ext, robust + error checks: allocation ref bounds_check enum stub_data + VC __declspec() decoration level: + __declspec(uuid()), __declspec(selectany), __declspec(novtable) + DECLSPEC_UUID(), MIDL_INTERFACE() +*/ +/* @@MIDL_FILE_HEADING( ) */ + +#pragma warning( disable: 4049 ) /* more than 64k source lines */ + + +#ifdef __cplusplus +extern "C"{ +#endif + + +#include <rpc.h> +#include <rpcndr.h> + +#ifdef _MIDL_USE_GUIDDEF_ + +#ifndef INITGUID +#define INITGUID +#include <guiddef.h> +#undef INITGUID +#else +#include <guiddef.h> +#endif + +#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ + DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) + +#else // !_MIDL_USE_GUIDDEF_ + +#ifndef __IID_DEFINED__ +#define __IID_DEFINED__ + +typedef struct _IID +{ + unsigned long x; + unsigned short s1; + unsigned short s2; + unsigned char c[8]; +} IID; + +#endif // __IID_DEFINED__ + +#ifndef CLSID_DEFINED +#define CLSID_DEFINED +typedef IID CLSID; +#endif // CLSID_DEFINED + +#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ + const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} + +#endif !_MIDL_USE_GUIDDEF_ + +MIDL_DEFINE_GUID(IID, IID_IAccessibleRelation,0x7CDF86EE,0xC3DA,0x496a,0xBD,0xA4,0x28,0x1B,0x33,0x6E,0x1F,0xDC); + + +MIDL_DEFINE_GUID(IID, IID_IAccessibleAction,0xB70D9F59,0x3B5A,0x4dba,0xAB,0x9E,0x22,0x01,0x2F,0x60,0x7D,0xF5); + + +MIDL_DEFINE_GUID(IID, IID_IAccessible2,0xE89F726E,0xC4F4,0x4c19,0xBB,0x19,0xB6,0x47,0xD7,0xFA,0x84,0x78); + + +MIDL_DEFINE_GUID(IID, IID_IAccessible2_2,0x6C9430E9,0x299D,0x4E6F,0xBD,0x01,0xA8,0x2A,0x1E,0x88,0xD3,0xFF); + + +MIDL_DEFINE_GUID(IID, IID_IAccessibleComponent,0x1546D4B0,0x4C98,0x4bda,0x89,0xAE,0x9A,0x64,0x74,0x8B,0xDD,0xE4); + + +MIDL_DEFINE_GUID(IID, IID_IAccessibleValue,0x35855B5B,0xC566,0x4fd0,0xA7,0xB1,0xE6,0x54,0x65,0x60,0x03,0x94); + + +MIDL_DEFINE_GUID(IID, IID_IAccessibleText,0x24FD2FFB,0x3AAD,0x4a08,0x83,0x35,0xA3,0xAD,0x89,0xC0,0xFB,0x4B); + + +MIDL_DEFINE_GUID(IID, IID_IAccessibleText2,0x9690A9CC,0x5C80,0x4DF5,0x85,0x2E,0x2D,0x5A,0xE4,0x18,0x9A,0x54); + + +MIDL_DEFINE_GUID(IID, IID_IAccessibleEditableText,0xA59AA09A,0x7011,0x4b65,0x93,0x9D,0x32,0xB1,0xFB,0x55,0x47,0xE3); + + +MIDL_DEFINE_GUID(IID, IID_IAccessibleHyperlink,0x01C20F2B,0x3DD2,0x400f,0x94,0x9F,0xAD,0x00,0xBD,0xAB,0x1D,0x41); + + +MIDL_DEFINE_GUID(IID, IID_IAccessibleHypertext,0x6B4F8BBF,0xF1F2,0x418a,0xB3,0x5E,0xA1,0x95,0xBC,0x41,0x03,0xB9); + + +MIDL_DEFINE_GUID(IID, IID_IAccessibleHypertext2,0xCF64D89F,0x8287,0x4B44,0x85,0x01,0xA8,0x27,0x45,0x3A,0x60,0x77); + + +MIDL_DEFINE_GUID(IID, IID_IAccessibleTable,0x35AD8070,0xC20C,0x4fb4,0xB0,0x94,0xF4,0xF7,0x27,0x5D,0xD4,0x69); + + +MIDL_DEFINE_GUID(IID, IID_IAccessibleTable2,0x6167f295,0x06f0,0x4cdd,0xa1,0xfa,0x02,0xe2,0x51,0x53,0xd8,0x69); + + +MIDL_DEFINE_GUID(IID, IID_IAccessibleTableCell,0x594116B1,0xC99F,0x4847,0xAD,0x06,0x0A,0x7A,0x86,0xEC,0xE6,0x45); + + +MIDL_DEFINE_GUID(IID, IID_IAccessibleImage,0xFE5ABB3D,0x615E,0x4f7b,0x90,0x9F,0x5F,0x0E,0xDA,0x9E,0x8D,0xDE); + + +MIDL_DEFINE_GUID(IID, IID_IAccessibleApplication,0xD49DED83,0x5B25,0x43F4,0x9B,0x95,0x93,0xB4,0x45,0x95,0x97,0x9E); + + +MIDL_DEFINE_GUID(IID, IID_IAccessibleDocument,0xC48C7FCF,0x4AB5,0x4056,0xAF,0xA6,0x90,0x2D,0x6E,0x1D,0x11,0x49); + + +MIDL_DEFINE_GUID(IID, LIBID_IAccessible2Lib,0xCE3F726E,0xD1D3,0x44FE,0xB9,0x95,0xFF,0x1D,0xB3,0xB4,0x8B,0x2B); + +#undef MIDL_DEFINE_GUID + +#ifdef __cplusplus +} +#endif + + + diff --git a/src/3rdparty/iaccessible2/generated/amd64/ia2_api_all_p.c b/src/3rdparty/iaccessible2/generated/amd64/ia2_api_all_p.c new file mode 100644 index 0000000000..f869a631b2 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/amd64/ia2_api_all_p.c @@ -0,0 +1,7867 @@ + + +/* this ALWAYS GENERATED file contains the proxy stub code */ + + + /* File created by MIDL compiler version 7.00.0555 */ +/* at Mon Aug 11 14:34:44 2014 + */ +/* Compiler settings for ia2_api_all.idl: + Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 + protocol : dce , ms_ext, c_ext, robust + error checks: allocation ref bounds_check enum stub_data + VC __declspec() decoration level: + __declspec(uuid()), __declspec(selectany), __declspec(novtable) + DECLSPEC_UUID(), MIDL_INTERFACE() +*/ +/* @@MIDL_FILE_HEADING( ) */ + +#if defined(_M_AMD64) + + +#pragma warning( disable: 4049 ) /* more than 64k source lines */ +#if _MSC_VER >= 1200 +#pragma warning(push) +#endif + +#pragma warning( disable: 4211 ) /* redefine extern to static */ +#pragma warning( disable: 4232 ) /* dllimport identity*/ +#pragma warning( disable: 4024 ) /* array to pointer mapping*/ +#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */ + +#define USE_STUBLESS_PROXY + + +/* verify that the <rpcproxy.h> version is high enough to compile this file*/ +#ifndef __REDQ_RPCPROXY_H_VERSION__ +#define __REQUIRED_RPCPROXY_H_VERSION__ 475 +#endif + + +#include "rpcproxy.h" +#ifndef __RPCPROXY_H_VERSION__ +#error this stub requires an updated version of <rpcproxy.h> +#endif /* __RPCPROXY_H_VERSION__ */ + + +#include "ia2_api_all.h" + +#define TYPE_FORMAT_STRING_SIZE 1467 +#define PROC_FORMAT_STRING_SIZE 5445 +#define EXPR_FORMAT_STRING_SIZE 1 +#define TRANSMIT_AS_TABLE_SIZE 0 +#define WIRE_MARSHAL_TABLE_SIZE 3 + +typedef struct _ia2_api_all_MIDL_TYPE_FORMAT_STRING + { + short Pad; + unsigned char Format[ TYPE_FORMAT_STRING_SIZE ]; + } ia2_api_all_MIDL_TYPE_FORMAT_STRING; + +typedef struct _ia2_api_all_MIDL_PROC_FORMAT_STRING + { + short Pad; + unsigned char Format[ PROC_FORMAT_STRING_SIZE ]; + } ia2_api_all_MIDL_PROC_FORMAT_STRING; + +typedef struct _ia2_api_all_MIDL_EXPR_FORMAT_STRING + { + long Pad; + unsigned char Format[ EXPR_FORMAT_STRING_SIZE ]; + } ia2_api_all_MIDL_EXPR_FORMAT_STRING; + + +static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax = +{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}}; + + +extern const ia2_api_all_MIDL_TYPE_FORMAT_STRING ia2_api_all__MIDL_TypeFormatString; +extern const ia2_api_all_MIDL_PROC_FORMAT_STRING ia2_api_all__MIDL_ProcFormatString; +extern const ia2_api_all_MIDL_EXPR_FORMAT_STRING ia2_api_all__MIDL_ExprFormatString; + + +extern const MIDL_STUB_DESC Object_StubDesc; + + +extern const MIDL_SERVER_INFO IAccessibleRelation_ServerInfo; +extern const MIDL_STUBLESS_PROXY_INFO IAccessibleRelation_ProxyInfo; + + +extern const MIDL_STUB_DESC Object_StubDesc; + + +extern const MIDL_SERVER_INFO IAccessibleAction_ServerInfo; +extern const MIDL_STUBLESS_PROXY_INFO IAccessibleAction_ProxyInfo; + + +extern const MIDL_STUB_DESC Object_StubDesc; + + +extern const MIDL_SERVER_INFO IAccessible2_ServerInfo; +extern const MIDL_STUBLESS_PROXY_INFO IAccessible2_ProxyInfo; + + +extern const MIDL_STUB_DESC Object_StubDesc; + + +extern const MIDL_SERVER_INFO IAccessible2_2_ServerInfo; +extern const MIDL_STUBLESS_PROXY_INFO IAccessible2_2_ProxyInfo; + + +extern const MIDL_STUB_DESC Object_StubDesc; + + +extern const MIDL_SERVER_INFO IAccessibleComponent_ServerInfo; +extern const MIDL_STUBLESS_PROXY_INFO IAccessibleComponent_ProxyInfo; + + +extern const MIDL_STUB_DESC Object_StubDesc; + + +extern const MIDL_SERVER_INFO IAccessibleValue_ServerInfo; +extern const MIDL_STUBLESS_PROXY_INFO IAccessibleValue_ProxyInfo; + + +extern const MIDL_STUB_DESC Object_StubDesc; + + +extern const MIDL_SERVER_INFO IAccessibleText_ServerInfo; +extern const MIDL_STUBLESS_PROXY_INFO IAccessibleText_ProxyInfo; + + +extern const MIDL_STUB_DESC Object_StubDesc; + + +extern const MIDL_SERVER_INFO IAccessibleText2_ServerInfo; +extern const MIDL_STUBLESS_PROXY_INFO IAccessibleText2_ProxyInfo; + + +extern const MIDL_STUB_DESC Object_StubDesc; + + +extern const MIDL_SERVER_INFO IAccessibleEditableText_ServerInfo; +extern const MIDL_STUBLESS_PROXY_INFO IAccessibleEditableText_ProxyInfo; + + +extern const MIDL_STUB_DESC Object_StubDesc; + + +extern const MIDL_SERVER_INFO IAccessibleHyperlink_ServerInfo; +extern const MIDL_STUBLESS_PROXY_INFO IAccessibleHyperlink_ProxyInfo; + + +extern const MIDL_STUB_DESC Object_StubDesc; + + +extern const MIDL_SERVER_INFO IAccessibleHypertext_ServerInfo; +extern const MIDL_STUBLESS_PROXY_INFO IAccessibleHypertext_ProxyInfo; + + +extern const MIDL_STUB_DESC Object_StubDesc; + + +extern const MIDL_SERVER_INFO IAccessibleHypertext2_ServerInfo; +extern const MIDL_STUBLESS_PROXY_INFO IAccessibleHypertext2_ProxyInfo; + + +extern const MIDL_STUB_DESC Object_StubDesc; + + +extern const MIDL_SERVER_INFO IAccessibleTable_ServerInfo; +extern const MIDL_STUBLESS_PROXY_INFO IAccessibleTable_ProxyInfo; + + +extern const MIDL_STUB_DESC Object_StubDesc; + + +extern const MIDL_SERVER_INFO IAccessibleTable2_ServerInfo; +extern const MIDL_STUBLESS_PROXY_INFO IAccessibleTable2_ProxyInfo; + + +extern const MIDL_STUB_DESC Object_StubDesc; + + +extern const MIDL_SERVER_INFO IAccessibleTableCell_ServerInfo; +extern const MIDL_STUBLESS_PROXY_INFO IAccessibleTableCell_ProxyInfo; + + +extern const MIDL_STUB_DESC Object_StubDesc; + + +extern const MIDL_SERVER_INFO IAccessibleImage_ServerInfo; +extern const MIDL_STUBLESS_PROXY_INFO IAccessibleImage_ProxyInfo; + + +extern const MIDL_STUB_DESC Object_StubDesc; + + +extern const MIDL_SERVER_INFO IAccessibleApplication_ServerInfo; +extern const MIDL_STUBLESS_PROXY_INFO IAccessibleApplication_ProxyInfo; + + +extern const MIDL_STUB_DESC Object_StubDesc; + + +extern const MIDL_SERVER_INFO IAccessibleDocument_ServerInfo; +extern const MIDL_STUBLESS_PROXY_INFO IAccessibleDocument_ProxyInfo; + + +extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ]; + +#if !defined(__RPC_WIN64__) +#error Invalid build platform for this stub. +#endif + +static const ia2_api_all_MIDL_PROC_FORMAT_STRING ia2_api_all__MIDL_ProcFormatString = + { + 0, + { + + /* Procedure get_appName */ + + + /* Procedure get_description */ + + + /* Procedure get_relationType */ + + 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2 */ NdrFcLong( 0x0 ), /* 0 */ +/* 6 */ NdrFcShort( 0x3 ), /* 3 */ +/* 8 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 10 */ NdrFcShort( 0x0 ), /* 0 */ +/* 12 */ NdrFcShort( 0x8 ), /* 8 */ +/* 14 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 16 */ 0xa, /* 10 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 18 */ NdrFcShort( 0x1 ), /* 1 */ +/* 20 */ NdrFcShort( 0x0 ), /* 0 */ +/* 22 */ NdrFcShort( 0x0 ), /* 0 */ +/* 24 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter name */ + + + /* Parameter description */ + + + /* Parameter relationType */ + +/* 26 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 28 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 30 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ + + /* Return value */ + + + /* Return value */ + + + /* Return value */ + +/* 32 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 34 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 36 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_appVersion */ + + + /* Procedure get_localizedRelationType */ + +/* 38 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 40 */ NdrFcLong( 0x0 ), /* 0 */ +/* 44 */ NdrFcShort( 0x4 ), /* 4 */ +/* 46 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 48 */ NdrFcShort( 0x0 ), /* 0 */ +/* 50 */ NdrFcShort( 0x8 ), /* 8 */ +/* 52 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 54 */ 0xa, /* 10 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 56 */ NdrFcShort( 0x1 ), /* 1 */ +/* 58 */ NdrFcShort( 0x0 ), /* 0 */ +/* 60 */ NdrFcShort( 0x0 ), /* 0 */ +/* 62 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter version */ + + + /* Parameter localizedRelationType */ + +/* 64 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 66 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 68 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ + + /* Return value */ + + + /* Return value */ + +/* 70 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 72 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 74 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_columnIndex */ + + + /* Procedure get_caretOffset */ + + + /* Procedure get_background */ + + + /* Procedure get_nTargets */ + +/* 76 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 78 */ NdrFcLong( 0x0 ), /* 0 */ +/* 82 */ NdrFcShort( 0x5 ), /* 5 */ +/* 84 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 86 */ NdrFcShort( 0x0 ), /* 0 */ +/* 88 */ NdrFcShort( 0x24 ), /* 36 */ +/* 90 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 92 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 94 */ NdrFcShort( 0x0 ), /* 0 */ +/* 96 */ NdrFcShort( 0x0 ), /* 0 */ +/* 98 */ NdrFcShort( 0x0 ), /* 0 */ +/* 100 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter columnIndex */ + + + /* Parameter offset */ + + + /* Parameter background */ + + + /* Parameter nTargets */ + +/* 102 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 104 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 106 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + + + /* Return value */ + + + /* Return value */ + + + /* Return value */ + +/* 108 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 110 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 112 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_target */ + +/* 114 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 116 */ NdrFcLong( 0x0 ), /* 0 */ +/* 120 */ NdrFcShort( 0x6 ), /* 6 */ +/* 122 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 124 */ NdrFcShort( 0x8 ), /* 8 */ +/* 126 */ NdrFcShort( 0x8 ), /* 8 */ +/* 128 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x3, /* 3 */ +/* 130 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 132 */ NdrFcShort( 0x0 ), /* 0 */ +/* 134 */ NdrFcShort( 0x0 ), /* 0 */ +/* 136 */ NdrFcShort( 0x0 ), /* 0 */ +/* 138 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter targetIndex */ + +/* 140 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 142 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 144 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter target */ + +/* 146 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ +/* 148 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 150 */ NdrFcShort( 0x2e ), /* Type Offset=46 */ + + /* Return value */ + +/* 152 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 154 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 156 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_targets */ + +/* 158 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 160 */ NdrFcLong( 0x0 ), /* 0 */ +/* 164 */ NdrFcShort( 0x7 ), /* 7 */ +/* 166 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ +/* 168 */ NdrFcShort( 0x8 ), /* 8 */ +/* 170 */ NdrFcShort( 0x24 ), /* 36 */ +/* 172 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x4, /* 4 */ +/* 174 */ 0xa, /* 10 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 176 */ NdrFcShort( 0x1 ), /* 1 */ +/* 178 */ NdrFcShort( 0x0 ), /* 0 */ +/* 180 */ NdrFcShort( 0x0 ), /* 0 */ +/* 182 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter maxTargets */ + +/* 184 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 186 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 188 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter targets */ + +/* 190 */ NdrFcShort( 0x113 ), /* Flags: must size, must free, out, simple ref, */ +/* 192 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 194 */ NdrFcShort( 0x48 ), /* Type Offset=72 */ + + /* Parameter nTargets */ + +/* 196 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 198 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 200 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 202 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 204 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 206 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_columnExtent */ + + + /* Procedure nActions */ + +/* 208 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 210 */ NdrFcLong( 0x0 ), /* 0 */ +/* 214 */ NdrFcShort( 0x3 ), /* 3 */ +/* 216 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 218 */ NdrFcShort( 0x0 ), /* 0 */ +/* 220 */ NdrFcShort( 0x24 ), /* 36 */ +/* 222 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 224 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 226 */ NdrFcShort( 0x0 ), /* 0 */ +/* 228 */ NdrFcShort( 0x0 ), /* 0 */ +/* 230 */ NdrFcShort( 0x0 ), /* 0 */ +/* 232 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter nColumnsSpanned */ + + + /* Parameter nActions */ + +/* 234 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 236 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 238 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + + + /* Return value */ + +/* 240 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 242 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 244 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure doAction */ + +/* 246 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 248 */ NdrFcLong( 0x0 ), /* 0 */ +/* 252 */ NdrFcShort( 0x4 ), /* 4 */ +/* 254 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 256 */ NdrFcShort( 0x8 ), /* 8 */ +/* 258 */ NdrFcShort( 0x8 ), /* 8 */ +/* 260 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 262 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 264 */ NdrFcShort( 0x0 ), /* 0 */ +/* 266 */ NdrFcShort( 0x0 ), /* 0 */ +/* 268 */ NdrFcShort( 0x0 ), /* 0 */ +/* 270 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter actionIndex */ + +/* 272 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 274 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 276 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 278 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 280 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 282 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_columnDescription */ + + + /* Procedure get_description */ + +/* 284 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 286 */ NdrFcLong( 0x0 ), /* 0 */ +/* 290 */ NdrFcShort( 0x5 ), /* 5 */ +/* 292 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 294 */ NdrFcShort( 0x8 ), /* 8 */ +/* 296 */ NdrFcShort( 0x8 ), /* 8 */ +/* 298 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x3, /* 3 */ +/* 300 */ 0xa, /* 10 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 302 */ NdrFcShort( 0x1 ), /* 1 */ +/* 304 */ NdrFcShort( 0x0 ), /* 0 */ +/* 306 */ NdrFcShort( 0x0 ), /* 0 */ +/* 308 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter column */ + + + /* Parameter actionIndex */ + +/* 310 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 312 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 314 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter description */ + + + /* Parameter description */ + +/* 316 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 318 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 320 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ + + /* Return value */ + + + /* Return value */ + +/* 322 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 324 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 326 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_keyBinding */ + +/* 328 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 330 */ NdrFcLong( 0x0 ), /* 0 */ +/* 334 */ NdrFcShort( 0x6 ), /* 6 */ +/* 336 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */ +/* 338 */ NdrFcShort( 0x10 ), /* 16 */ +/* 340 */ NdrFcShort( 0x24 ), /* 36 */ +/* 342 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x5, /* 5 */ +/* 344 */ 0xa, /* 10 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 346 */ NdrFcShort( 0x1 ), /* 1 */ +/* 348 */ NdrFcShort( 0x0 ), /* 0 */ +/* 350 */ NdrFcShort( 0x0 ), /* 0 */ +/* 352 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter actionIndex */ + +/* 354 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 356 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 358 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter nMaxBindings */ + +/* 360 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 362 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 364 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter keyBindings */ + +/* 366 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ +/* 368 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 370 */ NdrFcShort( 0x5e ), /* Type Offset=94 */ + + /* Parameter nBindings */ + +/* 372 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 374 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 376 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 378 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 380 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ +/* 382 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_name */ + +/* 384 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 386 */ NdrFcLong( 0x0 ), /* 0 */ +/* 390 */ NdrFcShort( 0x7 ), /* 7 */ +/* 392 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 394 */ NdrFcShort( 0x8 ), /* 8 */ +/* 396 */ NdrFcShort( 0x8 ), /* 8 */ +/* 398 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x3, /* 3 */ +/* 400 */ 0xa, /* 10 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 402 */ NdrFcShort( 0x1 ), /* 1 */ +/* 404 */ NdrFcShort( 0x0 ), /* 0 */ +/* 406 */ NdrFcShort( 0x0 ), /* 0 */ +/* 408 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter actionIndex */ + +/* 410 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 412 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 414 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter name */ + +/* 416 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 418 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 420 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ + + /* Return value */ + +/* 422 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 424 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 426 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_localizedName */ + +/* 428 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 430 */ NdrFcLong( 0x0 ), /* 0 */ +/* 434 */ NdrFcShort( 0x8 ), /* 8 */ +/* 436 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 438 */ NdrFcShort( 0x8 ), /* 8 */ +/* 440 */ NdrFcShort( 0x8 ), /* 8 */ +/* 442 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x3, /* 3 */ +/* 444 */ 0xa, /* 10 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 446 */ NdrFcShort( 0x1 ), /* 1 */ +/* 448 */ NdrFcShort( 0x0 ), /* 0 */ +/* 450 */ NdrFcShort( 0x0 ), /* 0 */ +/* 452 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter actionIndex */ + +/* 454 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 456 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 458 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter localizedName */ + +/* 460 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 462 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 464 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ + + /* Return value */ + +/* 466 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 468 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 470 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_nRelations */ + +/* 472 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 474 */ NdrFcLong( 0x0 ), /* 0 */ +/* 478 */ NdrFcShort( 0x1c ), /* 28 */ +/* 480 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 482 */ NdrFcShort( 0x0 ), /* 0 */ +/* 484 */ NdrFcShort( 0x24 ), /* 36 */ +/* 486 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 488 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 490 */ NdrFcShort( 0x0 ), /* 0 */ +/* 492 */ NdrFcShort( 0x0 ), /* 0 */ +/* 494 */ NdrFcShort( 0x0 ), /* 0 */ +/* 496 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter nRelations */ + +/* 498 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 500 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 502 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 504 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 506 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 508 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_relation */ + +/* 510 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 512 */ NdrFcLong( 0x0 ), /* 0 */ +/* 516 */ NdrFcShort( 0x1d ), /* 29 */ +/* 518 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 520 */ NdrFcShort( 0x8 ), /* 8 */ +/* 522 */ NdrFcShort( 0x8 ), /* 8 */ +/* 524 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x3, /* 3 */ +/* 526 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 528 */ NdrFcShort( 0x0 ), /* 0 */ +/* 530 */ NdrFcShort( 0x0 ), /* 0 */ +/* 532 */ NdrFcShort( 0x0 ), /* 0 */ +/* 534 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter relationIndex */ + +/* 536 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 538 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 540 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter relation */ + +/* 542 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ +/* 544 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 546 */ NdrFcShort( 0x7c ), /* Type Offset=124 */ + + /* Return value */ + +/* 548 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 550 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 552 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_relations */ + +/* 554 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 556 */ NdrFcLong( 0x0 ), /* 0 */ +/* 560 */ NdrFcShort( 0x1e ), /* 30 */ +/* 562 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ +/* 564 */ NdrFcShort( 0x8 ), /* 8 */ +/* 566 */ NdrFcShort( 0x24 ), /* 36 */ +/* 568 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x4, /* 4 */ +/* 570 */ 0xa, /* 10 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 572 */ NdrFcShort( 0x1 ), /* 1 */ +/* 574 */ NdrFcShort( 0x0 ), /* 0 */ +/* 576 */ NdrFcShort( 0x0 ), /* 0 */ +/* 578 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter maxRelations */ + +/* 580 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 582 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 584 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter relations */ + +/* 586 */ NdrFcShort( 0x113 ), /* Flags: must size, must free, out, simple ref, */ +/* 588 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 590 */ NdrFcShort( 0x96 ), /* Type Offset=150 */ + + /* Parameter nRelations */ + +/* 592 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 594 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 596 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 598 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 600 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 602 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure role */ + +/* 604 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 606 */ NdrFcLong( 0x0 ), /* 0 */ +/* 610 */ NdrFcShort( 0x1f ), /* 31 */ +/* 612 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 614 */ NdrFcShort( 0x0 ), /* 0 */ +/* 616 */ NdrFcShort( 0x24 ), /* 36 */ +/* 618 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 620 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 622 */ NdrFcShort( 0x0 ), /* 0 */ +/* 624 */ NdrFcShort( 0x0 ), /* 0 */ +/* 626 */ NdrFcShort( 0x0 ), /* 0 */ +/* 628 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter role */ + +/* 630 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 632 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 634 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 636 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 638 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 640 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure scrollTo */ + +/* 642 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 644 */ NdrFcLong( 0x0 ), /* 0 */ +/* 648 */ NdrFcShort( 0x20 ), /* 32 */ +/* 650 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 652 */ NdrFcShort( 0x6 ), /* 6 */ +/* 654 */ NdrFcShort( 0x8 ), /* 8 */ +/* 656 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 658 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 660 */ NdrFcShort( 0x0 ), /* 0 */ +/* 662 */ NdrFcShort( 0x0 ), /* 0 */ +/* 664 */ NdrFcShort( 0x0 ), /* 0 */ +/* 666 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter scrollType */ + +/* 668 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 670 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 672 */ 0xd, /* FC_ENUM16 */ + 0x0, /* 0 */ + + /* Return value */ + +/* 674 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 676 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 678 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure scrollToPoint */ + +/* 680 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 682 */ NdrFcLong( 0x0 ), /* 0 */ +/* 686 */ NdrFcShort( 0x21 ), /* 33 */ +/* 688 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ +/* 690 */ NdrFcShort( 0x16 ), /* 22 */ +/* 692 */ NdrFcShort( 0x8 ), /* 8 */ +/* 694 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x4, /* 4 */ +/* 696 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 698 */ NdrFcShort( 0x0 ), /* 0 */ +/* 700 */ NdrFcShort( 0x0 ), /* 0 */ +/* 702 */ NdrFcShort( 0x0 ), /* 0 */ +/* 704 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter coordinateType */ + +/* 706 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 708 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 710 */ 0xd, /* FC_ENUM16 */ + 0x0, /* 0 */ + + /* Parameter x */ + +/* 712 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 714 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 716 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter y */ + +/* 718 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 720 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 722 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 724 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 726 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 728 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_groupPosition */ + +/* 730 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 732 */ NdrFcLong( 0x0 ), /* 0 */ +/* 736 */ NdrFcShort( 0x22 ), /* 34 */ +/* 738 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ +/* 740 */ NdrFcShort( 0x0 ), /* 0 */ +/* 742 */ NdrFcShort( 0x5c ), /* 92 */ +/* 744 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x4, /* 4 */ +/* 746 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 748 */ NdrFcShort( 0x0 ), /* 0 */ +/* 750 */ NdrFcShort( 0x0 ), /* 0 */ +/* 752 */ NdrFcShort( 0x0 ), /* 0 */ +/* 754 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter groupLevel */ + +/* 756 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 758 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 760 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter similarItemsInGroup */ + +/* 762 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 764 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 766 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter positionInGroup */ + +/* 768 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 770 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 772 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 774 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 776 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 778 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_states */ + +/* 780 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 782 */ NdrFcLong( 0x0 ), /* 0 */ +/* 786 */ NdrFcShort( 0x23 ), /* 35 */ +/* 788 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 790 */ NdrFcShort( 0x0 ), /* 0 */ +/* 792 */ NdrFcShort( 0x24 ), /* 36 */ +/* 794 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 796 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 798 */ NdrFcShort( 0x0 ), /* 0 */ +/* 800 */ NdrFcShort( 0x0 ), /* 0 */ +/* 802 */ NdrFcShort( 0x0 ), /* 0 */ +/* 804 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter states */ + +/* 806 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 808 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 810 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 812 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 814 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 816 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_extendedRole */ + +/* 818 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 820 */ NdrFcLong( 0x0 ), /* 0 */ +/* 824 */ NdrFcShort( 0x24 ), /* 36 */ +/* 826 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 828 */ NdrFcShort( 0x0 ), /* 0 */ +/* 830 */ NdrFcShort( 0x8 ), /* 8 */ +/* 832 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 834 */ 0xa, /* 10 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 836 */ NdrFcShort( 0x1 ), /* 1 */ +/* 838 */ NdrFcShort( 0x0 ), /* 0 */ +/* 840 */ NdrFcShort( 0x0 ), /* 0 */ +/* 842 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter extendedRole */ + +/* 844 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 846 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 848 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ + + /* Return value */ + +/* 850 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 852 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 854 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_localizedExtendedRole */ + +/* 856 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 858 */ NdrFcLong( 0x0 ), /* 0 */ +/* 862 */ NdrFcShort( 0x25 ), /* 37 */ +/* 864 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 866 */ NdrFcShort( 0x0 ), /* 0 */ +/* 868 */ NdrFcShort( 0x8 ), /* 8 */ +/* 870 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 872 */ 0xa, /* 10 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 874 */ NdrFcShort( 0x1 ), /* 1 */ +/* 876 */ NdrFcShort( 0x0 ), /* 0 */ +/* 878 */ NdrFcShort( 0x0 ), /* 0 */ +/* 880 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter localizedExtendedRole */ + +/* 882 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 884 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 886 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ + + /* Return value */ + +/* 888 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 890 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 892 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_nExtendedStates */ + +/* 894 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 896 */ NdrFcLong( 0x0 ), /* 0 */ +/* 900 */ NdrFcShort( 0x26 ), /* 38 */ +/* 902 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 904 */ NdrFcShort( 0x0 ), /* 0 */ +/* 906 */ NdrFcShort( 0x24 ), /* 36 */ +/* 908 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 910 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 912 */ NdrFcShort( 0x0 ), /* 0 */ +/* 914 */ NdrFcShort( 0x0 ), /* 0 */ +/* 916 */ NdrFcShort( 0x0 ), /* 0 */ +/* 918 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter nExtendedStates */ + +/* 920 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 922 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 924 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 926 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 928 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 930 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_extendedStates */ + +/* 932 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 934 */ NdrFcLong( 0x0 ), /* 0 */ +/* 938 */ NdrFcShort( 0x27 ), /* 39 */ +/* 940 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ +/* 942 */ NdrFcShort( 0x8 ), /* 8 */ +/* 944 */ NdrFcShort( 0x24 ), /* 36 */ +/* 946 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x4, /* 4 */ +/* 948 */ 0xa, /* 10 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 950 */ NdrFcShort( 0x1 ), /* 1 */ +/* 952 */ NdrFcShort( 0x0 ), /* 0 */ +/* 954 */ NdrFcShort( 0x0 ), /* 0 */ +/* 956 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter maxExtendedStates */ + +/* 958 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 960 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 962 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter extendedStates */ + +/* 964 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ +/* 966 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 968 */ NdrFcShort( 0xac ), /* Type Offset=172 */ + + /* Parameter nExtendedStates */ + +/* 970 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 972 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 974 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 976 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 978 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 980 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_localizedExtendedStates */ + +/* 982 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 984 */ NdrFcLong( 0x0 ), /* 0 */ +/* 988 */ NdrFcShort( 0x28 ), /* 40 */ +/* 990 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ +/* 992 */ NdrFcShort( 0x8 ), /* 8 */ +/* 994 */ NdrFcShort( 0x24 ), /* 36 */ +/* 996 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x4, /* 4 */ +/* 998 */ 0xa, /* 10 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 1000 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1002 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1004 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1006 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter maxLocalizedExtendedStates */ + +/* 1008 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 1010 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 1012 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter localizedExtendedStates */ + +/* 1014 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ +/* 1016 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 1018 */ NdrFcShort( 0xac ), /* Type Offset=172 */ + + /* Parameter nLocalizedExtendedStates */ + +/* 1020 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 1022 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 1024 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 1026 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1028 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 1030 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_uniqueID */ + +/* 1032 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1034 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1038 */ NdrFcShort( 0x29 ), /* 41 */ +/* 1040 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 1042 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1044 */ NdrFcShort( 0x24 ), /* 36 */ +/* 1046 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 1048 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 1050 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1052 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1054 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1056 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter uniqueID */ + +/* 1058 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 1060 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 1062 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 1064 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1066 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 1068 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_windowHandle */ + +/* 1070 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1072 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1076 */ NdrFcShort( 0x2a ), /* 42 */ +/* 1078 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 1080 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1082 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1084 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 1086 */ 0xa, /* 10 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 1088 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1090 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1092 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1094 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter windowHandle */ + +/* 1096 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 1098 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 1100 */ NdrFcShort( 0xe6 ), /* Type Offset=230 */ + + /* Return value */ + +/* 1102 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1104 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 1106 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_indexInParent */ + +/* 1108 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1110 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1114 */ NdrFcShort( 0x2b ), /* 43 */ +/* 1116 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 1118 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1120 */ NdrFcShort( 0x24 ), /* 36 */ +/* 1122 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 1124 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 1126 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1128 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1130 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1132 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter indexInParent */ + +/* 1134 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 1136 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 1138 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 1140 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1142 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 1144 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_locale */ + +/* 1146 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1148 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1152 */ NdrFcShort( 0x2c ), /* 44 */ +/* 1154 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 1156 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1158 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1160 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 1162 */ 0xa, /* 10 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 1164 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1166 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1168 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1170 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter locale */ + +/* 1172 */ NdrFcShort( 0x6113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=24 */ +/* 1174 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 1176 */ NdrFcShort( 0xf4 ), /* Type Offset=244 */ + + /* Return value */ + +/* 1178 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1180 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 1182 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_attributes */ + +/* 1184 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1186 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1190 */ NdrFcShort( 0x2d ), /* 45 */ +/* 1192 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 1194 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1196 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1198 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 1200 */ 0xa, /* 10 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 1202 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1204 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1206 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1208 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter attributes */ + +/* 1210 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 1212 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 1214 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ + + /* Return value */ + +/* 1216 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1218 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 1220 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_attribute */ + +/* 1222 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1224 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1228 */ NdrFcShort( 0x2e ), /* 46 */ +/* 1230 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 1232 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1234 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1236 */ 0x47, /* Oi2 Flags: srv must size, clt must size, has return, has ext, */ + 0x3, /* 3 */ +/* 1238 */ 0xa, /* 10 */ + 0x7, /* Ext Flags: new corr desc, clt corr check, srv corr check, */ +/* 1240 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1242 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1244 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1246 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter name */ + +/* 1248 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 1250 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 1252 */ NdrFcShort( 0x10e ), /* Type Offset=270 */ + + /* Parameter attribute */ + +/* 1254 */ NdrFcShort( 0x6113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=24 */ +/* 1256 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 1258 */ NdrFcShort( 0x4bc ), /* Type Offset=1212 */ + + /* Return value */ + +/* 1260 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1262 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 1264 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_accessibleWithCaret */ + +/* 1266 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1268 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1272 */ NdrFcShort( 0x2f ), /* 47 */ +/* 1274 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 1276 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1278 */ NdrFcShort( 0x24 ), /* 36 */ +/* 1280 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x3, /* 3 */ +/* 1282 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 1284 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1286 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1288 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1290 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter accessible */ + +/* 1292 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ +/* 1294 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 1296 */ NdrFcShort( 0x2e ), /* Type Offset=46 */ + + /* Parameter caretOffset */ + +/* 1298 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 1300 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 1302 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 1304 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1306 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 1308 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_relationTargetsOfType */ + +/* 1310 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1312 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1316 */ NdrFcShort( 0x30 ), /* 48 */ +/* 1318 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */ +/* 1320 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1322 */ NdrFcShort( 0x24 ), /* 36 */ +/* 1324 */ 0x47, /* Oi2 Flags: srv must size, clt must size, has return, has ext, */ + 0x5, /* 5 */ +/* 1326 */ 0xa, /* 10 */ + 0x7, /* Ext Flags: new corr desc, clt corr check, srv corr check, */ +/* 1328 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1330 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1332 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1334 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter type */ + +/* 1336 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 1338 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 1340 */ NdrFcShort( 0x10e ), /* Type Offset=270 */ + + /* Parameter maxTargets */ + +/* 1342 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 1344 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 1346 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter targets */ + +/* 1348 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ +/* 1350 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 1352 */ NdrFcShort( 0x4c6 ), /* Type Offset=1222 */ + + /* Parameter nTargets */ + +/* 1354 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 1356 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 1358 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 1360 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1362 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ +/* 1364 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_locationInParent */ + +/* 1366 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1368 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1372 */ NdrFcShort( 0x3 ), /* 3 */ +/* 1374 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 1376 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1378 */ NdrFcShort( 0x40 ), /* 64 */ +/* 1380 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x3, /* 3 */ +/* 1382 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 1384 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1386 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1388 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1390 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter x */ + +/* 1392 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 1394 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 1396 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter y */ + +/* 1398 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 1400 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 1402 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 1404 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1406 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 1408 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_foreground */ + +/* 1410 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1412 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1416 */ NdrFcShort( 0x4 ), /* 4 */ +/* 1418 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 1420 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1422 */ NdrFcShort( 0x24 ), /* 36 */ +/* 1424 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 1426 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 1428 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1430 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1432 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1434 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter foreground */ + +/* 1436 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 1438 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 1440 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 1442 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1444 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 1446 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_currentValue */ + +/* 1448 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1450 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1454 */ NdrFcShort( 0x3 ), /* 3 */ +/* 1456 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 1458 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1460 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1462 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 1464 */ 0xa, /* 10 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 1466 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1468 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1470 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1472 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter currentValue */ + +/* 1474 */ NdrFcShort( 0x6113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=24 */ +/* 1476 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 1478 */ NdrFcShort( 0x4bc ), /* Type Offset=1212 */ + + /* Return value */ + +/* 1480 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1482 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 1484 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure setCurrentValue */ + +/* 1486 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1488 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1492 */ NdrFcShort( 0x4 ), /* 4 */ +/* 1494 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 1496 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1498 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1500 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ + 0x2, /* 2 */ +/* 1502 */ 0xa, /* 10 */ + 0x85, /* Ext Flags: new corr desc, srv corr check, has big amd64 byval param */ +/* 1504 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1506 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1508 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1510 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter value */ + +/* 1512 */ NdrFcShort( 0x10b ), /* Flags: must size, must free, in, simple ref, */ +/* 1514 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 1516 */ NdrFcShort( 0x4ec ), /* Type Offset=1260 */ + + /* Return value */ + +/* 1518 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1520 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 1522 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_maximumValue */ + +/* 1524 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1526 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1530 */ NdrFcShort( 0x5 ), /* 5 */ +/* 1532 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 1534 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1536 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1538 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 1540 */ 0xa, /* 10 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 1542 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1544 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1546 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1548 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter maximumValue */ + +/* 1550 */ NdrFcShort( 0x6113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=24 */ +/* 1552 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 1554 */ NdrFcShort( 0x4bc ), /* Type Offset=1212 */ + + /* Return value */ + +/* 1556 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1558 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 1560 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_minimumValue */ + +/* 1562 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1564 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1568 */ NdrFcShort( 0x6 ), /* 6 */ +/* 1570 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 1572 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1574 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1576 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 1578 */ 0xa, /* 10 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 1580 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1582 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1584 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1586 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter minimumValue */ + +/* 1588 */ NdrFcShort( 0x6113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=24 */ +/* 1590 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 1592 */ NdrFcShort( 0x4bc ), /* Type Offset=1212 */ + + /* Return value */ + +/* 1594 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1596 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 1598 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure copyText */ + + + /* Procedure addSelection */ + +/* 1600 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1602 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1606 */ NdrFcShort( 0x3 ), /* 3 */ +/* 1608 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 1610 */ NdrFcShort( 0x10 ), /* 16 */ +/* 1612 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1614 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x3, /* 3 */ +/* 1616 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 1618 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1620 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1622 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1624 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter startOffset */ + + + /* Parameter startOffset */ + +/* 1626 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 1628 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 1630 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter endOffset */ + + + /* Parameter endOffset */ + +/* 1632 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 1634 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 1636 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + + + /* Return value */ + +/* 1638 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1640 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 1642 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_attributes */ + +/* 1644 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1646 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1650 */ NdrFcShort( 0x4 ), /* 4 */ +/* 1652 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */ +/* 1654 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1656 */ NdrFcShort( 0x40 ), /* 64 */ +/* 1658 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x5, /* 5 */ +/* 1660 */ 0xa, /* 10 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 1662 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1664 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1666 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1668 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter offset */ + +/* 1670 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 1672 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 1674 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter startOffset */ + +/* 1676 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 1678 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 1680 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter endOffset */ + +/* 1682 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 1684 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 1686 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter textAttributes */ + +/* 1688 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 1690 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 1692 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ + + /* Return value */ + +/* 1694 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1696 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ +/* 1698 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_characterExtents */ + +/* 1700 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1702 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1706 */ NdrFcShort( 0x6 ), /* 6 */ +/* 1708 */ NdrFcShort( 0x40 ), /* X64 Stack size/offset = 64 */ +/* 1710 */ NdrFcShort( 0xe ), /* 14 */ +/* 1712 */ NdrFcShort( 0x78 ), /* 120 */ +/* 1714 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x7, /* 7 */ +/* 1716 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 1718 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1720 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1722 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1724 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter offset */ + +/* 1726 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 1728 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 1730 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter coordType */ + +/* 1732 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 1734 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 1736 */ 0xd, /* FC_ENUM16 */ + 0x0, /* 0 */ + + /* Parameter x */ + +/* 1738 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 1740 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 1742 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter y */ + +/* 1744 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 1746 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 1748 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter width */ + +/* 1750 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 1752 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ +/* 1754 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter height */ + +/* 1756 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 1758 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */ +/* 1760 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 1762 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1764 */ NdrFcShort( 0x38 ), /* X64 Stack size/offset = 56 */ +/* 1766 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_nRows */ + + + /* Procedure get_nSelections */ + +/* 1768 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1770 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1774 */ NdrFcShort( 0x7 ), /* 7 */ +/* 1776 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 1778 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1780 */ NdrFcShort( 0x24 ), /* 36 */ +/* 1782 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 1784 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 1786 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1788 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1790 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1792 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter rowCount */ + + + /* Parameter nSelections */ + +/* 1794 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 1796 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 1798 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + + + /* Return value */ + +/* 1800 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1802 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 1804 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_offsetAtPoint */ + +/* 1806 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1808 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1812 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1814 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */ +/* 1816 */ NdrFcShort( 0x16 ), /* 22 */ +/* 1818 */ NdrFcShort( 0x24 ), /* 36 */ +/* 1820 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x5, /* 5 */ +/* 1822 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 1824 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1826 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1828 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1830 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter x */ + +/* 1832 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 1834 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 1836 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter y */ + +/* 1838 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 1840 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 1842 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter coordType */ + +/* 1844 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 1846 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 1848 */ 0xd, /* FC_ENUM16 */ + 0x0, /* 0 */ + + /* Parameter offset */ + +/* 1850 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 1852 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 1854 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 1856 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1858 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ +/* 1860 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_selection */ + +/* 1862 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1864 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1868 */ NdrFcShort( 0x9 ), /* 9 */ +/* 1870 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ +/* 1872 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1874 */ NdrFcShort( 0x40 ), /* 64 */ +/* 1876 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x4, /* 4 */ +/* 1878 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 1880 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1882 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1884 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1886 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter selectionIndex */ + +/* 1888 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 1890 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 1892 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter startOffset */ + +/* 1894 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 1896 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 1898 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter endOffset */ + +/* 1900 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 1902 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 1904 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 1906 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1908 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 1910 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_text */ + +/* 1912 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1914 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1918 */ NdrFcShort( 0xa ), /* 10 */ +/* 1920 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ +/* 1922 */ NdrFcShort( 0x10 ), /* 16 */ +/* 1924 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1926 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x4, /* 4 */ +/* 1928 */ 0xa, /* 10 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 1930 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1932 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1934 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1936 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter startOffset */ + +/* 1938 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 1940 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 1942 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter endOffset */ + +/* 1944 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 1946 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 1948 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter text */ + +/* 1950 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 1952 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 1954 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ + + /* Return value */ + +/* 1956 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1958 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 1960 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_textBeforeOffset */ + +/* 1962 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1964 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1968 */ NdrFcShort( 0xb ), /* 11 */ +/* 1970 */ NdrFcShort( 0x38 ), /* X64 Stack size/offset = 56 */ +/* 1972 */ NdrFcShort( 0xe ), /* 14 */ +/* 1974 */ NdrFcShort( 0x40 ), /* 64 */ +/* 1976 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x6, /* 6 */ +/* 1978 */ 0xa, /* 10 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 1980 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1982 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1984 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1986 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter offset */ + +/* 1988 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 1990 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 1992 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter boundaryType */ + +/* 1994 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 1996 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 1998 */ 0xd, /* FC_ENUM16 */ + 0x0, /* 0 */ + + /* Parameter startOffset */ + +/* 2000 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 2002 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 2004 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter endOffset */ + +/* 2006 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 2008 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 2010 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter text */ + +/* 2012 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 2014 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ +/* 2016 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ + + /* Return value */ + +/* 2018 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2020 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */ +/* 2022 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_textAfterOffset */ + +/* 2024 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2026 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2030 */ NdrFcShort( 0xc ), /* 12 */ +/* 2032 */ NdrFcShort( 0x38 ), /* X64 Stack size/offset = 56 */ +/* 2034 */ NdrFcShort( 0xe ), /* 14 */ +/* 2036 */ NdrFcShort( 0x40 ), /* 64 */ +/* 2038 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x6, /* 6 */ +/* 2040 */ 0xa, /* 10 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 2042 */ NdrFcShort( 0x1 ), /* 1 */ +/* 2044 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2046 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2048 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter offset */ + +/* 2050 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2052 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 2054 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter boundaryType */ + +/* 2056 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2058 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 2060 */ 0xd, /* FC_ENUM16 */ + 0x0, /* 0 */ + + /* Parameter startOffset */ + +/* 2062 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 2064 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 2066 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter endOffset */ + +/* 2068 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 2070 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 2072 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter text */ + +/* 2074 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 2076 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ +/* 2078 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ + + /* Return value */ + +/* 2080 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2082 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */ +/* 2084 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_textAtOffset */ + +/* 2086 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2088 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2092 */ NdrFcShort( 0xd ), /* 13 */ +/* 2094 */ NdrFcShort( 0x38 ), /* X64 Stack size/offset = 56 */ +/* 2096 */ NdrFcShort( 0xe ), /* 14 */ +/* 2098 */ NdrFcShort( 0x40 ), /* 64 */ +/* 2100 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x6, /* 6 */ +/* 2102 */ 0xa, /* 10 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 2104 */ NdrFcShort( 0x1 ), /* 1 */ +/* 2106 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2108 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2110 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter offset */ + +/* 2112 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2114 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 2116 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter boundaryType */ + +/* 2118 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2120 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 2122 */ 0xd, /* FC_ENUM16 */ + 0x0, /* 0 */ + + /* Parameter startOffset */ + +/* 2124 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 2126 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 2128 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter endOffset */ + +/* 2130 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 2132 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 2134 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter text */ + +/* 2136 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 2138 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ +/* 2140 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ + + /* Return value */ + +/* 2142 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2144 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */ +/* 2146 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure removeSelection */ + +/* 2148 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2150 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2154 */ NdrFcShort( 0xe ), /* 14 */ +/* 2156 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 2158 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2160 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2162 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 2164 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 2166 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2168 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2170 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2172 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter selectionIndex */ + +/* 2174 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2176 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 2178 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 2180 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2182 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 2184 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure setCaretOffset */ + +/* 2186 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2188 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2192 */ NdrFcShort( 0xf ), /* 15 */ +/* 2194 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 2196 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2198 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2200 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 2202 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 2204 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2206 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2208 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2210 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter offset */ + +/* 2212 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2214 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 2216 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 2218 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2220 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 2222 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure setSelection */ + +/* 2224 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2226 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2230 */ NdrFcShort( 0x10 ), /* 16 */ +/* 2232 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ +/* 2234 */ NdrFcShort( 0x18 ), /* 24 */ +/* 2236 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2238 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x4, /* 4 */ +/* 2240 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 2242 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2244 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2246 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2248 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter selectionIndex */ + +/* 2250 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2252 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 2254 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter startOffset */ + +/* 2256 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2258 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 2260 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter endOffset */ + +/* 2262 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2264 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 2266 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 2268 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2270 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 2272 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_nCharacters */ + +/* 2274 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2276 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2280 */ NdrFcShort( 0x11 ), /* 17 */ +/* 2282 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 2284 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2286 */ NdrFcShort( 0x24 ), /* 36 */ +/* 2288 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 2290 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 2292 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2294 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2296 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2298 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter nCharacters */ + +/* 2300 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 2302 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 2304 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 2306 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2308 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 2310 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure scrollSubstringTo */ + +/* 2312 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2314 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2318 */ NdrFcShort( 0x12 ), /* 18 */ +/* 2320 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ +/* 2322 */ NdrFcShort( 0x16 ), /* 22 */ +/* 2324 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2326 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x4, /* 4 */ +/* 2328 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 2330 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2332 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2334 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2336 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter startIndex */ + +/* 2338 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2340 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 2342 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter endIndex */ + +/* 2344 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2346 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 2348 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter scrollType */ + +/* 2350 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2352 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 2354 */ 0xd, /* FC_ENUM16 */ + 0x0, /* 0 */ + + /* Return value */ + +/* 2356 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2358 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 2360 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure scrollSubstringToPoint */ + +/* 2362 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2364 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2368 */ NdrFcShort( 0x13 ), /* 19 */ +/* 2370 */ NdrFcShort( 0x38 ), /* X64 Stack size/offset = 56 */ +/* 2372 */ NdrFcShort( 0x26 ), /* 38 */ +/* 2374 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2376 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x6, /* 6 */ +/* 2378 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 2380 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2382 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2384 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2386 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter startIndex */ + +/* 2388 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2390 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 2392 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter endIndex */ + +/* 2394 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2396 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 2398 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter coordinateType */ + +/* 2400 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2402 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 2404 */ 0xd, /* FC_ENUM16 */ + 0x0, /* 0 */ + + /* Parameter x */ + +/* 2406 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2408 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 2410 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter y */ + +/* 2412 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2414 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ +/* 2416 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 2418 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2420 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */ +/* 2422 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_newText */ + +/* 2424 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2426 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2430 */ NdrFcShort( 0x14 ), /* 20 */ +/* 2432 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 2434 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2436 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2438 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 2440 */ 0xa, /* 10 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 2442 */ NdrFcShort( 0x1 ), /* 1 */ +/* 2444 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2446 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2448 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter newText */ + +/* 2450 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ +/* 2452 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 2454 */ NdrFcShort( 0x4fa ), /* Type Offset=1274 */ + + /* Return value */ + +/* 2456 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2458 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 2460 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_oldText */ + +/* 2462 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2464 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2468 */ NdrFcShort( 0x15 ), /* 21 */ +/* 2470 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 2472 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2474 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2476 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 2478 */ 0xa, /* 10 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 2480 */ NdrFcShort( 0x1 ), /* 1 */ +/* 2482 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2484 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2486 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter oldText */ + +/* 2488 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ +/* 2490 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 2492 */ NdrFcShort( 0x4fa ), /* Type Offset=1274 */ + + /* Return value */ + +/* 2494 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2496 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 2498 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_attributeRange */ + +/* 2500 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2502 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2506 */ NdrFcShort( 0x16 ), /* 22 */ +/* 2508 */ NdrFcShort( 0x38 ), /* X64 Stack size/offset = 56 */ +/* 2510 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2512 */ NdrFcShort( 0x40 ), /* 64 */ +/* 2514 */ 0x47, /* Oi2 Flags: srv must size, clt must size, has return, has ext, */ + 0x6, /* 6 */ +/* 2516 */ 0xa, /* 10 */ + 0x7, /* Ext Flags: new corr desc, clt corr check, srv corr check, */ +/* 2518 */ NdrFcShort( 0x1 ), /* 1 */ +/* 2520 */ NdrFcShort( 0x1 ), /* 1 */ +/* 2522 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2524 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter offset */ + +/* 2526 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2528 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 2530 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter filter */ + +/* 2532 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 2534 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 2536 */ NdrFcShort( 0x10e ), /* Type Offset=270 */ + + /* Parameter startOffset */ + +/* 2538 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 2540 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 2542 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter endOffset */ + +/* 2544 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 2546 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 2548 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter attributeValues */ + +/* 2550 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 2552 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ +/* 2554 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ + + /* Return value */ + +/* 2556 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2558 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */ +/* 2560 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure deleteText */ + +/* 2562 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2564 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2568 */ NdrFcShort( 0x4 ), /* 4 */ +/* 2570 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 2572 */ NdrFcShort( 0x10 ), /* 16 */ +/* 2574 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2576 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x3, /* 3 */ +/* 2578 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 2580 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2582 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2584 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2586 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter startOffset */ + +/* 2588 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2590 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 2592 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter endOffset */ + +/* 2594 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2596 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 2598 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 2600 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2602 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 2604 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure insertText */ + +/* 2606 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2608 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2612 */ NdrFcShort( 0x5 ), /* 5 */ +/* 2614 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 2616 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2618 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2620 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ + 0x3, /* 3 */ +/* 2622 */ 0xa, /* 10 */ + 0x5, /* Ext Flags: new corr desc, srv corr check, */ +/* 2624 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2626 */ NdrFcShort( 0x1 ), /* 1 */ +/* 2628 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2630 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter offset */ + +/* 2632 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2634 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 2636 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter text */ + +/* 2638 */ NdrFcShort( 0x10b ), /* Flags: must size, must free, in, simple ref, */ +/* 2640 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 2642 */ NdrFcShort( 0x10e ), /* Type Offset=270 */ + + /* Return value */ + +/* 2644 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2646 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 2648 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure cutText */ + +/* 2650 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2652 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2656 */ NdrFcShort( 0x6 ), /* 6 */ +/* 2658 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 2660 */ NdrFcShort( 0x10 ), /* 16 */ +/* 2662 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2664 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x3, /* 3 */ +/* 2666 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 2668 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2670 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2672 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2674 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter startOffset */ + +/* 2676 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2678 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 2680 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter endOffset */ + +/* 2682 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2684 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 2686 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 2688 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2690 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 2692 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure pasteText */ + +/* 2694 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2696 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2700 */ NdrFcShort( 0x7 ), /* 7 */ +/* 2702 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 2704 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2706 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2708 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 2710 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 2712 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2714 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2716 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2718 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter offset */ + +/* 2720 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2722 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 2724 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 2726 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2728 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 2730 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure replaceText */ + +/* 2732 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2734 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2738 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2740 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ +/* 2742 */ NdrFcShort( 0x10 ), /* 16 */ +/* 2744 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2746 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ + 0x4, /* 4 */ +/* 2748 */ 0xa, /* 10 */ + 0x5, /* Ext Flags: new corr desc, srv corr check, */ +/* 2750 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2752 */ NdrFcShort( 0x1 ), /* 1 */ +/* 2754 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2756 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter startOffset */ + +/* 2758 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2760 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 2762 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter endOffset */ + +/* 2764 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2766 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 2768 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter text */ + +/* 2770 */ NdrFcShort( 0x10b ), /* Flags: must size, must free, in, simple ref, */ +/* 2772 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 2774 */ NdrFcShort( 0x10e ), /* Type Offset=270 */ + + /* Return value */ + +/* 2776 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2778 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 2780 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure setAttributes */ + +/* 2782 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2784 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2788 */ NdrFcShort( 0x9 ), /* 9 */ +/* 2790 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ +/* 2792 */ NdrFcShort( 0x10 ), /* 16 */ +/* 2794 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2796 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ + 0x4, /* 4 */ +/* 2798 */ 0xa, /* 10 */ + 0x5, /* Ext Flags: new corr desc, srv corr check, */ +/* 2800 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2802 */ NdrFcShort( 0x1 ), /* 1 */ +/* 2804 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2806 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter startOffset */ + +/* 2808 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2810 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 2812 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter endOffset */ + +/* 2814 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2816 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 2818 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter attributes */ + +/* 2820 */ NdrFcShort( 0x10b ), /* Flags: must size, must free, in, simple ref, */ +/* 2822 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 2824 */ NdrFcShort( 0x10e ), /* Type Offset=270 */ + + /* Return value */ + +/* 2826 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2828 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 2830 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_anchor */ + +/* 2832 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2834 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2838 */ NdrFcShort( 0x9 ), /* 9 */ +/* 2840 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 2842 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2844 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2846 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x3, /* 3 */ +/* 2848 */ 0xa, /* 10 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 2850 */ NdrFcShort( 0x1 ), /* 1 */ +/* 2852 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2854 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2856 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter index */ + +/* 2858 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2860 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 2862 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter anchor */ + +/* 2864 */ NdrFcShort( 0x6113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=24 */ +/* 2866 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 2868 */ NdrFcShort( 0x4bc ), /* Type Offset=1212 */ + + /* Return value */ + +/* 2870 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2872 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 2874 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_anchorTarget */ + +/* 2876 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2878 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2882 */ NdrFcShort( 0xa ), /* 10 */ +/* 2884 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 2886 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2888 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2890 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x3, /* 3 */ +/* 2892 */ 0xa, /* 10 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 2894 */ NdrFcShort( 0x1 ), /* 1 */ +/* 2896 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2898 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2900 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter index */ + +/* 2902 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2904 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 2906 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter anchorTarget */ + +/* 2908 */ NdrFcShort( 0x6113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=24 */ +/* 2910 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 2912 */ NdrFcShort( 0x4bc ), /* Type Offset=1212 */ + + /* Return value */ + +/* 2914 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2916 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 2918 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_nRows */ + + + /* Procedure get_startIndex */ + +/* 2920 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2922 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2926 */ NdrFcShort( 0xb ), /* 11 */ +/* 2928 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 2930 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2932 */ NdrFcShort( 0x24 ), /* 36 */ +/* 2934 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 2936 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 2938 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2940 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2942 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2944 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter rowCount */ + + + /* Parameter index */ + +/* 2946 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 2948 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 2950 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + + + /* Return value */ + +/* 2952 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2954 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 2956 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_nSelectedChildren */ + + + /* Procedure get_endIndex */ + +/* 2958 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2960 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2964 */ NdrFcShort( 0xc ), /* 12 */ +/* 2966 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 2968 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2970 */ NdrFcShort( 0x24 ), /* 36 */ +/* 2972 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 2974 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 2976 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2978 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2980 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2982 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter cellCount */ + + + /* Parameter index */ + +/* 2984 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 2986 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 2988 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + + + /* Return value */ + +/* 2990 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2992 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 2994 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_valid */ + +/* 2996 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2998 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3002 */ NdrFcShort( 0xd ), /* 13 */ +/* 3004 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 3006 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3008 */ NdrFcShort( 0x21 ), /* 33 */ +/* 3010 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 3012 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 3014 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3016 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3018 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3020 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter valid */ + +/* 3022 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 3024 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 3026 */ 0x3, /* FC_SMALL */ + 0x0, /* 0 */ + + /* Return value */ + +/* 3028 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3030 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 3032 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_nHyperlinks */ + +/* 3034 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3036 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3040 */ NdrFcShort( 0x16 ), /* 22 */ +/* 3042 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 3044 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3046 */ NdrFcShort( 0x24 ), /* 36 */ +/* 3048 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 3050 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 3052 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3054 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3056 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3058 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter hyperlinkCount */ + +/* 3060 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 3062 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 3064 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 3066 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3068 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 3070 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_hyperlink */ + +/* 3072 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3074 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3078 */ NdrFcShort( 0x17 ), /* 23 */ +/* 3080 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 3082 */ NdrFcShort( 0x8 ), /* 8 */ +/* 3084 */ NdrFcShort( 0x8 ), /* 8 */ +/* 3086 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x3, /* 3 */ +/* 3088 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 3090 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3092 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3094 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3096 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter index */ + +/* 3098 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 3100 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 3102 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter hyperlink */ + +/* 3104 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ +/* 3106 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 3108 */ NdrFcShort( 0x512 ), /* Type Offset=1298 */ + + /* Return value */ + +/* 3110 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3112 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 3114 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_hyperlinkIndex */ + +/* 3116 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3118 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3122 */ NdrFcShort( 0x18 ), /* 24 */ +/* 3124 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 3126 */ NdrFcShort( 0x8 ), /* 8 */ +/* 3128 */ NdrFcShort( 0x24 ), /* 36 */ +/* 3130 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x3, /* 3 */ +/* 3132 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 3134 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3136 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3138 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3140 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter charIndex */ + +/* 3142 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 3144 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 3146 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter hyperlinkIndex */ + +/* 3148 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 3150 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 3152 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 3154 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3156 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 3158 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_hyperlinks */ + +/* 3160 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3162 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3166 */ NdrFcShort( 0x19 ), /* 25 */ +/* 3168 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 3170 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3172 */ NdrFcShort( 0x24 ), /* 36 */ +/* 3174 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x3, /* 3 */ +/* 3176 */ 0xa, /* 10 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 3178 */ NdrFcShort( 0x1 ), /* 1 */ +/* 3180 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3182 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3184 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter hyperlinks */ + +/* 3186 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ +/* 3188 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 3190 */ NdrFcShort( 0x528 ), /* Type Offset=1320 */ + + /* Parameter nHyperlinks */ + +/* 3192 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 3194 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 3196 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 3198 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3200 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 3202 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_cellAt */ + + + /* Procedure get_accessibleAt */ + +/* 3204 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3206 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3210 */ NdrFcShort( 0x3 ), /* 3 */ +/* 3212 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ +/* 3214 */ NdrFcShort( 0x10 ), /* 16 */ +/* 3216 */ NdrFcShort( 0x8 ), /* 8 */ +/* 3218 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x4, /* 4 */ +/* 3220 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 3222 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3224 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3226 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3228 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter row */ + + + /* Parameter row */ + +/* 3230 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 3232 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 3234 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter column */ + + + /* Parameter column */ + +/* 3236 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 3238 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 3240 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter cell */ + + + /* Parameter accessible */ + +/* 3242 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ +/* 3244 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 3246 */ NdrFcShort( 0x2e ), /* Type Offset=46 */ + + /* Return value */ + + + /* Return value */ + +/* 3248 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3250 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 3252 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_caption */ + + + /* Procedure get_caption */ + +/* 3254 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3256 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3260 */ NdrFcShort( 0x4 ), /* 4 */ +/* 3262 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 3264 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3266 */ NdrFcShort( 0x8 ), /* 8 */ +/* 3268 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 3270 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 3272 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3274 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3276 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3278 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter accessible */ + + + /* Parameter accessible */ + +/* 3280 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ +/* 3282 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 3284 */ NdrFcShort( 0x2e ), /* Type Offset=46 */ + + /* Return value */ + + + /* Return value */ + +/* 3286 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3288 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 3290 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_childIndex */ + +/* 3292 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3294 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3298 */ NdrFcShort( 0x5 ), /* 5 */ +/* 3300 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ +/* 3302 */ NdrFcShort( 0x10 ), /* 16 */ +/* 3304 */ NdrFcShort( 0x24 ), /* 36 */ +/* 3306 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x4, /* 4 */ +/* 3308 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 3310 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3312 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3314 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3316 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter rowIndex */ + +/* 3318 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 3320 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 3322 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter columnIndex */ + +/* 3324 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 3326 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 3328 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter cellIndex */ + +/* 3330 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 3332 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 3334 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 3336 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3338 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 3340 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_columnDescription */ + +/* 3342 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3344 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3348 */ NdrFcShort( 0x6 ), /* 6 */ +/* 3350 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 3352 */ NdrFcShort( 0x8 ), /* 8 */ +/* 3354 */ NdrFcShort( 0x8 ), /* 8 */ +/* 3356 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x3, /* 3 */ +/* 3358 */ 0xa, /* 10 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 3360 */ NdrFcShort( 0x1 ), /* 1 */ +/* 3362 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3364 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3366 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter column */ + +/* 3368 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 3370 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 3372 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter description */ + +/* 3374 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 3376 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 3378 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ + + /* Return value */ + +/* 3380 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3382 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 3384 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_columnExtentAt */ + +/* 3386 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3388 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3392 */ NdrFcShort( 0x7 ), /* 7 */ +/* 3394 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ +/* 3396 */ NdrFcShort( 0x10 ), /* 16 */ +/* 3398 */ NdrFcShort( 0x24 ), /* 36 */ +/* 3400 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x4, /* 4 */ +/* 3402 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 3404 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3406 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3408 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3410 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter row */ + +/* 3412 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 3414 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 3416 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter column */ + +/* 3418 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 3420 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 3422 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter nColumnsSpanned */ + +/* 3424 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 3426 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 3428 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 3430 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3432 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 3434 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_columnHeader */ + +/* 3436 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3438 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3442 */ NdrFcShort( 0x8 ), /* 8 */ +/* 3444 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 3446 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3448 */ NdrFcShort( 0x24 ), /* 36 */ +/* 3450 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x3, /* 3 */ +/* 3452 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 3454 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3456 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3458 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3460 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter accessibleTable */ + +/* 3462 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ +/* 3464 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 3466 */ NdrFcShort( 0x546 ), /* Type Offset=1350 */ + + /* Parameter startingRowIndex */ + +/* 3468 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 3470 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 3472 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 3474 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3476 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 3478 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_columnIndex */ + +/* 3480 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3482 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3486 */ NdrFcShort( 0x9 ), /* 9 */ +/* 3488 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 3490 */ NdrFcShort( 0x8 ), /* 8 */ +/* 3492 */ NdrFcShort( 0x24 ), /* 36 */ +/* 3494 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x3, /* 3 */ +/* 3496 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 3498 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3500 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3502 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3504 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter cellIndex */ + +/* 3506 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 3508 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 3510 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter columnIndex */ + +/* 3512 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 3514 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 3516 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 3518 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3520 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 3522 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_nSelectedRows */ + + + /* Procedure get_nColumns */ + +/* 3524 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3526 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3530 */ NdrFcShort( 0xa ), /* 10 */ +/* 3532 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 3534 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3536 */ NdrFcShort( 0x24 ), /* 36 */ +/* 3538 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 3540 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 3542 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3544 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3546 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3548 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter rowCount */ + + + /* Parameter columnCount */ + +/* 3550 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 3552 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 3554 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + + + /* Return value */ + +/* 3556 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3558 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 3560 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_nSelectedColumns */ + +/* 3562 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3564 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3568 */ NdrFcShort( 0xd ), /* 13 */ +/* 3570 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 3572 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3574 */ NdrFcShort( 0x24 ), /* 36 */ +/* 3576 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 3578 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 3580 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3582 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3584 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3586 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter columnCount */ + +/* 3588 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 3590 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 3592 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 3594 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3596 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 3598 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_nSelectedRows */ + +/* 3600 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3602 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3606 */ NdrFcShort( 0xe ), /* 14 */ +/* 3608 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 3610 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3612 */ NdrFcShort( 0x24 ), /* 36 */ +/* 3614 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 3616 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 3618 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3620 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3622 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3624 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter rowCount */ + +/* 3626 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 3628 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 3630 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 3632 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3634 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 3636 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_rowDescription */ + +/* 3638 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3640 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3644 */ NdrFcShort( 0xf ), /* 15 */ +/* 3646 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 3648 */ NdrFcShort( 0x8 ), /* 8 */ +/* 3650 */ NdrFcShort( 0x8 ), /* 8 */ +/* 3652 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x3, /* 3 */ +/* 3654 */ 0xa, /* 10 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 3656 */ NdrFcShort( 0x1 ), /* 1 */ +/* 3658 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3660 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3662 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter row */ + +/* 3664 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 3666 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 3668 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter description */ + +/* 3670 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 3672 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 3674 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ + + /* Return value */ + +/* 3676 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3678 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 3680 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_rowExtentAt */ + +/* 3682 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3684 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3688 */ NdrFcShort( 0x10 ), /* 16 */ +/* 3690 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ +/* 3692 */ NdrFcShort( 0x10 ), /* 16 */ +/* 3694 */ NdrFcShort( 0x24 ), /* 36 */ +/* 3696 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x4, /* 4 */ +/* 3698 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 3700 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3702 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3704 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3706 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter row */ + +/* 3708 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 3710 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 3712 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter column */ + +/* 3714 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 3716 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 3718 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter nRowsSpanned */ + +/* 3720 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 3722 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 3724 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 3726 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3728 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 3730 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_rowHeader */ + +/* 3732 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3734 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3738 */ NdrFcShort( 0x11 ), /* 17 */ +/* 3740 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 3742 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3744 */ NdrFcShort( 0x24 ), /* 36 */ +/* 3746 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x3, /* 3 */ +/* 3748 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 3750 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3752 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3754 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3756 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter accessibleTable */ + +/* 3758 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ +/* 3760 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 3762 */ NdrFcShort( 0x546 ), /* Type Offset=1350 */ + + /* Parameter startingColumnIndex */ + +/* 3764 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 3766 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 3768 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 3770 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3772 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 3774 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_rowIndex */ + +/* 3776 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3778 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3782 */ NdrFcShort( 0x12 ), /* 18 */ +/* 3784 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 3786 */ NdrFcShort( 0x8 ), /* 8 */ +/* 3788 */ NdrFcShort( 0x24 ), /* 36 */ +/* 3790 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x3, /* 3 */ +/* 3792 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 3794 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3796 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3798 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3800 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter cellIndex */ + +/* 3802 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 3804 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 3806 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter rowIndex */ + +/* 3808 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 3810 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 3812 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 3814 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3816 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 3818 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_selectedChildren */ + +/* 3820 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3822 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3826 */ NdrFcShort( 0x13 ), /* 19 */ +/* 3828 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ +/* 3830 */ NdrFcShort( 0x8 ), /* 8 */ +/* 3832 */ NdrFcShort( 0x24 ), /* 36 */ +/* 3834 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x4, /* 4 */ +/* 3836 */ 0xa, /* 10 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 3838 */ NdrFcShort( 0x1 ), /* 1 */ +/* 3840 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3842 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3844 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter maxChildren */ + +/* 3846 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 3848 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 3850 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter children */ + +/* 3852 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ +/* 3854 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 3856 */ NdrFcShort( 0x55c ), /* Type Offset=1372 */ + + /* Parameter nChildren */ + +/* 3858 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 3860 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 3862 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 3864 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3866 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 3868 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_selectedColumns */ + +/* 3870 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3872 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3876 */ NdrFcShort( 0x14 ), /* 20 */ +/* 3878 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ +/* 3880 */ NdrFcShort( 0x8 ), /* 8 */ +/* 3882 */ NdrFcShort( 0x24 ), /* 36 */ +/* 3884 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x4, /* 4 */ +/* 3886 */ 0xa, /* 10 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 3888 */ NdrFcShort( 0x1 ), /* 1 */ +/* 3890 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3892 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3894 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter maxColumns */ + +/* 3896 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 3898 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 3900 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter columns */ + +/* 3902 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ +/* 3904 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 3906 */ NdrFcShort( 0x55c ), /* Type Offset=1372 */ + + /* Parameter nColumns */ + +/* 3908 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 3910 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 3912 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 3914 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3916 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 3918 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_selectedRows */ + +/* 3920 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3922 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3926 */ NdrFcShort( 0x15 ), /* 21 */ +/* 3928 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ +/* 3930 */ NdrFcShort( 0x8 ), /* 8 */ +/* 3932 */ NdrFcShort( 0x24 ), /* 36 */ +/* 3934 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x4, /* 4 */ +/* 3936 */ 0xa, /* 10 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 3938 */ NdrFcShort( 0x1 ), /* 1 */ +/* 3940 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3942 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3944 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter maxRows */ + +/* 3946 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 3948 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 3950 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter rows */ + +/* 3952 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ +/* 3954 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 3956 */ NdrFcShort( 0x55c ), /* Type Offset=1372 */ + + /* Parameter nRows */ + +/* 3958 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 3960 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 3962 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 3964 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3966 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 3968 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_summary */ + +/* 3970 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3972 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3976 */ NdrFcShort( 0x16 ), /* 22 */ +/* 3978 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 3980 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3982 */ NdrFcShort( 0x8 ), /* 8 */ +/* 3984 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 3986 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 3988 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3990 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3992 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3994 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter accessible */ + +/* 3996 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ +/* 3998 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 4000 */ NdrFcShort( 0x2e ), /* Type Offset=46 */ + + /* Return value */ + +/* 4002 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4004 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 4006 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_isColumnSelected */ + +/* 4008 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4010 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4014 */ NdrFcShort( 0x17 ), /* 23 */ +/* 4016 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 4018 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4020 */ NdrFcShort( 0x21 ), /* 33 */ +/* 4022 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x3, /* 3 */ +/* 4024 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 4026 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4028 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4030 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4032 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter column */ + +/* 4034 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 4036 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 4038 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter isSelected */ + +/* 4040 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 4042 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 4044 */ 0x3, /* FC_SMALL */ + 0x0, /* 0 */ + + /* Return value */ + +/* 4046 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4048 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 4050 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_isRowSelected */ + +/* 4052 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4054 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4058 */ NdrFcShort( 0x18 ), /* 24 */ +/* 4060 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 4062 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4064 */ NdrFcShort( 0x21 ), /* 33 */ +/* 4066 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x3, /* 3 */ +/* 4068 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 4070 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4072 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4074 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4076 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter row */ + +/* 4078 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 4080 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 4082 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter isSelected */ + +/* 4084 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 4086 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 4088 */ 0x3, /* FC_SMALL */ + 0x0, /* 0 */ + + /* Return value */ + +/* 4090 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4092 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 4094 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_isSelected */ + +/* 4096 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4098 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4102 */ NdrFcShort( 0x19 ), /* 25 */ +/* 4104 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ +/* 4106 */ NdrFcShort( 0x10 ), /* 16 */ +/* 4108 */ NdrFcShort( 0x21 ), /* 33 */ +/* 4110 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x4, /* 4 */ +/* 4112 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 4114 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4116 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4118 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4120 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter row */ + +/* 4122 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 4124 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 4126 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter column */ + +/* 4128 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 4130 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 4132 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter isSelected */ + +/* 4134 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 4136 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 4138 */ 0x3, /* FC_SMALL */ + 0x0, /* 0 */ + + /* Return value */ + +/* 4140 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4142 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 4144 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure selectRow */ + +/* 4146 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4148 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4152 */ NdrFcShort( 0x1a ), /* 26 */ +/* 4154 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 4156 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4158 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4160 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 4162 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 4164 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4166 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4168 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4170 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter row */ + +/* 4172 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 4174 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 4176 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 4178 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4180 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 4182 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure selectColumn */ + +/* 4184 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4186 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4190 */ NdrFcShort( 0x1b ), /* 27 */ +/* 4192 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 4194 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4196 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4198 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 4200 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 4202 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4204 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4206 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4208 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter column */ + +/* 4210 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 4212 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 4214 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 4216 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4218 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 4220 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure unselectRow */ + +/* 4222 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4224 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4228 */ NdrFcShort( 0x1c ), /* 28 */ +/* 4230 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 4232 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4234 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4236 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 4238 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 4240 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4242 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4244 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4246 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter row */ + +/* 4248 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 4250 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 4252 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 4254 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4256 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 4258 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure unselectColumn */ + +/* 4260 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4262 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4266 */ NdrFcShort( 0x1d ), /* 29 */ +/* 4268 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 4270 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4272 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4274 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 4276 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 4278 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4280 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4282 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4284 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter column */ + +/* 4286 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 4288 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 4290 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 4292 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4294 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 4296 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_rowColumnExtentsAtIndex */ + +/* 4298 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4300 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4304 */ NdrFcShort( 0x1e ), /* 30 */ +/* 4306 */ NdrFcShort( 0x40 ), /* X64 Stack size/offset = 64 */ +/* 4308 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4310 */ NdrFcShort( 0x91 ), /* 145 */ +/* 4312 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x7, /* 7 */ +/* 4314 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 4316 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4318 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4320 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4322 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter index */ + +/* 4324 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 4326 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 4328 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter row */ + +/* 4330 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 4332 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 4334 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter column */ + +/* 4336 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 4338 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 4340 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter rowExtents */ + +/* 4342 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 4344 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 4346 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter columnExtents */ + +/* 4348 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 4350 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ +/* 4352 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter isSelected */ + +/* 4354 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 4356 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */ +/* 4358 */ 0x3, /* FC_SMALL */ + 0x0, /* 0 */ + + /* Return value */ + +/* 4360 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4362 */ NdrFcShort( 0x38 ), /* X64 Stack size/offset = 56 */ +/* 4364 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_modelChange */ + +/* 4366 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4368 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4372 */ NdrFcShort( 0x1f ), /* 31 */ +/* 4374 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 4376 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4378 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4380 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 4382 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 4384 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4386 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4388 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4390 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter modelChange */ + +/* 4392 */ NdrFcShort( 0x6113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=24 */ +/* 4394 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 4396 */ NdrFcShort( 0x57a ), /* Type Offset=1402 */ + + /* Return value */ + +/* 4398 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4400 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 4402 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_rowExtent */ + + + /* Procedure get_nColumns */ + +/* 4404 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4406 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4410 */ NdrFcShort( 0x6 ), /* 6 */ +/* 4412 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 4414 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4416 */ NdrFcShort( 0x24 ), /* 36 */ +/* 4418 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 4420 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 4422 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4424 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4426 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4428 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter nRowsSpanned */ + + + /* Parameter columnCount */ + +/* 4430 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 4432 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 4434 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + + + /* Return value */ + +/* 4436 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4438 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 4440 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_rowIndex */ + + + /* Procedure get_nSelectedCells */ + +/* 4442 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4444 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4448 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4450 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 4452 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4454 */ NdrFcShort( 0x24 ), /* 36 */ +/* 4456 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 4458 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 4460 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4462 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4464 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4466 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter rowIndex */ + + + /* Parameter cellCount */ + +/* 4468 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 4470 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 4472 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + + + /* Return value */ + +/* 4474 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4476 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 4478 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_nSelectedColumns */ + +/* 4480 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4482 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4486 */ NdrFcShort( 0x9 ), /* 9 */ +/* 4488 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 4490 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4492 */ NdrFcShort( 0x24 ), /* 36 */ +/* 4494 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 4496 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 4498 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4500 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4502 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4504 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter columnCount */ + +/* 4506 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 4508 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 4510 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 4512 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4514 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 4516 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_rowDescription */ + +/* 4518 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4520 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4524 */ NdrFcShort( 0xb ), /* 11 */ +/* 4526 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 4528 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4530 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4532 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x3, /* 3 */ +/* 4534 */ 0xa, /* 10 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 4536 */ NdrFcShort( 0x1 ), /* 1 */ +/* 4538 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4540 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4542 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter row */ + +/* 4544 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 4546 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 4548 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter description */ + +/* 4550 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 4552 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 4554 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ + + /* Return value */ + +/* 4556 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4558 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 4560 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_selectedCells */ + +/* 4562 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4564 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4568 */ NdrFcShort( 0xc ), /* 12 */ +/* 4570 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 4572 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4574 */ NdrFcShort( 0x24 ), /* 36 */ +/* 4576 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x3, /* 3 */ +/* 4578 */ 0xa, /* 10 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 4580 */ NdrFcShort( 0x1 ), /* 1 */ +/* 4582 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4584 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4586 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter cells */ + +/* 4588 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ +/* 4590 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 4592 */ NdrFcShort( 0x588 ), /* Type Offset=1416 */ + + /* Parameter nSelectedCells */ + +/* 4594 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 4596 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 4598 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 4600 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4602 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 4604 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_selectedColumns */ + +/* 4606 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4608 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4612 */ NdrFcShort( 0xd ), /* 13 */ +/* 4614 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 4616 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4618 */ NdrFcShort( 0x24 ), /* 36 */ +/* 4620 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x3, /* 3 */ +/* 4622 */ 0xa, /* 10 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 4624 */ NdrFcShort( 0x1 ), /* 1 */ +/* 4626 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4628 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4630 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter selectedColumns */ + +/* 4632 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ +/* 4634 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 4636 */ NdrFcShort( 0x5a6 ), /* Type Offset=1446 */ + + /* Parameter nColumns */ + +/* 4638 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 4640 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 4642 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 4644 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4646 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 4648 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_selectedRows */ + +/* 4650 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4652 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4656 */ NdrFcShort( 0xe ), /* 14 */ +/* 4658 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 4660 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4662 */ NdrFcShort( 0x24 ), /* 36 */ +/* 4664 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x3, /* 3 */ +/* 4666 */ 0xa, /* 10 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 4668 */ NdrFcShort( 0x1 ), /* 1 */ +/* 4670 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4672 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4674 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter selectedRows */ + +/* 4676 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ +/* 4678 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 4680 */ NdrFcShort( 0x5a6 ), /* Type Offset=1446 */ + + /* Parameter nRows */ + +/* 4682 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 4684 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 4686 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 4688 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4690 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 4692 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_summary */ + +/* 4694 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4696 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4700 */ NdrFcShort( 0xf ), /* 15 */ +/* 4702 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 4704 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4706 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4708 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 4710 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 4712 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4714 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4716 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4718 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter accessible */ + +/* 4720 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ +/* 4722 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 4724 */ NdrFcShort( 0x2e ), /* Type Offset=46 */ + + /* Return value */ + +/* 4726 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4728 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 4730 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_isColumnSelected */ + +/* 4732 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4734 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4738 */ NdrFcShort( 0x10 ), /* 16 */ +/* 4740 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 4742 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4744 */ NdrFcShort( 0x21 ), /* 33 */ +/* 4746 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x3, /* 3 */ +/* 4748 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 4750 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4752 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4754 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4756 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter column */ + +/* 4758 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 4760 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 4762 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter isSelected */ + +/* 4764 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 4766 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 4768 */ 0x3, /* FC_SMALL */ + 0x0, /* 0 */ + + /* Return value */ + +/* 4770 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4772 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 4774 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_isRowSelected */ + +/* 4776 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4778 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4782 */ NdrFcShort( 0x11 ), /* 17 */ +/* 4784 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 4786 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4788 */ NdrFcShort( 0x21 ), /* 33 */ +/* 4790 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x3, /* 3 */ +/* 4792 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 4794 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4796 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4798 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4800 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter row */ + +/* 4802 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 4804 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 4806 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter isSelected */ + +/* 4808 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 4810 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 4812 */ 0x3, /* FC_SMALL */ + 0x0, /* 0 */ + + /* Return value */ + +/* 4814 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4816 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 4818 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure selectRow */ + +/* 4820 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4822 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4826 */ NdrFcShort( 0x12 ), /* 18 */ +/* 4828 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 4830 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4832 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4834 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 4836 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 4838 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4840 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4842 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4844 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter row */ + +/* 4846 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 4848 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 4850 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 4852 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4854 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 4856 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure selectColumn */ + +/* 4858 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4860 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4864 */ NdrFcShort( 0x13 ), /* 19 */ +/* 4866 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 4868 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4870 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4872 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 4874 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 4876 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4878 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4880 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4882 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter column */ + +/* 4884 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 4886 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 4888 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 4890 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4892 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 4894 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure unselectRow */ + +/* 4896 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4898 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4902 */ NdrFcShort( 0x14 ), /* 20 */ +/* 4904 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 4906 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4908 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4910 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 4912 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 4914 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4916 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4918 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4920 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter row */ + +/* 4922 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 4924 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 4926 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 4928 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4930 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 4932 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure unselectColumn */ + +/* 4934 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4936 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4940 */ NdrFcShort( 0x15 ), /* 21 */ +/* 4942 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 4944 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4946 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4948 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 4950 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 4952 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4954 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4956 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4958 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter column */ + +/* 4960 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 4962 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 4964 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 4966 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4968 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 4970 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_modelChange */ + +/* 4972 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4974 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4978 */ NdrFcShort( 0x16 ), /* 22 */ +/* 4980 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 4982 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4984 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4986 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 4988 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 4990 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4992 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4994 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4996 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter modelChange */ + +/* 4998 */ NdrFcShort( 0x6113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=24 */ +/* 5000 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 5002 */ NdrFcShort( 0x57a ), /* Type Offset=1402 */ + + /* Return value */ + +/* 5004 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 5006 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 5008 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_columnHeaderCells */ + +/* 5010 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 5012 */ NdrFcLong( 0x0 ), /* 0 */ +/* 5016 */ NdrFcShort( 0x4 ), /* 4 */ +/* 5018 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 5020 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5022 */ NdrFcShort( 0x24 ), /* 36 */ +/* 5024 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x3, /* 3 */ +/* 5026 */ 0xa, /* 10 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 5028 */ NdrFcShort( 0x1 ), /* 1 */ +/* 5030 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5032 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5034 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter cellAccessibles */ + +/* 5036 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ +/* 5038 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 5040 */ NdrFcShort( 0x588 ), /* Type Offset=1416 */ + + /* Parameter nColumnHeaderCells */ + +/* 5042 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 5044 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 5046 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 5048 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 5050 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 5052 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_rowHeaderCells */ + +/* 5054 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 5056 */ NdrFcLong( 0x0 ), /* 0 */ +/* 5060 */ NdrFcShort( 0x7 ), /* 7 */ +/* 5062 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 5064 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5066 */ NdrFcShort( 0x24 ), /* 36 */ +/* 5068 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x3, /* 3 */ +/* 5070 */ 0xa, /* 10 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 5072 */ NdrFcShort( 0x1 ), /* 1 */ +/* 5074 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5076 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5078 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter cellAccessibles */ + +/* 5080 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ +/* 5082 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 5084 */ NdrFcShort( 0x588 ), /* Type Offset=1416 */ + + /* Parameter nRowHeaderCells */ + +/* 5086 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 5088 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 5090 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 5092 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 5094 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 5096 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_isSelected */ + +/* 5098 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 5100 */ NdrFcLong( 0x0 ), /* 0 */ +/* 5104 */ NdrFcShort( 0x9 ), /* 9 */ +/* 5106 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 5108 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5110 */ NdrFcShort( 0x21 ), /* 33 */ +/* 5112 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 5114 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 5116 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5118 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5120 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5122 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter isSelected */ + +/* 5124 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 5126 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 5128 */ 0x3, /* FC_SMALL */ + 0x0, /* 0 */ + + /* Return value */ + +/* 5130 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 5132 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 5134 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_rowColumnExtents */ + +/* 5136 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 5138 */ NdrFcLong( 0x0 ), /* 0 */ +/* 5142 */ NdrFcShort( 0xa ), /* 10 */ +/* 5144 */ NdrFcShort( 0x38 ), /* X64 Stack size/offset = 56 */ +/* 5146 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5148 */ NdrFcShort( 0x91 ), /* 145 */ +/* 5150 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x6, /* 6 */ +/* 5152 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 5154 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5156 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5158 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5160 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter row */ + +/* 5162 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 5164 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 5166 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter column */ + +/* 5168 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 5170 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 5172 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter rowExtents */ + +/* 5174 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 5176 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 5178 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter columnExtents */ + +/* 5180 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 5182 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 5184 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter isSelected */ + +/* 5186 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 5188 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ +/* 5190 */ 0x3, /* FC_SMALL */ + 0x0, /* 0 */ + + /* Return value */ + +/* 5192 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 5194 */ NdrFcShort( 0x30 ), /* X64 Stack size/offset = 48 */ +/* 5196 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_table */ + +/* 5198 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 5200 */ NdrFcLong( 0x0 ), /* 0 */ +/* 5204 */ NdrFcShort( 0xb ), /* 11 */ +/* 5206 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 5208 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5210 */ NdrFcShort( 0x8 ), /* 8 */ +/* 5212 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 5214 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 5216 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5218 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5220 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5222 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter table */ + +/* 5224 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ +/* 5226 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 5228 */ NdrFcShort( 0x2e ), /* Type Offset=46 */ + + /* Return value */ + +/* 5230 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 5232 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 5234 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_imagePosition */ + +/* 5236 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 5238 */ NdrFcLong( 0x0 ), /* 0 */ +/* 5242 */ NdrFcShort( 0x4 ), /* 4 */ +/* 5244 */ NdrFcShort( 0x28 ), /* X64 Stack size/offset = 40 */ +/* 5246 */ NdrFcShort( 0x6 ), /* 6 */ +/* 5248 */ NdrFcShort( 0x40 ), /* 64 */ +/* 5250 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x4, /* 4 */ +/* 5252 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 5254 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5256 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5258 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5260 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter coordinateType */ + +/* 5262 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 5264 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 5266 */ 0xd, /* FC_ENUM16 */ + 0x0, /* 0 */ + + /* Parameter x */ + +/* 5268 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 5270 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 5272 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter y */ + +/* 5274 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 5276 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 5278 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 5280 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 5282 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 5284 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_imageSize */ + +/* 5286 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 5288 */ NdrFcLong( 0x0 ), /* 0 */ +/* 5292 */ NdrFcShort( 0x5 ), /* 5 */ +/* 5294 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 5296 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5298 */ NdrFcShort( 0x40 ), /* 64 */ +/* 5300 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x3, /* 3 */ +/* 5302 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 5304 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5306 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5308 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5310 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter height */ + +/* 5312 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 5314 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 5316 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter width */ + +/* 5318 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 5320 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 5322 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 5324 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 5326 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 5328 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_toolkitName */ + +/* 5330 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 5332 */ NdrFcLong( 0x0 ), /* 0 */ +/* 5336 */ NdrFcShort( 0x5 ), /* 5 */ +/* 5338 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 5340 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5342 */ NdrFcShort( 0x8 ), /* 8 */ +/* 5344 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 5346 */ 0xa, /* 10 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 5348 */ NdrFcShort( 0x1 ), /* 1 */ +/* 5350 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5352 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5354 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter name */ + +/* 5356 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 5358 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 5360 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ + + /* Return value */ + +/* 5362 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 5364 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 5366 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_toolkitVersion */ + +/* 5368 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 5370 */ NdrFcLong( 0x0 ), /* 0 */ +/* 5374 */ NdrFcShort( 0x6 ), /* 6 */ +/* 5376 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 5378 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5380 */ NdrFcShort( 0x8 ), /* 8 */ +/* 5382 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 5384 */ 0xa, /* 10 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 5386 */ NdrFcShort( 0x1 ), /* 1 */ +/* 5388 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5390 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5392 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter version */ + +/* 5394 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 5396 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 5398 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ + + /* Return value */ + +/* 5400 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 5402 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 5404 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_anchorTarget */ + +/* 5406 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 5408 */ NdrFcLong( 0x0 ), /* 0 */ +/* 5412 */ NdrFcShort( 0x3 ), /* 3 */ +/* 5414 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 5416 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5418 */ NdrFcShort( 0x8 ), /* 8 */ +/* 5420 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 5422 */ 0xa, /* 10 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 5424 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5426 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5428 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5430 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter accessible */ + +/* 5432 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ +/* 5434 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 5436 */ NdrFcShort( 0x2e ), /* Type Offset=46 */ + + /* Return value */ + +/* 5438 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 5440 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 5442 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + 0x0 + } + }; + +static const ia2_api_all_MIDL_TYPE_FORMAT_STRING ia2_api_all__MIDL_TypeFormatString = + { + 0, + { + NdrFcShort( 0x0 ), /* 0 */ +/* 2 */ + 0x11, 0x4, /* FC_RP [alloced_on_stack] */ +/* 4 */ NdrFcShort( 0x1c ), /* Offset= 28 (32) */ +/* 6 */ + 0x13, 0x0, /* FC_OP */ +/* 8 */ NdrFcShort( 0xe ), /* Offset= 14 (22) */ +/* 10 */ + 0x1b, /* FC_CARRAY */ + 0x1, /* 1 */ +/* 12 */ NdrFcShort( 0x2 ), /* 2 */ +/* 14 */ 0x9, /* Corr desc: FC_ULONG */ + 0x0, /* */ +/* 16 */ NdrFcShort( 0xfffc ), /* -4 */ +/* 18 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 20 */ 0x6, /* FC_SHORT */ + 0x5b, /* FC_END */ +/* 22 */ + 0x17, /* FC_CSTRUCT */ + 0x3, /* 3 */ +/* 24 */ NdrFcShort( 0x8 ), /* 8 */ +/* 26 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (10) */ +/* 28 */ 0x8, /* FC_LONG */ + 0x8, /* FC_LONG */ +/* 30 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 32 */ 0xb4, /* FC_USER_MARSHAL */ + 0x83, /* 131 */ +/* 34 */ NdrFcShort( 0x0 ), /* 0 */ +/* 36 */ NdrFcShort( 0x8 ), /* 8 */ +/* 38 */ NdrFcShort( 0x0 ), /* 0 */ +/* 40 */ NdrFcShort( 0xffde ), /* Offset= -34 (6) */ +/* 42 */ + 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */ +/* 44 */ 0x8, /* FC_LONG */ + 0x5c, /* FC_PAD */ +/* 46 */ + 0x11, 0x10, /* FC_RP [pointer_deref] */ +/* 48 */ NdrFcShort( 0x2 ), /* Offset= 2 (50) */ +/* 50 */ + 0x2f, /* FC_IP */ + 0x5a, /* FC_CONSTANT_IID */ +/* 52 */ NdrFcLong( 0x0 ), /* 0 */ +/* 56 */ NdrFcShort( 0x0 ), /* 0 */ +/* 58 */ NdrFcShort( 0x0 ), /* 0 */ +/* 60 */ 0xc0, /* 192 */ + 0x0, /* 0 */ +/* 62 */ 0x0, /* 0 */ + 0x0, /* 0 */ +/* 64 */ 0x0, /* 0 */ + 0x0, /* 0 */ +/* 66 */ 0x0, /* 0 */ + 0x46, /* 70 */ +/* 68 */ + 0x11, 0x0, /* FC_RP */ +/* 70 */ NdrFcShort( 0x2 ), /* Offset= 2 (72) */ +/* 72 */ + 0x21, /* FC_BOGUS_ARRAY */ + 0x3, /* 3 */ +/* 74 */ NdrFcShort( 0x0 ), /* 0 */ +/* 76 */ 0x28, /* Corr desc: parameter, FC_LONG */ + 0x0, /* */ +/* 78 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 80 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 82 */ 0x28, /* Corr desc: parameter, FC_LONG */ + 0x54, /* FC_DEREFERENCE */ +/* 84 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 86 */ NdrFcShort( 0x0 ), /* Corr flags: */ +/* 88 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ + 0x0, /* 0 */ +/* 90 */ NdrFcShort( 0xffd8 ), /* Offset= -40 (50) */ +/* 92 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 94 */ + 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */ +/* 96 */ NdrFcShort( 0x2 ), /* Offset= 2 (98) */ +/* 98 */ + 0x13, 0x0, /* FC_OP */ +/* 100 */ NdrFcShort( 0x2 ), /* Offset= 2 (102) */ +/* 102 */ + 0x21, /* FC_BOGUS_ARRAY */ + 0x3, /* 3 */ +/* 104 */ NdrFcShort( 0x0 ), /* 0 */ +/* 106 */ 0x28, /* Corr desc: parameter, FC_LONG */ + 0x0, /* */ +/* 108 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 110 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 112 */ 0x28, /* Corr desc: parameter, FC_LONG */ + 0x54, /* FC_DEREFERENCE */ +/* 114 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 116 */ NdrFcShort( 0x0 ), /* Corr flags: */ +/* 118 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ + 0x0, /* 0 */ +/* 120 */ NdrFcShort( 0xffa8 ), /* Offset= -88 (32) */ +/* 122 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 124 */ + 0x11, 0x10, /* FC_RP [pointer_deref] */ +/* 126 */ NdrFcShort( 0x2 ), /* Offset= 2 (128) */ +/* 128 */ + 0x2f, /* FC_IP */ + 0x5a, /* FC_CONSTANT_IID */ +/* 130 */ NdrFcLong( 0x7cdf86ee ), /* 2095023854 */ +/* 134 */ NdrFcShort( 0xc3da ), /* -15398 */ +/* 136 */ NdrFcShort( 0x496a ), /* 18794 */ +/* 138 */ 0xbd, /* 189 */ + 0xa4, /* 164 */ +/* 140 */ 0x28, /* 40 */ + 0x1b, /* 27 */ +/* 142 */ 0x33, /* 51 */ + 0x6e, /* 110 */ +/* 144 */ 0x1f, /* 31 */ + 0xdc, /* 220 */ +/* 146 */ + 0x11, 0x0, /* FC_RP */ +/* 148 */ NdrFcShort( 0x2 ), /* Offset= 2 (150) */ +/* 150 */ + 0x21, /* FC_BOGUS_ARRAY */ + 0x3, /* 3 */ +/* 152 */ NdrFcShort( 0x0 ), /* 0 */ +/* 154 */ 0x28, /* Corr desc: parameter, FC_LONG */ + 0x0, /* */ +/* 156 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 158 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 160 */ 0x28, /* Corr desc: parameter, FC_LONG */ + 0x54, /* FC_DEREFERENCE */ +/* 162 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 164 */ NdrFcShort( 0x0 ), /* Corr flags: */ +/* 166 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ + 0x0, /* 0 */ +/* 168 */ NdrFcShort( 0xffd8 ), /* Offset= -40 (128) */ +/* 170 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 172 */ + 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */ +/* 174 */ NdrFcShort( 0x2 ), /* Offset= 2 (176) */ +/* 176 */ + 0x13, 0x0, /* FC_OP */ +/* 178 */ NdrFcShort( 0x2 ), /* Offset= 2 (180) */ +/* 180 */ + 0x21, /* FC_BOGUS_ARRAY */ + 0x3, /* 3 */ +/* 182 */ NdrFcShort( 0x0 ), /* 0 */ +/* 184 */ 0x28, /* Corr desc: parameter, FC_LONG */ + 0x0, /* */ +/* 186 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 188 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 190 */ 0x28, /* Corr desc: parameter, FC_LONG */ + 0x54, /* FC_DEREFERENCE */ +/* 192 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 194 */ NdrFcShort( 0x0 ), /* Corr flags: */ +/* 196 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ + 0x0, /* 0 */ +/* 198 */ NdrFcShort( 0xff5a ), /* Offset= -166 (32) */ +/* 200 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 202 */ + 0x11, 0x4, /* FC_RP [alloced_on_stack] */ +/* 204 */ NdrFcShort( 0x1a ), /* Offset= 26 (230) */ +/* 206 */ + 0x13, 0x0, /* FC_OP */ +/* 208 */ NdrFcShort( 0x2 ), /* Offset= 2 (210) */ +/* 210 */ + 0x2a, /* FC_ENCAPSULATED_UNION */ + 0x48, /* 72 */ +/* 212 */ NdrFcShort( 0x4 ), /* 4 */ +/* 214 */ NdrFcShort( 0x2 ), /* 2 */ +/* 216 */ NdrFcLong( 0x48746457 ), /* 1215587415 */ +/* 220 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ +/* 222 */ NdrFcLong( 0x52746457 ), /* 1383359575 */ +/* 226 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ +/* 228 */ NdrFcShort( 0xffff ), /* Offset= -1 (227) */ +/* 230 */ 0xb4, /* FC_USER_MARSHAL */ + 0x83, /* 131 */ +/* 232 */ NdrFcShort( 0x1 ), /* 1 */ +/* 234 */ NdrFcShort( 0x8 ), /* 8 */ +/* 236 */ NdrFcShort( 0x0 ), /* 0 */ +/* 238 */ NdrFcShort( 0xffe0 ), /* Offset= -32 (206) */ +/* 240 */ + 0x11, 0x4, /* FC_RP [alloced_on_stack] */ +/* 242 */ NdrFcShort( 0x2 ), /* Offset= 2 (244) */ +/* 244 */ + 0x1a, /* FC_BOGUS_STRUCT */ + 0x3, /* 3 */ +/* 246 */ NdrFcShort( 0x18 ), /* 24 */ +/* 248 */ NdrFcShort( 0x0 ), /* 0 */ +/* 250 */ NdrFcShort( 0x0 ), /* Offset= 0 (250) */ +/* 252 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ + 0x0, /* 0 */ +/* 254 */ NdrFcShort( 0xff22 ), /* Offset= -222 (32) */ +/* 256 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ + 0x0, /* 0 */ +/* 258 */ NdrFcShort( 0xff1e ), /* Offset= -226 (32) */ +/* 260 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ + 0x0, /* 0 */ +/* 262 */ NdrFcShort( 0xff1a ), /* Offset= -230 (32) */ +/* 264 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 266 */ + 0x12, 0x0, /* FC_UP */ +/* 268 */ NdrFcShort( 0xff0a ), /* Offset= -246 (22) */ +/* 270 */ 0xb4, /* FC_USER_MARSHAL */ + 0x83, /* 131 */ +/* 272 */ NdrFcShort( 0x0 ), /* 0 */ +/* 274 */ NdrFcShort( 0x8 ), /* 8 */ +/* 276 */ NdrFcShort( 0x0 ), /* 0 */ +/* 278 */ NdrFcShort( 0xfff4 ), /* Offset= -12 (266) */ +/* 280 */ + 0x11, 0x4, /* FC_RP [alloced_on_stack] */ +/* 282 */ NdrFcShort( 0x3a2 ), /* Offset= 930 (1212) */ +/* 284 */ + 0x13, 0x0, /* FC_OP */ +/* 286 */ NdrFcShort( 0x38a ), /* Offset= 906 (1192) */ +/* 288 */ + 0x2b, /* FC_NON_ENCAPSULATED_UNION */ + 0x9, /* FC_ULONG */ +/* 290 */ 0x7, /* Corr desc: FC_USHORT */ + 0x0, /* */ +/* 292 */ NdrFcShort( 0xfff8 ), /* -8 */ +/* 294 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 296 */ NdrFcShort( 0x2 ), /* Offset= 2 (298) */ +/* 298 */ NdrFcShort( 0x10 ), /* 16 */ +/* 300 */ NdrFcShort( 0x2f ), /* 47 */ +/* 302 */ NdrFcLong( 0x14 ), /* 20 */ +/* 306 */ NdrFcShort( 0x800b ), /* Simple arm type: FC_HYPER */ +/* 308 */ NdrFcLong( 0x3 ), /* 3 */ +/* 312 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ +/* 314 */ NdrFcLong( 0x11 ), /* 17 */ +/* 318 */ NdrFcShort( 0x8001 ), /* Simple arm type: FC_BYTE */ +/* 320 */ NdrFcLong( 0x2 ), /* 2 */ +/* 324 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */ +/* 326 */ NdrFcLong( 0x4 ), /* 4 */ +/* 330 */ NdrFcShort( 0x800a ), /* Simple arm type: FC_FLOAT */ +/* 332 */ NdrFcLong( 0x5 ), /* 5 */ +/* 336 */ NdrFcShort( 0x800c ), /* Simple arm type: FC_DOUBLE */ +/* 338 */ NdrFcLong( 0xb ), /* 11 */ +/* 342 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */ +/* 344 */ NdrFcLong( 0xa ), /* 10 */ +/* 348 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ +/* 350 */ NdrFcLong( 0x6 ), /* 6 */ +/* 354 */ NdrFcShort( 0xe8 ), /* Offset= 232 (586) */ +/* 356 */ NdrFcLong( 0x7 ), /* 7 */ +/* 360 */ NdrFcShort( 0x800c ), /* Simple arm type: FC_DOUBLE */ +/* 362 */ NdrFcLong( 0x8 ), /* 8 */ +/* 366 */ NdrFcShort( 0xfe98 ), /* Offset= -360 (6) */ +/* 368 */ NdrFcLong( 0xd ), /* 13 */ +/* 372 */ NdrFcShort( 0xfebe ), /* Offset= -322 (50) */ +/* 374 */ NdrFcLong( 0x9 ), /* 9 */ +/* 378 */ NdrFcShort( 0xd6 ), /* Offset= 214 (592) */ +/* 380 */ NdrFcLong( 0x2000 ), /* 8192 */ +/* 384 */ NdrFcShort( 0xe2 ), /* Offset= 226 (610) */ +/* 386 */ NdrFcLong( 0x24 ), /* 36 */ +/* 390 */ NdrFcShort( 0x2d8 ), /* Offset= 728 (1118) */ +/* 392 */ NdrFcLong( 0x4024 ), /* 16420 */ +/* 396 */ NdrFcShort( 0x2d2 ), /* Offset= 722 (1118) */ +/* 398 */ NdrFcLong( 0x4011 ), /* 16401 */ +/* 402 */ NdrFcShort( 0x2d0 ), /* Offset= 720 (1122) */ +/* 404 */ NdrFcLong( 0x4002 ), /* 16386 */ +/* 408 */ NdrFcShort( 0x2ce ), /* Offset= 718 (1126) */ +/* 410 */ NdrFcLong( 0x4003 ), /* 16387 */ +/* 414 */ NdrFcShort( 0x2cc ), /* Offset= 716 (1130) */ +/* 416 */ NdrFcLong( 0x4014 ), /* 16404 */ +/* 420 */ NdrFcShort( 0x2ca ), /* Offset= 714 (1134) */ +/* 422 */ NdrFcLong( 0x4004 ), /* 16388 */ +/* 426 */ NdrFcShort( 0x2c8 ), /* Offset= 712 (1138) */ +/* 428 */ NdrFcLong( 0x4005 ), /* 16389 */ +/* 432 */ NdrFcShort( 0x2c6 ), /* Offset= 710 (1142) */ +/* 434 */ NdrFcLong( 0x400b ), /* 16395 */ +/* 438 */ NdrFcShort( 0x2b0 ), /* Offset= 688 (1126) */ +/* 440 */ NdrFcLong( 0x400a ), /* 16394 */ +/* 444 */ NdrFcShort( 0x2ae ), /* Offset= 686 (1130) */ +/* 446 */ NdrFcLong( 0x4006 ), /* 16390 */ +/* 450 */ NdrFcShort( 0x2b8 ), /* Offset= 696 (1146) */ +/* 452 */ NdrFcLong( 0x4007 ), /* 16391 */ +/* 456 */ NdrFcShort( 0x2ae ), /* Offset= 686 (1142) */ +/* 458 */ NdrFcLong( 0x4008 ), /* 16392 */ +/* 462 */ NdrFcShort( 0x2b0 ), /* Offset= 688 (1150) */ +/* 464 */ NdrFcLong( 0x400d ), /* 16397 */ +/* 468 */ NdrFcShort( 0x2ae ), /* Offset= 686 (1154) */ +/* 470 */ NdrFcLong( 0x4009 ), /* 16393 */ +/* 474 */ NdrFcShort( 0x2ac ), /* Offset= 684 (1158) */ +/* 476 */ NdrFcLong( 0x6000 ), /* 24576 */ +/* 480 */ NdrFcShort( 0x2aa ), /* Offset= 682 (1162) */ +/* 482 */ NdrFcLong( 0x400c ), /* 16396 */ +/* 486 */ NdrFcShort( 0x2a8 ), /* Offset= 680 (1166) */ +/* 488 */ NdrFcLong( 0x10 ), /* 16 */ +/* 492 */ NdrFcShort( 0x8002 ), /* Simple arm type: FC_CHAR */ +/* 494 */ NdrFcLong( 0x12 ), /* 18 */ +/* 498 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */ +/* 500 */ NdrFcLong( 0x13 ), /* 19 */ +/* 504 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ +/* 506 */ NdrFcLong( 0x15 ), /* 21 */ +/* 510 */ NdrFcShort( 0x800b ), /* Simple arm type: FC_HYPER */ +/* 512 */ NdrFcLong( 0x16 ), /* 22 */ +/* 516 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ +/* 518 */ NdrFcLong( 0x17 ), /* 23 */ +/* 522 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ +/* 524 */ NdrFcLong( 0xe ), /* 14 */ +/* 528 */ NdrFcShort( 0x286 ), /* Offset= 646 (1174) */ +/* 530 */ NdrFcLong( 0x400e ), /* 16398 */ +/* 534 */ NdrFcShort( 0x28a ), /* Offset= 650 (1184) */ +/* 536 */ NdrFcLong( 0x4010 ), /* 16400 */ +/* 540 */ NdrFcShort( 0x288 ), /* Offset= 648 (1188) */ +/* 542 */ NdrFcLong( 0x4012 ), /* 16402 */ +/* 546 */ NdrFcShort( 0x244 ), /* Offset= 580 (1126) */ +/* 548 */ NdrFcLong( 0x4013 ), /* 16403 */ +/* 552 */ NdrFcShort( 0x242 ), /* Offset= 578 (1130) */ +/* 554 */ NdrFcLong( 0x4015 ), /* 16405 */ +/* 558 */ NdrFcShort( 0x240 ), /* Offset= 576 (1134) */ +/* 560 */ NdrFcLong( 0x4016 ), /* 16406 */ +/* 564 */ NdrFcShort( 0x236 ), /* Offset= 566 (1130) */ +/* 566 */ NdrFcLong( 0x4017 ), /* 16407 */ +/* 570 */ NdrFcShort( 0x230 ), /* Offset= 560 (1130) */ +/* 572 */ NdrFcLong( 0x0 ), /* 0 */ +/* 576 */ NdrFcShort( 0x0 ), /* Offset= 0 (576) */ +/* 578 */ NdrFcLong( 0x1 ), /* 1 */ +/* 582 */ NdrFcShort( 0x0 ), /* Offset= 0 (582) */ +/* 584 */ NdrFcShort( 0xffff ), /* Offset= -1 (583) */ +/* 586 */ + 0x15, /* FC_STRUCT */ + 0x7, /* 7 */ +/* 588 */ NdrFcShort( 0x8 ), /* 8 */ +/* 590 */ 0xb, /* FC_HYPER */ + 0x5b, /* FC_END */ +/* 592 */ + 0x2f, /* FC_IP */ + 0x5a, /* FC_CONSTANT_IID */ +/* 594 */ NdrFcLong( 0x20400 ), /* 132096 */ +/* 598 */ NdrFcShort( 0x0 ), /* 0 */ +/* 600 */ NdrFcShort( 0x0 ), /* 0 */ +/* 602 */ 0xc0, /* 192 */ + 0x0, /* 0 */ +/* 604 */ 0x0, /* 0 */ + 0x0, /* 0 */ +/* 606 */ 0x0, /* 0 */ + 0x0, /* 0 */ +/* 608 */ 0x0, /* 0 */ + 0x46, /* 70 */ +/* 610 */ + 0x13, 0x10, /* FC_OP [pointer_deref] */ +/* 612 */ NdrFcShort( 0x2 ), /* Offset= 2 (614) */ +/* 614 */ + 0x13, 0x0, /* FC_OP */ +/* 616 */ NdrFcShort( 0x1e4 ), /* Offset= 484 (1100) */ +/* 618 */ + 0x2a, /* FC_ENCAPSULATED_UNION */ + 0x89, /* 137 */ +/* 620 */ NdrFcShort( 0x20 ), /* 32 */ +/* 622 */ NdrFcShort( 0xa ), /* 10 */ +/* 624 */ NdrFcLong( 0x8 ), /* 8 */ +/* 628 */ NdrFcShort( 0x50 ), /* Offset= 80 (708) */ +/* 630 */ NdrFcLong( 0xd ), /* 13 */ +/* 634 */ NdrFcShort( 0x70 ), /* Offset= 112 (746) */ +/* 636 */ NdrFcLong( 0x9 ), /* 9 */ +/* 640 */ NdrFcShort( 0x90 ), /* Offset= 144 (784) */ +/* 642 */ NdrFcLong( 0xc ), /* 12 */ +/* 646 */ NdrFcShort( 0xb0 ), /* Offset= 176 (822) */ +/* 648 */ NdrFcLong( 0x24 ), /* 36 */ +/* 652 */ NdrFcShort( 0x102 ), /* Offset= 258 (910) */ +/* 654 */ NdrFcLong( 0x800d ), /* 32781 */ +/* 658 */ NdrFcShort( 0x11e ), /* Offset= 286 (944) */ +/* 660 */ NdrFcLong( 0x10 ), /* 16 */ +/* 664 */ NdrFcShort( 0x138 ), /* Offset= 312 (976) */ +/* 666 */ NdrFcLong( 0x2 ), /* 2 */ +/* 670 */ NdrFcShort( 0x14e ), /* Offset= 334 (1004) */ +/* 672 */ NdrFcLong( 0x3 ), /* 3 */ +/* 676 */ NdrFcShort( 0x164 ), /* Offset= 356 (1032) */ +/* 678 */ NdrFcLong( 0x14 ), /* 20 */ +/* 682 */ NdrFcShort( 0x17a ), /* Offset= 378 (1060) */ +/* 684 */ NdrFcShort( 0xffff ), /* Offset= -1 (683) */ +/* 686 */ + 0x21, /* FC_BOGUS_ARRAY */ + 0x3, /* 3 */ +/* 688 */ NdrFcShort( 0x0 ), /* 0 */ +/* 690 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ + 0x0, /* */ +/* 692 */ NdrFcShort( 0x0 ), /* 0 */ +/* 694 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 696 */ NdrFcLong( 0xffffffff ), /* -1 */ +/* 700 */ NdrFcShort( 0x0 ), /* Corr flags: */ +/* 702 */ + 0x13, 0x0, /* FC_OP */ +/* 704 */ NdrFcShort( 0xfd56 ), /* Offset= -682 (22) */ +/* 706 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 708 */ + 0x1a, /* FC_BOGUS_STRUCT */ + 0x3, /* 3 */ +/* 710 */ NdrFcShort( 0x10 ), /* 16 */ +/* 712 */ NdrFcShort( 0x0 ), /* 0 */ +/* 714 */ NdrFcShort( 0x6 ), /* Offset= 6 (720) */ +/* 716 */ 0x8, /* FC_LONG */ + 0x40, /* FC_STRUCTPAD4 */ +/* 718 */ 0x36, /* FC_POINTER */ + 0x5b, /* FC_END */ +/* 720 */ + 0x11, 0x0, /* FC_RP */ +/* 722 */ NdrFcShort( 0xffdc ), /* Offset= -36 (686) */ +/* 724 */ + 0x21, /* FC_BOGUS_ARRAY */ + 0x3, /* 3 */ +/* 726 */ NdrFcShort( 0x0 ), /* 0 */ +/* 728 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ + 0x0, /* */ +/* 730 */ NdrFcShort( 0x0 ), /* 0 */ +/* 732 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 734 */ NdrFcLong( 0xffffffff ), /* -1 */ +/* 738 */ NdrFcShort( 0x0 ), /* Corr flags: */ +/* 740 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ + 0x0, /* 0 */ +/* 742 */ NdrFcShort( 0xfd4c ), /* Offset= -692 (50) */ +/* 744 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 746 */ + 0x1a, /* FC_BOGUS_STRUCT */ + 0x3, /* 3 */ +/* 748 */ NdrFcShort( 0x10 ), /* 16 */ +/* 750 */ NdrFcShort( 0x0 ), /* 0 */ +/* 752 */ NdrFcShort( 0x6 ), /* Offset= 6 (758) */ +/* 754 */ 0x8, /* FC_LONG */ + 0x40, /* FC_STRUCTPAD4 */ +/* 756 */ 0x36, /* FC_POINTER */ + 0x5b, /* FC_END */ +/* 758 */ + 0x11, 0x0, /* FC_RP */ +/* 760 */ NdrFcShort( 0xffdc ), /* Offset= -36 (724) */ +/* 762 */ + 0x21, /* FC_BOGUS_ARRAY */ + 0x3, /* 3 */ +/* 764 */ NdrFcShort( 0x0 ), /* 0 */ +/* 766 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ + 0x0, /* */ +/* 768 */ NdrFcShort( 0x0 ), /* 0 */ +/* 770 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 772 */ NdrFcLong( 0xffffffff ), /* -1 */ +/* 776 */ NdrFcShort( 0x0 ), /* Corr flags: */ +/* 778 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ + 0x0, /* 0 */ +/* 780 */ NdrFcShort( 0xff44 ), /* Offset= -188 (592) */ +/* 782 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 784 */ + 0x1a, /* FC_BOGUS_STRUCT */ + 0x3, /* 3 */ +/* 786 */ NdrFcShort( 0x10 ), /* 16 */ +/* 788 */ NdrFcShort( 0x0 ), /* 0 */ +/* 790 */ NdrFcShort( 0x6 ), /* Offset= 6 (796) */ +/* 792 */ 0x8, /* FC_LONG */ + 0x40, /* FC_STRUCTPAD4 */ +/* 794 */ 0x36, /* FC_POINTER */ + 0x5b, /* FC_END */ +/* 796 */ + 0x11, 0x0, /* FC_RP */ +/* 798 */ NdrFcShort( 0xffdc ), /* Offset= -36 (762) */ +/* 800 */ + 0x21, /* FC_BOGUS_ARRAY */ + 0x3, /* 3 */ +/* 802 */ NdrFcShort( 0x0 ), /* 0 */ +/* 804 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ + 0x0, /* */ +/* 806 */ NdrFcShort( 0x0 ), /* 0 */ +/* 808 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 810 */ NdrFcLong( 0xffffffff ), /* -1 */ +/* 814 */ NdrFcShort( 0x0 ), /* Corr flags: */ +/* 816 */ + 0x13, 0x0, /* FC_OP */ +/* 818 */ NdrFcShort( 0x176 ), /* Offset= 374 (1192) */ +/* 820 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 822 */ + 0x1a, /* FC_BOGUS_STRUCT */ + 0x3, /* 3 */ +/* 824 */ NdrFcShort( 0x10 ), /* 16 */ +/* 826 */ NdrFcShort( 0x0 ), /* 0 */ +/* 828 */ NdrFcShort( 0x6 ), /* Offset= 6 (834) */ +/* 830 */ 0x8, /* FC_LONG */ + 0x40, /* FC_STRUCTPAD4 */ +/* 832 */ 0x36, /* FC_POINTER */ + 0x5b, /* FC_END */ +/* 834 */ + 0x11, 0x0, /* FC_RP */ +/* 836 */ NdrFcShort( 0xffdc ), /* Offset= -36 (800) */ +/* 838 */ + 0x2f, /* FC_IP */ + 0x5a, /* FC_CONSTANT_IID */ +/* 840 */ NdrFcLong( 0x2f ), /* 47 */ +/* 844 */ NdrFcShort( 0x0 ), /* 0 */ +/* 846 */ NdrFcShort( 0x0 ), /* 0 */ +/* 848 */ 0xc0, /* 192 */ + 0x0, /* 0 */ +/* 850 */ 0x0, /* 0 */ + 0x0, /* 0 */ +/* 852 */ 0x0, /* 0 */ + 0x0, /* 0 */ +/* 854 */ 0x0, /* 0 */ + 0x46, /* 70 */ +/* 856 */ + 0x1b, /* FC_CARRAY */ + 0x0, /* 0 */ +/* 858 */ NdrFcShort( 0x1 ), /* 1 */ +/* 860 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ + 0x0, /* */ +/* 862 */ NdrFcShort( 0x4 ), /* 4 */ +/* 864 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 866 */ 0x1, /* FC_BYTE */ + 0x5b, /* FC_END */ +/* 868 */ + 0x1a, /* FC_BOGUS_STRUCT */ + 0x3, /* 3 */ +/* 870 */ NdrFcShort( 0x18 ), /* 24 */ +/* 872 */ NdrFcShort( 0x0 ), /* 0 */ +/* 874 */ NdrFcShort( 0xa ), /* Offset= 10 (884) */ +/* 876 */ 0x8, /* FC_LONG */ + 0x8, /* FC_LONG */ +/* 878 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ + 0x0, /* 0 */ +/* 880 */ NdrFcShort( 0xffd6 ), /* Offset= -42 (838) */ +/* 882 */ 0x36, /* FC_POINTER */ + 0x5b, /* FC_END */ +/* 884 */ + 0x13, 0x0, /* FC_OP */ +/* 886 */ NdrFcShort( 0xffe2 ), /* Offset= -30 (856) */ +/* 888 */ + 0x21, /* FC_BOGUS_ARRAY */ + 0x3, /* 3 */ +/* 890 */ NdrFcShort( 0x0 ), /* 0 */ +/* 892 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ + 0x0, /* */ +/* 894 */ NdrFcShort( 0x0 ), /* 0 */ +/* 896 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 898 */ NdrFcLong( 0xffffffff ), /* -1 */ +/* 902 */ NdrFcShort( 0x0 ), /* Corr flags: */ +/* 904 */ + 0x13, 0x0, /* FC_OP */ +/* 906 */ NdrFcShort( 0xffda ), /* Offset= -38 (868) */ +/* 908 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 910 */ + 0x1a, /* FC_BOGUS_STRUCT */ + 0x3, /* 3 */ +/* 912 */ NdrFcShort( 0x10 ), /* 16 */ +/* 914 */ NdrFcShort( 0x0 ), /* 0 */ +/* 916 */ NdrFcShort( 0x6 ), /* Offset= 6 (922) */ +/* 918 */ 0x8, /* FC_LONG */ + 0x40, /* FC_STRUCTPAD4 */ +/* 920 */ 0x36, /* FC_POINTER */ + 0x5b, /* FC_END */ +/* 922 */ + 0x11, 0x0, /* FC_RP */ +/* 924 */ NdrFcShort( 0xffdc ), /* Offset= -36 (888) */ +/* 926 */ + 0x1d, /* FC_SMFARRAY */ + 0x0, /* 0 */ +/* 928 */ NdrFcShort( 0x8 ), /* 8 */ +/* 930 */ 0x1, /* FC_BYTE */ + 0x5b, /* FC_END */ +/* 932 */ + 0x15, /* FC_STRUCT */ + 0x3, /* 3 */ +/* 934 */ NdrFcShort( 0x10 ), /* 16 */ +/* 936 */ 0x8, /* FC_LONG */ + 0x6, /* FC_SHORT */ +/* 938 */ 0x6, /* FC_SHORT */ + 0x4c, /* FC_EMBEDDED_COMPLEX */ +/* 940 */ 0x0, /* 0 */ + NdrFcShort( 0xfff1 ), /* Offset= -15 (926) */ + 0x5b, /* FC_END */ +/* 944 */ + 0x1a, /* FC_BOGUS_STRUCT */ + 0x3, /* 3 */ +/* 946 */ NdrFcShort( 0x20 ), /* 32 */ +/* 948 */ NdrFcShort( 0x0 ), /* 0 */ +/* 950 */ NdrFcShort( 0xa ), /* Offset= 10 (960) */ +/* 952 */ 0x8, /* FC_LONG */ + 0x40, /* FC_STRUCTPAD4 */ +/* 954 */ 0x36, /* FC_POINTER */ + 0x4c, /* FC_EMBEDDED_COMPLEX */ +/* 956 */ 0x0, /* 0 */ + NdrFcShort( 0xffe7 ), /* Offset= -25 (932) */ + 0x5b, /* FC_END */ +/* 960 */ + 0x11, 0x0, /* FC_RP */ +/* 962 */ NdrFcShort( 0xff12 ), /* Offset= -238 (724) */ +/* 964 */ + 0x1b, /* FC_CARRAY */ + 0x0, /* 0 */ +/* 966 */ NdrFcShort( 0x1 ), /* 1 */ +/* 968 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ + 0x0, /* */ +/* 970 */ NdrFcShort( 0x0 ), /* 0 */ +/* 972 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 974 */ 0x1, /* FC_BYTE */ + 0x5b, /* FC_END */ +/* 976 */ + 0x1a, /* FC_BOGUS_STRUCT */ + 0x3, /* 3 */ +/* 978 */ NdrFcShort( 0x10 ), /* 16 */ +/* 980 */ NdrFcShort( 0x0 ), /* 0 */ +/* 982 */ NdrFcShort( 0x6 ), /* Offset= 6 (988) */ +/* 984 */ 0x8, /* FC_LONG */ + 0x40, /* FC_STRUCTPAD4 */ +/* 986 */ 0x36, /* FC_POINTER */ + 0x5b, /* FC_END */ +/* 988 */ + 0x13, 0x0, /* FC_OP */ +/* 990 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (964) */ +/* 992 */ + 0x1b, /* FC_CARRAY */ + 0x1, /* 1 */ +/* 994 */ NdrFcShort( 0x2 ), /* 2 */ +/* 996 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ + 0x0, /* */ +/* 998 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1000 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 1002 */ 0x6, /* FC_SHORT */ + 0x5b, /* FC_END */ +/* 1004 */ + 0x1a, /* FC_BOGUS_STRUCT */ + 0x3, /* 3 */ +/* 1006 */ NdrFcShort( 0x10 ), /* 16 */ +/* 1008 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1010 */ NdrFcShort( 0x6 ), /* Offset= 6 (1016) */ +/* 1012 */ 0x8, /* FC_LONG */ + 0x40, /* FC_STRUCTPAD4 */ +/* 1014 */ 0x36, /* FC_POINTER */ + 0x5b, /* FC_END */ +/* 1016 */ + 0x13, 0x0, /* FC_OP */ +/* 1018 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (992) */ +/* 1020 */ + 0x1b, /* FC_CARRAY */ + 0x3, /* 3 */ +/* 1022 */ NdrFcShort( 0x4 ), /* 4 */ +/* 1024 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ + 0x0, /* */ +/* 1026 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1028 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 1030 */ 0x8, /* FC_LONG */ + 0x5b, /* FC_END */ +/* 1032 */ + 0x1a, /* FC_BOGUS_STRUCT */ + 0x3, /* 3 */ +/* 1034 */ NdrFcShort( 0x10 ), /* 16 */ +/* 1036 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1038 */ NdrFcShort( 0x6 ), /* Offset= 6 (1044) */ +/* 1040 */ 0x8, /* FC_LONG */ + 0x40, /* FC_STRUCTPAD4 */ +/* 1042 */ 0x36, /* FC_POINTER */ + 0x5b, /* FC_END */ +/* 1044 */ + 0x13, 0x0, /* FC_OP */ +/* 1046 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (1020) */ +/* 1048 */ + 0x1b, /* FC_CARRAY */ + 0x7, /* 7 */ +/* 1050 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1052 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ + 0x0, /* */ +/* 1054 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1056 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 1058 */ 0xb, /* FC_HYPER */ + 0x5b, /* FC_END */ +/* 1060 */ + 0x1a, /* FC_BOGUS_STRUCT */ + 0x3, /* 3 */ +/* 1062 */ NdrFcShort( 0x10 ), /* 16 */ +/* 1064 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1066 */ NdrFcShort( 0x6 ), /* Offset= 6 (1072) */ +/* 1068 */ 0x8, /* FC_LONG */ + 0x40, /* FC_STRUCTPAD4 */ +/* 1070 */ 0x36, /* FC_POINTER */ + 0x5b, /* FC_END */ +/* 1072 */ + 0x13, 0x0, /* FC_OP */ +/* 1074 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (1048) */ +/* 1076 */ + 0x15, /* FC_STRUCT */ + 0x3, /* 3 */ +/* 1078 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1080 */ 0x8, /* FC_LONG */ + 0x8, /* FC_LONG */ +/* 1082 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 1084 */ + 0x1b, /* FC_CARRAY */ + 0x3, /* 3 */ +/* 1086 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1088 */ 0x7, /* Corr desc: FC_USHORT */ + 0x0, /* */ +/* 1090 */ NdrFcShort( 0xffc8 ), /* -56 */ +/* 1092 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 1094 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ + 0x0, /* 0 */ +/* 1096 */ NdrFcShort( 0xffec ), /* Offset= -20 (1076) */ +/* 1098 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 1100 */ + 0x1a, /* FC_BOGUS_STRUCT */ + 0x3, /* 3 */ +/* 1102 */ NdrFcShort( 0x38 ), /* 56 */ +/* 1104 */ NdrFcShort( 0xffec ), /* Offset= -20 (1084) */ +/* 1106 */ NdrFcShort( 0x0 ), /* Offset= 0 (1106) */ +/* 1108 */ 0x6, /* FC_SHORT */ + 0x6, /* FC_SHORT */ +/* 1110 */ 0x8, /* FC_LONG */ + 0x8, /* FC_LONG */ +/* 1112 */ 0x40, /* FC_STRUCTPAD4 */ + 0x4c, /* FC_EMBEDDED_COMPLEX */ +/* 1114 */ 0x0, /* 0 */ + NdrFcShort( 0xfe0f ), /* Offset= -497 (618) */ + 0x5b, /* FC_END */ +/* 1118 */ + 0x13, 0x0, /* FC_OP */ +/* 1120 */ NdrFcShort( 0xff04 ), /* Offset= -252 (868) */ +/* 1122 */ + 0x13, 0x8, /* FC_OP [simple_pointer] */ +/* 1124 */ 0x1, /* FC_BYTE */ + 0x5c, /* FC_PAD */ +/* 1126 */ + 0x13, 0x8, /* FC_OP [simple_pointer] */ +/* 1128 */ 0x6, /* FC_SHORT */ + 0x5c, /* FC_PAD */ +/* 1130 */ + 0x13, 0x8, /* FC_OP [simple_pointer] */ +/* 1132 */ 0x8, /* FC_LONG */ + 0x5c, /* FC_PAD */ +/* 1134 */ + 0x13, 0x8, /* FC_OP [simple_pointer] */ +/* 1136 */ 0xb, /* FC_HYPER */ + 0x5c, /* FC_PAD */ +/* 1138 */ + 0x13, 0x8, /* FC_OP [simple_pointer] */ +/* 1140 */ 0xa, /* FC_FLOAT */ + 0x5c, /* FC_PAD */ +/* 1142 */ + 0x13, 0x8, /* FC_OP [simple_pointer] */ +/* 1144 */ 0xc, /* FC_DOUBLE */ + 0x5c, /* FC_PAD */ +/* 1146 */ + 0x13, 0x0, /* FC_OP */ +/* 1148 */ NdrFcShort( 0xfdce ), /* Offset= -562 (586) */ +/* 1150 */ + 0x13, 0x10, /* FC_OP [pointer_deref] */ +/* 1152 */ NdrFcShort( 0xfb86 ), /* Offset= -1146 (6) */ +/* 1154 */ + 0x13, 0x10, /* FC_OP [pointer_deref] */ +/* 1156 */ NdrFcShort( 0xfbae ), /* Offset= -1106 (50) */ +/* 1158 */ + 0x13, 0x10, /* FC_OP [pointer_deref] */ +/* 1160 */ NdrFcShort( 0xfdc8 ), /* Offset= -568 (592) */ +/* 1162 */ + 0x13, 0x10, /* FC_OP [pointer_deref] */ +/* 1164 */ NdrFcShort( 0xfdd6 ), /* Offset= -554 (610) */ +/* 1166 */ + 0x13, 0x10, /* FC_OP [pointer_deref] */ +/* 1168 */ NdrFcShort( 0x2 ), /* Offset= 2 (1170) */ +/* 1170 */ + 0x13, 0x0, /* FC_OP */ +/* 1172 */ NdrFcShort( 0x14 ), /* Offset= 20 (1192) */ +/* 1174 */ + 0x15, /* FC_STRUCT */ + 0x7, /* 7 */ +/* 1176 */ NdrFcShort( 0x10 ), /* 16 */ +/* 1178 */ 0x6, /* FC_SHORT */ + 0x1, /* FC_BYTE */ +/* 1180 */ 0x1, /* FC_BYTE */ + 0x8, /* FC_LONG */ +/* 1182 */ 0xb, /* FC_HYPER */ + 0x5b, /* FC_END */ +/* 1184 */ + 0x13, 0x0, /* FC_OP */ +/* 1186 */ NdrFcShort( 0xfff4 ), /* Offset= -12 (1174) */ +/* 1188 */ + 0x13, 0x8, /* FC_OP [simple_pointer] */ +/* 1190 */ 0x2, /* FC_CHAR */ + 0x5c, /* FC_PAD */ +/* 1192 */ + 0x1a, /* FC_BOGUS_STRUCT */ + 0x7, /* 7 */ +/* 1194 */ NdrFcShort( 0x20 ), /* 32 */ +/* 1196 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1198 */ NdrFcShort( 0x0 ), /* Offset= 0 (1198) */ +/* 1200 */ 0x8, /* FC_LONG */ + 0x8, /* FC_LONG */ +/* 1202 */ 0x6, /* FC_SHORT */ + 0x6, /* FC_SHORT */ +/* 1204 */ 0x6, /* FC_SHORT */ + 0x6, /* FC_SHORT */ +/* 1206 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ + 0x0, /* 0 */ +/* 1208 */ NdrFcShort( 0xfc68 ), /* Offset= -920 (288) */ +/* 1210 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 1212 */ 0xb4, /* FC_USER_MARSHAL */ + 0x83, /* 131 */ +/* 1214 */ NdrFcShort( 0x2 ), /* 2 */ +/* 1216 */ NdrFcShort( 0x18 ), /* 24 */ +/* 1218 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1220 */ NdrFcShort( 0xfc58 ), /* Offset= -936 (284) */ +/* 1222 */ + 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */ +/* 1224 */ NdrFcShort( 0x2 ), /* Offset= 2 (1226) */ +/* 1226 */ + 0x13, 0x0, /* FC_OP */ +/* 1228 */ NdrFcShort( 0x2 ), /* Offset= 2 (1230) */ +/* 1230 */ + 0x21, /* FC_BOGUS_ARRAY */ + 0x3, /* 3 */ +/* 1232 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1234 */ 0x28, /* Corr desc: parameter, FC_LONG */ + 0x54, /* FC_DEREFERENCE */ +/* 1236 */ NdrFcShort( 0x20 ), /* X64 Stack size/offset = 32 */ +/* 1238 */ NdrFcShort( 0x0 ), /* Corr flags: */ +/* 1240 */ NdrFcLong( 0xffffffff ), /* -1 */ +/* 1244 */ NdrFcShort( 0x0 ), /* Corr flags: */ +/* 1246 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ + 0x0, /* 0 */ +/* 1248 */ NdrFcShort( 0xfb52 ), /* Offset= -1198 (50) */ +/* 1250 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 1252 */ + 0x11, 0x0, /* FC_RP */ +/* 1254 */ NdrFcShort( 0x6 ), /* Offset= 6 (1260) */ +/* 1256 */ + 0x12, 0x0, /* FC_UP */ +/* 1258 */ NdrFcShort( 0xffbe ), /* Offset= -66 (1192) */ +/* 1260 */ 0xb4, /* FC_USER_MARSHAL */ + 0x83, /* 131 */ +/* 1262 */ NdrFcShort( 0x2 ), /* 2 */ +/* 1264 */ NdrFcShort( 0x18 ), /* 24 */ +/* 1266 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1268 */ NdrFcShort( 0xfff4 ), /* Offset= -12 (1256) */ +/* 1270 */ + 0x11, 0x4, /* FC_RP [alloced_on_stack] */ +/* 1272 */ NdrFcShort( 0x2 ), /* Offset= 2 (1274) */ +/* 1274 */ + 0x1a, /* FC_BOGUS_STRUCT */ + 0x3, /* 3 */ +/* 1276 */ NdrFcShort( 0x10 ), /* 16 */ +/* 1278 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1280 */ NdrFcShort( 0x0 ), /* Offset= 0 (1280) */ +/* 1282 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ + 0x0, /* 0 */ +/* 1284 */ NdrFcShort( 0xfb1c ), /* Offset= -1252 (32) */ +/* 1286 */ 0x8, /* FC_LONG */ + 0x8, /* FC_LONG */ +/* 1288 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 1290 */ + 0x11, 0x0, /* FC_RP */ +/* 1292 */ NdrFcShort( 0xfc02 ), /* Offset= -1022 (270) */ +/* 1294 */ + 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */ +/* 1296 */ 0x3, /* FC_SMALL */ + 0x5c, /* FC_PAD */ +/* 1298 */ + 0x11, 0x10, /* FC_RP [pointer_deref] */ +/* 1300 */ NdrFcShort( 0x2 ), /* Offset= 2 (1302) */ +/* 1302 */ + 0x2f, /* FC_IP */ + 0x5a, /* FC_CONSTANT_IID */ +/* 1304 */ NdrFcLong( 0x1c20f2b ), /* 29495083 */ +/* 1308 */ NdrFcShort( 0x3dd2 ), /* 15826 */ +/* 1310 */ NdrFcShort( 0x400f ), /* 16399 */ +/* 1312 */ 0x94, /* 148 */ + 0x9f, /* 159 */ +/* 1314 */ 0xad, /* 173 */ + 0x0, /* 0 */ +/* 1316 */ 0xbd, /* 189 */ + 0xab, /* 171 */ +/* 1318 */ 0x1d, /* 29 */ + 0x41, /* 65 */ +/* 1320 */ + 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */ +/* 1322 */ NdrFcShort( 0x2 ), /* Offset= 2 (1324) */ +/* 1324 */ + 0x13, 0x0, /* FC_OP */ +/* 1326 */ NdrFcShort( 0x2 ), /* Offset= 2 (1328) */ +/* 1328 */ + 0x21, /* FC_BOGUS_ARRAY */ + 0x3, /* 3 */ +/* 1330 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1332 */ 0x28, /* Corr desc: parameter, FC_LONG */ + 0x54, /* FC_DEREFERENCE */ +/* 1334 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 1336 */ NdrFcShort( 0x0 ), /* Corr flags: */ +/* 1338 */ NdrFcLong( 0xffffffff ), /* -1 */ +/* 1342 */ NdrFcShort( 0x0 ), /* Corr flags: */ +/* 1344 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ + 0x0, /* 0 */ +/* 1346 */ NdrFcShort( 0xffd4 ), /* Offset= -44 (1302) */ +/* 1348 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 1350 */ + 0x11, 0x10, /* FC_RP [pointer_deref] */ +/* 1352 */ NdrFcShort( 0x2 ), /* Offset= 2 (1354) */ +/* 1354 */ + 0x2f, /* FC_IP */ + 0x5a, /* FC_CONSTANT_IID */ +/* 1356 */ NdrFcLong( 0x35ad8070 ), /* 900563056 */ +/* 1360 */ NdrFcShort( 0xc20c ), /* -15860 */ +/* 1362 */ NdrFcShort( 0x4fb4 ), /* 20404 */ +/* 1364 */ 0xb0, /* 176 */ + 0x94, /* 148 */ +/* 1366 */ 0xf4, /* 244 */ + 0xf7, /* 247 */ +/* 1368 */ 0x27, /* 39 */ + 0x5d, /* 93 */ +/* 1370 */ 0xd4, /* 212 */ + 0x69, /* 105 */ +/* 1372 */ + 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */ +/* 1374 */ NdrFcShort( 0x2 ), /* Offset= 2 (1376) */ +/* 1376 */ + 0x13, 0x0, /* FC_OP */ +/* 1378 */ NdrFcShort( 0x2 ), /* Offset= 2 (1380) */ +/* 1380 */ + 0x1c, /* FC_CVARRAY */ + 0x3, /* 3 */ +/* 1382 */ NdrFcShort( 0x4 ), /* 4 */ +/* 1384 */ 0x28, /* Corr desc: parameter, FC_LONG */ + 0x0, /* */ +/* 1386 */ NdrFcShort( 0x8 ), /* X64 Stack size/offset = 8 */ +/* 1388 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 1390 */ 0x28, /* Corr desc: parameter, FC_LONG */ + 0x54, /* FC_DEREFERENCE */ +/* 1392 */ NdrFcShort( 0x18 ), /* X64 Stack size/offset = 24 */ +/* 1394 */ NdrFcShort( 0x0 ), /* Corr flags: */ +/* 1396 */ 0x8, /* FC_LONG */ + 0x5b, /* FC_END */ +/* 1398 */ + 0x11, 0x4, /* FC_RP [alloced_on_stack] */ +/* 1400 */ NdrFcShort( 0x2 ), /* Offset= 2 (1402) */ +/* 1402 */ + 0x1a, /* FC_BOGUS_STRUCT */ + 0x3, /* 3 */ +/* 1404 */ NdrFcShort( 0x14 ), /* 20 */ +/* 1406 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1408 */ NdrFcShort( 0x0 ), /* Offset= 0 (1408) */ +/* 1410 */ 0xd, /* FC_ENUM16 */ + 0x8, /* FC_LONG */ +/* 1412 */ 0x8, /* FC_LONG */ + 0x8, /* FC_LONG */ +/* 1414 */ 0x8, /* FC_LONG */ + 0x5b, /* FC_END */ +/* 1416 */ + 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */ +/* 1418 */ NdrFcShort( 0x2 ), /* Offset= 2 (1420) */ +/* 1420 */ + 0x13, 0x0, /* FC_OP */ +/* 1422 */ NdrFcShort( 0x2 ), /* Offset= 2 (1424) */ +/* 1424 */ + 0x21, /* FC_BOGUS_ARRAY */ + 0x3, /* 3 */ +/* 1426 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1428 */ 0x28, /* Corr desc: parameter, FC_LONG */ + 0x54, /* FC_DEREFERENCE */ +/* 1430 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 1432 */ NdrFcShort( 0x0 ), /* Corr flags: */ +/* 1434 */ NdrFcLong( 0xffffffff ), /* -1 */ +/* 1438 */ NdrFcShort( 0x0 ), /* Corr flags: */ +/* 1440 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ + 0x0, /* 0 */ +/* 1442 */ NdrFcShort( 0xfa90 ), /* Offset= -1392 (50) */ +/* 1444 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 1446 */ + 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */ +/* 1448 */ NdrFcShort( 0x2 ), /* Offset= 2 (1450) */ +/* 1450 */ + 0x13, 0x0, /* FC_OP */ +/* 1452 */ NdrFcShort( 0x2 ), /* Offset= 2 (1454) */ +/* 1454 */ + 0x1b, /* FC_CARRAY */ + 0x3, /* 3 */ +/* 1456 */ NdrFcShort( 0x4 ), /* 4 */ +/* 1458 */ 0x28, /* Corr desc: parameter, FC_LONG */ + 0x54, /* FC_DEREFERENCE */ +/* 1460 */ NdrFcShort( 0x10 ), /* X64 Stack size/offset = 16 */ +/* 1462 */ NdrFcShort( 0x0 ), /* Corr flags: */ +/* 1464 */ 0x8, /* FC_LONG */ + 0x5b, /* FC_END */ + + 0x0 + } + }; + +static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] = + { + + { + BSTR_UserSize + ,BSTR_UserMarshal + ,BSTR_UserUnmarshal + ,BSTR_UserFree + }, + { + HWND_UserSize + ,HWND_UserMarshal + ,HWND_UserUnmarshal + ,HWND_UserFree + }, + { + VARIANT_UserSize + ,VARIANT_UserMarshal + ,VARIANT_UserUnmarshal + ,VARIANT_UserFree + } + + }; + + + +/* Standard interface: __MIDL_itf_ia2_api_all_0000_0000, ver. 0.0, + GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */ + + +/* Object interface: IUnknown, ver. 0.0, + GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */ + + +/* Object interface: IAccessibleRelation, ver. 0.0, + GUID={0x7CDF86EE,0xC3DA,0x496a,{0xBD,0xA4,0x28,0x1B,0x33,0x6E,0x1F,0xDC}} */ + +#pragma code_seg(".orpc") +static const unsigned short IAccessibleRelation_FormatStringOffsetTable[] = + { + 0, + 38, + 76, + 114, + 158 + }; + +static const MIDL_STUBLESS_PROXY_INFO IAccessibleRelation_ProxyInfo = + { + &Object_StubDesc, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleRelation_FormatStringOffsetTable[-3], + 0, + 0, + 0 + }; + + +static const MIDL_SERVER_INFO IAccessibleRelation_ServerInfo = + { + &Object_StubDesc, + 0, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleRelation_FormatStringOffsetTable[-3], + 0, + 0, + 0, + 0}; +CINTERFACE_PROXY_VTABLE(8) _IAccessibleRelationProxyVtbl = +{ + &IAccessibleRelation_ProxyInfo, + &IID_IAccessibleRelation, + IUnknown_QueryInterface_Proxy, + IUnknown_AddRef_Proxy, + IUnknown_Release_Proxy , + (void *) (INT_PTR) -1 /* IAccessibleRelation::get_relationType */ , + (void *) (INT_PTR) -1 /* IAccessibleRelation::get_localizedRelationType */ , + (void *) (INT_PTR) -1 /* IAccessibleRelation::get_nTargets */ , + (void *) (INT_PTR) -1 /* IAccessibleRelation::get_target */ , + (void *) (INT_PTR) -1 /* IAccessibleRelation::get_targets */ +}; + +const CInterfaceStubVtbl _IAccessibleRelationStubVtbl = +{ + &IID_IAccessibleRelation, + &IAccessibleRelation_ServerInfo, + 8, + 0, /* pure interpreted */ + CStdStubBuffer_METHODS +}; + + +/* Standard interface: __MIDL_itf_ia2_api_all_0000_0001, ver. 0.0, + GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */ + + +/* Object interface: IAccessibleAction, ver. 0.0, + GUID={0xB70D9F59,0x3B5A,0x4dba,{0xAB,0x9E,0x22,0x01,0x2F,0x60,0x7D,0xF5}} */ + +#pragma code_seg(".orpc") +static const unsigned short IAccessibleAction_FormatStringOffsetTable[] = + { + 208, + 246, + 284, + 328, + 384, + 428 + }; + +static const MIDL_STUBLESS_PROXY_INFO IAccessibleAction_ProxyInfo = + { + &Object_StubDesc, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleAction_FormatStringOffsetTable[-3], + 0, + 0, + 0 + }; + + +static const MIDL_SERVER_INFO IAccessibleAction_ServerInfo = + { + &Object_StubDesc, + 0, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleAction_FormatStringOffsetTable[-3], + 0, + 0, + 0, + 0}; +CINTERFACE_PROXY_VTABLE(9) _IAccessibleActionProxyVtbl = +{ + &IAccessibleAction_ProxyInfo, + &IID_IAccessibleAction, + IUnknown_QueryInterface_Proxy, + IUnknown_AddRef_Proxy, + IUnknown_Release_Proxy , + (void *) (INT_PTR) -1 /* IAccessibleAction::nActions */ , + (void *) (INT_PTR) -1 /* IAccessibleAction::doAction */ , + (void *) (INT_PTR) -1 /* IAccessibleAction::get_description */ , + (void *) (INT_PTR) -1 /* IAccessibleAction::get_keyBinding */ , + (void *) (INT_PTR) -1 /* IAccessibleAction::get_name */ , + (void *) (INT_PTR) -1 /* IAccessibleAction::get_localizedName */ +}; + +const CInterfaceStubVtbl _IAccessibleActionStubVtbl = +{ + &IID_IAccessibleAction, + &IAccessibleAction_ServerInfo, + 9, + 0, /* pure interpreted */ + CStdStubBuffer_METHODS +}; + + +/* Standard interface: __MIDL_itf_ia2_api_all_0000_0002, ver. 0.0, + GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */ + + +/* Object interface: IDispatch, ver. 0.0, + GUID={0x00020400,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */ + + +/* Object interface: IAccessible, ver. 0.0, + GUID={0x618736e0,0x3c3d,0x11cf,{0x81,0x0c,0x00,0xaa,0x00,0x38,0x9b,0x71}} */ + + +/* Object interface: IAccessible2, ver. 0.0, + GUID={0xE89F726E,0xC4F4,0x4c19,{0xBB,0x19,0xB6,0x47,0xD7,0xFA,0x84,0x78}} */ + +#pragma code_seg(".orpc") +static const unsigned short IAccessible2_FormatStringOffsetTable[] = + { + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + 472, + 510, + 554, + 604, + 642, + 680, + 730, + 780, + 818, + 856, + 894, + 932, + 982, + 1032, + 1070, + 1108, + 1146, + 1184 + }; + +static const MIDL_STUBLESS_PROXY_INFO IAccessible2_ProxyInfo = + { + &Object_StubDesc, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessible2_FormatStringOffsetTable[-3], + 0, + 0, + 0 + }; + + +static const MIDL_SERVER_INFO IAccessible2_ServerInfo = + { + &Object_StubDesc, + 0, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessible2_FormatStringOffsetTable[-3], + 0, + 0, + 0, + 0}; +CINTERFACE_PROXY_VTABLE(46) _IAccessible2ProxyVtbl = +{ + &IAccessible2_ProxyInfo, + &IID_IAccessible2, + IUnknown_QueryInterface_Proxy, + IUnknown_AddRef_Proxy, + IUnknown_Release_Proxy , + 0 /* IDispatch::GetTypeInfoCount */ , + 0 /* IDispatch::GetTypeInfo */ , + 0 /* IDispatch::GetIDsOfNames */ , + 0 /* IDispatch_Invoke_Proxy */ , + 0 /* IAccessible::get_accParent */ , + 0 /* IAccessible::get_accChildCount */ , + 0 /* IAccessible::get_accChild */ , + 0 /* IAccessible::get_accName */ , + 0 /* IAccessible::get_accValue */ , + 0 /* IAccessible::get_accDescription */ , + 0 /* IAccessible::get_accRole */ , + 0 /* IAccessible::get_accState */ , + 0 /* IAccessible::get_accHelp */ , + 0 /* IAccessible::get_accHelpTopic */ , + 0 /* IAccessible::get_accKeyboardShortcut */ , + 0 /* IAccessible::get_accFocus */ , + 0 /* IAccessible::get_accSelection */ , + 0 /* IAccessible::get_accDefaultAction */ , + 0 /* IAccessible::accSelect */ , + 0 /* IAccessible::accLocation */ , + 0 /* IAccessible::accNavigate */ , + 0 /* IAccessible::accHitTest */ , + 0 /* IAccessible::accDoDefaultAction */ , + 0 /* IAccessible::put_accName */ , + 0 /* IAccessible::put_accValue */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_nRelations */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_relation */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_relations */ , + (void *) (INT_PTR) -1 /* IAccessible2::role */ , + (void *) (INT_PTR) -1 /* IAccessible2::scrollTo */ , + (void *) (INT_PTR) -1 /* IAccessible2::scrollToPoint */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_groupPosition */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_states */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_extendedRole */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_localizedExtendedRole */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_nExtendedStates */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_extendedStates */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_localizedExtendedStates */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_uniqueID */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_windowHandle */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_indexInParent */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_locale */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_attributes */ +}; + + +static const PRPC_STUB_FUNCTION IAccessible2_table[] = +{ + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2 +}; + +CInterfaceStubVtbl _IAccessible2StubVtbl = +{ + &IID_IAccessible2, + &IAccessible2_ServerInfo, + 46, + &IAccessible2_table[-3], + CStdStubBuffer_DELEGATING_METHODS +}; + + +/* Object interface: IAccessible2_2, ver. 0.0, + GUID={0x6C9430E9,0x299D,0x4E6F,{0xBD,0x01,0xA8,0x2A,0x1E,0x88,0xD3,0xFF}} */ + +#pragma code_seg(".orpc") +static const unsigned short IAccessible2_2_FormatStringOffsetTable[] = + { + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + 472, + 510, + 554, + 604, + 642, + 680, + 730, + 780, + 818, + 856, + 894, + 932, + 982, + 1032, + 1070, + 1108, + 1146, + 1184, + 1222, + 1266, + 1310 + }; + +static const MIDL_STUBLESS_PROXY_INFO IAccessible2_2_ProxyInfo = + { + &Object_StubDesc, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessible2_2_FormatStringOffsetTable[-3], + 0, + 0, + 0 + }; + + +static const MIDL_SERVER_INFO IAccessible2_2_ServerInfo = + { + &Object_StubDesc, + 0, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessible2_2_FormatStringOffsetTable[-3], + 0, + 0, + 0, + 0}; +CINTERFACE_PROXY_VTABLE(49) _IAccessible2_2ProxyVtbl = +{ + &IAccessible2_2_ProxyInfo, + &IID_IAccessible2_2, + IUnknown_QueryInterface_Proxy, + IUnknown_AddRef_Proxy, + IUnknown_Release_Proxy , + 0 /* IDispatch::GetTypeInfoCount */ , + 0 /* IDispatch::GetTypeInfo */ , + 0 /* IDispatch::GetIDsOfNames */ , + 0 /* IDispatch_Invoke_Proxy */ , + 0 /* IAccessible::get_accParent */ , + 0 /* IAccessible::get_accChildCount */ , + 0 /* IAccessible::get_accChild */ , + 0 /* IAccessible::get_accName */ , + 0 /* IAccessible::get_accValue */ , + 0 /* IAccessible::get_accDescription */ , + 0 /* IAccessible::get_accRole */ , + 0 /* IAccessible::get_accState */ , + 0 /* IAccessible::get_accHelp */ , + 0 /* IAccessible::get_accHelpTopic */ , + 0 /* IAccessible::get_accKeyboardShortcut */ , + 0 /* IAccessible::get_accFocus */ , + 0 /* IAccessible::get_accSelection */ , + 0 /* IAccessible::get_accDefaultAction */ , + 0 /* IAccessible::accSelect */ , + 0 /* IAccessible::accLocation */ , + 0 /* IAccessible::accNavigate */ , + 0 /* IAccessible::accHitTest */ , + 0 /* IAccessible::accDoDefaultAction */ , + 0 /* IAccessible::put_accName */ , + 0 /* IAccessible::put_accValue */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_nRelations */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_relation */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_relations */ , + (void *) (INT_PTR) -1 /* IAccessible2::role */ , + (void *) (INT_PTR) -1 /* IAccessible2::scrollTo */ , + (void *) (INT_PTR) -1 /* IAccessible2::scrollToPoint */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_groupPosition */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_states */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_extendedRole */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_localizedExtendedRole */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_nExtendedStates */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_extendedStates */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_localizedExtendedStates */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_uniqueID */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_windowHandle */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_indexInParent */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_locale */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_attributes */ , + (void *) (INT_PTR) -1 /* IAccessible2_2::get_attribute */ , + (void *) (INT_PTR) -1 /* IAccessible2_2::get_accessibleWithCaret */ , + (void *) (INT_PTR) -1 /* IAccessible2_2::get_relationTargetsOfType */ +}; + + +static const PRPC_STUB_FUNCTION IAccessible2_2_table[] = +{ + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2 +}; + +CInterfaceStubVtbl _IAccessible2_2StubVtbl = +{ + &IID_IAccessible2_2, + &IAccessible2_2_ServerInfo, + 49, + &IAccessible2_2_table[-3], + CStdStubBuffer_DELEGATING_METHODS +}; + + +/* Standard interface: __MIDL_itf_ia2_api_all_0000_0004, ver. 0.0, + GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */ + + +/* Object interface: IAccessibleComponent, ver. 0.0, + GUID={0x1546D4B0,0x4C98,0x4bda,{0x89,0xAE,0x9A,0x64,0x74,0x8B,0xDD,0xE4}} */ + +#pragma code_seg(".orpc") +static const unsigned short IAccessibleComponent_FormatStringOffsetTable[] = + { + 1366, + 1410, + 76 + }; + +static const MIDL_STUBLESS_PROXY_INFO IAccessibleComponent_ProxyInfo = + { + &Object_StubDesc, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleComponent_FormatStringOffsetTable[-3], + 0, + 0, + 0 + }; + + +static const MIDL_SERVER_INFO IAccessibleComponent_ServerInfo = + { + &Object_StubDesc, + 0, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleComponent_FormatStringOffsetTable[-3], + 0, + 0, + 0, + 0}; +CINTERFACE_PROXY_VTABLE(6) _IAccessibleComponentProxyVtbl = +{ + &IAccessibleComponent_ProxyInfo, + &IID_IAccessibleComponent, + IUnknown_QueryInterface_Proxy, + IUnknown_AddRef_Proxy, + IUnknown_Release_Proxy , + (void *) (INT_PTR) -1 /* IAccessibleComponent::get_locationInParent */ , + (void *) (INT_PTR) -1 /* IAccessibleComponent::get_foreground */ , + (void *) (INT_PTR) -1 /* IAccessibleComponent::get_background */ +}; + +const CInterfaceStubVtbl _IAccessibleComponentStubVtbl = +{ + &IID_IAccessibleComponent, + &IAccessibleComponent_ServerInfo, + 6, + 0, /* pure interpreted */ + CStdStubBuffer_METHODS +}; + + +/* Object interface: IAccessibleValue, ver. 0.0, + GUID={0x35855B5B,0xC566,0x4fd0,{0xA7,0xB1,0xE6,0x54,0x65,0x60,0x03,0x94}} */ + +#pragma code_seg(".orpc") +static const unsigned short IAccessibleValue_FormatStringOffsetTable[] = + { + 1448, + 1486, + 1524, + 1562 + }; + +static const MIDL_STUBLESS_PROXY_INFO IAccessibleValue_ProxyInfo = + { + &Object_StubDesc, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleValue_FormatStringOffsetTable[-3], + 0, + 0, + 0 + }; + + +static const MIDL_SERVER_INFO IAccessibleValue_ServerInfo = + { + &Object_StubDesc, + 0, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleValue_FormatStringOffsetTable[-3], + 0, + 0, + 0, + 0}; +CINTERFACE_PROXY_VTABLE(7) _IAccessibleValueProxyVtbl = +{ + &IAccessibleValue_ProxyInfo, + &IID_IAccessibleValue, + IUnknown_QueryInterface_Proxy, + IUnknown_AddRef_Proxy, + IUnknown_Release_Proxy , + (void *) (INT_PTR) -1 /* IAccessibleValue::get_currentValue */ , + (void *) (INT_PTR) -1 /* IAccessibleValue::setCurrentValue */ , + (void *) (INT_PTR) -1 /* IAccessibleValue::get_maximumValue */ , + (void *) (INT_PTR) -1 /* IAccessibleValue::get_minimumValue */ +}; + +const CInterfaceStubVtbl _IAccessibleValueStubVtbl = +{ + &IID_IAccessibleValue, + &IAccessibleValue_ServerInfo, + 7, + 0, /* pure interpreted */ + CStdStubBuffer_METHODS +}; + + +/* Standard interface: __MIDL_itf_ia2_api_all_0000_0006, ver. 0.0, + GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */ + + +/* Object interface: IAccessibleText, ver. 0.0, + GUID={0x24FD2FFB,0x3AAD,0x4a08,{0x83,0x35,0xA3,0xAD,0x89,0xC0,0xFB,0x4B}} */ + +#pragma code_seg(".orpc") +static const unsigned short IAccessibleText_FormatStringOffsetTable[] = + { + 1600, + 1644, + 76, + 1700, + 1768, + 1806, + 1862, + 1912, + 1962, + 2024, + 2086, + 2148, + 2186, + 2224, + 2274, + 2312, + 2362, + 2424, + 2462 + }; + +static const MIDL_STUBLESS_PROXY_INFO IAccessibleText_ProxyInfo = + { + &Object_StubDesc, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleText_FormatStringOffsetTable[-3], + 0, + 0, + 0 + }; + + +static const MIDL_SERVER_INFO IAccessibleText_ServerInfo = + { + &Object_StubDesc, + 0, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleText_FormatStringOffsetTable[-3], + 0, + 0, + 0, + 0}; +CINTERFACE_PROXY_VTABLE(22) _IAccessibleTextProxyVtbl = +{ + &IAccessibleText_ProxyInfo, + &IID_IAccessibleText, + IUnknown_QueryInterface_Proxy, + IUnknown_AddRef_Proxy, + IUnknown_Release_Proxy , + (void *) (INT_PTR) -1 /* IAccessibleText::addSelection */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_attributes */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_caretOffset */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_characterExtents */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_nSelections */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_offsetAtPoint */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_selection */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_text */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_textBeforeOffset */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_textAfterOffset */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_textAtOffset */ , + (void *) (INT_PTR) -1 /* IAccessibleText::removeSelection */ , + (void *) (INT_PTR) -1 /* IAccessibleText::setCaretOffset */ , + (void *) (INT_PTR) -1 /* IAccessibleText::setSelection */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_nCharacters */ , + (void *) (INT_PTR) -1 /* IAccessibleText::scrollSubstringTo */ , + (void *) (INT_PTR) -1 /* IAccessibleText::scrollSubstringToPoint */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_newText */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_oldText */ +}; + +const CInterfaceStubVtbl _IAccessibleTextStubVtbl = +{ + &IID_IAccessibleText, + &IAccessibleText_ServerInfo, + 22, + 0, /* pure interpreted */ + CStdStubBuffer_METHODS +}; + + +/* Object interface: IAccessibleText2, ver. 0.0, + GUID={0x9690A9CC,0x5C80,0x4DF5,{0x85,0x2E,0x2D,0x5A,0xE4,0x18,0x9A,0x54}} */ + +#pragma code_seg(".orpc") +static const unsigned short IAccessibleText2_FormatStringOffsetTable[] = + { + 1600, + 1644, + 76, + 1700, + 1768, + 1806, + 1862, + 1912, + 1962, + 2024, + 2086, + 2148, + 2186, + 2224, + 2274, + 2312, + 2362, + 2424, + 2462, + 2500 + }; + +static const MIDL_STUBLESS_PROXY_INFO IAccessibleText2_ProxyInfo = + { + &Object_StubDesc, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleText2_FormatStringOffsetTable[-3], + 0, + 0, + 0 + }; + + +static const MIDL_SERVER_INFO IAccessibleText2_ServerInfo = + { + &Object_StubDesc, + 0, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleText2_FormatStringOffsetTable[-3], + 0, + 0, + 0, + 0}; +CINTERFACE_PROXY_VTABLE(23) _IAccessibleText2ProxyVtbl = +{ + &IAccessibleText2_ProxyInfo, + &IID_IAccessibleText2, + IUnknown_QueryInterface_Proxy, + IUnknown_AddRef_Proxy, + IUnknown_Release_Proxy , + (void *) (INT_PTR) -1 /* IAccessibleText::addSelection */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_attributes */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_caretOffset */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_characterExtents */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_nSelections */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_offsetAtPoint */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_selection */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_text */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_textBeforeOffset */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_textAfterOffset */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_textAtOffset */ , + (void *) (INT_PTR) -1 /* IAccessibleText::removeSelection */ , + (void *) (INT_PTR) -1 /* IAccessibleText::setCaretOffset */ , + (void *) (INT_PTR) -1 /* IAccessibleText::setSelection */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_nCharacters */ , + (void *) (INT_PTR) -1 /* IAccessibleText::scrollSubstringTo */ , + (void *) (INT_PTR) -1 /* IAccessibleText::scrollSubstringToPoint */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_newText */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_oldText */ , + (void *) (INT_PTR) -1 /* IAccessibleText2::get_attributeRange */ +}; + +const CInterfaceStubVtbl _IAccessibleText2StubVtbl = +{ + &IID_IAccessibleText2, + &IAccessibleText2_ServerInfo, + 23, + 0, /* pure interpreted */ + CStdStubBuffer_METHODS +}; + + +/* Object interface: IAccessibleEditableText, ver. 0.0, + GUID={0xA59AA09A,0x7011,0x4b65,{0x93,0x9D,0x32,0xB1,0xFB,0x55,0x47,0xE3}} */ + +#pragma code_seg(".orpc") +static const unsigned short IAccessibleEditableText_FormatStringOffsetTable[] = + { + 1600, + 2562, + 2606, + 2650, + 2694, + 2732, + 2782 + }; + +static const MIDL_STUBLESS_PROXY_INFO IAccessibleEditableText_ProxyInfo = + { + &Object_StubDesc, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleEditableText_FormatStringOffsetTable[-3], + 0, + 0, + 0 + }; + + +static const MIDL_SERVER_INFO IAccessibleEditableText_ServerInfo = + { + &Object_StubDesc, + 0, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleEditableText_FormatStringOffsetTable[-3], + 0, + 0, + 0, + 0}; +CINTERFACE_PROXY_VTABLE(10) _IAccessibleEditableTextProxyVtbl = +{ + &IAccessibleEditableText_ProxyInfo, + &IID_IAccessibleEditableText, + IUnknown_QueryInterface_Proxy, + IUnknown_AddRef_Proxy, + IUnknown_Release_Proxy , + (void *) (INT_PTR) -1 /* IAccessibleEditableText::copyText */ , + (void *) (INT_PTR) -1 /* IAccessibleEditableText::deleteText */ , + (void *) (INT_PTR) -1 /* IAccessibleEditableText::insertText */ , + (void *) (INT_PTR) -1 /* IAccessibleEditableText::cutText */ , + (void *) (INT_PTR) -1 /* IAccessibleEditableText::pasteText */ , + (void *) (INT_PTR) -1 /* IAccessibleEditableText::replaceText */ , + (void *) (INT_PTR) -1 /* IAccessibleEditableText::setAttributes */ +}; + +const CInterfaceStubVtbl _IAccessibleEditableTextStubVtbl = +{ + &IID_IAccessibleEditableText, + &IAccessibleEditableText_ServerInfo, + 10, + 0, /* pure interpreted */ + CStdStubBuffer_METHODS +}; + + +/* Object interface: IAccessibleHyperlink, ver. 0.0, + GUID={0x01C20F2B,0x3DD2,0x400f,{0x94,0x9F,0xAD,0x00,0xBD,0xAB,0x1D,0x41}} */ + +#pragma code_seg(".orpc") +static const unsigned short IAccessibleHyperlink_FormatStringOffsetTable[] = + { + 208, + 246, + 284, + 328, + 384, + 428, + 2832, + 2876, + 2920, + 2958, + 2996 + }; + +static const MIDL_STUBLESS_PROXY_INFO IAccessibleHyperlink_ProxyInfo = + { + &Object_StubDesc, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleHyperlink_FormatStringOffsetTable[-3], + 0, + 0, + 0 + }; + + +static const MIDL_SERVER_INFO IAccessibleHyperlink_ServerInfo = + { + &Object_StubDesc, + 0, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleHyperlink_FormatStringOffsetTable[-3], + 0, + 0, + 0, + 0}; +CINTERFACE_PROXY_VTABLE(14) _IAccessibleHyperlinkProxyVtbl = +{ + &IAccessibleHyperlink_ProxyInfo, + &IID_IAccessibleHyperlink, + IUnknown_QueryInterface_Proxy, + IUnknown_AddRef_Proxy, + IUnknown_Release_Proxy , + (void *) (INT_PTR) -1 /* IAccessibleAction::nActions */ , + (void *) (INT_PTR) -1 /* IAccessibleAction::doAction */ , + (void *) (INT_PTR) -1 /* IAccessibleAction::get_description */ , + (void *) (INT_PTR) -1 /* IAccessibleAction::get_keyBinding */ , + (void *) (INT_PTR) -1 /* IAccessibleAction::get_name */ , + (void *) (INT_PTR) -1 /* IAccessibleAction::get_localizedName */ , + (void *) (INT_PTR) -1 /* IAccessibleHyperlink::get_anchor */ , + (void *) (INT_PTR) -1 /* IAccessibleHyperlink::get_anchorTarget */ , + (void *) (INT_PTR) -1 /* IAccessibleHyperlink::get_startIndex */ , + (void *) (INT_PTR) -1 /* IAccessibleHyperlink::get_endIndex */ , + (void *) (INT_PTR) -1 /* IAccessibleHyperlink::get_valid */ +}; + +const CInterfaceStubVtbl _IAccessibleHyperlinkStubVtbl = +{ + &IID_IAccessibleHyperlink, + &IAccessibleHyperlink_ServerInfo, + 14, + 0, /* pure interpreted */ + CStdStubBuffer_METHODS +}; + + +/* Object interface: IAccessibleHypertext, ver. 0.0, + GUID={0x6B4F8BBF,0xF1F2,0x418a,{0xB3,0x5E,0xA1,0x95,0xBC,0x41,0x03,0xB9}} */ + +#pragma code_seg(".orpc") +static const unsigned short IAccessibleHypertext_FormatStringOffsetTable[] = + { + 1600, + 1644, + 76, + 1700, + 1768, + 1806, + 1862, + 1912, + 1962, + 2024, + 2086, + 2148, + 2186, + 2224, + 2274, + 2312, + 2362, + 2424, + 2462, + 3034, + 3072, + 3116 + }; + +static const MIDL_STUBLESS_PROXY_INFO IAccessibleHypertext_ProxyInfo = + { + &Object_StubDesc, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleHypertext_FormatStringOffsetTable[-3], + 0, + 0, + 0 + }; + + +static const MIDL_SERVER_INFO IAccessibleHypertext_ServerInfo = + { + &Object_StubDesc, + 0, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleHypertext_FormatStringOffsetTable[-3], + 0, + 0, + 0, + 0}; +CINTERFACE_PROXY_VTABLE(25) _IAccessibleHypertextProxyVtbl = +{ + &IAccessibleHypertext_ProxyInfo, + &IID_IAccessibleHypertext, + IUnknown_QueryInterface_Proxy, + IUnknown_AddRef_Proxy, + IUnknown_Release_Proxy , + (void *) (INT_PTR) -1 /* IAccessibleText::addSelection */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_attributes */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_caretOffset */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_characterExtents */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_nSelections */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_offsetAtPoint */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_selection */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_text */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_textBeforeOffset */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_textAfterOffset */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_textAtOffset */ , + (void *) (INT_PTR) -1 /* IAccessibleText::removeSelection */ , + (void *) (INT_PTR) -1 /* IAccessibleText::setCaretOffset */ , + (void *) (INT_PTR) -1 /* IAccessibleText::setSelection */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_nCharacters */ , + (void *) (INT_PTR) -1 /* IAccessibleText::scrollSubstringTo */ , + (void *) (INT_PTR) -1 /* IAccessibleText::scrollSubstringToPoint */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_newText */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_oldText */ , + (void *) (INT_PTR) -1 /* IAccessibleHypertext::get_nHyperlinks */ , + (void *) (INT_PTR) -1 /* IAccessibleHypertext::get_hyperlink */ , + (void *) (INT_PTR) -1 /* IAccessibleHypertext::get_hyperlinkIndex */ +}; + +const CInterfaceStubVtbl _IAccessibleHypertextStubVtbl = +{ + &IID_IAccessibleHypertext, + &IAccessibleHypertext_ServerInfo, + 25, + 0, /* pure interpreted */ + CStdStubBuffer_METHODS +}; + + +/* Object interface: IAccessibleHypertext2, ver. 0.0, + GUID={0xCF64D89F,0x8287,0x4B44,{0x85,0x01,0xA8,0x27,0x45,0x3A,0x60,0x77}} */ + +#pragma code_seg(".orpc") +static const unsigned short IAccessibleHypertext2_FormatStringOffsetTable[] = + { + 1600, + 1644, + 76, + 1700, + 1768, + 1806, + 1862, + 1912, + 1962, + 2024, + 2086, + 2148, + 2186, + 2224, + 2274, + 2312, + 2362, + 2424, + 2462, + 3034, + 3072, + 3116, + 3160 + }; + +static const MIDL_STUBLESS_PROXY_INFO IAccessibleHypertext2_ProxyInfo = + { + &Object_StubDesc, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleHypertext2_FormatStringOffsetTable[-3], + 0, + 0, + 0 + }; + + +static const MIDL_SERVER_INFO IAccessibleHypertext2_ServerInfo = + { + &Object_StubDesc, + 0, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleHypertext2_FormatStringOffsetTable[-3], + 0, + 0, + 0, + 0}; +CINTERFACE_PROXY_VTABLE(26) _IAccessibleHypertext2ProxyVtbl = +{ + &IAccessibleHypertext2_ProxyInfo, + &IID_IAccessibleHypertext2, + IUnknown_QueryInterface_Proxy, + IUnknown_AddRef_Proxy, + IUnknown_Release_Proxy , + (void *) (INT_PTR) -1 /* IAccessibleText::addSelection */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_attributes */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_caretOffset */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_characterExtents */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_nSelections */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_offsetAtPoint */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_selection */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_text */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_textBeforeOffset */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_textAfterOffset */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_textAtOffset */ , + (void *) (INT_PTR) -1 /* IAccessibleText::removeSelection */ , + (void *) (INT_PTR) -1 /* IAccessibleText::setCaretOffset */ , + (void *) (INT_PTR) -1 /* IAccessibleText::setSelection */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_nCharacters */ , + (void *) (INT_PTR) -1 /* IAccessibleText::scrollSubstringTo */ , + (void *) (INT_PTR) -1 /* IAccessibleText::scrollSubstringToPoint */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_newText */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_oldText */ , + (void *) (INT_PTR) -1 /* IAccessibleHypertext::get_nHyperlinks */ , + (void *) (INT_PTR) -1 /* IAccessibleHypertext::get_hyperlink */ , + (void *) (INT_PTR) -1 /* IAccessibleHypertext::get_hyperlinkIndex */ , + (void *) (INT_PTR) -1 /* IAccessibleHypertext2::get_hyperlinks */ +}; + +const CInterfaceStubVtbl _IAccessibleHypertext2StubVtbl = +{ + &IID_IAccessibleHypertext2, + &IAccessibleHypertext2_ServerInfo, + 26, + 0, /* pure interpreted */ + CStdStubBuffer_METHODS +}; + + +/* Object interface: IAccessibleTable, ver. 0.0, + GUID={0x35AD8070,0xC20C,0x4fb4,{0xB0,0x94,0xF4,0xF7,0x27,0x5D,0xD4,0x69}} */ + +#pragma code_seg(".orpc") +static const unsigned short IAccessibleTable_FormatStringOffsetTable[] = + { + 3204, + 3254, + 3292, + 3342, + 3386, + 3436, + 3480, + 3524, + 2920, + 2958, + 3562, + 3600, + 3638, + 3682, + 3732, + 3776, + 3820, + 3870, + 3920, + 3970, + 4008, + 4052, + 4096, + 4146, + 4184, + 4222, + 4260, + 4298, + 4366 + }; + +static const MIDL_STUBLESS_PROXY_INFO IAccessibleTable_ProxyInfo = + { + &Object_StubDesc, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleTable_FormatStringOffsetTable[-3], + 0, + 0, + 0 + }; + + +static const MIDL_SERVER_INFO IAccessibleTable_ServerInfo = + { + &Object_StubDesc, + 0, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleTable_FormatStringOffsetTable[-3], + 0, + 0, + 0, + 0}; +CINTERFACE_PROXY_VTABLE(32) _IAccessibleTableProxyVtbl = +{ + &IAccessibleTable_ProxyInfo, + &IID_IAccessibleTable, + IUnknown_QueryInterface_Proxy, + IUnknown_AddRef_Proxy, + IUnknown_Release_Proxy , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_accessibleAt */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_caption */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_childIndex */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_columnDescription */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_columnExtentAt */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_columnHeader */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_columnIndex */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_nColumns */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_nRows */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_nSelectedChildren */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_nSelectedColumns */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_nSelectedRows */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_rowDescription */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_rowExtentAt */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_rowHeader */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_rowIndex */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_selectedChildren */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_selectedColumns */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_selectedRows */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_summary */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_isColumnSelected */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_isRowSelected */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_isSelected */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::selectRow */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::selectColumn */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::unselectRow */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::unselectColumn */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_rowColumnExtentsAtIndex */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_modelChange */ +}; + +const CInterfaceStubVtbl _IAccessibleTableStubVtbl = +{ + &IID_IAccessibleTable, + &IAccessibleTable_ServerInfo, + 32, + 0, /* pure interpreted */ + CStdStubBuffer_METHODS +}; + + +/* Object interface: IAccessibleTable2, ver. 0.0, + GUID={0x6167f295,0x06f0,0x4cdd,{0xa1,0xfa,0x02,0xe2,0x51,0x53,0xd8,0x69}} */ + +#pragma code_seg(".orpc") +static const unsigned short IAccessibleTable2_FormatStringOffsetTable[] = + { + 3204, + 3254, + 284, + 4404, + 1768, + 4442, + 4480, + 3524, + 4518, + 4562, + 4606, + 4650, + 4694, + 4732, + 4776, + 4820, + 4858, + 4896, + 4934, + 4972 + }; + +static const MIDL_STUBLESS_PROXY_INFO IAccessibleTable2_ProxyInfo = + { + &Object_StubDesc, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleTable2_FormatStringOffsetTable[-3], + 0, + 0, + 0 + }; + + +static const MIDL_SERVER_INFO IAccessibleTable2_ServerInfo = + { + &Object_StubDesc, + 0, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleTable2_FormatStringOffsetTable[-3], + 0, + 0, + 0, + 0}; +CINTERFACE_PROXY_VTABLE(23) _IAccessibleTable2ProxyVtbl = +{ + &IAccessibleTable2_ProxyInfo, + &IID_IAccessibleTable2, + IUnknown_QueryInterface_Proxy, + IUnknown_AddRef_Proxy, + IUnknown_Release_Proxy , + (void *) (INT_PTR) -1 /* IAccessibleTable2::get_cellAt */ , + (void *) (INT_PTR) -1 /* IAccessibleTable2::get_caption */ , + (void *) (INT_PTR) -1 /* IAccessibleTable2::get_columnDescription */ , + (void *) (INT_PTR) -1 /* IAccessibleTable2::get_nColumns */ , + (void *) (INT_PTR) -1 /* IAccessibleTable2::get_nRows */ , + (void *) (INT_PTR) -1 /* IAccessibleTable2::get_nSelectedCells */ , + (void *) (INT_PTR) -1 /* IAccessibleTable2::get_nSelectedColumns */ , + (void *) (INT_PTR) -1 /* IAccessibleTable2::get_nSelectedRows */ , + (void *) (INT_PTR) -1 /* IAccessibleTable2::get_rowDescription */ , + (void *) (INT_PTR) -1 /* IAccessibleTable2::get_selectedCells */ , + (void *) (INT_PTR) -1 /* IAccessibleTable2::get_selectedColumns */ , + (void *) (INT_PTR) -1 /* IAccessibleTable2::get_selectedRows */ , + (void *) (INT_PTR) -1 /* IAccessibleTable2::get_summary */ , + (void *) (INT_PTR) -1 /* IAccessibleTable2::get_isColumnSelected */ , + (void *) (INT_PTR) -1 /* IAccessibleTable2::get_isRowSelected */ , + (void *) (INT_PTR) -1 /* IAccessibleTable2::selectRow */ , + (void *) (INT_PTR) -1 /* IAccessibleTable2::selectColumn */ , + (void *) (INT_PTR) -1 /* IAccessibleTable2::unselectRow */ , + (void *) (INT_PTR) -1 /* IAccessibleTable2::unselectColumn */ , + (void *) (INT_PTR) -1 /* IAccessibleTable2::get_modelChange */ +}; + +const CInterfaceStubVtbl _IAccessibleTable2StubVtbl = +{ + &IID_IAccessibleTable2, + &IAccessibleTable2_ServerInfo, + 23, + 0, /* pure interpreted */ + CStdStubBuffer_METHODS +}; + + +/* Object interface: IAccessibleTableCell, ver. 0.0, + GUID={0x594116B1,0xC99F,0x4847,{0xAD,0x06,0x0A,0x7A,0x86,0xEC,0xE6,0x45}} */ + +#pragma code_seg(".orpc") +static const unsigned short IAccessibleTableCell_FormatStringOffsetTable[] = + { + 208, + 5010, + 76, + 4404, + 5054, + 4442, + 5098, + 5136, + 5198 + }; + +static const MIDL_STUBLESS_PROXY_INFO IAccessibleTableCell_ProxyInfo = + { + &Object_StubDesc, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleTableCell_FormatStringOffsetTable[-3], + 0, + 0, + 0 + }; + + +static const MIDL_SERVER_INFO IAccessibleTableCell_ServerInfo = + { + &Object_StubDesc, + 0, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleTableCell_FormatStringOffsetTable[-3], + 0, + 0, + 0, + 0}; +CINTERFACE_PROXY_VTABLE(12) _IAccessibleTableCellProxyVtbl = +{ + &IAccessibleTableCell_ProxyInfo, + &IID_IAccessibleTableCell, + IUnknown_QueryInterface_Proxy, + IUnknown_AddRef_Proxy, + IUnknown_Release_Proxy , + (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_columnExtent */ , + (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_columnHeaderCells */ , + (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_columnIndex */ , + (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_rowExtent */ , + (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_rowHeaderCells */ , + (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_rowIndex */ , + (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_isSelected */ , + (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_rowColumnExtents */ , + (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_table */ +}; + +const CInterfaceStubVtbl _IAccessibleTableCellStubVtbl = +{ + &IID_IAccessibleTableCell, + &IAccessibleTableCell_ServerInfo, + 12, + 0, /* pure interpreted */ + CStdStubBuffer_METHODS +}; + + +/* Object interface: IAccessibleImage, ver. 0.0, + GUID={0xFE5ABB3D,0x615E,0x4f7b,{0x90,0x9F,0x5F,0x0E,0xDA,0x9E,0x8D,0xDE}} */ + +#pragma code_seg(".orpc") +static const unsigned short IAccessibleImage_FormatStringOffsetTable[] = + { + 0, + 5236, + 5286 + }; + +static const MIDL_STUBLESS_PROXY_INFO IAccessibleImage_ProxyInfo = + { + &Object_StubDesc, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleImage_FormatStringOffsetTable[-3], + 0, + 0, + 0 + }; + + +static const MIDL_SERVER_INFO IAccessibleImage_ServerInfo = + { + &Object_StubDesc, + 0, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleImage_FormatStringOffsetTable[-3], + 0, + 0, + 0, + 0}; +CINTERFACE_PROXY_VTABLE(6) _IAccessibleImageProxyVtbl = +{ + &IAccessibleImage_ProxyInfo, + &IID_IAccessibleImage, + IUnknown_QueryInterface_Proxy, + IUnknown_AddRef_Proxy, + IUnknown_Release_Proxy , + (void *) (INT_PTR) -1 /* IAccessibleImage::get_description */ , + (void *) (INT_PTR) -1 /* IAccessibleImage::get_imagePosition */ , + (void *) (INT_PTR) -1 /* IAccessibleImage::get_imageSize */ +}; + +const CInterfaceStubVtbl _IAccessibleImageStubVtbl = +{ + &IID_IAccessibleImage, + &IAccessibleImage_ServerInfo, + 6, + 0, /* pure interpreted */ + CStdStubBuffer_METHODS +}; + + +/* Standard interface: __MIDL_itf_ia2_api_all_0000_0016, ver. 0.0, + GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */ + + +/* Object interface: IAccessibleApplication, ver. 0.0, + GUID={0xD49DED83,0x5B25,0x43F4,{0x9B,0x95,0x93,0xB4,0x45,0x95,0x97,0x9E}} */ + +#pragma code_seg(".orpc") +static const unsigned short IAccessibleApplication_FormatStringOffsetTable[] = + { + 0, + 38, + 5330, + 5368 + }; + +static const MIDL_STUBLESS_PROXY_INFO IAccessibleApplication_ProxyInfo = + { + &Object_StubDesc, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleApplication_FormatStringOffsetTable[-3], + 0, + 0, + 0 + }; + + +static const MIDL_SERVER_INFO IAccessibleApplication_ServerInfo = + { + &Object_StubDesc, + 0, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleApplication_FormatStringOffsetTable[-3], + 0, + 0, + 0, + 0}; +CINTERFACE_PROXY_VTABLE(7) _IAccessibleApplicationProxyVtbl = +{ + &IAccessibleApplication_ProxyInfo, + &IID_IAccessibleApplication, + IUnknown_QueryInterface_Proxy, + IUnknown_AddRef_Proxy, + IUnknown_Release_Proxy , + (void *) (INT_PTR) -1 /* IAccessibleApplication::get_appName */ , + (void *) (INT_PTR) -1 /* IAccessibleApplication::get_appVersion */ , + (void *) (INT_PTR) -1 /* IAccessibleApplication::get_toolkitName */ , + (void *) (INT_PTR) -1 /* IAccessibleApplication::get_toolkitVersion */ +}; + +const CInterfaceStubVtbl _IAccessibleApplicationStubVtbl = +{ + &IID_IAccessibleApplication, + &IAccessibleApplication_ServerInfo, + 7, + 0, /* pure interpreted */ + CStdStubBuffer_METHODS +}; + + +/* Object interface: IAccessibleDocument, ver. 0.0, + GUID={0xC48C7FCF,0x4AB5,0x4056,{0xAF,0xA6,0x90,0x2D,0x6E,0x1D,0x11,0x49}} */ + +#pragma code_seg(".orpc") +static const unsigned short IAccessibleDocument_FormatStringOffsetTable[] = + { + 5406 + }; + +static const MIDL_STUBLESS_PROXY_INFO IAccessibleDocument_ProxyInfo = + { + &Object_StubDesc, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleDocument_FormatStringOffsetTable[-3], + 0, + 0, + 0 + }; + + +static const MIDL_SERVER_INFO IAccessibleDocument_ServerInfo = + { + &Object_StubDesc, + 0, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleDocument_FormatStringOffsetTable[-3], + 0, + 0, + 0, + 0}; +CINTERFACE_PROXY_VTABLE(4) _IAccessibleDocumentProxyVtbl = +{ + &IAccessibleDocument_ProxyInfo, + &IID_IAccessibleDocument, + IUnknown_QueryInterface_Proxy, + IUnknown_AddRef_Proxy, + IUnknown_Release_Proxy , + (void *) (INT_PTR) -1 /* IAccessibleDocument::get_anchorTarget */ +}; + +const CInterfaceStubVtbl _IAccessibleDocumentStubVtbl = +{ + &IID_IAccessibleDocument, + &IAccessibleDocument_ServerInfo, + 4, + 0, /* pure interpreted */ + CStdStubBuffer_METHODS +}; + + +/* Standard interface: __MIDL_itf_ia2_api_all_0000_0018, ver. 0.0, + GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */ + +static const MIDL_STUB_DESC Object_StubDesc = + { + 0, + NdrOleAllocate, + NdrOleFree, + 0, + 0, + 0, + 0, + 0, + ia2_api_all__MIDL_TypeFormatString.Format, + 1, /* -error bounds_check flag */ + 0x50002, /* Ndr library version */ + 0, + 0x700022b, /* MIDL Version 7.0.555 */ + 0, + UserMarshalRoutines, + 0, /* notify & notify_flag routine table */ + 0x1, /* MIDL flag */ + 0, /* cs routines */ + 0, /* proxy/server info */ + 0 + }; + +const CInterfaceProxyVtbl * const _ia2_api_all_ProxyVtblList[] = +{ + ( CInterfaceProxyVtbl *) &_IAccessibleHyperlinkProxyVtbl, + ( CInterfaceProxyVtbl *) &_IAccessibleImageProxyVtbl, + ( CInterfaceProxyVtbl *) &_IAccessibleActionProxyVtbl, + ( CInterfaceProxyVtbl *) &_IAccessibleValueProxyVtbl, + ( CInterfaceProxyVtbl *) &_IAccessible2ProxyVtbl, + ( CInterfaceProxyVtbl *) &_IAccessibleTableProxyVtbl, + ( CInterfaceProxyVtbl *) &_IAccessibleApplicationProxyVtbl, + ( CInterfaceProxyVtbl *) &_IAccessibleTable2ProxyVtbl, + ( CInterfaceProxyVtbl *) &_IAccessibleEditableTextProxyVtbl, + ( CInterfaceProxyVtbl *) &_IAccessibleHypertext2ProxyVtbl, + ( CInterfaceProxyVtbl *) &_IAccessibleComponentProxyVtbl, + ( CInterfaceProxyVtbl *) &_IAccessibleTableCellProxyVtbl, + ( CInterfaceProxyVtbl *) &_IAccessibleHypertextProxyVtbl, + ( CInterfaceProxyVtbl *) &_IAccessibleText2ProxyVtbl, + ( CInterfaceProxyVtbl *) &_IAccessibleDocumentProxyVtbl, + ( CInterfaceProxyVtbl *) &_IAccessible2_2ProxyVtbl, + ( CInterfaceProxyVtbl *) &_IAccessibleRelationProxyVtbl, + ( CInterfaceProxyVtbl *) &_IAccessibleTextProxyVtbl, + 0 +}; + +const CInterfaceStubVtbl * const _ia2_api_all_StubVtblList[] = +{ + ( CInterfaceStubVtbl *) &_IAccessibleHyperlinkStubVtbl, + ( CInterfaceStubVtbl *) &_IAccessibleImageStubVtbl, + ( CInterfaceStubVtbl *) &_IAccessibleActionStubVtbl, + ( CInterfaceStubVtbl *) &_IAccessibleValueStubVtbl, + ( CInterfaceStubVtbl *) &_IAccessible2StubVtbl, + ( CInterfaceStubVtbl *) &_IAccessibleTableStubVtbl, + ( CInterfaceStubVtbl *) &_IAccessibleApplicationStubVtbl, + ( CInterfaceStubVtbl *) &_IAccessibleTable2StubVtbl, + ( CInterfaceStubVtbl *) &_IAccessibleEditableTextStubVtbl, + ( CInterfaceStubVtbl *) &_IAccessibleHypertext2StubVtbl, + ( CInterfaceStubVtbl *) &_IAccessibleComponentStubVtbl, + ( CInterfaceStubVtbl *) &_IAccessibleTableCellStubVtbl, + ( CInterfaceStubVtbl *) &_IAccessibleHypertextStubVtbl, + ( CInterfaceStubVtbl *) &_IAccessibleText2StubVtbl, + ( CInterfaceStubVtbl *) &_IAccessibleDocumentStubVtbl, + ( CInterfaceStubVtbl *) &_IAccessible2_2StubVtbl, + ( CInterfaceStubVtbl *) &_IAccessibleRelationStubVtbl, + ( CInterfaceStubVtbl *) &_IAccessibleTextStubVtbl, + 0 +}; + +PCInterfaceName const _ia2_api_all_InterfaceNamesList[] = +{ + "IAccessibleHyperlink", + "IAccessibleImage", + "IAccessibleAction", + "IAccessibleValue", + "IAccessible2", + "IAccessibleTable", + "IAccessibleApplication", + "IAccessibleTable2", + "IAccessibleEditableText", + "IAccessibleHypertext2", + "IAccessibleComponent", + "IAccessibleTableCell", + "IAccessibleHypertext", + "IAccessibleText2", + "IAccessibleDocument", + "IAccessible2_2", + "IAccessibleRelation", + "IAccessibleText", + 0 +}; + +const IID * const _ia2_api_all_BaseIIDList[] = +{ + 0, + 0, + 0, + 0, + &IID_IAccessible, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + &IID_IAccessible, + 0, + 0, + 0 +}; + + +#define _ia2_api_all_CHECK_IID(n) IID_GENERIC_CHECK_IID( _ia2_api_all, pIID, n) + +int __stdcall _ia2_api_all_IID_Lookup( const IID * pIID, int * pIndex ) +{ + IID_BS_LOOKUP_SETUP + + IID_BS_LOOKUP_INITIAL_TEST( _ia2_api_all, 18, 16 ) + IID_BS_LOOKUP_NEXT_TEST( _ia2_api_all, 8 ) + IID_BS_LOOKUP_NEXT_TEST( _ia2_api_all, 4 ) + IID_BS_LOOKUP_NEXT_TEST( _ia2_api_all, 2 ) + IID_BS_LOOKUP_NEXT_TEST( _ia2_api_all, 1 ) + IID_BS_LOOKUP_RETURN_RESULT( _ia2_api_all, 18, *pIndex ) + +} + +const ExtendedProxyFileInfo ia2_api_all_ProxyFileInfo = +{ + (PCInterfaceProxyVtblList *) & _ia2_api_all_ProxyVtblList, + (PCInterfaceStubVtblList *) & _ia2_api_all_StubVtblList, + (const PCInterfaceName * ) & _ia2_api_all_InterfaceNamesList, + (const IID ** ) & _ia2_api_all_BaseIIDList, + & _ia2_api_all_IID_Lookup, + 18, + 2, + 0, /* table of [async_uuid] interfaces */ + 0, /* Filler1 */ + 0, /* Filler2 */ + 0 /* Filler3 */ +}; +#if _MSC_VER >= 1200 +#pragma warning(pop) +#endif + + +#endif /* defined(_M_AMD64)*/ + diff --git a/src/3rdparty/iaccessible2/generated/x86/Accessible2.h b/src/3rdparty/iaccessible2/generated/x86/Accessible2.h deleted file mode 100644 index dcf13c0d32..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/Accessible2.h +++ /dev/null @@ -1,585 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:51 2012 - */ -/* Compiler settings for Accessible2.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the <rpcndr.h> version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of <rpcndr.h> -#endif // __RPCNDR_H_VERSION__ - -#ifndef COM_NO_WINDOWS_H -#include "windows.h" -#include "ole2.h" -#endif /*COM_NO_WINDOWS_H*/ - -#ifndef __Accessible2_h__ -#define __Accessible2_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -#ifndef __IAccessible2_FWD_DEFINED__ -#define __IAccessible2_FWD_DEFINED__ -typedef interface IAccessible2 IAccessible2; -#endif /* __IAccessible2_FWD_DEFINED__ */ - - -/* header files for imported files */ -#include "objidl.h" -#include "oaidl.h" -#include "oleacc.h" -#include "AccessibleRelation.h" -#include "AccessibleStates.h" -#include "IA2CommonTypes.h" - -#ifdef __cplusplus -extern "C"{ -#endif - - -/* interface __MIDL_itf_Accessible2_0000_0000 */ -/* [local] */ - -typedef struct IA2Locale - { - BSTR language; - BSTR country; - BSTR variant; - } IA2Locale; - - - -extern RPC_IF_HANDLE __MIDL_itf_Accessible2_0000_0000_v0_0_c_ifspec; -extern RPC_IF_HANDLE __MIDL_itf_Accessible2_0000_0000_v0_0_s_ifspec; - -#ifndef __IAccessible2_INTERFACE_DEFINED__ -#define __IAccessible2_INTERFACE_DEFINED__ - -/* interface IAccessible2 */ -/* [uuid][object] */ - - -EXTERN_C const IID IID_IAccessible2; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("E89F726E-C4F4-4c19-BB19-B647D7FA8478") - IAccessible2 : public IAccessible - { - public: - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nRelations( - /* [retval][out] */ long *nRelations) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_relation( - /* [in] */ long relationIndex, - /* [retval][out] */ IAccessibleRelation **relation) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_relations( - /* [in] */ long maxRelations, - /* [length_is][size_is][out] */ IAccessibleRelation **relations, - /* [retval][out] */ long *nRelations) = 0; - - virtual HRESULT STDMETHODCALLTYPE role( - /* [retval][out] */ long *role) = 0; - - virtual HRESULT STDMETHODCALLTYPE scrollTo( - /* [in] */ enum IA2ScrollType scrollType) = 0; - - virtual HRESULT STDMETHODCALLTYPE scrollToPoint( - /* [in] */ enum IA2CoordinateType coordinateType, - /* [in] */ long x, - /* [in] */ long y) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_groupPosition( - /* [out] */ long *groupLevel, - /* [out] */ long *similarItemsInGroup, - /* [retval][out] */ long *positionInGroup) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_states( - /* [retval][out] */ AccessibleStates *states) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extendedRole( - /* [retval][out] */ BSTR *extendedRole) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_localizedExtendedRole( - /* [retval][out] */ BSTR *localizedExtendedRole) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nExtendedStates( - /* [retval][out] */ long *nExtendedStates) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extendedStates( - /* [in] */ long maxExtendedStates, - /* [length_is][length_is][size_is][size_is][out] */ BSTR **extendedStates, - /* [retval][out] */ long *nExtendedStates) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_localizedExtendedStates( - /* [in] */ long maxLocalizedExtendedStates, - /* [length_is][length_is][size_is][size_is][out] */ BSTR **localizedExtendedStates, - /* [retval][out] */ long *nLocalizedExtendedStates) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_uniqueID( - /* [retval][out] */ long *uniqueID) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_windowHandle( - /* [retval][out] */ HWND *windowHandle) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_indexInParent( - /* [retval][out] */ long *indexInParent) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_locale( - /* [retval][out] */ IA2Locale *locale) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_attributes( - /* [retval][out] */ BSTR *attributes) = 0; - - }; - -#else /* C style interface */ - - typedef struct IAccessible2Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IAccessible2 * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IAccessible2 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IAccessible2 * This); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( - IAccessible2 * This, - /* [out] */ UINT *pctinfo); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( - IAccessible2 * This, - /* [in] */ UINT iTInfo, - /* [in] */ LCID lcid, - /* [out] */ ITypeInfo **ppTInfo); - - HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( - IAccessible2 * This, - /* [in] */ REFIID riid, - /* [size_is][in] */ LPOLESTR *rgszNames, - /* [range][in] */ UINT cNames, - /* [in] */ LCID lcid, - /* [size_is][out] */ DISPID *rgDispId); - - /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( - IAccessible2 * This, - /* [in] */ DISPID dispIdMember, - /* [in] */ REFIID riid, - /* [in] */ LCID lcid, - /* [in] */ WORD wFlags, - /* [out][in] */ DISPPARAMS *pDispParams, - /* [out] */ VARIANT *pVarResult, - /* [out] */ EXCEPINFO *pExcepInfo, - /* [out] */ UINT *puArgErr); - - /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accParent )( - IAccessible2 * This, - /* [retval][out] */ IDispatch **ppdispParent); - - /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accChildCount )( - IAccessible2 * This, - /* [retval][out] */ long *pcountChildren); - - /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accChild )( - IAccessible2 * This, - /* [in] */ VARIANT varChild, - /* [retval][out] */ IDispatch **ppdispChild); - - /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accName )( - IAccessible2 * This, - /* [optional][in] */ VARIANT varChild, - /* [retval][out] */ BSTR *pszName); - - /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accValue )( - IAccessible2 * This, - /* [optional][in] */ VARIANT varChild, - /* [retval][out] */ BSTR *pszValue); - - /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accDescription )( - IAccessible2 * This, - /* [optional][in] */ VARIANT varChild, - /* [retval][out] */ BSTR *pszDescription); - - /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accRole )( - IAccessible2 * This, - /* [optional][in] */ VARIANT varChild, - /* [retval][out] */ VARIANT *pvarRole); - - /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accState )( - IAccessible2 * This, - /* [optional][in] */ VARIANT varChild, - /* [retval][out] */ VARIANT *pvarState); - - /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accHelp )( - IAccessible2 * This, - /* [optional][in] */ VARIANT varChild, - /* [retval][out] */ BSTR *pszHelp); - - /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accHelpTopic )( - IAccessible2 * This, - /* [out] */ BSTR *pszHelpFile, - /* [optional][in] */ VARIANT varChild, - /* [retval][out] */ long *pidTopic); - - /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accKeyboardShortcut )( - IAccessible2 * This, - /* [optional][in] */ VARIANT varChild, - /* [retval][out] */ BSTR *pszKeyboardShortcut); - - /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accFocus )( - IAccessible2 * This, - /* [retval][out] */ VARIANT *pvarChild); - - /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accSelection )( - IAccessible2 * This, - /* [retval][out] */ VARIANT *pvarChildren); - - /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accDefaultAction )( - IAccessible2 * This, - /* [optional][in] */ VARIANT varChild, - /* [retval][out] */ BSTR *pszDefaultAction); - - /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accSelect )( - IAccessible2 * This, - /* [in] */ long flagsSelect, - /* [optional][in] */ VARIANT varChild); - - /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accLocation )( - IAccessible2 * This, - /* [out] */ long *pxLeft, - /* [out] */ long *pyTop, - /* [out] */ long *pcxWidth, - /* [out] */ long *pcyHeight, - /* [optional][in] */ VARIANT varChild); - - /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accNavigate )( - IAccessible2 * This, - /* [in] */ long navDir, - /* [optional][in] */ VARIANT varStart, - /* [retval][out] */ VARIANT *pvarEndUpAt); - - /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accHitTest )( - IAccessible2 * This, - /* [in] */ long xLeft, - /* [in] */ long yTop, - /* [retval][out] */ VARIANT *pvarChild); - - /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accDoDefaultAction )( - IAccessible2 * This, - /* [optional][in] */ VARIANT varChild); - - /* [id][propput][hidden] */ HRESULT ( STDMETHODCALLTYPE *put_accName )( - IAccessible2 * This, - /* [optional][in] */ VARIANT varChild, - /* [in] */ BSTR szName); - - /* [id][propput][hidden] */ HRESULT ( STDMETHODCALLTYPE *put_accValue )( - IAccessible2 * This, - /* [optional][in] */ VARIANT varChild, - /* [in] */ BSTR szValue); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nRelations )( - IAccessible2 * This, - /* [retval][out] */ long *nRelations); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relation )( - IAccessible2 * This, - /* [in] */ long relationIndex, - /* [retval][out] */ IAccessibleRelation **relation); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relations )( - IAccessible2 * This, - /* [in] */ long maxRelations, - /* [length_is][size_is][out] */ IAccessibleRelation **relations, - /* [retval][out] */ long *nRelations); - - HRESULT ( STDMETHODCALLTYPE *role )( - IAccessible2 * This, - /* [retval][out] */ long *role); - - HRESULT ( STDMETHODCALLTYPE *scrollTo )( - IAccessible2 * This, - /* [in] */ enum IA2ScrollType scrollType); - - HRESULT ( STDMETHODCALLTYPE *scrollToPoint )( - IAccessible2 * This, - /* [in] */ enum IA2CoordinateType coordinateType, - /* [in] */ long x, - /* [in] */ long y); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_groupPosition )( - IAccessible2 * This, - /* [out] */ long *groupLevel, - /* [out] */ long *similarItemsInGroup, - /* [retval][out] */ long *positionInGroup); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_states )( - IAccessible2 * This, - /* [retval][out] */ AccessibleStates *states); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extendedRole )( - IAccessible2 * This, - /* [retval][out] */ BSTR *extendedRole); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedExtendedRole )( - IAccessible2 * This, - /* [retval][out] */ BSTR *localizedExtendedRole); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nExtendedStates )( - IAccessible2 * This, - /* [retval][out] */ long *nExtendedStates); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extendedStates )( - IAccessible2 * This, - /* [in] */ long maxExtendedStates, - /* [length_is][length_is][size_is][size_is][out] */ BSTR **extendedStates, - /* [retval][out] */ long *nExtendedStates); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedExtendedStates )( - IAccessible2 * This, - /* [in] */ long maxLocalizedExtendedStates, - /* [length_is][length_is][size_is][size_is][out] */ BSTR **localizedExtendedStates, - /* [retval][out] */ long *nLocalizedExtendedStates); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_uniqueID )( - IAccessible2 * This, - /* [retval][out] */ long *uniqueID); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_windowHandle )( - IAccessible2 * This, - /* [retval][out] */ HWND *windowHandle); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_indexInParent )( - IAccessible2 * This, - /* [retval][out] */ long *indexInParent); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_locale )( - IAccessible2 * This, - /* [retval][out] */ IA2Locale *locale); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )( - IAccessible2 * This, - /* [retval][out] */ BSTR *attributes); - - END_INTERFACE - } IAccessible2Vtbl; - - interface IAccessible2 - { - CONST_VTBL struct IAccessible2Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IAccessible2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IAccessible2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IAccessible2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IAccessible2_GetTypeInfoCount(This,pctinfo) \ - ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) - -#define IAccessible2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ - ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) - -#define IAccessible2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ - ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) - -#define IAccessible2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ - ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) - - -#define IAccessible2_get_accParent(This,ppdispParent) \ - ( (This)->lpVtbl -> get_accParent(This,ppdispParent) ) - -#define IAccessible2_get_accChildCount(This,pcountChildren) \ - ( (This)->lpVtbl -> get_accChildCount(This,pcountChildren) ) - -#define IAccessible2_get_accChild(This,varChild,ppdispChild) \ - ( (This)->lpVtbl -> get_accChild(This,varChild,ppdispChild) ) - -#define IAccessible2_get_accName(This,varChild,pszName) \ - ( (This)->lpVtbl -> get_accName(This,varChild,pszName) ) - -#define IAccessible2_get_accValue(This,varChild,pszValue) \ - ( (This)->lpVtbl -> get_accValue(This,varChild,pszValue) ) - -#define IAccessible2_get_accDescription(This,varChild,pszDescription) \ - ( (This)->lpVtbl -> get_accDescription(This,varChild,pszDescription) ) - -#define IAccessible2_get_accRole(This,varChild,pvarRole) \ - ( (This)->lpVtbl -> get_accRole(This,varChild,pvarRole) ) - -#define IAccessible2_get_accState(This,varChild,pvarState) \ - ( (This)->lpVtbl -> get_accState(This,varChild,pvarState) ) - -#define IAccessible2_get_accHelp(This,varChild,pszHelp) \ - ( (This)->lpVtbl -> get_accHelp(This,varChild,pszHelp) ) - -#define IAccessible2_get_accHelpTopic(This,pszHelpFile,varChild,pidTopic) \ - ( (This)->lpVtbl -> get_accHelpTopic(This,pszHelpFile,varChild,pidTopic) ) - -#define IAccessible2_get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut) \ - ( (This)->lpVtbl -> get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut) ) - -#define IAccessible2_get_accFocus(This,pvarChild) \ - ( (This)->lpVtbl -> get_accFocus(This,pvarChild) ) - -#define IAccessible2_get_accSelection(This,pvarChildren) \ - ( (This)->lpVtbl -> get_accSelection(This,pvarChildren) ) - -#define IAccessible2_get_accDefaultAction(This,varChild,pszDefaultAction) \ - ( (This)->lpVtbl -> get_accDefaultAction(This,varChild,pszDefaultAction) ) - -#define IAccessible2_accSelect(This,flagsSelect,varChild) \ - ( (This)->lpVtbl -> accSelect(This,flagsSelect,varChild) ) - -#define IAccessible2_accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild) \ - ( (This)->lpVtbl -> accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild) ) - -#define IAccessible2_accNavigate(This,navDir,varStart,pvarEndUpAt) \ - ( (This)->lpVtbl -> accNavigate(This,navDir,varStart,pvarEndUpAt) ) - -#define IAccessible2_accHitTest(This,xLeft,yTop,pvarChild) \ - ( (This)->lpVtbl -> accHitTest(This,xLeft,yTop,pvarChild) ) - -#define IAccessible2_accDoDefaultAction(This,varChild) \ - ( (This)->lpVtbl -> accDoDefaultAction(This,varChild) ) - -#define IAccessible2_put_accName(This,varChild,szName) \ - ( (This)->lpVtbl -> put_accName(This,varChild,szName) ) - -#define IAccessible2_put_accValue(This,varChild,szValue) \ - ( (This)->lpVtbl -> put_accValue(This,varChild,szValue) ) - - -#define IAccessible2_get_nRelations(This,nRelations) \ - ( (This)->lpVtbl -> get_nRelations(This,nRelations) ) - -#define IAccessible2_get_relation(This,relationIndex,relation) \ - ( (This)->lpVtbl -> get_relation(This,relationIndex,relation) ) - -#define IAccessible2_get_relations(This,maxRelations,relations,nRelations) \ - ( (This)->lpVtbl -> get_relations(This,maxRelations,relations,nRelations) ) - -#define IAccessible2_role(This,role) \ - ( (This)->lpVtbl -> role(This,role) ) - -#define IAccessible2_scrollTo(This,scrollType) \ - ( (This)->lpVtbl -> scrollTo(This,scrollType) ) - -#define IAccessible2_scrollToPoint(This,coordinateType,x,y) \ - ( (This)->lpVtbl -> scrollToPoint(This,coordinateType,x,y) ) - -#define IAccessible2_get_groupPosition(This,groupLevel,similarItemsInGroup,positionInGroup) \ - ( (This)->lpVtbl -> get_groupPosition(This,groupLevel,similarItemsInGroup,positionInGroup) ) - -#define IAccessible2_get_states(This,states) \ - ( (This)->lpVtbl -> get_states(This,states) ) - -#define IAccessible2_get_extendedRole(This,extendedRole) \ - ( (This)->lpVtbl -> get_extendedRole(This,extendedRole) ) - -#define IAccessible2_get_localizedExtendedRole(This,localizedExtendedRole) \ - ( (This)->lpVtbl -> get_localizedExtendedRole(This,localizedExtendedRole) ) - -#define IAccessible2_get_nExtendedStates(This,nExtendedStates) \ - ( (This)->lpVtbl -> get_nExtendedStates(This,nExtendedStates) ) - -#define IAccessible2_get_extendedStates(This,maxExtendedStates,extendedStates,nExtendedStates) \ - ( (This)->lpVtbl -> get_extendedStates(This,maxExtendedStates,extendedStates,nExtendedStates) ) - -#define IAccessible2_get_localizedExtendedStates(This,maxLocalizedExtendedStates,localizedExtendedStates,nLocalizedExtendedStates) \ - ( (This)->lpVtbl -> get_localizedExtendedStates(This,maxLocalizedExtendedStates,localizedExtendedStates,nLocalizedExtendedStates) ) - -#define IAccessible2_get_uniqueID(This,uniqueID) \ - ( (This)->lpVtbl -> get_uniqueID(This,uniqueID) ) - -#define IAccessible2_get_windowHandle(This,windowHandle) \ - ( (This)->lpVtbl -> get_windowHandle(This,windowHandle) ) - -#define IAccessible2_get_indexInParent(This,indexInParent) \ - ( (This)->lpVtbl -> get_indexInParent(This,indexInParent) ) - -#define IAccessible2_get_locale(This,locale) \ - ( (This)->lpVtbl -> get_locale(This,locale) ) - -#define IAccessible2_get_attributes(This,attributes) \ - ( (This)->lpVtbl -> get_attributes(This,attributes) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IAccessible2_INTERFACE_DEFINED__ */ - - -/* Additional Prototypes for ALL interfaces */ - -unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * ); -unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * ); -unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); -void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * ); - -unsigned long __RPC_USER HWND_UserSize( unsigned long *, unsigned long , HWND * ); -unsigned char * __RPC_USER HWND_UserMarshal( unsigned long *, unsigned char *, HWND * ); -unsigned char * __RPC_USER HWND_UserUnmarshal(unsigned long *, unsigned char *, HWND * ); -void __RPC_USER HWND_UserFree( unsigned long *, HWND * ); - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/src/3rdparty/iaccessible2/generated/x86/Accessible2_i.c b/src/3rdparty/iaccessible2/generated/x86/Accessible2_i.c deleted file mode 100644 index df0f94063e..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/Accessible2_i.c +++ /dev/null @@ -1,79 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */ - -/* link this file in with the server and any clients */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:51 2012 - */ -/* Compiler settings for Accessible2.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -#ifdef __cplusplus -extern "C"{ -#endif - - -#include <rpc.h> -#include <rpcndr.h> - -#ifdef _MIDL_USE_GUIDDEF_ - -#ifndef INITGUID -#define INITGUID -#include <guiddef.h> -#undef INITGUID -#else -#include <guiddef.h> -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) - -#else // !_MIDL_USE_GUIDDEF_ - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - -typedef struct _IID -{ - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; -} IID; - -#endif // __IID_DEFINED__ - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED -typedef IID CLSID; -#endif // CLSID_DEFINED - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} - -#endif !_MIDL_USE_GUIDDEF_ - -MIDL_DEFINE_GUID(IID, IID_IAccessible2,0xE89F726E,0xC4F4,0x4c19,0xBB,0x19,0xB6,0x47,0xD7,0xFA,0x84,0x78); - -#undef MIDL_DEFINE_GUID - -#ifdef __cplusplus -} -#endif - - - diff --git a/src/3rdparty/iaccessible2/generated/x86/Accessible2_p.c b/src/3rdparty/iaccessible2/generated/x86/Accessible2_p.c deleted file mode 100644 index abb5883868..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/Accessible2_p.c +++ /dev/null @@ -1,1190 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the proxy stub code */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:51 2012 - */ -/* Compiler settings for Accessible2.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#if !defined(_M_IA64) && !defined(_M_AMD64) - - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ -#if _MSC_VER >= 1200 -#pragma warning(push) -#endif - -#pragma warning( disable: 4211 ) /* redefine extern to static */ -#pragma warning( disable: 4232 ) /* dllimport identity*/ -#pragma warning( disable: 4024 ) /* array to pointer mapping*/ -#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */ -#pragma warning( disable: 4100 ) /* unreferenced arguments in x86 call */ - -#pragma optimize("", off ) - -#define USE_STUBLESS_PROXY - - -/* verify that the <rpcproxy.h> version is high enough to compile this file*/ -#ifndef __REDQ_RPCPROXY_H_VERSION__ -#define __REQUIRED_RPCPROXY_H_VERSION__ 475 -#endif - - -#include "rpcproxy.h" -#ifndef __RPCPROXY_H_VERSION__ -#error this stub requires an updated version of <rpcproxy.h> -#endif /* __RPCPROXY_H_VERSION__ */ - - -#include "Accessible2.h" - -#define TYPE_FORMAT_STRING_SIZE 189 -#define PROC_FORMAT_STRING_SIZE 715 -#define EXPR_FORMAT_STRING_SIZE 1 -#define TRANSMIT_AS_TABLE_SIZE 0 -#define WIRE_MARSHAL_TABLE_SIZE 2 - -typedef struct _Accessible2_MIDL_TYPE_FORMAT_STRING - { - short Pad; - unsigned char Format[ TYPE_FORMAT_STRING_SIZE ]; - } Accessible2_MIDL_TYPE_FORMAT_STRING; - -typedef struct _Accessible2_MIDL_PROC_FORMAT_STRING - { - short Pad; - unsigned char Format[ PROC_FORMAT_STRING_SIZE ]; - } Accessible2_MIDL_PROC_FORMAT_STRING; - -typedef struct _Accessible2_MIDL_EXPR_FORMAT_STRING - { - long Pad; - unsigned char Format[ EXPR_FORMAT_STRING_SIZE ]; - } Accessible2_MIDL_EXPR_FORMAT_STRING; - - -static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax = -{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}}; - - -extern const Accessible2_MIDL_TYPE_FORMAT_STRING Accessible2__MIDL_TypeFormatString; -extern const Accessible2_MIDL_PROC_FORMAT_STRING Accessible2__MIDL_ProcFormatString; -extern const Accessible2_MIDL_EXPR_FORMAT_STRING Accessible2__MIDL_ExprFormatString; - - -extern const MIDL_STUB_DESC Object_StubDesc; - - -extern const MIDL_SERVER_INFO IAccessible2_ServerInfo; -extern const MIDL_STUBLESS_PROXY_INFO IAccessible2_ProxyInfo; - - -extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ]; - -#if !defined(__RPC_WIN32__) -#error Invalid build platform for this stub. -#endif - -#if !(TARGET_IS_NT50_OR_LATER) -#error You need Windows 2000 or later to run this stub because it uses these features: -#error /robust command line switch. -#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems. -#error This app will fail with the RPC_X_WRONG_STUB_VERSION error. -#endif - - -static const Accessible2_MIDL_PROC_FORMAT_STRING Accessible2__MIDL_ProcFormatString = - { - 0, - { - - /* Procedure get_nRelations */ - - 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 2 */ NdrFcLong( 0x0 ), /* 0 */ -/* 6 */ NdrFcShort( 0x1c ), /* 28 */ -/* 8 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 10 */ NdrFcShort( 0x0 ), /* 0 */ -/* 12 */ NdrFcShort( 0x24 ), /* 36 */ -/* 14 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 16 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 18 */ NdrFcShort( 0x0 ), /* 0 */ -/* 20 */ NdrFcShort( 0x0 ), /* 0 */ -/* 22 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter nRelations */ - -/* 24 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 26 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 28 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 30 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 32 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 34 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_relation */ - -/* 36 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 38 */ NdrFcLong( 0x0 ), /* 0 */ -/* 42 */ NdrFcShort( 0x1d ), /* 29 */ -/* 44 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 46 */ NdrFcShort( 0x8 ), /* 8 */ -/* 48 */ NdrFcShort( 0x8 ), /* 8 */ -/* 50 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x3, /* 3 */ -/* 52 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 54 */ NdrFcShort( 0x0 ), /* 0 */ -/* 56 */ NdrFcShort( 0x0 ), /* 0 */ -/* 58 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter relationIndex */ - -/* 60 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 62 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 64 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter relation */ - -/* 66 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ -/* 68 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 70 */ NdrFcShort( 0x6 ), /* Type Offset=6 */ - - /* Return value */ - -/* 72 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 74 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 76 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_relations */ - -/* 78 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 80 */ NdrFcLong( 0x0 ), /* 0 */ -/* 84 */ NdrFcShort( 0x1e ), /* 30 */ -/* 86 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 88 */ NdrFcShort( 0x8 ), /* 8 */ -/* 90 */ NdrFcShort( 0x24 ), /* 36 */ -/* 92 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x4, /* 4 */ -/* 94 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 96 */ NdrFcShort( 0x1 ), /* 1 */ -/* 98 */ NdrFcShort( 0x0 ), /* 0 */ -/* 100 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter maxRelations */ - -/* 102 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 104 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 106 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter relations */ - -/* 108 */ NdrFcShort( 0x113 ), /* Flags: must size, must free, out, simple ref, */ -/* 110 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 112 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ - - /* Parameter nRelations */ - -/* 114 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 116 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 118 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 120 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 122 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 124 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure role */ - -/* 126 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 128 */ NdrFcLong( 0x0 ), /* 0 */ -/* 132 */ NdrFcShort( 0x1f ), /* 31 */ -/* 134 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 136 */ NdrFcShort( 0x0 ), /* 0 */ -/* 138 */ NdrFcShort( 0x24 ), /* 36 */ -/* 140 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 142 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 144 */ NdrFcShort( 0x0 ), /* 0 */ -/* 146 */ NdrFcShort( 0x0 ), /* 0 */ -/* 148 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter role */ - -/* 150 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 152 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 154 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 156 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 158 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 160 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure scrollTo */ - -/* 162 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 164 */ NdrFcLong( 0x0 ), /* 0 */ -/* 168 */ NdrFcShort( 0x20 ), /* 32 */ -/* 170 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 172 */ NdrFcShort( 0x6 ), /* 6 */ -/* 174 */ NdrFcShort( 0x8 ), /* 8 */ -/* 176 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 178 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 180 */ NdrFcShort( 0x0 ), /* 0 */ -/* 182 */ NdrFcShort( 0x0 ), /* 0 */ -/* 184 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter scrollType */ - -/* 186 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 188 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 190 */ 0xd, /* FC_ENUM16 */ - 0x0, /* 0 */ - - /* Return value */ - -/* 192 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 194 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 196 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure scrollToPoint */ - -/* 198 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 200 */ NdrFcLong( 0x0 ), /* 0 */ -/* 204 */ NdrFcShort( 0x21 ), /* 33 */ -/* 206 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 208 */ NdrFcShort( 0x16 ), /* 22 */ -/* 210 */ NdrFcShort( 0x8 ), /* 8 */ -/* 212 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x4, /* 4 */ -/* 214 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 216 */ NdrFcShort( 0x0 ), /* 0 */ -/* 218 */ NdrFcShort( 0x0 ), /* 0 */ -/* 220 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter coordinateType */ - -/* 222 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 224 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 226 */ 0xd, /* FC_ENUM16 */ - 0x0, /* 0 */ - - /* Parameter x */ - -/* 228 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 230 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 232 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter y */ - -/* 234 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 236 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 238 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 240 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 242 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 244 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_groupPosition */ - -/* 246 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 248 */ NdrFcLong( 0x0 ), /* 0 */ -/* 252 */ NdrFcShort( 0x22 ), /* 34 */ -/* 254 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 256 */ NdrFcShort( 0x0 ), /* 0 */ -/* 258 */ NdrFcShort( 0x5c ), /* 92 */ -/* 260 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x4, /* 4 */ -/* 262 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 264 */ NdrFcShort( 0x0 ), /* 0 */ -/* 266 */ NdrFcShort( 0x0 ), /* 0 */ -/* 268 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter groupLevel */ - -/* 270 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 272 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 274 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter similarItemsInGroup */ - -/* 276 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 278 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 280 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter positionInGroup */ - -/* 282 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 284 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 286 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 288 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 290 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 292 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_states */ - -/* 294 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 296 */ NdrFcLong( 0x0 ), /* 0 */ -/* 300 */ NdrFcShort( 0x23 ), /* 35 */ -/* 302 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 304 */ NdrFcShort( 0x0 ), /* 0 */ -/* 306 */ NdrFcShort( 0x24 ), /* 36 */ -/* 308 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 310 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 312 */ NdrFcShort( 0x0 ), /* 0 */ -/* 314 */ NdrFcShort( 0x0 ), /* 0 */ -/* 316 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter states */ - -/* 318 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 320 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 322 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 324 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 326 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 328 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_extendedRole */ - -/* 330 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 332 */ NdrFcLong( 0x0 ), /* 0 */ -/* 336 */ NdrFcShort( 0x24 ), /* 36 */ -/* 338 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 340 */ NdrFcShort( 0x0 ), /* 0 */ -/* 342 */ NdrFcShort( 0x8 ), /* 8 */ -/* 344 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 346 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 348 */ NdrFcShort( 0x1 ), /* 1 */ -/* 350 */ NdrFcShort( 0x0 ), /* 0 */ -/* 352 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter extendedRole */ - -/* 354 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 356 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 358 */ NdrFcShort( 0x54 ), /* Type Offset=84 */ - - /* Return value */ - -/* 360 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 362 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 364 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_localizedExtendedRole */ - -/* 366 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 368 */ NdrFcLong( 0x0 ), /* 0 */ -/* 372 */ NdrFcShort( 0x25 ), /* 37 */ -/* 374 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 376 */ NdrFcShort( 0x0 ), /* 0 */ -/* 378 */ NdrFcShort( 0x8 ), /* 8 */ -/* 380 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 382 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 384 */ NdrFcShort( 0x1 ), /* 1 */ -/* 386 */ NdrFcShort( 0x0 ), /* 0 */ -/* 388 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter localizedExtendedRole */ - -/* 390 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 392 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 394 */ NdrFcShort( 0x54 ), /* Type Offset=84 */ - - /* Return value */ - -/* 396 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 398 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 400 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_nExtendedStates */ - -/* 402 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 404 */ NdrFcLong( 0x0 ), /* 0 */ -/* 408 */ NdrFcShort( 0x26 ), /* 38 */ -/* 410 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 412 */ NdrFcShort( 0x0 ), /* 0 */ -/* 414 */ NdrFcShort( 0x24 ), /* 36 */ -/* 416 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 418 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 420 */ NdrFcShort( 0x0 ), /* 0 */ -/* 422 */ NdrFcShort( 0x0 ), /* 0 */ -/* 424 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter nExtendedStates */ - -/* 426 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 428 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 430 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 432 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 434 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 436 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_extendedStates */ - -/* 438 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 440 */ NdrFcLong( 0x0 ), /* 0 */ -/* 444 */ NdrFcShort( 0x27 ), /* 39 */ -/* 446 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 448 */ NdrFcShort( 0x8 ), /* 8 */ -/* 450 */ NdrFcShort( 0x24 ), /* 36 */ -/* 452 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x4, /* 4 */ -/* 454 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 456 */ NdrFcShort( 0x1 ), /* 1 */ -/* 458 */ NdrFcShort( 0x0 ), /* 0 */ -/* 460 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter maxExtendedStates */ - -/* 462 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 464 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 466 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter extendedStates */ - -/* 468 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ -/* 470 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 472 */ NdrFcShort( 0x5e ), /* Type Offset=94 */ - - /* Parameter nExtendedStates */ - -/* 474 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 476 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 478 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 480 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 482 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 484 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_localizedExtendedStates */ - -/* 486 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 488 */ NdrFcLong( 0x0 ), /* 0 */ -/* 492 */ NdrFcShort( 0x28 ), /* 40 */ -/* 494 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 496 */ NdrFcShort( 0x8 ), /* 8 */ -/* 498 */ NdrFcShort( 0x24 ), /* 36 */ -/* 500 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x4, /* 4 */ -/* 502 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 504 */ NdrFcShort( 0x1 ), /* 1 */ -/* 506 */ NdrFcShort( 0x0 ), /* 0 */ -/* 508 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter maxLocalizedExtendedStates */ - -/* 510 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 512 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 514 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter localizedExtendedStates */ - -/* 516 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ -/* 518 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 520 */ NdrFcShort( 0x5e ), /* Type Offset=94 */ - - /* Parameter nLocalizedExtendedStates */ - -/* 522 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 524 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 526 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 528 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 530 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 532 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_uniqueID */ - -/* 534 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 536 */ NdrFcLong( 0x0 ), /* 0 */ -/* 540 */ NdrFcShort( 0x29 ), /* 41 */ -/* 542 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 544 */ NdrFcShort( 0x0 ), /* 0 */ -/* 546 */ NdrFcShort( 0x24 ), /* 36 */ -/* 548 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 550 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 552 */ NdrFcShort( 0x0 ), /* 0 */ -/* 554 */ NdrFcShort( 0x0 ), /* 0 */ -/* 556 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter uniqueID */ - -/* 558 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 560 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 562 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 564 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 566 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 568 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_windowHandle */ - -/* 570 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 572 */ NdrFcLong( 0x0 ), /* 0 */ -/* 576 */ NdrFcShort( 0x2a ), /* 42 */ -/* 578 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 580 */ NdrFcShort( 0x0 ), /* 0 */ -/* 582 */ NdrFcShort( 0x8 ), /* 8 */ -/* 584 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 586 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 588 */ NdrFcShort( 0x1 ), /* 1 */ -/* 590 */ NdrFcShort( 0x0 ), /* 0 */ -/* 592 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter windowHandle */ - -/* 594 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 596 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 598 */ NdrFcShort( 0x98 ), /* Type Offset=152 */ - - /* Return value */ - -/* 600 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 602 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 604 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_indexInParent */ - -/* 606 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 608 */ NdrFcLong( 0x0 ), /* 0 */ -/* 612 */ NdrFcShort( 0x2b ), /* 43 */ -/* 614 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 616 */ NdrFcShort( 0x0 ), /* 0 */ -/* 618 */ NdrFcShort( 0x24 ), /* 36 */ -/* 620 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 622 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 624 */ NdrFcShort( 0x0 ), /* 0 */ -/* 626 */ NdrFcShort( 0x0 ), /* 0 */ -/* 628 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter indexInParent */ - -/* 630 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 632 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 634 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 636 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 638 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 640 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_locale */ - -/* 642 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 644 */ NdrFcLong( 0x0 ), /* 0 */ -/* 648 */ NdrFcShort( 0x2c ), /* 44 */ -/* 650 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 652 */ NdrFcShort( 0x0 ), /* 0 */ -/* 654 */ NdrFcShort( 0x8 ), /* 8 */ -/* 656 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 658 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 660 */ NdrFcShort( 0x1 ), /* 1 */ -/* 662 */ NdrFcShort( 0x0 ), /* 0 */ -/* 664 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter locale */ - -/* 666 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ -/* 668 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 670 */ NdrFcShort( 0xa6 ), /* Type Offset=166 */ - - /* Return value */ - -/* 672 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 674 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 676 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_attributes */ - -/* 678 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 680 */ NdrFcLong( 0x0 ), /* 0 */ -/* 684 */ NdrFcShort( 0x2d ), /* 45 */ -/* 686 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 688 */ NdrFcShort( 0x0 ), /* 0 */ -/* 690 */ NdrFcShort( 0x8 ), /* 8 */ -/* 692 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 694 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 696 */ NdrFcShort( 0x1 ), /* 1 */ -/* 698 */ NdrFcShort( 0x0 ), /* 0 */ -/* 700 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter attributes */ - -/* 702 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 704 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 706 */ NdrFcShort( 0x54 ), /* Type Offset=84 */ - - /* Return value */ - -/* 708 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 710 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 712 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - 0x0 - } - }; - -static const Accessible2_MIDL_TYPE_FORMAT_STRING Accessible2__MIDL_TypeFormatString = - { - 0, - { - NdrFcShort( 0x0 ), /* 0 */ -/* 2 */ - 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */ -/* 4 */ 0x8, /* FC_LONG */ - 0x5c, /* FC_PAD */ -/* 6 */ - 0x11, 0x10, /* FC_RP [pointer_deref] */ -/* 8 */ NdrFcShort( 0x2 ), /* Offset= 2 (10) */ -/* 10 */ - 0x2f, /* FC_IP */ - 0x5a, /* FC_CONSTANT_IID */ -/* 12 */ NdrFcLong( 0x7cdf86ee ), /* 2095023854 */ -/* 16 */ NdrFcShort( 0xc3da ), /* -15398 */ -/* 18 */ NdrFcShort( 0x496a ), /* 18794 */ -/* 20 */ 0xbd, /* 189 */ - 0xa4, /* 164 */ -/* 22 */ 0x28, /* 40 */ - 0x1b, /* 27 */ -/* 24 */ 0x33, /* 51 */ - 0x6e, /* 110 */ -/* 26 */ 0x1f, /* 31 */ - 0xdc, /* 220 */ -/* 28 */ - 0x11, 0x0, /* FC_RP */ -/* 30 */ NdrFcShort( 0x2 ), /* Offset= 2 (32) */ -/* 32 */ - 0x21, /* FC_BOGUS_ARRAY */ - 0x3, /* 3 */ -/* 34 */ NdrFcShort( 0x0 ), /* 0 */ -/* 36 */ 0x28, /* Corr desc: parameter, FC_LONG */ - 0x0, /* */ -/* 38 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 40 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 42 */ 0x28, /* Corr desc: parameter, FC_LONG */ - 0x54, /* FC_DEREFERENCE */ -/* 44 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 46 */ NdrFcShort( 0x0 ), /* Corr flags: */ -/* 48 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 50 */ NdrFcShort( 0xffd8 ), /* Offset= -40 (10) */ -/* 52 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 54 */ - 0x11, 0x4, /* FC_RP [alloced_on_stack] */ -/* 56 */ NdrFcShort( 0x1c ), /* Offset= 28 (84) */ -/* 58 */ - 0x13, 0x0, /* FC_OP */ -/* 60 */ NdrFcShort( 0xe ), /* Offset= 14 (74) */ -/* 62 */ - 0x1b, /* FC_CARRAY */ - 0x1, /* 1 */ -/* 64 */ NdrFcShort( 0x2 ), /* 2 */ -/* 66 */ 0x9, /* Corr desc: FC_ULONG */ - 0x0, /* */ -/* 68 */ NdrFcShort( 0xfffc ), /* -4 */ -/* 70 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 72 */ 0x6, /* FC_SHORT */ - 0x5b, /* FC_END */ -/* 74 */ - 0x17, /* FC_CSTRUCT */ - 0x3, /* 3 */ -/* 76 */ NdrFcShort( 0x8 ), /* 8 */ -/* 78 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (62) */ -/* 80 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 82 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 84 */ 0xb4, /* FC_USER_MARSHAL */ - 0x83, /* 131 */ -/* 86 */ NdrFcShort( 0x0 ), /* 0 */ -/* 88 */ NdrFcShort( 0x4 ), /* 4 */ -/* 90 */ NdrFcShort( 0x0 ), /* 0 */ -/* 92 */ NdrFcShort( 0xffde ), /* Offset= -34 (58) */ -/* 94 */ - 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */ -/* 96 */ NdrFcShort( 0x2 ), /* Offset= 2 (98) */ -/* 98 */ - 0x13, 0x0, /* FC_OP */ -/* 100 */ NdrFcShort( 0x2 ), /* Offset= 2 (102) */ -/* 102 */ - 0x21, /* FC_BOGUS_ARRAY */ - 0x3, /* 3 */ -/* 104 */ NdrFcShort( 0x0 ), /* 0 */ -/* 106 */ 0x28, /* Corr desc: parameter, FC_LONG */ - 0x0, /* */ -/* 108 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 110 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 112 */ 0x28, /* Corr desc: parameter, FC_LONG */ - 0x54, /* FC_DEREFERENCE */ -/* 114 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 116 */ NdrFcShort( 0x0 ), /* Corr flags: */ -/* 118 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 120 */ NdrFcShort( 0xffdc ), /* Offset= -36 (84) */ -/* 122 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 124 */ - 0x11, 0x4, /* FC_RP [alloced_on_stack] */ -/* 126 */ NdrFcShort( 0x1a ), /* Offset= 26 (152) */ -/* 128 */ - 0x13, 0x0, /* FC_OP */ -/* 130 */ NdrFcShort( 0x2 ), /* Offset= 2 (132) */ -/* 132 */ - 0x2a, /* FC_ENCAPSULATED_UNION */ - 0x48, /* 72 */ -/* 134 */ NdrFcShort( 0x4 ), /* 4 */ -/* 136 */ NdrFcShort( 0x2 ), /* 2 */ -/* 138 */ NdrFcLong( 0x48746457 ), /* 1215587415 */ -/* 142 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ -/* 144 */ NdrFcLong( 0x52746457 ), /* 1383359575 */ -/* 148 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ -/* 150 */ NdrFcShort( 0xffff ), /* Offset= -1 (149) */ -/* 152 */ 0xb4, /* FC_USER_MARSHAL */ - 0x83, /* 131 */ -/* 154 */ NdrFcShort( 0x1 ), /* 1 */ -/* 156 */ NdrFcShort( 0x4 ), /* 4 */ -/* 158 */ NdrFcShort( 0x0 ), /* 0 */ -/* 160 */ NdrFcShort( 0xffe0 ), /* Offset= -32 (128) */ -/* 162 */ - 0x11, 0x4, /* FC_RP [alloced_on_stack] */ -/* 164 */ NdrFcShort( 0x2 ), /* Offset= 2 (166) */ -/* 166 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 168 */ NdrFcShort( 0xc ), /* 12 */ -/* 170 */ NdrFcShort( 0x0 ), /* 0 */ -/* 172 */ NdrFcShort( 0x0 ), /* Offset= 0 (172) */ -/* 174 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 176 */ NdrFcShort( 0xffa4 ), /* Offset= -92 (84) */ -/* 178 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 180 */ NdrFcShort( 0xffa0 ), /* Offset= -96 (84) */ -/* 182 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 184 */ NdrFcShort( 0xff9c ), /* Offset= -100 (84) */ -/* 186 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ - - 0x0 - } - }; - -static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] = - { - - { - BSTR_UserSize - ,BSTR_UserMarshal - ,BSTR_UserUnmarshal - ,BSTR_UserFree - }, - { - HWND_UserSize - ,HWND_UserMarshal - ,HWND_UserUnmarshal - ,HWND_UserFree - } - - }; - - - -/* Standard interface: __MIDL_itf_Accessible2_0000_0000, ver. 0.0, - GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */ - - -/* Object interface: IUnknown, ver. 0.0, - GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */ - - -/* Object interface: IDispatch, ver. 0.0, - GUID={0x00020400,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */ - - -/* Object interface: IAccessible, ver. 0.0, - GUID={0x618736e0,0x3c3d,0x11cf,{0x81,0x0c,0x00,0xaa,0x00,0x38,0x9b,0x71}} */ - - -/* Object interface: IAccessible2, ver. 0.0, - GUID={0xE89F726E,0xC4F4,0x4c19,{0xBB,0x19,0xB6,0x47,0xD7,0xFA,0x84,0x78}} */ - -#pragma code_seg(".orpc") -static const unsigned short IAccessible2_FormatStringOffsetTable[] = - { - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - 0, - 36, - 78, - 126, - 162, - 198, - 246, - 294, - 330, - 366, - 402, - 438, - 486, - 534, - 570, - 606, - 642, - 678 - }; - -static const MIDL_STUBLESS_PROXY_INFO IAccessible2_ProxyInfo = - { - &Object_StubDesc, - Accessible2__MIDL_ProcFormatString.Format, - &IAccessible2_FormatStringOffsetTable[-3], - 0, - 0, - 0 - }; - - -static const MIDL_SERVER_INFO IAccessible2_ServerInfo = - { - &Object_StubDesc, - 0, - Accessible2__MIDL_ProcFormatString.Format, - &IAccessible2_FormatStringOffsetTable[-3], - 0, - 0, - 0, - 0}; -CINTERFACE_PROXY_VTABLE(46) _IAccessible2ProxyVtbl = -{ - &IAccessible2_ProxyInfo, - &IID_IAccessible2, - IUnknown_QueryInterface_Proxy, - IUnknown_AddRef_Proxy, - IUnknown_Release_Proxy , - 0 /* IDispatch::GetTypeInfoCount */ , - 0 /* IDispatch::GetTypeInfo */ , - 0 /* IDispatch::GetIDsOfNames */ , - 0 /* IDispatch_Invoke_Proxy */ , - 0 /* IAccessible::get_accParent */ , - 0 /* IAccessible::get_accChildCount */ , - 0 /* IAccessible::get_accChild */ , - 0 /* IAccessible::get_accName */ , - 0 /* IAccessible::get_accValue */ , - 0 /* IAccessible::get_accDescription */ , - 0 /* IAccessible::get_accRole */ , - 0 /* IAccessible::get_accState */ , - 0 /* IAccessible::get_accHelp */ , - 0 /* IAccessible::get_accHelpTopic */ , - 0 /* IAccessible::get_accKeyboardShortcut */ , - 0 /* IAccessible::get_accFocus */ , - 0 /* IAccessible::get_accSelection */ , - 0 /* IAccessible::get_accDefaultAction */ , - 0 /* IAccessible::accSelect */ , - 0 /* IAccessible::accLocation */ , - 0 /* IAccessible::accNavigate */ , - 0 /* IAccessible::accHitTest */ , - 0 /* IAccessible::accDoDefaultAction */ , - 0 /* IAccessible::put_accName */ , - 0 /* IAccessible::put_accValue */ , - (void *) (INT_PTR) -1 /* IAccessible2::get_nRelations */ , - (void *) (INT_PTR) -1 /* IAccessible2::get_relation */ , - (void *) (INT_PTR) -1 /* IAccessible2::get_relations */ , - (void *) (INT_PTR) -1 /* IAccessible2::role */ , - (void *) (INT_PTR) -1 /* IAccessible2::scrollTo */ , - (void *) (INT_PTR) -1 /* IAccessible2::scrollToPoint */ , - (void *) (INT_PTR) -1 /* IAccessible2::get_groupPosition */ , - (void *) (INT_PTR) -1 /* IAccessible2::get_states */ , - (void *) (INT_PTR) -1 /* IAccessible2::get_extendedRole */ , - (void *) (INT_PTR) -1 /* IAccessible2::get_localizedExtendedRole */ , - (void *) (INT_PTR) -1 /* IAccessible2::get_nExtendedStates */ , - (void *) (INT_PTR) -1 /* IAccessible2::get_extendedStates */ , - (void *) (INT_PTR) -1 /* IAccessible2::get_localizedExtendedStates */ , - (void *) (INT_PTR) -1 /* IAccessible2::get_uniqueID */ , - (void *) (INT_PTR) -1 /* IAccessible2::get_windowHandle */ , - (void *) (INT_PTR) -1 /* IAccessible2::get_indexInParent */ , - (void *) (INT_PTR) -1 /* IAccessible2::get_locale */ , - (void *) (INT_PTR) -1 /* IAccessible2::get_attributes */ -}; - - -static const PRPC_STUB_FUNCTION IAccessible2_table[] = -{ - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2 -}; - -CInterfaceStubVtbl _IAccessible2StubVtbl = -{ - &IID_IAccessible2, - &IAccessible2_ServerInfo, - 46, - &IAccessible2_table[-3], - CStdStubBuffer_DELEGATING_METHODS -}; - -static const MIDL_STUB_DESC Object_StubDesc = - { - 0, - NdrOleAllocate, - NdrOleFree, - 0, - 0, - 0, - 0, - 0, - Accessible2__MIDL_TypeFormatString.Format, - 1, /* -error bounds_check flag */ - 0x50002, /* Ndr library version */ - 0, - 0x700022b, /* MIDL Version 7.0.555 */ - 0, - UserMarshalRoutines, - 0, /* notify & notify_flag routine table */ - 0x1, /* MIDL flag */ - 0, /* cs routines */ - 0, /* proxy/server info */ - 0 - }; - -const CInterfaceProxyVtbl * const _Accessible2_ProxyVtblList[] = -{ - ( CInterfaceProxyVtbl *) &_IAccessible2ProxyVtbl, - 0 -}; - -const CInterfaceStubVtbl * const _Accessible2_StubVtblList[] = -{ - ( CInterfaceStubVtbl *) &_IAccessible2StubVtbl, - 0 -}; - -PCInterfaceName const _Accessible2_InterfaceNamesList[] = -{ - "IAccessible2", - 0 -}; - -const IID * const _Accessible2_BaseIIDList[] = -{ - &IID_IAccessible, - 0 -}; - - -#define _Accessible2_CHECK_IID(n) IID_GENERIC_CHECK_IID( _Accessible2, pIID, n) - -int __stdcall _Accessible2_IID_Lookup( const IID * pIID, int * pIndex ) -{ - - if(!_Accessible2_CHECK_IID(0)) - { - *pIndex = 0; - return 1; - } - - return 0; -} - -const ExtendedProxyFileInfo Accessible2_ProxyFileInfo = -{ - (PCInterfaceProxyVtblList *) & _Accessible2_ProxyVtblList, - (PCInterfaceStubVtblList *) & _Accessible2_StubVtblList, - (const PCInterfaceName * ) & _Accessible2_InterfaceNamesList, - (const IID ** ) & _Accessible2_BaseIIDList, - & _Accessible2_IID_Lookup, - 1, - 2, - 0, /* table of [async_uuid] interfaces */ - 0, /* Filler1 */ - 0, /* Filler2 */ - 0 /* Filler3 */ -}; -#pragma optimize("", on ) -#if _MSC_VER >= 1200 -#pragma warning(pop) -#endif - - -#endif /* !defined(_M_IA64) && !defined(_M_AMD64)*/ - diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleAction.h b/src/3rdparty/iaccessible2/generated/x86/AccessibleAction.h deleted file mode 100644 index c1ebabb899..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/AccessibleAction.h +++ /dev/null @@ -1,220 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:51 2012 - */ -/* Compiler settings for AccessibleAction.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the <rpcndr.h> version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of <rpcndr.h> -#endif // __RPCNDR_H_VERSION__ - -#ifndef COM_NO_WINDOWS_H -#include "windows.h" -#include "ole2.h" -#endif /*COM_NO_WINDOWS_H*/ - -#ifndef __AccessibleAction_h__ -#define __AccessibleAction_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -#ifndef __IAccessibleAction_FWD_DEFINED__ -#define __IAccessibleAction_FWD_DEFINED__ -typedef interface IAccessibleAction IAccessibleAction; -#endif /* __IAccessibleAction_FWD_DEFINED__ */ - - -/* header files for imported files */ -#include "objidl.h" -#include "oaidl.h" -#include "oleacc.h" - -#ifdef __cplusplus -extern "C"{ -#endif - - -#ifndef __IAccessibleAction_INTERFACE_DEFINED__ -#define __IAccessibleAction_INTERFACE_DEFINED__ - -/* interface IAccessibleAction */ -/* [uuid][object] */ - - -EXTERN_C const IID IID_IAccessibleAction; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("B70D9F59-3B5A-4dba-AB9E-22012F607DF5") - IAccessibleAction : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE nActions( - /* [retval][out] */ long *nActions) = 0; - - virtual HRESULT STDMETHODCALLTYPE doAction( - /* [in] */ long actionIndex) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_description( - /* [in] */ long actionIndex, - /* [retval][out] */ BSTR *description) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_keyBinding( - /* [in] */ long actionIndex, - /* [in] */ long nMaxBindings, - /* [length_is][length_is][size_is][size_is][out] */ BSTR **keyBindings, - /* [retval][out] */ long *nBindings) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_name( - /* [in] */ long actionIndex, - /* [retval][out] */ BSTR *name) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_localizedName( - /* [in] */ long actionIndex, - /* [retval][out] */ BSTR *localizedName) = 0; - - }; - -#else /* C style interface */ - - typedef struct IAccessibleActionVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IAccessibleAction * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IAccessibleAction * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IAccessibleAction * This); - - HRESULT ( STDMETHODCALLTYPE *nActions )( - IAccessibleAction * This, - /* [retval][out] */ long *nActions); - - HRESULT ( STDMETHODCALLTYPE *doAction )( - IAccessibleAction * This, - /* [in] */ long actionIndex); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_description )( - IAccessibleAction * This, - /* [in] */ long actionIndex, - /* [retval][out] */ BSTR *description); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_keyBinding )( - IAccessibleAction * This, - /* [in] */ long actionIndex, - /* [in] */ long nMaxBindings, - /* [length_is][length_is][size_is][size_is][out] */ BSTR **keyBindings, - /* [retval][out] */ long *nBindings); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( - IAccessibleAction * This, - /* [in] */ long actionIndex, - /* [retval][out] */ BSTR *name); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedName )( - IAccessibleAction * This, - /* [in] */ long actionIndex, - /* [retval][out] */ BSTR *localizedName); - - END_INTERFACE - } IAccessibleActionVtbl; - - interface IAccessibleAction - { - CONST_VTBL struct IAccessibleActionVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IAccessibleAction_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IAccessibleAction_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IAccessibleAction_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IAccessibleAction_nActions(This,nActions) \ - ( (This)->lpVtbl -> nActions(This,nActions) ) - -#define IAccessibleAction_doAction(This,actionIndex) \ - ( (This)->lpVtbl -> doAction(This,actionIndex) ) - -#define IAccessibleAction_get_description(This,actionIndex,description) \ - ( (This)->lpVtbl -> get_description(This,actionIndex,description) ) - -#define IAccessibleAction_get_keyBinding(This,actionIndex,nMaxBindings,keyBindings,nBindings) \ - ( (This)->lpVtbl -> get_keyBinding(This,actionIndex,nMaxBindings,keyBindings,nBindings) ) - -#define IAccessibleAction_get_name(This,actionIndex,name) \ - ( (This)->lpVtbl -> get_name(This,actionIndex,name) ) - -#define IAccessibleAction_get_localizedName(This,actionIndex,localizedName) \ - ( (This)->lpVtbl -> get_localizedName(This,actionIndex,localizedName) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IAccessibleAction_INTERFACE_DEFINED__ */ - - -/* Additional Prototypes for ALL interfaces */ - -unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * ); -unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * ); -unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); -void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * ); - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleAction_i.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleAction_i.c deleted file mode 100644 index ea097ef5d6..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/AccessibleAction_i.c +++ /dev/null @@ -1,79 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */ - -/* link this file in with the server and any clients */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:51 2012 - */ -/* Compiler settings for AccessibleAction.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -#ifdef __cplusplus -extern "C"{ -#endif - - -#include <rpc.h> -#include <rpcndr.h> - -#ifdef _MIDL_USE_GUIDDEF_ - -#ifndef INITGUID -#define INITGUID -#include <guiddef.h> -#undef INITGUID -#else -#include <guiddef.h> -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) - -#else // !_MIDL_USE_GUIDDEF_ - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - -typedef struct _IID -{ - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; -} IID; - -#endif // __IID_DEFINED__ - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED -typedef IID CLSID; -#endif // CLSID_DEFINED - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} - -#endif !_MIDL_USE_GUIDDEF_ - -MIDL_DEFINE_GUID(IID, IID_IAccessibleAction,0xB70D9F59,0x3B5A,0x4dba,0xAB,0x9E,0x22,0x01,0x2F,0x60,0x7D,0xF5); - -#undef MIDL_DEFINE_GUID - -#ifdef __cplusplus -} -#endif - - - diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleAction_p.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleAction_p.c deleted file mode 100644 index 41854575bd..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/AccessibleAction_p.c +++ /dev/null @@ -1,563 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the proxy stub code */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:51 2012 - */ -/* Compiler settings for AccessibleAction.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#if !defined(_M_IA64) && !defined(_M_AMD64) - - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ -#if _MSC_VER >= 1200 -#pragma warning(push) -#endif - -#pragma warning( disable: 4211 ) /* redefine extern to static */ -#pragma warning( disable: 4232 ) /* dllimport identity*/ -#pragma warning( disable: 4024 ) /* array to pointer mapping*/ -#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */ -#pragma warning( disable: 4100 ) /* unreferenced arguments in x86 call */ - -#pragma optimize("", off ) - -#define USE_STUBLESS_PROXY - - -/* verify that the <rpcproxy.h> version is high enough to compile this file*/ -#ifndef __REDQ_RPCPROXY_H_VERSION__ -#define __REQUIRED_RPCPROXY_H_VERSION__ 475 -#endif - - -#include "rpcproxy.h" -#ifndef __RPCPROXY_H_VERSION__ -#error this stub requires an updated version of <rpcproxy.h> -#endif /* __RPCPROXY_H_VERSION__ */ - - -#include "AccessibleAction.h" - -#define TYPE_FORMAT_STRING_SIZE 77 -#define PROC_FORMAT_STRING_SIZE 253 -#define EXPR_FORMAT_STRING_SIZE 1 -#define TRANSMIT_AS_TABLE_SIZE 0 -#define WIRE_MARSHAL_TABLE_SIZE 1 - -typedef struct _AccessibleAction_MIDL_TYPE_FORMAT_STRING - { - short Pad; - unsigned char Format[ TYPE_FORMAT_STRING_SIZE ]; - } AccessibleAction_MIDL_TYPE_FORMAT_STRING; - -typedef struct _AccessibleAction_MIDL_PROC_FORMAT_STRING - { - short Pad; - unsigned char Format[ PROC_FORMAT_STRING_SIZE ]; - } AccessibleAction_MIDL_PROC_FORMAT_STRING; - -typedef struct _AccessibleAction_MIDL_EXPR_FORMAT_STRING - { - long Pad; - unsigned char Format[ EXPR_FORMAT_STRING_SIZE ]; - } AccessibleAction_MIDL_EXPR_FORMAT_STRING; - - -static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax = -{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}}; - - -extern const AccessibleAction_MIDL_TYPE_FORMAT_STRING AccessibleAction__MIDL_TypeFormatString; -extern const AccessibleAction_MIDL_PROC_FORMAT_STRING AccessibleAction__MIDL_ProcFormatString; -extern const AccessibleAction_MIDL_EXPR_FORMAT_STRING AccessibleAction__MIDL_ExprFormatString; - - -extern const MIDL_STUB_DESC Object_StubDesc; - - -extern const MIDL_SERVER_INFO IAccessibleAction_ServerInfo; -extern const MIDL_STUBLESS_PROXY_INFO IAccessibleAction_ProxyInfo; - - -extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ]; - -#if !defined(__RPC_WIN32__) -#error Invalid build platform for this stub. -#endif - -#if !(TARGET_IS_NT50_OR_LATER) -#error You need Windows 2000 or later to run this stub because it uses these features: -#error /robust command line switch. -#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems. -#error This app will fail with the RPC_X_WRONG_STUB_VERSION error. -#endif - - -static const AccessibleAction_MIDL_PROC_FORMAT_STRING AccessibleAction__MIDL_ProcFormatString = - { - 0, - { - - /* Procedure nActions */ - - 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 2 */ NdrFcLong( 0x0 ), /* 0 */ -/* 6 */ NdrFcShort( 0x3 ), /* 3 */ -/* 8 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 10 */ NdrFcShort( 0x0 ), /* 0 */ -/* 12 */ NdrFcShort( 0x24 ), /* 36 */ -/* 14 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 16 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 18 */ NdrFcShort( 0x0 ), /* 0 */ -/* 20 */ NdrFcShort( 0x0 ), /* 0 */ -/* 22 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter nActions */ - -/* 24 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 26 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 28 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 30 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 32 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 34 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure doAction */ - -/* 36 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 38 */ NdrFcLong( 0x0 ), /* 0 */ -/* 42 */ NdrFcShort( 0x4 ), /* 4 */ -/* 44 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 46 */ NdrFcShort( 0x8 ), /* 8 */ -/* 48 */ NdrFcShort( 0x8 ), /* 8 */ -/* 50 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 52 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 54 */ NdrFcShort( 0x0 ), /* 0 */ -/* 56 */ NdrFcShort( 0x0 ), /* 0 */ -/* 58 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter actionIndex */ - -/* 60 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 62 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 64 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 66 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 68 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 70 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_description */ - -/* 72 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 74 */ NdrFcLong( 0x0 ), /* 0 */ -/* 78 */ NdrFcShort( 0x5 ), /* 5 */ -/* 80 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 82 */ NdrFcShort( 0x8 ), /* 8 */ -/* 84 */ NdrFcShort( 0x8 ), /* 8 */ -/* 86 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x3, /* 3 */ -/* 88 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 90 */ NdrFcShort( 0x1 ), /* 1 */ -/* 92 */ NdrFcShort( 0x0 ), /* 0 */ -/* 94 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter actionIndex */ - -/* 96 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 98 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 100 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter description */ - -/* 102 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 104 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 106 */ NdrFcShort( 0x24 ), /* Type Offset=36 */ - - /* Return value */ - -/* 108 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 110 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 112 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_keyBinding */ - -/* 114 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 116 */ NdrFcLong( 0x0 ), /* 0 */ -/* 120 */ NdrFcShort( 0x6 ), /* 6 */ -/* 122 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ -/* 124 */ NdrFcShort( 0x10 ), /* 16 */ -/* 126 */ NdrFcShort( 0x24 ), /* 36 */ -/* 128 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x5, /* 5 */ -/* 130 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 132 */ NdrFcShort( 0x1 ), /* 1 */ -/* 134 */ NdrFcShort( 0x0 ), /* 0 */ -/* 136 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter actionIndex */ - -/* 138 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 140 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 142 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter nMaxBindings */ - -/* 144 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 146 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 148 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter keyBindings */ - -/* 150 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ -/* 152 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 154 */ NdrFcShort( 0x2e ), /* Type Offset=46 */ - - /* Parameter nBindings */ - -/* 156 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 158 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 160 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 162 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 164 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 166 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_name */ - -/* 168 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 170 */ NdrFcLong( 0x0 ), /* 0 */ -/* 174 */ NdrFcShort( 0x7 ), /* 7 */ -/* 176 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 178 */ NdrFcShort( 0x8 ), /* 8 */ -/* 180 */ NdrFcShort( 0x8 ), /* 8 */ -/* 182 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x3, /* 3 */ -/* 184 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 186 */ NdrFcShort( 0x1 ), /* 1 */ -/* 188 */ NdrFcShort( 0x0 ), /* 0 */ -/* 190 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter actionIndex */ - -/* 192 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 194 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 196 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter name */ - -/* 198 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 200 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 202 */ NdrFcShort( 0x24 ), /* Type Offset=36 */ - - /* Return value */ - -/* 204 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 206 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 208 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_localizedName */ - -/* 210 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 212 */ NdrFcLong( 0x0 ), /* 0 */ -/* 216 */ NdrFcShort( 0x8 ), /* 8 */ -/* 218 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 220 */ NdrFcShort( 0x8 ), /* 8 */ -/* 222 */ NdrFcShort( 0x8 ), /* 8 */ -/* 224 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x3, /* 3 */ -/* 226 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 228 */ NdrFcShort( 0x1 ), /* 1 */ -/* 230 */ NdrFcShort( 0x0 ), /* 0 */ -/* 232 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter actionIndex */ - -/* 234 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 236 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 238 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter localizedName */ - -/* 240 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 242 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 244 */ NdrFcShort( 0x24 ), /* Type Offset=36 */ - - /* Return value */ - -/* 246 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 248 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 250 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - 0x0 - } - }; - -static const AccessibleAction_MIDL_TYPE_FORMAT_STRING AccessibleAction__MIDL_TypeFormatString = - { - 0, - { - NdrFcShort( 0x0 ), /* 0 */ -/* 2 */ - 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */ -/* 4 */ 0x8, /* FC_LONG */ - 0x5c, /* FC_PAD */ -/* 6 */ - 0x11, 0x4, /* FC_RP [alloced_on_stack] */ -/* 8 */ NdrFcShort( 0x1c ), /* Offset= 28 (36) */ -/* 10 */ - 0x13, 0x0, /* FC_OP */ -/* 12 */ NdrFcShort( 0xe ), /* Offset= 14 (26) */ -/* 14 */ - 0x1b, /* FC_CARRAY */ - 0x1, /* 1 */ -/* 16 */ NdrFcShort( 0x2 ), /* 2 */ -/* 18 */ 0x9, /* Corr desc: FC_ULONG */ - 0x0, /* */ -/* 20 */ NdrFcShort( 0xfffc ), /* -4 */ -/* 22 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 24 */ 0x6, /* FC_SHORT */ - 0x5b, /* FC_END */ -/* 26 */ - 0x17, /* FC_CSTRUCT */ - 0x3, /* 3 */ -/* 28 */ NdrFcShort( 0x8 ), /* 8 */ -/* 30 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (14) */ -/* 32 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 34 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 36 */ 0xb4, /* FC_USER_MARSHAL */ - 0x83, /* 131 */ -/* 38 */ NdrFcShort( 0x0 ), /* 0 */ -/* 40 */ NdrFcShort( 0x4 ), /* 4 */ -/* 42 */ NdrFcShort( 0x0 ), /* 0 */ -/* 44 */ NdrFcShort( 0xffde ), /* Offset= -34 (10) */ -/* 46 */ - 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */ -/* 48 */ NdrFcShort( 0x2 ), /* Offset= 2 (50) */ -/* 50 */ - 0x13, 0x0, /* FC_OP */ -/* 52 */ NdrFcShort( 0x2 ), /* Offset= 2 (54) */ -/* 54 */ - 0x21, /* FC_BOGUS_ARRAY */ - 0x3, /* 3 */ -/* 56 */ NdrFcShort( 0x0 ), /* 0 */ -/* 58 */ 0x28, /* Corr desc: parameter, FC_LONG */ - 0x0, /* */ -/* 60 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 62 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 64 */ 0x28, /* Corr desc: parameter, FC_LONG */ - 0x54, /* FC_DEREFERENCE */ -/* 66 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 68 */ NdrFcShort( 0x0 ), /* Corr flags: */ -/* 70 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 72 */ NdrFcShort( 0xffdc ), /* Offset= -36 (36) */ -/* 74 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ - - 0x0 - } - }; - -static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] = - { - - { - BSTR_UserSize - ,BSTR_UserMarshal - ,BSTR_UserUnmarshal - ,BSTR_UserFree - } - - }; - - - -/* Object interface: IUnknown, ver. 0.0, - GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */ - - -/* Object interface: IAccessibleAction, ver. 0.0, - GUID={0xB70D9F59,0x3B5A,0x4dba,{0xAB,0x9E,0x22,0x01,0x2F,0x60,0x7D,0xF5}} */ - -#pragma code_seg(".orpc") -static const unsigned short IAccessibleAction_FormatStringOffsetTable[] = - { - 0, - 36, - 72, - 114, - 168, - 210 - }; - -static const MIDL_STUBLESS_PROXY_INFO IAccessibleAction_ProxyInfo = - { - &Object_StubDesc, - AccessibleAction__MIDL_ProcFormatString.Format, - &IAccessibleAction_FormatStringOffsetTable[-3], - 0, - 0, - 0 - }; - - -static const MIDL_SERVER_INFO IAccessibleAction_ServerInfo = - { - &Object_StubDesc, - 0, - AccessibleAction__MIDL_ProcFormatString.Format, - &IAccessibleAction_FormatStringOffsetTable[-3], - 0, - 0, - 0, - 0}; -CINTERFACE_PROXY_VTABLE(9) _IAccessibleActionProxyVtbl = -{ - &IAccessibleAction_ProxyInfo, - &IID_IAccessibleAction, - IUnknown_QueryInterface_Proxy, - IUnknown_AddRef_Proxy, - IUnknown_Release_Proxy , - (void *) (INT_PTR) -1 /* IAccessibleAction::nActions */ , - (void *) (INT_PTR) -1 /* IAccessibleAction::doAction */ , - (void *) (INT_PTR) -1 /* IAccessibleAction::get_description */ , - (void *) (INT_PTR) -1 /* IAccessibleAction::get_keyBinding */ , - (void *) (INT_PTR) -1 /* IAccessibleAction::get_name */ , - (void *) (INT_PTR) -1 /* IAccessibleAction::get_localizedName */ -}; - -const CInterfaceStubVtbl _IAccessibleActionStubVtbl = -{ - &IID_IAccessibleAction, - &IAccessibleAction_ServerInfo, - 9, - 0, /* pure interpreted */ - CStdStubBuffer_METHODS -}; - -static const MIDL_STUB_DESC Object_StubDesc = - { - 0, - NdrOleAllocate, - NdrOleFree, - 0, - 0, - 0, - 0, - 0, - AccessibleAction__MIDL_TypeFormatString.Format, - 1, /* -error bounds_check flag */ - 0x50002, /* Ndr library version */ - 0, - 0x700022b, /* MIDL Version 7.0.555 */ - 0, - UserMarshalRoutines, - 0, /* notify & notify_flag routine table */ - 0x1, /* MIDL flag */ - 0, /* cs routines */ - 0, /* proxy/server info */ - 0 - }; - -const CInterfaceProxyVtbl * const _AccessibleAction_ProxyVtblList[] = -{ - ( CInterfaceProxyVtbl *) &_IAccessibleActionProxyVtbl, - 0 -}; - -const CInterfaceStubVtbl * const _AccessibleAction_StubVtblList[] = -{ - ( CInterfaceStubVtbl *) &_IAccessibleActionStubVtbl, - 0 -}; - -PCInterfaceName const _AccessibleAction_InterfaceNamesList[] = -{ - "IAccessibleAction", - 0 -}; - - -#define _AccessibleAction_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleAction, pIID, n) - -int __stdcall _AccessibleAction_IID_Lookup( const IID * pIID, int * pIndex ) -{ - - if(!_AccessibleAction_CHECK_IID(0)) - { - *pIndex = 0; - return 1; - } - - return 0; -} - -const ExtendedProxyFileInfo AccessibleAction_ProxyFileInfo = -{ - (PCInterfaceProxyVtblList *) & _AccessibleAction_ProxyVtblList, - (PCInterfaceStubVtblList *) & _AccessibleAction_StubVtblList, - (const PCInterfaceName * ) & _AccessibleAction_InterfaceNamesList, - 0, /* no delegation */ - & _AccessibleAction_IID_Lookup, - 1, - 2, - 0, /* table of [async_uuid] interfaces */ - 0, /* Filler1 */ - 0, /* Filler2 */ - 0 /* Filler3 */ -}; -#pragma optimize("", on ) -#if _MSC_VER >= 1200 -#pragma warning(pop) -#endif - - -#endif /* !defined(_M_IA64) && !defined(_M_AMD64)*/ - diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleApplication.h b/src/3rdparty/iaccessible2/generated/x86/AccessibleApplication.h deleted file mode 100644 index e14096869c..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/AccessibleApplication.h +++ /dev/null @@ -1,188 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:52 2012 - */ -/* Compiler settings for AccessibleApplication.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the <rpcndr.h> version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of <rpcndr.h> -#endif // __RPCNDR_H_VERSION__ - -#ifndef COM_NO_WINDOWS_H -#include "windows.h" -#include "ole2.h" -#endif /*COM_NO_WINDOWS_H*/ - -#ifndef __AccessibleApplication_h__ -#define __AccessibleApplication_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -#ifndef __IAccessibleApplication_FWD_DEFINED__ -#define __IAccessibleApplication_FWD_DEFINED__ -typedef interface IAccessibleApplication IAccessibleApplication; -#endif /* __IAccessibleApplication_FWD_DEFINED__ */ - - -/* header files for imported files */ -#include "objidl.h" -#include "oaidl.h" -#include "oleacc.h" - -#ifdef __cplusplus -extern "C"{ -#endif - - -#ifndef __IAccessibleApplication_INTERFACE_DEFINED__ -#define __IAccessibleApplication_INTERFACE_DEFINED__ - -/* interface IAccessibleApplication */ -/* [uuid][object] */ - - -EXTERN_C const IID IID_IAccessibleApplication; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("D49DED83-5B25-43F4-9B95-93B44595979E") - IAccessibleApplication : public IUnknown - { - public: - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appName( - /* [retval][out] */ BSTR *name) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appVersion( - /* [retval][out] */ BSTR *version) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_toolkitName( - /* [retval][out] */ BSTR *name) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_toolkitVersion( - /* [retval][out] */ BSTR *version) = 0; - - }; - -#else /* C style interface */ - - typedef struct IAccessibleApplicationVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IAccessibleApplication * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IAccessibleApplication * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IAccessibleApplication * This); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appName )( - IAccessibleApplication * This, - /* [retval][out] */ BSTR *name); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appVersion )( - IAccessibleApplication * This, - /* [retval][out] */ BSTR *version); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_toolkitName )( - IAccessibleApplication * This, - /* [retval][out] */ BSTR *name); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_toolkitVersion )( - IAccessibleApplication * This, - /* [retval][out] */ BSTR *version); - - END_INTERFACE - } IAccessibleApplicationVtbl; - - interface IAccessibleApplication - { - CONST_VTBL struct IAccessibleApplicationVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IAccessibleApplication_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IAccessibleApplication_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IAccessibleApplication_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IAccessibleApplication_get_appName(This,name) \ - ( (This)->lpVtbl -> get_appName(This,name) ) - -#define IAccessibleApplication_get_appVersion(This,version) \ - ( (This)->lpVtbl -> get_appVersion(This,version) ) - -#define IAccessibleApplication_get_toolkitName(This,name) \ - ( (This)->lpVtbl -> get_toolkitName(This,name) ) - -#define IAccessibleApplication_get_toolkitVersion(This,version) \ - ( (This)->lpVtbl -> get_toolkitVersion(This,version) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IAccessibleApplication_INTERFACE_DEFINED__ */ - - -/* Additional Prototypes for ALL interfaces */ - -unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * ); -unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * ); -unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); -void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * ); - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleApplication_i.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleApplication_i.c deleted file mode 100644 index daa0c1f7d3..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/AccessibleApplication_i.c +++ /dev/null @@ -1,79 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */ - -/* link this file in with the server and any clients */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:52 2012 - */ -/* Compiler settings for AccessibleApplication.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -#ifdef __cplusplus -extern "C"{ -#endif - - -#include <rpc.h> -#include <rpcndr.h> - -#ifdef _MIDL_USE_GUIDDEF_ - -#ifndef INITGUID -#define INITGUID -#include <guiddef.h> -#undef INITGUID -#else -#include <guiddef.h> -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) - -#else // !_MIDL_USE_GUIDDEF_ - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - -typedef struct _IID -{ - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; -} IID; - -#endif // __IID_DEFINED__ - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED -typedef IID CLSID; -#endif // CLSID_DEFINED - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} - -#endif !_MIDL_USE_GUIDDEF_ - -MIDL_DEFINE_GUID(IID, IID_IAccessibleApplication,0xD49DED83,0x5B25,0x43F4,0x9B,0x95,0x93,0xB4,0x45,0x95,0x97,0x9E); - -#undef MIDL_DEFINE_GUID - -#ifdef __cplusplus -} -#endif - - - diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleApplication_p.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleApplication_p.c deleted file mode 100644 index 4e51a63fff..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/AccessibleApplication_p.c +++ /dev/null @@ -1,428 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the proxy stub code */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:52 2012 - */ -/* Compiler settings for AccessibleApplication.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#if !defined(_M_IA64) && !defined(_M_AMD64) - - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ -#if _MSC_VER >= 1200 -#pragma warning(push) -#endif - -#pragma warning( disable: 4211 ) /* redefine extern to static */ -#pragma warning( disable: 4232 ) /* dllimport identity*/ -#pragma warning( disable: 4024 ) /* array to pointer mapping*/ -#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */ -#pragma warning( disable: 4100 ) /* unreferenced arguments in x86 call */ - -#pragma optimize("", off ) - -#define USE_STUBLESS_PROXY - - -/* verify that the <rpcproxy.h> version is high enough to compile this file*/ -#ifndef __REDQ_RPCPROXY_H_VERSION__ -#define __REQUIRED_RPCPROXY_H_VERSION__ 475 -#endif - - -#include "rpcproxy.h" -#ifndef __RPCPROXY_H_VERSION__ -#error this stub requires an updated version of <rpcproxy.h> -#endif /* __RPCPROXY_H_VERSION__ */ - - -#include "AccessibleApplication.h" - -#define TYPE_FORMAT_STRING_SIZE 43 -#define PROC_FORMAT_STRING_SIZE 145 -#define EXPR_FORMAT_STRING_SIZE 1 -#define TRANSMIT_AS_TABLE_SIZE 0 -#define WIRE_MARSHAL_TABLE_SIZE 1 - -typedef struct _AccessibleApplication_MIDL_TYPE_FORMAT_STRING - { - short Pad; - unsigned char Format[ TYPE_FORMAT_STRING_SIZE ]; - } AccessibleApplication_MIDL_TYPE_FORMAT_STRING; - -typedef struct _AccessibleApplication_MIDL_PROC_FORMAT_STRING - { - short Pad; - unsigned char Format[ PROC_FORMAT_STRING_SIZE ]; - } AccessibleApplication_MIDL_PROC_FORMAT_STRING; - -typedef struct _AccessibleApplication_MIDL_EXPR_FORMAT_STRING - { - long Pad; - unsigned char Format[ EXPR_FORMAT_STRING_SIZE ]; - } AccessibleApplication_MIDL_EXPR_FORMAT_STRING; - - -static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax = -{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}}; - - -extern const AccessibleApplication_MIDL_TYPE_FORMAT_STRING AccessibleApplication__MIDL_TypeFormatString; -extern const AccessibleApplication_MIDL_PROC_FORMAT_STRING AccessibleApplication__MIDL_ProcFormatString; -extern const AccessibleApplication_MIDL_EXPR_FORMAT_STRING AccessibleApplication__MIDL_ExprFormatString; - - -extern const MIDL_STUB_DESC Object_StubDesc; - - -extern const MIDL_SERVER_INFO IAccessibleApplication_ServerInfo; -extern const MIDL_STUBLESS_PROXY_INFO IAccessibleApplication_ProxyInfo; - - -extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ]; - -#if !defined(__RPC_WIN32__) -#error Invalid build platform for this stub. -#endif - -#if !(TARGET_IS_NT50_OR_LATER) -#error You need Windows 2000 or later to run this stub because it uses these features: -#error /robust command line switch. -#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems. -#error This app will fail with the RPC_X_WRONG_STUB_VERSION error. -#endif - - -static const AccessibleApplication_MIDL_PROC_FORMAT_STRING AccessibleApplication__MIDL_ProcFormatString = - { - 0, - { - - /* Procedure get_appName */ - - 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 2 */ NdrFcLong( 0x0 ), /* 0 */ -/* 6 */ NdrFcShort( 0x3 ), /* 3 */ -/* 8 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 10 */ NdrFcShort( 0x0 ), /* 0 */ -/* 12 */ NdrFcShort( 0x8 ), /* 8 */ -/* 14 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 16 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 18 */ NdrFcShort( 0x1 ), /* 1 */ -/* 20 */ NdrFcShort( 0x0 ), /* 0 */ -/* 22 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter name */ - -/* 24 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 26 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 28 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ - - /* Return value */ - -/* 30 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 32 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 34 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_appVersion */ - -/* 36 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 38 */ NdrFcLong( 0x0 ), /* 0 */ -/* 42 */ NdrFcShort( 0x4 ), /* 4 */ -/* 44 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 46 */ NdrFcShort( 0x0 ), /* 0 */ -/* 48 */ NdrFcShort( 0x8 ), /* 8 */ -/* 50 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 52 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 54 */ NdrFcShort( 0x1 ), /* 1 */ -/* 56 */ NdrFcShort( 0x0 ), /* 0 */ -/* 58 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter version */ - -/* 60 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 62 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 64 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ - - /* Return value */ - -/* 66 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 68 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 70 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_toolkitName */ - -/* 72 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 74 */ NdrFcLong( 0x0 ), /* 0 */ -/* 78 */ NdrFcShort( 0x5 ), /* 5 */ -/* 80 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 82 */ NdrFcShort( 0x0 ), /* 0 */ -/* 84 */ NdrFcShort( 0x8 ), /* 8 */ -/* 86 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 88 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 90 */ NdrFcShort( 0x1 ), /* 1 */ -/* 92 */ NdrFcShort( 0x0 ), /* 0 */ -/* 94 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter name */ - -/* 96 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 98 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 100 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ - - /* Return value */ - -/* 102 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 104 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 106 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_toolkitVersion */ - -/* 108 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 110 */ NdrFcLong( 0x0 ), /* 0 */ -/* 114 */ NdrFcShort( 0x6 ), /* 6 */ -/* 116 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 118 */ NdrFcShort( 0x0 ), /* 0 */ -/* 120 */ NdrFcShort( 0x8 ), /* 8 */ -/* 122 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 124 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 126 */ NdrFcShort( 0x1 ), /* 1 */ -/* 128 */ NdrFcShort( 0x0 ), /* 0 */ -/* 130 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter version */ - -/* 132 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 134 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 136 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ - - /* Return value */ - -/* 138 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 140 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 142 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - 0x0 - } - }; - -static const AccessibleApplication_MIDL_TYPE_FORMAT_STRING AccessibleApplication__MIDL_TypeFormatString = - { - 0, - { - NdrFcShort( 0x0 ), /* 0 */ -/* 2 */ - 0x11, 0x4, /* FC_RP [alloced_on_stack] */ -/* 4 */ NdrFcShort( 0x1c ), /* Offset= 28 (32) */ -/* 6 */ - 0x13, 0x0, /* FC_OP */ -/* 8 */ NdrFcShort( 0xe ), /* Offset= 14 (22) */ -/* 10 */ - 0x1b, /* FC_CARRAY */ - 0x1, /* 1 */ -/* 12 */ NdrFcShort( 0x2 ), /* 2 */ -/* 14 */ 0x9, /* Corr desc: FC_ULONG */ - 0x0, /* */ -/* 16 */ NdrFcShort( 0xfffc ), /* -4 */ -/* 18 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 20 */ 0x6, /* FC_SHORT */ - 0x5b, /* FC_END */ -/* 22 */ - 0x17, /* FC_CSTRUCT */ - 0x3, /* 3 */ -/* 24 */ NdrFcShort( 0x8 ), /* 8 */ -/* 26 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (10) */ -/* 28 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 30 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 32 */ 0xb4, /* FC_USER_MARSHAL */ - 0x83, /* 131 */ -/* 34 */ NdrFcShort( 0x0 ), /* 0 */ -/* 36 */ NdrFcShort( 0x4 ), /* 4 */ -/* 38 */ NdrFcShort( 0x0 ), /* 0 */ -/* 40 */ NdrFcShort( 0xffde ), /* Offset= -34 (6) */ - - 0x0 - } - }; - -static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] = - { - - { - BSTR_UserSize - ,BSTR_UserMarshal - ,BSTR_UserUnmarshal - ,BSTR_UserFree - } - - }; - - - -/* Object interface: IUnknown, ver. 0.0, - GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */ - - -/* Object interface: IAccessibleApplication, ver. 0.0, - GUID={0xD49DED83,0x5B25,0x43F4,{0x9B,0x95,0x93,0xB4,0x45,0x95,0x97,0x9E}} */ - -#pragma code_seg(".orpc") -static const unsigned short IAccessibleApplication_FormatStringOffsetTable[] = - { - 0, - 36, - 72, - 108 - }; - -static const MIDL_STUBLESS_PROXY_INFO IAccessibleApplication_ProxyInfo = - { - &Object_StubDesc, - AccessibleApplication__MIDL_ProcFormatString.Format, - &IAccessibleApplication_FormatStringOffsetTable[-3], - 0, - 0, - 0 - }; - - -static const MIDL_SERVER_INFO IAccessibleApplication_ServerInfo = - { - &Object_StubDesc, - 0, - AccessibleApplication__MIDL_ProcFormatString.Format, - &IAccessibleApplication_FormatStringOffsetTable[-3], - 0, - 0, - 0, - 0}; -CINTERFACE_PROXY_VTABLE(7) _IAccessibleApplicationProxyVtbl = -{ - &IAccessibleApplication_ProxyInfo, - &IID_IAccessibleApplication, - IUnknown_QueryInterface_Proxy, - IUnknown_AddRef_Proxy, - IUnknown_Release_Proxy , - (void *) (INT_PTR) -1 /* IAccessibleApplication::get_appName */ , - (void *) (INT_PTR) -1 /* IAccessibleApplication::get_appVersion */ , - (void *) (INT_PTR) -1 /* IAccessibleApplication::get_toolkitName */ , - (void *) (INT_PTR) -1 /* IAccessibleApplication::get_toolkitVersion */ -}; - -const CInterfaceStubVtbl _IAccessibleApplicationStubVtbl = -{ - &IID_IAccessibleApplication, - &IAccessibleApplication_ServerInfo, - 7, - 0, /* pure interpreted */ - CStdStubBuffer_METHODS -}; - -static const MIDL_STUB_DESC Object_StubDesc = - { - 0, - NdrOleAllocate, - NdrOleFree, - 0, - 0, - 0, - 0, - 0, - AccessibleApplication__MIDL_TypeFormatString.Format, - 1, /* -error bounds_check flag */ - 0x50002, /* Ndr library version */ - 0, - 0x700022b, /* MIDL Version 7.0.555 */ - 0, - UserMarshalRoutines, - 0, /* notify & notify_flag routine table */ - 0x1, /* MIDL flag */ - 0, /* cs routines */ - 0, /* proxy/server info */ - 0 - }; - -const CInterfaceProxyVtbl * const _AccessibleApplication_ProxyVtblList[] = -{ - ( CInterfaceProxyVtbl *) &_IAccessibleApplicationProxyVtbl, - 0 -}; - -const CInterfaceStubVtbl * const _AccessibleApplication_StubVtblList[] = -{ - ( CInterfaceStubVtbl *) &_IAccessibleApplicationStubVtbl, - 0 -}; - -PCInterfaceName const _AccessibleApplication_InterfaceNamesList[] = -{ - "IAccessibleApplication", - 0 -}; - - -#define _AccessibleApplication_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleApplication, pIID, n) - -int __stdcall _AccessibleApplication_IID_Lookup( const IID * pIID, int * pIndex ) -{ - - if(!_AccessibleApplication_CHECK_IID(0)) - { - *pIndex = 0; - return 1; - } - - return 0; -} - -const ExtendedProxyFileInfo AccessibleApplication_ProxyFileInfo = -{ - (PCInterfaceProxyVtblList *) & _AccessibleApplication_ProxyVtblList, - (PCInterfaceStubVtblList *) & _AccessibleApplication_StubVtblList, - (const PCInterfaceName * ) & _AccessibleApplication_InterfaceNamesList, - 0, /* no delegation */ - & _AccessibleApplication_IID_Lookup, - 1, - 2, - 0, /* table of [async_uuid] interfaces */ - 0, /* Filler1 */ - 0, /* Filler2 */ - 0 /* Filler3 */ -}; -#pragma optimize("", on ) -#if _MSC_VER >= 1200 -#pragma warning(pop) -#endif - - -#endif /* !defined(_M_IA64) && !defined(_M_AMD64)*/ - diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleComponent.h b/src/3rdparty/iaccessible2/generated/x86/AccessibleComponent.h deleted file mode 100644 index a5d6fa625b..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/AccessibleComponent.h +++ /dev/null @@ -1,185 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:52 2012 - */ -/* Compiler settings for AccessibleComponent.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the <rpcndr.h> version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of <rpcndr.h> -#endif // __RPCNDR_H_VERSION__ - -#ifndef COM_NO_WINDOWS_H -#include "windows.h" -#include "ole2.h" -#endif /*COM_NO_WINDOWS_H*/ - -#ifndef __AccessibleComponent_h__ -#define __AccessibleComponent_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -#ifndef __IAccessibleComponent_FWD_DEFINED__ -#define __IAccessibleComponent_FWD_DEFINED__ -typedef interface IAccessibleComponent IAccessibleComponent; -#endif /* __IAccessibleComponent_FWD_DEFINED__ */ - - -/* header files for imported files */ -#include "objidl.h" -#include "oaidl.h" -#include "oleacc.h" - -#ifdef __cplusplus -extern "C"{ -#endif - - -/* interface __MIDL_itf_AccessibleComponent_0000_0000 */ -/* [local] */ - -typedef long IA2Color; - - - -extern RPC_IF_HANDLE __MIDL_itf_AccessibleComponent_0000_0000_v0_0_c_ifspec; -extern RPC_IF_HANDLE __MIDL_itf_AccessibleComponent_0000_0000_v0_0_s_ifspec; - -#ifndef __IAccessibleComponent_INTERFACE_DEFINED__ -#define __IAccessibleComponent_INTERFACE_DEFINED__ - -/* interface IAccessibleComponent */ -/* [uuid][object] */ - - -EXTERN_C const IID IID_IAccessibleComponent; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("1546D4B0-4C98-4bda-89AE-9A64748BDDE4") - IAccessibleComponent : public IUnknown - { - public: - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_locationInParent( - /* [out] */ long *x, - /* [retval][out] */ long *y) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_foreground( - /* [retval][out] */ IA2Color *foreground) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_background( - /* [retval][out] */ IA2Color *background) = 0; - - }; - -#else /* C style interface */ - - typedef struct IAccessibleComponentVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IAccessibleComponent * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IAccessibleComponent * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IAccessibleComponent * This); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_locationInParent )( - IAccessibleComponent * This, - /* [out] */ long *x, - /* [retval][out] */ long *y); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_foreground )( - IAccessibleComponent * This, - /* [retval][out] */ IA2Color *foreground); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_background )( - IAccessibleComponent * This, - /* [retval][out] */ IA2Color *background); - - END_INTERFACE - } IAccessibleComponentVtbl; - - interface IAccessibleComponent - { - CONST_VTBL struct IAccessibleComponentVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IAccessibleComponent_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IAccessibleComponent_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IAccessibleComponent_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IAccessibleComponent_get_locationInParent(This,x,y) \ - ( (This)->lpVtbl -> get_locationInParent(This,x,y) ) - -#define IAccessibleComponent_get_foreground(This,foreground) \ - ( (This)->lpVtbl -> get_foreground(This,foreground) ) - -#define IAccessibleComponent_get_background(This,background) \ - ( (This)->lpVtbl -> get_background(This,background) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IAccessibleComponent_INTERFACE_DEFINED__ */ - - -/* Additional Prototypes for ALL interfaces */ - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleComponent_i.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleComponent_i.c deleted file mode 100644 index b48fee274b..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/AccessibleComponent_i.c +++ /dev/null @@ -1,79 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */ - -/* link this file in with the server and any clients */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:52 2012 - */ -/* Compiler settings for AccessibleComponent.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -#ifdef __cplusplus -extern "C"{ -#endif - - -#include <rpc.h> -#include <rpcndr.h> - -#ifdef _MIDL_USE_GUIDDEF_ - -#ifndef INITGUID -#define INITGUID -#include <guiddef.h> -#undef INITGUID -#else -#include <guiddef.h> -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) - -#else // !_MIDL_USE_GUIDDEF_ - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - -typedef struct _IID -{ - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; -} IID; - -#endif // __IID_DEFINED__ - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED -typedef IID CLSID; -#endif // CLSID_DEFINED - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} - -#endif !_MIDL_USE_GUIDDEF_ - -MIDL_DEFINE_GUID(IID, IID_IAccessibleComponent,0x1546D4B0,0x4C98,0x4bda,0x89,0xAE,0x9A,0x64,0x74,0x8B,0xDD,0xE4); - -#undef MIDL_DEFINE_GUID - -#ifdef __cplusplus -} -#endif - - - diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleComponent_p.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleComponent_p.c deleted file mode 100644 index 23230ff0ac..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/AccessibleComponent_p.c +++ /dev/null @@ -1,369 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the proxy stub code */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:52 2012 - */ -/* Compiler settings for AccessibleComponent.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#if !defined(_M_IA64) && !defined(_M_AMD64) - - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ -#if _MSC_VER >= 1200 -#pragma warning(push) -#endif - -#pragma warning( disable: 4211 ) /* redefine extern to static */ -#pragma warning( disable: 4232 ) /* dllimport identity*/ -#pragma warning( disable: 4024 ) /* array to pointer mapping*/ -#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */ -#pragma warning( disable: 4100 ) /* unreferenced arguments in x86 call */ - -#pragma optimize("", off ) - -#define USE_STUBLESS_PROXY - - -/* verify that the <rpcproxy.h> version is high enough to compile this file*/ -#ifndef __REDQ_RPCPROXY_H_VERSION__ -#define __REQUIRED_RPCPROXY_H_VERSION__ 475 -#endif - - -#include "rpcproxy.h" -#ifndef __RPCPROXY_H_VERSION__ -#error this stub requires an updated version of <rpcproxy.h> -#endif /* __RPCPROXY_H_VERSION__ */ - - -#include "AccessibleComponent.h" - -#define TYPE_FORMAT_STRING_SIZE 7 -#define PROC_FORMAT_STRING_SIZE 115 -#define EXPR_FORMAT_STRING_SIZE 1 -#define TRANSMIT_AS_TABLE_SIZE 0 -#define WIRE_MARSHAL_TABLE_SIZE 0 - -typedef struct _AccessibleComponent_MIDL_TYPE_FORMAT_STRING - { - short Pad; - unsigned char Format[ TYPE_FORMAT_STRING_SIZE ]; - } AccessibleComponent_MIDL_TYPE_FORMAT_STRING; - -typedef struct _AccessibleComponent_MIDL_PROC_FORMAT_STRING - { - short Pad; - unsigned char Format[ PROC_FORMAT_STRING_SIZE ]; - } AccessibleComponent_MIDL_PROC_FORMAT_STRING; - -typedef struct _AccessibleComponent_MIDL_EXPR_FORMAT_STRING - { - long Pad; - unsigned char Format[ EXPR_FORMAT_STRING_SIZE ]; - } AccessibleComponent_MIDL_EXPR_FORMAT_STRING; - - -static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax = -{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}}; - - -extern const AccessibleComponent_MIDL_TYPE_FORMAT_STRING AccessibleComponent__MIDL_TypeFormatString; -extern const AccessibleComponent_MIDL_PROC_FORMAT_STRING AccessibleComponent__MIDL_ProcFormatString; -extern const AccessibleComponent_MIDL_EXPR_FORMAT_STRING AccessibleComponent__MIDL_ExprFormatString; - - -extern const MIDL_STUB_DESC Object_StubDesc; - - -extern const MIDL_SERVER_INFO IAccessibleComponent_ServerInfo; -extern const MIDL_STUBLESS_PROXY_INFO IAccessibleComponent_ProxyInfo; - - - -#if !defined(__RPC_WIN32__) -#error Invalid build platform for this stub. -#endif - -#if !(TARGET_IS_NT50_OR_LATER) -#error You need Windows 2000 or later to run this stub because it uses these features: -#error /robust command line switch. -#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems. -#error This app will fail with the RPC_X_WRONG_STUB_VERSION error. -#endif - - -static const AccessibleComponent_MIDL_PROC_FORMAT_STRING AccessibleComponent__MIDL_ProcFormatString = - { - 0, - { - - /* Procedure get_locationInParent */ - - 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 2 */ NdrFcLong( 0x0 ), /* 0 */ -/* 6 */ NdrFcShort( 0x3 ), /* 3 */ -/* 8 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 10 */ NdrFcShort( 0x0 ), /* 0 */ -/* 12 */ NdrFcShort( 0x40 ), /* 64 */ -/* 14 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x3, /* 3 */ -/* 16 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 18 */ NdrFcShort( 0x0 ), /* 0 */ -/* 20 */ NdrFcShort( 0x0 ), /* 0 */ -/* 22 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter x */ - -/* 24 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 26 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 28 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter y */ - -/* 30 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 32 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 34 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 36 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 38 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 40 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_foreground */ - -/* 42 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 44 */ NdrFcLong( 0x0 ), /* 0 */ -/* 48 */ NdrFcShort( 0x4 ), /* 4 */ -/* 50 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 52 */ NdrFcShort( 0x0 ), /* 0 */ -/* 54 */ NdrFcShort( 0x24 ), /* 36 */ -/* 56 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 58 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 60 */ NdrFcShort( 0x0 ), /* 0 */ -/* 62 */ NdrFcShort( 0x0 ), /* 0 */ -/* 64 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter foreground */ - -/* 66 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 68 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 70 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 72 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 74 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 76 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_background */ - -/* 78 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 80 */ NdrFcLong( 0x0 ), /* 0 */ -/* 84 */ NdrFcShort( 0x5 ), /* 5 */ -/* 86 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 88 */ NdrFcShort( 0x0 ), /* 0 */ -/* 90 */ NdrFcShort( 0x24 ), /* 36 */ -/* 92 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 94 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 96 */ NdrFcShort( 0x0 ), /* 0 */ -/* 98 */ NdrFcShort( 0x0 ), /* 0 */ -/* 100 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter background */ - -/* 102 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 104 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 106 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 108 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 110 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 112 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - 0x0 - } - }; - -static const AccessibleComponent_MIDL_TYPE_FORMAT_STRING AccessibleComponent__MIDL_TypeFormatString = - { - 0, - { - NdrFcShort( 0x0 ), /* 0 */ -/* 2 */ - 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */ -/* 4 */ 0x8, /* FC_LONG */ - 0x5c, /* FC_PAD */ - - 0x0 - } - }; - - -/* Standard interface: __MIDL_itf_AccessibleComponent_0000_0000, ver. 0.0, - GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */ - - -/* Object interface: IUnknown, ver. 0.0, - GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */ - - -/* Object interface: IAccessibleComponent, ver. 0.0, - GUID={0x1546D4B0,0x4C98,0x4bda,{0x89,0xAE,0x9A,0x64,0x74,0x8B,0xDD,0xE4}} */ - -#pragma code_seg(".orpc") -static const unsigned short IAccessibleComponent_FormatStringOffsetTable[] = - { - 0, - 42, - 78 - }; - -static const MIDL_STUBLESS_PROXY_INFO IAccessibleComponent_ProxyInfo = - { - &Object_StubDesc, - AccessibleComponent__MIDL_ProcFormatString.Format, - &IAccessibleComponent_FormatStringOffsetTable[-3], - 0, - 0, - 0 - }; - - -static const MIDL_SERVER_INFO IAccessibleComponent_ServerInfo = - { - &Object_StubDesc, - 0, - AccessibleComponent__MIDL_ProcFormatString.Format, - &IAccessibleComponent_FormatStringOffsetTable[-3], - 0, - 0, - 0, - 0}; -CINTERFACE_PROXY_VTABLE(6) _IAccessibleComponentProxyVtbl = -{ - &IAccessibleComponent_ProxyInfo, - &IID_IAccessibleComponent, - IUnknown_QueryInterface_Proxy, - IUnknown_AddRef_Proxy, - IUnknown_Release_Proxy , - (void *) (INT_PTR) -1 /* IAccessibleComponent::get_locationInParent */ , - (void *) (INT_PTR) -1 /* IAccessibleComponent::get_foreground */ , - (void *) (INT_PTR) -1 /* IAccessibleComponent::get_background */ -}; - -const CInterfaceStubVtbl _IAccessibleComponentStubVtbl = -{ - &IID_IAccessibleComponent, - &IAccessibleComponent_ServerInfo, - 6, - 0, /* pure interpreted */ - CStdStubBuffer_METHODS -}; - -static const MIDL_STUB_DESC Object_StubDesc = - { - 0, - NdrOleAllocate, - NdrOleFree, - 0, - 0, - 0, - 0, - 0, - AccessibleComponent__MIDL_TypeFormatString.Format, - 1, /* -error bounds_check flag */ - 0x50002, /* Ndr library version */ - 0, - 0x700022b, /* MIDL Version 7.0.555 */ - 0, - 0, - 0, /* notify & notify_flag routine table */ - 0x1, /* MIDL flag */ - 0, /* cs routines */ - 0, /* proxy/server info */ - 0 - }; - -const CInterfaceProxyVtbl * const _AccessibleComponent_ProxyVtblList[] = -{ - ( CInterfaceProxyVtbl *) &_IAccessibleComponentProxyVtbl, - 0 -}; - -const CInterfaceStubVtbl * const _AccessibleComponent_StubVtblList[] = -{ - ( CInterfaceStubVtbl *) &_IAccessibleComponentStubVtbl, - 0 -}; - -PCInterfaceName const _AccessibleComponent_InterfaceNamesList[] = -{ - "IAccessibleComponent", - 0 -}; - - -#define _AccessibleComponent_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleComponent, pIID, n) - -int __stdcall _AccessibleComponent_IID_Lookup( const IID * pIID, int * pIndex ) -{ - - if(!_AccessibleComponent_CHECK_IID(0)) - { - *pIndex = 0; - return 1; - } - - return 0; -} - -const ExtendedProxyFileInfo AccessibleComponent_ProxyFileInfo = -{ - (PCInterfaceProxyVtblList *) & _AccessibleComponent_ProxyVtblList, - (PCInterfaceStubVtblList *) & _AccessibleComponent_StubVtblList, - (const PCInterfaceName * ) & _AccessibleComponent_InterfaceNamesList, - 0, /* no delegation */ - & _AccessibleComponent_IID_Lookup, - 1, - 2, - 0, /* table of [async_uuid] interfaces */ - 0, /* Filler1 */ - 0, /* Filler2 */ - 0 /* Filler3 */ -}; -#pragma optimize("", on ) -#if _MSC_VER >= 1200 -#pragma warning(pop) -#endif - - -#endif /* !defined(_M_IA64) && !defined(_M_AMD64)*/ - diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleEditableText.h b/src/3rdparty/iaccessible2/generated/x86/AccessibleEditableText.h deleted file mode 100644 index 3afeefbac0..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/AccessibleEditableText.h +++ /dev/null @@ -1,235 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:53 2012 - */ -/* Compiler settings for AccessibleEditableText.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the <rpcndr.h> version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of <rpcndr.h> -#endif // __RPCNDR_H_VERSION__ - -#ifndef COM_NO_WINDOWS_H -#include "windows.h" -#include "ole2.h" -#endif /*COM_NO_WINDOWS_H*/ - -#ifndef __AccessibleEditableText_h__ -#define __AccessibleEditableText_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -#ifndef __IAccessibleEditableText_FWD_DEFINED__ -#define __IAccessibleEditableText_FWD_DEFINED__ -typedef interface IAccessibleEditableText IAccessibleEditableText; -#endif /* __IAccessibleEditableText_FWD_DEFINED__ */ - - -/* header files for imported files */ -#include "objidl.h" -#include "oaidl.h" -#include "oleacc.h" -#include "IA2CommonTypes.h" - -#ifdef __cplusplus -extern "C"{ -#endif - - -#ifndef __IAccessibleEditableText_INTERFACE_DEFINED__ -#define __IAccessibleEditableText_INTERFACE_DEFINED__ - -/* interface IAccessibleEditableText */ -/* [uuid][object] */ - - -EXTERN_C const IID IID_IAccessibleEditableText; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("A59AA09A-7011-4b65-939D-32B1FB5547E3") - IAccessibleEditableText : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE copyText( - /* [in] */ long startOffset, - /* [in] */ long endOffset) = 0; - - virtual HRESULT STDMETHODCALLTYPE deleteText( - /* [in] */ long startOffset, - /* [in] */ long endOffset) = 0; - - virtual HRESULT STDMETHODCALLTYPE insertText( - /* [in] */ long offset, - /* [in] */ BSTR *text) = 0; - - virtual HRESULT STDMETHODCALLTYPE cutText( - /* [in] */ long startOffset, - /* [in] */ long endOffset) = 0; - - virtual HRESULT STDMETHODCALLTYPE pasteText( - /* [in] */ long offset) = 0; - - virtual HRESULT STDMETHODCALLTYPE replaceText( - /* [in] */ long startOffset, - /* [in] */ long endOffset, - /* [in] */ BSTR *text) = 0; - - virtual HRESULT STDMETHODCALLTYPE setAttributes( - /* [in] */ long startOffset, - /* [in] */ long endOffset, - /* [in] */ BSTR *attributes) = 0; - - }; - -#else /* C style interface */ - - typedef struct IAccessibleEditableTextVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IAccessibleEditableText * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IAccessibleEditableText * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IAccessibleEditableText * This); - - HRESULT ( STDMETHODCALLTYPE *copyText )( - IAccessibleEditableText * This, - /* [in] */ long startOffset, - /* [in] */ long endOffset); - - HRESULT ( STDMETHODCALLTYPE *deleteText )( - IAccessibleEditableText * This, - /* [in] */ long startOffset, - /* [in] */ long endOffset); - - HRESULT ( STDMETHODCALLTYPE *insertText )( - IAccessibleEditableText * This, - /* [in] */ long offset, - /* [in] */ BSTR *text); - - HRESULT ( STDMETHODCALLTYPE *cutText )( - IAccessibleEditableText * This, - /* [in] */ long startOffset, - /* [in] */ long endOffset); - - HRESULT ( STDMETHODCALLTYPE *pasteText )( - IAccessibleEditableText * This, - /* [in] */ long offset); - - HRESULT ( STDMETHODCALLTYPE *replaceText )( - IAccessibleEditableText * This, - /* [in] */ long startOffset, - /* [in] */ long endOffset, - /* [in] */ BSTR *text); - - HRESULT ( STDMETHODCALLTYPE *setAttributes )( - IAccessibleEditableText * This, - /* [in] */ long startOffset, - /* [in] */ long endOffset, - /* [in] */ BSTR *attributes); - - END_INTERFACE - } IAccessibleEditableTextVtbl; - - interface IAccessibleEditableText - { - CONST_VTBL struct IAccessibleEditableTextVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IAccessibleEditableText_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IAccessibleEditableText_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IAccessibleEditableText_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IAccessibleEditableText_copyText(This,startOffset,endOffset) \ - ( (This)->lpVtbl -> copyText(This,startOffset,endOffset) ) - -#define IAccessibleEditableText_deleteText(This,startOffset,endOffset) \ - ( (This)->lpVtbl -> deleteText(This,startOffset,endOffset) ) - -#define IAccessibleEditableText_insertText(This,offset,text) \ - ( (This)->lpVtbl -> insertText(This,offset,text) ) - -#define IAccessibleEditableText_cutText(This,startOffset,endOffset) \ - ( (This)->lpVtbl -> cutText(This,startOffset,endOffset) ) - -#define IAccessibleEditableText_pasteText(This,offset) \ - ( (This)->lpVtbl -> pasteText(This,offset) ) - -#define IAccessibleEditableText_replaceText(This,startOffset,endOffset,text) \ - ( (This)->lpVtbl -> replaceText(This,startOffset,endOffset,text) ) - -#define IAccessibleEditableText_setAttributes(This,startOffset,endOffset,attributes) \ - ( (This)->lpVtbl -> setAttributes(This,startOffset,endOffset,attributes) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IAccessibleEditableText_INTERFACE_DEFINED__ */ - - -/* Additional Prototypes for ALL interfaces */ - -unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * ); -unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * ); -unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); -void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * ); - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleEditableText_i.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleEditableText_i.c deleted file mode 100644 index c578bf5078..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/AccessibleEditableText_i.c +++ /dev/null @@ -1,79 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */ - -/* link this file in with the server and any clients */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:53 2012 - */ -/* Compiler settings for AccessibleEditableText.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -#ifdef __cplusplus -extern "C"{ -#endif - - -#include <rpc.h> -#include <rpcndr.h> - -#ifdef _MIDL_USE_GUIDDEF_ - -#ifndef INITGUID -#define INITGUID -#include <guiddef.h> -#undef INITGUID -#else -#include <guiddef.h> -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) - -#else // !_MIDL_USE_GUIDDEF_ - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - -typedef struct _IID -{ - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; -} IID; - -#endif // __IID_DEFINED__ - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED -typedef IID CLSID; -#endif // CLSID_DEFINED - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} - -#endif !_MIDL_USE_GUIDDEF_ - -MIDL_DEFINE_GUID(IID, IID_IAccessibleEditableText,0xA59AA09A,0x7011,0x4b65,0x93,0x9D,0x32,0xB1,0xFB,0x55,0x47,0xE3); - -#undef MIDL_DEFINE_GUID - -#ifdef __cplusplus -} -#endif - - - diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleEditableText_p.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleEditableText_p.c deleted file mode 100644 index 28d1e4b333..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/AccessibleEditableText_p.c +++ /dev/null @@ -1,584 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the proxy stub code */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:53 2012 - */ -/* Compiler settings for AccessibleEditableText.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#if !defined(_M_IA64) && !defined(_M_AMD64) - - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ -#if _MSC_VER >= 1200 -#pragma warning(push) -#endif - -#pragma warning( disable: 4211 ) /* redefine extern to static */ -#pragma warning( disable: 4232 ) /* dllimport identity*/ -#pragma warning( disable: 4024 ) /* array to pointer mapping*/ -#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */ -#pragma warning( disable: 4100 ) /* unreferenced arguments in x86 call */ - -#pragma optimize("", off ) - -#define USE_STUBLESS_PROXY - - -/* verify that the <rpcproxy.h> version is high enough to compile this file*/ -#ifndef __REDQ_RPCPROXY_H_VERSION__ -#define __REQUIRED_RPCPROXY_H_VERSION__ 475 -#endif - - -#include "rpcproxy.h" -#ifndef __RPCPROXY_H_VERSION__ -#error this stub requires an updated version of <rpcproxy.h> -#endif /* __RPCPROXY_H_VERSION__ */ - - -#include "AccessibleEditableText.h" - -#define TYPE_FORMAT_STRING_SIZE 43 -#define PROC_FORMAT_STRING_SIZE 301 -#define EXPR_FORMAT_STRING_SIZE 1 -#define TRANSMIT_AS_TABLE_SIZE 0 -#define WIRE_MARSHAL_TABLE_SIZE 1 - -typedef struct _AccessibleEditableText_MIDL_TYPE_FORMAT_STRING - { - short Pad; - unsigned char Format[ TYPE_FORMAT_STRING_SIZE ]; - } AccessibleEditableText_MIDL_TYPE_FORMAT_STRING; - -typedef struct _AccessibleEditableText_MIDL_PROC_FORMAT_STRING - { - short Pad; - unsigned char Format[ PROC_FORMAT_STRING_SIZE ]; - } AccessibleEditableText_MIDL_PROC_FORMAT_STRING; - -typedef struct _AccessibleEditableText_MIDL_EXPR_FORMAT_STRING - { - long Pad; - unsigned char Format[ EXPR_FORMAT_STRING_SIZE ]; - } AccessibleEditableText_MIDL_EXPR_FORMAT_STRING; - - -static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax = -{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}}; - - -extern const AccessibleEditableText_MIDL_TYPE_FORMAT_STRING AccessibleEditableText__MIDL_TypeFormatString; -extern const AccessibleEditableText_MIDL_PROC_FORMAT_STRING AccessibleEditableText__MIDL_ProcFormatString; -extern const AccessibleEditableText_MIDL_EXPR_FORMAT_STRING AccessibleEditableText__MIDL_ExprFormatString; - - -extern const MIDL_STUB_DESC Object_StubDesc; - - -extern const MIDL_SERVER_INFO IAccessibleEditableText_ServerInfo; -extern const MIDL_STUBLESS_PROXY_INFO IAccessibleEditableText_ProxyInfo; - - -extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ]; - -#if !defined(__RPC_WIN32__) -#error Invalid build platform for this stub. -#endif - -#if !(TARGET_IS_NT50_OR_LATER) -#error You need Windows 2000 or later to run this stub because it uses these features: -#error /robust command line switch. -#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems. -#error This app will fail with the RPC_X_WRONG_STUB_VERSION error. -#endif - - -static const AccessibleEditableText_MIDL_PROC_FORMAT_STRING AccessibleEditableText__MIDL_ProcFormatString = - { - 0, - { - - /* Procedure copyText */ - - 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 2 */ NdrFcLong( 0x0 ), /* 0 */ -/* 6 */ NdrFcShort( 0x3 ), /* 3 */ -/* 8 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 10 */ NdrFcShort( 0x10 ), /* 16 */ -/* 12 */ NdrFcShort( 0x8 ), /* 8 */ -/* 14 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x3, /* 3 */ -/* 16 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 18 */ NdrFcShort( 0x0 ), /* 0 */ -/* 20 */ NdrFcShort( 0x0 ), /* 0 */ -/* 22 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter startOffset */ - -/* 24 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 26 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 28 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter endOffset */ - -/* 30 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 32 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 34 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 36 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 38 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 40 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure deleteText */ - -/* 42 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 44 */ NdrFcLong( 0x0 ), /* 0 */ -/* 48 */ NdrFcShort( 0x4 ), /* 4 */ -/* 50 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 52 */ NdrFcShort( 0x10 ), /* 16 */ -/* 54 */ NdrFcShort( 0x8 ), /* 8 */ -/* 56 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x3, /* 3 */ -/* 58 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 60 */ NdrFcShort( 0x0 ), /* 0 */ -/* 62 */ NdrFcShort( 0x0 ), /* 0 */ -/* 64 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter startOffset */ - -/* 66 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 68 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 70 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter endOffset */ - -/* 72 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 74 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 76 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 78 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 80 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 82 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure insertText */ - -/* 84 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 86 */ NdrFcLong( 0x0 ), /* 0 */ -/* 90 */ NdrFcShort( 0x5 ), /* 5 */ -/* 92 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 94 */ NdrFcShort( 0x8 ), /* 8 */ -/* 96 */ NdrFcShort( 0x8 ), /* 8 */ -/* 98 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ - 0x3, /* 3 */ -/* 100 */ 0x8, /* 8 */ - 0x5, /* Ext Flags: new corr desc, srv corr check, */ -/* 102 */ NdrFcShort( 0x0 ), /* 0 */ -/* 104 */ NdrFcShort( 0x1 ), /* 1 */ -/* 106 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter offset */ - -/* 108 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 110 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 112 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter text */ - -/* 114 */ NdrFcShort( 0x10b ), /* Flags: must size, must free, in, simple ref, */ -/* 116 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 118 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ - - /* Return value */ - -/* 120 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 122 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 124 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure cutText */ - -/* 126 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 128 */ NdrFcLong( 0x0 ), /* 0 */ -/* 132 */ NdrFcShort( 0x6 ), /* 6 */ -/* 134 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 136 */ NdrFcShort( 0x10 ), /* 16 */ -/* 138 */ NdrFcShort( 0x8 ), /* 8 */ -/* 140 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x3, /* 3 */ -/* 142 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 144 */ NdrFcShort( 0x0 ), /* 0 */ -/* 146 */ NdrFcShort( 0x0 ), /* 0 */ -/* 148 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter startOffset */ - -/* 150 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 152 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 154 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter endOffset */ - -/* 156 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 158 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 160 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 162 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 164 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 166 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure pasteText */ - -/* 168 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 170 */ NdrFcLong( 0x0 ), /* 0 */ -/* 174 */ NdrFcShort( 0x7 ), /* 7 */ -/* 176 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 178 */ NdrFcShort( 0x8 ), /* 8 */ -/* 180 */ NdrFcShort( 0x8 ), /* 8 */ -/* 182 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 184 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 186 */ NdrFcShort( 0x0 ), /* 0 */ -/* 188 */ NdrFcShort( 0x0 ), /* 0 */ -/* 190 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter offset */ - -/* 192 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 194 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 196 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 198 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 200 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 202 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure replaceText */ - -/* 204 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 206 */ NdrFcLong( 0x0 ), /* 0 */ -/* 210 */ NdrFcShort( 0x8 ), /* 8 */ -/* 212 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 214 */ NdrFcShort( 0x10 ), /* 16 */ -/* 216 */ NdrFcShort( 0x8 ), /* 8 */ -/* 218 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ - 0x4, /* 4 */ -/* 220 */ 0x8, /* 8 */ - 0x5, /* Ext Flags: new corr desc, srv corr check, */ -/* 222 */ NdrFcShort( 0x0 ), /* 0 */ -/* 224 */ NdrFcShort( 0x1 ), /* 1 */ -/* 226 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter startOffset */ - -/* 228 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 230 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 232 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter endOffset */ - -/* 234 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 236 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 238 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter text */ - -/* 240 */ NdrFcShort( 0x10b ), /* Flags: must size, must free, in, simple ref, */ -/* 242 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 244 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ - - /* Return value */ - -/* 246 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 248 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 250 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure setAttributes */ - -/* 252 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 254 */ NdrFcLong( 0x0 ), /* 0 */ -/* 258 */ NdrFcShort( 0x9 ), /* 9 */ -/* 260 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 262 */ NdrFcShort( 0x10 ), /* 16 */ -/* 264 */ NdrFcShort( 0x8 ), /* 8 */ -/* 266 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ - 0x4, /* 4 */ -/* 268 */ 0x8, /* 8 */ - 0x5, /* Ext Flags: new corr desc, srv corr check, */ -/* 270 */ NdrFcShort( 0x0 ), /* 0 */ -/* 272 */ NdrFcShort( 0x1 ), /* 1 */ -/* 274 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter startOffset */ - -/* 276 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 278 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 280 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter endOffset */ - -/* 282 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 284 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 286 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter attributes */ - -/* 288 */ NdrFcShort( 0x10b ), /* Flags: must size, must free, in, simple ref, */ -/* 290 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 292 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ - - /* Return value */ - -/* 294 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 296 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 298 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - 0x0 - } - }; - -static const AccessibleEditableText_MIDL_TYPE_FORMAT_STRING AccessibleEditableText__MIDL_TypeFormatString = - { - 0, - { - NdrFcShort( 0x0 ), /* 0 */ -/* 2 */ - 0x11, 0x0, /* FC_RP */ -/* 4 */ NdrFcShort( 0x1c ), /* Offset= 28 (32) */ -/* 6 */ - 0x12, 0x0, /* FC_UP */ -/* 8 */ NdrFcShort( 0xe ), /* Offset= 14 (22) */ -/* 10 */ - 0x1b, /* FC_CARRAY */ - 0x1, /* 1 */ -/* 12 */ NdrFcShort( 0x2 ), /* 2 */ -/* 14 */ 0x9, /* Corr desc: FC_ULONG */ - 0x0, /* */ -/* 16 */ NdrFcShort( 0xfffc ), /* -4 */ -/* 18 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 20 */ 0x6, /* FC_SHORT */ - 0x5b, /* FC_END */ -/* 22 */ - 0x17, /* FC_CSTRUCT */ - 0x3, /* 3 */ -/* 24 */ NdrFcShort( 0x8 ), /* 8 */ -/* 26 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (10) */ -/* 28 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 30 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 32 */ 0xb4, /* FC_USER_MARSHAL */ - 0x83, /* 131 */ -/* 34 */ NdrFcShort( 0x0 ), /* 0 */ -/* 36 */ NdrFcShort( 0x4 ), /* 4 */ -/* 38 */ NdrFcShort( 0x0 ), /* 0 */ -/* 40 */ NdrFcShort( 0xffde ), /* Offset= -34 (6) */ - - 0x0 - } - }; - -static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] = - { - - { - BSTR_UserSize - ,BSTR_UserMarshal - ,BSTR_UserUnmarshal - ,BSTR_UserFree - } - - }; - - - -/* Object interface: IUnknown, ver. 0.0, - GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */ - - -/* Object interface: IAccessibleEditableText, ver. 0.0, - GUID={0xA59AA09A,0x7011,0x4b65,{0x93,0x9D,0x32,0xB1,0xFB,0x55,0x47,0xE3}} */ - -#pragma code_seg(".orpc") -static const unsigned short IAccessibleEditableText_FormatStringOffsetTable[] = - { - 0, - 42, - 84, - 126, - 168, - 204, - 252 - }; - -static const MIDL_STUBLESS_PROXY_INFO IAccessibleEditableText_ProxyInfo = - { - &Object_StubDesc, - AccessibleEditableText__MIDL_ProcFormatString.Format, - &IAccessibleEditableText_FormatStringOffsetTable[-3], - 0, - 0, - 0 - }; - - -static const MIDL_SERVER_INFO IAccessibleEditableText_ServerInfo = - { - &Object_StubDesc, - 0, - AccessibleEditableText__MIDL_ProcFormatString.Format, - &IAccessibleEditableText_FormatStringOffsetTable[-3], - 0, - 0, - 0, - 0}; -CINTERFACE_PROXY_VTABLE(10) _IAccessibleEditableTextProxyVtbl = -{ - &IAccessibleEditableText_ProxyInfo, - &IID_IAccessibleEditableText, - IUnknown_QueryInterface_Proxy, - IUnknown_AddRef_Proxy, - IUnknown_Release_Proxy , - (void *) (INT_PTR) -1 /* IAccessibleEditableText::copyText */ , - (void *) (INT_PTR) -1 /* IAccessibleEditableText::deleteText */ , - (void *) (INT_PTR) -1 /* IAccessibleEditableText::insertText */ , - (void *) (INT_PTR) -1 /* IAccessibleEditableText::cutText */ , - (void *) (INT_PTR) -1 /* IAccessibleEditableText::pasteText */ , - (void *) (INT_PTR) -1 /* IAccessibleEditableText::replaceText */ , - (void *) (INT_PTR) -1 /* IAccessibleEditableText::setAttributes */ -}; - -const CInterfaceStubVtbl _IAccessibleEditableTextStubVtbl = -{ - &IID_IAccessibleEditableText, - &IAccessibleEditableText_ServerInfo, - 10, - 0, /* pure interpreted */ - CStdStubBuffer_METHODS -}; - -static const MIDL_STUB_DESC Object_StubDesc = - { - 0, - NdrOleAllocate, - NdrOleFree, - 0, - 0, - 0, - 0, - 0, - AccessibleEditableText__MIDL_TypeFormatString.Format, - 1, /* -error bounds_check flag */ - 0x50002, /* Ndr library version */ - 0, - 0x700022b, /* MIDL Version 7.0.555 */ - 0, - UserMarshalRoutines, - 0, /* notify & notify_flag routine table */ - 0x1, /* MIDL flag */ - 0, /* cs routines */ - 0, /* proxy/server info */ - 0 - }; - -const CInterfaceProxyVtbl * const _AccessibleEditableText_ProxyVtblList[] = -{ - ( CInterfaceProxyVtbl *) &_IAccessibleEditableTextProxyVtbl, - 0 -}; - -const CInterfaceStubVtbl * const _AccessibleEditableText_StubVtblList[] = -{ - ( CInterfaceStubVtbl *) &_IAccessibleEditableTextStubVtbl, - 0 -}; - -PCInterfaceName const _AccessibleEditableText_InterfaceNamesList[] = -{ - "IAccessibleEditableText", - 0 -}; - - -#define _AccessibleEditableText_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleEditableText, pIID, n) - -int __stdcall _AccessibleEditableText_IID_Lookup( const IID * pIID, int * pIndex ) -{ - - if(!_AccessibleEditableText_CHECK_IID(0)) - { - *pIndex = 0; - return 1; - } - - return 0; -} - -const ExtendedProxyFileInfo AccessibleEditableText_ProxyFileInfo = -{ - (PCInterfaceProxyVtblList *) & _AccessibleEditableText_ProxyVtblList, - (PCInterfaceStubVtblList *) & _AccessibleEditableText_StubVtblList, - (const PCInterfaceName * ) & _AccessibleEditableText_InterfaceNamesList, - 0, /* no delegation */ - & _AccessibleEditableText_IID_Lookup, - 1, - 2, - 0, /* table of [async_uuid] interfaces */ - 0, /* Filler1 */ - 0, /* Filler2 */ - 0 /* Filler3 */ -}; -#pragma optimize("", on ) -#if _MSC_VER >= 1200 -#pragma warning(pop) -#endif - - -#endif /* !defined(_M_IA64) && !defined(_M_AMD64)*/ - diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleEventID.h b/src/3rdparty/iaccessible2/generated/x86/AccessibleEventID.h deleted file mode 100644 index 252375d0c6..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/AccessibleEventID.h +++ /dev/null @@ -1,105 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:53 2012 - */ -/* Compiler settings for AccessibleEventID.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the <rpcndr.h> version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of <rpcndr.h> -#endif // __RPCNDR_H_VERSION__ - - -#ifndef __AccessibleEventID_h__ -#define __AccessibleEventID_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -#ifdef __cplusplus -extern "C"{ -#endif - - -/* interface __MIDL_itf_AccessibleEventID_0000_0000 */ -/* [local] */ - - -enum IA2EventID - { IA2_EVENT_ACTION_CHANGED = 0x101, - IA2_EVENT_ACTIVE_DECENDENT_CHANGED = ( IA2_EVENT_ACTION_CHANGED + 1 ) , - IA2_EVENT_ACTIVE_DESCENDANT_CHANGED = IA2_EVENT_ACTIVE_DECENDENT_CHANGED, - IA2_EVENT_DOCUMENT_ATTRIBUTE_CHANGED = ( IA2_EVENT_ACTIVE_DESCENDANT_CHANGED + 1 ) , - IA2_EVENT_DOCUMENT_CONTENT_CHANGED = ( IA2_EVENT_DOCUMENT_ATTRIBUTE_CHANGED + 1 ) , - IA2_EVENT_DOCUMENT_LOAD_COMPLETE = ( IA2_EVENT_DOCUMENT_CONTENT_CHANGED + 1 ) , - IA2_EVENT_DOCUMENT_LOAD_STOPPED = ( IA2_EVENT_DOCUMENT_LOAD_COMPLETE + 1 ) , - IA2_EVENT_DOCUMENT_RELOAD = ( IA2_EVENT_DOCUMENT_LOAD_STOPPED + 1 ) , - IA2_EVENT_HYPERLINK_END_INDEX_CHANGED = ( IA2_EVENT_DOCUMENT_RELOAD + 1 ) , - IA2_EVENT_HYPERLINK_NUMBER_OF_ANCHORS_CHANGED = ( IA2_EVENT_HYPERLINK_END_INDEX_CHANGED + 1 ) , - IA2_EVENT_HYPERLINK_SELECTED_LINK_CHANGED = ( IA2_EVENT_HYPERLINK_NUMBER_OF_ANCHORS_CHANGED + 1 ) , - IA2_EVENT_HYPERTEXT_LINK_ACTIVATED = ( IA2_EVENT_HYPERLINK_SELECTED_LINK_CHANGED + 1 ) , - IA2_EVENT_HYPERTEXT_LINK_SELECTED = ( IA2_EVENT_HYPERTEXT_LINK_ACTIVATED + 1 ) , - IA2_EVENT_HYPERLINK_START_INDEX_CHANGED = ( IA2_EVENT_HYPERTEXT_LINK_SELECTED + 1 ) , - IA2_EVENT_HYPERTEXT_CHANGED = ( IA2_EVENT_HYPERLINK_START_INDEX_CHANGED + 1 ) , - IA2_EVENT_HYPERTEXT_NLINKS_CHANGED = ( IA2_EVENT_HYPERTEXT_CHANGED + 1 ) , - IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED = ( IA2_EVENT_HYPERTEXT_NLINKS_CHANGED + 1 ) , - IA2_EVENT_PAGE_CHANGED = ( IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED + 1 ) , - IA2_EVENT_SECTION_CHANGED = ( IA2_EVENT_PAGE_CHANGED + 1 ) , - IA2_EVENT_TABLE_CAPTION_CHANGED = ( IA2_EVENT_SECTION_CHANGED + 1 ) , - IA2_EVENT_TABLE_COLUMN_DESCRIPTION_CHANGED = ( IA2_EVENT_TABLE_CAPTION_CHANGED + 1 ) , - IA2_EVENT_TABLE_COLUMN_HEADER_CHANGED = ( IA2_EVENT_TABLE_COLUMN_DESCRIPTION_CHANGED + 1 ) , - IA2_EVENT_TABLE_MODEL_CHANGED = ( IA2_EVENT_TABLE_COLUMN_HEADER_CHANGED + 1 ) , - IA2_EVENT_TABLE_ROW_DESCRIPTION_CHANGED = ( IA2_EVENT_TABLE_MODEL_CHANGED + 1 ) , - IA2_EVENT_TABLE_ROW_HEADER_CHANGED = ( IA2_EVENT_TABLE_ROW_DESCRIPTION_CHANGED + 1 ) , - IA2_EVENT_TABLE_SUMMARY_CHANGED = ( IA2_EVENT_TABLE_ROW_HEADER_CHANGED + 1 ) , - IA2_EVENT_TEXT_ATTRIBUTE_CHANGED = ( IA2_EVENT_TABLE_SUMMARY_CHANGED + 1 ) , - IA2_EVENT_TEXT_CARET_MOVED = ( IA2_EVENT_TEXT_ATTRIBUTE_CHANGED + 1 ) , - IA2_EVENT_TEXT_CHANGED = ( IA2_EVENT_TEXT_CARET_MOVED + 1 ) , - IA2_EVENT_TEXT_COLUMN_CHANGED = ( IA2_EVENT_TEXT_CHANGED + 1 ) , - IA2_EVENT_TEXT_INSERTED = ( IA2_EVENT_TEXT_COLUMN_CHANGED + 1 ) , - IA2_EVENT_TEXT_REMOVED = ( IA2_EVENT_TEXT_INSERTED + 1 ) , - IA2_EVENT_TEXT_UPDATED = ( IA2_EVENT_TEXT_REMOVED + 1 ) , - IA2_EVENT_TEXT_SELECTION_CHANGED = ( IA2_EVENT_TEXT_UPDATED + 1 ) , - IA2_EVENT_VISIBLE_DATA_CHANGED = ( IA2_EVENT_TEXT_SELECTION_CHANGED + 1 ) - } ; - - -extern RPC_IF_HANDLE __MIDL_itf_AccessibleEventID_0000_0000_v0_0_c_ifspec; -extern RPC_IF_HANDLE __MIDL_itf_AccessibleEventID_0000_0000_v0_0_s_ifspec; - -/* Additional Prototypes for ALL interfaces */ - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleHyperlink.h b/src/3rdparty/iaccessible2/generated/x86/AccessibleHyperlink.h deleted file mode 100644 index 858e6bbd9a..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/AccessibleHyperlink.h +++ /dev/null @@ -1,252 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:53 2012 - */ -/* Compiler settings for AccessibleHyperlink.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the <rpcndr.h> version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of <rpcndr.h> -#endif // __RPCNDR_H_VERSION__ - -#ifndef COM_NO_WINDOWS_H -#include "windows.h" -#include "ole2.h" -#endif /*COM_NO_WINDOWS_H*/ - -#ifndef __AccessibleHyperlink_h__ -#define __AccessibleHyperlink_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -#ifndef __IAccessibleHyperlink_FWD_DEFINED__ -#define __IAccessibleHyperlink_FWD_DEFINED__ -typedef interface IAccessibleHyperlink IAccessibleHyperlink; -#endif /* __IAccessibleHyperlink_FWD_DEFINED__ */ - - -/* header files for imported files */ -#include "objidl.h" -#include "oaidl.h" -#include "oleacc.h" -#include "AccessibleAction.h" - -#ifdef __cplusplus -extern "C"{ -#endif - - -#ifndef __IAccessibleHyperlink_INTERFACE_DEFINED__ -#define __IAccessibleHyperlink_INTERFACE_DEFINED__ - -/* interface IAccessibleHyperlink */ -/* [uuid][object] */ - - -EXTERN_C const IID IID_IAccessibleHyperlink; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("01C20F2B-3DD2-400f-949F-AD00BDAB1D41") - IAccessibleHyperlink : public IAccessibleAction - { - public: - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_anchor( - /* [in] */ long index, - /* [retval][out] */ VARIANT *anchor) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_anchorTarget( - /* [in] */ long index, - /* [retval][out] */ VARIANT *anchorTarget) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_startIndex( - /* [retval][out] */ long *index) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_endIndex( - /* [retval][out] */ long *index) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_valid( - /* [retval][out] */ boolean *valid) = 0; - - }; - -#else /* C style interface */ - - typedef struct IAccessibleHyperlinkVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IAccessibleHyperlink * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IAccessibleHyperlink * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IAccessibleHyperlink * This); - - HRESULT ( STDMETHODCALLTYPE *nActions )( - IAccessibleHyperlink * This, - /* [retval][out] */ long *nActions); - - HRESULT ( STDMETHODCALLTYPE *doAction )( - IAccessibleHyperlink * This, - /* [in] */ long actionIndex); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_description )( - IAccessibleHyperlink * This, - /* [in] */ long actionIndex, - /* [retval][out] */ BSTR *description); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_keyBinding )( - IAccessibleHyperlink * This, - /* [in] */ long actionIndex, - /* [in] */ long nMaxBindings, - /* [length_is][length_is][size_is][size_is][out] */ BSTR **keyBindings, - /* [retval][out] */ long *nBindings); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( - IAccessibleHyperlink * This, - /* [in] */ long actionIndex, - /* [retval][out] */ BSTR *name); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedName )( - IAccessibleHyperlink * This, - /* [in] */ long actionIndex, - /* [retval][out] */ BSTR *localizedName); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_anchor )( - IAccessibleHyperlink * This, - /* [in] */ long index, - /* [retval][out] */ VARIANT *anchor); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_anchorTarget )( - IAccessibleHyperlink * This, - /* [in] */ long index, - /* [retval][out] */ VARIANT *anchorTarget); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_startIndex )( - IAccessibleHyperlink * This, - /* [retval][out] */ long *index); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_endIndex )( - IAccessibleHyperlink * This, - /* [retval][out] */ long *index); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_valid )( - IAccessibleHyperlink * This, - /* [retval][out] */ boolean *valid); - - END_INTERFACE - } IAccessibleHyperlinkVtbl; - - interface IAccessibleHyperlink - { - CONST_VTBL struct IAccessibleHyperlinkVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IAccessibleHyperlink_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IAccessibleHyperlink_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IAccessibleHyperlink_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IAccessibleHyperlink_nActions(This,nActions) \ - ( (This)->lpVtbl -> nActions(This,nActions) ) - -#define IAccessibleHyperlink_doAction(This,actionIndex) \ - ( (This)->lpVtbl -> doAction(This,actionIndex) ) - -#define IAccessibleHyperlink_get_description(This,actionIndex,description) \ - ( (This)->lpVtbl -> get_description(This,actionIndex,description) ) - -#define IAccessibleHyperlink_get_keyBinding(This,actionIndex,nMaxBindings,keyBindings,nBindings) \ - ( (This)->lpVtbl -> get_keyBinding(This,actionIndex,nMaxBindings,keyBindings,nBindings) ) - -#define IAccessibleHyperlink_get_name(This,actionIndex,name) \ - ( (This)->lpVtbl -> get_name(This,actionIndex,name) ) - -#define IAccessibleHyperlink_get_localizedName(This,actionIndex,localizedName) \ - ( (This)->lpVtbl -> get_localizedName(This,actionIndex,localizedName) ) - - -#define IAccessibleHyperlink_get_anchor(This,index,anchor) \ - ( (This)->lpVtbl -> get_anchor(This,index,anchor) ) - -#define IAccessibleHyperlink_get_anchorTarget(This,index,anchorTarget) \ - ( (This)->lpVtbl -> get_anchorTarget(This,index,anchorTarget) ) - -#define IAccessibleHyperlink_get_startIndex(This,index) \ - ( (This)->lpVtbl -> get_startIndex(This,index) ) - -#define IAccessibleHyperlink_get_endIndex(This,index) \ - ( (This)->lpVtbl -> get_endIndex(This,index) ) - -#define IAccessibleHyperlink_get_valid(This,valid) \ - ( (This)->lpVtbl -> get_valid(This,valid) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IAccessibleHyperlink_INTERFACE_DEFINED__ */ - - -/* Additional Prototypes for ALL interfaces */ - -unsigned long __RPC_USER VARIANT_UserSize( unsigned long *, unsigned long , VARIANT * ); -unsigned char * __RPC_USER VARIANT_UserMarshal( unsigned long *, unsigned char *, VARIANT * ); -unsigned char * __RPC_USER VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); -void __RPC_USER VARIANT_UserFree( unsigned long *, VARIANT * ); - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleHyperlink_i.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleHyperlink_i.c deleted file mode 100644 index ef0921fe4c..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/AccessibleHyperlink_i.c +++ /dev/null @@ -1,79 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */ - -/* link this file in with the server and any clients */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:53 2012 - */ -/* Compiler settings for AccessibleHyperlink.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -#ifdef __cplusplus -extern "C"{ -#endif - - -#include <rpc.h> -#include <rpcndr.h> - -#ifdef _MIDL_USE_GUIDDEF_ - -#ifndef INITGUID -#define INITGUID -#include <guiddef.h> -#undef INITGUID -#else -#include <guiddef.h> -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) - -#else // !_MIDL_USE_GUIDDEF_ - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - -typedef struct _IID -{ - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; -} IID; - -#endif // __IID_DEFINED__ - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED -typedef IID CLSID; -#endif // CLSID_DEFINED - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} - -#endif !_MIDL_USE_GUIDDEF_ - -MIDL_DEFINE_GUID(IID, IID_IAccessibleHyperlink,0x01C20F2B,0x3DD2,0x400f,0x94,0x9F,0xAD,0x00,0xBD,0xAB,0x1D,0x41); - -#undef MIDL_DEFINE_GUID - -#ifdef __cplusplus -} -#endif - - - diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleHyperlink_p.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleHyperlink_p.c deleted file mode 100644 index c608123261..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/AccessibleHyperlink_p.c +++ /dev/null @@ -1,1191 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the proxy stub code */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:53 2012 - */ -/* Compiler settings for AccessibleHyperlink.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#if !defined(_M_IA64) && !defined(_M_AMD64) - - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ -#if _MSC_VER >= 1200 -#pragma warning(push) -#endif - -#pragma warning( disable: 4211 ) /* redefine extern to static */ -#pragma warning( disable: 4232 ) /* dllimport identity*/ -#pragma warning( disable: 4024 ) /* array to pointer mapping*/ -#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */ -#pragma warning( disable: 4100 ) /* unreferenced arguments in x86 call */ - -#pragma optimize("", off ) - -#define USE_STUBLESS_PROXY - - -/* verify that the <rpcproxy.h> version is high enough to compile this file*/ -#ifndef __REDQ_RPCPROXY_H_VERSION__ -#define __REQUIRED_RPCPROXY_H_VERSION__ 475 -#endif - - -#include "rpcproxy.h" -#ifndef __RPCPROXY_H_VERSION__ -#error this stub requires an updated version of <rpcproxy.h> -#endif /* __RPCPROXY_H_VERSION__ */ - - -#include "AccessibleHyperlink.h" - -#define TYPE_FORMAT_STRING_SIZE 1047 -#define PROC_FORMAT_STRING_SIZE 193 -#define EXPR_FORMAT_STRING_SIZE 1 -#define TRANSMIT_AS_TABLE_SIZE 0 -#define WIRE_MARSHAL_TABLE_SIZE 1 - -typedef struct _AccessibleHyperlink_MIDL_TYPE_FORMAT_STRING - { - short Pad; - unsigned char Format[ TYPE_FORMAT_STRING_SIZE ]; - } AccessibleHyperlink_MIDL_TYPE_FORMAT_STRING; - -typedef struct _AccessibleHyperlink_MIDL_PROC_FORMAT_STRING - { - short Pad; - unsigned char Format[ PROC_FORMAT_STRING_SIZE ]; - } AccessibleHyperlink_MIDL_PROC_FORMAT_STRING; - -typedef struct _AccessibleHyperlink_MIDL_EXPR_FORMAT_STRING - { - long Pad; - unsigned char Format[ EXPR_FORMAT_STRING_SIZE ]; - } AccessibleHyperlink_MIDL_EXPR_FORMAT_STRING; - - -static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax = -{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}}; - - -extern const AccessibleHyperlink_MIDL_TYPE_FORMAT_STRING AccessibleHyperlink__MIDL_TypeFormatString; -extern const AccessibleHyperlink_MIDL_PROC_FORMAT_STRING AccessibleHyperlink__MIDL_ProcFormatString; -extern const AccessibleHyperlink_MIDL_EXPR_FORMAT_STRING AccessibleHyperlink__MIDL_ExprFormatString; - - -extern const MIDL_STUB_DESC Object_StubDesc; - - -extern const MIDL_SERVER_INFO IAccessibleHyperlink_ServerInfo; -extern const MIDL_STUBLESS_PROXY_INFO IAccessibleHyperlink_ProxyInfo; - - -extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ]; - -#if !defined(__RPC_WIN32__) -#error Invalid build platform for this stub. -#endif - -#if !(TARGET_IS_NT50_OR_LATER) -#error You need Windows 2000 or later to run this stub because it uses these features: -#error /robust command line switch. -#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems. -#error This app will fail with the RPC_X_WRONG_STUB_VERSION error. -#endif - - -static const AccessibleHyperlink_MIDL_PROC_FORMAT_STRING AccessibleHyperlink__MIDL_ProcFormatString = - { - 0, - { - - /* Procedure get_anchor */ - - 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 2 */ NdrFcLong( 0x0 ), /* 0 */ -/* 6 */ NdrFcShort( 0x9 ), /* 9 */ -/* 8 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 10 */ NdrFcShort( 0x8 ), /* 8 */ -/* 12 */ NdrFcShort( 0x8 ), /* 8 */ -/* 14 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x3, /* 3 */ -/* 16 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 18 */ NdrFcShort( 0x1 ), /* 1 */ -/* 20 */ NdrFcShort( 0x0 ), /* 0 */ -/* 22 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter index */ - -/* 24 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 26 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 28 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter anchor */ - -/* 30 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ -/* 32 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 34 */ NdrFcShort( 0x404 ), /* Type Offset=1028 */ - - /* Return value */ - -/* 36 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 38 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 40 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_anchorTarget */ - -/* 42 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 44 */ NdrFcLong( 0x0 ), /* 0 */ -/* 48 */ NdrFcShort( 0xa ), /* 10 */ -/* 50 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 52 */ NdrFcShort( 0x8 ), /* 8 */ -/* 54 */ NdrFcShort( 0x8 ), /* 8 */ -/* 56 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x3, /* 3 */ -/* 58 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 60 */ NdrFcShort( 0x1 ), /* 1 */ -/* 62 */ NdrFcShort( 0x0 ), /* 0 */ -/* 64 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter index */ - -/* 66 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 68 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 70 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter anchorTarget */ - -/* 72 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ -/* 74 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 76 */ NdrFcShort( 0x404 ), /* Type Offset=1028 */ - - /* Return value */ - -/* 78 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 80 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 82 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_startIndex */ - -/* 84 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 86 */ NdrFcLong( 0x0 ), /* 0 */ -/* 90 */ NdrFcShort( 0xb ), /* 11 */ -/* 92 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 94 */ NdrFcShort( 0x0 ), /* 0 */ -/* 96 */ NdrFcShort( 0x24 ), /* 36 */ -/* 98 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 100 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 102 */ NdrFcShort( 0x0 ), /* 0 */ -/* 104 */ NdrFcShort( 0x0 ), /* 0 */ -/* 106 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter index */ - -/* 108 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 110 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 112 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 114 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 116 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 118 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_endIndex */ - -/* 120 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 122 */ NdrFcLong( 0x0 ), /* 0 */ -/* 126 */ NdrFcShort( 0xc ), /* 12 */ -/* 128 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 130 */ NdrFcShort( 0x0 ), /* 0 */ -/* 132 */ NdrFcShort( 0x24 ), /* 36 */ -/* 134 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 136 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 138 */ NdrFcShort( 0x0 ), /* 0 */ -/* 140 */ NdrFcShort( 0x0 ), /* 0 */ -/* 142 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter index */ - -/* 144 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 146 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 148 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 150 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 152 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 154 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_valid */ - -/* 156 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 158 */ NdrFcLong( 0x0 ), /* 0 */ -/* 162 */ NdrFcShort( 0xd ), /* 13 */ -/* 164 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 166 */ NdrFcShort( 0x0 ), /* 0 */ -/* 168 */ NdrFcShort( 0x21 ), /* 33 */ -/* 170 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 172 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 174 */ NdrFcShort( 0x0 ), /* 0 */ -/* 176 */ NdrFcShort( 0x0 ), /* 0 */ -/* 178 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter valid */ - -/* 180 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 182 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 184 */ 0x3, /* FC_SMALL */ - 0x0, /* 0 */ - - /* Return value */ - -/* 186 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 188 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 190 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - 0x0 - } - }; - -static const AccessibleHyperlink_MIDL_TYPE_FORMAT_STRING AccessibleHyperlink__MIDL_TypeFormatString = - { - 0, - { - NdrFcShort( 0x0 ), /* 0 */ -/* 2 */ - 0x11, 0x4, /* FC_RP [alloced_on_stack] */ -/* 4 */ NdrFcShort( 0x400 ), /* Offset= 1024 (1028) */ -/* 6 */ - 0x13, 0x0, /* FC_OP */ -/* 8 */ NdrFcShort( 0x3e8 ), /* Offset= 1000 (1008) */ -/* 10 */ - 0x2b, /* FC_NON_ENCAPSULATED_UNION */ - 0x9, /* FC_ULONG */ -/* 12 */ 0x7, /* Corr desc: FC_USHORT */ - 0x0, /* */ -/* 14 */ NdrFcShort( 0xfff8 ), /* -8 */ -/* 16 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 18 */ NdrFcShort( 0x2 ), /* Offset= 2 (20) */ -/* 20 */ NdrFcShort( 0x10 ), /* 16 */ -/* 22 */ NdrFcShort( 0x2f ), /* 47 */ -/* 24 */ NdrFcLong( 0x14 ), /* 20 */ -/* 28 */ NdrFcShort( 0x800b ), /* Simple arm type: FC_HYPER */ -/* 30 */ NdrFcLong( 0x3 ), /* 3 */ -/* 34 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ -/* 36 */ NdrFcLong( 0x11 ), /* 17 */ -/* 40 */ NdrFcShort( 0x8001 ), /* Simple arm type: FC_BYTE */ -/* 42 */ NdrFcLong( 0x2 ), /* 2 */ -/* 46 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */ -/* 48 */ NdrFcLong( 0x4 ), /* 4 */ -/* 52 */ NdrFcShort( 0x800a ), /* Simple arm type: FC_FLOAT */ -/* 54 */ NdrFcLong( 0x5 ), /* 5 */ -/* 58 */ NdrFcShort( 0x800c ), /* Simple arm type: FC_DOUBLE */ -/* 60 */ NdrFcLong( 0xb ), /* 11 */ -/* 64 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */ -/* 66 */ NdrFcLong( 0xa ), /* 10 */ -/* 70 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ -/* 72 */ NdrFcLong( 0x6 ), /* 6 */ -/* 76 */ NdrFcShort( 0xe8 ), /* Offset= 232 (308) */ -/* 78 */ NdrFcLong( 0x7 ), /* 7 */ -/* 82 */ NdrFcShort( 0x800c ), /* Simple arm type: FC_DOUBLE */ -/* 84 */ NdrFcLong( 0x8 ), /* 8 */ -/* 88 */ NdrFcShort( 0xe2 ), /* Offset= 226 (314) */ -/* 90 */ NdrFcLong( 0xd ), /* 13 */ -/* 94 */ NdrFcShort( 0xf6 ), /* Offset= 246 (340) */ -/* 96 */ NdrFcLong( 0x9 ), /* 9 */ -/* 100 */ NdrFcShort( 0x102 ), /* Offset= 258 (358) */ -/* 102 */ NdrFcLong( 0x2000 ), /* 8192 */ -/* 106 */ NdrFcShort( 0x10e ), /* Offset= 270 (376) */ -/* 108 */ NdrFcLong( 0x24 ), /* 36 */ -/* 112 */ NdrFcShort( 0x336 ), /* Offset= 822 (934) */ -/* 114 */ NdrFcLong( 0x4024 ), /* 16420 */ -/* 118 */ NdrFcShort( 0x330 ), /* Offset= 816 (934) */ -/* 120 */ NdrFcLong( 0x4011 ), /* 16401 */ -/* 124 */ NdrFcShort( 0x32e ), /* Offset= 814 (938) */ -/* 126 */ NdrFcLong( 0x4002 ), /* 16386 */ -/* 130 */ NdrFcShort( 0x32c ), /* Offset= 812 (942) */ -/* 132 */ NdrFcLong( 0x4003 ), /* 16387 */ -/* 136 */ NdrFcShort( 0x32a ), /* Offset= 810 (946) */ -/* 138 */ NdrFcLong( 0x4014 ), /* 16404 */ -/* 142 */ NdrFcShort( 0x328 ), /* Offset= 808 (950) */ -/* 144 */ NdrFcLong( 0x4004 ), /* 16388 */ -/* 148 */ NdrFcShort( 0x326 ), /* Offset= 806 (954) */ -/* 150 */ NdrFcLong( 0x4005 ), /* 16389 */ -/* 154 */ NdrFcShort( 0x324 ), /* Offset= 804 (958) */ -/* 156 */ NdrFcLong( 0x400b ), /* 16395 */ -/* 160 */ NdrFcShort( 0x30e ), /* Offset= 782 (942) */ -/* 162 */ NdrFcLong( 0x400a ), /* 16394 */ -/* 166 */ NdrFcShort( 0x30c ), /* Offset= 780 (946) */ -/* 168 */ NdrFcLong( 0x4006 ), /* 16390 */ -/* 172 */ NdrFcShort( 0x316 ), /* Offset= 790 (962) */ -/* 174 */ NdrFcLong( 0x4007 ), /* 16391 */ -/* 178 */ NdrFcShort( 0x30c ), /* Offset= 780 (958) */ -/* 180 */ NdrFcLong( 0x4008 ), /* 16392 */ -/* 184 */ NdrFcShort( 0x30e ), /* Offset= 782 (966) */ -/* 186 */ NdrFcLong( 0x400d ), /* 16397 */ -/* 190 */ NdrFcShort( 0x30c ), /* Offset= 780 (970) */ -/* 192 */ NdrFcLong( 0x4009 ), /* 16393 */ -/* 196 */ NdrFcShort( 0x30a ), /* Offset= 778 (974) */ -/* 198 */ NdrFcLong( 0x6000 ), /* 24576 */ -/* 202 */ NdrFcShort( 0x308 ), /* Offset= 776 (978) */ -/* 204 */ NdrFcLong( 0x400c ), /* 16396 */ -/* 208 */ NdrFcShort( 0x306 ), /* Offset= 774 (982) */ -/* 210 */ NdrFcLong( 0x10 ), /* 16 */ -/* 214 */ NdrFcShort( 0x8002 ), /* Simple arm type: FC_CHAR */ -/* 216 */ NdrFcLong( 0x12 ), /* 18 */ -/* 220 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */ -/* 222 */ NdrFcLong( 0x13 ), /* 19 */ -/* 226 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ -/* 228 */ NdrFcLong( 0x15 ), /* 21 */ -/* 232 */ NdrFcShort( 0x800b ), /* Simple arm type: FC_HYPER */ -/* 234 */ NdrFcLong( 0x16 ), /* 22 */ -/* 238 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ -/* 240 */ NdrFcLong( 0x17 ), /* 23 */ -/* 244 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ -/* 246 */ NdrFcLong( 0xe ), /* 14 */ -/* 250 */ NdrFcShort( 0x2e4 ), /* Offset= 740 (990) */ -/* 252 */ NdrFcLong( 0x400e ), /* 16398 */ -/* 256 */ NdrFcShort( 0x2e8 ), /* Offset= 744 (1000) */ -/* 258 */ NdrFcLong( 0x4010 ), /* 16400 */ -/* 262 */ NdrFcShort( 0x2e6 ), /* Offset= 742 (1004) */ -/* 264 */ NdrFcLong( 0x4012 ), /* 16402 */ -/* 268 */ NdrFcShort( 0x2a2 ), /* Offset= 674 (942) */ -/* 270 */ NdrFcLong( 0x4013 ), /* 16403 */ -/* 274 */ NdrFcShort( 0x2a0 ), /* Offset= 672 (946) */ -/* 276 */ NdrFcLong( 0x4015 ), /* 16405 */ -/* 280 */ NdrFcShort( 0x29e ), /* Offset= 670 (950) */ -/* 282 */ NdrFcLong( 0x4016 ), /* 16406 */ -/* 286 */ NdrFcShort( 0x294 ), /* Offset= 660 (946) */ -/* 288 */ NdrFcLong( 0x4017 ), /* 16407 */ -/* 292 */ NdrFcShort( 0x28e ), /* Offset= 654 (946) */ -/* 294 */ NdrFcLong( 0x0 ), /* 0 */ -/* 298 */ NdrFcShort( 0x0 ), /* Offset= 0 (298) */ -/* 300 */ NdrFcLong( 0x1 ), /* 1 */ -/* 304 */ NdrFcShort( 0x0 ), /* Offset= 0 (304) */ -/* 306 */ NdrFcShort( 0xffff ), /* Offset= -1 (305) */ -/* 308 */ - 0x15, /* FC_STRUCT */ - 0x7, /* 7 */ -/* 310 */ NdrFcShort( 0x8 ), /* 8 */ -/* 312 */ 0xb, /* FC_HYPER */ - 0x5b, /* FC_END */ -/* 314 */ - 0x13, 0x0, /* FC_OP */ -/* 316 */ NdrFcShort( 0xe ), /* Offset= 14 (330) */ -/* 318 */ - 0x1b, /* FC_CARRAY */ - 0x1, /* 1 */ -/* 320 */ NdrFcShort( 0x2 ), /* 2 */ -/* 322 */ 0x9, /* Corr desc: FC_ULONG */ - 0x0, /* */ -/* 324 */ NdrFcShort( 0xfffc ), /* -4 */ -/* 326 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 328 */ 0x6, /* FC_SHORT */ - 0x5b, /* FC_END */ -/* 330 */ - 0x17, /* FC_CSTRUCT */ - 0x3, /* 3 */ -/* 332 */ NdrFcShort( 0x8 ), /* 8 */ -/* 334 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (318) */ -/* 336 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 338 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 340 */ - 0x2f, /* FC_IP */ - 0x5a, /* FC_CONSTANT_IID */ -/* 342 */ NdrFcLong( 0x0 ), /* 0 */ -/* 346 */ NdrFcShort( 0x0 ), /* 0 */ -/* 348 */ NdrFcShort( 0x0 ), /* 0 */ -/* 350 */ 0xc0, /* 192 */ - 0x0, /* 0 */ -/* 352 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 354 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 356 */ 0x0, /* 0 */ - 0x46, /* 70 */ -/* 358 */ - 0x2f, /* FC_IP */ - 0x5a, /* FC_CONSTANT_IID */ -/* 360 */ NdrFcLong( 0x20400 ), /* 132096 */ -/* 364 */ NdrFcShort( 0x0 ), /* 0 */ -/* 366 */ NdrFcShort( 0x0 ), /* 0 */ -/* 368 */ 0xc0, /* 192 */ - 0x0, /* 0 */ -/* 370 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 372 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 374 */ 0x0, /* 0 */ - 0x46, /* 70 */ -/* 376 */ - 0x13, 0x10, /* FC_OP [pointer_deref] */ -/* 378 */ NdrFcShort( 0x2 ), /* Offset= 2 (380) */ -/* 380 */ - 0x13, 0x0, /* FC_OP */ -/* 382 */ NdrFcShort( 0x216 ), /* Offset= 534 (916) */ -/* 384 */ - 0x2a, /* FC_ENCAPSULATED_UNION */ - 0x49, /* 73 */ -/* 386 */ NdrFcShort( 0x18 ), /* 24 */ -/* 388 */ NdrFcShort( 0xa ), /* 10 */ -/* 390 */ NdrFcLong( 0x8 ), /* 8 */ -/* 394 */ NdrFcShort( 0x5a ), /* Offset= 90 (484) */ -/* 396 */ NdrFcLong( 0xd ), /* 13 */ -/* 400 */ NdrFcShort( 0x7e ), /* Offset= 126 (526) */ -/* 402 */ NdrFcLong( 0x9 ), /* 9 */ -/* 406 */ NdrFcShort( 0x9e ), /* Offset= 158 (564) */ -/* 408 */ NdrFcLong( 0xc ), /* 12 */ -/* 412 */ NdrFcShort( 0xc8 ), /* Offset= 200 (612) */ -/* 414 */ NdrFcLong( 0x24 ), /* 36 */ -/* 418 */ NdrFcShort( 0x124 ), /* Offset= 292 (710) */ -/* 420 */ NdrFcLong( 0x800d ), /* 32781 */ -/* 424 */ NdrFcShort( 0x140 ), /* Offset= 320 (744) */ -/* 426 */ NdrFcLong( 0x10 ), /* 16 */ -/* 430 */ NdrFcShort( 0x15a ), /* Offset= 346 (776) */ -/* 432 */ NdrFcLong( 0x2 ), /* 2 */ -/* 436 */ NdrFcShort( 0x174 ), /* Offset= 372 (808) */ -/* 438 */ NdrFcLong( 0x3 ), /* 3 */ -/* 442 */ NdrFcShort( 0x18e ), /* Offset= 398 (840) */ -/* 444 */ NdrFcLong( 0x14 ), /* 20 */ -/* 448 */ NdrFcShort( 0x1a8 ), /* Offset= 424 (872) */ -/* 450 */ NdrFcShort( 0xffff ), /* Offset= -1 (449) */ -/* 452 */ - 0x1b, /* FC_CARRAY */ - 0x3, /* 3 */ -/* 454 */ NdrFcShort( 0x4 ), /* 4 */ -/* 456 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 458 */ NdrFcShort( 0x0 ), /* 0 */ -/* 460 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 462 */ - 0x4b, /* FC_PP */ - 0x5c, /* FC_PAD */ -/* 464 */ - 0x48, /* FC_VARIABLE_REPEAT */ - 0x49, /* FC_FIXED_OFFSET */ -/* 466 */ NdrFcShort( 0x4 ), /* 4 */ -/* 468 */ NdrFcShort( 0x0 ), /* 0 */ -/* 470 */ NdrFcShort( 0x1 ), /* 1 */ -/* 472 */ NdrFcShort( 0x0 ), /* 0 */ -/* 474 */ NdrFcShort( 0x0 ), /* 0 */ -/* 476 */ 0x13, 0x0, /* FC_OP */ -/* 478 */ NdrFcShort( 0xff6c ), /* Offset= -148 (330) */ -/* 480 */ - 0x5b, /* FC_END */ - - 0x8, /* FC_LONG */ -/* 482 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 484 */ - 0x16, /* FC_PSTRUCT */ - 0x3, /* 3 */ -/* 486 */ NdrFcShort( 0x8 ), /* 8 */ -/* 488 */ - 0x4b, /* FC_PP */ - 0x5c, /* FC_PAD */ -/* 490 */ - 0x46, /* FC_NO_REPEAT */ - 0x5c, /* FC_PAD */ -/* 492 */ NdrFcShort( 0x4 ), /* 4 */ -/* 494 */ NdrFcShort( 0x4 ), /* 4 */ -/* 496 */ 0x11, 0x0, /* FC_RP */ -/* 498 */ NdrFcShort( 0xffd2 ), /* Offset= -46 (452) */ -/* 500 */ - 0x5b, /* FC_END */ - - 0x8, /* FC_LONG */ -/* 502 */ 0x8, /* FC_LONG */ - 0x5b, /* FC_END */ -/* 504 */ - 0x21, /* FC_BOGUS_ARRAY */ - 0x3, /* 3 */ -/* 506 */ NdrFcShort( 0x0 ), /* 0 */ -/* 508 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 510 */ NdrFcShort( 0x0 ), /* 0 */ -/* 512 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 514 */ NdrFcLong( 0xffffffff ), /* -1 */ -/* 518 */ NdrFcShort( 0x0 ), /* Corr flags: */ -/* 520 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 522 */ NdrFcShort( 0xff4a ), /* Offset= -182 (340) */ -/* 524 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 526 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 528 */ NdrFcShort( 0x8 ), /* 8 */ -/* 530 */ NdrFcShort( 0x0 ), /* 0 */ -/* 532 */ NdrFcShort( 0x6 ), /* Offset= 6 (538) */ -/* 534 */ 0x8, /* FC_LONG */ - 0x36, /* FC_POINTER */ -/* 536 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 538 */ - 0x11, 0x0, /* FC_RP */ -/* 540 */ NdrFcShort( 0xffdc ), /* Offset= -36 (504) */ -/* 542 */ - 0x21, /* FC_BOGUS_ARRAY */ - 0x3, /* 3 */ -/* 544 */ NdrFcShort( 0x0 ), /* 0 */ -/* 546 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 548 */ NdrFcShort( 0x0 ), /* 0 */ -/* 550 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 552 */ NdrFcLong( 0xffffffff ), /* -1 */ -/* 556 */ NdrFcShort( 0x0 ), /* Corr flags: */ -/* 558 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 560 */ NdrFcShort( 0xff36 ), /* Offset= -202 (358) */ -/* 562 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 564 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 566 */ NdrFcShort( 0x8 ), /* 8 */ -/* 568 */ NdrFcShort( 0x0 ), /* 0 */ -/* 570 */ NdrFcShort( 0x6 ), /* Offset= 6 (576) */ -/* 572 */ 0x8, /* FC_LONG */ - 0x36, /* FC_POINTER */ -/* 574 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 576 */ - 0x11, 0x0, /* FC_RP */ -/* 578 */ NdrFcShort( 0xffdc ), /* Offset= -36 (542) */ -/* 580 */ - 0x1b, /* FC_CARRAY */ - 0x3, /* 3 */ -/* 582 */ NdrFcShort( 0x4 ), /* 4 */ -/* 584 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 586 */ NdrFcShort( 0x0 ), /* 0 */ -/* 588 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 590 */ - 0x4b, /* FC_PP */ - 0x5c, /* FC_PAD */ -/* 592 */ - 0x48, /* FC_VARIABLE_REPEAT */ - 0x49, /* FC_FIXED_OFFSET */ -/* 594 */ NdrFcShort( 0x4 ), /* 4 */ -/* 596 */ NdrFcShort( 0x0 ), /* 0 */ -/* 598 */ NdrFcShort( 0x1 ), /* 1 */ -/* 600 */ NdrFcShort( 0x0 ), /* 0 */ -/* 602 */ NdrFcShort( 0x0 ), /* 0 */ -/* 604 */ 0x13, 0x0, /* FC_OP */ -/* 606 */ NdrFcShort( 0x192 ), /* Offset= 402 (1008) */ -/* 608 */ - 0x5b, /* FC_END */ - - 0x8, /* FC_LONG */ -/* 610 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 612 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 614 */ NdrFcShort( 0x8 ), /* 8 */ -/* 616 */ NdrFcShort( 0x0 ), /* 0 */ -/* 618 */ NdrFcShort( 0x6 ), /* Offset= 6 (624) */ -/* 620 */ 0x8, /* FC_LONG */ - 0x36, /* FC_POINTER */ -/* 622 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 624 */ - 0x11, 0x0, /* FC_RP */ -/* 626 */ NdrFcShort( 0xffd2 ), /* Offset= -46 (580) */ -/* 628 */ - 0x2f, /* FC_IP */ - 0x5a, /* FC_CONSTANT_IID */ -/* 630 */ NdrFcLong( 0x2f ), /* 47 */ -/* 634 */ NdrFcShort( 0x0 ), /* 0 */ -/* 636 */ NdrFcShort( 0x0 ), /* 0 */ -/* 638 */ 0xc0, /* 192 */ - 0x0, /* 0 */ -/* 640 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 642 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 644 */ 0x0, /* 0 */ - 0x46, /* 70 */ -/* 646 */ - 0x1b, /* FC_CARRAY */ - 0x0, /* 0 */ -/* 648 */ NdrFcShort( 0x1 ), /* 1 */ -/* 650 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 652 */ NdrFcShort( 0x4 ), /* 4 */ -/* 654 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 656 */ 0x1, /* FC_BYTE */ - 0x5b, /* FC_END */ -/* 658 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 660 */ NdrFcShort( 0x10 ), /* 16 */ -/* 662 */ NdrFcShort( 0x0 ), /* 0 */ -/* 664 */ NdrFcShort( 0xa ), /* Offset= 10 (674) */ -/* 666 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 668 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 670 */ NdrFcShort( 0xffd6 ), /* Offset= -42 (628) */ -/* 672 */ 0x36, /* FC_POINTER */ - 0x5b, /* FC_END */ -/* 674 */ - 0x13, 0x0, /* FC_OP */ -/* 676 */ NdrFcShort( 0xffe2 ), /* Offset= -30 (646) */ -/* 678 */ - 0x1b, /* FC_CARRAY */ - 0x3, /* 3 */ -/* 680 */ NdrFcShort( 0x4 ), /* 4 */ -/* 682 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 684 */ NdrFcShort( 0x0 ), /* 0 */ -/* 686 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 688 */ - 0x4b, /* FC_PP */ - 0x5c, /* FC_PAD */ -/* 690 */ - 0x48, /* FC_VARIABLE_REPEAT */ - 0x49, /* FC_FIXED_OFFSET */ -/* 692 */ NdrFcShort( 0x4 ), /* 4 */ -/* 694 */ NdrFcShort( 0x0 ), /* 0 */ -/* 696 */ NdrFcShort( 0x1 ), /* 1 */ -/* 698 */ NdrFcShort( 0x0 ), /* 0 */ -/* 700 */ NdrFcShort( 0x0 ), /* 0 */ -/* 702 */ 0x13, 0x0, /* FC_OP */ -/* 704 */ NdrFcShort( 0xffd2 ), /* Offset= -46 (658) */ -/* 706 */ - 0x5b, /* FC_END */ - - 0x8, /* FC_LONG */ -/* 708 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 710 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 712 */ NdrFcShort( 0x8 ), /* 8 */ -/* 714 */ NdrFcShort( 0x0 ), /* 0 */ -/* 716 */ NdrFcShort( 0x6 ), /* Offset= 6 (722) */ -/* 718 */ 0x8, /* FC_LONG */ - 0x36, /* FC_POINTER */ -/* 720 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 722 */ - 0x11, 0x0, /* FC_RP */ -/* 724 */ NdrFcShort( 0xffd2 ), /* Offset= -46 (678) */ -/* 726 */ - 0x1d, /* FC_SMFARRAY */ - 0x0, /* 0 */ -/* 728 */ NdrFcShort( 0x8 ), /* 8 */ -/* 730 */ 0x1, /* FC_BYTE */ - 0x5b, /* FC_END */ -/* 732 */ - 0x15, /* FC_STRUCT */ - 0x3, /* 3 */ -/* 734 */ NdrFcShort( 0x10 ), /* 16 */ -/* 736 */ 0x8, /* FC_LONG */ - 0x6, /* FC_SHORT */ -/* 738 */ 0x6, /* FC_SHORT */ - 0x4c, /* FC_EMBEDDED_COMPLEX */ -/* 740 */ 0x0, /* 0 */ - NdrFcShort( 0xfff1 ), /* Offset= -15 (726) */ - 0x5b, /* FC_END */ -/* 744 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 746 */ NdrFcShort( 0x18 ), /* 24 */ -/* 748 */ NdrFcShort( 0x0 ), /* 0 */ -/* 750 */ NdrFcShort( 0xa ), /* Offset= 10 (760) */ -/* 752 */ 0x8, /* FC_LONG */ - 0x36, /* FC_POINTER */ -/* 754 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 756 */ NdrFcShort( 0xffe8 ), /* Offset= -24 (732) */ -/* 758 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 760 */ - 0x11, 0x0, /* FC_RP */ -/* 762 */ NdrFcShort( 0xfefe ), /* Offset= -258 (504) */ -/* 764 */ - 0x1b, /* FC_CARRAY */ - 0x0, /* 0 */ -/* 766 */ NdrFcShort( 0x1 ), /* 1 */ -/* 768 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 770 */ NdrFcShort( 0x0 ), /* 0 */ -/* 772 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 774 */ 0x1, /* FC_BYTE */ - 0x5b, /* FC_END */ -/* 776 */ - 0x16, /* FC_PSTRUCT */ - 0x3, /* 3 */ -/* 778 */ NdrFcShort( 0x8 ), /* 8 */ -/* 780 */ - 0x4b, /* FC_PP */ - 0x5c, /* FC_PAD */ -/* 782 */ - 0x46, /* FC_NO_REPEAT */ - 0x5c, /* FC_PAD */ -/* 784 */ NdrFcShort( 0x4 ), /* 4 */ -/* 786 */ NdrFcShort( 0x4 ), /* 4 */ -/* 788 */ 0x13, 0x0, /* FC_OP */ -/* 790 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (764) */ -/* 792 */ - 0x5b, /* FC_END */ - - 0x8, /* FC_LONG */ -/* 794 */ 0x8, /* FC_LONG */ - 0x5b, /* FC_END */ -/* 796 */ - 0x1b, /* FC_CARRAY */ - 0x1, /* 1 */ -/* 798 */ NdrFcShort( 0x2 ), /* 2 */ -/* 800 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 802 */ NdrFcShort( 0x0 ), /* 0 */ -/* 804 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 806 */ 0x6, /* FC_SHORT */ - 0x5b, /* FC_END */ -/* 808 */ - 0x16, /* FC_PSTRUCT */ - 0x3, /* 3 */ -/* 810 */ NdrFcShort( 0x8 ), /* 8 */ -/* 812 */ - 0x4b, /* FC_PP */ - 0x5c, /* FC_PAD */ -/* 814 */ - 0x46, /* FC_NO_REPEAT */ - 0x5c, /* FC_PAD */ -/* 816 */ NdrFcShort( 0x4 ), /* 4 */ -/* 818 */ NdrFcShort( 0x4 ), /* 4 */ -/* 820 */ 0x13, 0x0, /* FC_OP */ -/* 822 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (796) */ -/* 824 */ - 0x5b, /* FC_END */ - - 0x8, /* FC_LONG */ -/* 826 */ 0x8, /* FC_LONG */ - 0x5b, /* FC_END */ -/* 828 */ - 0x1b, /* FC_CARRAY */ - 0x3, /* 3 */ -/* 830 */ NdrFcShort( 0x4 ), /* 4 */ -/* 832 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 834 */ NdrFcShort( 0x0 ), /* 0 */ -/* 836 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 838 */ 0x8, /* FC_LONG */ - 0x5b, /* FC_END */ -/* 840 */ - 0x16, /* FC_PSTRUCT */ - 0x3, /* 3 */ -/* 842 */ NdrFcShort( 0x8 ), /* 8 */ -/* 844 */ - 0x4b, /* FC_PP */ - 0x5c, /* FC_PAD */ -/* 846 */ - 0x46, /* FC_NO_REPEAT */ - 0x5c, /* FC_PAD */ -/* 848 */ NdrFcShort( 0x4 ), /* 4 */ -/* 850 */ NdrFcShort( 0x4 ), /* 4 */ -/* 852 */ 0x13, 0x0, /* FC_OP */ -/* 854 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (828) */ -/* 856 */ - 0x5b, /* FC_END */ - - 0x8, /* FC_LONG */ -/* 858 */ 0x8, /* FC_LONG */ - 0x5b, /* FC_END */ -/* 860 */ - 0x1b, /* FC_CARRAY */ - 0x7, /* 7 */ -/* 862 */ NdrFcShort( 0x8 ), /* 8 */ -/* 864 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 866 */ NdrFcShort( 0x0 ), /* 0 */ -/* 868 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 870 */ 0xb, /* FC_HYPER */ - 0x5b, /* FC_END */ -/* 872 */ - 0x16, /* FC_PSTRUCT */ - 0x3, /* 3 */ -/* 874 */ NdrFcShort( 0x8 ), /* 8 */ -/* 876 */ - 0x4b, /* FC_PP */ - 0x5c, /* FC_PAD */ -/* 878 */ - 0x46, /* FC_NO_REPEAT */ - 0x5c, /* FC_PAD */ -/* 880 */ NdrFcShort( 0x4 ), /* 4 */ -/* 882 */ NdrFcShort( 0x4 ), /* 4 */ -/* 884 */ 0x13, 0x0, /* FC_OP */ -/* 886 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (860) */ -/* 888 */ - 0x5b, /* FC_END */ - - 0x8, /* FC_LONG */ -/* 890 */ 0x8, /* FC_LONG */ - 0x5b, /* FC_END */ -/* 892 */ - 0x15, /* FC_STRUCT */ - 0x3, /* 3 */ -/* 894 */ NdrFcShort( 0x8 ), /* 8 */ -/* 896 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 898 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 900 */ - 0x1b, /* FC_CARRAY */ - 0x3, /* 3 */ -/* 902 */ NdrFcShort( 0x8 ), /* 8 */ -/* 904 */ 0x7, /* Corr desc: FC_USHORT */ - 0x0, /* */ -/* 906 */ NdrFcShort( 0xffd8 ), /* -40 */ -/* 908 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 910 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 912 */ NdrFcShort( 0xffec ), /* Offset= -20 (892) */ -/* 914 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 916 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 918 */ NdrFcShort( 0x28 ), /* 40 */ -/* 920 */ NdrFcShort( 0xffec ), /* Offset= -20 (900) */ -/* 922 */ NdrFcShort( 0x0 ), /* Offset= 0 (922) */ -/* 924 */ 0x6, /* FC_SHORT */ - 0x6, /* FC_SHORT */ -/* 926 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 928 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 930 */ NdrFcShort( 0xfdde ), /* Offset= -546 (384) */ -/* 932 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 934 */ - 0x13, 0x0, /* FC_OP */ -/* 936 */ NdrFcShort( 0xfeea ), /* Offset= -278 (658) */ -/* 938 */ - 0x13, 0x8, /* FC_OP [simple_pointer] */ -/* 940 */ 0x1, /* FC_BYTE */ - 0x5c, /* FC_PAD */ -/* 942 */ - 0x13, 0x8, /* FC_OP [simple_pointer] */ -/* 944 */ 0x6, /* FC_SHORT */ - 0x5c, /* FC_PAD */ -/* 946 */ - 0x13, 0x8, /* FC_OP [simple_pointer] */ -/* 948 */ 0x8, /* FC_LONG */ - 0x5c, /* FC_PAD */ -/* 950 */ - 0x13, 0x8, /* FC_OP [simple_pointer] */ -/* 952 */ 0xb, /* FC_HYPER */ - 0x5c, /* FC_PAD */ -/* 954 */ - 0x13, 0x8, /* FC_OP [simple_pointer] */ -/* 956 */ 0xa, /* FC_FLOAT */ - 0x5c, /* FC_PAD */ -/* 958 */ - 0x13, 0x8, /* FC_OP [simple_pointer] */ -/* 960 */ 0xc, /* FC_DOUBLE */ - 0x5c, /* FC_PAD */ -/* 962 */ - 0x13, 0x0, /* FC_OP */ -/* 964 */ NdrFcShort( 0xfd70 ), /* Offset= -656 (308) */ -/* 966 */ - 0x13, 0x10, /* FC_OP [pointer_deref] */ -/* 968 */ NdrFcShort( 0xfd72 ), /* Offset= -654 (314) */ -/* 970 */ - 0x13, 0x10, /* FC_OP [pointer_deref] */ -/* 972 */ NdrFcShort( 0xfd88 ), /* Offset= -632 (340) */ -/* 974 */ - 0x13, 0x10, /* FC_OP [pointer_deref] */ -/* 976 */ NdrFcShort( 0xfd96 ), /* Offset= -618 (358) */ -/* 978 */ - 0x13, 0x10, /* FC_OP [pointer_deref] */ -/* 980 */ NdrFcShort( 0xfda4 ), /* Offset= -604 (376) */ -/* 982 */ - 0x13, 0x10, /* FC_OP [pointer_deref] */ -/* 984 */ NdrFcShort( 0x2 ), /* Offset= 2 (986) */ -/* 986 */ - 0x13, 0x0, /* FC_OP */ -/* 988 */ NdrFcShort( 0x14 ), /* Offset= 20 (1008) */ -/* 990 */ - 0x15, /* FC_STRUCT */ - 0x7, /* 7 */ -/* 992 */ NdrFcShort( 0x10 ), /* 16 */ -/* 994 */ 0x6, /* FC_SHORT */ - 0x1, /* FC_BYTE */ -/* 996 */ 0x1, /* FC_BYTE */ - 0x8, /* FC_LONG */ -/* 998 */ 0xb, /* FC_HYPER */ - 0x5b, /* FC_END */ -/* 1000 */ - 0x13, 0x0, /* FC_OP */ -/* 1002 */ NdrFcShort( 0xfff4 ), /* Offset= -12 (990) */ -/* 1004 */ - 0x13, 0x8, /* FC_OP [simple_pointer] */ -/* 1006 */ 0x2, /* FC_CHAR */ - 0x5c, /* FC_PAD */ -/* 1008 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x7, /* 7 */ -/* 1010 */ NdrFcShort( 0x20 ), /* 32 */ -/* 1012 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1014 */ NdrFcShort( 0x0 ), /* Offset= 0 (1014) */ -/* 1016 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 1018 */ 0x6, /* FC_SHORT */ - 0x6, /* FC_SHORT */ -/* 1020 */ 0x6, /* FC_SHORT */ - 0x6, /* FC_SHORT */ -/* 1022 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 1024 */ NdrFcShort( 0xfc0a ), /* Offset= -1014 (10) */ -/* 1026 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 1028 */ 0xb4, /* FC_USER_MARSHAL */ - 0x83, /* 131 */ -/* 1030 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1032 */ NdrFcShort( 0x10 ), /* 16 */ -/* 1034 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1036 */ NdrFcShort( 0xfbfa ), /* Offset= -1030 (6) */ -/* 1038 */ - 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */ -/* 1040 */ 0x8, /* FC_LONG */ - 0x5c, /* FC_PAD */ -/* 1042 */ - 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */ -/* 1044 */ 0x3, /* FC_SMALL */ - 0x5c, /* FC_PAD */ - - 0x0 - } - }; - -static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] = - { - - { - VARIANT_UserSize - ,VARIANT_UserMarshal - ,VARIANT_UserUnmarshal - ,VARIANT_UserFree - } - - }; - - - -/* Object interface: IUnknown, ver. 0.0, - GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */ - - -/* Object interface: IAccessibleAction, ver. 0.0, - GUID={0xB70D9F59,0x3B5A,0x4dba,{0xAB,0x9E,0x22,0x01,0x2F,0x60,0x7D,0xF5}} */ - - -/* Object interface: IAccessibleHyperlink, ver. 0.0, - GUID={0x01C20F2B,0x3DD2,0x400f,{0x94,0x9F,0xAD,0x00,0xBD,0xAB,0x1D,0x41}} */ - -#pragma code_seg(".orpc") -static const unsigned short IAccessibleHyperlink_FormatStringOffsetTable[] = - { - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - 0, - 42, - 84, - 120, - 156 - }; - -static const MIDL_STUBLESS_PROXY_INFO IAccessibleHyperlink_ProxyInfo = - { - &Object_StubDesc, - AccessibleHyperlink__MIDL_ProcFormatString.Format, - &IAccessibleHyperlink_FormatStringOffsetTable[-3], - 0, - 0, - 0 - }; - - -static const MIDL_SERVER_INFO IAccessibleHyperlink_ServerInfo = - { - &Object_StubDesc, - 0, - AccessibleHyperlink__MIDL_ProcFormatString.Format, - &IAccessibleHyperlink_FormatStringOffsetTable[-3], - 0, - 0, - 0, - 0}; -CINTERFACE_PROXY_VTABLE(14) _IAccessibleHyperlinkProxyVtbl = -{ - &IAccessibleHyperlink_ProxyInfo, - &IID_IAccessibleHyperlink, - IUnknown_QueryInterface_Proxy, - IUnknown_AddRef_Proxy, - IUnknown_Release_Proxy , - 0 /* IAccessibleAction::nActions */ , - 0 /* IAccessibleAction::doAction */ , - 0 /* IAccessibleAction::get_description */ , - 0 /* IAccessibleAction::get_keyBinding */ , - 0 /* IAccessibleAction::get_name */ , - 0 /* IAccessibleAction::get_localizedName */ , - (void *) (INT_PTR) -1 /* IAccessibleHyperlink::get_anchor */ , - (void *) (INT_PTR) -1 /* IAccessibleHyperlink::get_anchorTarget */ , - (void *) (INT_PTR) -1 /* IAccessibleHyperlink::get_startIndex */ , - (void *) (INT_PTR) -1 /* IAccessibleHyperlink::get_endIndex */ , - (void *) (INT_PTR) -1 /* IAccessibleHyperlink::get_valid */ -}; - - -static const PRPC_STUB_FUNCTION IAccessibleHyperlink_table[] = -{ - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2 -}; - -CInterfaceStubVtbl _IAccessibleHyperlinkStubVtbl = -{ - &IID_IAccessibleHyperlink, - &IAccessibleHyperlink_ServerInfo, - 14, - &IAccessibleHyperlink_table[-3], - CStdStubBuffer_DELEGATING_METHODS -}; - -static const MIDL_STUB_DESC Object_StubDesc = - { - 0, - NdrOleAllocate, - NdrOleFree, - 0, - 0, - 0, - 0, - 0, - AccessibleHyperlink__MIDL_TypeFormatString.Format, - 1, /* -error bounds_check flag */ - 0x50002, /* Ndr library version */ - 0, - 0x700022b, /* MIDL Version 7.0.555 */ - 0, - UserMarshalRoutines, - 0, /* notify & notify_flag routine table */ - 0x1, /* MIDL flag */ - 0, /* cs routines */ - 0, /* proxy/server info */ - 0 - }; - -const CInterfaceProxyVtbl * const _AccessibleHyperlink_ProxyVtblList[] = -{ - ( CInterfaceProxyVtbl *) &_IAccessibleHyperlinkProxyVtbl, - 0 -}; - -const CInterfaceStubVtbl * const _AccessibleHyperlink_StubVtblList[] = -{ - ( CInterfaceStubVtbl *) &_IAccessibleHyperlinkStubVtbl, - 0 -}; - -PCInterfaceName const _AccessibleHyperlink_InterfaceNamesList[] = -{ - "IAccessibleHyperlink", - 0 -}; - -const IID * const _AccessibleHyperlink_BaseIIDList[] = -{ - &IID_IAccessibleAction, - 0 -}; - - -#define _AccessibleHyperlink_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleHyperlink, pIID, n) - -int __stdcall _AccessibleHyperlink_IID_Lookup( const IID * pIID, int * pIndex ) -{ - - if(!_AccessibleHyperlink_CHECK_IID(0)) - { - *pIndex = 0; - return 1; - } - - return 0; -} - -const ExtendedProxyFileInfo AccessibleHyperlink_ProxyFileInfo = -{ - (PCInterfaceProxyVtblList *) & _AccessibleHyperlink_ProxyVtblList, - (PCInterfaceStubVtblList *) & _AccessibleHyperlink_StubVtblList, - (const PCInterfaceName * ) & _AccessibleHyperlink_InterfaceNamesList, - (const IID ** ) & _AccessibleHyperlink_BaseIIDList, - & _AccessibleHyperlink_IID_Lookup, - 1, - 2, - 0, /* table of [async_uuid] interfaces */ - 0, /* Filler1 */ - 0, /* Filler2 */ - 0 /* Filler3 */ -}; -#pragma optimize("", on ) -#if _MSC_VER >= 1200 -#pragma warning(pop) -#endif - - -#endif /* !defined(_M_IA64) && !defined(_M_AMD64)*/ - diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleHypertext.h b/src/3rdparty/iaccessible2/generated/x86/AccessibleHypertext.h deleted file mode 100644 index 180fb394b6..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/AccessibleHypertext.h +++ /dev/null @@ -1,349 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:53 2012 - */ -/* Compiler settings for AccessibleHypertext.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the <rpcndr.h> version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of <rpcndr.h> -#endif // __RPCNDR_H_VERSION__ - -#ifndef COM_NO_WINDOWS_H -#include "windows.h" -#include "ole2.h" -#endif /*COM_NO_WINDOWS_H*/ - -#ifndef __AccessibleHypertext_h__ -#define __AccessibleHypertext_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -#ifndef __IAccessibleHypertext_FWD_DEFINED__ -#define __IAccessibleHypertext_FWD_DEFINED__ -typedef interface IAccessibleHypertext IAccessibleHypertext; -#endif /* __IAccessibleHypertext_FWD_DEFINED__ */ - - -/* header files for imported files */ -#include "objidl.h" -#include "oaidl.h" -#include "oleacc.h" -#include "AccessibleText.h" -#include "AccessibleHyperlink.h" - -#ifdef __cplusplus -extern "C"{ -#endif - - -#ifndef __IAccessibleHypertext_INTERFACE_DEFINED__ -#define __IAccessibleHypertext_INTERFACE_DEFINED__ - -/* interface IAccessibleHypertext */ -/* [uuid][object] */ - - -EXTERN_C const IID IID_IAccessibleHypertext; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("6B4F8BBF-F1F2-418a-B35E-A195BC4103B9") - IAccessibleHypertext : public IAccessibleText - { - public: - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nHyperlinks( - /* [retval][out] */ long *hyperlinkCount) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_hyperlink( - /* [in] */ long index, - /* [retval][out] */ IAccessibleHyperlink **hyperlink) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_hyperlinkIndex( - /* [in] */ long charIndex, - /* [retval][out] */ long *hyperlinkIndex) = 0; - - }; - -#else /* C style interface */ - - typedef struct IAccessibleHypertextVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IAccessibleHypertext * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IAccessibleHypertext * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IAccessibleHypertext * This); - - HRESULT ( STDMETHODCALLTYPE *addSelection )( - IAccessibleHypertext * This, - /* [in] */ long startOffset, - /* [in] */ long endOffset); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )( - IAccessibleHypertext * This, - /* [in] */ long offset, - /* [out] */ long *startOffset, - /* [out] */ long *endOffset, - /* [retval][out] */ BSTR *textAttributes); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caretOffset )( - IAccessibleHypertext * This, - /* [retval][out] */ long *offset); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_characterExtents )( - IAccessibleHypertext * This, - /* [in] */ long offset, - /* [in] */ enum IA2CoordinateType coordType, - /* [out] */ long *x, - /* [out] */ long *y, - /* [out] */ long *width, - /* [retval][out] */ long *height); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelections )( - IAccessibleHypertext * This, - /* [retval][out] */ long *nSelections); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetAtPoint )( - IAccessibleHypertext * This, - /* [in] */ long x, - /* [in] */ long y, - /* [in] */ enum IA2CoordinateType coordType, - /* [retval][out] */ long *offset); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selection )( - IAccessibleHypertext * This, - /* [in] */ long selectionIndex, - /* [out] */ long *startOffset, - /* [retval][out] */ long *endOffset); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_text )( - IAccessibleHypertext * This, - /* [in] */ long startOffset, - /* [in] */ long endOffset, - /* [retval][out] */ BSTR *text); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textBeforeOffset )( - IAccessibleHypertext * This, - /* [in] */ long offset, - /* [in] */ enum IA2TextBoundaryType boundaryType, - /* [out] */ long *startOffset, - /* [out] */ long *endOffset, - /* [retval][out] */ BSTR *text); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAfterOffset )( - IAccessibleHypertext * This, - /* [in] */ long offset, - /* [in] */ enum IA2TextBoundaryType boundaryType, - /* [out] */ long *startOffset, - /* [out] */ long *endOffset, - /* [retval][out] */ BSTR *text); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAtOffset )( - IAccessibleHypertext * This, - /* [in] */ long offset, - /* [in] */ enum IA2TextBoundaryType boundaryType, - /* [out] */ long *startOffset, - /* [out] */ long *endOffset, - /* [retval][out] */ BSTR *text); - - HRESULT ( STDMETHODCALLTYPE *removeSelection )( - IAccessibleHypertext * This, - /* [in] */ long selectionIndex); - - HRESULT ( STDMETHODCALLTYPE *setCaretOffset )( - IAccessibleHypertext * This, - /* [in] */ long offset); - - HRESULT ( STDMETHODCALLTYPE *setSelection )( - IAccessibleHypertext * This, - /* [in] */ long selectionIndex, - /* [in] */ long startOffset, - /* [in] */ long endOffset); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nCharacters )( - IAccessibleHypertext * This, - /* [retval][out] */ long *nCharacters); - - HRESULT ( STDMETHODCALLTYPE *scrollSubstringTo )( - IAccessibleHypertext * This, - /* [in] */ long startIndex, - /* [in] */ long endIndex, - /* [in] */ enum IA2ScrollType scrollType); - - HRESULT ( STDMETHODCALLTYPE *scrollSubstringToPoint )( - IAccessibleHypertext * This, - /* [in] */ long startIndex, - /* [in] */ long endIndex, - /* [in] */ enum IA2CoordinateType coordinateType, - /* [in] */ long x, - /* [in] */ long y); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_newText )( - IAccessibleHypertext * This, - /* [retval][out] */ IA2TextSegment *newText); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_oldText )( - IAccessibleHypertext * This, - /* [retval][out] */ IA2TextSegment *oldText); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nHyperlinks )( - IAccessibleHypertext * This, - /* [retval][out] */ long *hyperlinkCount); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hyperlink )( - IAccessibleHypertext * This, - /* [in] */ long index, - /* [retval][out] */ IAccessibleHyperlink **hyperlink); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hyperlinkIndex )( - IAccessibleHypertext * This, - /* [in] */ long charIndex, - /* [retval][out] */ long *hyperlinkIndex); - - END_INTERFACE - } IAccessibleHypertextVtbl; - - interface IAccessibleHypertext - { - CONST_VTBL struct IAccessibleHypertextVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IAccessibleHypertext_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IAccessibleHypertext_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IAccessibleHypertext_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IAccessibleHypertext_addSelection(This,startOffset,endOffset) \ - ( (This)->lpVtbl -> addSelection(This,startOffset,endOffset) ) - -#define IAccessibleHypertext_get_attributes(This,offset,startOffset,endOffset,textAttributes) \ - ( (This)->lpVtbl -> get_attributes(This,offset,startOffset,endOffset,textAttributes) ) - -#define IAccessibleHypertext_get_caretOffset(This,offset) \ - ( (This)->lpVtbl -> get_caretOffset(This,offset) ) - -#define IAccessibleHypertext_get_characterExtents(This,offset,coordType,x,y,width,height) \ - ( (This)->lpVtbl -> get_characterExtents(This,offset,coordType,x,y,width,height) ) - -#define IAccessibleHypertext_get_nSelections(This,nSelections) \ - ( (This)->lpVtbl -> get_nSelections(This,nSelections) ) - -#define IAccessibleHypertext_get_offsetAtPoint(This,x,y,coordType,offset) \ - ( (This)->lpVtbl -> get_offsetAtPoint(This,x,y,coordType,offset) ) - -#define IAccessibleHypertext_get_selection(This,selectionIndex,startOffset,endOffset) \ - ( (This)->lpVtbl -> get_selection(This,selectionIndex,startOffset,endOffset) ) - -#define IAccessibleHypertext_get_text(This,startOffset,endOffset,text) \ - ( (This)->lpVtbl -> get_text(This,startOffset,endOffset,text) ) - -#define IAccessibleHypertext_get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) \ - ( (This)->lpVtbl -> get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) ) - -#define IAccessibleHypertext_get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) \ - ( (This)->lpVtbl -> get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) ) - -#define IAccessibleHypertext_get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) \ - ( (This)->lpVtbl -> get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) ) - -#define IAccessibleHypertext_removeSelection(This,selectionIndex) \ - ( (This)->lpVtbl -> removeSelection(This,selectionIndex) ) - -#define IAccessibleHypertext_setCaretOffset(This,offset) \ - ( (This)->lpVtbl -> setCaretOffset(This,offset) ) - -#define IAccessibleHypertext_setSelection(This,selectionIndex,startOffset,endOffset) \ - ( (This)->lpVtbl -> setSelection(This,selectionIndex,startOffset,endOffset) ) - -#define IAccessibleHypertext_get_nCharacters(This,nCharacters) \ - ( (This)->lpVtbl -> get_nCharacters(This,nCharacters) ) - -#define IAccessibleHypertext_scrollSubstringTo(This,startIndex,endIndex,scrollType) \ - ( (This)->lpVtbl -> scrollSubstringTo(This,startIndex,endIndex,scrollType) ) - -#define IAccessibleHypertext_scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) \ - ( (This)->lpVtbl -> scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) ) - -#define IAccessibleHypertext_get_newText(This,newText) \ - ( (This)->lpVtbl -> get_newText(This,newText) ) - -#define IAccessibleHypertext_get_oldText(This,oldText) \ - ( (This)->lpVtbl -> get_oldText(This,oldText) ) - - -#define IAccessibleHypertext_get_nHyperlinks(This,hyperlinkCount) \ - ( (This)->lpVtbl -> get_nHyperlinks(This,hyperlinkCount) ) - -#define IAccessibleHypertext_get_hyperlink(This,index,hyperlink) \ - ( (This)->lpVtbl -> get_hyperlink(This,index,hyperlink) ) - -#define IAccessibleHypertext_get_hyperlinkIndex(This,charIndex,hyperlinkIndex) \ - ( (This)->lpVtbl -> get_hyperlinkIndex(This,charIndex,hyperlinkIndex) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IAccessibleHypertext_INTERFACE_DEFINED__ */ - - -/* Additional Prototypes for ALL interfaces */ - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleHypertext_i.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleHypertext_i.c deleted file mode 100644 index e6edec9fe7..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/AccessibleHypertext_i.c +++ /dev/null @@ -1,79 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */ - -/* link this file in with the server and any clients */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:53 2012 - */ -/* Compiler settings for AccessibleHypertext.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -#ifdef __cplusplus -extern "C"{ -#endif - - -#include <rpc.h> -#include <rpcndr.h> - -#ifdef _MIDL_USE_GUIDDEF_ - -#ifndef INITGUID -#define INITGUID -#include <guiddef.h> -#undef INITGUID -#else -#include <guiddef.h> -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) - -#else // !_MIDL_USE_GUIDDEF_ - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - -typedef struct _IID -{ - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; -} IID; - -#endif // __IID_DEFINED__ - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED -typedef IID CLSID; -#endif // CLSID_DEFINED - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} - -#endif !_MIDL_USE_GUIDDEF_ - -MIDL_DEFINE_GUID(IID, IID_IAccessibleHypertext,0x6B4F8BBF,0xF1F2,0x418a,0xB3,0x5E,0xA1,0x95,0xBC,0x41,0x03,0xB9); - -#undef MIDL_DEFINE_GUID - -#ifdef __cplusplus -} -#endif - - - diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleHypertext_p.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleHypertext_p.c deleted file mode 100644 index 40eddde608..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/AccessibleHypertext_p.c +++ /dev/null @@ -1,463 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the proxy stub code */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:53 2012 - */ -/* Compiler settings for AccessibleHypertext.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#if !defined(_M_IA64) && !defined(_M_AMD64) - - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ -#if _MSC_VER >= 1200 -#pragma warning(push) -#endif - -#pragma warning( disable: 4211 ) /* redefine extern to static */ -#pragma warning( disable: 4232 ) /* dllimport identity*/ -#pragma warning( disable: 4024 ) /* array to pointer mapping*/ -#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */ -#pragma warning( disable: 4100 ) /* unreferenced arguments in x86 call */ - -#pragma optimize("", off ) - -#define USE_STUBLESS_PROXY - - -/* verify that the <rpcproxy.h> version is high enough to compile this file*/ -#ifndef __REDQ_RPCPROXY_H_VERSION__ -#define __REQUIRED_RPCPROXY_H_VERSION__ 475 -#endif - - -#include "rpcproxy.h" -#ifndef __RPCPROXY_H_VERSION__ -#error this stub requires an updated version of <rpcproxy.h> -#endif /* __RPCPROXY_H_VERSION__ */ - - -#include "AccessibleHypertext.h" - -#define TYPE_FORMAT_STRING_SIZE 29 -#define PROC_FORMAT_STRING_SIZE 121 -#define EXPR_FORMAT_STRING_SIZE 1 -#define TRANSMIT_AS_TABLE_SIZE 0 -#define WIRE_MARSHAL_TABLE_SIZE 0 - -typedef struct _AccessibleHypertext_MIDL_TYPE_FORMAT_STRING - { - short Pad; - unsigned char Format[ TYPE_FORMAT_STRING_SIZE ]; - } AccessibleHypertext_MIDL_TYPE_FORMAT_STRING; - -typedef struct _AccessibleHypertext_MIDL_PROC_FORMAT_STRING - { - short Pad; - unsigned char Format[ PROC_FORMAT_STRING_SIZE ]; - } AccessibleHypertext_MIDL_PROC_FORMAT_STRING; - -typedef struct _AccessibleHypertext_MIDL_EXPR_FORMAT_STRING - { - long Pad; - unsigned char Format[ EXPR_FORMAT_STRING_SIZE ]; - } AccessibleHypertext_MIDL_EXPR_FORMAT_STRING; - - -static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax = -{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}}; - - -extern const AccessibleHypertext_MIDL_TYPE_FORMAT_STRING AccessibleHypertext__MIDL_TypeFormatString; -extern const AccessibleHypertext_MIDL_PROC_FORMAT_STRING AccessibleHypertext__MIDL_ProcFormatString; -extern const AccessibleHypertext_MIDL_EXPR_FORMAT_STRING AccessibleHypertext__MIDL_ExprFormatString; - - -extern const MIDL_STUB_DESC Object_StubDesc; - - -extern const MIDL_SERVER_INFO IAccessibleHypertext_ServerInfo; -extern const MIDL_STUBLESS_PROXY_INFO IAccessibleHypertext_ProxyInfo; - - - -#if !defined(__RPC_WIN32__) -#error Invalid build platform for this stub. -#endif - -#if !(TARGET_IS_NT50_OR_LATER) -#error You need Windows 2000 or later to run this stub because it uses these features: -#error /robust command line switch. -#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems. -#error This app will fail with the RPC_X_WRONG_STUB_VERSION error. -#endif - - -static const AccessibleHypertext_MIDL_PROC_FORMAT_STRING AccessibleHypertext__MIDL_ProcFormatString = - { - 0, - { - - /* Procedure get_nHyperlinks */ - - 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 2 */ NdrFcLong( 0x0 ), /* 0 */ -/* 6 */ NdrFcShort( 0x16 ), /* 22 */ -/* 8 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 10 */ NdrFcShort( 0x0 ), /* 0 */ -/* 12 */ NdrFcShort( 0x24 ), /* 36 */ -/* 14 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 16 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 18 */ NdrFcShort( 0x0 ), /* 0 */ -/* 20 */ NdrFcShort( 0x0 ), /* 0 */ -/* 22 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter hyperlinkCount */ - -/* 24 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 26 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 28 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 30 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 32 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 34 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_hyperlink */ - -/* 36 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 38 */ NdrFcLong( 0x0 ), /* 0 */ -/* 42 */ NdrFcShort( 0x17 ), /* 23 */ -/* 44 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 46 */ NdrFcShort( 0x8 ), /* 8 */ -/* 48 */ NdrFcShort( 0x8 ), /* 8 */ -/* 50 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x3, /* 3 */ -/* 52 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 54 */ NdrFcShort( 0x0 ), /* 0 */ -/* 56 */ NdrFcShort( 0x0 ), /* 0 */ -/* 58 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter index */ - -/* 60 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 62 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 64 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter hyperlink */ - -/* 66 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ -/* 68 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 70 */ NdrFcShort( 0x6 ), /* Type Offset=6 */ - - /* Return value */ - -/* 72 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 74 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 76 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_hyperlinkIndex */ - -/* 78 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 80 */ NdrFcLong( 0x0 ), /* 0 */ -/* 84 */ NdrFcShort( 0x18 ), /* 24 */ -/* 86 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 88 */ NdrFcShort( 0x8 ), /* 8 */ -/* 90 */ NdrFcShort( 0x24 ), /* 36 */ -/* 92 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x3, /* 3 */ -/* 94 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 96 */ NdrFcShort( 0x0 ), /* 0 */ -/* 98 */ NdrFcShort( 0x0 ), /* 0 */ -/* 100 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter charIndex */ - -/* 102 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 104 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 106 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter hyperlinkIndex */ - -/* 108 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 110 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 112 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 114 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 116 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 118 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - 0x0 - } - }; - -static const AccessibleHypertext_MIDL_TYPE_FORMAT_STRING AccessibleHypertext__MIDL_TypeFormatString = - { - 0, - { - NdrFcShort( 0x0 ), /* 0 */ -/* 2 */ - 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */ -/* 4 */ 0x8, /* FC_LONG */ - 0x5c, /* FC_PAD */ -/* 6 */ - 0x11, 0x10, /* FC_RP [pointer_deref] */ -/* 8 */ NdrFcShort( 0x2 ), /* Offset= 2 (10) */ -/* 10 */ - 0x2f, /* FC_IP */ - 0x5a, /* FC_CONSTANT_IID */ -/* 12 */ NdrFcLong( 0x1c20f2b ), /* 29495083 */ -/* 16 */ NdrFcShort( 0x3dd2 ), /* 15826 */ -/* 18 */ NdrFcShort( 0x400f ), /* 16399 */ -/* 20 */ 0x94, /* 148 */ - 0x9f, /* 159 */ -/* 22 */ 0xad, /* 173 */ - 0x0, /* 0 */ -/* 24 */ 0xbd, /* 189 */ - 0xab, /* 171 */ -/* 26 */ 0x1d, /* 29 */ - 0x41, /* 65 */ - - 0x0 - } - }; - - -/* Object interface: IUnknown, ver. 0.0, - GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */ - - -/* Object interface: IAccessibleText, ver. 0.0, - GUID={0x24FD2FFB,0x3AAD,0x4a08,{0x83,0x35,0xA3,0xAD,0x89,0xC0,0xFB,0x4B}} */ - - -/* Object interface: IAccessibleHypertext, ver. 0.0, - GUID={0x6B4F8BBF,0xF1F2,0x418a,{0xB3,0x5E,0xA1,0x95,0xBC,0x41,0x03,0xB9}} */ - -#pragma code_seg(".orpc") -static const unsigned short IAccessibleHypertext_FormatStringOffsetTable[] = - { - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - (unsigned short) -1, - 0, - 36, - 78 - }; - -static const MIDL_STUBLESS_PROXY_INFO IAccessibleHypertext_ProxyInfo = - { - &Object_StubDesc, - AccessibleHypertext__MIDL_ProcFormatString.Format, - &IAccessibleHypertext_FormatStringOffsetTable[-3], - 0, - 0, - 0 - }; - - -static const MIDL_SERVER_INFO IAccessibleHypertext_ServerInfo = - { - &Object_StubDesc, - 0, - AccessibleHypertext__MIDL_ProcFormatString.Format, - &IAccessibleHypertext_FormatStringOffsetTable[-3], - 0, - 0, - 0, - 0}; -CINTERFACE_PROXY_VTABLE(25) _IAccessibleHypertextProxyVtbl = -{ - &IAccessibleHypertext_ProxyInfo, - &IID_IAccessibleHypertext, - IUnknown_QueryInterface_Proxy, - IUnknown_AddRef_Proxy, - IUnknown_Release_Proxy , - 0 /* IAccessibleText::addSelection */ , - 0 /* IAccessibleText::get_attributes */ , - 0 /* IAccessibleText::get_caretOffset */ , - 0 /* IAccessibleText::get_characterExtents */ , - 0 /* IAccessibleText::get_nSelections */ , - 0 /* IAccessibleText::get_offsetAtPoint */ , - 0 /* IAccessibleText::get_selection */ , - 0 /* IAccessibleText::get_text */ , - 0 /* IAccessibleText::get_textBeforeOffset */ , - 0 /* IAccessibleText::get_textAfterOffset */ , - 0 /* IAccessibleText::get_textAtOffset */ , - 0 /* IAccessibleText::removeSelection */ , - 0 /* IAccessibleText::setCaretOffset */ , - 0 /* IAccessibleText::setSelection */ , - 0 /* IAccessibleText::get_nCharacters */ , - 0 /* IAccessibleText::scrollSubstringTo */ , - 0 /* IAccessibleText::scrollSubstringToPoint */ , - 0 /* IAccessibleText::get_newText */ , - 0 /* IAccessibleText::get_oldText */ , - (void *) (INT_PTR) -1 /* IAccessibleHypertext::get_nHyperlinks */ , - (void *) (INT_PTR) -1 /* IAccessibleHypertext::get_hyperlink */ , - (void *) (INT_PTR) -1 /* IAccessibleHypertext::get_hyperlinkIndex */ -}; - - -static const PRPC_STUB_FUNCTION IAccessibleHypertext_table[] = -{ - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - STUB_FORWARDING_FUNCTION, - NdrStubCall2, - NdrStubCall2, - NdrStubCall2 -}; - -CInterfaceStubVtbl _IAccessibleHypertextStubVtbl = -{ - &IID_IAccessibleHypertext, - &IAccessibleHypertext_ServerInfo, - 25, - &IAccessibleHypertext_table[-3], - CStdStubBuffer_DELEGATING_METHODS -}; - -static const MIDL_STUB_DESC Object_StubDesc = - { - 0, - NdrOleAllocate, - NdrOleFree, - 0, - 0, - 0, - 0, - 0, - AccessibleHypertext__MIDL_TypeFormatString.Format, - 1, /* -error bounds_check flag */ - 0x50002, /* Ndr library version */ - 0, - 0x700022b, /* MIDL Version 7.0.555 */ - 0, - 0, - 0, /* notify & notify_flag routine table */ - 0x1, /* MIDL flag */ - 0, /* cs routines */ - 0, /* proxy/server info */ - 0 - }; - -const CInterfaceProxyVtbl * const _AccessibleHypertext_ProxyVtblList[] = -{ - ( CInterfaceProxyVtbl *) &_IAccessibleHypertextProxyVtbl, - 0 -}; - -const CInterfaceStubVtbl * const _AccessibleHypertext_StubVtblList[] = -{ - ( CInterfaceStubVtbl *) &_IAccessibleHypertextStubVtbl, - 0 -}; - -PCInterfaceName const _AccessibleHypertext_InterfaceNamesList[] = -{ - "IAccessibleHypertext", - 0 -}; - -const IID * const _AccessibleHypertext_BaseIIDList[] = -{ - &IID_IAccessibleText, - 0 -}; - - -#define _AccessibleHypertext_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleHypertext, pIID, n) - -int __stdcall _AccessibleHypertext_IID_Lookup( const IID * pIID, int * pIndex ) -{ - - if(!_AccessibleHypertext_CHECK_IID(0)) - { - *pIndex = 0; - return 1; - } - - return 0; -} - -const ExtendedProxyFileInfo AccessibleHypertext_ProxyFileInfo = -{ - (PCInterfaceProxyVtblList *) & _AccessibleHypertext_ProxyVtblList, - (PCInterfaceStubVtblList *) & _AccessibleHypertext_StubVtblList, - (const PCInterfaceName * ) & _AccessibleHypertext_InterfaceNamesList, - (const IID ** ) & _AccessibleHypertext_BaseIIDList, - & _AccessibleHypertext_IID_Lookup, - 1, - 2, - 0, /* table of [async_uuid] interfaces */ - 0, /* Filler1 */ - 0, /* Filler2 */ - 0 /* Filler3 */ -}; -#pragma optimize("", on ) -#if _MSC_VER >= 1200 -#pragma warning(pop) -#endif - - -#endif /* !defined(_M_IA64) && !defined(_M_AMD64)*/ - diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleImage.h b/src/3rdparty/iaccessible2/generated/x86/AccessibleImage.h deleted file mode 100644 index d240bb6156..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/AccessibleImage.h +++ /dev/null @@ -1,185 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:53 2012 - */ -/* Compiler settings for AccessibleImage.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the <rpcndr.h> version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of <rpcndr.h> -#endif // __RPCNDR_H_VERSION__ - -#ifndef COM_NO_WINDOWS_H -#include "windows.h" -#include "ole2.h" -#endif /*COM_NO_WINDOWS_H*/ - -#ifndef __AccessibleImage_h__ -#define __AccessibleImage_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -#ifndef __IAccessibleImage_FWD_DEFINED__ -#define __IAccessibleImage_FWD_DEFINED__ -typedef interface IAccessibleImage IAccessibleImage; -#endif /* __IAccessibleImage_FWD_DEFINED__ */ - - -/* header files for imported files */ -#include "objidl.h" -#include "oaidl.h" -#include "oleacc.h" -#include "IA2CommonTypes.h" - -#ifdef __cplusplus -extern "C"{ -#endif - - -#ifndef __IAccessibleImage_INTERFACE_DEFINED__ -#define __IAccessibleImage_INTERFACE_DEFINED__ - -/* interface IAccessibleImage */ -/* [uuid][object] */ - - -EXTERN_C const IID IID_IAccessibleImage; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("FE5ABB3D-615E-4f7b-909F-5F0EDA9E8DDE") - IAccessibleImage : public IUnknown - { - public: - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_description( - /* [retval][out] */ BSTR *description) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_imagePosition( - /* [in] */ enum IA2CoordinateType coordinateType, - /* [out] */ long *x, - /* [retval][out] */ long *y) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_imageSize( - /* [out] */ long *height, - /* [retval][out] */ long *width) = 0; - - }; - -#else /* C style interface */ - - typedef struct IAccessibleImageVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IAccessibleImage * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IAccessibleImage * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IAccessibleImage * This); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_description )( - IAccessibleImage * This, - /* [retval][out] */ BSTR *description); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_imagePosition )( - IAccessibleImage * This, - /* [in] */ enum IA2CoordinateType coordinateType, - /* [out] */ long *x, - /* [retval][out] */ long *y); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_imageSize )( - IAccessibleImage * This, - /* [out] */ long *height, - /* [retval][out] */ long *width); - - END_INTERFACE - } IAccessibleImageVtbl; - - interface IAccessibleImage - { - CONST_VTBL struct IAccessibleImageVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IAccessibleImage_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IAccessibleImage_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IAccessibleImage_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IAccessibleImage_get_description(This,description) \ - ( (This)->lpVtbl -> get_description(This,description) ) - -#define IAccessibleImage_get_imagePosition(This,coordinateType,x,y) \ - ( (This)->lpVtbl -> get_imagePosition(This,coordinateType,x,y) ) - -#define IAccessibleImage_get_imageSize(This,height,width) \ - ( (This)->lpVtbl -> get_imageSize(This,height,width) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IAccessibleImage_INTERFACE_DEFINED__ */ - - -/* Additional Prototypes for ALL interfaces */ - -unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * ); -unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * ); -unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); -void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * ); - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleImage_i.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleImage_i.c deleted file mode 100644 index 37fa8696d1..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/AccessibleImage_i.c +++ /dev/null @@ -1,79 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */ - -/* link this file in with the server and any clients */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:53 2012 - */ -/* Compiler settings for AccessibleImage.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -#ifdef __cplusplus -extern "C"{ -#endif - - -#include <rpc.h> -#include <rpcndr.h> - -#ifdef _MIDL_USE_GUIDDEF_ - -#ifndef INITGUID -#define INITGUID -#include <guiddef.h> -#undef INITGUID -#else -#include <guiddef.h> -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) - -#else // !_MIDL_USE_GUIDDEF_ - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - -typedef struct _IID -{ - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; -} IID; - -#endif // __IID_DEFINED__ - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED -typedef IID CLSID; -#endif // CLSID_DEFINED - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} - -#endif !_MIDL_USE_GUIDDEF_ - -MIDL_DEFINE_GUID(IID, IID_IAccessibleImage,0xFE5ABB3D,0x615E,0x4f7b,0x90,0x9F,0x5F,0x0E,0xDA,0x9E,0x8D,0xDE); - -#undef MIDL_DEFINE_GUID - -#ifdef __cplusplus -} -#endif - - - diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleImage_p.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleImage_p.c deleted file mode 100644 index daa8af2e29..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/AccessibleImage_p.c +++ /dev/null @@ -1,423 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the proxy stub code */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:53 2012 - */ -/* Compiler settings for AccessibleImage.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#if !defined(_M_IA64) && !defined(_M_AMD64) - - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ -#if _MSC_VER >= 1200 -#pragma warning(push) -#endif - -#pragma warning( disable: 4211 ) /* redefine extern to static */ -#pragma warning( disable: 4232 ) /* dllimport identity*/ -#pragma warning( disable: 4024 ) /* array to pointer mapping*/ -#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */ -#pragma warning( disable: 4100 ) /* unreferenced arguments in x86 call */ - -#pragma optimize("", off ) - -#define USE_STUBLESS_PROXY - - -/* verify that the <rpcproxy.h> version is high enough to compile this file*/ -#ifndef __REDQ_RPCPROXY_H_VERSION__ -#define __REQUIRED_RPCPROXY_H_VERSION__ 475 -#endif - - -#include "rpcproxy.h" -#ifndef __RPCPROXY_H_VERSION__ -#error this stub requires an updated version of <rpcproxy.h> -#endif /* __RPCPROXY_H_VERSION__ */ - - -#include "AccessibleImage.h" - -#define TYPE_FORMAT_STRING_SIZE 47 -#define PROC_FORMAT_STRING_SIZE 127 -#define EXPR_FORMAT_STRING_SIZE 1 -#define TRANSMIT_AS_TABLE_SIZE 0 -#define WIRE_MARSHAL_TABLE_SIZE 1 - -typedef struct _AccessibleImage_MIDL_TYPE_FORMAT_STRING - { - short Pad; - unsigned char Format[ TYPE_FORMAT_STRING_SIZE ]; - } AccessibleImage_MIDL_TYPE_FORMAT_STRING; - -typedef struct _AccessibleImage_MIDL_PROC_FORMAT_STRING - { - short Pad; - unsigned char Format[ PROC_FORMAT_STRING_SIZE ]; - } AccessibleImage_MIDL_PROC_FORMAT_STRING; - -typedef struct _AccessibleImage_MIDL_EXPR_FORMAT_STRING - { - long Pad; - unsigned char Format[ EXPR_FORMAT_STRING_SIZE ]; - } AccessibleImage_MIDL_EXPR_FORMAT_STRING; - - -static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax = -{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}}; - - -extern const AccessibleImage_MIDL_TYPE_FORMAT_STRING AccessibleImage__MIDL_TypeFormatString; -extern const AccessibleImage_MIDL_PROC_FORMAT_STRING AccessibleImage__MIDL_ProcFormatString; -extern const AccessibleImage_MIDL_EXPR_FORMAT_STRING AccessibleImage__MIDL_ExprFormatString; - - -extern const MIDL_STUB_DESC Object_StubDesc; - - -extern const MIDL_SERVER_INFO IAccessibleImage_ServerInfo; -extern const MIDL_STUBLESS_PROXY_INFO IAccessibleImage_ProxyInfo; - - -extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ]; - -#if !defined(__RPC_WIN32__) -#error Invalid build platform for this stub. -#endif - -#if !(TARGET_IS_NT50_OR_LATER) -#error You need Windows 2000 or later to run this stub because it uses these features: -#error /robust command line switch. -#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems. -#error This app will fail with the RPC_X_WRONG_STUB_VERSION error. -#endif - - -static const AccessibleImage_MIDL_PROC_FORMAT_STRING AccessibleImage__MIDL_ProcFormatString = - { - 0, - { - - /* Procedure get_description */ - - 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 2 */ NdrFcLong( 0x0 ), /* 0 */ -/* 6 */ NdrFcShort( 0x3 ), /* 3 */ -/* 8 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 10 */ NdrFcShort( 0x0 ), /* 0 */ -/* 12 */ NdrFcShort( 0x8 ), /* 8 */ -/* 14 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 16 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 18 */ NdrFcShort( 0x1 ), /* 1 */ -/* 20 */ NdrFcShort( 0x0 ), /* 0 */ -/* 22 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter description */ - -/* 24 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 26 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 28 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ - - /* Return value */ - -/* 30 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 32 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 34 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_imagePosition */ - -/* 36 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 38 */ NdrFcLong( 0x0 ), /* 0 */ -/* 42 */ NdrFcShort( 0x4 ), /* 4 */ -/* 44 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 46 */ NdrFcShort( 0x6 ), /* 6 */ -/* 48 */ NdrFcShort( 0x40 ), /* 64 */ -/* 50 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x4, /* 4 */ -/* 52 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 54 */ NdrFcShort( 0x0 ), /* 0 */ -/* 56 */ NdrFcShort( 0x0 ), /* 0 */ -/* 58 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter coordinateType */ - -/* 60 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 62 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 64 */ 0xd, /* FC_ENUM16 */ - 0x0, /* 0 */ - - /* Parameter x */ - -/* 66 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 68 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 70 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter y */ - -/* 72 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 74 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 76 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 78 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 80 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 82 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_imageSize */ - -/* 84 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 86 */ NdrFcLong( 0x0 ), /* 0 */ -/* 90 */ NdrFcShort( 0x5 ), /* 5 */ -/* 92 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 94 */ NdrFcShort( 0x0 ), /* 0 */ -/* 96 */ NdrFcShort( 0x40 ), /* 64 */ -/* 98 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x3, /* 3 */ -/* 100 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 102 */ NdrFcShort( 0x0 ), /* 0 */ -/* 104 */ NdrFcShort( 0x0 ), /* 0 */ -/* 106 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter height */ - -/* 108 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 110 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 112 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter width */ - -/* 114 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 116 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 118 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 120 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 122 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 124 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - 0x0 - } - }; - -static const AccessibleImage_MIDL_TYPE_FORMAT_STRING AccessibleImage__MIDL_TypeFormatString = - { - 0, - { - NdrFcShort( 0x0 ), /* 0 */ -/* 2 */ - 0x11, 0x4, /* FC_RP [alloced_on_stack] */ -/* 4 */ NdrFcShort( 0x1c ), /* Offset= 28 (32) */ -/* 6 */ - 0x13, 0x0, /* FC_OP */ -/* 8 */ NdrFcShort( 0xe ), /* Offset= 14 (22) */ -/* 10 */ - 0x1b, /* FC_CARRAY */ - 0x1, /* 1 */ -/* 12 */ NdrFcShort( 0x2 ), /* 2 */ -/* 14 */ 0x9, /* Corr desc: FC_ULONG */ - 0x0, /* */ -/* 16 */ NdrFcShort( 0xfffc ), /* -4 */ -/* 18 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 20 */ 0x6, /* FC_SHORT */ - 0x5b, /* FC_END */ -/* 22 */ - 0x17, /* FC_CSTRUCT */ - 0x3, /* 3 */ -/* 24 */ NdrFcShort( 0x8 ), /* 8 */ -/* 26 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (10) */ -/* 28 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 30 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 32 */ 0xb4, /* FC_USER_MARSHAL */ - 0x83, /* 131 */ -/* 34 */ NdrFcShort( 0x0 ), /* 0 */ -/* 36 */ NdrFcShort( 0x4 ), /* 4 */ -/* 38 */ NdrFcShort( 0x0 ), /* 0 */ -/* 40 */ NdrFcShort( 0xffde ), /* Offset= -34 (6) */ -/* 42 */ - 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */ -/* 44 */ 0x8, /* FC_LONG */ - 0x5c, /* FC_PAD */ - - 0x0 - } - }; - -static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] = - { - - { - BSTR_UserSize - ,BSTR_UserMarshal - ,BSTR_UserUnmarshal - ,BSTR_UserFree - } - - }; - - - -/* Object interface: IUnknown, ver. 0.0, - GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */ - - -/* Object interface: IAccessibleImage, ver. 0.0, - GUID={0xFE5ABB3D,0x615E,0x4f7b,{0x90,0x9F,0x5F,0x0E,0xDA,0x9E,0x8D,0xDE}} */ - -#pragma code_seg(".orpc") -static const unsigned short IAccessibleImage_FormatStringOffsetTable[] = - { - 0, - 36, - 84 - }; - -static const MIDL_STUBLESS_PROXY_INFO IAccessibleImage_ProxyInfo = - { - &Object_StubDesc, - AccessibleImage__MIDL_ProcFormatString.Format, - &IAccessibleImage_FormatStringOffsetTable[-3], - 0, - 0, - 0 - }; - - -static const MIDL_SERVER_INFO IAccessibleImage_ServerInfo = - { - &Object_StubDesc, - 0, - AccessibleImage__MIDL_ProcFormatString.Format, - &IAccessibleImage_FormatStringOffsetTable[-3], - 0, - 0, - 0, - 0}; -CINTERFACE_PROXY_VTABLE(6) _IAccessibleImageProxyVtbl = -{ - &IAccessibleImage_ProxyInfo, - &IID_IAccessibleImage, - IUnknown_QueryInterface_Proxy, - IUnknown_AddRef_Proxy, - IUnknown_Release_Proxy , - (void *) (INT_PTR) -1 /* IAccessibleImage::get_description */ , - (void *) (INT_PTR) -1 /* IAccessibleImage::get_imagePosition */ , - (void *) (INT_PTR) -1 /* IAccessibleImage::get_imageSize */ -}; - -const CInterfaceStubVtbl _IAccessibleImageStubVtbl = -{ - &IID_IAccessibleImage, - &IAccessibleImage_ServerInfo, - 6, - 0, /* pure interpreted */ - CStdStubBuffer_METHODS -}; - -static const MIDL_STUB_DESC Object_StubDesc = - { - 0, - NdrOleAllocate, - NdrOleFree, - 0, - 0, - 0, - 0, - 0, - AccessibleImage__MIDL_TypeFormatString.Format, - 1, /* -error bounds_check flag */ - 0x50002, /* Ndr library version */ - 0, - 0x700022b, /* MIDL Version 7.0.555 */ - 0, - UserMarshalRoutines, - 0, /* notify & notify_flag routine table */ - 0x1, /* MIDL flag */ - 0, /* cs routines */ - 0, /* proxy/server info */ - 0 - }; - -const CInterfaceProxyVtbl * const _AccessibleImage_ProxyVtblList[] = -{ - ( CInterfaceProxyVtbl *) &_IAccessibleImageProxyVtbl, - 0 -}; - -const CInterfaceStubVtbl * const _AccessibleImage_StubVtblList[] = -{ - ( CInterfaceStubVtbl *) &_IAccessibleImageStubVtbl, - 0 -}; - -PCInterfaceName const _AccessibleImage_InterfaceNamesList[] = -{ - "IAccessibleImage", - 0 -}; - - -#define _AccessibleImage_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleImage, pIID, n) - -int __stdcall _AccessibleImage_IID_Lookup( const IID * pIID, int * pIndex ) -{ - - if(!_AccessibleImage_CHECK_IID(0)) - { - *pIndex = 0; - return 1; - } - - return 0; -} - -const ExtendedProxyFileInfo AccessibleImage_ProxyFileInfo = -{ - (PCInterfaceProxyVtblList *) & _AccessibleImage_ProxyVtblList, - (PCInterfaceStubVtblList *) & _AccessibleImage_StubVtblList, - (const PCInterfaceName * ) & _AccessibleImage_InterfaceNamesList, - 0, /* no delegation */ - & _AccessibleImage_IID_Lookup, - 1, - 2, - 0, /* table of [async_uuid] interfaces */ - 0, /* Filler1 */ - 0, /* Filler2 */ - 0 /* Filler3 */ -}; -#pragma optimize("", on ) -#if _MSC_VER >= 1200 -#pragma warning(pop) -#endif - - -#endif /* !defined(_M_IA64) && !defined(_M_AMD64)*/ - diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleRelation.h b/src/3rdparty/iaccessible2/generated/x86/AccessibleRelation.h deleted file mode 100644 index b24908a421..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/AccessibleRelation.h +++ /dev/null @@ -1,244 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:54 2012 - */ -/* Compiler settings for AccessibleRelation.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the <rpcndr.h> version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of <rpcndr.h> -#endif // __RPCNDR_H_VERSION__ - -#ifndef COM_NO_WINDOWS_H -#include "windows.h" -#include "ole2.h" -#endif /*COM_NO_WINDOWS_H*/ - -#ifndef __AccessibleRelation_h__ -#define __AccessibleRelation_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -#ifndef __IAccessibleRelation_FWD_DEFINED__ -#define __IAccessibleRelation_FWD_DEFINED__ -typedef interface IAccessibleRelation IAccessibleRelation; -#endif /* __IAccessibleRelation_FWD_DEFINED__ */ - - -/* header files for imported files */ -#include "objidl.h" -#include "oaidl.h" -#include "oleacc.h" - -#ifdef __cplusplus -extern "C"{ -#endif - - -/* interface __MIDL_itf_AccessibleRelation_0000_0000 */ -/* [local] */ - -#define IA2_RELATION_CONTROLLED_BY ( L"controlledBy" ) - -#define IA2_RELATION_CONTROLLER_FOR ( L"controllerFor" ) - -#define IA2_RELATION_DESCRIBED_BY ( L"describedBy" ) - -#define IA2_RELATION_DESCRIPTION_FOR ( L"descriptionFor" ) - -#define IA2_RELATION_EMBEDDED_BY ( L"embeddedBy" ) - -#define IA2_RELATION_EMBEDS ( L"embeds" ) - -#define IA2_RELATION_FLOWS_FROM ( L"flowsFrom" ) - -#define IA2_RELATION_FLOWS_TO ( L"flowsTo" ) - -#define IA2_RELATION_LABEL_FOR ( L"labelFor" ) - -#define IA2_RELATION_LABELED_BY ( L"labelledBy" ) - -#define IA2_RELATION_LABELLED_BY ( L"labelledBy" ) - -#define IA2_RELATION_MEMBER_OF ( L"memberOf" ) - -#define IA2_RELATION_NODE_CHILD_OF ( L"nodeChildOf" ) - -#define IA2_RELATION_PARENT_WINDOW_OF ( L"parentWindowOf" ) - -#define IA2_RELATION_POPUP_FOR ( L"popupFor" ) - -#define IA2_RELATION_SUBWINDOW_OF ( L"subwindowOf" ) - - - -extern RPC_IF_HANDLE __MIDL_itf_AccessibleRelation_0000_0000_v0_0_c_ifspec; -extern RPC_IF_HANDLE __MIDL_itf_AccessibleRelation_0000_0000_v0_0_s_ifspec; - -#ifndef __IAccessibleRelation_INTERFACE_DEFINED__ -#define __IAccessibleRelation_INTERFACE_DEFINED__ - -/* interface IAccessibleRelation */ -/* [uuid][object] */ - - -EXTERN_C const IID IID_IAccessibleRelation; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("7CDF86EE-C3DA-496a-BDA4-281B336E1FDC") - IAccessibleRelation : public IUnknown - { - public: - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_relationType( - /* [retval][out] */ BSTR *relationType) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_localizedRelationType( - /* [retval][out] */ BSTR *localizedRelationType) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nTargets( - /* [retval][out] */ long *nTargets) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_target( - /* [in] */ long targetIndex, - /* [retval][out] */ IUnknown **target) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targets( - /* [in] */ long maxTargets, - /* [length_is][size_is][out] */ IUnknown **targets, - /* [retval][out] */ long *nTargets) = 0; - - }; - -#else /* C style interface */ - - typedef struct IAccessibleRelationVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IAccessibleRelation * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IAccessibleRelation * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IAccessibleRelation * This); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relationType )( - IAccessibleRelation * This, - /* [retval][out] */ BSTR *relationType); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedRelationType )( - IAccessibleRelation * This, - /* [retval][out] */ BSTR *localizedRelationType); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nTargets )( - IAccessibleRelation * This, - /* [retval][out] */ long *nTargets); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_target )( - IAccessibleRelation * This, - /* [in] */ long targetIndex, - /* [retval][out] */ IUnknown **target); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targets )( - IAccessibleRelation * This, - /* [in] */ long maxTargets, - /* [length_is][size_is][out] */ IUnknown **targets, - /* [retval][out] */ long *nTargets); - - END_INTERFACE - } IAccessibleRelationVtbl; - - interface IAccessibleRelation - { - CONST_VTBL struct IAccessibleRelationVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IAccessibleRelation_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IAccessibleRelation_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IAccessibleRelation_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IAccessibleRelation_get_relationType(This,relationType) \ - ( (This)->lpVtbl -> get_relationType(This,relationType) ) - -#define IAccessibleRelation_get_localizedRelationType(This,localizedRelationType) \ - ( (This)->lpVtbl -> get_localizedRelationType(This,localizedRelationType) ) - -#define IAccessibleRelation_get_nTargets(This,nTargets) \ - ( (This)->lpVtbl -> get_nTargets(This,nTargets) ) - -#define IAccessibleRelation_get_target(This,targetIndex,target) \ - ( (This)->lpVtbl -> get_target(This,targetIndex,target) ) - -#define IAccessibleRelation_get_targets(This,maxTargets,targets,nTargets) \ - ( (This)->lpVtbl -> get_targets(This,maxTargets,targets,nTargets) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IAccessibleRelation_INTERFACE_DEFINED__ */ - - -/* Additional Prototypes for ALL interfaces */ - -unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * ); -unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * ); -unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); -void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * ); - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleRelation_i.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleRelation_i.c deleted file mode 100644 index 58c8b78be7..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/AccessibleRelation_i.c +++ /dev/null @@ -1,79 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */ - -/* link this file in with the server and any clients */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:54 2012 - */ -/* Compiler settings for AccessibleRelation.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -#ifdef __cplusplus -extern "C"{ -#endif - - -#include <rpc.h> -#include <rpcndr.h> - -#ifdef _MIDL_USE_GUIDDEF_ - -#ifndef INITGUID -#define INITGUID -#include <guiddef.h> -#undef INITGUID -#else -#include <guiddef.h> -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) - -#else // !_MIDL_USE_GUIDDEF_ - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - -typedef struct _IID -{ - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; -} IID; - -#endif // __IID_DEFINED__ - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED -typedef IID CLSID; -#endif // CLSID_DEFINED - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} - -#endif !_MIDL_USE_GUIDDEF_ - -MIDL_DEFINE_GUID(IID, IID_IAccessibleRelation,0x7CDF86EE,0xC3DA,0x496a,0xBD,0xA4,0x28,0x1B,0x33,0x6E,0x1F,0xDC); - -#undef MIDL_DEFINE_GUID - -#ifdef __cplusplus -} -#endif - - - diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleRelation_p.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleRelation_p.c deleted file mode 100644 index a3a6cbd632..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/AccessibleRelation_p.c +++ /dev/null @@ -1,527 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the proxy stub code */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:54 2012 - */ -/* Compiler settings for AccessibleRelation.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#if !defined(_M_IA64) && !defined(_M_AMD64) - - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ -#if _MSC_VER >= 1200 -#pragma warning(push) -#endif - -#pragma warning( disable: 4211 ) /* redefine extern to static */ -#pragma warning( disable: 4232 ) /* dllimport identity*/ -#pragma warning( disable: 4024 ) /* array to pointer mapping*/ -#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */ -#pragma warning( disable: 4100 ) /* unreferenced arguments in x86 call */ - -#pragma optimize("", off ) - -#define USE_STUBLESS_PROXY - - -/* verify that the <rpcproxy.h> version is high enough to compile this file*/ -#ifndef __REDQ_RPCPROXY_H_VERSION__ -#define __REQUIRED_RPCPROXY_H_VERSION__ 475 -#endif - - -#include "rpcproxy.h" -#ifndef __RPCPROXY_H_VERSION__ -#error this stub requires an updated version of <rpcproxy.h> -#endif /* __RPCPROXY_H_VERSION__ */ - - -#include "AccessibleRelation.h" - -#define TYPE_FORMAT_STRING_SIZE 95 -#define PROC_FORMAT_STRING_SIZE 199 -#define EXPR_FORMAT_STRING_SIZE 1 -#define TRANSMIT_AS_TABLE_SIZE 0 -#define WIRE_MARSHAL_TABLE_SIZE 1 - -typedef struct _AccessibleRelation_MIDL_TYPE_FORMAT_STRING - { - short Pad; - unsigned char Format[ TYPE_FORMAT_STRING_SIZE ]; - } AccessibleRelation_MIDL_TYPE_FORMAT_STRING; - -typedef struct _AccessibleRelation_MIDL_PROC_FORMAT_STRING - { - short Pad; - unsigned char Format[ PROC_FORMAT_STRING_SIZE ]; - } AccessibleRelation_MIDL_PROC_FORMAT_STRING; - -typedef struct _AccessibleRelation_MIDL_EXPR_FORMAT_STRING - { - long Pad; - unsigned char Format[ EXPR_FORMAT_STRING_SIZE ]; - } AccessibleRelation_MIDL_EXPR_FORMAT_STRING; - - -static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax = -{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}}; - - -extern const AccessibleRelation_MIDL_TYPE_FORMAT_STRING AccessibleRelation__MIDL_TypeFormatString; -extern const AccessibleRelation_MIDL_PROC_FORMAT_STRING AccessibleRelation__MIDL_ProcFormatString; -extern const AccessibleRelation_MIDL_EXPR_FORMAT_STRING AccessibleRelation__MIDL_ExprFormatString; - - -extern const MIDL_STUB_DESC Object_StubDesc; - - -extern const MIDL_SERVER_INFO IAccessibleRelation_ServerInfo; -extern const MIDL_STUBLESS_PROXY_INFO IAccessibleRelation_ProxyInfo; - - -extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ]; - -#if !defined(__RPC_WIN32__) -#error Invalid build platform for this stub. -#endif - -#if !(TARGET_IS_NT50_OR_LATER) -#error You need Windows 2000 or later to run this stub because it uses these features: -#error /robust command line switch. -#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems. -#error This app will fail with the RPC_X_WRONG_STUB_VERSION error. -#endif - - -static const AccessibleRelation_MIDL_PROC_FORMAT_STRING AccessibleRelation__MIDL_ProcFormatString = - { - 0, - { - - /* Procedure get_relationType */ - - 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 2 */ NdrFcLong( 0x0 ), /* 0 */ -/* 6 */ NdrFcShort( 0x3 ), /* 3 */ -/* 8 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 10 */ NdrFcShort( 0x0 ), /* 0 */ -/* 12 */ NdrFcShort( 0x8 ), /* 8 */ -/* 14 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 16 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 18 */ NdrFcShort( 0x1 ), /* 1 */ -/* 20 */ NdrFcShort( 0x0 ), /* 0 */ -/* 22 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter relationType */ - -/* 24 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 26 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 28 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ - - /* Return value */ - -/* 30 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 32 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 34 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_localizedRelationType */ - -/* 36 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 38 */ NdrFcLong( 0x0 ), /* 0 */ -/* 42 */ NdrFcShort( 0x4 ), /* 4 */ -/* 44 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 46 */ NdrFcShort( 0x0 ), /* 0 */ -/* 48 */ NdrFcShort( 0x8 ), /* 8 */ -/* 50 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 52 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 54 */ NdrFcShort( 0x1 ), /* 1 */ -/* 56 */ NdrFcShort( 0x0 ), /* 0 */ -/* 58 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter localizedRelationType */ - -/* 60 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 62 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 64 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ - - /* Return value */ - -/* 66 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 68 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 70 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_nTargets */ - -/* 72 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 74 */ NdrFcLong( 0x0 ), /* 0 */ -/* 78 */ NdrFcShort( 0x5 ), /* 5 */ -/* 80 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 82 */ NdrFcShort( 0x0 ), /* 0 */ -/* 84 */ NdrFcShort( 0x24 ), /* 36 */ -/* 86 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 88 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 90 */ NdrFcShort( 0x0 ), /* 0 */ -/* 92 */ NdrFcShort( 0x0 ), /* 0 */ -/* 94 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter nTargets */ - -/* 96 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 98 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 100 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 102 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 104 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 106 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_target */ - -/* 108 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 110 */ NdrFcLong( 0x0 ), /* 0 */ -/* 114 */ NdrFcShort( 0x6 ), /* 6 */ -/* 116 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 118 */ NdrFcShort( 0x8 ), /* 8 */ -/* 120 */ NdrFcShort( 0x8 ), /* 8 */ -/* 122 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x3, /* 3 */ -/* 124 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 126 */ NdrFcShort( 0x0 ), /* 0 */ -/* 128 */ NdrFcShort( 0x0 ), /* 0 */ -/* 130 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter targetIndex */ - -/* 132 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 134 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 136 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter target */ - -/* 138 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ -/* 140 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 142 */ NdrFcShort( 0x2e ), /* Type Offset=46 */ - - /* Return value */ - -/* 144 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 146 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 148 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_targets */ - -/* 150 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 152 */ NdrFcLong( 0x0 ), /* 0 */ -/* 156 */ NdrFcShort( 0x7 ), /* 7 */ -/* 158 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 160 */ NdrFcShort( 0x8 ), /* 8 */ -/* 162 */ NdrFcShort( 0x24 ), /* 36 */ -/* 164 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x4, /* 4 */ -/* 166 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 168 */ NdrFcShort( 0x1 ), /* 1 */ -/* 170 */ NdrFcShort( 0x0 ), /* 0 */ -/* 172 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter maxTargets */ - -/* 174 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 176 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 178 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter targets */ - -/* 180 */ NdrFcShort( 0x113 ), /* Flags: must size, must free, out, simple ref, */ -/* 182 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 184 */ NdrFcShort( 0x48 ), /* Type Offset=72 */ - - /* Parameter nTargets */ - -/* 186 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 188 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 190 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 192 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 194 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 196 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - 0x0 - } - }; - -static const AccessibleRelation_MIDL_TYPE_FORMAT_STRING AccessibleRelation__MIDL_TypeFormatString = - { - 0, - { - NdrFcShort( 0x0 ), /* 0 */ -/* 2 */ - 0x11, 0x4, /* FC_RP [alloced_on_stack] */ -/* 4 */ NdrFcShort( 0x1c ), /* Offset= 28 (32) */ -/* 6 */ - 0x13, 0x0, /* FC_OP */ -/* 8 */ NdrFcShort( 0xe ), /* Offset= 14 (22) */ -/* 10 */ - 0x1b, /* FC_CARRAY */ - 0x1, /* 1 */ -/* 12 */ NdrFcShort( 0x2 ), /* 2 */ -/* 14 */ 0x9, /* Corr desc: FC_ULONG */ - 0x0, /* */ -/* 16 */ NdrFcShort( 0xfffc ), /* -4 */ -/* 18 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 20 */ 0x6, /* FC_SHORT */ - 0x5b, /* FC_END */ -/* 22 */ - 0x17, /* FC_CSTRUCT */ - 0x3, /* 3 */ -/* 24 */ NdrFcShort( 0x8 ), /* 8 */ -/* 26 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (10) */ -/* 28 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 30 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 32 */ 0xb4, /* FC_USER_MARSHAL */ - 0x83, /* 131 */ -/* 34 */ NdrFcShort( 0x0 ), /* 0 */ -/* 36 */ NdrFcShort( 0x4 ), /* 4 */ -/* 38 */ NdrFcShort( 0x0 ), /* 0 */ -/* 40 */ NdrFcShort( 0xffde ), /* Offset= -34 (6) */ -/* 42 */ - 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */ -/* 44 */ 0x8, /* FC_LONG */ - 0x5c, /* FC_PAD */ -/* 46 */ - 0x11, 0x10, /* FC_RP [pointer_deref] */ -/* 48 */ NdrFcShort( 0x2 ), /* Offset= 2 (50) */ -/* 50 */ - 0x2f, /* FC_IP */ - 0x5a, /* FC_CONSTANT_IID */ -/* 52 */ NdrFcLong( 0x0 ), /* 0 */ -/* 56 */ NdrFcShort( 0x0 ), /* 0 */ -/* 58 */ NdrFcShort( 0x0 ), /* 0 */ -/* 60 */ 0xc0, /* 192 */ - 0x0, /* 0 */ -/* 62 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 64 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 66 */ 0x0, /* 0 */ - 0x46, /* 70 */ -/* 68 */ - 0x11, 0x0, /* FC_RP */ -/* 70 */ NdrFcShort( 0x2 ), /* Offset= 2 (72) */ -/* 72 */ - 0x21, /* FC_BOGUS_ARRAY */ - 0x3, /* 3 */ -/* 74 */ NdrFcShort( 0x0 ), /* 0 */ -/* 76 */ 0x28, /* Corr desc: parameter, FC_LONG */ - 0x0, /* */ -/* 78 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 80 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 82 */ 0x28, /* Corr desc: parameter, FC_LONG */ - 0x54, /* FC_DEREFERENCE */ -/* 84 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 86 */ NdrFcShort( 0x0 ), /* Corr flags: */ -/* 88 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 90 */ NdrFcShort( 0xffd8 ), /* Offset= -40 (50) */ -/* 92 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ - - 0x0 - } - }; - -static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] = - { - - { - BSTR_UserSize - ,BSTR_UserMarshal - ,BSTR_UserUnmarshal - ,BSTR_UserFree - } - - }; - - - -/* Standard interface: __MIDL_itf_AccessibleRelation_0000_0000, ver. 0.0, - GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */ - - -/* Object interface: IUnknown, ver. 0.0, - GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */ - - -/* Object interface: IAccessibleRelation, ver. 0.0, - GUID={0x7CDF86EE,0xC3DA,0x496a,{0xBD,0xA4,0x28,0x1B,0x33,0x6E,0x1F,0xDC}} */ - -#pragma code_seg(".orpc") -static const unsigned short IAccessibleRelation_FormatStringOffsetTable[] = - { - 0, - 36, - 72, - 108, - 150 - }; - -static const MIDL_STUBLESS_PROXY_INFO IAccessibleRelation_ProxyInfo = - { - &Object_StubDesc, - AccessibleRelation__MIDL_ProcFormatString.Format, - &IAccessibleRelation_FormatStringOffsetTable[-3], - 0, - 0, - 0 - }; - - -static const MIDL_SERVER_INFO IAccessibleRelation_ServerInfo = - { - &Object_StubDesc, - 0, - AccessibleRelation__MIDL_ProcFormatString.Format, - &IAccessibleRelation_FormatStringOffsetTable[-3], - 0, - 0, - 0, - 0}; -CINTERFACE_PROXY_VTABLE(8) _IAccessibleRelationProxyVtbl = -{ - &IAccessibleRelation_ProxyInfo, - &IID_IAccessibleRelation, - IUnknown_QueryInterface_Proxy, - IUnknown_AddRef_Proxy, - IUnknown_Release_Proxy , - (void *) (INT_PTR) -1 /* IAccessibleRelation::get_relationType */ , - (void *) (INT_PTR) -1 /* IAccessibleRelation::get_localizedRelationType */ , - (void *) (INT_PTR) -1 /* IAccessibleRelation::get_nTargets */ , - (void *) (INT_PTR) -1 /* IAccessibleRelation::get_target */ , - (void *) (INT_PTR) -1 /* IAccessibleRelation::get_targets */ -}; - -const CInterfaceStubVtbl _IAccessibleRelationStubVtbl = -{ - &IID_IAccessibleRelation, - &IAccessibleRelation_ServerInfo, - 8, - 0, /* pure interpreted */ - CStdStubBuffer_METHODS -}; - -static const MIDL_STUB_DESC Object_StubDesc = - { - 0, - NdrOleAllocate, - NdrOleFree, - 0, - 0, - 0, - 0, - 0, - AccessibleRelation__MIDL_TypeFormatString.Format, - 1, /* -error bounds_check flag */ - 0x50002, /* Ndr library version */ - 0, - 0x700022b, /* MIDL Version 7.0.555 */ - 0, - UserMarshalRoutines, - 0, /* notify & notify_flag routine table */ - 0x1, /* MIDL flag */ - 0, /* cs routines */ - 0, /* proxy/server info */ - 0 - }; - -const CInterfaceProxyVtbl * const _AccessibleRelation_ProxyVtblList[] = -{ - ( CInterfaceProxyVtbl *) &_IAccessibleRelationProxyVtbl, - 0 -}; - -const CInterfaceStubVtbl * const _AccessibleRelation_StubVtblList[] = -{ - ( CInterfaceStubVtbl *) &_IAccessibleRelationStubVtbl, - 0 -}; - -PCInterfaceName const _AccessibleRelation_InterfaceNamesList[] = -{ - "IAccessibleRelation", - 0 -}; - - -#define _AccessibleRelation_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleRelation, pIID, n) - -int __stdcall _AccessibleRelation_IID_Lookup( const IID * pIID, int * pIndex ) -{ - - if(!_AccessibleRelation_CHECK_IID(0)) - { - *pIndex = 0; - return 1; - } - - return 0; -} - -const ExtendedProxyFileInfo AccessibleRelation_ProxyFileInfo = -{ - (PCInterfaceProxyVtblList *) & _AccessibleRelation_ProxyVtblList, - (PCInterfaceStubVtblList *) & _AccessibleRelation_StubVtblList, - (const PCInterfaceName * ) & _AccessibleRelation_InterfaceNamesList, - 0, /* no delegation */ - & _AccessibleRelation_IID_Lookup, - 1, - 2, - 0, /* table of [async_uuid] interfaces */ - 0, /* Filler1 */ - 0, /* Filler2 */ - 0 /* Filler3 */ -}; -#pragma optimize("", on ) -#if _MSC_VER >= 1200 -#pragma warning(pop) -#endif - - -#endif /* !defined(_M_IA64) && !defined(_M_AMD64)*/ - diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleRole.h b/src/3rdparty/iaccessible2/generated/x86/AccessibleRole.h deleted file mode 100644 index 221d1d00f6..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/AccessibleRole.h +++ /dev/null @@ -1,118 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:54 2012 - */ -/* Compiler settings for AccessibleRole.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the <rpcndr.h> version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of <rpcndr.h> -#endif // __RPCNDR_H_VERSION__ - - -#ifndef __AccessibleRole_h__ -#define __AccessibleRole_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -/* header files for imported files */ -#include "objidl.h" - -#ifdef __cplusplus -extern "C"{ -#endif - - -/* interface __MIDL_itf_AccessibleRole_0000_0000 */ -/* [local] */ - - -enum IA2Role - { IA2_ROLE_UNKNOWN = 0, - IA2_ROLE_CANVAS = 0x401, - IA2_ROLE_CAPTION = ( IA2_ROLE_CANVAS + 1 ) , - IA2_ROLE_CHECK_MENU_ITEM = ( IA2_ROLE_CAPTION + 1 ) , - IA2_ROLE_COLOR_CHOOSER = ( IA2_ROLE_CHECK_MENU_ITEM + 1 ) , - IA2_ROLE_DATE_EDITOR = ( IA2_ROLE_COLOR_CHOOSER + 1 ) , - IA2_ROLE_DESKTOP_ICON = ( IA2_ROLE_DATE_EDITOR + 1 ) , - IA2_ROLE_DESKTOP_PANE = ( IA2_ROLE_DESKTOP_ICON + 1 ) , - IA2_ROLE_DIRECTORY_PANE = ( IA2_ROLE_DESKTOP_PANE + 1 ) , - IA2_ROLE_EDITBAR = ( IA2_ROLE_DIRECTORY_PANE + 1 ) , - IA2_ROLE_EMBEDDED_OBJECT = ( IA2_ROLE_EDITBAR + 1 ) , - IA2_ROLE_ENDNOTE = ( IA2_ROLE_EMBEDDED_OBJECT + 1 ) , - IA2_ROLE_FILE_CHOOSER = ( IA2_ROLE_ENDNOTE + 1 ) , - IA2_ROLE_FONT_CHOOSER = ( IA2_ROLE_FILE_CHOOSER + 1 ) , - IA2_ROLE_FOOTER = ( IA2_ROLE_FONT_CHOOSER + 1 ) , - IA2_ROLE_FOOTNOTE = ( IA2_ROLE_FOOTER + 1 ) , - IA2_ROLE_FORM = ( IA2_ROLE_FOOTNOTE + 1 ) , - IA2_ROLE_FRAME = ( IA2_ROLE_FORM + 1 ) , - IA2_ROLE_GLASS_PANE = ( IA2_ROLE_FRAME + 1 ) , - IA2_ROLE_HEADER = ( IA2_ROLE_GLASS_PANE + 1 ) , - IA2_ROLE_HEADING = ( IA2_ROLE_HEADER + 1 ) , - IA2_ROLE_ICON = ( IA2_ROLE_HEADING + 1 ) , - IA2_ROLE_IMAGE_MAP = ( IA2_ROLE_ICON + 1 ) , - IA2_ROLE_INPUT_METHOD_WINDOW = ( IA2_ROLE_IMAGE_MAP + 1 ) , - IA2_ROLE_INTERNAL_FRAME = ( IA2_ROLE_INPUT_METHOD_WINDOW + 1 ) , - IA2_ROLE_LABEL = ( IA2_ROLE_INTERNAL_FRAME + 1 ) , - IA2_ROLE_LAYERED_PANE = ( IA2_ROLE_LABEL + 1 ) , - IA2_ROLE_NOTE = ( IA2_ROLE_LAYERED_PANE + 1 ) , - IA2_ROLE_OPTION_PANE = ( IA2_ROLE_NOTE + 1 ) , - IA2_ROLE_PAGE = ( IA2_ROLE_OPTION_PANE + 1 ) , - IA2_ROLE_PARAGRAPH = ( IA2_ROLE_PAGE + 1 ) , - IA2_ROLE_RADIO_MENU_ITEM = ( IA2_ROLE_PARAGRAPH + 1 ) , - IA2_ROLE_REDUNDANT_OBJECT = ( IA2_ROLE_RADIO_MENU_ITEM + 1 ) , - IA2_ROLE_ROOT_PANE = ( IA2_ROLE_REDUNDANT_OBJECT + 1 ) , - IA2_ROLE_RULER = ( IA2_ROLE_ROOT_PANE + 1 ) , - IA2_ROLE_SCROLL_PANE = ( IA2_ROLE_RULER + 1 ) , - IA2_ROLE_SECTION = ( IA2_ROLE_SCROLL_PANE + 1 ) , - IA2_ROLE_SHAPE = ( IA2_ROLE_SECTION + 1 ) , - IA2_ROLE_SPLIT_PANE = ( IA2_ROLE_SHAPE + 1 ) , - IA2_ROLE_TEAR_OFF_MENU = ( IA2_ROLE_SPLIT_PANE + 1 ) , - IA2_ROLE_TERMINAL = ( IA2_ROLE_TEAR_OFF_MENU + 1 ) , - IA2_ROLE_TEXT_FRAME = ( IA2_ROLE_TERMINAL + 1 ) , - IA2_ROLE_TOGGLE_BUTTON = ( IA2_ROLE_TEXT_FRAME + 1 ) , - IA2_ROLE_VIEW_PORT = ( IA2_ROLE_TOGGLE_BUTTON + 1 ) , - IA2_ROLE_COMPLEMENTARY_CONTENT = ( IA2_ROLE_VIEW_PORT + 1 ) - } ; - - -extern RPC_IF_HANDLE __MIDL_itf_AccessibleRole_0000_0000_v0_0_c_ifspec; -extern RPC_IF_HANDLE __MIDL_itf_AccessibleRole_0000_0000_v0_0_s_ifspec; - -/* Additional Prototypes for ALL interfaces */ - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleStates.h b/src/3rdparty/iaccessible2/generated/x86/AccessibleStates.h deleted file mode 100644 index 058d2e548e..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/AccessibleStates.h +++ /dev/null @@ -1,95 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:54 2012 - */ -/* Compiler settings for AccessibleStates.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the <rpcndr.h> version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of <rpcndr.h> -#endif // __RPCNDR_H_VERSION__ - - -#ifndef __AccessibleStates_h__ -#define __AccessibleStates_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -/* header files for imported files */ -#include "objidl.h" - -#ifdef __cplusplus -extern "C"{ -#endif - - -/* interface __MIDL_itf_AccessibleStates_0000_0000 */ -/* [local] */ - -typedef long AccessibleStates; - - -enum IA2States - { IA2_STATE_ACTIVE = 0x1, - IA2_STATE_ARMED = 0x2, - IA2_STATE_DEFUNCT = 0x4, - IA2_STATE_EDITABLE = 0x8, - IA2_STATE_HORIZONTAL = 0x10, - IA2_STATE_ICONIFIED = 0x20, - IA2_STATE_INVALID_ENTRY = 0x40, - IA2_STATE_MANAGES_DESCENDANTS = 0x80, - IA2_STATE_MODAL = 0x100, - IA2_STATE_MULTI_LINE = 0x200, - IA2_STATE_OPAQUE = 0x400, - IA2_STATE_REQUIRED = 0x800, - IA2_STATE_SELECTABLE_TEXT = 0x1000, - IA2_STATE_SINGLE_LINE = 0x2000, - IA2_STATE_STALE = 0x4000, - IA2_STATE_SUPPORTS_AUTOCOMPLETION = 0x8000, - IA2_STATE_TRANSIENT = 0x10000, - IA2_STATE_VERTICAL = 0x20000, - IA2_STATE_CHECKABLE = 0x40000, - IA2_STATE_PINNED = 0x80000 - } ; - - -extern RPC_IF_HANDLE __MIDL_itf_AccessibleStates_0000_0000_v0_0_c_ifspec; -extern RPC_IF_HANDLE __MIDL_itf_AccessibleStates_0000_0000_v0_0_s_ifspec; - -/* Additional Prototypes for ALL interfaces */ - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleTable.h b/src/3rdparty/iaccessible2/generated/x86/AccessibleTable.h deleted file mode 100644 index 0f7dd49efc..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/AccessibleTable.h +++ /dev/null @@ -1,497 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:54 2012 - */ -/* Compiler settings for AccessibleTable.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the <rpcndr.h> version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of <rpcndr.h> -#endif // __RPCNDR_H_VERSION__ - -#ifndef COM_NO_WINDOWS_H -#include "windows.h" -#include "ole2.h" -#endif /*COM_NO_WINDOWS_H*/ - -#ifndef __AccessibleTable_h__ -#define __AccessibleTable_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -#ifndef __IAccessibleTable_FWD_DEFINED__ -#define __IAccessibleTable_FWD_DEFINED__ -typedef interface IAccessibleTable IAccessibleTable; -#endif /* __IAccessibleTable_FWD_DEFINED__ */ - - -/* header files for imported files */ -#include "objidl.h" -#include "oaidl.h" -#include "oleacc.h" -#include "Accessible2.h" - -#ifdef __cplusplus -extern "C"{ -#endif - - -#ifndef __IAccessibleTable_INTERFACE_DEFINED__ -#define __IAccessibleTable_INTERFACE_DEFINED__ - -/* interface IAccessibleTable */ -/* [uuid][object] */ - - -EXTERN_C const IID IID_IAccessibleTable; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("35AD8070-C20C-4fb4-B094-F4F7275DD469") - IAccessibleTable : public IUnknown - { - public: - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_accessibleAt( - /* [in] */ long row, - /* [in] */ long column, - /* [retval][out] */ IUnknown **accessible) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_caption( - /* [retval][out] */ IUnknown **accessible) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_childIndex( - /* [in] */ long rowIndex, - /* [in] */ long columnIndex, - /* [retval][out] */ long *cellIndex) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnDescription( - /* [in] */ long column, - /* [retval][out] */ BSTR *description) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnExtentAt( - /* [in] */ long row, - /* [in] */ long column, - /* [retval][out] */ long *nColumnsSpanned) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnHeader( - /* [out] */ IAccessibleTable **accessibleTable, - /* [retval][out] */ long *startingRowIndex) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnIndex( - /* [in] */ long cellIndex, - /* [retval][out] */ long *columnIndex) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nColumns( - /* [retval][out] */ long *columnCount) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nRows( - /* [retval][out] */ long *rowCount) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedChildren( - /* [retval][out] */ long *cellCount) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedColumns( - /* [retval][out] */ long *columnCount) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedRows( - /* [retval][out] */ long *rowCount) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowDescription( - /* [in] */ long row, - /* [retval][out] */ BSTR *description) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowExtentAt( - /* [in] */ long row, - /* [in] */ long column, - /* [retval][out] */ long *nRowsSpanned) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowHeader( - /* [out] */ IAccessibleTable **accessibleTable, - /* [retval][out] */ long *startingColumnIndex) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowIndex( - /* [in] */ long cellIndex, - /* [retval][out] */ long *rowIndex) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedChildren( - /* [in] */ long maxChildren, - /* [length_is][length_is][size_is][size_is][out] */ long **children, - /* [retval][out] */ long *nChildren) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedColumns( - /* [in] */ long maxColumns, - /* [length_is][length_is][size_is][size_is][out] */ long **columns, - /* [retval][out] */ long *nColumns) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedRows( - /* [in] */ long maxRows, - /* [length_is][length_is][size_is][size_is][out] */ long **rows, - /* [retval][out] */ long *nRows) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_summary( - /* [retval][out] */ IUnknown **accessible) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isColumnSelected( - /* [in] */ long column, - /* [retval][out] */ boolean *isSelected) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRowSelected( - /* [in] */ long row, - /* [retval][out] */ boolean *isSelected) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isSelected( - /* [in] */ long row, - /* [in] */ long column, - /* [retval][out] */ boolean *isSelected) = 0; - - virtual HRESULT STDMETHODCALLTYPE selectRow( - /* [in] */ long row) = 0; - - virtual HRESULT STDMETHODCALLTYPE selectColumn( - /* [in] */ long column) = 0; - - virtual HRESULT STDMETHODCALLTYPE unselectRow( - /* [in] */ long row) = 0; - - virtual HRESULT STDMETHODCALLTYPE unselectColumn( - /* [in] */ long column) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowColumnExtentsAtIndex( - /* [in] */ long index, - /* [out] */ long *row, - /* [out] */ long *column, - /* [out] */ long *rowExtents, - /* [out] */ long *columnExtents, - /* [retval][out] */ boolean *isSelected) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_modelChange( - /* [retval][out] */ IA2TableModelChange *modelChange) = 0; - - }; - -#else /* C style interface */ - - typedef struct IAccessibleTableVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IAccessibleTable * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IAccessibleTable * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IAccessibleTable * This); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_accessibleAt )( - IAccessibleTable * This, - /* [in] */ long row, - /* [in] */ long column, - /* [retval][out] */ IUnknown **accessible); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caption )( - IAccessibleTable * This, - /* [retval][out] */ IUnknown **accessible); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_childIndex )( - IAccessibleTable * This, - /* [in] */ long rowIndex, - /* [in] */ long columnIndex, - /* [retval][out] */ long *cellIndex); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnDescription )( - IAccessibleTable * This, - /* [in] */ long column, - /* [retval][out] */ BSTR *description); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnExtentAt )( - IAccessibleTable * This, - /* [in] */ long row, - /* [in] */ long column, - /* [retval][out] */ long *nColumnsSpanned); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnHeader )( - IAccessibleTable * This, - /* [out] */ IAccessibleTable **accessibleTable, - /* [retval][out] */ long *startingRowIndex); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnIndex )( - IAccessibleTable * This, - /* [in] */ long cellIndex, - /* [retval][out] */ long *columnIndex); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nColumns )( - IAccessibleTable * This, - /* [retval][out] */ long *columnCount); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nRows )( - IAccessibleTable * This, - /* [retval][out] */ long *rowCount); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedChildren )( - IAccessibleTable * This, - /* [retval][out] */ long *cellCount); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedColumns )( - IAccessibleTable * This, - /* [retval][out] */ long *columnCount); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedRows )( - IAccessibleTable * This, - /* [retval][out] */ long *rowCount); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowDescription )( - IAccessibleTable * This, - /* [in] */ long row, - /* [retval][out] */ BSTR *description); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowExtentAt )( - IAccessibleTable * This, - /* [in] */ long row, - /* [in] */ long column, - /* [retval][out] */ long *nRowsSpanned); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowHeader )( - IAccessibleTable * This, - /* [out] */ IAccessibleTable **accessibleTable, - /* [retval][out] */ long *startingColumnIndex); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowIndex )( - IAccessibleTable * This, - /* [in] */ long cellIndex, - /* [retval][out] */ long *rowIndex); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedChildren )( - IAccessibleTable * This, - /* [in] */ long maxChildren, - /* [length_is][length_is][size_is][size_is][out] */ long **children, - /* [retval][out] */ long *nChildren); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedColumns )( - IAccessibleTable * This, - /* [in] */ long maxColumns, - /* [length_is][length_is][size_is][size_is][out] */ long **columns, - /* [retval][out] */ long *nColumns); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedRows )( - IAccessibleTable * This, - /* [in] */ long maxRows, - /* [length_is][length_is][size_is][size_is][out] */ long **rows, - /* [retval][out] */ long *nRows); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_summary )( - IAccessibleTable * This, - /* [retval][out] */ IUnknown **accessible); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isColumnSelected )( - IAccessibleTable * This, - /* [in] */ long column, - /* [retval][out] */ boolean *isSelected); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRowSelected )( - IAccessibleTable * This, - /* [in] */ long row, - /* [retval][out] */ boolean *isSelected); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSelected )( - IAccessibleTable * This, - /* [in] */ long row, - /* [in] */ long column, - /* [retval][out] */ boolean *isSelected); - - HRESULT ( STDMETHODCALLTYPE *selectRow )( - IAccessibleTable * This, - /* [in] */ long row); - - HRESULT ( STDMETHODCALLTYPE *selectColumn )( - IAccessibleTable * This, - /* [in] */ long column); - - HRESULT ( STDMETHODCALLTYPE *unselectRow )( - IAccessibleTable * This, - /* [in] */ long row); - - HRESULT ( STDMETHODCALLTYPE *unselectColumn )( - IAccessibleTable * This, - /* [in] */ long column); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowColumnExtentsAtIndex )( - IAccessibleTable * This, - /* [in] */ long index, - /* [out] */ long *row, - /* [out] */ long *column, - /* [out] */ long *rowExtents, - /* [out] */ long *columnExtents, - /* [retval][out] */ boolean *isSelected); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_modelChange )( - IAccessibleTable * This, - /* [retval][out] */ IA2TableModelChange *modelChange); - - END_INTERFACE - } IAccessibleTableVtbl; - - interface IAccessibleTable - { - CONST_VTBL struct IAccessibleTableVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IAccessibleTable_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IAccessibleTable_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IAccessibleTable_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IAccessibleTable_get_accessibleAt(This,row,column,accessible) \ - ( (This)->lpVtbl -> get_accessibleAt(This,row,column,accessible) ) - -#define IAccessibleTable_get_caption(This,accessible) \ - ( (This)->lpVtbl -> get_caption(This,accessible) ) - -#define IAccessibleTable_get_childIndex(This,rowIndex,columnIndex,cellIndex) \ - ( (This)->lpVtbl -> get_childIndex(This,rowIndex,columnIndex,cellIndex) ) - -#define IAccessibleTable_get_columnDescription(This,column,description) \ - ( (This)->lpVtbl -> get_columnDescription(This,column,description) ) - -#define IAccessibleTable_get_columnExtentAt(This,row,column,nColumnsSpanned) \ - ( (This)->lpVtbl -> get_columnExtentAt(This,row,column,nColumnsSpanned) ) - -#define IAccessibleTable_get_columnHeader(This,accessibleTable,startingRowIndex) \ - ( (This)->lpVtbl -> get_columnHeader(This,accessibleTable,startingRowIndex) ) - -#define IAccessibleTable_get_columnIndex(This,cellIndex,columnIndex) \ - ( (This)->lpVtbl -> get_columnIndex(This,cellIndex,columnIndex) ) - -#define IAccessibleTable_get_nColumns(This,columnCount) \ - ( (This)->lpVtbl -> get_nColumns(This,columnCount) ) - -#define IAccessibleTable_get_nRows(This,rowCount) \ - ( (This)->lpVtbl -> get_nRows(This,rowCount) ) - -#define IAccessibleTable_get_nSelectedChildren(This,cellCount) \ - ( (This)->lpVtbl -> get_nSelectedChildren(This,cellCount) ) - -#define IAccessibleTable_get_nSelectedColumns(This,columnCount) \ - ( (This)->lpVtbl -> get_nSelectedColumns(This,columnCount) ) - -#define IAccessibleTable_get_nSelectedRows(This,rowCount) \ - ( (This)->lpVtbl -> get_nSelectedRows(This,rowCount) ) - -#define IAccessibleTable_get_rowDescription(This,row,description) \ - ( (This)->lpVtbl -> get_rowDescription(This,row,description) ) - -#define IAccessibleTable_get_rowExtentAt(This,row,column,nRowsSpanned) \ - ( (This)->lpVtbl -> get_rowExtentAt(This,row,column,nRowsSpanned) ) - -#define IAccessibleTable_get_rowHeader(This,accessibleTable,startingColumnIndex) \ - ( (This)->lpVtbl -> get_rowHeader(This,accessibleTable,startingColumnIndex) ) - -#define IAccessibleTable_get_rowIndex(This,cellIndex,rowIndex) \ - ( (This)->lpVtbl -> get_rowIndex(This,cellIndex,rowIndex) ) - -#define IAccessibleTable_get_selectedChildren(This,maxChildren,children,nChildren) \ - ( (This)->lpVtbl -> get_selectedChildren(This,maxChildren,children,nChildren) ) - -#define IAccessibleTable_get_selectedColumns(This,maxColumns,columns,nColumns) \ - ( (This)->lpVtbl -> get_selectedColumns(This,maxColumns,columns,nColumns) ) - -#define IAccessibleTable_get_selectedRows(This,maxRows,rows,nRows) \ - ( (This)->lpVtbl -> get_selectedRows(This,maxRows,rows,nRows) ) - -#define IAccessibleTable_get_summary(This,accessible) \ - ( (This)->lpVtbl -> get_summary(This,accessible) ) - -#define IAccessibleTable_get_isColumnSelected(This,column,isSelected) \ - ( (This)->lpVtbl -> get_isColumnSelected(This,column,isSelected) ) - -#define IAccessibleTable_get_isRowSelected(This,row,isSelected) \ - ( (This)->lpVtbl -> get_isRowSelected(This,row,isSelected) ) - -#define IAccessibleTable_get_isSelected(This,row,column,isSelected) \ - ( (This)->lpVtbl -> get_isSelected(This,row,column,isSelected) ) - -#define IAccessibleTable_selectRow(This,row) \ - ( (This)->lpVtbl -> selectRow(This,row) ) - -#define IAccessibleTable_selectColumn(This,column) \ - ( (This)->lpVtbl -> selectColumn(This,column) ) - -#define IAccessibleTable_unselectRow(This,row) \ - ( (This)->lpVtbl -> unselectRow(This,row) ) - -#define IAccessibleTable_unselectColumn(This,column) \ - ( (This)->lpVtbl -> unselectColumn(This,column) ) - -#define IAccessibleTable_get_rowColumnExtentsAtIndex(This,index,row,column,rowExtents,columnExtents,isSelected) \ - ( (This)->lpVtbl -> get_rowColumnExtentsAtIndex(This,index,row,column,rowExtents,columnExtents,isSelected) ) - -#define IAccessibleTable_get_modelChange(This,modelChange) \ - ( (This)->lpVtbl -> get_modelChange(This,modelChange) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IAccessibleTable_INTERFACE_DEFINED__ */ - - -/* Additional Prototypes for ALL interfaces */ - -unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * ); -unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * ); -unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); -void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * ); - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleTable2.h b/src/3rdparty/iaccessible2/generated/x86/AccessibleTable2.h deleted file mode 100644 index d511869de4..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/AccessibleTable2.h +++ /dev/null @@ -1,367 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:55 2012 - */ -/* Compiler settings for AccessibleTable2.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the <rpcndr.h> version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of <rpcndr.h> -#endif // __RPCNDR_H_VERSION__ - -#ifndef COM_NO_WINDOWS_H -#include "windows.h" -#include "ole2.h" -#endif /*COM_NO_WINDOWS_H*/ - -#ifndef __AccessibleTable2_h__ -#define __AccessibleTable2_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -#ifndef __IAccessibleTable2_FWD_DEFINED__ -#define __IAccessibleTable2_FWD_DEFINED__ -typedef interface IAccessibleTable2 IAccessibleTable2; -#endif /* __IAccessibleTable2_FWD_DEFINED__ */ - - -/* header files for imported files */ -#include "objidl.h" -#include "oaidl.h" -#include "oleacc.h" -#include "Accessible2.h" - -#ifdef __cplusplus -extern "C"{ -#endif - - -#ifndef __IAccessibleTable2_INTERFACE_DEFINED__ -#define __IAccessibleTable2_INTERFACE_DEFINED__ - -/* interface IAccessibleTable2 */ -/* [uuid][object] */ - - -EXTERN_C const IID IID_IAccessibleTable2; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("6167f295-06f0-4cdd-a1fa-02e25153d869") - IAccessibleTable2 : public IUnknown - { - public: - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_cellAt( - /* [in] */ long row, - /* [in] */ long column, - /* [retval][out] */ IUnknown **cell) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_caption( - /* [retval][out] */ IUnknown **accessible) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnDescription( - /* [in] */ long column, - /* [retval][out] */ BSTR *description) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nColumns( - /* [retval][out] */ long *columnCount) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nRows( - /* [retval][out] */ long *rowCount) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedCells( - /* [retval][out] */ long *cellCount) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedColumns( - /* [retval][out] */ long *columnCount) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedRows( - /* [retval][out] */ long *rowCount) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowDescription( - /* [in] */ long row, - /* [retval][out] */ BSTR *description) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedCells( - /* [size_is][size_is][size_is][out] */ IUnknown ***cells, - /* [retval][out] */ long *nSelectedCells) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedColumns( - /* [size_is][size_is][out] */ long **selectedColumns, - /* [retval][out] */ long *nColumns) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedRows( - /* [size_is][size_is][out] */ long **selectedRows, - /* [retval][out] */ long *nRows) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_summary( - /* [retval][out] */ IUnknown **accessible) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isColumnSelected( - /* [in] */ long column, - /* [retval][out] */ boolean *isSelected) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRowSelected( - /* [in] */ long row, - /* [retval][out] */ boolean *isSelected) = 0; - - virtual HRESULT STDMETHODCALLTYPE selectRow( - /* [in] */ long row) = 0; - - virtual HRESULT STDMETHODCALLTYPE selectColumn( - /* [in] */ long column) = 0; - - virtual HRESULT STDMETHODCALLTYPE unselectRow( - /* [in] */ long row) = 0; - - virtual HRESULT STDMETHODCALLTYPE unselectColumn( - /* [in] */ long column) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_modelChange( - /* [retval][out] */ IA2TableModelChange *modelChange) = 0; - - }; - -#else /* C style interface */ - - typedef struct IAccessibleTable2Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IAccessibleTable2 * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IAccessibleTable2 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IAccessibleTable2 * This); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_cellAt )( - IAccessibleTable2 * This, - /* [in] */ long row, - /* [in] */ long column, - /* [retval][out] */ IUnknown **cell); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caption )( - IAccessibleTable2 * This, - /* [retval][out] */ IUnknown **accessible); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnDescription )( - IAccessibleTable2 * This, - /* [in] */ long column, - /* [retval][out] */ BSTR *description); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nColumns )( - IAccessibleTable2 * This, - /* [retval][out] */ long *columnCount); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nRows )( - IAccessibleTable2 * This, - /* [retval][out] */ long *rowCount); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedCells )( - IAccessibleTable2 * This, - /* [retval][out] */ long *cellCount); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedColumns )( - IAccessibleTable2 * This, - /* [retval][out] */ long *columnCount); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedRows )( - IAccessibleTable2 * This, - /* [retval][out] */ long *rowCount); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowDescription )( - IAccessibleTable2 * This, - /* [in] */ long row, - /* [retval][out] */ BSTR *description); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedCells )( - IAccessibleTable2 * This, - /* [size_is][size_is][size_is][out] */ IUnknown ***cells, - /* [retval][out] */ long *nSelectedCells); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedColumns )( - IAccessibleTable2 * This, - /* [size_is][size_is][out] */ long **selectedColumns, - /* [retval][out] */ long *nColumns); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedRows )( - IAccessibleTable2 * This, - /* [size_is][size_is][out] */ long **selectedRows, - /* [retval][out] */ long *nRows); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_summary )( - IAccessibleTable2 * This, - /* [retval][out] */ IUnknown **accessible); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isColumnSelected )( - IAccessibleTable2 * This, - /* [in] */ long column, - /* [retval][out] */ boolean *isSelected); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRowSelected )( - IAccessibleTable2 * This, - /* [in] */ long row, - /* [retval][out] */ boolean *isSelected); - - HRESULT ( STDMETHODCALLTYPE *selectRow )( - IAccessibleTable2 * This, - /* [in] */ long row); - - HRESULT ( STDMETHODCALLTYPE *selectColumn )( - IAccessibleTable2 * This, - /* [in] */ long column); - - HRESULT ( STDMETHODCALLTYPE *unselectRow )( - IAccessibleTable2 * This, - /* [in] */ long row); - - HRESULT ( STDMETHODCALLTYPE *unselectColumn )( - IAccessibleTable2 * This, - /* [in] */ long column); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_modelChange )( - IAccessibleTable2 * This, - /* [retval][out] */ IA2TableModelChange *modelChange); - - END_INTERFACE - } IAccessibleTable2Vtbl; - - interface IAccessibleTable2 - { - CONST_VTBL struct IAccessibleTable2Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IAccessibleTable2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IAccessibleTable2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IAccessibleTable2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IAccessibleTable2_get_cellAt(This,row,column,cell) \ - ( (This)->lpVtbl -> get_cellAt(This,row,column,cell) ) - -#define IAccessibleTable2_get_caption(This,accessible) \ - ( (This)->lpVtbl -> get_caption(This,accessible) ) - -#define IAccessibleTable2_get_columnDescription(This,column,description) \ - ( (This)->lpVtbl -> get_columnDescription(This,column,description) ) - -#define IAccessibleTable2_get_nColumns(This,columnCount) \ - ( (This)->lpVtbl -> get_nColumns(This,columnCount) ) - -#define IAccessibleTable2_get_nRows(This,rowCount) \ - ( (This)->lpVtbl -> get_nRows(This,rowCount) ) - -#define IAccessibleTable2_get_nSelectedCells(This,cellCount) \ - ( (This)->lpVtbl -> get_nSelectedCells(This,cellCount) ) - -#define IAccessibleTable2_get_nSelectedColumns(This,columnCount) \ - ( (This)->lpVtbl -> get_nSelectedColumns(This,columnCount) ) - -#define IAccessibleTable2_get_nSelectedRows(This,rowCount) \ - ( (This)->lpVtbl -> get_nSelectedRows(This,rowCount) ) - -#define IAccessibleTable2_get_rowDescription(This,row,description) \ - ( (This)->lpVtbl -> get_rowDescription(This,row,description) ) - -#define IAccessibleTable2_get_selectedCells(This,cells,nSelectedCells) \ - ( (This)->lpVtbl -> get_selectedCells(This,cells,nSelectedCells) ) - -#define IAccessibleTable2_get_selectedColumns(This,selectedColumns,nColumns) \ - ( (This)->lpVtbl -> get_selectedColumns(This,selectedColumns,nColumns) ) - -#define IAccessibleTable2_get_selectedRows(This,selectedRows,nRows) \ - ( (This)->lpVtbl -> get_selectedRows(This,selectedRows,nRows) ) - -#define IAccessibleTable2_get_summary(This,accessible) \ - ( (This)->lpVtbl -> get_summary(This,accessible) ) - -#define IAccessibleTable2_get_isColumnSelected(This,column,isSelected) \ - ( (This)->lpVtbl -> get_isColumnSelected(This,column,isSelected) ) - -#define IAccessibleTable2_get_isRowSelected(This,row,isSelected) \ - ( (This)->lpVtbl -> get_isRowSelected(This,row,isSelected) ) - -#define IAccessibleTable2_selectRow(This,row) \ - ( (This)->lpVtbl -> selectRow(This,row) ) - -#define IAccessibleTable2_selectColumn(This,column) \ - ( (This)->lpVtbl -> selectColumn(This,column) ) - -#define IAccessibleTable2_unselectRow(This,row) \ - ( (This)->lpVtbl -> unselectRow(This,row) ) - -#define IAccessibleTable2_unselectColumn(This,column) \ - ( (This)->lpVtbl -> unselectColumn(This,column) ) - -#define IAccessibleTable2_get_modelChange(This,modelChange) \ - ( (This)->lpVtbl -> get_modelChange(This,modelChange) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IAccessibleTable2_INTERFACE_DEFINED__ */ - - -/* Additional Prototypes for ALL interfaces */ - -unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * ); -unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * ); -unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); -void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * ); - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleTable2_i.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleTable2_i.c deleted file mode 100644 index f5444155ad..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/AccessibleTable2_i.c +++ /dev/null @@ -1,79 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */ - -/* link this file in with the server and any clients */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:55 2012 - */ -/* Compiler settings for AccessibleTable2.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -#ifdef __cplusplus -extern "C"{ -#endif - - -#include <rpc.h> -#include <rpcndr.h> - -#ifdef _MIDL_USE_GUIDDEF_ - -#ifndef INITGUID -#define INITGUID -#include <guiddef.h> -#undef INITGUID -#else -#include <guiddef.h> -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) - -#else // !_MIDL_USE_GUIDDEF_ - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - -typedef struct _IID -{ - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; -} IID; - -#endif // __IID_DEFINED__ - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED -typedef IID CLSID; -#endif // CLSID_DEFINED - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} - -#endif !_MIDL_USE_GUIDDEF_ - -MIDL_DEFINE_GUID(IID, IID_IAccessibleTable2,0x6167f295,0x06f0,0x4cdd,0xa1,0xfa,0x02,0xe2,0x51,0x53,0xd8,0x69); - -#undef MIDL_DEFINE_GUID - -#ifdef __cplusplus -} -#endif - - - diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleTable2_p.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleTable2_p.c deleted file mode 100644 index f4b782f9dc..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/AccessibleTable2_p.c +++ /dev/null @@ -1,1091 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the proxy stub code */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:55 2012 - */ -/* Compiler settings for AccessibleTable2.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#if !defined(_M_IA64) && !defined(_M_AMD64) - - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ -#if _MSC_VER >= 1200 -#pragma warning(push) -#endif - -#pragma warning( disable: 4211 ) /* redefine extern to static */ -#pragma warning( disable: 4232 ) /* dllimport identity*/ -#pragma warning( disable: 4024 ) /* array to pointer mapping*/ -#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */ -#pragma warning( disable: 4100 ) /* unreferenced arguments in x86 call */ - -#pragma optimize("", off ) - -#define USE_STUBLESS_PROXY - - -/* verify that the <rpcproxy.h> version is high enough to compile this file*/ -#ifndef __REDQ_RPCPROXY_H_VERSION__ -#define __REQUIRED_RPCPROXY_H_VERSION__ 475 -#endif - - -#include "rpcproxy.h" -#ifndef __RPCPROXY_H_VERSION__ -#error this stub requires an updated version of <rpcproxy.h> -#endif /* __RPCPROXY_H_VERSION__ */ - - -#include "AccessibleTable2.h" - -#define TYPE_FORMAT_STRING_SIZE 141 -#define PROC_FORMAT_STRING_SIZE 775 -#define EXPR_FORMAT_STRING_SIZE 1 -#define TRANSMIT_AS_TABLE_SIZE 0 -#define WIRE_MARSHAL_TABLE_SIZE 1 - -typedef struct _AccessibleTable2_MIDL_TYPE_FORMAT_STRING - { - short Pad; - unsigned char Format[ TYPE_FORMAT_STRING_SIZE ]; - } AccessibleTable2_MIDL_TYPE_FORMAT_STRING; - -typedef struct _AccessibleTable2_MIDL_PROC_FORMAT_STRING - { - short Pad; - unsigned char Format[ PROC_FORMAT_STRING_SIZE ]; - } AccessibleTable2_MIDL_PROC_FORMAT_STRING; - -typedef struct _AccessibleTable2_MIDL_EXPR_FORMAT_STRING - { - long Pad; - unsigned char Format[ EXPR_FORMAT_STRING_SIZE ]; - } AccessibleTable2_MIDL_EXPR_FORMAT_STRING; - - -static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax = -{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}}; - - -extern const AccessibleTable2_MIDL_TYPE_FORMAT_STRING AccessibleTable2__MIDL_TypeFormatString; -extern const AccessibleTable2_MIDL_PROC_FORMAT_STRING AccessibleTable2__MIDL_ProcFormatString; -extern const AccessibleTable2_MIDL_EXPR_FORMAT_STRING AccessibleTable2__MIDL_ExprFormatString; - - -extern const MIDL_STUB_DESC Object_StubDesc; - - -extern const MIDL_SERVER_INFO IAccessibleTable2_ServerInfo; -extern const MIDL_STUBLESS_PROXY_INFO IAccessibleTable2_ProxyInfo; - - -extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ]; - -#if !defined(__RPC_WIN32__) -#error Invalid build platform for this stub. -#endif - -#if !(TARGET_IS_NT50_OR_LATER) -#error You need Windows 2000 or later to run this stub because it uses these features: -#error /robust command line switch. -#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems. -#error This app will fail with the RPC_X_WRONG_STUB_VERSION error. -#endif - - -static const AccessibleTable2_MIDL_PROC_FORMAT_STRING AccessibleTable2__MIDL_ProcFormatString = - { - 0, - { - - /* Procedure get_cellAt */ - - 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 2 */ NdrFcLong( 0x0 ), /* 0 */ -/* 6 */ NdrFcShort( 0x3 ), /* 3 */ -/* 8 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 10 */ NdrFcShort( 0x10 ), /* 16 */ -/* 12 */ NdrFcShort( 0x8 ), /* 8 */ -/* 14 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x4, /* 4 */ -/* 16 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 18 */ NdrFcShort( 0x0 ), /* 0 */ -/* 20 */ NdrFcShort( 0x0 ), /* 0 */ -/* 22 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter row */ - -/* 24 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 26 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 28 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter column */ - -/* 30 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 32 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 34 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter cell */ - -/* 36 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ -/* 38 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 40 */ NdrFcShort( 0x2 ), /* Type Offset=2 */ - - /* Return value */ - -/* 42 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 44 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 46 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_caption */ - -/* 48 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 50 */ NdrFcLong( 0x0 ), /* 0 */ -/* 54 */ NdrFcShort( 0x4 ), /* 4 */ -/* 56 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 58 */ NdrFcShort( 0x0 ), /* 0 */ -/* 60 */ NdrFcShort( 0x8 ), /* 8 */ -/* 62 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 64 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 66 */ NdrFcShort( 0x0 ), /* 0 */ -/* 68 */ NdrFcShort( 0x0 ), /* 0 */ -/* 70 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter accessible */ - -/* 72 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ -/* 74 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 76 */ NdrFcShort( 0x2 ), /* Type Offset=2 */ - - /* Return value */ - -/* 78 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 80 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 82 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_columnDescription */ - -/* 84 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 86 */ NdrFcLong( 0x0 ), /* 0 */ -/* 90 */ NdrFcShort( 0x5 ), /* 5 */ -/* 92 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 94 */ NdrFcShort( 0x8 ), /* 8 */ -/* 96 */ NdrFcShort( 0x8 ), /* 8 */ -/* 98 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x3, /* 3 */ -/* 100 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 102 */ NdrFcShort( 0x1 ), /* 1 */ -/* 104 */ NdrFcShort( 0x0 ), /* 0 */ -/* 106 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter column */ - -/* 108 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 110 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 112 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter description */ - -/* 114 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 116 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 118 */ NdrFcShort( 0x36 ), /* Type Offset=54 */ - - /* Return value */ - -/* 120 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 122 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 124 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_nColumns */ - -/* 126 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 128 */ NdrFcLong( 0x0 ), /* 0 */ -/* 132 */ NdrFcShort( 0x6 ), /* 6 */ -/* 134 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 136 */ NdrFcShort( 0x0 ), /* 0 */ -/* 138 */ NdrFcShort( 0x24 ), /* 36 */ -/* 140 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 142 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 144 */ NdrFcShort( 0x0 ), /* 0 */ -/* 146 */ NdrFcShort( 0x0 ), /* 0 */ -/* 148 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter columnCount */ - -/* 150 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 152 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 154 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 156 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 158 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 160 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_nRows */ - -/* 162 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 164 */ NdrFcLong( 0x0 ), /* 0 */ -/* 168 */ NdrFcShort( 0x7 ), /* 7 */ -/* 170 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 172 */ NdrFcShort( 0x0 ), /* 0 */ -/* 174 */ NdrFcShort( 0x24 ), /* 36 */ -/* 176 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 178 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 180 */ NdrFcShort( 0x0 ), /* 0 */ -/* 182 */ NdrFcShort( 0x0 ), /* 0 */ -/* 184 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter rowCount */ - -/* 186 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 188 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 190 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 192 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 194 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 196 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_nSelectedCells */ - -/* 198 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 200 */ NdrFcLong( 0x0 ), /* 0 */ -/* 204 */ NdrFcShort( 0x8 ), /* 8 */ -/* 206 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 208 */ NdrFcShort( 0x0 ), /* 0 */ -/* 210 */ NdrFcShort( 0x24 ), /* 36 */ -/* 212 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 214 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 216 */ NdrFcShort( 0x0 ), /* 0 */ -/* 218 */ NdrFcShort( 0x0 ), /* 0 */ -/* 220 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter cellCount */ - -/* 222 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 224 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 226 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 228 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 230 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 232 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_nSelectedColumns */ - -/* 234 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 236 */ NdrFcLong( 0x0 ), /* 0 */ -/* 240 */ NdrFcShort( 0x9 ), /* 9 */ -/* 242 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 244 */ NdrFcShort( 0x0 ), /* 0 */ -/* 246 */ NdrFcShort( 0x24 ), /* 36 */ -/* 248 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 250 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 252 */ NdrFcShort( 0x0 ), /* 0 */ -/* 254 */ NdrFcShort( 0x0 ), /* 0 */ -/* 256 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter columnCount */ - -/* 258 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 260 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 262 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 264 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 266 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 268 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_nSelectedRows */ - -/* 270 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 272 */ NdrFcLong( 0x0 ), /* 0 */ -/* 276 */ NdrFcShort( 0xa ), /* 10 */ -/* 278 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 280 */ NdrFcShort( 0x0 ), /* 0 */ -/* 282 */ NdrFcShort( 0x24 ), /* 36 */ -/* 284 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 286 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 288 */ NdrFcShort( 0x0 ), /* 0 */ -/* 290 */ NdrFcShort( 0x0 ), /* 0 */ -/* 292 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter rowCount */ - -/* 294 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 296 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 298 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 300 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 302 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 304 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_rowDescription */ - -/* 306 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 308 */ NdrFcLong( 0x0 ), /* 0 */ -/* 312 */ NdrFcShort( 0xb ), /* 11 */ -/* 314 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 316 */ NdrFcShort( 0x8 ), /* 8 */ -/* 318 */ NdrFcShort( 0x8 ), /* 8 */ -/* 320 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x3, /* 3 */ -/* 322 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 324 */ NdrFcShort( 0x1 ), /* 1 */ -/* 326 */ NdrFcShort( 0x0 ), /* 0 */ -/* 328 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter row */ - -/* 330 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 332 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 334 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter description */ - -/* 336 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 338 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 340 */ NdrFcShort( 0x36 ), /* Type Offset=54 */ - - /* Return value */ - -/* 342 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 344 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 346 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_selectedCells */ - -/* 348 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 350 */ NdrFcLong( 0x0 ), /* 0 */ -/* 354 */ NdrFcShort( 0xc ), /* 12 */ -/* 356 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 358 */ NdrFcShort( 0x0 ), /* 0 */ -/* 360 */ NdrFcShort( 0x24 ), /* 36 */ -/* 362 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x3, /* 3 */ -/* 364 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 366 */ NdrFcShort( 0x1 ), /* 1 */ -/* 368 */ NdrFcShort( 0x0 ), /* 0 */ -/* 370 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter cells */ - -/* 372 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ -/* 374 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 376 */ NdrFcShort( 0x44 ), /* Type Offset=68 */ - - /* Parameter nSelectedCells */ - -/* 378 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 380 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 382 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 384 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 386 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 388 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_selectedColumns */ - -/* 390 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 392 */ NdrFcLong( 0x0 ), /* 0 */ -/* 396 */ NdrFcShort( 0xd ), /* 13 */ -/* 398 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 400 */ NdrFcShort( 0x0 ), /* 0 */ -/* 402 */ NdrFcShort( 0x24 ), /* 36 */ -/* 404 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x3, /* 3 */ -/* 406 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 408 */ NdrFcShort( 0x1 ), /* 1 */ -/* 410 */ NdrFcShort( 0x0 ), /* 0 */ -/* 412 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter selectedColumns */ - -/* 414 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ -/* 416 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 418 */ NdrFcShort( 0x62 ), /* Type Offset=98 */ - - /* Parameter nColumns */ - -/* 420 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 422 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 424 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 426 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 428 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 430 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_selectedRows */ - -/* 432 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 434 */ NdrFcLong( 0x0 ), /* 0 */ -/* 438 */ NdrFcShort( 0xe ), /* 14 */ -/* 440 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 442 */ NdrFcShort( 0x0 ), /* 0 */ -/* 444 */ NdrFcShort( 0x24 ), /* 36 */ -/* 446 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x3, /* 3 */ -/* 448 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 450 */ NdrFcShort( 0x1 ), /* 1 */ -/* 452 */ NdrFcShort( 0x0 ), /* 0 */ -/* 454 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter selectedRows */ - -/* 456 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ -/* 458 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 460 */ NdrFcShort( 0x62 ), /* Type Offset=98 */ - - /* Parameter nRows */ - -/* 462 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 464 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 466 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 468 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 470 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 472 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_summary */ - -/* 474 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 476 */ NdrFcLong( 0x0 ), /* 0 */ -/* 480 */ NdrFcShort( 0xf ), /* 15 */ -/* 482 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 484 */ NdrFcShort( 0x0 ), /* 0 */ -/* 486 */ NdrFcShort( 0x8 ), /* 8 */ -/* 488 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 490 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 492 */ NdrFcShort( 0x0 ), /* 0 */ -/* 494 */ NdrFcShort( 0x0 ), /* 0 */ -/* 496 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter accessible */ - -/* 498 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ -/* 500 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 502 */ NdrFcShort( 0x2 ), /* Type Offset=2 */ - - /* Return value */ - -/* 504 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 506 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 508 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_isColumnSelected */ - -/* 510 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 512 */ NdrFcLong( 0x0 ), /* 0 */ -/* 516 */ NdrFcShort( 0x10 ), /* 16 */ -/* 518 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 520 */ NdrFcShort( 0x8 ), /* 8 */ -/* 522 */ NdrFcShort( 0x21 ), /* 33 */ -/* 524 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x3, /* 3 */ -/* 526 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 528 */ NdrFcShort( 0x0 ), /* 0 */ -/* 530 */ NdrFcShort( 0x0 ), /* 0 */ -/* 532 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter column */ - -/* 534 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 536 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 538 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter isSelected */ - -/* 540 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 542 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 544 */ 0x3, /* FC_SMALL */ - 0x0, /* 0 */ - - /* Return value */ - -/* 546 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 548 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 550 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_isRowSelected */ - -/* 552 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 554 */ NdrFcLong( 0x0 ), /* 0 */ -/* 558 */ NdrFcShort( 0x11 ), /* 17 */ -/* 560 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 562 */ NdrFcShort( 0x8 ), /* 8 */ -/* 564 */ NdrFcShort( 0x21 ), /* 33 */ -/* 566 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x3, /* 3 */ -/* 568 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 570 */ NdrFcShort( 0x0 ), /* 0 */ -/* 572 */ NdrFcShort( 0x0 ), /* 0 */ -/* 574 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter row */ - -/* 576 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 578 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 580 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter isSelected */ - -/* 582 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 584 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 586 */ 0x3, /* FC_SMALL */ - 0x0, /* 0 */ - - /* Return value */ - -/* 588 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 590 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 592 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure selectRow */ - -/* 594 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 596 */ NdrFcLong( 0x0 ), /* 0 */ -/* 600 */ NdrFcShort( 0x12 ), /* 18 */ -/* 602 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 604 */ NdrFcShort( 0x8 ), /* 8 */ -/* 606 */ NdrFcShort( 0x8 ), /* 8 */ -/* 608 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 610 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 612 */ NdrFcShort( 0x0 ), /* 0 */ -/* 614 */ NdrFcShort( 0x0 ), /* 0 */ -/* 616 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter row */ - -/* 618 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 620 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 622 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 624 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 626 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 628 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure selectColumn */ - -/* 630 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 632 */ NdrFcLong( 0x0 ), /* 0 */ -/* 636 */ NdrFcShort( 0x13 ), /* 19 */ -/* 638 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 640 */ NdrFcShort( 0x8 ), /* 8 */ -/* 642 */ NdrFcShort( 0x8 ), /* 8 */ -/* 644 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 646 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 648 */ NdrFcShort( 0x0 ), /* 0 */ -/* 650 */ NdrFcShort( 0x0 ), /* 0 */ -/* 652 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter column */ - -/* 654 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 656 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 658 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 660 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 662 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 664 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure unselectRow */ - -/* 666 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 668 */ NdrFcLong( 0x0 ), /* 0 */ -/* 672 */ NdrFcShort( 0x14 ), /* 20 */ -/* 674 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 676 */ NdrFcShort( 0x8 ), /* 8 */ -/* 678 */ NdrFcShort( 0x8 ), /* 8 */ -/* 680 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 682 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 684 */ NdrFcShort( 0x0 ), /* 0 */ -/* 686 */ NdrFcShort( 0x0 ), /* 0 */ -/* 688 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter row */ - -/* 690 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 692 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 694 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 696 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 698 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 700 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure unselectColumn */ - -/* 702 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 704 */ NdrFcLong( 0x0 ), /* 0 */ -/* 708 */ NdrFcShort( 0x15 ), /* 21 */ -/* 710 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 712 */ NdrFcShort( 0x8 ), /* 8 */ -/* 714 */ NdrFcShort( 0x8 ), /* 8 */ -/* 716 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 718 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 720 */ NdrFcShort( 0x0 ), /* 0 */ -/* 722 */ NdrFcShort( 0x0 ), /* 0 */ -/* 724 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter column */ - -/* 726 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 728 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 730 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 732 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 734 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 736 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_modelChange */ - -/* 738 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 740 */ NdrFcLong( 0x0 ), /* 0 */ -/* 744 */ NdrFcShort( 0x16 ), /* 22 */ -/* 746 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 748 */ NdrFcShort( 0x0 ), /* 0 */ -/* 750 */ NdrFcShort( 0x8 ), /* 8 */ -/* 752 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 754 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 756 */ NdrFcShort( 0x0 ), /* 0 */ -/* 758 */ NdrFcShort( 0x0 ), /* 0 */ -/* 760 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter modelChange */ - -/* 762 */ NdrFcShort( 0x6113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=24 */ -/* 764 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 766 */ NdrFcShort( 0x7e ), /* Type Offset=126 */ - - /* Return value */ - -/* 768 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 770 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 772 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - 0x0 - } - }; - -static const AccessibleTable2_MIDL_TYPE_FORMAT_STRING AccessibleTable2__MIDL_TypeFormatString = - { - 0, - { - NdrFcShort( 0x0 ), /* 0 */ -/* 2 */ - 0x11, 0x10, /* FC_RP [pointer_deref] */ -/* 4 */ NdrFcShort( 0x2 ), /* Offset= 2 (6) */ -/* 6 */ - 0x2f, /* FC_IP */ - 0x5a, /* FC_CONSTANT_IID */ -/* 8 */ NdrFcLong( 0x0 ), /* 0 */ -/* 12 */ NdrFcShort( 0x0 ), /* 0 */ -/* 14 */ NdrFcShort( 0x0 ), /* 0 */ -/* 16 */ 0xc0, /* 192 */ - 0x0, /* 0 */ -/* 18 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 20 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 22 */ 0x0, /* 0 */ - 0x46, /* 70 */ -/* 24 */ - 0x11, 0x4, /* FC_RP [alloced_on_stack] */ -/* 26 */ NdrFcShort( 0x1c ), /* Offset= 28 (54) */ -/* 28 */ - 0x13, 0x0, /* FC_OP */ -/* 30 */ NdrFcShort( 0xe ), /* Offset= 14 (44) */ -/* 32 */ - 0x1b, /* FC_CARRAY */ - 0x1, /* 1 */ -/* 34 */ NdrFcShort( 0x2 ), /* 2 */ -/* 36 */ 0x9, /* Corr desc: FC_ULONG */ - 0x0, /* */ -/* 38 */ NdrFcShort( 0xfffc ), /* -4 */ -/* 40 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 42 */ 0x6, /* FC_SHORT */ - 0x5b, /* FC_END */ -/* 44 */ - 0x17, /* FC_CSTRUCT */ - 0x3, /* 3 */ -/* 46 */ NdrFcShort( 0x8 ), /* 8 */ -/* 48 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (32) */ -/* 50 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 52 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 54 */ 0xb4, /* FC_USER_MARSHAL */ - 0x83, /* 131 */ -/* 56 */ NdrFcShort( 0x0 ), /* 0 */ -/* 58 */ NdrFcShort( 0x4 ), /* 4 */ -/* 60 */ NdrFcShort( 0x0 ), /* 0 */ -/* 62 */ NdrFcShort( 0xffde ), /* Offset= -34 (28) */ -/* 64 */ - 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */ -/* 66 */ 0x8, /* FC_LONG */ - 0x5c, /* FC_PAD */ -/* 68 */ - 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */ -/* 70 */ NdrFcShort( 0x2 ), /* Offset= 2 (72) */ -/* 72 */ - 0x13, 0x0, /* FC_OP */ -/* 74 */ NdrFcShort( 0x2 ), /* Offset= 2 (76) */ -/* 76 */ - 0x21, /* FC_BOGUS_ARRAY */ - 0x3, /* 3 */ -/* 78 */ NdrFcShort( 0x0 ), /* 0 */ -/* 80 */ 0x28, /* Corr desc: parameter, FC_LONG */ - 0x54, /* FC_DEREFERENCE */ -/* 82 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 84 */ NdrFcShort( 0x0 ), /* Corr flags: */ -/* 86 */ NdrFcLong( 0xffffffff ), /* -1 */ -/* 90 */ NdrFcShort( 0x0 ), /* Corr flags: */ -/* 92 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 94 */ NdrFcShort( 0xffa8 ), /* Offset= -88 (6) */ -/* 96 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 98 */ - 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */ -/* 100 */ NdrFcShort( 0x2 ), /* Offset= 2 (102) */ -/* 102 */ - 0x13, 0x0, /* FC_OP */ -/* 104 */ NdrFcShort( 0x2 ), /* Offset= 2 (106) */ -/* 106 */ - 0x1b, /* FC_CARRAY */ - 0x3, /* 3 */ -/* 108 */ NdrFcShort( 0x4 ), /* 4 */ -/* 110 */ 0x28, /* Corr desc: parameter, FC_LONG */ - 0x54, /* FC_DEREFERENCE */ -/* 112 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 114 */ NdrFcShort( 0x0 ), /* Corr flags: */ -/* 116 */ 0x8, /* FC_LONG */ - 0x5b, /* FC_END */ -/* 118 */ - 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */ -/* 120 */ 0x3, /* FC_SMALL */ - 0x5c, /* FC_PAD */ -/* 122 */ - 0x11, 0x4, /* FC_RP [alloced_on_stack] */ -/* 124 */ NdrFcShort( 0x2 ), /* Offset= 2 (126) */ -/* 126 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 128 */ NdrFcShort( 0x14 ), /* 20 */ -/* 130 */ NdrFcShort( 0x0 ), /* 0 */ -/* 132 */ NdrFcShort( 0x0 ), /* Offset= 0 (132) */ -/* 134 */ 0xd, /* FC_ENUM16 */ - 0x8, /* FC_LONG */ -/* 136 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 138 */ 0x8, /* FC_LONG */ - 0x5b, /* FC_END */ - - 0x0 - } - }; - -static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] = - { - - { - BSTR_UserSize - ,BSTR_UserMarshal - ,BSTR_UserUnmarshal - ,BSTR_UserFree - } - - }; - - - -/* Object interface: IUnknown, ver. 0.0, - GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */ - - -/* Object interface: IAccessibleTable2, ver. 0.0, - GUID={0x6167f295,0x06f0,0x4cdd,{0xa1,0xfa,0x02,0xe2,0x51,0x53,0xd8,0x69}} */ - -#pragma code_seg(".orpc") -static const unsigned short IAccessibleTable2_FormatStringOffsetTable[] = - { - 0, - 48, - 84, - 126, - 162, - 198, - 234, - 270, - 306, - 348, - 390, - 432, - 474, - 510, - 552, - 594, - 630, - 666, - 702, - 738 - }; - -static const MIDL_STUBLESS_PROXY_INFO IAccessibleTable2_ProxyInfo = - { - &Object_StubDesc, - AccessibleTable2__MIDL_ProcFormatString.Format, - &IAccessibleTable2_FormatStringOffsetTable[-3], - 0, - 0, - 0 - }; - - -static const MIDL_SERVER_INFO IAccessibleTable2_ServerInfo = - { - &Object_StubDesc, - 0, - AccessibleTable2__MIDL_ProcFormatString.Format, - &IAccessibleTable2_FormatStringOffsetTable[-3], - 0, - 0, - 0, - 0}; -CINTERFACE_PROXY_VTABLE(23) _IAccessibleTable2ProxyVtbl = -{ - &IAccessibleTable2_ProxyInfo, - &IID_IAccessibleTable2, - IUnknown_QueryInterface_Proxy, - IUnknown_AddRef_Proxy, - IUnknown_Release_Proxy , - (void *) (INT_PTR) -1 /* IAccessibleTable2::get_cellAt */ , - (void *) (INT_PTR) -1 /* IAccessibleTable2::get_caption */ , - (void *) (INT_PTR) -1 /* IAccessibleTable2::get_columnDescription */ , - (void *) (INT_PTR) -1 /* IAccessibleTable2::get_nColumns */ , - (void *) (INT_PTR) -1 /* IAccessibleTable2::get_nRows */ , - (void *) (INT_PTR) -1 /* IAccessibleTable2::get_nSelectedCells */ , - (void *) (INT_PTR) -1 /* IAccessibleTable2::get_nSelectedColumns */ , - (void *) (INT_PTR) -1 /* IAccessibleTable2::get_nSelectedRows */ , - (void *) (INT_PTR) -1 /* IAccessibleTable2::get_rowDescription */ , - (void *) (INT_PTR) -1 /* IAccessibleTable2::get_selectedCells */ , - (void *) (INT_PTR) -1 /* IAccessibleTable2::get_selectedColumns */ , - (void *) (INT_PTR) -1 /* IAccessibleTable2::get_selectedRows */ , - (void *) (INT_PTR) -1 /* IAccessibleTable2::get_summary */ , - (void *) (INT_PTR) -1 /* IAccessibleTable2::get_isColumnSelected */ , - (void *) (INT_PTR) -1 /* IAccessibleTable2::get_isRowSelected */ , - (void *) (INT_PTR) -1 /* IAccessibleTable2::selectRow */ , - (void *) (INT_PTR) -1 /* IAccessibleTable2::selectColumn */ , - (void *) (INT_PTR) -1 /* IAccessibleTable2::unselectRow */ , - (void *) (INT_PTR) -1 /* IAccessibleTable2::unselectColumn */ , - (void *) (INT_PTR) -1 /* IAccessibleTable2::get_modelChange */ -}; - -const CInterfaceStubVtbl _IAccessibleTable2StubVtbl = -{ - &IID_IAccessibleTable2, - &IAccessibleTable2_ServerInfo, - 23, - 0, /* pure interpreted */ - CStdStubBuffer_METHODS -}; - -static const MIDL_STUB_DESC Object_StubDesc = - { - 0, - NdrOleAllocate, - NdrOleFree, - 0, - 0, - 0, - 0, - 0, - AccessibleTable2__MIDL_TypeFormatString.Format, - 1, /* -error bounds_check flag */ - 0x50002, /* Ndr library version */ - 0, - 0x700022b, /* MIDL Version 7.0.555 */ - 0, - UserMarshalRoutines, - 0, /* notify & notify_flag routine table */ - 0x1, /* MIDL flag */ - 0, /* cs routines */ - 0, /* proxy/server info */ - 0 - }; - -const CInterfaceProxyVtbl * const _AccessibleTable2_ProxyVtblList[] = -{ - ( CInterfaceProxyVtbl *) &_IAccessibleTable2ProxyVtbl, - 0 -}; - -const CInterfaceStubVtbl * const _AccessibleTable2_StubVtblList[] = -{ - ( CInterfaceStubVtbl *) &_IAccessibleTable2StubVtbl, - 0 -}; - -PCInterfaceName const _AccessibleTable2_InterfaceNamesList[] = -{ - "IAccessibleTable2", - 0 -}; - - -#define _AccessibleTable2_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleTable2, pIID, n) - -int __stdcall _AccessibleTable2_IID_Lookup( const IID * pIID, int * pIndex ) -{ - - if(!_AccessibleTable2_CHECK_IID(0)) - { - *pIndex = 0; - return 1; - } - - return 0; -} - -const ExtendedProxyFileInfo AccessibleTable2_ProxyFileInfo = -{ - (PCInterfaceProxyVtblList *) & _AccessibleTable2_ProxyVtblList, - (PCInterfaceStubVtblList *) & _AccessibleTable2_StubVtblList, - (const PCInterfaceName * ) & _AccessibleTable2_InterfaceNamesList, - 0, /* no delegation */ - & _AccessibleTable2_IID_Lookup, - 1, - 2, - 0, /* table of [async_uuid] interfaces */ - 0, /* Filler1 */ - 0, /* Filler2 */ - 0 /* Filler3 */ -}; -#pragma optimize("", on ) -#if _MSC_VER >= 1200 -#pragma warning(pop) -#endif - - -#endif /* !defined(_M_IA64) && !defined(_M_AMD64)*/ - diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleTableCell.h b/src/3rdparty/iaccessible2/generated/x86/AccessibleTableCell.h deleted file mode 100644 index 621768e149..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/AccessibleTableCell.h +++ /dev/null @@ -1,246 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:55 2012 - */ -/* Compiler settings for AccessibleTableCell.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the <rpcndr.h> version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of <rpcndr.h> -#endif // __RPCNDR_H_VERSION__ - -#ifndef COM_NO_WINDOWS_H -#include "windows.h" -#include "ole2.h" -#endif /*COM_NO_WINDOWS_H*/ - -#ifndef __AccessibleTableCell_h__ -#define __AccessibleTableCell_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -#ifndef __IAccessibleTableCell_FWD_DEFINED__ -#define __IAccessibleTableCell_FWD_DEFINED__ -typedef interface IAccessibleTableCell IAccessibleTableCell; -#endif /* __IAccessibleTableCell_FWD_DEFINED__ */ - - -/* header files for imported files */ -#include "objidl.h" -#include "oaidl.h" -#include "oleacc.h" -#include "Accessible2.h" - -#ifdef __cplusplus -extern "C"{ -#endif - - -#ifndef __IAccessibleTableCell_INTERFACE_DEFINED__ -#define __IAccessibleTableCell_INTERFACE_DEFINED__ - -/* interface IAccessibleTableCell */ -/* [uuid][object] */ - - -EXTERN_C const IID IID_IAccessibleTableCell; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("594116B1-C99F-4847-AD06-0A7A86ECE645") - IAccessibleTableCell : public IUnknown - { - public: - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnExtent( - /* [retval][out] */ long *nColumnsSpanned) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnHeaderCells( - /* [size_is][size_is][size_is][out] */ IUnknown ***cellAccessibles, - /* [retval][out] */ long *nColumnHeaderCells) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnIndex( - /* [retval][out] */ long *columnIndex) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowExtent( - /* [retval][out] */ long *nRowsSpanned) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowHeaderCells( - /* [size_is][size_is][size_is][out] */ IUnknown ***cellAccessibles, - /* [retval][out] */ long *nRowHeaderCells) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowIndex( - /* [retval][out] */ long *rowIndex) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isSelected( - /* [retval][out] */ boolean *isSelected) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowColumnExtents( - /* [out] */ long *row, - /* [out] */ long *column, - /* [out] */ long *rowExtents, - /* [out] */ long *columnExtents, - /* [retval][out] */ boolean *isSelected) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_table( - /* [retval][out] */ IUnknown **table) = 0; - - }; - -#else /* C style interface */ - - typedef struct IAccessibleTableCellVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IAccessibleTableCell * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IAccessibleTableCell * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IAccessibleTableCell * This); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnExtent )( - IAccessibleTableCell * This, - /* [retval][out] */ long *nColumnsSpanned); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnHeaderCells )( - IAccessibleTableCell * This, - /* [size_is][size_is][size_is][out] */ IUnknown ***cellAccessibles, - /* [retval][out] */ long *nColumnHeaderCells); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnIndex )( - IAccessibleTableCell * This, - /* [retval][out] */ long *columnIndex); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowExtent )( - IAccessibleTableCell * This, - /* [retval][out] */ long *nRowsSpanned); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowHeaderCells )( - IAccessibleTableCell * This, - /* [size_is][size_is][size_is][out] */ IUnknown ***cellAccessibles, - /* [retval][out] */ long *nRowHeaderCells); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowIndex )( - IAccessibleTableCell * This, - /* [retval][out] */ long *rowIndex); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSelected )( - IAccessibleTableCell * This, - /* [retval][out] */ boolean *isSelected); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowColumnExtents )( - IAccessibleTableCell * This, - /* [out] */ long *row, - /* [out] */ long *column, - /* [out] */ long *rowExtents, - /* [out] */ long *columnExtents, - /* [retval][out] */ boolean *isSelected); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_table )( - IAccessibleTableCell * This, - /* [retval][out] */ IUnknown **table); - - END_INTERFACE - } IAccessibleTableCellVtbl; - - interface IAccessibleTableCell - { - CONST_VTBL struct IAccessibleTableCellVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IAccessibleTableCell_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IAccessibleTableCell_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IAccessibleTableCell_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IAccessibleTableCell_get_columnExtent(This,nColumnsSpanned) \ - ( (This)->lpVtbl -> get_columnExtent(This,nColumnsSpanned) ) - -#define IAccessibleTableCell_get_columnHeaderCells(This,cellAccessibles,nColumnHeaderCells) \ - ( (This)->lpVtbl -> get_columnHeaderCells(This,cellAccessibles,nColumnHeaderCells) ) - -#define IAccessibleTableCell_get_columnIndex(This,columnIndex) \ - ( (This)->lpVtbl -> get_columnIndex(This,columnIndex) ) - -#define IAccessibleTableCell_get_rowExtent(This,nRowsSpanned) \ - ( (This)->lpVtbl -> get_rowExtent(This,nRowsSpanned) ) - -#define IAccessibleTableCell_get_rowHeaderCells(This,cellAccessibles,nRowHeaderCells) \ - ( (This)->lpVtbl -> get_rowHeaderCells(This,cellAccessibles,nRowHeaderCells) ) - -#define IAccessibleTableCell_get_rowIndex(This,rowIndex) \ - ( (This)->lpVtbl -> get_rowIndex(This,rowIndex) ) - -#define IAccessibleTableCell_get_isSelected(This,isSelected) \ - ( (This)->lpVtbl -> get_isSelected(This,isSelected) ) - -#define IAccessibleTableCell_get_rowColumnExtents(This,row,column,rowExtents,columnExtents,isSelected) \ - ( (This)->lpVtbl -> get_rowColumnExtents(This,row,column,rowExtents,columnExtents,isSelected) ) - -#define IAccessibleTableCell_get_table(This,table) \ - ( (This)->lpVtbl -> get_table(This,table) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IAccessibleTableCell_INTERFACE_DEFINED__ */ - - -/* Additional Prototypes for ALL interfaces */ - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleTableCell_i.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleTableCell_i.c deleted file mode 100644 index 4ea10e057d..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/AccessibleTableCell_i.c +++ /dev/null @@ -1,79 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */ - -/* link this file in with the server and any clients */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:55 2012 - */ -/* Compiler settings for AccessibleTableCell.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -#ifdef __cplusplus -extern "C"{ -#endif - - -#include <rpc.h> -#include <rpcndr.h> - -#ifdef _MIDL_USE_GUIDDEF_ - -#ifndef INITGUID -#define INITGUID -#include <guiddef.h> -#undef INITGUID -#else -#include <guiddef.h> -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) - -#else // !_MIDL_USE_GUIDDEF_ - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - -typedef struct _IID -{ - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; -} IID; - -#endif // __IID_DEFINED__ - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED -typedef IID CLSID; -#endif // CLSID_DEFINED - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} - -#endif !_MIDL_USE_GUIDDEF_ - -MIDL_DEFINE_GUID(IID, IID_IAccessibleTableCell,0x594116B1,0xC99F,0x4847,0xAD,0x06,0x0A,0x7A,0x86,0xEC,0xE6,0x45); - -#undef MIDL_DEFINE_GUID - -#ifdef __cplusplus -} -#endif - - - diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleTableCell_p.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleTableCell_p.c deleted file mode 100644 index 2627caaef9..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/AccessibleTableCell_p.c +++ /dev/null @@ -1,637 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the proxy stub code */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:55 2012 - */ -/* Compiler settings for AccessibleTableCell.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#if !defined(_M_IA64) && !defined(_M_AMD64) - - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ -#if _MSC_VER >= 1200 -#pragma warning(push) -#endif - -#pragma warning( disable: 4211 ) /* redefine extern to static */ -#pragma warning( disable: 4232 ) /* dllimport identity*/ -#pragma warning( disable: 4024 ) /* array to pointer mapping*/ -#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */ -#pragma warning( disable: 4100 ) /* unreferenced arguments in x86 call */ - -#pragma optimize("", off ) - -#define USE_STUBLESS_PROXY - - -/* verify that the <rpcproxy.h> version is high enough to compile this file*/ -#ifndef __REDQ_RPCPROXY_H_VERSION__ -#define __REQUIRED_RPCPROXY_H_VERSION__ 475 -#endif - - -#include "rpcproxy.h" -#ifndef __RPCPROXY_H_VERSION__ -#error this stub requires an updated version of <rpcproxy.h> -#endif /* __RPCPROXY_H_VERSION__ */ - - -#include "AccessibleTableCell.h" - -#define TYPE_FORMAT_STRING_SIZE 63 -#define PROC_FORMAT_STRING_SIZE 361 -#define EXPR_FORMAT_STRING_SIZE 1 -#define TRANSMIT_AS_TABLE_SIZE 0 -#define WIRE_MARSHAL_TABLE_SIZE 0 - -typedef struct _AccessibleTableCell_MIDL_TYPE_FORMAT_STRING - { - short Pad; - unsigned char Format[ TYPE_FORMAT_STRING_SIZE ]; - } AccessibleTableCell_MIDL_TYPE_FORMAT_STRING; - -typedef struct _AccessibleTableCell_MIDL_PROC_FORMAT_STRING - { - short Pad; - unsigned char Format[ PROC_FORMAT_STRING_SIZE ]; - } AccessibleTableCell_MIDL_PROC_FORMAT_STRING; - -typedef struct _AccessibleTableCell_MIDL_EXPR_FORMAT_STRING - { - long Pad; - unsigned char Format[ EXPR_FORMAT_STRING_SIZE ]; - } AccessibleTableCell_MIDL_EXPR_FORMAT_STRING; - - -static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax = -{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}}; - - -extern const AccessibleTableCell_MIDL_TYPE_FORMAT_STRING AccessibleTableCell__MIDL_TypeFormatString; -extern const AccessibleTableCell_MIDL_PROC_FORMAT_STRING AccessibleTableCell__MIDL_ProcFormatString; -extern const AccessibleTableCell_MIDL_EXPR_FORMAT_STRING AccessibleTableCell__MIDL_ExprFormatString; - - -extern const MIDL_STUB_DESC Object_StubDesc; - - -extern const MIDL_SERVER_INFO IAccessibleTableCell_ServerInfo; -extern const MIDL_STUBLESS_PROXY_INFO IAccessibleTableCell_ProxyInfo; - - - -#if !defined(__RPC_WIN32__) -#error Invalid build platform for this stub. -#endif - -#if !(TARGET_IS_NT50_OR_LATER) -#error You need Windows 2000 or later to run this stub because it uses these features: -#error /robust command line switch. -#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems. -#error This app will fail with the RPC_X_WRONG_STUB_VERSION error. -#endif - - -static const AccessibleTableCell_MIDL_PROC_FORMAT_STRING AccessibleTableCell__MIDL_ProcFormatString = - { - 0, - { - - /* Procedure get_columnExtent */ - - 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 2 */ NdrFcLong( 0x0 ), /* 0 */ -/* 6 */ NdrFcShort( 0x3 ), /* 3 */ -/* 8 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 10 */ NdrFcShort( 0x0 ), /* 0 */ -/* 12 */ NdrFcShort( 0x24 ), /* 36 */ -/* 14 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 16 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 18 */ NdrFcShort( 0x0 ), /* 0 */ -/* 20 */ NdrFcShort( 0x0 ), /* 0 */ -/* 22 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter nColumnsSpanned */ - -/* 24 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 26 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 28 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 30 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 32 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 34 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_columnHeaderCells */ - -/* 36 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 38 */ NdrFcLong( 0x0 ), /* 0 */ -/* 42 */ NdrFcShort( 0x4 ), /* 4 */ -/* 44 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 46 */ NdrFcShort( 0x0 ), /* 0 */ -/* 48 */ NdrFcShort( 0x24 ), /* 36 */ -/* 50 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x3, /* 3 */ -/* 52 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 54 */ NdrFcShort( 0x1 ), /* 1 */ -/* 56 */ NdrFcShort( 0x0 ), /* 0 */ -/* 58 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter cellAccessibles */ - -/* 60 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ -/* 62 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 64 */ NdrFcShort( 0x6 ), /* Type Offset=6 */ - - /* Parameter nColumnHeaderCells */ - -/* 66 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 68 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 70 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 72 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 74 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 76 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_columnIndex */ - -/* 78 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 80 */ NdrFcLong( 0x0 ), /* 0 */ -/* 84 */ NdrFcShort( 0x5 ), /* 5 */ -/* 86 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 88 */ NdrFcShort( 0x0 ), /* 0 */ -/* 90 */ NdrFcShort( 0x24 ), /* 36 */ -/* 92 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 94 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 96 */ NdrFcShort( 0x0 ), /* 0 */ -/* 98 */ NdrFcShort( 0x0 ), /* 0 */ -/* 100 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter columnIndex */ - -/* 102 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 104 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 106 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 108 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 110 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 112 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_rowExtent */ - -/* 114 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 116 */ NdrFcLong( 0x0 ), /* 0 */ -/* 120 */ NdrFcShort( 0x6 ), /* 6 */ -/* 122 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 124 */ NdrFcShort( 0x0 ), /* 0 */ -/* 126 */ NdrFcShort( 0x24 ), /* 36 */ -/* 128 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 130 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 132 */ NdrFcShort( 0x0 ), /* 0 */ -/* 134 */ NdrFcShort( 0x0 ), /* 0 */ -/* 136 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter nRowsSpanned */ - -/* 138 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 140 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 142 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 144 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 146 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 148 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_rowHeaderCells */ - -/* 150 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 152 */ NdrFcLong( 0x0 ), /* 0 */ -/* 156 */ NdrFcShort( 0x7 ), /* 7 */ -/* 158 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 160 */ NdrFcShort( 0x0 ), /* 0 */ -/* 162 */ NdrFcShort( 0x24 ), /* 36 */ -/* 164 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x3, /* 3 */ -/* 166 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 168 */ NdrFcShort( 0x1 ), /* 1 */ -/* 170 */ NdrFcShort( 0x0 ), /* 0 */ -/* 172 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter cellAccessibles */ - -/* 174 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ -/* 176 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 178 */ NdrFcShort( 0x6 ), /* Type Offset=6 */ - - /* Parameter nRowHeaderCells */ - -/* 180 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 182 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 184 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 186 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 188 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 190 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_rowIndex */ - -/* 192 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 194 */ NdrFcLong( 0x0 ), /* 0 */ -/* 198 */ NdrFcShort( 0x8 ), /* 8 */ -/* 200 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 202 */ NdrFcShort( 0x0 ), /* 0 */ -/* 204 */ NdrFcShort( 0x24 ), /* 36 */ -/* 206 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 208 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 210 */ NdrFcShort( 0x0 ), /* 0 */ -/* 212 */ NdrFcShort( 0x0 ), /* 0 */ -/* 214 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter rowIndex */ - -/* 216 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 218 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 220 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 222 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 224 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 226 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_isSelected */ - -/* 228 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 230 */ NdrFcLong( 0x0 ), /* 0 */ -/* 234 */ NdrFcShort( 0x9 ), /* 9 */ -/* 236 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 238 */ NdrFcShort( 0x0 ), /* 0 */ -/* 240 */ NdrFcShort( 0x21 ), /* 33 */ -/* 242 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 244 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 246 */ NdrFcShort( 0x0 ), /* 0 */ -/* 248 */ NdrFcShort( 0x0 ), /* 0 */ -/* 250 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter isSelected */ - -/* 252 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 254 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 256 */ 0x3, /* FC_SMALL */ - 0x0, /* 0 */ - - /* Return value */ - -/* 258 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 260 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 262 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_rowColumnExtents */ - -/* 264 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 266 */ NdrFcLong( 0x0 ), /* 0 */ -/* 270 */ NdrFcShort( 0xa ), /* 10 */ -/* 272 */ NdrFcShort( 0x1c ), /* x86 Stack size/offset = 28 */ -/* 274 */ NdrFcShort( 0x0 ), /* 0 */ -/* 276 */ NdrFcShort( 0x91 ), /* 145 */ -/* 278 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x6, /* 6 */ -/* 280 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 282 */ NdrFcShort( 0x0 ), /* 0 */ -/* 284 */ NdrFcShort( 0x0 ), /* 0 */ -/* 286 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter row */ - -/* 288 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 290 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 292 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter column */ - -/* 294 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 296 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 298 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter rowExtents */ - -/* 300 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 302 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 304 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter columnExtents */ - -/* 306 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 308 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 310 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter isSelected */ - -/* 312 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 314 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 316 */ 0x3, /* FC_SMALL */ - 0x0, /* 0 */ - - /* Return value */ - -/* 318 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 320 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ -/* 322 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_table */ - -/* 324 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 326 */ NdrFcLong( 0x0 ), /* 0 */ -/* 330 */ NdrFcShort( 0xb ), /* 11 */ -/* 332 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 334 */ NdrFcShort( 0x0 ), /* 0 */ -/* 336 */ NdrFcShort( 0x8 ), /* 8 */ -/* 338 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 340 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 342 */ NdrFcShort( 0x0 ), /* 0 */ -/* 344 */ NdrFcShort( 0x0 ), /* 0 */ -/* 346 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter table */ - -/* 348 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ -/* 350 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 352 */ NdrFcShort( 0x3a ), /* Type Offset=58 */ - - /* Return value */ - -/* 354 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 356 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 358 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - 0x0 - } - }; - -static const AccessibleTableCell_MIDL_TYPE_FORMAT_STRING AccessibleTableCell__MIDL_TypeFormatString = - { - 0, - { - NdrFcShort( 0x0 ), /* 0 */ -/* 2 */ - 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */ -/* 4 */ 0x8, /* FC_LONG */ - 0x5c, /* FC_PAD */ -/* 6 */ - 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */ -/* 8 */ NdrFcShort( 0x2 ), /* Offset= 2 (10) */ -/* 10 */ - 0x13, 0x0, /* FC_OP */ -/* 12 */ NdrFcShort( 0x14 ), /* Offset= 20 (32) */ -/* 14 */ - 0x2f, /* FC_IP */ - 0x5a, /* FC_CONSTANT_IID */ -/* 16 */ NdrFcLong( 0x0 ), /* 0 */ -/* 20 */ NdrFcShort( 0x0 ), /* 0 */ -/* 22 */ NdrFcShort( 0x0 ), /* 0 */ -/* 24 */ 0xc0, /* 192 */ - 0x0, /* 0 */ -/* 26 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 28 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 30 */ 0x0, /* 0 */ - 0x46, /* 70 */ -/* 32 */ - 0x21, /* FC_BOGUS_ARRAY */ - 0x3, /* 3 */ -/* 34 */ NdrFcShort( 0x0 ), /* 0 */ -/* 36 */ 0x28, /* Corr desc: parameter, FC_LONG */ - 0x54, /* FC_DEREFERENCE */ -/* 38 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 40 */ NdrFcShort( 0x0 ), /* Corr flags: */ -/* 42 */ NdrFcLong( 0xffffffff ), /* -1 */ -/* 46 */ NdrFcShort( 0x0 ), /* Corr flags: */ -/* 48 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 50 */ NdrFcShort( 0xffdc ), /* Offset= -36 (14) */ -/* 52 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 54 */ - 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */ -/* 56 */ 0x3, /* FC_SMALL */ - 0x5c, /* FC_PAD */ -/* 58 */ - 0x11, 0x10, /* FC_RP [pointer_deref] */ -/* 60 */ NdrFcShort( 0xffd2 ), /* Offset= -46 (14) */ - - 0x0 - } - }; - - -/* Object interface: IUnknown, ver. 0.0, - GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */ - - -/* Object interface: IAccessibleTableCell, ver. 0.0, - GUID={0x594116B1,0xC99F,0x4847,{0xAD,0x06,0x0A,0x7A,0x86,0xEC,0xE6,0x45}} */ - -#pragma code_seg(".orpc") -static const unsigned short IAccessibleTableCell_FormatStringOffsetTable[] = - { - 0, - 36, - 78, - 114, - 150, - 192, - 228, - 264, - 324 - }; - -static const MIDL_STUBLESS_PROXY_INFO IAccessibleTableCell_ProxyInfo = - { - &Object_StubDesc, - AccessibleTableCell__MIDL_ProcFormatString.Format, - &IAccessibleTableCell_FormatStringOffsetTable[-3], - 0, - 0, - 0 - }; - - -static const MIDL_SERVER_INFO IAccessibleTableCell_ServerInfo = - { - &Object_StubDesc, - 0, - AccessibleTableCell__MIDL_ProcFormatString.Format, - &IAccessibleTableCell_FormatStringOffsetTable[-3], - 0, - 0, - 0, - 0}; -CINTERFACE_PROXY_VTABLE(12) _IAccessibleTableCellProxyVtbl = -{ - &IAccessibleTableCell_ProxyInfo, - &IID_IAccessibleTableCell, - IUnknown_QueryInterface_Proxy, - IUnknown_AddRef_Proxy, - IUnknown_Release_Proxy , - (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_columnExtent */ , - (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_columnHeaderCells */ , - (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_columnIndex */ , - (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_rowExtent */ , - (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_rowHeaderCells */ , - (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_rowIndex */ , - (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_isSelected */ , - (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_rowColumnExtents */ , - (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_table */ -}; - -const CInterfaceStubVtbl _IAccessibleTableCellStubVtbl = -{ - &IID_IAccessibleTableCell, - &IAccessibleTableCell_ServerInfo, - 12, - 0, /* pure interpreted */ - CStdStubBuffer_METHODS -}; - -static const MIDL_STUB_DESC Object_StubDesc = - { - 0, - NdrOleAllocate, - NdrOleFree, - 0, - 0, - 0, - 0, - 0, - AccessibleTableCell__MIDL_TypeFormatString.Format, - 1, /* -error bounds_check flag */ - 0x50002, /* Ndr library version */ - 0, - 0x700022b, /* MIDL Version 7.0.555 */ - 0, - 0, - 0, /* notify & notify_flag routine table */ - 0x1, /* MIDL flag */ - 0, /* cs routines */ - 0, /* proxy/server info */ - 0 - }; - -const CInterfaceProxyVtbl * const _AccessibleTableCell_ProxyVtblList[] = -{ - ( CInterfaceProxyVtbl *) &_IAccessibleTableCellProxyVtbl, - 0 -}; - -const CInterfaceStubVtbl * const _AccessibleTableCell_StubVtblList[] = -{ - ( CInterfaceStubVtbl *) &_IAccessibleTableCellStubVtbl, - 0 -}; - -PCInterfaceName const _AccessibleTableCell_InterfaceNamesList[] = -{ - "IAccessibleTableCell", - 0 -}; - - -#define _AccessibleTableCell_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleTableCell, pIID, n) - -int __stdcall _AccessibleTableCell_IID_Lookup( const IID * pIID, int * pIndex ) -{ - - if(!_AccessibleTableCell_CHECK_IID(0)) - { - *pIndex = 0; - return 1; - } - - return 0; -} - -const ExtendedProxyFileInfo AccessibleTableCell_ProxyFileInfo = -{ - (PCInterfaceProxyVtblList *) & _AccessibleTableCell_ProxyVtblList, - (PCInterfaceStubVtblList *) & _AccessibleTableCell_StubVtblList, - (const PCInterfaceName * ) & _AccessibleTableCell_InterfaceNamesList, - 0, /* no delegation */ - & _AccessibleTableCell_IID_Lookup, - 1, - 2, - 0, /* table of [async_uuid] interfaces */ - 0, /* Filler1 */ - 0, /* Filler2 */ - 0 /* Filler3 */ -}; -#pragma optimize("", on ) -#if _MSC_VER >= 1200 -#pragma warning(pop) -#endif - - -#endif /* !defined(_M_IA64) && !defined(_M_AMD64)*/ - diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleTable_i.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleTable_i.c deleted file mode 100644 index 0fa33967ac..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/AccessibleTable_i.c +++ /dev/null @@ -1,79 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */ - -/* link this file in with the server and any clients */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:54 2012 - */ -/* Compiler settings for AccessibleTable.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -#ifdef __cplusplus -extern "C"{ -#endif - - -#include <rpc.h> -#include <rpcndr.h> - -#ifdef _MIDL_USE_GUIDDEF_ - -#ifndef INITGUID -#define INITGUID -#include <guiddef.h> -#undef INITGUID -#else -#include <guiddef.h> -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) - -#else // !_MIDL_USE_GUIDDEF_ - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - -typedef struct _IID -{ - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; -} IID; - -#endif // __IID_DEFINED__ - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED -typedef IID CLSID; -#endif // CLSID_DEFINED - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} - -#endif !_MIDL_USE_GUIDDEF_ - -MIDL_DEFINE_GUID(IID, IID_IAccessibleTable,0x35AD8070,0xC20C,0x4fb4,0xB0,0x94,0xF4,0xF7,0x27,0x5D,0xD4,0x69); - -#undef MIDL_DEFINE_GUID - -#ifdef __cplusplus -} -#endif - - - diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleTable_p.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleTable_p.c deleted file mode 100644 index 9ec9ffdb46..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/AccessibleTable_p.c +++ /dev/null @@ -1,1526 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the proxy stub code */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:54 2012 - */ -/* Compiler settings for AccessibleTable.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#if !defined(_M_IA64) && !defined(_M_AMD64) - - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ -#if _MSC_VER >= 1200 -#pragma warning(push) -#endif - -#pragma warning( disable: 4211 ) /* redefine extern to static */ -#pragma warning( disable: 4232 ) /* dllimport identity*/ -#pragma warning( disable: 4024 ) /* array to pointer mapping*/ -#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */ -#pragma warning( disable: 4100 ) /* unreferenced arguments in x86 call */ - -#pragma optimize("", off ) - -#define USE_STUBLESS_PROXY - - -/* verify that the <rpcproxy.h> version is high enough to compile this file*/ -#ifndef __REDQ_RPCPROXY_H_VERSION__ -#define __REQUIRED_RPCPROXY_H_VERSION__ 475 -#endif - - -#include "rpcproxy.h" -#ifndef __RPCPROXY_H_VERSION__ -#error this stub requires an updated version of <rpcproxy.h> -#endif /* __RPCPROXY_H_VERSION__ */ - - -#include "AccessibleTable.h" - -#define TYPE_FORMAT_STRING_SIZE 139 -#define PROC_FORMAT_STRING_SIZE 1219 -#define EXPR_FORMAT_STRING_SIZE 1 -#define TRANSMIT_AS_TABLE_SIZE 0 -#define WIRE_MARSHAL_TABLE_SIZE 1 - -typedef struct _AccessibleTable_MIDL_TYPE_FORMAT_STRING - { - short Pad; - unsigned char Format[ TYPE_FORMAT_STRING_SIZE ]; - } AccessibleTable_MIDL_TYPE_FORMAT_STRING; - -typedef struct _AccessibleTable_MIDL_PROC_FORMAT_STRING - { - short Pad; - unsigned char Format[ PROC_FORMAT_STRING_SIZE ]; - } AccessibleTable_MIDL_PROC_FORMAT_STRING; - -typedef struct _AccessibleTable_MIDL_EXPR_FORMAT_STRING - { - long Pad; - unsigned char Format[ EXPR_FORMAT_STRING_SIZE ]; - } AccessibleTable_MIDL_EXPR_FORMAT_STRING; - - -static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax = -{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}}; - - -extern const AccessibleTable_MIDL_TYPE_FORMAT_STRING AccessibleTable__MIDL_TypeFormatString; -extern const AccessibleTable_MIDL_PROC_FORMAT_STRING AccessibleTable__MIDL_ProcFormatString; -extern const AccessibleTable_MIDL_EXPR_FORMAT_STRING AccessibleTable__MIDL_ExprFormatString; - - -extern const MIDL_STUB_DESC Object_StubDesc; - - -extern const MIDL_SERVER_INFO IAccessibleTable_ServerInfo; -extern const MIDL_STUBLESS_PROXY_INFO IAccessibleTable_ProxyInfo; - - -extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ]; - -#if !defined(__RPC_WIN32__) -#error Invalid build platform for this stub. -#endif - -#if !(TARGET_IS_NT50_OR_LATER) -#error You need Windows 2000 or later to run this stub because it uses these features: -#error /robust command line switch. -#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems. -#error This app will fail with the RPC_X_WRONG_STUB_VERSION error. -#endif - - -static const AccessibleTable_MIDL_PROC_FORMAT_STRING AccessibleTable__MIDL_ProcFormatString = - { - 0, - { - - /* Procedure get_accessibleAt */ - - 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 2 */ NdrFcLong( 0x0 ), /* 0 */ -/* 6 */ NdrFcShort( 0x3 ), /* 3 */ -/* 8 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 10 */ NdrFcShort( 0x10 ), /* 16 */ -/* 12 */ NdrFcShort( 0x8 ), /* 8 */ -/* 14 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x4, /* 4 */ -/* 16 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 18 */ NdrFcShort( 0x0 ), /* 0 */ -/* 20 */ NdrFcShort( 0x0 ), /* 0 */ -/* 22 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter row */ - -/* 24 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 26 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 28 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter column */ - -/* 30 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 32 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 34 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter accessible */ - -/* 36 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ -/* 38 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 40 */ NdrFcShort( 0x2 ), /* Type Offset=2 */ - - /* Return value */ - -/* 42 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 44 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 46 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_caption */ - -/* 48 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 50 */ NdrFcLong( 0x0 ), /* 0 */ -/* 54 */ NdrFcShort( 0x4 ), /* 4 */ -/* 56 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 58 */ NdrFcShort( 0x0 ), /* 0 */ -/* 60 */ NdrFcShort( 0x8 ), /* 8 */ -/* 62 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 64 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 66 */ NdrFcShort( 0x0 ), /* 0 */ -/* 68 */ NdrFcShort( 0x0 ), /* 0 */ -/* 70 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter accessible */ - -/* 72 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ -/* 74 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 76 */ NdrFcShort( 0x2 ), /* Type Offset=2 */ - - /* Return value */ - -/* 78 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 80 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 82 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_childIndex */ - -/* 84 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 86 */ NdrFcLong( 0x0 ), /* 0 */ -/* 90 */ NdrFcShort( 0x5 ), /* 5 */ -/* 92 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 94 */ NdrFcShort( 0x10 ), /* 16 */ -/* 96 */ NdrFcShort( 0x24 ), /* 36 */ -/* 98 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x4, /* 4 */ -/* 100 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 102 */ NdrFcShort( 0x0 ), /* 0 */ -/* 104 */ NdrFcShort( 0x0 ), /* 0 */ -/* 106 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter rowIndex */ - -/* 108 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 110 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 112 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter columnIndex */ - -/* 114 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 116 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 118 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter cellIndex */ - -/* 120 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 122 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 124 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 126 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 128 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 130 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_columnDescription */ - -/* 132 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 134 */ NdrFcLong( 0x0 ), /* 0 */ -/* 138 */ NdrFcShort( 0x6 ), /* 6 */ -/* 140 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 142 */ NdrFcShort( 0x8 ), /* 8 */ -/* 144 */ NdrFcShort( 0x8 ), /* 8 */ -/* 146 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x3, /* 3 */ -/* 148 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 150 */ NdrFcShort( 0x1 ), /* 1 */ -/* 152 */ NdrFcShort( 0x0 ), /* 0 */ -/* 154 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter column */ - -/* 156 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 158 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 160 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter description */ - -/* 162 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 164 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 166 */ NdrFcShort( 0x3a ), /* Type Offset=58 */ - - /* Return value */ - -/* 168 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 170 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 172 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_columnExtentAt */ - -/* 174 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 176 */ NdrFcLong( 0x0 ), /* 0 */ -/* 180 */ NdrFcShort( 0x7 ), /* 7 */ -/* 182 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 184 */ NdrFcShort( 0x10 ), /* 16 */ -/* 186 */ NdrFcShort( 0x24 ), /* 36 */ -/* 188 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x4, /* 4 */ -/* 190 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 192 */ NdrFcShort( 0x0 ), /* 0 */ -/* 194 */ NdrFcShort( 0x0 ), /* 0 */ -/* 196 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter row */ - -/* 198 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 200 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 202 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter column */ - -/* 204 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 206 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 208 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter nColumnsSpanned */ - -/* 210 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 212 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 214 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 216 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 218 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 220 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_columnHeader */ - -/* 222 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 224 */ NdrFcLong( 0x0 ), /* 0 */ -/* 228 */ NdrFcShort( 0x8 ), /* 8 */ -/* 230 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 232 */ NdrFcShort( 0x0 ), /* 0 */ -/* 234 */ NdrFcShort( 0x24 ), /* 36 */ -/* 236 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x3, /* 3 */ -/* 238 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 240 */ NdrFcShort( 0x0 ), /* 0 */ -/* 242 */ NdrFcShort( 0x0 ), /* 0 */ -/* 244 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter accessibleTable */ - -/* 246 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ -/* 248 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 250 */ NdrFcShort( 0x44 ), /* Type Offset=68 */ - - /* Parameter startingRowIndex */ - -/* 252 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 254 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 256 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 258 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 260 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 262 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_columnIndex */ - -/* 264 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 266 */ NdrFcLong( 0x0 ), /* 0 */ -/* 270 */ NdrFcShort( 0x9 ), /* 9 */ -/* 272 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 274 */ NdrFcShort( 0x8 ), /* 8 */ -/* 276 */ NdrFcShort( 0x24 ), /* 36 */ -/* 278 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x3, /* 3 */ -/* 280 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 282 */ NdrFcShort( 0x0 ), /* 0 */ -/* 284 */ NdrFcShort( 0x0 ), /* 0 */ -/* 286 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter cellIndex */ - -/* 288 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 290 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 292 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter columnIndex */ - -/* 294 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 296 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 298 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 300 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 302 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 304 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_nColumns */ - -/* 306 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 308 */ NdrFcLong( 0x0 ), /* 0 */ -/* 312 */ NdrFcShort( 0xa ), /* 10 */ -/* 314 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 316 */ NdrFcShort( 0x0 ), /* 0 */ -/* 318 */ NdrFcShort( 0x24 ), /* 36 */ -/* 320 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 322 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 324 */ NdrFcShort( 0x0 ), /* 0 */ -/* 326 */ NdrFcShort( 0x0 ), /* 0 */ -/* 328 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter columnCount */ - -/* 330 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 332 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 334 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 336 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 338 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 340 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_nRows */ - -/* 342 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 344 */ NdrFcLong( 0x0 ), /* 0 */ -/* 348 */ NdrFcShort( 0xb ), /* 11 */ -/* 350 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 352 */ NdrFcShort( 0x0 ), /* 0 */ -/* 354 */ NdrFcShort( 0x24 ), /* 36 */ -/* 356 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 358 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 360 */ NdrFcShort( 0x0 ), /* 0 */ -/* 362 */ NdrFcShort( 0x0 ), /* 0 */ -/* 364 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter rowCount */ - -/* 366 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 368 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 370 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 372 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 374 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 376 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_nSelectedChildren */ - -/* 378 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 380 */ NdrFcLong( 0x0 ), /* 0 */ -/* 384 */ NdrFcShort( 0xc ), /* 12 */ -/* 386 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 388 */ NdrFcShort( 0x0 ), /* 0 */ -/* 390 */ NdrFcShort( 0x24 ), /* 36 */ -/* 392 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 394 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 396 */ NdrFcShort( 0x0 ), /* 0 */ -/* 398 */ NdrFcShort( 0x0 ), /* 0 */ -/* 400 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter cellCount */ - -/* 402 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 404 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 406 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 408 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 410 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 412 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_nSelectedColumns */ - -/* 414 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 416 */ NdrFcLong( 0x0 ), /* 0 */ -/* 420 */ NdrFcShort( 0xd ), /* 13 */ -/* 422 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 424 */ NdrFcShort( 0x0 ), /* 0 */ -/* 426 */ NdrFcShort( 0x24 ), /* 36 */ -/* 428 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 430 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 432 */ NdrFcShort( 0x0 ), /* 0 */ -/* 434 */ NdrFcShort( 0x0 ), /* 0 */ -/* 436 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter columnCount */ - -/* 438 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 440 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 442 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 444 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 446 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 448 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_nSelectedRows */ - -/* 450 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 452 */ NdrFcLong( 0x0 ), /* 0 */ -/* 456 */ NdrFcShort( 0xe ), /* 14 */ -/* 458 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 460 */ NdrFcShort( 0x0 ), /* 0 */ -/* 462 */ NdrFcShort( 0x24 ), /* 36 */ -/* 464 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 466 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 468 */ NdrFcShort( 0x0 ), /* 0 */ -/* 470 */ NdrFcShort( 0x0 ), /* 0 */ -/* 472 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter rowCount */ - -/* 474 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 476 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 478 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 480 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 482 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 484 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_rowDescription */ - -/* 486 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 488 */ NdrFcLong( 0x0 ), /* 0 */ -/* 492 */ NdrFcShort( 0xf ), /* 15 */ -/* 494 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 496 */ NdrFcShort( 0x8 ), /* 8 */ -/* 498 */ NdrFcShort( 0x8 ), /* 8 */ -/* 500 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x3, /* 3 */ -/* 502 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 504 */ NdrFcShort( 0x1 ), /* 1 */ -/* 506 */ NdrFcShort( 0x0 ), /* 0 */ -/* 508 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter row */ - -/* 510 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 512 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 514 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter description */ - -/* 516 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 518 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 520 */ NdrFcShort( 0x3a ), /* Type Offset=58 */ - - /* Return value */ - -/* 522 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 524 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 526 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_rowExtentAt */ - -/* 528 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 530 */ NdrFcLong( 0x0 ), /* 0 */ -/* 534 */ NdrFcShort( 0x10 ), /* 16 */ -/* 536 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 538 */ NdrFcShort( 0x10 ), /* 16 */ -/* 540 */ NdrFcShort( 0x24 ), /* 36 */ -/* 542 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x4, /* 4 */ -/* 544 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 546 */ NdrFcShort( 0x0 ), /* 0 */ -/* 548 */ NdrFcShort( 0x0 ), /* 0 */ -/* 550 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter row */ - -/* 552 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 554 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 556 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter column */ - -/* 558 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 560 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 562 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter nRowsSpanned */ - -/* 564 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 566 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 568 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 570 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 572 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 574 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_rowHeader */ - -/* 576 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 578 */ NdrFcLong( 0x0 ), /* 0 */ -/* 582 */ NdrFcShort( 0x11 ), /* 17 */ -/* 584 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 586 */ NdrFcShort( 0x0 ), /* 0 */ -/* 588 */ NdrFcShort( 0x24 ), /* 36 */ -/* 590 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x3, /* 3 */ -/* 592 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 594 */ NdrFcShort( 0x0 ), /* 0 */ -/* 596 */ NdrFcShort( 0x0 ), /* 0 */ -/* 598 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter accessibleTable */ - -/* 600 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ -/* 602 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 604 */ NdrFcShort( 0x44 ), /* Type Offset=68 */ - - /* Parameter startingColumnIndex */ - -/* 606 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 608 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 610 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 612 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 614 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 616 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_rowIndex */ - -/* 618 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 620 */ NdrFcLong( 0x0 ), /* 0 */ -/* 624 */ NdrFcShort( 0x12 ), /* 18 */ -/* 626 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 628 */ NdrFcShort( 0x8 ), /* 8 */ -/* 630 */ NdrFcShort( 0x24 ), /* 36 */ -/* 632 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x3, /* 3 */ -/* 634 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 636 */ NdrFcShort( 0x0 ), /* 0 */ -/* 638 */ NdrFcShort( 0x0 ), /* 0 */ -/* 640 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter cellIndex */ - -/* 642 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 644 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 646 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter rowIndex */ - -/* 648 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 650 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 652 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 654 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 656 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 658 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_selectedChildren */ - -/* 660 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 662 */ NdrFcLong( 0x0 ), /* 0 */ -/* 666 */ NdrFcShort( 0x13 ), /* 19 */ -/* 668 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 670 */ NdrFcShort( 0x8 ), /* 8 */ -/* 672 */ NdrFcShort( 0x24 ), /* 36 */ -/* 674 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x4, /* 4 */ -/* 676 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 678 */ NdrFcShort( 0x1 ), /* 1 */ -/* 680 */ NdrFcShort( 0x0 ), /* 0 */ -/* 682 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter maxChildren */ - -/* 684 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 686 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 688 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter children */ - -/* 690 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ -/* 692 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 694 */ NdrFcShort( 0x5a ), /* Type Offset=90 */ - - /* Parameter nChildren */ - -/* 696 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 698 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 700 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 702 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 704 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 706 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_selectedColumns */ - -/* 708 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 710 */ NdrFcLong( 0x0 ), /* 0 */ -/* 714 */ NdrFcShort( 0x14 ), /* 20 */ -/* 716 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 718 */ NdrFcShort( 0x8 ), /* 8 */ -/* 720 */ NdrFcShort( 0x24 ), /* 36 */ -/* 722 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x4, /* 4 */ -/* 724 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 726 */ NdrFcShort( 0x1 ), /* 1 */ -/* 728 */ NdrFcShort( 0x0 ), /* 0 */ -/* 730 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter maxColumns */ - -/* 732 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 734 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 736 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter columns */ - -/* 738 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ -/* 740 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 742 */ NdrFcShort( 0x5a ), /* Type Offset=90 */ - - /* Parameter nColumns */ - -/* 744 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 746 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 748 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 750 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 752 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 754 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_selectedRows */ - -/* 756 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 758 */ NdrFcLong( 0x0 ), /* 0 */ -/* 762 */ NdrFcShort( 0x15 ), /* 21 */ -/* 764 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 766 */ NdrFcShort( 0x8 ), /* 8 */ -/* 768 */ NdrFcShort( 0x24 ), /* 36 */ -/* 770 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x4, /* 4 */ -/* 772 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 774 */ NdrFcShort( 0x1 ), /* 1 */ -/* 776 */ NdrFcShort( 0x0 ), /* 0 */ -/* 778 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter maxRows */ - -/* 780 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 782 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 784 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter rows */ - -/* 786 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ -/* 788 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 790 */ NdrFcShort( 0x5a ), /* Type Offset=90 */ - - /* Parameter nRows */ - -/* 792 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 794 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 796 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 798 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 800 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 802 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_summary */ - -/* 804 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 806 */ NdrFcLong( 0x0 ), /* 0 */ -/* 810 */ NdrFcShort( 0x16 ), /* 22 */ -/* 812 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 814 */ NdrFcShort( 0x0 ), /* 0 */ -/* 816 */ NdrFcShort( 0x8 ), /* 8 */ -/* 818 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 820 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 822 */ NdrFcShort( 0x0 ), /* 0 */ -/* 824 */ NdrFcShort( 0x0 ), /* 0 */ -/* 826 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter accessible */ - -/* 828 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ -/* 830 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 832 */ NdrFcShort( 0x2 ), /* Type Offset=2 */ - - /* Return value */ - -/* 834 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 836 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 838 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_isColumnSelected */ - -/* 840 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 842 */ NdrFcLong( 0x0 ), /* 0 */ -/* 846 */ NdrFcShort( 0x17 ), /* 23 */ -/* 848 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 850 */ NdrFcShort( 0x8 ), /* 8 */ -/* 852 */ NdrFcShort( 0x21 ), /* 33 */ -/* 854 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x3, /* 3 */ -/* 856 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 858 */ NdrFcShort( 0x0 ), /* 0 */ -/* 860 */ NdrFcShort( 0x0 ), /* 0 */ -/* 862 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter column */ - -/* 864 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 866 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 868 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter isSelected */ - -/* 870 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 872 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 874 */ 0x3, /* FC_SMALL */ - 0x0, /* 0 */ - - /* Return value */ - -/* 876 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 878 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 880 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_isRowSelected */ - -/* 882 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 884 */ NdrFcLong( 0x0 ), /* 0 */ -/* 888 */ NdrFcShort( 0x18 ), /* 24 */ -/* 890 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 892 */ NdrFcShort( 0x8 ), /* 8 */ -/* 894 */ NdrFcShort( 0x21 ), /* 33 */ -/* 896 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x3, /* 3 */ -/* 898 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 900 */ NdrFcShort( 0x0 ), /* 0 */ -/* 902 */ NdrFcShort( 0x0 ), /* 0 */ -/* 904 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter row */ - -/* 906 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 908 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 910 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter isSelected */ - -/* 912 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 914 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 916 */ 0x3, /* FC_SMALL */ - 0x0, /* 0 */ - - /* Return value */ - -/* 918 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 920 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 922 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_isSelected */ - -/* 924 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 926 */ NdrFcLong( 0x0 ), /* 0 */ -/* 930 */ NdrFcShort( 0x19 ), /* 25 */ -/* 932 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 934 */ NdrFcShort( 0x10 ), /* 16 */ -/* 936 */ NdrFcShort( 0x21 ), /* 33 */ -/* 938 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x4, /* 4 */ -/* 940 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 942 */ NdrFcShort( 0x0 ), /* 0 */ -/* 944 */ NdrFcShort( 0x0 ), /* 0 */ -/* 946 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter row */ - -/* 948 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 950 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 952 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter column */ - -/* 954 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 956 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 958 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter isSelected */ - -/* 960 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 962 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 964 */ 0x3, /* FC_SMALL */ - 0x0, /* 0 */ - - /* Return value */ - -/* 966 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 968 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 970 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure selectRow */ - -/* 972 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 974 */ NdrFcLong( 0x0 ), /* 0 */ -/* 978 */ NdrFcShort( 0x1a ), /* 26 */ -/* 980 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 982 */ NdrFcShort( 0x8 ), /* 8 */ -/* 984 */ NdrFcShort( 0x8 ), /* 8 */ -/* 986 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 988 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 990 */ NdrFcShort( 0x0 ), /* 0 */ -/* 992 */ NdrFcShort( 0x0 ), /* 0 */ -/* 994 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter row */ - -/* 996 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 998 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 1000 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 1002 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 1004 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 1006 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure selectColumn */ - -/* 1008 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 1010 */ NdrFcLong( 0x0 ), /* 0 */ -/* 1014 */ NdrFcShort( 0x1b ), /* 27 */ -/* 1016 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 1018 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1020 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1022 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 1024 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 1026 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1028 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1030 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter column */ - -/* 1032 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 1034 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 1036 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 1038 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 1040 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 1042 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure unselectRow */ - -/* 1044 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 1046 */ NdrFcLong( 0x0 ), /* 0 */ -/* 1050 */ NdrFcShort( 0x1c ), /* 28 */ -/* 1052 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 1054 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1056 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1058 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 1060 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 1062 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1064 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1066 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter row */ - -/* 1068 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 1070 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 1072 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 1074 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 1076 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 1078 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure unselectColumn */ - -/* 1080 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 1082 */ NdrFcLong( 0x0 ), /* 0 */ -/* 1086 */ NdrFcShort( 0x1d ), /* 29 */ -/* 1088 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 1090 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1092 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1094 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 1096 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 1098 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1100 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1102 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter column */ - -/* 1104 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 1106 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 1108 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 1110 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 1112 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 1114 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_rowColumnExtentsAtIndex */ - -/* 1116 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 1118 */ NdrFcLong( 0x0 ), /* 0 */ -/* 1122 */ NdrFcShort( 0x1e ), /* 30 */ -/* 1124 */ NdrFcShort( 0x20 ), /* x86 Stack size/offset = 32 */ -/* 1126 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1128 */ NdrFcShort( 0x91 ), /* 145 */ -/* 1130 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x7, /* 7 */ -/* 1132 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 1134 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1136 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1138 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter index */ - -/* 1140 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 1142 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 1144 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter row */ - -/* 1146 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 1148 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 1150 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter column */ - -/* 1152 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 1154 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 1156 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter rowExtents */ - -/* 1158 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 1160 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 1162 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter columnExtents */ - -/* 1164 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 1166 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 1168 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter isSelected */ - -/* 1170 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 1172 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ -/* 1174 */ 0x3, /* FC_SMALL */ - 0x0, /* 0 */ - - /* Return value */ - -/* 1176 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 1178 */ NdrFcShort( 0x1c ), /* x86 Stack size/offset = 28 */ -/* 1180 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_modelChange */ - -/* 1182 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 1184 */ NdrFcLong( 0x0 ), /* 0 */ -/* 1188 */ NdrFcShort( 0x1f ), /* 31 */ -/* 1190 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 1192 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1194 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1196 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 1198 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 1200 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1202 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1204 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter modelChange */ - -/* 1206 */ NdrFcShort( 0x6113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=24 */ -/* 1208 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 1210 */ NdrFcShort( 0x7c ), /* Type Offset=124 */ - - /* Return value */ - -/* 1212 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 1214 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 1216 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - 0x0 - } - }; - -static const AccessibleTable_MIDL_TYPE_FORMAT_STRING AccessibleTable__MIDL_TypeFormatString = - { - 0, - { - NdrFcShort( 0x0 ), /* 0 */ -/* 2 */ - 0x11, 0x10, /* FC_RP [pointer_deref] */ -/* 4 */ NdrFcShort( 0x2 ), /* Offset= 2 (6) */ -/* 6 */ - 0x2f, /* FC_IP */ - 0x5a, /* FC_CONSTANT_IID */ -/* 8 */ NdrFcLong( 0x0 ), /* 0 */ -/* 12 */ NdrFcShort( 0x0 ), /* 0 */ -/* 14 */ NdrFcShort( 0x0 ), /* 0 */ -/* 16 */ 0xc0, /* 192 */ - 0x0, /* 0 */ -/* 18 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 20 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 22 */ 0x0, /* 0 */ - 0x46, /* 70 */ -/* 24 */ - 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */ -/* 26 */ 0x8, /* FC_LONG */ - 0x5c, /* FC_PAD */ -/* 28 */ - 0x11, 0x4, /* FC_RP [alloced_on_stack] */ -/* 30 */ NdrFcShort( 0x1c ), /* Offset= 28 (58) */ -/* 32 */ - 0x13, 0x0, /* FC_OP */ -/* 34 */ NdrFcShort( 0xe ), /* Offset= 14 (48) */ -/* 36 */ - 0x1b, /* FC_CARRAY */ - 0x1, /* 1 */ -/* 38 */ NdrFcShort( 0x2 ), /* 2 */ -/* 40 */ 0x9, /* Corr desc: FC_ULONG */ - 0x0, /* */ -/* 42 */ NdrFcShort( 0xfffc ), /* -4 */ -/* 44 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 46 */ 0x6, /* FC_SHORT */ - 0x5b, /* FC_END */ -/* 48 */ - 0x17, /* FC_CSTRUCT */ - 0x3, /* 3 */ -/* 50 */ NdrFcShort( 0x8 ), /* 8 */ -/* 52 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (36) */ -/* 54 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 56 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 58 */ 0xb4, /* FC_USER_MARSHAL */ - 0x83, /* 131 */ -/* 60 */ NdrFcShort( 0x0 ), /* 0 */ -/* 62 */ NdrFcShort( 0x4 ), /* 4 */ -/* 64 */ NdrFcShort( 0x0 ), /* 0 */ -/* 66 */ NdrFcShort( 0xffde ), /* Offset= -34 (32) */ -/* 68 */ - 0x11, 0x10, /* FC_RP [pointer_deref] */ -/* 70 */ NdrFcShort( 0x2 ), /* Offset= 2 (72) */ -/* 72 */ - 0x2f, /* FC_IP */ - 0x5a, /* FC_CONSTANT_IID */ -/* 74 */ NdrFcLong( 0x35ad8070 ), /* 900563056 */ -/* 78 */ NdrFcShort( 0xc20c ), /* -15860 */ -/* 80 */ NdrFcShort( 0x4fb4 ), /* 20404 */ -/* 82 */ 0xb0, /* 176 */ - 0x94, /* 148 */ -/* 84 */ 0xf4, /* 244 */ - 0xf7, /* 247 */ -/* 86 */ 0x27, /* 39 */ - 0x5d, /* 93 */ -/* 88 */ 0xd4, /* 212 */ - 0x69, /* 105 */ -/* 90 */ - 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */ -/* 92 */ NdrFcShort( 0x2 ), /* Offset= 2 (94) */ -/* 94 */ - 0x13, 0x0, /* FC_OP */ -/* 96 */ NdrFcShort( 0x2 ), /* Offset= 2 (98) */ -/* 98 */ - 0x1c, /* FC_CVARRAY */ - 0x3, /* 3 */ -/* 100 */ NdrFcShort( 0x4 ), /* 4 */ -/* 102 */ 0x28, /* Corr desc: parameter, FC_LONG */ - 0x0, /* */ -/* 104 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 106 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 108 */ 0x28, /* Corr desc: parameter, FC_LONG */ - 0x54, /* FC_DEREFERENCE */ -/* 110 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 112 */ NdrFcShort( 0x0 ), /* Corr flags: */ -/* 114 */ 0x8, /* FC_LONG */ - 0x5b, /* FC_END */ -/* 116 */ - 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */ -/* 118 */ 0x3, /* FC_SMALL */ - 0x5c, /* FC_PAD */ -/* 120 */ - 0x11, 0x4, /* FC_RP [alloced_on_stack] */ -/* 122 */ NdrFcShort( 0x2 ), /* Offset= 2 (124) */ -/* 124 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 126 */ NdrFcShort( 0x14 ), /* 20 */ -/* 128 */ NdrFcShort( 0x0 ), /* 0 */ -/* 130 */ NdrFcShort( 0x0 ), /* Offset= 0 (130) */ -/* 132 */ 0xd, /* FC_ENUM16 */ - 0x8, /* FC_LONG */ -/* 134 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 136 */ 0x8, /* FC_LONG */ - 0x5b, /* FC_END */ - - 0x0 - } - }; - -static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] = - { - - { - BSTR_UserSize - ,BSTR_UserMarshal - ,BSTR_UserUnmarshal - ,BSTR_UserFree - } - - }; - - - -/* Object interface: IUnknown, ver. 0.0, - GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */ - - -/* Object interface: IAccessibleTable, ver. 0.0, - GUID={0x35AD8070,0xC20C,0x4fb4,{0xB0,0x94,0xF4,0xF7,0x27,0x5D,0xD4,0x69}} */ - -#pragma code_seg(".orpc") -static const unsigned short IAccessibleTable_FormatStringOffsetTable[] = - { - 0, - 48, - 84, - 132, - 174, - 222, - 264, - 306, - 342, - 378, - 414, - 450, - 486, - 528, - 576, - 618, - 660, - 708, - 756, - 804, - 840, - 882, - 924, - 972, - 1008, - 1044, - 1080, - 1116, - 1182 - }; - -static const MIDL_STUBLESS_PROXY_INFO IAccessibleTable_ProxyInfo = - { - &Object_StubDesc, - AccessibleTable__MIDL_ProcFormatString.Format, - &IAccessibleTable_FormatStringOffsetTable[-3], - 0, - 0, - 0 - }; - - -static const MIDL_SERVER_INFO IAccessibleTable_ServerInfo = - { - &Object_StubDesc, - 0, - AccessibleTable__MIDL_ProcFormatString.Format, - &IAccessibleTable_FormatStringOffsetTable[-3], - 0, - 0, - 0, - 0}; -CINTERFACE_PROXY_VTABLE(32) _IAccessibleTableProxyVtbl = -{ - &IAccessibleTable_ProxyInfo, - &IID_IAccessibleTable, - IUnknown_QueryInterface_Proxy, - IUnknown_AddRef_Proxy, - IUnknown_Release_Proxy , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_accessibleAt */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_caption */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_childIndex */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_columnDescription */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_columnExtentAt */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_columnHeader */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_columnIndex */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_nColumns */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_nRows */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_nSelectedChildren */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_nSelectedColumns */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_nSelectedRows */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_rowDescription */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_rowExtentAt */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_rowHeader */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_rowIndex */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_selectedChildren */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_selectedColumns */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_selectedRows */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_summary */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_isColumnSelected */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_isRowSelected */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_isSelected */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::selectRow */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::selectColumn */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::unselectRow */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::unselectColumn */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_rowColumnExtentsAtIndex */ , - (void *) (INT_PTR) -1 /* IAccessibleTable::get_modelChange */ -}; - -const CInterfaceStubVtbl _IAccessibleTableStubVtbl = -{ - &IID_IAccessibleTable, - &IAccessibleTable_ServerInfo, - 32, - 0, /* pure interpreted */ - CStdStubBuffer_METHODS -}; - -static const MIDL_STUB_DESC Object_StubDesc = - { - 0, - NdrOleAllocate, - NdrOleFree, - 0, - 0, - 0, - 0, - 0, - AccessibleTable__MIDL_TypeFormatString.Format, - 1, /* -error bounds_check flag */ - 0x50002, /* Ndr library version */ - 0, - 0x700022b, /* MIDL Version 7.0.555 */ - 0, - UserMarshalRoutines, - 0, /* notify & notify_flag routine table */ - 0x1, /* MIDL flag */ - 0, /* cs routines */ - 0, /* proxy/server info */ - 0 - }; - -const CInterfaceProxyVtbl * const _AccessibleTable_ProxyVtblList[] = -{ - ( CInterfaceProxyVtbl *) &_IAccessibleTableProxyVtbl, - 0 -}; - -const CInterfaceStubVtbl * const _AccessibleTable_StubVtblList[] = -{ - ( CInterfaceStubVtbl *) &_IAccessibleTableStubVtbl, - 0 -}; - -PCInterfaceName const _AccessibleTable_InterfaceNamesList[] = -{ - "IAccessibleTable", - 0 -}; - - -#define _AccessibleTable_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleTable, pIID, n) - -int __stdcall _AccessibleTable_IID_Lookup( const IID * pIID, int * pIndex ) -{ - - if(!_AccessibleTable_CHECK_IID(0)) - { - *pIndex = 0; - return 1; - } - - return 0; -} - -const ExtendedProxyFileInfo AccessibleTable_ProxyFileInfo = -{ - (PCInterfaceProxyVtblList *) & _AccessibleTable_ProxyVtblList, - (PCInterfaceStubVtblList *) & _AccessibleTable_StubVtblList, - (const PCInterfaceName * ) & _AccessibleTable_InterfaceNamesList, - 0, /* no delegation */ - & _AccessibleTable_IID_Lookup, - 1, - 2, - 0, /* table of [async_uuid] interfaces */ - 0, /* Filler1 */ - 0, /* Filler2 */ - 0 /* Filler3 */ -}; -#pragma optimize("", on ) -#if _MSC_VER >= 1200 -#pragma warning(pop) -#endif - - -#endif /* !defined(_M_IA64) && !defined(_M_AMD64)*/ - diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleText.h b/src/3rdparty/iaccessible2/generated/x86/AccessibleText.h deleted file mode 100644 index 4ad53cfa7e..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/AccessibleText.h +++ /dev/null @@ -1,435 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:55 2012 - */ -/* Compiler settings for AccessibleText.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the <rpcndr.h> version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of <rpcndr.h> -#endif // __RPCNDR_H_VERSION__ - -#ifndef COM_NO_WINDOWS_H -#include "windows.h" -#include "ole2.h" -#endif /*COM_NO_WINDOWS_H*/ - -#ifndef __AccessibleText_h__ -#define __AccessibleText_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -#ifndef __IAccessibleText_FWD_DEFINED__ -#define __IAccessibleText_FWD_DEFINED__ -typedef interface IAccessibleText IAccessibleText; -#endif /* __IAccessibleText_FWD_DEFINED__ */ - - -/* header files for imported files */ -#include "objidl.h" -#include "oaidl.h" -#include "oleacc.h" -#include "IA2CommonTypes.h" - -#ifdef __cplusplus -extern "C"{ -#endif - - -/* interface __MIDL_itf_AccessibleText_0000_0000 */ -/* [local] */ - -typedef struct IA2TextSegment - { - BSTR text; - long start; - long end; - } IA2TextSegment; - - -enum IA2TextBoundaryType - { IA2_TEXT_BOUNDARY_CHAR = 0, - IA2_TEXT_BOUNDARY_WORD = ( IA2_TEXT_BOUNDARY_CHAR + 1 ) , - IA2_TEXT_BOUNDARY_SENTENCE = ( IA2_TEXT_BOUNDARY_WORD + 1 ) , - IA2_TEXT_BOUNDARY_PARAGRAPH = ( IA2_TEXT_BOUNDARY_SENTENCE + 1 ) , - IA2_TEXT_BOUNDARY_LINE = ( IA2_TEXT_BOUNDARY_PARAGRAPH + 1 ) , - IA2_TEXT_BOUNDARY_ALL = ( IA2_TEXT_BOUNDARY_LINE + 1 ) - } ; - - -extern RPC_IF_HANDLE __MIDL_itf_AccessibleText_0000_0000_v0_0_c_ifspec; -extern RPC_IF_HANDLE __MIDL_itf_AccessibleText_0000_0000_v0_0_s_ifspec; - -#ifndef __IAccessibleText_INTERFACE_DEFINED__ -#define __IAccessibleText_INTERFACE_DEFINED__ - -/* interface IAccessibleText */ -/* [uuid][object] */ - - -EXTERN_C const IID IID_IAccessibleText; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("24FD2FFB-3AAD-4a08-8335-A3AD89C0FB4B") - IAccessibleText : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE addSelection( - /* [in] */ long startOffset, - /* [in] */ long endOffset) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_attributes( - /* [in] */ long offset, - /* [out] */ long *startOffset, - /* [out] */ long *endOffset, - /* [retval][out] */ BSTR *textAttributes) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_caretOffset( - /* [retval][out] */ long *offset) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_characterExtents( - /* [in] */ long offset, - /* [in] */ enum IA2CoordinateType coordType, - /* [out] */ long *x, - /* [out] */ long *y, - /* [out] */ long *width, - /* [retval][out] */ long *height) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelections( - /* [retval][out] */ long *nSelections) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_offsetAtPoint( - /* [in] */ long x, - /* [in] */ long y, - /* [in] */ enum IA2CoordinateType coordType, - /* [retval][out] */ long *offset) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selection( - /* [in] */ long selectionIndex, - /* [out] */ long *startOffset, - /* [retval][out] */ long *endOffset) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_text( - /* [in] */ long startOffset, - /* [in] */ long endOffset, - /* [retval][out] */ BSTR *text) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_textBeforeOffset( - /* [in] */ long offset, - /* [in] */ enum IA2TextBoundaryType boundaryType, - /* [out] */ long *startOffset, - /* [out] */ long *endOffset, - /* [retval][out] */ BSTR *text) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_textAfterOffset( - /* [in] */ long offset, - /* [in] */ enum IA2TextBoundaryType boundaryType, - /* [out] */ long *startOffset, - /* [out] */ long *endOffset, - /* [retval][out] */ BSTR *text) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_textAtOffset( - /* [in] */ long offset, - /* [in] */ enum IA2TextBoundaryType boundaryType, - /* [out] */ long *startOffset, - /* [out] */ long *endOffset, - /* [retval][out] */ BSTR *text) = 0; - - virtual HRESULT STDMETHODCALLTYPE removeSelection( - /* [in] */ long selectionIndex) = 0; - - virtual HRESULT STDMETHODCALLTYPE setCaretOffset( - /* [in] */ long offset) = 0; - - virtual HRESULT STDMETHODCALLTYPE setSelection( - /* [in] */ long selectionIndex, - /* [in] */ long startOffset, - /* [in] */ long endOffset) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nCharacters( - /* [retval][out] */ long *nCharacters) = 0; - - virtual HRESULT STDMETHODCALLTYPE scrollSubstringTo( - /* [in] */ long startIndex, - /* [in] */ long endIndex, - /* [in] */ enum IA2ScrollType scrollType) = 0; - - virtual HRESULT STDMETHODCALLTYPE scrollSubstringToPoint( - /* [in] */ long startIndex, - /* [in] */ long endIndex, - /* [in] */ enum IA2CoordinateType coordinateType, - /* [in] */ long x, - /* [in] */ long y) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_newText( - /* [retval][out] */ IA2TextSegment *newText) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_oldText( - /* [retval][out] */ IA2TextSegment *oldText) = 0; - - }; - -#else /* C style interface */ - - typedef struct IAccessibleTextVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IAccessibleText * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IAccessibleText * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IAccessibleText * This); - - HRESULT ( STDMETHODCALLTYPE *addSelection )( - IAccessibleText * This, - /* [in] */ long startOffset, - /* [in] */ long endOffset); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )( - IAccessibleText * This, - /* [in] */ long offset, - /* [out] */ long *startOffset, - /* [out] */ long *endOffset, - /* [retval][out] */ BSTR *textAttributes); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caretOffset )( - IAccessibleText * This, - /* [retval][out] */ long *offset); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_characterExtents )( - IAccessibleText * This, - /* [in] */ long offset, - /* [in] */ enum IA2CoordinateType coordType, - /* [out] */ long *x, - /* [out] */ long *y, - /* [out] */ long *width, - /* [retval][out] */ long *height); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelections )( - IAccessibleText * This, - /* [retval][out] */ long *nSelections); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetAtPoint )( - IAccessibleText * This, - /* [in] */ long x, - /* [in] */ long y, - /* [in] */ enum IA2CoordinateType coordType, - /* [retval][out] */ long *offset); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selection )( - IAccessibleText * This, - /* [in] */ long selectionIndex, - /* [out] */ long *startOffset, - /* [retval][out] */ long *endOffset); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_text )( - IAccessibleText * This, - /* [in] */ long startOffset, - /* [in] */ long endOffset, - /* [retval][out] */ BSTR *text); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textBeforeOffset )( - IAccessibleText * This, - /* [in] */ long offset, - /* [in] */ enum IA2TextBoundaryType boundaryType, - /* [out] */ long *startOffset, - /* [out] */ long *endOffset, - /* [retval][out] */ BSTR *text); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAfterOffset )( - IAccessibleText * This, - /* [in] */ long offset, - /* [in] */ enum IA2TextBoundaryType boundaryType, - /* [out] */ long *startOffset, - /* [out] */ long *endOffset, - /* [retval][out] */ BSTR *text); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAtOffset )( - IAccessibleText * This, - /* [in] */ long offset, - /* [in] */ enum IA2TextBoundaryType boundaryType, - /* [out] */ long *startOffset, - /* [out] */ long *endOffset, - /* [retval][out] */ BSTR *text); - - HRESULT ( STDMETHODCALLTYPE *removeSelection )( - IAccessibleText * This, - /* [in] */ long selectionIndex); - - HRESULT ( STDMETHODCALLTYPE *setCaretOffset )( - IAccessibleText * This, - /* [in] */ long offset); - - HRESULT ( STDMETHODCALLTYPE *setSelection )( - IAccessibleText * This, - /* [in] */ long selectionIndex, - /* [in] */ long startOffset, - /* [in] */ long endOffset); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nCharacters )( - IAccessibleText * This, - /* [retval][out] */ long *nCharacters); - - HRESULT ( STDMETHODCALLTYPE *scrollSubstringTo )( - IAccessibleText * This, - /* [in] */ long startIndex, - /* [in] */ long endIndex, - /* [in] */ enum IA2ScrollType scrollType); - - HRESULT ( STDMETHODCALLTYPE *scrollSubstringToPoint )( - IAccessibleText * This, - /* [in] */ long startIndex, - /* [in] */ long endIndex, - /* [in] */ enum IA2CoordinateType coordinateType, - /* [in] */ long x, - /* [in] */ long y); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_newText )( - IAccessibleText * This, - /* [retval][out] */ IA2TextSegment *newText); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_oldText )( - IAccessibleText * This, - /* [retval][out] */ IA2TextSegment *oldText); - - END_INTERFACE - } IAccessibleTextVtbl; - - interface IAccessibleText - { - CONST_VTBL struct IAccessibleTextVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IAccessibleText_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IAccessibleText_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IAccessibleText_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IAccessibleText_addSelection(This,startOffset,endOffset) \ - ( (This)->lpVtbl -> addSelection(This,startOffset,endOffset) ) - -#define IAccessibleText_get_attributes(This,offset,startOffset,endOffset,textAttributes) \ - ( (This)->lpVtbl -> get_attributes(This,offset,startOffset,endOffset,textAttributes) ) - -#define IAccessibleText_get_caretOffset(This,offset) \ - ( (This)->lpVtbl -> get_caretOffset(This,offset) ) - -#define IAccessibleText_get_characterExtents(This,offset,coordType,x,y,width,height) \ - ( (This)->lpVtbl -> get_characterExtents(This,offset,coordType,x,y,width,height) ) - -#define IAccessibleText_get_nSelections(This,nSelections) \ - ( (This)->lpVtbl -> get_nSelections(This,nSelections) ) - -#define IAccessibleText_get_offsetAtPoint(This,x,y,coordType,offset) \ - ( (This)->lpVtbl -> get_offsetAtPoint(This,x,y,coordType,offset) ) - -#define IAccessibleText_get_selection(This,selectionIndex,startOffset,endOffset) \ - ( (This)->lpVtbl -> get_selection(This,selectionIndex,startOffset,endOffset) ) - -#define IAccessibleText_get_text(This,startOffset,endOffset,text) \ - ( (This)->lpVtbl -> get_text(This,startOffset,endOffset,text) ) - -#define IAccessibleText_get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) \ - ( (This)->lpVtbl -> get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) ) - -#define IAccessibleText_get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) \ - ( (This)->lpVtbl -> get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) ) - -#define IAccessibleText_get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) \ - ( (This)->lpVtbl -> get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) ) - -#define IAccessibleText_removeSelection(This,selectionIndex) \ - ( (This)->lpVtbl -> removeSelection(This,selectionIndex) ) - -#define IAccessibleText_setCaretOffset(This,offset) \ - ( (This)->lpVtbl -> setCaretOffset(This,offset) ) - -#define IAccessibleText_setSelection(This,selectionIndex,startOffset,endOffset) \ - ( (This)->lpVtbl -> setSelection(This,selectionIndex,startOffset,endOffset) ) - -#define IAccessibleText_get_nCharacters(This,nCharacters) \ - ( (This)->lpVtbl -> get_nCharacters(This,nCharacters) ) - -#define IAccessibleText_scrollSubstringTo(This,startIndex,endIndex,scrollType) \ - ( (This)->lpVtbl -> scrollSubstringTo(This,startIndex,endIndex,scrollType) ) - -#define IAccessibleText_scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) \ - ( (This)->lpVtbl -> scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) ) - -#define IAccessibleText_get_newText(This,newText) \ - ( (This)->lpVtbl -> get_newText(This,newText) ) - -#define IAccessibleText_get_oldText(This,oldText) \ - ( (This)->lpVtbl -> get_oldText(This,oldText) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IAccessibleText_INTERFACE_DEFINED__ */ - - -/* Additional Prototypes for ALL interfaces */ - -unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * ); -unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * ); -unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); -void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * ); - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleText_i.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleText_i.c deleted file mode 100644 index bfa9e763c1..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/AccessibleText_i.c +++ /dev/null @@ -1,79 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */ - -/* link this file in with the server and any clients */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:55 2012 - */ -/* Compiler settings for AccessibleText.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -#ifdef __cplusplus -extern "C"{ -#endif - - -#include <rpc.h> -#include <rpcndr.h> - -#ifdef _MIDL_USE_GUIDDEF_ - -#ifndef INITGUID -#define INITGUID -#include <guiddef.h> -#undef INITGUID -#else -#include <guiddef.h> -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) - -#else // !_MIDL_USE_GUIDDEF_ - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - -typedef struct _IID -{ - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; -} IID; - -#endif // __IID_DEFINED__ - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED -typedef IID CLSID; -#endif // CLSID_DEFINED - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} - -#endif !_MIDL_USE_GUIDDEF_ - -MIDL_DEFINE_GUID(IID, IID_IAccessibleText,0x24FD2FFB,0x3AAD,0x4a08,0x83,0x35,0xA3,0xAD,0x89,0xC0,0xFB,0x4B); - -#undef MIDL_DEFINE_GUID - -#ifdef __cplusplus -} -#endif - - - diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleText_p.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleText_p.c deleted file mode 100644 index ea56621c62..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/AccessibleText_p.c +++ /dev/null @@ -1,1196 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the proxy stub code */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:55 2012 - */ -/* Compiler settings for AccessibleText.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#if !defined(_M_IA64) && !defined(_M_AMD64) - - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ -#if _MSC_VER >= 1200 -#pragma warning(push) -#endif - -#pragma warning( disable: 4211 ) /* redefine extern to static */ -#pragma warning( disable: 4232 ) /* dllimport identity*/ -#pragma warning( disable: 4024 ) /* array to pointer mapping*/ -#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */ -#pragma warning( disable: 4100 ) /* unreferenced arguments in x86 call */ - -#pragma optimize("", off ) - -#define USE_STUBLESS_PROXY - - -/* verify that the <rpcproxy.h> version is high enough to compile this file*/ -#ifndef __REDQ_RPCPROXY_H_VERSION__ -#define __REQUIRED_RPCPROXY_H_VERSION__ 475 -#endif - - -#include "rpcproxy.h" -#ifndef __RPCPROXY_H_VERSION__ -#error this stub requires an updated version of <rpcproxy.h> -#endif /* __RPCPROXY_H_VERSION__ */ - - -#include "AccessibleText.h" - -#define TYPE_FORMAT_STRING_SIZE 67 -#define PROC_FORMAT_STRING_SIZE 901 -#define EXPR_FORMAT_STRING_SIZE 1 -#define TRANSMIT_AS_TABLE_SIZE 0 -#define WIRE_MARSHAL_TABLE_SIZE 1 - -typedef struct _AccessibleText_MIDL_TYPE_FORMAT_STRING - { - short Pad; - unsigned char Format[ TYPE_FORMAT_STRING_SIZE ]; - } AccessibleText_MIDL_TYPE_FORMAT_STRING; - -typedef struct _AccessibleText_MIDL_PROC_FORMAT_STRING - { - short Pad; - unsigned char Format[ PROC_FORMAT_STRING_SIZE ]; - } AccessibleText_MIDL_PROC_FORMAT_STRING; - -typedef struct _AccessibleText_MIDL_EXPR_FORMAT_STRING - { - long Pad; - unsigned char Format[ EXPR_FORMAT_STRING_SIZE ]; - } AccessibleText_MIDL_EXPR_FORMAT_STRING; - - -static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax = -{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}}; - - -extern const AccessibleText_MIDL_TYPE_FORMAT_STRING AccessibleText__MIDL_TypeFormatString; -extern const AccessibleText_MIDL_PROC_FORMAT_STRING AccessibleText__MIDL_ProcFormatString; -extern const AccessibleText_MIDL_EXPR_FORMAT_STRING AccessibleText__MIDL_ExprFormatString; - - -extern const MIDL_STUB_DESC Object_StubDesc; - - -extern const MIDL_SERVER_INFO IAccessibleText_ServerInfo; -extern const MIDL_STUBLESS_PROXY_INFO IAccessibleText_ProxyInfo; - - -extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ]; - -#if !defined(__RPC_WIN32__) -#error Invalid build platform for this stub. -#endif - -#if !(TARGET_IS_NT50_OR_LATER) -#error You need Windows 2000 or later to run this stub because it uses these features: -#error /robust command line switch. -#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems. -#error This app will fail with the RPC_X_WRONG_STUB_VERSION error. -#endif - - -static const AccessibleText_MIDL_PROC_FORMAT_STRING AccessibleText__MIDL_ProcFormatString = - { - 0, - { - - /* Procedure addSelection */ - - 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 2 */ NdrFcLong( 0x0 ), /* 0 */ -/* 6 */ NdrFcShort( 0x3 ), /* 3 */ -/* 8 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 10 */ NdrFcShort( 0x10 ), /* 16 */ -/* 12 */ NdrFcShort( 0x8 ), /* 8 */ -/* 14 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x3, /* 3 */ -/* 16 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 18 */ NdrFcShort( 0x0 ), /* 0 */ -/* 20 */ NdrFcShort( 0x0 ), /* 0 */ -/* 22 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter startOffset */ - -/* 24 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 26 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 28 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter endOffset */ - -/* 30 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 32 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 34 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 36 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 38 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 40 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_attributes */ - -/* 42 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 44 */ NdrFcLong( 0x0 ), /* 0 */ -/* 48 */ NdrFcShort( 0x4 ), /* 4 */ -/* 50 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ -/* 52 */ NdrFcShort( 0x8 ), /* 8 */ -/* 54 */ NdrFcShort( 0x40 ), /* 64 */ -/* 56 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x5, /* 5 */ -/* 58 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 60 */ NdrFcShort( 0x1 ), /* 1 */ -/* 62 */ NdrFcShort( 0x0 ), /* 0 */ -/* 64 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter offset */ - -/* 66 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 68 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 70 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter startOffset */ - -/* 72 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 74 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 76 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter endOffset */ - -/* 78 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 80 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 82 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter textAttributes */ - -/* 84 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 86 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 88 */ NdrFcShort( 0x24 ), /* Type Offset=36 */ - - /* Return value */ - -/* 90 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 92 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 94 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_caretOffset */ - -/* 96 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 98 */ NdrFcLong( 0x0 ), /* 0 */ -/* 102 */ NdrFcShort( 0x5 ), /* 5 */ -/* 104 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 106 */ NdrFcShort( 0x0 ), /* 0 */ -/* 108 */ NdrFcShort( 0x24 ), /* 36 */ -/* 110 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 112 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 114 */ NdrFcShort( 0x0 ), /* 0 */ -/* 116 */ NdrFcShort( 0x0 ), /* 0 */ -/* 118 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter offset */ - -/* 120 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 122 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 124 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 126 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 128 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 130 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_characterExtents */ - -/* 132 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 134 */ NdrFcLong( 0x0 ), /* 0 */ -/* 138 */ NdrFcShort( 0x6 ), /* 6 */ -/* 140 */ NdrFcShort( 0x20 ), /* x86 Stack size/offset = 32 */ -/* 142 */ NdrFcShort( 0xe ), /* 14 */ -/* 144 */ NdrFcShort( 0x78 ), /* 120 */ -/* 146 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x7, /* 7 */ -/* 148 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 150 */ NdrFcShort( 0x0 ), /* 0 */ -/* 152 */ NdrFcShort( 0x0 ), /* 0 */ -/* 154 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter offset */ - -/* 156 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 158 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 160 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter coordType */ - -/* 162 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 164 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 166 */ 0xd, /* FC_ENUM16 */ - 0x0, /* 0 */ - - /* Parameter x */ - -/* 168 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 170 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 172 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter y */ - -/* 174 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 176 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 178 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter width */ - -/* 180 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 182 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 184 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter height */ - -/* 186 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 188 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ -/* 190 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 192 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 194 */ NdrFcShort( 0x1c ), /* x86 Stack size/offset = 28 */ -/* 196 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_nSelections */ - -/* 198 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 200 */ NdrFcLong( 0x0 ), /* 0 */ -/* 204 */ NdrFcShort( 0x7 ), /* 7 */ -/* 206 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 208 */ NdrFcShort( 0x0 ), /* 0 */ -/* 210 */ NdrFcShort( 0x24 ), /* 36 */ -/* 212 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 214 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 216 */ NdrFcShort( 0x0 ), /* 0 */ -/* 218 */ NdrFcShort( 0x0 ), /* 0 */ -/* 220 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter nSelections */ - -/* 222 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 224 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 226 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 228 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 230 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 232 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_offsetAtPoint */ - -/* 234 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 236 */ NdrFcLong( 0x0 ), /* 0 */ -/* 240 */ NdrFcShort( 0x8 ), /* 8 */ -/* 242 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ -/* 244 */ NdrFcShort( 0x16 ), /* 22 */ -/* 246 */ NdrFcShort( 0x24 ), /* 36 */ -/* 248 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x5, /* 5 */ -/* 250 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 252 */ NdrFcShort( 0x0 ), /* 0 */ -/* 254 */ NdrFcShort( 0x0 ), /* 0 */ -/* 256 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter x */ - -/* 258 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 260 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 262 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter y */ - -/* 264 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 266 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 268 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter coordType */ - -/* 270 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 272 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 274 */ 0xd, /* FC_ENUM16 */ - 0x0, /* 0 */ - - /* Parameter offset */ - -/* 276 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 278 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 280 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 282 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 284 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 286 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_selection */ - -/* 288 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 290 */ NdrFcLong( 0x0 ), /* 0 */ -/* 294 */ NdrFcShort( 0x9 ), /* 9 */ -/* 296 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 298 */ NdrFcShort( 0x8 ), /* 8 */ -/* 300 */ NdrFcShort( 0x40 ), /* 64 */ -/* 302 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x4, /* 4 */ -/* 304 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 306 */ NdrFcShort( 0x0 ), /* 0 */ -/* 308 */ NdrFcShort( 0x0 ), /* 0 */ -/* 310 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter selectionIndex */ - -/* 312 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 314 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 316 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter startOffset */ - -/* 318 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 320 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 322 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter endOffset */ - -/* 324 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 326 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 328 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 330 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 332 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 334 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_text */ - -/* 336 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 338 */ NdrFcLong( 0x0 ), /* 0 */ -/* 342 */ NdrFcShort( 0xa ), /* 10 */ -/* 344 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 346 */ NdrFcShort( 0x10 ), /* 16 */ -/* 348 */ NdrFcShort( 0x8 ), /* 8 */ -/* 350 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x4, /* 4 */ -/* 352 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 354 */ NdrFcShort( 0x1 ), /* 1 */ -/* 356 */ NdrFcShort( 0x0 ), /* 0 */ -/* 358 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter startOffset */ - -/* 360 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 362 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 364 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter endOffset */ - -/* 366 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 368 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 370 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter text */ - -/* 372 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 374 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 376 */ NdrFcShort( 0x24 ), /* Type Offset=36 */ - - /* Return value */ - -/* 378 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 380 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 382 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_textBeforeOffset */ - -/* 384 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 386 */ NdrFcLong( 0x0 ), /* 0 */ -/* 390 */ NdrFcShort( 0xb ), /* 11 */ -/* 392 */ NdrFcShort( 0x1c ), /* x86 Stack size/offset = 28 */ -/* 394 */ NdrFcShort( 0xe ), /* 14 */ -/* 396 */ NdrFcShort( 0x40 ), /* 64 */ -/* 398 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x6, /* 6 */ -/* 400 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 402 */ NdrFcShort( 0x1 ), /* 1 */ -/* 404 */ NdrFcShort( 0x0 ), /* 0 */ -/* 406 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter offset */ - -/* 408 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 410 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 412 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter boundaryType */ - -/* 414 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 416 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 418 */ 0xd, /* FC_ENUM16 */ - 0x0, /* 0 */ - - /* Parameter startOffset */ - -/* 420 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 422 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 424 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter endOffset */ - -/* 426 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 428 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 430 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter text */ - -/* 432 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 434 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 436 */ NdrFcShort( 0x24 ), /* Type Offset=36 */ - - /* Return value */ - -/* 438 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 440 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ -/* 442 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_textAfterOffset */ - -/* 444 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 446 */ NdrFcLong( 0x0 ), /* 0 */ -/* 450 */ NdrFcShort( 0xc ), /* 12 */ -/* 452 */ NdrFcShort( 0x1c ), /* x86 Stack size/offset = 28 */ -/* 454 */ NdrFcShort( 0xe ), /* 14 */ -/* 456 */ NdrFcShort( 0x40 ), /* 64 */ -/* 458 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x6, /* 6 */ -/* 460 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 462 */ NdrFcShort( 0x1 ), /* 1 */ -/* 464 */ NdrFcShort( 0x0 ), /* 0 */ -/* 466 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter offset */ - -/* 468 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 470 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 472 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter boundaryType */ - -/* 474 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 476 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 478 */ 0xd, /* FC_ENUM16 */ - 0x0, /* 0 */ - - /* Parameter startOffset */ - -/* 480 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 482 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 484 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter endOffset */ - -/* 486 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 488 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 490 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter text */ - -/* 492 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 494 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 496 */ NdrFcShort( 0x24 ), /* Type Offset=36 */ - - /* Return value */ - -/* 498 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 500 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ -/* 502 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_textAtOffset */ - -/* 504 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 506 */ NdrFcLong( 0x0 ), /* 0 */ -/* 510 */ NdrFcShort( 0xd ), /* 13 */ -/* 512 */ NdrFcShort( 0x1c ), /* x86 Stack size/offset = 28 */ -/* 514 */ NdrFcShort( 0xe ), /* 14 */ -/* 516 */ NdrFcShort( 0x40 ), /* 64 */ -/* 518 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x6, /* 6 */ -/* 520 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 522 */ NdrFcShort( 0x1 ), /* 1 */ -/* 524 */ NdrFcShort( 0x0 ), /* 0 */ -/* 526 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter offset */ - -/* 528 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 530 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 532 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter boundaryType */ - -/* 534 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 536 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 538 */ 0xd, /* FC_ENUM16 */ - 0x0, /* 0 */ - - /* Parameter startOffset */ - -/* 540 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 542 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 544 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter endOffset */ - -/* 546 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 548 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 550 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter text */ - -/* 552 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 554 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 556 */ NdrFcShort( 0x24 ), /* Type Offset=36 */ - - /* Return value */ - -/* 558 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 560 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ -/* 562 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure removeSelection */ - -/* 564 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 566 */ NdrFcLong( 0x0 ), /* 0 */ -/* 570 */ NdrFcShort( 0xe ), /* 14 */ -/* 572 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 574 */ NdrFcShort( 0x8 ), /* 8 */ -/* 576 */ NdrFcShort( 0x8 ), /* 8 */ -/* 578 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 580 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 582 */ NdrFcShort( 0x0 ), /* 0 */ -/* 584 */ NdrFcShort( 0x0 ), /* 0 */ -/* 586 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter selectionIndex */ - -/* 588 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 590 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 592 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 594 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 596 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 598 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure setCaretOffset */ - -/* 600 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 602 */ NdrFcLong( 0x0 ), /* 0 */ -/* 606 */ NdrFcShort( 0xf ), /* 15 */ -/* 608 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 610 */ NdrFcShort( 0x8 ), /* 8 */ -/* 612 */ NdrFcShort( 0x8 ), /* 8 */ -/* 614 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 616 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 618 */ NdrFcShort( 0x0 ), /* 0 */ -/* 620 */ NdrFcShort( 0x0 ), /* 0 */ -/* 622 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter offset */ - -/* 624 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 626 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 628 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 630 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 632 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 634 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure setSelection */ - -/* 636 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 638 */ NdrFcLong( 0x0 ), /* 0 */ -/* 642 */ NdrFcShort( 0x10 ), /* 16 */ -/* 644 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 646 */ NdrFcShort( 0x18 ), /* 24 */ -/* 648 */ NdrFcShort( 0x8 ), /* 8 */ -/* 650 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x4, /* 4 */ -/* 652 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 654 */ NdrFcShort( 0x0 ), /* 0 */ -/* 656 */ NdrFcShort( 0x0 ), /* 0 */ -/* 658 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter selectionIndex */ - -/* 660 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 662 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 664 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter startOffset */ - -/* 666 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 668 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 670 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter endOffset */ - -/* 672 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 674 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 676 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 678 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 680 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 682 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_nCharacters */ - -/* 684 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 686 */ NdrFcLong( 0x0 ), /* 0 */ -/* 690 */ NdrFcShort( 0x11 ), /* 17 */ -/* 692 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 694 */ NdrFcShort( 0x0 ), /* 0 */ -/* 696 */ NdrFcShort( 0x24 ), /* 36 */ -/* 698 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 700 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 702 */ NdrFcShort( 0x0 ), /* 0 */ -/* 704 */ NdrFcShort( 0x0 ), /* 0 */ -/* 706 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter nCharacters */ - -/* 708 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 710 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 712 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 714 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 716 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 718 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure scrollSubstringTo */ - -/* 720 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 722 */ NdrFcLong( 0x0 ), /* 0 */ -/* 726 */ NdrFcShort( 0x12 ), /* 18 */ -/* 728 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 730 */ NdrFcShort( 0x16 ), /* 22 */ -/* 732 */ NdrFcShort( 0x8 ), /* 8 */ -/* 734 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x4, /* 4 */ -/* 736 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 738 */ NdrFcShort( 0x0 ), /* 0 */ -/* 740 */ NdrFcShort( 0x0 ), /* 0 */ -/* 742 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter startIndex */ - -/* 744 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 746 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 748 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter endIndex */ - -/* 750 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 752 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 754 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter scrollType */ - -/* 756 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 758 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 760 */ 0xd, /* FC_ENUM16 */ - 0x0, /* 0 */ - - /* Return value */ - -/* 762 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 764 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 766 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure scrollSubstringToPoint */ - -/* 768 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 770 */ NdrFcLong( 0x0 ), /* 0 */ -/* 774 */ NdrFcShort( 0x13 ), /* 19 */ -/* 776 */ NdrFcShort( 0x1c ), /* x86 Stack size/offset = 28 */ -/* 778 */ NdrFcShort( 0x26 ), /* 38 */ -/* 780 */ NdrFcShort( 0x8 ), /* 8 */ -/* 782 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x6, /* 6 */ -/* 784 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 786 */ NdrFcShort( 0x0 ), /* 0 */ -/* 788 */ NdrFcShort( 0x0 ), /* 0 */ -/* 790 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter startIndex */ - -/* 792 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 794 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 796 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter endIndex */ - -/* 798 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 800 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 802 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter coordinateType */ - -/* 804 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 806 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 808 */ 0xd, /* FC_ENUM16 */ - 0x0, /* 0 */ - - /* Parameter x */ - -/* 810 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 812 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ -/* 814 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Parameter y */ - -/* 816 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ -/* 818 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 820 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Return value */ - -/* 822 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 824 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ -/* 826 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_newText */ - -/* 828 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 830 */ NdrFcLong( 0x0 ), /* 0 */ -/* 834 */ NdrFcShort( 0x14 ), /* 20 */ -/* 836 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 838 */ NdrFcShort( 0x0 ), /* 0 */ -/* 840 */ NdrFcShort( 0x8 ), /* 8 */ -/* 842 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 844 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 846 */ NdrFcShort( 0x1 ), /* 1 */ -/* 848 */ NdrFcShort( 0x0 ), /* 0 */ -/* 850 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter newText */ - -/* 852 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ -/* 854 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 856 */ NdrFcShort( 0x32 ), /* Type Offset=50 */ - - /* Return value */ - -/* 858 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 860 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 862 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_oldText */ - -/* 864 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 866 */ NdrFcLong( 0x0 ), /* 0 */ -/* 870 */ NdrFcShort( 0x15 ), /* 21 */ -/* 872 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 874 */ NdrFcShort( 0x0 ), /* 0 */ -/* 876 */ NdrFcShort( 0x8 ), /* 8 */ -/* 878 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 880 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 882 */ NdrFcShort( 0x1 ), /* 1 */ -/* 884 */ NdrFcShort( 0x0 ), /* 0 */ -/* 886 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter oldText */ - -/* 888 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ -/* 890 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 892 */ NdrFcShort( 0x32 ), /* Type Offset=50 */ - - /* Return value */ - -/* 894 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 896 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 898 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - 0x0 - } - }; - -static const AccessibleText_MIDL_TYPE_FORMAT_STRING AccessibleText__MIDL_TypeFormatString = - { - 0, - { - NdrFcShort( 0x0 ), /* 0 */ -/* 2 */ - 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */ -/* 4 */ 0x8, /* FC_LONG */ - 0x5c, /* FC_PAD */ -/* 6 */ - 0x11, 0x4, /* FC_RP [alloced_on_stack] */ -/* 8 */ NdrFcShort( 0x1c ), /* Offset= 28 (36) */ -/* 10 */ - 0x13, 0x0, /* FC_OP */ -/* 12 */ NdrFcShort( 0xe ), /* Offset= 14 (26) */ -/* 14 */ - 0x1b, /* FC_CARRAY */ - 0x1, /* 1 */ -/* 16 */ NdrFcShort( 0x2 ), /* 2 */ -/* 18 */ 0x9, /* Corr desc: FC_ULONG */ - 0x0, /* */ -/* 20 */ NdrFcShort( 0xfffc ), /* -4 */ -/* 22 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 24 */ 0x6, /* FC_SHORT */ - 0x5b, /* FC_END */ -/* 26 */ - 0x17, /* FC_CSTRUCT */ - 0x3, /* 3 */ -/* 28 */ NdrFcShort( 0x8 ), /* 8 */ -/* 30 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (14) */ -/* 32 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 34 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 36 */ 0xb4, /* FC_USER_MARSHAL */ - 0x83, /* 131 */ -/* 38 */ NdrFcShort( 0x0 ), /* 0 */ -/* 40 */ NdrFcShort( 0x4 ), /* 4 */ -/* 42 */ NdrFcShort( 0x0 ), /* 0 */ -/* 44 */ NdrFcShort( 0xffde ), /* Offset= -34 (10) */ -/* 46 */ - 0x11, 0x4, /* FC_RP [alloced_on_stack] */ -/* 48 */ NdrFcShort( 0x2 ), /* Offset= 2 (50) */ -/* 50 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 52 */ NdrFcShort( 0xc ), /* 12 */ -/* 54 */ NdrFcShort( 0x0 ), /* 0 */ -/* 56 */ NdrFcShort( 0x0 ), /* Offset= 0 (56) */ -/* 58 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 60 */ NdrFcShort( 0xffe8 ), /* Offset= -24 (36) */ -/* 62 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 64 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ - - 0x0 - } - }; - -static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] = - { - - { - BSTR_UserSize - ,BSTR_UserMarshal - ,BSTR_UserUnmarshal - ,BSTR_UserFree - } - - }; - - - -/* Standard interface: __MIDL_itf_AccessibleText_0000_0000, ver. 0.0, - GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */ - - -/* Object interface: IUnknown, ver. 0.0, - GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */ - - -/* Object interface: IAccessibleText, ver. 0.0, - GUID={0x24FD2FFB,0x3AAD,0x4a08,{0x83,0x35,0xA3,0xAD,0x89,0xC0,0xFB,0x4B}} */ - -#pragma code_seg(".orpc") -static const unsigned short IAccessibleText_FormatStringOffsetTable[] = - { - 0, - 42, - 96, - 132, - 198, - 234, - 288, - 336, - 384, - 444, - 504, - 564, - 600, - 636, - 684, - 720, - 768, - 828, - 864 - }; - -static const MIDL_STUBLESS_PROXY_INFO IAccessibleText_ProxyInfo = - { - &Object_StubDesc, - AccessibleText__MIDL_ProcFormatString.Format, - &IAccessibleText_FormatStringOffsetTable[-3], - 0, - 0, - 0 - }; - - -static const MIDL_SERVER_INFO IAccessibleText_ServerInfo = - { - &Object_StubDesc, - 0, - AccessibleText__MIDL_ProcFormatString.Format, - &IAccessibleText_FormatStringOffsetTable[-3], - 0, - 0, - 0, - 0}; -CINTERFACE_PROXY_VTABLE(22) _IAccessibleTextProxyVtbl = -{ - &IAccessibleText_ProxyInfo, - &IID_IAccessibleText, - IUnknown_QueryInterface_Proxy, - IUnknown_AddRef_Proxy, - IUnknown_Release_Proxy , - (void *) (INT_PTR) -1 /* IAccessibleText::addSelection */ , - (void *) (INT_PTR) -1 /* IAccessibleText::get_attributes */ , - (void *) (INT_PTR) -1 /* IAccessibleText::get_caretOffset */ , - (void *) (INT_PTR) -1 /* IAccessibleText::get_characterExtents */ , - (void *) (INT_PTR) -1 /* IAccessibleText::get_nSelections */ , - (void *) (INT_PTR) -1 /* IAccessibleText::get_offsetAtPoint */ , - (void *) (INT_PTR) -1 /* IAccessibleText::get_selection */ , - (void *) (INT_PTR) -1 /* IAccessibleText::get_text */ , - (void *) (INT_PTR) -1 /* IAccessibleText::get_textBeforeOffset */ , - (void *) (INT_PTR) -1 /* IAccessibleText::get_textAfterOffset */ , - (void *) (INT_PTR) -1 /* IAccessibleText::get_textAtOffset */ , - (void *) (INT_PTR) -1 /* IAccessibleText::removeSelection */ , - (void *) (INT_PTR) -1 /* IAccessibleText::setCaretOffset */ , - (void *) (INT_PTR) -1 /* IAccessibleText::setSelection */ , - (void *) (INT_PTR) -1 /* IAccessibleText::get_nCharacters */ , - (void *) (INT_PTR) -1 /* IAccessibleText::scrollSubstringTo */ , - (void *) (INT_PTR) -1 /* IAccessibleText::scrollSubstringToPoint */ , - (void *) (INT_PTR) -1 /* IAccessibleText::get_newText */ , - (void *) (INT_PTR) -1 /* IAccessibleText::get_oldText */ -}; - -const CInterfaceStubVtbl _IAccessibleTextStubVtbl = -{ - &IID_IAccessibleText, - &IAccessibleText_ServerInfo, - 22, - 0, /* pure interpreted */ - CStdStubBuffer_METHODS -}; - -static const MIDL_STUB_DESC Object_StubDesc = - { - 0, - NdrOleAllocate, - NdrOleFree, - 0, - 0, - 0, - 0, - 0, - AccessibleText__MIDL_TypeFormatString.Format, - 1, /* -error bounds_check flag */ - 0x50002, /* Ndr library version */ - 0, - 0x700022b, /* MIDL Version 7.0.555 */ - 0, - UserMarshalRoutines, - 0, /* notify & notify_flag routine table */ - 0x1, /* MIDL flag */ - 0, /* cs routines */ - 0, /* proxy/server info */ - 0 - }; - -const CInterfaceProxyVtbl * const _AccessibleText_ProxyVtblList[] = -{ - ( CInterfaceProxyVtbl *) &_IAccessibleTextProxyVtbl, - 0 -}; - -const CInterfaceStubVtbl * const _AccessibleText_StubVtblList[] = -{ - ( CInterfaceStubVtbl *) &_IAccessibleTextStubVtbl, - 0 -}; - -PCInterfaceName const _AccessibleText_InterfaceNamesList[] = -{ - "IAccessibleText", - 0 -}; - - -#define _AccessibleText_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleText, pIID, n) - -int __stdcall _AccessibleText_IID_Lookup( const IID * pIID, int * pIndex ) -{ - - if(!_AccessibleText_CHECK_IID(0)) - { - *pIndex = 0; - return 1; - } - - return 0; -} - -const ExtendedProxyFileInfo AccessibleText_ProxyFileInfo = -{ - (PCInterfaceProxyVtblList *) & _AccessibleText_ProxyVtblList, - (PCInterfaceStubVtblList *) & _AccessibleText_StubVtblList, - (const PCInterfaceName * ) & _AccessibleText_InterfaceNamesList, - 0, /* no delegation */ - & _AccessibleText_IID_Lookup, - 1, - 2, - 0, /* table of [async_uuid] interfaces */ - 0, /* Filler1 */ - 0, /* Filler2 */ - 0 /* Filler3 */ -}; -#pragma optimize("", on ) -#if _MSC_VER >= 1200 -#pragma warning(pop) -#endif - - -#endif /* !defined(_M_IA64) && !defined(_M_AMD64)*/ - diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleValue.h b/src/3rdparty/iaccessible2/generated/x86/AccessibleValue.h deleted file mode 100644 index 6ef70c261f..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/AccessibleValue.h +++ /dev/null @@ -1,188 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:55 2012 - */ -/* Compiler settings for AccessibleValue.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the <rpcndr.h> version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of <rpcndr.h> -#endif // __RPCNDR_H_VERSION__ - -#ifndef COM_NO_WINDOWS_H -#include "windows.h" -#include "ole2.h" -#endif /*COM_NO_WINDOWS_H*/ - -#ifndef __AccessibleValue_h__ -#define __AccessibleValue_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -#ifndef __IAccessibleValue_FWD_DEFINED__ -#define __IAccessibleValue_FWD_DEFINED__ -typedef interface IAccessibleValue IAccessibleValue; -#endif /* __IAccessibleValue_FWD_DEFINED__ */ - - -/* header files for imported files */ -#include "objidl.h" -#include "oaidl.h" -#include "oleacc.h" - -#ifdef __cplusplus -extern "C"{ -#endif - - -#ifndef __IAccessibleValue_INTERFACE_DEFINED__ -#define __IAccessibleValue_INTERFACE_DEFINED__ - -/* interface IAccessibleValue */ -/* [uuid][object] */ - - -EXTERN_C const IID IID_IAccessibleValue; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("35855B5B-C566-4fd0-A7B1-E65465600394") - IAccessibleValue : public IUnknown - { - public: - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentValue( - /* [retval][out] */ VARIANT *currentValue) = 0; - - virtual HRESULT STDMETHODCALLTYPE setCurrentValue( - /* [in] */ VARIANT value) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_maximumValue( - /* [retval][out] */ VARIANT *maximumValue) = 0; - - virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_minimumValue( - /* [retval][out] */ VARIANT *minimumValue) = 0; - - }; - -#else /* C style interface */ - - typedef struct IAccessibleValueVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IAccessibleValue * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IAccessibleValue * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IAccessibleValue * This); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentValue )( - IAccessibleValue * This, - /* [retval][out] */ VARIANT *currentValue); - - HRESULT ( STDMETHODCALLTYPE *setCurrentValue )( - IAccessibleValue * This, - /* [in] */ VARIANT value); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_maximumValue )( - IAccessibleValue * This, - /* [retval][out] */ VARIANT *maximumValue); - - /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_minimumValue )( - IAccessibleValue * This, - /* [retval][out] */ VARIANT *minimumValue); - - END_INTERFACE - } IAccessibleValueVtbl; - - interface IAccessibleValue - { - CONST_VTBL struct IAccessibleValueVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IAccessibleValue_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IAccessibleValue_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IAccessibleValue_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IAccessibleValue_get_currentValue(This,currentValue) \ - ( (This)->lpVtbl -> get_currentValue(This,currentValue) ) - -#define IAccessibleValue_setCurrentValue(This,value) \ - ( (This)->lpVtbl -> setCurrentValue(This,value) ) - -#define IAccessibleValue_get_maximumValue(This,maximumValue) \ - ( (This)->lpVtbl -> get_maximumValue(This,maximumValue) ) - -#define IAccessibleValue_get_minimumValue(This,minimumValue) \ - ( (This)->lpVtbl -> get_minimumValue(This,minimumValue) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IAccessibleValue_INTERFACE_DEFINED__ */ - - -/* Additional Prototypes for ALL interfaces */ - -unsigned long __RPC_USER VARIANT_UserSize( unsigned long *, unsigned long , VARIANT * ); -unsigned char * __RPC_USER VARIANT_UserMarshal( unsigned long *, unsigned char *, VARIANT * ); -unsigned char * __RPC_USER VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); -void __RPC_USER VARIANT_UserFree( unsigned long *, VARIANT * ); - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleValue_i.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleValue_i.c deleted file mode 100644 index dffdb123af..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/AccessibleValue_i.c +++ /dev/null @@ -1,79 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */ - -/* link this file in with the server and any clients */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:55 2012 - */ -/* Compiler settings for AccessibleValue.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -#ifdef __cplusplus -extern "C"{ -#endif - - -#include <rpc.h> -#include <rpcndr.h> - -#ifdef _MIDL_USE_GUIDDEF_ - -#ifndef INITGUID -#define INITGUID -#include <guiddef.h> -#undef INITGUID -#else -#include <guiddef.h> -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) - -#else // !_MIDL_USE_GUIDDEF_ - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - -typedef struct _IID -{ - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; -} IID; - -#endif // __IID_DEFINED__ - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED -typedef IID CLSID; -#endif // CLSID_DEFINED - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} - -#endif !_MIDL_USE_GUIDDEF_ - -MIDL_DEFINE_GUID(IID, IID_IAccessibleValue,0x35855B5B,0xC566,0x4fd0,0xA7,0xB1,0xE6,0x54,0x65,0x60,0x03,0x94); - -#undef MIDL_DEFINE_GUID - -#ifdef __cplusplus -} -#endif - - - diff --git a/src/3rdparty/iaccessible2/generated/x86/AccessibleValue_p.c b/src/3rdparty/iaccessible2/generated/x86/AccessibleValue_p.c deleted file mode 100644 index 166e2149b4..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/AccessibleValue_p.c +++ /dev/null @@ -1,1105 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the proxy stub code */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:55 2012 - */ -/* Compiler settings for AccessibleValue.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#if !defined(_M_IA64) && !defined(_M_AMD64) - - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ -#if _MSC_VER >= 1200 -#pragma warning(push) -#endif - -#pragma warning( disable: 4211 ) /* redefine extern to static */ -#pragma warning( disable: 4232 ) /* dllimport identity*/ -#pragma warning( disable: 4024 ) /* array to pointer mapping*/ -#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */ -#pragma warning( disable: 4100 ) /* unreferenced arguments in x86 call */ - -#pragma optimize("", off ) - -#define USE_STUBLESS_PROXY - - -/* verify that the <rpcproxy.h> version is high enough to compile this file*/ -#ifndef __REDQ_RPCPROXY_H_VERSION__ -#define __REQUIRED_RPCPROXY_H_VERSION__ 475 -#endif - - -#include "rpcproxy.h" -#ifndef __RPCPROXY_H_VERSION__ -#error this stub requires an updated version of <rpcproxy.h> -#endif /* __RPCPROXY_H_VERSION__ */ - - -#include "AccessibleValue.h" - -#define TYPE_FORMAT_STRING_SIZE 1053 -#define PROC_FORMAT_STRING_SIZE 145 -#define EXPR_FORMAT_STRING_SIZE 1 -#define TRANSMIT_AS_TABLE_SIZE 0 -#define WIRE_MARSHAL_TABLE_SIZE 1 - -typedef struct _AccessibleValue_MIDL_TYPE_FORMAT_STRING - { - short Pad; - unsigned char Format[ TYPE_FORMAT_STRING_SIZE ]; - } AccessibleValue_MIDL_TYPE_FORMAT_STRING; - -typedef struct _AccessibleValue_MIDL_PROC_FORMAT_STRING - { - short Pad; - unsigned char Format[ PROC_FORMAT_STRING_SIZE ]; - } AccessibleValue_MIDL_PROC_FORMAT_STRING; - -typedef struct _AccessibleValue_MIDL_EXPR_FORMAT_STRING - { - long Pad; - unsigned char Format[ EXPR_FORMAT_STRING_SIZE ]; - } AccessibleValue_MIDL_EXPR_FORMAT_STRING; - - -static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax = -{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}}; - - -extern const AccessibleValue_MIDL_TYPE_FORMAT_STRING AccessibleValue__MIDL_TypeFormatString; -extern const AccessibleValue_MIDL_PROC_FORMAT_STRING AccessibleValue__MIDL_ProcFormatString; -extern const AccessibleValue_MIDL_EXPR_FORMAT_STRING AccessibleValue__MIDL_ExprFormatString; - - -extern const MIDL_STUB_DESC Object_StubDesc; - - -extern const MIDL_SERVER_INFO IAccessibleValue_ServerInfo; -extern const MIDL_STUBLESS_PROXY_INFO IAccessibleValue_ProxyInfo; - - -extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ]; - -#if !defined(__RPC_WIN32__) -#error Invalid build platform for this stub. -#endif - -#if !(TARGET_IS_NT50_OR_LATER) -#error You need Windows 2000 or later to run this stub because it uses these features: -#error /robust command line switch. -#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems. -#error This app will fail with the RPC_X_WRONG_STUB_VERSION error. -#endif - - -static const AccessibleValue_MIDL_PROC_FORMAT_STRING AccessibleValue__MIDL_ProcFormatString = - { - 0, - { - - /* Procedure get_currentValue */ - - 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 2 */ NdrFcLong( 0x0 ), /* 0 */ -/* 6 */ NdrFcShort( 0x3 ), /* 3 */ -/* 8 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 10 */ NdrFcShort( 0x0 ), /* 0 */ -/* 12 */ NdrFcShort( 0x8 ), /* 8 */ -/* 14 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 16 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 18 */ NdrFcShort( 0x1 ), /* 1 */ -/* 20 */ NdrFcShort( 0x0 ), /* 0 */ -/* 22 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter currentValue */ - -/* 24 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ -/* 26 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 28 */ NdrFcShort( 0x404 ), /* Type Offset=1028 */ - - /* Return value */ - -/* 30 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 32 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 34 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure setCurrentValue */ - -/* 36 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 38 */ NdrFcLong( 0x0 ), /* 0 */ -/* 42 */ NdrFcShort( 0x4 ), /* 4 */ -/* 44 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ -/* 46 */ NdrFcShort( 0x0 ), /* 0 */ -/* 48 */ NdrFcShort( 0x8 ), /* 8 */ -/* 50 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ - 0x2, /* 2 */ -/* 52 */ 0x8, /* 8 */ - 0x5, /* Ext Flags: new corr desc, srv corr check, */ -/* 54 */ NdrFcShort( 0x0 ), /* 0 */ -/* 56 */ NdrFcShort( 0x1 ), /* 1 */ -/* 58 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter value */ - -/* 60 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ -/* 62 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 64 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ - - /* Return value */ - -/* 66 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 68 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 70 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_maximumValue */ - -/* 72 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 74 */ NdrFcLong( 0x0 ), /* 0 */ -/* 78 */ NdrFcShort( 0x5 ), /* 5 */ -/* 80 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 82 */ NdrFcShort( 0x0 ), /* 0 */ -/* 84 */ NdrFcShort( 0x8 ), /* 8 */ -/* 86 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 88 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 90 */ NdrFcShort( 0x1 ), /* 1 */ -/* 92 */ NdrFcShort( 0x0 ), /* 0 */ -/* 94 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter maximumValue */ - -/* 96 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ -/* 98 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 100 */ NdrFcShort( 0x404 ), /* Type Offset=1028 */ - - /* Return value */ - -/* 102 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 104 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 106 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_minimumValue */ - -/* 108 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 110 */ NdrFcLong( 0x0 ), /* 0 */ -/* 114 */ NdrFcShort( 0x6 ), /* 6 */ -/* 116 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 118 */ NdrFcShort( 0x0 ), /* 0 */ -/* 120 */ NdrFcShort( 0x8 ), /* 8 */ -/* 122 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 124 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 126 */ NdrFcShort( 0x1 ), /* 1 */ -/* 128 */ NdrFcShort( 0x0 ), /* 0 */ -/* 130 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter minimumValue */ - -/* 132 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ -/* 134 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 136 */ NdrFcShort( 0x404 ), /* Type Offset=1028 */ - - /* Return value */ - -/* 138 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 140 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 142 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - 0x0 - } - }; - -static const AccessibleValue_MIDL_TYPE_FORMAT_STRING AccessibleValue__MIDL_TypeFormatString = - { - 0, - { - NdrFcShort( 0x0 ), /* 0 */ -/* 2 */ - 0x11, 0x4, /* FC_RP [alloced_on_stack] */ -/* 4 */ NdrFcShort( 0x400 ), /* Offset= 1024 (1028) */ -/* 6 */ - 0x13, 0x0, /* FC_OP */ -/* 8 */ NdrFcShort( 0x3e8 ), /* Offset= 1000 (1008) */ -/* 10 */ - 0x2b, /* FC_NON_ENCAPSULATED_UNION */ - 0x9, /* FC_ULONG */ -/* 12 */ 0x7, /* Corr desc: FC_USHORT */ - 0x0, /* */ -/* 14 */ NdrFcShort( 0xfff8 ), /* -8 */ -/* 16 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 18 */ NdrFcShort( 0x2 ), /* Offset= 2 (20) */ -/* 20 */ NdrFcShort( 0x10 ), /* 16 */ -/* 22 */ NdrFcShort( 0x2f ), /* 47 */ -/* 24 */ NdrFcLong( 0x14 ), /* 20 */ -/* 28 */ NdrFcShort( 0x800b ), /* Simple arm type: FC_HYPER */ -/* 30 */ NdrFcLong( 0x3 ), /* 3 */ -/* 34 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ -/* 36 */ NdrFcLong( 0x11 ), /* 17 */ -/* 40 */ NdrFcShort( 0x8001 ), /* Simple arm type: FC_BYTE */ -/* 42 */ NdrFcLong( 0x2 ), /* 2 */ -/* 46 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */ -/* 48 */ NdrFcLong( 0x4 ), /* 4 */ -/* 52 */ NdrFcShort( 0x800a ), /* Simple arm type: FC_FLOAT */ -/* 54 */ NdrFcLong( 0x5 ), /* 5 */ -/* 58 */ NdrFcShort( 0x800c ), /* Simple arm type: FC_DOUBLE */ -/* 60 */ NdrFcLong( 0xb ), /* 11 */ -/* 64 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */ -/* 66 */ NdrFcLong( 0xa ), /* 10 */ -/* 70 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ -/* 72 */ NdrFcLong( 0x6 ), /* 6 */ -/* 76 */ NdrFcShort( 0xe8 ), /* Offset= 232 (308) */ -/* 78 */ NdrFcLong( 0x7 ), /* 7 */ -/* 82 */ NdrFcShort( 0x800c ), /* Simple arm type: FC_DOUBLE */ -/* 84 */ NdrFcLong( 0x8 ), /* 8 */ -/* 88 */ NdrFcShort( 0xe2 ), /* Offset= 226 (314) */ -/* 90 */ NdrFcLong( 0xd ), /* 13 */ -/* 94 */ NdrFcShort( 0xf6 ), /* Offset= 246 (340) */ -/* 96 */ NdrFcLong( 0x9 ), /* 9 */ -/* 100 */ NdrFcShort( 0x102 ), /* Offset= 258 (358) */ -/* 102 */ NdrFcLong( 0x2000 ), /* 8192 */ -/* 106 */ NdrFcShort( 0x10e ), /* Offset= 270 (376) */ -/* 108 */ NdrFcLong( 0x24 ), /* 36 */ -/* 112 */ NdrFcShort( 0x336 ), /* Offset= 822 (934) */ -/* 114 */ NdrFcLong( 0x4024 ), /* 16420 */ -/* 118 */ NdrFcShort( 0x330 ), /* Offset= 816 (934) */ -/* 120 */ NdrFcLong( 0x4011 ), /* 16401 */ -/* 124 */ NdrFcShort( 0x32e ), /* Offset= 814 (938) */ -/* 126 */ NdrFcLong( 0x4002 ), /* 16386 */ -/* 130 */ NdrFcShort( 0x32c ), /* Offset= 812 (942) */ -/* 132 */ NdrFcLong( 0x4003 ), /* 16387 */ -/* 136 */ NdrFcShort( 0x32a ), /* Offset= 810 (946) */ -/* 138 */ NdrFcLong( 0x4014 ), /* 16404 */ -/* 142 */ NdrFcShort( 0x328 ), /* Offset= 808 (950) */ -/* 144 */ NdrFcLong( 0x4004 ), /* 16388 */ -/* 148 */ NdrFcShort( 0x326 ), /* Offset= 806 (954) */ -/* 150 */ NdrFcLong( 0x4005 ), /* 16389 */ -/* 154 */ NdrFcShort( 0x324 ), /* Offset= 804 (958) */ -/* 156 */ NdrFcLong( 0x400b ), /* 16395 */ -/* 160 */ NdrFcShort( 0x30e ), /* Offset= 782 (942) */ -/* 162 */ NdrFcLong( 0x400a ), /* 16394 */ -/* 166 */ NdrFcShort( 0x30c ), /* Offset= 780 (946) */ -/* 168 */ NdrFcLong( 0x4006 ), /* 16390 */ -/* 172 */ NdrFcShort( 0x316 ), /* Offset= 790 (962) */ -/* 174 */ NdrFcLong( 0x4007 ), /* 16391 */ -/* 178 */ NdrFcShort( 0x30c ), /* Offset= 780 (958) */ -/* 180 */ NdrFcLong( 0x4008 ), /* 16392 */ -/* 184 */ NdrFcShort( 0x30e ), /* Offset= 782 (966) */ -/* 186 */ NdrFcLong( 0x400d ), /* 16397 */ -/* 190 */ NdrFcShort( 0x30c ), /* Offset= 780 (970) */ -/* 192 */ NdrFcLong( 0x4009 ), /* 16393 */ -/* 196 */ NdrFcShort( 0x30a ), /* Offset= 778 (974) */ -/* 198 */ NdrFcLong( 0x6000 ), /* 24576 */ -/* 202 */ NdrFcShort( 0x308 ), /* Offset= 776 (978) */ -/* 204 */ NdrFcLong( 0x400c ), /* 16396 */ -/* 208 */ NdrFcShort( 0x306 ), /* Offset= 774 (982) */ -/* 210 */ NdrFcLong( 0x10 ), /* 16 */ -/* 214 */ NdrFcShort( 0x8002 ), /* Simple arm type: FC_CHAR */ -/* 216 */ NdrFcLong( 0x12 ), /* 18 */ -/* 220 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */ -/* 222 */ NdrFcLong( 0x13 ), /* 19 */ -/* 226 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ -/* 228 */ NdrFcLong( 0x15 ), /* 21 */ -/* 232 */ NdrFcShort( 0x800b ), /* Simple arm type: FC_HYPER */ -/* 234 */ NdrFcLong( 0x16 ), /* 22 */ -/* 238 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ -/* 240 */ NdrFcLong( 0x17 ), /* 23 */ -/* 244 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ -/* 246 */ NdrFcLong( 0xe ), /* 14 */ -/* 250 */ NdrFcShort( 0x2e4 ), /* Offset= 740 (990) */ -/* 252 */ NdrFcLong( 0x400e ), /* 16398 */ -/* 256 */ NdrFcShort( 0x2e8 ), /* Offset= 744 (1000) */ -/* 258 */ NdrFcLong( 0x4010 ), /* 16400 */ -/* 262 */ NdrFcShort( 0x2e6 ), /* Offset= 742 (1004) */ -/* 264 */ NdrFcLong( 0x4012 ), /* 16402 */ -/* 268 */ NdrFcShort( 0x2a2 ), /* Offset= 674 (942) */ -/* 270 */ NdrFcLong( 0x4013 ), /* 16403 */ -/* 274 */ NdrFcShort( 0x2a0 ), /* Offset= 672 (946) */ -/* 276 */ NdrFcLong( 0x4015 ), /* 16405 */ -/* 280 */ NdrFcShort( 0x29e ), /* Offset= 670 (950) */ -/* 282 */ NdrFcLong( 0x4016 ), /* 16406 */ -/* 286 */ NdrFcShort( 0x294 ), /* Offset= 660 (946) */ -/* 288 */ NdrFcLong( 0x4017 ), /* 16407 */ -/* 292 */ NdrFcShort( 0x28e ), /* Offset= 654 (946) */ -/* 294 */ NdrFcLong( 0x0 ), /* 0 */ -/* 298 */ NdrFcShort( 0x0 ), /* Offset= 0 (298) */ -/* 300 */ NdrFcLong( 0x1 ), /* 1 */ -/* 304 */ NdrFcShort( 0x0 ), /* Offset= 0 (304) */ -/* 306 */ NdrFcShort( 0xffff ), /* Offset= -1 (305) */ -/* 308 */ - 0x15, /* FC_STRUCT */ - 0x7, /* 7 */ -/* 310 */ NdrFcShort( 0x8 ), /* 8 */ -/* 312 */ 0xb, /* FC_HYPER */ - 0x5b, /* FC_END */ -/* 314 */ - 0x13, 0x0, /* FC_OP */ -/* 316 */ NdrFcShort( 0xe ), /* Offset= 14 (330) */ -/* 318 */ - 0x1b, /* FC_CARRAY */ - 0x1, /* 1 */ -/* 320 */ NdrFcShort( 0x2 ), /* 2 */ -/* 322 */ 0x9, /* Corr desc: FC_ULONG */ - 0x0, /* */ -/* 324 */ NdrFcShort( 0xfffc ), /* -4 */ -/* 326 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 328 */ 0x6, /* FC_SHORT */ - 0x5b, /* FC_END */ -/* 330 */ - 0x17, /* FC_CSTRUCT */ - 0x3, /* 3 */ -/* 332 */ NdrFcShort( 0x8 ), /* 8 */ -/* 334 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (318) */ -/* 336 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 338 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 340 */ - 0x2f, /* FC_IP */ - 0x5a, /* FC_CONSTANT_IID */ -/* 342 */ NdrFcLong( 0x0 ), /* 0 */ -/* 346 */ NdrFcShort( 0x0 ), /* 0 */ -/* 348 */ NdrFcShort( 0x0 ), /* 0 */ -/* 350 */ 0xc0, /* 192 */ - 0x0, /* 0 */ -/* 352 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 354 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 356 */ 0x0, /* 0 */ - 0x46, /* 70 */ -/* 358 */ - 0x2f, /* FC_IP */ - 0x5a, /* FC_CONSTANT_IID */ -/* 360 */ NdrFcLong( 0x20400 ), /* 132096 */ -/* 364 */ NdrFcShort( 0x0 ), /* 0 */ -/* 366 */ NdrFcShort( 0x0 ), /* 0 */ -/* 368 */ 0xc0, /* 192 */ - 0x0, /* 0 */ -/* 370 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 372 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 374 */ 0x0, /* 0 */ - 0x46, /* 70 */ -/* 376 */ - 0x13, 0x10, /* FC_OP [pointer_deref] */ -/* 378 */ NdrFcShort( 0x2 ), /* Offset= 2 (380) */ -/* 380 */ - 0x13, 0x0, /* FC_OP */ -/* 382 */ NdrFcShort( 0x216 ), /* Offset= 534 (916) */ -/* 384 */ - 0x2a, /* FC_ENCAPSULATED_UNION */ - 0x49, /* 73 */ -/* 386 */ NdrFcShort( 0x18 ), /* 24 */ -/* 388 */ NdrFcShort( 0xa ), /* 10 */ -/* 390 */ NdrFcLong( 0x8 ), /* 8 */ -/* 394 */ NdrFcShort( 0x5a ), /* Offset= 90 (484) */ -/* 396 */ NdrFcLong( 0xd ), /* 13 */ -/* 400 */ NdrFcShort( 0x7e ), /* Offset= 126 (526) */ -/* 402 */ NdrFcLong( 0x9 ), /* 9 */ -/* 406 */ NdrFcShort( 0x9e ), /* Offset= 158 (564) */ -/* 408 */ NdrFcLong( 0xc ), /* 12 */ -/* 412 */ NdrFcShort( 0xc8 ), /* Offset= 200 (612) */ -/* 414 */ NdrFcLong( 0x24 ), /* 36 */ -/* 418 */ NdrFcShort( 0x124 ), /* Offset= 292 (710) */ -/* 420 */ NdrFcLong( 0x800d ), /* 32781 */ -/* 424 */ NdrFcShort( 0x140 ), /* Offset= 320 (744) */ -/* 426 */ NdrFcLong( 0x10 ), /* 16 */ -/* 430 */ NdrFcShort( 0x15a ), /* Offset= 346 (776) */ -/* 432 */ NdrFcLong( 0x2 ), /* 2 */ -/* 436 */ NdrFcShort( 0x174 ), /* Offset= 372 (808) */ -/* 438 */ NdrFcLong( 0x3 ), /* 3 */ -/* 442 */ NdrFcShort( 0x18e ), /* Offset= 398 (840) */ -/* 444 */ NdrFcLong( 0x14 ), /* 20 */ -/* 448 */ NdrFcShort( 0x1a8 ), /* Offset= 424 (872) */ -/* 450 */ NdrFcShort( 0xffff ), /* Offset= -1 (449) */ -/* 452 */ - 0x1b, /* FC_CARRAY */ - 0x3, /* 3 */ -/* 454 */ NdrFcShort( 0x4 ), /* 4 */ -/* 456 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 458 */ NdrFcShort( 0x0 ), /* 0 */ -/* 460 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 462 */ - 0x4b, /* FC_PP */ - 0x5c, /* FC_PAD */ -/* 464 */ - 0x48, /* FC_VARIABLE_REPEAT */ - 0x49, /* FC_FIXED_OFFSET */ -/* 466 */ NdrFcShort( 0x4 ), /* 4 */ -/* 468 */ NdrFcShort( 0x0 ), /* 0 */ -/* 470 */ NdrFcShort( 0x1 ), /* 1 */ -/* 472 */ NdrFcShort( 0x0 ), /* 0 */ -/* 474 */ NdrFcShort( 0x0 ), /* 0 */ -/* 476 */ 0x13, 0x0, /* FC_OP */ -/* 478 */ NdrFcShort( 0xff6c ), /* Offset= -148 (330) */ -/* 480 */ - 0x5b, /* FC_END */ - - 0x8, /* FC_LONG */ -/* 482 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 484 */ - 0x16, /* FC_PSTRUCT */ - 0x3, /* 3 */ -/* 486 */ NdrFcShort( 0x8 ), /* 8 */ -/* 488 */ - 0x4b, /* FC_PP */ - 0x5c, /* FC_PAD */ -/* 490 */ - 0x46, /* FC_NO_REPEAT */ - 0x5c, /* FC_PAD */ -/* 492 */ NdrFcShort( 0x4 ), /* 4 */ -/* 494 */ NdrFcShort( 0x4 ), /* 4 */ -/* 496 */ 0x11, 0x0, /* FC_RP */ -/* 498 */ NdrFcShort( 0xffd2 ), /* Offset= -46 (452) */ -/* 500 */ - 0x5b, /* FC_END */ - - 0x8, /* FC_LONG */ -/* 502 */ 0x8, /* FC_LONG */ - 0x5b, /* FC_END */ -/* 504 */ - 0x21, /* FC_BOGUS_ARRAY */ - 0x3, /* 3 */ -/* 506 */ NdrFcShort( 0x0 ), /* 0 */ -/* 508 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 510 */ NdrFcShort( 0x0 ), /* 0 */ -/* 512 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 514 */ NdrFcLong( 0xffffffff ), /* -1 */ -/* 518 */ NdrFcShort( 0x0 ), /* Corr flags: */ -/* 520 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 522 */ NdrFcShort( 0xff4a ), /* Offset= -182 (340) */ -/* 524 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 526 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 528 */ NdrFcShort( 0x8 ), /* 8 */ -/* 530 */ NdrFcShort( 0x0 ), /* 0 */ -/* 532 */ NdrFcShort( 0x6 ), /* Offset= 6 (538) */ -/* 534 */ 0x8, /* FC_LONG */ - 0x36, /* FC_POINTER */ -/* 536 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 538 */ - 0x11, 0x0, /* FC_RP */ -/* 540 */ NdrFcShort( 0xffdc ), /* Offset= -36 (504) */ -/* 542 */ - 0x21, /* FC_BOGUS_ARRAY */ - 0x3, /* 3 */ -/* 544 */ NdrFcShort( 0x0 ), /* 0 */ -/* 546 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 548 */ NdrFcShort( 0x0 ), /* 0 */ -/* 550 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 552 */ NdrFcLong( 0xffffffff ), /* -1 */ -/* 556 */ NdrFcShort( 0x0 ), /* Corr flags: */ -/* 558 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 560 */ NdrFcShort( 0xff36 ), /* Offset= -202 (358) */ -/* 562 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 564 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 566 */ NdrFcShort( 0x8 ), /* 8 */ -/* 568 */ NdrFcShort( 0x0 ), /* 0 */ -/* 570 */ NdrFcShort( 0x6 ), /* Offset= 6 (576) */ -/* 572 */ 0x8, /* FC_LONG */ - 0x36, /* FC_POINTER */ -/* 574 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 576 */ - 0x11, 0x0, /* FC_RP */ -/* 578 */ NdrFcShort( 0xffdc ), /* Offset= -36 (542) */ -/* 580 */ - 0x1b, /* FC_CARRAY */ - 0x3, /* 3 */ -/* 582 */ NdrFcShort( 0x4 ), /* 4 */ -/* 584 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 586 */ NdrFcShort( 0x0 ), /* 0 */ -/* 588 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 590 */ - 0x4b, /* FC_PP */ - 0x5c, /* FC_PAD */ -/* 592 */ - 0x48, /* FC_VARIABLE_REPEAT */ - 0x49, /* FC_FIXED_OFFSET */ -/* 594 */ NdrFcShort( 0x4 ), /* 4 */ -/* 596 */ NdrFcShort( 0x0 ), /* 0 */ -/* 598 */ NdrFcShort( 0x1 ), /* 1 */ -/* 600 */ NdrFcShort( 0x0 ), /* 0 */ -/* 602 */ NdrFcShort( 0x0 ), /* 0 */ -/* 604 */ 0x13, 0x0, /* FC_OP */ -/* 606 */ NdrFcShort( 0x192 ), /* Offset= 402 (1008) */ -/* 608 */ - 0x5b, /* FC_END */ - - 0x8, /* FC_LONG */ -/* 610 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 612 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 614 */ NdrFcShort( 0x8 ), /* 8 */ -/* 616 */ NdrFcShort( 0x0 ), /* 0 */ -/* 618 */ NdrFcShort( 0x6 ), /* Offset= 6 (624) */ -/* 620 */ 0x8, /* FC_LONG */ - 0x36, /* FC_POINTER */ -/* 622 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 624 */ - 0x11, 0x0, /* FC_RP */ -/* 626 */ NdrFcShort( 0xffd2 ), /* Offset= -46 (580) */ -/* 628 */ - 0x2f, /* FC_IP */ - 0x5a, /* FC_CONSTANT_IID */ -/* 630 */ NdrFcLong( 0x2f ), /* 47 */ -/* 634 */ NdrFcShort( 0x0 ), /* 0 */ -/* 636 */ NdrFcShort( 0x0 ), /* 0 */ -/* 638 */ 0xc0, /* 192 */ - 0x0, /* 0 */ -/* 640 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 642 */ 0x0, /* 0 */ - 0x0, /* 0 */ -/* 644 */ 0x0, /* 0 */ - 0x46, /* 70 */ -/* 646 */ - 0x1b, /* FC_CARRAY */ - 0x0, /* 0 */ -/* 648 */ NdrFcShort( 0x1 ), /* 1 */ -/* 650 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 652 */ NdrFcShort( 0x4 ), /* 4 */ -/* 654 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 656 */ 0x1, /* FC_BYTE */ - 0x5b, /* FC_END */ -/* 658 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 660 */ NdrFcShort( 0x10 ), /* 16 */ -/* 662 */ NdrFcShort( 0x0 ), /* 0 */ -/* 664 */ NdrFcShort( 0xa ), /* Offset= 10 (674) */ -/* 666 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 668 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 670 */ NdrFcShort( 0xffd6 ), /* Offset= -42 (628) */ -/* 672 */ 0x36, /* FC_POINTER */ - 0x5b, /* FC_END */ -/* 674 */ - 0x13, 0x0, /* FC_OP */ -/* 676 */ NdrFcShort( 0xffe2 ), /* Offset= -30 (646) */ -/* 678 */ - 0x1b, /* FC_CARRAY */ - 0x3, /* 3 */ -/* 680 */ NdrFcShort( 0x4 ), /* 4 */ -/* 682 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 684 */ NdrFcShort( 0x0 ), /* 0 */ -/* 686 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 688 */ - 0x4b, /* FC_PP */ - 0x5c, /* FC_PAD */ -/* 690 */ - 0x48, /* FC_VARIABLE_REPEAT */ - 0x49, /* FC_FIXED_OFFSET */ -/* 692 */ NdrFcShort( 0x4 ), /* 4 */ -/* 694 */ NdrFcShort( 0x0 ), /* 0 */ -/* 696 */ NdrFcShort( 0x1 ), /* 1 */ -/* 698 */ NdrFcShort( 0x0 ), /* 0 */ -/* 700 */ NdrFcShort( 0x0 ), /* 0 */ -/* 702 */ 0x13, 0x0, /* FC_OP */ -/* 704 */ NdrFcShort( 0xffd2 ), /* Offset= -46 (658) */ -/* 706 */ - 0x5b, /* FC_END */ - - 0x8, /* FC_LONG */ -/* 708 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 710 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 712 */ NdrFcShort( 0x8 ), /* 8 */ -/* 714 */ NdrFcShort( 0x0 ), /* 0 */ -/* 716 */ NdrFcShort( 0x6 ), /* Offset= 6 (722) */ -/* 718 */ 0x8, /* FC_LONG */ - 0x36, /* FC_POINTER */ -/* 720 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 722 */ - 0x11, 0x0, /* FC_RP */ -/* 724 */ NdrFcShort( 0xffd2 ), /* Offset= -46 (678) */ -/* 726 */ - 0x1d, /* FC_SMFARRAY */ - 0x0, /* 0 */ -/* 728 */ NdrFcShort( 0x8 ), /* 8 */ -/* 730 */ 0x1, /* FC_BYTE */ - 0x5b, /* FC_END */ -/* 732 */ - 0x15, /* FC_STRUCT */ - 0x3, /* 3 */ -/* 734 */ NdrFcShort( 0x10 ), /* 16 */ -/* 736 */ 0x8, /* FC_LONG */ - 0x6, /* FC_SHORT */ -/* 738 */ 0x6, /* FC_SHORT */ - 0x4c, /* FC_EMBEDDED_COMPLEX */ -/* 740 */ 0x0, /* 0 */ - NdrFcShort( 0xfff1 ), /* Offset= -15 (726) */ - 0x5b, /* FC_END */ -/* 744 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 746 */ NdrFcShort( 0x18 ), /* 24 */ -/* 748 */ NdrFcShort( 0x0 ), /* 0 */ -/* 750 */ NdrFcShort( 0xa ), /* Offset= 10 (760) */ -/* 752 */ 0x8, /* FC_LONG */ - 0x36, /* FC_POINTER */ -/* 754 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 756 */ NdrFcShort( 0xffe8 ), /* Offset= -24 (732) */ -/* 758 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 760 */ - 0x11, 0x0, /* FC_RP */ -/* 762 */ NdrFcShort( 0xfefe ), /* Offset= -258 (504) */ -/* 764 */ - 0x1b, /* FC_CARRAY */ - 0x0, /* 0 */ -/* 766 */ NdrFcShort( 0x1 ), /* 1 */ -/* 768 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 770 */ NdrFcShort( 0x0 ), /* 0 */ -/* 772 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 774 */ 0x1, /* FC_BYTE */ - 0x5b, /* FC_END */ -/* 776 */ - 0x16, /* FC_PSTRUCT */ - 0x3, /* 3 */ -/* 778 */ NdrFcShort( 0x8 ), /* 8 */ -/* 780 */ - 0x4b, /* FC_PP */ - 0x5c, /* FC_PAD */ -/* 782 */ - 0x46, /* FC_NO_REPEAT */ - 0x5c, /* FC_PAD */ -/* 784 */ NdrFcShort( 0x4 ), /* 4 */ -/* 786 */ NdrFcShort( 0x4 ), /* 4 */ -/* 788 */ 0x13, 0x0, /* FC_OP */ -/* 790 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (764) */ -/* 792 */ - 0x5b, /* FC_END */ - - 0x8, /* FC_LONG */ -/* 794 */ 0x8, /* FC_LONG */ - 0x5b, /* FC_END */ -/* 796 */ - 0x1b, /* FC_CARRAY */ - 0x1, /* 1 */ -/* 798 */ NdrFcShort( 0x2 ), /* 2 */ -/* 800 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 802 */ NdrFcShort( 0x0 ), /* 0 */ -/* 804 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 806 */ 0x6, /* FC_SHORT */ - 0x5b, /* FC_END */ -/* 808 */ - 0x16, /* FC_PSTRUCT */ - 0x3, /* 3 */ -/* 810 */ NdrFcShort( 0x8 ), /* 8 */ -/* 812 */ - 0x4b, /* FC_PP */ - 0x5c, /* FC_PAD */ -/* 814 */ - 0x46, /* FC_NO_REPEAT */ - 0x5c, /* FC_PAD */ -/* 816 */ NdrFcShort( 0x4 ), /* 4 */ -/* 818 */ NdrFcShort( 0x4 ), /* 4 */ -/* 820 */ 0x13, 0x0, /* FC_OP */ -/* 822 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (796) */ -/* 824 */ - 0x5b, /* FC_END */ - - 0x8, /* FC_LONG */ -/* 826 */ 0x8, /* FC_LONG */ - 0x5b, /* FC_END */ -/* 828 */ - 0x1b, /* FC_CARRAY */ - 0x3, /* 3 */ -/* 830 */ NdrFcShort( 0x4 ), /* 4 */ -/* 832 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 834 */ NdrFcShort( 0x0 ), /* 0 */ -/* 836 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 838 */ 0x8, /* FC_LONG */ - 0x5b, /* FC_END */ -/* 840 */ - 0x16, /* FC_PSTRUCT */ - 0x3, /* 3 */ -/* 842 */ NdrFcShort( 0x8 ), /* 8 */ -/* 844 */ - 0x4b, /* FC_PP */ - 0x5c, /* FC_PAD */ -/* 846 */ - 0x46, /* FC_NO_REPEAT */ - 0x5c, /* FC_PAD */ -/* 848 */ NdrFcShort( 0x4 ), /* 4 */ -/* 850 */ NdrFcShort( 0x4 ), /* 4 */ -/* 852 */ 0x13, 0x0, /* FC_OP */ -/* 854 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (828) */ -/* 856 */ - 0x5b, /* FC_END */ - - 0x8, /* FC_LONG */ -/* 858 */ 0x8, /* FC_LONG */ - 0x5b, /* FC_END */ -/* 860 */ - 0x1b, /* FC_CARRAY */ - 0x7, /* 7 */ -/* 862 */ NdrFcShort( 0x8 ), /* 8 */ -/* 864 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ - 0x0, /* */ -/* 866 */ NdrFcShort( 0x0 ), /* 0 */ -/* 868 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 870 */ 0xb, /* FC_HYPER */ - 0x5b, /* FC_END */ -/* 872 */ - 0x16, /* FC_PSTRUCT */ - 0x3, /* 3 */ -/* 874 */ NdrFcShort( 0x8 ), /* 8 */ -/* 876 */ - 0x4b, /* FC_PP */ - 0x5c, /* FC_PAD */ -/* 878 */ - 0x46, /* FC_NO_REPEAT */ - 0x5c, /* FC_PAD */ -/* 880 */ NdrFcShort( 0x4 ), /* 4 */ -/* 882 */ NdrFcShort( 0x4 ), /* 4 */ -/* 884 */ 0x13, 0x0, /* FC_OP */ -/* 886 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (860) */ -/* 888 */ - 0x5b, /* FC_END */ - - 0x8, /* FC_LONG */ -/* 890 */ 0x8, /* FC_LONG */ - 0x5b, /* FC_END */ -/* 892 */ - 0x15, /* FC_STRUCT */ - 0x3, /* 3 */ -/* 894 */ NdrFcShort( 0x8 ), /* 8 */ -/* 896 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 898 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 900 */ - 0x1b, /* FC_CARRAY */ - 0x3, /* 3 */ -/* 902 */ NdrFcShort( 0x8 ), /* 8 */ -/* 904 */ 0x7, /* Corr desc: FC_USHORT */ - 0x0, /* */ -/* 906 */ NdrFcShort( 0xffd8 ), /* -40 */ -/* 908 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ -/* 910 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 912 */ NdrFcShort( 0xffec ), /* Offset= -20 (892) */ -/* 914 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 916 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x3, /* 3 */ -/* 918 */ NdrFcShort( 0x28 ), /* 40 */ -/* 920 */ NdrFcShort( 0xffec ), /* Offset= -20 (900) */ -/* 922 */ NdrFcShort( 0x0 ), /* Offset= 0 (922) */ -/* 924 */ 0x6, /* FC_SHORT */ - 0x6, /* FC_SHORT */ -/* 926 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 928 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 930 */ NdrFcShort( 0xfdde ), /* Offset= -546 (384) */ -/* 932 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 934 */ - 0x13, 0x0, /* FC_OP */ -/* 936 */ NdrFcShort( 0xfeea ), /* Offset= -278 (658) */ -/* 938 */ - 0x13, 0x8, /* FC_OP [simple_pointer] */ -/* 940 */ 0x1, /* FC_BYTE */ - 0x5c, /* FC_PAD */ -/* 942 */ - 0x13, 0x8, /* FC_OP [simple_pointer] */ -/* 944 */ 0x6, /* FC_SHORT */ - 0x5c, /* FC_PAD */ -/* 946 */ - 0x13, 0x8, /* FC_OP [simple_pointer] */ -/* 948 */ 0x8, /* FC_LONG */ - 0x5c, /* FC_PAD */ -/* 950 */ - 0x13, 0x8, /* FC_OP [simple_pointer] */ -/* 952 */ 0xb, /* FC_HYPER */ - 0x5c, /* FC_PAD */ -/* 954 */ - 0x13, 0x8, /* FC_OP [simple_pointer] */ -/* 956 */ 0xa, /* FC_FLOAT */ - 0x5c, /* FC_PAD */ -/* 958 */ - 0x13, 0x8, /* FC_OP [simple_pointer] */ -/* 960 */ 0xc, /* FC_DOUBLE */ - 0x5c, /* FC_PAD */ -/* 962 */ - 0x13, 0x0, /* FC_OP */ -/* 964 */ NdrFcShort( 0xfd70 ), /* Offset= -656 (308) */ -/* 966 */ - 0x13, 0x10, /* FC_OP [pointer_deref] */ -/* 968 */ NdrFcShort( 0xfd72 ), /* Offset= -654 (314) */ -/* 970 */ - 0x13, 0x10, /* FC_OP [pointer_deref] */ -/* 972 */ NdrFcShort( 0xfd88 ), /* Offset= -632 (340) */ -/* 974 */ - 0x13, 0x10, /* FC_OP [pointer_deref] */ -/* 976 */ NdrFcShort( 0xfd96 ), /* Offset= -618 (358) */ -/* 978 */ - 0x13, 0x10, /* FC_OP [pointer_deref] */ -/* 980 */ NdrFcShort( 0xfda4 ), /* Offset= -604 (376) */ -/* 982 */ - 0x13, 0x10, /* FC_OP [pointer_deref] */ -/* 984 */ NdrFcShort( 0x2 ), /* Offset= 2 (986) */ -/* 986 */ - 0x13, 0x0, /* FC_OP */ -/* 988 */ NdrFcShort( 0x14 ), /* Offset= 20 (1008) */ -/* 990 */ - 0x15, /* FC_STRUCT */ - 0x7, /* 7 */ -/* 992 */ NdrFcShort( 0x10 ), /* 16 */ -/* 994 */ 0x6, /* FC_SHORT */ - 0x1, /* FC_BYTE */ -/* 996 */ 0x1, /* FC_BYTE */ - 0x8, /* FC_LONG */ -/* 998 */ 0xb, /* FC_HYPER */ - 0x5b, /* FC_END */ -/* 1000 */ - 0x13, 0x0, /* FC_OP */ -/* 1002 */ NdrFcShort( 0xfff4 ), /* Offset= -12 (990) */ -/* 1004 */ - 0x13, 0x8, /* FC_OP [simple_pointer] */ -/* 1006 */ 0x2, /* FC_CHAR */ - 0x5c, /* FC_PAD */ -/* 1008 */ - 0x1a, /* FC_BOGUS_STRUCT */ - 0x7, /* 7 */ -/* 1010 */ NdrFcShort( 0x20 ), /* 32 */ -/* 1012 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1014 */ NdrFcShort( 0x0 ), /* Offset= 0 (1014) */ -/* 1016 */ 0x8, /* FC_LONG */ - 0x8, /* FC_LONG */ -/* 1018 */ 0x6, /* FC_SHORT */ - 0x6, /* FC_SHORT */ -/* 1020 */ 0x6, /* FC_SHORT */ - 0x6, /* FC_SHORT */ -/* 1022 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ - 0x0, /* 0 */ -/* 1024 */ NdrFcShort( 0xfc0a ), /* Offset= -1014 (10) */ -/* 1026 */ 0x5c, /* FC_PAD */ - 0x5b, /* FC_END */ -/* 1028 */ 0xb4, /* FC_USER_MARSHAL */ - 0x83, /* 131 */ -/* 1030 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1032 */ NdrFcShort( 0x10 ), /* 16 */ -/* 1034 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1036 */ NdrFcShort( 0xfbfa ), /* Offset= -1030 (6) */ -/* 1038 */ - 0x12, 0x0, /* FC_UP */ -/* 1040 */ NdrFcShort( 0xffe0 ), /* Offset= -32 (1008) */ -/* 1042 */ 0xb4, /* FC_USER_MARSHAL */ - 0x83, /* 131 */ -/* 1044 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1046 */ NdrFcShort( 0x10 ), /* 16 */ -/* 1048 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1050 */ NdrFcShort( 0xfff4 ), /* Offset= -12 (1038) */ - - 0x0 - } - }; - -static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] = - { - - { - VARIANT_UserSize - ,VARIANT_UserMarshal - ,VARIANT_UserUnmarshal - ,VARIANT_UserFree - } - - }; - - - -/* Object interface: IUnknown, ver. 0.0, - GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */ - - -/* Object interface: IAccessibleValue, ver. 0.0, - GUID={0x35855B5B,0xC566,0x4fd0,{0xA7,0xB1,0xE6,0x54,0x65,0x60,0x03,0x94}} */ - -#pragma code_seg(".orpc") -static const unsigned short IAccessibleValue_FormatStringOffsetTable[] = - { - 0, - 36, - 72, - 108 - }; - -static const MIDL_STUBLESS_PROXY_INFO IAccessibleValue_ProxyInfo = - { - &Object_StubDesc, - AccessibleValue__MIDL_ProcFormatString.Format, - &IAccessibleValue_FormatStringOffsetTable[-3], - 0, - 0, - 0 - }; - - -static const MIDL_SERVER_INFO IAccessibleValue_ServerInfo = - { - &Object_StubDesc, - 0, - AccessibleValue__MIDL_ProcFormatString.Format, - &IAccessibleValue_FormatStringOffsetTable[-3], - 0, - 0, - 0, - 0}; -CINTERFACE_PROXY_VTABLE(7) _IAccessibleValueProxyVtbl = -{ - &IAccessibleValue_ProxyInfo, - &IID_IAccessibleValue, - IUnknown_QueryInterface_Proxy, - IUnknown_AddRef_Proxy, - IUnknown_Release_Proxy , - (void *) (INT_PTR) -1 /* IAccessibleValue::get_currentValue */ , - (void *) (INT_PTR) -1 /* IAccessibleValue::setCurrentValue */ , - (void *) (INT_PTR) -1 /* IAccessibleValue::get_maximumValue */ , - (void *) (INT_PTR) -1 /* IAccessibleValue::get_minimumValue */ -}; - -const CInterfaceStubVtbl _IAccessibleValueStubVtbl = -{ - &IID_IAccessibleValue, - &IAccessibleValue_ServerInfo, - 7, - 0, /* pure interpreted */ - CStdStubBuffer_METHODS -}; - -static const MIDL_STUB_DESC Object_StubDesc = - { - 0, - NdrOleAllocate, - NdrOleFree, - 0, - 0, - 0, - 0, - 0, - AccessibleValue__MIDL_TypeFormatString.Format, - 1, /* -error bounds_check flag */ - 0x50002, /* Ndr library version */ - 0, - 0x700022b, /* MIDL Version 7.0.555 */ - 0, - UserMarshalRoutines, - 0, /* notify & notify_flag routine table */ - 0x1, /* MIDL flag */ - 0, /* cs routines */ - 0, /* proxy/server info */ - 0 - }; - -const CInterfaceProxyVtbl * const _AccessibleValue_ProxyVtblList[] = -{ - ( CInterfaceProxyVtbl *) &_IAccessibleValueProxyVtbl, - 0 -}; - -const CInterfaceStubVtbl * const _AccessibleValue_StubVtblList[] = -{ - ( CInterfaceStubVtbl *) &_IAccessibleValueStubVtbl, - 0 -}; - -PCInterfaceName const _AccessibleValue_InterfaceNamesList[] = -{ - "IAccessibleValue", - 0 -}; - - -#define _AccessibleValue_CHECK_IID(n) IID_GENERIC_CHECK_IID( _AccessibleValue, pIID, n) - -int __stdcall _AccessibleValue_IID_Lookup( const IID * pIID, int * pIndex ) -{ - - if(!_AccessibleValue_CHECK_IID(0)) - { - *pIndex = 0; - return 1; - } - - return 0; -} - -const ExtendedProxyFileInfo AccessibleValue_ProxyFileInfo = -{ - (PCInterfaceProxyVtblList *) & _AccessibleValue_ProxyVtblList, - (PCInterfaceStubVtblList *) & _AccessibleValue_StubVtblList, - (const PCInterfaceName * ) & _AccessibleValue_InterfaceNamesList, - 0, /* no delegation */ - & _AccessibleValue_IID_Lookup, - 1, - 2, - 0, /* table of [async_uuid] interfaces */ - 0, /* Filler1 */ - 0, /* Filler2 */ - 0 /* Filler3 */ -}; -#pragma optimize("", on ) -#if _MSC_VER >= 1200 -#pragma warning(pop) -#endif - - -#endif /* !defined(_M_IA64) && !defined(_M_AMD64)*/ - diff --git a/src/3rdparty/iaccessible2/generated/x86/IA2CommonTypes.h b/src/3rdparty/iaccessible2/generated/x86/IA2CommonTypes.h deleted file mode 100644 index 7d1df601e6..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/IA2CommonTypes.h +++ /dev/null @@ -1,102 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:56 2012 - */ -/* Compiler settings for IA2CommonTypes.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the <rpcndr.h> version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of <rpcndr.h> -#endif // __RPCNDR_H_VERSION__ - - -#ifndef __IA2CommonTypes_h__ -#define __IA2CommonTypes_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -#ifdef __cplusplus -extern "C"{ -#endif - - -/* interface __MIDL_itf_IA2CommonTypes_0000_0000 */ -/* [local] */ - - -enum IA2ScrollType - { IA2_SCROLL_TYPE_TOP_LEFT = 0, - IA2_SCROLL_TYPE_BOTTOM_RIGHT = ( IA2_SCROLL_TYPE_TOP_LEFT + 1 ) , - IA2_SCROLL_TYPE_TOP_EDGE = ( IA2_SCROLL_TYPE_BOTTOM_RIGHT + 1 ) , - IA2_SCROLL_TYPE_BOTTOM_EDGE = ( IA2_SCROLL_TYPE_TOP_EDGE + 1 ) , - IA2_SCROLL_TYPE_LEFT_EDGE = ( IA2_SCROLL_TYPE_BOTTOM_EDGE + 1 ) , - IA2_SCROLL_TYPE_RIGHT_EDGE = ( IA2_SCROLL_TYPE_LEFT_EDGE + 1 ) , - IA2_SCROLL_TYPE_ANYWHERE = ( IA2_SCROLL_TYPE_RIGHT_EDGE + 1 ) - } ; - -enum IA2CoordinateType - { IA2_COORDTYPE_SCREEN_RELATIVE = 0, - IA2_COORDTYPE_PARENT_RELATIVE = ( IA2_COORDTYPE_SCREEN_RELATIVE + 1 ) - } ; - -enum IA2TextSpecialOffsets - { IA2_TEXT_OFFSET_LENGTH = -1, - IA2_TEXT_OFFSET_CARET = -2 - } ; - -enum IA2TableModelChangeType - { IA2_TABLE_MODEL_CHANGE_INSERT = 0, - IA2_TABLE_MODEL_CHANGE_DELETE = ( IA2_TABLE_MODEL_CHANGE_INSERT + 1 ) , - IA2_TABLE_MODEL_CHANGE_UPDATE = ( IA2_TABLE_MODEL_CHANGE_DELETE + 1 ) - } ; -typedef struct IA2TableModelChange - { - enum IA2TableModelChangeType type; - long firstRow; - long lastRow; - long firstColumn; - long lastColumn; - } IA2TableModelChange; - - - -extern RPC_IF_HANDLE __MIDL_itf_IA2CommonTypes_0000_0000_v0_0_c_ifspec; -extern RPC_IF_HANDLE __MIDL_itf_IA2CommonTypes_0000_0000_v0_0_s_ifspec; - -/* Additional Prototypes for ALL interfaces */ - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/src/3rdparty/iaccessible2/generated/x86/IA2TypeLibrary.h b/src/3rdparty/iaccessible2/generated/x86/IA2TypeLibrary.h deleted file mode 100644 index e80b2722f9..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/IA2TypeLibrary.h +++ /dev/null @@ -1,103 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:56 2012 - */ -/* Compiler settings for IA2TypeLibrary.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the <rpcndr.h> version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of <rpcndr.h> -#endif // __RPCNDR_H_VERSION__ - - -#ifndef __IA2TypeLibrary_h__ -#define __IA2TypeLibrary_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -#ifdef __cplusplus -extern "C"{ -#endif - - -/* interface __MIDL_itf_IA2TypeLibrary_0000_0000 */ -/* [local] */ - - -// Type Library Definitions - - - -extern RPC_IF_HANDLE __MIDL_itf_IA2TypeLibrary_0000_0000_v0_0_c_ifspec; -extern RPC_IF_HANDLE __MIDL_itf_IA2TypeLibrary_0000_0000_v0_0_s_ifspec; - - -#ifndef __IAccessible2Lib_LIBRARY_DEFINED__ -#define __IAccessible2Lib_LIBRARY_DEFINED__ - -/* library IAccessible2Lib */ -/* [hidden][version][helpstring][uuid] */ - - - - - - - - - - - - - - - - - - - - - - - - -EXTERN_C const IID LIBID_IAccessible2Lib; -#endif /* __IAccessible2Lib_LIBRARY_DEFINED__ */ - -/* Additional Prototypes for ALL interfaces */ - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/src/3rdparty/iaccessible2/generated/x86/IA2TypeLibrary.tlb b/src/3rdparty/iaccessible2/generated/x86/IA2TypeLibrary.tlb Binary files differdeleted file mode 100644 index b4c56c7aaa..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/IA2TypeLibrary.tlb +++ /dev/null diff --git a/src/3rdparty/iaccessible2/generated/x86/IA2TypeLibrary_i.c b/src/3rdparty/iaccessible2/generated/x86/IA2TypeLibrary_i.c deleted file mode 100644 index 1bf9d5159d..0000000000 --- a/src/3rdparty/iaccessible2/generated/x86/IA2TypeLibrary_i.c +++ /dev/null @@ -1,79 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */ - -/* link this file in with the server and any clients */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Thu Mar 08 14:53:56 2012 - */ -/* Compiler settings for IA2TypeLibrary.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -#ifdef __cplusplus -extern "C"{ -#endif - - -#include <rpc.h> -#include <rpcndr.h> - -#ifdef _MIDL_USE_GUIDDEF_ - -#ifndef INITGUID -#define INITGUID -#include <guiddef.h> -#undef INITGUID -#else -#include <guiddef.h> -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) - -#else // !_MIDL_USE_GUIDDEF_ - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - -typedef struct _IID -{ - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; -} IID; - -#endif // __IID_DEFINED__ - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED -typedef IID CLSID; -#endif // CLSID_DEFINED - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} - -#endif !_MIDL_USE_GUIDDEF_ - -MIDL_DEFINE_GUID(IID, LIBID_IAccessible2Lib,0xc974e070,0x3787,0x490a,0x87,0xb0,0xe3,0x33,0xb0,0x6c,0xa1,0xe2); - -#undef MIDL_DEFINE_GUID - -#ifdef __cplusplus -} -#endif - - - diff --git a/src/3rdparty/iaccessible2/generated/x86/dlldata.c b/src/3rdparty/iaccessible2/generated/x86/dlldata.c index e1e15a1fc0..1685d8340a 100644 --- a/src/3rdparty/iaccessible2/generated/x86/dlldata.c +++ b/src/3rdparty/iaccessible2/generated/x86/dlldata.c @@ -19,38 +19,12 @@ extern "C" { #endif -EXTERN_PROXY_FILE( Accessible2 ) -EXTERN_PROXY_FILE( AccessibleAction ) -EXTERN_PROXY_FILE( AccessibleApplication ) -EXTERN_PROXY_FILE( AccessibleComponent ) -EXTERN_PROXY_FILE( AccessibleEditableText ) -EXTERN_PROXY_FILE( AccessibleHyperlink ) -EXTERN_PROXY_FILE( AccessibleHypertext ) -EXTERN_PROXY_FILE( AccessibleImage ) -EXTERN_PROXY_FILE( AccessibleRelation ) -EXTERN_PROXY_FILE( AccessibleTable ) -EXTERN_PROXY_FILE( AccessibleTable2 ) -EXTERN_PROXY_FILE( AccessibleTableCell ) -EXTERN_PROXY_FILE( AccessibleText ) -EXTERN_PROXY_FILE( AccessibleValue ) +EXTERN_PROXY_FILE( ia2_api_all ) PROXYFILE_LIST_START /* Start of list */ - REFERENCE_PROXY_FILE( Accessible2 ), - REFERENCE_PROXY_FILE( AccessibleAction ), - REFERENCE_PROXY_FILE( AccessibleApplication ), - REFERENCE_PROXY_FILE( AccessibleComponent ), - REFERENCE_PROXY_FILE( AccessibleEditableText ), - REFERENCE_PROXY_FILE( AccessibleHyperlink ), - REFERENCE_PROXY_FILE( AccessibleHypertext ), - REFERENCE_PROXY_FILE( AccessibleImage ), - REFERENCE_PROXY_FILE( AccessibleRelation ), - REFERENCE_PROXY_FILE( AccessibleTable ), - REFERENCE_PROXY_FILE( AccessibleTable2 ), - REFERENCE_PROXY_FILE( AccessibleTableCell ), - REFERENCE_PROXY_FILE( AccessibleText ), - REFERENCE_PROXY_FILE( AccessibleValue ), + REFERENCE_PROXY_FILE( ia2_api_all ), /* End of list */ PROXYFILE_LIST_END diff --git a/src/3rdparty/iaccessible2/generated/x86/ia2_api_all.h b/src/3rdparty/iaccessible2/generated/x86/ia2_api_all.h new file mode 100644 index 0000000000..eb3b57b8bd --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/ia2_api_all.h @@ -0,0 +1,4667 @@ + + +/* this ALWAYS GENERATED file contains the definitions for the interfaces */ + + + /* File created by MIDL compiler version 7.00.0555 */ +/* at Mon Aug 11 14:34:41 2014 + */ +/* Compiler settings for ia2_api_all.idl: + Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 + protocol : dce , ms_ext, c_ext, robust + error checks: allocation ref bounds_check enum stub_data + VC __declspec() decoration level: + __declspec(uuid()), __declspec(selectany), __declspec(novtable) + DECLSPEC_UUID(), MIDL_INTERFACE() +*/ +/* @@MIDL_FILE_HEADING( ) */ + +#pragma warning( disable: 4049 ) /* more than 64k source lines */ + + +/* verify that the <rpcndr.h> version is high enough to compile this file*/ +#ifndef __REQUIRED_RPCNDR_H_VERSION__ +#define __REQUIRED_RPCNDR_H_VERSION__ 475 +#endif + +#include "rpc.h" +#include "rpcndr.h" + +#ifndef __RPCNDR_H_VERSION__ +#error this stub requires an updated version of <rpcndr.h> +#endif // __RPCNDR_H_VERSION__ + +#ifndef COM_NO_WINDOWS_H +#include "windows.h" +#include "ole2.h" +#endif /*COM_NO_WINDOWS_H*/ + +#ifndef __ia2_api_all_h__ +#define __ia2_api_all_h__ + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +#pragma once +#endif + +/* Forward Declarations */ + +#ifndef __IAccessibleRelation_FWD_DEFINED__ +#define __IAccessibleRelation_FWD_DEFINED__ +typedef interface IAccessibleRelation IAccessibleRelation; +#endif /* __IAccessibleRelation_FWD_DEFINED__ */ + + +#ifndef __IAccessibleAction_FWD_DEFINED__ +#define __IAccessibleAction_FWD_DEFINED__ +typedef interface IAccessibleAction IAccessibleAction; +#endif /* __IAccessibleAction_FWD_DEFINED__ */ + + +#ifndef __IAccessible2_FWD_DEFINED__ +#define __IAccessible2_FWD_DEFINED__ +typedef interface IAccessible2 IAccessible2; +#endif /* __IAccessible2_FWD_DEFINED__ */ + + +#ifndef __IAccessible2_2_FWD_DEFINED__ +#define __IAccessible2_2_FWD_DEFINED__ +typedef interface IAccessible2_2 IAccessible2_2; +#endif /* __IAccessible2_2_FWD_DEFINED__ */ + + +#ifndef __IAccessibleComponent_FWD_DEFINED__ +#define __IAccessibleComponent_FWD_DEFINED__ +typedef interface IAccessibleComponent IAccessibleComponent; +#endif /* __IAccessibleComponent_FWD_DEFINED__ */ + + +#ifndef __IAccessibleValue_FWD_DEFINED__ +#define __IAccessibleValue_FWD_DEFINED__ +typedef interface IAccessibleValue IAccessibleValue; +#endif /* __IAccessibleValue_FWD_DEFINED__ */ + + +#ifndef __IAccessibleText_FWD_DEFINED__ +#define __IAccessibleText_FWD_DEFINED__ +typedef interface IAccessibleText IAccessibleText; +#endif /* __IAccessibleText_FWD_DEFINED__ */ + + +#ifndef __IAccessibleText2_FWD_DEFINED__ +#define __IAccessibleText2_FWD_DEFINED__ +typedef interface IAccessibleText2 IAccessibleText2; +#endif /* __IAccessibleText2_FWD_DEFINED__ */ + + +#ifndef __IAccessibleEditableText_FWD_DEFINED__ +#define __IAccessibleEditableText_FWD_DEFINED__ +typedef interface IAccessibleEditableText IAccessibleEditableText; +#endif /* __IAccessibleEditableText_FWD_DEFINED__ */ + + +#ifndef __IAccessibleHyperlink_FWD_DEFINED__ +#define __IAccessibleHyperlink_FWD_DEFINED__ +typedef interface IAccessibleHyperlink IAccessibleHyperlink; +#endif /* __IAccessibleHyperlink_FWD_DEFINED__ */ + + +#ifndef __IAccessibleHypertext_FWD_DEFINED__ +#define __IAccessibleHypertext_FWD_DEFINED__ +typedef interface IAccessibleHypertext IAccessibleHypertext; +#endif /* __IAccessibleHypertext_FWD_DEFINED__ */ + + +#ifndef __IAccessibleHypertext2_FWD_DEFINED__ +#define __IAccessibleHypertext2_FWD_DEFINED__ +typedef interface IAccessibleHypertext2 IAccessibleHypertext2; +#endif /* __IAccessibleHypertext2_FWD_DEFINED__ */ + + +#ifndef __IAccessibleTable_FWD_DEFINED__ +#define __IAccessibleTable_FWD_DEFINED__ +typedef interface IAccessibleTable IAccessibleTable; +#endif /* __IAccessibleTable_FWD_DEFINED__ */ + + +#ifndef __IAccessibleTable2_FWD_DEFINED__ +#define __IAccessibleTable2_FWD_DEFINED__ +typedef interface IAccessibleTable2 IAccessibleTable2; +#endif /* __IAccessibleTable2_FWD_DEFINED__ */ + + +#ifndef __IAccessibleTableCell_FWD_DEFINED__ +#define __IAccessibleTableCell_FWD_DEFINED__ +typedef interface IAccessibleTableCell IAccessibleTableCell; +#endif /* __IAccessibleTableCell_FWD_DEFINED__ */ + + +#ifndef __IAccessibleImage_FWD_DEFINED__ +#define __IAccessibleImage_FWD_DEFINED__ +typedef interface IAccessibleImage IAccessibleImage; +#endif /* __IAccessibleImage_FWD_DEFINED__ */ + + +#ifndef __IAccessibleApplication_FWD_DEFINED__ +#define __IAccessibleApplication_FWD_DEFINED__ +typedef interface IAccessibleApplication IAccessibleApplication; +#endif /* __IAccessibleApplication_FWD_DEFINED__ */ + + +#ifndef __IAccessibleDocument_FWD_DEFINED__ +#define __IAccessibleDocument_FWD_DEFINED__ +typedef interface IAccessibleDocument IAccessibleDocument; +#endif /* __IAccessibleDocument_FWD_DEFINED__ */ + + +#ifndef __IAccessible2_FWD_DEFINED__ +#define __IAccessible2_FWD_DEFINED__ +typedef interface IAccessible2 IAccessible2; +#endif /* __IAccessible2_FWD_DEFINED__ */ + + +#ifndef __IAccessible2_2_FWD_DEFINED__ +#define __IAccessible2_2_FWD_DEFINED__ +typedef interface IAccessible2_2 IAccessible2_2; +#endif /* __IAccessible2_2_FWD_DEFINED__ */ + + +#ifndef __IAccessibleAction_FWD_DEFINED__ +#define __IAccessibleAction_FWD_DEFINED__ +typedef interface IAccessibleAction IAccessibleAction; +#endif /* __IAccessibleAction_FWD_DEFINED__ */ + + +#ifndef __IAccessibleApplication_FWD_DEFINED__ +#define __IAccessibleApplication_FWD_DEFINED__ +typedef interface IAccessibleApplication IAccessibleApplication; +#endif /* __IAccessibleApplication_FWD_DEFINED__ */ + + +#ifndef __IAccessibleComponent_FWD_DEFINED__ +#define __IAccessibleComponent_FWD_DEFINED__ +typedef interface IAccessibleComponent IAccessibleComponent; +#endif /* __IAccessibleComponent_FWD_DEFINED__ */ + + +#ifndef __IAccessibleDocument_FWD_DEFINED__ +#define __IAccessibleDocument_FWD_DEFINED__ +typedef interface IAccessibleDocument IAccessibleDocument; +#endif /* __IAccessibleDocument_FWD_DEFINED__ */ + + +#ifndef __IAccessibleEditableText_FWD_DEFINED__ +#define __IAccessibleEditableText_FWD_DEFINED__ +typedef interface IAccessibleEditableText IAccessibleEditableText; +#endif /* __IAccessibleEditableText_FWD_DEFINED__ */ + + +#ifndef __IAccessibleHyperlink_FWD_DEFINED__ +#define __IAccessibleHyperlink_FWD_DEFINED__ +typedef interface IAccessibleHyperlink IAccessibleHyperlink; +#endif /* __IAccessibleHyperlink_FWD_DEFINED__ */ + + +#ifndef __IAccessibleText_FWD_DEFINED__ +#define __IAccessibleText_FWD_DEFINED__ +typedef interface IAccessibleText IAccessibleText; +#endif /* __IAccessibleText_FWD_DEFINED__ */ + + +#ifndef __IAccessibleHypertext_FWD_DEFINED__ +#define __IAccessibleHypertext_FWD_DEFINED__ +typedef interface IAccessibleHypertext IAccessibleHypertext; +#endif /* __IAccessibleHypertext_FWD_DEFINED__ */ + + +#ifndef __IAccessibleHypertext2_FWD_DEFINED__ +#define __IAccessibleHypertext2_FWD_DEFINED__ +typedef interface IAccessibleHypertext2 IAccessibleHypertext2; +#endif /* __IAccessibleHypertext2_FWD_DEFINED__ */ + + +#ifndef __IAccessibleImage_FWD_DEFINED__ +#define __IAccessibleImage_FWD_DEFINED__ +typedef interface IAccessibleImage IAccessibleImage; +#endif /* __IAccessibleImage_FWD_DEFINED__ */ + + +#ifndef __IAccessibleRelation_FWD_DEFINED__ +#define __IAccessibleRelation_FWD_DEFINED__ +typedef interface IAccessibleRelation IAccessibleRelation; +#endif /* __IAccessibleRelation_FWD_DEFINED__ */ + + +#ifndef __IAccessibleTable_FWD_DEFINED__ +#define __IAccessibleTable_FWD_DEFINED__ +typedef interface IAccessibleTable IAccessibleTable; +#endif /* __IAccessibleTable_FWD_DEFINED__ */ + + +#ifndef __IAccessibleTable2_FWD_DEFINED__ +#define __IAccessibleTable2_FWD_DEFINED__ +typedef interface IAccessibleTable2 IAccessibleTable2; +#endif /* __IAccessibleTable2_FWD_DEFINED__ */ + + +#ifndef __IAccessibleTableCell_FWD_DEFINED__ +#define __IAccessibleTableCell_FWD_DEFINED__ +typedef interface IAccessibleTableCell IAccessibleTableCell; +#endif /* __IAccessibleTableCell_FWD_DEFINED__ */ + + +#ifndef __IAccessibleText2_FWD_DEFINED__ +#define __IAccessibleText2_FWD_DEFINED__ +typedef interface IAccessibleText2 IAccessibleText2; +#endif /* __IAccessibleText2_FWD_DEFINED__ */ + + +#ifndef __IAccessibleValue_FWD_DEFINED__ +#define __IAccessibleValue_FWD_DEFINED__ +typedef interface IAccessibleValue IAccessibleValue; +#endif /* __IAccessibleValue_FWD_DEFINED__ */ + + +/* header files for imported files */ +#include "objidl.h" +#include "oaidl.h" +#include "oleacc.h" + +#ifdef __cplusplus +extern "C"{ +#endif + + +/* interface __MIDL_itf_ia2_api_all_0000_0000 */ +/* [local] */ + + +enum IA2ScrollType + { IA2_SCROLL_TYPE_TOP_LEFT = 0, + IA2_SCROLL_TYPE_BOTTOM_RIGHT = ( IA2_SCROLL_TYPE_TOP_LEFT + 1 ) , + IA2_SCROLL_TYPE_TOP_EDGE = ( IA2_SCROLL_TYPE_BOTTOM_RIGHT + 1 ) , + IA2_SCROLL_TYPE_BOTTOM_EDGE = ( IA2_SCROLL_TYPE_TOP_EDGE + 1 ) , + IA2_SCROLL_TYPE_LEFT_EDGE = ( IA2_SCROLL_TYPE_BOTTOM_EDGE + 1 ) , + IA2_SCROLL_TYPE_RIGHT_EDGE = ( IA2_SCROLL_TYPE_LEFT_EDGE + 1 ) , + IA2_SCROLL_TYPE_ANYWHERE = ( IA2_SCROLL_TYPE_RIGHT_EDGE + 1 ) + } ; + +enum IA2CoordinateType + { IA2_COORDTYPE_SCREEN_RELATIVE = 0, + IA2_COORDTYPE_PARENT_RELATIVE = ( IA2_COORDTYPE_SCREEN_RELATIVE + 1 ) + } ; + +enum IA2TextSpecialOffsets + { IA2_TEXT_OFFSET_LENGTH = -1, + IA2_TEXT_OFFSET_CARET = -2 + } ; + +enum IA2TableModelChangeType + { IA2_TABLE_MODEL_CHANGE_INSERT = 0, + IA2_TABLE_MODEL_CHANGE_DELETE = ( IA2_TABLE_MODEL_CHANGE_INSERT + 1 ) , + IA2_TABLE_MODEL_CHANGE_UPDATE = ( IA2_TABLE_MODEL_CHANGE_DELETE + 1 ) + } ; +typedef struct IA2TableModelChange + { + enum IA2TableModelChangeType type; + long firstRow; + long lastRow; + long firstColumn; + long lastColumn; + } IA2TableModelChange; + +#define IA2_RELATION_CONTAINING_APPLICATION ( L"containingApplication" ) + +#define IA2_RELATION_CONTAINING_DOCUMENT ( L"containingDocument" ) + +#define IA2_RELATION_CONTAINING_TAB_PANE ( L"containingTabPane" ) + +#define IA2_RELATION_CONTAINING_WINDOW ( L"containingWindow" ) + +#define IA2_RELATION_CONTROLLED_BY ( L"controlledBy" ) + +#define IA2_RELATION_CONTROLLER_FOR ( L"controllerFor" ) + +#define IA2_RELATION_DESCRIBED_BY ( L"describedBy" ) + +#define IA2_RELATION_DESCRIPTION_FOR ( L"descriptionFor" ) + +#define IA2_RELATION_EMBEDDED_BY ( L"embeddedBy" ) + +#define IA2_RELATION_EMBEDS ( L"embeds" ) + +#define IA2_RELATION_FLOWS_FROM ( L"flowsFrom" ) + +#define IA2_RELATION_FLOWS_TO ( L"flowsTo" ) + +#define IA2_RELATION_LABEL_FOR ( L"labelFor" ) + +#define IA2_RELATION_LABELED_BY ( L"labelledBy" ) + +#define IA2_RELATION_LABELLED_BY ( L"labelledBy" ) + +#define IA2_RELATION_MEMBER_OF ( L"memberOf" ) + +#define IA2_RELATION_NEXT_TABBABLE ( L"nextTabbable" ) + +#define IA2_RELATION_NODE_CHILD_OF ( L"nodeChildOf" ) + +#define IA2_RELATION_NODE_PARENT_OF ( L"nodeParentOf" ) + +#define IA2_RELATION_PARENT_WINDOW_OF ( L"parentWindowOf" ) + +#define IA2_RELATION_POPUP_FOR ( L"popupFor" ) + +#define IA2_RELATION_PREVIOUS_TABBABLE ( L"previousTabbable" ) + +#define IA2_RELATION_SUBWINDOW_OF ( L"subwindowOf" ) + + + +extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0000_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0000_v0_0_s_ifspec; + +#ifndef __IAccessibleRelation_INTERFACE_DEFINED__ +#define __IAccessibleRelation_INTERFACE_DEFINED__ + +/* interface IAccessibleRelation */ +/* [uuid][object] */ + + +EXTERN_C const IID IID_IAccessibleRelation; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("7CDF86EE-C3DA-496a-BDA4-281B336E1FDC") + IAccessibleRelation : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_relationType( + /* [retval][out] */ BSTR *relationType) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_localizedRelationType( + /* [retval][out] */ BSTR *localizedRelationType) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nTargets( + /* [retval][out] */ long *nTargets) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_target( + /* [in] */ long targetIndex, + /* [retval][out] */ IUnknown **target) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targets( + /* [in] */ long maxTargets, + /* [length_is][size_is][out] */ IUnknown **targets, + /* [retval][out] */ long *nTargets) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAccessibleRelationVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAccessibleRelation * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAccessibleRelation * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAccessibleRelation * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relationType )( + IAccessibleRelation * This, + /* [retval][out] */ BSTR *relationType); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedRelationType )( + IAccessibleRelation * This, + /* [retval][out] */ BSTR *localizedRelationType); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nTargets )( + IAccessibleRelation * This, + /* [retval][out] */ long *nTargets); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_target )( + IAccessibleRelation * This, + /* [in] */ long targetIndex, + /* [retval][out] */ IUnknown **target); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targets )( + IAccessibleRelation * This, + /* [in] */ long maxTargets, + /* [length_is][size_is][out] */ IUnknown **targets, + /* [retval][out] */ long *nTargets); + + END_INTERFACE + } IAccessibleRelationVtbl; + + interface IAccessibleRelation + { + CONST_VTBL struct IAccessibleRelationVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAccessibleRelation_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAccessibleRelation_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAccessibleRelation_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAccessibleRelation_get_relationType(This,relationType) \ + ( (This)->lpVtbl -> get_relationType(This,relationType) ) + +#define IAccessibleRelation_get_localizedRelationType(This,localizedRelationType) \ + ( (This)->lpVtbl -> get_localizedRelationType(This,localizedRelationType) ) + +#define IAccessibleRelation_get_nTargets(This,nTargets) \ + ( (This)->lpVtbl -> get_nTargets(This,nTargets) ) + +#define IAccessibleRelation_get_target(This,targetIndex,target) \ + ( (This)->lpVtbl -> get_target(This,targetIndex,target) ) + +#define IAccessibleRelation_get_targets(This,maxTargets,targets,nTargets) \ + ( (This)->lpVtbl -> get_targets(This,maxTargets,targets,nTargets) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAccessibleRelation_INTERFACE_DEFINED__ */ + + +/* interface __MIDL_itf_ia2_api_all_0000_0001 */ +/* [local] */ + + +enum IA2Actions + { IA2_ACTION_OPEN = -1, + IA2_ACTION_COMPLETE = -2, + IA2_ACTION_CLOSE = -3 + } ; + + +extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0001_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0001_v0_0_s_ifspec; + +#ifndef __IAccessibleAction_INTERFACE_DEFINED__ +#define __IAccessibleAction_INTERFACE_DEFINED__ + +/* interface IAccessibleAction */ +/* [uuid][object] */ + + +EXTERN_C const IID IID_IAccessibleAction; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("B70D9F59-3B5A-4dba-AB9E-22012F607DF5") + IAccessibleAction : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE nActions( + /* [retval][out] */ long *nActions) = 0; + + virtual HRESULT STDMETHODCALLTYPE doAction( + /* [in] */ long actionIndex) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_description( + /* [in] */ long actionIndex, + /* [retval][out] */ BSTR *description) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_keyBinding( + /* [in] */ long actionIndex, + /* [in] */ long nMaxBindings, + /* [length_is][length_is][size_is][size_is][out] */ BSTR **keyBindings, + /* [retval][out] */ long *nBindings) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_name( + /* [in] */ long actionIndex, + /* [retval][out] */ BSTR *name) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_localizedName( + /* [in] */ long actionIndex, + /* [retval][out] */ BSTR *localizedName) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAccessibleActionVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAccessibleAction * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAccessibleAction * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAccessibleAction * This); + + HRESULT ( STDMETHODCALLTYPE *nActions )( + IAccessibleAction * This, + /* [retval][out] */ long *nActions); + + HRESULT ( STDMETHODCALLTYPE *doAction )( + IAccessibleAction * This, + /* [in] */ long actionIndex); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_description )( + IAccessibleAction * This, + /* [in] */ long actionIndex, + /* [retval][out] */ BSTR *description); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_keyBinding )( + IAccessibleAction * This, + /* [in] */ long actionIndex, + /* [in] */ long nMaxBindings, + /* [length_is][length_is][size_is][size_is][out] */ BSTR **keyBindings, + /* [retval][out] */ long *nBindings); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( + IAccessibleAction * This, + /* [in] */ long actionIndex, + /* [retval][out] */ BSTR *name); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedName )( + IAccessibleAction * This, + /* [in] */ long actionIndex, + /* [retval][out] */ BSTR *localizedName); + + END_INTERFACE + } IAccessibleActionVtbl; + + interface IAccessibleAction + { + CONST_VTBL struct IAccessibleActionVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAccessibleAction_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAccessibleAction_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAccessibleAction_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAccessibleAction_nActions(This,nActions) \ + ( (This)->lpVtbl -> nActions(This,nActions) ) + +#define IAccessibleAction_doAction(This,actionIndex) \ + ( (This)->lpVtbl -> doAction(This,actionIndex) ) + +#define IAccessibleAction_get_description(This,actionIndex,description) \ + ( (This)->lpVtbl -> get_description(This,actionIndex,description) ) + +#define IAccessibleAction_get_keyBinding(This,actionIndex,nMaxBindings,keyBindings,nBindings) \ + ( (This)->lpVtbl -> get_keyBinding(This,actionIndex,nMaxBindings,keyBindings,nBindings) ) + +#define IAccessibleAction_get_name(This,actionIndex,name) \ + ( (This)->lpVtbl -> get_name(This,actionIndex,name) ) + +#define IAccessibleAction_get_localizedName(This,actionIndex,localizedName) \ + ( (This)->lpVtbl -> get_localizedName(This,actionIndex,localizedName) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAccessibleAction_INTERFACE_DEFINED__ */ + + +/* interface __MIDL_itf_ia2_api_all_0000_0002 */ +/* [local] */ + + +enum IA2Role + { IA2_ROLE_UNKNOWN = 0, + IA2_ROLE_CANVAS = 0x401, + IA2_ROLE_CAPTION = ( IA2_ROLE_CANVAS + 1 ) , + IA2_ROLE_CHECK_MENU_ITEM = ( IA2_ROLE_CAPTION + 1 ) , + IA2_ROLE_COLOR_CHOOSER = ( IA2_ROLE_CHECK_MENU_ITEM + 1 ) , + IA2_ROLE_DATE_EDITOR = ( IA2_ROLE_COLOR_CHOOSER + 1 ) , + IA2_ROLE_DESKTOP_ICON = ( IA2_ROLE_DATE_EDITOR + 1 ) , + IA2_ROLE_DESKTOP_PANE = ( IA2_ROLE_DESKTOP_ICON + 1 ) , + IA2_ROLE_DIRECTORY_PANE = ( IA2_ROLE_DESKTOP_PANE + 1 ) , + IA2_ROLE_EDITBAR = ( IA2_ROLE_DIRECTORY_PANE + 1 ) , + IA2_ROLE_EMBEDDED_OBJECT = ( IA2_ROLE_EDITBAR + 1 ) , + IA2_ROLE_ENDNOTE = ( IA2_ROLE_EMBEDDED_OBJECT + 1 ) , + IA2_ROLE_FILE_CHOOSER = ( IA2_ROLE_ENDNOTE + 1 ) , + IA2_ROLE_FONT_CHOOSER = ( IA2_ROLE_FILE_CHOOSER + 1 ) , + IA2_ROLE_FOOTER = ( IA2_ROLE_FONT_CHOOSER + 1 ) , + IA2_ROLE_FOOTNOTE = ( IA2_ROLE_FOOTER + 1 ) , + IA2_ROLE_FORM = ( IA2_ROLE_FOOTNOTE + 1 ) , + IA2_ROLE_FRAME = ( IA2_ROLE_FORM + 1 ) , + IA2_ROLE_GLASS_PANE = ( IA2_ROLE_FRAME + 1 ) , + IA2_ROLE_HEADER = ( IA2_ROLE_GLASS_PANE + 1 ) , + IA2_ROLE_HEADING = ( IA2_ROLE_HEADER + 1 ) , + IA2_ROLE_ICON = ( IA2_ROLE_HEADING + 1 ) , + IA2_ROLE_IMAGE_MAP = ( IA2_ROLE_ICON + 1 ) , + IA2_ROLE_INPUT_METHOD_WINDOW = ( IA2_ROLE_IMAGE_MAP + 1 ) , + IA2_ROLE_INTERNAL_FRAME = ( IA2_ROLE_INPUT_METHOD_WINDOW + 1 ) , + IA2_ROLE_LABEL = ( IA2_ROLE_INTERNAL_FRAME + 1 ) , + IA2_ROLE_LAYERED_PANE = ( IA2_ROLE_LABEL + 1 ) , + IA2_ROLE_NOTE = ( IA2_ROLE_LAYERED_PANE + 1 ) , + IA2_ROLE_OPTION_PANE = ( IA2_ROLE_NOTE + 1 ) , + IA2_ROLE_PAGE = ( IA2_ROLE_OPTION_PANE + 1 ) , + IA2_ROLE_PARAGRAPH = ( IA2_ROLE_PAGE + 1 ) , + IA2_ROLE_RADIO_MENU_ITEM = ( IA2_ROLE_PARAGRAPH + 1 ) , + IA2_ROLE_REDUNDANT_OBJECT = ( IA2_ROLE_RADIO_MENU_ITEM + 1 ) , + IA2_ROLE_ROOT_PANE = ( IA2_ROLE_REDUNDANT_OBJECT + 1 ) , + IA2_ROLE_RULER = ( IA2_ROLE_ROOT_PANE + 1 ) , + IA2_ROLE_SCROLL_PANE = ( IA2_ROLE_RULER + 1 ) , + IA2_ROLE_SECTION = ( IA2_ROLE_SCROLL_PANE + 1 ) , + IA2_ROLE_SHAPE = ( IA2_ROLE_SECTION + 1 ) , + IA2_ROLE_SPLIT_PANE = ( IA2_ROLE_SHAPE + 1 ) , + IA2_ROLE_TEAR_OFF_MENU = ( IA2_ROLE_SPLIT_PANE + 1 ) , + IA2_ROLE_TERMINAL = ( IA2_ROLE_TEAR_OFF_MENU + 1 ) , + IA2_ROLE_TEXT_FRAME = ( IA2_ROLE_TERMINAL + 1 ) , + IA2_ROLE_TOGGLE_BUTTON = ( IA2_ROLE_TEXT_FRAME + 1 ) , + IA2_ROLE_VIEW_PORT = ( IA2_ROLE_TOGGLE_BUTTON + 1 ) , + IA2_ROLE_COMPLEMENTARY_CONTENT = ( IA2_ROLE_VIEW_PORT + 1 ) + } ; +typedef long AccessibleStates; + + +enum IA2States + { IA2_STATE_ACTIVE = 0x1, + IA2_STATE_ARMED = 0x2, + IA2_STATE_DEFUNCT = 0x4, + IA2_STATE_EDITABLE = 0x8, + IA2_STATE_HORIZONTAL = 0x10, + IA2_STATE_ICONIFIED = 0x20, + IA2_STATE_INVALID_ENTRY = 0x40, + IA2_STATE_MANAGES_DESCENDANTS = 0x80, + IA2_STATE_MODAL = 0x100, + IA2_STATE_MULTI_LINE = 0x200, + IA2_STATE_OPAQUE = 0x400, + IA2_STATE_REQUIRED = 0x800, + IA2_STATE_SELECTABLE_TEXT = 0x1000, + IA2_STATE_SINGLE_LINE = 0x2000, + IA2_STATE_STALE = 0x4000, + IA2_STATE_SUPPORTS_AUTOCOMPLETION = 0x8000, + IA2_STATE_TRANSIENT = 0x10000, + IA2_STATE_VERTICAL = 0x20000, + IA2_STATE_CHECKABLE = 0x40000, + IA2_STATE_PINNED = 0x80000 + } ; +typedef struct IA2Locale + { + BSTR language; + BSTR country; + BSTR variant; + } IA2Locale; + + + +extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0002_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0002_v0_0_s_ifspec; + +#ifndef __IAccessible2_INTERFACE_DEFINED__ +#define __IAccessible2_INTERFACE_DEFINED__ + +/* interface IAccessible2 */ +/* [uuid][object] */ + + +EXTERN_C const IID IID_IAccessible2; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("E89F726E-C4F4-4c19-BB19-B647D7FA8478") + IAccessible2 : public IAccessible + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nRelations( + /* [retval][out] */ long *nRelations) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_relation( + /* [in] */ long relationIndex, + /* [retval][out] */ IAccessibleRelation **relation) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_relations( + /* [in] */ long maxRelations, + /* [length_is][size_is][out] */ IAccessibleRelation **relations, + /* [retval][out] */ long *nRelations) = 0; + + virtual HRESULT STDMETHODCALLTYPE role( + /* [retval][out] */ long *role) = 0; + + virtual HRESULT STDMETHODCALLTYPE scrollTo( + /* [in] */ enum IA2ScrollType scrollType) = 0; + + virtual HRESULT STDMETHODCALLTYPE scrollToPoint( + /* [in] */ enum IA2CoordinateType coordinateType, + /* [in] */ long x, + /* [in] */ long y) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_groupPosition( + /* [out] */ long *groupLevel, + /* [out] */ long *similarItemsInGroup, + /* [retval][out] */ long *positionInGroup) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_states( + /* [retval][out] */ AccessibleStates *states) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extendedRole( + /* [retval][out] */ BSTR *extendedRole) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_localizedExtendedRole( + /* [retval][out] */ BSTR *localizedExtendedRole) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nExtendedStates( + /* [retval][out] */ long *nExtendedStates) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extendedStates( + /* [in] */ long maxExtendedStates, + /* [length_is][length_is][size_is][size_is][out] */ BSTR **extendedStates, + /* [retval][out] */ long *nExtendedStates) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_localizedExtendedStates( + /* [in] */ long maxLocalizedExtendedStates, + /* [length_is][length_is][size_is][size_is][out] */ BSTR **localizedExtendedStates, + /* [retval][out] */ long *nLocalizedExtendedStates) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_uniqueID( + /* [retval][out] */ long *uniqueID) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_windowHandle( + /* [retval][out] */ HWND *windowHandle) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_indexInParent( + /* [retval][out] */ long *indexInParent) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_locale( + /* [retval][out] */ IA2Locale *locale) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_attributes( + /* [retval][out] */ BSTR *attributes) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAccessible2Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAccessible2 * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAccessible2 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAccessible2 * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + IAccessible2 * This, + /* [out] */ UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + IAccessible2 * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + IAccessible2 * This, + /* [in] */ REFIID riid, + /* [size_is][in] */ LPOLESTR *rgszNames, + /* [range][in] */ UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IAccessible2 * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accParent )( + IAccessible2 * This, + /* [retval][out] */ IDispatch **ppdispParent); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accChildCount )( + IAccessible2 * This, + /* [retval][out] */ long *pcountChildren); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accChild )( + IAccessible2 * This, + /* [in] */ VARIANT varChild, + /* [retval][out] */ IDispatch **ppdispChild); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accName )( + IAccessible2 * This, + /* [optional][in] */ VARIANT varChild, + /* [retval][out] */ BSTR *pszName); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accValue )( + IAccessible2 * This, + /* [optional][in] */ VARIANT varChild, + /* [retval][out] */ BSTR *pszValue); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accDescription )( + IAccessible2 * This, + /* [optional][in] */ VARIANT varChild, + /* [retval][out] */ BSTR *pszDescription); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accRole )( + IAccessible2 * This, + /* [optional][in] */ VARIANT varChild, + /* [retval][out] */ VARIANT *pvarRole); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accState )( + IAccessible2 * This, + /* [optional][in] */ VARIANT varChild, + /* [retval][out] */ VARIANT *pvarState); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accHelp )( + IAccessible2 * This, + /* [optional][in] */ VARIANT varChild, + /* [retval][out] */ BSTR *pszHelp); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accHelpTopic )( + IAccessible2 * This, + /* [out] */ BSTR *pszHelpFile, + /* [optional][in] */ VARIANT varChild, + /* [retval][out] */ long *pidTopic); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accKeyboardShortcut )( + IAccessible2 * This, + /* [optional][in] */ VARIANT varChild, + /* [retval][out] */ BSTR *pszKeyboardShortcut); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accFocus )( + IAccessible2 * This, + /* [retval][out] */ VARIANT *pvarChild); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accSelection )( + IAccessible2 * This, + /* [retval][out] */ VARIANT *pvarChildren); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accDefaultAction )( + IAccessible2 * This, + /* [optional][in] */ VARIANT varChild, + /* [retval][out] */ BSTR *pszDefaultAction); + + /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accSelect )( + IAccessible2 * This, + /* [in] */ long flagsSelect, + /* [optional][in] */ VARIANT varChild); + + /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accLocation )( + IAccessible2 * This, + /* [out] */ long *pxLeft, + /* [out] */ long *pyTop, + /* [out] */ long *pcxWidth, + /* [out] */ long *pcyHeight, + /* [optional][in] */ VARIANT varChild); + + /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accNavigate )( + IAccessible2 * This, + /* [in] */ long navDir, + /* [optional][in] */ VARIANT varStart, + /* [retval][out] */ VARIANT *pvarEndUpAt); + + /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accHitTest )( + IAccessible2 * This, + /* [in] */ long xLeft, + /* [in] */ long yTop, + /* [retval][out] */ VARIANT *pvarChild); + + /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accDoDefaultAction )( + IAccessible2 * This, + /* [optional][in] */ VARIANT varChild); + + /* [id][propput][hidden] */ HRESULT ( STDMETHODCALLTYPE *put_accName )( + IAccessible2 * This, + /* [optional][in] */ VARIANT varChild, + /* [in] */ BSTR szName); + + /* [id][propput][hidden] */ HRESULT ( STDMETHODCALLTYPE *put_accValue )( + IAccessible2 * This, + /* [optional][in] */ VARIANT varChild, + /* [in] */ BSTR szValue); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nRelations )( + IAccessible2 * This, + /* [retval][out] */ long *nRelations); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relation )( + IAccessible2 * This, + /* [in] */ long relationIndex, + /* [retval][out] */ IAccessibleRelation **relation); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relations )( + IAccessible2 * This, + /* [in] */ long maxRelations, + /* [length_is][size_is][out] */ IAccessibleRelation **relations, + /* [retval][out] */ long *nRelations); + + HRESULT ( STDMETHODCALLTYPE *role )( + IAccessible2 * This, + /* [retval][out] */ long *role); + + HRESULT ( STDMETHODCALLTYPE *scrollTo )( + IAccessible2 * This, + /* [in] */ enum IA2ScrollType scrollType); + + HRESULT ( STDMETHODCALLTYPE *scrollToPoint )( + IAccessible2 * This, + /* [in] */ enum IA2CoordinateType coordinateType, + /* [in] */ long x, + /* [in] */ long y); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_groupPosition )( + IAccessible2 * This, + /* [out] */ long *groupLevel, + /* [out] */ long *similarItemsInGroup, + /* [retval][out] */ long *positionInGroup); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_states )( + IAccessible2 * This, + /* [retval][out] */ AccessibleStates *states); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extendedRole )( + IAccessible2 * This, + /* [retval][out] */ BSTR *extendedRole); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedExtendedRole )( + IAccessible2 * This, + /* [retval][out] */ BSTR *localizedExtendedRole); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nExtendedStates )( + IAccessible2 * This, + /* [retval][out] */ long *nExtendedStates); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extendedStates )( + IAccessible2 * This, + /* [in] */ long maxExtendedStates, + /* [length_is][length_is][size_is][size_is][out] */ BSTR **extendedStates, + /* [retval][out] */ long *nExtendedStates); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedExtendedStates )( + IAccessible2 * This, + /* [in] */ long maxLocalizedExtendedStates, + /* [length_is][length_is][size_is][size_is][out] */ BSTR **localizedExtendedStates, + /* [retval][out] */ long *nLocalizedExtendedStates); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_uniqueID )( + IAccessible2 * This, + /* [retval][out] */ long *uniqueID); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_windowHandle )( + IAccessible2 * This, + /* [retval][out] */ HWND *windowHandle); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_indexInParent )( + IAccessible2 * This, + /* [retval][out] */ long *indexInParent); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_locale )( + IAccessible2 * This, + /* [retval][out] */ IA2Locale *locale); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )( + IAccessible2 * This, + /* [retval][out] */ BSTR *attributes); + + END_INTERFACE + } IAccessible2Vtbl; + + interface IAccessible2 + { + CONST_VTBL struct IAccessible2Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAccessible2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAccessible2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAccessible2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAccessible2_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IAccessible2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IAccessible2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IAccessible2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IAccessible2_get_accParent(This,ppdispParent) \ + ( (This)->lpVtbl -> get_accParent(This,ppdispParent) ) + +#define IAccessible2_get_accChildCount(This,pcountChildren) \ + ( (This)->lpVtbl -> get_accChildCount(This,pcountChildren) ) + +#define IAccessible2_get_accChild(This,varChild,ppdispChild) \ + ( (This)->lpVtbl -> get_accChild(This,varChild,ppdispChild) ) + +#define IAccessible2_get_accName(This,varChild,pszName) \ + ( (This)->lpVtbl -> get_accName(This,varChild,pszName) ) + +#define IAccessible2_get_accValue(This,varChild,pszValue) \ + ( (This)->lpVtbl -> get_accValue(This,varChild,pszValue) ) + +#define IAccessible2_get_accDescription(This,varChild,pszDescription) \ + ( (This)->lpVtbl -> get_accDescription(This,varChild,pszDescription) ) + +#define IAccessible2_get_accRole(This,varChild,pvarRole) \ + ( (This)->lpVtbl -> get_accRole(This,varChild,pvarRole) ) + +#define IAccessible2_get_accState(This,varChild,pvarState) \ + ( (This)->lpVtbl -> get_accState(This,varChild,pvarState) ) + +#define IAccessible2_get_accHelp(This,varChild,pszHelp) \ + ( (This)->lpVtbl -> get_accHelp(This,varChild,pszHelp) ) + +#define IAccessible2_get_accHelpTopic(This,pszHelpFile,varChild,pidTopic) \ + ( (This)->lpVtbl -> get_accHelpTopic(This,pszHelpFile,varChild,pidTopic) ) + +#define IAccessible2_get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut) \ + ( (This)->lpVtbl -> get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut) ) + +#define IAccessible2_get_accFocus(This,pvarChild) \ + ( (This)->lpVtbl -> get_accFocus(This,pvarChild) ) + +#define IAccessible2_get_accSelection(This,pvarChildren) \ + ( (This)->lpVtbl -> get_accSelection(This,pvarChildren) ) + +#define IAccessible2_get_accDefaultAction(This,varChild,pszDefaultAction) \ + ( (This)->lpVtbl -> get_accDefaultAction(This,varChild,pszDefaultAction) ) + +#define IAccessible2_accSelect(This,flagsSelect,varChild) \ + ( (This)->lpVtbl -> accSelect(This,flagsSelect,varChild) ) + +#define IAccessible2_accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild) \ + ( (This)->lpVtbl -> accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild) ) + +#define IAccessible2_accNavigate(This,navDir,varStart,pvarEndUpAt) \ + ( (This)->lpVtbl -> accNavigate(This,navDir,varStart,pvarEndUpAt) ) + +#define IAccessible2_accHitTest(This,xLeft,yTop,pvarChild) \ + ( (This)->lpVtbl -> accHitTest(This,xLeft,yTop,pvarChild) ) + +#define IAccessible2_accDoDefaultAction(This,varChild) \ + ( (This)->lpVtbl -> accDoDefaultAction(This,varChild) ) + +#define IAccessible2_put_accName(This,varChild,szName) \ + ( (This)->lpVtbl -> put_accName(This,varChild,szName) ) + +#define IAccessible2_put_accValue(This,varChild,szValue) \ + ( (This)->lpVtbl -> put_accValue(This,varChild,szValue) ) + + +#define IAccessible2_get_nRelations(This,nRelations) \ + ( (This)->lpVtbl -> get_nRelations(This,nRelations) ) + +#define IAccessible2_get_relation(This,relationIndex,relation) \ + ( (This)->lpVtbl -> get_relation(This,relationIndex,relation) ) + +#define IAccessible2_get_relations(This,maxRelations,relations,nRelations) \ + ( (This)->lpVtbl -> get_relations(This,maxRelations,relations,nRelations) ) + +#define IAccessible2_role(This,role) \ + ( (This)->lpVtbl -> role(This,role) ) + +#define IAccessible2_scrollTo(This,scrollType) \ + ( (This)->lpVtbl -> scrollTo(This,scrollType) ) + +#define IAccessible2_scrollToPoint(This,coordinateType,x,y) \ + ( (This)->lpVtbl -> scrollToPoint(This,coordinateType,x,y) ) + +#define IAccessible2_get_groupPosition(This,groupLevel,similarItemsInGroup,positionInGroup) \ + ( (This)->lpVtbl -> get_groupPosition(This,groupLevel,similarItemsInGroup,positionInGroup) ) + +#define IAccessible2_get_states(This,states) \ + ( (This)->lpVtbl -> get_states(This,states) ) + +#define IAccessible2_get_extendedRole(This,extendedRole) \ + ( (This)->lpVtbl -> get_extendedRole(This,extendedRole) ) + +#define IAccessible2_get_localizedExtendedRole(This,localizedExtendedRole) \ + ( (This)->lpVtbl -> get_localizedExtendedRole(This,localizedExtendedRole) ) + +#define IAccessible2_get_nExtendedStates(This,nExtendedStates) \ + ( (This)->lpVtbl -> get_nExtendedStates(This,nExtendedStates) ) + +#define IAccessible2_get_extendedStates(This,maxExtendedStates,extendedStates,nExtendedStates) \ + ( (This)->lpVtbl -> get_extendedStates(This,maxExtendedStates,extendedStates,nExtendedStates) ) + +#define IAccessible2_get_localizedExtendedStates(This,maxLocalizedExtendedStates,localizedExtendedStates,nLocalizedExtendedStates) \ + ( (This)->lpVtbl -> get_localizedExtendedStates(This,maxLocalizedExtendedStates,localizedExtendedStates,nLocalizedExtendedStates) ) + +#define IAccessible2_get_uniqueID(This,uniqueID) \ + ( (This)->lpVtbl -> get_uniqueID(This,uniqueID) ) + +#define IAccessible2_get_windowHandle(This,windowHandle) \ + ( (This)->lpVtbl -> get_windowHandle(This,windowHandle) ) + +#define IAccessible2_get_indexInParent(This,indexInParent) \ + ( (This)->lpVtbl -> get_indexInParent(This,indexInParent) ) + +#define IAccessible2_get_locale(This,locale) \ + ( (This)->lpVtbl -> get_locale(This,locale) ) + +#define IAccessible2_get_attributes(This,attributes) \ + ( (This)->lpVtbl -> get_attributes(This,attributes) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAccessible2_INTERFACE_DEFINED__ */ + + +#ifndef __IAccessible2_2_INTERFACE_DEFINED__ +#define __IAccessible2_2_INTERFACE_DEFINED__ + +/* interface IAccessible2_2 */ +/* [uuid][object] */ + + +EXTERN_C const IID IID_IAccessible2_2; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("6C9430E9-299D-4E6F-BD01-A82A1E88D3FF") + IAccessible2_2 : public IAccessible2 + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_attribute( + /* [in] */ BSTR name, + /* [retval][out] */ VARIANT *attribute) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_accessibleWithCaret( + /* [out] */ IUnknown **accessible, + /* [retval][out] */ long *caretOffset) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_relationTargetsOfType( + /* [in] */ BSTR type, + /* [in] */ long maxTargets, + /* [size_is][size_is][out] */ IUnknown ***targets, + /* [retval][out] */ long *nTargets) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAccessible2_2Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAccessible2_2 * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAccessible2_2 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAccessible2_2 * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + IAccessible2_2 * This, + /* [out] */ UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + IAccessible2_2 * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + IAccessible2_2 * This, + /* [in] */ REFIID riid, + /* [size_is][in] */ LPOLESTR *rgszNames, + /* [range][in] */ UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IAccessible2_2 * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accParent )( + IAccessible2_2 * This, + /* [retval][out] */ IDispatch **ppdispParent); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accChildCount )( + IAccessible2_2 * This, + /* [retval][out] */ long *pcountChildren); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accChild )( + IAccessible2_2 * This, + /* [in] */ VARIANT varChild, + /* [retval][out] */ IDispatch **ppdispChild); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accName )( + IAccessible2_2 * This, + /* [optional][in] */ VARIANT varChild, + /* [retval][out] */ BSTR *pszName); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accValue )( + IAccessible2_2 * This, + /* [optional][in] */ VARIANT varChild, + /* [retval][out] */ BSTR *pszValue); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accDescription )( + IAccessible2_2 * This, + /* [optional][in] */ VARIANT varChild, + /* [retval][out] */ BSTR *pszDescription); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accRole )( + IAccessible2_2 * This, + /* [optional][in] */ VARIANT varChild, + /* [retval][out] */ VARIANT *pvarRole); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accState )( + IAccessible2_2 * This, + /* [optional][in] */ VARIANT varChild, + /* [retval][out] */ VARIANT *pvarState); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accHelp )( + IAccessible2_2 * This, + /* [optional][in] */ VARIANT varChild, + /* [retval][out] */ BSTR *pszHelp); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accHelpTopic )( + IAccessible2_2 * This, + /* [out] */ BSTR *pszHelpFile, + /* [optional][in] */ VARIANT varChild, + /* [retval][out] */ long *pidTopic); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accKeyboardShortcut )( + IAccessible2_2 * This, + /* [optional][in] */ VARIANT varChild, + /* [retval][out] */ BSTR *pszKeyboardShortcut); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accFocus )( + IAccessible2_2 * This, + /* [retval][out] */ VARIANT *pvarChild); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accSelection )( + IAccessible2_2 * This, + /* [retval][out] */ VARIANT *pvarChildren); + + /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accDefaultAction )( + IAccessible2_2 * This, + /* [optional][in] */ VARIANT varChild, + /* [retval][out] */ BSTR *pszDefaultAction); + + /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accSelect )( + IAccessible2_2 * This, + /* [in] */ long flagsSelect, + /* [optional][in] */ VARIANT varChild); + + /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accLocation )( + IAccessible2_2 * This, + /* [out] */ long *pxLeft, + /* [out] */ long *pyTop, + /* [out] */ long *pcxWidth, + /* [out] */ long *pcyHeight, + /* [optional][in] */ VARIANT varChild); + + /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accNavigate )( + IAccessible2_2 * This, + /* [in] */ long navDir, + /* [optional][in] */ VARIANT varStart, + /* [retval][out] */ VARIANT *pvarEndUpAt); + + /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accHitTest )( + IAccessible2_2 * This, + /* [in] */ long xLeft, + /* [in] */ long yTop, + /* [retval][out] */ VARIANT *pvarChild); + + /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accDoDefaultAction )( + IAccessible2_2 * This, + /* [optional][in] */ VARIANT varChild); + + /* [id][propput][hidden] */ HRESULT ( STDMETHODCALLTYPE *put_accName )( + IAccessible2_2 * This, + /* [optional][in] */ VARIANT varChild, + /* [in] */ BSTR szName); + + /* [id][propput][hidden] */ HRESULT ( STDMETHODCALLTYPE *put_accValue )( + IAccessible2_2 * This, + /* [optional][in] */ VARIANT varChild, + /* [in] */ BSTR szValue); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nRelations )( + IAccessible2_2 * This, + /* [retval][out] */ long *nRelations); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relation )( + IAccessible2_2 * This, + /* [in] */ long relationIndex, + /* [retval][out] */ IAccessibleRelation **relation); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relations )( + IAccessible2_2 * This, + /* [in] */ long maxRelations, + /* [length_is][size_is][out] */ IAccessibleRelation **relations, + /* [retval][out] */ long *nRelations); + + HRESULT ( STDMETHODCALLTYPE *role )( + IAccessible2_2 * This, + /* [retval][out] */ long *role); + + HRESULT ( STDMETHODCALLTYPE *scrollTo )( + IAccessible2_2 * This, + /* [in] */ enum IA2ScrollType scrollType); + + HRESULT ( STDMETHODCALLTYPE *scrollToPoint )( + IAccessible2_2 * This, + /* [in] */ enum IA2CoordinateType coordinateType, + /* [in] */ long x, + /* [in] */ long y); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_groupPosition )( + IAccessible2_2 * This, + /* [out] */ long *groupLevel, + /* [out] */ long *similarItemsInGroup, + /* [retval][out] */ long *positionInGroup); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_states )( + IAccessible2_2 * This, + /* [retval][out] */ AccessibleStates *states); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extendedRole )( + IAccessible2_2 * This, + /* [retval][out] */ BSTR *extendedRole); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedExtendedRole )( + IAccessible2_2 * This, + /* [retval][out] */ BSTR *localizedExtendedRole); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nExtendedStates )( + IAccessible2_2 * This, + /* [retval][out] */ long *nExtendedStates); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extendedStates )( + IAccessible2_2 * This, + /* [in] */ long maxExtendedStates, + /* [length_is][length_is][size_is][size_is][out] */ BSTR **extendedStates, + /* [retval][out] */ long *nExtendedStates); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedExtendedStates )( + IAccessible2_2 * This, + /* [in] */ long maxLocalizedExtendedStates, + /* [length_is][length_is][size_is][size_is][out] */ BSTR **localizedExtendedStates, + /* [retval][out] */ long *nLocalizedExtendedStates); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_uniqueID )( + IAccessible2_2 * This, + /* [retval][out] */ long *uniqueID); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_windowHandle )( + IAccessible2_2 * This, + /* [retval][out] */ HWND *windowHandle); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_indexInParent )( + IAccessible2_2 * This, + /* [retval][out] */ long *indexInParent); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_locale )( + IAccessible2_2 * This, + /* [retval][out] */ IA2Locale *locale); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )( + IAccessible2_2 * This, + /* [retval][out] */ BSTR *attributes); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attribute )( + IAccessible2_2 * This, + /* [in] */ BSTR name, + /* [retval][out] */ VARIANT *attribute); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_accessibleWithCaret )( + IAccessible2_2 * This, + /* [out] */ IUnknown **accessible, + /* [retval][out] */ long *caretOffset); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relationTargetsOfType )( + IAccessible2_2 * This, + /* [in] */ BSTR type, + /* [in] */ long maxTargets, + /* [size_is][size_is][out] */ IUnknown ***targets, + /* [retval][out] */ long *nTargets); + + END_INTERFACE + } IAccessible2_2Vtbl; + + interface IAccessible2_2 + { + CONST_VTBL struct IAccessible2_2Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAccessible2_2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAccessible2_2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAccessible2_2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAccessible2_2_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define IAccessible2_2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define IAccessible2_2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define IAccessible2_2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#define IAccessible2_2_get_accParent(This,ppdispParent) \ + ( (This)->lpVtbl -> get_accParent(This,ppdispParent) ) + +#define IAccessible2_2_get_accChildCount(This,pcountChildren) \ + ( (This)->lpVtbl -> get_accChildCount(This,pcountChildren) ) + +#define IAccessible2_2_get_accChild(This,varChild,ppdispChild) \ + ( (This)->lpVtbl -> get_accChild(This,varChild,ppdispChild) ) + +#define IAccessible2_2_get_accName(This,varChild,pszName) \ + ( (This)->lpVtbl -> get_accName(This,varChild,pszName) ) + +#define IAccessible2_2_get_accValue(This,varChild,pszValue) \ + ( (This)->lpVtbl -> get_accValue(This,varChild,pszValue) ) + +#define IAccessible2_2_get_accDescription(This,varChild,pszDescription) \ + ( (This)->lpVtbl -> get_accDescription(This,varChild,pszDescription) ) + +#define IAccessible2_2_get_accRole(This,varChild,pvarRole) \ + ( (This)->lpVtbl -> get_accRole(This,varChild,pvarRole) ) + +#define IAccessible2_2_get_accState(This,varChild,pvarState) \ + ( (This)->lpVtbl -> get_accState(This,varChild,pvarState) ) + +#define IAccessible2_2_get_accHelp(This,varChild,pszHelp) \ + ( (This)->lpVtbl -> get_accHelp(This,varChild,pszHelp) ) + +#define IAccessible2_2_get_accHelpTopic(This,pszHelpFile,varChild,pidTopic) \ + ( (This)->lpVtbl -> get_accHelpTopic(This,pszHelpFile,varChild,pidTopic) ) + +#define IAccessible2_2_get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut) \ + ( (This)->lpVtbl -> get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut) ) + +#define IAccessible2_2_get_accFocus(This,pvarChild) \ + ( (This)->lpVtbl -> get_accFocus(This,pvarChild) ) + +#define IAccessible2_2_get_accSelection(This,pvarChildren) \ + ( (This)->lpVtbl -> get_accSelection(This,pvarChildren) ) + +#define IAccessible2_2_get_accDefaultAction(This,varChild,pszDefaultAction) \ + ( (This)->lpVtbl -> get_accDefaultAction(This,varChild,pszDefaultAction) ) + +#define IAccessible2_2_accSelect(This,flagsSelect,varChild) \ + ( (This)->lpVtbl -> accSelect(This,flagsSelect,varChild) ) + +#define IAccessible2_2_accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild) \ + ( (This)->lpVtbl -> accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild) ) + +#define IAccessible2_2_accNavigate(This,navDir,varStart,pvarEndUpAt) \ + ( (This)->lpVtbl -> accNavigate(This,navDir,varStart,pvarEndUpAt) ) + +#define IAccessible2_2_accHitTest(This,xLeft,yTop,pvarChild) \ + ( (This)->lpVtbl -> accHitTest(This,xLeft,yTop,pvarChild) ) + +#define IAccessible2_2_accDoDefaultAction(This,varChild) \ + ( (This)->lpVtbl -> accDoDefaultAction(This,varChild) ) + +#define IAccessible2_2_put_accName(This,varChild,szName) \ + ( (This)->lpVtbl -> put_accName(This,varChild,szName) ) + +#define IAccessible2_2_put_accValue(This,varChild,szValue) \ + ( (This)->lpVtbl -> put_accValue(This,varChild,szValue) ) + + +#define IAccessible2_2_get_nRelations(This,nRelations) \ + ( (This)->lpVtbl -> get_nRelations(This,nRelations) ) + +#define IAccessible2_2_get_relation(This,relationIndex,relation) \ + ( (This)->lpVtbl -> get_relation(This,relationIndex,relation) ) + +#define IAccessible2_2_get_relations(This,maxRelations,relations,nRelations) \ + ( (This)->lpVtbl -> get_relations(This,maxRelations,relations,nRelations) ) + +#define IAccessible2_2_role(This,role) \ + ( (This)->lpVtbl -> role(This,role) ) + +#define IAccessible2_2_scrollTo(This,scrollType) \ + ( (This)->lpVtbl -> scrollTo(This,scrollType) ) + +#define IAccessible2_2_scrollToPoint(This,coordinateType,x,y) \ + ( (This)->lpVtbl -> scrollToPoint(This,coordinateType,x,y) ) + +#define IAccessible2_2_get_groupPosition(This,groupLevel,similarItemsInGroup,positionInGroup) \ + ( (This)->lpVtbl -> get_groupPosition(This,groupLevel,similarItemsInGroup,positionInGroup) ) + +#define IAccessible2_2_get_states(This,states) \ + ( (This)->lpVtbl -> get_states(This,states) ) + +#define IAccessible2_2_get_extendedRole(This,extendedRole) \ + ( (This)->lpVtbl -> get_extendedRole(This,extendedRole) ) + +#define IAccessible2_2_get_localizedExtendedRole(This,localizedExtendedRole) \ + ( (This)->lpVtbl -> get_localizedExtendedRole(This,localizedExtendedRole) ) + +#define IAccessible2_2_get_nExtendedStates(This,nExtendedStates) \ + ( (This)->lpVtbl -> get_nExtendedStates(This,nExtendedStates) ) + +#define IAccessible2_2_get_extendedStates(This,maxExtendedStates,extendedStates,nExtendedStates) \ + ( (This)->lpVtbl -> get_extendedStates(This,maxExtendedStates,extendedStates,nExtendedStates) ) + +#define IAccessible2_2_get_localizedExtendedStates(This,maxLocalizedExtendedStates,localizedExtendedStates,nLocalizedExtendedStates) \ + ( (This)->lpVtbl -> get_localizedExtendedStates(This,maxLocalizedExtendedStates,localizedExtendedStates,nLocalizedExtendedStates) ) + +#define IAccessible2_2_get_uniqueID(This,uniqueID) \ + ( (This)->lpVtbl -> get_uniqueID(This,uniqueID) ) + +#define IAccessible2_2_get_windowHandle(This,windowHandle) \ + ( (This)->lpVtbl -> get_windowHandle(This,windowHandle) ) + +#define IAccessible2_2_get_indexInParent(This,indexInParent) \ + ( (This)->lpVtbl -> get_indexInParent(This,indexInParent) ) + +#define IAccessible2_2_get_locale(This,locale) \ + ( (This)->lpVtbl -> get_locale(This,locale) ) + +#define IAccessible2_2_get_attributes(This,attributes) \ + ( (This)->lpVtbl -> get_attributes(This,attributes) ) + + +#define IAccessible2_2_get_attribute(This,name,attribute) \ + ( (This)->lpVtbl -> get_attribute(This,name,attribute) ) + +#define IAccessible2_2_get_accessibleWithCaret(This,accessible,caretOffset) \ + ( (This)->lpVtbl -> get_accessibleWithCaret(This,accessible,caretOffset) ) + +#define IAccessible2_2_get_relationTargetsOfType(This,type,maxTargets,targets,nTargets) \ + ( (This)->lpVtbl -> get_relationTargetsOfType(This,type,maxTargets,targets,nTargets) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAccessible2_2_INTERFACE_DEFINED__ */ + + +/* interface __MIDL_itf_ia2_api_all_0000_0004 */ +/* [local] */ + +typedef long IA2Color; + + + +extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0004_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0004_v0_0_s_ifspec; + +#ifndef __IAccessibleComponent_INTERFACE_DEFINED__ +#define __IAccessibleComponent_INTERFACE_DEFINED__ + +/* interface IAccessibleComponent */ +/* [uuid][object] */ + + +EXTERN_C const IID IID_IAccessibleComponent; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("1546D4B0-4C98-4bda-89AE-9A64748BDDE4") + IAccessibleComponent : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_locationInParent( + /* [out] */ long *x, + /* [retval][out] */ long *y) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_foreground( + /* [retval][out] */ IA2Color *foreground) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_background( + /* [retval][out] */ IA2Color *background) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAccessibleComponentVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAccessibleComponent * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAccessibleComponent * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAccessibleComponent * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_locationInParent )( + IAccessibleComponent * This, + /* [out] */ long *x, + /* [retval][out] */ long *y); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_foreground )( + IAccessibleComponent * This, + /* [retval][out] */ IA2Color *foreground); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_background )( + IAccessibleComponent * This, + /* [retval][out] */ IA2Color *background); + + END_INTERFACE + } IAccessibleComponentVtbl; + + interface IAccessibleComponent + { + CONST_VTBL struct IAccessibleComponentVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAccessibleComponent_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAccessibleComponent_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAccessibleComponent_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAccessibleComponent_get_locationInParent(This,x,y) \ + ( (This)->lpVtbl -> get_locationInParent(This,x,y) ) + +#define IAccessibleComponent_get_foreground(This,foreground) \ + ( (This)->lpVtbl -> get_foreground(This,foreground) ) + +#define IAccessibleComponent_get_background(This,background) \ + ( (This)->lpVtbl -> get_background(This,background) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAccessibleComponent_INTERFACE_DEFINED__ */ + + +#ifndef __IAccessibleValue_INTERFACE_DEFINED__ +#define __IAccessibleValue_INTERFACE_DEFINED__ + +/* interface IAccessibleValue */ +/* [uuid][object] */ + + +EXTERN_C const IID IID_IAccessibleValue; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("35855B5B-C566-4fd0-A7B1-E65465600394") + IAccessibleValue : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentValue( + /* [retval][out] */ VARIANT *currentValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE setCurrentValue( + /* [in] */ VARIANT value) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_maximumValue( + /* [retval][out] */ VARIANT *maximumValue) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_minimumValue( + /* [retval][out] */ VARIANT *minimumValue) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAccessibleValueVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAccessibleValue * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAccessibleValue * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAccessibleValue * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentValue )( + IAccessibleValue * This, + /* [retval][out] */ VARIANT *currentValue); + + HRESULT ( STDMETHODCALLTYPE *setCurrentValue )( + IAccessibleValue * This, + /* [in] */ VARIANT value); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_maximumValue )( + IAccessibleValue * This, + /* [retval][out] */ VARIANT *maximumValue); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_minimumValue )( + IAccessibleValue * This, + /* [retval][out] */ VARIANT *minimumValue); + + END_INTERFACE + } IAccessibleValueVtbl; + + interface IAccessibleValue + { + CONST_VTBL struct IAccessibleValueVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAccessibleValue_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAccessibleValue_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAccessibleValue_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAccessibleValue_get_currentValue(This,currentValue) \ + ( (This)->lpVtbl -> get_currentValue(This,currentValue) ) + +#define IAccessibleValue_setCurrentValue(This,value) \ + ( (This)->lpVtbl -> setCurrentValue(This,value) ) + +#define IAccessibleValue_get_maximumValue(This,maximumValue) \ + ( (This)->lpVtbl -> get_maximumValue(This,maximumValue) ) + +#define IAccessibleValue_get_minimumValue(This,minimumValue) \ + ( (This)->lpVtbl -> get_minimumValue(This,minimumValue) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAccessibleValue_INTERFACE_DEFINED__ */ + + +/* interface __MIDL_itf_ia2_api_all_0000_0006 */ +/* [local] */ + +typedef struct IA2TextSegment + { + BSTR text; + long start; + long end; + } IA2TextSegment; + + +enum IA2TextBoundaryType + { IA2_TEXT_BOUNDARY_CHAR = 0, + IA2_TEXT_BOUNDARY_WORD = ( IA2_TEXT_BOUNDARY_CHAR + 1 ) , + IA2_TEXT_BOUNDARY_SENTENCE = ( IA2_TEXT_BOUNDARY_WORD + 1 ) , + IA2_TEXT_BOUNDARY_PARAGRAPH = ( IA2_TEXT_BOUNDARY_SENTENCE + 1 ) , + IA2_TEXT_BOUNDARY_LINE = ( IA2_TEXT_BOUNDARY_PARAGRAPH + 1 ) , + IA2_TEXT_BOUNDARY_ALL = ( IA2_TEXT_BOUNDARY_LINE + 1 ) + } ; + + +extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0006_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0006_v0_0_s_ifspec; + +#ifndef __IAccessibleText_INTERFACE_DEFINED__ +#define __IAccessibleText_INTERFACE_DEFINED__ + +/* interface IAccessibleText */ +/* [uuid][object] */ + + +EXTERN_C const IID IID_IAccessibleText; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("24FD2FFB-3AAD-4a08-8335-A3AD89C0FB4B") + IAccessibleText : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE addSelection( + /* [in] */ long startOffset, + /* [in] */ long endOffset) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_attributes( + /* [in] */ long offset, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *textAttributes) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_caretOffset( + /* [retval][out] */ long *offset) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_characterExtents( + /* [in] */ long offset, + /* [in] */ enum IA2CoordinateType coordType, + /* [out] */ long *x, + /* [out] */ long *y, + /* [out] */ long *width, + /* [retval][out] */ long *height) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelections( + /* [retval][out] */ long *nSelections) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_offsetAtPoint( + /* [in] */ long x, + /* [in] */ long y, + /* [in] */ enum IA2CoordinateType coordType, + /* [retval][out] */ long *offset) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selection( + /* [in] */ long selectionIndex, + /* [out] */ long *startOffset, + /* [retval][out] */ long *endOffset) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_text( + /* [in] */ long startOffset, + /* [in] */ long endOffset, + /* [retval][out] */ BSTR *text) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_textBeforeOffset( + /* [in] */ long offset, + /* [in] */ enum IA2TextBoundaryType boundaryType, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *text) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_textAfterOffset( + /* [in] */ long offset, + /* [in] */ enum IA2TextBoundaryType boundaryType, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *text) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_textAtOffset( + /* [in] */ long offset, + /* [in] */ enum IA2TextBoundaryType boundaryType, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *text) = 0; + + virtual HRESULT STDMETHODCALLTYPE removeSelection( + /* [in] */ long selectionIndex) = 0; + + virtual HRESULT STDMETHODCALLTYPE setCaretOffset( + /* [in] */ long offset) = 0; + + virtual HRESULT STDMETHODCALLTYPE setSelection( + /* [in] */ long selectionIndex, + /* [in] */ long startOffset, + /* [in] */ long endOffset) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nCharacters( + /* [retval][out] */ long *nCharacters) = 0; + + virtual HRESULT STDMETHODCALLTYPE scrollSubstringTo( + /* [in] */ long startIndex, + /* [in] */ long endIndex, + /* [in] */ enum IA2ScrollType scrollType) = 0; + + virtual HRESULT STDMETHODCALLTYPE scrollSubstringToPoint( + /* [in] */ long startIndex, + /* [in] */ long endIndex, + /* [in] */ enum IA2CoordinateType coordinateType, + /* [in] */ long x, + /* [in] */ long y) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_newText( + /* [retval][out] */ IA2TextSegment *newText) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_oldText( + /* [retval][out] */ IA2TextSegment *oldText) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAccessibleTextVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAccessibleText * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAccessibleText * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAccessibleText * This); + + HRESULT ( STDMETHODCALLTYPE *addSelection )( + IAccessibleText * This, + /* [in] */ long startOffset, + /* [in] */ long endOffset); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )( + IAccessibleText * This, + /* [in] */ long offset, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *textAttributes); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caretOffset )( + IAccessibleText * This, + /* [retval][out] */ long *offset); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_characterExtents )( + IAccessibleText * This, + /* [in] */ long offset, + /* [in] */ enum IA2CoordinateType coordType, + /* [out] */ long *x, + /* [out] */ long *y, + /* [out] */ long *width, + /* [retval][out] */ long *height); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelections )( + IAccessibleText * This, + /* [retval][out] */ long *nSelections); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetAtPoint )( + IAccessibleText * This, + /* [in] */ long x, + /* [in] */ long y, + /* [in] */ enum IA2CoordinateType coordType, + /* [retval][out] */ long *offset); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selection )( + IAccessibleText * This, + /* [in] */ long selectionIndex, + /* [out] */ long *startOffset, + /* [retval][out] */ long *endOffset); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_text )( + IAccessibleText * This, + /* [in] */ long startOffset, + /* [in] */ long endOffset, + /* [retval][out] */ BSTR *text); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textBeforeOffset )( + IAccessibleText * This, + /* [in] */ long offset, + /* [in] */ enum IA2TextBoundaryType boundaryType, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *text); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAfterOffset )( + IAccessibleText * This, + /* [in] */ long offset, + /* [in] */ enum IA2TextBoundaryType boundaryType, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *text); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAtOffset )( + IAccessibleText * This, + /* [in] */ long offset, + /* [in] */ enum IA2TextBoundaryType boundaryType, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *text); + + HRESULT ( STDMETHODCALLTYPE *removeSelection )( + IAccessibleText * This, + /* [in] */ long selectionIndex); + + HRESULT ( STDMETHODCALLTYPE *setCaretOffset )( + IAccessibleText * This, + /* [in] */ long offset); + + HRESULT ( STDMETHODCALLTYPE *setSelection )( + IAccessibleText * This, + /* [in] */ long selectionIndex, + /* [in] */ long startOffset, + /* [in] */ long endOffset); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nCharacters )( + IAccessibleText * This, + /* [retval][out] */ long *nCharacters); + + HRESULT ( STDMETHODCALLTYPE *scrollSubstringTo )( + IAccessibleText * This, + /* [in] */ long startIndex, + /* [in] */ long endIndex, + /* [in] */ enum IA2ScrollType scrollType); + + HRESULT ( STDMETHODCALLTYPE *scrollSubstringToPoint )( + IAccessibleText * This, + /* [in] */ long startIndex, + /* [in] */ long endIndex, + /* [in] */ enum IA2CoordinateType coordinateType, + /* [in] */ long x, + /* [in] */ long y); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_newText )( + IAccessibleText * This, + /* [retval][out] */ IA2TextSegment *newText); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_oldText )( + IAccessibleText * This, + /* [retval][out] */ IA2TextSegment *oldText); + + END_INTERFACE + } IAccessibleTextVtbl; + + interface IAccessibleText + { + CONST_VTBL struct IAccessibleTextVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAccessibleText_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAccessibleText_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAccessibleText_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAccessibleText_addSelection(This,startOffset,endOffset) \ + ( (This)->lpVtbl -> addSelection(This,startOffset,endOffset) ) + +#define IAccessibleText_get_attributes(This,offset,startOffset,endOffset,textAttributes) \ + ( (This)->lpVtbl -> get_attributes(This,offset,startOffset,endOffset,textAttributes) ) + +#define IAccessibleText_get_caretOffset(This,offset) \ + ( (This)->lpVtbl -> get_caretOffset(This,offset) ) + +#define IAccessibleText_get_characterExtents(This,offset,coordType,x,y,width,height) \ + ( (This)->lpVtbl -> get_characterExtents(This,offset,coordType,x,y,width,height) ) + +#define IAccessibleText_get_nSelections(This,nSelections) \ + ( (This)->lpVtbl -> get_nSelections(This,nSelections) ) + +#define IAccessibleText_get_offsetAtPoint(This,x,y,coordType,offset) \ + ( (This)->lpVtbl -> get_offsetAtPoint(This,x,y,coordType,offset) ) + +#define IAccessibleText_get_selection(This,selectionIndex,startOffset,endOffset) \ + ( (This)->lpVtbl -> get_selection(This,selectionIndex,startOffset,endOffset) ) + +#define IAccessibleText_get_text(This,startOffset,endOffset,text) \ + ( (This)->lpVtbl -> get_text(This,startOffset,endOffset,text) ) + +#define IAccessibleText_get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) \ + ( (This)->lpVtbl -> get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) ) + +#define IAccessibleText_get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) \ + ( (This)->lpVtbl -> get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) ) + +#define IAccessibleText_get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) \ + ( (This)->lpVtbl -> get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) ) + +#define IAccessibleText_removeSelection(This,selectionIndex) \ + ( (This)->lpVtbl -> removeSelection(This,selectionIndex) ) + +#define IAccessibleText_setCaretOffset(This,offset) \ + ( (This)->lpVtbl -> setCaretOffset(This,offset) ) + +#define IAccessibleText_setSelection(This,selectionIndex,startOffset,endOffset) \ + ( (This)->lpVtbl -> setSelection(This,selectionIndex,startOffset,endOffset) ) + +#define IAccessibleText_get_nCharacters(This,nCharacters) \ + ( (This)->lpVtbl -> get_nCharacters(This,nCharacters) ) + +#define IAccessibleText_scrollSubstringTo(This,startIndex,endIndex,scrollType) \ + ( (This)->lpVtbl -> scrollSubstringTo(This,startIndex,endIndex,scrollType) ) + +#define IAccessibleText_scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) \ + ( (This)->lpVtbl -> scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) ) + +#define IAccessibleText_get_newText(This,newText) \ + ( (This)->lpVtbl -> get_newText(This,newText) ) + +#define IAccessibleText_get_oldText(This,oldText) \ + ( (This)->lpVtbl -> get_oldText(This,oldText) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAccessibleText_INTERFACE_DEFINED__ */ + + +#ifndef __IAccessibleText2_INTERFACE_DEFINED__ +#define __IAccessibleText2_INTERFACE_DEFINED__ + +/* interface IAccessibleText2 */ +/* [uuid][object] */ + + +EXTERN_C const IID IID_IAccessibleText2; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("9690A9CC-5C80-4DF5-852E-2D5AE4189A54") + IAccessibleText2 : public IAccessibleText + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_attributeRange( + /* [in] */ long offset, + /* [in] */ BSTR filter, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *attributeValues) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAccessibleText2Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAccessibleText2 * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAccessibleText2 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAccessibleText2 * This); + + HRESULT ( STDMETHODCALLTYPE *addSelection )( + IAccessibleText2 * This, + /* [in] */ long startOffset, + /* [in] */ long endOffset); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )( + IAccessibleText2 * This, + /* [in] */ long offset, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *textAttributes); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caretOffset )( + IAccessibleText2 * This, + /* [retval][out] */ long *offset); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_characterExtents )( + IAccessibleText2 * This, + /* [in] */ long offset, + /* [in] */ enum IA2CoordinateType coordType, + /* [out] */ long *x, + /* [out] */ long *y, + /* [out] */ long *width, + /* [retval][out] */ long *height); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelections )( + IAccessibleText2 * This, + /* [retval][out] */ long *nSelections); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetAtPoint )( + IAccessibleText2 * This, + /* [in] */ long x, + /* [in] */ long y, + /* [in] */ enum IA2CoordinateType coordType, + /* [retval][out] */ long *offset); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selection )( + IAccessibleText2 * This, + /* [in] */ long selectionIndex, + /* [out] */ long *startOffset, + /* [retval][out] */ long *endOffset); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_text )( + IAccessibleText2 * This, + /* [in] */ long startOffset, + /* [in] */ long endOffset, + /* [retval][out] */ BSTR *text); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textBeforeOffset )( + IAccessibleText2 * This, + /* [in] */ long offset, + /* [in] */ enum IA2TextBoundaryType boundaryType, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *text); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAfterOffset )( + IAccessibleText2 * This, + /* [in] */ long offset, + /* [in] */ enum IA2TextBoundaryType boundaryType, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *text); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAtOffset )( + IAccessibleText2 * This, + /* [in] */ long offset, + /* [in] */ enum IA2TextBoundaryType boundaryType, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *text); + + HRESULT ( STDMETHODCALLTYPE *removeSelection )( + IAccessibleText2 * This, + /* [in] */ long selectionIndex); + + HRESULT ( STDMETHODCALLTYPE *setCaretOffset )( + IAccessibleText2 * This, + /* [in] */ long offset); + + HRESULT ( STDMETHODCALLTYPE *setSelection )( + IAccessibleText2 * This, + /* [in] */ long selectionIndex, + /* [in] */ long startOffset, + /* [in] */ long endOffset); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nCharacters )( + IAccessibleText2 * This, + /* [retval][out] */ long *nCharacters); + + HRESULT ( STDMETHODCALLTYPE *scrollSubstringTo )( + IAccessibleText2 * This, + /* [in] */ long startIndex, + /* [in] */ long endIndex, + /* [in] */ enum IA2ScrollType scrollType); + + HRESULT ( STDMETHODCALLTYPE *scrollSubstringToPoint )( + IAccessibleText2 * This, + /* [in] */ long startIndex, + /* [in] */ long endIndex, + /* [in] */ enum IA2CoordinateType coordinateType, + /* [in] */ long x, + /* [in] */ long y); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_newText )( + IAccessibleText2 * This, + /* [retval][out] */ IA2TextSegment *newText); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_oldText )( + IAccessibleText2 * This, + /* [retval][out] */ IA2TextSegment *oldText); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributeRange )( + IAccessibleText2 * This, + /* [in] */ long offset, + /* [in] */ BSTR filter, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *attributeValues); + + END_INTERFACE + } IAccessibleText2Vtbl; + + interface IAccessibleText2 + { + CONST_VTBL struct IAccessibleText2Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAccessibleText2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAccessibleText2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAccessibleText2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAccessibleText2_addSelection(This,startOffset,endOffset) \ + ( (This)->lpVtbl -> addSelection(This,startOffset,endOffset) ) + +#define IAccessibleText2_get_attributes(This,offset,startOffset,endOffset,textAttributes) \ + ( (This)->lpVtbl -> get_attributes(This,offset,startOffset,endOffset,textAttributes) ) + +#define IAccessibleText2_get_caretOffset(This,offset) \ + ( (This)->lpVtbl -> get_caretOffset(This,offset) ) + +#define IAccessibleText2_get_characterExtents(This,offset,coordType,x,y,width,height) \ + ( (This)->lpVtbl -> get_characterExtents(This,offset,coordType,x,y,width,height) ) + +#define IAccessibleText2_get_nSelections(This,nSelections) \ + ( (This)->lpVtbl -> get_nSelections(This,nSelections) ) + +#define IAccessibleText2_get_offsetAtPoint(This,x,y,coordType,offset) \ + ( (This)->lpVtbl -> get_offsetAtPoint(This,x,y,coordType,offset) ) + +#define IAccessibleText2_get_selection(This,selectionIndex,startOffset,endOffset) \ + ( (This)->lpVtbl -> get_selection(This,selectionIndex,startOffset,endOffset) ) + +#define IAccessibleText2_get_text(This,startOffset,endOffset,text) \ + ( (This)->lpVtbl -> get_text(This,startOffset,endOffset,text) ) + +#define IAccessibleText2_get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) \ + ( (This)->lpVtbl -> get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) ) + +#define IAccessibleText2_get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) \ + ( (This)->lpVtbl -> get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) ) + +#define IAccessibleText2_get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) \ + ( (This)->lpVtbl -> get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) ) + +#define IAccessibleText2_removeSelection(This,selectionIndex) \ + ( (This)->lpVtbl -> removeSelection(This,selectionIndex) ) + +#define IAccessibleText2_setCaretOffset(This,offset) \ + ( (This)->lpVtbl -> setCaretOffset(This,offset) ) + +#define IAccessibleText2_setSelection(This,selectionIndex,startOffset,endOffset) \ + ( (This)->lpVtbl -> setSelection(This,selectionIndex,startOffset,endOffset) ) + +#define IAccessibleText2_get_nCharacters(This,nCharacters) \ + ( (This)->lpVtbl -> get_nCharacters(This,nCharacters) ) + +#define IAccessibleText2_scrollSubstringTo(This,startIndex,endIndex,scrollType) \ + ( (This)->lpVtbl -> scrollSubstringTo(This,startIndex,endIndex,scrollType) ) + +#define IAccessibleText2_scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) \ + ( (This)->lpVtbl -> scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) ) + +#define IAccessibleText2_get_newText(This,newText) \ + ( (This)->lpVtbl -> get_newText(This,newText) ) + +#define IAccessibleText2_get_oldText(This,oldText) \ + ( (This)->lpVtbl -> get_oldText(This,oldText) ) + + +#define IAccessibleText2_get_attributeRange(This,offset,filter,startOffset,endOffset,attributeValues) \ + ( (This)->lpVtbl -> get_attributeRange(This,offset,filter,startOffset,endOffset,attributeValues) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAccessibleText2_INTERFACE_DEFINED__ */ + + +#ifndef __IAccessibleEditableText_INTERFACE_DEFINED__ +#define __IAccessibleEditableText_INTERFACE_DEFINED__ + +/* interface IAccessibleEditableText */ +/* [uuid][object] */ + + +EXTERN_C const IID IID_IAccessibleEditableText; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("A59AA09A-7011-4b65-939D-32B1FB5547E3") + IAccessibleEditableText : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE copyText( + /* [in] */ long startOffset, + /* [in] */ long endOffset) = 0; + + virtual HRESULT STDMETHODCALLTYPE deleteText( + /* [in] */ long startOffset, + /* [in] */ long endOffset) = 0; + + virtual HRESULT STDMETHODCALLTYPE insertText( + /* [in] */ long offset, + /* [in] */ BSTR *text) = 0; + + virtual HRESULT STDMETHODCALLTYPE cutText( + /* [in] */ long startOffset, + /* [in] */ long endOffset) = 0; + + virtual HRESULT STDMETHODCALLTYPE pasteText( + /* [in] */ long offset) = 0; + + virtual HRESULT STDMETHODCALLTYPE replaceText( + /* [in] */ long startOffset, + /* [in] */ long endOffset, + /* [in] */ BSTR *text) = 0; + + virtual HRESULT STDMETHODCALLTYPE setAttributes( + /* [in] */ long startOffset, + /* [in] */ long endOffset, + /* [in] */ BSTR *attributes) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAccessibleEditableTextVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAccessibleEditableText * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAccessibleEditableText * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAccessibleEditableText * This); + + HRESULT ( STDMETHODCALLTYPE *copyText )( + IAccessibleEditableText * This, + /* [in] */ long startOffset, + /* [in] */ long endOffset); + + HRESULT ( STDMETHODCALLTYPE *deleteText )( + IAccessibleEditableText * This, + /* [in] */ long startOffset, + /* [in] */ long endOffset); + + HRESULT ( STDMETHODCALLTYPE *insertText )( + IAccessibleEditableText * This, + /* [in] */ long offset, + /* [in] */ BSTR *text); + + HRESULT ( STDMETHODCALLTYPE *cutText )( + IAccessibleEditableText * This, + /* [in] */ long startOffset, + /* [in] */ long endOffset); + + HRESULT ( STDMETHODCALLTYPE *pasteText )( + IAccessibleEditableText * This, + /* [in] */ long offset); + + HRESULT ( STDMETHODCALLTYPE *replaceText )( + IAccessibleEditableText * This, + /* [in] */ long startOffset, + /* [in] */ long endOffset, + /* [in] */ BSTR *text); + + HRESULT ( STDMETHODCALLTYPE *setAttributes )( + IAccessibleEditableText * This, + /* [in] */ long startOffset, + /* [in] */ long endOffset, + /* [in] */ BSTR *attributes); + + END_INTERFACE + } IAccessibleEditableTextVtbl; + + interface IAccessibleEditableText + { + CONST_VTBL struct IAccessibleEditableTextVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAccessibleEditableText_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAccessibleEditableText_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAccessibleEditableText_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAccessibleEditableText_copyText(This,startOffset,endOffset) \ + ( (This)->lpVtbl -> copyText(This,startOffset,endOffset) ) + +#define IAccessibleEditableText_deleteText(This,startOffset,endOffset) \ + ( (This)->lpVtbl -> deleteText(This,startOffset,endOffset) ) + +#define IAccessibleEditableText_insertText(This,offset,text) \ + ( (This)->lpVtbl -> insertText(This,offset,text) ) + +#define IAccessibleEditableText_cutText(This,startOffset,endOffset) \ + ( (This)->lpVtbl -> cutText(This,startOffset,endOffset) ) + +#define IAccessibleEditableText_pasteText(This,offset) \ + ( (This)->lpVtbl -> pasteText(This,offset) ) + +#define IAccessibleEditableText_replaceText(This,startOffset,endOffset,text) \ + ( (This)->lpVtbl -> replaceText(This,startOffset,endOffset,text) ) + +#define IAccessibleEditableText_setAttributes(This,startOffset,endOffset,attributes) \ + ( (This)->lpVtbl -> setAttributes(This,startOffset,endOffset,attributes) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAccessibleEditableText_INTERFACE_DEFINED__ */ + + +#ifndef __IAccessibleHyperlink_INTERFACE_DEFINED__ +#define __IAccessibleHyperlink_INTERFACE_DEFINED__ + +/* interface IAccessibleHyperlink */ +/* [uuid][object] */ + + +EXTERN_C const IID IID_IAccessibleHyperlink; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("01C20F2B-3DD2-400f-949F-AD00BDAB1D41") + IAccessibleHyperlink : public IAccessibleAction + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_anchor( + /* [in] */ long index, + /* [retval][out] */ VARIANT *anchor) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_anchorTarget( + /* [in] */ long index, + /* [retval][out] */ VARIANT *anchorTarget) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_startIndex( + /* [retval][out] */ long *index) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_endIndex( + /* [retval][out] */ long *index) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_valid( + /* [retval][out] */ boolean *valid) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAccessibleHyperlinkVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAccessibleHyperlink * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAccessibleHyperlink * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAccessibleHyperlink * This); + + HRESULT ( STDMETHODCALLTYPE *nActions )( + IAccessibleHyperlink * This, + /* [retval][out] */ long *nActions); + + HRESULT ( STDMETHODCALLTYPE *doAction )( + IAccessibleHyperlink * This, + /* [in] */ long actionIndex); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_description )( + IAccessibleHyperlink * This, + /* [in] */ long actionIndex, + /* [retval][out] */ BSTR *description); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_keyBinding )( + IAccessibleHyperlink * This, + /* [in] */ long actionIndex, + /* [in] */ long nMaxBindings, + /* [length_is][length_is][size_is][size_is][out] */ BSTR **keyBindings, + /* [retval][out] */ long *nBindings); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( + IAccessibleHyperlink * This, + /* [in] */ long actionIndex, + /* [retval][out] */ BSTR *name); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedName )( + IAccessibleHyperlink * This, + /* [in] */ long actionIndex, + /* [retval][out] */ BSTR *localizedName); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_anchor )( + IAccessibleHyperlink * This, + /* [in] */ long index, + /* [retval][out] */ VARIANT *anchor); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_anchorTarget )( + IAccessibleHyperlink * This, + /* [in] */ long index, + /* [retval][out] */ VARIANT *anchorTarget); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_startIndex )( + IAccessibleHyperlink * This, + /* [retval][out] */ long *index); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_endIndex )( + IAccessibleHyperlink * This, + /* [retval][out] */ long *index); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_valid )( + IAccessibleHyperlink * This, + /* [retval][out] */ boolean *valid); + + END_INTERFACE + } IAccessibleHyperlinkVtbl; + + interface IAccessibleHyperlink + { + CONST_VTBL struct IAccessibleHyperlinkVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAccessibleHyperlink_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAccessibleHyperlink_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAccessibleHyperlink_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAccessibleHyperlink_nActions(This,nActions) \ + ( (This)->lpVtbl -> nActions(This,nActions) ) + +#define IAccessibleHyperlink_doAction(This,actionIndex) \ + ( (This)->lpVtbl -> doAction(This,actionIndex) ) + +#define IAccessibleHyperlink_get_description(This,actionIndex,description) \ + ( (This)->lpVtbl -> get_description(This,actionIndex,description) ) + +#define IAccessibleHyperlink_get_keyBinding(This,actionIndex,nMaxBindings,keyBindings,nBindings) \ + ( (This)->lpVtbl -> get_keyBinding(This,actionIndex,nMaxBindings,keyBindings,nBindings) ) + +#define IAccessibleHyperlink_get_name(This,actionIndex,name) \ + ( (This)->lpVtbl -> get_name(This,actionIndex,name) ) + +#define IAccessibleHyperlink_get_localizedName(This,actionIndex,localizedName) \ + ( (This)->lpVtbl -> get_localizedName(This,actionIndex,localizedName) ) + + +#define IAccessibleHyperlink_get_anchor(This,index,anchor) \ + ( (This)->lpVtbl -> get_anchor(This,index,anchor) ) + +#define IAccessibleHyperlink_get_anchorTarget(This,index,anchorTarget) \ + ( (This)->lpVtbl -> get_anchorTarget(This,index,anchorTarget) ) + +#define IAccessibleHyperlink_get_startIndex(This,index) \ + ( (This)->lpVtbl -> get_startIndex(This,index) ) + +#define IAccessibleHyperlink_get_endIndex(This,index) \ + ( (This)->lpVtbl -> get_endIndex(This,index) ) + +#define IAccessibleHyperlink_get_valid(This,valid) \ + ( (This)->lpVtbl -> get_valid(This,valid) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAccessibleHyperlink_INTERFACE_DEFINED__ */ + + +#ifndef __IAccessibleHypertext_INTERFACE_DEFINED__ +#define __IAccessibleHypertext_INTERFACE_DEFINED__ + +/* interface IAccessibleHypertext */ +/* [uuid][object] */ + + +EXTERN_C const IID IID_IAccessibleHypertext; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("6B4F8BBF-F1F2-418a-B35E-A195BC4103B9") + IAccessibleHypertext : public IAccessibleText + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nHyperlinks( + /* [retval][out] */ long *hyperlinkCount) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_hyperlink( + /* [in] */ long index, + /* [retval][out] */ IAccessibleHyperlink **hyperlink) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_hyperlinkIndex( + /* [in] */ long charIndex, + /* [retval][out] */ long *hyperlinkIndex) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAccessibleHypertextVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAccessibleHypertext * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAccessibleHypertext * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAccessibleHypertext * This); + + HRESULT ( STDMETHODCALLTYPE *addSelection )( + IAccessibleHypertext * This, + /* [in] */ long startOffset, + /* [in] */ long endOffset); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )( + IAccessibleHypertext * This, + /* [in] */ long offset, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *textAttributes); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caretOffset )( + IAccessibleHypertext * This, + /* [retval][out] */ long *offset); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_characterExtents )( + IAccessibleHypertext * This, + /* [in] */ long offset, + /* [in] */ enum IA2CoordinateType coordType, + /* [out] */ long *x, + /* [out] */ long *y, + /* [out] */ long *width, + /* [retval][out] */ long *height); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelections )( + IAccessibleHypertext * This, + /* [retval][out] */ long *nSelections); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetAtPoint )( + IAccessibleHypertext * This, + /* [in] */ long x, + /* [in] */ long y, + /* [in] */ enum IA2CoordinateType coordType, + /* [retval][out] */ long *offset); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selection )( + IAccessibleHypertext * This, + /* [in] */ long selectionIndex, + /* [out] */ long *startOffset, + /* [retval][out] */ long *endOffset); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_text )( + IAccessibleHypertext * This, + /* [in] */ long startOffset, + /* [in] */ long endOffset, + /* [retval][out] */ BSTR *text); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textBeforeOffset )( + IAccessibleHypertext * This, + /* [in] */ long offset, + /* [in] */ enum IA2TextBoundaryType boundaryType, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *text); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAfterOffset )( + IAccessibleHypertext * This, + /* [in] */ long offset, + /* [in] */ enum IA2TextBoundaryType boundaryType, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *text); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAtOffset )( + IAccessibleHypertext * This, + /* [in] */ long offset, + /* [in] */ enum IA2TextBoundaryType boundaryType, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *text); + + HRESULT ( STDMETHODCALLTYPE *removeSelection )( + IAccessibleHypertext * This, + /* [in] */ long selectionIndex); + + HRESULT ( STDMETHODCALLTYPE *setCaretOffset )( + IAccessibleHypertext * This, + /* [in] */ long offset); + + HRESULT ( STDMETHODCALLTYPE *setSelection )( + IAccessibleHypertext * This, + /* [in] */ long selectionIndex, + /* [in] */ long startOffset, + /* [in] */ long endOffset); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nCharacters )( + IAccessibleHypertext * This, + /* [retval][out] */ long *nCharacters); + + HRESULT ( STDMETHODCALLTYPE *scrollSubstringTo )( + IAccessibleHypertext * This, + /* [in] */ long startIndex, + /* [in] */ long endIndex, + /* [in] */ enum IA2ScrollType scrollType); + + HRESULT ( STDMETHODCALLTYPE *scrollSubstringToPoint )( + IAccessibleHypertext * This, + /* [in] */ long startIndex, + /* [in] */ long endIndex, + /* [in] */ enum IA2CoordinateType coordinateType, + /* [in] */ long x, + /* [in] */ long y); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_newText )( + IAccessibleHypertext * This, + /* [retval][out] */ IA2TextSegment *newText); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_oldText )( + IAccessibleHypertext * This, + /* [retval][out] */ IA2TextSegment *oldText); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nHyperlinks )( + IAccessibleHypertext * This, + /* [retval][out] */ long *hyperlinkCount); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hyperlink )( + IAccessibleHypertext * This, + /* [in] */ long index, + /* [retval][out] */ IAccessibleHyperlink **hyperlink); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hyperlinkIndex )( + IAccessibleHypertext * This, + /* [in] */ long charIndex, + /* [retval][out] */ long *hyperlinkIndex); + + END_INTERFACE + } IAccessibleHypertextVtbl; + + interface IAccessibleHypertext + { + CONST_VTBL struct IAccessibleHypertextVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAccessibleHypertext_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAccessibleHypertext_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAccessibleHypertext_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAccessibleHypertext_addSelection(This,startOffset,endOffset) \ + ( (This)->lpVtbl -> addSelection(This,startOffset,endOffset) ) + +#define IAccessibleHypertext_get_attributes(This,offset,startOffset,endOffset,textAttributes) \ + ( (This)->lpVtbl -> get_attributes(This,offset,startOffset,endOffset,textAttributes) ) + +#define IAccessibleHypertext_get_caretOffset(This,offset) \ + ( (This)->lpVtbl -> get_caretOffset(This,offset) ) + +#define IAccessibleHypertext_get_characterExtents(This,offset,coordType,x,y,width,height) \ + ( (This)->lpVtbl -> get_characterExtents(This,offset,coordType,x,y,width,height) ) + +#define IAccessibleHypertext_get_nSelections(This,nSelections) \ + ( (This)->lpVtbl -> get_nSelections(This,nSelections) ) + +#define IAccessibleHypertext_get_offsetAtPoint(This,x,y,coordType,offset) \ + ( (This)->lpVtbl -> get_offsetAtPoint(This,x,y,coordType,offset) ) + +#define IAccessibleHypertext_get_selection(This,selectionIndex,startOffset,endOffset) \ + ( (This)->lpVtbl -> get_selection(This,selectionIndex,startOffset,endOffset) ) + +#define IAccessibleHypertext_get_text(This,startOffset,endOffset,text) \ + ( (This)->lpVtbl -> get_text(This,startOffset,endOffset,text) ) + +#define IAccessibleHypertext_get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) \ + ( (This)->lpVtbl -> get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) ) + +#define IAccessibleHypertext_get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) \ + ( (This)->lpVtbl -> get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) ) + +#define IAccessibleHypertext_get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) \ + ( (This)->lpVtbl -> get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) ) + +#define IAccessibleHypertext_removeSelection(This,selectionIndex) \ + ( (This)->lpVtbl -> removeSelection(This,selectionIndex) ) + +#define IAccessibleHypertext_setCaretOffset(This,offset) \ + ( (This)->lpVtbl -> setCaretOffset(This,offset) ) + +#define IAccessibleHypertext_setSelection(This,selectionIndex,startOffset,endOffset) \ + ( (This)->lpVtbl -> setSelection(This,selectionIndex,startOffset,endOffset) ) + +#define IAccessibleHypertext_get_nCharacters(This,nCharacters) \ + ( (This)->lpVtbl -> get_nCharacters(This,nCharacters) ) + +#define IAccessibleHypertext_scrollSubstringTo(This,startIndex,endIndex,scrollType) \ + ( (This)->lpVtbl -> scrollSubstringTo(This,startIndex,endIndex,scrollType) ) + +#define IAccessibleHypertext_scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) \ + ( (This)->lpVtbl -> scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) ) + +#define IAccessibleHypertext_get_newText(This,newText) \ + ( (This)->lpVtbl -> get_newText(This,newText) ) + +#define IAccessibleHypertext_get_oldText(This,oldText) \ + ( (This)->lpVtbl -> get_oldText(This,oldText) ) + + +#define IAccessibleHypertext_get_nHyperlinks(This,hyperlinkCount) \ + ( (This)->lpVtbl -> get_nHyperlinks(This,hyperlinkCount) ) + +#define IAccessibleHypertext_get_hyperlink(This,index,hyperlink) \ + ( (This)->lpVtbl -> get_hyperlink(This,index,hyperlink) ) + +#define IAccessibleHypertext_get_hyperlinkIndex(This,charIndex,hyperlinkIndex) \ + ( (This)->lpVtbl -> get_hyperlinkIndex(This,charIndex,hyperlinkIndex) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAccessibleHypertext_INTERFACE_DEFINED__ */ + + +#ifndef __IAccessibleHypertext2_INTERFACE_DEFINED__ +#define __IAccessibleHypertext2_INTERFACE_DEFINED__ + +/* interface IAccessibleHypertext2 */ +/* [uuid][object] */ + + +EXTERN_C const IID IID_IAccessibleHypertext2; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("CF64D89F-8287-4B44-8501-A827453A6077") + IAccessibleHypertext2 : public IAccessibleHypertext + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_hyperlinks( + /* [size_is][size_is][out] */ IAccessibleHyperlink ***hyperlinks, + /* [retval][out] */ long *nHyperlinks) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAccessibleHypertext2Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAccessibleHypertext2 * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAccessibleHypertext2 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAccessibleHypertext2 * This); + + HRESULT ( STDMETHODCALLTYPE *addSelection )( + IAccessibleHypertext2 * This, + /* [in] */ long startOffset, + /* [in] */ long endOffset); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )( + IAccessibleHypertext2 * This, + /* [in] */ long offset, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *textAttributes); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caretOffset )( + IAccessibleHypertext2 * This, + /* [retval][out] */ long *offset); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_characterExtents )( + IAccessibleHypertext2 * This, + /* [in] */ long offset, + /* [in] */ enum IA2CoordinateType coordType, + /* [out] */ long *x, + /* [out] */ long *y, + /* [out] */ long *width, + /* [retval][out] */ long *height); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelections )( + IAccessibleHypertext2 * This, + /* [retval][out] */ long *nSelections); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetAtPoint )( + IAccessibleHypertext2 * This, + /* [in] */ long x, + /* [in] */ long y, + /* [in] */ enum IA2CoordinateType coordType, + /* [retval][out] */ long *offset); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selection )( + IAccessibleHypertext2 * This, + /* [in] */ long selectionIndex, + /* [out] */ long *startOffset, + /* [retval][out] */ long *endOffset); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_text )( + IAccessibleHypertext2 * This, + /* [in] */ long startOffset, + /* [in] */ long endOffset, + /* [retval][out] */ BSTR *text); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textBeforeOffset )( + IAccessibleHypertext2 * This, + /* [in] */ long offset, + /* [in] */ enum IA2TextBoundaryType boundaryType, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *text); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAfterOffset )( + IAccessibleHypertext2 * This, + /* [in] */ long offset, + /* [in] */ enum IA2TextBoundaryType boundaryType, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *text); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAtOffset )( + IAccessibleHypertext2 * This, + /* [in] */ long offset, + /* [in] */ enum IA2TextBoundaryType boundaryType, + /* [out] */ long *startOffset, + /* [out] */ long *endOffset, + /* [retval][out] */ BSTR *text); + + HRESULT ( STDMETHODCALLTYPE *removeSelection )( + IAccessibleHypertext2 * This, + /* [in] */ long selectionIndex); + + HRESULT ( STDMETHODCALLTYPE *setCaretOffset )( + IAccessibleHypertext2 * This, + /* [in] */ long offset); + + HRESULT ( STDMETHODCALLTYPE *setSelection )( + IAccessibleHypertext2 * This, + /* [in] */ long selectionIndex, + /* [in] */ long startOffset, + /* [in] */ long endOffset); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nCharacters )( + IAccessibleHypertext2 * This, + /* [retval][out] */ long *nCharacters); + + HRESULT ( STDMETHODCALLTYPE *scrollSubstringTo )( + IAccessibleHypertext2 * This, + /* [in] */ long startIndex, + /* [in] */ long endIndex, + /* [in] */ enum IA2ScrollType scrollType); + + HRESULT ( STDMETHODCALLTYPE *scrollSubstringToPoint )( + IAccessibleHypertext2 * This, + /* [in] */ long startIndex, + /* [in] */ long endIndex, + /* [in] */ enum IA2CoordinateType coordinateType, + /* [in] */ long x, + /* [in] */ long y); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_newText )( + IAccessibleHypertext2 * This, + /* [retval][out] */ IA2TextSegment *newText); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_oldText )( + IAccessibleHypertext2 * This, + /* [retval][out] */ IA2TextSegment *oldText); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nHyperlinks )( + IAccessibleHypertext2 * This, + /* [retval][out] */ long *hyperlinkCount); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hyperlink )( + IAccessibleHypertext2 * This, + /* [in] */ long index, + /* [retval][out] */ IAccessibleHyperlink **hyperlink); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hyperlinkIndex )( + IAccessibleHypertext2 * This, + /* [in] */ long charIndex, + /* [retval][out] */ long *hyperlinkIndex); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hyperlinks )( + IAccessibleHypertext2 * This, + /* [size_is][size_is][out] */ IAccessibleHyperlink ***hyperlinks, + /* [retval][out] */ long *nHyperlinks); + + END_INTERFACE + } IAccessibleHypertext2Vtbl; + + interface IAccessibleHypertext2 + { + CONST_VTBL struct IAccessibleHypertext2Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAccessibleHypertext2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAccessibleHypertext2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAccessibleHypertext2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAccessibleHypertext2_addSelection(This,startOffset,endOffset) \ + ( (This)->lpVtbl -> addSelection(This,startOffset,endOffset) ) + +#define IAccessibleHypertext2_get_attributes(This,offset,startOffset,endOffset,textAttributes) \ + ( (This)->lpVtbl -> get_attributes(This,offset,startOffset,endOffset,textAttributes) ) + +#define IAccessibleHypertext2_get_caretOffset(This,offset) \ + ( (This)->lpVtbl -> get_caretOffset(This,offset) ) + +#define IAccessibleHypertext2_get_characterExtents(This,offset,coordType,x,y,width,height) \ + ( (This)->lpVtbl -> get_characterExtents(This,offset,coordType,x,y,width,height) ) + +#define IAccessibleHypertext2_get_nSelections(This,nSelections) \ + ( (This)->lpVtbl -> get_nSelections(This,nSelections) ) + +#define IAccessibleHypertext2_get_offsetAtPoint(This,x,y,coordType,offset) \ + ( (This)->lpVtbl -> get_offsetAtPoint(This,x,y,coordType,offset) ) + +#define IAccessibleHypertext2_get_selection(This,selectionIndex,startOffset,endOffset) \ + ( (This)->lpVtbl -> get_selection(This,selectionIndex,startOffset,endOffset) ) + +#define IAccessibleHypertext2_get_text(This,startOffset,endOffset,text) \ + ( (This)->lpVtbl -> get_text(This,startOffset,endOffset,text) ) + +#define IAccessibleHypertext2_get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) \ + ( (This)->lpVtbl -> get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) ) + +#define IAccessibleHypertext2_get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) \ + ( (This)->lpVtbl -> get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) ) + +#define IAccessibleHypertext2_get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) \ + ( (This)->lpVtbl -> get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) ) + +#define IAccessibleHypertext2_removeSelection(This,selectionIndex) \ + ( (This)->lpVtbl -> removeSelection(This,selectionIndex) ) + +#define IAccessibleHypertext2_setCaretOffset(This,offset) \ + ( (This)->lpVtbl -> setCaretOffset(This,offset) ) + +#define IAccessibleHypertext2_setSelection(This,selectionIndex,startOffset,endOffset) \ + ( (This)->lpVtbl -> setSelection(This,selectionIndex,startOffset,endOffset) ) + +#define IAccessibleHypertext2_get_nCharacters(This,nCharacters) \ + ( (This)->lpVtbl -> get_nCharacters(This,nCharacters) ) + +#define IAccessibleHypertext2_scrollSubstringTo(This,startIndex,endIndex,scrollType) \ + ( (This)->lpVtbl -> scrollSubstringTo(This,startIndex,endIndex,scrollType) ) + +#define IAccessibleHypertext2_scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) \ + ( (This)->lpVtbl -> scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) ) + +#define IAccessibleHypertext2_get_newText(This,newText) \ + ( (This)->lpVtbl -> get_newText(This,newText) ) + +#define IAccessibleHypertext2_get_oldText(This,oldText) \ + ( (This)->lpVtbl -> get_oldText(This,oldText) ) + + +#define IAccessibleHypertext2_get_nHyperlinks(This,hyperlinkCount) \ + ( (This)->lpVtbl -> get_nHyperlinks(This,hyperlinkCount) ) + +#define IAccessibleHypertext2_get_hyperlink(This,index,hyperlink) \ + ( (This)->lpVtbl -> get_hyperlink(This,index,hyperlink) ) + +#define IAccessibleHypertext2_get_hyperlinkIndex(This,charIndex,hyperlinkIndex) \ + ( (This)->lpVtbl -> get_hyperlinkIndex(This,charIndex,hyperlinkIndex) ) + + +#define IAccessibleHypertext2_get_hyperlinks(This,hyperlinks,nHyperlinks) \ + ( (This)->lpVtbl -> get_hyperlinks(This,hyperlinks,nHyperlinks) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAccessibleHypertext2_INTERFACE_DEFINED__ */ + + +#ifndef __IAccessibleTable_INTERFACE_DEFINED__ +#define __IAccessibleTable_INTERFACE_DEFINED__ + +/* interface IAccessibleTable */ +/* [uuid][object] */ + + +EXTERN_C const IID IID_IAccessibleTable; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("35AD8070-C20C-4fb4-B094-F4F7275DD469") + IAccessibleTable : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_accessibleAt( + /* [in] */ long row, + /* [in] */ long column, + /* [retval][out] */ IUnknown **accessible) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_caption( + /* [retval][out] */ IUnknown **accessible) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_childIndex( + /* [in] */ long rowIndex, + /* [in] */ long columnIndex, + /* [retval][out] */ long *cellIndex) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnDescription( + /* [in] */ long column, + /* [retval][out] */ BSTR *description) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnExtentAt( + /* [in] */ long row, + /* [in] */ long column, + /* [retval][out] */ long *nColumnsSpanned) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnHeader( + /* [out] */ IAccessibleTable **accessibleTable, + /* [retval][out] */ long *startingRowIndex) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnIndex( + /* [in] */ long cellIndex, + /* [retval][out] */ long *columnIndex) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nColumns( + /* [retval][out] */ long *columnCount) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nRows( + /* [retval][out] */ long *rowCount) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedChildren( + /* [retval][out] */ long *cellCount) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedColumns( + /* [retval][out] */ long *columnCount) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedRows( + /* [retval][out] */ long *rowCount) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowDescription( + /* [in] */ long row, + /* [retval][out] */ BSTR *description) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowExtentAt( + /* [in] */ long row, + /* [in] */ long column, + /* [retval][out] */ long *nRowsSpanned) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowHeader( + /* [out] */ IAccessibleTable **accessibleTable, + /* [retval][out] */ long *startingColumnIndex) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowIndex( + /* [in] */ long cellIndex, + /* [retval][out] */ long *rowIndex) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedChildren( + /* [in] */ long maxChildren, + /* [length_is][length_is][size_is][size_is][out] */ long **children, + /* [retval][out] */ long *nChildren) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedColumns( + /* [in] */ long maxColumns, + /* [length_is][length_is][size_is][size_is][out] */ long **columns, + /* [retval][out] */ long *nColumns) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedRows( + /* [in] */ long maxRows, + /* [length_is][length_is][size_is][size_is][out] */ long **rows, + /* [retval][out] */ long *nRows) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_summary( + /* [retval][out] */ IUnknown **accessible) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isColumnSelected( + /* [in] */ long column, + /* [retval][out] */ boolean *isSelected) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRowSelected( + /* [in] */ long row, + /* [retval][out] */ boolean *isSelected) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isSelected( + /* [in] */ long row, + /* [in] */ long column, + /* [retval][out] */ boolean *isSelected) = 0; + + virtual HRESULT STDMETHODCALLTYPE selectRow( + /* [in] */ long row) = 0; + + virtual HRESULT STDMETHODCALLTYPE selectColumn( + /* [in] */ long column) = 0; + + virtual HRESULT STDMETHODCALLTYPE unselectRow( + /* [in] */ long row) = 0; + + virtual HRESULT STDMETHODCALLTYPE unselectColumn( + /* [in] */ long column) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowColumnExtentsAtIndex( + /* [in] */ long index, + /* [out] */ long *row, + /* [out] */ long *column, + /* [out] */ long *rowExtents, + /* [out] */ long *columnExtents, + /* [retval][out] */ boolean *isSelected) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_modelChange( + /* [retval][out] */ IA2TableModelChange *modelChange) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAccessibleTableVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAccessibleTable * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAccessibleTable * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAccessibleTable * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_accessibleAt )( + IAccessibleTable * This, + /* [in] */ long row, + /* [in] */ long column, + /* [retval][out] */ IUnknown **accessible); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caption )( + IAccessibleTable * This, + /* [retval][out] */ IUnknown **accessible); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_childIndex )( + IAccessibleTable * This, + /* [in] */ long rowIndex, + /* [in] */ long columnIndex, + /* [retval][out] */ long *cellIndex); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnDescription )( + IAccessibleTable * This, + /* [in] */ long column, + /* [retval][out] */ BSTR *description); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnExtentAt )( + IAccessibleTable * This, + /* [in] */ long row, + /* [in] */ long column, + /* [retval][out] */ long *nColumnsSpanned); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnHeader )( + IAccessibleTable * This, + /* [out] */ IAccessibleTable **accessibleTable, + /* [retval][out] */ long *startingRowIndex); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnIndex )( + IAccessibleTable * This, + /* [in] */ long cellIndex, + /* [retval][out] */ long *columnIndex); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nColumns )( + IAccessibleTable * This, + /* [retval][out] */ long *columnCount); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nRows )( + IAccessibleTable * This, + /* [retval][out] */ long *rowCount); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedChildren )( + IAccessibleTable * This, + /* [retval][out] */ long *cellCount); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedColumns )( + IAccessibleTable * This, + /* [retval][out] */ long *columnCount); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedRows )( + IAccessibleTable * This, + /* [retval][out] */ long *rowCount); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowDescription )( + IAccessibleTable * This, + /* [in] */ long row, + /* [retval][out] */ BSTR *description); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowExtentAt )( + IAccessibleTable * This, + /* [in] */ long row, + /* [in] */ long column, + /* [retval][out] */ long *nRowsSpanned); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowHeader )( + IAccessibleTable * This, + /* [out] */ IAccessibleTable **accessibleTable, + /* [retval][out] */ long *startingColumnIndex); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowIndex )( + IAccessibleTable * This, + /* [in] */ long cellIndex, + /* [retval][out] */ long *rowIndex); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedChildren )( + IAccessibleTable * This, + /* [in] */ long maxChildren, + /* [length_is][length_is][size_is][size_is][out] */ long **children, + /* [retval][out] */ long *nChildren); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedColumns )( + IAccessibleTable * This, + /* [in] */ long maxColumns, + /* [length_is][length_is][size_is][size_is][out] */ long **columns, + /* [retval][out] */ long *nColumns); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedRows )( + IAccessibleTable * This, + /* [in] */ long maxRows, + /* [length_is][length_is][size_is][size_is][out] */ long **rows, + /* [retval][out] */ long *nRows); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_summary )( + IAccessibleTable * This, + /* [retval][out] */ IUnknown **accessible); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isColumnSelected )( + IAccessibleTable * This, + /* [in] */ long column, + /* [retval][out] */ boolean *isSelected); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRowSelected )( + IAccessibleTable * This, + /* [in] */ long row, + /* [retval][out] */ boolean *isSelected); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSelected )( + IAccessibleTable * This, + /* [in] */ long row, + /* [in] */ long column, + /* [retval][out] */ boolean *isSelected); + + HRESULT ( STDMETHODCALLTYPE *selectRow )( + IAccessibleTable * This, + /* [in] */ long row); + + HRESULT ( STDMETHODCALLTYPE *selectColumn )( + IAccessibleTable * This, + /* [in] */ long column); + + HRESULT ( STDMETHODCALLTYPE *unselectRow )( + IAccessibleTable * This, + /* [in] */ long row); + + HRESULT ( STDMETHODCALLTYPE *unselectColumn )( + IAccessibleTable * This, + /* [in] */ long column); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowColumnExtentsAtIndex )( + IAccessibleTable * This, + /* [in] */ long index, + /* [out] */ long *row, + /* [out] */ long *column, + /* [out] */ long *rowExtents, + /* [out] */ long *columnExtents, + /* [retval][out] */ boolean *isSelected); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_modelChange )( + IAccessibleTable * This, + /* [retval][out] */ IA2TableModelChange *modelChange); + + END_INTERFACE + } IAccessibleTableVtbl; + + interface IAccessibleTable + { + CONST_VTBL struct IAccessibleTableVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAccessibleTable_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAccessibleTable_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAccessibleTable_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAccessibleTable_get_accessibleAt(This,row,column,accessible) \ + ( (This)->lpVtbl -> get_accessibleAt(This,row,column,accessible) ) + +#define IAccessibleTable_get_caption(This,accessible) \ + ( (This)->lpVtbl -> get_caption(This,accessible) ) + +#define IAccessibleTable_get_childIndex(This,rowIndex,columnIndex,cellIndex) \ + ( (This)->lpVtbl -> get_childIndex(This,rowIndex,columnIndex,cellIndex) ) + +#define IAccessibleTable_get_columnDescription(This,column,description) \ + ( (This)->lpVtbl -> get_columnDescription(This,column,description) ) + +#define IAccessibleTable_get_columnExtentAt(This,row,column,nColumnsSpanned) \ + ( (This)->lpVtbl -> get_columnExtentAt(This,row,column,nColumnsSpanned) ) + +#define IAccessibleTable_get_columnHeader(This,accessibleTable,startingRowIndex) \ + ( (This)->lpVtbl -> get_columnHeader(This,accessibleTable,startingRowIndex) ) + +#define IAccessibleTable_get_columnIndex(This,cellIndex,columnIndex) \ + ( (This)->lpVtbl -> get_columnIndex(This,cellIndex,columnIndex) ) + +#define IAccessibleTable_get_nColumns(This,columnCount) \ + ( (This)->lpVtbl -> get_nColumns(This,columnCount) ) + +#define IAccessibleTable_get_nRows(This,rowCount) \ + ( (This)->lpVtbl -> get_nRows(This,rowCount) ) + +#define IAccessibleTable_get_nSelectedChildren(This,cellCount) \ + ( (This)->lpVtbl -> get_nSelectedChildren(This,cellCount) ) + +#define IAccessibleTable_get_nSelectedColumns(This,columnCount) \ + ( (This)->lpVtbl -> get_nSelectedColumns(This,columnCount) ) + +#define IAccessibleTable_get_nSelectedRows(This,rowCount) \ + ( (This)->lpVtbl -> get_nSelectedRows(This,rowCount) ) + +#define IAccessibleTable_get_rowDescription(This,row,description) \ + ( (This)->lpVtbl -> get_rowDescription(This,row,description) ) + +#define IAccessibleTable_get_rowExtentAt(This,row,column,nRowsSpanned) \ + ( (This)->lpVtbl -> get_rowExtentAt(This,row,column,nRowsSpanned) ) + +#define IAccessibleTable_get_rowHeader(This,accessibleTable,startingColumnIndex) \ + ( (This)->lpVtbl -> get_rowHeader(This,accessibleTable,startingColumnIndex) ) + +#define IAccessibleTable_get_rowIndex(This,cellIndex,rowIndex) \ + ( (This)->lpVtbl -> get_rowIndex(This,cellIndex,rowIndex) ) + +#define IAccessibleTable_get_selectedChildren(This,maxChildren,children,nChildren) \ + ( (This)->lpVtbl -> get_selectedChildren(This,maxChildren,children,nChildren) ) + +#define IAccessibleTable_get_selectedColumns(This,maxColumns,columns,nColumns) \ + ( (This)->lpVtbl -> get_selectedColumns(This,maxColumns,columns,nColumns) ) + +#define IAccessibleTable_get_selectedRows(This,maxRows,rows,nRows) \ + ( (This)->lpVtbl -> get_selectedRows(This,maxRows,rows,nRows) ) + +#define IAccessibleTable_get_summary(This,accessible) \ + ( (This)->lpVtbl -> get_summary(This,accessible) ) + +#define IAccessibleTable_get_isColumnSelected(This,column,isSelected) \ + ( (This)->lpVtbl -> get_isColumnSelected(This,column,isSelected) ) + +#define IAccessibleTable_get_isRowSelected(This,row,isSelected) \ + ( (This)->lpVtbl -> get_isRowSelected(This,row,isSelected) ) + +#define IAccessibleTable_get_isSelected(This,row,column,isSelected) \ + ( (This)->lpVtbl -> get_isSelected(This,row,column,isSelected) ) + +#define IAccessibleTable_selectRow(This,row) \ + ( (This)->lpVtbl -> selectRow(This,row) ) + +#define IAccessibleTable_selectColumn(This,column) \ + ( (This)->lpVtbl -> selectColumn(This,column) ) + +#define IAccessibleTable_unselectRow(This,row) \ + ( (This)->lpVtbl -> unselectRow(This,row) ) + +#define IAccessibleTable_unselectColumn(This,column) \ + ( (This)->lpVtbl -> unselectColumn(This,column) ) + +#define IAccessibleTable_get_rowColumnExtentsAtIndex(This,index,row,column,rowExtents,columnExtents,isSelected) \ + ( (This)->lpVtbl -> get_rowColumnExtentsAtIndex(This,index,row,column,rowExtents,columnExtents,isSelected) ) + +#define IAccessibleTable_get_modelChange(This,modelChange) \ + ( (This)->lpVtbl -> get_modelChange(This,modelChange) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAccessibleTable_INTERFACE_DEFINED__ */ + + +#ifndef __IAccessibleTable2_INTERFACE_DEFINED__ +#define __IAccessibleTable2_INTERFACE_DEFINED__ + +/* interface IAccessibleTable2 */ +/* [uuid][object] */ + + +EXTERN_C const IID IID_IAccessibleTable2; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("6167f295-06f0-4cdd-a1fa-02e25153d869") + IAccessibleTable2 : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_cellAt( + /* [in] */ long row, + /* [in] */ long column, + /* [retval][out] */ IUnknown **cell) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_caption( + /* [retval][out] */ IUnknown **accessible) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnDescription( + /* [in] */ long column, + /* [retval][out] */ BSTR *description) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nColumns( + /* [retval][out] */ long *columnCount) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nRows( + /* [retval][out] */ long *rowCount) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedCells( + /* [retval][out] */ long *cellCount) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedColumns( + /* [retval][out] */ long *columnCount) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedRows( + /* [retval][out] */ long *rowCount) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowDescription( + /* [in] */ long row, + /* [retval][out] */ BSTR *description) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedCells( + /* [size_is][size_is][out] */ IUnknown ***cells, + /* [retval][out] */ long *nSelectedCells) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedColumns( + /* [size_is][size_is][out] */ long **selectedColumns, + /* [retval][out] */ long *nColumns) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedRows( + /* [size_is][size_is][out] */ long **selectedRows, + /* [retval][out] */ long *nRows) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_summary( + /* [retval][out] */ IUnknown **accessible) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isColumnSelected( + /* [in] */ long column, + /* [retval][out] */ boolean *isSelected) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRowSelected( + /* [in] */ long row, + /* [retval][out] */ boolean *isSelected) = 0; + + virtual HRESULT STDMETHODCALLTYPE selectRow( + /* [in] */ long row) = 0; + + virtual HRESULT STDMETHODCALLTYPE selectColumn( + /* [in] */ long column) = 0; + + virtual HRESULT STDMETHODCALLTYPE unselectRow( + /* [in] */ long row) = 0; + + virtual HRESULT STDMETHODCALLTYPE unselectColumn( + /* [in] */ long column) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_modelChange( + /* [retval][out] */ IA2TableModelChange *modelChange) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAccessibleTable2Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAccessibleTable2 * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAccessibleTable2 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAccessibleTable2 * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_cellAt )( + IAccessibleTable2 * This, + /* [in] */ long row, + /* [in] */ long column, + /* [retval][out] */ IUnknown **cell); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caption )( + IAccessibleTable2 * This, + /* [retval][out] */ IUnknown **accessible); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnDescription )( + IAccessibleTable2 * This, + /* [in] */ long column, + /* [retval][out] */ BSTR *description); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nColumns )( + IAccessibleTable2 * This, + /* [retval][out] */ long *columnCount); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nRows )( + IAccessibleTable2 * This, + /* [retval][out] */ long *rowCount); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedCells )( + IAccessibleTable2 * This, + /* [retval][out] */ long *cellCount); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedColumns )( + IAccessibleTable2 * This, + /* [retval][out] */ long *columnCount); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedRows )( + IAccessibleTable2 * This, + /* [retval][out] */ long *rowCount); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowDescription )( + IAccessibleTable2 * This, + /* [in] */ long row, + /* [retval][out] */ BSTR *description); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedCells )( + IAccessibleTable2 * This, + /* [size_is][size_is][out] */ IUnknown ***cells, + /* [retval][out] */ long *nSelectedCells); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedColumns )( + IAccessibleTable2 * This, + /* [size_is][size_is][out] */ long **selectedColumns, + /* [retval][out] */ long *nColumns); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedRows )( + IAccessibleTable2 * This, + /* [size_is][size_is][out] */ long **selectedRows, + /* [retval][out] */ long *nRows); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_summary )( + IAccessibleTable2 * This, + /* [retval][out] */ IUnknown **accessible); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isColumnSelected )( + IAccessibleTable2 * This, + /* [in] */ long column, + /* [retval][out] */ boolean *isSelected); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRowSelected )( + IAccessibleTable2 * This, + /* [in] */ long row, + /* [retval][out] */ boolean *isSelected); + + HRESULT ( STDMETHODCALLTYPE *selectRow )( + IAccessibleTable2 * This, + /* [in] */ long row); + + HRESULT ( STDMETHODCALLTYPE *selectColumn )( + IAccessibleTable2 * This, + /* [in] */ long column); + + HRESULT ( STDMETHODCALLTYPE *unselectRow )( + IAccessibleTable2 * This, + /* [in] */ long row); + + HRESULT ( STDMETHODCALLTYPE *unselectColumn )( + IAccessibleTable2 * This, + /* [in] */ long column); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_modelChange )( + IAccessibleTable2 * This, + /* [retval][out] */ IA2TableModelChange *modelChange); + + END_INTERFACE + } IAccessibleTable2Vtbl; + + interface IAccessibleTable2 + { + CONST_VTBL struct IAccessibleTable2Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAccessibleTable2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAccessibleTable2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAccessibleTable2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAccessibleTable2_get_cellAt(This,row,column,cell) \ + ( (This)->lpVtbl -> get_cellAt(This,row,column,cell) ) + +#define IAccessibleTable2_get_caption(This,accessible) \ + ( (This)->lpVtbl -> get_caption(This,accessible) ) + +#define IAccessibleTable2_get_columnDescription(This,column,description) \ + ( (This)->lpVtbl -> get_columnDescription(This,column,description) ) + +#define IAccessibleTable2_get_nColumns(This,columnCount) \ + ( (This)->lpVtbl -> get_nColumns(This,columnCount) ) + +#define IAccessibleTable2_get_nRows(This,rowCount) \ + ( (This)->lpVtbl -> get_nRows(This,rowCount) ) + +#define IAccessibleTable2_get_nSelectedCells(This,cellCount) \ + ( (This)->lpVtbl -> get_nSelectedCells(This,cellCount) ) + +#define IAccessibleTable2_get_nSelectedColumns(This,columnCount) \ + ( (This)->lpVtbl -> get_nSelectedColumns(This,columnCount) ) + +#define IAccessibleTable2_get_nSelectedRows(This,rowCount) \ + ( (This)->lpVtbl -> get_nSelectedRows(This,rowCount) ) + +#define IAccessibleTable2_get_rowDescription(This,row,description) \ + ( (This)->lpVtbl -> get_rowDescription(This,row,description) ) + +#define IAccessibleTable2_get_selectedCells(This,cells,nSelectedCells) \ + ( (This)->lpVtbl -> get_selectedCells(This,cells,nSelectedCells) ) + +#define IAccessibleTable2_get_selectedColumns(This,selectedColumns,nColumns) \ + ( (This)->lpVtbl -> get_selectedColumns(This,selectedColumns,nColumns) ) + +#define IAccessibleTable2_get_selectedRows(This,selectedRows,nRows) \ + ( (This)->lpVtbl -> get_selectedRows(This,selectedRows,nRows) ) + +#define IAccessibleTable2_get_summary(This,accessible) \ + ( (This)->lpVtbl -> get_summary(This,accessible) ) + +#define IAccessibleTable2_get_isColumnSelected(This,column,isSelected) \ + ( (This)->lpVtbl -> get_isColumnSelected(This,column,isSelected) ) + +#define IAccessibleTable2_get_isRowSelected(This,row,isSelected) \ + ( (This)->lpVtbl -> get_isRowSelected(This,row,isSelected) ) + +#define IAccessibleTable2_selectRow(This,row) \ + ( (This)->lpVtbl -> selectRow(This,row) ) + +#define IAccessibleTable2_selectColumn(This,column) \ + ( (This)->lpVtbl -> selectColumn(This,column) ) + +#define IAccessibleTable2_unselectRow(This,row) \ + ( (This)->lpVtbl -> unselectRow(This,row) ) + +#define IAccessibleTable2_unselectColumn(This,column) \ + ( (This)->lpVtbl -> unselectColumn(This,column) ) + +#define IAccessibleTable2_get_modelChange(This,modelChange) \ + ( (This)->lpVtbl -> get_modelChange(This,modelChange) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAccessibleTable2_INTERFACE_DEFINED__ */ + + +#ifndef __IAccessibleTableCell_INTERFACE_DEFINED__ +#define __IAccessibleTableCell_INTERFACE_DEFINED__ + +/* interface IAccessibleTableCell */ +/* [uuid][object] */ + + +EXTERN_C const IID IID_IAccessibleTableCell; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("594116B1-C99F-4847-AD06-0A7A86ECE645") + IAccessibleTableCell : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnExtent( + /* [retval][out] */ long *nColumnsSpanned) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnHeaderCells( + /* [size_is][size_is][out] */ IUnknown ***cellAccessibles, + /* [retval][out] */ long *nColumnHeaderCells) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnIndex( + /* [retval][out] */ long *columnIndex) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowExtent( + /* [retval][out] */ long *nRowsSpanned) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowHeaderCells( + /* [size_is][size_is][out] */ IUnknown ***cellAccessibles, + /* [retval][out] */ long *nRowHeaderCells) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowIndex( + /* [retval][out] */ long *rowIndex) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isSelected( + /* [retval][out] */ boolean *isSelected) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowColumnExtents( + /* [out] */ long *row, + /* [out] */ long *column, + /* [out] */ long *rowExtents, + /* [out] */ long *columnExtents, + /* [retval][out] */ boolean *isSelected) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_table( + /* [retval][out] */ IUnknown **table) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAccessibleTableCellVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAccessibleTableCell * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAccessibleTableCell * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAccessibleTableCell * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnExtent )( + IAccessibleTableCell * This, + /* [retval][out] */ long *nColumnsSpanned); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnHeaderCells )( + IAccessibleTableCell * This, + /* [size_is][size_is][out] */ IUnknown ***cellAccessibles, + /* [retval][out] */ long *nColumnHeaderCells); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnIndex )( + IAccessibleTableCell * This, + /* [retval][out] */ long *columnIndex); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowExtent )( + IAccessibleTableCell * This, + /* [retval][out] */ long *nRowsSpanned); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowHeaderCells )( + IAccessibleTableCell * This, + /* [size_is][size_is][out] */ IUnknown ***cellAccessibles, + /* [retval][out] */ long *nRowHeaderCells); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowIndex )( + IAccessibleTableCell * This, + /* [retval][out] */ long *rowIndex); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSelected )( + IAccessibleTableCell * This, + /* [retval][out] */ boolean *isSelected); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowColumnExtents )( + IAccessibleTableCell * This, + /* [out] */ long *row, + /* [out] */ long *column, + /* [out] */ long *rowExtents, + /* [out] */ long *columnExtents, + /* [retval][out] */ boolean *isSelected); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_table )( + IAccessibleTableCell * This, + /* [retval][out] */ IUnknown **table); + + END_INTERFACE + } IAccessibleTableCellVtbl; + + interface IAccessibleTableCell + { + CONST_VTBL struct IAccessibleTableCellVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAccessibleTableCell_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAccessibleTableCell_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAccessibleTableCell_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAccessibleTableCell_get_columnExtent(This,nColumnsSpanned) \ + ( (This)->lpVtbl -> get_columnExtent(This,nColumnsSpanned) ) + +#define IAccessibleTableCell_get_columnHeaderCells(This,cellAccessibles,nColumnHeaderCells) \ + ( (This)->lpVtbl -> get_columnHeaderCells(This,cellAccessibles,nColumnHeaderCells) ) + +#define IAccessibleTableCell_get_columnIndex(This,columnIndex) \ + ( (This)->lpVtbl -> get_columnIndex(This,columnIndex) ) + +#define IAccessibleTableCell_get_rowExtent(This,nRowsSpanned) \ + ( (This)->lpVtbl -> get_rowExtent(This,nRowsSpanned) ) + +#define IAccessibleTableCell_get_rowHeaderCells(This,cellAccessibles,nRowHeaderCells) \ + ( (This)->lpVtbl -> get_rowHeaderCells(This,cellAccessibles,nRowHeaderCells) ) + +#define IAccessibleTableCell_get_rowIndex(This,rowIndex) \ + ( (This)->lpVtbl -> get_rowIndex(This,rowIndex) ) + +#define IAccessibleTableCell_get_isSelected(This,isSelected) \ + ( (This)->lpVtbl -> get_isSelected(This,isSelected) ) + +#define IAccessibleTableCell_get_rowColumnExtents(This,row,column,rowExtents,columnExtents,isSelected) \ + ( (This)->lpVtbl -> get_rowColumnExtents(This,row,column,rowExtents,columnExtents,isSelected) ) + +#define IAccessibleTableCell_get_table(This,table) \ + ( (This)->lpVtbl -> get_table(This,table) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAccessibleTableCell_INTERFACE_DEFINED__ */ + + +#ifndef __IAccessibleImage_INTERFACE_DEFINED__ +#define __IAccessibleImage_INTERFACE_DEFINED__ + +/* interface IAccessibleImage */ +/* [uuid][object] */ + + +EXTERN_C const IID IID_IAccessibleImage; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("FE5ABB3D-615E-4f7b-909F-5F0EDA9E8DDE") + IAccessibleImage : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_description( + /* [retval][out] */ BSTR *description) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_imagePosition( + /* [in] */ enum IA2CoordinateType coordinateType, + /* [out] */ long *x, + /* [retval][out] */ long *y) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_imageSize( + /* [out] */ long *height, + /* [retval][out] */ long *width) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAccessibleImageVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAccessibleImage * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAccessibleImage * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAccessibleImage * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_description )( + IAccessibleImage * This, + /* [retval][out] */ BSTR *description); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_imagePosition )( + IAccessibleImage * This, + /* [in] */ enum IA2CoordinateType coordinateType, + /* [out] */ long *x, + /* [retval][out] */ long *y); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_imageSize )( + IAccessibleImage * This, + /* [out] */ long *height, + /* [retval][out] */ long *width); + + END_INTERFACE + } IAccessibleImageVtbl; + + interface IAccessibleImage + { + CONST_VTBL struct IAccessibleImageVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAccessibleImage_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAccessibleImage_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAccessibleImage_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAccessibleImage_get_description(This,description) \ + ( (This)->lpVtbl -> get_description(This,description) ) + +#define IAccessibleImage_get_imagePosition(This,coordinateType,x,y) \ + ( (This)->lpVtbl -> get_imagePosition(This,coordinateType,x,y) ) + +#define IAccessibleImage_get_imageSize(This,height,width) \ + ( (This)->lpVtbl -> get_imageSize(This,height,width) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAccessibleImage_INTERFACE_DEFINED__ */ + + +/* interface __MIDL_itf_ia2_api_all_0000_0016 */ +/* [local] */ + + +enum IA2EventID + { IA2_EVENT_ACTION_CHANGED = 0x101, + IA2_EVENT_ACTIVE_DECENDENT_CHANGED = ( IA2_EVENT_ACTION_CHANGED + 1 ) , + IA2_EVENT_ACTIVE_DESCENDANT_CHANGED = IA2_EVENT_ACTIVE_DECENDENT_CHANGED, + IA2_EVENT_DOCUMENT_ATTRIBUTE_CHANGED = ( IA2_EVENT_ACTIVE_DESCENDANT_CHANGED + 1 ) , + IA2_EVENT_DOCUMENT_CONTENT_CHANGED = ( IA2_EVENT_DOCUMENT_ATTRIBUTE_CHANGED + 1 ) , + IA2_EVENT_DOCUMENT_LOAD_COMPLETE = ( IA2_EVENT_DOCUMENT_CONTENT_CHANGED + 1 ) , + IA2_EVENT_DOCUMENT_LOAD_STOPPED = ( IA2_EVENT_DOCUMENT_LOAD_COMPLETE + 1 ) , + IA2_EVENT_DOCUMENT_RELOAD = ( IA2_EVENT_DOCUMENT_LOAD_STOPPED + 1 ) , + IA2_EVENT_HYPERLINK_END_INDEX_CHANGED = ( IA2_EVENT_DOCUMENT_RELOAD + 1 ) , + IA2_EVENT_HYPERLINK_NUMBER_OF_ANCHORS_CHANGED = ( IA2_EVENT_HYPERLINK_END_INDEX_CHANGED + 1 ) , + IA2_EVENT_HYPERLINK_SELECTED_LINK_CHANGED = ( IA2_EVENT_HYPERLINK_NUMBER_OF_ANCHORS_CHANGED + 1 ) , + IA2_EVENT_HYPERTEXT_LINK_ACTIVATED = ( IA2_EVENT_HYPERLINK_SELECTED_LINK_CHANGED + 1 ) , + IA2_EVENT_HYPERTEXT_LINK_SELECTED = ( IA2_EVENT_HYPERTEXT_LINK_ACTIVATED + 1 ) , + IA2_EVENT_HYPERLINK_START_INDEX_CHANGED = ( IA2_EVENT_HYPERTEXT_LINK_SELECTED + 1 ) , + IA2_EVENT_HYPERTEXT_CHANGED = ( IA2_EVENT_HYPERLINK_START_INDEX_CHANGED + 1 ) , + IA2_EVENT_HYPERTEXT_NLINKS_CHANGED = ( IA2_EVENT_HYPERTEXT_CHANGED + 1 ) , + IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED = ( IA2_EVENT_HYPERTEXT_NLINKS_CHANGED + 1 ) , + IA2_EVENT_PAGE_CHANGED = ( IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED + 1 ) , + IA2_EVENT_SECTION_CHANGED = ( IA2_EVENT_PAGE_CHANGED + 1 ) , + IA2_EVENT_TABLE_CAPTION_CHANGED = ( IA2_EVENT_SECTION_CHANGED + 1 ) , + IA2_EVENT_TABLE_COLUMN_DESCRIPTION_CHANGED = ( IA2_EVENT_TABLE_CAPTION_CHANGED + 1 ) , + IA2_EVENT_TABLE_COLUMN_HEADER_CHANGED = ( IA2_EVENT_TABLE_COLUMN_DESCRIPTION_CHANGED + 1 ) , + IA2_EVENT_TABLE_MODEL_CHANGED = ( IA2_EVENT_TABLE_COLUMN_HEADER_CHANGED + 1 ) , + IA2_EVENT_TABLE_ROW_DESCRIPTION_CHANGED = ( IA2_EVENT_TABLE_MODEL_CHANGED + 1 ) , + IA2_EVENT_TABLE_ROW_HEADER_CHANGED = ( IA2_EVENT_TABLE_ROW_DESCRIPTION_CHANGED + 1 ) , + IA2_EVENT_TABLE_SUMMARY_CHANGED = ( IA2_EVENT_TABLE_ROW_HEADER_CHANGED + 1 ) , + IA2_EVENT_TEXT_ATTRIBUTE_CHANGED = ( IA2_EVENT_TABLE_SUMMARY_CHANGED + 1 ) , + IA2_EVENT_TEXT_CARET_MOVED = ( IA2_EVENT_TEXT_ATTRIBUTE_CHANGED + 1 ) , + IA2_EVENT_TEXT_CHANGED = ( IA2_EVENT_TEXT_CARET_MOVED + 1 ) , + IA2_EVENT_TEXT_COLUMN_CHANGED = ( IA2_EVENT_TEXT_CHANGED + 1 ) , + IA2_EVENT_TEXT_INSERTED = ( IA2_EVENT_TEXT_COLUMN_CHANGED + 1 ) , + IA2_EVENT_TEXT_REMOVED = ( IA2_EVENT_TEXT_INSERTED + 1 ) , + IA2_EVENT_TEXT_UPDATED = ( IA2_EVENT_TEXT_REMOVED + 1 ) , + IA2_EVENT_TEXT_SELECTION_CHANGED = ( IA2_EVENT_TEXT_UPDATED + 1 ) , + IA2_EVENT_VISIBLE_DATA_CHANGED = ( IA2_EVENT_TEXT_SELECTION_CHANGED + 1 ) + } ; + + +extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0016_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0016_v0_0_s_ifspec; + +#ifndef __IAccessibleApplication_INTERFACE_DEFINED__ +#define __IAccessibleApplication_INTERFACE_DEFINED__ + +/* interface IAccessibleApplication */ +/* [uuid][object] */ + + +EXTERN_C const IID IID_IAccessibleApplication; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("D49DED83-5B25-43F4-9B95-93B44595979E") + IAccessibleApplication : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appName( + /* [retval][out] */ BSTR *name) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appVersion( + /* [retval][out] */ BSTR *version) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_toolkitName( + /* [retval][out] */ BSTR *name) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_toolkitVersion( + /* [retval][out] */ BSTR *version) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAccessibleApplicationVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAccessibleApplication * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAccessibleApplication * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAccessibleApplication * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appName )( + IAccessibleApplication * This, + /* [retval][out] */ BSTR *name); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appVersion )( + IAccessibleApplication * This, + /* [retval][out] */ BSTR *version); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_toolkitName )( + IAccessibleApplication * This, + /* [retval][out] */ BSTR *name); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_toolkitVersion )( + IAccessibleApplication * This, + /* [retval][out] */ BSTR *version); + + END_INTERFACE + } IAccessibleApplicationVtbl; + + interface IAccessibleApplication + { + CONST_VTBL struct IAccessibleApplicationVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAccessibleApplication_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAccessibleApplication_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAccessibleApplication_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAccessibleApplication_get_appName(This,name) \ + ( (This)->lpVtbl -> get_appName(This,name) ) + +#define IAccessibleApplication_get_appVersion(This,version) \ + ( (This)->lpVtbl -> get_appVersion(This,version) ) + +#define IAccessibleApplication_get_toolkitName(This,name) \ + ( (This)->lpVtbl -> get_toolkitName(This,name) ) + +#define IAccessibleApplication_get_toolkitVersion(This,version) \ + ( (This)->lpVtbl -> get_toolkitVersion(This,version) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAccessibleApplication_INTERFACE_DEFINED__ */ + + +#ifndef __IAccessibleDocument_INTERFACE_DEFINED__ +#define __IAccessibleDocument_INTERFACE_DEFINED__ + +/* interface IAccessibleDocument */ +/* [uuid][object] */ + + +EXTERN_C const IID IID_IAccessibleDocument; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("C48C7FCF-4AB5-4056-AFA6-902D6E1D1149") + IAccessibleDocument : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_anchorTarget( + /* [retval][out] */ IUnknown **accessible) = 0; + + }; + +#else /* C style interface */ + + typedef struct IAccessibleDocumentVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAccessibleDocument * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAccessibleDocument * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAccessibleDocument * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_anchorTarget )( + IAccessibleDocument * This, + /* [retval][out] */ IUnknown **accessible); + + END_INTERFACE + } IAccessibleDocumentVtbl; + + interface IAccessibleDocument + { + CONST_VTBL struct IAccessibleDocumentVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAccessibleDocument_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAccessibleDocument_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAccessibleDocument_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAccessibleDocument_get_anchorTarget(This,accessible) \ + ( (This)->lpVtbl -> get_anchorTarget(This,accessible) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAccessibleDocument_INTERFACE_DEFINED__ */ + + +/* interface __MIDL_itf_ia2_api_all_0000_0018 */ +/* [local] */ + + +// Type Library Definitions + + + +extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0018_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0018_v0_0_s_ifspec; + + +#ifndef __IAccessible2Lib_LIBRARY_DEFINED__ +#define __IAccessible2Lib_LIBRARY_DEFINED__ + +/* library IAccessible2Lib */ +/* [hidden][version][helpstring][uuid] */ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +EXTERN_C const IID LIBID_IAccessible2Lib; +#endif /* __IAccessible2Lib_LIBRARY_DEFINED__ */ + +/* Additional Prototypes for ALL interfaces */ + +unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * ); +unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * ); +unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); +void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * ); + +unsigned long __RPC_USER HWND_UserSize( unsigned long *, unsigned long , HWND * ); +unsigned char * __RPC_USER HWND_UserMarshal( unsigned long *, unsigned char *, HWND * ); +unsigned char * __RPC_USER HWND_UserUnmarshal(unsigned long *, unsigned char *, HWND * ); +void __RPC_USER HWND_UserFree( unsigned long *, HWND * ); + +unsigned long __RPC_USER VARIANT_UserSize( unsigned long *, unsigned long , VARIANT * ); +unsigned char * __RPC_USER VARIANT_UserMarshal( unsigned long *, unsigned char *, VARIANT * ); +unsigned char * __RPC_USER VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); +void __RPC_USER VARIANT_UserFree( unsigned long *, VARIANT * ); + +/* end of Additional Prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif + + diff --git a/src/3rdparty/iaccessible2/generated/x86/ia2_api_all.tlb b/src/3rdparty/iaccessible2/generated/x86/ia2_api_all.tlb Binary files differnew file mode 100644 index 0000000000..061ead5903 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/ia2_api_all.tlb diff --git a/src/3rdparty/iaccessible2/generated/x86/ia2_api_all_i.c b/src/3rdparty/iaccessible2/generated/x86/ia2_api_all_i.c new file mode 100644 index 0000000000..c50b3e9a4f --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/ia2_api_all_i.c @@ -0,0 +1,133 @@ + + +/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */ + +/* link this file in with the server and any clients */ + + + /* File created by MIDL compiler version 7.00.0555 */ +/* at Mon Aug 11 14:34:41 2014 + */ +/* Compiler settings for ia2_api_all.idl: + Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 + protocol : dce , ms_ext, c_ext, robust + error checks: allocation ref bounds_check enum stub_data + VC __declspec() decoration level: + __declspec(uuid()), __declspec(selectany), __declspec(novtable) + DECLSPEC_UUID(), MIDL_INTERFACE() +*/ +/* @@MIDL_FILE_HEADING( ) */ + +#pragma warning( disable: 4049 ) /* more than 64k source lines */ + + +#ifdef __cplusplus +extern "C"{ +#endif + + +#include <rpc.h> +#include <rpcndr.h> + +#ifdef _MIDL_USE_GUIDDEF_ + +#ifndef INITGUID +#define INITGUID +#include <guiddef.h> +#undef INITGUID +#else +#include <guiddef.h> +#endif + +#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ + DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) + +#else // !_MIDL_USE_GUIDDEF_ + +#ifndef __IID_DEFINED__ +#define __IID_DEFINED__ + +typedef struct _IID +{ + unsigned long x; + unsigned short s1; + unsigned short s2; + unsigned char c[8]; +} IID; + +#endif // __IID_DEFINED__ + +#ifndef CLSID_DEFINED +#define CLSID_DEFINED +typedef IID CLSID; +#endif // CLSID_DEFINED + +#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ + const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} + +#endif !_MIDL_USE_GUIDDEF_ + +MIDL_DEFINE_GUID(IID, IID_IAccessibleRelation,0x7CDF86EE,0xC3DA,0x496a,0xBD,0xA4,0x28,0x1B,0x33,0x6E,0x1F,0xDC); + + +MIDL_DEFINE_GUID(IID, IID_IAccessibleAction,0xB70D9F59,0x3B5A,0x4dba,0xAB,0x9E,0x22,0x01,0x2F,0x60,0x7D,0xF5); + + +MIDL_DEFINE_GUID(IID, IID_IAccessible2,0xE89F726E,0xC4F4,0x4c19,0xBB,0x19,0xB6,0x47,0xD7,0xFA,0x84,0x78); + + +MIDL_DEFINE_GUID(IID, IID_IAccessible2_2,0x6C9430E9,0x299D,0x4E6F,0xBD,0x01,0xA8,0x2A,0x1E,0x88,0xD3,0xFF); + + +MIDL_DEFINE_GUID(IID, IID_IAccessibleComponent,0x1546D4B0,0x4C98,0x4bda,0x89,0xAE,0x9A,0x64,0x74,0x8B,0xDD,0xE4); + + +MIDL_DEFINE_GUID(IID, IID_IAccessibleValue,0x35855B5B,0xC566,0x4fd0,0xA7,0xB1,0xE6,0x54,0x65,0x60,0x03,0x94); + + +MIDL_DEFINE_GUID(IID, IID_IAccessibleText,0x24FD2FFB,0x3AAD,0x4a08,0x83,0x35,0xA3,0xAD,0x89,0xC0,0xFB,0x4B); + + +MIDL_DEFINE_GUID(IID, IID_IAccessibleText2,0x9690A9CC,0x5C80,0x4DF5,0x85,0x2E,0x2D,0x5A,0xE4,0x18,0x9A,0x54); + + +MIDL_DEFINE_GUID(IID, IID_IAccessibleEditableText,0xA59AA09A,0x7011,0x4b65,0x93,0x9D,0x32,0xB1,0xFB,0x55,0x47,0xE3); + + +MIDL_DEFINE_GUID(IID, IID_IAccessibleHyperlink,0x01C20F2B,0x3DD2,0x400f,0x94,0x9F,0xAD,0x00,0xBD,0xAB,0x1D,0x41); + + +MIDL_DEFINE_GUID(IID, IID_IAccessibleHypertext,0x6B4F8BBF,0xF1F2,0x418a,0xB3,0x5E,0xA1,0x95,0xBC,0x41,0x03,0xB9); + + +MIDL_DEFINE_GUID(IID, IID_IAccessibleHypertext2,0xCF64D89F,0x8287,0x4B44,0x85,0x01,0xA8,0x27,0x45,0x3A,0x60,0x77); + + +MIDL_DEFINE_GUID(IID, IID_IAccessibleTable,0x35AD8070,0xC20C,0x4fb4,0xB0,0x94,0xF4,0xF7,0x27,0x5D,0xD4,0x69); + + +MIDL_DEFINE_GUID(IID, IID_IAccessibleTable2,0x6167f295,0x06f0,0x4cdd,0xa1,0xfa,0x02,0xe2,0x51,0x53,0xd8,0x69); + + +MIDL_DEFINE_GUID(IID, IID_IAccessibleTableCell,0x594116B1,0xC99F,0x4847,0xAD,0x06,0x0A,0x7A,0x86,0xEC,0xE6,0x45); + + +MIDL_DEFINE_GUID(IID, IID_IAccessibleImage,0xFE5ABB3D,0x615E,0x4f7b,0x90,0x9F,0x5F,0x0E,0xDA,0x9E,0x8D,0xDE); + + +MIDL_DEFINE_GUID(IID, IID_IAccessibleApplication,0xD49DED83,0x5B25,0x43F4,0x9B,0x95,0x93,0xB4,0x45,0x95,0x97,0x9E); + + +MIDL_DEFINE_GUID(IID, IID_IAccessibleDocument,0xC48C7FCF,0x4AB5,0x4056,0xAF,0xA6,0x90,0x2D,0x6E,0x1D,0x11,0x49); + + +MIDL_DEFINE_GUID(IID, LIBID_IAccessible2Lib,0xCE3F726E,0xD1D3,0x44FE,0xB9,0x95,0xFF,0x1D,0xB3,0xB4,0x8B,0x2B); + +#undef MIDL_DEFINE_GUID + +#ifdef __cplusplus +} +#endif + + + diff --git a/src/3rdparty/iaccessible2/generated/x86/ia2_api_all_p.c b/src/3rdparty/iaccessible2/generated/x86/ia2_api_all_p.c new file mode 100644 index 0000000000..2d82318622 --- /dev/null +++ b/src/3rdparty/iaccessible2/generated/x86/ia2_api_all_p.c @@ -0,0 +1,7823 @@ + + +/* this ALWAYS GENERATED file contains the proxy stub code */ + + + /* File created by MIDL compiler version 7.00.0555 */ +/* at Mon Aug 11 14:34:41 2014 + */ +/* Compiler settings for ia2_api_all.idl: + Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 + protocol : dce , ms_ext, c_ext, robust + error checks: allocation ref bounds_check enum stub_data + VC __declspec() decoration level: + __declspec(uuid()), __declspec(selectany), __declspec(novtable) + DECLSPEC_UUID(), MIDL_INTERFACE() +*/ +/* @@MIDL_FILE_HEADING( ) */ + +#if !defined(_M_IA64) && !defined(_M_AMD64) + + +#pragma warning( disable: 4049 ) /* more than 64k source lines */ +#if _MSC_VER >= 1200 +#pragma warning(push) +#endif + +#pragma warning( disable: 4211 ) /* redefine extern to static */ +#pragma warning( disable: 4232 ) /* dllimport identity*/ +#pragma warning( disable: 4024 ) /* array to pointer mapping*/ +#pragma warning( disable: 4152 ) /* function/data pointer conversion in expression */ +#pragma warning( disable: 4100 ) /* unreferenced arguments in x86 call */ + +#pragma optimize("", off ) + +#define USE_STUBLESS_PROXY + + +/* verify that the <rpcproxy.h> version is high enough to compile this file*/ +#ifndef __REDQ_RPCPROXY_H_VERSION__ +#define __REQUIRED_RPCPROXY_H_VERSION__ 475 +#endif + + +#include "rpcproxy.h" +#ifndef __RPCPROXY_H_VERSION__ +#error this stub requires an updated version of <rpcproxy.h> +#endif /* __RPCPROXY_H_VERSION__ */ + + +#include "ia2_api_all.h" + +#define TYPE_FORMAT_STRING_SIZE 1513 +#define PROC_FORMAT_STRING_SIZE 5197 +#define EXPR_FORMAT_STRING_SIZE 1 +#define TRANSMIT_AS_TABLE_SIZE 0 +#define WIRE_MARSHAL_TABLE_SIZE 3 + +typedef struct _ia2_api_all_MIDL_TYPE_FORMAT_STRING + { + short Pad; + unsigned char Format[ TYPE_FORMAT_STRING_SIZE ]; + } ia2_api_all_MIDL_TYPE_FORMAT_STRING; + +typedef struct _ia2_api_all_MIDL_PROC_FORMAT_STRING + { + short Pad; + unsigned char Format[ PROC_FORMAT_STRING_SIZE ]; + } ia2_api_all_MIDL_PROC_FORMAT_STRING; + +typedef struct _ia2_api_all_MIDL_EXPR_FORMAT_STRING + { + long Pad; + unsigned char Format[ EXPR_FORMAT_STRING_SIZE ]; + } ia2_api_all_MIDL_EXPR_FORMAT_STRING; + + +static const RPC_SYNTAX_IDENTIFIER _RpcTransferSyntax = +{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}}; + + +extern const ia2_api_all_MIDL_TYPE_FORMAT_STRING ia2_api_all__MIDL_TypeFormatString; +extern const ia2_api_all_MIDL_PROC_FORMAT_STRING ia2_api_all__MIDL_ProcFormatString; +extern const ia2_api_all_MIDL_EXPR_FORMAT_STRING ia2_api_all__MIDL_ExprFormatString; + + +extern const MIDL_STUB_DESC Object_StubDesc; + + +extern const MIDL_SERVER_INFO IAccessibleRelation_ServerInfo; +extern const MIDL_STUBLESS_PROXY_INFO IAccessibleRelation_ProxyInfo; + + +extern const MIDL_STUB_DESC Object_StubDesc; + + +extern const MIDL_SERVER_INFO IAccessibleAction_ServerInfo; +extern const MIDL_STUBLESS_PROXY_INFO IAccessibleAction_ProxyInfo; + + +extern const MIDL_STUB_DESC Object_StubDesc; + + +extern const MIDL_SERVER_INFO IAccessible2_ServerInfo; +extern const MIDL_STUBLESS_PROXY_INFO IAccessible2_ProxyInfo; + + +extern const MIDL_STUB_DESC Object_StubDesc; + + +extern const MIDL_SERVER_INFO IAccessible2_2_ServerInfo; +extern const MIDL_STUBLESS_PROXY_INFO IAccessible2_2_ProxyInfo; + + +extern const MIDL_STUB_DESC Object_StubDesc; + + +extern const MIDL_SERVER_INFO IAccessibleComponent_ServerInfo; +extern const MIDL_STUBLESS_PROXY_INFO IAccessibleComponent_ProxyInfo; + + +extern const MIDL_STUB_DESC Object_StubDesc; + + +extern const MIDL_SERVER_INFO IAccessibleValue_ServerInfo; +extern const MIDL_STUBLESS_PROXY_INFO IAccessibleValue_ProxyInfo; + + +extern const MIDL_STUB_DESC Object_StubDesc; + + +extern const MIDL_SERVER_INFO IAccessibleText_ServerInfo; +extern const MIDL_STUBLESS_PROXY_INFO IAccessibleText_ProxyInfo; + + +extern const MIDL_STUB_DESC Object_StubDesc; + + +extern const MIDL_SERVER_INFO IAccessibleText2_ServerInfo; +extern const MIDL_STUBLESS_PROXY_INFO IAccessibleText2_ProxyInfo; + + +extern const MIDL_STUB_DESC Object_StubDesc; + + +extern const MIDL_SERVER_INFO IAccessibleEditableText_ServerInfo; +extern const MIDL_STUBLESS_PROXY_INFO IAccessibleEditableText_ProxyInfo; + + +extern const MIDL_STUB_DESC Object_StubDesc; + + +extern const MIDL_SERVER_INFO IAccessibleHyperlink_ServerInfo; +extern const MIDL_STUBLESS_PROXY_INFO IAccessibleHyperlink_ProxyInfo; + + +extern const MIDL_STUB_DESC Object_StubDesc; + + +extern const MIDL_SERVER_INFO IAccessibleHypertext_ServerInfo; +extern const MIDL_STUBLESS_PROXY_INFO IAccessibleHypertext_ProxyInfo; + + +extern const MIDL_STUB_DESC Object_StubDesc; + + +extern const MIDL_SERVER_INFO IAccessibleHypertext2_ServerInfo; +extern const MIDL_STUBLESS_PROXY_INFO IAccessibleHypertext2_ProxyInfo; + + +extern const MIDL_STUB_DESC Object_StubDesc; + + +extern const MIDL_SERVER_INFO IAccessibleTable_ServerInfo; +extern const MIDL_STUBLESS_PROXY_INFO IAccessibleTable_ProxyInfo; + + +extern const MIDL_STUB_DESC Object_StubDesc; + + +extern const MIDL_SERVER_INFO IAccessibleTable2_ServerInfo; +extern const MIDL_STUBLESS_PROXY_INFO IAccessibleTable2_ProxyInfo; + + +extern const MIDL_STUB_DESC Object_StubDesc; + + +extern const MIDL_SERVER_INFO IAccessibleTableCell_ServerInfo; +extern const MIDL_STUBLESS_PROXY_INFO IAccessibleTableCell_ProxyInfo; + + +extern const MIDL_STUB_DESC Object_StubDesc; + + +extern const MIDL_SERVER_INFO IAccessibleImage_ServerInfo; +extern const MIDL_STUBLESS_PROXY_INFO IAccessibleImage_ProxyInfo; + + +extern const MIDL_STUB_DESC Object_StubDesc; + + +extern const MIDL_SERVER_INFO IAccessibleApplication_ServerInfo; +extern const MIDL_STUBLESS_PROXY_INFO IAccessibleApplication_ProxyInfo; + + +extern const MIDL_STUB_DESC Object_StubDesc; + + +extern const MIDL_SERVER_INFO IAccessibleDocument_ServerInfo; +extern const MIDL_STUBLESS_PROXY_INFO IAccessibleDocument_ProxyInfo; + + +extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ]; + +#if !defined(__RPC_WIN32__) +#error Invalid build platform for this stub. +#endif + +#if !(TARGET_IS_NT50_OR_LATER) +#error You need Windows 2000 or later to run this stub because it uses these features: +#error /robust command line switch. +#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems. +#error This app will fail with the RPC_X_WRONG_STUB_VERSION error. +#endif + + +static const ia2_api_all_MIDL_PROC_FORMAT_STRING ia2_api_all__MIDL_ProcFormatString = + { + 0, + { + + /* Procedure get_appName */ + + + /* Procedure get_description */ + + + /* Procedure get_relationType */ + + 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2 */ NdrFcLong( 0x0 ), /* 0 */ +/* 6 */ NdrFcShort( 0x3 ), /* 3 */ +/* 8 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 10 */ NdrFcShort( 0x0 ), /* 0 */ +/* 12 */ NdrFcShort( 0x8 ), /* 8 */ +/* 14 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 16 */ 0x8, /* 8 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 18 */ NdrFcShort( 0x1 ), /* 1 */ +/* 20 */ NdrFcShort( 0x0 ), /* 0 */ +/* 22 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter name */ + + + /* Parameter description */ + + + /* Parameter relationType */ + +/* 24 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 26 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 28 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ + + /* Return value */ + + + /* Return value */ + + + /* Return value */ + +/* 30 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 32 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 34 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_appVersion */ + + + /* Procedure get_localizedRelationType */ + +/* 36 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 38 */ NdrFcLong( 0x0 ), /* 0 */ +/* 42 */ NdrFcShort( 0x4 ), /* 4 */ +/* 44 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 46 */ NdrFcShort( 0x0 ), /* 0 */ +/* 48 */ NdrFcShort( 0x8 ), /* 8 */ +/* 50 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 52 */ 0x8, /* 8 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 54 */ NdrFcShort( 0x1 ), /* 1 */ +/* 56 */ NdrFcShort( 0x0 ), /* 0 */ +/* 58 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter version */ + + + /* Parameter localizedRelationType */ + +/* 60 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 62 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 64 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ + + /* Return value */ + + + /* Return value */ + +/* 66 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 68 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 70 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_columnIndex */ + + + /* Procedure get_caretOffset */ + + + /* Procedure get_background */ + + + /* Procedure get_nTargets */ + +/* 72 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 74 */ NdrFcLong( 0x0 ), /* 0 */ +/* 78 */ NdrFcShort( 0x5 ), /* 5 */ +/* 80 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 82 */ NdrFcShort( 0x0 ), /* 0 */ +/* 84 */ NdrFcShort( 0x24 ), /* 36 */ +/* 86 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 88 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 90 */ NdrFcShort( 0x0 ), /* 0 */ +/* 92 */ NdrFcShort( 0x0 ), /* 0 */ +/* 94 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter columnIndex */ + + + /* Parameter offset */ + + + /* Parameter background */ + + + /* Parameter nTargets */ + +/* 96 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 98 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 100 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + + + /* Return value */ + + + /* Return value */ + + + /* Return value */ + +/* 102 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 104 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 106 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_target */ + +/* 108 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 110 */ NdrFcLong( 0x0 ), /* 0 */ +/* 114 */ NdrFcShort( 0x6 ), /* 6 */ +/* 116 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 118 */ NdrFcShort( 0x8 ), /* 8 */ +/* 120 */ NdrFcShort( 0x8 ), /* 8 */ +/* 122 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x3, /* 3 */ +/* 124 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 126 */ NdrFcShort( 0x0 ), /* 0 */ +/* 128 */ NdrFcShort( 0x0 ), /* 0 */ +/* 130 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter targetIndex */ + +/* 132 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 134 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 136 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter target */ + +/* 138 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ +/* 140 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 142 */ NdrFcShort( 0x2e ), /* Type Offset=46 */ + + /* Return value */ + +/* 144 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 146 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 148 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_targets */ + +/* 150 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 152 */ NdrFcLong( 0x0 ), /* 0 */ +/* 156 */ NdrFcShort( 0x7 ), /* 7 */ +/* 158 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 160 */ NdrFcShort( 0x8 ), /* 8 */ +/* 162 */ NdrFcShort( 0x24 ), /* 36 */ +/* 164 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x4, /* 4 */ +/* 166 */ 0x8, /* 8 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 168 */ NdrFcShort( 0x1 ), /* 1 */ +/* 170 */ NdrFcShort( 0x0 ), /* 0 */ +/* 172 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter maxTargets */ + +/* 174 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 176 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 178 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter targets */ + +/* 180 */ NdrFcShort( 0x113 ), /* Flags: must size, must free, out, simple ref, */ +/* 182 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 184 */ NdrFcShort( 0x48 ), /* Type Offset=72 */ + + /* Parameter nTargets */ + +/* 186 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 188 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 190 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 192 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 194 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 196 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_columnExtent */ + + + /* Procedure nActions */ + +/* 198 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 200 */ NdrFcLong( 0x0 ), /* 0 */ +/* 204 */ NdrFcShort( 0x3 ), /* 3 */ +/* 206 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 208 */ NdrFcShort( 0x0 ), /* 0 */ +/* 210 */ NdrFcShort( 0x24 ), /* 36 */ +/* 212 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 214 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 216 */ NdrFcShort( 0x0 ), /* 0 */ +/* 218 */ NdrFcShort( 0x0 ), /* 0 */ +/* 220 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter nColumnsSpanned */ + + + /* Parameter nActions */ + +/* 222 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 224 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 226 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + + + /* Return value */ + +/* 228 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 230 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 232 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure doAction */ + +/* 234 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 236 */ NdrFcLong( 0x0 ), /* 0 */ +/* 240 */ NdrFcShort( 0x4 ), /* 4 */ +/* 242 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 244 */ NdrFcShort( 0x8 ), /* 8 */ +/* 246 */ NdrFcShort( 0x8 ), /* 8 */ +/* 248 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 250 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 252 */ NdrFcShort( 0x0 ), /* 0 */ +/* 254 */ NdrFcShort( 0x0 ), /* 0 */ +/* 256 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter actionIndex */ + +/* 258 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 260 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 262 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 264 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 266 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 268 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_columnDescription */ + + + /* Procedure get_description */ + +/* 270 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 272 */ NdrFcLong( 0x0 ), /* 0 */ +/* 276 */ NdrFcShort( 0x5 ), /* 5 */ +/* 278 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 280 */ NdrFcShort( 0x8 ), /* 8 */ +/* 282 */ NdrFcShort( 0x8 ), /* 8 */ +/* 284 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x3, /* 3 */ +/* 286 */ 0x8, /* 8 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 288 */ NdrFcShort( 0x1 ), /* 1 */ +/* 290 */ NdrFcShort( 0x0 ), /* 0 */ +/* 292 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter column */ + + + /* Parameter actionIndex */ + +/* 294 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 296 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 298 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter description */ + + + /* Parameter description */ + +/* 300 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 302 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 304 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ + + /* Return value */ + + + /* Return value */ + +/* 306 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 308 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 310 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_keyBinding */ + +/* 312 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 314 */ NdrFcLong( 0x0 ), /* 0 */ +/* 318 */ NdrFcShort( 0x6 ), /* 6 */ +/* 320 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ +/* 322 */ NdrFcShort( 0x10 ), /* 16 */ +/* 324 */ NdrFcShort( 0x24 ), /* 36 */ +/* 326 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x5, /* 5 */ +/* 328 */ 0x8, /* 8 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 330 */ NdrFcShort( 0x1 ), /* 1 */ +/* 332 */ NdrFcShort( 0x0 ), /* 0 */ +/* 334 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter actionIndex */ + +/* 336 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 338 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 340 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter nMaxBindings */ + +/* 342 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 344 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 346 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter keyBindings */ + +/* 348 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ +/* 350 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 352 */ NdrFcShort( 0x5e ), /* Type Offset=94 */ + + /* Parameter nBindings */ + +/* 354 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 356 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 358 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 360 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 362 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 364 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_name */ + +/* 366 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 368 */ NdrFcLong( 0x0 ), /* 0 */ +/* 372 */ NdrFcShort( 0x7 ), /* 7 */ +/* 374 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 376 */ NdrFcShort( 0x8 ), /* 8 */ +/* 378 */ NdrFcShort( 0x8 ), /* 8 */ +/* 380 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x3, /* 3 */ +/* 382 */ 0x8, /* 8 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 384 */ NdrFcShort( 0x1 ), /* 1 */ +/* 386 */ NdrFcShort( 0x0 ), /* 0 */ +/* 388 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter actionIndex */ + +/* 390 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 392 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 394 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter name */ + +/* 396 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 398 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 400 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ + + /* Return value */ + +/* 402 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 404 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 406 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_localizedName */ + +/* 408 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 410 */ NdrFcLong( 0x0 ), /* 0 */ +/* 414 */ NdrFcShort( 0x8 ), /* 8 */ +/* 416 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 418 */ NdrFcShort( 0x8 ), /* 8 */ +/* 420 */ NdrFcShort( 0x8 ), /* 8 */ +/* 422 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x3, /* 3 */ +/* 424 */ 0x8, /* 8 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 426 */ NdrFcShort( 0x1 ), /* 1 */ +/* 428 */ NdrFcShort( 0x0 ), /* 0 */ +/* 430 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter actionIndex */ + +/* 432 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 434 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 436 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter localizedName */ + +/* 438 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 440 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 442 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ + + /* Return value */ + +/* 444 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 446 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 448 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_nRelations */ + +/* 450 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 452 */ NdrFcLong( 0x0 ), /* 0 */ +/* 456 */ NdrFcShort( 0x1c ), /* 28 */ +/* 458 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 460 */ NdrFcShort( 0x0 ), /* 0 */ +/* 462 */ NdrFcShort( 0x24 ), /* 36 */ +/* 464 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 466 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 468 */ NdrFcShort( 0x0 ), /* 0 */ +/* 470 */ NdrFcShort( 0x0 ), /* 0 */ +/* 472 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter nRelations */ + +/* 474 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 476 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 478 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 480 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 482 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 484 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_relation */ + +/* 486 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 488 */ NdrFcLong( 0x0 ), /* 0 */ +/* 492 */ NdrFcShort( 0x1d ), /* 29 */ +/* 494 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 496 */ NdrFcShort( 0x8 ), /* 8 */ +/* 498 */ NdrFcShort( 0x8 ), /* 8 */ +/* 500 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x3, /* 3 */ +/* 502 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 504 */ NdrFcShort( 0x0 ), /* 0 */ +/* 506 */ NdrFcShort( 0x0 ), /* 0 */ +/* 508 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter relationIndex */ + +/* 510 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 512 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 514 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter relation */ + +/* 516 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ +/* 518 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 520 */ NdrFcShort( 0x7c ), /* Type Offset=124 */ + + /* Return value */ + +/* 522 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 524 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 526 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_relations */ + +/* 528 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 530 */ NdrFcLong( 0x0 ), /* 0 */ +/* 534 */ NdrFcShort( 0x1e ), /* 30 */ +/* 536 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 538 */ NdrFcShort( 0x8 ), /* 8 */ +/* 540 */ NdrFcShort( 0x24 ), /* 36 */ +/* 542 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x4, /* 4 */ +/* 544 */ 0x8, /* 8 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 546 */ NdrFcShort( 0x1 ), /* 1 */ +/* 548 */ NdrFcShort( 0x0 ), /* 0 */ +/* 550 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter maxRelations */ + +/* 552 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 554 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 556 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter relations */ + +/* 558 */ NdrFcShort( 0x113 ), /* Flags: must size, must free, out, simple ref, */ +/* 560 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 562 */ NdrFcShort( 0x96 ), /* Type Offset=150 */ + + /* Parameter nRelations */ + +/* 564 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 566 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 568 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 570 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 572 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 574 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure role */ + +/* 576 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 578 */ NdrFcLong( 0x0 ), /* 0 */ +/* 582 */ NdrFcShort( 0x1f ), /* 31 */ +/* 584 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 586 */ NdrFcShort( 0x0 ), /* 0 */ +/* 588 */ NdrFcShort( 0x24 ), /* 36 */ +/* 590 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 592 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 594 */ NdrFcShort( 0x0 ), /* 0 */ +/* 596 */ NdrFcShort( 0x0 ), /* 0 */ +/* 598 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter role */ + +/* 600 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 602 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 604 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 606 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 608 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 610 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure scrollTo */ + +/* 612 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 614 */ NdrFcLong( 0x0 ), /* 0 */ +/* 618 */ NdrFcShort( 0x20 ), /* 32 */ +/* 620 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 622 */ NdrFcShort( 0x6 ), /* 6 */ +/* 624 */ NdrFcShort( 0x8 ), /* 8 */ +/* 626 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 628 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 630 */ NdrFcShort( 0x0 ), /* 0 */ +/* 632 */ NdrFcShort( 0x0 ), /* 0 */ +/* 634 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter scrollType */ + +/* 636 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 638 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 640 */ 0xd, /* FC_ENUM16 */ + 0x0, /* 0 */ + + /* Return value */ + +/* 642 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 644 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 646 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure scrollToPoint */ + +/* 648 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 650 */ NdrFcLong( 0x0 ), /* 0 */ +/* 654 */ NdrFcShort( 0x21 ), /* 33 */ +/* 656 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 658 */ NdrFcShort( 0x16 ), /* 22 */ +/* 660 */ NdrFcShort( 0x8 ), /* 8 */ +/* 662 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x4, /* 4 */ +/* 664 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 666 */ NdrFcShort( 0x0 ), /* 0 */ +/* 668 */ NdrFcShort( 0x0 ), /* 0 */ +/* 670 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter coordinateType */ + +/* 672 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 674 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 676 */ 0xd, /* FC_ENUM16 */ + 0x0, /* 0 */ + + /* Parameter x */ + +/* 678 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 680 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 682 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter y */ + +/* 684 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 686 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 688 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 690 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 692 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 694 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_groupPosition */ + +/* 696 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 698 */ NdrFcLong( 0x0 ), /* 0 */ +/* 702 */ NdrFcShort( 0x22 ), /* 34 */ +/* 704 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 706 */ NdrFcShort( 0x0 ), /* 0 */ +/* 708 */ NdrFcShort( 0x5c ), /* 92 */ +/* 710 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x4, /* 4 */ +/* 712 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 714 */ NdrFcShort( 0x0 ), /* 0 */ +/* 716 */ NdrFcShort( 0x0 ), /* 0 */ +/* 718 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter groupLevel */ + +/* 720 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 722 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 724 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter similarItemsInGroup */ + +/* 726 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 728 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 730 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter positionInGroup */ + +/* 732 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 734 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 736 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 738 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 740 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 742 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_states */ + +/* 744 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 746 */ NdrFcLong( 0x0 ), /* 0 */ +/* 750 */ NdrFcShort( 0x23 ), /* 35 */ +/* 752 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 754 */ NdrFcShort( 0x0 ), /* 0 */ +/* 756 */ NdrFcShort( 0x24 ), /* 36 */ +/* 758 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 760 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 762 */ NdrFcShort( 0x0 ), /* 0 */ +/* 764 */ NdrFcShort( 0x0 ), /* 0 */ +/* 766 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter states */ + +/* 768 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 770 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 772 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 774 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 776 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 778 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_extendedRole */ + +/* 780 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 782 */ NdrFcLong( 0x0 ), /* 0 */ +/* 786 */ NdrFcShort( 0x24 ), /* 36 */ +/* 788 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 790 */ NdrFcShort( 0x0 ), /* 0 */ +/* 792 */ NdrFcShort( 0x8 ), /* 8 */ +/* 794 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 796 */ 0x8, /* 8 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 798 */ NdrFcShort( 0x1 ), /* 1 */ +/* 800 */ NdrFcShort( 0x0 ), /* 0 */ +/* 802 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter extendedRole */ + +/* 804 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 806 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 808 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ + + /* Return value */ + +/* 810 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 812 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 814 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_localizedExtendedRole */ + +/* 816 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 818 */ NdrFcLong( 0x0 ), /* 0 */ +/* 822 */ NdrFcShort( 0x25 ), /* 37 */ +/* 824 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 826 */ NdrFcShort( 0x0 ), /* 0 */ +/* 828 */ NdrFcShort( 0x8 ), /* 8 */ +/* 830 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 832 */ 0x8, /* 8 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 834 */ NdrFcShort( 0x1 ), /* 1 */ +/* 836 */ NdrFcShort( 0x0 ), /* 0 */ +/* 838 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter localizedExtendedRole */ + +/* 840 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 842 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 844 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ + + /* Return value */ + +/* 846 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 848 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 850 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_nExtendedStates */ + +/* 852 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 854 */ NdrFcLong( 0x0 ), /* 0 */ +/* 858 */ NdrFcShort( 0x26 ), /* 38 */ +/* 860 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 862 */ NdrFcShort( 0x0 ), /* 0 */ +/* 864 */ NdrFcShort( 0x24 ), /* 36 */ +/* 866 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 868 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 870 */ NdrFcShort( 0x0 ), /* 0 */ +/* 872 */ NdrFcShort( 0x0 ), /* 0 */ +/* 874 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter nExtendedStates */ + +/* 876 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 878 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 880 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 882 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 884 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 886 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_extendedStates */ + +/* 888 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 890 */ NdrFcLong( 0x0 ), /* 0 */ +/* 894 */ NdrFcShort( 0x27 ), /* 39 */ +/* 896 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 898 */ NdrFcShort( 0x8 ), /* 8 */ +/* 900 */ NdrFcShort( 0x24 ), /* 36 */ +/* 902 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x4, /* 4 */ +/* 904 */ 0x8, /* 8 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 906 */ NdrFcShort( 0x1 ), /* 1 */ +/* 908 */ NdrFcShort( 0x0 ), /* 0 */ +/* 910 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter maxExtendedStates */ + +/* 912 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 914 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 916 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter extendedStates */ + +/* 918 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ +/* 920 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 922 */ NdrFcShort( 0xac ), /* Type Offset=172 */ + + /* Parameter nExtendedStates */ + +/* 924 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 926 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 928 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 930 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 932 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 934 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_localizedExtendedStates */ + +/* 936 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 938 */ NdrFcLong( 0x0 ), /* 0 */ +/* 942 */ NdrFcShort( 0x28 ), /* 40 */ +/* 944 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 946 */ NdrFcShort( 0x8 ), /* 8 */ +/* 948 */ NdrFcShort( 0x24 ), /* 36 */ +/* 950 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x4, /* 4 */ +/* 952 */ 0x8, /* 8 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 954 */ NdrFcShort( 0x1 ), /* 1 */ +/* 956 */ NdrFcShort( 0x0 ), /* 0 */ +/* 958 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter maxLocalizedExtendedStates */ + +/* 960 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 962 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 964 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter localizedExtendedStates */ + +/* 966 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ +/* 968 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 970 */ NdrFcShort( 0xac ), /* Type Offset=172 */ + + /* Parameter nLocalizedExtendedStates */ + +/* 972 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 974 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 976 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 978 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 980 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 982 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_uniqueID */ + +/* 984 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 986 */ NdrFcLong( 0x0 ), /* 0 */ +/* 990 */ NdrFcShort( 0x29 ), /* 41 */ +/* 992 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 994 */ NdrFcShort( 0x0 ), /* 0 */ +/* 996 */ NdrFcShort( 0x24 ), /* 36 */ +/* 998 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 1000 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 1002 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1004 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1006 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter uniqueID */ + +/* 1008 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 1010 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 1012 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 1014 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1016 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 1018 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_windowHandle */ + +/* 1020 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1022 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1026 */ NdrFcShort( 0x2a ), /* 42 */ +/* 1028 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 1030 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1032 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1034 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 1036 */ 0x8, /* 8 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 1038 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1040 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1042 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter windowHandle */ + +/* 1044 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 1046 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 1048 */ NdrFcShort( 0xe6 ), /* Type Offset=230 */ + + /* Return value */ + +/* 1050 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1052 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 1054 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_indexInParent */ + +/* 1056 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1058 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1062 */ NdrFcShort( 0x2b ), /* 43 */ +/* 1064 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 1066 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1068 */ NdrFcShort( 0x24 ), /* 36 */ +/* 1070 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 1072 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 1074 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1076 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1078 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter indexInParent */ + +/* 1080 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 1082 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 1084 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 1086 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1088 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 1090 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_locale */ + +/* 1092 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1094 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1098 */ NdrFcShort( 0x2c ), /* 44 */ +/* 1100 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 1102 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1104 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1106 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 1108 */ 0x8, /* 8 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 1110 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1112 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1114 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter locale */ + +/* 1116 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ +/* 1118 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 1120 */ NdrFcShort( 0xf4 ), /* Type Offset=244 */ + + /* Return value */ + +/* 1122 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1124 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 1126 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_attributes */ + +/* 1128 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1130 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1134 */ NdrFcShort( 0x2d ), /* 45 */ +/* 1136 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 1138 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1140 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1142 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 1144 */ 0x8, /* 8 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 1146 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1148 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1150 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter attributes */ + +/* 1152 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 1154 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 1156 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ + + /* Return value */ + +/* 1158 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1160 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 1162 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_attribute */ + +/* 1164 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1166 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1170 */ NdrFcShort( 0x2e ), /* 46 */ +/* 1172 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 1174 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1176 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1178 */ 0x47, /* Oi2 Flags: srv must size, clt must size, has return, has ext, */ + 0x3, /* 3 */ +/* 1180 */ 0x8, /* 8 */ + 0x7, /* Ext Flags: new corr desc, clt corr check, srv corr check, */ +/* 1182 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1184 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1186 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter name */ + +/* 1188 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 1190 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 1192 */ NdrFcShort( 0x10e ), /* Type Offset=270 */ + + /* Parameter attribute */ + +/* 1194 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ +/* 1196 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 1198 */ NdrFcShort( 0x4ee ), /* Type Offset=1262 */ + + /* Return value */ + +/* 1200 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1202 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 1204 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_accessibleWithCaret */ + +/* 1206 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1208 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1212 */ NdrFcShort( 0x2f ), /* 47 */ +/* 1214 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 1216 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1218 */ NdrFcShort( 0x24 ), /* 36 */ +/* 1220 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x3, /* 3 */ +/* 1222 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 1224 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1226 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1228 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter accessible */ + +/* 1230 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ +/* 1232 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 1234 */ NdrFcShort( 0x2e ), /* Type Offset=46 */ + + /* Parameter caretOffset */ + +/* 1236 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 1238 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 1240 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 1242 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1244 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 1246 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_relationTargetsOfType */ + +/* 1248 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1250 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1254 */ NdrFcShort( 0x30 ), /* 48 */ +/* 1256 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ +/* 1258 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1260 */ NdrFcShort( 0x24 ), /* 36 */ +/* 1262 */ 0x47, /* Oi2 Flags: srv must size, clt must size, has return, has ext, */ + 0x5, /* 5 */ +/* 1264 */ 0x8, /* 8 */ + 0x7, /* Ext Flags: new corr desc, clt corr check, srv corr check, */ +/* 1266 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1268 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1270 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter type */ + +/* 1272 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 1274 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 1276 */ NdrFcShort( 0x10e ), /* Type Offset=270 */ + + /* Parameter maxTargets */ + +/* 1278 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 1280 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 1282 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter targets */ + +/* 1284 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ +/* 1286 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 1288 */ NdrFcShort( 0x4f8 ), /* Type Offset=1272 */ + + /* Parameter nTargets */ + +/* 1290 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 1292 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 1294 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 1296 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1298 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 1300 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_locationInParent */ + +/* 1302 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1304 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1308 */ NdrFcShort( 0x3 ), /* 3 */ +/* 1310 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 1312 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1314 */ NdrFcShort( 0x40 ), /* 64 */ +/* 1316 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x3, /* 3 */ +/* 1318 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 1320 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1322 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1324 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter x */ + +/* 1326 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 1328 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 1330 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter y */ + +/* 1332 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 1334 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 1336 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 1338 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1340 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 1342 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_foreground */ + +/* 1344 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1346 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1350 */ NdrFcShort( 0x4 ), /* 4 */ +/* 1352 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 1354 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1356 */ NdrFcShort( 0x24 ), /* 36 */ +/* 1358 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 1360 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 1362 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1364 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1366 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter foreground */ + +/* 1368 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 1370 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 1372 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 1374 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1376 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 1378 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_currentValue */ + +/* 1380 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1382 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1386 */ NdrFcShort( 0x3 ), /* 3 */ +/* 1388 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 1390 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1392 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1394 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 1396 */ 0x8, /* 8 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 1398 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1400 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1402 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter currentValue */ + +/* 1404 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ +/* 1406 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 1408 */ NdrFcShort( 0x4ee ), /* Type Offset=1262 */ + + /* Return value */ + +/* 1410 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1412 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 1414 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure setCurrentValue */ + +/* 1416 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1418 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1422 */ NdrFcShort( 0x4 ), /* 4 */ +/* 1424 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ +/* 1426 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1428 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1430 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ + 0x2, /* 2 */ +/* 1432 */ 0x8, /* 8 */ + 0x5, /* Ext Flags: new corr desc, srv corr check, */ +/* 1434 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1436 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1438 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter value */ + +/* 1440 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 1442 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 1444 */ NdrFcShort( 0x51a ), /* Type Offset=1306 */ + + /* Return value */ + +/* 1446 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1448 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 1450 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_maximumValue */ + +/* 1452 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1454 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1458 */ NdrFcShort( 0x5 ), /* 5 */ +/* 1460 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 1462 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1464 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1466 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 1468 */ 0x8, /* 8 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 1470 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1472 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1474 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter maximumValue */ + +/* 1476 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ +/* 1478 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 1480 */ NdrFcShort( 0x4ee ), /* Type Offset=1262 */ + + /* Return value */ + +/* 1482 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1484 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 1486 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_minimumValue */ + +/* 1488 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1490 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1494 */ NdrFcShort( 0x6 ), /* 6 */ +/* 1496 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 1498 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1500 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1502 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 1504 */ 0x8, /* 8 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 1506 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1508 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1510 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter minimumValue */ + +/* 1512 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ +/* 1514 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 1516 */ NdrFcShort( 0x4ee ), /* Type Offset=1262 */ + + /* Return value */ + +/* 1518 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1520 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 1522 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure copyText */ + + + /* Procedure addSelection */ + +/* 1524 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1526 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1530 */ NdrFcShort( 0x3 ), /* 3 */ +/* 1532 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 1534 */ NdrFcShort( 0x10 ), /* 16 */ +/* 1536 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1538 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x3, /* 3 */ +/* 1540 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 1542 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1544 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1546 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter startOffset */ + + + /* Parameter startOffset */ + +/* 1548 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 1550 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 1552 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter endOffset */ + + + /* Parameter endOffset */ + +/* 1554 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 1556 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 1558 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + + + /* Return value */ + +/* 1560 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1562 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 1564 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_attributes */ + +/* 1566 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1568 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1572 */ NdrFcShort( 0x4 ), /* 4 */ +/* 1574 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ +/* 1576 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1578 */ NdrFcShort( 0x40 ), /* 64 */ +/* 1580 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x5, /* 5 */ +/* 1582 */ 0x8, /* 8 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 1584 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1586 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1588 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter offset */ + +/* 1590 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 1592 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 1594 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter startOffset */ + +/* 1596 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 1598 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 1600 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter endOffset */ + +/* 1602 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 1604 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 1606 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter textAttributes */ + +/* 1608 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 1610 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 1612 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ + + /* Return value */ + +/* 1614 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1616 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 1618 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_characterExtents */ + +/* 1620 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1622 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1626 */ NdrFcShort( 0x6 ), /* 6 */ +/* 1628 */ NdrFcShort( 0x20 ), /* x86 Stack size/offset = 32 */ +/* 1630 */ NdrFcShort( 0xe ), /* 14 */ +/* 1632 */ NdrFcShort( 0x78 ), /* 120 */ +/* 1634 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x7, /* 7 */ +/* 1636 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 1638 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1640 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1642 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter offset */ + +/* 1644 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 1646 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 1648 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter coordType */ + +/* 1650 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 1652 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 1654 */ 0xd, /* FC_ENUM16 */ + 0x0, /* 0 */ + + /* Parameter x */ + +/* 1656 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 1658 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 1660 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter y */ + +/* 1662 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 1664 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 1666 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter width */ + +/* 1668 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 1670 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 1672 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter height */ + +/* 1674 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 1676 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ +/* 1678 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 1680 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1682 */ NdrFcShort( 0x1c ), /* x86 Stack size/offset = 28 */ +/* 1684 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_nRows */ + + + /* Procedure get_nSelections */ + +/* 1686 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1688 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1692 */ NdrFcShort( 0x7 ), /* 7 */ +/* 1694 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 1696 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1698 */ NdrFcShort( 0x24 ), /* 36 */ +/* 1700 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 1702 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 1704 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1706 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1708 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter rowCount */ + + + /* Parameter nSelections */ + +/* 1710 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 1712 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 1714 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + + + /* Return value */ + +/* 1716 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1718 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 1720 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_offsetAtPoint */ + +/* 1722 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1724 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1728 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1730 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ +/* 1732 */ NdrFcShort( 0x16 ), /* 22 */ +/* 1734 */ NdrFcShort( 0x24 ), /* 36 */ +/* 1736 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x5, /* 5 */ +/* 1738 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 1740 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1742 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1744 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter x */ + +/* 1746 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 1748 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 1750 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter y */ + +/* 1752 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 1754 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 1756 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter coordType */ + +/* 1758 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 1760 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 1762 */ 0xd, /* FC_ENUM16 */ + 0x0, /* 0 */ + + /* Parameter offset */ + +/* 1764 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 1766 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 1768 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 1770 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1772 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 1774 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_selection */ + +/* 1776 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1778 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1782 */ NdrFcShort( 0x9 ), /* 9 */ +/* 1784 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 1786 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1788 */ NdrFcShort( 0x40 ), /* 64 */ +/* 1790 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x4, /* 4 */ +/* 1792 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 1794 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1796 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1798 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter selectionIndex */ + +/* 1800 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 1802 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 1804 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter startOffset */ + +/* 1806 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 1808 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 1810 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter endOffset */ + +/* 1812 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 1814 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 1816 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 1818 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1820 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 1822 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_text */ + +/* 1824 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1826 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1830 */ NdrFcShort( 0xa ), /* 10 */ +/* 1832 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 1834 */ NdrFcShort( 0x10 ), /* 16 */ +/* 1836 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1838 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x4, /* 4 */ +/* 1840 */ 0x8, /* 8 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 1842 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1844 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1846 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter startOffset */ + +/* 1848 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 1850 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 1852 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter endOffset */ + +/* 1854 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 1856 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 1858 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter text */ + +/* 1860 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 1862 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 1864 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ + + /* Return value */ + +/* 1866 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1868 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 1870 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_textBeforeOffset */ + +/* 1872 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1874 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1878 */ NdrFcShort( 0xb ), /* 11 */ +/* 1880 */ NdrFcShort( 0x1c ), /* x86 Stack size/offset = 28 */ +/* 1882 */ NdrFcShort( 0xe ), /* 14 */ +/* 1884 */ NdrFcShort( 0x40 ), /* 64 */ +/* 1886 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x6, /* 6 */ +/* 1888 */ 0x8, /* 8 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 1890 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1892 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1894 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter offset */ + +/* 1896 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 1898 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 1900 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter boundaryType */ + +/* 1902 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 1904 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 1906 */ 0xd, /* FC_ENUM16 */ + 0x0, /* 0 */ + + /* Parameter startOffset */ + +/* 1908 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 1910 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 1912 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter endOffset */ + +/* 1914 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 1916 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 1918 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter text */ + +/* 1920 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 1922 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 1924 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ + + /* Return value */ + +/* 1926 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1928 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ +/* 1930 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_textAfterOffset */ + +/* 1932 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1934 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1938 */ NdrFcShort( 0xc ), /* 12 */ +/* 1940 */ NdrFcShort( 0x1c ), /* x86 Stack size/offset = 28 */ +/* 1942 */ NdrFcShort( 0xe ), /* 14 */ +/* 1944 */ NdrFcShort( 0x40 ), /* 64 */ +/* 1946 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x6, /* 6 */ +/* 1948 */ 0x8, /* 8 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 1950 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1952 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1954 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter offset */ + +/* 1956 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 1958 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 1960 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter boundaryType */ + +/* 1962 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 1964 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 1966 */ 0xd, /* FC_ENUM16 */ + 0x0, /* 0 */ + + /* Parameter startOffset */ + +/* 1968 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 1970 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 1972 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter endOffset */ + +/* 1974 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 1976 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 1978 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter text */ + +/* 1980 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 1982 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 1984 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ + + /* Return value */ + +/* 1986 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1988 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ +/* 1990 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_textAtOffset */ + +/* 1992 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1994 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1998 */ NdrFcShort( 0xd ), /* 13 */ +/* 2000 */ NdrFcShort( 0x1c ), /* x86 Stack size/offset = 28 */ +/* 2002 */ NdrFcShort( 0xe ), /* 14 */ +/* 2004 */ NdrFcShort( 0x40 ), /* 64 */ +/* 2006 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x6, /* 6 */ +/* 2008 */ 0x8, /* 8 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 2010 */ NdrFcShort( 0x1 ), /* 1 */ +/* 2012 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2014 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter offset */ + +/* 2016 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2018 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 2020 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter boundaryType */ + +/* 2022 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2024 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 2026 */ 0xd, /* FC_ENUM16 */ + 0x0, /* 0 */ + + /* Parameter startOffset */ + +/* 2028 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 2030 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 2032 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter endOffset */ + +/* 2034 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 2036 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 2038 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter text */ + +/* 2040 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 2042 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 2044 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ + + /* Return value */ + +/* 2046 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2048 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ +/* 2050 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure removeSelection */ + +/* 2052 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2054 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2058 */ NdrFcShort( 0xe ), /* 14 */ +/* 2060 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 2062 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2064 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2066 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 2068 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 2070 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2072 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2074 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter selectionIndex */ + +/* 2076 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2078 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 2080 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 2082 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2084 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 2086 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure setCaretOffset */ + +/* 2088 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2090 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2094 */ NdrFcShort( 0xf ), /* 15 */ +/* 2096 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 2098 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2100 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2102 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 2104 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 2106 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2108 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2110 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter offset */ + +/* 2112 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2114 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 2116 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 2118 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2120 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 2122 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure setSelection */ + +/* 2124 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2126 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2130 */ NdrFcShort( 0x10 ), /* 16 */ +/* 2132 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 2134 */ NdrFcShort( 0x18 ), /* 24 */ +/* 2136 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2138 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x4, /* 4 */ +/* 2140 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 2142 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2144 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2146 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter selectionIndex */ + +/* 2148 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2150 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 2152 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter startOffset */ + +/* 2154 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2156 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 2158 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter endOffset */ + +/* 2160 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2162 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 2164 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 2166 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2168 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 2170 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_nCharacters */ + +/* 2172 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2174 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2178 */ NdrFcShort( 0x11 ), /* 17 */ +/* 2180 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 2182 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2184 */ NdrFcShort( 0x24 ), /* 36 */ +/* 2186 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 2188 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 2190 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2192 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2194 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter nCharacters */ + +/* 2196 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 2198 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 2200 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 2202 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2204 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 2206 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure scrollSubstringTo */ + +/* 2208 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2210 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2214 */ NdrFcShort( 0x12 ), /* 18 */ +/* 2216 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 2218 */ NdrFcShort( 0x16 ), /* 22 */ +/* 2220 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2222 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x4, /* 4 */ +/* 2224 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 2226 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2228 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2230 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter startIndex */ + +/* 2232 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2234 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 2236 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter endIndex */ + +/* 2238 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2240 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 2242 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter scrollType */ + +/* 2244 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2246 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 2248 */ 0xd, /* FC_ENUM16 */ + 0x0, /* 0 */ + + /* Return value */ + +/* 2250 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2252 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 2254 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure scrollSubstringToPoint */ + +/* 2256 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2258 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2262 */ NdrFcShort( 0x13 ), /* 19 */ +/* 2264 */ NdrFcShort( 0x1c ), /* x86 Stack size/offset = 28 */ +/* 2266 */ NdrFcShort( 0x26 ), /* 38 */ +/* 2268 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2270 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x6, /* 6 */ +/* 2272 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 2274 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2276 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2278 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter startIndex */ + +/* 2280 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2282 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 2284 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter endIndex */ + +/* 2286 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2288 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 2290 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter coordinateType */ + +/* 2292 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2294 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 2296 */ 0xd, /* FC_ENUM16 */ + 0x0, /* 0 */ + + /* Parameter x */ + +/* 2298 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2300 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 2302 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter y */ + +/* 2304 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2306 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 2308 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 2310 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2312 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ +/* 2314 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_newText */ + +/* 2316 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2318 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2322 */ NdrFcShort( 0x14 ), /* 20 */ +/* 2324 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 2326 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2328 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2330 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 2332 */ 0x8, /* 8 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 2334 */ NdrFcShort( 0x1 ), /* 1 */ +/* 2336 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2338 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter newText */ + +/* 2340 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ +/* 2342 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 2344 */ NdrFcShort( 0x528 ), /* Type Offset=1320 */ + + /* Return value */ + +/* 2346 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2348 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 2350 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_oldText */ + +/* 2352 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2354 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2358 */ NdrFcShort( 0x15 ), /* 21 */ +/* 2360 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 2362 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2364 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2366 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 2368 */ 0x8, /* 8 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 2370 */ NdrFcShort( 0x1 ), /* 1 */ +/* 2372 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2374 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter oldText */ + +/* 2376 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ +/* 2378 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 2380 */ NdrFcShort( 0x528 ), /* Type Offset=1320 */ + + /* Return value */ + +/* 2382 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2384 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 2386 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_attributeRange */ + +/* 2388 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2390 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2394 */ NdrFcShort( 0x16 ), /* 22 */ +/* 2396 */ NdrFcShort( 0x1c ), /* x86 Stack size/offset = 28 */ +/* 2398 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2400 */ NdrFcShort( 0x40 ), /* 64 */ +/* 2402 */ 0x47, /* Oi2 Flags: srv must size, clt must size, has return, has ext, */ + 0x6, /* 6 */ +/* 2404 */ 0x8, /* 8 */ + 0x7, /* Ext Flags: new corr desc, clt corr check, srv corr check, */ +/* 2406 */ NdrFcShort( 0x1 ), /* 1 */ +/* 2408 */ NdrFcShort( 0x1 ), /* 1 */ +/* 2410 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter offset */ + +/* 2412 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2414 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 2416 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter filter */ + +/* 2418 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 2420 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 2422 */ NdrFcShort( 0x10e ), /* Type Offset=270 */ + + /* Parameter startOffset */ + +/* 2424 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 2426 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 2428 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter endOffset */ + +/* 2430 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 2432 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 2434 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter attributeValues */ + +/* 2436 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 2438 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 2440 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ + + /* Return value */ + +/* 2442 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2444 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ +/* 2446 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure deleteText */ + +/* 2448 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2450 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2454 */ NdrFcShort( 0x4 ), /* 4 */ +/* 2456 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 2458 */ NdrFcShort( 0x10 ), /* 16 */ +/* 2460 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2462 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x3, /* 3 */ +/* 2464 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 2466 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2468 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2470 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter startOffset */ + +/* 2472 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2474 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 2476 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter endOffset */ + +/* 2478 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2480 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 2482 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 2484 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2486 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 2488 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure insertText */ + +/* 2490 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2492 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2496 */ NdrFcShort( 0x5 ), /* 5 */ +/* 2498 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 2500 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2502 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2504 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ + 0x3, /* 3 */ +/* 2506 */ 0x8, /* 8 */ + 0x5, /* Ext Flags: new corr desc, srv corr check, */ +/* 2508 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2510 */ NdrFcShort( 0x1 ), /* 1 */ +/* 2512 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter offset */ + +/* 2514 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2516 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 2518 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter text */ + +/* 2520 */ NdrFcShort( 0x10b ), /* Flags: must size, must free, in, simple ref, */ +/* 2522 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 2524 */ NdrFcShort( 0x10e ), /* Type Offset=270 */ + + /* Return value */ + +/* 2526 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2528 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 2530 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure cutText */ + +/* 2532 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2534 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2538 */ NdrFcShort( 0x6 ), /* 6 */ +/* 2540 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 2542 */ NdrFcShort( 0x10 ), /* 16 */ +/* 2544 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2546 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x3, /* 3 */ +/* 2548 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 2550 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2552 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2554 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter startOffset */ + +/* 2556 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2558 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 2560 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter endOffset */ + +/* 2562 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2564 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 2566 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 2568 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2570 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 2572 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure pasteText */ + +/* 2574 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2576 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2580 */ NdrFcShort( 0x7 ), /* 7 */ +/* 2582 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 2584 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2586 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2588 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 2590 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 2592 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2594 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2596 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter offset */ + +/* 2598 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2600 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 2602 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 2604 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2606 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 2608 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure replaceText */ + +/* 2610 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2612 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2616 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2618 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 2620 */ NdrFcShort( 0x10 ), /* 16 */ +/* 2622 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2624 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ + 0x4, /* 4 */ +/* 2626 */ 0x8, /* 8 */ + 0x5, /* Ext Flags: new corr desc, srv corr check, */ +/* 2628 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2630 */ NdrFcShort( 0x1 ), /* 1 */ +/* 2632 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter startOffset */ + +/* 2634 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2636 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 2638 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter endOffset */ + +/* 2640 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2642 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 2644 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter text */ + +/* 2646 */ NdrFcShort( 0x10b ), /* Flags: must size, must free, in, simple ref, */ +/* 2648 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 2650 */ NdrFcShort( 0x10e ), /* Type Offset=270 */ + + /* Return value */ + +/* 2652 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2654 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 2656 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure setAttributes */ + +/* 2658 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2660 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2664 */ NdrFcShort( 0x9 ), /* 9 */ +/* 2666 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 2668 */ NdrFcShort( 0x10 ), /* 16 */ +/* 2670 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2672 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ + 0x4, /* 4 */ +/* 2674 */ 0x8, /* 8 */ + 0x5, /* Ext Flags: new corr desc, srv corr check, */ +/* 2676 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2678 */ NdrFcShort( 0x1 ), /* 1 */ +/* 2680 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter startOffset */ + +/* 2682 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2684 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 2686 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter endOffset */ + +/* 2688 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2690 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 2692 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter attributes */ + +/* 2694 */ NdrFcShort( 0x10b ), /* Flags: must size, must free, in, simple ref, */ +/* 2696 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 2698 */ NdrFcShort( 0x10e ), /* Type Offset=270 */ + + /* Return value */ + +/* 2700 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2702 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 2704 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_anchor */ + +/* 2706 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2708 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2712 */ NdrFcShort( 0x9 ), /* 9 */ +/* 2714 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 2716 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2718 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2720 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x3, /* 3 */ +/* 2722 */ 0x8, /* 8 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 2724 */ NdrFcShort( 0x1 ), /* 1 */ +/* 2726 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2728 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter index */ + +/* 2730 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2732 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 2734 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter anchor */ + +/* 2736 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ +/* 2738 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 2740 */ NdrFcShort( 0x4ee ), /* Type Offset=1262 */ + + /* Return value */ + +/* 2742 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2744 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 2746 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_anchorTarget */ + +/* 2748 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2750 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2754 */ NdrFcShort( 0xa ), /* 10 */ +/* 2756 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 2758 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2760 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2762 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x3, /* 3 */ +/* 2764 */ 0x8, /* 8 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 2766 */ NdrFcShort( 0x1 ), /* 1 */ +/* 2768 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2770 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter index */ + +/* 2772 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2774 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 2776 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter anchorTarget */ + +/* 2778 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ +/* 2780 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 2782 */ NdrFcShort( 0x4ee ), /* Type Offset=1262 */ + + /* Return value */ + +/* 2784 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2786 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 2788 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_nRows */ + + + /* Procedure get_startIndex */ + +/* 2790 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2792 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2796 */ NdrFcShort( 0xb ), /* 11 */ +/* 2798 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 2800 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2802 */ NdrFcShort( 0x24 ), /* 36 */ +/* 2804 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 2806 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 2808 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2810 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2812 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter rowCount */ + + + /* Parameter index */ + +/* 2814 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 2816 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 2818 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + + + /* Return value */ + +/* 2820 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2822 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 2824 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_nSelectedChildren */ + + + /* Procedure get_endIndex */ + +/* 2826 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2828 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2832 */ NdrFcShort( 0xc ), /* 12 */ +/* 2834 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 2836 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2838 */ NdrFcShort( 0x24 ), /* 36 */ +/* 2840 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 2842 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 2844 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2846 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2848 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter cellCount */ + + + /* Parameter index */ + +/* 2850 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 2852 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 2854 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + + + /* Return value */ + +/* 2856 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2858 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 2860 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_valid */ + +/* 2862 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2864 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2868 */ NdrFcShort( 0xd ), /* 13 */ +/* 2870 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 2872 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2874 */ NdrFcShort( 0x21 ), /* 33 */ +/* 2876 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 2878 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 2880 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2882 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2884 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter valid */ + +/* 2886 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 2888 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 2890 */ 0x3, /* FC_SMALL */ + 0x0, /* 0 */ + + /* Return value */ + +/* 2892 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2894 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 2896 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_nHyperlinks */ + +/* 2898 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2900 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2904 */ NdrFcShort( 0x16 ), /* 22 */ +/* 2906 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 2908 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2910 */ NdrFcShort( 0x24 ), /* 36 */ +/* 2912 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 2914 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 2916 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2918 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2920 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter hyperlinkCount */ + +/* 2922 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 2924 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 2926 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 2928 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2930 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 2932 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_hyperlink */ + +/* 2934 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2936 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2940 */ NdrFcShort( 0x17 ), /* 23 */ +/* 2942 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 2944 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2946 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2948 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x3, /* 3 */ +/* 2950 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 2952 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2954 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2956 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter index */ + +/* 2958 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2960 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 2962 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter hyperlink */ + +/* 2964 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ +/* 2966 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 2968 */ NdrFcShort( 0x540 ), /* Type Offset=1344 */ + + /* Return value */ + +/* 2970 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2972 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 2974 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_hyperlinkIndex */ + +/* 2976 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2978 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2982 */ NdrFcShort( 0x18 ), /* 24 */ +/* 2984 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 2986 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2988 */ NdrFcShort( 0x24 ), /* 36 */ +/* 2990 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x3, /* 3 */ +/* 2992 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 2994 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2996 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2998 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter charIndex */ + +/* 3000 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 3002 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 3004 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter hyperlinkIndex */ + +/* 3006 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 3008 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 3010 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 3012 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3014 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 3016 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_hyperlinks */ + +/* 3018 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3020 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3024 */ NdrFcShort( 0x19 ), /* 25 */ +/* 3026 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 3028 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3030 */ NdrFcShort( 0x24 ), /* 36 */ +/* 3032 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x3, /* 3 */ +/* 3034 */ 0x8, /* 8 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 3036 */ NdrFcShort( 0x1 ), /* 1 */ +/* 3038 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3040 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter hyperlinks */ + +/* 3042 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ +/* 3044 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 3046 */ NdrFcShort( 0x556 ), /* Type Offset=1366 */ + + /* Parameter nHyperlinks */ + +/* 3048 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 3050 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 3052 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 3054 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3056 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 3058 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_cellAt */ + + + /* Procedure get_accessibleAt */ + +/* 3060 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3062 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3066 */ NdrFcShort( 0x3 ), /* 3 */ +/* 3068 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 3070 */ NdrFcShort( 0x10 ), /* 16 */ +/* 3072 */ NdrFcShort( 0x8 ), /* 8 */ +/* 3074 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x4, /* 4 */ +/* 3076 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 3078 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3080 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3082 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter row */ + + + /* Parameter row */ + +/* 3084 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 3086 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 3088 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter column */ + + + /* Parameter column */ + +/* 3090 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 3092 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 3094 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter cell */ + + + /* Parameter accessible */ + +/* 3096 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ +/* 3098 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 3100 */ NdrFcShort( 0x2e ), /* Type Offset=46 */ + + /* Return value */ + + + /* Return value */ + +/* 3102 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3104 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 3106 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_caption */ + + + /* Procedure get_caption */ + +/* 3108 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3110 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3114 */ NdrFcShort( 0x4 ), /* 4 */ +/* 3116 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 3118 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3120 */ NdrFcShort( 0x8 ), /* 8 */ +/* 3122 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 3124 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 3126 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3128 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3130 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter accessible */ + + + /* Parameter accessible */ + +/* 3132 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ +/* 3134 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 3136 */ NdrFcShort( 0x2e ), /* Type Offset=46 */ + + /* Return value */ + + + /* Return value */ + +/* 3138 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3140 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 3142 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_childIndex */ + +/* 3144 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3146 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3150 */ NdrFcShort( 0x5 ), /* 5 */ +/* 3152 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 3154 */ NdrFcShort( 0x10 ), /* 16 */ +/* 3156 */ NdrFcShort( 0x24 ), /* 36 */ +/* 3158 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x4, /* 4 */ +/* 3160 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 3162 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3164 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3166 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter rowIndex */ + +/* 3168 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 3170 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 3172 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter columnIndex */ + +/* 3174 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 3176 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 3178 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter cellIndex */ + +/* 3180 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 3182 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 3184 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 3186 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3188 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 3190 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_columnDescription */ + +/* 3192 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3194 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3198 */ NdrFcShort( 0x6 ), /* 6 */ +/* 3200 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 3202 */ NdrFcShort( 0x8 ), /* 8 */ +/* 3204 */ NdrFcShort( 0x8 ), /* 8 */ +/* 3206 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x3, /* 3 */ +/* 3208 */ 0x8, /* 8 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 3210 */ NdrFcShort( 0x1 ), /* 1 */ +/* 3212 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3214 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter column */ + +/* 3216 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 3218 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 3220 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter description */ + +/* 3222 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 3224 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 3226 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ + + /* Return value */ + +/* 3228 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3230 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 3232 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_columnExtentAt */ + +/* 3234 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3236 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3240 */ NdrFcShort( 0x7 ), /* 7 */ +/* 3242 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 3244 */ NdrFcShort( 0x10 ), /* 16 */ +/* 3246 */ NdrFcShort( 0x24 ), /* 36 */ +/* 3248 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x4, /* 4 */ +/* 3250 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 3252 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3254 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3256 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter row */ + +/* 3258 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 3260 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 3262 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter column */ + +/* 3264 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 3266 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 3268 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter nColumnsSpanned */ + +/* 3270 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 3272 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 3274 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 3276 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3278 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 3280 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_columnHeader */ + +/* 3282 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3284 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3288 */ NdrFcShort( 0x8 ), /* 8 */ +/* 3290 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 3292 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3294 */ NdrFcShort( 0x24 ), /* 36 */ +/* 3296 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x3, /* 3 */ +/* 3298 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 3300 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3302 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3304 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter accessibleTable */ + +/* 3306 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ +/* 3308 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 3310 */ NdrFcShort( 0x574 ), /* Type Offset=1396 */ + + /* Parameter startingRowIndex */ + +/* 3312 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 3314 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 3316 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 3318 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3320 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 3322 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_columnIndex */ + +/* 3324 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3326 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3330 */ NdrFcShort( 0x9 ), /* 9 */ +/* 3332 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 3334 */ NdrFcShort( 0x8 ), /* 8 */ +/* 3336 */ NdrFcShort( 0x24 ), /* 36 */ +/* 3338 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x3, /* 3 */ +/* 3340 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 3342 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3344 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3346 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter cellIndex */ + +/* 3348 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 3350 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 3352 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter columnIndex */ + +/* 3354 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 3356 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 3358 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 3360 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3362 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 3364 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_nSelectedRows */ + + + /* Procedure get_nColumns */ + +/* 3366 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3368 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3372 */ NdrFcShort( 0xa ), /* 10 */ +/* 3374 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 3376 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3378 */ NdrFcShort( 0x24 ), /* 36 */ +/* 3380 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 3382 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 3384 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3386 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3388 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter rowCount */ + + + /* Parameter columnCount */ + +/* 3390 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 3392 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 3394 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + + + /* Return value */ + +/* 3396 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3398 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 3400 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_nSelectedColumns */ + +/* 3402 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3404 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3408 */ NdrFcShort( 0xd ), /* 13 */ +/* 3410 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 3412 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3414 */ NdrFcShort( 0x24 ), /* 36 */ +/* 3416 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 3418 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 3420 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3422 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3424 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter columnCount */ + +/* 3426 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 3428 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 3430 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 3432 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3434 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 3436 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_nSelectedRows */ + +/* 3438 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3440 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3444 */ NdrFcShort( 0xe ), /* 14 */ +/* 3446 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 3448 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3450 */ NdrFcShort( 0x24 ), /* 36 */ +/* 3452 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 3454 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 3456 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3458 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3460 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter rowCount */ + +/* 3462 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 3464 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 3466 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 3468 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3470 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 3472 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_rowDescription */ + +/* 3474 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3476 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3480 */ NdrFcShort( 0xf ), /* 15 */ +/* 3482 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 3484 */ NdrFcShort( 0x8 ), /* 8 */ +/* 3486 */ NdrFcShort( 0x8 ), /* 8 */ +/* 3488 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x3, /* 3 */ +/* 3490 */ 0x8, /* 8 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 3492 */ NdrFcShort( 0x1 ), /* 1 */ +/* 3494 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3496 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter row */ + +/* 3498 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 3500 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 3502 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter description */ + +/* 3504 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 3506 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 3508 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ + + /* Return value */ + +/* 3510 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3512 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 3514 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_rowExtentAt */ + +/* 3516 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3518 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3522 */ NdrFcShort( 0x10 ), /* 16 */ +/* 3524 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 3526 */ NdrFcShort( 0x10 ), /* 16 */ +/* 3528 */ NdrFcShort( 0x24 ), /* 36 */ +/* 3530 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x4, /* 4 */ +/* 3532 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 3534 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3536 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3538 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter row */ + +/* 3540 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 3542 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 3544 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter column */ + +/* 3546 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 3548 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 3550 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter nRowsSpanned */ + +/* 3552 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 3554 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 3556 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 3558 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3560 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 3562 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_rowHeader */ + +/* 3564 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3566 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3570 */ NdrFcShort( 0x11 ), /* 17 */ +/* 3572 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 3574 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3576 */ NdrFcShort( 0x24 ), /* 36 */ +/* 3578 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x3, /* 3 */ +/* 3580 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 3582 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3584 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3586 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter accessibleTable */ + +/* 3588 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ +/* 3590 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 3592 */ NdrFcShort( 0x574 ), /* Type Offset=1396 */ + + /* Parameter startingColumnIndex */ + +/* 3594 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 3596 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 3598 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 3600 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3602 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 3604 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_rowIndex */ + +/* 3606 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3608 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3612 */ NdrFcShort( 0x12 ), /* 18 */ +/* 3614 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 3616 */ NdrFcShort( 0x8 ), /* 8 */ +/* 3618 */ NdrFcShort( 0x24 ), /* 36 */ +/* 3620 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x3, /* 3 */ +/* 3622 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 3624 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3626 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3628 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter cellIndex */ + +/* 3630 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 3632 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 3634 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter rowIndex */ + +/* 3636 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 3638 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 3640 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 3642 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3644 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 3646 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_selectedChildren */ + +/* 3648 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3650 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3654 */ NdrFcShort( 0x13 ), /* 19 */ +/* 3656 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 3658 */ NdrFcShort( 0x8 ), /* 8 */ +/* 3660 */ NdrFcShort( 0x24 ), /* 36 */ +/* 3662 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x4, /* 4 */ +/* 3664 */ 0x8, /* 8 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 3666 */ NdrFcShort( 0x1 ), /* 1 */ +/* 3668 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3670 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter maxChildren */ + +/* 3672 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 3674 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 3676 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter children */ + +/* 3678 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ +/* 3680 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 3682 */ NdrFcShort( 0x58a ), /* Type Offset=1418 */ + + /* Parameter nChildren */ + +/* 3684 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 3686 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 3688 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 3690 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3692 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 3694 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_selectedColumns */ + +/* 3696 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3698 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3702 */ NdrFcShort( 0x14 ), /* 20 */ +/* 3704 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 3706 */ NdrFcShort( 0x8 ), /* 8 */ +/* 3708 */ NdrFcShort( 0x24 ), /* 36 */ +/* 3710 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x4, /* 4 */ +/* 3712 */ 0x8, /* 8 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 3714 */ NdrFcShort( 0x1 ), /* 1 */ +/* 3716 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3718 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter maxColumns */ + +/* 3720 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 3722 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 3724 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter columns */ + +/* 3726 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ +/* 3728 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 3730 */ NdrFcShort( 0x58a ), /* Type Offset=1418 */ + + /* Parameter nColumns */ + +/* 3732 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 3734 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 3736 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 3738 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3740 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 3742 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_selectedRows */ + +/* 3744 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3746 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3750 */ NdrFcShort( 0x15 ), /* 21 */ +/* 3752 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 3754 */ NdrFcShort( 0x8 ), /* 8 */ +/* 3756 */ NdrFcShort( 0x24 ), /* 36 */ +/* 3758 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x4, /* 4 */ +/* 3760 */ 0x8, /* 8 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 3762 */ NdrFcShort( 0x1 ), /* 1 */ +/* 3764 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3766 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter maxRows */ + +/* 3768 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 3770 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 3772 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter rows */ + +/* 3774 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ +/* 3776 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 3778 */ NdrFcShort( 0x58a ), /* Type Offset=1418 */ + + /* Parameter nRows */ + +/* 3780 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 3782 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 3784 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 3786 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3788 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 3790 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_summary */ + +/* 3792 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3794 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3798 */ NdrFcShort( 0x16 ), /* 22 */ +/* 3800 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 3802 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3804 */ NdrFcShort( 0x8 ), /* 8 */ +/* 3806 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 3808 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 3810 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3812 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3814 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter accessible */ + +/* 3816 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ +/* 3818 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 3820 */ NdrFcShort( 0x2e ), /* Type Offset=46 */ + + /* Return value */ + +/* 3822 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3824 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 3826 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_isColumnSelected */ + +/* 3828 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3830 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3834 */ NdrFcShort( 0x17 ), /* 23 */ +/* 3836 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 3838 */ NdrFcShort( 0x8 ), /* 8 */ +/* 3840 */ NdrFcShort( 0x21 ), /* 33 */ +/* 3842 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x3, /* 3 */ +/* 3844 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 3846 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3848 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3850 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter column */ + +/* 3852 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 3854 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 3856 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter isSelected */ + +/* 3858 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 3860 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 3862 */ 0x3, /* FC_SMALL */ + 0x0, /* 0 */ + + /* Return value */ + +/* 3864 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3866 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 3868 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_isRowSelected */ + +/* 3870 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3872 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3876 */ NdrFcShort( 0x18 ), /* 24 */ +/* 3878 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 3880 */ NdrFcShort( 0x8 ), /* 8 */ +/* 3882 */ NdrFcShort( 0x21 ), /* 33 */ +/* 3884 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x3, /* 3 */ +/* 3886 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 3888 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3890 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3892 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter row */ + +/* 3894 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 3896 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 3898 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter isSelected */ + +/* 3900 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 3902 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 3904 */ 0x3, /* FC_SMALL */ + 0x0, /* 0 */ + + /* Return value */ + +/* 3906 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3908 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 3910 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_isSelected */ + +/* 3912 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3914 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3918 */ NdrFcShort( 0x19 ), /* 25 */ +/* 3920 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 3922 */ NdrFcShort( 0x10 ), /* 16 */ +/* 3924 */ NdrFcShort( 0x21 ), /* 33 */ +/* 3926 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x4, /* 4 */ +/* 3928 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 3930 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3932 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3934 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter row */ + +/* 3936 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 3938 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 3940 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter column */ + +/* 3942 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 3944 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 3946 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter isSelected */ + +/* 3948 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 3950 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 3952 */ 0x3, /* FC_SMALL */ + 0x0, /* 0 */ + + /* Return value */ + +/* 3954 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3956 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 3958 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure selectRow */ + +/* 3960 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3962 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3966 */ NdrFcShort( 0x1a ), /* 26 */ +/* 3968 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 3970 */ NdrFcShort( 0x8 ), /* 8 */ +/* 3972 */ NdrFcShort( 0x8 ), /* 8 */ +/* 3974 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 3976 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 3978 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3980 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3982 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter row */ + +/* 3984 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 3986 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 3988 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 3990 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3992 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 3994 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure selectColumn */ + +/* 3996 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3998 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4002 */ NdrFcShort( 0x1b ), /* 27 */ +/* 4004 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 4006 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4008 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4010 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 4012 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 4014 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4016 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4018 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter column */ + +/* 4020 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 4022 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 4024 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 4026 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4028 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 4030 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure unselectRow */ + +/* 4032 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4034 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4038 */ NdrFcShort( 0x1c ), /* 28 */ +/* 4040 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 4042 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4044 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4046 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 4048 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 4050 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4052 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4054 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter row */ + +/* 4056 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 4058 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 4060 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 4062 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4064 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 4066 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure unselectColumn */ + +/* 4068 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4070 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4074 */ NdrFcShort( 0x1d ), /* 29 */ +/* 4076 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 4078 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4080 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4082 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 4084 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 4086 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4088 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4090 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter column */ + +/* 4092 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 4094 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 4096 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 4098 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4100 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 4102 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_rowColumnExtentsAtIndex */ + +/* 4104 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4106 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4110 */ NdrFcShort( 0x1e ), /* 30 */ +/* 4112 */ NdrFcShort( 0x20 ), /* x86 Stack size/offset = 32 */ +/* 4114 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4116 */ NdrFcShort( 0x91 ), /* 145 */ +/* 4118 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x7, /* 7 */ +/* 4120 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 4122 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4124 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4126 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter index */ + +/* 4128 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 4130 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 4132 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter row */ + +/* 4134 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 4136 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 4138 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter column */ + +/* 4140 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 4142 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 4144 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter rowExtents */ + +/* 4146 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 4148 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 4150 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter columnExtents */ + +/* 4152 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 4154 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 4156 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter isSelected */ + +/* 4158 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 4160 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ +/* 4162 */ 0x3, /* FC_SMALL */ + 0x0, /* 0 */ + + /* Return value */ + +/* 4164 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4166 */ NdrFcShort( 0x1c ), /* x86 Stack size/offset = 28 */ +/* 4168 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_modelChange */ + +/* 4170 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4172 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4176 */ NdrFcShort( 0x1f ), /* 31 */ +/* 4178 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 4180 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4182 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4184 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 4186 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 4188 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4190 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4192 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter modelChange */ + +/* 4194 */ NdrFcShort( 0x6113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=24 */ +/* 4196 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 4198 */ NdrFcShort( 0x5a8 ), /* Type Offset=1448 */ + + /* Return value */ + +/* 4200 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4202 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 4204 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_rowExtent */ + + + /* Procedure get_nColumns */ + +/* 4206 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4208 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4212 */ NdrFcShort( 0x6 ), /* 6 */ +/* 4214 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 4216 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4218 */ NdrFcShort( 0x24 ), /* 36 */ +/* 4220 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 4222 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 4224 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4226 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4228 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter nRowsSpanned */ + + + /* Parameter columnCount */ + +/* 4230 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 4232 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 4234 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + + + /* Return value */ + +/* 4236 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4238 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 4240 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_rowIndex */ + + + /* Procedure get_nSelectedCells */ + +/* 4242 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4244 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4248 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4250 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 4252 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4254 */ NdrFcShort( 0x24 ), /* 36 */ +/* 4256 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 4258 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 4260 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4262 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4264 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter rowIndex */ + + + /* Parameter cellCount */ + +/* 4266 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 4268 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 4270 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + + + /* Return value */ + +/* 4272 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4274 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 4276 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_nSelectedColumns */ + +/* 4278 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4280 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4284 */ NdrFcShort( 0x9 ), /* 9 */ +/* 4286 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 4288 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4290 */ NdrFcShort( 0x24 ), /* 36 */ +/* 4292 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 4294 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 4296 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4298 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4300 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter columnCount */ + +/* 4302 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 4304 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 4306 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 4308 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4310 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 4312 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_rowDescription */ + +/* 4314 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4316 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4320 */ NdrFcShort( 0xb ), /* 11 */ +/* 4322 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 4324 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4326 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4328 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x3, /* 3 */ +/* 4330 */ 0x8, /* 8 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 4332 */ NdrFcShort( 0x1 ), /* 1 */ +/* 4334 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4336 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter row */ + +/* 4338 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 4340 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 4342 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter description */ + +/* 4344 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 4346 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 4348 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ + + /* Return value */ + +/* 4350 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4352 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 4354 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_selectedCells */ + +/* 4356 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4358 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4362 */ NdrFcShort( 0xc ), /* 12 */ +/* 4364 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 4366 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4368 */ NdrFcShort( 0x24 ), /* 36 */ +/* 4370 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x3, /* 3 */ +/* 4372 */ 0x8, /* 8 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 4374 */ NdrFcShort( 0x1 ), /* 1 */ +/* 4376 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4378 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter cells */ + +/* 4380 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ +/* 4382 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 4384 */ NdrFcShort( 0x5b6 ), /* Type Offset=1462 */ + + /* Parameter nSelectedCells */ + +/* 4386 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 4388 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 4390 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 4392 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4394 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 4396 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_selectedColumns */ + +/* 4398 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4400 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4404 */ NdrFcShort( 0xd ), /* 13 */ +/* 4406 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 4408 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4410 */ NdrFcShort( 0x24 ), /* 36 */ +/* 4412 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x3, /* 3 */ +/* 4414 */ 0x8, /* 8 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 4416 */ NdrFcShort( 0x1 ), /* 1 */ +/* 4418 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4420 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter selectedColumns */ + +/* 4422 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ +/* 4424 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 4426 */ NdrFcShort( 0x5d4 ), /* Type Offset=1492 */ + + /* Parameter nColumns */ + +/* 4428 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 4430 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 4432 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 4434 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4436 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 4438 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_selectedRows */ + +/* 4440 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4442 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4446 */ NdrFcShort( 0xe ), /* 14 */ +/* 4448 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 4450 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4452 */ NdrFcShort( 0x24 ), /* 36 */ +/* 4454 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x3, /* 3 */ +/* 4456 */ 0x8, /* 8 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 4458 */ NdrFcShort( 0x1 ), /* 1 */ +/* 4460 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4462 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter selectedRows */ + +/* 4464 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ +/* 4466 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 4468 */ NdrFcShort( 0x5d4 ), /* Type Offset=1492 */ + + /* Parameter nRows */ + +/* 4470 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 4472 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 4474 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 4476 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4478 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 4480 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_summary */ + +/* 4482 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4484 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4488 */ NdrFcShort( 0xf ), /* 15 */ +/* 4490 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 4492 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4494 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4496 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 4498 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 4500 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4502 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4504 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter accessible */ + +/* 4506 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ +/* 4508 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 4510 */ NdrFcShort( 0x2e ), /* Type Offset=46 */ + + /* Return value */ + +/* 4512 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4514 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 4516 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_isColumnSelected */ + +/* 4518 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4520 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4524 */ NdrFcShort( 0x10 ), /* 16 */ +/* 4526 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 4528 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4530 */ NdrFcShort( 0x21 ), /* 33 */ +/* 4532 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x3, /* 3 */ +/* 4534 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 4536 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4538 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4540 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter column */ + +/* 4542 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 4544 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 4546 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter isSelected */ + +/* 4548 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 4550 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 4552 */ 0x3, /* FC_SMALL */ + 0x0, /* 0 */ + + /* Return value */ + +/* 4554 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4556 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 4558 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_isRowSelected */ + +/* 4560 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4562 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4566 */ NdrFcShort( 0x11 ), /* 17 */ +/* 4568 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 4570 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4572 */ NdrFcShort( 0x21 ), /* 33 */ +/* 4574 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x3, /* 3 */ +/* 4576 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 4578 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4580 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4582 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter row */ + +/* 4584 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 4586 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 4588 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter isSelected */ + +/* 4590 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 4592 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 4594 */ 0x3, /* FC_SMALL */ + 0x0, /* 0 */ + + /* Return value */ + +/* 4596 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4598 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 4600 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure selectRow */ + +/* 4602 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4604 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4608 */ NdrFcShort( 0x12 ), /* 18 */ +/* 4610 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 4612 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4614 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4616 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 4618 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 4620 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4622 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4624 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter row */ + +/* 4626 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 4628 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 4630 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 4632 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4634 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 4636 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure selectColumn */ + +/* 4638 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4640 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4644 */ NdrFcShort( 0x13 ), /* 19 */ +/* 4646 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 4648 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4650 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4652 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 4654 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 4656 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4658 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4660 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter column */ + +/* 4662 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 4664 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 4666 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 4668 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4670 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 4672 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure unselectRow */ + +/* 4674 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4676 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4680 */ NdrFcShort( 0x14 ), /* 20 */ +/* 4682 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 4684 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4686 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4688 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 4690 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 4692 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4694 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4696 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter row */ + +/* 4698 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 4700 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 4702 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 4704 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4706 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 4708 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure unselectColumn */ + +/* 4710 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4712 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4716 */ NdrFcShort( 0x15 ), /* 21 */ +/* 4718 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 4720 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4722 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4724 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 4726 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 4728 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4730 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4732 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter column */ + +/* 4734 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 4736 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 4738 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 4740 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4742 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 4744 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_modelChange */ + +/* 4746 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4748 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4752 */ NdrFcShort( 0x16 ), /* 22 */ +/* 4754 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 4756 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4758 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4760 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 4762 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 4764 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4766 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4768 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter modelChange */ + +/* 4770 */ NdrFcShort( 0x6113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=24 */ +/* 4772 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 4774 */ NdrFcShort( 0x5a8 ), /* Type Offset=1448 */ + + /* Return value */ + +/* 4776 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4778 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 4780 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_columnHeaderCells */ + +/* 4782 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4784 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4788 */ NdrFcShort( 0x4 ), /* 4 */ +/* 4790 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 4792 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4794 */ NdrFcShort( 0x24 ), /* 36 */ +/* 4796 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x3, /* 3 */ +/* 4798 */ 0x8, /* 8 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 4800 */ NdrFcShort( 0x1 ), /* 1 */ +/* 4802 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4804 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter cellAccessibles */ + +/* 4806 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ +/* 4808 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 4810 */ NdrFcShort( 0x5b6 ), /* Type Offset=1462 */ + + /* Parameter nColumnHeaderCells */ + +/* 4812 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 4814 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 4816 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 4818 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4820 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 4822 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_rowHeaderCells */ + +/* 4824 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4826 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4830 */ NdrFcShort( 0x7 ), /* 7 */ +/* 4832 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 4834 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4836 */ NdrFcShort( 0x24 ), /* 36 */ +/* 4838 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x3, /* 3 */ +/* 4840 */ 0x8, /* 8 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 4842 */ NdrFcShort( 0x1 ), /* 1 */ +/* 4844 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4846 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter cellAccessibles */ + +/* 4848 */ NdrFcShort( 0x2013 ), /* Flags: must size, must free, out, srv alloc size=8 */ +/* 4850 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 4852 */ NdrFcShort( 0x5b6 ), /* Type Offset=1462 */ + + /* Parameter nRowHeaderCells */ + +/* 4854 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 4856 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 4858 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 4860 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4862 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 4864 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_isSelected */ + +/* 4866 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4868 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4872 */ NdrFcShort( 0x9 ), /* 9 */ +/* 4874 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 4876 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4878 */ NdrFcShort( 0x21 ), /* 33 */ +/* 4880 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ +/* 4882 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 4884 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4886 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4888 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter isSelected */ + +/* 4890 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 4892 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 4894 */ 0x3, /* FC_SMALL */ + 0x0, /* 0 */ + + /* Return value */ + +/* 4896 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4898 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 4900 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_rowColumnExtents */ + +/* 4902 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4904 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4908 */ NdrFcShort( 0xa ), /* 10 */ +/* 4910 */ NdrFcShort( 0x1c ), /* x86 Stack size/offset = 28 */ +/* 4912 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4914 */ NdrFcShort( 0x91 ), /* 145 */ +/* 4916 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x6, /* 6 */ +/* 4918 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 4920 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4922 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4924 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter row */ + +/* 4926 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 4928 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 4930 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter column */ + +/* 4932 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 4934 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 4936 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter rowExtents */ + +/* 4938 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 4940 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 4942 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter columnExtents */ + +/* 4944 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 4946 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 4948 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter isSelected */ + +/* 4950 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 4952 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 4954 */ 0x3, /* FC_SMALL */ + 0x0, /* 0 */ + + /* Return value */ + +/* 4956 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4958 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ +/* 4960 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_table */ + +/* 4962 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 4964 */ NdrFcLong( 0x0 ), /* 0 */ +/* 4968 */ NdrFcShort( 0xb ), /* 11 */ +/* 4970 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 4972 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4974 */ NdrFcShort( 0x8 ), /* 8 */ +/* 4976 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 4978 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 4980 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4982 */ NdrFcShort( 0x0 ), /* 0 */ +/* 4984 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter table */ + +/* 4986 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ +/* 4988 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 4990 */ NdrFcShort( 0x2e ), /* Type Offset=46 */ + + /* Return value */ + +/* 4992 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 4994 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 4996 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_imagePosition */ + +/* 4998 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 5000 */ NdrFcLong( 0x0 ), /* 0 */ +/* 5004 */ NdrFcShort( 0x4 ), /* 4 */ +/* 5006 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 5008 */ NdrFcShort( 0x6 ), /* 6 */ +/* 5010 */ NdrFcShort( 0x40 ), /* 64 */ +/* 5012 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x4, /* 4 */ +/* 5014 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 5016 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5018 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5020 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter coordinateType */ + +/* 5022 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 5024 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 5026 */ 0xd, /* FC_ENUM16 */ + 0x0, /* 0 */ + + /* Parameter x */ + +/* 5028 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 5030 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 5032 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter y */ + +/* 5034 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 5036 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 5038 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 5040 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 5042 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 5044 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_imageSize */ + +/* 5046 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 5048 */ NdrFcLong( 0x0 ), /* 0 */ +/* 5052 */ NdrFcShort( 0x5 ), /* 5 */ +/* 5054 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 5056 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5058 */ NdrFcShort( 0x40 ), /* 64 */ +/* 5060 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x3, /* 3 */ +/* 5062 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 5064 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5066 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5068 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter height */ + +/* 5070 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 5072 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 5074 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Parameter width */ + +/* 5076 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 5078 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 5080 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Return value */ + +/* 5082 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 5084 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 5086 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_toolkitName */ + +/* 5088 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 5090 */ NdrFcLong( 0x0 ), /* 0 */ +/* 5094 */ NdrFcShort( 0x5 ), /* 5 */ +/* 5096 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 5098 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5100 */ NdrFcShort( 0x8 ), /* 8 */ +/* 5102 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 5104 */ 0x8, /* 8 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 5106 */ NdrFcShort( 0x1 ), /* 1 */ +/* 5108 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5110 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter name */ + +/* 5112 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 5114 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 5116 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ + + /* Return value */ + +/* 5118 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 5120 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 5122 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_toolkitVersion */ + +/* 5124 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 5126 */ NdrFcLong( 0x0 ), /* 0 */ +/* 5130 */ NdrFcShort( 0x6 ), /* 6 */ +/* 5132 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 5134 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5136 */ NdrFcShort( 0x8 ), /* 8 */ +/* 5138 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 5140 */ 0x8, /* 8 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 5142 */ NdrFcShort( 0x1 ), /* 1 */ +/* 5144 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5146 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter version */ + +/* 5148 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 5150 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 5152 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ + + /* Return value */ + +/* 5154 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 5156 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 5158 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure get_anchorTarget */ + +/* 5160 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 5162 */ NdrFcLong( 0x0 ), /* 0 */ +/* 5166 */ NdrFcShort( 0x3 ), /* 3 */ +/* 5168 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 5170 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5172 */ NdrFcShort( 0x8 ), /* 8 */ +/* 5174 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ +/* 5176 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 5178 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5180 */ NdrFcShort( 0x0 ), /* 0 */ +/* 5182 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter accessible */ + +/* 5184 */ NdrFcShort( 0x13 ), /* Flags: must size, must free, out, */ +/* 5186 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 5188 */ NdrFcShort( 0x2e ), /* Type Offset=46 */ + + /* Return value */ + +/* 5190 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 5192 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 5194 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + 0x0 + } + }; + +static const ia2_api_all_MIDL_TYPE_FORMAT_STRING ia2_api_all__MIDL_TypeFormatString = + { + 0, + { + NdrFcShort( 0x0 ), /* 0 */ +/* 2 */ + 0x11, 0x4, /* FC_RP [alloced_on_stack] */ +/* 4 */ NdrFcShort( 0x1c ), /* Offset= 28 (32) */ +/* 6 */ + 0x13, 0x0, /* FC_OP */ +/* 8 */ NdrFcShort( 0xe ), /* Offset= 14 (22) */ +/* 10 */ + 0x1b, /* FC_CARRAY */ + 0x1, /* 1 */ +/* 12 */ NdrFcShort( 0x2 ), /* 2 */ +/* 14 */ 0x9, /* Corr desc: FC_ULONG */ + 0x0, /* */ +/* 16 */ NdrFcShort( 0xfffc ), /* -4 */ +/* 18 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 20 */ 0x6, /* FC_SHORT */ + 0x5b, /* FC_END */ +/* 22 */ + 0x17, /* FC_CSTRUCT */ + 0x3, /* 3 */ +/* 24 */ NdrFcShort( 0x8 ), /* 8 */ +/* 26 */ NdrFcShort( 0xfff0 ), /* Offset= -16 (10) */ +/* 28 */ 0x8, /* FC_LONG */ + 0x8, /* FC_LONG */ +/* 30 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 32 */ 0xb4, /* FC_USER_MARSHAL */ + 0x83, /* 131 */ +/* 34 */ NdrFcShort( 0x0 ), /* 0 */ +/* 36 */ NdrFcShort( 0x4 ), /* 4 */ +/* 38 */ NdrFcShort( 0x0 ), /* 0 */ +/* 40 */ NdrFcShort( 0xffde ), /* Offset= -34 (6) */ +/* 42 */ + 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */ +/* 44 */ 0x8, /* FC_LONG */ + 0x5c, /* FC_PAD */ +/* 46 */ + 0x11, 0x10, /* FC_RP [pointer_deref] */ +/* 48 */ NdrFcShort( 0x2 ), /* Offset= 2 (50) */ +/* 50 */ + 0x2f, /* FC_IP */ + 0x5a, /* FC_CONSTANT_IID */ +/* 52 */ NdrFcLong( 0x0 ), /* 0 */ +/* 56 */ NdrFcShort( 0x0 ), /* 0 */ +/* 58 */ NdrFcShort( 0x0 ), /* 0 */ +/* 60 */ 0xc0, /* 192 */ + 0x0, /* 0 */ +/* 62 */ 0x0, /* 0 */ + 0x0, /* 0 */ +/* 64 */ 0x0, /* 0 */ + 0x0, /* 0 */ +/* 66 */ 0x0, /* 0 */ + 0x46, /* 70 */ +/* 68 */ + 0x11, 0x0, /* FC_RP */ +/* 70 */ NdrFcShort( 0x2 ), /* Offset= 2 (72) */ +/* 72 */ + 0x21, /* FC_BOGUS_ARRAY */ + 0x3, /* 3 */ +/* 74 */ NdrFcShort( 0x0 ), /* 0 */ +/* 76 */ 0x28, /* Corr desc: parameter, FC_LONG */ + 0x0, /* */ +/* 78 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 80 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 82 */ 0x28, /* Corr desc: parameter, FC_LONG */ + 0x54, /* FC_DEREFERENCE */ +/* 84 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 86 */ NdrFcShort( 0x0 ), /* Corr flags: */ +/* 88 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ + 0x0, /* 0 */ +/* 90 */ NdrFcShort( 0xffd8 ), /* Offset= -40 (50) */ +/* 92 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 94 */ + 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */ +/* 96 */ NdrFcShort( 0x2 ), /* Offset= 2 (98) */ +/* 98 */ + 0x13, 0x0, /* FC_OP */ +/* 100 */ NdrFcShort( 0x2 ), /* Offset= 2 (102) */ +/* 102 */ + 0x21, /* FC_BOGUS_ARRAY */ + 0x3, /* 3 */ +/* 104 */ NdrFcShort( 0x0 ), /* 0 */ +/* 106 */ 0x28, /* Corr desc: parameter, FC_LONG */ + 0x0, /* */ +/* 108 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 110 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 112 */ 0x28, /* Corr desc: parameter, FC_LONG */ + 0x54, /* FC_DEREFERENCE */ +/* 114 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 116 */ NdrFcShort( 0x0 ), /* Corr flags: */ +/* 118 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ + 0x0, /* 0 */ +/* 120 */ NdrFcShort( 0xffa8 ), /* Offset= -88 (32) */ +/* 122 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 124 */ + 0x11, 0x10, /* FC_RP [pointer_deref] */ +/* 126 */ NdrFcShort( 0x2 ), /* Offset= 2 (128) */ +/* 128 */ + 0x2f, /* FC_IP */ + 0x5a, /* FC_CONSTANT_IID */ +/* 130 */ NdrFcLong( 0x7cdf86ee ), /* 2095023854 */ +/* 134 */ NdrFcShort( 0xc3da ), /* -15398 */ +/* 136 */ NdrFcShort( 0x496a ), /* 18794 */ +/* 138 */ 0xbd, /* 189 */ + 0xa4, /* 164 */ +/* 140 */ 0x28, /* 40 */ + 0x1b, /* 27 */ +/* 142 */ 0x33, /* 51 */ + 0x6e, /* 110 */ +/* 144 */ 0x1f, /* 31 */ + 0xdc, /* 220 */ +/* 146 */ + 0x11, 0x0, /* FC_RP */ +/* 148 */ NdrFcShort( 0x2 ), /* Offset= 2 (150) */ +/* 150 */ + 0x21, /* FC_BOGUS_ARRAY */ + 0x3, /* 3 */ +/* 152 */ NdrFcShort( 0x0 ), /* 0 */ +/* 154 */ 0x28, /* Corr desc: parameter, FC_LONG */ + 0x0, /* */ +/* 156 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 158 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 160 */ 0x28, /* Corr desc: parameter, FC_LONG */ + 0x54, /* FC_DEREFERENCE */ +/* 162 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 164 */ NdrFcShort( 0x0 ), /* Corr flags: */ +/* 166 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ + 0x0, /* 0 */ +/* 168 */ NdrFcShort( 0xffd8 ), /* Offset= -40 (128) */ +/* 170 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 172 */ + 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */ +/* 174 */ NdrFcShort( 0x2 ), /* Offset= 2 (176) */ +/* 176 */ + 0x13, 0x0, /* FC_OP */ +/* 178 */ NdrFcShort( 0x2 ), /* Offset= 2 (180) */ +/* 180 */ + 0x21, /* FC_BOGUS_ARRAY */ + 0x3, /* 3 */ +/* 182 */ NdrFcShort( 0x0 ), /* 0 */ +/* 184 */ 0x28, /* Corr desc: parameter, FC_LONG */ + 0x0, /* */ +/* 186 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 188 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 190 */ 0x28, /* Corr desc: parameter, FC_LONG */ + 0x54, /* FC_DEREFERENCE */ +/* 192 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 194 */ NdrFcShort( 0x0 ), /* Corr flags: */ +/* 196 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ + 0x0, /* 0 */ +/* 198 */ NdrFcShort( 0xff5a ), /* Offset= -166 (32) */ +/* 200 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 202 */ + 0x11, 0x4, /* FC_RP [alloced_on_stack] */ +/* 204 */ NdrFcShort( 0x1a ), /* Offset= 26 (230) */ +/* 206 */ + 0x13, 0x0, /* FC_OP */ +/* 208 */ NdrFcShort( 0x2 ), /* Offset= 2 (210) */ +/* 210 */ + 0x2a, /* FC_ENCAPSULATED_UNION */ + 0x48, /* 72 */ +/* 212 */ NdrFcShort( 0x4 ), /* 4 */ +/* 214 */ NdrFcShort( 0x2 ), /* 2 */ +/* 216 */ NdrFcLong( 0x48746457 ), /* 1215587415 */ +/* 220 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ +/* 222 */ NdrFcLong( 0x52746457 ), /* 1383359575 */ +/* 226 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ +/* 228 */ NdrFcShort( 0xffff ), /* Offset= -1 (227) */ +/* 230 */ 0xb4, /* FC_USER_MARSHAL */ + 0x83, /* 131 */ +/* 232 */ NdrFcShort( 0x1 ), /* 1 */ +/* 234 */ NdrFcShort( 0x4 ), /* 4 */ +/* 236 */ NdrFcShort( 0x0 ), /* 0 */ +/* 238 */ NdrFcShort( 0xffe0 ), /* Offset= -32 (206) */ +/* 240 */ + 0x11, 0x4, /* FC_RP [alloced_on_stack] */ +/* 242 */ NdrFcShort( 0x2 ), /* Offset= 2 (244) */ +/* 244 */ + 0x1a, /* FC_BOGUS_STRUCT */ + 0x3, /* 3 */ +/* 246 */ NdrFcShort( 0xc ), /* 12 */ +/* 248 */ NdrFcShort( 0x0 ), /* 0 */ +/* 250 */ NdrFcShort( 0x0 ), /* Offset= 0 (250) */ +/* 252 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ + 0x0, /* 0 */ +/* 254 */ NdrFcShort( 0xff22 ), /* Offset= -222 (32) */ +/* 256 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ + 0x0, /* 0 */ +/* 258 */ NdrFcShort( 0xff1e ), /* Offset= -226 (32) */ +/* 260 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ + 0x0, /* 0 */ +/* 262 */ NdrFcShort( 0xff1a ), /* Offset= -230 (32) */ +/* 264 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 266 */ + 0x12, 0x0, /* FC_UP */ +/* 268 */ NdrFcShort( 0xff0a ), /* Offset= -246 (22) */ +/* 270 */ 0xb4, /* FC_USER_MARSHAL */ + 0x83, /* 131 */ +/* 272 */ NdrFcShort( 0x0 ), /* 0 */ +/* 274 */ NdrFcShort( 0x4 ), /* 4 */ +/* 276 */ NdrFcShort( 0x0 ), /* 0 */ +/* 278 */ NdrFcShort( 0xfff4 ), /* Offset= -12 (266) */ +/* 280 */ + 0x11, 0x4, /* FC_RP [alloced_on_stack] */ +/* 282 */ NdrFcShort( 0x3d4 ), /* Offset= 980 (1262) */ +/* 284 */ + 0x13, 0x0, /* FC_OP */ +/* 286 */ NdrFcShort( 0x3bc ), /* Offset= 956 (1242) */ +/* 288 */ + 0x2b, /* FC_NON_ENCAPSULATED_UNION */ + 0x9, /* FC_ULONG */ +/* 290 */ 0x7, /* Corr desc: FC_USHORT */ + 0x0, /* */ +/* 292 */ NdrFcShort( 0xfff8 ), /* -8 */ +/* 294 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 296 */ NdrFcShort( 0x2 ), /* Offset= 2 (298) */ +/* 298 */ NdrFcShort( 0x10 ), /* 16 */ +/* 300 */ NdrFcShort( 0x2f ), /* 47 */ +/* 302 */ NdrFcLong( 0x14 ), /* 20 */ +/* 306 */ NdrFcShort( 0x800b ), /* Simple arm type: FC_HYPER */ +/* 308 */ NdrFcLong( 0x3 ), /* 3 */ +/* 312 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ +/* 314 */ NdrFcLong( 0x11 ), /* 17 */ +/* 318 */ NdrFcShort( 0x8001 ), /* Simple arm type: FC_BYTE */ +/* 320 */ NdrFcLong( 0x2 ), /* 2 */ +/* 324 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */ +/* 326 */ NdrFcLong( 0x4 ), /* 4 */ +/* 330 */ NdrFcShort( 0x800a ), /* Simple arm type: FC_FLOAT */ +/* 332 */ NdrFcLong( 0x5 ), /* 5 */ +/* 336 */ NdrFcShort( 0x800c ), /* Simple arm type: FC_DOUBLE */ +/* 338 */ NdrFcLong( 0xb ), /* 11 */ +/* 342 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */ +/* 344 */ NdrFcLong( 0xa ), /* 10 */ +/* 348 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ +/* 350 */ NdrFcLong( 0x6 ), /* 6 */ +/* 354 */ NdrFcShort( 0xe8 ), /* Offset= 232 (586) */ +/* 356 */ NdrFcLong( 0x7 ), /* 7 */ +/* 360 */ NdrFcShort( 0x800c ), /* Simple arm type: FC_DOUBLE */ +/* 362 */ NdrFcLong( 0x8 ), /* 8 */ +/* 366 */ NdrFcShort( 0xfe98 ), /* Offset= -360 (6) */ +/* 368 */ NdrFcLong( 0xd ), /* 13 */ +/* 372 */ NdrFcShort( 0xfebe ), /* Offset= -322 (50) */ +/* 374 */ NdrFcLong( 0x9 ), /* 9 */ +/* 378 */ NdrFcShort( 0xd6 ), /* Offset= 214 (592) */ +/* 380 */ NdrFcLong( 0x2000 ), /* 8192 */ +/* 384 */ NdrFcShort( 0xe2 ), /* Offset= 226 (610) */ +/* 386 */ NdrFcLong( 0x24 ), /* 36 */ +/* 390 */ NdrFcShort( 0x30a ), /* Offset= 778 (1168) */ +/* 392 */ NdrFcLong( 0x4024 ), /* 16420 */ +/* 396 */ NdrFcShort( 0x304 ), /* Offset= 772 (1168) */ +/* 398 */ NdrFcLong( 0x4011 ), /* 16401 */ +/* 402 */ NdrFcShort( 0x302 ), /* Offset= 770 (1172) */ +/* 404 */ NdrFcLong( 0x4002 ), /* 16386 */ +/* 408 */ NdrFcShort( 0x300 ), /* Offset= 768 (1176) */ +/* 410 */ NdrFcLong( 0x4003 ), /* 16387 */ +/* 414 */ NdrFcShort( 0x2fe ), /* Offset= 766 (1180) */ +/* 416 */ NdrFcLong( 0x4014 ), /* 16404 */ +/* 420 */ NdrFcShort( 0x2fc ), /* Offset= 764 (1184) */ +/* 422 */ NdrFcLong( 0x4004 ), /* 16388 */ +/* 426 */ NdrFcShort( 0x2fa ), /* Offset= 762 (1188) */ +/* 428 */ NdrFcLong( 0x4005 ), /* 16389 */ +/* 432 */ NdrFcShort( 0x2f8 ), /* Offset= 760 (1192) */ +/* 434 */ NdrFcLong( 0x400b ), /* 16395 */ +/* 438 */ NdrFcShort( 0x2e2 ), /* Offset= 738 (1176) */ +/* 440 */ NdrFcLong( 0x400a ), /* 16394 */ +/* 444 */ NdrFcShort( 0x2e0 ), /* Offset= 736 (1180) */ +/* 446 */ NdrFcLong( 0x4006 ), /* 16390 */ +/* 450 */ NdrFcShort( 0x2ea ), /* Offset= 746 (1196) */ +/* 452 */ NdrFcLong( 0x4007 ), /* 16391 */ +/* 456 */ NdrFcShort( 0x2e0 ), /* Offset= 736 (1192) */ +/* 458 */ NdrFcLong( 0x4008 ), /* 16392 */ +/* 462 */ NdrFcShort( 0x2e2 ), /* Offset= 738 (1200) */ +/* 464 */ NdrFcLong( 0x400d ), /* 16397 */ +/* 468 */ NdrFcShort( 0x2e0 ), /* Offset= 736 (1204) */ +/* 470 */ NdrFcLong( 0x4009 ), /* 16393 */ +/* 474 */ NdrFcShort( 0x2de ), /* Offset= 734 (1208) */ +/* 476 */ NdrFcLong( 0x6000 ), /* 24576 */ +/* 480 */ NdrFcShort( 0x2dc ), /* Offset= 732 (1212) */ +/* 482 */ NdrFcLong( 0x400c ), /* 16396 */ +/* 486 */ NdrFcShort( 0x2da ), /* Offset= 730 (1216) */ +/* 488 */ NdrFcLong( 0x10 ), /* 16 */ +/* 492 */ NdrFcShort( 0x8002 ), /* Simple arm type: FC_CHAR */ +/* 494 */ NdrFcLong( 0x12 ), /* 18 */ +/* 498 */ NdrFcShort( 0x8006 ), /* Simple arm type: FC_SHORT */ +/* 500 */ NdrFcLong( 0x13 ), /* 19 */ +/* 504 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ +/* 506 */ NdrFcLong( 0x15 ), /* 21 */ +/* 510 */ NdrFcShort( 0x800b ), /* Simple arm type: FC_HYPER */ +/* 512 */ NdrFcLong( 0x16 ), /* 22 */ +/* 516 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ +/* 518 */ NdrFcLong( 0x17 ), /* 23 */ +/* 522 */ NdrFcShort( 0x8008 ), /* Simple arm type: FC_LONG */ +/* 524 */ NdrFcLong( 0xe ), /* 14 */ +/* 528 */ NdrFcShort( 0x2b8 ), /* Offset= 696 (1224) */ +/* 530 */ NdrFcLong( 0x400e ), /* 16398 */ +/* 534 */ NdrFcShort( 0x2bc ), /* Offset= 700 (1234) */ +/* 536 */ NdrFcLong( 0x4010 ), /* 16400 */ +/* 540 */ NdrFcShort( 0x2ba ), /* Offset= 698 (1238) */ +/* 542 */ NdrFcLong( 0x4012 ), /* 16402 */ +/* 546 */ NdrFcShort( 0x276 ), /* Offset= 630 (1176) */ +/* 548 */ NdrFcLong( 0x4013 ), /* 16403 */ +/* 552 */ NdrFcShort( 0x274 ), /* Offset= 628 (1180) */ +/* 554 */ NdrFcLong( 0x4015 ), /* 16405 */ +/* 558 */ NdrFcShort( 0x272 ), /* Offset= 626 (1184) */ +/* 560 */ NdrFcLong( 0x4016 ), /* 16406 */ +/* 564 */ NdrFcShort( 0x268 ), /* Offset= 616 (1180) */ +/* 566 */ NdrFcLong( 0x4017 ), /* 16407 */ +/* 570 */ NdrFcShort( 0x262 ), /* Offset= 610 (1180) */ +/* 572 */ NdrFcLong( 0x0 ), /* 0 */ +/* 576 */ NdrFcShort( 0x0 ), /* Offset= 0 (576) */ +/* 578 */ NdrFcLong( 0x1 ), /* 1 */ +/* 582 */ NdrFcShort( 0x0 ), /* Offset= 0 (582) */ +/* 584 */ NdrFcShort( 0xffff ), /* Offset= -1 (583) */ +/* 586 */ + 0x15, /* FC_STRUCT */ + 0x7, /* 7 */ +/* 588 */ NdrFcShort( 0x8 ), /* 8 */ +/* 590 */ 0xb, /* FC_HYPER */ + 0x5b, /* FC_END */ +/* 592 */ + 0x2f, /* FC_IP */ + 0x5a, /* FC_CONSTANT_IID */ +/* 594 */ NdrFcLong( 0x20400 ), /* 132096 */ +/* 598 */ NdrFcShort( 0x0 ), /* 0 */ +/* 600 */ NdrFcShort( 0x0 ), /* 0 */ +/* 602 */ 0xc0, /* 192 */ + 0x0, /* 0 */ +/* 604 */ 0x0, /* 0 */ + 0x0, /* 0 */ +/* 606 */ 0x0, /* 0 */ + 0x0, /* 0 */ +/* 608 */ 0x0, /* 0 */ + 0x46, /* 70 */ +/* 610 */ + 0x13, 0x10, /* FC_OP [pointer_deref] */ +/* 612 */ NdrFcShort( 0x2 ), /* Offset= 2 (614) */ +/* 614 */ + 0x13, 0x0, /* FC_OP */ +/* 616 */ NdrFcShort( 0x216 ), /* Offset= 534 (1150) */ +/* 618 */ + 0x2a, /* FC_ENCAPSULATED_UNION */ + 0x49, /* 73 */ +/* 620 */ NdrFcShort( 0x18 ), /* 24 */ +/* 622 */ NdrFcShort( 0xa ), /* 10 */ +/* 624 */ NdrFcLong( 0x8 ), /* 8 */ +/* 628 */ NdrFcShort( 0x5a ), /* Offset= 90 (718) */ +/* 630 */ NdrFcLong( 0xd ), /* 13 */ +/* 634 */ NdrFcShort( 0x7e ), /* Offset= 126 (760) */ +/* 636 */ NdrFcLong( 0x9 ), /* 9 */ +/* 640 */ NdrFcShort( 0x9e ), /* Offset= 158 (798) */ +/* 642 */ NdrFcLong( 0xc ), /* 12 */ +/* 646 */ NdrFcShort( 0xc8 ), /* Offset= 200 (846) */ +/* 648 */ NdrFcLong( 0x24 ), /* 36 */ +/* 652 */ NdrFcShort( 0x124 ), /* Offset= 292 (944) */ +/* 654 */ NdrFcLong( 0x800d ), /* 32781 */ +/* 658 */ NdrFcShort( 0x140 ), /* Offset= 320 (978) */ +/* 660 */ NdrFcLong( 0x10 ), /* 16 */ +/* 664 */ NdrFcShort( 0x15a ), /* Offset= 346 (1010) */ +/* 666 */ NdrFcLong( 0x2 ), /* 2 */ +/* 670 */ NdrFcShort( 0x174 ), /* Offset= 372 (1042) */ +/* 672 */ NdrFcLong( 0x3 ), /* 3 */ +/* 676 */ NdrFcShort( 0x18e ), /* Offset= 398 (1074) */ +/* 678 */ NdrFcLong( 0x14 ), /* 20 */ +/* 682 */ NdrFcShort( 0x1a8 ), /* Offset= 424 (1106) */ +/* 684 */ NdrFcShort( 0xffff ), /* Offset= -1 (683) */ +/* 686 */ + 0x1b, /* FC_CARRAY */ + 0x3, /* 3 */ +/* 688 */ NdrFcShort( 0x4 ), /* 4 */ +/* 690 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ + 0x0, /* */ +/* 692 */ NdrFcShort( 0x0 ), /* 0 */ +/* 694 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 696 */ + 0x4b, /* FC_PP */ + 0x5c, /* FC_PAD */ +/* 698 */ + 0x48, /* FC_VARIABLE_REPEAT */ + 0x49, /* FC_FIXED_OFFSET */ +/* 700 */ NdrFcShort( 0x4 ), /* 4 */ +/* 702 */ NdrFcShort( 0x0 ), /* 0 */ +/* 704 */ NdrFcShort( 0x1 ), /* 1 */ +/* 706 */ NdrFcShort( 0x0 ), /* 0 */ +/* 708 */ NdrFcShort( 0x0 ), /* 0 */ +/* 710 */ 0x13, 0x0, /* FC_OP */ +/* 712 */ NdrFcShort( 0xfd4e ), /* Offset= -690 (22) */ +/* 714 */ + 0x5b, /* FC_END */ + + 0x8, /* FC_LONG */ +/* 716 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 718 */ + 0x16, /* FC_PSTRUCT */ + 0x3, /* 3 */ +/* 720 */ NdrFcShort( 0x8 ), /* 8 */ +/* 722 */ + 0x4b, /* FC_PP */ + 0x5c, /* FC_PAD */ +/* 724 */ + 0x46, /* FC_NO_REPEAT */ + 0x5c, /* FC_PAD */ +/* 726 */ NdrFcShort( 0x4 ), /* 4 */ +/* 728 */ NdrFcShort( 0x4 ), /* 4 */ +/* 730 */ 0x11, 0x0, /* FC_RP */ +/* 732 */ NdrFcShort( 0xffd2 ), /* Offset= -46 (686) */ +/* 734 */ + 0x5b, /* FC_END */ + + 0x8, /* FC_LONG */ +/* 736 */ 0x8, /* FC_LONG */ + 0x5b, /* FC_END */ +/* 738 */ + 0x21, /* FC_BOGUS_ARRAY */ + 0x3, /* 3 */ +/* 740 */ NdrFcShort( 0x0 ), /* 0 */ +/* 742 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ + 0x0, /* */ +/* 744 */ NdrFcShort( 0x0 ), /* 0 */ +/* 746 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 748 */ NdrFcLong( 0xffffffff ), /* -1 */ +/* 752 */ NdrFcShort( 0x0 ), /* Corr flags: */ +/* 754 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ + 0x0, /* 0 */ +/* 756 */ NdrFcShort( 0xfd3e ), /* Offset= -706 (50) */ +/* 758 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 760 */ + 0x1a, /* FC_BOGUS_STRUCT */ + 0x3, /* 3 */ +/* 762 */ NdrFcShort( 0x8 ), /* 8 */ +/* 764 */ NdrFcShort( 0x0 ), /* 0 */ +/* 766 */ NdrFcShort( 0x6 ), /* Offset= 6 (772) */ +/* 768 */ 0x8, /* FC_LONG */ + 0x36, /* FC_POINTER */ +/* 770 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 772 */ + 0x11, 0x0, /* FC_RP */ +/* 774 */ NdrFcShort( 0xffdc ), /* Offset= -36 (738) */ +/* 776 */ + 0x21, /* FC_BOGUS_ARRAY */ + 0x3, /* 3 */ +/* 778 */ NdrFcShort( 0x0 ), /* 0 */ +/* 780 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ + 0x0, /* */ +/* 782 */ NdrFcShort( 0x0 ), /* 0 */ +/* 784 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 786 */ NdrFcLong( 0xffffffff ), /* -1 */ +/* 790 */ NdrFcShort( 0x0 ), /* Corr flags: */ +/* 792 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ + 0x0, /* 0 */ +/* 794 */ NdrFcShort( 0xff36 ), /* Offset= -202 (592) */ +/* 796 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 798 */ + 0x1a, /* FC_BOGUS_STRUCT */ + 0x3, /* 3 */ +/* 800 */ NdrFcShort( 0x8 ), /* 8 */ +/* 802 */ NdrFcShort( 0x0 ), /* 0 */ +/* 804 */ NdrFcShort( 0x6 ), /* Offset= 6 (810) */ +/* 806 */ 0x8, /* FC_LONG */ + 0x36, /* FC_POINTER */ +/* 808 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 810 */ + 0x11, 0x0, /* FC_RP */ +/* 812 */ NdrFcShort( 0xffdc ), /* Offset= -36 (776) */ +/* 814 */ + 0x1b, /* FC_CARRAY */ + 0x3, /* 3 */ +/* 816 */ NdrFcShort( 0x4 ), /* 4 */ +/* 818 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ + 0x0, /* */ +/* 820 */ NdrFcShort( 0x0 ), /* 0 */ +/* 822 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 824 */ + 0x4b, /* FC_PP */ + 0x5c, /* FC_PAD */ +/* 826 */ + 0x48, /* FC_VARIABLE_REPEAT */ + 0x49, /* FC_FIXED_OFFSET */ +/* 828 */ NdrFcShort( 0x4 ), /* 4 */ +/* 830 */ NdrFcShort( 0x0 ), /* 0 */ +/* 832 */ NdrFcShort( 0x1 ), /* 1 */ +/* 834 */ NdrFcShort( 0x0 ), /* 0 */ +/* 836 */ NdrFcShort( 0x0 ), /* 0 */ +/* 838 */ 0x13, 0x0, /* FC_OP */ +/* 840 */ NdrFcShort( 0x192 ), /* Offset= 402 (1242) */ +/* 842 */ + 0x5b, /* FC_END */ + + 0x8, /* FC_LONG */ +/* 844 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 846 */ + 0x1a, /* FC_BOGUS_STRUCT */ + 0x3, /* 3 */ +/* 848 */ NdrFcShort( 0x8 ), /* 8 */ +/* 850 */ NdrFcShort( 0x0 ), /* 0 */ +/* 852 */ NdrFcShort( 0x6 ), /* Offset= 6 (858) */ +/* 854 */ 0x8, /* FC_LONG */ + 0x36, /* FC_POINTER */ +/* 856 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 858 */ + 0x11, 0x0, /* FC_RP */ +/* 860 */ NdrFcShort( 0xffd2 ), /* Offset= -46 (814) */ +/* 862 */ + 0x2f, /* FC_IP */ + 0x5a, /* FC_CONSTANT_IID */ +/* 864 */ NdrFcLong( 0x2f ), /* 47 */ +/* 868 */ NdrFcShort( 0x0 ), /* 0 */ +/* 870 */ NdrFcShort( 0x0 ), /* 0 */ +/* 872 */ 0xc0, /* 192 */ + 0x0, /* 0 */ +/* 874 */ 0x0, /* 0 */ + 0x0, /* 0 */ +/* 876 */ 0x0, /* 0 */ + 0x0, /* 0 */ +/* 878 */ 0x0, /* 0 */ + 0x46, /* 70 */ +/* 880 */ + 0x1b, /* FC_CARRAY */ + 0x0, /* 0 */ +/* 882 */ NdrFcShort( 0x1 ), /* 1 */ +/* 884 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ + 0x0, /* */ +/* 886 */ NdrFcShort( 0x4 ), /* 4 */ +/* 888 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 890 */ 0x1, /* FC_BYTE */ + 0x5b, /* FC_END */ +/* 892 */ + 0x1a, /* FC_BOGUS_STRUCT */ + 0x3, /* 3 */ +/* 894 */ NdrFcShort( 0x10 ), /* 16 */ +/* 896 */ NdrFcShort( 0x0 ), /* 0 */ +/* 898 */ NdrFcShort( 0xa ), /* Offset= 10 (908) */ +/* 900 */ 0x8, /* FC_LONG */ + 0x8, /* FC_LONG */ +/* 902 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ + 0x0, /* 0 */ +/* 904 */ NdrFcShort( 0xffd6 ), /* Offset= -42 (862) */ +/* 906 */ 0x36, /* FC_POINTER */ + 0x5b, /* FC_END */ +/* 908 */ + 0x13, 0x0, /* FC_OP */ +/* 910 */ NdrFcShort( 0xffe2 ), /* Offset= -30 (880) */ +/* 912 */ + 0x1b, /* FC_CARRAY */ + 0x3, /* 3 */ +/* 914 */ NdrFcShort( 0x4 ), /* 4 */ +/* 916 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ + 0x0, /* */ +/* 918 */ NdrFcShort( 0x0 ), /* 0 */ +/* 920 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 922 */ + 0x4b, /* FC_PP */ + 0x5c, /* FC_PAD */ +/* 924 */ + 0x48, /* FC_VARIABLE_REPEAT */ + 0x49, /* FC_FIXED_OFFSET */ +/* 926 */ NdrFcShort( 0x4 ), /* 4 */ +/* 928 */ NdrFcShort( 0x0 ), /* 0 */ +/* 930 */ NdrFcShort( 0x1 ), /* 1 */ +/* 932 */ NdrFcShort( 0x0 ), /* 0 */ +/* 934 */ NdrFcShort( 0x0 ), /* 0 */ +/* 936 */ 0x13, 0x0, /* FC_OP */ +/* 938 */ NdrFcShort( 0xffd2 ), /* Offset= -46 (892) */ +/* 940 */ + 0x5b, /* FC_END */ + + 0x8, /* FC_LONG */ +/* 942 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 944 */ + 0x1a, /* FC_BOGUS_STRUCT */ + 0x3, /* 3 */ +/* 946 */ NdrFcShort( 0x8 ), /* 8 */ +/* 948 */ NdrFcShort( 0x0 ), /* 0 */ +/* 950 */ NdrFcShort( 0x6 ), /* Offset= 6 (956) */ +/* 952 */ 0x8, /* FC_LONG */ + 0x36, /* FC_POINTER */ +/* 954 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 956 */ + 0x11, 0x0, /* FC_RP */ +/* 958 */ NdrFcShort( 0xffd2 ), /* Offset= -46 (912) */ +/* 960 */ + 0x1d, /* FC_SMFARRAY */ + 0x0, /* 0 */ +/* 962 */ NdrFcShort( 0x8 ), /* 8 */ +/* 964 */ 0x1, /* FC_BYTE */ + 0x5b, /* FC_END */ +/* 966 */ + 0x15, /* FC_STRUCT */ + 0x3, /* 3 */ +/* 968 */ NdrFcShort( 0x10 ), /* 16 */ +/* 970 */ 0x8, /* FC_LONG */ + 0x6, /* FC_SHORT */ +/* 972 */ 0x6, /* FC_SHORT */ + 0x4c, /* FC_EMBEDDED_COMPLEX */ +/* 974 */ 0x0, /* 0 */ + NdrFcShort( 0xfff1 ), /* Offset= -15 (960) */ + 0x5b, /* FC_END */ +/* 978 */ + 0x1a, /* FC_BOGUS_STRUCT */ + 0x3, /* 3 */ +/* 980 */ NdrFcShort( 0x18 ), /* 24 */ +/* 982 */ NdrFcShort( 0x0 ), /* 0 */ +/* 984 */ NdrFcShort( 0xa ), /* Offset= 10 (994) */ +/* 986 */ 0x8, /* FC_LONG */ + 0x36, /* FC_POINTER */ +/* 988 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ + 0x0, /* 0 */ +/* 990 */ NdrFcShort( 0xffe8 ), /* Offset= -24 (966) */ +/* 992 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 994 */ + 0x11, 0x0, /* FC_RP */ +/* 996 */ NdrFcShort( 0xfefe ), /* Offset= -258 (738) */ +/* 998 */ + 0x1b, /* FC_CARRAY */ + 0x0, /* 0 */ +/* 1000 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1002 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ + 0x0, /* */ +/* 1004 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1006 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 1008 */ 0x1, /* FC_BYTE */ + 0x5b, /* FC_END */ +/* 1010 */ + 0x16, /* FC_PSTRUCT */ + 0x3, /* 3 */ +/* 1012 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1014 */ + 0x4b, /* FC_PP */ + 0x5c, /* FC_PAD */ +/* 1016 */ + 0x46, /* FC_NO_REPEAT */ + 0x5c, /* FC_PAD */ +/* 1018 */ NdrFcShort( 0x4 ), /* 4 */ +/* 1020 */ NdrFcShort( 0x4 ), /* 4 */ +/* 1022 */ 0x13, 0x0, /* FC_OP */ +/* 1024 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (998) */ +/* 1026 */ + 0x5b, /* FC_END */ + + 0x8, /* FC_LONG */ +/* 1028 */ 0x8, /* FC_LONG */ + 0x5b, /* FC_END */ +/* 1030 */ + 0x1b, /* FC_CARRAY */ + 0x1, /* 1 */ +/* 1032 */ NdrFcShort( 0x2 ), /* 2 */ +/* 1034 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ + 0x0, /* */ +/* 1036 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1038 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 1040 */ 0x6, /* FC_SHORT */ + 0x5b, /* FC_END */ +/* 1042 */ + 0x16, /* FC_PSTRUCT */ + 0x3, /* 3 */ +/* 1044 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1046 */ + 0x4b, /* FC_PP */ + 0x5c, /* FC_PAD */ +/* 1048 */ + 0x46, /* FC_NO_REPEAT */ + 0x5c, /* FC_PAD */ +/* 1050 */ NdrFcShort( 0x4 ), /* 4 */ +/* 1052 */ NdrFcShort( 0x4 ), /* 4 */ +/* 1054 */ 0x13, 0x0, /* FC_OP */ +/* 1056 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (1030) */ +/* 1058 */ + 0x5b, /* FC_END */ + + 0x8, /* FC_LONG */ +/* 1060 */ 0x8, /* FC_LONG */ + 0x5b, /* FC_END */ +/* 1062 */ + 0x1b, /* FC_CARRAY */ + 0x3, /* 3 */ +/* 1064 */ NdrFcShort( 0x4 ), /* 4 */ +/* 1066 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ + 0x0, /* */ +/* 1068 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1070 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 1072 */ 0x8, /* FC_LONG */ + 0x5b, /* FC_END */ +/* 1074 */ + 0x16, /* FC_PSTRUCT */ + 0x3, /* 3 */ +/* 1076 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1078 */ + 0x4b, /* FC_PP */ + 0x5c, /* FC_PAD */ +/* 1080 */ + 0x46, /* FC_NO_REPEAT */ + 0x5c, /* FC_PAD */ +/* 1082 */ NdrFcShort( 0x4 ), /* 4 */ +/* 1084 */ NdrFcShort( 0x4 ), /* 4 */ +/* 1086 */ 0x13, 0x0, /* FC_OP */ +/* 1088 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (1062) */ +/* 1090 */ + 0x5b, /* FC_END */ + + 0x8, /* FC_LONG */ +/* 1092 */ 0x8, /* FC_LONG */ + 0x5b, /* FC_END */ +/* 1094 */ + 0x1b, /* FC_CARRAY */ + 0x7, /* 7 */ +/* 1096 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1098 */ 0x19, /* Corr desc: field pointer, FC_ULONG */ + 0x0, /* */ +/* 1100 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1102 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 1104 */ 0xb, /* FC_HYPER */ + 0x5b, /* FC_END */ +/* 1106 */ + 0x16, /* FC_PSTRUCT */ + 0x3, /* 3 */ +/* 1108 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1110 */ + 0x4b, /* FC_PP */ + 0x5c, /* FC_PAD */ +/* 1112 */ + 0x46, /* FC_NO_REPEAT */ + 0x5c, /* FC_PAD */ +/* 1114 */ NdrFcShort( 0x4 ), /* 4 */ +/* 1116 */ NdrFcShort( 0x4 ), /* 4 */ +/* 1118 */ 0x13, 0x0, /* FC_OP */ +/* 1120 */ NdrFcShort( 0xffe6 ), /* Offset= -26 (1094) */ +/* 1122 */ + 0x5b, /* FC_END */ + + 0x8, /* FC_LONG */ +/* 1124 */ 0x8, /* FC_LONG */ + 0x5b, /* FC_END */ +/* 1126 */ + 0x15, /* FC_STRUCT */ + 0x3, /* 3 */ +/* 1128 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1130 */ 0x8, /* FC_LONG */ + 0x8, /* FC_LONG */ +/* 1132 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 1134 */ + 0x1b, /* FC_CARRAY */ + 0x3, /* 3 */ +/* 1136 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1138 */ 0x7, /* Corr desc: FC_USHORT */ + 0x0, /* */ +/* 1140 */ NdrFcShort( 0xffd8 ), /* -40 */ +/* 1142 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 1144 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ + 0x0, /* 0 */ +/* 1146 */ NdrFcShort( 0xffec ), /* Offset= -20 (1126) */ +/* 1148 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 1150 */ + 0x1a, /* FC_BOGUS_STRUCT */ + 0x3, /* 3 */ +/* 1152 */ NdrFcShort( 0x28 ), /* 40 */ +/* 1154 */ NdrFcShort( 0xffec ), /* Offset= -20 (1134) */ +/* 1156 */ NdrFcShort( 0x0 ), /* Offset= 0 (1156) */ +/* 1158 */ 0x6, /* FC_SHORT */ + 0x6, /* FC_SHORT */ +/* 1160 */ 0x8, /* FC_LONG */ + 0x8, /* FC_LONG */ +/* 1162 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ + 0x0, /* 0 */ +/* 1164 */ NdrFcShort( 0xfdde ), /* Offset= -546 (618) */ +/* 1166 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 1168 */ + 0x13, 0x0, /* FC_OP */ +/* 1170 */ NdrFcShort( 0xfeea ), /* Offset= -278 (892) */ +/* 1172 */ + 0x13, 0x8, /* FC_OP [simple_pointer] */ +/* 1174 */ 0x1, /* FC_BYTE */ + 0x5c, /* FC_PAD */ +/* 1176 */ + 0x13, 0x8, /* FC_OP [simple_pointer] */ +/* 1178 */ 0x6, /* FC_SHORT */ + 0x5c, /* FC_PAD */ +/* 1180 */ + 0x13, 0x8, /* FC_OP [simple_pointer] */ +/* 1182 */ 0x8, /* FC_LONG */ + 0x5c, /* FC_PAD */ +/* 1184 */ + 0x13, 0x8, /* FC_OP [simple_pointer] */ +/* 1186 */ 0xb, /* FC_HYPER */ + 0x5c, /* FC_PAD */ +/* 1188 */ + 0x13, 0x8, /* FC_OP [simple_pointer] */ +/* 1190 */ 0xa, /* FC_FLOAT */ + 0x5c, /* FC_PAD */ +/* 1192 */ + 0x13, 0x8, /* FC_OP [simple_pointer] */ +/* 1194 */ 0xc, /* FC_DOUBLE */ + 0x5c, /* FC_PAD */ +/* 1196 */ + 0x13, 0x0, /* FC_OP */ +/* 1198 */ NdrFcShort( 0xfd9c ), /* Offset= -612 (586) */ +/* 1200 */ + 0x13, 0x10, /* FC_OP [pointer_deref] */ +/* 1202 */ NdrFcShort( 0xfb54 ), /* Offset= -1196 (6) */ +/* 1204 */ + 0x13, 0x10, /* FC_OP [pointer_deref] */ +/* 1206 */ NdrFcShort( 0xfb7c ), /* Offset= -1156 (50) */ +/* 1208 */ + 0x13, 0x10, /* FC_OP [pointer_deref] */ +/* 1210 */ NdrFcShort( 0xfd96 ), /* Offset= -618 (592) */ +/* 1212 */ + 0x13, 0x10, /* FC_OP [pointer_deref] */ +/* 1214 */ NdrFcShort( 0xfda4 ), /* Offset= -604 (610) */ +/* 1216 */ + 0x13, 0x10, /* FC_OP [pointer_deref] */ +/* 1218 */ NdrFcShort( 0x2 ), /* Offset= 2 (1220) */ +/* 1220 */ + 0x13, 0x0, /* FC_OP */ +/* 1222 */ NdrFcShort( 0x14 ), /* Offset= 20 (1242) */ +/* 1224 */ + 0x15, /* FC_STRUCT */ + 0x7, /* 7 */ +/* 1226 */ NdrFcShort( 0x10 ), /* 16 */ +/* 1228 */ 0x6, /* FC_SHORT */ + 0x1, /* FC_BYTE */ +/* 1230 */ 0x1, /* FC_BYTE */ + 0x8, /* FC_LONG */ +/* 1232 */ 0xb, /* FC_HYPER */ + 0x5b, /* FC_END */ +/* 1234 */ + 0x13, 0x0, /* FC_OP */ +/* 1236 */ NdrFcShort( 0xfff4 ), /* Offset= -12 (1224) */ +/* 1238 */ + 0x13, 0x8, /* FC_OP [simple_pointer] */ +/* 1240 */ 0x2, /* FC_CHAR */ + 0x5c, /* FC_PAD */ +/* 1242 */ + 0x1a, /* FC_BOGUS_STRUCT */ + 0x7, /* 7 */ +/* 1244 */ NdrFcShort( 0x20 ), /* 32 */ +/* 1246 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1248 */ NdrFcShort( 0x0 ), /* Offset= 0 (1248) */ +/* 1250 */ 0x8, /* FC_LONG */ + 0x8, /* FC_LONG */ +/* 1252 */ 0x6, /* FC_SHORT */ + 0x6, /* FC_SHORT */ +/* 1254 */ 0x6, /* FC_SHORT */ + 0x6, /* FC_SHORT */ +/* 1256 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ + 0x0, /* 0 */ +/* 1258 */ NdrFcShort( 0xfc36 ), /* Offset= -970 (288) */ +/* 1260 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 1262 */ 0xb4, /* FC_USER_MARSHAL */ + 0x83, /* 131 */ +/* 1264 */ NdrFcShort( 0x2 ), /* 2 */ +/* 1266 */ NdrFcShort( 0x10 ), /* 16 */ +/* 1268 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1270 */ NdrFcShort( 0xfc26 ), /* Offset= -986 (284) */ +/* 1272 */ + 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */ +/* 1274 */ NdrFcShort( 0x2 ), /* Offset= 2 (1276) */ +/* 1276 */ + 0x13, 0x0, /* FC_OP */ +/* 1278 */ NdrFcShort( 0x2 ), /* Offset= 2 (1280) */ +/* 1280 */ + 0x21, /* FC_BOGUS_ARRAY */ + 0x3, /* 3 */ +/* 1282 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1284 */ 0x28, /* Corr desc: parameter, FC_LONG */ + 0x54, /* FC_DEREFERENCE */ +/* 1286 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 1288 */ NdrFcShort( 0x0 ), /* Corr flags: */ +/* 1290 */ NdrFcLong( 0xffffffff ), /* -1 */ +/* 1294 */ NdrFcShort( 0x0 ), /* Corr flags: */ +/* 1296 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ + 0x0, /* 0 */ +/* 1298 */ NdrFcShort( 0xfb20 ), /* Offset= -1248 (50) */ +/* 1300 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 1302 */ + 0x12, 0x0, /* FC_UP */ +/* 1304 */ NdrFcShort( 0xffc2 ), /* Offset= -62 (1242) */ +/* 1306 */ 0xb4, /* FC_USER_MARSHAL */ + 0x83, /* 131 */ +/* 1308 */ NdrFcShort( 0x2 ), /* 2 */ +/* 1310 */ NdrFcShort( 0x10 ), /* 16 */ +/* 1312 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1314 */ NdrFcShort( 0xfff4 ), /* Offset= -12 (1302) */ +/* 1316 */ + 0x11, 0x4, /* FC_RP [alloced_on_stack] */ +/* 1318 */ NdrFcShort( 0x2 ), /* Offset= 2 (1320) */ +/* 1320 */ + 0x1a, /* FC_BOGUS_STRUCT */ + 0x3, /* 3 */ +/* 1322 */ NdrFcShort( 0xc ), /* 12 */ +/* 1324 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1326 */ NdrFcShort( 0x0 ), /* Offset= 0 (1326) */ +/* 1328 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ + 0x0, /* 0 */ +/* 1330 */ NdrFcShort( 0xfaee ), /* Offset= -1298 (32) */ +/* 1332 */ 0x8, /* FC_LONG */ + 0x8, /* FC_LONG */ +/* 1334 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 1336 */ + 0x11, 0x0, /* FC_RP */ +/* 1338 */ NdrFcShort( 0xfbd4 ), /* Offset= -1068 (270) */ +/* 1340 */ + 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */ +/* 1342 */ 0x3, /* FC_SMALL */ + 0x5c, /* FC_PAD */ +/* 1344 */ + 0x11, 0x10, /* FC_RP [pointer_deref] */ +/* 1346 */ NdrFcShort( 0x2 ), /* Offset= 2 (1348) */ +/* 1348 */ + 0x2f, /* FC_IP */ + 0x5a, /* FC_CONSTANT_IID */ +/* 1350 */ NdrFcLong( 0x1c20f2b ), /* 29495083 */ +/* 1354 */ NdrFcShort( 0x3dd2 ), /* 15826 */ +/* 1356 */ NdrFcShort( 0x400f ), /* 16399 */ +/* 1358 */ 0x94, /* 148 */ + 0x9f, /* 159 */ +/* 1360 */ 0xad, /* 173 */ + 0x0, /* 0 */ +/* 1362 */ 0xbd, /* 189 */ + 0xab, /* 171 */ +/* 1364 */ 0x1d, /* 29 */ + 0x41, /* 65 */ +/* 1366 */ + 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */ +/* 1368 */ NdrFcShort( 0x2 ), /* Offset= 2 (1370) */ +/* 1370 */ + 0x13, 0x0, /* FC_OP */ +/* 1372 */ NdrFcShort( 0x2 ), /* Offset= 2 (1374) */ +/* 1374 */ + 0x21, /* FC_BOGUS_ARRAY */ + 0x3, /* 3 */ +/* 1376 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1378 */ 0x28, /* Corr desc: parameter, FC_LONG */ + 0x54, /* FC_DEREFERENCE */ +/* 1380 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 1382 */ NdrFcShort( 0x0 ), /* Corr flags: */ +/* 1384 */ NdrFcLong( 0xffffffff ), /* -1 */ +/* 1388 */ NdrFcShort( 0x0 ), /* Corr flags: */ +/* 1390 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ + 0x0, /* 0 */ +/* 1392 */ NdrFcShort( 0xffd4 ), /* Offset= -44 (1348) */ +/* 1394 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 1396 */ + 0x11, 0x10, /* FC_RP [pointer_deref] */ +/* 1398 */ NdrFcShort( 0x2 ), /* Offset= 2 (1400) */ +/* 1400 */ + 0x2f, /* FC_IP */ + 0x5a, /* FC_CONSTANT_IID */ +/* 1402 */ NdrFcLong( 0x35ad8070 ), /* 900563056 */ +/* 1406 */ NdrFcShort( 0xc20c ), /* -15860 */ +/* 1408 */ NdrFcShort( 0x4fb4 ), /* 20404 */ +/* 1410 */ 0xb0, /* 176 */ + 0x94, /* 148 */ +/* 1412 */ 0xf4, /* 244 */ + 0xf7, /* 247 */ +/* 1414 */ 0x27, /* 39 */ + 0x5d, /* 93 */ +/* 1416 */ 0xd4, /* 212 */ + 0x69, /* 105 */ +/* 1418 */ + 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */ +/* 1420 */ NdrFcShort( 0x2 ), /* Offset= 2 (1422) */ +/* 1422 */ + 0x13, 0x0, /* FC_OP */ +/* 1424 */ NdrFcShort( 0x2 ), /* Offset= 2 (1426) */ +/* 1426 */ + 0x1c, /* FC_CVARRAY */ + 0x3, /* 3 */ +/* 1428 */ NdrFcShort( 0x4 ), /* 4 */ +/* 1430 */ 0x28, /* Corr desc: parameter, FC_LONG */ + 0x0, /* */ +/* 1432 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 1434 */ NdrFcShort( 0x1 ), /* Corr flags: early, */ +/* 1436 */ 0x28, /* Corr desc: parameter, FC_LONG */ + 0x54, /* FC_DEREFERENCE */ +/* 1438 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 1440 */ NdrFcShort( 0x0 ), /* Corr flags: */ +/* 1442 */ 0x8, /* FC_LONG */ + 0x5b, /* FC_END */ +/* 1444 */ + 0x11, 0x4, /* FC_RP [alloced_on_stack] */ +/* 1446 */ NdrFcShort( 0x2 ), /* Offset= 2 (1448) */ +/* 1448 */ + 0x1a, /* FC_BOGUS_STRUCT */ + 0x3, /* 3 */ +/* 1450 */ NdrFcShort( 0x14 ), /* 20 */ +/* 1452 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1454 */ NdrFcShort( 0x0 ), /* Offset= 0 (1454) */ +/* 1456 */ 0xd, /* FC_ENUM16 */ + 0x8, /* FC_LONG */ +/* 1458 */ 0x8, /* FC_LONG */ + 0x8, /* FC_LONG */ +/* 1460 */ 0x8, /* FC_LONG */ + 0x5b, /* FC_END */ +/* 1462 */ + 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */ +/* 1464 */ NdrFcShort( 0x2 ), /* Offset= 2 (1466) */ +/* 1466 */ + 0x13, 0x0, /* FC_OP */ +/* 1468 */ NdrFcShort( 0x2 ), /* Offset= 2 (1470) */ +/* 1470 */ + 0x21, /* FC_BOGUS_ARRAY */ + 0x3, /* 3 */ +/* 1472 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1474 */ 0x28, /* Corr desc: parameter, FC_LONG */ + 0x54, /* FC_DEREFERENCE */ +/* 1476 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 1478 */ NdrFcShort( 0x0 ), /* Corr flags: */ +/* 1480 */ NdrFcLong( 0xffffffff ), /* -1 */ +/* 1484 */ NdrFcShort( 0x0 ), /* Corr flags: */ +/* 1486 */ 0x4c, /* FC_EMBEDDED_COMPLEX */ + 0x0, /* 0 */ +/* 1488 */ NdrFcShort( 0xfa62 ), /* Offset= -1438 (50) */ +/* 1490 */ 0x5c, /* FC_PAD */ + 0x5b, /* FC_END */ +/* 1492 */ + 0x11, 0x14, /* FC_RP [alloced_on_stack] [pointer_deref] */ +/* 1494 */ NdrFcShort( 0x2 ), /* Offset= 2 (1496) */ +/* 1496 */ + 0x13, 0x0, /* FC_OP */ +/* 1498 */ NdrFcShort( 0x2 ), /* Offset= 2 (1500) */ +/* 1500 */ + 0x1b, /* FC_CARRAY */ + 0x3, /* 3 */ +/* 1502 */ NdrFcShort( 0x4 ), /* 4 */ +/* 1504 */ 0x28, /* Corr desc: parameter, FC_LONG */ + 0x54, /* FC_DEREFERENCE */ +/* 1506 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 1508 */ NdrFcShort( 0x0 ), /* Corr flags: */ +/* 1510 */ 0x8, /* FC_LONG */ + 0x5b, /* FC_END */ + + 0x0 + } + }; + +static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] = + { + + { + BSTR_UserSize + ,BSTR_UserMarshal + ,BSTR_UserUnmarshal + ,BSTR_UserFree + }, + { + HWND_UserSize + ,HWND_UserMarshal + ,HWND_UserUnmarshal + ,HWND_UserFree + }, + { + VARIANT_UserSize + ,VARIANT_UserMarshal + ,VARIANT_UserUnmarshal + ,VARIANT_UserFree + } + + }; + + + +/* Standard interface: __MIDL_itf_ia2_api_all_0000_0000, ver. 0.0, + GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */ + + +/* Object interface: IUnknown, ver. 0.0, + GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */ + + +/* Object interface: IAccessibleRelation, ver. 0.0, + GUID={0x7CDF86EE,0xC3DA,0x496a,{0xBD,0xA4,0x28,0x1B,0x33,0x6E,0x1F,0xDC}} */ + +#pragma code_seg(".orpc") +static const unsigned short IAccessibleRelation_FormatStringOffsetTable[] = + { + 0, + 36, + 72, + 108, + 150 + }; + +static const MIDL_STUBLESS_PROXY_INFO IAccessibleRelation_ProxyInfo = + { + &Object_StubDesc, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleRelation_FormatStringOffsetTable[-3], + 0, + 0, + 0 + }; + + +static const MIDL_SERVER_INFO IAccessibleRelation_ServerInfo = + { + &Object_StubDesc, + 0, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleRelation_FormatStringOffsetTable[-3], + 0, + 0, + 0, + 0}; +CINTERFACE_PROXY_VTABLE(8) _IAccessibleRelationProxyVtbl = +{ + &IAccessibleRelation_ProxyInfo, + &IID_IAccessibleRelation, + IUnknown_QueryInterface_Proxy, + IUnknown_AddRef_Proxy, + IUnknown_Release_Proxy , + (void *) (INT_PTR) -1 /* IAccessibleRelation::get_relationType */ , + (void *) (INT_PTR) -1 /* IAccessibleRelation::get_localizedRelationType */ , + (void *) (INT_PTR) -1 /* IAccessibleRelation::get_nTargets */ , + (void *) (INT_PTR) -1 /* IAccessibleRelation::get_target */ , + (void *) (INT_PTR) -1 /* IAccessibleRelation::get_targets */ +}; + +const CInterfaceStubVtbl _IAccessibleRelationStubVtbl = +{ + &IID_IAccessibleRelation, + &IAccessibleRelation_ServerInfo, + 8, + 0, /* pure interpreted */ + CStdStubBuffer_METHODS +}; + + +/* Standard interface: __MIDL_itf_ia2_api_all_0000_0001, ver. 0.0, + GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */ + + +/* Object interface: IAccessibleAction, ver. 0.0, + GUID={0xB70D9F59,0x3B5A,0x4dba,{0xAB,0x9E,0x22,0x01,0x2F,0x60,0x7D,0xF5}} */ + +#pragma code_seg(".orpc") +static const unsigned short IAccessibleAction_FormatStringOffsetTable[] = + { + 198, + 234, + 270, + 312, + 366, + 408 + }; + +static const MIDL_STUBLESS_PROXY_INFO IAccessibleAction_ProxyInfo = + { + &Object_StubDesc, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleAction_FormatStringOffsetTable[-3], + 0, + 0, + 0 + }; + + +static const MIDL_SERVER_INFO IAccessibleAction_ServerInfo = + { + &Object_StubDesc, + 0, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleAction_FormatStringOffsetTable[-3], + 0, + 0, + 0, + 0}; +CINTERFACE_PROXY_VTABLE(9) _IAccessibleActionProxyVtbl = +{ + &IAccessibleAction_ProxyInfo, + &IID_IAccessibleAction, + IUnknown_QueryInterface_Proxy, + IUnknown_AddRef_Proxy, + IUnknown_Release_Proxy , + (void *) (INT_PTR) -1 /* IAccessibleAction::nActions */ , + (void *) (INT_PTR) -1 /* IAccessibleAction::doAction */ , + (void *) (INT_PTR) -1 /* IAccessibleAction::get_description */ , + (void *) (INT_PTR) -1 /* IAccessibleAction::get_keyBinding */ , + (void *) (INT_PTR) -1 /* IAccessibleAction::get_name */ , + (void *) (INT_PTR) -1 /* IAccessibleAction::get_localizedName */ +}; + +const CInterfaceStubVtbl _IAccessibleActionStubVtbl = +{ + &IID_IAccessibleAction, + &IAccessibleAction_ServerInfo, + 9, + 0, /* pure interpreted */ + CStdStubBuffer_METHODS +}; + + +/* Standard interface: __MIDL_itf_ia2_api_all_0000_0002, ver. 0.0, + GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */ + + +/* Object interface: IDispatch, ver. 0.0, + GUID={0x00020400,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */ + + +/* Object interface: IAccessible, ver. 0.0, + GUID={0x618736e0,0x3c3d,0x11cf,{0x81,0x0c,0x00,0xaa,0x00,0x38,0x9b,0x71}} */ + + +/* Object interface: IAccessible2, ver. 0.0, + GUID={0xE89F726E,0xC4F4,0x4c19,{0xBB,0x19,0xB6,0x47,0xD7,0xFA,0x84,0x78}} */ + +#pragma code_seg(".orpc") +static const unsigned short IAccessible2_FormatStringOffsetTable[] = + { + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + 450, + 486, + 528, + 576, + 612, + 648, + 696, + 744, + 780, + 816, + 852, + 888, + 936, + 984, + 1020, + 1056, + 1092, + 1128 + }; + +static const MIDL_STUBLESS_PROXY_INFO IAccessible2_ProxyInfo = + { + &Object_StubDesc, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessible2_FormatStringOffsetTable[-3], + 0, + 0, + 0 + }; + + +static const MIDL_SERVER_INFO IAccessible2_ServerInfo = + { + &Object_StubDesc, + 0, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessible2_FormatStringOffsetTable[-3], + 0, + 0, + 0, + 0}; +CINTERFACE_PROXY_VTABLE(46) _IAccessible2ProxyVtbl = +{ + &IAccessible2_ProxyInfo, + &IID_IAccessible2, + IUnknown_QueryInterface_Proxy, + IUnknown_AddRef_Proxy, + IUnknown_Release_Proxy , + 0 /* IDispatch::GetTypeInfoCount */ , + 0 /* IDispatch::GetTypeInfo */ , + 0 /* IDispatch::GetIDsOfNames */ , + 0 /* IDispatch_Invoke_Proxy */ , + 0 /* IAccessible::get_accParent */ , + 0 /* IAccessible::get_accChildCount */ , + 0 /* IAccessible::get_accChild */ , + 0 /* IAccessible::get_accName */ , + 0 /* IAccessible::get_accValue */ , + 0 /* IAccessible::get_accDescription */ , + 0 /* IAccessible::get_accRole */ , + 0 /* IAccessible::get_accState */ , + 0 /* IAccessible::get_accHelp */ , + 0 /* IAccessible::get_accHelpTopic */ , + 0 /* IAccessible::get_accKeyboardShortcut */ , + 0 /* IAccessible::get_accFocus */ , + 0 /* IAccessible::get_accSelection */ , + 0 /* IAccessible::get_accDefaultAction */ , + 0 /* IAccessible::accSelect */ , + 0 /* IAccessible::accLocation */ , + 0 /* IAccessible::accNavigate */ , + 0 /* IAccessible::accHitTest */ , + 0 /* IAccessible::accDoDefaultAction */ , + 0 /* IAccessible::put_accName */ , + 0 /* IAccessible::put_accValue */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_nRelations */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_relation */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_relations */ , + (void *) (INT_PTR) -1 /* IAccessible2::role */ , + (void *) (INT_PTR) -1 /* IAccessible2::scrollTo */ , + (void *) (INT_PTR) -1 /* IAccessible2::scrollToPoint */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_groupPosition */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_states */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_extendedRole */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_localizedExtendedRole */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_nExtendedStates */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_extendedStates */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_localizedExtendedStates */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_uniqueID */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_windowHandle */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_indexInParent */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_locale */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_attributes */ +}; + + +static const PRPC_STUB_FUNCTION IAccessible2_table[] = +{ + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2 +}; + +CInterfaceStubVtbl _IAccessible2StubVtbl = +{ + &IID_IAccessible2, + &IAccessible2_ServerInfo, + 46, + &IAccessible2_table[-3], + CStdStubBuffer_DELEGATING_METHODS +}; + + +/* Object interface: IAccessible2_2, ver. 0.0, + GUID={0x6C9430E9,0x299D,0x4E6F,{0xBD,0x01,0xA8,0x2A,0x1E,0x88,0xD3,0xFF}} */ + +#pragma code_seg(".orpc") +static const unsigned short IAccessible2_2_FormatStringOffsetTable[] = + { + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + (unsigned short) -1, + 450, + 486, + 528, + 576, + 612, + 648, + 696, + 744, + 780, + 816, + 852, + 888, + 936, + 984, + 1020, + 1056, + 1092, + 1128, + 1164, + 1206, + 1248 + }; + +static const MIDL_STUBLESS_PROXY_INFO IAccessible2_2_ProxyInfo = + { + &Object_StubDesc, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessible2_2_FormatStringOffsetTable[-3], + 0, + 0, + 0 + }; + + +static const MIDL_SERVER_INFO IAccessible2_2_ServerInfo = + { + &Object_StubDesc, + 0, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessible2_2_FormatStringOffsetTable[-3], + 0, + 0, + 0, + 0}; +CINTERFACE_PROXY_VTABLE(49) _IAccessible2_2ProxyVtbl = +{ + &IAccessible2_2_ProxyInfo, + &IID_IAccessible2_2, + IUnknown_QueryInterface_Proxy, + IUnknown_AddRef_Proxy, + IUnknown_Release_Proxy , + 0 /* IDispatch::GetTypeInfoCount */ , + 0 /* IDispatch::GetTypeInfo */ , + 0 /* IDispatch::GetIDsOfNames */ , + 0 /* IDispatch_Invoke_Proxy */ , + 0 /* IAccessible::get_accParent */ , + 0 /* IAccessible::get_accChildCount */ , + 0 /* IAccessible::get_accChild */ , + 0 /* IAccessible::get_accName */ , + 0 /* IAccessible::get_accValue */ , + 0 /* IAccessible::get_accDescription */ , + 0 /* IAccessible::get_accRole */ , + 0 /* IAccessible::get_accState */ , + 0 /* IAccessible::get_accHelp */ , + 0 /* IAccessible::get_accHelpTopic */ , + 0 /* IAccessible::get_accKeyboardShortcut */ , + 0 /* IAccessible::get_accFocus */ , + 0 /* IAccessible::get_accSelection */ , + 0 /* IAccessible::get_accDefaultAction */ , + 0 /* IAccessible::accSelect */ , + 0 /* IAccessible::accLocation */ , + 0 /* IAccessible::accNavigate */ , + 0 /* IAccessible::accHitTest */ , + 0 /* IAccessible::accDoDefaultAction */ , + 0 /* IAccessible::put_accName */ , + 0 /* IAccessible::put_accValue */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_nRelations */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_relation */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_relations */ , + (void *) (INT_PTR) -1 /* IAccessible2::role */ , + (void *) (INT_PTR) -1 /* IAccessible2::scrollTo */ , + (void *) (INT_PTR) -1 /* IAccessible2::scrollToPoint */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_groupPosition */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_states */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_extendedRole */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_localizedExtendedRole */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_nExtendedStates */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_extendedStates */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_localizedExtendedStates */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_uniqueID */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_windowHandle */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_indexInParent */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_locale */ , + (void *) (INT_PTR) -1 /* IAccessible2::get_attributes */ , + (void *) (INT_PTR) -1 /* IAccessible2_2::get_attribute */ , + (void *) (INT_PTR) -1 /* IAccessible2_2::get_accessibleWithCaret */ , + (void *) (INT_PTR) -1 /* IAccessible2_2::get_relationTargetsOfType */ +}; + + +static const PRPC_STUB_FUNCTION IAccessible2_2_table[] = +{ + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + STUB_FORWARDING_FUNCTION, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2, + NdrStubCall2 +}; + +CInterfaceStubVtbl _IAccessible2_2StubVtbl = +{ + &IID_IAccessible2_2, + &IAccessible2_2_ServerInfo, + 49, + &IAccessible2_2_table[-3], + CStdStubBuffer_DELEGATING_METHODS +}; + + +/* Standard interface: __MIDL_itf_ia2_api_all_0000_0004, ver. 0.0, + GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */ + + +/* Object interface: IAccessibleComponent, ver. 0.0, + GUID={0x1546D4B0,0x4C98,0x4bda,{0x89,0xAE,0x9A,0x64,0x74,0x8B,0xDD,0xE4}} */ + +#pragma code_seg(".orpc") +static const unsigned short IAccessibleComponent_FormatStringOffsetTable[] = + { + 1302, + 1344, + 72 + }; + +static const MIDL_STUBLESS_PROXY_INFO IAccessibleComponent_ProxyInfo = + { + &Object_StubDesc, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleComponent_FormatStringOffsetTable[-3], + 0, + 0, + 0 + }; + + +static const MIDL_SERVER_INFO IAccessibleComponent_ServerInfo = + { + &Object_StubDesc, + 0, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleComponent_FormatStringOffsetTable[-3], + 0, + 0, + 0, + 0}; +CINTERFACE_PROXY_VTABLE(6) _IAccessibleComponentProxyVtbl = +{ + &IAccessibleComponent_ProxyInfo, + &IID_IAccessibleComponent, + IUnknown_QueryInterface_Proxy, + IUnknown_AddRef_Proxy, + IUnknown_Release_Proxy , + (void *) (INT_PTR) -1 /* IAccessibleComponent::get_locationInParent */ , + (void *) (INT_PTR) -1 /* IAccessibleComponent::get_foreground */ , + (void *) (INT_PTR) -1 /* IAccessibleComponent::get_background */ +}; + +const CInterfaceStubVtbl _IAccessibleComponentStubVtbl = +{ + &IID_IAccessibleComponent, + &IAccessibleComponent_ServerInfo, + 6, + 0, /* pure interpreted */ + CStdStubBuffer_METHODS +}; + + +/* Object interface: IAccessibleValue, ver. 0.0, + GUID={0x35855B5B,0xC566,0x4fd0,{0xA7,0xB1,0xE6,0x54,0x65,0x60,0x03,0x94}} */ + +#pragma code_seg(".orpc") +static const unsigned short IAccessibleValue_FormatStringOffsetTable[] = + { + 1380, + 1416, + 1452, + 1488 + }; + +static const MIDL_STUBLESS_PROXY_INFO IAccessibleValue_ProxyInfo = + { + &Object_StubDesc, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleValue_FormatStringOffsetTable[-3], + 0, + 0, + 0 + }; + + +static const MIDL_SERVER_INFO IAccessibleValue_ServerInfo = + { + &Object_StubDesc, + 0, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleValue_FormatStringOffsetTable[-3], + 0, + 0, + 0, + 0}; +CINTERFACE_PROXY_VTABLE(7) _IAccessibleValueProxyVtbl = +{ + &IAccessibleValue_ProxyInfo, + &IID_IAccessibleValue, + IUnknown_QueryInterface_Proxy, + IUnknown_AddRef_Proxy, + IUnknown_Release_Proxy , + (void *) (INT_PTR) -1 /* IAccessibleValue::get_currentValue */ , + (void *) (INT_PTR) -1 /* IAccessibleValue::setCurrentValue */ , + (void *) (INT_PTR) -1 /* IAccessibleValue::get_maximumValue */ , + (void *) (INT_PTR) -1 /* IAccessibleValue::get_minimumValue */ +}; + +const CInterfaceStubVtbl _IAccessibleValueStubVtbl = +{ + &IID_IAccessibleValue, + &IAccessibleValue_ServerInfo, + 7, + 0, /* pure interpreted */ + CStdStubBuffer_METHODS +}; + + +/* Standard interface: __MIDL_itf_ia2_api_all_0000_0006, ver. 0.0, + GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */ + + +/* Object interface: IAccessibleText, ver. 0.0, + GUID={0x24FD2FFB,0x3AAD,0x4a08,{0x83,0x35,0xA3,0xAD,0x89,0xC0,0xFB,0x4B}} */ + +#pragma code_seg(".orpc") +static const unsigned short IAccessibleText_FormatStringOffsetTable[] = + { + 1524, + 1566, + 72, + 1620, + 1686, + 1722, + 1776, + 1824, + 1872, + 1932, + 1992, + 2052, + 2088, + 2124, + 2172, + 2208, + 2256, + 2316, + 2352 + }; + +static const MIDL_STUBLESS_PROXY_INFO IAccessibleText_ProxyInfo = + { + &Object_StubDesc, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleText_FormatStringOffsetTable[-3], + 0, + 0, + 0 + }; + + +static const MIDL_SERVER_INFO IAccessibleText_ServerInfo = + { + &Object_StubDesc, + 0, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleText_FormatStringOffsetTable[-3], + 0, + 0, + 0, + 0}; +CINTERFACE_PROXY_VTABLE(22) _IAccessibleTextProxyVtbl = +{ + &IAccessibleText_ProxyInfo, + &IID_IAccessibleText, + IUnknown_QueryInterface_Proxy, + IUnknown_AddRef_Proxy, + IUnknown_Release_Proxy , + (void *) (INT_PTR) -1 /* IAccessibleText::addSelection */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_attributes */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_caretOffset */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_characterExtents */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_nSelections */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_offsetAtPoint */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_selection */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_text */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_textBeforeOffset */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_textAfterOffset */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_textAtOffset */ , + (void *) (INT_PTR) -1 /* IAccessibleText::removeSelection */ , + (void *) (INT_PTR) -1 /* IAccessibleText::setCaretOffset */ , + (void *) (INT_PTR) -1 /* IAccessibleText::setSelection */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_nCharacters */ , + (void *) (INT_PTR) -1 /* IAccessibleText::scrollSubstringTo */ , + (void *) (INT_PTR) -1 /* IAccessibleText::scrollSubstringToPoint */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_newText */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_oldText */ +}; + +const CInterfaceStubVtbl _IAccessibleTextStubVtbl = +{ + &IID_IAccessibleText, + &IAccessibleText_ServerInfo, + 22, + 0, /* pure interpreted */ + CStdStubBuffer_METHODS +}; + + +/* Object interface: IAccessibleText2, ver. 0.0, + GUID={0x9690A9CC,0x5C80,0x4DF5,{0x85,0x2E,0x2D,0x5A,0xE4,0x18,0x9A,0x54}} */ + +#pragma code_seg(".orpc") +static const unsigned short IAccessibleText2_FormatStringOffsetTable[] = + { + 1524, + 1566, + 72, + 1620, + 1686, + 1722, + 1776, + 1824, + 1872, + 1932, + 1992, + 2052, + 2088, + 2124, + 2172, + 2208, + 2256, + 2316, + 2352, + 2388 + }; + +static const MIDL_STUBLESS_PROXY_INFO IAccessibleText2_ProxyInfo = + { + &Object_StubDesc, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleText2_FormatStringOffsetTable[-3], + 0, + 0, + 0 + }; + + +static const MIDL_SERVER_INFO IAccessibleText2_ServerInfo = + { + &Object_StubDesc, + 0, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleText2_FormatStringOffsetTable[-3], + 0, + 0, + 0, + 0}; +CINTERFACE_PROXY_VTABLE(23) _IAccessibleText2ProxyVtbl = +{ + &IAccessibleText2_ProxyInfo, + &IID_IAccessibleText2, + IUnknown_QueryInterface_Proxy, + IUnknown_AddRef_Proxy, + IUnknown_Release_Proxy , + (void *) (INT_PTR) -1 /* IAccessibleText::addSelection */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_attributes */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_caretOffset */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_characterExtents */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_nSelections */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_offsetAtPoint */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_selection */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_text */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_textBeforeOffset */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_textAfterOffset */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_textAtOffset */ , + (void *) (INT_PTR) -1 /* IAccessibleText::removeSelection */ , + (void *) (INT_PTR) -1 /* IAccessibleText::setCaretOffset */ , + (void *) (INT_PTR) -1 /* IAccessibleText::setSelection */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_nCharacters */ , + (void *) (INT_PTR) -1 /* IAccessibleText::scrollSubstringTo */ , + (void *) (INT_PTR) -1 /* IAccessibleText::scrollSubstringToPoint */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_newText */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_oldText */ , + (void *) (INT_PTR) -1 /* IAccessibleText2::get_attributeRange */ +}; + +const CInterfaceStubVtbl _IAccessibleText2StubVtbl = +{ + &IID_IAccessibleText2, + &IAccessibleText2_ServerInfo, + 23, + 0, /* pure interpreted */ + CStdStubBuffer_METHODS +}; + + +/* Object interface: IAccessibleEditableText, ver. 0.0, + GUID={0xA59AA09A,0x7011,0x4b65,{0x93,0x9D,0x32,0xB1,0xFB,0x55,0x47,0xE3}} */ + +#pragma code_seg(".orpc") +static const unsigned short IAccessibleEditableText_FormatStringOffsetTable[] = + { + 1524, + 2448, + 2490, + 2532, + 2574, + 2610, + 2658 + }; + +static const MIDL_STUBLESS_PROXY_INFO IAccessibleEditableText_ProxyInfo = + { + &Object_StubDesc, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleEditableText_FormatStringOffsetTable[-3], + 0, + 0, + 0 + }; + + +static const MIDL_SERVER_INFO IAccessibleEditableText_ServerInfo = + { + &Object_StubDesc, + 0, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleEditableText_FormatStringOffsetTable[-3], + 0, + 0, + 0, + 0}; +CINTERFACE_PROXY_VTABLE(10) _IAccessibleEditableTextProxyVtbl = +{ + &IAccessibleEditableText_ProxyInfo, + &IID_IAccessibleEditableText, + IUnknown_QueryInterface_Proxy, + IUnknown_AddRef_Proxy, + IUnknown_Release_Proxy , + (void *) (INT_PTR) -1 /* IAccessibleEditableText::copyText */ , + (void *) (INT_PTR) -1 /* IAccessibleEditableText::deleteText */ , + (void *) (INT_PTR) -1 /* IAccessibleEditableText::insertText */ , + (void *) (INT_PTR) -1 /* IAccessibleEditableText::cutText */ , + (void *) (INT_PTR) -1 /* IAccessibleEditableText::pasteText */ , + (void *) (INT_PTR) -1 /* IAccessibleEditableText::replaceText */ , + (void *) (INT_PTR) -1 /* IAccessibleEditableText::setAttributes */ +}; + +const CInterfaceStubVtbl _IAccessibleEditableTextStubVtbl = +{ + &IID_IAccessibleEditableText, + &IAccessibleEditableText_ServerInfo, + 10, + 0, /* pure interpreted */ + CStdStubBuffer_METHODS +}; + + +/* Object interface: IAccessibleHyperlink, ver. 0.0, + GUID={0x01C20F2B,0x3DD2,0x400f,{0x94,0x9F,0xAD,0x00,0xBD,0xAB,0x1D,0x41}} */ + +#pragma code_seg(".orpc") +static const unsigned short IAccessibleHyperlink_FormatStringOffsetTable[] = + { + 198, + 234, + 270, + 312, + 366, + 408, + 2706, + 2748, + 2790, + 2826, + 2862 + }; + +static const MIDL_STUBLESS_PROXY_INFO IAccessibleHyperlink_ProxyInfo = + { + &Object_StubDesc, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleHyperlink_FormatStringOffsetTable[-3], + 0, + 0, + 0 + }; + + +static const MIDL_SERVER_INFO IAccessibleHyperlink_ServerInfo = + { + &Object_StubDesc, + 0, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleHyperlink_FormatStringOffsetTable[-3], + 0, + 0, + 0, + 0}; +CINTERFACE_PROXY_VTABLE(14) _IAccessibleHyperlinkProxyVtbl = +{ + &IAccessibleHyperlink_ProxyInfo, + &IID_IAccessibleHyperlink, + IUnknown_QueryInterface_Proxy, + IUnknown_AddRef_Proxy, + IUnknown_Release_Proxy , + (void *) (INT_PTR) -1 /* IAccessibleAction::nActions */ , + (void *) (INT_PTR) -1 /* IAccessibleAction::doAction */ , + (void *) (INT_PTR) -1 /* IAccessibleAction::get_description */ , + (void *) (INT_PTR) -1 /* IAccessibleAction::get_keyBinding */ , + (void *) (INT_PTR) -1 /* IAccessibleAction::get_name */ , + (void *) (INT_PTR) -1 /* IAccessibleAction::get_localizedName */ , + (void *) (INT_PTR) -1 /* IAccessibleHyperlink::get_anchor */ , + (void *) (INT_PTR) -1 /* IAccessibleHyperlink::get_anchorTarget */ , + (void *) (INT_PTR) -1 /* IAccessibleHyperlink::get_startIndex */ , + (void *) (INT_PTR) -1 /* IAccessibleHyperlink::get_endIndex */ , + (void *) (INT_PTR) -1 /* IAccessibleHyperlink::get_valid */ +}; + +const CInterfaceStubVtbl _IAccessibleHyperlinkStubVtbl = +{ + &IID_IAccessibleHyperlink, + &IAccessibleHyperlink_ServerInfo, + 14, + 0, /* pure interpreted */ + CStdStubBuffer_METHODS +}; + + +/* Object interface: IAccessibleHypertext, ver. 0.0, + GUID={0x6B4F8BBF,0xF1F2,0x418a,{0xB3,0x5E,0xA1,0x95,0xBC,0x41,0x03,0xB9}} */ + +#pragma code_seg(".orpc") +static const unsigned short IAccessibleHypertext_FormatStringOffsetTable[] = + { + 1524, + 1566, + 72, + 1620, + 1686, + 1722, + 1776, + 1824, + 1872, + 1932, + 1992, + 2052, + 2088, + 2124, + 2172, + 2208, + 2256, + 2316, + 2352, + 2898, + 2934, + 2976 + }; + +static const MIDL_STUBLESS_PROXY_INFO IAccessibleHypertext_ProxyInfo = + { + &Object_StubDesc, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleHypertext_FormatStringOffsetTable[-3], + 0, + 0, + 0 + }; + + +static const MIDL_SERVER_INFO IAccessibleHypertext_ServerInfo = + { + &Object_StubDesc, + 0, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleHypertext_FormatStringOffsetTable[-3], + 0, + 0, + 0, + 0}; +CINTERFACE_PROXY_VTABLE(25) _IAccessibleHypertextProxyVtbl = +{ + &IAccessibleHypertext_ProxyInfo, + &IID_IAccessibleHypertext, + IUnknown_QueryInterface_Proxy, + IUnknown_AddRef_Proxy, + IUnknown_Release_Proxy , + (void *) (INT_PTR) -1 /* IAccessibleText::addSelection */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_attributes */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_caretOffset */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_characterExtents */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_nSelections */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_offsetAtPoint */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_selection */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_text */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_textBeforeOffset */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_textAfterOffset */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_textAtOffset */ , + (void *) (INT_PTR) -1 /* IAccessibleText::removeSelection */ , + (void *) (INT_PTR) -1 /* IAccessibleText::setCaretOffset */ , + (void *) (INT_PTR) -1 /* IAccessibleText::setSelection */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_nCharacters */ , + (void *) (INT_PTR) -1 /* IAccessibleText::scrollSubstringTo */ , + (void *) (INT_PTR) -1 /* IAccessibleText::scrollSubstringToPoint */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_newText */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_oldText */ , + (void *) (INT_PTR) -1 /* IAccessibleHypertext::get_nHyperlinks */ , + (void *) (INT_PTR) -1 /* IAccessibleHypertext::get_hyperlink */ , + (void *) (INT_PTR) -1 /* IAccessibleHypertext::get_hyperlinkIndex */ +}; + +const CInterfaceStubVtbl _IAccessibleHypertextStubVtbl = +{ + &IID_IAccessibleHypertext, + &IAccessibleHypertext_ServerInfo, + 25, + 0, /* pure interpreted */ + CStdStubBuffer_METHODS +}; + + +/* Object interface: IAccessibleHypertext2, ver. 0.0, + GUID={0xCF64D89F,0x8287,0x4B44,{0x85,0x01,0xA8,0x27,0x45,0x3A,0x60,0x77}} */ + +#pragma code_seg(".orpc") +static const unsigned short IAccessibleHypertext2_FormatStringOffsetTable[] = + { + 1524, + 1566, + 72, + 1620, + 1686, + 1722, + 1776, + 1824, + 1872, + 1932, + 1992, + 2052, + 2088, + 2124, + 2172, + 2208, + 2256, + 2316, + 2352, + 2898, + 2934, + 2976, + 3018 + }; + +static const MIDL_STUBLESS_PROXY_INFO IAccessibleHypertext2_ProxyInfo = + { + &Object_StubDesc, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleHypertext2_FormatStringOffsetTable[-3], + 0, + 0, + 0 + }; + + +static const MIDL_SERVER_INFO IAccessibleHypertext2_ServerInfo = + { + &Object_StubDesc, + 0, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleHypertext2_FormatStringOffsetTable[-3], + 0, + 0, + 0, + 0}; +CINTERFACE_PROXY_VTABLE(26) _IAccessibleHypertext2ProxyVtbl = +{ + &IAccessibleHypertext2_ProxyInfo, + &IID_IAccessibleHypertext2, + IUnknown_QueryInterface_Proxy, + IUnknown_AddRef_Proxy, + IUnknown_Release_Proxy , + (void *) (INT_PTR) -1 /* IAccessibleText::addSelection */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_attributes */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_caretOffset */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_characterExtents */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_nSelections */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_offsetAtPoint */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_selection */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_text */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_textBeforeOffset */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_textAfterOffset */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_textAtOffset */ , + (void *) (INT_PTR) -1 /* IAccessibleText::removeSelection */ , + (void *) (INT_PTR) -1 /* IAccessibleText::setCaretOffset */ , + (void *) (INT_PTR) -1 /* IAccessibleText::setSelection */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_nCharacters */ , + (void *) (INT_PTR) -1 /* IAccessibleText::scrollSubstringTo */ , + (void *) (INT_PTR) -1 /* IAccessibleText::scrollSubstringToPoint */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_newText */ , + (void *) (INT_PTR) -1 /* IAccessibleText::get_oldText */ , + (void *) (INT_PTR) -1 /* IAccessibleHypertext::get_nHyperlinks */ , + (void *) (INT_PTR) -1 /* IAccessibleHypertext::get_hyperlink */ , + (void *) (INT_PTR) -1 /* IAccessibleHypertext::get_hyperlinkIndex */ , + (void *) (INT_PTR) -1 /* IAccessibleHypertext2::get_hyperlinks */ +}; + +const CInterfaceStubVtbl _IAccessibleHypertext2StubVtbl = +{ + &IID_IAccessibleHypertext2, + &IAccessibleHypertext2_ServerInfo, + 26, + 0, /* pure interpreted */ + CStdStubBuffer_METHODS +}; + + +/* Object interface: IAccessibleTable, ver. 0.0, + GUID={0x35AD8070,0xC20C,0x4fb4,{0xB0,0x94,0xF4,0xF7,0x27,0x5D,0xD4,0x69}} */ + +#pragma code_seg(".orpc") +static const unsigned short IAccessibleTable_FormatStringOffsetTable[] = + { + 3060, + 3108, + 3144, + 3192, + 3234, + 3282, + 3324, + 3366, + 2790, + 2826, + 3402, + 3438, + 3474, + 3516, + 3564, + 3606, + 3648, + 3696, + 3744, + 3792, + 3828, + 3870, + 3912, + 3960, + 3996, + 4032, + 4068, + 4104, + 4170 + }; + +static const MIDL_STUBLESS_PROXY_INFO IAccessibleTable_ProxyInfo = + { + &Object_StubDesc, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleTable_FormatStringOffsetTable[-3], + 0, + 0, + 0 + }; + + +static const MIDL_SERVER_INFO IAccessibleTable_ServerInfo = + { + &Object_StubDesc, + 0, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleTable_FormatStringOffsetTable[-3], + 0, + 0, + 0, + 0}; +CINTERFACE_PROXY_VTABLE(32) _IAccessibleTableProxyVtbl = +{ + &IAccessibleTable_ProxyInfo, + &IID_IAccessibleTable, + IUnknown_QueryInterface_Proxy, + IUnknown_AddRef_Proxy, + IUnknown_Release_Proxy , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_accessibleAt */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_caption */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_childIndex */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_columnDescription */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_columnExtentAt */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_columnHeader */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_columnIndex */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_nColumns */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_nRows */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_nSelectedChildren */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_nSelectedColumns */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_nSelectedRows */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_rowDescription */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_rowExtentAt */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_rowHeader */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_rowIndex */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_selectedChildren */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_selectedColumns */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_selectedRows */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_summary */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_isColumnSelected */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_isRowSelected */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_isSelected */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::selectRow */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::selectColumn */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::unselectRow */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::unselectColumn */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_rowColumnExtentsAtIndex */ , + (void *) (INT_PTR) -1 /* IAccessibleTable::get_modelChange */ +}; + +const CInterfaceStubVtbl _IAccessibleTableStubVtbl = +{ + &IID_IAccessibleTable, + &IAccessibleTable_ServerInfo, + 32, + 0, /* pure interpreted */ + CStdStubBuffer_METHODS +}; + + +/* Object interface: IAccessibleTable2, ver. 0.0, + GUID={0x6167f295,0x06f0,0x4cdd,{0xa1,0xfa,0x02,0xe2,0x51,0x53,0xd8,0x69}} */ + +#pragma code_seg(".orpc") +static const unsigned short IAccessibleTable2_FormatStringOffsetTable[] = + { + 3060, + 3108, + 270, + 4206, + 1686, + 4242, + 4278, + 3366, + 4314, + 4356, + 4398, + 4440, + 4482, + 4518, + 4560, + 4602, + 4638, + 4674, + 4710, + 4746 + }; + +static const MIDL_STUBLESS_PROXY_INFO IAccessibleTable2_ProxyInfo = + { + &Object_StubDesc, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleTable2_FormatStringOffsetTable[-3], + 0, + 0, + 0 + }; + + +static const MIDL_SERVER_INFO IAccessibleTable2_ServerInfo = + { + &Object_StubDesc, + 0, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleTable2_FormatStringOffsetTable[-3], + 0, + 0, + 0, + 0}; +CINTERFACE_PROXY_VTABLE(23) _IAccessibleTable2ProxyVtbl = +{ + &IAccessibleTable2_ProxyInfo, + &IID_IAccessibleTable2, + IUnknown_QueryInterface_Proxy, + IUnknown_AddRef_Proxy, + IUnknown_Release_Proxy , + (void *) (INT_PTR) -1 /* IAccessibleTable2::get_cellAt */ , + (void *) (INT_PTR) -1 /* IAccessibleTable2::get_caption */ , + (void *) (INT_PTR) -1 /* IAccessibleTable2::get_columnDescription */ , + (void *) (INT_PTR) -1 /* IAccessibleTable2::get_nColumns */ , + (void *) (INT_PTR) -1 /* IAccessibleTable2::get_nRows */ , + (void *) (INT_PTR) -1 /* IAccessibleTable2::get_nSelectedCells */ , + (void *) (INT_PTR) -1 /* IAccessibleTable2::get_nSelectedColumns */ , + (void *) (INT_PTR) -1 /* IAccessibleTable2::get_nSelectedRows */ , + (void *) (INT_PTR) -1 /* IAccessibleTable2::get_rowDescription */ , + (void *) (INT_PTR) -1 /* IAccessibleTable2::get_selectedCells */ , + (void *) (INT_PTR) -1 /* IAccessibleTable2::get_selectedColumns */ , + (void *) (INT_PTR) -1 /* IAccessibleTable2::get_selectedRows */ , + (void *) (INT_PTR) -1 /* IAccessibleTable2::get_summary */ , + (void *) (INT_PTR) -1 /* IAccessibleTable2::get_isColumnSelected */ , + (void *) (INT_PTR) -1 /* IAccessibleTable2::get_isRowSelected */ , + (void *) (INT_PTR) -1 /* IAccessibleTable2::selectRow */ , + (void *) (INT_PTR) -1 /* IAccessibleTable2::selectColumn */ , + (void *) (INT_PTR) -1 /* IAccessibleTable2::unselectRow */ , + (void *) (INT_PTR) -1 /* IAccessibleTable2::unselectColumn */ , + (void *) (INT_PTR) -1 /* IAccessibleTable2::get_modelChange */ +}; + +const CInterfaceStubVtbl _IAccessibleTable2StubVtbl = +{ + &IID_IAccessibleTable2, + &IAccessibleTable2_ServerInfo, + 23, + 0, /* pure interpreted */ + CStdStubBuffer_METHODS +}; + + +/* Object interface: IAccessibleTableCell, ver. 0.0, + GUID={0x594116B1,0xC99F,0x4847,{0xAD,0x06,0x0A,0x7A,0x86,0xEC,0xE6,0x45}} */ + +#pragma code_seg(".orpc") +static const unsigned short IAccessibleTableCell_FormatStringOffsetTable[] = + { + 198, + 4782, + 72, + 4206, + 4824, + 4242, + 4866, + 4902, + 4962 + }; + +static const MIDL_STUBLESS_PROXY_INFO IAccessibleTableCell_ProxyInfo = + { + &Object_StubDesc, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleTableCell_FormatStringOffsetTable[-3], + 0, + 0, + 0 + }; + + +static const MIDL_SERVER_INFO IAccessibleTableCell_ServerInfo = + { + &Object_StubDesc, + 0, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleTableCell_FormatStringOffsetTable[-3], + 0, + 0, + 0, + 0}; +CINTERFACE_PROXY_VTABLE(12) _IAccessibleTableCellProxyVtbl = +{ + &IAccessibleTableCell_ProxyInfo, + &IID_IAccessibleTableCell, + IUnknown_QueryInterface_Proxy, + IUnknown_AddRef_Proxy, + IUnknown_Release_Proxy , + (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_columnExtent */ , + (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_columnHeaderCells */ , + (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_columnIndex */ , + (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_rowExtent */ , + (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_rowHeaderCells */ , + (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_rowIndex */ , + (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_isSelected */ , + (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_rowColumnExtents */ , + (void *) (INT_PTR) -1 /* IAccessibleTableCell::get_table */ +}; + +const CInterfaceStubVtbl _IAccessibleTableCellStubVtbl = +{ + &IID_IAccessibleTableCell, + &IAccessibleTableCell_ServerInfo, + 12, + 0, /* pure interpreted */ + CStdStubBuffer_METHODS +}; + + +/* Object interface: IAccessibleImage, ver. 0.0, + GUID={0xFE5ABB3D,0x615E,0x4f7b,{0x90,0x9F,0x5F,0x0E,0xDA,0x9E,0x8D,0xDE}} */ + +#pragma code_seg(".orpc") +static const unsigned short IAccessibleImage_FormatStringOffsetTable[] = + { + 0, + 4998, + 5046 + }; + +static const MIDL_STUBLESS_PROXY_INFO IAccessibleImage_ProxyInfo = + { + &Object_StubDesc, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleImage_FormatStringOffsetTable[-3], + 0, + 0, + 0 + }; + + +static const MIDL_SERVER_INFO IAccessibleImage_ServerInfo = + { + &Object_StubDesc, + 0, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleImage_FormatStringOffsetTable[-3], + 0, + 0, + 0, + 0}; +CINTERFACE_PROXY_VTABLE(6) _IAccessibleImageProxyVtbl = +{ + &IAccessibleImage_ProxyInfo, + &IID_IAccessibleImage, + IUnknown_QueryInterface_Proxy, + IUnknown_AddRef_Proxy, + IUnknown_Release_Proxy , + (void *) (INT_PTR) -1 /* IAccessibleImage::get_description */ , + (void *) (INT_PTR) -1 /* IAccessibleImage::get_imagePosition */ , + (void *) (INT_PTR) -1 /* IAccessibleImage::get_imageSize */ +}; + +const CInterfaceStubVtbl _IAccessibleImageStubVtbl = +{ + &IID_IAccessibleImage, + &IAccessibleImage_ServerInfo, + 6, + 0, /* pure interpreted */ + CStdStubBuffer_METHODS +}; + + +/* Standard interface: __MIDL_itf_ia2_api_all_0000_0016, ver. 0.0, + GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */ + + +/* Object interface: IAccessibleApplication, ver. 0.0, + GUID={0xD49DED83,0x5B25,0x43F4,{0x9B,0x95,0x93,0xB4,0x45,0x95,0x97,0x9E}} */ + +#pragma code_seg(".orpc") +static const unsigned short IAccessibleApplication_FormatStringOffsetTable[] = + { + 0, + 36, + 5088, + 5124 + }; + +static const MIDL_STUBLESS_PROXY_INFO IAccessibleApplication_ProxyInfo = + { + &Object_StubDesc, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleApplication_FormatStringOffsetTable[-3], + 0, + 0, + 0 + }; + + +static const MIDL_SERVER_INFO IAccessibleApplication_ServerInfo = + { + &Object_StubDesc, + 0, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleApplication_FormatStringOffsetTable[-3], + 0, + 0, + 0, + 0}; +CINTERFACE_PROXY_VTABLE(7) _IAccessibleApplicationProxyVtbl = +{ + &IAccessibleApplication_ProxyInfo, + &IID_IAccessibleApplication, + IUnknown_QueryInterface_Proxy, + IUnknown_AddRef_Proxy, + IUnknown_Release_Proxy , + (void *) (INT_PTR) -1 /* IAccessibleApplication::get_appName */ , + (void *) (INT_PTR) -1 /* IAccessibleApplication::get_appVersion */ , + (void *) (INT_PTR) -1 /* IAccessibleApplication::get_toolkitName */ , + (void *) (INT_PTR) -1 /* IAccessibleApplication::get_toolkitVersion */ +}; + +const CInterfaceStubVtbl _IAccessibleApplicationStubVtbl = +{ + &IID_IAccessibleApplication, + &IAccessibleApplication_ServerInfo, + 7, + 0, /* pure interpreted */ + CStdStubBuffer_METHODS +}; + + +/* Object interface: IAccessibleDocument, ver. 0.0, + GUID={0xC48C7FCF,0x4AB5,0x4056,{0xAF,0xA6,0x90,0x2D,0x6E,0x1D,0x11,0x49}} */ + +#pragma code_seg(".orpc") +static const unsigned short IAccessibleDocument_FormatStringOffsetTable[] = + { + 5160 + }; + +static const MIDL_STUBLESS_PROXY_INFO IAccessibleDocument_ProxyInfo = + { + &Object_StubDesc, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleDocument_FormatStringOffsetTable[-3], + 0, + 0, + 0 + }; + + +static const MIDL_SERVER_INFO IAccessibleDocument_ServerInfo = + { + &Object_StubDesc, + 0, + ia2_api_all__MIDL_ProcFormatString.Format, + &IAccessibleDocument_FormatStringOffsetTable[-3], + 0, + 0, + 0, + 0}; +CINTERFACE_PROXY_VTABLE(4) _IAccessibleDocumentProxyVtbl = +{ + &IAccessibleDocument_ProxyInfo, + &IID_IAccessibleDocument, + IUnknown_QueryInterface_Proxy, + IUnknown_AddRef_Proxy, + IUnknown_Release_Proxy , + (void *) (INT_PTR) -1 /* IAccessibleDocument::get_anchorTarget */ +}; + +const CInterfaceStubVtbl _IAccessibleDocumentStubVtbl = +{ + &IID_IAccessibleDocument, + &IAccessibleDocument_ServerInfo, + 4, + 0, /* pure interpreted */ + CStdStubBuffer_METHODS +}; + + +/* Standard interface: __MIDL_itf_ia2_api_all_0000_0018, ver. 0.0, + GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */ + +static const MIDL_STUB_DESC Object_StubDesc = + { + 0, + NdrOleAllocate, + NdrOleFree, + 0, + 0, + 0, + 0, + 0, + ia2_api_all__MIDL_TypeFormatString.Format, + 1, /* -error bounds_check flag */ + 0x50002, /* Ndr library version */ + 0, + 0x700022b, /* MIDL Version 7.0.555 */ + 0, + UserMarshalRoutines, + 0, /* notify & notify_flag routine table */ + 0x1, /* MIDL flag */ + 0, /* cs routines */ + 0, /* proxy/server info */ + 0 + }; + +const CInterfaceProxyVtbl * const _ia2_api_all_ProxyVtblList[] = +{ + ( CInterfaceProxyVtbl *) &_IAccessibleHyperlinkProxyVtbl, + ( CInterfaceProxyVtbl *) &_IAccessibleImageProxyVtbl, + ( CInterfaceProxyVtbl *) &_IAccessibleActionProxyVtbl, + ( CInterfaceProxyVtbl *) &_IAccessibleValueProxyVtbl, + ( CInterfaceProxyVtbl *) &_IAccessible2ProxyVtbl, + ( CInterfaceProxyVtbl *) &_IAccessibleTableProxyVtbl, + ( CInterfaceProxyVtbl *) &_IAccessibleApplicationProxyVtbl, + ( CInterfaceProxyVtbl *) &_IAccessibleTable2ProxyVtbl, + ( CInterfaceProxyVtbl *) &_IAccessibleEditableTextProxyVtbl, + ( CInterfaceProxyVtbl *) &_IAccessibleHypertext2ProxyVtbl, + ( CInterfaceProxyVtbl *) &_IAccessibleComponentProxyVtbl, + ( CInterfaceProxyVtbl *) &_IAccessibleTableCellProxyVtbl, + ( CInterfaceProxyVtbl *) &_IAccessibleHypertextProxyVtbl, + ( CInterfaceProxyVtbl *) &_IAccessibleText2ProxyVtbl, + ( CInterfaceProxyVtbl *) &_IAccessibleDocumentProxyVtbl, + ( CInterfaceProxyVtbl *) &_IAccessible2_2ProxyVtbl, + ( CInterfaceProxyVtbl *) &_IAccessibleRelationProxyVtbl, + ( CInterfaceProxyVtbl *) &_IAccessibleTextProxyVtbl, + 0 +}; + +const CInterfaceStubVtbl * const _ia2_api_all_StubVtblList[] = +{ + ( CInterfaceStubVtbl *) &_IAccessibleHyperlinkStubVtbl, + ( CInterfaceStubVtbl *) &_IAccessibleImageStubVtbl, + ( CInterfaceStubVtbl *) &_IAccessibleActionStubVtbl, + ( CInterfaceStubVtbl *) &_IAccessibleValueStubVtbl, + ( CInterfaceStubVtbl *) &_IAccessible2StubVtbl, + ( CInterfaceStubVtbl *) &_IAccessibleTableStubVtbl, + ( CInterfaceStubVtbl *) &_IAccessibleApplicationStubVtbl, + ( CInterfaceStubVtbl *) &_IAccessibleTable2StubVtbl, + ( CInterfaceStubVtbl *) &_IAccessibleEditableTextStubVtbl, + ( CInterfaceStubVtbl *) &_IAccessibleHypertext2StubVtbl, + ( CInterfaceStubVtbl *) &_IAccessibleComponentStubVtbl, + ( CInterfaceStubVtbl *) &_IAccessibleTableCellStubVtbl, + ( CInterfaceStubVtbl *) &_IAccessibleHypertextStubVtbl, + ( CInterfaceStubVtbl *) &_IAccessibleText2StubVtbl, + ( CInterfaceStubVtbl *) &_IAccessibleDocumentStubVtbl, + ( CInterfaceStubVtbl *) &_IAccessible2_2StubVtbl, + ( CInterfaceStubVtbl *) &_IAccessibleRelationStubVtbl, + ( CInterfaceStubVtbl *) &_IAccessibleTextStubVtbl, + 0 +}; + +PCInterfaceName const _ia2_api_all_InterfaceNamesList[] = +{ + "IAccessibleHyperlink", + "IAccessibleImage", + "IAccessibleAction", + "IAccessibleValue", + "IAccessible2", + "IAccessibleTable", + "IAccessibleApplication", + "IAccessibleTable2", + "IAccessibleEditableText", + "IAccessibleHypertext2", + "IAccessibleComponent", + "IAccessibleTableCell", + "IAccessibleHypertext", + "IAccessibleText2", + "IAccessibleDocument", + "IAccessible2_2", + "IAccessibleRelation", + "IAccessibleText", + 0 +}; + +const IID * const _ia2_api_all_BaseIIDList[] = +{ + 0, + 0, + 0, + 0, + &IID_IAccessible, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + &IID_IAccessible, + 0, + 0, + 0 +}; + + +#define _ia2_api_all_CHECK_IID(n) IID_GENERIC_CHECK_IID( _ia2_api_all, pIID, n) + +int __stdcall _ia2_api_all_IID_Lookup( const IID * pIID, int * pIndex ) +{ + IID_BS_LOOKUP_SETUP + + IID_BS_LOOKUP_INITIAL_TEST( _ia2_api_all, 18, 16 ) + IID_BS_LOOKUP_NEXT_TEST( _ia2_api_all, 8 ) + IID_BS_LOOKUP_NEXT_TEST( _ia2_api_all, 4 ) + IID_BS_LOOKUP_NEXT_TEST( _ia2_api_all, 2 ) + IID_BS_LOOKUP_NEXT_TEST( _ia2_api_all, 1 ) + IID_BS_LOOKUP_RETURN_RESULT( _ia2_api_all, 18, *pIndex ) + +} + +const ExtendedProxyFileInfo ia2_api_all_ProxyFileInfo = +{ + (PCInterfaceProxyVtblList *) & _ia2_api_all_ProxyVtblList, + (PCInterfaceStubVtblList *) & _ia2_api_all_StubVtblList, + (const PCInterfaceName * ) & _ia2_api_all_InterfaceNamesList, + (const IID ** ) & _ia2_api_all_BaseIIDList, + & _ia2_api_all_IID_Lookup, + 18, + 2, + 0, /* table of [async_uuid] interfaces */ + 0, /* Filler1 */ + 0, /* Filler2 */ + 0 /* Filler3 */ +}; +#pragma optimize("", on ) +#if _MSC_VER >= 1200 +#pragma warning(pop) +#endif + + +#endif /* !defined(_M_IA64) && !defined(_M_AMD64)*/ + diff --git a/src/3rdparty/iaccessible2/iaccessible2.pri b/src/3rdparty/iaccessible2/iaccessible2.pri index b3cdfa9356..c7daa760c6 100644 --- a/src/3rdparty/iaccessible2/iaccessible2.pri +++ b/src/3rdparty/iaccessible2/iaccessible2.pri @@ -10,84 +10,18 @@ MIDL_GENERATED = $$PWD/generated/$${ARCH_SUBDIR} INCLUDEPATH += $$MIDL_GENERATED -SOURCES += $${MIDL_GENERATED}/Accessible2_p.c \ - $${MIDL_GENERATED}/AccessibleAction_p.c \ - $${MIDL_GENERATED}/AccessibleApplication_p.c \ - $${MIDL_GENERATED}/AccessibleComponent_p.c \ - $${MIDL_GENERATED}/AccessibleEditableText_p.c \ - $${MIDL_GENERATED}/AccessibleHyperlink_p.c \ - $${MIDL_GENERATED}/AccessibleHypertext_p.c \ - $${MIDL_GENERATED}/AccessibleImage_p.c \ - $${MIDL_GENERATED}/AccessibleRelation_p.c \ - $${MIDL_GENERATED}/AccessibleTable2_p.c \ - $${MIDL_GENERATED}/AccessibleTableCell_p.c \ - $${MIDL_GENERATED}/AccessibleTable_p.c \ - $${MIDL_GENERATED}/AccessibleText_p.c \ - $${MIDL_GENERATED}/AccessibleValue_p.c - -SOURCES += $${MIDL_GENERATED}/Accessible2_i.c \ - $${MIDL_GENERATED}/AccessibleAction_i.c \ - $${MIDL_GENERATED}/AccessibleApplication_i.c \ - $${MIDL_GENERATED}/AccessibleComponent_i.c \ - $${MIDL_GENERATED}/AccessibleEditableText_i.c \ - $${MIDL_GENERATED}/AccessibleHyperlink_i.c \ - $${MIDL_GENERATED}/AccessibleHypertext_i.c \ - $${MIDL_GENERATED}/AccessibleImage_i.c \ - $${MIDL_GENERATED}/AccessibleRelation_i.c \ - $${MIDL_GENERATED}/AccessibleTable2_i.c \ - $${MIDL_GENERATED}/AccessibleTableCell_i.c \ - $${MIDL_GENERATED}/AccessibleTable_i.c \ - $${MIDL_GENERATED}/AccessibleText_i.c \ - $${MIDL_GENERATED}/AccessibleValue_i.c - -SOURCES += $${MIDL_GENERATED}/IA2TypeLibrary_i.c +SOURCES += $${MIDL_GENERATED}/ia2_api_all_i.c \ + $${MIDL_GENERATED}/ia2_api_all_p.c # Do not add dlldata.c when building accessibility into a static library, as the COM entry points # defined there can cause duplicate symbol errors when linking into a binary that also defines # such entry points, e.g. anything linked against QtAxServer. !static: SOURCES += $${MIDL_GENERATED}/dlldata.c -HEADERS += $${MIDL_GENERATED}/Accessible2.h \ - $${MIDL_GENERATED}/AccessibleAction.h \ - $${MIDL_GENERATED}/AccessibleApplication.h \ - $${MIDL_GENERATED}/AccessibleComponent.h \ - $${MIDL_GENERATED}/AccessibleEditableText.h \ - $${MIDL_GENERATED}/AccessibleEventID.h \ - $${MIDL_GENERATED}/AccessibleHyperlink.h \ - $${MIDL_GENERATED}/AccessibleHypertext.h \ - $${MIDL_GENERATED}/AccessibleImage.h \ - $${MIDL_GENERATED}/AccessibleRelation.h \ - $${MIDL_GENERATED}/AccessibleRole.h \ - $${MIDL_GENERATED}/AccessibleStates.h \ - $${MIDL_GENERATED}/AccessibleTable.h \ - $${MIDL_GENERATED}/AccessibleTable2.h \ - $${MIDL_GENERATED}/AccessibleTableCell.h \ - $${MIDL_GENERATED}/AccessibleText.h \ - $${MIDL_GENERATED}/AccessibleValue.h \ - $${MIDL_GENERATED}/IA2CommonTypes.h \ - $${MIDL_GENERATED}/IA2TypeLibrary.h - +HEADERS += $${MIDL_GENERATED}/ia2_api_all.h OTHER_FILES = \ - $$PWD/idl/Accessible2.idl \ - $$PWD/idl/AccessibleAction.idl \ - $$PWD/idl/AccessibleApplication.idl \ - $$PWD/idl/AccessibleComponent.idl \ - $$PWD/idl/AccessibleEditableText.idl \ - $$PWD/idl/AccessibleEventID.idl \ - $$PWD/idl/AccessibleHyperlink.idl \ - $$PWD/idl/AccessibleHypertext.idl \ - $$PWD/idl/AccessibleImage.idl \ - $$PWD/idl/AccessibleRelation.idl \ - $$PWD/idl/AccessibleRole.idl \ - $$PWD/idl/AccessibleStates.idl \ - $$PWD/idl/AccessibleTable.idl \ - $$PWD/idl/AccessibleTable2.idl \ - $$PWD/idl/AccessibleTableCell.idl \ - $$PWD/idl/AccessibleText.idl \ - $$PWD/idl/AccessibleValue.idl \ - $$PWD/idl/IA2CommonTypes.idl \ - $$PWD/idl/IA2TypeLibrary.idl + $$PWD/idl/ia2_api_all.idl LIBS += -lrpcrt4 diff --git a/src/3rdparty/iaccessible2/idl/Accessible2.idl b/src/3rdparty/iaccessible2/idl/Accessible2.idl deleted file mode 100644 index 6a0d750483..0000000000 --- a/src/3rdparty/iaccessible2/idl/Accessible2.idl +++ /dev/null @@ -1,679 +0,0 @@ -/************************************************************************* - * - * File Name (Accessible2.idl) - * - * IAccessible2 IDL Specification - * - * Copyright (c) 2007, 2010 Linux Foundation - * Copyright (c) 2006 IBM Corporation - * Copyright (c) 2000, 2006 Sun Microsystems, Inc. - * All rights reserved. - * - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * 3. Neither the name of the Linux Foundation nor the names of its - * contributors may be used to endorse or promote products - * derived from this software without specific prior written - * permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * This BSD License conforms to the Open Source Initiative "Simplified - * BSD License" as published at: - * http://www.opensource.org/licenses/bsd-license.php - * - * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 - * mark may be used in accordance with the Linux Foundation Trademark - * Policy to indicate compliance with the IAccessible2 specification. - * - ************************************************************************/ - -/** @mainpage - - @section _interfaces Interfaces - IAccessible2\n - IAccessibleAction\n - IAccessibleApplication\n - IAccessibleComponent\n - IAccessibleHypertext\n - IAccessibleHyperlink\n - IAccessibleImage\n - IAccessibleRelation\n - IAccessibleTable [Deprecated]\n - IAccessibleTable2\n - IAccessibleTableCell\n - IAccessibleText\n - IAccessibleEditableText\n - IAccessibleValue - - @section _structs Structs - IA2Locale\n - IA2TableModelChange\n - IA2TextSegment - - @section _enums Enums - ::IA2CoordinateType values define the requested coordinate type (screen or parent window).\n - ::IA2EventID values identify events.\n - ::IA2Role values defines roles which are in addition to the existing MSAA roles.\n - ::IA2ScrollType values define where to place an object or substring on the screen.\n - ::IA2States values define states which are in addition to the existing MSAA states.\n - ::IA2TableModelChangeType values describe the kinds of changes made to a table (insert, delete, update).\n - ::IA2TextBoundaryType values define the requested text unit (character, word, sentence, line, paragraph).\n - ::IA2TextSpecialOffsets values define special offsets for use in the text interfaces. - - @section _constants Constants - @ref grpRelations - - @section _misc Miscellaneous - @ref _licensePage "BSD License"\n - @ref _generalInfo "General Information"\n - - @page _licensePage BSD License - %IAccessible2 IDL Specification - - Copyright (c) 2007, 2010 Linux Foundation\n - Copyright (c) 2006 IBM Corporation\n - Copyright (c) 2000, 2006 Sun Microsystems, Inc.\n - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials - provided with the distribution. - - 3. Neither the name of the Linux Foundation nor the names of its - contributors may be used to endorse or promote products - derived from this software without specific prior written - permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - This BSD License conforms to the Open Source Initiative "Simplified - BSD License" as published at: - http://www.opensource.org/licenses/bsd-license.php - - %IAccessible2 is a trademark of the Linux Foundation. The %IAccessible2 - mark may be used in accordance with the - <a href="http://www.linuxfoundation.org/collaborate/workgroups/accessibility/trademark-policy"> - Linux Foundation Trademark Policy</a> to indicate compliance with the %IAccessible2 specification. - - @page _generalInfo General Information - The following information is applicable to two or more interfaces. - - @ref _errors\n - @ref _memory\n - @ref _arrayConsideration\n - @ref _indexes\n - @ref _enums\n - @ref _specialOffsets\n - @ref _dicoveringInterfaces\n - @ref _changingInterfaces\n - @ref _applicationInfo\n - @ref _childIDs\n - @ref _variants\n - @ref _iaaction-iahyperlink\n - @ref _trademark - - @section _errors Error Handling - HRESULT values are defined by the Microsoft® Win32® API. For more information, refer to - <a href="http://msdn2.microsoft.com/en-us/library/bb401631.aspx">Interpreting HRESULT Values</a> - in MSDN®. - - Note that the S_FALSE return value is considered a non-error value and the - SUCCEEDED macro will return TRUE. S_FALSE is used when there is no failure - but there was nothing valid to return, e.g. in IAccessible2::attributes when - there are no attributes. When S_FALSE is returned [out] pointer types should - be NULL and [out] longs should generally be 0, but sometimes -1 is used such - as IAccessible2::indexInParent, IAccessibleText::caretOffset, and - IAccessibleHypertext::hyperlinkIndex. - - Note that for BSTR [out] variables common COM practice is that the server does - the SysAllocString and the client does the SysFreeString. Also note that when - NULL is returned there is no need for the client to call SysFreeString. Please - refer to the documentation for each method for more details regarding error handling. - - @section _memory Memory Management - The following memory management issues should be considered: - @li Although [out] BSTR variables are declared by the client, their space is - allocated by the server. They need to be freed with SysFreeString by the - client at end of life; the same is true when BSTRs are used in structs or - arrays which are passed to the server. - @li If there is no valid [out] BSTR to return, the server should return S_FALSE and - assign NULL to the output, e.g. *theOutBSTR = NULL;. - @li COM interfaces need to be referenced with AddRef when used and dereferenced - with Release at end of life. - @li Single [out] longs, HWNDs, booleans, and structs are declared by the caller - and passed by reference. The marshaller does all the memory management. - - The following articles may be helpful for understanding memory management issues: - @li An article by Don Box in a - <a href="http://www.microsoft.com/msj/1196/activex1196.aspx">Q & A section</a> - of the November 1996 edition of the Microsoft Systems Journal. - @li A posting to a CodeGuru forum, - <a href="http://www.codeguru.com/forum/showthread.php?t=364511">Windows SDK - String: What are the rules for BSTR allocation and deallocation?</a> - - @subsection _arrayConsideration Special Consideration when using Arrays - There are several methods which return arrays. In the case of IAccessible2::relations - and IAccessibleRelation::targets the client must allocate and free the arrays. - - For the remaining methods which return arrays, the server must allocate the array - and the client must free the array when no longer needed. These methods are - IAccessible2::extendedStates, IAccessible2::localizedExtendedStates, - IAccessibleAction::keyBinding, IAccessibleTable2::selectedCells, - IAccessibleTable2::selectedColumns, and IAccessibleTable2::selectedRows. For - those methods, the server must allocate both the top level array and any storage - associated with it, e.g. for BSTRs. The server must allocate the arrays with - CoTaskMemAlloc and any BSTRs with SysAllocString. The client must use CoTaskMemFree - to free the array and any BSTRs must be freed with SysFreeString. - - Also, the IDL for those six methods includes an extraneous [in] parameter for the - caller to specify the max size of the array. This parameter will be ignored by - the COM server. - - @section _indexes Zero and One Based Indexes - Unless otherwise specified all offsets and indexes are 0 based. - - @section _enums Enums - Note that enums start at 0. - - @section _specialOffsets Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods - IAccessibleText and IAccessibleEditableText can use one or more of the following - special offset values. They are defined in the ::IA2TextSpecialOffsets enum. - @li Using ::IA2_TEXT_OFFSET_LENGTH (-1) as an offset in any of the IAccessibleText or - IAccessibleEditableText methods is the same as specifying the length of the string. - @li Using ::IA2_TEXT_OFFSET_CARET (-2) as an offset for IAccessibleText::textBeforeOffset, - IAccessibleText::textAtOffset, and IAccessibleText::textAfterOffset indicates that the - text related to the physical location of the caret should be used. This is needed for - applications that consider the character offset of the end of one line (as reached by - pressing the End key) the same as the offset of the first character on the next line. - Since the same offset is associated with two different lines a special means is needed - to fetch text from the line where the caret is physically located. - - @section _dicoveringInterfaces Discovery of Interfaces - In general AT (Assistive Technology) should try IAccessible2 interfaces, followed by using - the MSAA (Microsoft® Active Accessibility®) interfaces. (In cases where the an application - is known to have custom interfaces which provide information not supplied by IAccessible2 - or MSAA, then those custom interfaces can be used.) The AT can then, by default, support - unknown IAccessible2/MSAA applications, without the application developers having to request - AT vendors for support on an individual application by application basis. - - When you have a reference to an IAccessible and require a reference to an IAccessible2 use - QueryService as follows: - @code - // pAcc is a reference to the accessible object's IAccessible interface. - IServiceProvider *pService = NULL; - hr = pAcc->QueryInterface(IID_IServiceProvider, (void **)&pService); - if(SUCCEEDED(hr)) { - IAccessible2 *pIA2 = NULL; - hr = pService->QueryService(IID_IAccessible, IID_IAccessible2, (void**)&pIA2); - if (SUCCEEDED(hr) && pIA2) { - // The control supports IAccessible2. - // pIA2 is the reference to the accessible object's IAccessible2 interface. - } - } - @endcode - - @section _changingInterfaces Changing between Accessible Interfaces - Note that developers must always implement MSAA's IAccessible and, if needed, some - of the interfaces in the set of IAccessible2 interfaces. Although the IAccessible2 - IDL is coded such that IAccessible2 is a subclass of MSAA's IAccessible, none of - MSAA's IAccessible methods are redefined by IAccessible2. - - QueryService must be used to switch from a reference to an MSAA IAccessible interface - to another interface. This has been - <a href="http://www.accessinteropalliance.org/docs/Introducing_IAccessibleEx.doc"> - documented by Microsoft</a> and the pertinent facts have been extracted below: - - @par - Why use QueryService instead of just using QueryInterface to get IAccessibleEx - directly? The reason is that since MSAA 2.0, clients don't talk to a server's - IAccessible interface directly; instead they talk to an intermediate MSAA-provided - wrapper that calls through to the original IAccessible. This wrapper provides services - such as implementing IDispatch, supplying information from MSAA 2.0's Dynamic Annotation - service, and scaling locations when running on Windows Vista with DPI scaling enabled. - QueryService is the supported way to expose additional interfaces from an existing - IAccessible and was originally used by MSHTML to expose IHTMLElement objects corresponding - to IAccessibles. QueryService is often more convenient for servers to implement than - QueryInterface because it does not have the same requirements for preserving object - identity or symmetry/transitivity as QueryInterface, so QueryService allows servers to - easily implement the interface on the same object or a separate object. The latter is - often hard to do with QueryInterface unless the original object supports aggregation. - - Two related references in MSDN® are: - @li <a href="http://msdn.microsoft.com/en-us/library/ms696078(VS.85).aspx"> - "Using QueryService to expose a native object model interface for an IAccessible object"</a> - @li <a href="http://msdn.microsoft.com/en-us/library/ms528415.aspx#acc_obj"> - "Accessing the Internet Explorer Object Associated with an Accessible Object"</a> - - Based on this information from Microsoft, QueryService must be used to switch back and forth - between a reference to an MSAA IAccessible interface and any of the IAccessible2 interfaces. - - Regarding switching between any of the IAccessible2 interfaces, applications implementing - IAccessible2 should implement the IAccessible2 interfaces on a single object since ATs - will be using QueryInterface to switch between the IAccessilbe2 interfaces. Implementing - the IAccessible2 interfaces on separate objects would require the use of QueryService. - There is one exception, IAccessibleApplication can be implemented on a separate object so - its common code doesn't have to be included in each accessible object. ATs should use - QueryService to access IAccessibleApplication. - - @section _applicationInfo Access to Information about the Application - Servers implementing IAccessible2 should provide access to the IAccessibleApplication - interface via QueryService from any object so that ATs can easily determine specific - information about the application such as its name or version. - - @section _childIDs Child IDs - The IAccessible2 interfaces do not support child IDs, i.e. simple child elements. - Full accessible objects must be created for each object that supports IAccessible2. - Therefore MSAA's get_accChild should never return a child ID (other than CHILDID_SELF) - for an object that implements any of the IAccessible2 interfaces. - - Microsoft's UI Automation specification has the same limitation and this was resolved - in the UI Automation Express specification by adding IAccessibleEx::GetObjectForChild - and IAccessibleEx::GetIAccessiblePair. These methods allow mapping back and forth - between an IAccessibleEx and an {IAccessible, Child ID} pair. A future version of - IAccessible2 may include similar methods to map back and forth between an IAccessible2 - and an {IAccessible, Child ID} pair. - - @section _variants VARIANTs - Some methods return a VARIANT. Implementers need to make sure that the return type is - specified, i.e. VT_I4, VT_IDISPATCH, etc. The methods that return VARIANTs are - IAccessibleHyperlink::anchor, IAccessibleHyperlink::anchorTarget, IAccessibleValue::currentValue, - IAccessibleValue::maximumValue, IAccessibleValue::minimumValue. - - @section _iaaction-iahyperlink IAccessibleHyperlink as subclass of IAccessibleAction - In this version of the IDL, IAccessibleHyperlink is a subclass of IAccessibleAction. - However, there is no practical need for that inheritance and in some cases, such as - an image map of smart tags, it doesn't make sense because such an image map doesn't - have actionable objects; it's the secondary smart tags that are actionable. As a - result, implementations should not rely on the inheritance as it may be removed in - a later version of the IDL. - - @section _trademark Trademark Attribution - The names of actual companies and products mentioned herein may be the trademarks of - their respective owners. In particular, Active Accessibility, Microsoft, MSDN, and Win32 - are trademarks of the Microsoft group of companies in the U.S.A. and/or other countries. - -**/ - -import "objidl.idl"; -import "oaidl.idl"; -import "oleacc.idl"; -import "AccessibleRelation.idl"; -import "AccessibleStates.idl"; -import "IA2CommonTypes.idl"; - -/** A structure defining the locale of an accessible object. - -IAccessible2::locale returns this struct. -*/ -typedef struct IA2Locale { - BSTR language; ///< ISO 639-1 Alpha-2 two character language code - BSTR country; ///< ISO 3166-1 Alpha-2 two character country code - BSTR variant; ///< Application specific variant of the locale -} IA2Locale; - -/** @brief This interface exposes the primary set of information about an - IAccessible2 enabled accessible object. - - This interface must always be provided for objects that support some - portion of the collection of the %IAccessible2 interfaces. - - Please refer to @ref _changingInterfaces "Changing between Accessible Interfaces" - for special considerations related to use of the MSAA IAccessible interface and - the set of %IAccessible2 interfaces. - */ -[object, uuid(E89F726E-C4F4-4c19-BB19-B647D7FA8478)] -interface IAccessible2 : IAccessible -{ - - /** @brief Returns the number of accessible relations for this object. - @param [out] nRelations - @retval S_OK - */ - [propget] HRESULT nRelations - ( - [out, retval] long *nRelations - ); - - /** @brief Returns one accessible relation for this object. - @param [in] relationIndex - 0 based - @param [out] relation - @retval S_OK - @retval E_INVALIDARG if bad [in] passed - */ - [propget] HRESULT relation - ( - [in] long relationIndex, - [out, retval] IAccessibleRelation **relation - ); - - /** @brief Returns multiple accessible relations for this object. - @param [in] maxRelations - maximum size of the array allocated by the client - @param [out] relations - The array of accessible relation objects. Note that this array is to be - allocated by the client and freed when no longer needed. Refer to @ref - _arrayConsideration "Special Consideration when using Arrays" for more details. - @param [out] nRelations - actual number of relations in the returned array (not more than maxRelations) - @retval S_OK - @retval S_FALSE if there are no relations, nRelations is set to 0 - */ - [propget] HRESULT relations - ( - [in] long maxRelations, - [out, size_is(maxRelations), length_is(*nRelations)] - IAccessibleRelation **relations, - [out, retval] long *nRelations - ); - - /** @brief Returns the role of an %IAccessible2 object. - @param [out] role - The role of an %IAccessible2 object. - @retval S_OK - @note - @li For convenience MSAA roles are also passed through this method so the - AT doesn't have to also fetch roles through MSAA's get_accRole. - @li %IAccessible2 roles should not be passed through MSAA's get_accRole. - @li For compatibility with non IAccessible2 enabled ATs, IAccessible2 - applications should also add support to get_accRole to return the closest - MSAA role or ROLE_SYSTEM_CLIENT (the MSAA defined default role) if there - is not a good match. - @li This method is missing a [propget] prefix in the IDL. The result is the - method is named role in generated C++ code instead of get_role. - */ - HRESULT role - ( - [out, retval] long *role - ); - - /** @brief Makes an object visible on the screen. - @param [in] scrollType - Defines where the object should be placed on the screen. - @retval S_OK - @retval E_INVALIDARG if bad [in] passed - */ - HRESULT scrollTo - ( - [in] enum IA2ScrollType scrollType - ); - - /** @brief Moves the top left of an object to a specified location. - - @param [in] coordinateType - Specifies whether the coordinates are relative to the screen or the parent object. - @param [in] x - Defines the x coordinate. - @param [in] y - Defines the y coordinate. - @retval S_OK - @retval E_INVALIDARG if bad [in] passed - */ - HRESULT scrollToPoint - ( - [in] enum IA2CoordinateType coordinateType, - [in] long x, - [in] long y - ); - - /** @brief Returns grouping information. - - Used for tree items, list items, tab panel labels, radio buttons, etc. - Also used for collections of non-text objects. - - @param [out] groupLevel - 1 based, 0 indicates that this value is not applicable - @param [out] similarItemsInGroup - 1 based, 0 indicates that this value is not applicable - @param [out] positionInGroup - 1 based, 0 indicates that this value is not applicable. This is an index - into the objects in the current group, not an index into all the objects - at the same group level. - @retval S_OK if at least one value is valid - @retval S_FALSE if no values are valid, [out] values are 0s - @note This method is meant to describe the nature of an object's containment - structure. It's exposed by trees, tree grids, nested lists, nested menus, - but not headings, which uses the level object attribute. It is also exposed - by radio buttons (with groupLevel == 0). - @note This is normally not implemented on a combo box to describe the nature - of its contents. Normally an AT will get that information from its child list - object. However, in some cases when non-edit combo boxes are not able to be structured - such that the list is a child of the combo box, this method is implemented on - the combo box itself. ATs can use this interface if a child list is not found. - */ - [propget] HRESULT groupPosition - ( - [out] long *groupLevel, - [out] long *similarItemsInGroup, - [out, retval] long *positionInGroup - ); - - /** @brief Returns the bit strip containing any IAccessible2 states. - - The IAccessible2 states are in addition to the MSAA states and are defined in - the IA2States enum. - - @param [out] states - @retval S_OK - */ - [propget] HRESULT states - ( - [out, retval] AccessibleStates *states - ); - - /** @brief Returns the extended role. - - An extended role is a role which is dynamically generated by the application. - It is not predefined by the %IAccessible2 specification. - - @param [out] extendedRole - @retval S_OK - @retval S_FALSE if there is nothing to return, [out] value is NULL - */ - [propget] HRESULT extendedRole - ( - [out, retval] BSTR *extendedRole - ); - - /** @brief Returns the localized extended role. - @param [out] localizedExtendedRole - @retval S_OK - @retval S_FALSE if there is nothing to return, [out] value is NULL - */ - [propget] HRESULT localizedExtendedRole - ( - [out, retval] BSTR *localizedExtendedRole - ); - - /** @brief Returns the number of extended states. - @param [out] nExtendedStates - @retval S_OK - */ - [propget] HRESULT nExtendedStates - ( - [out, retval] long *nExtendedStates - ); - - /** @brief Returns the extended states (array of strings). - - An extended state is a state which is dynamically generated by the application. - It is not predefined by the %IAccessible2 specification. - - @param [in] maxExtendedStates - This parameter is ignored. Refer to @ref _arrayConsideration - "Special Consideration when using Arrays" for more details. - @param [out] extendedStates - This array is allocated by the server. Free it with CoTaskMemFree. - @param [out] nExtendedStates - The number of extended states returned; the size of the returned array. - @retval S_OK - @retval S_FALSE if there are no states, [out] values are NULL and 0 respectively - */ - [propget] HRESULT extendedStates - ( - [in] long maxExtendedStates, - [out, size_is(,maxExtendedStates), length_is(,*nExtendedStates)] BSTR **extendedStates, - [out, retval] long *nExtendedStates - ); - - /** @brief Returns the localized extended states (array of strings). - @param [in] maxLocalizedExtendedStates - This parameter is ignored. Refer to @ref _arrayConsideration - "Special Consideration when using Arrays" for more details. - @param [out] localizedExtendedStates - This array is allocated by the server. Free it with CoTaskMemFree. - @param [out] nLocalizedExtendedStates - The number of localized extended states returned; the size of the returned array. - @retval S_OK - @retval S_FALSE if there are no states, [out] values are NULL and 0 respectively - */ - [propget] HRESULT localizedExtendedStates - ( - [in] long maxLocalizedExtendedStates, - [out, size_is(,maxLocalizedExtendedStates), length_is(,*nLocalizedExtendedStates)] BSTR **localizedExtendedStates, - [out, retval] long *nLocalizedExtendedStates - ); - - /** @brief Returns the unique ID. - - The uniqueID is an identifier for this object, is unique within the - current window, and remains the same for the lifetime of the accessible - object. - - The uniqueID is not related to: - - the MSAA objectID which is used by the server to disambiguate between - IAccessibles per HWND or - - the MSAA childID which is used to disambiguate between children being - managed by an IAccessible. - - This value is provided so the AT can have access to a unique runtime persistent - identifier even when not handling an event for the object. - - An example of when this value is useful is if the AT wants to build a cache. - The AT could cache the uniqueIDs in addition to other data being cached. - When an event is fired the AT could map the uniqueID to its internal model. - Thus, if there's a REORDER/SHOW/HIDE event the AT knows which part of the - internal structure has been invalidated and can refetch just that part. - - This value can also be used by an AT to determine when the current control - has changed. If the role is the same for two controls that are adjacent in - the tab order, this can be used to detect the new control. - - Another use of this value by an AT is to identify when a grouping object has - changed, e.g. when moving from a radio button in one group to a radio button in a - different group. - - One means of implementing this would be to create a factory with a 32 bit number - generator and a reuse pool. The number generator would emit numbers starting - at 1. Each time an object's life cycle ended, its number would be saved into a - reuse pool. The number generator would be used whenever the reuse pool was empty. - - Another way to create a unique ID is to generate it from a pointer value, e.g. an - object's address. That would be unique because no two active objects can use the - same allocated memory space. - - @param [out] uniqueID - @retval S_OK - */ - [propget] HRESULT uniqueID - ( - [out, retval] long *uniqueID - ); - - /** @brief Returns the window handle for the parent window which contains this object. - - This is the same window handle which will be passed for any events that occur on the - object, but is cached in the accessible object for use when it would be helpful to - access the window handle in cases where an event isn't fired on this object. - - A use case is when a screen reader is grabbing an entire web page on a page load. - Without the availability of windowHandle, the AT would have to get the window handle - by using WindowFromAccessibleObject on each IAccessible, which is slow because it's - implemented by oleacc.dll as a loop which crawls up the ancestor chain and looks for - a ROLE_WINDOW object, mapping that back to a window handle. - - @param [out] windowHandle - @retval S_OK - */ - [propget] HRESULT windowHandle - ( - [out, retval] HWND *windowHandle - ); - - /** @brief Returns the index of this object in its parent object. - @param [out] indexInParent - 0 based; -1 indicates there is no parent; the upper bound is the value - returned by the parent's IAccessible::get_accChildCount. - @retval S_OK - @retval S_FALSE if no parent, [out] value is -1 - */ - [propget] HRESULT indexInParent - ( - [out, retval] long *indexInParent - ); - - /** @brief Returns the IA2Locale of the accessible object. - @param [out] locale - @retval S_OK - */ - [propget] HRESULT locale - ( - [out, retval] IA2Locale *locale - ); - - /** @brief Returns the attributes specific to this %IAccessible2 object, such as a cell's formula. - @param [out] attributes - @retval S_OK - @retval S_FALSE returned if there is nothing to return, [out] value is NULL - */ - [propget] HRESULT attributes - ( - [out, retval] BSTR *attributes - ); - -} - diff --git a/src/3rdparty/iaccessible2/idl/AccessibleAction.idl b/src/3rdparty/iaccessible2/idl/AccessibleAction.idl deleted file mode 100644 index edab0d288b..0000000000 --- a/src/3rdparty/iaccessible2/idl/AccessibleAction.idl +++ /dev/null @@ -1,194 +0,0 @@ -/************************************************************************* - * - * File Name (AccessibleAction.idl) - * - * IAccessible2 IDL Specification - * - * Copyright (c) 2007, 2010 Linux Foundation - * Copyright (c) 2006 IBM Corporation - * Copyright (c) 2000, 2006 Sun Microsystems, Inc. - * All rights reserved. - * - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * 3. Neither the name of the Linux Foundation nor the names of its - * contributors may be used to endorse or promote products - * derived from this software without specific prior written - * permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * This BSD License conforms to the Open Source Initiative "Simplified - * BSD License" as published at: - * http://www.opensource.org/licenses/bsd-license.php - * - * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 - * mark may be used in accordance with the Linux Foundation Trademark - * Policy to indicate compliance with the IAccessible2 specification. - * - ************************************************************************/ - -import "objidl.idl"; -import "oaidl.idl"; -import "oleacc.idl"; - -/** @brief This interface gives access to actions that can be executed - for accessible objects. - - Every accessible object that can be manipulated via the native GUI beyond the - methods available either in the MSAA IAccessible interface or in the set of - IAccessible2 interfaces (other than this IAccessibleAction interface) should - support the IAccessibleAction interface in order to provide Assistive Technology - access to all the actions that can be performed by the object. Each action can - be performed or queried for a name, description or associated key bindings. - Actions are needed more for ATs that assist the mobility impaired, such as - on-screen keyboards and voice command software. By providing actions directly, - the AT can present them to the user without the user having to perform the extra - steps to navigate a context menu. - - The first action should be equivalent to the MSAA default action. If there is - only one action, %IAccessibleAction should also be implemented. -*/ -[object, uuid(B70D9F59-3B5A-4dba-AB9E-22012F607DF5)] -interface IAccessibleAction : IUnknown -{ - - /** @brief Returns the number of accessible actions available in this object. - - If there are more than one, the first one is considered the - "default" action of the object. - @param [out] nActions - The returned value of the number of actions is zero if there are - no actions. - @retval S_OK - @note This method is missing a [propget] prefix in the IDL. The result is the - method is named nActions in generated C++ code instead of get_nActions. - */ - HRESULT nActions - ( - [out,retval] long* nActions - ); - - /** @brief Performs the specified Action on the object. - @param [in] actionIndex - 0 based index specifying the action to perform. If it lies outside - the valid range no action is performed. - @retval S_OK - @retval S_FALSE if action could not be performed - @retval E_INVALIDARG if bad [in] passed - */ - HRESULT doAction - ( - [in] long actionIndex - ); - - /** @brief Returns a description of the specified action of the object. - @param [in] actionIndex - 0 based index specifying which action's description to return. - If it lies outside the valid range an empty string is returned. - @param [out] description - The returned value is a localized string of the specified action. - @retval S_OK - @retval S_FALSE if there is nothing to return, [out] value is NULL - @retval E_INVALIDARG if bad [in] passed - */ - [propget] HRESULT description - ( - [in] long actionIndex, - [out, retval] BSTR *description - ); - - /** @brief Returns an array of BSTRs describing one or more key bindings, if - there are any, associated with the specified action. - - The returned strings are the localized human readable key sequences to be - used to activate each action, e.g. "Ctrl+Shift+D". Since these key - sequences are to be used when the object has focus, they are like - mnemonics (access keys), and not like shortcut (accelerator) keys. - - There is no need to implement this method for single action controls since - that would be redundant with the standard MSAA programming practice of - getting the mnemonic from get_accKeyboardShortcut. - - An AT such as an On Screen Keyboard might not expose these bindings but - provide alternative means of activation. - - Note: the client allocates and passes in an array of pointers. The server - allocates the BSTRs and passes back one or more pointers to these BSTRs into - the array of pointers allocated by the client. The client is responsible - for deallocating the BSTRs. - - @param [in] actionIndex - 0 based index specifying which action's key bindings should be returned. - @param [in] nMaxBindings - This parameter is ignored. Refer to @ref _arrayConsideration - "Special Consideration when using Arrays" for more details. - @param [out] keyBindings - An array of BSTRs, allocated by the server, one for each key binding. - Free it with CoTaskMemFree. - @param [out] nBindings - The number of key bindings returned; the size of the returned array. - @retval S_OK - @retval S_FALSE if there are no key bindings, [out] values are NULL and 0 respectively - @retval E_INVALIDARG if bad [in] passed - */ - [propget] HRESULT keyBinding - ( - [in] long actionIndex, - [in] long nMaxBindings, - [out, size_is(,nMaxBindings), length_is(,*nBindings)] BSTR **keyBindings, - [out, retval] long *nBindings - ); - - /** @brief Returns the non-localized name of specified action. - @param [in] actionIndex - 0 based index specifying which action's non-localized name should be returned. - @param [out] name - @retval S_OK - @retval S_FALSE if there is nothing to return, [out] value is NULL - @retval E_INVALIDARG if bad [in] passed - */ - [propget] HRESULT name - ( - [in] long actionIndex, - [out, retval] BSTR *name - ); - - /** @brief Returns the localized name of specified action. - @param [in] actionIndex - 0 based index specifying which action's localized name should be returned. - @param [out] localizedName - @retval S_OK - @retval S_FALSE if there is nothing to return, [out] value is NULL - @retval E_INVALIDARG if bad [in] passed - */ - [propget] HRESULT localizedName - ( - [in] long actionIndex, - [out, retval] BSTR *localizedName - ); - -} diff --git a/src/3rdparty/iaccessible2/idl/AccessibleApplication.idl b/src/3rdparty/iaccessible2/idl/AccessibleApplication.idl deleted file mode 100644 index ed15aa0018..0000000000 --- a/src/3rdparty/iaccessible2/idl/AccessibleApplication.idl +++ /dev/null @@ -1,121 +0,0 @@ -/************************************************************************* - * - * File Name (AccessibleApplication.idl) - * - * IAccessible2 IDL Specification - * - * Copyright (c) 2007, 2010 Linux Foundation - * Copyright (c) 2006 IBM Corporation - * Copyright (c) 2000, 2006 Sun Microsystems, Inc. - * All rights reserved. - * - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * 3. Neither the name of the Linux Foundation nor the names of its - * contributors may be used to endorse or promote products - * derived from this software without specific prior written - * permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * This BSD License conforms to the Open Source Initiative "Simplified - * BSD License" as published at: - * http://www.opensource.org/licenses/bsd-license.php - * - * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 - * mark may be used in accordance with the Linux Foundation Trademark - * Policy to indicate compliance with the IAccessible2 specification. - * - ************************************************************************/ - - -import "objidl.idl"; -import "oaidl.idl"; -import "oleacc.idl"; - -/** @brief This interface gives access to the application's name and version information. - - This interface provides the AT with the information it needs to differentiate - this application from other applications, from other versions of this - application, or from other versions of this application running on different - versions of an accessibility bridge or accessibility toolkit. - - Servers implementing IAccessible2 should provide access to the %IAccessibleApplication - interface via QueryService from any object so that ATs can easily determine specific - information about the application such as its name or version. -*/ -[object, uuid(D49DED83-5B25-43F4-9B95-93B44595979E)] -interface IAccessibleApplication : IUnknown -{ - - /** @brief Returns the application name. - @param [out] name - @retval S_OK - @retval S_FALSE if there is nothing to return, [out] value is NULL - */ - [propget] HRESULT appName - ( - [out, retval] BSTR *name - ); - - /** @brief Returns the application version. - @param [out] version - The version string must not contain levels when it is know beforehand that - this information will never require a change in a client's behavior. - For example, use "3.6.0" rather than "3.6.0.v201005131500". - @retval S_OK - @retval S_FALSE if there is nothing to return, [out] value is NULL - */ - [propget] HRESULT appVersion - ( - [out, retval] BSTR *version - ); - - /** @brief Returns the toolkit/bridge name. - @param [out] name - @retval S_OK - @retval S_FALSE if there is nothing to return, [out] value is NULL - */ - [propget] HRESULT toolkitName - ( - [out, retval] BSTR *name - ); - - /** @brief Returns the toolkit/bridge version. - @param [out] version - The version string must not contain levels when it is know beforehand that - this information will never require a change in a client's behavior. - For example, use "3.6.0" rather than "3.6.0.v201005131500". - @retval S_OK - @retval S_FALSE if there is nothing to return, [out] value is NULL - */ - [propget] HRESULT toolkitVersion - ( - [out, retval] BSTR *version - ); - -} - diff --git a/src/3rdparty/iaccessible2/idl/AccessibleComponent.idl b/src/3rdparty/iaccessible2/idl/AccessibleComponent.idl deleted file mode 100644 index bea623a938..0000000000 --- a/src/3rdparty/iaccessible2/idl/AccessibleComponent.idl +++ /dev/null @@ -1,124 +0,0 @@ -/************************************************************************* - * - * File Name (AccessibleComponent.idl) - * - * IAccessible2 IDL Specification - * - * Copyright (c) 2007, 2010 Linux Foundation - * Copyright (c) 2006 IBM Corporation - * Copyright (c) 2000, 2006 Sun Microsystems, Inc. - * All rights reserved. - * - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * 3. Neither the name of the Linux Foundation nor the names of its - * contributors may be used to endorse or promote products - * derived from this software without specific prior written - * permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * This BSD License conforms to the Open Source Initiative "Simplified - * BSD License" as published at: - * http://www.opensource.org/licenses/bsd-license.php - * - * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 - * mark may be used in accordance with the Linux Foundation Trademark - * Policy to indicate compliance with the IAccessible2 specification. - * - ************************************************************************/ - -import "objidl.idl"; -import "oaidl.idl"; -import "oleacc.idl"; - -/** A value specifying a color in ARGB format, where each 8 bit color component -specifies alpha, red, green, and blue respectively. The alpha value is optional. -*/ -typedef long IA2Color; - -/** @brief This interface is implemented by any object that can be rendered - on the screen. - - This interface provides the standard mechanism for an assistive technology - to retrieve information concerning the graphical representation of an object. - Coordinates used by the functions of this interface are specified in - different coordinate systems. Their scale is the same and is equal to - that of the screen coordinate system. In other words all coordinates - are measured in pixels. They differ in their respective origin: - <ul> - <li>The screen coordinate system has its origin in the upper left - corner of the current screen.</li> - <li>The origin of the parent coordinate system is the upper left corner - of the parent's bounding box. With no parent the screen coordinate - system is used instead.</li> - </ul> -*/ -[object, uuid(1546D4B0-4C98-4bda-89AE-9A64748BDDE4)] -interface IAccessibleComponent : IUnknown -{ - - /** @brief Returns the location of the upper left corner of the object's - bounding box relative to the immediate parent object. - - The coordinates of the bounding box are given relative to the parent's - coordinate system. The coordinates of the returned position are relative - to this object's parent or relative to the screen on which this object - is rendered if it has no parent. If the object is not on any screen - the returned position is (0,0). - - @param [out] x - @param [out] y - @retval S_OK - */ - [propget] HRESULT locationInParent - ( - [out] long *x, - [out, retval] long *y - ); - - /** @brief Returns the foreground color of this object. - @param [out] foreground - The returned color is the foreground color of this object or, if - that is not supported, the default foreground color. - @retval S_OK - */ - [propget] HRESULT foreground - ( - [out, retval] IA2Color *foreground - ); - - /** @brief Returns the background color of this object. - @param [out] background - The returned color is the background color of this object or, if - that is not supported, the default background color. - @retval S_OK - */ - [propget] HRESULT background - ( - [out, retval] IA2Color *background - ); -} diff --git a/src/3rdparty/iaccessible2/idl/AccessibleEditableText.idl b/src/3rdparty/iaccessible2/idl/AccessibleEditableText.idl deleted file mode 100644 index 48fefd30ef..0000000000 --- a/src/3rdparty/iaccessible2/idl/AccessibleEditableText.idl +++ /dev/null @@ -1,259 +0,0 @@ -/************************************************************************* - * - * File Name (AccessibleEditableText.idl) - * - * IAccessible2 IDL Specification - * - * Copyright (c) 2007, 2010 Linux Foundation - * Copyright (c) 2006 IBM Corporation - * Copyright (c) 2000, 2006 Sun Microsystems, Inc. - * All rights reserved. - * - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * 3. Neither the name of the Linux Foundation nor the names of its - * contributors may be used to endorse or promote products - * derived from this software without specific prior written - * permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * This BSD License conforms to the Open Source Initiative "Simplified - * BSD License" as published at: - * http://www.opensource.org/licenses/bsd-license.php - * - * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 - * mark may be used in accordance with the Linux Foundation Trademark - * Policy to indicate compliance with the IAccessible2 specification. - * - ************************************************************************/ - -import "objidl.idl"; -import "oaidl.idl"; -import "oleacc.idl"; -import "IA2CommonTypes.idl"; - -/** @brief This interface provides clipboard capability to text objects. - - This interface is typically used in conjunction with the IAccessibleText - interface and complements that interface with the additional capability of - clipboard operations. Note that even a read only text object can support - the copy capability so this interface is not limited to editable objects. - - The substrings used with this interface are specified as follows: - If startOffset is less than endOffset, the substring starts with the - character at startOffset and ends with the character just before endOffset. - If endOffset is lower than startOffset, the result is the same as a call - with the two arguments exchanged. The whole text can be defined by passing - the indices zero and IAccessibleText::nCharacters. If both indices have the - same value, an empty string is defined. - - Refer to the @ref _specialOffsets - "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" - for information about a special offset constant that can be used in %IAccessibleEditableText methods. -*/ -[object, uuid(A59AA09A-7011-4b65-939D-32B1FB5547E3)] -interface IAccessibleEditableText : IUnknown -{ - - /** @brief Copies the text range into the clipboard. - - The selection is set to the specified offsets and then selection is copied into - the system clipboard. - - @param [in] startOffset - Start index of the text to moved into the clipboard. - The valid range is 0..length. - @param [in] endOffset - End index of the text to moved into the clipboard. - The valid range is 0..length. - @retval S_OK - @retval E_INVALIDARG if bad [in] passed - @note Refer to @ref _specialOffsets - "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" - for information about special offsets that can be used in %IAccessibleEditableText - methods. - */ - HRESULT copyText - ( - [in] long startOffset, - [in] long endOffset - ); - - /** @brief Deletes a range of text. - - The text between and including the two given indices is deleted - from the text represented by this object. - - @param [in] startOffset - Start index of the text to be deleted. - The valid range is 0..length. - @param [in] endOffset - End index of the text to be deleted. - The valid range is 0..length. - @retval S_OK - @retval E_INVALIDARG if bad [in] passed - @note Refer to @ref _specialOffsets - "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" - for information about special offsets that can be used in %IAccessibleEditableText - methods. - */ - HRESULT deleteText - ( - [in] long startOffset, - [in] long endOffset - ); - - /** @brief Inserts text at the specified position. - - The specified string is inserted at the given index into the text - represented by this object. - - @param [in] offset - Index at which to insert the text. - The valid range is 0..length. - Refer to @ref _specialOffsets - "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" - for information about special offsets that can be used in %IAccessibleEditableText - methods. - @param [in] text - Text that is inserted. - @retval S_OK - @retval E_INVALIDARG if bad [in] passed - */ - HRESULT insertText - ( - [in] long offset, - [in] BSTR *text - ); - - /** @brief Deletes a range of text and copies it to the clipboard. - - The selection is set to the specified offsets, the selection is then copied into - the system clipboard, and then the selection is deleted. - - @param [in] startOffset - Start index of the text to be deleted. - The valid range is 0..length. - @param [in] endOffset - End index of the text to be deleted. - The valid range is 0..length. - @retval S_OK - @retval E_INVALIDARG if bad [in] passed - @note Refer to @ref _specialOffsets - "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" - for information about special offsets that can be used in %IAccessibleEditableText - methods. - */ - HRESULT cutText - ( - [in] long startOffset, - [in] long endOffset - ); - - /** @brief Pastes content from the clipboard. - - Any existing selection is removed, the clipboard content is then pasted into - this object's text at the given offset. This method is similar to the insertText - method. If the index is not valid the system clipboard content is not inserted. The - behavior is the same as when Ctrl+V is used, i.e. the pasted contents are not - necessarily plain text. - - @param [in] offset - Index at which to insert the content from the system clipboard into - the text represented by this object. - The valid range is 0..length. - Refer to @ref _specialOffsets - "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" - for information about special offsets that can be used in %IAccessibleEditableText - methods. - @retval S_OK - @retval E_INVALIDARG if bad [in] passed - */ - HRESULT pasteText - ( - [in] long offset - ); - - /** @brief Replaces text. - - The text between the two given indices is replaced by the specified - replacement string. This method is equivalent to calling first - IAccessibleEditableText::deleteText with the two indices and then - calling IAccessibleEditableText::insertText with the replacement text - at the start index. - - @param [in] startOffset - Start index of the text to be replaced. - The valid range is 0..length. - @param [in] endOffset - End index of the text to be replaced. - The valid range is 0..length. - @param [in] text - The Text that replaces the text between the given indices. - @retval S_OK - @retval E_INVALIDARG if bad [in] passed - @note Refer to @ref _specialOffsets - "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" - for information about special offsets that can be used in %IAccessibleEditableText - methods. - */ - HRESULT replaceText - ( - [in] long startOffset, - [in] long endOffset, - [in] BSTR *text - ); - - /** @brief Replaces the attributes of a text range by the given set of attributes. - - Sets the attributes for the text between the two given indices. The old - attributes are replaced by the new list of attributes. - - @param [in] startOffset - Start index of the text whose attributes are modified. - The valid range is 0..length. - @param [in] endOffset - End index of the text whose attributes are modified. - The valid range is 0..length. - @param [in] attributes - Set of attributes that replaces the old list of attributes of - the specified text portion. - @retval S_OK - @retval E_INVALIDARG if bad [in] passed - @note Refer to @ref _specialOffsets - "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" - for information about special offsets that can be used in %IAccessibleEditableText - methods. - */ - HRESULT setAttributes - ( - [in] long startOffset, - [in] long endOffset, - [in] BSTR *attributes - ); -} - diff --git a/src/3rdparty/iaccessible2/idl/AccessibleEventID.idl b/src/3rdparty/iaccessible2/idl/AccessibleEventID.idl deleted file mode 100644 index 1db957d6e5..0000000000 --- a/src/3rdparty/iaccessible2/idl/AccessibleEventID.idl +++ /dev/null @@ -1,230 +0,0 @@ -/************************************************************************* - * - * File Name (AccessibleEventID.idl) - * - * IAccessible2 IDL Specification - * - * Copyright (c) 2007, 2010 Linux Foundation - * Copyright (c) 2006 IBM Corporation - * Copyright (c) 2000, 2006 Sun Microsystems, Inc. - * All rights reserved. - * - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * 3. Neither the name of the Linux Foundation nor the names of its - * contributors may be used to endorse or promote products - * derived from this software without specific prior written - * permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * This BSD License conforms to the Open Source Initiative "Simplified - * BSD License" as published at: - * http://www.opensource.org/licenses/bsd-license.php - * - * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 - * mark may be used in accordance with the Linux Foundation Trademark - * Policy to indicate compliance with the IAccessible2 specification. - * - ************************************************************************/ - -/** %IAccessible2 specific event constants - - This enum defines the event IDs fired by %IAccessible2 objects. The event IDs - are in addition to those used by MSAA. -*/ -enum IA2EventID { - - /** The change of the number or attributes of actions of an accessible - object is signaled by events of this type. - */ - IA2_EVENT_ACTION_CHANGED = 0x101, - - /** <b>Deprecated.</b> The active descendant of a component has changed. - - Note: This event constant is misspelled and thus is deprecated and will be - removed in a later version. Please use the correctly spelled version which - follows. - */ - IA2_EVENT_ACTIVE_DECENDENT_CHANGED, - - /** The active descendant of a component has changed. The active descendant - is used in objects with transient children. - - Note: Due to the fact that MSAA's WinEvents don't allow the active child index - to be passed on the IA2_EVENT_ACTIVE_DESCENDANT_CHANGED event the manages - descendants scheme can't be used. Instead the active child object has to fire - MSAA's EVENT_OBJECT_FOCUS. In a future release a new event mechanism may be - added to provide for event specific data to be passed with the event. At that - time the IA2_EVENT_ACTIVE_DECENDENT_CHANGED event and - IA2_STATE_MANAGES_DESCENDANTS state would be useful. - */ - IA2_EVENT_ACTIVE_DESCENDANT_CHANGED = IA2_EVENT_ACTIVE_DECENDENT_CHANGED, - - /** The document wide attributes of the document object have changed. - */ - IA2_EVENT_DOCUMENT_ATTRIBUTE_CHANGED, - - /** The contents of the document have changed. - */ - IA2_EVENT_DOCUMENT_CONTENT_CHANGED, - - /** The loading of the document has completed. - */ - IA2_EVENT_DOCUMENT_LOAD_COMPLETE, - - /** The loading of the document was interrupted. - */ - IA2_EVENT_DOCUMENT_LOAD_STOPPED, - - /** The document contents are being reloaded. - */ - IA2_EVENT_DOCUMENT_RELOAD, - - /** The ending index of this link within the containing string has changed. - */ - IA2_EVENT_HYPERLINK_END_INDEX_CHANGED, - - /** The number of anchors associated with this hyperlink object has changed. - */ - IA2_EVENT_HYPERLINK_NUMBER_OF_ANCHORS_CHANGED, - - /** The hyperlink selected state changed from selected to unselected or - from unselected to selected. - */ - IA2_EVENT_HYPERLINK_SELECTED_LINK_CHANGED, - - /** One of the links associated with the hypertext object has been activated. - */ - IA2_EVENT_HYPERTEXT_LINK_ACTIVATED, - - /** One of the links associated with the hypertext object has been selected. - */ - IA2_EVENT_HYPERTEXT_LINK_SELECTED, - - /** The starting index of this link within the containing string has changed. - */ - IA2_EVENT_HYPERLINK_START_INDEX_CHANGED, - - /** Focus has changed from one hypertext object to another, or focus moved - from a non-hypertext object to a hypertext object, or focus moved from a - hypertext object to a non-hypertext object. - */ - IA2_EVENT_HYPERTEXT_CHANGED, - - /** The number of hyperlinks associated with a hypertext object changed - */ - IA2_EVENT_HYPERTEXT_NLINKS_CHANGED, - - /** An object's attributes changed. - Also see ::IA2_EVENT_TEXT_ATTRIBUTE_CHANGED. - */ - IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED, - - /** A slide changed in a presentation document or a page boundary was - crossed in a word processing document. - */ - IA2_EVENT_PAGE_CHANGED, - - /** The caret moved from one section to the next. - */ - IA2_EVENT_SECTION_CHANGED, - - /** A table caption changed. - */ - IA2_EVENT_TABLE_CAPTION_CHANGED, - - /** A table's column description changed. - */ - IA2_EVENT_TABLE_COLUMN_DESCRIPTION_CHANGED, - - /** A table's column header changed. - */ - IA2_EVENT_TABLE_COLUMN_HEADER_CHANGED, - - /** A table's data changed. - */ - IA2_EVENT_TABLE_MODEL_CHANGED, - - /** A table's row description changed. - */ - IA2_EVENT_TABLE_ROW_DESCRIPTION_CHANGED, - - /** A table's row header changed. - */ - IA2_EVENT_TABLE_ROW_HEADER_CHANGED, - - /** A table's summary changed. - */ - IA2_EVENT_TABLE_SUMMARY_CHANGED, - - /** A text object's attributes changed. - Also see ::IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED. - */ - IA2_EVENT_TEXT_ATTRIBUTE_CHANGED, - - /** The caret has moved to a new position. - */ - IA2_EVENT_TEXT_CARET_MOVED, - - /** <b>Deprecated.</b> This event is equivalent to ::IA2_EVENT_TEXT_UPDATED. - */ - IA2_EVENT_TEXT_CHANGED, - - /** The caret moved from one column to the next. - */ - IA2_EVENT_TEXT_COLUMN_CHANGED, - - /** Text was inserted. - */ - IA2_EVENT_TEXT_INSERTED, - - /** Text was removed. - */ - IA2_EVENT_TEXT_REMOVED, - - /** This event indicates general text changes, i.e. changes to text that are - exposed through the IAccessibleText interface. For compatibility with ATK/AT-SPI - which does not have an equivalent event, servers can alternatively fire - ::IA2_EVENT_TEXT_REMOVED and ::IA2_EVENT_TEXT_INSERTED. - */ - IA2_EVENT_TEXT_UPDATED, - - /** The text selection changed. Later versions of Microsoft development environments - have an equivalent event identified, EVENT_OBJECT_TEXTSELECTIONCHANGED. Servers - should use that if it is available and use IA2_EVENT_TEXT_SELECTION_CHANGED otherwise. - Clients should be prepared to respond to either event. - - */ - IA2_EVENT_TEXT_SELECTION_CHANGED, - - /** A visible data event indicates the change of the visual appearance - of an accessible object. This includes for example most of the - attributes available via the IAccessibleComponent interface. - */ - IA2_EVENT_VISIBLE_DATA_CHANGED - -}; diff --git a/src/3rdparty/iaccessible2/idl/AccessibleHyperlink.idl b/src/3rdparty/iaccessible2/idl/AccessibleHyperlink.idl deleted file mode 100644 index 9311176d9c..0000000000 --- a/src/3rdparty/iaccessible2/idl/AccessibleHyperlink.idl +++ /dev/null @@ -1,187 +0,0 @@ -/************************************************************************* - * - * File Name (AccessibleHyperlink.idl) - * - * IAccessible2 IDL Specification - * - * Copyright (c) 2007, 2010 Linux Foundation - * Copyright (c) 2006 IBM Corporation - * Copyright (c) 2000, 2006 Sun Microsystems, Inc. - * All rights reserved. - * - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * 3. Neither the name of the Linux Foundation nor the names of its - * contributors may be used to endorse or promote products - * derived from this software without specific prior written - * permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * This BSD License conforms to the Open Source Initiative "Simplified - * BSD License" as published at: - * http://www.opensource.org/licenses/bsd-license.php - * - * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 - * mark may be used in accordance with the Linux Foundation Trademark - * Policy to indicate compliance with the IAccessible2 specification. - * - ************************************************************************/ - -import "objidl.idl"; -import "oaidl.idl"; -import "oleacc.idl"; -import "AccessibleAction.idl"; - -/** @brief This interface represents hyperlinks. - - This interface represents a hyperlink associated with a single substring - of text or single non-text object. Non-text objects can have either a - single link or a collection of links such as when the non-text object is - an image map. - - Linked objects and anchors are implementation dependent. This interface is derived - from IAccessibleAction. IAccessibleAction::nActions is one greater than the - maximum value for the indices used with the methods of this interface. - - Furthermore, the object that implements this interface has to be connected - implicitly or explicitly with an object that implements IAccessibleText. - IAccessibleHyperlink::startIndex and IAccessibleHyperlink::endIndex are - indices with respect to the text exposed by IAccessibleText. - - This interface provides access to a single object which can have multiple actions. - An example is an image map which is an image with multiple links each of which is - associated with a separate non-overlapping area of the image. This interface could - also be applied to other kinds of objects with multiple actions such as "smart tags" - which are objects, typically strings, which have multiple actions such as - "Activate URI", "Bookmark URI", etc. - - An interesting use case is an image map where each area is associated with multiple - actions, e.g. an image map of smart tags. In this case you would have to implement - two levels of accessible hyperlinks. The first level hyperlinks would only implement - anchor and anchorTarget. The anchors would all reference the image object. The - anchorTargets would reference the second level accessible hyperlink objects. None - of the IAccessibleAction methods would be implemented on the first level hyperlink - objects. The second level hyperlink objects would implement the IAccessibleAction - methods. Their anchors would also reference the image object and their anchorTargets - would reference URLs or the objects that would be activated. - - This use case demonstrates that in some cases there is no need for IAccessibleHyperlink - to derive from IAccessibleAction. As a result it may be removed in a later version of - the IDL and it is suggested that implementations should not rely on the inheritance. - -*/ -[object, uuid(01C20F2B-3DD2-400f-949F-AD00BDAB1D41)] -interface IAccessibleHyperlink : IAccessibleAction -{ - - /** @brief Returns an object that represents the link anchor, as appropriate - for the link at the specified index. - @param [in] index - A 0 based index identifies the anchor when, as in the case of an image map, - there is more than one link represented by this object. The valid maximal - index is indicated by IAccessibleAction::nActions. - @param [out] anchor - This is an implementation dependent value. For example, for a text link this - method could return the substring of the containing string where the substring - is overridden with link behavior, and for an image link this method could return - an IUnknown VARIANT for IAccessibleImage. See the section about - @ref _variants "VARIANTs" for additional information. - @retval S_OK - @retval E_INVALIDARG if bad [in] passed - */ - [propget] HRESULT anchor - ( - [in] long index, - [out, retval] VARIANT *anchor - ); - - /** @brief Returns an object representing the target of the link, as appropriate - for the link at the specified index. - @param [in] index - A 0 based index identifies the anchor when, as in the case of an image map, - there is more than one link represented by this object. The valid maximal - index is indicated by IAccessibleAction::nActions. - @param [out] anchorTarget - This is an implementation dependent value. For example this method could - return a BSTR VARIANT of the URI. Alternatively this method could return an - IUnknown VARIANT of a COM interface representing a target object to be - activated when the link is activated. See the section about - @ref _variants "VARIANTs" for additional information. - @retval S_OK - @retval E_INVALIDARG if bad [in] passed - */ - [propget] HRESULT anchorTarget - ( - [in] long index, - [out, retval] VARIANT *anchorTarget - ); - - /** @brief Returns the 0 based character offset at which the textual representation of the hyperlink starts. - - The returned value is related to the IAccessibleText interface of the object that - owns this hyperlink. - @param [out] index - @retval S_OK - */ - [propget] HRESULT startIndex - ( - [out, retval] long *index - ); - - /** @brief Returns the 0 based character offset at which the textual representation of the hyperlink ends. - - The returned value is related to the IAccessibleText interface of the object that - owns this hyperlink. The character at the index is not part of the hypertext. - @param [out] index - @retval S_OK - */ - [propget] HRESULT endIndex - ( - [out, retval] long *index - ); - - /** @brief Returns whether the target object referenced by this link is still valid. - - This is a volatile state that may change without sending an appropriate event. - Returns TRUE if the referenced target is still valid and FALSE otherwise. - - This has also been used to indicate whether or not the URI of the anchorTarget - is malformed. - - @param [out] valid - If false, one or more of the object's links are invalid. - If true, all of the object's links are valid. - @retval S_OK - @retval S_FALSE if there is nothing to return, [out] value is FALSE - @note This method is not being used, is deprecated, and should not be implemented or - used. It is likely that this method will be removed in a later version of the IDL. - */ - [propget] HRESULT valid - ( - [out, retval] boolean *valid - ); -} diff --git a/src/3rdparty/iaccessible2/idl/AccessibleHypertext.idl b/src/3rdparty/iaccessible2/idl/AccessibleHypertext.idl deleted file mode 100644 index 13093bf610..0000000000 --- a/src/3rdparty/iaccessible2/idl/AccessibleHypertext.idl +++ /dev/null @@ -1,123 +0,0 @@ -/************************************************************************* - * - * File Name (AccessibleHypertext.idl) - * - * IAccessible2 IDL Specification - * - * Copyright (c) 2007, 2010 Linux Foundation - * Copyright (c) 2006 IBM Corporation - * Copyright (c) 2000, 2006 Sun Microsystems, Inc. - * All rights reserved. - * - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * 3. Neither the name of the Linux Foundation nor the names of its - * contributors may be used to endorse or promote products - * derived from this software without specific prior written - * permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * This BSD License conforms to the Open Source Initiative "Simplified - * BSD License" as published at: - * http://www.opensource.org/licenses/bsd-license.php - * - * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 - * mark may be used in accordance with the Linux Foundation Trademark - * Policy to indicate compliance with the IAccessible2 specification. - * - ************************************************************************/ - -import "objidl.idl"; -import "oaidl.idl"; -import "oleacc.idl"; -import "AccessibleText.idl"; -import "AccessibleHyperlink.idl"; - -/** @brief This interface exposes information about hypertext in a document. - - The %IAccessibleHypertext interface is the main interface to expose - hyperlinks in a document, typically a text document, that are used - to reference other documents. A typical implementation is to implement - this interface on the smallest text object such as a paragraph of text. -*/ -[object, uuid(6B4F8BBF-F1F2-418a-B35E-A195BC4103B9)] -interface IAccessibleHypertext : IAccessibleText -{ - - /** @brief Returns the number of links and link groups contained within this hypertext - paragraph. - @param [out] hyperlinkCount - The number of links and link groups within this hypertext paragraph. - Returns 0 if there is no link. - @retval S_OK - */ - [propget] HRESULT nHyperlinks - ( - [out, retval] long *hyperlinkCount - ); - - /** @brief Returns the specified link. - - The returned IAccessibleHyperlink object encapsulates the hyperlink and - provides several kinds of information describing it. - @param [in] index - This 0 based index specifies the hyperlink to return. - @param [out] hyperlink - If the given index is valid, i.e. lies in the interval from 0 to the number - of links minus one, a reference to the specified hyperlink object is returned. - If the index is invalid then a NULL pointer is returned. - @retval S_OK - @retval E_INVALIDARG if bad [in] passed - */ - [propget] HRESULT hyperlink - ( - [in] long index, - [out, retval] IAccessibleHyperlink **hyperlink - ); - - /** @brief Returns the index of the hyperlink that is associated with this character index. - - This is the case when a link spans the given character index. - @param [in] charIndex - A 0 based index of the character for which to return the link index. If - IAccessibleText is used to represent the text containing the link, then the - character index is only valid if it is greater than or equal to zero and - lower than the number of characters in the text. - @param [out] hyperlinkIndex - Returns the 0 based index of the hyperlink that is associated with this - character index, or -1 if charIndex is not on a link. - @retval S_OK - @retval S_FALSE if there is nothing to return, [out] value is -1 - @retval E_INVALIDARG if bad [in] passed - */ - [propget] HRESULT hyperlinkIndex - ( - [in] long charIndex, - [out, retval] long *hyperlinkIndex - ); - -} diff --git a/src/3rdparty/iaccessible2/idl/AccessibleImage.idl b/src/3rdparty/iaccessible2/idl/AccessibleImage.idl deleted file mode 100644 index e347614e29..0000000000 --- a/src/3rdparty/iaccessible2/idl/AccessibleImage.idl +++ /dev/null @@ -1,111 +0,0 @@ -/************************************************************************* - * - * File Name (AccessibleImage.idl) - * - * IAccessible2 IDL Specification - * - * Copyright (c) 2007, 2010 Linux Foundation - * Copyright (c) 2006 IBM Corporation - * Copyright (c) 2000, 2006 Sun Microsystems, Inc. - * All rights reserved. - * - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * 3. Neither the name of the Linux Foundation nor the names of its - * contributors may be used to endorse or promote products - * derived from this software without specific prior written - * permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * This BSD License conforms to the Open Source Initiative "Simplified - * BSD License" as published at: - * http://www.opensource.org/licenses/bsd-license.php - * - * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 - * mark may be used in accordance with the Linux Foundation Trademark - * Policy to indicate compliance with the IAccessible2 specification. - * - ************************************************************************/ - -import "objidl.idl"; -import "oaidl.idl"; -import "oleacc.idl"; -import "IA2CommonTypes.idl"; - -/** @brief This interface represents images and icons. - - This interface is used for a representation of images like icons on buttons. - %IAccessibleImage only needs to be implemented in certain situations. Some - examples are: - <ol> - <li>The accessible name and description are not enough to fully - describe the image, e.g. when the accessible description is used to define the - behavior of an actionable image and the image itself conveys semantically - significant information. - <li>The user can edit the content that includes an - image and therefore the user needs to be able to review the image's position. - </ol> -*/ -[object, uuid(FE5ABB3D-615E-4f7b-909F-5F0EDA9E8DDE)] -interface IAccessibleImage : IUnknown -{ - /** @brief Returns the localized description of the image. - @param [out] description - @retval S_OK - @retval S_FALSE if there is nothing to return, [out] value is NULL - */ - [propget] HRESULT description - ( - [out, retval] BSTR *description - ); - - /** @brief Returns the coordinates of the image. - @param [in] coordinateType - Specifies whether the returned coordinates should be relative to the screen or the parent object. - @param [out] x - @param [out] y - @retval S_OK - */ - [propget] HRESULT imagePosition - ( - [in] enum IA2CoordinateType coordinateType, - [out] long *x, - [out, retval] long *y - ); - - /** @brief Returns the size of the image in units specified by parent's coordinate system. - @param [out] height - @param [out] width - @retval S_OK - */ - - [propget] HRESULT imageSize - ( - [out] long *height, - [out, retval] long *width - ); -} diff --git a/src/3rdparty/iaccessible2/idl/AccessibleRelation.idl b/src/3rdparty/iaccessible2/idl/AccessibleRelation.idl deleted file mode 100644 index b0c6dfcc97..0000000000 --- a/src/3rdparty/iaccessible2/idl/AccessibleRelation.idl +++ /dev/null @@ -1,197 +0,0 @@ -/************************************************************************* - * - * File Name (AccessibleRelation.idl) - * - * IAccessible2 IDL Specification - * - * Copyright (c) 2007, 2010 Linux Foundation - * Copyright (c) 2006 IBM Corporation - * Copyright (c) 2000, 2006 Sun Microsystems, Inc. - * All rights reserved. - * - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * 3. Neither the name of the Linux Foundation nor the names of its - * contributors may be used to endorse or promote products - * derived from this software without specific prior written - * permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * This BSD License conforms to the Open Source Initiative "Simplified - * BSD License" as published at: - * http://www.opensource.org/licenses/bsd-license.php - * - * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 - * mark may be used in accordance with the Linux Foundation Trademark - * Policy to indicate compliance with the IAccessible2 specification. - * - ************************************************************************/ - -import "objidl.idl"; -import "oaidl.idl"; -import "oleacc.idl"; - -/** @defgroup grpRelations Relations - Use the following constants to compare against the BSTRs returned by - IAccessibleRelation::relationType. -*/ -///@{ - -/** Some attribute of this object is affected by a target object. */ -const WCHAR *const IA2_RELATION_CONTROLLED_BY = L"controlledBy"; - -/** This object is interactive and controls some attribute of a target object. */ -const WCHAR *const IA2_RELATION_CONTROLLER_FOR = L"controllerFor"; - -/** This object is described by the target object. */ -const WCHAR *const IA2_RELATION_DESCRIBED_BY = L"describedBy"; - -/** This object is describes the target object. */ -const WCHAR *const IA2_RELATION_DESCRIPTION_FOR = L"descriptionFor"; - -/** This object is embedded by a target object. */ -const WCHAR *const IA2_RELATION_EMBEDDED_BY = L"embeddedBy"; - -/** This object embeds a target object. This relation can be used on the - OBJID_CLIENT accessible for a top level window to show where the content - areas are. -*/ -const WCHAR *const IA2_RELATION_EMBEDS = L"embeds"; - -/** Content flows to this object from a target object. - This relation and IA2_RELATION_FLOWS_TO are useful to tie text and non-text - objects together in order to allow assistive technology to follow the - intended reading order. -*/ -const WCHAR *const IA2_RELATION_FLOWS_FROM = L"flowsFrom"; - -/** Content flows from this object to a target object. */ -const WCHAR *const IA2_RELATION_FLOWS_TO = L"flowsTo"; - -/** This object is label for a target object. */ -const WCHAR *const IA2_RELATION_LABEL_FOR = L"labelFor"; - -/** This object is labelled by a target object. Note that the double L spelling - which follows is preferred. Please use it instead. This single L version may - be removed in a later version. -*/ -const WCHAR *const IA2_RELATION_LABELED_BY = L"labelledBy"; - -/** This object is labelled by a target object. */ -const WCHAR *const IA2_RELATION_LABELLED_BY = L"labelledBy"; - -/** This object is a member of a group of one or more objects. When - there is more than one object in the group each member may have one and the - same target, e.g. a grouping object. It is also possible that each member has - multiple additional targets, e.g. one for every other member in the group. -*/ -const WCHAR *const IA2_RELATION_MEMBER_OF = L"memberOf"; - -/** This object is a child of a target object. */ -const WCHAR *const IA2_RELATION_NODE_CHILD_OF = L"nodeChildOf"; - -/** This object is a parent window of the target object. */ -const WCHAR *const IA2_RELATION_PARENT_WINDOW_OF = L"parentWindowOf"; - -/** This object is a transient component related to the target object. - When this object is activated the target object doesn't lose focus. -*/ -const WCHAR *const IA2_RELATION_POPUP_FOR = L"popupFor"; - -/** This object is a sub window of a target object. */ -const WCHAR *const IA2_RELATION_SUBWINDOW_OF = L"subwindowOf"; - -///@} - -/// This interface gives access to an object's set of relations. -[object, uuid(7CDF86EE-C3DA-496a-BDA4-281B336E1FDC)] -interface IAccessibleRelation : IUnknown -{ - /** @brief Returns the type of the relation. - @param [out] relationType - The strings returned are defined @ref grpRelations "in this section of the documentation". - @retval S_OK - */ - [propget] HRESULT relationType - ( - [out, retval] BSTR *relationType - ); - - /** @brief Returns a localized version of the relation type. - @param [out] localizedRelationType - @retval S_OK - */ - [propget] HRESULT localizedRelationType - ( - [out, retval] BSTR *localizedRelationType - ); - - /** @brief Returns the number of targets for this relation. - @param [out] nTargets - @retval S_OK - */ - [propget] HRESULT nTargets - ( - [out, retval] long *nTargets - ); - - /** @brief Returns one accessible relation target. - @param [in] targetIndex - 0 based index - @param [out] target - @retval S_OK - @retval E_INVALIDARG if bad [in] passed - @note Use QueryInterface to get IAccessible2. - */ - [propget] HRESULT target - ( - [in] long targetIndex, - [out, retval] IUnknown **target - ); - - /** @brief Returns multiple accessible relation targets - @param [in] maxTargets - maximum size of the array allocated by the client - @param [out] targets - The array of target objects. Note that this array is to be allocated by the - client and freed when no longer needed. Refer to @ref _arrayConsideration - "Special Consideration when using Arrays" for more details. You will need to use - QueryInterface on the IUnknown to get the IAccessible2. - @param [out] nTargets - actual number of targets in the returned array (not more than maxTargets) - @retval S_OK - @retval E_INVALIDARG if bad [in] passed, e.g. a negative value - */ - [propget] HRESULT targets - ( - [in] long maxTargets, - [out, size_is(maxTargets), length_is(*nTargets)] - IUnknown **targets, - [out, retval] long *nTargets - ); - -} diff --git a/src/3rdparty/iaccessible2/idl/AccessibleRole.idl b/src/3rdparty/iaccessible2/idl/AccessibleRole.idl deleted file mode 100644 index 385e02d05a..0000000000 --- a/src/3rdparty/iaccessible2/idl/AccessibleRole.idl +++ /dev/null @@ -1,293 +0,0 @@ -/************************************************************************* - * - * File Name (AccessibleRole.idl) - * - * IAccessible2 IDL Specification - * - * Copyright (c) 2007, 2010 Linux Foundation - * Copyright (c) 2006 IBM Corporation - * Copyright (c) 2000, 2006 Sun Microsystems, Inc. - * All rights reserved. - * - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * 3. Neither the name of the Linux Foundation nor the names of its - * contributors may be used to endorse or promote products - * derived from this software without specific prior written - * permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * This BSD License conforms to the Open Source Initiative "Simplified - * BSD License" as published at: - * http://www.opensource.org/licenses/bsd-license.php - * - * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 - * mark may be used in accordance with the Linux Foundation Trademark - * Policy to indicate compliance with the IAccessible2 specification. - * - ************************************************************************/ - -import "objidl.idl"; - -/** Collection of roles - - This enumerator defines an extended set of accessible roles of objects implementing - the %IAccessible2 interface. These roles are in addition to the MSAA roles obtained - through the MSAA get_accRole method. Examples are 'footnote', 'heading', and - 'label'. You obtain an object's %IAccessible2 roles by calling IAccessible2::role. -*/ -enum IA2Role { - - /** Unknown role. The object contains some Accessible information, but its - role is not known. - */ - IA2_ROLE_UNKNOWN = 0, - - /** An object that can be drawn into and to manage events from the objects - drawn into it. Also refer to ::IA2_ROLE_FRAME, - ::IA2_ROLE_GLASS_PANE, and ::IA2_ROLE_LAYERED_PANE. - */ - IA2_ROLE_CANVAS = 0x401, - - /// A caption describing another object. - IA2_ROLE_CAPTION, - - /// Used for check buttons that are menu items. - IA2_ROLE_CHECK_MENU_ITEM, - - /// A specialized dialog that lets the user choose a color. - IA2_ROLE_COLOR_CHOOSER, - - /// A date editor. - IA2_ROLE_DATE_EDITOR, - - /** An iconified internal frame in an ::IA2_ROLE_DESKTOP_PANE. - Also refer to ::IA2_ROLE_INTERNAL_FRAME. - */ - IA2_ROLE_DESKTOP_ICON, - - /** A desktop pane. A pane that supports internal frames and iconified - versions of those internal frames. Also refer to ::IA2_ROLE_INTERNAL_FRAME. - */ - IA2_ROLE_DESKTOP_PANE, - - /** A directory pane. A pane that allows the user to navigate through - and select the contents of a directory. May be used by a file chooser. - Also refer to ::IA2_ROLE_FILE_CHOOSER. - */ - IA2_ROLE_DIRECTORY_PANE, - - /** An editable text object in a toolbar. <b>Deprecated.</b> - The edit bar role was meant for a text area in a tool bar. However, to detect - a text area in a tool bar the AT can query the parent. - */ - IA2_ROLE_EDITBAR, - - /// Embedded (OLE) object. - IA2_ROLE_EMBEDDED_OBJECT, - - /// Text that is used as an endnote (footnote at the end of a chapter or section). - IA2_ROLE_ENDNOTE, - - /** A file chooser. A specialized dialog that displays the files in the - directory and lets the user select a file, browse a different directory, - or specify a filename. May use the directory pane to show the contents of - a directory. - Also refer to ::IA2_ROLE_DIRECTORY_PANE. - */ - IA2_ROLE_FILE_CHOOSER, - - /** A font chooser. A font chooser is a component that lets the user pick - various attributes for fonts. - */ - IA2_ROLE_FONT_CHOOSER, - - /** Footer of a document page. - Also refer to ::IA2_ROLE_HEADER. - */ - IA2_ROLE_FOOTER, - - /// Text that is used as a footnote. Also refer to ::IA2_ROLE_ENDNOTE. - IA2_ROLE_FOOTNOTE, - - /** A container of form controls. An example of the use of this role is to - represent an HTML FORM tag. - */ - IA2_ROLE_FORM, - - /** Frame role. A top level window with a title bar, border, menu bar, etc. - It is often used as the primary window for an application. Also refer to - ::IA2_ROLE_CANVAS and the MSAA roles of dialog and window. - */ - IA2_ROLE_FRAME, - - /** A glass pane. A pane that is guaranteed to be painted on top of all panes - beneath it. Also refer to ::IA2_ROLE_CANVAS, ::IA2_ROLE_INTERNAL_FRAME, and - ::IA2_ROLE_ROOT_PANE. - */ - IA2_ROLE_GLASS_PANE, - - /** Header of a document page. - Also refer to ::IA2_ROLE_FOOTER. - */ - IA2_ROLE_HEADER, - - /// Heading. Use the IAccessible2::attributes level attribute to determine the heading level. - IA2_ROLE_HEADING, - - /// A small fixed size picture, typically used to decorate components. - IA2_ROLE_ICON, - - /** An image map object. Usually a graphic with multiple hotspots, where - each hotspot can be activated resulting in the loading of another document - or section of a document. - */ - IA2_ROLE_IMAGE_MAP, - - /** An object which is used to allow input of characters not found on a keyboard, - such as the input of Chinese characters on a Western keyboard. - */ - IA2_ROLE_INPUT_METHOD_WINDOW, - - /** An internal frame. A frame-like object that is clipped by a desktop pane. - The desktop pane, internal frame, and desktop icon objects are often used to - create multiple document interfaces within an application. - Also refer to ::IA2_ROLE_DESKTOP_ICON, ::IA2_ROLE_DESKTOP_PANE, and ::IA2_ROLE_FRAME. - */ - IA2_ROLE_INTERNAL_FRAME, - - /// An object used to present an icon or short string in an interface. - IA2_ROLE_LABEL, - - /** A layered pane. A specialized pane that allows its children to be drawn - in layers, providing a form of stacking order. This is usually the pane that - holds the menu bar as well as the pane that contains most of the visual - components in a window. - Also refer to ::IA2_ROLE_CANVAS, ::IA2_ROLE_GLASS_PANE, and ::IA2_ROLE_ROOT_PANE. - */ - IA2_ROLE_LAYERED_PANE, - - /// An embedded note which is not visible until activated. - IA2_ROLE_NOTE, - - /** A specialized pane whose primary use is inside a dialog. - Also refer to MSAA's dialog role. - */ - IA2_ROLE_OPTION_PANE, - - /** An object representing a page of document content. It is used in documents - which are accessed by the user on a page by page basis. - */ - IA2_ROLE_PAGE, - - /// A paragraph of text. - IA2_ROLE_PARAGRAPH, - - /** A radio button that is a menu item. - Also refer to MSAA's button and menu item roles. - */ - IA2_ROLE_RADIO_MENU_ITEM, - - /** An object which is redundant with another object in the accessible hierarchy. - ATs typically ignore objects with this role. - */ - IA2_ROLE_REDUNDANT_OBJECT, - - /** A root pane. A specialized pane that has a glass pane and a layered pane - as its children. - Also refer to ::IA2_ROLE_GLASS_PANE and ::IA2_ROLE_LAYERED_PANE - */ - IA2_ROLE_ROOT_PANE, - - /** A ruler such as those used in word processors. - */ - IA2_ROLE_RULER, - - /** A scroll pane. An object that allows a user to incrementally view a large - amount of information. Its children can include scroll bars and a viewport. - Also refer to ::IA2_ROLE_VIEW_PORT and MSAA's scroll bar role. - */ - IA2_ROLE_SCROLL_PANE, - - /** A container of document content. An example of the use of this role is to - represent an HTML DIV tag. A section may be used as a region. A region is a - group of elements that together form a perceivable unit. A region does not - necessarily follow the logical structure of the content, but follows the - perceivable structure of the page. A region may have an attribute in the set - of IAccessible2::attributes which indicates that it is "live". A live region - is content that is likely to change in response to a timed change, a user - event, or some other programmed logic or event. - */ - IA2_ROLE_SECTION, - - /// Object with graphical representation used to represent content on draw pages. - IA2_ROLE_SHAPE, - - /** A split pane. A specialized panel that presents two other panels at the - same time. Between the two panels is a divider the user can manipulate to make - one panel larger and the other panel smaller. - */ - IA2_ROLE_SPLIT_PANE, - - /** An object that forms part of a menu system but which can be "undocked" - from or "torn off" the menu system to exist as a separate window. - */ - IA2_ROLE_TEAR_OFF_MENU, - - /// An object used as a terminal emulator. - IA2_ROLE_TERMINAL, - - /// Collection of objects that constitute a logical text entity. - IA2_ROLE_TEXT_FRAME, - - /** A toggle button. A specialized push button that can be checked or unchecked, - but does not provide a separate indicator for the current state. - Also refer to MSAA's roles of push button, check box, and radio button. - <BR><B>Note:</B> IA2_ROLE_TOGGLE_BUTTON should not be used. Instead, use MSAA's - ROLE_SYSTEM_PUSHBUTTON and STATE_SYSTEM_PRESSED. - */ - IA2_ROLE_TOGGLE_BUTTON, - - /** A viewport. An object usually used in a scroll pane. It represents the - portion of the entire data that the user can see. As the user manipulates - the scroll bars, the contents of the viewport can change. - Also refer to ::IA2_ROLE_SCROLL_PANE. - */ - IA2_ROLE_VIEW_PORT, - - /** An object containing content which is complementary to the main content of - a document, but remains meaningful when separated from the main content. There - are various types of content that would appropriately have this role. For example, - in the case where content is delivered via a web portal to a web browser, this may - include but not be limited to show times, current weather, related articles, or - stocks to watch. The complementary role indicates that contained content is relevant - to the main content. If the complementary content is completely separable main - content, it may be appropriate to use a more general role. - */ - IA2_ROLE_COMPLEMENTARY_CONTENT - -}; diff --git a/src/3rdparty/iaccessible2/idl/AccessibleStates.idl b/src/3rdparty/iaccessible2/idl/AccessibleStates.idl deleted file mode 100644 index 0304b643da..0000000000 --- a/src/3rdparty/iaccessible2/idl/AccessibleStates.idl +++ /dev/null @@ -1,209 +0,0 @@ -/************************************************************************* - * - * File Name (AccessibleStates.idl) - * - * IAccessible2 IDL Specification - * - * Copyright (c) 2007, 2010 Linux Foundation - * Copyright (c) 2006 IBM Corporation - * Copyright (c) 2000, 2006 Sun Microsystems, Inc. - * All rights reserved. - * - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * 3. Neither the name of the Linux Foundation nor the names of its - * contributors may be used to endorse or promote products - * derived from this software without specific prior written - * permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * This BSD License conforms to the Open Source Initiative "Simplified - * BSD License" as published at: - * http://www.opensource.org/licenses/bsd-license.php - * - * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 - * mark may be used in accordance with the Linux Foundation Trademark - * Policy to indicate compliance with the IAccessible2 specification. - * - ************************************************************************/ - -import "objidl.idl"; - -typedef long AccessibleStates; - -/** %IAccessible2 specific state bit constants - - This enum defines the state bits returned by IAccessible2::states. The - %IAccessible2 state bits are in addition to those returned by MSAA. -*/ -enum IA2States { - -/** Indicates a window is currently the active window, or is an active subelement - within a container or table. - - This state can be used to indicate the current active item in a container, even - if the container itself is not currently active. In other words this would indicate - the item that will get focus if you tab to the container. - - This information is important for knowing what to report for trees and potentially - other containers in a virtual buffer. - - Also, see ::IA2_STATE_MANAGES_DESCENDANTS for more information. -*/ -IA2_STATE_ACTIVE = 0x1, - -/** Indicates that the object is armed. - - Used to indicate that the control is "pressed" and will be invoked when the - actuator, e.g. a mouse button, is "released". An AT which either monitors the - mouse or synthesizes mouse events might need to know that, and possibly a talking - interface would even let the user know about it. It could also potentially be - useful to on screen keyboards or test tools since the information does indicate - something about the state of the interface, for example, code operating asynchronously - might need to wait for the armed state to change before doing something else. - -*/ -IA2_STATE_ARMED = 0x2, - -/** Indicates the user interface object corresponding to this object no longer exists. */ -IA2_STATE_DEFUNCT = 0x4, - -/** An object with this state has a caret and implements the IAccessibleText interface. - - Such fields may be read-only, so STATE_SYSTEM_READONLY is valid in combination - with IA2_STATE_EDITABLE. - -*/ -IA2_STATE_EDITABLE = 0x8, - -/** Indicates the orientation of this object is horizontal. */ -IA2_STATE_HORIZONTAL = 0x10, - -/** Indicates this object is minimized and is represented only by an icon. */ -IA2_STATE_ICONIFIED = 0x20, - -/** Indicates an input validation failure. */ -IA2_STATE_INVALID_ENTRY = 0x40, - -/** Indicates that this object manages its children. - - Note: Due to the fact that MSAA's WinEvents don't allow the active child index - to be passed on the IA2_EVENT_ACTIVE_DESCENDANT_CHANGED event, the manages - descendants scheme can't be used. Instead the active child object has to fire - MSAA's EVENT_OBJECT_FOCUS. In a future release a new event mechanism may be - added to provide for event specific data to be passed with the event. At that - time the IA2_EVENT_ACTIVE_DECENDENT_CHANGED event and - IA2_STATE_MANAGES_DESCENDANTS state would be useful. -*/ -IA2_STATE_MANAGES_DESCENDANTS = 0x80, - -/** Indicates that an object is modal. - - Modal objects have the behavior that something must be done with the object - before the user can interact with an object in a different window. -*/ -IA2_STATE_MODAL = 0x100, - -/** Indicates this text object can contain multiple lines of text. */ -IA2_STATE_MULTI_LINE = 0x200, - -/** Indicates this object paints every pixel within its rectangular region. */ -IA2_STATE_OPAQUE = 0x400, - -/** Indicates that user interaction is required. - - An example of when this state is used is when a field in a form must be filled - before a form can be processed. -*/ -IA2_STATE_REQUIRED = 0x800, - -/** Indicates an object which supports text selection. - - Note: This is different than MSAA STATE_SYSTEM_SELECTABLE. -*/ -IA2_STATE_SELECTABLE_TEXT = 0x1000, - -/** Indicates that this text object can contain only a single line of text. */ -IA2_STATE_SINGLE_LINE = 0x2000, - -/** Indicates that the accessible object is stale. - - This state is used when the accessible object no longer accurately - represents the state of the object which it is representing such as when an - object is transient or when an object has been or is in the process of being - destroyed or when the object's index in its parent has changed. -*/ -IA2_STATE_STALE = 0x4000, - -/** Indicates that the object implements autocompletion. - - This state indicates that a text control will respond to the input of - one ore more characters and cause a sub-item to become selected. The - selection may also result in events fired on the parent object. -*/ -IA2_STATE_SUPPORTS_AUTOCOMPLETION = 0x8000, - -/** Indicates this object is transient. - - An object has this state when its parent object has the state ::IA2_STATE_MANAGES_DESCENDANTS. - For example, a list item object may be managed by its parent list object and may only - exist as long as the object is actually rendered. Similarly a table cell's accessible - object may exist only while the cell has focus. However, from the perspective of an - assistive technology a transient object behaves like a non-transient object. As a - result it is likely that this state is not of use to an assistive technology, but it - is provided in case an assistive technology determines that knowledge of the transient - nature of the object is useful and also for harmony with the Linux accessibility API. - - Also, see ::IA2_STATE_MANAGES_DESCENDANTS for more information. - */ -IA2_STATE_TRANSIENT = 0x10000, - -/** Indicates the orientation of this object is vertical. */ -IA2_STATE_VERTICAL = 0x20000, - -/** Indicates this object is checkable. - - The standard checkable objects are check boxes, radio buttons, check box menu - items, radio menu items, and toggle buttons. Since assistive technology will - determine that these objects are checkable via the object's role the checkable - state is not required. However, this state is necessary in those cases where - an object has a role which is not one of the previously mentioned roles. An - example is a table cell which indicates whether or not an email has an attachment, - whether or not an mail is considered spam, and whether or not an email has been read. - */ -IA2_STATE_CHECKABLE = 0x40000, - -/** Indicates this object is pinned. - - This state indicates that an object is fixed at a certain location. One example - is a browser tab that when pinned cannot be moved until unpinned. Another example - is a movable or floating object that when pinned remains in its pinned location - until being unpinned. - */ -IA2_STATE_PINNED = 0x80000 - -}; diff --git a/src/3rdparty/iaccessible2/idl/AccessibleTable.idl b/src/3rdparty/iaccessible2/idl/AccessibleTable.idl deleted file mode 100644 index 69c99a7515..0000000000 --- a/src/3rdparty/iaccessible2/idl/AccessibleTable.idl +++ /dev/null @@ -1,551 +0,0 @@ -/************************************************************************* - * - * File Name (AccessibleTable.idl) - * - * IAccessible2 IDL Specification - * - * Copyright (c) 2007, 2010 Linux Foundation - * Copyright (c) 2006 IBM Corporation - * Copyright (c) 2000, 2006 Sun Microsystems, Inc. - * All rights reserved. - * - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * 3. Neither the name of the Linux Foundation nor the names of its - * contributors may be used to endorse or promote products - * derived from this software without specific prior written - * permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * This BSD License conforms to the Open Source Initiative "Simplified - * BSD License" as published at: - * http://www.opensource.org/licenses/bsd-license.php - * - * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 - * mark may be used in accordance with the Linux Foundation Trademark - * Policy to indicate compliance with the IAccessible2 specification. - * - ************************************************************************/ - -import "objidl.idl"; -import "oaidl.idl"; -import "oleacc.idl"; -import "Accessible2.idl"; -import "IA2CommonTypes.idl"; - -/** @brief This interface gives access to a two-dimensional table. - - Typically all accessible objects that represent cells or cell-clusters of a table - will be at the same time children of the table. In this case IAccessible2::indexInParent - will return the child index which then can be used when calling IAccessibleTable::rowIndex - and IAccessibleTable::columnIndex. - - However, in some cases that kind of implementation will not be possible. When - the table cells are not direct children of a table, the object representing - the cell can define a "table-cell-index" object attribute identifying the 0 - based table cell index. This object attribute is obtained by parsing the - attribute string returned by IAccessible2::attributes. The "table-cell-index" - attribute can be used just like a child index of the typical case. ATs should - first test for the presence of the "table-cell-index" attribute and if it is not - present then IAccessible2::indexInParent can be used as in the typical case - where cells are direct children of the table. - - The range of valid coordinates for this interface are implementation dependent. - However, that range includes at least the intervals from the from the first row - or column with the index 0 up to the last (but not including) used row or column - as returned by IAccessibleTable::nRows and IAccessibleTable::nColumns. - - Note that newer implementations are now using IAccessibleTable2 and IAccessibleTableCell - rather than this interface. -*/ -[object, uuid(35AD8070-C20C-4fb4-B094-F4F7275DD469)] -interface IAccessibleTable : IUnknown -{ - - /** @brief Returns the accessible object at the specified row and column in - the table. This object could be an IAccessible or an IAccessible2. - @param [in] row - The 0 based row index for which to retrieve the cell. - @param [in] column - The 0 based column index for which to retrieve the cell. - @param [out] accessible - If both row and column index are valid then the corresponding accessible - object is returned that represents the requested cell regardless of whether - the cell is currently visible (on the screen). - @retval S_OK - @retval E_INVALIDARG if bad [in] passed, [out] value is NULL - */ - [propget] HRESULT accessibleAt - ( - [in] long row, - [in] long column, - [out, retval] IUnknown **accessible - ); - - /** @brief Returns the caption for the table. The returned object could be - an IAccessible or an IAccessible2. - @param [out] accessible - If the table has a caption then a reference to it is returned, else a NULL - pointer is returned. - @retval S_OK - @retval S_FALSE if there is nothing to return, [out] value is NULL - */ - [propget] HRESULT caption - ( - [out, retval] IUnknown **accessible - ); - - /** @brief Translates the given row and column indexes into the corresponding cell index. - @param [in] rowIndex - 0 based row index for the cell. - @param [in] columnIndex - 0 based column index for the cell. - @param [out] cellIndex - Returns the 0 based index of the cell at the specified row and column indexes. - @retval S_OK - @retval E_INVALIDARG if bad [in] passed, [out] value is 0 - @note The returned value is not necessarily a child index of the immediate parent. - In cases where the table cells are not direct children of the table the index - is actually the cell index, i.e. conceptually it's an index into a one dimensional - array of cells laid out in row order. - */ - [propget] HRESULT childIndex - ( - [in] long rowIndex, - [in] long columnIndex, - [out, retval] long *cellIndex - ); - - /** @brief Returns the description text of the specified column in the table. - @param [in] column - The 0 based index of the column for which to retrieve the description. - @param [out] description - Returns the description text of the specified column in the table if such a - description exists. Otherwise a NULL pointer is returned. - @retval S_OK - @retval S_FALSE if there is nothing to return, [out] value is NULL - @retval E_INVALIDARG if bad [in] passed, [out] value is NULL - */ - [propget] HRESULT columnDescription - ( - [in] long column, - [out, retval] BSTR *description - ); - - /** @brief Returns the number of columns occupied by the accessible object - at the specified row and column in the table. - - The result is greater than 1 if the specified cell spans multiple columns. - @param [in] row - 0 based row index of the accessible for which to return the column extent. - @param [in] column - 0 based column index of the accessible for which to return the column extent. - @param [out] nColumnsSpanned - Returns the 1 based column extent of the specified cell. - @retval S_OK - @retval E_INVALIDARG if bad [in] passed, [out] value is 0 - */ - [propget] HRESULT columnExtentAt - ( - [in] long row, - [in] long column, - [out, retval] long *nColumnsSpanned - ); - - /** @brief Returns the column headers as an %IAccessibleTable object. - - Content and size of the returned table are implementation dependent. - @param [out] accessibleTable - The column header - @param [out] startingRowIndex - The 0 based row index where the header starts, usually 0. - @retval S_OK - @retval S_FALSE if there is no header, [out] values are NULL and 0 respectively - */ - [propget] HRESULT columnHeader - ( - [out] IAccessibleTable **accessibleTable, - [out, retval] long *startingRowIndex - ); - - /** @brief Translates the given cell index into the corresponding column index. - @param [in] cellIndex - 0 based index of the cell in the parent or closest ancestor table. Typically this - is the value returned from IAccessible2::indexInParent, but in the case where the - table cells are not direct children of the table this is the cell index specified - by the "table-cell-index" object attribute obtained from parsing the attributes - string returned by calling IAccessible2::attributes on the cell object. - @param [out] columnIndex - Returns the 0 based column index of the cell of the specified child or the index of - the first column if the child spans multiple columns. - @retval S_OK - @retval E_INVALIDARG if bad [in] passed, [out] value is 0 - */ - [propget] HRESULT columnIndex - ( - [in] long cellIndex, - [out, retval] long *columnIndex - ); - - /** @brief Returns the total number of columns in table - @param [out] columnCount - Number of columns in table (including columns outside the current viewport) - @retval S_OK - */ - [propget] HRESULT nColumns - ( - [out, retval] long *columnCount - ); - - /** @brief Returns the total number of rows in table - @param [out] rowCount - Number of rows in table (including rows outside the current viewport) - @retval S_OK - */ - [propget] HRESULT nRows - ( - [out, retval] long *rowCount - ); - - /** @brief Returns the total number of selected cells - @param [out] cellCount - Number of cells currently selected - @retval S_OK - */ - [propget] HRESULT nSelectedChildren - ( - [out, retval] long *cellCount - ); - - /** @brief Returns the total number of selected columns - @param [out] columnCount - Number of columns currently selected - @retval S_OK - */ - [propget] HRESULT nSelectedColumns - ( - [out, retval] long *columnCount - ); - - /** @brief Returns the total number of selected rows - @param [out] rowCount - Number of rows currently selected - @retval S_OK - */ - [propget] HRESULT nSelectedRows - ( - [out, retval] long *rowCount - ); - - /** @brief Returns the description text of the specified row in the table. - @param [in] row - The 0 based index of the row for which to retrieve the description. - @param [out] description - Returns the description text of the specified row in the table if such a - description exists. Otherwise a NULL pointer is returned. - @retval S_OK - @retval S_FALSE if there is nothing to return, [out] value is NULL - @retval E_INVALIDARG if bad [in] passed, [out] value is NULL - */ - [propget] HRESULT rowDescription - ( - [in] long row, - [out, retval] BSTR *description - ); - - /** @brief Returns the number of rows occupied by the accessible object - at the specified row and column in the table. - - The result is greater than 1 if the specified cell spans multiple rows. - @param [in] row - 0 based row index of the accessible for which to return the row extent. - @param [in] column - 0 based column index of the accessible for which to return the row extent. - @param [out] nRowsSpanned - Returns the row extent of the specified cell. - @retval S_OK - @retval E_INVALIDARG if bad [in] passed, [out] value is 0 - */ - [propget] HRESULT rowExtentAt - ( - [in] long row, - [in] long column, - [out, retval] long *nRowsSpanned - ); - - /** @brief Returns the row headers as an %IAccessibleTable object. - - Content and size of the returned table are implementation dependent. - @param [out] accessibleTable - The row header. - @param [out] startingColumnIndex - The 0 based column index where the header starts, usually 0. - @retval S_OK - @retval S_FALSE if there is no header, [out] values are NULL and 0 respectively - */ - [propget] HRESULT rowHeader - ( - [out] IAccessibleTable **accessibleTable, - [out, retval] long *startingColumnIndex - ); - - /** @brief Translates the given cell index into a row index. - @param [in] cellIndex - 0 based index of the cell in the parent or closest ancestor table. Typically this - is the value returned from IAccessible2::indexInParent, but in the case where the - table cells are not direct children of the table this is the cell index specified - by the "table-cell-index" object attribute obtained from parsing the attributes - string returned by calling IAccessible2::attributes on the cell object. - @param [out] rowIndex - 0 based row index - @retval S_OK - @retval E_INVALIDARG if bad [in] passed, [out] value is 0 - */ - [propget] HRESULT rowIndex - ( - [in] long cellIndex, - [out, retval] long *rowIndex - ); - - /** @brief Returns a list of cell indexes currently selected (0 based). - @param [in] maxChildren - This parameter is ignored. Refer to @ref _arrayConsideration - "Special Consideration when using Arrays" for more details. - @param [out] children - An array of cell indexes of selected cells (each index is 0 based), - allocated by the server. Free it with CoTaskMemFree. - @param [out] nChildren - The number of cell indexes returned; the size of the returned array. - @retval S_OK - @retval S_FALSE if there are none, [out] values are NULL and 0 respectively - */ - [propget] HRESULT selectedChildren - ( - [in] long maxChildren, - [out, size_is(,maxChildren), length_is(,*nChildren)] long **children, - [out, retval] long *nChildren - ); - - /** @brief Returns a list of column indexes currently selected (0 based). - @param [in] maxColumns - This parameter is ignored. Refer to @ref _arrayConsideration - "Special Consideration when using Arrays" for more details. - @param [out] columns - An array of column indexes of selected columns (each index is 0 based), allocated - by the server. Free it with CoTaskMemFree. - @param [out] nColumns - The number of column indexes returned; the size of the returned array. - @retval S_OK - @retval S_FALSE if there are none, [out] values are NULL and 0 respectively - */ - [propget] HRESULT selectedColumns - ( - [in] long maxColumns, - [out, size_is(,maxColumns), length_is(,*nColumns)] long **columns, - [out, retval] long *nColumns - ); - - /** @brief Returns a list of row indexes currently selected (0 based). - @param [in] maxRows - This parameter is ignored. Refer to @ref _arrayConsideration - "Special Consideration when using Arrays" for more details. - @param [out] rows - An array of row indexes of selected rows (each index is 0 based), allocated - by the server. Free it with CoTaskMemFree. - @param [out] nRows - The number of row indexes returned; the size of the returned array. - @retval S_OK - @retval S_FALSE if there are none, [out] values are NULL and 0 respectively - */ - [propget] HRESULT selectedRows - ( - [in] long maxRows, - [out, size_is(,maxRows), length_is(,*nRows)] long **rows, - [out, retval] long *nRows - ); - - /** @brief Returns the summary description of the table. The returned object could be - an IAccessible or an IAccessible2. - @param [out] accessible - Returns a reference to an implementation dependent accessible object - representing the table's summary or a NULL pointer if the table - does not support a summary. - @retval S_OK - @retval S_FALSE if there is nothing to return, [out] value is NULL - */ - [propget] HRESULT summary - ( - [out, retval] IUnknown **accessible - ); - - /** @brief Returns a boolean value indicating whether the specified column is - completely selected. - @param [in] column - 0 based index of the column for which to determine whether it is selected. - @param [out] isSelected - Returns TRUE if the specified column is selected completely and FALSE otherwise. - @retval S_OK - @retval E_INVALIDARG if bad [in] passed, [out] value is FALSE - */ - [propget] HRESULT isColumnSelected - ( - [in] long column, - [out, retval] boolean *isSelected - ); - - /** @brief Returns a boolean value indicating whether the specified row is completely - selected. - @param [in] row - 0 based index of the row for which to determine whether it is selected. - @param [out] isSelected - Returns TRUE if the specified row is selected completely and FALSE otherwise. - @retval S_OK - @retval E_INVALIDARG if bad [in] passed, [out] value is FALSE - */ - [propget] HRESULT isRowSelected - ( - [in] long row, - [out, retval] boolean *isSelected - ); - - /** @brief Returns a boolean value indicating whether the specified cell is selected. - @param [in] row - 0 based index of the row for the cell to determine whether it is selected. - @param [in] column - 0 based index of the column for the cell to determine whether it is selected. - @param [out] isSelected - Returns TRUE if the specified cell is selected and FALSE otherwise. - @retval S_OK - @retval E_INVALIDARG if bad [in] passed, [out] value is FALSE - */ - [propget] HRESULT isSelected - ( - [in] long row, - [in] long column, - [out, retval] boolean *isSelected - ); - - /** @brief Selects a row and unselects all previously selected rows. - @param [in] row - 0 based index of the row to be selected. - @retval S_OK - @retval E_INVALIDARG if bad [in] passed - */ - HRESULT selectRow - ( - [in] long row - ); - - /** @brief Selects a column and unselects all previously selected columns. - @param [in] column - 0 based index of the column to be selected. - @retval S_OK - @retval E_INVALIDARG if bad [in] passed - */ - HRESULT selectColumn - ( - [in] long column - ); - - /** @brief Unselects one row, leaving other selected rows selected (if any). - @param [in] row - 0 based index of the row to be unselected. - @retval S_OK - @retval E_INVALIDARG if bad [in] passed - */ - HRESULT unselectRow - ( - [in] long row - ); - - /** @brief Unselects one column, leaving other selected columns selected (if any). - @param [in] column - 0 based index of the column to be unselected. - @retval S_OK - @retval E_INVALIDARG if bad [in] passed - */ - HRESULT unselectColumn - ( - [in] long column - ); - - /** @brief Given a cell index, gets the row and column indexes and extents of a cell - and whether or not it is selected. - - This is a convenience function. It is not mandatory to implement it. - @param [in] index - 0 based index of this cell in the table. - @param [out] row - 0 based row index. - @param [out] column - 0 based column index. - @param [out] rowExtents - Number of cells spanned by this cell in this row. - @param [out] columnExtents - Number of cells spanned by this cell in this column. - @param [out] isSelected - Indicates if the specified cell is selected. - @retval S_OK - @retval E_INVALIDARG if bad [in] passed, [out] values are 0s and FALSE respectively - */ - [propget] HRESULT rowColumnExtentsAtIndex - ( - [in] long index, - [out] long *row, - [out] long *column, - [out] long *rowExtents, - [out] long *columnExtents, - [out, retval] boolean *isSelected - ); - - /** @brief Returns the type and extents describing how a table changed. - - Provided for use by the IA2_EVENT_TABLE_MODEL_CHANGED event handler. - - This data is only guaranteed to be valid while the thread notifying the event - continues. Once the handler has returned, the validity of the data depends on - how the server manages the life cycle of its objects. Also, note that the server - may have different life cycle management strategies for controls depending on - whether or not a control manages its children. Lists, trees, and tables can have - a large number of children and thus it's possible that the child objects for those - controls would only be created as needed. Servers should document their life cycle - strategy as this will be of interest to assistive technology or script engines - accessing data out of process or from other threads. Servers only need to save the - most recent row and column values associated with the change and a scope of the - entire application is adequate. - - @param [out] modelChange - A struct of (type(insert, delete, update), firstRow, lastRow, firstColumn, lastColumn). - @retval S_OK - @retval S_FALSE if there is nothing to return, [out] value is NULL - */ - [propget] HRESULT modelChange - ( - [out, retval] IA2TableModelChange *modelChange - ); - -} diff --git a/src/3rdparty/iaccessible2/idl/AccessibleTable2.idl b/src/3rdparty/iaccessible2/idl/AccessibleTable2.idl deleted file mode 100644 index 9d7f3e4475..0000000000 --- a/src/3rdparty/iaccessible2/idl/AccessibleTable2.idl +++ /dev/null @@ -1,375 +0,0 @@ -/************************************************************************* - * - * File Name (AccessibleTable2.idl) - * - * IAccessible2 IDL Specification - * - * Copyright (c) 2007, 2010 Linux Foundation - * Copyright (c) 2006 IBM Corporation - * Copyright (c) 2000, 2006 Sun Microsystems, Inc. - * All rights reserved. - * - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * 3. Neither the name of the Linux Foundation nor the names of its - * contributors may be used to endorse or promote products - * derived from this software without specific prior written - * permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * This BSD License conforms to the Open Source Initiative "Simplified - * BSD License" as published at: - * http://www.opensource.org/licenses/bsd-license.php - * - * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 - * mark may be used in accordance with the Linux Foundation Trademark - * Policy to indicate compliance with the IAccessible2 specification. - * - ************************************************************************/ - -import "objidl.idl"; -import "oaidl.idl"; -import "oleacc.idl"; -import "Accessible2.idl"; -import "IA2CommonTypes.idl"; - -/** @brief This interface gives access to a two-dimensional table. - - Please also refer to the IAccessibleTableCell interface. - - If you want to support older applications you should also support the - IAccessibleTable inteface. -*/ -[object, uuid(6167f295-06f0-4cdd-a1fa-02e25153d869)] -interface IAccessibleTable2 : IUnknown -{ - - /** @brief Returns the accessible object at the specified row and column in - the table. This object could be an IAccessible or an IAccessible2. - @param [in] row - The 0 based row index for which to retrieve the cell. - @param [in] column - The 0 based column index for which to retrieve the cell. - @param [out] cell - If both row and column index are valid then the corresponding accessible - object is returned that represents the requested cell regardless of whether - the cell is currently visible (on the screen). - @retval S_OK - @retval E_INVALIDARG if bad [in] passed - */ - [propget] HRESULT cellAt - ( - [in] long row, - [in] long column, - [out, retval] IUnknown **cell - ); - - /** @brief Returns the caption for the table. The returned object could be - an IAccessible or an IAccessible2. - @param [out] accessible - If the table has a caption then a reference to it is returned, else a NULL - pointer is returned. - @retval S_OK - @retval S_FALSE if there is nothing to return, [out] value is NULL - */ - [propget] HRESULT caption - ( - [out, retval] IUnknown **accessible - ); - - /** @brief Returns the description text of the specified column in the table. - @param [in] column - The 0 based index of the column for which to retrieve the description. - @param [out] description - Returns the description text of the specified column in the table if such a - description exists. Otherwise a NULL pointer is returned. - @retval S_OK - @retval S_FALSE if there is nothing to return, [out] value is NULL - @retval E_INVALIDARG if bad [in] passed - */ - [propget] HRESULT columnDescription - ( - [in] long column, - [out, retval] BSTR *description - ); - - - /** @brief Returns the total number of columns in table - @param [out] columnCount - Number of columns in table (including columns outside the current viewport) - @retval S_OK - */ - [propget] HRESULT nColumns - ( - [out, retval] long *columnCount - ); - - /** @brief Returns the total number of rows in table - @param [out] rowCount - Number of rows in table (including rows outside the current viewport) - @retval S_OK - */ - [propget] HRESULT nRows - ( - [out, retval] long *rowCount - ); - - /** @brief Returns the total number of selected cells - @param [out] cellCount - Number of cells currently selected - @retval S_OK - */ - [propget] HRESULT nSelectedCells - ( - [out, retval] long *cellCount - ); - - /** @brief Returns the total number of selected columns - @param [out] columnCount - Number of columns currently selected - @retval S_OK - */ - [propget] HRESULT nSelectedColumns - ( - [out, retval] long *columnCount - ); - - /** @brief Returns the total number of selected rows - @param [out] rowCount - Number of rows currently selected - @retval S_OK - */ - [propget] HRESULT nSelectedRows - ( - [out, retval] long *rowCount - ); - - /** @brief Returns the description text of the specified row in the table. - @param [in] row - The 0 based index of the row for which to retrieve the description. - @param [out] description - Returns the description text of the specified row in the table if such a - description exists. Otherwise a NULL pointer is returned. - @retval S_OK - @retval S_FALSE if there is nothing to return, [out] value is NULL - @retval E_INVALIDARG if bad [in] passed - */ - [propget] HRESULT rowDescription - ( - [in] long row, - [out, retval] BSTR *description - ); - - /** @brief Returns a list of accessibles currently selected. - @param [out] cells - Pointer to an array of references to selected accessibles. The array is - allocated by the server with CoTaskMemAlloc and freed by the client with - CoTaskMemFree. - @param [out] nSelectedCells - The number of accessibles returned; the size of the returned array. - @retval S_OK - @retval S_FALSE if there are none, [out] values are NULL and 0 respectively - */ - [propget] HRESULT selectedCells - ( - [out, size_is(,*nSelectedCells,)] IUnknown ***cells, - [out, retval] long *nSelectedCells - ); - - /** @brief Returns a list of column indexes currently selected (0 based). - @param [out] selectedColumns - A pointer to an array of column indexes of selected columns (each index is - 0 based). The array is allocated by the server with CoTaskMemAlloc and - freed by the client with CoTaskMemFree. - @param [out] nColumns - The number of column indexes returned; the size of the returned array. - @retval S_OK - @retval S_FALSE if there are none, [out] values are NULL and 0 respectively - */ - [propget] HRESULT selectedColumns - ( - [out, size_is(,*nColumns)] long **selectedColumns, - [out, retval] long *nColumns - ); - - /** @brief Returns a list of row indexes currently selected (0 based). - @param [out] selectedRows - An array of row indexes of selected rows (each index is 0 based). The array - is allocated by the server with CoTaskMemAlloc and freed by the client with - CoTaskMemFree. - @param [out] nRows - The number of row indexes returned; the size of the returned array. - @retval S_OK - @retval S_FALSE if there are none, [out] values are NULL and 0 respectively - */ - [propget] HRESULT selectedRows - ( - [out, size_is(,*nRows)] long **selectedRows, - [out, retval] long *nRows - ); - - /** @brief Returns the summary description of the table. The returned object could be - an IAccessible or an IAccessible2. - @param [out] accessible - Returns a reference to an implementation dependent accessible object - representing the table's summary or a NULL pointer if the table - does not support a summary. - @retval S_OK - @retval S_FALSE if there is nothing to return, [out] value is NULL - */ - [propget] HRESULT summary - ( - [out, retval] IUnknown **accessible - ); - - /** @brief Returns a boolean value indicating whether the specified column is - completely selected. - @param [in] column - 0 based index of the column for which to determine whether it is selected. - @param [out] isSelected - Returns TRUE if the specified column is selected completely and FALSE otherwise. - @retval S_OK - @retval E_INVALIDARG if bad [in] passed - */ - [propget] HRESULT isColumnSelected - ( - [in] long column, - [out, retval] boolean *isSelected - ); - - /** @brief Returns a boolean value indicating whether the specified row is completely - selected. - @param [in] row - 0 based index of the row for which to determine whether it is selected. - @param [out] isSelected - Returns TRUE if the specified row is selected completely and FALSE otherwise. - @retval S_OK - @retval E_INVALIDARG if bad [in] passed - */ - [propget] HRESULT isRowSelected - ( - [in] long row, - [out, retval] boolean *isSelected - ); - - /** @brief Selects a row and unselects all previously selected rows. - - The behavior should mimic that of the application, but for those applications - which do not have a means in the GUI to select a full row of cells the behavior - should be as follows: First any selected rows in the table are unselected. Then - the entire row of cells for the specified row is selected. If any of the - cells in the selected row span additional rows, the cells in those rows - are also selected. - @param [in] row - 0 based index of the row to be selected. - @retval S_OK - @retval E_INVALIDARG if bad [in] passed - */ - HRESULT selectRow - ( - [in] long row - ); - - /** @brief Selects a column and unselects all previously selected columns. - - The behavior should mimic that of the application, but for those applications - which do not have a means in the GUI to select a full column of cells the behavior - should be as follows: First any selected columns in the table are unselected. Then - the entire column of cells for the specified column is selected. If any of the - cells in the selected column span additional columns, the cells in those columns - are also selected. - @param [in] column - 0 based index of the column to be selected. - @retval S_OK - @retval E_INVALIDARG if bad [in] passed - */ - HRESULT selectColumn - ( - [in] long column - ); - - /** @brief Unselects one row, leaving other selected rows selected (if any). - - The behavior should mimic that of the application, but for those applications - which do not have a means in the GUI to unselect a full row of cells the - behavior should be as follows: The entire row of cells for the specified - row is unselected. If any of the cells in the selected row span additional - rows, the cells in those rows are also unselected. - @param [in] row - 0 based index of the row to be unselected. - @retval S_OK - @retval E_INVALIDARG if bad [in] passed - */ - HRESULT unselectRow - ( - [in] long row - ); - - /** @brief Unselects one column, leaving other selected columns selected (if any). - - The behavior should mimic that of the application, but for those applications - which do not have a means in the GUI to unselect a full column of cells the - behavior should be as follows: The entire column of cells for the specified - column is unselected. If any of the cells in the selected column span additional - columns, the cells in those columns are also unselected. - @param [in] column - 0 based index of the column to be unselected. - @retval S_OK - @retval E_INVALIDARG if bad [in] passed - */ - HRESULT unselectColumn - ( - [in] long column - ); - - /** @brief Returns the type and extents describing how a table changed. - - Provided for use by the IA2_EVENT_TABLE_MODEL_CHANGED event handler. - - This data is only guaranteed to be valid while the thread notifying the event - continues. Once the handler has returned, the validity of the data depends on - how the server manages the life cycle of its objects. Also, note that the server - may have different life cycle management strategies for controls depending on - whether or not a control manages its children. Lists, trees, and tables can have - a large number of children and thus it's possible that the child objects for those - controls would only be created as needed. Servers should document their life cycle - strategy as this will be of interest to assistive technology or script engines - accessing data out of process or from other threads. Servers only need to save the - most recent row and column values associated with the change and a scope of the - entire application is adequate. - - @param [out] modelChange - A struct of (type(insert, delete, update), firstRow, lastRow, firstColumn, lastColumn). - @retval S_OK - @retval S_FALSE if there is nothing to return, [out] value is NULL - */ - [propget] HRESULT modelChange - ( - [out, retval] IA2TableModelChange *modelChange - ); - -} diff --git a/src/3rdparty/iaccessible2/idl/AccessibleTableCell.idl b/src/3rdparty/iaccessible2/idl/AccessibleTableCell.idl deleted file mode 100644 index a4cd988384..0000000000 --- a/src/3rdparty/iaccessible2/idl/AccessibleTableCell.idl +++ /dev/null @@ -1,194 +0,0 @@ -/************************************************************************* - * - * File Name (AccessibleTableCell.idl) - * - * IAccessible2 IDL Specification - * - * Copyright (c) 2007, 2010 Linux Foundation - * Copyright (c) 2006 IBM Corporation - * Copyright (c) 2000, 2006 Sun Microsystems, Inc. - * All rights reserved. - * - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * 3. Neither the name of the Linux Foundation nor the names of its - * contributors may be used to endorse or promote products - * derived from this software without specific prior written - * permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * This BSD License conforms to the Open Source Initiative "Simplified - * BSD License" as published at: - * http://www.opensource.org/licenses/bsd-license.php - * - * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 - * mark may be used in accordance with the Linux Foundation Trademark - * Policy to indicate compliance with the IAccessible2 specification. - * - ************************************************************************/ - -import "objidl.idl"; -import "oaidl.idl"; -import "oleacc.idl"; -import "Accessible2.idl"; - -/** @brief This interface gives access to the cells of a two-dimensional table. - - Please also refer to the IAccessibleTable2 interface. - -*/ -[object, uuid(594116B1-C99F-4847-AD06-0A7A86ECE645)] -interface IAccessibleTableCell : IUnknown -{ - - /** @brief Returns the number of columns occupied by this cell accessible. - - The result is greater than 1 if the specified cell spans multiple columns. - @param [out] nColumnsSpanned - Returns the 1 based column extent of the specified cell. - @retval S_OK - */ - [propget] HRESULT columnExtent - ( - [out, retval] long *nColumnsSpanned - ); - - /** @brief Returns the column headers as an array of cell accessibles. - - @param [out] cellAccessibles - Pointer to an array of references to cell accessibles. The array is allocated - by the server. Free it with CoTaskMemFree. - @param [out] nColumnHeaderCells - The number of accessibles returned; the size of the returned array. - @retval S_OK - @retval S_FALSE if there is no header, [out] values are NULL and 0 respectively - */ - [propget] HRESULT columnHeaderCells - ( - [out, size_is(,*nColumnHeaderCells,)] IUnknown ***cellAccessibles, - [out, retval] long *nColumnHeaderCells - ); - - /** @brief Translates this cell accessible into the corresponding column index. - - @param [out] columnIndex - Returns the 0 based column index of the cell of the specified cell or the index of - the first column if the cell spans multiple columns. - @retval S_OK - */ - [propget] HRESULT columnIndex - ( - [out, retval] long *columnIndex - ); - - /** @brief Returns the number of rows occupied by this cell accessible. - - @param [out] nRowsSpanned - Returns the row extent of the specified cell. - @retval S_OK - */ - [propget] HRESULT rowExtent - ( - [out, retval] long *nRowsSpanned - ); - - /** @brief Returns the row headers as an array of cell accessibles. - - @param [out] cellAccessibles - Pointer to an array of references to cell accessibles. The array is allocated - by the server. Free it with CoTaskMemFree. - @param [out] nRowHeaderCells - The number of accessibles returned; the size of the returned array. - @retval S_OK - @retval S_FALSE if there is no header, [out] values are NULL and 0 respectively - */ - [propget] HRESULT rowHeaderCells - ( - [out, size_is(,*nRowHeaderCells,)] IUnknown ***cellAccessibles, - [out, retval] long *nRowHeaderCells - ); - - /** @brief Translates this cell accessible into the corresponding row index. - - @param [out] rowIndex - Returns the 0 based row index of the specified cell or the index of - the first row if the cell spans multiple rows. - @retval S_OK - */ - [propget] HRESULT rowIndex - ( - [out, retval] long *rowIndex - ); - - /** @brief Returns a boolean value indicating whether this cell is selected. - - @param [out] isSelected - Returns TRUE if the specified cell is selected and FALSE otherwise. - @retval S_OK - */ - [propget] HRESULT isSelected - ( - [out, retval] boolean *isSelected - ); - - /** @brief Gets the row and column indexes and extents of this cell accessible - and whether or not it is selected. - - This is a convenience function. It is not mandatory to implement it. - @param [out] row - 0 based row index. - @param [out] column - 0 based column index. - @param [out] rowExtents - Number of cells spanned by this cell in this row. - @param [out] columnExtents - Number of cells spanned by this cell in this column. - @param [out] isSelected - Indicates if the specified cell is selected. - @retval S_OK - */ - [propget] HRESULT rowColumnExtents - ( - [out] long *row, - [out] long *column, - [out] long *rowExtents, - [out] long *columnExtents, - [out, retval] boolean *isSelected - ); - - /** @brief Returns a reference to the accessbile of the containing table. - - @param [out] table - Returns a reference to the IUnknown of the containing table. - @retval S_OK - */ - [propget] HRESULT table - ( - [out, retval] IUnknown **table - ); - -} diff --git a/src/3rdparty/iaccessible2/idl/AccessibleText.idl b/src/3rdparty/iaccessible2/idl/AccessibleText.idl deleted file mode 100644 index 86fd93ad90..0000000000 --- a/src/3rdparty/iaccessible2/idl/AccessibleText.idl +++ /dev/null @@ -1,674 +0,0 @@ -/************************************************************************* - * - * File Name (AccessibleText.idl) - * - * IAccessible2 IDL Specification - * - * Copyright (c) 2007, 2010 Linux Foundation - * Copyright (c) 2006 IBM Corporation - * Copyright (c) 2000, 2006 Sun Microsystems, Inc. - * All rights reserved. - * - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * 3. Neither the name of the Linux Foundation nor the names of its - * contributors may be used to endorse or promote products - * derived from this software without specific prior written - * permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * This BSD License conforms to the Open Source Initiative "Simplified - * BSD License" as published at: - * http://www.opensource.org/licenses/bsd-license.php - * - * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 - * mark may be used in accordance with the Linux Foundation Trademark - * Policy to indicate compliance with the IAccessible2 specification. - * - ************************************************************************/ - -import "objidl.idl"; -import "oaidl.idl"; -import "oleacc.idl"; -import "IA2CommonTypes.idl"; - -/** A structure containing a substring and the start and end offsets in the enclosing string. - - IAccessibleText::newText and IAccessibleText::oldText return this struct. -*/ -typedef struct IA2TextSegment { - BSTR text; ///< A copy of a segment of text taken from an enclosing paragraph. - long start; ///< Index of the first character of the segment in the enclosing text. - long end; ///< Index of the character following the last character of the segment in the enclosing text. -} IA2TextSegment; - -/** This enum defines values which specify a text boundary type. - - IA2_TEXT_BOUNDARY_SENTENCE is optional. When a method doesn't implement this - method it must return S_FALSE. Typically this feature would not be implemented - by an application. However, if the application developer was not satisfied with - how screen readers have handled the reading of sentences this boundary type - could be implemented and screen readers could use the application's version of a - sentence rather than the screen reader's. - - The rest of the boundary types must be supported. - - This enum is used in IAccessibleText::textBeforeOffset, IAccessibleText::textAtOffset, - and IAccessibleText::textAfterOffset. -*/ - -enum IA2TextBoundaryType { - IA2_TEXT_BOUNDARY_CHAR, /**< Typically, a single character is returned. In some cases more than - one character is returned, for example, when a document contains field - data such as a field containing a date, time, or footnote reference. - In this case the caret can move over several characters in one movement - of the caret. Note that after the caret moves, the caret offset changes - by the number of characters in the field, e.g. by 8 characters in the - following date: 03/26/07. */ - IA2_TEXT_BOUNDARY_WORD, /**< The range provided matches the range observed when the application - processes the Ctrl + left arrow and Ctrl + right arrow key sequences. - Typically this is from the start of one word to the start of the next, but - various applications are inconsistent in the handling of the end of a line. */ - IA2_TEXT_BOUNDARY_SENTENCE, ///< Range is from start of one sentence to the start of another sentence. - IA2_TEXT_BOUNDARY_PARAGRAPH, ///< Range is from start of one paragraph to the start of another paragraph. - IA2_TEXT_BOUNDARY_LINE, /**< Range is from start of one line to the start of another line. This - often means that an end-of-line character will appear at the end of the - range. However in the case of some applications an end-of-line character - indicates the end of a paragraph and the lines composing the paragraph, - other than the last line, do not contain an end of line character. */ - IA2_TEXT_BOUNDARY_ALL ///< Using this value will cause all text to be returned. -}; - -/** @brief This interface gives read-only access to text. - - The %IAccessibleText interface should be implemented by all components - that present textual information on the display like buttons, - text entry fields, or text portions of the document window. The interface - provides access to the text's content, attributes, and spatial location. - However, text can not be modified with this interface. That is the task - of the IAccessibleEditableText interface. - - The text length, i.e. the number of characters in the text, is - returned by IAccessibleText::nCharacters. All methods that operate - on particular characters (e.g. IAccessibleText::textAtOffset) use character - indices from 0 to length-1. All methods that operate on character positions - (e.g. IAccessibleText::text) use indices from 0 to length. - - Please note that accessible text does not necessarily support selection. - In this case it should behave as if there where no selection. An empty - selection is used for example to express the current cursor position. - - Refer to @ref _specialOffsets - "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" - for information about special offsets that can be used in %IAccessibleText methods. - - E_FAIL is returned in the following cases - @li endOffset < startOffset - @li endoffset > length -*/ -[object, uuid(24FD2FFB-3AAD-4a08-8335-A3AD89C0FB4B)] -interface IAccessibleText : IUnknown -{ - - /** @brief Adds a text selection - @param [in] startOffset - Starting offset ( 0 based). - @param [in] endOffset - Offset of first character after new selection (0 based). - @retval S_OK - @retval E_INVALIDARG if bad [in] passed - @note Refer to @ref _specialOffsets - "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" - for information about special offsets that can be used in %IAccessibleText methods. - */ - HRESULT addSelection - ( - [in] long startOffset, - [in] long endOffset - ); - - /** @brief Returns text attributes. - @param [in] offset - Text offset (0 based). Refer to @ref _specialOffsets - "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" - for information about special offsets that can be used in %IAccessibleText methods. - @param [out] startOffset - The starting offset of the character range over which all text attributes match - those of offset. (0 based) - @param [out] endOffset - The offset of the first character past the character range over which all text - attributes match those of offset. (0 based) - @param [out] textAttributes - A string of attributes describing the text. The attributes are described in the - <a href="http://www.linuxfoundation.org/en/Accessibility/IAccessible2/TextAttributes"> - text attributes specification</a> on the %IAccessible2 web site. - @retval S_OK - @retval S_FALSE if there is nothing to return, [out] values are 0s and NULL respectively - @retval E_INVALIDARG if bad [in] passed - */ - [propget] HRESULT attributes - ( - [in] long offset, - [out] long *startOffset, - [out] long *endOffset, - [out, retval] BSTR *textAttributes - ); - - /** @brief Returns the position of the caret. - - Returns the 0-based offset of the caret within the text. If the text is - implemented as a tree of text objects with embed characters in higher levels - representing substrings of child text objects and the caret is in one of the - child text objects, then the offset in the higher level text object would be - at the embed character representing child text object that contains the caret. - - For example, if the string "one two three" is implemented as a two text objects, - with a top level text object containing an embed character "one ? three" and a - child text object containing "two" and if the caret is in the descendant object - just before the 'o' in "two", then: - <ul> - <li>the caretOffset for the "one ? three" object would be 4, matching the embed character</li> - <li>the caretOffset for "two" would be 2, matching the "o"</li> - </ul> - The caret position/offset is that of the character logically following it, e.g. - to the right of it in a left to right language, or to the left of it in a right - to left language. - @param [out] offset - The returned offset is relative to the text represented by this object. - @retval S_OK - @retval S_FALSE if the caret is not currently active on this object, i.e. the - caret is located on some other object. The returned offset value will be -1. - @note S_FALSE (and an offset of -1) will not be returned if the caret is somewhere - in the text object or one of its descendants. - */ - [propget] HRESULT caretOffset - ( - [out, retval] long *offset - ); - - - /** @brief Returns the bounding box of the specified position. - - The virtual character after the last character of the represented - text, i.e. the one at position length is a special case. It represents the - current input position and will therefore typically be queried by AT more - often than other positions. Because it does not represent an existing character - its bounding box is defined in relation to preceding characters. It should be - roughly equivalent to the bounding box of some character when inserted at the - end of the text. Its height typically being the maximal height of all the - characters in the text or the height of the preceding character, its width being - at least one pixel so that the bounding box is not degenerate. - - Note that the index 'length' is not always valid. Whether it is or not is - implementation dependent. It typically is when text is editable or otherwise - when on the screen the caret can be placed behind the text. You can be sure - that the index is valid after you have received a ::IA2_EVENT_TEXT_CARET_MOVED - event for this index. - @param [in] offset - Index of the character for which to return its bounding box. The valid range - is 0..length. Refer to @ref _specialOffsets - "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" - for information about special offsets that can be used in %IAccessibleText methods. - @param [in] coordType - Specifies if the coordinates are relative to the screen or to the parent window. - @param [out] x - X coordinate of the top left corner of the bounding box of the referenced character. - @param [out] y - Y coordinate of the top left corner of the bounding box of the referenced character. - @param [out] width - Width of the bounding box of the referenced character. - @param [out] height - Height of the bounding box of the referenced character. - @retval S_OK - @retval E_INVALIDARG if bad [in] passed - */ - [propget] HRESULT characterExtents - ( - [in] long offset, - [in] enum IA2CoordinateType coordType, - [out] long *x, - [out] long *y, - [out] long *width, - [out, retval] long *height - ); - - - /** @brief Returns the number of active non-contiguous selections - @param [out] nSelections - @retval S_OK - */ - [propget] HRESULT nSelections - ( - [out, retval] long *nSelections - ); - - /** @brief Returns the text position for the specified screen position. - - Given a point return the zero-based index of the character under that - point. The same functionality could be achieved by using the bounding - boxes for each character as returned by IAccessibleText::characterExtents. - The method IAccessibleText::offsetAtPoint, however, can be implemented - more efficiently. - - @param [in] x - The position's x value for which to look up the index of the character that - is rendered on to the display at that point. - @param [in] y - The position's y value for which to look up the index of the character that - is rendered on to the display at that point. - @param [in] coordType - Screen coordinates or window coordinates. - @param [out] offset - Index of the character under the given point or -1 if the point - is invalid or there is no character under the point. - @retval S_OK - @retval S_FALSE if nothing to return, [out] value is -1 - - @retval E_INVALIDARG if bad [in] passed - */ - [propget] HRESULT offsetAtPoint - ( - [in] long x, - [in] long y, - [in] enum IA2CoordinateType coordType, - [out, retval] long *offset - ); - - /** @brief Returns the character offsets of Nth active text selection - - Returns the 0-based starting and ending offsets of the Nth selection. If the - text is implemented as a tree of text objects with embed characters in higher - levels representing substrings of child text objects, consider the following. - If the starting selection offset is in one of the child text objects, then the - starting offset in the higher level text object would be at the embed character - representing the child text object that contains the starting selection offset. - If the ending selection offset is in one of the child text objects, then the - ending offset in the higher level text object would be just after the embed - character representing the child text object that contains the ending selection - offset. - - For example, if the string "one two three" is implemented as a two text objects, - with a top level text object containing an embed character "one ? three" and a - child text object containing "two" and if the selection is the string "two" then: - <ul> - <li>the startOffset for the "one ? three" object would be 4, matching the embed character and the endOffset would be 5.</li> - <li>the startOffset for the "two" object would be 0, and the endOffset would be 3</li> - </ul> - Selection offsets are that of the character logically following it, e.g. - to the right of it in a left to right language or to the left of it in a right to left language. - @param [in] selectionIndex - Index of selection (0 based). - @param [out] startOffset - 0 based offset of first selected character - @param [out] endOffset - 0 based offset of one past the last selected character. - @retval S_OK - @retval E_INVALIDARG if bad [in] passed - */ - [propget] HRESULT selection - ( - [in] long selectionIndex, - [out] long *startOffset, - [out, retval] long *endOffset - ); - - /** @brief Returns the substring between the two given indices. - - The substring starts with the character at startOffset (inclusive) and up to - the character at endOffset (exclusive), if startOffset is less or equal - endOffset. If endOffset is lower than startOffset, the result is the same - as a call with the two arguments being exchanged. - - The whole text can be requested by passing the indices zero and - IAccessibleText::nCharacters. If both indices have the same value, an empty - string is returned. - @param [in] startOffset - Index of the first character to include in the returned string. The valid range - is 0..length. - @param [in] endOffset - Index of the last character to exclude in the returned string. The valid range - is 0..length. - @param [out] text - Returns the substring starting with the character at startOffset (inclusive) - and up to the character at endOffset (exclusive), if startOffset is less than - or equal to endOffset. - @retval S_OK - @retval E_INVALIDARG if bad [in] passed - @note - @li The returned string may be longer than endOffset-startOffset bytes if text - contains multi-byte characters. - @li Refer to @ref _specialOffsets - "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" - for information about special offsets that can be used in %IAccessibleText methods. - */ - [propget] HRESULT text - ( - [in] long startOffset, - [in] long endOffset, - [out, retval] BSTR *text - ); - - /** @brief Returns a text portion before the given position. - - Returns the substring of the specified text type that is located before the - given character and does not include it. The result of this method should be - same as a result for IAccessibleText::textAtOffset with a suitably decreased - index value. - - For example, if text type is ::IA2_TEXT_BOUNDARY_WORD, then the complete - word that is closest to and located before offset is returned. - - If the index is valid, but no suitable word (or other boundary type) is found, a - NULL pointer is returned. - - @param [in] offset - Index of the character for which to return the text part before it. The index - character will not be part of the returned string. The valid range is 0..length. - Refer to @ref _specialOffsets - "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" - for information about special offsets that can be used in %IAccessibleText methods. - @param [in] boundaryType - The type of the text portion to return. See ::IA2TextBoundaryType for the - complete list. - @param [out] startOffset - 0 based offset of first character. - @param [out] endOffset - 0 based offset of one past the last character. - @param [out] text - Returns the requested text portion. This portion may be empty or invalid when - no appropriate text portion is found or text type is invalid. - @retval S_OK - @retval S_FALSE if the requested boundary type is not implemented, such as - ::IA2_TEXT_BOUNDARY_SENTENCE, or if there is nothing to return; - [out] values are 0s and NULL respectively - @retval E_INVALIDARG if bad [in] passed - */ - [propget] HRESULT textBeforeOffset - ( - [in] long offset, - [in] enum IA2TextBoundaryType boundaryType, - [out] long *startOffset, - [out] long *endOffset, - [out, retval] BSTR *text - ); - - /** @brief Returns a text portion after the given position. - - Returns the substring of the specified text type that is located after the - given character and does not include it. The result of this method should be - same as a result for IAccessibleText::textAtOffset with a suitably increased - index value. - - For example, if text type is ::IA2_TEXT_BOUNDARY_WORD, then the complete - word that is closest to and located after offset is returned. - - If the index is valid, but no suitable word (or other text type) is found, a - NULL pointer is returned. - - @param [in] offset - Index of the character for which to return the text part after it. The index - character will not be part of the returned string. The valid range is 0..length. - Refer to @ref _specialOffsets - "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" - for information about special offsets that can be used in %IAccessibleText methods. - @param [in] boundaryType - The type of the text portion to return. See ::IA2TextBoundaryType for the complete - list. - @param [out] startOffset - 0 based offset of first character. - @param [out] endOffset - 0 based offset of one past the last character. - @param [out] text - Returns the requested text portion. This portion may be empty or invalid when - no appropriate text portion is found or text type is invalid. - @retval S_OK - @retval S_FALSE if the requested boundary type is not implemented, such as - ::IA2_TEXT_BOUNDARY_SENTENCE, or if there is nothing to return; - [out] values are 0s and NULL respectively - @retval E_INVALIDARG if bad [in] passed - */ - [propget] HRESULT textAfterOffset - ( - [in] long offset, - [in] enum IA2TextBoundaryType boundaryType, - [out] long *startOffset, - [out] long *endOffset, - [out, retval] BSTR *text - ); - - /** @brief Returns a text portion that spans the given position. - - Returns the substring of the specified text type at the specified offset. - - If the index is valid, but no suitable word (or other text type) is found, a - NULL pointer is returned. - - @param [in] offset - Index of the character for which to return the text part before it. The index - character will not be part of the returned string. The valid range is 0..length. - Refer to @ref _specialOffsets - "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" - for information about special offsets that can be used in %IAccessibleText methods. - @param [in] boundaryType - The type of the text portion to return. See ::IA2TextBoundaryType for the complete - list. - @param [out] startOffset - 0 based offset of first character. - @param [out] endOffset - 0 based offset of one past the last character. - @param [out] text - Returns the requested text portion. This portion may be empty or invalid when - no appropriate text portion is found or text type is invalid. - @retval S_OK - @retval S_FALSE if the requested boundary type is not implemented, such as - ::IA2_TEXT_BOUNDARY_SENTENCE, or if there is nothing to return; - [out] values are 0s and NULL respectively - @retval E_INVALIDARG if bad [in] passed - */ - [propget] HRESULT textAtOffset - ( - [in] long offset, - [in] enum IA2TextBoundaryType boundaryType, - [out] long *startOffset, - [out] long *endOffset, - [out, retval] BSTR *text - ); - - /** @brief Unselects a range of text. - @param [in] selectionIndex - Index of selection to remove (0 based). - @retval S_OK - @retval E_INVALIDARG if bad [in] passed - */ - HRESULT removeSelection - ( - [in] long selectionIndex - ); - - /** @brief Sets the position of the caret. - - The caret position/offset is that of the character logically following it, - e.g. to the right of it in a left to right language. - - Setting the caret position may or may not alter the current selection. A - change of the selection is notified to the accessibility event listeners with - an ::IA2_EVENT_TEXT_SELECTION_CHANGED event. - - When the new caret position differs from the old one (which, of course, is the - standard case) this is notified to the accessibility event listeners with an - ::IA2_EVENT_TEXT_CARET_MOVED event. - @param [in] offset - The new index of the caret. This caret is actually placed to the left side of - the character with that index. An index of 0 places the caret so that the next - insertion goes before the first character. An index of IAccessibleText::nCharacters - leads to insertion after the last character. Refer to @ref _specialOffsets - "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" - for information about special offsets that can be used in %IAccessibleText methods. - @retval S_OK - @retval E_FAIL if the caret cannot be set - @retval E_INVALIDARG if bad [in] passed - */ - HRESULT setCaretOffset - ( - [in] long offset - ); - - /** @brief Changes the bounds of an existing selection. - @param [in] selectionIndex - Index of selection to change (0 based) - @param [in] startOffset - New starting offset (0 based) - @param [in] endOffset - New ending offset (0 based) - the offset of the character just past the last character of the selection. - @retval S_OK - @retval E_INVALIDARG if bad [in] passed - @note Refer to @ref _specialOffsets - "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" - for information about special offsets that can be used in %IAccessibleText methods. - */ - HRESULT setSelection - ( - [in] long selectionIndex, - [in] long startOffset, - [in] long endOffset - ); - - /** @brief Returns total number of characters. - - Note that this may be different than the total number of bytes required to store the - text, if the text contains multi-byte characters. - @param [out] nCharacters - @retval S_OK - */ - [propget] HRESULT nCharacters - ( - [out, retval] long *nCharacters - ); - - /** @brief Makes a specific part of string visible on screen. - @param [in] startIndex - 0 based character offset. - @param [in] endIndex - 0 based character offset - the offset of the character just past the last character of the string. - @param [in] scrollType - Defines where the object should be placed on the screen. - @retval S_OK - @retval E_INVALIDARG if bad [in] passed - @note Refer to @ref _specialOffsets - "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" - for information about special offsets that can be used in %IAccessibleText methods. - */ - HRESULT scrollSubstringTo - ( - [in] long startIndex, - [in] long endIndex, - [in] enum IA2ScrollType scrollType - ); - - /** @brief Moves the top left of a substring to a specified location. - - @param [in] startIndex - 0 based character offset. - @param [in] endIndex - 0 based character offset - the offset of the character just past the last character of the string. - @param [in] coordinateType - Specifies whether the coordinates are relative to the screen or the parent object. - @param [in] x - Defines the x coordinate. - @param [in] y - Defines the y coordinate. - @retval S_OK - @retval S_FALSE if the object is already at the specified location. - @retval E_INVALIDARG if bad [in] passed - @note Refer to @ref _specialOffsets - "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" - for information about special offsets that can be used in %IAccessibleText methods. - */ - HRESULT scrollSubstringToPoint - ( - [in] long startIndex, - [in] long endIndex, - [in] enum IA2CoordinateType coordinateType, - [in] long x, - [in] long y - ); - - /** @brief Returns any inserted text. - - Provided for use by the ::IA2_EVENT_TEXT_INSERTED and ::IA2_EVENT_TEXT_UPDATED - event handlers. - - This data is only guaranteed to be valid while the thread notifying the event - continues. Once the handler has returned, the validity of the data depends on - how the server manages the life cycle of its objects. Also, note that the server - may have different life cycle management strategies for controls depending on - whether or not a control manages its children. Lists, trees, and tables can have - a large number of children and thus it's possible that the child objects for those - controls would only be created as needed. Servers should document their life cycle - strategy as this will be of interest to assistive technology or script engines - accessing data out of process or from other threads. Servers only need to save the - last inserted block of text and a scope of the entire application is adequate. - - @param [out] newText - The text that was just inserted. - @retval S_OK - @retval S_FALSE If there is nothing to return, the values of IA2TextSegment - struct are set as follows: text = NULL, start = 0, end = 0. - - */ - [propget] HRESULT newText - ( - [out, retval] IA2TextSegment *newText - ); - - /** @brief Returns any removed text. - - Provided for use by the IA2_EVENT_TEXT_REMOVED/UPDATED event handlers. - - This data is only guaranteed to be valid while the thread notifying the event - continues. Once the handler has returned, the validity of the data depends on - how the server manages the life cycle of its objects. Also, note that the server - may have different life cycle management strategies for controls depending on - whether or not a control manages its children. Lists, trees, and tables can have - a large number of children and thus it's possible that the child objects for those - controls would only be created as needed. Servers should document their life cycle - strategy as this will be of interest to assistive technology or script engines - accessing data out of process or from other threads. Servers only need to save the - last removed block of text and a scope of the entire application is adequate. - - @param [out] oldText - The text that was just removed. - @retval S_OK - @retval S_FALSE If there is nothing to return, the values of IA2TextSegment - struct are set as follows: text = NULL, start = 0, end = 0. - */ - [propget] HRESULT oldText - ( - [out, retval] IA2TextSegment *oldText - ); - -} diff --git a/src/3rdparty/iaccessible2/idl/AccessibleValue.idl b/src/3rdparty/iaccessible2/idl/AccessibleValue.idl deleted file mode 100644 index cd013d76f8..0000000000 --- a/src/3rdparty/iaccessible2/idl/AccessibleValue.idl +++ /dev/null @@ -1,136 +0,0 @@ -/************************************************************************* - * - * File Name (AccessibleValue.idl) - * - * IAccessible2 IDL Specification - * - * Copyright (c) 2007, 2010 Linux Foundation - * Copyright (c) 2006 IBM Corporation - * Copyright (c) 2000, 2006 Sun Microsystems, Inc. - * All rights reserved. - * - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * 3. Neither the name of the Linux Foundation nor the names of its - * contributors may be used to endorse or promote products - * derived from this software without specific prior written - * permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * This BSD License conforms to the Open Source Initiative "Simplified - * BSD License" as published at: - * http://www.opensource.org/licenses/bsd-license.php - * - * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 - * mark may be used in accordance with the Linux Foundation Trademark - * Policy to indicate compliance with the IAccessible2 specification. - * - ************************************************************************/ - -import "objidl.idl"; -import "oaidl.idl"; -import "oleacc.idl"; - -/** @brief This interface gives access to a single numerical value. - - The %IAccessibleValue interface represents a single numerical value and should - be implemented by any class that supports numerical value like progress bars - and spin boxes. This interface lets you access the value and its upper and - lower bounds. -*/ -[object, uuid(35855B5B-C566-4fd0-A7B1-E65465600394)] -interface IAccessibleValue : IUnknown -{ - - /** @brief Returns the value of this object as a number. - - The exact return type is implementation dependent. Typical types are long and - double. - @param [out] currentValue - Returns the current value represented by this object. See the section about - @ref _variants "VARIANTs" for additional information. - @retval S_OK - @retval S_FALSE if there is nothing to return, [out] value is a VARIANT with vt = VT_EMPTY - */ - [propget] HRESULT currentValue - ( - [out, retval] VARIANT *currentValue - ); - - /** @brief Sets the value of this object to the given number. - - The argument is clipped to the valid interval whose upper and lower - bounds are returned by the methods IAccessibleValue::maximumValue and - IAccessibleValue::minimumValue, i.e. if it is lower than the minimum - value the new value will be the minimum and if it is greater than the - maximum then the new value will be the maximum. - - @param [in] value - The new value represented by this object. The set of admissible types for - this argument is implementation dependent. - @retval S_OK - */ - HRESULT setCurrentValue - ( - [in] VARIANT value - ); - - /** @brief Returns the maximal value that can be represented by this object. - - The type of the returned value is implementation dependent. It does not have - to be the same type as that returned by method IAccessibleValue::currentValue. - - @param [out] maximumValue - Returns the maximal value in an implementation dependent type. If this object - has no upper bound then an empty object is returned. See the section about - @ref _variants "VARIANTs" for additional information. - @retval S_OK - @retval S_FALSE if there is nothing to return, [out] value is a VARIANT with vt = VT_EMPTY - */ - [propget] HRESULT maximumValue - ( - [out, retval] VARIANT *maximumValue - ); - - /** @brief Returns the minimal value that can be represented by this object. - - The type of the returned value is implementation dependent. It does not have - to be the same type as that returned by method IAccessibleValue::currentValue. - - @param [out] minimumValue - Returns the minimal value in an implementation dependent type. If this object - has no lower bound then an empty object is returned. See the section about - @ref _variants "VARIANTs" for additional information. - @retval S_OK - @retval S_FALSE if there is nothing to return, [out] value is a VARIANT with vt = VT_EMPTY - */ - [propget] HRESULT minimumValue - ( - [out, retval] VARIANT *minimumValue - ); - -}; diff --git a/src/3rdparty/iaccessible2/idl/IA2CommonTypes.idl b/src/3rdparty/iaccessible2/idl/IA2CommonTypes.idl deleted file mode 100644 index d3da110873..0000000000 --- a/src/3rdparty/iaccessible2/idl/IA2CommonTypes.idl +++ /dev/null @@ -1,191 +0,0 @@ -/************************************************************************* - * - * File Name (IA2CommonTypes.idl) - * - * IAccessible2 IDL Specification - * - * Copyright (c) 2007, 2010 Linux Foundation - * Copyright (c) 2006 IBM Corporation - * Copyright (c) 2000, 2006 Sun Microsystems, Inc. - * All rights reserved. - * - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * 3. Neither the name of the Linux Foundation nor the names of its - * contributors may be used to endorse or promote products - * derived from this software without specific prior written - * permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * This BSD License conforms to the Open Source Initiative "Simplified - * BSD License" as published at: - * http://www.opensource.org/licenses/bsd-license.php - * - * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 - * mark may be used in accordance with the Linux Foundation Trademark - * Policy to indicate compliance with the IAccessible2 specification. - * - ************************************************************************/ - - /** These constants control the scrolling of an object or substring into a window. - - This enum is used in IAccessible2::scrollTo and IAccessibleText::scrollSubstringTo. -*/ -enum IA2ScrollType { - - /** Scroll the top left corner of the object or substring such that the top left - corner (and as much as possible of the rest of the object or substring) is within - the top level window. In cases where the entire object or substring fits within - the top level window, the placement of the object or substring is dependent on - the application. For example, the object or substring may be scrolled to the - closest edge, the furthest edge, or midway between those two edges. In cases - where there is a hierarchy of nested scrollable controls, more than one control - may have to be scrolled. - */ - IA2_SCROLL_TYPE_TOP_LEFT, - - /** Scroll the bottom right corner of the object or substring such that the bottom right - corner (and as much as possible of the rest of the object or substring) is within - the top level window. In cases where the entire object or substring fits within - the top level window, the placement of the object or substring is dependent on - the application. For example, the object or substring may be scrolled to the - closest edge, the furthest edge, or midway between those two edges. In cases - where there is a hierarchy of nested scrollable controls, more than one control - may have to be scrolled. - */ - IA2_SCROLL_TYPE_BOTTOM_RIGHT, - - /** Scroll the top edge of the object or substring such that the top edge - (and as much as possible of the rest of the object or substring) is within the - top level window. In cases where the entire object or substring fits within - the top level window, the placement of the object or substring is dependent on - the application. For example, the object or substring may be scrolled to the - closest edge, the furthest edge, or midway between those two edges. In cases - where there is a hierarchy of nested scrollable controls, more than one control - may have to be scrolled. - */ - IA2_SCROLL_TYPE_TOP_EDGE, - - /** Scroll the bottom edge of the object or substring such that the bottom edge - (and as much as possible of the rest of the object or substring) is within the - top level window. In cases where the entire object or substring fits within - the top level window, the placement of the object or substring is dependent on - the application. For example, the object or substring may be scrolled to the - closest edge, the furthest edge, or midway between those two edges. In cases - where there is a hierarchy of nested scrollable controls, more than one control - may have to be scrolled. - */ - IA2_SCROLL_TYPE_BOTTOM_EDGE, - - /** Scroll the left edge of the object or substring such that the left edge - (and as much as possible of the rest of the object or substring) is within the - top level window. In cases where the entire object or substring fits within - the top level window, the placement of the object or substring is dependent on - the application. For example, the object or substring may be scrolled to the - closest edge, the furthest edge, or midway between those two edges. In cases - where there is a hierarchy of nested scrollable controls, more than one control - may have to be scrolled. - */ - IA2_SCROLL_TYPE_LEFT_EDGE, - - /** Scroll the right edge of the object or substring such that the right edge - (and as much as possible of the rest of the object or substring) is within the - top level window. In cases where the entire object or substring fits within - the top level window, the placement of the object or substring is dependent on - the application. For example, the object or substring may be scrolled to the - closest edge, the furthest edge, or midway between those two edges. In cases - where there is a hierarchy of nested scrollable controls, more than one control - may have to be scrolled. - */ - IA2_SCROLL_TYPE_RIGHT_EDGE, - - /** Scroll the object or substring such that as much as possible of the - object or substring is within the top level window. The placement of - the object is dependent on the application. For example, the object or - substring may be scrolled to to closest edge, the furthest edge, or midway - between those two edges. - */ - IA2_SCROLL_TYPE_ANYWHERE -}; - -/** These constants define which coordinate system a point is located in. - - This enum is used in IAccessible2::scrollToPoint, IAccessibleImage::imagePosition, - IAccessibleText::characterExtents, and IAccessibleText::offsetAtPoint, and - IAccessibleText::scrollSubstringToPoint. -*/ -enum IA2CoordinateType { - - /// The coordinates are relative to the screen. - IA2_COORDTYPE_SCREEN_RELATIVE, - - /** The coordinates are relative to the upper left corner of the bounding box - of the immediate parent. - */ - IA2_COORDTYPE_PARENT_RELATIVE - -}; - -/** Special offsets for use in IAccessibleText and IAccessibleEditableText methods - - Refer to @ref _specialOffsets - "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" - for more information. -*/ -enum IA2TextSpecialOffsets { - IA2_TEXT_OFFSET_LENGTH = -1, /**< This offset is equivalent to the length of the string. It eliminates - the need to call IAccessibleText::nCharacters. */ - IA2_TEXT_OFFSET_CARET = -2 /**< This offset signifies that the text related to the physical location - of the caret should be used. */ -}; - -/** These constants specify the kind of change made to a table. - - This enum is used in the IA2TableModelChange struct which in turn is used by - IAccessibleTable::modelChange and IAccessibleTable2::modelChange. -*/ -enum IA2TableModelChangeType { - IA2_TABLE_MODEL_CHANGE_INSERT, // = 0; - IA2_TABLE_MODEL_CHANGE_DELETE, - IA2_TABLE_MODEL_CHANGE_UPDATE -}; - -/** A structure defining the type of and extents of changes made to a table - - IAccessibleTable::modelChange and IAccessibleTable2::modelChange return this struct. - In the case of an insertion or change the row and column offsets define the boundaries - of the inserted or changed subtable after the operation. In the case of a deletion - the row and column offsets define the boundaries of the subtable being removed before - the removal. -*/ -typedef struct IA2TableModelChange { - enum IA2TableModelChangeType type; // insert, delete, update - long firstRow; ///< 0 based, inclusive - long lastRow; ///< 0 based, inclusive - long firstColumn; ///< 0 based, inclusive - long lastColumn; ///< 0 based, inclusive -} IA2TableModelChange; diff --git a/src/3rdparty/iaccessible2/idl/IA2TypeLibrary.idl b/src/3rdparty/iaccessible2/idl/IA2TypeLibrary.idl deleted file mode 100644 index 7753825751..0000000000 --- a/src/3rdparty/iaccessible2/idl/IA2TypeLibrary.idl +++ /dev/null @@ -1,94 +0,0 @@ -/************************************************************************* - * - * File Name (IA2TypeLibrary.idl) - * - * IAccessible2 IDL Specification - * - * Copyright (c) 2007, 2010 Linux Foundation - * Copyright (c) 2006 IBM Corporation - * Copyright (c) 2000, 2006 Sun Microsystems, Inc. - * All rights reserved. - * - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * 3. Neither the name of the Linux Foundation nor the names of its - * contributors may be used to endorse or promote products - * derived from this software without specific prior written - * permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * This BSD License conforms to the Open Source Initiative "Simplified - * BSD License" as published at: - * http://www.opensource.org/licenses/bsd-license.php - * - * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 - * mark may be used in accordance with the Linux Foundation Trademark - * Policy to indicate compliance with the IAccessible2 specification. - * - ************************************************************************/ - -// This is not a standalone file. It is to be appended to the end of the -// merged IDL file. - -cpp_quote("") -cpp_quote("// Type Library Definitions") -cpp_quote("") - -[ - uuid(c974e070-3787-490a-87b0-e333b06ca1e2), - helpstring("IAccessible2 Type Library"), - version(1.2), - hidden -] - -library IAccessible2Lib -{ - importlib ("stdole2.tlb"); - importlib ("oleacc.dll"); - interface IAccessible2; - interface IAccessibleAction; - interface IAccessibleApplication; - interface IAccessibleComponent; - interface IAccessibleEditableText; - interface IAccessibleHyperlink; - interface IAccessibleHypertext; - interface IAccessibleImage; - interface IAccessibleRelation; - interface IAccessibleTable; - interface IAccessibleTable2; - interface IAccessibleTableCell; - interface IAccessibleText; - interface IAccessibleValue; - enum IA2CoordinateType; - enum IA2EventID; - enum IA2Role; - enum IA2ScrollType; - enum IA2States; - enum IA2TableModelChangeType; - enum IA2TextBoundaryType; - enum IA2TextSpecialOffsets; -} diff --git a/src/3rdparty/iaccessible2/idl/Makefile b/src/3rdparty/iaccessible2/idl/Makefile index eb56d9fb60..e186b5ab54 100644 --- a/src/3rdparty/iaccessible2/idl/Makefile +++ b/src/3rdparty/iaccessible2/idl/Makefile @@ -11,48 +11,11 @@ MIDL_OPTS = /out ..\generated\x86 /env win32 x86: -del ..\generated\x86\dlldata.c -md ..\generated\x86 - $(MIDL) $(MIDL_OPTS) Accessible2.idl - $(MIDL) $(MIDL_OPTS) AccessibleAction.idl - $(MIDL) $(MIDL_OPTS) AccessibleApplication.idl - $(MIDL) $(MIDL_OPTS) AccessibleComponent.idl - $(MIDL) $(MIDL_OPTS) AccessibleEditableText.idl - $(MIDL) $(MIDL_OPTS) AccessibleEventID.idl - $(MIDL) $(MIDL_OPTS) AccessibleHyperlink.idl - $(MIDL) $(MIDL_OPTS) AccessibleHypertext.idl - $(MIDL) $(MIDL_OPTS) AccessibleImage.idl - $(MIDL) $(MIDL_OPTS) AccessibleRelation.idl - $(MIDL) $(MIDL_OPTS) AccessibleRole.idl - $(MIDL) $(MIDL_OPTS) AccessibleStates.idl - $(MIDL) $(MIDL_OPTS) AccessibleTable.idl - $(MIDL) $(MIDL_OPTS) AccessibleTable2.idl - $(MIDL) $(MIDL_OPTS) AccessibleTableCell.idl - $(MIDL) $(MIDL_OPTS) AccessibleText.idl - $(MIDL) $(MIDL_OPTS) AccessibleValue.idl - $(MIDL) $(MIDL_OPTS) IA2CommonTypes.idl - $(MIDL) $(MIDL_OPTS) IA2TypeLibrary.idl + $(MIDL) $(MIDL_OPTS) ia2_api_all.idl MIDL_OPTS = /out ..\generated\amd64 /env amd64 amd64: -del ..\generated\amd64\dlldata.c -md ..\generated\amd64 - $(MIDL) $(MIDL_OPTS) Accessible2.idl - $(MIDL) $(MIDL_OPTS) AccessibleAction.idl - $(MIDL) $(MIDL_OPTS) AccessibleApplication.idl - $(MIDL) $(MIDL_OPTS) AccessibleComponent.idl - $(MIDL) $(MIDL_OPTS) AccessibleEditableText.idl - $(MIDL) $(MIDL_OPTS) AccessibleEventID.idl - $(MIDL) $(MIDL_OPTS) AccessibleHyperlink.idl - $(MIDL) $(MIDL_OPTS) AccessibleHypertext.idl - $(MIDL) $(MIDL_OPTS) AccessibleImage.idl - $(MIDL) $(MIDL_OPTS) AccessibleRelation.idl - $(MIDL) $(MIDL_OPTS) AccessibleRole.idl - $(MIDL) $(MIDL_OPTS) AccessibleStates.idl - $(MIDL) $(MIDL_OPTS) AccessibleTable.idl - $(MIDL) $(MIDL_OPTS) AccessibleTable2.idl - $(MIDL) $(MIDL_OPTS) AccessibleTableCell.idl - $(MIDL) $(MIDL_OPTS) AccessibleText.idl - $(MIDL) $(MIDL_OPTS) AccessibleValue.idl - $(MIDL) $(MIDL_OPTS) IA2CommonTypes.idl - $(MIDL) $(MIDL_OPTS) IA2TypeLibrary.idl - + $(MIDL) $(MIDL_OPTS) ia2_api_all.idl diff --git a/src/3rdparty/iaccessible2/idl/README b/src/3rdparty/iaccessible2/idl/README index 0a299f16b4..7751447fd4 100644 --- a/src/3rdparty/iaccessible2/idl/README +++ b/src/3rdparty/iaccessible2/idl/README @@ -4,3 +4,6 @@ in this directory to generate the files from the idl files. The generated files will be put in ..\generated\x86 and ..\generated\amd64 +In order for it to work on msvc-2010 you need to use MIDL shipped with +that version +(Microsoft (R) 32b/64b MIDL Compiler Version 7.00.0555). diff --git a/src/3rdparty/iaccessible2/idl/ia2_api_all.idl b/src/3rdparty/iaccessible2/idl/ia2_api_all.idl new file mode 100644 index 0000000000..729ed2627d --- /dev/null +++ b/src/3rdparty/iaccessible2/idl/ia2_api_all.idl @@ -0,0 +1,5473 @@ +/************************************************************************* + * + * File Name (api_all_headers.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2013 Linux Foundation + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ + +import "objidl.idl"; +import "oaidl.idl"; +import "oleacc.idl"; + +/************************************************************************* + * + * File Name (IA2CommonTypes.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2013 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ + + /** These constants control the scrolling of an object or substring into a window. + + This enum is used in IAccessible2::scrollTo and IAccessibleText::scrollSubstringTo. +*/ +enum IA2ScrollType { + + /** Scroll the top left corner of the object or substring such that the top left + corner (and as much as possible of the rest of the object or substring) is within + the top level window. In cases where the entire object or substring fits within + the top level window, the placement of the object or substring is dependent on + the application. For example, the object or substring may be scrolled to the + closest edge, the furthest edge, or midway between those two edges. In cases + where there is a hierarchy of nested scrollable controls, more than one control + may have to be scrolled. + */ + IA2_SCROLL_TYPE_TOP_LEFT, + + /** Scroll the bottom right corner of the object or substring such that the bottom right + corner (and as much as possible of the rest of the object or substring) is within + the top level window. In cases where the entire object or substring fits within + the top level window, the placement of the object or substring is dependent on + the application. For example, the object or substring may be scrolled to the + closest edge, the furthest edge, or midway between those two edges. In cases + where there is a hierarchy of nested scrollable controls, more than one control + may have to be scrolled. + */ + IA2_SCROLL_TYPE_BOTTOM_RIGHT, + + /** Scroll the top edge of the object or substring such that the top edge + (and as much as possible of the rest of the object or substring) is within the + top level window. In cases where the entire object or substring fits within + the top level window, the placement of the object or substring is dependent on + the application. For example, the object or substring may be scrolled to the + closest edge, the furthest edge, or midway between those two edges. In cases + where there is a hierarchy of nested scrollable controls, more than one control + may have to be scrolled. + */ + IA2_SCROLL_TYPE_TOP_EDGE, + + /** Scroll the bottom edge of the object or substring such that the bottom edge + (and as much as possible of the rest of the object or substring) is within the + top level window. In cases where the entire object or substring fits within + the top level window, the placement of the object or substring is dependent on + the application. For example, the object or substring may be scrolled to the + closest edge, the furthest edge, or midway between those two edges. In cases + where there is a hierarchy of nested scrollable controls, more than one control + may have to be scrolled. + */ + IA2_SCROLL_TYPE_BOTTOM_EDGE, + + /** Scroll the left edge of the object or substring such that the left edge + (and as much as possible of the rest of the object or substring) is within the + top level window. In cases where the entire object or substring fits within + the top level window, the placement of the object or substring is dependent on + the application. For example, the object or substring may be scrolled to the + closest edge, the furthest edge, or midway between those two edges. In cases + where there is a hierarchy of nested scrollable controls, more than one control + may have to be scrolled. + */ + IA2_SCROLL_TYPE_LEFT_EDGE, + + /** Scroll the right edge of the object or substring such that the right edge + (and as much as possible of the rest of the object or substring) is within the + top level window. In cases where the entire object or substring fits within + the top level window, the placement of the object or substring is dependent on + the application. For example, the object or substring may be scrolled to the + closest edge, the furthest edge, or midway between those two edges. In cases + where there is a hierarchy of nested scrollable controls, more than one control + may have to be scrolled. + */ + IA2_SCROLL_TYPE_RIGHT_EDGE, + + /** Scroll the object or substring such that as much as possible of the + object or substring is within the top level window. The placement of + the object is dependent on the application. For example, the object or + substring may be scrolled to to closest edge, the furthest edge, or midway + between those two edges. + */ + IA2_SCROLL_TYPE_ANYWHERE +}; + +/** These constants define which coordinate system a point is located in. + + This enum is used in IAccessible2::scrollToPoint, IAccessibleImage::imagePosition, + IAccessibleText::characterExtents, and IAccessibleText::offsetAtPoint, and + IAccessibleText::scrollSubstringToPoint. +*/ +enum IA2CoordinateType { + + /// The coordinates are relative to the screen. + IA2_COORDTYPE_SCREEN_RELATIVE, + + /** The coordinates are relative to the upper left corner of the bounding box + of the immediate parent. + */ + IA2_COORDTYPE_PARENT_RELATIVE + +}; + +/** Special offsets for use in IAccessibleText and IAccessibleEditableText methods + + Refer to @ref _specialOffsets + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" + for more information. +*/ +enum IA2TextSpecialOffsets { + IA2_TEXT_OFFSET_LENGTH = -1, /**< This offset is equivalent to the length of the string. It eliminates + the need to call IAccessibleText::nCharacters. */ + IA2_TEXT_OFFSET_CARET = -2 /**< This offset signifies that the text related to the physical location + of the caret should be used. */ +}; + +/** These constants specify the kind of change made to a table. + + This enum is used in the IA2TableModelChange struct which in turn is used by + IAccessibleTable::modelChange and IAccessibleTable2::modelChange. +*/ +enum IA2TableModelChangeType { + IA2_TABLE_MODEL_CHANGE_INSERT, // = 0; + IA2_TABLE_MODEL_CHANGE_DELETE, + IA2_TABLE_MODEL_CHANGE_UPDATE +}; + +/** A structure defining the type of and extents of changes made to a table + + IAccessibleTable::modelChange and IAccessibleTable2::modelChange return this struct. + In the case of an insertion or change the row and column offsets define the boundaries + of the inserted or changed subtable after the operation. In the case of a deletion + the row and column offsets define the boundaries of the subtable being removed before + the removal. +*/ +typedef struct IA2TableModelChange { + enum IA2TableModelChangeType type; // insert, delete, update + long firstRow; ///< 0 based, inclusive + long lastRow; ///< 0 based, inclusive + long firstColumn; ///< 0 based, inclusive + long lastColumn; ///< 0 based, inclusive +} IA2TableModelChange; +/************************************************************************* + * + * File Name (AccessibleRelation.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2013 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ + + + + + +/** @defgroup grpRelations Relations + Use the following constants to compare against the BSTRs returned by + IAccessibleRelation::relationType. +*/ +///@{ + +/** The target object is the containing application object. */ +const WCHAR *const IA2_RELATION_CONTAINING_APPLICATION = L"containingApplication"; + +/** The target object is the containing document object. The target object implements + the IAccessibleDocument interface. +*/ +const WCHAR *const IA2_RELATION_CONTAINING_DOCUMENT = L"containingDocument"; + +/** The target object is the containing tab pane object. */ +const WCHAR *const IA2_RELATION_CONTAINING_TAB_PANE = L"containingTabPane"; + +/** The target object is the containing window object. */ +const WCHAR *const IA2_RELATION_CONTAINING_WINDOW = L"containingWindow"; + +/** Some attribute of this object is affected by a target object. */ +const WCHAR *const IA2_RELATION_CONTROLLED_BY = L"controlledBy"; + +/** This object is interactive and controls some attribute of a target object. */ +const WCHAR *const IA2_RELATION_CONTROLLER_FOR = L"controllerFor"; + +/** This object is described by the target object. */ +const WCHAR *const IA2_RELATION_DESCRIBED_BY = L"describedBy"; + +/** This object is describes the target object. */ +const WCHAR *const IA2_RELATION_DESCRIPTION_FOR = L"descriptionFor"; + +/** This object is embedded by a target object. */ +const WCHAR *const IA2_RELATION_EMBEDDED_BY = L"embeddedBy"; + +/** This object embeds a target object. This relation can be used on the + OBJID_CLIENT accessible for a top level window to show where the content + areas are. +*/ +const WCHAR *const IA2_RELATION_EMBEDS = L"embeds"; + +/** Content flows to this object from a target object. + This relation and IA2_RELATION_FLOWS_TO are useful to tie text and non-text + objects together in order to allow assistive technology to follow the + intended reading order. +*/ +const WCHAR *const IA2_RELATION_FLOWS_FROM = L"flowsFrom"; + +/** Content flows from this object to a target object. */ +const WCHAR *const IA2_RELATION_FLOWS_TO = L"flowsTo"; + +/** This object is label for a target object. */ +const WCHAR *const IA2_RELATION_LABEL_FOR = L"labelFor"; + +/** This object is labelled by a target object. Note that the double L spelling + which follows is preferred. Please use it instead. This single L version may + be removed in a later version. +*/ +const WCHAR *const IA2_RELATION_LABELED_BY = L"labelledBy"; + +/** This object is labelled by a target object. */ +const WCHAR *const IA2_RELATION_LABELLED_BY = L"labelledBy"; + +/** This object is a member of a group of one or more objects. When + there is more than one object in the group each member may have one and the + same target, e.g. a grouping object. It is also possible that each member has + multiple additional targets, e.g. one for every other member in the group. +*/ +const WCHAR *const IA2_RELATION_MEMBER_OF = L"memberOf"; + +/** The target object is the next object in the tab order. */ +const WCHAR *const IA2_RELATION_NEXT_TABBABLE = L"nextTabbable"; + +/** This object is a logical child of a target object. This relation is the reciprocal + of the IA2_RELATION_NODE_PARENT_OF relation. In some cases an application's accessible + tree is such that objects can be in a logical parent-child relationship which is + different from the hierarchy of the accessible tree. */ +const WCHAR *const IA2_RELATION_NODE_CHILD_OF = L"nodeChildOf"; + +/** This object is a logical parent of a target object. This relation is the reciprocal + of the IA2_RELATION_NODE_CHILD_OF relation. In some cases an application's accessible + tree is such that objects can be in a logical parent-child relationship which is + different from the hierarchy of the accessible tree. */ +const WCHAR *const IA2_RELATION_NODE_PARENT_OF = L"nodeParentOf"; + +/** This object is a parent window of the target object. */ +const WCHAR *const IA2_RELATION_PARENT_WINDOW_OF = L"parentWindowOf"; + +/** This object is a transient component related to the target object. + When this object is activated the target object doesn't lose focus. +*/ +const WCHAR *const IA2_RELATION_POPUP_FOR = L"popupFor"; + +/** The target object is the previous object in the tab order. */ +const WCHAR *const IA2_RELATION_PREVIOUS_TABBABLE = L"previousTabbable"; + +/** This object is a sub window of a target object. */ +const WCHAR *const IA2_RELATION_SUBWINDOW_OF = L"subwindowOf"; + +///@} + +/** This interface gives access to an object's set of relations. +*/ +[object, uuid(7CDF86EE-C3DA-496a-BDA4-281B336E1FDC)] +interface IAccessibleRelation : IUnknown +{ + /** @brief Returns the type of the relation. + @param [out] relationType + The strings returned are defined @ref grpRelations "in this section of the documentation". + @retval S_OK + */ + [propget] HRESULT relationType + ( + [out, retval] BSTR *relationType + ); + + /** @brief Returns a localized version of the relation type. + @param [out] localizedRelationType + @retval S_OK + */ + [propget] HRESULT localizedRelationType + ( + [out, retval] BSTR *localizedRelationType + ); + + /** @brief Returns the number of targets for this relation. + @param [out] nTargets + @retval S_OK + */ + [propget] HRESULT nTargets + ( + [out, retval] long *nTargets + ); + + /** @brief Returns one accessible relation target. + @param [in] targetIndex + 0 based index + @param [out] target + @retval S_OK + @retval E_INVALIDARG if bad [in] passed + @note Use QueryInterface to get IAccessible2. + */ + [propget] HRESULT target + ( + [in] long targetIndex, + [out, retval] IUnknown **target + ); + + /** @brief Returns multiple accessible relation targets + @param [in] maxTargets + maximum size of the array allocated by the client + @param [out] targets + The array of target objects. Note that this array is to be allocated by the + client and freed when no longer needed. Refer to @ref _arrayConsideration + "Special Consideration when using Arrays" for more details. You will need to use + QueryInterface on the IUnknown to get the IAccessible2. + @param [out] nTargets + actual number of targets in the returned array (not more than maxTargets) + @retval S_OK + @retval E_INVALIDARG if bad [in] passed, e.g. a negative value + */ + [propget] HRESULT targets + ( + [in] long maxTargets, + [out, size_is(maxTargets), length_is(*nTargets)] + IUnknown **targets, + [out, retval] long *nTargets + ); + +} +/************************************************************************* + * + * File Name (AccessibleAction.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2013 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ + + + + + +/** This enum defines values which are predefined actions for use when implementing + support for media. + + This enum is used when specifying an action for IAccessibleAction::doAction. +*/ + +enum IA2Actions { + IA2_ACTION_OPEN = -1, /**< Used to inform the server that the client will + signal via IA2_ACTION_COMPLETE when it has consumed + the content provided by the object. This action + allows the object's server to wait for all clients + to signal their readiness for additional content. + Any form of content generation that requires + synchronization with an AT would require use of this + action. One example is the generation of text describing + visual content not obvious from a video's sound track. + In this scenario the Text to Speech or Braille output + may take more time than the related length of silence + in the video's sound track. */ + IA2_ACTION_COMPLETE = -2, /**< Used by the client to inform the server that it has + consumed the most recent content provided by this object. */ + IA2_ACTION_CLOSE = -3 /**< Used to inform the server that the client no longer + requires synchronization. */ +}; + +/** @brief This interface gives access to actions that can be executed + for accessible objects. + + Every accessible object that can be manipulated via the native GUI beyond the + methods available either in the MSAA IAccessible interface or in the set of + IAccessible2 interfaces (other than this IAccessibleAction interface) should + support the IAccessibleAction interface in order to provide Assistive Technology + access to all the actions that can be performed by the object. Each action can + be performed or queried for a name, description or associated key bindings. + Actions are needed more for ATs that assist the mobility impaired, such as + on-screen keyboards and voice command software. By providing actions directly, + the AT can present them to the user without the user having to perform the extra + steps to navigate a context menu. + + The first action should be equivalent to the MSAA default action. If there is + only one action, %IAccessibleAction should also be implemented. +*/ +[object, uuid(B70D9F59-3B5A-4dba-AB9E-22012F607DF5)] +interface IAccessibleAction : IUnknown +{ + + /** @brief Returns the number of accessible actions available in this object. + + If there are more than one, the first one is considered the + "default" action of the object. + @param [out] nActions + The returned value of the number of actions is zero if there are + no actions. + @retval S_OK + @note This method is missing a [propget] prefix in the IDL. The result is the + method is named nActions in generated C++ code instead of get_nActions. + */ + HRESULT nActions + ( + [out,retval] long* nActions + ); + + /** @brief Performs the specified Action on the object. + @param [in] actionIndex + 0 based index specifying the action to perform. If it lies outside + the valid range no action is performed. + @retval S_OK + @retval S_FALSE if action could not be performed + @retval E_INVALIDARG if bad [in] passed + @note If implementing support for media, refer to the predefined constants in the ::IA2Actions enum. + */ + HRESULT doAction + ( + [in] long actionIndex + ); + + /** @brief Returns a description of the specified action of the object. + @param [in] actionIndex + 0 based index specifying which action's description to return. + If it lies outside the valid range an empty string is returned. + @param [out] description + The returned value is a localized string of the specified action. + @retval S_OK + @retval S_FALSE if there is nothing to return, [out] value is NULL + @retval E_INVALIDARG if bad [in] passed + */ + [propget] HRESULT description + ( + [in] long actionIndex, + [out, retval] BSTR *description + ); + + /** @brief Returns an array of BSTRs describing one or more key bindings, if + there are any, associated with the specified action. + + The returned strings are the localized human readable key sequences to be + used to activate each action, e.g. "Ctrl+Shift+D". Since these key + sequences are to be used when the object has focus, they are like + mnemonics (access keys), and not like shortcut (accelerator) keys. + + There is no need to implement this method for single action controls since + that would be redundant with the standard MSAA programming practice of + getting the mnemonic from get_accKeyboardShortcut. + + An AT such as an On Screen Keyboard might not expose these bindings but + provide alternative means of activation. + + Note: the client allocates and passes in an array of pointers. The server + allocates the BSTRs and passes back one or more pointers to these BSTRs into + the array of pointers allocated by the client. The client is responsible + for deallocating the BSTRs. + + @param [in] actionIndex + 0 based index specifying which action's key bindings should be returned. + @param [in] nMaxBindings + This parameter is ignored. Refer to @ref _arrayConsideration + "Special Consideration when using Arrays" for more details. + @param [out] keyBindings + An array of BSTRs, allocated by the server, one for each key binding. + The client must free it with CoTaskMemFree. + @param [out] nBindings + The number of key bindings returned; the size of the returned array. + @retval S_OK + @retval S_FALSE if there are no key bindings, [out] values are NULL and 0 respectively + @retval E_INVALIDARG if bad [in] passed + */ + [propget] HRESULT keyBinding + ( + [in] long actionIndex, + [in] long nMaxBindings, + [out, size_is(,nMaxBindings), length_is(,*nBindings)] BSTR **keyBindings, + [out, retval] long *nBindings + ); + + /** @brief Returns the non-localized name of specified action. + @param [in] actionIndex + 0 based index specifying which action's non-localized name should be returned. + @param [out] name + @retval S_OK + @retval S_FALSE if there is nothing to return, [out] value is NULL + @retval E_INVALIDARG if bad [in] passed + */ + [propget] HRESULT name + ( + [in] long actionIndex, + [out, retval] BSTR *name + ); + + /** @brief Returns the localized name of specified action. + @param [in] actionIndex + 0 based index specifying which action's localized name should be returned. + @param [out] localizedName + @retval S_OK + @retval S_FALSE if there is nothing to return, [out] value is NULL + @retval E_INVALIDARG if bad [in] passed + */ + [propget] HRESULT localizedName + ( + [in] long actionIndex, + [out, retval] BSTR *localizedName + ); + +} +/************************************************************************* + * + * File Name (AccessibleRole.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2013 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ + + + +/** Collection of roles + + This enumerator defines an extended set of accessible roles of objects implementing + the %IAccessible2 interface. These roles are in addition to the MSAA roles obtained + through the MSAA get_accRole method. Examples are 'footnote', 'heading', and + 'label'. You obtain an object's %IAccessible2 roles by calling IAccessible2::role. +*/ +enum IA2Role { + + /** Unknown role. The object contains some Accessible information, but its + role is not known. + */ + IA2_ROLE_UNKNOWN = 0, + + /** An object that can be drawn into and to manage events from the objects + drawn into it. Also refer to ::IA2_ROLE_FRAME, + ::IA2_ROLE_GLASS_PANE, and ::IA2_ROLE_LAYERED_PANE. + */ + IA2_ROLE_CANVAS = 0x401, + + /// A caption describing another object. + IA2_ROLE_CAPTION, + + /// Used for check buttons that are menu items. + IA2_ROLE_CHECK_MENU_ITEM, + + /// A specialized dialog that lets the user choose a color. + IA2_ROLE_COLOR_CHOOSER, + + /// A date editor. + IA2_ROLE_DATE_EDITOR, + + /** An iconified internal frame in an ::IA2_ROLE_DESKTOP_PANE. + Also refer to ::IA2_ROLE_INTERNAL_FRAME. + */ + IA2_ROLE_DESKTOP_ICON, + + /** A desktop pane. A pane that supports internal frames and iconified + versions of those internal frames. Also refer to ::IA2_ROLE_INTERNAL_FRAME. + */ + IA2_ROLE_DESKTOP_PANE, + + /** A directory pane. A pane that allows the user to navigate through + and select the contents of a directory. May be used by a file chooser. + Also refer to ::IA2_ROLE_FILE_CHOOSER. + */ + IA2_ROLE_DIRECTORY_PANE, + + /** An editable text object in a toolbar. <b>Deprecated.</b> + The edit bar role was meant for a text area in a tool bar. However, to detect + a text area in a tool bar the AT can query the parent. + */ + IA2_ROLE_EDITBAR, + + /// Embedded (OLE) object. + IA2_ROLE_EMBEDDED_OBJECT, + + /// Text that is used as an endnote (footnote at the end of a chapter or section). + IA2_ROLE_ENDNOTE, + + /** A file chooser. A specialized dialog that displays the files in the + directory and lets the user select a file, browse a different directory, + or specify a filename. May use the directory pane to show the contents of + a directory. + Also refer to ::IA2_ROLE_DIRECTORY_PANE. + */ + IA2_ROLE_FILE_CHOOSER, + + /** A font chooser. A font chooser is a component that lets the user pick + various attributes for fonts. + */ + IA2_ROLE_FONT_CHOOSER, + + /** Footer of a document page. + Also refer to ::IA2_ROLE_HEADER. + */ + IA2_ROLE_FOOTER, + + /// Text that is used as a footnote. Also refer to ::IA2_ROLE_ENDNOTE. + IA2_ROLE_FOOTNOTE, + + /** A container of form controls. An example of the use of this role is to + represent an HTML FORM tag. + */ + IA2_ROLE_FORM, + + /** Frame role. A top level window with a title bar, border, menu bar, etc. + It is often used as the primary window for an application. Also refer to + ::IA2_ROLE_CANVAS and the MSAA roles of dialog and window. + */ + IA2_ROLE_FRAME, + + /** A glass pane. A pane that is guaranteed to be painted on top of all panes + beneath it. Also refer to ::IA2_ROLE_CANVAS, ::IA2_ROLE_INTERNAL_FRAME, and + ::IA2_ROLE_ROOT_PANE. + */ + IA2_ROLE_GLASS_PANE, + + /** Header of a document page. + Also refer to ::IA2_ROLE_FOOTER. + */ + IA2_ROLE_HEADER, + + /// Heading. Use the IAccessible2::attributes level attribute to determine the heading level. + IA2_ROLE_HEADING, + + /// A small fixed size picture, typically used to decorate components. + IA2_ROLE_ICON, + + /** An image map object. Usually a graphic with multiple hotspots, where + each hotspot can be activated resulting in the loading of another document + or section of a document. + */ + IA2_ROLE_IMAGE_MAP, + + /** An object which is used to allow input of characters not found on a keyboard, + such as the input of Chinese characters on a Western keyboard. + */ + IA2_ROLE_INPUT_METHOD_WINDOW, + + /** An internal frame. A frame-like object that is clipped by a desktop pane. + The desktop pane, internal frame, and desktop icon objects are often used to + create multiple document interfaces within an application. + Also refer to ::IA2_ROLE_DESKTOP_ICON, ::IA2_ROLE_DESKTOP_PANE, and ::IA2_ROLE_FRAME. + */ + IA2_ROLE_INTERNAL_FRAME, + + /// An object used to present an icon or short string in an interface. + IA2_ROLE_LABEL, + + /** A layered pane. A specialized pane that allows its children to be drawn + in layers, providing a form of stacking order. This is usually the pane that + holds the menu bar as well as the pane that contains most of the visual + components in a window. + Also refer to ::IA2_ROLE_CANVAS, ::IA2_ROLE_GLASS_PANE, and ::IA2_ROLE_ROOT_PANE. + */ + IA2_ROLE_LAYERED_PANE, + + /** A section whose content is parenthetic or ancillary to the main content + of the resource. + */ + IA2_ROLE_NOTE, + + /** A specialized pane whose primary use is inside a dialog. + Also refer to MSAA's dialog role. + */ + IA2_ROLE_OPTION_PANE, + + /** An object representing a page of document content. It is used in documents + which are accessed by the user on a page by page basis. + */ + IA2_ROLE_PAGE, + + /// A paragraph of text. + IA2_ROLE_PARAGRAPH, + + /** A radio button that is a menu item. + Also refer to MSAA's button and menu item roles. + */ + IA2_ROLE_RADIO_MENU_ITEM, + + /** An object which is redundant with another object in the accessible hierarchy. + ATs typically ignore objects with this role. + */ + IA2_ROLE_REDUNDANT_OBJECT, + + /** A root pane. A specialized pane that has a glass pane and a layered pane + as its children. + Also refer to ::IA2_ROLE_GLASS_PANE and ::IA2_ROLE_LAYERED_PANE + */ + IA2_ROLE_ROOT_PANE, + + /** A ruler such as those used in word processors. + */ + IA2_ROLE_RULER, + + /** A scroll pane. An object that allows a user to incrementally view a large + amount of information. Its children can include scroll bars and a viewport. + Also refer to ::IA2_ROLE_VIEW_PORT and MSAA's scroll bar role. + */ + IA2_ROLE_SCROLL_PANE, + + /** A container of document content. An example of the use of this role is to + represent an HTML DIV tag. A section may be used as a region. A region is a + group of elements that together form a perceivable unit. A region does not + necessarily follow the logical structure of the content, but follows the + perceivable structure of the page. A region may have an attribute in the set + of IAccessible2::attributes which indicates that it is "live". A live region + is content that is likely to change in response to a timed change, a user + event, or some other programmed logic or event. + */ + IA2_ROLE_SECTION, + + /// Object with graphical representation used to represent content on draw pages. + IA2_ROLE_SHAPE, + + /** A split pane. A specialized panel that presents two other panels at the + same time. Between the two panels is a divider the user can manipulate to make + one panel larger and the other panel smaller. + */ + IA2_ROLE_SPLIT_PANE, + + /** An object that forms part of a menu system but which can be "undocked" + from or "torn off" the menu system to exist as a separate window. + */ + IA2_ROLE_TEAR_OFF_MENU, + + /// An object used as a terminal emulator. + IA2_ROLE_TERMINAL, + + /// Collection of objects that constitute a logical text entity. + IA2_ROLE_TEXT_FRAME, + + /** A toggle button. A specialized push button that can be checked or unchecked, + but does not provide a separate indicator for the current state. + Also refer to MSAA's roles of push button, check box, and radio button. + <BR><B>Note:</B> IA2_ROLE_TOGGLE_BUTTON should not be used. Instead, use MSAA's + ROLE_SYSTEM_PUSHBUTTON and STATE_SYSTEM_PRESSED. + */ + IA2_ROLE_TOGGLE_BUTTON, + + /** A viewport. An object usually used in a scroll pane. It represents the + portion of the entire data that the user can see. As the user manipulates + the scroll bars, the contents of the viewport can change. + Also refer to ::IA2_ROLE_SCROLL_PANE. + */ + IA2_ROLE_VIEW_PORT, + + /** An object containing content which is complementary to the main content of + a document, but remains meaningful when separated from the main content. There + are various types of content that would appropriately have this role. For example, + in the case where content is delivered via a web portal to a web browser, this may + include but not be limited to show times, current weather, related articles, or + stocks to watch. The complementary role indicates that contained content is relevant + to the main content. If the complementary content is completely separable main + content, it may be appropriate to use a more general role. + */ + IA2_ROLE_COMPLEMENTARY_CONTENT + +}; +/************************************************************************* + * + * File Name (AccessibleStates.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2010 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ + + + +typedef long AccessibleStates; + +/** %IAccessible2 specific state bit constants + + This enum defines the state bits returned by IAccessible2::states. The + %IAccessible2 state bits are in addition to those returned by MSAA. +*/ +enum IA2States { + +/** Indicates a window is currently the active window, or is an active subelement + within a container or table. + + This state can be used to indicate the current active item in a container, even + if the container itself is not currently active. In other words this would indicate + the item that will get focus if you tab to the container. + + This information is important for knowing what to report for trees and potentially + other containers in a virtual buffer. + + Also, see ::IA2_STATE_MANAGES_DESCENDANTS for more information. +*/ +IA2_STATE_ACTIVE = 0x1, + +/** Indicates that the object is armed. + + Used to indicate that the control is "pressed" and will be invoked when the + actuator, e.g. a mouse button, is "released". An AT which either monitors the + mouse or synthesizes mouse events might need to know that, and possibly a talking + interface would even let the user know about it. It could also potentially be + useful to on screen keyboards or test tools since the information does indicate + something about the state of the interface, for example, code operating asynchronously + might need to wait for the armed state to change before doing something else. + +*/ +IA2_STATE_ARMED = 0x2, + +/** Indicates the user interface object corresponding to this object no longer exists. */ +IA2_STATE_DEFUNCT = 0x4, + +/** An object with this state has a caret and implements the IAccessibleText interface. + + Such fields may be read-only, so STATE_SYSTEM_READONLY is valid in combination + with IA2_STATE_EDITABLE. + +*/ +IA2_STATE_EDITABLE = 0x8, + +/** Indicates the orientation of this object is horizontal. */ +IA2_STATE_HORIZONTAL = 0x10, + +/** Indicates this object is minimized and is represented only by an icon. */ +IA2_STATE_ICONIFIED = 0x20, + +/** Indicates an input validation failure. */ +IA2_STATE_INVALID_ENTRY = 0x40, + +/** Indicates that this object manages its children. + + Note: Due to the fact that MSAA's WinEvents don't allow the active child index + to be passed on the IA2_EVENT_ACTIVE_DESCENDANT_CHANGED event, the manages + descendants scheme can't be used. Instead the active child object has to fire + MSAA's EVENT_OBJECT_FOCUS. In a future release a new event mechanism may be + added to provide for event specific data to be passed with the event. At that + time the IA2_EVENT_ACTIVE_DECENDENT_CHANGED event and + IA2_STATE_MANAGES_DESCENDANTS state would be useful. +*/ +IA2_STATE_MANAGES_DESCENDANTS = 0x80, + +/** Indicates that an object is modal. + + Modal objects have the behavior that something must be done with the object + before the user can interact with an object in a different window. +*/ +IA2_STATE_MODAL = 0x100, + +/** Indicates this text object can contain multiple lines of text. */ +IA2_STATE_MULTI_LINE = 0x200, + +/** Indicates this object paints every pixel within its rectangular region. */ +IA2_STATE_OPAQUE = 0x400, + +/** Indicates that user interaction is required. + + An example of when this state is used is when a field in a form must be filled + before a form can be processed. +*/ +IA2_STATE_REQUIRED = 0x800, + +/** Indicates an object which supports text selection. + + Note: This is different than MSAA STATE_SYSTEM_SELECTABLE. +*/ +IA2_STATE_SELECTABLE_TEXT = 0x1000, + +/** Indicates that this text object can contain only a single line of text. */ +IA2_STATE_SINGLE_LINE = 0x2000, + +/** Indicates that the accessible object is stale. + + This state is used when the accessible object no longer accurately + represents the state of the object which it is representing such as when an + object is transient or when an object has been or is in the process of being + destroyed or when the object's index in its parent has changed. +*/ +IA2_STATE_STALE = 0x4000, + +/** Indicates that the object implements autocompletion. + + This state indicates that a text control will respond to the input of + one ore more characters and cause a sub-item to become selected. The + selection may also result in events fired on the parent object. +*/ +IA2_STATE_SUPPORTS_AUTOCOMPLETION = 0x8000, + +/** Indicates this object is transient. + + An object has this state when its parent object has the state ::IA2_STATE_MANAGES_DESCENDANTS. + For example, a list item object may be managed by its parent list object and may only + exist as long as the object is actually rendered. Similarly a table cell's accessible + object may exist only while the cell has focus. However, from the perspective of an + assistive technology a transient object behaves like a non-transient object. As a + result it is likely that this state is not of use to an assistive technology, but it + is provided in case an assistive technology determines that knowledge of the transient + nature of the object is useful and also for harmony with the Linux accessibility API. + + Also, see ::IA2_STATE_MANAGES_DESCENDANTS for more information. + */ +IA2_STATE_TRANSIENT = 0x10000, + +/** Indicates the orientation of this object is vertical. */ +IA2_STATE_VERTICAL = 0x20000, + +/** Indicates this object is checkable. + + The standard checkable objects are check boxes, radio buttons, check box menu + items, radio menu items, and toggle buttons. Since assistive technology will + determine that these objects are checkable via the object's role the checkable + state is not required. However, this state is necessary in those cases where + an object has a role which is not one of the previously mentioned roles. An + example is a table cell which indicates whether or not an email has an attachment, + whether or not an mail is considered spam, and whether or not an email has been read. + */ +IA2_STATE_CHECKABLE = 0x40000, + +/** Indicates this object is pinned. + + This state indicates that an object is fixed at a certain location. One example + is a browser tab that when pinned cannot be moved until unpinned. Another example + is a movable or floating object that when pinned remains in its pinned location + until being unpinned. + */ +IA2_STATE_PINNED = 0x80000 + +}; +/************************************************************************* + * + * File Name (Accessible2.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2013 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ + +/** @mainpage + + @section _interfaces Interfaces + IAccessible2\n + IAccessible2_2\n + IAccessibleAction\n + IAccessibleApplication\n + IAccessibleComponent\n + IAccessibleDocument\n + IAccessibleEditableText\n + IAccessibleHypertext\n + IAccessibleHypertext2\n + IAccessibleHyperlink\n + IAccessibleImage\n + IAccessibleRelation\n + IAccessibleTable [Deprecated]\n + IAccessibleTable2\n + IAccessibleTableCell\n + IAccessibleText\n + IAccessibleText2\n + IAccessibleValue + + @section _structs Structs + IA2Locale\n + IA2TableModelChange\n + IA2TextSegment + + @section _enums Enums + ::IA2Actions values are predefined actions for use when implementing support for HTML5 media.\n + ::IA2CoordinateType values define the requested coordinate type (screen or parent window).\n + ::IA2EventID values identify events.\n + ::IA2Role values defines roles which are in addition to the existing MSAA roles.\n + ::IA2ScrollType values define where to place an object or substring on the screen.\n + ::IA2States values define states which are in addition to the existing MSAA states.\n + ::IA2TableModelChangeType values describe the kinds of changes made to a table (insert, delete, update).\n + ::IA2TextBoundaryType values define the requested text unit (character, word, sentence, line, paragraph).\n + ::IA2TextSpecialOffsets values define special offsets for use in the text interfaces. + + @section _constants Constants + @ref grpRelations + + @section _misc Miscellaneous + @ref _licensePage "BSD License"\n + @ref _generalInfo "General Information"\n + + @page _licensePage BSD License + %IAccessible2 IDL Specification + + Copyright (c) 2007, 2013 Linux Foundation\n + Copyright (c) 2006 IBM Corporation\n + Copyright (c) 2000, 2006 Sun Microsystems, Inc.\n + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + + 3. Neither the name of the Linux Foundation nor the names of its + contributors may be used to endorse or promote products + derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + This BSD License conforms to the Open Source Initiative "Simplified + BSD License" as published at: + http://www.opensource.org/licenses/bsd-license.php + + %IAccessible2 is a trademark of the Linux Foundation. The %IAccessible2 + mark may be used in accordance with the + <a href="http://www.linuxfoundation.org/collaborate/workgroups/accessibility/trademark-policy"> + Linux Foundation Trademark Policy</a> to indicate compliance with the %IAccessible2 specification. + + @page _generalInfo General Information + The following information is applicable to two or more interfaces. + + @ref _errors\n + @ref _memory\n + @ref _arrayConsideration\n + @ref _indexes\n + @ref _enumBase\n + @ref _specialOffsets\n + @ref _dicoveringInterfaces\n + @ref _changingInterfaces\n + @ref _applicationInfo\n + @ref _childIDs\n + @ref _variants\n + @ref _iaaction-iahyperlink\n + @ref _trademark + + @section _errors Error Handling + HRESULT values are defined by the Microsoft® Win32® API. For more information, refer to + <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa378137%28v=vs.85%29.aspx"> + Interpreting HRESULT Values</a> in MSDN®. + + Note that the S_FALSE return value is considered a non-error value and the + SUCCEEDED macro will return TRUE. S_FALSE is used when there is no failure + but there was nothing valid to return, e.g. in IAccessible2::attributes when + there are no attributes. When S_FALSE is returned [out] pointer types should + be NULL and [out] longs should generally be 0, but sometimes -1 is used such + as IAccessible2::indexInParent, IAccessibleText::caretOffset, and + IAccessibleHypertext::hyperlinkIndex. + + Note that for BSTR [out] variables common COM practice is that the server does + the SysAllocString and the client does the SysFreeString. Also note that when + NULL is returned there is no need for the client to call SysFreeString. Please + refer to the documentation for each method for more details regarding error handling. + + @section _memory Memory Management + The following memory management issues should be considered: + @li Although [out] BSTR variables are declared by the client, their space is + allocated by the server. They need to be freed with SysFreeString by the + client at end of life; the same is true when BSTRs are used in structs or + arrays which are passed to the server. + @li If there is no valid [out] BSTR to return, the server should return S_FALSE and + assign NULL to the output, e.g. *theOutBSTR = NULL;. + @li COM interfaces need to be referenced with AddRef when used and dereferenced + with Release at end of life. + @li Single [out] longs, HWNDs, booleans, and structs are declared by the caller + and passed by reference. The marshaller does all the memory management. + + The following articles may be helpful for understanding memory management issues: + @li An article by Don Box in a + <a href="http://www.microsoft.com/msj/1196/activex1196.aspx">Q & A section</a> + of the November 1996 edition of the Microsoft Systems Journal. + @li A posting to a CodeGuru forum, + <a href="http://www.codeguru.com/forum/showthread.php?t=364511">Windows SDK + String: What are the rules for BSTR allocation and deallocation?</a> + + @subsection _arrayConsideration Special Consideration when using Arrays + There are several methods which return arrays. In the case of IAccessible2::relations + and IAccessibleRelation::targets the client must allocate and free the arrays. + + For the remaining methods which return arrays, the server must allocate the array + and the client must free the array when no longer needed. These methods are + IAccessible2::extendedStates, IAccessible2::localizedExtendedStates, + IAccessible2_2::relationTargetsOfType, IAccessibleAction::keyBinding, + IAccessibleHypertext2::hyperlinks, IAccessibleTable::selectedChildren, + IAccessibleTable::selectedColumns, IAccessibleTable::selectedRows, + IAccessibleTable2::selectedCells, IAccessibleTable2::selectedColumns, + IAccessibleTable2::selectedRows, IAccessibleTableCell::columnHeaderCells, + and IAccessibleTableCell::rowHeaderCells. + For those methods, the server must allocate both the top level array and any storage + associated with it, e.g. for BSTRs. The server must allocate the arrays with + CoTaskMemAlloc and any BSTRs with SysAllocString. The client must use CoTaskMemFree + to free the array and any BSTRs must be freed with SysFreeString. + + Also, the IDL for IAccessible2::extendedStates, IAccessible2::localizedExtendedStates, + IAccessibleAction::keyBinding, IAccessibleTable::selectedChildren, + IAccessibleTable::selectedColumns, and IAccessibleTable::selectedRows includes an + extraneous [in] parameter for the caller to specify the max size of the array. + This parameter will be ignored by the COM server. + + @section _indexes Zero and One Based Indexes + Unless otherwise specified all offsets and indexes are 0 based. + + @section _enumBase Enum Base + Note that enums start at 0. + + @section _specialOffsets Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods + IAccessibleText and IAccessibleEditableText can use one or more of the following + special offset values. They are defined in the ::IA2TextSpecialOffsets enum. + @li Using ::IA2_TEXT_OFFSET_LENGTH (-1) as an offset in any of the IAccessibleText or + IAccessibleEditableText methods is the same as specifying the length of the string. + @li Using ::IA2_TEXT_OFFSET_CARET (-2) as an offset for IAccessibleText::textBeforeOffset, + IAccessibleText::textAtOffset, and IAccessibleText::textAfterOffset indicates that the + text related to the physical location of the caret should be used. This is needed for + applications that consider the character offset of the end of one line (as reached by + pressing the End key) the same as the offset of the first character on the next line. + Since the same offset is associated with two different lines a special means is needed + to fetch text from the line where the caret is physically located. + + @section _dicoveringInterfaces Discovery of Interfaces + In general AT (Assistive Technology) should try IAccessible2 interfaces, followed by using + the MSAA (Microsoft® Active Accessibility®) interfaces. (In cases where the an application + is known to have custom interfaces which provide information not supplied by IAccessible2 + or MSAA, then those custom interfaces can be used.) The AT can then, by default, support + unknown IAccessible2/MSAA applications, without the application developers having to request + AT vendors for support on an individual application by application basis. + + When you have a reference to an IAccessible and require a reference to an IAccessible2 use + QueryService as follows: + @code + // pAcc is a reference to the accessible object's IAccessible interface. + IServiceProvider *pService = NULL; + hr = pAcc->QueryInterface(IID_IServiceProvider, (void **)&pService); + if(SUCCEEDED(hr)) { + IAccessible2 *pIA2 = NULL; + hr = pService->QueryService(IID_IAccessible, IID_IAccessible2, (void**)&pIA2); + if (SUCCEEDED(hr) && pIA2) { + // The control supports IAccessible2. + // pIA2 is the reference to the accessible object's IAccessible2 interface. + } + } + @endcode + + @section _changingInterfaces Changing between Accessible Interfaces + Note that developers must always implement MSAA's IAccessible and, if needed, some + of the interfaces in the set of IAccessible2 interfaces. Although the IAccessible2 + IDL is coded such that IAccessible2 is a subclass of MSAA's IAccessible, none of + MSAA's IAccessible methods are redefined by IAccessible2. + + QueryService must be used to switch from a reference to an MSAA IAccessible interface + to another interface. This has been + <a href="http://www.atia.org/files/public/Introducing_IAccessibleEx.doc"> + documented</a> and the pertinent facts have been extracted below: + + @par + Why use QueryService instead of just using QueryInterface to get IAccessibleEx + directly? The reason is that since MSAA 2.0, clients don't talk to a server's + IAccessible interface directly; instead they talk to an intermediate MSAA-provided + wrapper that calls through to the original IAccessible. This wrapper provides services + such as implementing IDispatch, supplying information from MSAA 2.0's Dynamic Annotation + service, and scaling locations when running on Windows Vista with DPI scaling enabled. + QueryService is the supported way to expose additional interfaces from an existing + IAccessible and was originally used by MSHTML to expose IHTMLElement objects corresponding + to IAccessibles. QueryService is often more convenient for servers to implement than + QueryInterface because it does not have the same requirements for preserving object + identity or symmetry/transitivity as QueryInterface, so QueryService allows servers to + easily implement the interface on the same object or a separate object. The latter is + often hard to do with QueryInterface unless the original object supports aggregation. + + Two related references in MSDN® are: + @li <a href="http://msdn.microsoft.com/en-us/library/ms696078(VS.85).aspx"> + "Using QueryService to expose a native object model interface for an IAccessible object"</a> + @li <a href="http://msdn.microsoft.com/en-us/library/ms528415.aspx#acc_obj"> + "Accessing the Internet Explorer Object Associated with an Accessible Object"</a> + + Based on this information from Microsoft, QueryService must be used to switch back and forth + between a reference to an MSAA IAccessible interface and any of the IAccessible2 interfaces. + + Regarding switching between any of the IAccessible2 interfaces, applications implementing + IAccessible2 should implement the IAccessible2 interfaces on a single object since ATs + will be using QueryInterface to switch between the IAccessilbe2 interfaces. Implementing + the IAccessible2 interfaces on separate objects would require the use of QueryService. + There is one exception, IAccessibleApplication can be implemented on a separate object so + its common code doesn't have to be included in each accessible object. ATs should use + QueryService to access IAccessibleApplication. + + @section _applicationInfo Access to Information about the Application + Servers implementing IAccessible2 should provide access to the IAccessibleApplication + interface via QueryService from any object so that ATs can easily determine specific + information about the application such as its name or version. + + @section _childIDs Child IDs + The IAccessible2 interfaces do not support child IDs, i.e. simple child elements. + Full accessible objects must be created for each object that supports IAccessible2. + Therefore MSAA's get_accChild should never return a child ID (other than CHILDID_SELF) + for an object that implements any of the IAccessible2 interfaces. + + Microsoft's UI Automation specification has the same limitation and this was resolved + in the UI Automation Express specification by adding IAccessibleEx::GetObjectForChild + and IAccessibleEx::GetIAccessiblePair. These methods allow mapping back and forth + between an IAccessibleEx and an {IAccessible, Child ID} pair. A future version of + IAccessible2 may include similar methods to map back and forth between an IAccessible2 + and an {IAccessible, Child ID} pair. + + @section _variants VARIANTs + Some methods return a VARIANT. Implementers need to make sure that the return type is + specified, i.e. VT_I4, VT_IDISPATCH, etc. The methods that return VARIANTs are + IAccessibleHyperlink::anchor, IAccessibleHyperlink::anchorTarget, IAccessibleValue::currentValue, + IAccessibleValue::maximumValue, IAccessibleValue::minimumValue. + + @section _iaaction-iahyperlink IAccessibleHyperlink as subclass of IAccessibleAction + In this version of the IDL, IAccessibleHyperlink is a subclass of IAccessibleAction. + However, there is no practical need for that inheritance and in some cases, such as + an image map of smart tags, it doesn't make sense because such an image map doesn't + have actionable objects; it's the secondary smart tags that are actionable. As a + result, implementations should not rely on the inheritance as it may be removed in + a later version of the IDL. + + @section _trademark Trademark Attribution + The names of actual companies and products mentioned herein may be the trademarks of + their respective owners. In particular, Active Accessibility, Microsoft, MSDN, and Win32 + are trademarks of the Microsoft group of companies in the U.S.A. and/or other countries. + +**/ + + + + + + + + +/** A structure defining the locale of an accessible object. + +IAccessible2::locale returns this struct. +*/ +typedef struct IA2Locale { + BSTR language; ///< ISO 639-1 Alpha-2 two character language code + BSTR country; ///< ISO 3166-1 Alpha-2 two character country code + BSTR variant; ///< Application specific variant of the locale +} IA2Locale; + +/** @brief This interface exposes the primary set of information about an + IAccessible2 enabled accessible object. + + This interface must always be provided for objects that support some + portion of the collection of the %IAccessible2 interfaces. + + Please refer to @ref _changingInterfaces "Changing between Accessible Interfaces" + for special considerations related to use of the MSAA IAccessible interface and + the set of %IAccessible2 interfaces. + */ +[object, uuid(E89F726E-C4F4-4c19-BB19-B647D7FA8478)] +interface IAccessible2 : IAccessible +{ + + /** @brief Returns the number of accessible relations for this object. + @param [out] nRelations + @retval S_OK + */ + [propget] HRESULT nRelations + ( + [out, retval] long *nRelations + ); + + /** @brief Returns one accessible relation for this object. + @param [in] relationIndex + 0 based + @param [out] relation + @retval S_OK + @retval E_INVALIDARG if bad [in] passed + */ + [propget] HRESULT relation + ( + [in] long relationIndex, + [out, retval] IAccessibleRelation **relation + ); + + /** @brief Returns multiple accessible relations for this object. + @param [in] maxRelations + maximum size of the array allocated by the client + @param [out] relations + The array of accessible relation objects. Note that this array is to be + allocated by the client and freed when no longer needed. Refer to @ref + _arrayConsideration "Special Consideration when using Arrays" for more details. + @param [out] nRelations + actual number of relations in the returned array (not more than maxRelations) + @retval S_OK + @retval S_FALSE if there are no relations, nRelations is set to 0 + @note As a performant alternative, client code should consider using IAccessible2_2::relationTargetsOfType. + */ + [propget] HRESULT relations + ( + [in] long maxRelations, + [out, size_is(maxRelations), length_is(*nRelations)] + IAccessibleRelation **relations, + [out, retval] long *nRelations + ); + + /** @brief Returns the role of an %IAccessible2 object. + @param [out] role + The role of an %IAccessible2 object. + @retval S_OK + @note + @li For convenience MSAA roles are also passed through this method so the + AT doesn't have to also fetch roles through MSAA's get_accRole. + @li %IAccessible2 roles should not be passed through MSAA's get_accRole. + @li For compatibility with non IAccessible2 enabled ATs, IAccessible2 + applications should also add support to get_accRole to return the closest + MSAA role or ROLE_SYSTEM_CLIENT (the MSAA defined default role) if there + is not a good match. + @li This method is missing a [propget] prefix in the IDL. The result is the + method is named role in generated C++ code instead of get_role. + */ + HRESULT role + ( + [out, retval] long *role + ); + + /** @brief Makes an object visible on the screen. + @param [in] scrollType + Defines where the object should be placed on the screen. + @retval S_OK + @retval E_INVALIDARG if bad [in] passed + */ + HRESULT scrollTo + ( + [in] enum IA2ScrollType scrollType + ); + + /** @brief Moves the top left of an object to a specified location. + + @param [in] coordinateType + Specifies whether the coordinates are relative to the screen or the parent object. + @param [in] x + Defines the x coordinate. + @param [in] y + Defines the y coordinate. + @retval S_OK + @retval E_INVALIDARG if bad [in] passed + */ + HRESULT scrollToPoint + ( + [in] enum IA2CoordinateType coordinateType, + [in] long x, + [in] long y + ); + + /** @brief Returns grouping information. + + Used for tree items, list items, tab panel labels, radio buttons, etc. + Also used for collections of non-text objects. + + @param [out] groupLevel + 1 based, 0 indicates that this value is not applicable + @param [out] similarItemsInGroup + 1 based, 0 indicates that this value is not applicable + @param [out] positionInGroup + 1 based, 0 indicates that this value is not applicable. This is an index + into the objects in the current group, not an index into all the objects + at the same group level. + @retval S_OK if at least one value is valid + @retval S_FALSE if no values are valid, [out] values are 0s + @note This method is meant to describe the nature of an object's containment + structure. It's exposed by trees, tree grids, nested lists, nested menus, + but not headings, which uses the level object attribute. It is also exposed + by radio buttons (with groupLevel == 0). + @note This is normally not implemented on a combo box to describe the nature + of its contents. Normally an AT will get that information from its child list + object. However, in some cases when non-edit combo boxes are not able to be structured + such that the list is a child of the combo box, this method is implemented on + the combo box itself. ATs can use this interface if a child list is not found. + */ + [propget] HRESULT groupPosition + ( + [out] long *groupLevel, + [out] long *similarItemsInGroup, + [out, retval] long *positionInGroup + ); + + /** @brief Returns the bit strip containing any IAccessible2 states. + + The IAccessible2 states are in addition to the MSAA states and are defined in + the IA2States enum. + + @param [out] states + @retval S_OK + */ + [propget] HRESULT states + ( + [out, retval] AccessibleStates *states + ); + + /** @brief Returns the extended role. + + An extended role is a role which is dynamically generated by the application. + It is not predefined by the %IAccessible2 specification. + + @param [out] extendedRole + @retval S_OK + @retval S_FALSE if there is nothing to return, [out] value is NULL + */ + [propget] HRESULT extendedRole + ( + [out, retval] BSTR *extendedRole + ); + + /** @brief Returns the localized extended role. + @param [out] localizedExtendedRole + @retval S_OK + @retval S_FALSE if there is nothing to return, [out] value is NULL + */ + [propget] HRESULT localizedExtendedRole + ( + [out, retval] BSTR *localizedExtendedRole + ); + + /** @brief Returns the number of extended states. + @param [out] nExtendedStates + @retval S_OK + */ + [propget] HRESULT nExtendedStates + ( + [out, retval] long *nExtendedStates + ); + + /** @brief Returns the extended states (array of strings). + + An extended state is a state which is dynamically generated by the application. + It is not predefined by the %IAccessible2 specification. + + @param [in] maxExtendedStates + This parameter is ignored. Refer to @ref _arrayConsideration + "Special Consideration when using Arrays" for more details. + @param [out] extendedStates + This array is allocated by the server. The client must free it with CoTaskMemFree. + @param [out] nExtendedStates + The number of extended states returned; the size of the returned array. + @retval S_OK + @retval S_FALSE if there are no states, [out] values are NULL and 0 respectively + */ + [propget] HRESULT extendedStates + ( + [in] long maxExtendedStates, + [out, size_is(,maxExtendedStates), length_is(,*nExtendedStates)] BSTR **extendedStates, + [out, retval] long *nExtendedStates + ); + + /** @brief Returns the localized extended states (array of strings). + + @param [in] maxLocalizedExtendedStates + This parameter is ignored. Refer to @ref _arrayConsideration + "Special Consideration when using Arrays" for more details. + @param [out] localizedExtendedStates + This array is allocated by the server. The client must free it with CoTaskMemFree. + @param [out] nLocalizedExtendedStates + The number of localized extended states returned; the size of the returned array. + @retval S_OK + @retval S_FALSE if there are no states, [out] values are NULL and 0 respectively + */ + [propget] HRESULT localizedExtendedStates + ( + [in] long maxLocalizedExtendedStates, + [out, size_is(,maxLocalizedExtendedStates), length_is(,*nLocalizedExtendedStates)] BSTR **localizedExtendedStates, + [out, retval] long *nLocalizedExtendedStates + ); + + /** @brief Returns the unique ID. + + The uniqueID is an identifier for this object, is unique within the + current window, and remains the same for the lifetime of the accessible + object. + + The uniqueID is not related to: + - the MSAA objectID which is used by the server to disambiguate between + IAccessibles per HWND or + - the MSAA childID which is used to disambiguate between children being + managed by an IAccessible. + + This value is provided so the AT can have access to a unique runtime persistent + identifier even when not handling an event for the object. + + An example of when this value is useful is if the AT wants to build a cache. + The AT could cache the uniqueIDs in addition to other data being cached. + When an event is fired the AT could map the uniqueID to its internal model. + Thus, if there's a REORDER/SHOW/HIDE event the AT knows which part of the + internal structure has been invalidated and can refetch just that part. + + This value can also be used by an AT to determine when the current control + has changed. If the role is the same for two controls that are adjacent in + the tab order, this can be used to detect the new control. + + Another use of this value by an AT is to identify when a grouping object has + changed, e.g. when moving from a radio button in one group to a radio button in a + different group. + + One means of implementing this would be to create a factory with a 32 bit number + generator and a reuse pool. The number generator would emit numbers starting + at 1. Each time an object's life cycle ended, its number would be saved into a + reuse pool. The number generator would be used whenever the reuse pool was empty. + + Another way to create a unique ID is to generate it from a pointer value, e.g. an + object's address. That would be unique because no two active objects can use the + same allocated memory space. + + @param [out] uniqueID + @retval S_OK + */ + [propget] HRESULT uniqueID + ( + [out, retval] long *uniqueID + ); + + /** @brief Returns the window handle for the parent window which contains this object. + + This is the same window handle which will be passed for any events that occur on the + object, but is cached in the accessible object for use when it would be helpful to + access the window handle in cases where an event isn't fired on this object. + + A use case is when a screen reader is grabbing an entire web page on a page load. + Without the availability of windowHandle, the AT would have to get the window handle + by using WindowFromAccessibleObject on each IAccessible, which is slow because it's + implemented by oleacc.dll as a loop which crawls up the ancestor chain and looks for + a ROLE_WINDOW object, mapping that back to a window handle. + + @param [out] windowHandle + @retval S_OK + */ + [propget] HRESULT windowHandle + ( + [out, retval] HWND *windowHandle + ); + + /** @brief Returns the index of this object in its parent object. + @param [out] indexInParent + 0 based; -1 indicates there is no parent; the upper bound is the value + returned by the parent's IAccessible::get_accChildCount. + @retval S_OK + @retval S_FALSE if no parent, [out] value is -1 + */ + [propget] HRESULT indexInParent + ( + [out, retval] long *indexInParent + ); + + /** @brief Returns the IA2Locale of the accessible object. + @param [out] locale + @retval S_OK + */ + [propget] HRESULT locale + ( + [out, retval] IA2Locale *locale + ); + + /** @brief Returns the attributes specific to this object, such as a cell's formula. + @param [out] attributes + @retval S_OK + @retval S_FALSE returned if there is nothing to return, [out] value is NULL + */ + [propget] HRESULT attributes + ( + [out, retval] BSTR *attributes + ); + +} + +/************************************************************************* + * + * File Name (Accessible2_2.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2013 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ + + + + + + +/** @brief This interface exposes the primary set of information about an + IAccessible2 enabled accessible object. + + This interface must always be provided for objects that support some + portion of the collection of the %IAccessible2 interfaces. + + Please refer to @ref _changingInterfaces "Changing between Accessible Interfaces" + for special considerations related to use of the MSAA IAccessible interface and + the set of %IAccessible2 interfaces. + */ +[object, uuid(6C9430E9-299D-4E6F-BD01-A82A1E88D3FF)] +interface IAccessible2_2 : IAccessible2 +{ + /** @brief Returns the attribute value of a specified attribute specific to this object. + @param [in] name + @param [out] attribute + @retval S_OK + @retval S_FALSE returned if there is nothing to return, [out] value is NULL. + @retval E_INVALIDARG if bad [in] passed. + @note The output value is a VARIANT. Typically it will be a VT_BSTR, but there + are some cases where it will be a VT_I4 or VT_BOOL. Refer to the <a href= + "http://www.linuxfoundation.org/collaborate/workgroups/accessibility/iaccessible2/objectattributesIAccessible2"> + Object Attributes specification</a> for more information. + */ + [propget] HRESULT attribute + ( + [in] BSTR name, + [out, retval] VARIANT *attribute + ); + + /** @brief Returns the deepest hypertext accessible in the subtree of this object, and the caret offset within it. + @param [out] accessible + @param [out] caretOffset + @retval S_OK + @retval S_FALSE returned if there is no caret in any of the objects in the subtree, [out] accessible is NULL and [out] caretOffset is -1. + */ + [propget] HRESULT accessibleWithCaret + ( + [out] IUnknown **accessible, + [out, retval] long *caretOffset + ); + + /** @brief Returns relation targets for a specified target type. + @param [in] type + The requested @ref grpRelations "relation type". + @param [in] maxTargets + The number of targets requested. 0 indicates that all targets should be returned. + @param [out] targets + This array is allocated by the server. The client must free it with CoTaskMemFree. + @param [out] nTargets + The number of targets returned; the size of the returned array. + @retval S_OK + @retval S_FALSE if there are no targets, [out] values are NULL and 0 respectively. + @retval E_INVALIDARG if bad [in] passed. + */ + [propget] HRESULT relationTargetsOfType + ( + [in] BSTR type, + [in] long maxTargets, + [out, size_is(,*nTargets)] IUnknown ***targets, + [out, retval] long *nTargets + ); + +} + +/************************************************************************* + * + * File Name (AccessibleComponent.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2010 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ + + + + + +/** A value specifying a color in ARGB format, where each 8 bit color component +specifies alpha, red, green, and blue respectively. The alpha value is optional. +*/ +typedef long IA2Color; + +/** @brief This interface is implemented by any object that can be rendered + on the screen. + + This interface provides the standard mechanism for an assistive technology + to retrieve information concerning the graphical representation of an object. + Coordinates used by the functions of this interface are specified in + different coordinate systems. Their scale is the same and is equal to + that of the screen coordinate system. In other words all coordinates + are measured in pixels. They differ in their respective origin: + <ul> + <li>The screen coordinate system has its origin in the upper left + corner of the current screen.</li> + <li>The origin of the parent coordinate system is the upper left corner + of the parent's bounding box. With no parent the screen coordinate + system is used instead.</li> + </ul> +*/ +[object, uuid(1546D4B0-4C98-4bda-89AE-9A64748BDDE4)] +interface IAccessibleComponent : IUnknown +{ + + /** @brief Returns the location of the upper left corner of the object's + bounding box relative to the immediate parent object. + + The coordinates of the bounding box are given relative to the parent's + coordinate system. The coordinates of the returned position are relative + to this object's parent or relative to the screen on which this object + is rendered if it has no parent. If the object is not on any screen + the returned position is (0,0). + + @param [out] x + @param [out] y + @retval S_OK + */ + [propget] HRESULT locationInParent + ( + [out] long *x, + [out, retval] long *y + ); + + /** @brief Returns the foreground color of this object. + @param [out] foreground + The returned color is the foreground color of this object or, if + that is not supported, the default foreground color. + @retval S_OK + */ + [propget] HRESULT foreground + ( + [out, retval] IA2Color *foreground + ); + + /** @brief Returns the background color of this object. + @param [out] background + The returned color is the background color of this object or, if + that is not supported, the default background color. + @retval S_OK + */ + [propget] HRESULT background + ( + [out, retval] IA2Color *background + ); +} +/************************************************************************* + * + * File Name (AccessibleValue.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2010 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ + + + + + +/** @brief This interface gives access to a single numerical value. + + The %IAccessibleValue interface represents a single numerical value and should + be implemented by any class that supports numerical value like progress bars + and spin boxes. This interface lets you access the value and its upper and + lower bounds. +*/ +[object, uuid(35855B5B-C566-4fd0-A7B1-E65465600394)] +interface IAccessibleValue : IUnknown +{ + + /** @brief Returns the value of this object as a number. + + The exact return type is implementation dependent. Typical types are long and + double. + @param [out] currentValue + Returns the current value represented by this object. See the section about + @ref _variants "VARIANTs" for additional information. + @retval S_OK + @retval S_FALSE if there is nothing to return, [out] value is a VARIANT with vt = VT_EMPTY + */ + [propget] HRESULT currentValue + ( + [out, retval] VARIANT *currentValue + ); + + /** @brief Sets the value of this object to the given number. + + The argument is clipped to the valid interval whose upper and lower + bounds are returned by the methods IAccessibleValue::maximumValue and + IAccessibleValue::minimumValue, i.e. if it is lower than the minimum + value the new value will be the minimum and if it is greater than the + maximum then the new value will be the maximum. + + @param [in] value + The new value represented by this object. The set of admissible types for + this argument is implementation dependent. + @retval S_OK + */ + HRESULT setCurrentValue + ( + [in] VARIANT value + ); + + /** @brief Returns the maximal value that can be represented by this object. + + The type of the returned value is implementation dependent. It does not have + to be the same type as that returned by method IAccessibleValue::currentValue. + + @param [out] maximumValue + Returns the maximal value in an implementation dependent type. If this object + has no upper bound then an empty object is returned. See the section about + @ref _variants "VARIANTs" for additional information. + @retval S_OK + @retval S_FALSE if there is nothing to return, [out] value is a VARIANT with vt = VT_EMPTY + */ + [propget] HRESULT maximumValue + ( + [out, retval] VARIANT *maximumValue + ); + + /** @brief Returns the minimal value that can be represented by this object. + + The type of the returned value is implementation dependent. It does not have + to be the same type as that returned by method IAccessibleValue::currentValue. + + @param [out] minimumValue + Returns the minimal value in an implementation dependent type. If this object + has no lower bound then an empty object is returned. See the section about + @ref _variants "VARIANTs" for additional information. + @retval S_OK + @retval S_FALSE if there is nothing to return, [out] value is a VARIANT with vt = VT_EMPTY + */ + [propget] HRESULT minimumValue + ( + [out, retval] VARIANT *minimumValue + ); + +}; +/************************************************************************* + * + * File Name (AccessibleText.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2013 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ + + + + + + +/** A structure containing a substring and the start and end offsets in the enclosing string. + + IAccessibleText::newText and IAccessibleText::oldText return this struct. +*/ +typedef struct IA2TextSegment { + BSTR text; ///< A copy of a segment of text taken from an enclosing paragraph. + long start; ///< Index of the first character of the segment in the enclosing text. + long end; ///< Index of the character following the last character of the segment in the enclosing text. +} IA2TextSegment; + +/** This enum defines values which specify a text boundary type. + + IA2_TEXT_BOUNDARY_SENTENCE is optional. When a method doesn't implement this + method it must return S_FALSE. Typically this feature would not be implemented + by an application. However, if the application developer was not satisfied with + how screen readers have handled the reading of sentences this boundary type + could be implemented and screen readers could use the application's version of a + sentence rather than the screen reader's. + + The rest of the boundary types must be supported. + + This enum is used in IAccessibleText::textBeforeOffset, IAccessibleText::textAtOffset, + and IAccessibleText::textAfterOffset. +*/ + +enum IA2TextBoundaryType { + IA2_TEXT_BOUNDARY_CHAR, /**< Typically, a single character is returned. In some cases more than + one character is returned, for example, when a document contains field + data such as a field containing a date, time, or footnote reference. + In this case the caret can move over several characters in one movement + of the caret. Note that after the caret moves, the caret offset changes + by the number of characters in the field, e.g. by 8 characters in the + following date: 03/26/07. */ + IA2_TEXT_BOUNDARY_WORD, /**< The range provided matches the range observed when the application + processes the Ctrl + left arrow and Ctrl + right arrow key sequences. + Typically this is from the start of one word to the start of the next, but + various applications are inconsistent in the handling of the end of a line. */ + IA2_TEXT_BOUNDARY_SENTENCE, ///< Range is from start of one sentence to the start of another sentence. + IA2_TEXT_BOUNDARY_PARAGRAPH, ///< Range is from start of one paragraph to the start of another paragraph. + IA2_TEXT_BOUNDARY_LINE, /**< Range is from start of one line to the start of another line. This + often means that an end-of-line character will appear at the end of the + range. However in the case of some applications an end-of-line character + indicates the end of a paragraph and the lines composing the paragraph, + other than the last line, do not contain an end of line character. */ + IA2_TEXT_BOUNDARY_ALL ///< Using this value will cause all text to be returned. +}; + +/** @brief This interface gives read-only access to text. + + The %IAccessibleText interface should be implemented by all components + that present textual information on the display like buttons, + text entry fields, or text portions of the document window. The interface + provides access to the text's content, attributes, and spatial location. + However, text can not be modified with this interface. That is the task + of the IAccessibleEditableText interface. + + The text length, i.e. the number of characters in the text, is + returned by IAccessibleText::nCharacters. All methods that operate + on particular characters (e.g. IAccessibleText::textAtOffset) use character + indices from 0 to length-1. All methods that operate on character positions + (e.g. IAccessibleText::text) use indices from 0 to length. + + Please note that accessible text does not necessarily support selection. + In this case it should behave as if there where no selection. An empty + selection is used for example to express the current cursor position. + + Refer to @ref _specialOffsets + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" + for information about special offsets that can be used in %IAccessibleText methods. + + E_FAIL is returned in the following cases + @li endOffset < startOffset + @li endoffset > length +*/ +[object, uuid(24FD2FFB-3AAD-4a08-8335-A3AD89C0FB4B)] +interface IAccessibleText : IUnknown +{ + + /** @brief Adds a text selection + @param [in] startOffset + Starting offset ( 0 based). + @param [in] endOffset + Offset of first character after new selection (0 based). + @retval S_OK + @retval E_INVALIDARG if bad [in] passed + @note Refer to @ref _specialOffsets + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" + for information about special offsets that can be used in %IAccessibleText methods. + */ + HRESULT addSelection + ( + [in] long startOffset, + [in] long endOffset + ); + + /** @brief Returns text attributes. + @param [in] offset + Text offset (0 based). Refer to @ref _specialOffsets + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" + for information about special offsets that can be used in %IAccessibleText methods. + @param [out] startOffset + The starting offset of the character range over which all text attributes match + those of offset. (0 based) + @param [out] endOffset + The offset of the first character past the character range over which all text + attributes match those of offset. (0 based) + @param [out] textAttributes + A string of attributes describing the text. The attributes are described in the + <a href="http://www.linuxfoundation.org/en/Accessibility/IAccessible2/TextAttributes"> + text attributes specification</a> on the %IAccessible2 web site. + @retval S_OK + @retval S_FALSE if there is nothing to return, [out] values are 0s and NULL respectively + @retval E_INVALIDARG if bad [in] passed + */ + [propget] HRESULT attributes + ( + [in] long offset, + [out] long *startOffset, + [out] long *endOffset, + [out, retval] BSTR *textAttributes + ); + + /** @brief Returns the position of the caret. + + Returns the 0-based offset of the caret within the text. If the text is + implemented as a tree of text objects with embed characters in higher levels + representing substrings of child text objects and the caret is in one of the + child text objects, then the offset in the higher level text object would be + at the embed character representing child text object that contains the caret. + + For example, if the string "one two three" is implemented as a two text objects, + with a top level text object containing an embed character "one ? three" and a + child text object containing "two" and if the caret is in the descendant object + just before the 'o' in "two", then: + <ul> + <li>the caretOffset for the "one ? three" object would be 4, matching the embed character</li> + <li>the caretOffset for "two" would be 2, matching the "o"</li> + </ul> + The caret position/offset is that of the character logically following it, e.g. + to the right of it in a left to right language, or to the left of it in a right + to left language. + @param [out] offset + The returned offset is relative to the text represented by this object. + @retval S_OK + @retval S_FALSE if the caret is not currently active on this object, i.e. the + caret is located on some other object. The returned offset value will be -1. + @note S_FALSE (and an offset of -1) will not be returned if the caret is somewhere + in the text object or one of its descendants. + */ + [propget] HRESULT caretOffset + ( + [out, retval] long *offset + ); + + + /** @brief Returns the bounding box of the specified position. + + The virtual character after the last character of the represented + text, i.e. the one at position length is a special case. It represents the + current input position and will therefore typically be queried by AT more + often than other positions. Because it does not represent an existing character + its bounding box is defined in relation to preceding characters. It should be + roughly equivalent to the bounding box of some character when inserted at the + end of the text. Its height typically being the maximal height of all the + characters in the text or the height of the preceding character, its width being + at least one pixel so that the bounding box is not degenerate. + + Note that the index 'length' is not always valid. Whether it is or not is + implementation dependent. It typically is when text is editable or otherwise + when on the screen the caret can be placed behind the text. You can be sure + that the index is valid after you have received a ::IA2_EVENT_TEXT_CARET_MOVED + event for this index. + @param [in] offset + Index of the character for which to return its bounding box. The valid range + is 0..length. Refer to @ref _specialOffsets + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" + for information about special offsets that can be used in %IAccessibleText methods. + @param [in] coordType + Specifies if the coordinates are relative to the screen or to the parent window. + @param [out] x + X coordinate of the top left corner of the bounding box of the referenced character. + @param [out] y + Y coordinate of the top left corner of the bounding box of the referenced character. + @param [out] width + Width of the bounding box of the referenced character. + @param [out] height + Height of the bounding box of the referenced character. + @retval S_OK + @retval E_INVALIDARG if bad [in] passed + */ + [propget] HRESULT characterExtents + ( + [in] long offset, + [in] enum IA2CoordinateType coordType, + [out] long *x, + [out] long *y, + [out] long *width, + [out, retval] long *height + ); + + + /** @brief Returns the number of active non-contiguous selections + @param [out] nSelections + @retval S_OK + */ + [propget] HRESULT nSelections + ( + [out, retval] long *nSelections + ); + + /** @brief Returns the text position for the specified screen position. + + Given a point return the zero-based index of the character under that + point. The same functionality could be achieved by using the bounding + boxes for each character as returned by IAccessibleText::characterExtents. + The method IAccessibleText::offsetAtPoint, however, can be implemented + more efficiently. + + @param [in] x + The position's x value for which to look up the index of the character that + is rendered on to the display at that point. + @param [in] y + The position's y value for which to look up the index of the character that + is rendered on to the display at that point. + @param [in] coordType + Screen coordinates or window coordinates. + @param [out] offset + Index of the character under the given point or -1 if the point + is invalid or there is no character under the point. + @retval S_OK + @retval S_FALSE if nothing to return, [out] value is -1 + + @retval E_INVALIDARG if bad [in] passed + */ + [propget] HRESULT offsetAtPoint + ( + [in] long x, + [in] long y, + [in] enum IA2CoordinateType coordType, + [out, retval] long *offset + ); + + /** @brief Returns the character offsets of Nth active text selection + + Returns the 0-based starting and ending offsets of the Nth selection. If the + text is implemented as a tree of text objects with embed characters in higher + levels representing substrings of child text objects, consider the following. + If the starting selection offset is in one of the child text objects, then the + starting offset in the higher level text object would be at the embed character + representing the child text object that contains the starting selection offset. + If the ending selection offset is in one of the child text objects, then the + ending offset in the higher level text object would be just after the embed + character representing the child text object that contains the ending selection + offset. + + For example, if the string "one two three" is implemented as a two text objects, + with a top level text object containing an embed character "one ? three" and a + child text object containing "two" and if the selection is the string "two" then: + <ul> + <li>the startOffset for the "one ? three" object would be 4, matching the embed character and the endOffset would be 5.</li> + <li>the startOffset for the "two" object would be 0, and the endOffset would be 3</li> + </ul> + Selection offsets are that of the character logically following it, e.g. + to the right of it in a left to right language or to the left of it in a right to left language. + @param [in] selectionIndex + Index of selection (0 based). + @param [out] startOffset + 0 based offset of first selected character + @param [out] endOffset + 0 based offset of one past the last selected character. + @retval S_OK + @retval E_INVALIDARG if bad [in] passed + */ + [propget] HRESULT selection + ( + [in] long selectionIndex, + [out] long *startOffset, + [out, retval] long *endOffset + ); + + /** @brief Returns the substring between the two given indices. + + The substring starts with the character at startOffset (inclusive) and up to + the character at endOffset (exclusive), if startOffset is less or equal + endOffset. If endOffset is lower than startOffset, the result is the same + as a call with the two arguments being exchanged. + + The whole text can be requested by passing the indices zero and + IAccessibleText::nCharacters. If both indices have the same value, an empty + string is returned. + @param [in] startOffset + Index of the first character to include in the returned string. The valid range + is 0..length. + @param [in] endOffset + Index of the last character to exclude in the returned string. The valid range + is 0..length. + @param [out] text + Returns the substring starting with the character at startOffset (inclusive) + and up to the character at endOffset (exclusive), if startOffset is less than + or equal to endOffset. + @retval S_OK + @retval E_INVALIDARG if bad [in] passed + @note + @li The returned string may be longer than endOffset-startOffset bytes if text + contains multi-byte characters. + @li Refer to @ref _specialOffsets + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" + for information about special offsets that can be used in %IAccessibleText methods. + */ + [propget] HRESULT text + ( + [in] long startOffset, + [in] long endOffset, + [out, retval] BSTR *text + ); + + /** @brief Returns a text portion before the given position. + + Returns the substring of the specified text type that is located before the + given character and does not include it. The result of this method should be + same as a result for IAccessibleText::textAtOffset with a suitably decreased + index value. + + For example, if text type is ::IA2_TEXT_BOUNDARY_WORD, then the complete + word that is closest to and located before offset is returned. + + If the index is valid, but no text is found, S_FALSE is returned along with out + values of 0, 0, and a NULL pointer. This would happen for boundary types other + than character when the text consists entirely of whitespace. + + @param [in] offset + Index of the character for which to return the text part before it. The index + character will not be part of the returned string. The valid range is 0..length. + Refer to @ref _specialOffsets + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" + for information about special offsets that can be used in %IAccessibleText methods. + @param [in] boundaryType + The type of the text portion to return. See ::IA2TextBoundaryType for the + complete list. + @param [out] startOffset + 0 based offset of first character. + @param [out] endOffset + 0 based offset of one past the last character. + @param [out] text + Returns the requested text portion. This portion may be empty or invalid when + no appropriate text portion is found or text type is invalid. + @retval S_OK + @retval S_FALSE if the requested boundary type is not implemented, such as + ::IA2_TEXT_BOUNDARY_SENTENCE, or if there is nothing to return; + [out] values are 0s and NULL respectively + @retval E_INVALIDARG if bad [in] passed + */ + [propget] HRESULT textBeforeOffset + ( + [in] long offset, + [in] enum IA2TextBoundaryType boundaryType, + [out] long *startOffset, + [out] long *endOffset, + [out, retval] BSTR *text + ); + + /** @brief Returns a text portion after the given position. + + Returns the substring of the specified text type that is located after the + given character and does not include it. The result of this method should be + same as a result for IAccessibleText::textAtOffset with a suitably increased + index value. + + For example, if text type is ::IA2_TEXT_BOUNDARY_WORD, then the complete + word that is closest to and located after offset is returned. + + If the index is valid, but no text is found, S_FALSE is returned along with out + values of 0, 0, and a NULL pointer. This would happen for boundary types other + than character when the text consists entirely of whitespace. + + @param [in] offset + Index of the character for which to return the text part after it. The index + character will not be part of the returned string. The valid range is 0..length. + Refer to @ref _specialOffsets + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" + for information about special offsets that can be used in %IAccessibleText methods. + @param [in] boundaryType + The type of the text portion to return. See ::IA2TextBoundaryType for the complete + list. + @param [out] startOffset + 0 based offset of first character. + @param [out] endOffset + 0 based offset of one past the last character. + @param [out] text + Returns the requested text portion. This portion may be empty or invalid when + no appropriate text portion is found or text type is invalid. + @retval S_OK + @retval S_FALSE if the requested boundary type is not implemented, such as + ::IA2_TEXT_BOUNDARY_SENTENCE, or if there is nothing to return; + [out] values are 0s and NULL respectively + @retval E_INVALIDARG if bad [in] passed + */ + [propget] HRESULT textAfterOffset + ( + [in] long offset, + [in] enum IA2TextBoundaryType boundaryType, + [out] long *startOffset, + [out] long *endOffset, + [out, retval] BSTR *text + ); + + /** @brief Returns a text portion that spans the given position. + + Returns the substring defined by the specified boundary type at the specified + offset. Refer to IA2TextBoundaryType for more details. + + For the word boundary type the returned string will contain the word at the + offset if the offset is inside a word and will contain the word before the + offset if the offset is not inside a word. All offsets from the first to the + last characters of a word are considered inside the word. Boundary types of + sentence and paragraph should exhibit similar behavior. + + If the index is valid, but no text is found, S_FALSE is returned along with out + values of 0, 0, and a NULL pointer. This would happen for boundary types other + than character when the text consists entirely of whitespace. + + @param [in] offset + Index of the character for which to return the text part it belongs to. The valid + range is 0..length. + Refer to @ref _specialOffsets + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" + for information about special offsets that can be used in %IAccessibleText methods. + @param [in] boundaryType + The type of the text portion to return. See ::IA2TextBoundaryType for the complete + list. + @param [out] startOffset + 0 based offset of first character. + @param [out] endOffset + 0 based offset of one past the last character. + @param [out] text + Returns the requested text portion. This portion may be empty or invalid when + no appropriate text portion is found or text type is invalid. + @retval S_OK + @retval S_FALSE if the requested boundary type is not implemented, such as + ::IA2_TEXT_BOUNDARY_SENTENCE, or if there is nothing to return; + [out] values are 0s and NULL respectively + @retval E_INVALIDARG if bad [in] passed + */ + [propget] HRESULT textAtOffset + ( + [in] long offset, + [in] enum IA2TextBoundaryType boundaryType, + [out] long *startOffset, + [out] long *endOffset, + [out, retval] BSTR *text + ); + + /** @brief Unselects a range of text. + @param [in] selectionIndex + Index of selection to remove (0 based). + @retval S_OK + @retval E_INVALIDARG if bad [in] passed + */ + HRESULT removeSelection + ( + [in] long selectionIndex + ); + + /** @brief Sets the position of the caret. + + The caret position/offset is that of the character logically following it, + e.g. to the right of it in a left to right language. + + Setting the caret position may or may not alter the current selection. A + change of the selection is notified to the accessibility event listeners with + an ::IA2_EVENT_TEXT_SELECTION_CHANGED event. + + When the new caret position differs from the old one (which, of course, is the + standard case) this is notified to the accessibility event listeners with an + ::IA2_EVENT_TEXT_CARET_MOVED event. + @param [in] offset + The new index of the caret. This caret is actually placed to the left side of + the character with that index. An index of 0 places the caret so that the next + insertion goes before the first character. An index of IAccessibleText::nCharacters + leads to insertion after the last character. Refer to @ref _specialOffsets + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" + for information about special offsets that can be used in %IAccessibleText methods. + @retval S_OK + @retval E_FAIL if the caret cannot be set + @retval E_INVALIDARG if bad [in] passed + */ + HRESULT setCaretOffset + ( + [in] long offset + ); + + /** @brief Changes the bounds of an existing selection. + @param [in] selectionIndex + Index of selection to change (0 based) + @param [in] startOffset + New starting offset (0 based) + @param [in] endOffset + New ending offset (0 based) - the offset of the character just past the last character of the selection. + @retval S_OK + @retval E_INVALIDARG if bad [in] passed + @note Refer to @ref _specialOffsets + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" + for information about special offsets that can be used in %IAccessibleText methods. + */ + HRESULT setSelection + ( + [in] long selectionIndex, + [in] long startOffset, + [in] long endOffset + ); + + /** @brief Returns total number of characters. + + Note that this may be different than the total number of bytes required to store the + text, if the text contains multi-byte characters. + @param [out] nCharacters + @retval S_OK + */ + [propget] HRESULT nCharacters + ( + [out, retval] long *nCharacters + ); + + /** @brief Makes a specific part of string visible on screen. + @param [in] startIndex + 0 based character offset. + @param [in] endIndex + 0 based character offset - the offset of the character just past the last character of the string. + @param [in] scrollType + Defines where the object should be placed on the screen. + @retval S_OK + @retval E_INVALIDARG if bad [in] passed + @note Refer to @ref _specialOffsets + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" + for information about special offsets that can be used in %IAccessibleText methods. + */ + HRESULT scrollSubstringTo + ( + [in] long startIndex, + [in] long endIndex, + [in] enum IA2ScrollType scrollType + ); + + /** @brief Moves the top left of a substring to a specified location. + + @param [in] startIndex + 0 based character offset. + @param [in] endIndex + 0 based character offset - the offset of the character just past the last character of the string. + @param [in] coordinateType + Specifies whether the coordinates are relative to the screen or the parent object. + @param [in] x + Defines the x coordinate. + @param [in] y + Defines the y coordinate. + @retval S_OK + @retval S_FALSE if the object is already at the specified location. + @retval E_INVALIDARG if bad [in] passed + @note Refer to @ref _specialOffsets + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" + for information about special offsets that can be used in %IAccessibleText methods. + */ + HRESULT scrollSubstringToPoint + ( + [in] long startIndex, + [in] long endIndex, + [in] enum IA2CoordinateType coordinateType, + [in] long x, + [in] long y + ); + + /** @brief Returns any inserted text. + + Provided for use by the ::IA2_EVENT_TEXT_INSERTED and ::IA2_EVENT_TEXT_UPDATED + event handlers. + + This data is only guaranteed to be valid while the thread notifying the event + continues. Once the handler has returned, the validity of the data depends on + how the server manages the life cycle of its objects. Also, note that the server + may have different life cycle management strategies for controls depending on + whether or not a control manages its children. Lists, trees, and tables can have + a large number of children and thus it's possible that the child objects for those + controls would only be created as needed. Servers should document their life cycle + strategy as this will be of interest to assistive technology or script engines + accessing data out of process or from other threads. Servers only need to save the + last inserted block of text and a scope of the entire application is adequate. + + @param [out] newText + The text that was just inserted. + @retval S_OK + @retval S_FALSE If there is nothing to return, the values of IA2TextSegment + struct are set as follows: text = NULL, start = 0, end = 0. + + */ + [propget] HRESULT newText + ( + [out, retval] IA2TextSegment *newText + ); + + /** @brief Returns any removed text. + + Provided for use by the IA2_EVENT_TEXT_REMOVED/UPDATED event handlers. + + This data is only guaranteed to be valid while the thread notifying the event + continues. Once the handler has returned, the validity of the data depends on + how the server manages the life cycle of its objects. Also, note that the server + may have different life cycle management strategies for controls depending on + whether or not a control manages its children. Lists, trees, and tables can have + a large number of children and thus it's possible that the child objects for those + controls would only be created as needed. Servers should document their life cycle + strategy as this will be of interest to assistive technology or script engines + accessing data out of process or from other threads. Servers only need to save the + last removed block of text and a scope of the entire application is adequate. + + @param [out] oldText + The text that was just removed. + @retval S_OK + @retval S_FALSE If there is nothing to return, the values of IA2TextSegment + struct are set as follows: text = NULL, start = 0, end = 0. + */ + [propget] HRESULT oldText + ( + [out, retval] IA2TextSegment *oldText + ); + +} +/************************************************************************* + * + * File Name (AccessibleText2.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2013 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ + + + + + + + +/** @brief This interface gives read-only access to text. + + The %IAccessibleText2 interface extends the functionality of the + %IAccessibleText interface. +*/ +[object, uuid(9690A9CC-5C80-4DF5-852E-2D5AE4189A54)] +interface IAccessibleText2 : IAccessibleText +{ + + /** @brief Returns the range and of the specified set of attributes. + + Return the range (start and end offsets) and text attributes that correspond + to the given attributes filter at the given offset. + + @param [in] offset + The offset at which to search for the attributes specified in the filter. + @param [in] filter + The requested attribute names. The filter format is "attribute1, attribute2". + @param [out] startOffset + The starting (0-based) offset of the text containing the specified attributes. + @param [out] endOffset + The (0-based) offset one past the last character of the text containing the + specified attributes. + @param [out] attributeValues + The values of the requested attributes. + @retval S_OK + @retval S_FALSE if nothing to return, [out] values are -1, -1, NULL respectively. + @retval E_INVALIDARG if bad [in] passed. + */ + [propget] HRESULT attributeRange + ( + [in] long offset, + [in] BSTR filter, + [out] long *startOffset, + [out] long *endOffset, + [out, retval] BSTR *attributeValues + ); + +} +/************************************************************************* + * + * File Name (AccessibleEditableText.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2012 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ + + + + + + +/** @brief This interface provides clipboard capability to text objects. + + This interface is typically used in conjunction with the IAccessibleText + interface and complements that interface with the additional capability of + clipboard operations. Note that even a read only text object can support + the copy capability so this interface is not limited to editable objects. + + The substrings used with this interface are specified as follows: + If startOffset is less than endOffset, the substring starts with the + character at startOffset and ends with the character just before endOffset. + If endOffset is lower than startOffset, the result is the same as a call + with the two arguments exchanged. The whole text can be defined by passing + the indices zero and IAccessibleText::nCharacters. If both indices have the + same value, an empty string is defined. + + Refer to the @ref _specialOffsets + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" + for information about a special offset constant that can be used in %IAccessibleEditableText methods. +*/ +[object, uuid(A59AA09A-7011-4b65-939D-32B1FB5547E3)] +interface IAccessibleEditableText : IUnknown +{ + + /** @brief Copies the text range into the clipboard. + + The selection is set to the specified offsets and then selection is copied into + the system clipboard. + + @param [in] startOffset + Start index of the text to moved into the clipboard. + The valid range is 0..length. + @param [in] endOffset + End index of the text to moved into the clipboard. + The valid range is 0..length. + @retval S_OK + @retval E_INVALIDARG if bad [in] passed + @note Refer to @ref _specialOffsets + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" + for information about special offsets that can be used in %IAccessibleEditableText + methods. + @deprecated This function is available via the application's GUI. + */ + HRESULT copyText + ( + [in] long startOffset, + [in] long endOffset + ); + + /** @brief Deletes a range of text. + + The text between and including the two given indices is deleted + from the text represented by this object. + + @param [in] startOffset + Start index of the text to be deleted. + The valid range is 0..length. + @param [in] endOffset + End index of the text to be deleted. + The valid range is 0..length. + @retval S_OK + @retval E_INVALIDARG if bad [in] passed + @note Refer to @ref _specialOffsets + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" + for information about special offsets that can be used in %IAccessibleEditableText + methods. + */ + HRESULT deleteText + ( + [in] long startOffset, + [in] long endOffset + ); + + /** @brief Inserts text at the specified position. + + The specified string is inserted at the given index into the text + represented by this object. + + @param [in] offset + Index at which to insert the text. + The valid range is 0..length. + Refer to @ref _specialOffsets + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" + for information about special offsets that can be used in %IAccessibleEditableText + methods. + @param [in] text + Text that is inserted. + @retval S_OK + @retval E_INVALIDARG if bad [in] passed + */ + HRESULT insertText + ( + [in] long offset, + [in] BSTR *text + ); + + /** @brief Deletes a range of text and copies it to the clipboard. + + The selection is set to the specified offsets, the selection is then copied into + the system clipboard, and then the selection is deleted. + + @param [in] startOffset + Start index of the text to be deleted. + The valid range is 0..length. + @param [in] endOffset + End index of the text to be deleted. + The valid range is 0..length. + @retval S_OK + @retval E_INVALIDARG if bad [in] passed + @note Refer to @ref _specialOffsets + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" + for information about special offsets that can be used in %IAccessibleEditableText + methods. + @deprecated This function is available via the application's GUI. + */ + HRESULT cutText + ( + [in] long startOffset, + [in] long endOffset + ); + + /** @brief Pastes content from the clipboard. + + Any existing selection is removed, the clipboard content is then pasted into + this object's text at the given offset. This method is similar to the insertText + method. If the index is not valid the system clipboard content is not inserted. The + behavior is the same as when Ctrl+V is used, i.e. the pasted contents are not + necessarily plain text. + + @param [in] offset + Index at which to insert the content from the system clipboard into + the text represented by this object. + The valid range is 0..length. + Refer to @ref _specialOffsets + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" + for information about special offsets that can be used in %IAccessibleEditableText + methods. + @retval S_OK + @retval E_INVALIDARG if bad [in] passed + @deprecated This function is available via the application's GUI. + */ + HRESULT pasteText + ( + [in] long offset + ); + + /** @brief Replaces text. + + The text between the two given indices is replaced by the specified + replacement string. This method is equivalent to calling first + IAccessibleEditableText::deleteText with the two indices and then + calling IAccessibleEditableText::insertText with the replacement text + at the start index. + + @param [in] startOffset + Start index of the text to be replaced. + The valid range is 0..length. + @param [in] endOffset + End index of the text to be replaced. + The valid range is 0..length. + @param [in] text + The Text that replaces the text between the given indices. + @retval S_OK + @retval E_INVALIDARG if bad [in] passed + @note Refer to @ref _specialOffsets + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" + for information about special offsets that can be used in %IAccessibleEditableText + methods. + */ + HRESULT replaceText + ( + [in] long startOffset, + [in] long endOffset, + [in] BSTR *text + ); + + /** @brief Replaces the attributes of a text range by the given set of attributes. + + Sets the attributes for the text between the two given indices. The old + attributes are replaced by the new list of attributes. + + @param [in] startOffset + Start index of the text whose attributes are modified. + The valid range is 0..length. + @param [in] endOffset + End index of the text whose attributes are modified. + The valid range is 0..length. + @param [in] attributes + Set of attributes that replaces the old list of attributes of + the specified text portion. + @retval S_OK + @retval E_INVALIDARG if bad [in] passed + @note Refer to @ref _specialOffsets + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" + for information about special offsets that can be used in %IAccessibleEditableText + methods. + */ + HRESULT setAttributes + ( + [in] long startOffset, + [in] long endOffset, + [in] BSTR *attributes + ); +} + +/************************************************************************* + * + * File Name (AccessibleHyperlink.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2010 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ + + + + + + +/** @brief This interface represents hyperlinks. + + This interface represents a hyperlink associated with a single substring + of text or single non-text object. Non-text objects can have either a + single link or a collection of links such as when the non-text object is + an image map. + + Linked objects and anchors are implementation dependent. This interface is derived + from IAccessibleAction. IAccessibleAction::nActions is one greater than the + maximum value for the indices used with the methods of this interface. + + Furthermore, the object that implements this interface has to be connected + implicitly or explicitly with an object that implements IAccessibleText. + IAccessibleHyperlink::startIndex and IAccessibleHyperlink::endIndex are + indices with respect to the text exposed by IAccessibleText. + + This interface provides access to a single object which can have multiple actions. + An example is an image map which is an image with multiple links each of which is + associated with a separate non-overlapping area of the image. This interface could + also be applied to other kinds of objects with multiple actions such as "smart tags" + which are objects, typically strings, which have multiple actions such as + "Activate URI", "Bookmark URI", etc. + + An interesting use case is an image map where each area is associated with multiple + actions, e.g. an image map of smart tags. In this case you would have to implement + two levels of accessible hyperlinks. The first level hyperlinks would only implement + anchor and anchorTarget. The anchors would all reference the image object. The + anchorTargets would reference the second level accessible hyperlink objects. None + of the IAccessibleAction methods would be implemented on the first level hyperlink + objects. The second level hyperlink objects would implement the IAccessibleAction + methods. Their anchors would also reference the image object and their anchorTargets + would reference URLs or the objects that would be activated. + + This use case demonstrates that in some cases there is no need for IAccessibleHyperlink + to derive from IAccessibleAction. As a result it may be removed in a later version of + the IDL and it is suggested that implementations should not rely on the inheritance. + +*/ +[object, uuid(01C20F2B-3DD2-400f-949F-AD00BDAB1D41)] +interface IAccessibleHyperlink : IAccessibleAction +{ + + /** @brief Returns an object that represents the link anchor, as appropriate + for the link at the specified index. + @param [in] index + A 0 based index identifies the anchor when, as in the case of an image map, + there is more than one link represented by this object. The valid maximal + index is indicated by IAccessibleAction::nActions. + @param [out] anchor + This is an implementation dependent value. For example, for a text link this + method could return the substring of the containing string where the substring + is overridden with link behavior, and for an image link this method could return + an IUnknown VARIANT for IAccessibleImage. See the section about + @ref _variants "VARIANTs" for additional information. + @retval S_OK + @retval E_INVALIDARG if bad [in] passed + */ + [propget] HRESULT anchor + ( + [in] long index, + [out, retval] VARIANT *anchor + ); + + /** @brief Returns an object representing the target of the link, as appropriate + for the link at the specified index. + @param [in] index + A 0 based index identifies the anchor when, as in the case of an image map, + there is more than one link represented by this object. The valid maximal + index is indicated by IAccessibleAction::nActions. + @param [out] anchorTarget + This is an implementation dependent value. For example this method could + return a BSTR VARIANT of the URI. Alternatively this method could return an + IUnknown VARIANT of a COM interface representing a target object to be + activated when the link is activated. See the section about + @ref _variants "VARIANTs" for additional information. + @retval S_OK + @retval E_INVALIDARG if bad [in] passed + */ + [propget] HRESULT anchorTarget + ( + [in] long index, + [out, retval] VARIANT *anchorTarget + ); + + /** @brief Returns the 0 based character offset at which the textual representation of the hyperlink starts. + + The returned value is related to the IAccessibleText interface of the object that + owns this hyperlink. + @param [out] index + @retval S_OK + */ + [propget] HRESULT startIndex + ( + [out, retval] long *index + ); + + /** @brief Returns the 0 based character offset at which the textual representation of the hyperlink ends. + + The returned value is related to the IAccessibleText interface of the object that + owns this hyperlink. The character at the index is not part of the hypertext. + @param [out] index + @retval S_OK + */ + [propget] HRESULT endIndex + ( + [out, retval] long *index + ); + + /** @brief Returns whether the target object referenced by this link is still valid. + + This is a volatile state that may change without sending an appropriate event. + Returns TRUE if the referenced target is still valid and FALSE otherwise. + + This has also been used to indicate whether or not the URI of the anchorTarget + is malformed. + + @param [out] valid + If false, one or more of the object's links are invalid. + If true, all of the object's links are valid. + @retval S_OK + @retval S_FALSE if there is nothing to return, [out] value is FALSE + @note This method is not being used, is deprecated, and should not be implemented or + used. It is likely that this method will be removed in a later version of the IDL. + */ + [propget] HRESULT valid + ( + [out, retval] boolean *valid + ); +} +/************************************************************************* + * + * File Name (AccessibleHypertext.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2010 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ + + + + + + + +/** @brief This interface exposes information about hypertext in a document. + + The %IAccessibleHypertext interface is the main interface to expose + hyperlinks in a document, typically a text document, that are used + to reference other documents. A typical implementation is to implement + this interface on the smallest text object such as a paragraph of text. +*/ +[object, uuid(6B4F8BBF-F1F2-418a-B35E-A195BC4103B9)] +interface IAccessibleHypertext : IAccessibleText +{ + + /** @brief Returns the number of links and link groups contained within this hypertext + paragraph. + @param [out] hyperlinkCount + The number of links and link groups within this hypertext paragraph. + Returns 0 if there is no link. + @retval S_OK + */ + [propget] HRESULT nHyperlinks + ( + [out, retval] long *hyperlinkCount + ); + + /** @brief Returns the specified link. + + The returned IAccessibleHyperlink object encapsulates the hyperlink and + provides several kinds of information describing it. + @param [in] index + This 0 based index specifies the hyperlink to return. + @param [out] hyperlink + If the given index is valid, i.e. lies in the interval from 0 to the number + of links minus one, a reference to the specified hyperlink object is returned. + If the index is invalid then a NULL pointer is returned. + @retval S_OK + @retval E_INVALIDARG if bad [in] passed + */ + [propget] HRESULT hyperlink + ( + [in] long index, + [out, retval] IAccessibleHyperlink **hyperlink + ); + + /** @brief Returns the index of the hyperlink that is associated with this character index. + + This is the case when a link spans the given character index. + @param [in] charIndex + A 0 based index of the character for which to return the link index. If + IAccessibleText is used to represent the text containing the link, then the + character index is only valid if it is greater than or equal to zero and + lower than the number of characters in the text. + @param [out] hyperlinkIndex + Returns the 0 based index of the hyperlink that is associated with this + character index, or -1 if charIndex is not on a link. + @retval S_OK + @retval S_FALSE if there is nothing to return, [out] value is -1 + @retval E_INVALIDARG if bad [in] passed + */ + [propget] HRESULT hyperlinkIndex + ( + [in] long charIndex, + [out, retval] long *hyperlinkIndex + ); + +} +/************************************************************************* + * + * File Name (AccessibleHypertext2.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2013 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ + + + + + + + +/** @brief This interface exposes information about hypertext in a document. + + The %IAccessibleHypertext2 interface extends the functinality of the + %IAccessibleHypertext inteface. +*/ +[object, uuid(CF64D89F-8287-4B44-8501-A827453A6077)] +interface IAccessibleHypertext2 : IAccessibleHypertext +{ + + /** @brief Returns the links for this object. + + The returned IAccessibleHyperlink objects encapsulate the hyperlink and + provides several kinds of information describing it. + + @param [out] hyperlinks + This array is allocated by the server. The client must free it with CoTaskMemFree. + @param [out] nHyperlinks + The number of links returned; the size of the returned array. + @retval S_OK + @retval S_FALSE if there are no links, [out] values are NULL and 0 respectively + */ + [propget] HRESULT hyperlinks + ( + [out, size_is(,*nHyperlinks)] IAccessibleHyperlink ***hyperlinks, + [out, retval] long *nHyperlinks + ); + +} +/************************************************************************* + * + * File Name (AccessibleTable.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2013 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ + + + + + + + +/** @brief This interface gives access to a two-dimensional table. + + Typically all accessible objects that represent cells or cell-clusters of a table + will be at the same time children of the table. In this case IAccessible2::indexInParent + will return the child index which then can be used when calling IAccessibleTable::rowIndex + and IAccessibleTable::columnIndex. + + However, in some cases that kind of implementation will not be possible. When + the table cells are not direct children of a table, the object representing + the cell can define a "table-cell-index" object attribute identifying the 0 + based table cell index. This object attribute is obtained by parsing the + attribute string returned by IAccessible2::attributes. The "table-cell-index" + attribute can be used just like a child index of the typical case. ATs should + first test for the presence of the "table-cell-index" attribute and if it is not + present then IAccessible2::indexInParent can be used as in the typical case + where cells are direct children of the table. + + The range of valid coordinates for this interface are implementation dependent. + However, that range includes at least the intervals from the from the first row + or column with the index 0 up to the last (but not including) used row or column + as returned by IAccessibleTable::nRows and IAccessibleTable::nColumns. + + Note that newer implementations are now using IAccessibleTable2 and IAccessibleTableCell + rather than this interface. +*/ +[object, uuid(35AD8070-C20C-4fb4-B094-F4F7275DD469)] +interface IAccessibleTable : IUnknown +{ + + /** @brief Returns the accessible object at the specified row and column in + the table. This object could be an IAccessible or an IAccessible2. + @param [in] row + The 0 based row index for which to retrieve the cell. + @param [in] column + The 0 based column index for which to retrieve the cell. + @param [out] accessible + If both row and column index are valid then the corresponding accessible + object is returned that represents the requested cell regardless of whether + the cell is currently visible (on the screen). + @retval S_OK + @retval E_INVALIDARG if bad [in] passed, [out] value is NULL + */ + [propget] HRESULT accessibleAt + ( + [in] long row, + [in] long column, + [out, retval] IUnknown **accessible + ); + + /** @brief Returns the caption for the table. The returned object could be + an IAccessible or an IAccessible2. + @param [out] accessible + If the table has a caption then a reference to it is returned, else a NULL + pointer is returned. + @retval S_OK + @retval S_FALSE if there is nothing to return, [out] value is NULL + */ + [propget] HRESULT caption + ( + [out, retval] IUnknown **accessible + ); + + /** @brief Translates the given row and column indexes into the corresponding cell index. + @param [in] rowIndex + 0 based row index for the cell. + @param [in] columnIndex + 0 based column index for the cell. + @param [out] cellIndex + Returns the 0 based index of the cell at the specified row and column indexes. + @retval S_OK + @retval E_INVALIDARG if bad [in] passed, [out] value is 0 + @note The returned value is not necessarily a child index of the immediate parent. + In cases where the table cells are not direct children of the table the index + is actually the cell index, i.e. conceptually it's an index into a one dimensional + array of cells laid out in row order. + */ + [propget] HRESULT childIndex + ( + [in] long rowIndex, + [in] long columnIndex, + [out, retval] long *cellIndex + ); + + /** @brief Returns the description text of the specified column in the table. + @param [in] column + The 0 based index of the column for which to retrieve the description. + @param [out] description + Returns the description text of the specified column in the table if such a + description exists. Otherwise a NULL pointer is returned. + @retval S_OK + @retval S_FALSE if there is nothing to return, [out] value is NULL + @retval E_INVALIDARG if bad [in] passed, [out] value is NULL + */ + [propget] HRESULT columnDescription + ( + [in] long column, + [out, retval] BSTR *description + ); + + /** @brief Returns the number of columns occupied by the accessible object + at the specified row and column in the table. + + The result is greater than 1 if the specified cell spans multiple columns. + @param [in] row + 0 based row index of the accessible for which to return the column extent. + @param [in] column + 0 based column index of the accessible for which to return the column extent. + @param [out] nColumnsSpanned + Returns the 1 based column extent of the specified cell. + @retval S_OK + @retval E_INVALIDARG if bad [in] passed, [out] value is 0 + */ + [propget] HRESULT columnExtentAt + ( + [in] long row, + [in] long column, + [out, retval] long *nColumnsSpanned + ); + + /** @brief Returns the column headers as an %IAccessibleTable object. + + Content and size of the returned table are implementation dependent. + @param [out] accessibleTable + The column header + @param [out] startingRowIndex + The 0 based row index where the header starts, usually 0. + @retval S_OK + @retval S_FALSE if there is no header, [out] values are NULL and 0 respectively + */ + [propget] HRESULT columnHeader + ( + [out] IAccessibleTable **accessibleTable, + [out, retval] long *startingRowIndex + ); + + /** @brief Translates the given cell index into the corresponding column index. + @param [in] cellIndex + 0 based index of the cell in the parent or closest ancestor table. Typically this + is the value returned from IAccessible2::indexInParent, but in the case where the + table cells are not direct children of the table this is the cell index specified + by the "table-cell-index" object attribute obtained from parsing the attributes + string returned by calling IAccessible2::attributes on the cell object. + @param [out] columnIndex + Returns the 0 based column index of the cell of the specified child or the index of + the first column if the child spans multiple columns. + @retval S_OK + @retval E_INVALIDARG if bad [in] passed, [out] value is 0 + */ + [propget] HRESULT columnIndex + ( + [in] long cellIndex, + [out, retval] long *columnIndex + ); + + /** @brief Returns the total number of columns in table + @param [out] columnCount + Number of columns in table (including columns outside the current viewport) + @retval S_OK + */ + [propget] HRESULT nColumns + ( + [out, retval] long *columnCount + ); + + /** @brief Returns the total number of rows in table + @param [out] rowCount + Number of rows in table (including rows outside the current viewport) + @retval S_OK + */ + [propget] HRESULT nRows + ( + [out, retval] long *rowCount + ); + + /** @brief Returns the total number of selected cells + @param [out] cellCount + Number of cells currently selected + @retval S_OK + */ + [propget] HRESULT nSelectedChildren + ( + [out, retval] long *cellCount + ); + + /** @brief Returns the total number of selected columns + @param [out] columnCount + Number of columns currently selected + @retval S_OK + */ + [propget] HRESULT nSelectedColumns + ( + [out, retval] long *columnCount + ); + + /** @brief Returns the total number of selected rows + @param [out] rowCount + Number of rows currently selected + @retval S_OK + */ + [propget] HRESULT nSelectedRows + ( + [out, retval] long *rowCount + ); + + /** @brief Returns the description text of the specified row in the table. + @param [in] row + The 0 based index of the row for which to retrieve the description. + @param [out] description + Returns the description text of the specified row in the table if such a + description exists. Otherwise a NULL pointer is returned. + @retval S_OK + @retval S_FALSE if there is nothing to return, [out] value is NULL + @retval E_INVALIDARG if bad [in] passed, [out] value is NULL + */ + [propget] HRESULT rowDescription + ( + [in] long row, + [out, retval] BSTR *description + ); + + /** @brief Returns the number of rows occupied by the accessible object + at the specified row and column in the table. + + The result is greater than 1 if the specified cell spans multiple rows. + @param [in] row + 0 based row index of the accessible for which to return the row extent. + @param [in] column + 0 based column index of the accessible for which to return the row extent. + @param [out] nRowsSpanned + Returns the row extent of the specified cell. + @retval S_OK + @retval E_INVALIDARG if bad [in] passed, [out] value is 0 + */ + [propget] HRESULT rowExtentAt + ( + [in] long row, + [in] long column, + [out, retval] long *nRowsSpanned + ); + + /** @brief Returns the row headers as an %IAccessibleTable object. + + Content and size of the returned table are implementation dependent. + @param [out] accessibleTable + The row header. + @param [out] startingColumnIndex + The 0 based column index where the header starts, usually 0. + @retval S_OK + @retval S_FALSE if there is no header, [out] values are NULL and 0 respectively + */ + [propget] HRESULT rowHeader + ( + [out] IAccessibleTable **accessibleTable, + [out, retval] long *startingColumnIndex + ); + + /** @brief Translates the given cell index into a row index. + @param [in] cellIndex + 0 based index of the cell in the parent or closest ancestor table. Typically this + is the value returned from IAccessible2::indexInParent, but in the case where the + table cells are not direct children of the table this is the cell index specified + by the "table-cell-index" object attribute obtained from parsing the attributes + string returned by calling IAccessible2::attributes on the cell object. + @param [out] rowIndex + 0 based row index + @retval S_OK + @retval E_INVALIDARG if bad [in] passed, [out] value is 0 + */ + [propget] HRESULT rowIndex + ( + [in] long cellIndex, + [out, retval] long *rowIndex + ); + + /** @brief Returns a list of cell indexes currently selected (0 based). + @param [in] maxChildren + This parameter is ignored. Refer to @ref _arrayConsideration + "Special Consideration when using Arrays" for more details. + @param [out] children + An array of cell indexes of selected cells (each index is 0 based), + allocated by the server. The client must free it with CoTaskMemFree. + @param [out] nChildren + The number of cell indexes returned; the size of the returned array. + @retval S_OK + @retval S_FALSE if there are none, [out] values are NULL and 0 respectively + */ + [propget] HRESULT selectedChildren + ( + [in] long maxChildren, + [out, size_is(,maxChildren), length_is(,*nChildren)] long **children, + [out, retval] long *nChildren + ); + + /** @brief Returns a list of column indexes currently selected (0 based). + @param [in] maxColumns + This parameter is ignored. Refer to @ref _arrayConsideration + "Special Consideration when using Arrays" for more details. + @param [out] columns + An array of column indexes of selected columns (each index is 0 based), allocated + by the server. The client must free it with CoTaskMemFree. + @param [out] nColumns + The number of column indexes returned; the size of the returned array. + @retval S_OK + @retval S_FALSE if there are none, [out] values are NULL and 0 respectively + */ + [propget] HRESULT selectedColumns + ( + [in] long maxColumns, + [out, size_is(,maxColumns), length_is(,*nColumns)] long **columns, + [out, retval] long *nColumns + ); + + /** @brief Returns a list of row indexes currently selected (0 based). + @param [in] maxRows + This parameter is ignored. Refer to @ref _arrayConsideration + "Special Consideration when using Arrays" for more details. + @param [out] rows + An array of row indexes of selected rows (each index is 0 based), allocated + by the server. The client must free it with CoTaskMemFree. + @param [out] nRows + The number of row indexes returned; the size of the returned array. + @retval S_OK + @retval S_FALSE if there are none, [out] values are NULL and 0 respectively + */ + [propget] HRESULT selectedRows + ( + [in] long maxRows, + [out, size_is(,maxRows), length_is(,*nRows)] long **rows, + [out, retval] long *nRows + ); + + /** @brief Returns the summary description of the table. The returned object could be + an IAccessible or an IAccessible2. + @param [out] accessible + Returns a reference to an implementation dependent accessible object + representing the table's summary or a NULL pointer if the table + does not support a summary. + @retval S_OK + @retval S_FALSE if there is nothing to return, [out] value is NULL + */ + [propget] HRESULT summary + ( + [out, retval] IUnknown **accessible + ); + + /** @brief Returns a boolean value indicating whether the specified column is + completely selected. + @param [in] column + 0 based index of the column for which to determine whether it is selected. + @param [out] isSelected + Returns TRUE if the specified column is selected completely and FALSE otherwise. + @retval S_OK + @retval E_INVALIDARG if bad [in] passed, [out] value is FALSE + */ + [propget] HRESULT isColumnSelected + ( + [in] long column, + [out, retval] boolean *isSelected + ); + + /** @brief Returns a boolean value indicating whether the specified row is completely + selected. + @param [in] row + 0 based index of the row for which to determine whether it is selected. + @param [out] isSelected + Returns TRUE if the specified row is selected completely and FALSE otherwise. + @retval S_OK + @retval E_INVALIDARG if bad [in] passed, [out] value is FALSE + */ + [propget] HRESULT isRowSelected + ( + [in] long row, + [out, retval] boolean *isSelected + ); + + /** @brief Returns a boolean value indicating whether the specified cell is selected. + @param [in] row + 0 based index of the row for the cell to determine whether it is selected. + @param [in] column + 0 based index of the column for the cell to determine whether it is selected. + @param [out] isSelected + Returns TRUE if the specified cell is selected and FALSE otherwise. + @retval S_OK + @retval E_INVALIDARG if bad [in] passed, [out] value is FALSE + */ + [propget] HRESULT isSelected + ( + [in] long row, + [in] long column, + [out, retval] boolean *isSelected + ); + + /** @brief Selects a row and unselects all previously selected rows. + @param [in] row + 0 based index of the row to be selected. + @retval S_OK + @retval E_INVALIDARG if bad [in] passed + */ + HRESULT selectRow + ( + [in] long row + ); + + /** @brief Selects a column and unselects all previously selected columns. + @param [in] column + 0 based index of the column to be selected. + @retval S_OK + @retval E_INVALIDARG if bad [in] passed + */ + HRESULT selectColumn + ( + [in] long column + ); + + /** @brief Unselects one row, leaving other selected rows selected (if any). + @param [in] row + 0 based index of the row to be unselected. + @retval S_OK + @retval E_INVALIDARG if bad [in] passed + */ + HRESULT unselectRow + ( + [in] long row + ); + + /** @brief Unselects one column, leaving other selected columns selected (if any). + @param [in] column + 0 based index of the column to be unselected. + @retval S_OK + @retval E_INVALIDARG if bad [in] passed + */ + HRESULT unselectColumn + ( + [in] long column + ); + + /** @brief Given a cell index, gets the row and column indexes and extents of a cell + and whether or not it is selected. + + This is a convenience function. It is not mandatory to implement it. + @param [in] index + 0 based index of this cell in the table. + @param [out] row + 0 based row index. + @param [out] column + 0 based column index. + @param [out] rowExtents + Number of cells spanned by this cell in this row. + @param [out] columnExtents + Number of cells spanned by this cell in this column. + @param [out] isSelected + Indicates if the specified cell is selected. + @retval S_OK + @retval E_INVALIDARG if bad [in] passed, [out] values are 0s and FALSE respectively + */ + [propget] HRESULT rowColumnExtentsAtIndex + ( + [in] long index, + [out] long *row, + [out] long *column, + [out] long *rowExtents, + [out] long *columnExtents, + [out, retval] boolean *isSelected + ); + + /** @brief Returns the type and extents describing how a table changed. + + Provided for use by the IA2_EVENT_TABLE_MODEL_CHANGED event handler. + + This data is only guaranteed to be valid while the thread notifying the event + continues. Once the handler has returned, the validity of the data depends on + how the server manages the life cycle of its objects. Also, note that the server + may have different life cycle management strategies for controls depending on + whether or not a control manages its children. Lists, trees, and tables can have + a large number of children and thus it's possible that the child objects for those + controls would only be created as needed. Servers should document their life cycle + strategy as this will be of interest to assistive technology or script engines + accessing data out of process or from other threads. Servers only need to save the + most recent row and column values associated with the change and a scope of the + entire application is adequate. + + @param [out] modelChange + A struct of (type(insert, delete, update), firstRow, lastRow, firstColumn, lastColumn). + @retval S_OK + @retval S_FALSE if there is nothing to return, [out] value is NULL + */ + [propget] HRESULT modelChange + ( + [out, retval] IA2TableModelChange *modelChange + ); + +} +/************************************************************************* + * + * File Name (AccessibleTable2.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2012 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ + + + + + + + +/** @brief This interface gives access to a two-dimensional table. + + Please also refer to the IAccessibleTableCell interface. + + If you want to support older applications you should also support the + IAccessibleTable inteface. +*/ +[object, uuid(6167f295-06f0-4cdd-a1fa-02e25153d869)] +interface IAccessibleTable2 : IUnknown +{ + + /** @brief Returns the accessible object at the specified row and column in + the table. This object could be an IAccessible or an IAccessible2. + @param [in] row + The 0 based row index for which to retrieve the cell. + @param [in] column + The 0 based column index for which to retrieve the cell. + @param [out] cell + If both row and column index are valid then the corresponding accessible + object is returned that represents the requested cell regardless of whether + the cell is currently visible (on the screen). + @retval S_OK + @retval E_INVALIDARG if bad [in] passed + */ + [propget] HRESULT cellAt + ( + [in] long row, + [in] long column, + [out, retval] IUnknown **cell + ); + + /** @brief Returns the caption for the table. The returned object could be + an IAccessible or an IAccessible2. + @param [out] accessible + If the table has a caption then a reference to it is returned, else a NULL + pointer is returned. + @retval S_OK + @retval S_FALSE if there is nothing to return, [out] value is NULL + @deprecated use a describedBy relation + */ + [propget] HRESULT caption + ( + [out, retval] IUnknown **accessible + ); + + /** @brief Returns the description text of the specified column in the table. + @param [in] column + The 0 based index of the column for which to retrieve the description. + @param [out] description + Returns the description text of the specified column in the table if such a + description exists. Otherwise a NULL pointer is returned. + @retval S_OK + @retval S_FALSE if there is nothing to return, [out] value is NULL + @retval E_INVALIDARG if bad [in] passed + */ + [propget] HRESULT columnDescription + ( + [in] long column, + [out, retval] BSTR *description + ); + + + /** @brief Returns the total number of columns in table + @param [out] columnCount + Number of columns in table (including columns outside the current viewport) + @retval S_OK + */ + [propget] HRESULT nColumns + ( + [out, retval] long *columnCount + ); + + /** @brief Returns the total number of rows in table + @param [out] rowCount + Number of rows in table (including rows outside the current viewport) + @retval S_OK + */ + [propget] HRESULT nRows + ( + [out, retval] long *rowCount + ); + + /** @brief Returns the total number of selected cells + @param [out] cellCount + Number of cells currently selected + @retval S_OK + */ + [propget] HRESULT nSelectedCells + ( + [out, retval] long *cellCount + ); + + /** @brief Returns the total number of selected columns + @param [out] columnCount + Number of columns currently selected + @retval S_OK + */ + [propget] HRESULT nSelectedColumns + ( + [out, retval] long *columnCount + ); + + /** @brief Returns the total number of selected rows + @param [out] rowCount + Number of rows currently selected + @retval S_OK + */ + [propget] HRESULT nSelectedRows + ( + [out, retval] long *rowCount + ); + + /** @brief Returns the description text of the specified row in the table. + @param [in] row + The 0 based index of the row for which to retrieve the description. + @param [out] description + Returns the description text of the specified row in the table if such a + description exists. Otherwise a NULL pointer is returned. + @retval S_OK + @retval S_FALSE if there is nothing to return, [out] value is NULL + @retval E_INVALIDARG if bad [in] passed + */ + [propget] HRESULT rowDescription + ( + [in] long row, + [out, retval] BSTR *description + ); + + /** @brief Returns a list of accessibles currently selected. + @param [out] cells + Pointer to an array of references to selected accessibles. The array is + allocated by the server with CoTaskMemAlloc and freed by the client with + CoTaskMemFree. + @param [out] nSelectedCells + The number of accessibles returned; the size of the returned array. + @retval S_OK + @retval S_FALSE if there are none, [out] values are NULL and 0 respectively + */ + [propget] HRESULT selectedCells + ( + [out, size_is(,*nSelectedCells)] IUnknown ***cells, + [out, retval] long *nSelectedCells + ); + + /** @brief Returns a list of column indexes currently selected (0 based). + @param [out] selectedColumns + A pointer to an array of column indexes of selected columns (each index is + 0 based). The array is allocated by the server with CoTaskMemAlloc and + freed by the client with CoTaskMemFree. + @param [out] nColumns + The number of column indexes returned; the size of the returned array. + @retval S_OK + @retval S_FALSE if there are none, [out] values are NULL and 0 respectively + */ + [propget] HRESULT selectedColumns + ( + [out, size_is(,*nColumns)] long **selectedColumns, + [out, retval] long *nColumns + ); + + /** @brief Returns a list of row indexes currently selected (0 based). + @param [out] selectedRows + An array of row indexes of selected rows (each index is 0 based). The array + is allocated by the server with CoTaskMemAlloc and freed by the client with + CoTaskMemFree. + @param [out] nRows + The number of row indexes returned; the size of the returned array. + @retval S_OK + @retval S_FALSE if there are none, [out] values are NULL and 0 respectively + */ + [propget] HRESULT selectedRows + ( + [out, size_is(,*nRows)] long **selectedRows, + [out, retval] long *nRows + ); + + /** @brief Returns the summary description of the table. The returned object could be + an IAccessible or an IAccessible2. + @param [out] accessible + Returns a reference to an implementation dependent accessible object + representing the table's summary or a NULL pointer if the table + does not support a summary. + @retval S_OK + @retval S_FALSE if there is nothing to return, [out] value is NULL + @deprecated Use the labeledBy relation + */ + [propget] HRESULT summary + ( + [out, retval] IUnknown **accessible + ); + + /** @brief Returns a boolean value indicating whether the specified column is + completely selected. + @param [in] column + 0 based index of the column for which to determine whether it is selected. + @param [out] isSelected + Returns TRUE if the specified column is selected completely and FALSE otherwise. + @retval S_OK + @retval E_INVALIDARG if bad [in] passed + */ + [propget] HRESULT isColumnSelected + ( + [in] long column, + [out, retval] boolean *isSelected + ); + + /** @brief Returns a boolean value indicating whether the specified row is completely + selected. + @param [in] row + 0 based index of the row for which to determine whether it is selected. + @param [out] isSelected + Returns TRUE if the specified row is selected completely and FALSE otherwise. + @retval S_OK + @retval E_INVALIDARG if bad [in] passed + */ + [propget] HRESULT isRowSelected + ( + [in] long row, + [out, retval] boolean *isSelected + ); + + /** @brief Selects a row and unselects all previously selected rows. + + The behavior should mimic that of the application, but for those applications + which do not have a means in the GUI to select a full row of cells the behavior + should be as follows: First any selected rows in the table are unselected. Then + the entire row of cells for the specified row is selected. If any of the + cells in the selected row span additional rows, the cells in those rows + are also selected. + @param [in] row + 0 based index of the row to be selected. + @retval S_OK + @retval E_INVALIDARG if bad [in] passed + */ + HRESULT selectRow + ( + [in] long row + ); + + /** @brief Selects a column and unselects all previously selected columns. + + The behavior should mimic that of the application, but for those applications + which do not have a means in the GUI to select a full column of cells the behavior + should be as follows: First any selected columns in the table are unselected. Then + the entire column of cells for the specified column is selected. If any of the + cells in the selected column span additional columns, the cells in those columns + are also selected. + @param [in] column + 0 based index of the column to be selected. + @retval S_OK + @retval E_INVALIDARG if bad [in] passed + */ + HRESULT selectColumn + ( + [in] long column + ); + + /** @brief Unselects one row, leaving other selected rows selected (if any). + + The behavior should mimic that of the application, but for those applications + which do not have a means in the GUI to unselect a full row of cells the + behavior should be as follows: The entire row of cells for the specified + row is unselected. If any of the cells in the selected row span additional + rows, the cells in those rows are also unselected. + @param [in] row + 0 based index of the row to be unselected. + @retval S_OK + @retval E_INVALIDARG if bad [in] passed + */ + HRESULT unselectRow + ( + [in] long row + ); + + /** @brief Unselects one column, leaving other selected columns selected (if any). + + The behavior should mimic that of the application, but for those applications + which do not have a means in the GUI to unselect a full column of cells the + behavior should be as follows: The entire column of cells for the specified + column is unselected. If any of the cells in the selected column span additional + columns, the cells in those columns are also unselected. + @param [in] column + 0 based index of the column to be unselected. + @retval S_OK + @retval E_INVALIDARG if bad [in] passed + */ + HRESULT unselectColumn + ( + [in] long column + ); + + /** @brief Returns the type and extents describing how a table changed. + + Provided for use by the IA2_EVENT_TABLE_MODEL_CHANGED event handler. + + This data is only guaranteed to be valid while the thread notifying the event + continues. Once the handler has returned, the validity of the data depends on + how the server manages the life cycle of its objects. Also, note that the server + may have different life cycle management strategies for controls depending on + whether or not a control manages its children. Lists, trees, and tables can have + a large number of children and thus it's possible that the child objects for those + controls would only be created as needed. Servers should document their life cycle + strategy as this will be of interest to assistive technology or script engines + accessing data out of process or from other threads. Servers only need to save the + most recent row and column values associated with the change and a scope of the + entire application is adequate. + + @param [out] modelChange + A struct of (type(insert, delete, update), firstRow, lastRow, firstColumn, lastColumn). + @retval S_OK + @retval S_FALSE if there is nothing to return, [out] value is NULL + */ + [propget] HRESULT modelChange + ( + [out, retval] IA2TableModelChange *modelChange + ); + +} +/************************************************************************* + * + * File Name (AccessibleTableCell.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2013 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ + + + + + + +/** @brief This interface gives access to the cells of a two-dimensional table. + + Please also refer to the IAccessibleTable2 interface. + +*/ +[object, uuid(594116B1-C99F-4847-AD06-0A7A86ECE645)] +interface IAccessibleTableCell : IUnknown +{ + + /** @brief Returns the number of columns occupied by this cell accessible. + + The result is greater than 1 if the specified cell spans multiple columns. + @param [out] nColumnsSpanned + Returns the 1 based column extent of the specified cell. + @retval S_OK + */ + [propget] HRESULT columnExtent + ( + [out, retval] long *nColumnsSpanned + ); + + /** @brief Returns the column headers as an array of cell accessibles. + + @param [out] cellAccessibles + Pointer to an array of references to cell accessibles. The array is allocated + by the server. The client must free it with CoTaskMemFree. + @param [out] nColumnHeaderCells + The number of accessibles returned; the size of the returned array. + @retval S_OK + @retval S_FALSE if there is no header, [out] values are NULL and 0 respectively + */ + [propget] HRESULT columnHeaderCells + ( + [out, size_is(,*nColumnHeaderCells)] IUnknown ***cellAccessibles, + [out, retval] long *nColumnHeaderCells + ); + + /** @brief Translates this cell accessible into the corresponding column index. + + @param [out] columnIndex + Returns the 0 based column index of the cell of the specified cell or the index of + the first column if the cell spans multiple columns. + @retval S_OK + */ + [propget] HRESULT columnIndex + ( + [out, retval] long *columnIndex + ); + + /** @brief Returns the number of rows occupied by this cell accessible. + + @param [out] nRowsSpanned + Returns the row extent of the specified cell. + @retval S_OK + */ + [propget] HRESULT rowExtent + ( + [out, retval] long *nRowsSpanned + ); + + /** @brief Returns the row headers as an array of cell accessibles. + + @param [out] cellAccessibles + Pointer to an array of references to cell accessibles. The array is allocated + by the server. The client must free it with CoTaskMemFree. + @param [out] nRowHeaderCells + The number of accessibles returned; the size of the returned array. + @retval S_OK + @retval S_FALSE if there is no header, [out] values are NULL and 0 respectively + */ + [propget] HRESULT rowHeaderCells + ( + [out, size_is(,*nRowHeaderCells)] IUnknown ***cellAccessibles, + [out, retval] long *nRowHeaderCells + ); + + /** @brief Translates this cell accessible into the corresponding row index. + + @param [out] rowIndex + Returns the 0 based row index of the specified cell or the index of + the first row if the cell spans multiple rows. + @retval S_OK + */ + [propget] HRESULT rowIndex + ( + [out, retval] long *rowIndex + ); + + /** @brief Returns a boolean value indicating whether this cell is selected. + + @param [out] isSelected + Returns TRUE if the specified cell is selected and FALSE otherwise. + @retval S_OK + */ + [propget] HRESULT isSelected + ( + [out, retval] boolean *isSelected + ); + + /** @brief Gets the row and column indexes and extents of this cell accessible + and whether or not it is selected. + + This is a convenience function. It is not mandatory to implement it. + @param [out] row + 0 based row index. + @param [out] column + 0 based column index. + @param [out] rowExtents + Number of cells spanned by this cell in this row. + @param [out] columnExtents + Number of cells spanned by this cell in this column. + @param [out] isSelected + Indicates if the specified cell is selected. + @retval S_OK + */ + [propget] HRESULT rowColumnExtents + ( + [out] long *row, + [out] long *column, + [out] long *rowExtents, + [out] long *columnExtents, + [out, retval] boolean *isSelected + ); + + /** @brief Returns a reference to the accessbile of the containing table. + + @param [out] table + Returns a reference to the IUnknown of the containing table. + @retval S_OK + */ + [propget] HRESULT table + ( + [out, retval] IUnknown **table + ); + +} +/************************************************************************* + * + * File Name (AccessibleImage.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2010 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ + + + + + + +/** @brief This interface represents images and icons. + + This interface is used for a representation of images like icons on buttons. + %IAccessibleImage only needs to be implemented in certain situations. Some + examples are: + <ol> + <li>The accessible name and description are not enough to fully + describe the image, e.g. when the accessible description is used to define the + behavior of an actionable image and the image itself conveys semantically + significant information. + <li>The user can edit the content that includes an + image and therefore the user needs to be able to review the image's position. + </ol> +*/ +[object, uuid(FE5ABB3D-615E-4f7b-909F-5F0EDA9E8DDE)] +interface IAccessibleImage : IUnknown +{ + /** @brief Returns the localized description of the image. + @param [out] description + @retval S_OK + @retval S_FALSE if there is nothing to return, [out] value is NULL + */ + [propget] HRESULT description + ( + [out, retval] BSTR *description + ); + + /** @brief Returns the coordinates of the image. + @param [in] coordinateType + Specifies whether the returned coordinates should be relative to the screen or the parent object. + @param [out] x + @param [out] y + @retval S_OK + */ + [propget] HRESULT imagePosition + ( + [in] enum IA2CoordinateType coordinateType, + [out] long *x, + [out, retval] long *y + ); + + /** @brief Returns the size of the image in units specified by parent's coordinate system. + @param [out] height + @param [out] width + @retval S_OK + */ + + [propget] HRESULT imageSize + ( + [out] long *height, + [out, retval] long *width + ); +} +/************************************************************************* + * + * File Name (AccessibleEventID.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2010 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ + +/** %IAccessible2 specific event constants + + This enum defines the event IDs fired by %IAccessible2 objects. The event IDs + are in addition to those used by MSAA. +*/ +enum IA2EventID { + + /** The change of the number or attributes of actions of an accessible + object is signaled by events of this type. + */ + IA2_EVENT_ACTION_CHANGED = 0x101, + + /** <b>Deprecated.</b> The active descendant of a component has changed. + + Note: This event constant is misspelled and thus is deprecated and will be + removed in a later version. Please use the correctly spelled version which + follows. + */ + IA2_EVENT_ACTIVE_DECENDENT_CHANGED, + + /** The active descendant of a component has changed. The active descendant + is used in objects with transient children. + + Note: Due to the fact that MSAA's WinEvents don't allow the active child index + to be passed on the IA2_EVENT_ACTIVE_DESCENDANT_CHANGED event the manages + descendants scheme can't be used. Instead the active child object has to fire + MSAA's EVENT_OBJECT_FOCUS. In a future release a new event mechanism may be + added to provide for event specific data to be passed with the event. At that + time the IA2_EVENT_ACTIVE_DECENDENT_CHANGED event and + IA2_STATE_MANAGES_DESCENDANTS state would be useful. + */ + IA2_EVENT_ACTIVE_DESCENDANT_CHANGED = IA2_EVENT_ACTIVE_DECENDENT_CHANGED, + + /** The document wide attributes of the document object have changed. + */ + IA2_EVENT_DOCUMENT_ATTRIBUTE_CHANGED, + + /** The contents of the document have changed. + */ + IA2_EVENT_DOCUMENT_CONTENT_CHANGED, + + /** The loading of the document has completed. + */ + IA2_EVENT_DOCUMENT_LOAD_COMPLETE, + + /** The loading of the document was interrupted. + */ + IA2_EVENT_DOCUMENT_LOAD_STOPPED, + + /** The document contents are being reloaded. + */ + IA2_EVENT_DOCUMENT_RELOAD, + + /** The ending index of this link within the containing string has changed. + */ + IA2_EVENT_HYPERLINK_END_INDEX_CHANGED, + + /** The number of anchors associated with this hyperlink object has changed. + */ + IA2_EVENT_HYPERLINK_NUMBER_OF_ANCHORS_CHANGED, + + /** The hyperlink selected state changed from selected to unselected or + from unselected to selected. + */ + IA2_EVENT_HYPERLINK_SELECTED_LINK_CHANGED, + + /** One of the links associated with the hypertext object has been activated. + */ + IA2_EVENT_HYPERTEXT_LINK_ACTIVATED, + + /** One of the links associated with the hypertext object has been selected. + */ + IA2_EVENT_HYPERTEXT_LINK_SELECTED, + + /** The starting index of this link within the containing string has changed. + */ + IA2_EVENT_HYPERLINK_START_INDEX_CHANGED, + + /** Focus has changed from one hypertext object to another, or focus moved + from a non-hypertext object to a hypertext object, or focus moved from a + hypertext object to a non-hypertext object. + */ + IA2_EVENT_HYPERTEXT_CHANGED, + + /** The number of hyperlinks associated with a hypertext object changed + */ + IA2_EVENT_HYPERTEXT_NLINKS_CHANGED, + + /** An object's attributes changed. + Also see ::IA2_EVENT_TEXT_ATTRIBUTE_CHANGED. + */ + IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED, + + /** A slide changed in a presentation document or a page boundary was + crossed in a word processing document. + */ + IA2_EVENT_PAGE_CHANGED, + + /** The caret moved from one section to the next. + */ + IA2_EVENT_SECTION_CHANGED, + + /** A table caption changed. + */ + IA2_EVENT_TABLE_CAPTION_CHANGED, + + /** A table's column description changed. + */ + IA2_EVENT_TABLE_COLUMN_DESCRIPTION_CHANGED, + + /** A table's column header changed. + */ + IA2_EVENT_TABLE_COLUMN_HEADER_CHANGED, + + /** A table's data changed. + */ + IA2_EVENT_TABLE_MODEL_CHANGED, + + /** A table's row description changed. + */ + IA2_EVENT_TABLE_ROW_DESCRIPTION_CHANGED, + + /** A table's row header changed. + */ + IA2_EVENT_TABLE_ROW_HEADER_CHANGED, + + /** A table's summary changed. + */ + IA2_EVENT_TABLE_SUMMARY_CHANGED, + + /** A text object's attributes changed. + Also see ::IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED. + */ + IA2_EVENT_TEXT_ATTRIBUTE_CHANGED, + + /** The caret has moved to a new position. + */ + IA2_EVENT_TEXT_CARET_MOVED, + + /** <b>Deprecated.</b> This event is equivalent to ::IA2_EVENT_TEXT_UPDATED. + */ + IA2_EVENT_TEXT_CHANGED, + + /** The caret moved from one column to the next. + */ + IA2_EVENT_TEXT_COLUMN_CHANGED, + + /** Text was inserted. + */ + IA2_EVENT_TEXT_INSERTED, + + /** Text was removed. + */ + IA2_EVENT_TEXT_REMOVED, + + /** This event indicates general text changes, i.e. changes to text that are + exposed through the IAccessibleText interface. For compatibility with ATK/AT-SPI + which does not have an equivalent event, servers can alternatively fire + ::IA2_EVENT_TEXT_REMOVED and ::IA2_EVENT_TEXT_INSERTED. + */ + IA2_EVENT_TEXT_UPDATED, + + /** The text selection changed. Later versions of Microsoft development environments + have an equivalent event identified, EVENT_OBJECT_TEXTSELECTIONCHANGED. Servers + should use that if it is available and use IA2_EVENT_TEXT_SELECTION_CHANGED otherwise. + Clients should be prepared to respond to either event. + + */ + IA2_EVENT_TEXT_SELECTION_CHANGED, + + /** A visible data event indicates the change of the visual appearance + of an accessible object. This includes for example most of the + attributes available via the IAccessibleComponent interface. + */ + IA2_EVENT_VISIBLE_DATA_CHANGED + +}; +/************************************************************************* + * + * File Name (AccessibleApplication.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2010 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ + + + + + + +/** @brief This interface gives access to the application's name and version information. + + This interface provides the AT with the information it needs to differentiate + this application from other applications, from other versions of this + application, or from other versions of this application running on different + versions of an accessibility bridge or accessibility toolkit. + + Servers implementing IAccessible2 should provide access to the %IAccessibleApplication + interface via QueryService from any object so that ATs can easily determine specific + information about the application such as its name or version. +*/ +[object, uuid(D49DED83-5B25-43F4-9B95-93B44595979E)] +interface IAccessibleApplication : IUnknown +{ + + /** @brief Returns the application name. + @param [out] name + @retval S_OK + @retval S_FALSE if there is nothing to return, [out] value is NULL + */ + [propget] HRESULT appName + ( + [out, retval] BSTR *name + ); + + /** @brief Returns the application version. + @param [out] version + The version string must not contain levels when it is know beforehand that + this information will never require a change in a client's behavior. + For example, use "3.6.0" rather than "3.6.0.v201005131500". + @retval S_OK + @retval S_FALSE if there is nothing to return, [out] value is NULL + */ + [propget] HRESULT appVersion + ( + [out, retval] BSTR *version + ); + + /** @brief Returns the toolkit/bridge name. + @param [out] name + @retval S_OK + @retval S_FALSE if there is nothing to return, [out] value is NULL + */ + [propget] HRESULT toolkitName + ( + [out, retval] BSTR *name + ); + + /** @brief Returns the toolkit/bridge version. + @param [out] version + The version string must not contain levels when it is know beforehand that + this information will never require a change in a client's behavior. + For example, use "3.6.0" rather than "3.6.0.v201005131500". + @retval S_OK + @retval S_FALSE if there is nothing to return, [out] value is NULL + */ + [propget] HRESULT toolkitVersion + ( + [out, retval] BSTR *version + ); + +} + +/************************************************************************* + * + * File Name (AccessibleDocument.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2013 Linux Foundation + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ + + + + + +/** @brief This interface represents documents. + + This interface is used for a representation of documents. +*/ +[object, uuid(C48C7FCF-4AB5-4056-AFA6-902D6E1D1149)] +interface IAccessibleDocument : IUnknown +{ + /** @brief Returns the most recently used anchor target within a document. + + A document's most recently targeted in-page anchor is returned. A typical use + of this method is to fetch the anchor target within an HTML document. In this + case anchor targets are those which have been defined with the <a> tag. + + @param [out] accessible + @retval S_OK + @retval S_FALSE if there are no existing valid anchor targets, [out] value is NULL. + */ + [propget] HRESULT anchorTarget + ( + [out, retval] IUnknown **accessible + ); + +} +/************************************************************************* + * + * File Name (IA2TypeLibrary.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2012 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ + +// This is not a standalone file. It is to be appended to the end of the +// merged IDL file. + +cpp_quote("") +cpp_quote("// Type Library Definitions") +cpp_quote("") + +[ + uuid(CE3F726E-D1D3-44FE-B995-FF1DB3B48B2B), + helpstring("IAccessible2 Type Library"), + version(1.3), + hidden +] + +library IAccessible2Lib +{ + importlib ("stdole2.tlb"); + importlib ("oleacc.dll"); + interface IAccessible2; + interface IAccessible2_2; + interface IAccessibleAction; + interface IAccessibleApplication; + interface IAccessibleComponent; + interface IAccessibleDocument; + interface IAccessibleEditableText; + interface IAccessibleHyperlink; + interface IAccessibleHypertext; + interface IAccessibleHypertext2; + interface IAccessibleImage; + interface IAccessibleRelation; + interface IAccessibleTable; + interface IAccessibleTable2; + interface IAccessibleTableCell; + interface IAccessibleText; + interface IAccessibleText2; + interface IAccessibleValue; + enum IA2CoordinateType; + enum IA2EventID; + enum IA2Role; + enum IA2ScrollType; + enum IA2States; + enum IA2TableModelChangeType; + enum IA2TextBoundaryType; + enum IA2TextSpecialOffsets; +} diff --git a/src/3rdparty/sqlite/shell.c b/src/3rdparty/sqlite/shell.c index a74dcdb85d..3ca4b094bc 100644 --- a/src/3rdparty/sqlite/shell.c +++ b/src/3rdparty/sqlite/shell.c @@ -33,6 +33,9 @@ #include <stdio.h> #include <assert.h> #include "sqlite3.h" +#if SQLITE_USER_AUTHENTICATION +# include "sqlite3userauth.h" +#endif #include <ctype.h> #include <stdarg.h> @@ -432,19 +435,24 @@ static char *one_input_line(FILE *in, char *zPrior, int isContinuation){ return zResult; } -struct previous_mode_data { - int valid; /* Is there legit data in here? */ - int mode; - int showHeader; - int colWidth[100]; +/* +** Shell output mode information from before ".explain on", +** saved so that it can be restored by ".explain off" +*/ +typedef struct SavedModeInfo SavedModeInfo; +struct SavedModeInfo { + int valid; /* Is there legit data in here? */ + int mode; /* Mode prior to ".explain on" */ + int showHeader; /* The ".header" setting prior to ".explain on" */ + int colWidth[100]; /* Column widths prior to ".explain on" */ }; /* -** An pointer to an instance of this structure is passed from -** the main program to the callback. This is used to communicate -** state and mode information. +** State information about the database connection is contained in an +** instance of the following structure. */ -struct callback_data { +typedef struct ShellState ShellState; +struct ShellState { sqlite3 *db; /* The database */ int echoOn; /* True to echo input commands */ int autoEQP; /* Run EXPLAIN QUERY PLAN prior to seach SQL stmt */ @@ -457,6 +465,7 @@ struct callback_data { int mode; /* An output mode setting */ int writableSchema; /* True if PRAGMA writable_schema=ON */ int showHeader; /* True to show column names in List or Column mode */ + unsigned shellFlgs; /* Various flags */ char *zDestTable; /* Name of destination table when MODE_Insert */ char separator[20]; /* Separator character for MODE_List */ char newline[20]; /* Record separator in MODE_Csv */ @@ -464,9 +473,7 @@ struct callback_data { int actualWidth[100]; /* Actual width of each column */ char nullvalue[20]; /* The text to print when a NULL comes back from ** the database */ - struct previous_mode_data explainPrev; - /* Holds the mode information just before - ** .explain ON */ + SavedModeInfo normalMode;/* Holds the mode just before .explain ON */ char outfile[FILENAME_MAX]; /* Filename for *out */ const char *zDbFilename; /* name of the database file */ char *zFreeOnClose; /* Filename to free when closing */ @@ -479,6 +486,13 @@ struct callback_data { }; /* +** These are the allowed shellFlgs values +*/ +#define SHFLG_Scratch 0x00001 /* The --scratch option is used */ +#define SHFLG_Pagecache 0x00002 /* The --pagecache option is used */ +#define SHFLG_Lookaside 0x00004 /* Lookaside memory is used */ + +/* ** These are the allowed modes. */ #define MODE_Line 0 /* One column per line. Blank line between records */ @@ -522,7 +536,7 @@ static int strlen30(const char *z){ ** A callback for the sqlite3_log() interface. */ static void shellLog(void *pArg, int iErrCode, const char *zMsg){ - struct callback_data *p = (struct callback_data*)pArg; + ShellState *p = (ShellState*)pArg; if( p->pLog==0 ) return; fprintf(p->pLog, "(%d) %s\n", iErrCode, zMsg); fflush(p->pLog); @@ -664,7 +678,7 @@ static const char needCsvQuote[] = { ** the null value. Strings are quoted if necessary. The separator ** is only issued if bSep is true. */ -static void output_csv(struct callback_data *p, const char *z, int bSep){ +static void output_csv(ShellState *p, const char *z, int bSep){ FILE *out = p->out; if( z==0 ){ fprintf(out,"%s",p->nullvalue); @@ -713,7 +727,7 @@ static void interrupt_handler(int NotUsed){ */ static int shell_callback(void *pArg, int nArg, char **azArg, char **azCol, int *aiType){ int i; - struct callback_data *p = (struct callback_data*)pArg; + ShellState *p = (ShellState*)pArg; switch( p->mode ){ case MODE_Line: { @@ -923,11 +937,11 @@ static int callback(void *pArg, int nArg, char **azArg, char **azCol){ } /* -** Set the destination table field of the callback_data structure to +** Set the destination table field of the ShellState structure to ** the name of the table given. Escape any quote characters in the ** table name. */ -static void set_table_name(struct callback_data *p, const char *zName){ +static void set_table_name(ShellState *p, const char *zName){ int i, n; int needQuote; char *z; @@ -1017,7 +1031,7 @@ static char *appendText(char *zIn, char const *zAppend, char quote){ ** won't consume the semicolon terminator. */ static int run_table_dump_query( - struct callback_data *p, /* Query context */ + ShellState *p, /* Query context */ const char *zSelect, /* SELECT statement to extract content */ const char *zFirstRow /* Print before first row, if not NULL */ ){ @@ -1080,7 +1094,7 @@ static char *save_err_msg( */ static int display_stats( sqlite3 *db, /* Database to query */ - struct callback_data *pArg, /* Pointer to struct callback_data */ + ShellState *pArg, /* Pointer to ShellState */ int bReset /* True to reset the stats */ ){ int iCur; @@ -1094,21 +1108,19 @@ static int display_stats( iHiwtr = iCur = -1; sqlite3_status(SQLITE_STATUS_MALLOC_COUNT, &iCur, &iHiwtr, bReset); fprintf(pArg->out, "Number of Outstanding Allocations: %d (max %d)\n", iCur, iHiwtr); -/* -** Not currently used by the CLI. -** iHiwtr = iCur = -1; -** sqlite3_status(SQLITE_STATUS_PAGECACHE_USED, &iCur, &iHiwtr, bReset); -** fprintf(pArg->out, "Number of Pcache Pages Used: %d (max %d) pages\n", iCur, iHiwtr); -*/ + if( pArg->shellFlgs & SHFLG_Pagecache ){ + iHiwtr = iCur = -1; + sqlite3_status(SQLITE_STATUS_PAGECACHE_USED, &iCur, &iHiwtr, bReset); + fprintf(pArg->out, "Number of Pcache Pages Used: %d (max %d) pages\n", iCur, iHiwtr); + } iHiwtr = iCur = -1; sqlite3_status(SQLITE_STATUS_PAGECACHE_OVERFLOW, &iCur, &iHiwtr, bReset); fprintf(pArg->out, "Number of Pcache Overflow Bytes: %d (max %d) bytes\n", iCur, iHiwtr); -/* -** Not currently used by the CLI. -** iHiwtr = iCur = -1; -** sqlite3_status(SQLITE_STATUS_SCRATCH_USED, &iCur, &iHiwtr, bReset); -** fprintf(pArg->out, "Number of Scratch Allocations Used: %d (max %d)\n", iCur, iHiwtr); -*/ + if( pArg->shellFlgs & SHFLG_Scratch ){ + iHiwtr = iCur = -1; + sqlite3_status(SQLITE_STATUS_SCRATCH_USED, &iCur, &iHiwtr, bReset); + fprintf(pArg->out, "Number of Scratch Allocations Used: %d (max %d)\n", iCur, iHiwtr); + } iHiwtr = iCur = -1; sqlite3_status(SQLITE_STATUS_SCRATCH_OVERFLOW, &iCur, &iHiwtr, bReset); fprintf(pArg->out, "Number of Scratch Overflow Bytes: %d (max %d) bytes\n", iCur, iHiwtr); @@ -1129,15 +1141,17 @@ static int display_stats( } if( pArg && pArg->out && db ){ - iHiwtr = iCur = -1; - sqlite3_db_status(db, SQLITE_DBSTATUS_LOOKASIDE_USED, &iCur, &iHiwtr, bReset); - fprintf(pArg->out, "Lookaside Slots Used: %d (max %d)\n", iCur, iHiwtr); - sqlite3_db_status(db, SQLITE_DBSTATUS_LOOKASIDE_HIT, &iCur, &iHiwtr, bReset); - fprintf(pArg->out, "Successful lookaside attempts: %d\n", iHiwtr); - sqlite3_db_status(db, SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE, &iCur, &iHiwtr, bReset); - fprintf(pArg->out, "Lookaside failures due to size: %d\n", iHiwtr); - sqlite3_db_status(db, SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL, &iCur, &iHiwtr, bReset); - fprintf(pArg->out, "Lookaside failures due to OOM: %d\n", iHiwtr); + if( pArg->shellFlgs & SHFLG_Lookaside ){ + iHiwtr = iCur = -1; + sqlite3_db_status(db, SQLITE_DBSTATUS_LOOKASIDE_USED, &iCur, &iHiwtr, bReset); + fprintf(pArg->out, "Lookaside Slots Used: %d (max %d)\n", iCur, iHiwtr); + sqlite3_db_status(db, SQLITE_DBSTATUS_LOOKASIDE_HIT, &iCur, &iHiwtr, bReset); + fprintf(pArg->out, "Successful lookaside attempts: %d\n", iHiwtr); + sqlite3_db_status(db, SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE, &iCur, &iHiwtr, bReset); + fprintf(pArg->out, "Lookaside failures due to size: %d\n", iHiwtr); + sqlite3_db_status(db, SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL, &iCur, &iHiwtr, bReset); + fprintf(pArg->out, "Lookaside failures due to OOM: %d\n", iHiwtr); + } iHiwtr = iCur = -1; sqlite3_db_status(db, SQLITE_DBSTATUS_CACHE_USED, &iCur, &iHiwtr, bReset); fprintf(pArg->out, "Pager Heap Usage: %d bytes\n", iCur); iHiwtr = iCur = -1; @@ -1187,7 +1201,7 @@ static int str_in_array(const char *zStr, const char **azArray){ /* ** If compiled statement pSql appears to be an EXPLAIN statement, allocate -** and populate the callback_data.aiIndent[] array with the number of +** and populate the ShellState.aiIndent[] array with the number of ** spaces each opcode should be indented before it is output. ** ** The indenting rules are: @@ -1203,7 +1217,7 @@ static int str_in_array(const char *zStr, const char **azArray){ ** then indent all opcodes between the earlier instruction ** and "Goto" by 2 spaces. */ -static void explain_data_prepare(struct callback_data *p, sqlite3_stmt *pSql){ +static void explain_data_prepare(ShellState *p, sqlite3_stmt *pSql){ const char *zSql; /* The text of the SQL statement */ const char *z; /* Used to check if this is an EXPLAIN */ int *abYield = 0; /* True if op is an OP_Yield */ @@ -1263,7 +1277,7 @@ static void explain_data_prepare(struct callback_data *p, sqlite3_stmt *pSql){ /* ** Free the array allocated by explain_data_prepare(). */ -static void explain_data_delete(struct callback_data *p){ +static void explain_data_delete(ShellState *p){ sqlite3_free(p->aiIndent); p->aiIndent = 0; p->nIndent = 0; @@ -1280,12 +1294,12 @@ static void explain_data_delete(struct callback_data *p){ ** and callback data argument. */ static int shell_exec( - sqlite3 *db, /* An open database */ - const char *zSql, /* SQL to be evaluated */ + sqlite3 *db, /* An open database */ + const char *zSql, /* SQL to be evaluated */ int (*xCallback)(void*,int,char**,char**,int*), /* Callback function */ - /* (not the same as sqlite3_exec) */ - struct callback_data *pArg, /* Pointer to struct callback_data */ - char **pzErrMsg /* Error msg written here */ + /* (not the same as sqlite3_exec) */ + ShellState *pArg, /* Pointer to ShellState */ + char **pzErrMsg /* Error msg written here */ ){ sqlite3_stmt *pStmt = NULL; /* Statement to execute. */ int rc = SQLITE_OK; /* Return Code */ @@ -1339,15 +1353,6 @@ static int shell_exec( sqlite3_free(zEQP); } - /* Output TESTCTRL_EXPLAIN text of requested */ - if( pArg && pArg->mode==MODE_Explain ){ - const char *zExplain = 0; - sqlite3_test_control(SQLITE_TESTCTRL_EXPLAIN_STMT, pStmt, &zExplain); - if( zExplain && zExplain[0] ){ - fprintf(pArg->out, "%s", zExplain); - } - } - /* If the shell is currently in ".explain" mode, gather the extra ** data required to add indents to the output.*/ if( pArg && pArg->mode==MODE_Explain ){ @@ -1453,7 +1458,7 @@ static int dump_callback(void *pArg, int nArg, char **azArg, char **azCol){ const char *zType; const char *zSql; const char *zPrepStmt = 0; - struct callback_data *p = (struct callback_data *)pArg; + ShellState *p = (ShellState *)pArg; UNUSED_PARAMETER(azCol); if( nArg!=3 ) return 1; @@ -1549,7 +1554,7 @@ static int dump_callback(void *pArg, int nArg, char **azArg, char **azCol){ ** "ORDER BY rowid DESC" to the end. */ static int run_schema_dump_query( - struct callback_data *p, + ShellState *p, const char *zQuery ){ int rc; @@ -1649,7 +1654,7 @@ static char zHelp[] = ; /* Forward reference */ -static int process_input(struct callback_data *p, FILE *in); +static int process_input(ShellState *p, FILE *in); /* ** Implementation of the "readfile(X)" SQL function. The entire content ** of the file named X is read and returned as a BLOB. NULL is returned @@ -1715,7 +1720,7 @@ static void writefileFunc( ** Make sure the database is open. If it is not, then open it. If ** the database fails to open, print an error message and exit. */ -static void open_db(struct callback_data *p, int keepAlive){ +static void open_db(ShellState *p, int keepAlive){ if( p->db==0 ){ sqlite3_initialize(); sqlite3_open(p->zDbFilename, &p->db); @@ -1896,7 +1901,11 @@ static FILE *output_file_open(const char *zFile){ */ static void sql_trace_callback(void *pArg, const char *z){ FILE *f = (FILE*)pArg; - if( f ) fprintf(f, "%s\n", z); + if( f ){ + int i = (int)strlen(z); + while( i>0 && z[i-1]==';' ){ i--; } + fprintf(f, "%.*s;\n", i, z); + } } /* @@ -2014,7 +2023,7 @@ static char *csv_read_one_field(CSVReader *p){ ** work for WITHOUT ROWID tables. */ static void tryToCloneData( - struct callback_data *p, + ShellState *p, sqlite3 *newDb, const char *zTable ){ @@ -2127,10 +2136,10 @@ end_data_xfer: ** sqlite_master table, try again moving backwards. */ static void tryToCloneSchema( - struct callback_data *p, + ShellState *p, sqlite3 *newDb, const char *zWhere, - void (*xForEach)(struct callback_data*,sqlite3*,const char*) + void (*xForEach)(ShellState*,sqlite3*,const char*) ){ sqlite3_stmt *pQuery = 0; char *zQuery = 0; @@ -2201,7 +2210,7 @@ end_schema_xfer: ** as possible out of the main database (which might be corrupt) and write it ** into zNewDb. */ -static void tryToClone(struct callback_data *p, const char *zNewDb){ +static void tryToClone(ShellState *p, const char *zNewDb){ int rc; sqlite3 *newDb = 0; if( access(zNewDb,0)==0 ){ @@ -2226,7 +2235,7 @@ static void tryToClone(struct callback_data *p, const char *zNewDb){ /* ** Change the output file back to stdout */ -static void output_reset(struct callback_data *p){ +static void output_reset(ShellState *p){ if( p->outfile[0]=='|' ){ pclose(p->out); }else{ @@ -2242,7 +2251,7 @@ static void output_reset(struct callback_data *p){ ** ** Return 1 on error, 2 to exit, and 0 otherwise. */ -static int do_meta_command(char *zLine, struct callback_data *p){ +static int do_meta_command(char *zLine, ShellState *p){ int i = 1; int nArg = 0; int n, c; @@ -2360,7 +2369,7 @@ static int do_meta_command(char *zLine, struct callback_data *p){ }else if( c=='d' && n>1 && strncmp(azArg[0], "databases", n)==0 ){ - struct callback_data data; + ShellState data; char *zErrMsg = 0; open_db(p, 0); memcpy(&data, p, sizeof(data)); @@ -2458,11 +2467,11 @@ static int do_meta_command(char *zLine, struct callback_data *p){ if( c=='e' && strncmp(azArg[0], "explain", n)==0 ){ int val = nArg>=2 ? booleanValue(azArg[1]) : 1; if(val == 1) { - if(!p->explainPrev.valid) { - p->explainPrev.valid = 1; - p->explainPrev.mode = p->mode; - p->explainPrev.showHeader = p->showHeader; - memcpy(p->explainPrev.colWidth,p->colWidth,sizeof(p->colWidth)); + if(!p->normalMode.valid) { + p->normalMode.valid = 1; + p->normalMode.mode = p->mode; + p->normalMode.showHeader = p->showHeader; + memcpy(p->normalMode.colWidth,p->colWidth,sizeof(p->colWidth)); } /* We could put this code under the !p->explainValid ** condition so that it does not execute if we are already in @@ -2482,16 +2491,16 @@ static int do_meta_command(char *zLine, struct callback_data *p){ p->colWidth[5] = 13; /* P4 */ p->colWidth[6] = 2; /* P5 */ p->colWidth[7] = 13; /* Comment */ - }else if (p->explainPrev.valid) { - p->explainPrev.valid = 0; - p->mode = p->explainPrev.mode; - p->showHeader = p->explainPrev.showHeader; - memcpy(p->colWidth,p->explainPrev.colWidth,sizeof(p->colWidth)); + }else if (p->normalMode.valid) { + p->normalMode.valid = 0; + p->mode = p->normalMode.mode; + p->showHeader = p->normalMode.showHeader; + memcpy(p->colWidth,p->normalMode.colWidth,sizeof(p->colWidth)); } }else if( c=='f' && strncmp(azArg[0], "fullschema", n)==0 ){ - struct callback_data data; + ShellState data; char *zErrMsg = 0; int doStats = 0; if( nArg!=1 ){ @@ -2508,7 +2517,7 @@ static int do_meta_command(char *zLine, struct callback_data *p){ " (SELECT sql sql, type type, tbl_name tbl_name, name name, rowid x" " FROM sqlite_master UNION ALL" " SELECT sql, type, tbl_name, name, rowid FROM sqlite_temp_master) " - "WHERE type!='meta' AND sql NOTNULL AND name NOT LIKE 'sqlite_%'" + "WHERE type!='meta' AND sql NOTNULL AND name NOT LIKE 'sqlite_%' " "ORDER BY rowid", callback, &data, &zErrMsg ); @@ -2712,7 +2721,7 @@ static int do_meta_command(char *zLine, struct callback_data *p){ }else if( c=='i' && strncmp(azArg[0], "indices", n)==0 ){ - struct callback_data data; + ShellState data; char *zErrMsg = 0; open_db(p, 0); memcpy(&data, p, sizeof(data)); @@ -3006,7 +3015,7 @@ static int do_meta_command(char *zLine, struct callback_data *p){ }else if( c=='s' && strncmp(azArg[0], "schema", n)==0 ){ - struct callback_data data; + ShellState data; char *zErrMsg = 0; open_db(p, 0); memcpy(&data, p, sizeof(data)); @@ -3062,7 +3071,7 @@ static int do_meta_command(char *zLine, struct callback_data *p){ " (SELECT sql sql, type type, tbl_name tbl_name, name name, rowid x" " FROM sqlite_master UNION ALL" " SELECT sql, type, tbl_name, name, rowid FROM sqlite_temp_master) " - "WHERE type!='meta' AND sql NOTNULL AND name NOT LIKE 'sqlite_%'" + "WHERE type!='meta' AND sql NOTNULL AND name NOT LIKE 'sqlite_%' " "ORDER BY rowid", callback, &data, &zErrMsg ); @@ -3083,6 +3092,15 @@ static int do_meta_command(char *zLine, struct callback_data *p){ } }else + +#if defined(SQLITE_DEBUG) && defined(SQLITE_ENABLE_SELECTTRACE) + if( c=='s' && n==11 && strncmp(azArg[0], "selecttrace", n)==0 ){ + extern int sqlite3SelectTrace; + sqlite3SelectTrace = nArg>=2 ? booleanValue(azArg[1]) : 0xff; + }else +#endif + + #ifdef SQLITE_DEBUG /* Undocumented commands for internal testing. Subject to change ** without notice. */ @@ -3148,7 +3166,7 @@ static int do_meta_command(char *zLine, struct callback_data *p){ } fprintf(p->out,"%9.9s: %s\n","echo", p->echoOn ? "on" : "off"); fprintf(p->out,"%9.9s: %s\n","eqp", p->autoEQP ? "on" : "off"); - fprintf(p->out,"%9.9s: %s\n","explain", p->explainPrev.valid ? "on" :"off"); + fprintf(p->out,"%9.9s: %s\n","explain", p->normalMode.valid ? "on" :"off"); fprintf(p->out,"%9.9s: %s\n","headers", p->showHeader ? "on" : "off"); fprintf(p->out,"%9.9s: %s\n","mode", modeDescr[p->mode]); fprintf(p->out,"%9.9s: ", "nullvalue"); @@ -3420,6 +3438,71 @@ static int do_meta_command(char *zLine, struct callback_data *p){ #endif }else +#if SQLITE_USER_AUTHENTICATION + if( c=='u' && strncmp(azArg[0], "user", n)==0 ){ + if( nArg<2 ){ + fprintf(stderr, "Usage: .user SUBCOMMAND ...\n"); + rc = 1; + goto meta_command_exit; + } + open_db(p, 0); + if( strcmp(azArg[1],"login")==0 ){ + if( nArg!=4 ){ + fprintf(stderr, "Usage: .user login USER PASSWORD\n"); + rc = 1; + goto meta_command_exit; + } + rc = sqlite3_user_authenticate(p->db, azArg[2], azArg[3], + (int)strlen(azArg[3])); + if( rc ){ + fprintf(stderr, "Authentication failed for user %s\n", azArg[2]); + rc = 1; + } + }else if( strcmp(azArg[1],"add")==0 ){ + if( nArg!=5 ){ + fprintf(stderr, "Usage: .user add USER PASSWORD ISADMIN\n"); + rc = 1; + goto meta_command_exit; + } + rc = sqlite3_user_add(p->db, azArg[2], + azArg[3], (int)strlen(azArg[3]), + booleanValue(azArg[4])); + if( rc ){ + fprintf(stderr, "User-Add failed: %d\n", rc); + rc = 1; + } + }else if( strcmp(azArg[1],"edit")==0 ){ + if( nArg!=5 ){ + fprintf(stderr, "Usage: .user edit USER PASSWORD ISADMIN\n"); + rc = 1; + goto meta_command_exit; + } + rc = sqlite3_user_change(p->db, azArg[2], + azArg[3], (int)strlen(azArg[3]), + booleanValue(azArg[4])); + if( rc ){ + fprintf(stderr, "User-Edit failed: %d\n", rc); + rc = 1; + } + }else if( strcmp(azArg[1],"delete")==0 ){ + if( nArg!=3 ){ + fprintf(stderr, "Usage: .user delete USER\n"); + rc = 1; + goto meta_command_exit; + } + rc = sqlite3_user_delete(p->db, azArg[2]); + if( rc ){ + fprintf(stderr, "User-Delete failed: %d\n", rc); + rc = 1; + } + }else{ + fprintf(stderr, "Usage: .user login|add|edit|delete ...\n"); + rc = 1; + goto meta_command_exit; + } + }else +#endif /* SQLITE_USER_AUTHENTICATION */ + if( c=='v' && strncmp(azArg[0], "version", n)==0 ){ fprintf(p->out, "SQLite %s %s\n" /*extra-version-info*/, sqlite3_libversion(), sqlite3_sourceid()); @@ -3540,7 +3623,7 @@ static int line_is_complete(char *zSql, int nSql){ ** ** Return the number of errors. */ -static int process_input(struct callback_data *p, FILE *in){ +static int process_input(ShellState *p, FILE *in){ char *zLine = 0; /* A single input line */ char *zSql = 0; /* Accumulated SQL text */ int nLine; /* Length of current line */ @@ -3642,6 +3725,7 @@ static int process_input(struct callback_data *p, FILE *in){ if( nSql ){ if( !_all_whitespace(zSql) ){ fprintf(stderr, "Error: incomplete SQL: %s\n", zSql); + errCnt++; } free(zSql); } @@ -3719,7 +3803,7 @@ static char *find_home_dir(void){ ** Returns the number of errors. */ static int process_sqliterc( - struct callback_data *p, /* Configuration data */ + ShellState *p, /* Configuration data */ const char *sqliterc_override /* Name of config file. NULL to use default */ ){ char *home_dir = NULL; @@ -3772,12 +3856,15 @@ static const char zOptions[] = " -interactive force interactive I/O\n" " -line set output mode to 'line'\n" " -list set output mode to 'list'\n" + " -lookaside SIZE N use N entries of SZ bytes for lookaside memory\n" " -mmap N default mmap size set to N\n" #ifdef SQLITE_ENABLE_MULTIPLEX " -multiplex enable the multiplexor VFS\n" #endif " -newline SEP set newline character(s) for CSV\n" " -nullvalue TEXT set text string for NULL values. Default ''\n" + " -pagecache SIZE N use N slots of SZ bytes each for page cache memory\n" + " -scratch SIZE N use N slots of SZ bytes each for scratch memory\n" " -separator SEP set output field separator. Default: '|'\n" " -stats print memory stats before each finalize\n" " -version show SQLite version\n" @@ -3802,17 +3889,18 @@ static void usage(int showDetail){ /* ** Initialize the state information in data */ -static void main_init(struct callback_data *data) { +static void main_init(ShellState *data) { memset(data, 0, sizeof(*data)); data->mode = MODE_List; memcpy(data->separator,"|", 2); memcpy(data->newline,"\r\n", 3); data->showHeader = 0; + data->shellFlgs = SHFLG_Lookaside; sqlite3_config(SQLITE_CONFIG_URI, 1); sqlite3_config(SQLITE_CONFIG_LOG, shellLog, data); + sqlite3_config(SQLITE_CONFIG_MULTITHREAD); sqlite3_snprintf(sizeof(mainPrompt), mainPrompt,"sqlite> "); sqlite3_snprintf(sizeof(continuePrompt), continuePrompt," ...> "); - sqlite3_config(SQLITE_CONFIG_SINGLETHREAD); } /* @@ -3850,7 +3938,7 @@ static char *cmdline_option_value(int argc, char **argv, int i){ int main(int argc, char **argv){ char *zErrMsg = 0; - struct callback_data data; + ShellState data; const char *zInitFile = 0; char *zFirstCmd = 0; int i; @@ -3921,6 +4009,33 @@ int main(int argc, char **argv){ if( szHeap>0x7fff0000 ) szHeap = 0x7fff0000; sqlite3_config(SQLITE_CONFIG_HEAP, malloc((int)szHeap), (int)szHeap, 64); #endif + }else if( strcmp(z,"-scratch")==0 ){ + int n, sz; + sz = (int)integerValue(cmdline_option_value(argc,argv,++i)); + if( sz>400000 ) sz = 400000; + if( sz<2500 ) sz = 2500; + n = (int)integerValue(cmdline_option_value(argc,argv,++i)); + if( n>10 ) n = 10; + if( n<1 ) n = 1; + sqlite3_config(SQLITE_CONFIG_SCRATCH, malloc(n*sz+1), sz, n); + data.shellFlgs |= SHFLG_Scratch; + }else if( strcmp(z,"-pagecache")==0 ){ + int n, sz; + sz = (int)integerValue(cmdline_option_value(argc,argv,++i)); + if( sz>70000 ) sz = 70000; + if( sz<800 ) sz = 800; + n = (int)integerValue(cmdline_option_value(argc,argv,++i)); + if( n<10 ) n = 10; + sqlite3_config(SQLITE_CONFIG_PAGECACHE, malloc(n*sz+1), sz, n); + data.shellFlgs |= SHFLG_Pagecache; + }else if( strcmp(z,"-lookaside")==0 ){ + int n, sz; + sz = (int)integerValue(cmdline_option_value(argc,argv,++i)); + if( sz<0 ) sz = 0; + n = (int)integerValue(cmdline_option_value(argc,argv,++i)); + if( n<0 ) n = 0; + sqlite3_config(SQLITE_CONFIG_LOOKASIDE, sz, n); + if( sz*n==0 ) data.shellFlgs &= ~SHFLG_Lookaside; #ifdef SQLITE_ENABLE_VFSTRACE }else if( strcmp(z,"-vfstrace")==0 ){ extern int vfstrace_register( @@ -4036,6 +4151,12 @@ int main(int argc, char **argv){ stdin_is_interactive = 0; }else if( strcmp(z,"-heap")==0 ){ i++; + }else if( strcmp(z,"-scratch")==0 ){ + i+=2; + }else if( strcmp(z,"-pagecache")==0 ){ + i+=2; + }else if( strcmp(z,"-lookaside")==0 ){ + i+=2; }else if( strcmp(z,"-mmap")==0 ){ i++; }else if( strcmp(z,"-vfs")==0 ){ diff --git a/src/3rdparty/sqlite/sqlite3.c b/src/3rdparty/sqlite/sqlite3.c index 28cfcac389..9e040cfa25 100644 --- a/src/3rdparty/sqlite/sqlite3.c +++ b/src/3rdparty/sqlite/sqlite3.c @@ -1,6 +1,6 @@ /****************************************************************************** ** This file is an amalgamation of many separate C source files from SQLite -** version 3.8.6. By combining all the individual C code files into this +** version 3.8.7.4. By combining all the individual C code files into this ** single large file, the entire code can be compiled as a single translation ** unit. This allows many compilers to do optimizations that would not be ** possible if the files were compiled separately. Performance improvements @@ -75,6 +75,15 @@ # define _LARGEFILE_SOURCE 1 #endif +/* Needed for various definitions... */ +#if defined(__GNUC__) && !defined(_GNU_SOURCE) +# define _GNU_SOURCE +#endif + +#if defined(__OpenBSD__) && !defined(_BSD_SOURCE) +# define _BSD_SOURCE +#endif + /* ** For MinGW, check to see if we can include the header file containing its ** version information, among other things. Normally, this internal MinGW @@ -222,9 +231,9 @@ extern "C" { ** [sqlite3_libversion_number()], [sqlite3_sourceid()], ** [sqlite_version()] and [sqlite_source_id()]. */ -#define SQLITE_VERSION "3.8.6" -#define SQLITE_VERSION_NUMBER 3008006 -#define SQLITE_SOURCE_ID "2014-08-15 11:46:33 9491ba7d738528f168657adb43a198238abde19e" +#define SQLITE_VERSION "3.8.7.4" +#define SQLITE_VERSION_NUMBER 3008007 +#define SQLITE_SOURCE_ID "2014-12-09 01:34:36 f66f7a17b78ba617acde90fc810107f34f1a1f2e" /* ** CAPI3REF: Run-Time Library Version Numbers @@ -612,6 +621,7 @@ SQLITE_API int sqlite3_exec( #define SQLITE_NOTICE_RECOVER_WAL (SQLITE_NOTICE | (1<<8)) #define SQLITE_NOTICE_RECOVER_ROLLBACK (SQLITE_NOTICE | (2<<8)) #define SQLITE_WARNING_AUTOINDEX (SQLITE_WARNING | (1<<8)) +#define SQLITE_AUTH_USER (SQLITE_AUTH | (1<<8)) /* ** CAPI3REF: Flags For File Open Operations @@ -2214,7 +2224,7 @@ SQLITE_API int sqlite3_busy_handler(sqlite3*, int(*)(void*,int), void*); ** turns off all busy handlers. ** ** ^(There can only be a single busy handler for a particular -** [database connection] any any given moment. If another busy handler +** [database connection] at any given moment. If another busy handler ** was defined (using [sqlite3_busy_handler()]) prior to calling ** this routine, that other busy handler is cleared.)^ ** @@ -2418,6 +2428,10 @@ SQLITE_API char *sqlite3_vsnprintf(int,char*,const char*, va_list); ** sqlite3_malloc() is zero or negative then sqlite3_malloc() returns ** a NULL pointer. ** +** ^The sqlite3_malloc64(N) routine works just like +** sqlite3_malloc(N) except that N is an unsigned 64-bit integer instead +** of a signed 32-bit integer. +** ** ^Calling sqlite3_free() with a pointer previously returned ** by sqlite3_malloc() or sqlite3_realloc() releases that memory so ** that it might be reused. ^The sqlite3_free() routine is @@ -2429,24 +2443,38 @@ SQLITE_API char *sqlite3_vsnprintf(int,char*,const char*, va_list); ** might result if sqlite3_free() is called with a non-NULL pointer that ** was not obtained from sqlite3_malloc() or sqlite3_realloc(). ** -** ^(The sqlite3_realloc() interface attempts to resize a -** prior memory allocation to be at least N bytes, where N is the -** second parameter. The memory allocation to be resized is the first -** parameter.)^ ^ If the first parameter to sqlite3_realloc() +** ^The sqlite3_realloc(X,N) interface attempts to resize a +** prior memory allocation X to be at least N bytes. +** ^If the X parameter to sqlite3_realloc(X,N) ** is a NULL pointer then its behavior is identical to calling -** sqlite3_malloc(N) where N is the second parameter to sqlite3_realloc(). -** ^If the second parameter to sqlite3_realloc() is zero or +** sqlite3_malloc(N). +** ^If the N parameter to sqlite3_realloc(X,N) is zero or ** negative then the behavior is exactly the same as calling -** sqlite3_free(P) where P is the first parameter to sqlite3_realloc(). -** ^sqlite3_realloc() returns a pointer to a memory allocation -** of at least N bytes in size or NULL if sufficient memory is unavailable. +** sqlite3_free(X). +** ^sqlite3_realloc(X,N) returns a pointer to a memory allocation +** of at least N bytes in size or NULL if insufficient memory is available. ** ^If M is the size of the prior allocation, then min(N,M) bytes ** of the prior allocation are copied into the beginning of buffer returned -** by sqlite3_realloc() and the prior allocation is freed. -** ^If sqlite3_realloc() returns NULL, then the prior allocation -** is not freed. -** -** ^The memory returned by sqlite3_malloc() and sqlite3_realloc() +** by sqlite3_realloc(X,N) and the prior allocation is freed. +** ^If sqlite3_realloc(X,N) returns NULL and N is positive, then the +** prior allocation is not freed. +** +** ^The sqlite3_realloc64(X,N) interfaces works the same as +** sqlite3_realloc(X,N) except that N is a 64-bit unsigned integer instead +** of a 32-bit signed integer. +** +** ^If X is a memory allocation previously obtained from sqlite3_malloc(), +** sqlite3_malloc64(), sqlite3_realloc(), or sqlite3_realloc64(), then +** sqlite3_msize(X) returns the size of that memory allocation in bytes. +** ^The value returned by sqlite3_msize(X) might be larger than the number +** of bytes requested when X was allocated. ^If X is a NULL pointer then +** sqlite3_msize(X) returns zero. If X points to something that is not +** the beginning of memory allocation, or if it points to a formerly +** valid memory allocation that has now been freed, then the behavior +** of sqlite3_msize(X) is undefined and possibly harmful. +** +** ^The memory returned by sqlite3_malloc(), sqlite3_realloc(), +** sqlite3_malloc64(), and sqlite3_realloc64() ** is always aligned to at least an 8 byte boundary, or to a ** 4 byte boundary if the [SQLITE_4_BYTE_ALIGNED_MALLOC] compile-time ** option is used. @@ -2474,8 +2502,11 @@ SQLITE_API char *sqlite3_vsnprintf(int,char*,const char*, va_list); ** [sqlite3_free()] or [sqlite3_realloc()]. */ SQLITE_API void *sqlite3_malloc(int); +SQLITE_API void *sqlite3_malloc64(sqlite3_uint64); SQLITE_API void *sqlite3_realloc(void*, int); +SQLITE_API void *sqlite3_realloc64(void*, sqlite3_uint64); SQLITE_API void sqlite3_free(void*); +SQLITE_API sqlite3_uint64 sqlite3_msize(void*); /* ** CAPI3REF: Memory Allocator Statistics @@ -2762,9 +2793,9 @@ SQLITE_API void sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*); ** an English language description of the error following a failure of any ** of the sqlite3_open() routines. ** -** ^The default encoding for the database will be UTF-8 if -** sqlite3_open() or sqlite3_open_v2() is called and -** UTF-16 in the native byte order if sqlite3_open16() is used. +** ^The default encoding will be UTF-8 for databases created using +** sqlite3_open() or sqlite3_open_v2(). ^The default encoding for databases +** created using sqlite3_open16() will be UTF-16 in the native byte order. ** ** Whether or not an error occurs when it is opened, resources ** associated with the [database connection] handle should be released by @@ -2852,13 +2883,14 @@ SQLITE_API void sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*); ** then it is interpreted as an absolute path. ^If the path does not begin ** with a '/' (meaning that the authority section is omitted from the URI) ** then the path is interpreted as a relative path. -** ^On windows, the first component of an absolute path -** is a drive specification (e.g. "C:"). +** ^(On windows, the first component of an absolute path +** is a drive specification (e.g. "C:").)^ ** ** [[core URI query parameters]] ** The query component of a URI may contain parameters that are interpreted ** either by SQLite itself, or by a [VFS | custom VFS implementation]. -** SQLite interprets the following three query parameters: +** SQLite and its built-in [VFSes] interpret the +** following query parameters: ** ** <ul> ** <li> <b>vfs</b>: ^The "vfs" parameter may be used to specify the name of @@ -2893,11 +2925,9 @@ SQLITE_API void sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*); ** a URI filename, its value overrides any behavior requested by setting ** SQLITE_OPEN_PRIVATECACHE or SQLITE_OPEN_SHAREDCACHE flag. ** -** <li> <b>psow</b>: ^The psow parameter may be "true" (or "on" or "yes" or -** "1") or "false" (or "off" or "no" or "0") to indicate that the +** <li> <b>psow</b>: ^The psow parameter indicates whether or not the ** [powersafe overwrite] property does or does not apply to the -** storage media on which the database file resides. ^The psow query -** parameter only works for the built-in unix and Windows VFSes. +** storage media on which the database file resides. ** ** <li> <b>nolock</b>: ^The nolock parameter is a boolean query parameter ** which if set disables file locking in rollback journal modes. This @@ -3193,6 +3223,10 @@ SQLITE_API int sqlite3_limit(sqlite3*, int id, int newVal); ** ** [[SQLITE_LIMIT_TRIGGER_DEPTH]] ^(<dt>SQLITE_LIMIT_TRIGGER_DEPTH</dt> ** <dd>The maximum depth of recursion for triggers.</dd>)^ +** +** [[SQLITE_LIMIT_WORKER_THREADS]] ^(<dt>SQLITE_LIMIT_WORKER_THREADS</dt> +** <dd>The maximum number of auxiliary worker threads that a single +** [prepared statement] may start.</dd>)^ ** </dl> */ #define SQLITE_LIMIT_LENGTH 0 @@ -3206,6 +3240,7 @@ SQLITE_API int sqlite3_limit(sqlite3*, int id, int newVal); #define SQLITE_LIMIT_LIKE_PATTERN_LENGTH 8 #define SQLITE_LIMIT_VARIABLE_NUMBER 9 #define SQLITE_LIMIT_TRIGGER_DEPTH 10 +#define SQLITE_LIMIT_WORKER_THREADS 11 /* ** CAPI3REF: Compiling An SQL Statement @@ -3479,18 +3514,18 @@ typedef struct sqlite3_context sqlite3_context; ** If the fourth parameter to sqlite3_bind_blob() is negative, then ** the behavior is undefined. ** If a non-negative fourth parameter is provided to sqlite3_bind_text() -** or sqlite3_bind_text16() then that parameter must be the byte offset +** or sqlite3_bind_text16() or sqlite3_bind_text64() then +** that parameter must be the byte offset ** where the NUL terminator would occur assuming the string were NUL ** terminated. If any NUL characters occur at byte offsets less than ** the value of the fourth parameter then the resulting string value will ** contain embedded NULs. The result of expressions involving strings ** with embedded NULs is undefined. ** -** ^The fifth argument to sqlite3_bind_blob(), sqlite3_bind_text(), and -** sqlite3_bind_text16() is a destructor used to dispose of the BLOB or +** ^The fifth argument to the BLOB and string binding interfaces +** is a destructor used to dispose of the BLOB or ** string after SQLite has finished with it. ^The destructor is called -** to dispose of the BLOB or string even if the call to sqlite3_bind_blob(), -** sqlite3_bind_text(), or sqlite3_bind_text16() fails. +** to dispose of the BLOB or string even if the call to bind API fails. ** ^If the fifth argument is ** the special value [SQLITE_STATIC], then SQLite assumes that the ** information is in static, unmanaged space and does not need to be freed. @@ -3498,6 +3533,14 @@ typedef struct sqlite3_context sqlite3_context; ** SQLite makes its own private copy of the data immediately, before ** the sqlite3_bind_*() routine returns. ** +** ^The sixth argument to sqlite3_bind_text64() must be one of +** [SQLITE_UTF8], [SQLITE_UTF16], [SQLITE_UTF16BE], or [SQLITE_UTF16LE] +** to specify the encoding of the text in the third parameter. If +** the sixth argument to sqlite3_bind_text64() is not one of the +** allowed values shown above, or if the text encoding is different +** from the encoding specified by the sixth parameter, then the behavior +** is undefined. +** ** ^The sqlite3_bind_zeroblob() routine binds a BLOB of length N that ** is filled with zeroes. ^A zeroblob uses a fixed amount of memory ** (just an integer to hold its size) while it is being processed. @@ -3518,6 +3561,9 @@ typedef struct sqlite3_context sqlite3_context; ** ** ^The sqlite3_bind_* routines return [SQLITE_OK] on success or an ** [error code] if anything goes wrong. +** ^[SQLITE_TOOBIG] might be returned if the size of a string or BLOB +** exceeds limits imposed by [sqlite3_limit]([SQLITE_LIMIT_LENGTH]) or +** [SQLITE_MAX_LENGTH]. ** ^[SQLITE_RANGE] is returned if the parameter ** index is out of range. ^[SQLITE_NOMEM] is returned if malloc() fails. ** @@ -3525,12 +3571,16 @@ typedef struct sqlite3_context sqlite3_context; ** [sqlite3_bind_parameter_name()], and [sqlite3_bind_parameter_index()]. */ SQLITE_API int sqlite3_bind_blob(sqlite3_stmt*, int, const void*, int n, void(*)(void*)); +SQLITE_API int sqlite3_bind_blob64(sqlite3_stmt*, int, const void*, sqlite3_uint64, + void(*)(void*)); SQLITE_API int sqlite3_bind_double(sqlite3_stmt*, int, double); SQLITE_API int sqlite3_bind_int(sqlite3_stmt*, int, int); SQLITE_API int sqlite3_bind_int64(sqlite3_stmt*, int, sqlite3_int64); SQLITE_API int sqlite3_bind_null(sqlite3_stmt*, int); -SQLITE_API int sqlite3_bind_text(sqlite3_stmt*, int, const char*, int n, void(*)(void*)); +SQLITE_API int sqlite3_bind_text(sqlite3_stmt*,int,const char*,int,void(*)(void*)); SQLITE_API int sqlite3_bind_text16(sqlite3_stmt*, int, const void*, int, void(*)(void*)); +SQLITE_API int sqlite3_bind_text64(sqlite3_stmt*, int, const char*, sqlite3_uint64, + void(*)(void*), unsigned char encoding); SQLITE_API int sqlite3_bind_value(sqlite3_stmt*, int, const sqlite3_value*); SQLITE_API int sqlite3_bind_zeroblob(sqlite3_stmt*, int, int n); @@ -4279,7 +4329,7 @@ SQLITE_API SQLITE_DEPRECATED int sqlite3_memory_alarm(void(*)(void*,sqlite3_int6 ** object results in undefined behavior. ** ** ^These routines work just like the corresponding [column access functions] -** except that these routines take a single [protected sqlite3_value] object +** except that these routines take a single [protected sqlite3_value] object ** pointer instead of a [sqlite3_stmt*] pointer and an integer column number. ** ** ^The sqlite3_value_text16() interface extracts a UTF-16 string @@ -4526,6 +4576,10 @@ typedef void (*sqlite3_destructor_type)(void*); ** set the return value of the application-defined function to be ** a text string which is represented as UTF-8, UTF-16 native byte order, ** UTF-16 little endian, or UTF-16 big endian, respectively. +** ^The sqlite3_result_text64() interface sets the return value of an +** application-defined function to be a text string in an encoding +** specified by the fifth (and last) parameter, which must be one +** of [SQLITE_UTF8], [SQLITE_UTF16], [SQLITE_UTF16BE], or [SQLITE_UTF16LE]. ** ^SQLite takes the text result from the application from ** the 2nd parameter of the sqlite3_result_text* interfaces. ** ^If the 3rd parameter to the sqlite3_result_text* interfaces @@ -4569,6 +4623,7 @@ typedef void (*sqlite3_destructor_type)(void*); ** the [sqlite3_context] pointer, the results are undefined. */ SQLITE_API void sqlite3_result_blob(sqlite3_context*, const void*, int, void(*)(void*)); +SQLITE_API void sqlite3_result_blob64(sqlite3_context*,const void*,sqlite3_uint64,void(*)(void*)); SQLITE_API void sqlite3_result_double(sqlite3_context*, double); SQLITE_API void sqlite3_result_error(sqlite3_context*, const char*, int); SQLITE_API void sqlite3_result_error16(sqlite3_context*, const void*, int); @@ -4579,6 +4634,8 @@ SQLITE_API void sqlite3_result_int(sqlite3_context*, int); SQLITE_API void sqlite3_result_int64(sqlite3_context*, sqlite3_int64); SQLITE_API void sqlite3_result_null(sqlite3_context*); SQLITE_API void sqlite3_result_text(sqlite3_context*, const char*, int, void(*)(void*)); +SQLITE_API void sqlite3_result_text64(sqlite3_context*, const char*,sqlite3_uint64, + void(*)(void*), unsigned char encoding); SQLITE_API void sqlite3_result_text16(sqlite3_context*, const void*, int, void(*)(void*)); SQLITE_API void sqlite3_result_text16le(sqlite3_context*, const void*, int,void(*)(void*)); SQLITE_API void sqlite3_result_text16be(sqlite3_context*, const void*, int,void(*)(void*)); @@ -6275,12 +6332,13 @@ SQLITE_API int sqlite3_test_control(int op, ...); #define SQLITE_TESTCTRL_ISKEYWORD 16 #define SQLITE_TESTCTRL_SCRATCHMALLOC 17 #define SQLITE_TESTCTRL_LOCALTIME_FAULT 18 -#define SQLITE_TESTCTRL_EXPLAIN_STMT 19 +#define SQLITE_TESTCTRL_EXPLAIN_STMT 19 /* NOT USED */ #define SQLITE_TESTCTRL_NEVER_CORRUPT 20 #define SQLITE_TESTCTRL_VDBE_COVERAGE 21 #define SQLITE_TESTCTRL_BYTEORDER 22 #define SQLITE_TESTCTRL_ISINIT 23 -#define SQLITE_TESTCTRL_LAST 23 +#define SQLITE_TESTCTRL_SORTER_MMAP 24 +#define SQLITE_TESTCTRL_LAST 24 /* ** CAPI3REF: SQLite Runtime Status @@ -6471,12 +6529,12 @@ SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int r ** the current value is always zero.)^ ** ** [[SQLITE_DBSTATUS_CACHE_USED]] ^(<dt>SQLITE_DBSTATUS_CACHE_USED</dt> -** <dd>This parameter returns the approximate number of of bytes of heap +** <dd>This parameter returns the approximate number of bytes of heap ** memory used by all pager caches associated with the database connection.)^ ** ^The highwater mark associated with SQLITE_DBSTATUS_CACHE_USED is always 0. ** ** [[SQLITE_DBSTATUS_SCHEMA_USED]] ^(<dt>SQLITE_DBSTATUS_SCHEMA_USED</dt> -** <dd>This parameter returns the approximate number of of bytes of heap +** <dd>This parameter returns the approximate number of bytes of heap ** memory used to store the schema for all databases associated ** with the connection - main, temp, and any [ATTACH]-ed databases.)^ ** ^The full amount of memory used by the schemas is reported, even if the @@ -6485,7 +6543,7 @@ SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int r ** ^The highwater mark associated with SQLITE_DBSTATUS_SCHEMA_USED is always 0. ** ** [[SQLITE_DBSTATUS_STMT_USED]] ^(<dt>SQLITE_DBSTATUS_STMT_USED</dt> -** <dd>This parameter returns the approximate number of of bytes of heap +** <dd>This parameter returns the approximate number of bytes of heap ** and lookaside memory used by all prepared statements associated with ** the database connection.)^ ** ^The highwater mark associated with SQLITE_DBSTATUS_STMT_USED is always 0. @@ -7842,15 +7900,6 @@ struct sqlite3_rtree_query_info { #pragma warn -spa /* Suspicious pointer arithmetic */ #endif -/* Needed for various definitions... */ -#ifndef _GNU_SOURCE -# define _GNU_SOURCE -#endif - -#if defined(__OpenBSD__) && !defined(_BSD_SOURCE) -# define _BSD_SOURCE -#endif - /* ** Include standard header files as necessary */ @@ -7892,6 +7941,18 @@ struct sqlite3_rtree_query_info { #endif /* +** A macro to hint to the compiler that a function should not be +** inlined. +*/ +#if defined(__GNUC__) +# define SQLITE_NOINLINE __attribute__((noinline)) +#elif defined(_MSC_VER) && _MSC_VER>=1310 +# define SQLITE_NOINLINE __declspec(noinline) +#else +# define SQLITE_NOINLINE +#endif + +/* ** The SQLITE_THREADSAFE macro must be defined as 0, 1, or 2. ** 0 means mutexes are permanently disable and the library is never ** threadsafe. 1 means the library is serialized which is the highest @@ -8077,7 +8138,7 @@ SQLITE_PRIVATE void sqlite3Coverage(int); #endif /* -** Return true (non-zero) if the input is a integer that is too large +** Return true (non-zero) if the input is an integer that is too large ** to fit in 32-bits. This macro is used inside of various testcase() ** macros to verify that we have tested SQLite for large-file support. */ @@ -8156,15 +8217,15 @@ struct Hash { struct HashElem { HashElem *next, *prev; /* Next and previous elements in the table */ void *data; /* Data associated with this element */ - const char *pKey; int nKey; /* Key associated with this element */ + const char *pKey; /* Key associated with this element */ }; /* ** Access routines. To delete, insert a NULL pointer. */ SQLITE_PRIVATE void sqlite3HashInit(Hash*); -SQLITE_PRIVATE void *sqlite3HashInsert(Hash*, const char *pKey, int nKey, void *pData); -SQLITE_PRIVATE void *sqlite3HashFind(const Hash*, const char *pKey, int nKey); +SQLITE_PRIVATE void *sqlite3HashInsert(Hash*, const char *pKey, void *pData); +SQLITE_PRIVATE void *sqlite3HashFind(const Hash*, const char *pKey); SQLITE_PRIVATE void sqlite3HashClear(Hash*); /* @@ -8424,6 +8485,27 @@ SQLITE_PRIVATE void sqlite3HashClear(Hash*); #endif /* +** If no value has been provided for SQLITE_MAX_WORKER_THREADS, or if +** SQLITE_TEMP_STORE is set to 3 (never use temporary files), set it +** to zero. +*/ +#if SQLITE_TEMP_STORE==3 || SQLITE_THREADSAFE==0 +# undef SQLITE_MAX_WORKER_THREADS +# define SQLITE_MAX_WORKER_THREADS 0 +#endif +#ifndef SQLITE_MAX_WORKER_THREADS +# define SQLITE_MAX_WORKER_THREADS 8 +#endif +#ifndef SQLITE_DEFAULT_WORKER_THREADS +# define SQLITE_DEFAULT_WORKER_THREADS 0 +#endif +#if SQLITE_DEFAULT_WORKER_THREADS>SQLITE_MAX_WORKER_THREADS +# undef SQLITE_MAX_WORKER_THREADS +# define SQLITE_MAX_WORKER_THREADS SQLITE_DEFAULT_WORKER_THREADS +#endif + + +/* ** GCC does not define the offsetof() macro so we'll have to do it ** ourselves. */ @@ -8438,6 +8520,11 @@ SQLITE_PRIVATE void sqlite3HashClear(Hash*); #define MAX(A,B) ((A)>(B)?(A):(B)) /* +** Swap two objects of type TYPE. +*/ +#define SWAP(TYPE,A,B) {TYPE t=A; A=B; B=t;} + +/* ** Check to see if this machine uses EBCDIC. (Yes, believe it or ** not, there are still machines out there that use EBCDIC.) */ @@ -8607,7 +8694,7 @@ SQLITE_PRIVATE const int sqlite3one; ** all alignment restrictions correct. ** ** Except, if SQLITE_4_BYTE_ALIGNED_MALLOC is defined, then the -** underlying malloc() implemention might return us 4-byte aligned +** underlying malloc() implementation might return us 4-byte aligned ** pointers. In that case, only verify 4-byte alignment. */ #ifdef SQLITE_4_BYTE_ALIGNED_MALLOC @@ -8675,6 +8762,16 @@ SQLITE_PRIVATE const int sqlite3one; #endif /* +** SELECTTRACE_ENABLED will be either 1 or 0 depending on whether or not +** the Select query generator tracing logic is turned on. +*/ +#if defined(SQLITE_DEBUG) || defined(SQLITE_ENABLE_SELECTTRACE) +# define SELECTTRACE_ENABLED 1 +#else +# define SELECTTRACE_ENABLED 0 +#endif + +/* ** An instance of the following structure is used to store the busy-handler ** callback for a given sqlite handle. ** @@ -8806,12 +8903,14 @@ typedef struct PrintfArguments PrintfArguments; typedef struct RowSet RowSet; typedef struct Savepoint Savepoint; typedef struct Select Select; +typedef struct SQLiteThread SQLiteThread; typedef struct SelectDest SelectDest; typedef struct SrcList SrcList; typedef struct StrAccum StrAccum; typedef struct Table Table; typedef struct TableLock TableLock; typedef struct Token Token; +typedef struct TreeView TreeView; typedef struct Trigger Trigger; typedef struct TriggerPrg TriggerPrg; typedef struct TriggerStep TriggerStep; @@ -8914,7 +9013,7 @@ SQLITE_PRIVATE int sqlite3BtreeBeginTrans(Btree*,int); SQLITE_PRIVATE int sqlite3BtreeCommitPhaseOne(Btree*, const char *zMaster); SQLITE_PRIVATE int sqlite3BtreeCommitPhaseTwo(Btree*, int); SQLITE_PRIVATE int sqlite3BtreeCommit(Btree*); -SQLITE_PRIVATE int sqlite3BtreeRollback(Btree*,int); +SQLITE_PRIVATE int sqlite3BtreeRollback(Btree*,int,int); SQLITE_PRIVATE int sqlite3BtreeBeginStmt(Btree*,int); SQLITE_PRIVATE int sqlite3BtreeCreateTable(Btree*, int*, int flags); SQLITE_PRIVATE int sqlite3BtreeIsInTrans(Btree*); @@ -8947,7 +9046,7 @@ SQLITE_PRIVATE int sqlite3BtreeIncrVacuum(Btree *); SQLITE_PRIVATE int sqlite3BtreeDropTable(Btree*, int, int*); SQLITE_PRIVATE int sqlite3BtreeClearTable(Btree*, int, int*); SQLITE_PRIVATE int sqlite3BtreeClearTableOfCursor(BtCursor*); -SQLITE_PRIVATE void sqlite3BtreeTripAllCursors(Btree*, int); +SQLITE_PRIVATE int sqlite3BtreeTripAllCursors(Btree*, int, int); SQLITE_PRIVATE void sqlite3BtreeGetMeta(Btree *pBtree, int idx, u32 *pValue); SQLITE_PRIVATE int sqlite3BtreeUpdateMeta(Btree*, int idx, u32 value); @@ -9000,7 +9099,8 @@ SQLITE_PRIVATE int sqlite3BtreeMovetoUnpacked( int bias, int *pRes ); -SQLITE_PRIVATE int sqlite3BtreeCursorHasMoved(BtCursor*, int*); +SQLITE_PRIVATE int sqlite3BtreeCursorHasMoved(BtCursor*); +SQLITE_PRIVATE int sqlite3BtreeCursorRestore(BtCursor*, int*); SQLITE_PRIVATE int sqlite3BtreeDelete(BtCursor*); SQLITE_PRIVATE int sqlite3BtreeInsert(BtCursor*, const void *pKey, i64 nKey, const void *pData, int nData, @@ -9291,42 +9391,42 @@ typedef struct VdbeOpList VdbeOpList; #define OP_AddImm 37 /* synopsis: r[P1]=r[P1]+P2 */ #define OP_MustBeInt 38 #define OP_RealAffinity 39 -#define OP_Permutation 40 -#define OP_Compare 41 /* synopsis: r[P1@P3] <-> r[P2@P3] */ -#define OP_Jump 42 -#define OP_Once 43 -#define OP_If 44 -#define OP_IfNot 45 -#define OP_Column 46 /* synopsis: r[P3]=PX */ -#define OP_Affinity 47 /* synopsis: affinity(r[P1@P2]) */ -#define OP_MakeRecord 48 /* synopsis: r[P3]=mkrec(r[P1@P2]) */ -#define OP_Count 49 /* synopsis: r[P2]=count() */ -#define OP_ReadCookie 50 -#define OP_SetCookie 51 -#define OP_ReopenIdx 52 /* synopsis: root=P2 iDb=P3 */ -#define OP_OpenRead 53 /* synopsis: root=P2 iDb=P3 */ -#define OP_OpenWrite 54 /* synopsis: root=P2 iDb=P3 */ -#define OP_OpenAutoindex 55 /* synopsis: nColumn=P2 */ -#define OP_OpenEphemeral 56 /* synopsis: nColumn=P2 */ -#define OP_SorterOpen 57 -#define OP_OpenPseudo 58 /* synopsis: P3 columns in r[P2] */ -#define OP_Close 59 -#define OP_SeekLT 60 /* synopsis: key=r[P3@P4] */ -#define OP_SeekLE 61 /* synopsis: key=r[P3@P4] */ -#define OP_SeekGE 62 /* synopsis: key=r[P3@P4] */ -#define OP_SeekGT 63 /* synopsis: key=r[P3@P4] */ -#define OP_Seek 64 /* synopsis: intkey=r[P2] */ -#define OP_NoConflict 65 /* synopsis: key=r[P3@P4] */ -#define OP_NotFound 66 /* synopsis: key=r[P3@P4] */ -#define OP_Found 67 /* synopsis: key=r[P3@P4] */ -#define OP_NotExists 68 /* synopsis: intkey=r[P3] */ -#define OP_Sequence 69 /* synopsis: r[P2]=cursor[P1].ctr++ */ -#define OP_NewRowid 70 /* synopsis: r[P2]=rowid */ +#define OP_Cast 40 /* synopsis: affinity(r[P1]) */ +#define OP_Permutation 41 +#define OP_Compare 42 /* synopsis: r[P1@P3] <-> r[P2@P3] */ +#define OP_Jump 43 +#define OP_Once 44 +#define OP_If 45 +#define OP_IfNot 46 +#define OP_Column 47 /* synopsis: r[P3]=PX */ +#define OP_Affinity 48 /* synopsis: affinity(r[P1@P2]) */ +#define OP_MakeRecord 49 /* synopsis: r[P3]=mkrec(r[P1@P2]) */ +#define OP_Count 50 /* synopsis: r[P2]=count() */ +#define OP_ReadCookie 51 +#define OP_SetCookie 52 +#define OP_ReopenIdx 53 /* synopsis: root=P2 iDb=P3 */ +#define OP_OpenRead 54 /* synopsis: root=P2 iDb=P3 */ +#define OP_OpenWrite 55 /* synopsis: root=P2 iDb=P3 */ +#define OP_OpenAutoindex 56 /* synopsis: nColumn=P2 */ +#define OP_OpenEphemeral 57 /* synopsis: nColumn=P2 */ +#define OP_SorterOpen 58 +#define OP_SequenceTest 59 /* synopsis: if( cursor[P1].ctr++ ) pc = P2 */ +#define OP_OpenPseudo 60 /* synopsis: P3 columns in r[P2] */ +#define OP_Close 61 +#define OP_SeekLT 62 /* synopsis: key=r[P3@P4] */ +#define OP_SeekLE 63 /* synopsis: key=r[P3@P4] */ +#define OP_SeekGE 64 /* synopsis: key=r[P3@P4] */ +#define OP_SeekGT 65 /* synopsis: key=r[P3@P4] */ +#define OP_Seek 66 /* synopsis: intkey=r[P2] */ +#define OP_NoConflict 67 /* synopsis: key=r[P3@P4] */ +#define OP_NotFound 68 /* synopsis: key=r[P3@P4] */ +#define OP_Found 69 /* synopsis: key=r[P3@P4] */ +#define OP_NotExists 70 /* synopsis: intkey=r[P3] */ #define OP_Or 71 /* same as TK_OR, synopsis: r[P3]=(r[P1] || r[P2]) */ #define OP_And 72 /* same as TK_AND, synopsis: r[P3]=(r[P1] && r[P2]) */ -#define OP_Insert 73 /* synopsis: intkey=r[P3] data=r[P2] */ -#define OP_InsertInt 74 /* synopsis: intkey=P3 data=r[P2] */ -#define OP_Delete 75 +#define OP_Sequence 73 /* synopsis: r[P2]=cursor[P1].ctr++ */ +#define OP_NewRowid 74 /* synopsis: r[P2]=rowid */ +#define OP_Insert 75 /* synopsis: intkey=r[P3] data=r[P2] */ #define OP_IsNull 76 /* same as TK_ISNULL, synopsis: if r[P1]==NULL goto P2 */ #define OP_NotNull 77 /* same as TK_NOTNULL, synopsis: if r[P1]!=NULL goto P2 */ #define OP_Ne 78 /* same as TK_NE, synopsis: if r[P1]!=r[P3] goto P2 */ @@ -9335,7 +9435,7 @@ typedef struct VdbeOpList VdbeOpList; #define OP_Le 81 /* same as TK_LE, synopsis: if r[P1]<=r[P3] goto P2 */ #define OP_Lt 82 /* same as TK_LT, synopsis: if r[P1]<r[P3] goto P2 */ #define OP_Ge 83 /* same as TK_GE, synopsis: if r[P1]>=r[P3] goto P2 */ -#define OP_ResetCount 84 +#define OP_InsertInt 84 /* synopsis: intkey=P3 data=r[P2] */ #define OP_BitAnd 85 /* same as TK_BITAND, synopsis: r[P3]=r[P1]&r[P2] */ #define OP_BitOr 86 /* same as TK_BITOR, synopsis: r[P3]=r[P1]|r[P2] */ #define OP_ShiftLeft 87 /* same as TK_LSHIFT, synopsis: r[P3]=r[P2]<<r[P1] */ @@ -9346,70 +9446,67 @@ typedef struct VdbeOpList VdbeOpList; #define OP_Divide 92 /* same as TK_SLASH, synopsis: r[P3]=r[P2]/r[P1] */ #define OP_Remainder 93 /* same as TK_REM, synopsis: r[P3]=r[P2]%r[P1] */ #define OP_Concat 94 /* same as TK_CONCAT, synopsis: r[P3]=r[P2]+r[P1] */ -#define OP_SorterCompare 95 /* synopsis: if key(P1)!=trim(r[P3],P4) goto P2 */ +#define OP_Delete 95 #define OP_BitNot 96 /* same as TK_BITNOT, synopsis: r[P1]= ~r[P1] */ #define OP_String8 97 /* same as TK_STRING, synopsis: r[P2]='P4' */ -#define OP_SorterData 98 /* synopsis: r[P2]=data */ -#define OP_RowKey 99 /* synopsis: r[P2]=key */ -#define OP_RowData 100 /* synopsis: r[P2]=data */ -#define OP_Rowid 101 /* synopsis: r[P2]=rowid */ -#define OP_NullRow 102 -#define OP_Last 103 -#define OP_SorterSort 104 -#define OP_Sort 105 -#define OP_Rewind 106 -#define OP_SorterInsert 107 -#define OP_IdxInsert 108 /* synopsis: key=r[P2] */ -#define OP_IdxDelete 109 /* synopsis: key=r[P2@P3] */ -#define OP_IdxRowid 110 /* synopsis: r[P2]=rowid */ -#define OP_IdxLE 111 /* synopsis: key=r[P3@P4] */ -#define OP_IdxGT 112 /* synopsis: key=r[P3@P4] */ -#define OP_IdxLT 113 /* synopsis: key=r[P3@P4] */ -#define OP_IdxGE 114 /* synopsis: key=r[P3@P4] */ -#define OP_Destroy 115 -#define OP_Clear 116 -#define OP_ResetSorter 117 -#define OP_CreateIndex 118 /* synopsis: r[P2]=root iDb=P1 */ -#define OP_CreateTable 119 /* synopsis: r[P2]=root iDb=P1 */ -#define OP_ParseSchema 120 -#define OP_LoadAnalysis 121 -#define OP_DropTable 122 -#define OP_DropIndex 123 -#define OP_DropTrigger 124 -#define OP_IntegrityCk 125 -#define OP_RowSetAdd 126 /* synopsis: rowset(P1)=r[P2] */ -#define OP_RowSetRead 127 /* synopsis: r[P3]=rowset(P1) */ -#define OP_RowSetTest 128 /* synopsis: if r[P3] in rowset(P1) goto P2 */ -#define OP_Program 129 -#define OP_Param 130 -#define OP_FkCounter 131 /* synopsis: fkctr[P1]+=P2 */ -#define OP_FkIfZero 132 /* synopsis: if fkctr[P1]==0 goto P2 */ +#define OP_ResetCount 98 +#define OP_SorterCompare 99 /* synopsis: if key(P1)!=trim(r[P3],P4) goto P2 */ +#define OP_SorterData 100 /* synopsis: r[P2]=data */ +#define OP_RowKey 101 /* synopsis: r[P2]=key */ +#define OP_RowData 102 /* synopsis: r[P2]=data */ +#define OP_Rowid 103 /* synopsis: r[P2]=rowid */ +#define OP_NullRow 104 +#define OP_Last 105 +#define OP_SorterSort 106 +#define OP_Sort 107 +#define OP_Rewind 108 +#define OP_SorterInsert 109 +#define OP_IdxInsert 110 /* synopsis: key=r[P2] */ +#define OP_IdxDelete 111 /* synopsis: key=r[P2@P3] */ +#define OP_IdxRowid 112 /* synopsis: r[P2]=rowid */ +#define OP_IdxLE 113 /* synopsis: key=r[P3@P4] */ +#define OP_IdxGT 114 /* synopsis: key=r[P3@P4] */ +#define OP_IdxLT 115 /* synopsis: key=r[P3@P4] */ +#define OP_IdxGE 116 /* synopsis: key=r[P3@P4] */ +#define OP_Destroy 117 +#define OP_Clear 118 +#define OP_ResetSorter 119 +#define OP_CreateIndex 120 /* synopsis: r[P2]=root iDb=P1 */ +#define OP_CreateTable 121 /* synopsis: r[P2]=root iDb=P1 */ +#define OP_ParseSchema 122 +#define OP_LoadAnalysis 123 +#define OP_DropTable 124 +#define OP_DropIndex 125 +#define OP_DropTrigger 126 +#define OP_IntegrityCk 127 +#define OP_RowSetAdd 128 /* synopsis: rowset(P1)=r[P2] */ +#define OP_RowSetRead 129 /* synopsis: r[P3]=rowset(P1) */ +#define OP_RowSetTest 130 /* synopsis: if r[P3] in rowset(P1) goto P2 */ +#define OP_Program 131 +#define OP_Param 132 #define OP_Real 133 /* same as TK_FLOAT, synopsis: r[P2]=P4 */ -#define OP_MemMax 134 /* synopsis: r[P1]=max(r[P1],r[P2]) */ -#define OP_IfPos 135 /* synopsis: if r[P1]>0 goto P2 */ -#define OP_IfNeg 136 /* synopsis: r[P1]+=P3, if r[P1]<0 goto P2 */ -#define OP_IfZero 137 /* synopsis: r[P1]+=P3, if r[P1]==0 goto P2 */ -#define OP_AggFinal 138 /* synopsis: accum=r[P1] N=P2 */ -#define OP_IncrVacuum 139 -#define OP_Expire 140 -#define OP_TableLock 141 /* synopsis: iDb=P1 root=P2 write=P3 */ -#define OP_VBegin 142 -#define OP_ToText 143 /* same as TK_TO_TEXT */ -#define OP_ToBlob 144 /* same as TK_TO_BLOB */ -#define OP_ToNumeric 145 /* same as TK_TO_NUMERIC */ -#define OP_ToInt 146 /* same as TK_TO_INT */ -#define OP_ToReal 147 /* same as TK_TO_REAL */ -#define OP_VCreate 148 -#define OP_VDestroy 149 -#define OP_VOpen 150 -#define OP_VColumn 151 /* synopsis: r[P3]=vcolumn(P2) */ -#define OP_VNext 152 -#define OP_VRename 153 -#define OP_Pagecount 154 -#define OP_MaxPgcnt 155 -#define OP_Init 156 /* synopsis: Start at P2 */ -#define OP_Noop 157 -#define OP_Explain 158 +#define OP_FkCounter 134 /* synopsis: fkctr[P1]+=P2 */ +#define OP_FkIfZero 135 /* synopsis: if fkctr[P1]==0 goto P2 */ +#define OP_MemMax 136 /* synopsis: r[P1]=max(r[P1],r[P2]) */ +#define OP_IfPos 137 /* synopsis: if r[P1]>0 goto P2 */ +#define OP_IfNeg 138 /* synopsis: r[P1]+=P3, if r[P1]<0 goto P2 */ +#define OP_IfZero 139 /* synopsis: r[P1]+=P3, if r[P1]==0 goto P2 */ +#define OP_AggFinal 140 /* synopsis: accum=r[P1] N=P2 */ +#define OP_IncrVacuum 141 +#define OP_Expire 142 +#define OP_TableLock 143 /* synopsis: iDb=P1 root=P2 write=P3 */ +#define OP_VBegin 144 +#define OP_VCreate 145 +#define OP_VDestroy 146 +#define OP_VOpen 147 +#define OP_VColumn 148 /* synopsis: r[P3]=vcolumn(P2) */ +#define OP_VNext 149 +#define OP_VRename 150 +#define OP_Pagecount 151 +#define OP_MaxPgcnt 152 +#define OP_Init 153 /* synopsis: Start at P2 */ +#define OP_Noop 154 +#define OP_Explain 155 /* Properties such as "out2" or "jump" that are specified in @@ -9429,21 +9526,21 @@ typedef struct VdbeOpList VdbeOpList; /* 16 */ 0x01, 0x01, 0x04, 0x24, 0x01, 0x04, 0x05, 0x10,\ /* 24 */ 0x00, 0x02, 0x02, 0x02, 0x02, 0x00, 0x02, 0x02,\ /* 32 */ 0x00, 0x00, 0x20, 0x00, 0x00, 0x04, 0x05, 0x04,\ -/* 40 */ 0x00, 0x00, 0x01, 0x01, 0x05, 0x05, 0x00, 0x00,\ -/* 48 */ 0x00, 0x02, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00,\ -/* 56 */ 0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11,\ -/* 64 */ 0x08, 0x11, 0x11, 0x11, 0x11, 0x02, 0x02, 0x4c,\ -/* 72 */ 0x4c, 0x00, 0x00, 0x00, 0x05, 0x05, 0x15, 0x15,\ +/* 40 */ 0x04, 0x00, 0x00, 0x01, 0x01, 0x05, 0x05, 0x00,\ +/* 48 */ 0x00, 0x00, 0x02, 0x02, 0x10, 0x00, 0x00, 0x00,\ +/* 56 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x11,\ +/* 64 */ 0x11, 0x11, 0x08, 0x11, 0x11, 0x11, 0x11, 0x4c,\ +/* 72 */ 0x4c, 0x02, 0x02, 0x00, 0x05, 0x05, 0x15, 0x15,\ /* 80 */ 0x15, 0x15, 0x15, 0x15, 0x00, 0x4c, 0x4c, 0x4c,\ /* 88 */ 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x00,\ -/* 96 */ 0x24, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01,\ -/* 104 */ 0x01, 0x01, 0x01, 0x08, 0x08, 0x00, 0x02, 0x01,\ -/* 112 */ 0x01, 0x01, 0x01, 0x02, 0x00, 0x00, 0x02, 0x02,\ -/* 120 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x45,\ -/* 128 */ 0x15, 0x01, 0x02, 0x00, 0x01, 0x02, 0x08, 0x05,\ -/* 136 */ 0x05, 0x05, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04,\ -/* 144 */ 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00,\ -/* 152 */ 0x01, 0x00, 0x02, 0x02, 0x01, 0x00, 0x00,} +/* 96 */ 0x24, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,\ +/* 104 */ 0x00, 0x01, 0x01, 0x01, 0x01, 0x08, 0x08, 0x00,\ +/* 112 */ 0x02, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x00,\ +/* 120 */ 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\ +/* 128 */ 0x0c, 0x45, 0x15, 0x01, 0x02, 0x02, 0x00, 0x01,\ +/* 136 */ 0x08, 0x05, 0x05, 0x05, 0x00, 0x01, 0x00, 0x00,\ +/* 144 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02,\ +/* 152 */ 0x02, 0x01, 0x00, 0x00,} /************** End of opcodes.h *********************************************/ /************** Continuing where we left off in vdbe.h ***********************/ @@ -9501,10 +9598,10 @@ SQLITE_PRIVATE char *sqlite3VdbeExpandSql(Vdbe*, const char*); SQLITE_PRIVATE int sqlite3MemCompare(const Mem*, const Mem*, const CollSeq*); SQLITE_PRIVATE void sqlite3VdbeRecordUnpack(KeyInfo*,int,const void*,UnpackedRecord*); -SQLITE_PRIVATE int sqlite3VdbeRecordCompare(int,const void*,UnpackedRecord*,int); +SQLITE_PRIVATE int sqlite3VdbeRecordCompare(int,const void*,UnpackedRecord*); SQLITE_PRIVATE UnpackedRecord *sqlite3VdbeAllocUnpackedRecord(KeyInfo *, char *, int, char **); -typedef int (*RecordCompare)(int,const void*,UnpackedRecord*,int); +typedef int (*RecordCompare)(int,const void*,UnpackedRecord*); SQLITE_PRIVATE RecordCompare sqlite3VdbeFindCompare(UnpackedRecord*); #ifndef SQLITE_OMIT_TRIGGER @@ -9862,7 +9959,7 @@ SQLITE_PRIVATE void sqlite3PCacheBufferSetup(void *, int sz, int n); ** Under memory stress, invoke xStress to try to make pages clean. ** Only clean and unpinned pages can be reclaimed. */ -SQLITE_PRIVATE void sqlite3PcacheOpen( +SQLITE_PRIVATE int sqlite3PcacheOpen( int szPage, /* Size of every page */ int szExtra, /* Extra space associated with each page */ int bPurgeable, /* True if pages are on backing store */ @@ -9872,7 +9969,7 @@ SQLITE_PRIVATE void sqlite3PcacheOpen( ); /* Modify the page-size after the cache has been created. */ -SQLITE_PRIVATE void sqlite3PcacheSetPageSize(PCache *, int); +SQLITE_PRIVATE int sqlite3PcacheSetPageSize(PCache *, int); /* Return the size in bytes of a PCache object. Used to preallocate ** storage space. @@ -9882,7 +9979,9 @@ SQLITE_PRIVATE int sqlite3PcacheSize(void); /* One release per successful fetch. Page is pinned until released. ** Reference counted. */ -SQLITE_PRIVATE int sqlite3PcacheFetch(PCache*, Pgno, int createFlag, PgHdr**); +SQLITE_PRIVATE sqlite3_pcache_page *sqlite3PcacheFetch(PCache*, Pgno, int createFlag); +SQLITE_PRIVATE int sqlite3PcacheFetchStress(PCache*, Pgno, sqlite3_pcache_page**); +SQLITE_PRIVATE PgHdr *sqlite3PcacheFetchFinish(PCache*, Pgno, sqlite3_pcache_page *pPage); SQLITE_PRIVATE void sqlite3PcacheRelease(PgHdr*); SQLITE_PRIVATE void sqlite3PcacheDrop(PgHdr*); /* Remove page from cache */ @@ -10142,7 +10241,7 @@ SQLITE_PRIVATE void sqlite3PCacheSetDefault(void); ** shared locks begins at SHARED_FIRST. ** ** The same locking strategy and -** byte ranges are used for Unix. This leaves open the possiblity of having +** byte ranges are used for Unix. This leaves open the possibility of having ** clients on win95, winNT, and unix all talking to the same shared file ** and all locking correctly. To do so would require that samba (or whatever ** tool is being used for file sharing) implements locks correctly between @@ -10261,7 +10360,7 @@ SQLITE_PRIVATE int sqlite3OsCloseFree(sqlite3_file *); ** Figure out what version of the code to use. The choices are ** ** SQLITE_MUTEX_OMIT No mutex logic. Not even stubs. The -** mutexes implemention cannot be overridden +** mutexes implementation cannot be overridden ** at start-time. ** ** SQLITE_MUTEX_NOOP For single-threaded applications. No @@ -10381,7 +10480,7 @@ struct Schema { ** The number of different kinds of things that can be limited ** using the sqlite3_limit() interface. */ -#define SQLITE_N_LIMIT (SQLITE_LIMIT_TRIGGER_DEPTH+1) +#define SQLITE_N_LIMIT (SQLITE_LIMIT_WORKER_THREADS+1) /* ** Lookaside malloc is a set of fixed-size buffers that can be used @@ -10428,6 +10527,45 @@ struct FuncDefHash { FuncDef *a[23]; /* Hash table for functions */ }; +#ifdef SQLITE_USER_AUTHENTICATION +/* +** Information held in the "sqlite3" database connection object and used +** to manage user authentication. +*/ +typedef struct sqlite3_userauth sqlite3_userauth; +struct sqlite3_userauth { + u8 authLevel; /* Current authentication level */ + int nAuthPW; /* Size of the zAuthPW in bytes */ + char *zAuthPW; /* Password used to authenticate */ + char *zAuthUser; /* User name used to authenticate */ +}; + +/* Allowed values for sqlite3_userauth.authLevel */ +#define UAUTH_Unknown 0 /* Authentication not yet checked */ +#define UAUTH_Fail 1 /* User authentication failed */ +#define UAUTH_User 2 /* Authenticated as a normal user */ +#define UAUTH_Admin 3 /* Authenticated as an administrator */ + +/* Functions used only by user authorization logic */ +SQLITE_PRIVATE int sqlite3UserAuthTable(const char*); +SQLITE_PRIVATE int sqlite3UserAuthCheckLogin(sqlite3*,const char*,u8*); +SQLITE_PRIVATE void sqlite3UserAuthInit(sqlite3*); +SQLITE_PRIVATE void sqlite3CryptFunc(sqlite3_context*,int,sqlite3_value**); + +#endif /* SQLITE_USER_AUTHENTICATION */ + +/* +** typedef for the authorization callback function. +*/ +#ifdef SQLITE_USER_AUTHENTICATION + typedef int (*sqlite3_xauth)(void*,int,const char*,const char*,const char*, + const char*, const char*); +#else + typedef int (*sqlite3_xauth)(void*,int,const char*,const char*,const char*, + const char*); +#endif + + /* ** Each database connection is an instance of the following structure. */ @@ -10458,6 +10596,7 @@ struct sqlite3 { int nChange; /* Value returned by sqlite3_changes() */ int nTotalChange; /* Value returned by sqlite3_total_changes() */ int aLimit[SQLITE_N_LIMIT]; /* Limits */ + int nMaxSorterMmap; /* Maximum size of regions mapped by sorter */ struct sqlite3InitInfo { /* Information used during initialization */ int newTnum; /* Rootpage of table being initialized */ u8 iDb; /* Which db file is being initialized */ @@ -10494,8 +10633,7 @@ struct sqlite3 { } u1; Lookaside lookaside; /* Lookaside malloc configuration */ #ifndef SQLITE_OMIT_AUTHORIZATION - int (*xAuth)(void*,int,const char*,const char*,const char*,const char*); - /* Access authorization function */ + sqlite3_xauth xAuth; /* Access authorization function */ void *pAuthArg; /* 1st argument to the access auth function */ #endif #ifndef SQLITE_OMIT_PROGRESS_CALLBACK @@ -10521,7 +10659,6 @@ struct sqlite3 { i64 nDeferredCons; /* Net deferred constraints this transaction. */ i64 nDeferredImmCons; /* Net deferred immediate constraints */ int *pnBytesFreed; /* If not NULL, increment this in DbFree() */ - #ifdef SQLITE_ENABLE_UNLOCK_NOTIFY /* The following variables are all protected by the STATIC_MASTER ** mutex, not by sqlite3.mutex. They are used by code in notify.c. @@ -10539,6 +10676,9 @@ struct sqlite3 { void (*xUnlockNotify)(void **, int); /* Unlock notify callback */ sqlite3 *pNextBlocked; /* Next in list of all blocked connections */ #endif +#ifdef SQLITE_USER_AUTHENTICATION + sqlite3_userauth auth; /* User authentication information */ +#endif }; /* @@ -10598,7 +10738,6 @@ struct sqlite3 { #define SQLITE_Transitive 0x0200 /* Transitive constraints */ #define SQLITE_OmitNoopJoin 0x0400 /* Omit unused tables in joins */ #define SQLITE_Stat3 0x0800 /* Use the SQLITE_STAT3 table */ -#define SQLITE_AdjustOutEst 0x1000 /* Adjust output estimates using WHERE */ #define SQLITE_AllOpts 0xffff /* All optimizations */ /* @@ -10685,6 +10824,7 @@ struct FuncDestructor { #define SQLITE_FUNC_COALESCE 0x200 /* Built-in coalesce() or ifnull() */ #define SQLITE_FUNC_UNLIKELY 0x400 /* Built-in unlikely() function */ #define SQLITE_FUNC_CONSTANT 0x800 /* Constant inputs give a constant output */ +#define SQLITE_FUNC_MINMAX 0x1000 /* True for min() and max() aggregates */ /* ** The following three macros, FUNCTION(), LIKEFUNC() and AGGREGATE() are @@ -10732,6 +10872,9 @@ struct FuncDestructor { #define AGGREGATE(zName, nArg, arg, nc, xStep, xFinal) \ {nArg, SQLITE_UTF8|(nc*SQLITE_FUNC_NEEDCOLL), \ SQLITE_INT_TO_PTR(arg), 0, 0, xStep,xFinal,#zName,0,0} +#define AGGREGATE2(zName, nArg, arg, nc, xStep, xFinal, extraFlags) \ + {nArg, SQLITE_UTF8|(nc*SQLITE_FUNC_NEEDCOLL)|extraFlags, \ + SQLITE_INT_TO_PTR(arg), 0, 0, xStep,xFinal,#zName,0,0} /* ** All current savepoints are stored in a linked list starting at @@ -10818,18 +10961,18 @@ struct CollSeq { ** 't' for SQLITE_AFF_TEXT. But we can save a little space and improve ** the speed a little by numbering the values consecutively. ** -** But rather than start with 0 or 1, we begin with 'a'. That way, +** But rather than start with 0 or 1, we begin with 'A'. That way, ** when multiple affinity types are concatenated into a string and ** used as the P4 operand, they will be more readable. ** ** Note also that the numeric types are grouped together so that testing -** for a numeric type is a single comparison. +** for a numeric type is a single comparison. And the NONE type is first. */ -#define SQLITE_AFF_TEXT 'a' -#define SQLITE_AFF_NONE 'b' -#define SQLITE_AFF_NUMERIC 'c' -#define SQLITE_AFF_INTEGER 'd' -#define SQLITE_AFF_REAL 'e' +#define SQLITE_AFF_NONE 'A' +#define SQLITE_AFF_TEXT 'B' +#define SQLITE_AFF_NUMERIC 'C' +#define SQLITE_AFF_INTEGER 'D' +#define SQLITE_AFF_REAL 'E' #define sqlite3IsNumericAffinity(X) ((X)>=SQLITE_AFF_NUMERIC) @@ -10837,7 +10980,7 @@ struct CollSeq { ** The SQLITE_AFF_MASK values masks off the significant bits of an ** affinity value. */ -#define SQLITE_AFF_MASK 0x67 +#define SQLITE_AFF_MASK 0x47 /* ** Additional bit values that can be ORed with an affinity without @@ -10848,10 +10991,10 @@ struct CollSeq { ** operator is NULL. It is added to certain comparison operators to ** prove that the operands are always NOT NULL. */ -#define SQLITE_JUMPIFNULL 0x08 /* jumps if either operand is NULL */ -#define SQLITE_STOREP2 0x10 /* Store result in reg[P2] rather than jump */ +#define SQLITE_JUMPIFNULL 0x10 /* jumps if either operand is NULL */ +#define SQLITE_STOREP2 0x20 /* Store result in reg[P2] rather than jump */ #define SQLITE_NULLEQ 0x80 /* NULL=NULL */ -#define SQLITE_NOTNULL 0x88 /* Assert that operands are never NULL */ +#define SQLITE_NOTNULL 0x90 /* Assert that operands are never NULL */ /* ** An object of this type is created for each virtual table present in @@ -11121,7 +11264,7 @@ struct UnpackedRecord { KeyInfo *pKeyInfo; /* Collation and sort-order information */ u16 nField; /* Number of entries in apMem[] */ i8 default_rc; /* Comparison result if keys are equal */ - u8 isCorrupt; /* Corruption detected by xRecordCompare() */ + u8 errCode; /* Error detected by xRecordCompare (CORRUPT or NOMEM) */ Mem *aMem; /* Values */ int r1; /* Value to return if (lhs > rhs) */ int r2; /* Value to return if (rhs < lhs) */ @@ -11181,6 +11324,7 @@ struct Index { int nSampleCol; /* Size of IndexSample.anEq[] and so on */ tRowcnt *aAvgEq; /* Average nEq values for keys not in aSample */ IndexSample *aSample; /* Samples of the left-most key */ + tRowcnt *aiRowEst; /* Non-logarithmic stat1 data for this table */ #endif }; @@ -11393,7 +11537,7 @@ struct Expr { /* ** The following are the meanings of bits in the Expr.flags field. */ -#define EP_FromJoin 0x000001 /* Originated in ON or USING clause of a join */ +#define EP_FromJoin 0x000001 /* Originates in ON/USING clause of outer join */ #define EP_Agg 0x000002 /* Contains one or more aggregate functions */ #define EP_Resolved 0x000004 /* IDs have been resolved to COLUMNs */ #define EP_Error 0x000008 /* Expression contains one or more errors */ @@ -11413,6 +11557,7 @@ struct Expr { #define EP_NoReduce 0x020000 /* Cannot EXPRDUP_REDUCE this Expr */ #define EP_Unlikely 0x040000 /* unlikely() or likelihood() function */ #define EP_Constant 0x080000 /* Node is a constant */ +#define EP_CanBeNull 0x100000 /* Can be null despite NOT NULL constraint */ /* ** These macros can be used to test, set, or clear bits in the @@ -11611,7 +11756,7 @@ struct SrcList { #define WHERE_OMIT_OPEN_CLOSE 0x0010 /* Table cursors are already open */ #define WHERE_FORCE_TABLE 0x0020 /* Do not use an index-only search */ #define WHERE_ONETABLE_ONLY 0x0040 /* Only code the 1st table in pTabList */ -#define WHERE_AND_ONLY 0x0080 /* Don't use indices for OR terms */ + /* 0x0080 // not currently used */ #define WHERE_GROUPBY 0x0100 /* pOrderBy is really a GROUP BY */ #define WHERE_DISTINCTBY 0x0200 /* pOrderby is really a DISTINCT clause */ #define WHERE_WANT_DISTINCT 0x0400 /* All output needs to be distinct */ @@ -11654,17 +11799,22 @@ struct NameContext { NameContext *pNext; /* Next outer name context. NULL for outermost */ int nRef; /* Number of names resolved by this context */ int nErr; /* Number of errors encountered while resolving names */ - u8 ncFlags; /* Zero or more NC_* flags defined below */ + u16 ncFlags; /* Zero or more NC_* flags defined below */ }; /* ** Allowed values for the NameContext, ncFlags field. +** +** Note: NC_MinMaxAgg must have the same value as SF_MinMaxAgg and +** SQLITE_FUNC_MINMAX. +** */ -#define NC_AllowAgg 0x01 /* Aggregate functions are allowed here */ -#define NC_HasAgg 0x02 /* One or more aggregate functions seen */ -#define NC_IsCheck 0x04 /* True if resolving names in a CHECK constraint */ -#define NC_InAggFunc 0x08 /* True if analyzing arguments to an agg func */ -#define NC_PartIdx 0x10 /* True if resolving a partial index WHERE */ +#define NC_AllowAgg 0x0001 /* Aggregate functions are allowed here */ +#define NC_HasAgg 0x0002 /* One or more aggregate functions seen */ +#define NC_IsCheck 0x0004 /* True if resolving names in a CHECK constraint */ +#define NC_InAggFunc 0x0008 /* True if analyzing arguments to an agg func */ +#define NC_PartIdx 0x0010 /* True if resolving a partial index WHERE */ +#define NC_MinMaxAgg 0x1000 /* min/max aggregates seen. See note above */ /* ** An instance of the following structure contains all information @@ -11691,6 +11841,9 @@ struct Select { u8 op; /* One of: TK_UNION TK_ALL TK_INTERSECT TK_EXCEPT */ u16 selFlags; /* Various SF_* values */ int iLimit, iOffset; /* Memory registers holding LIMIT & OFFSET counters */ +#if SELECTTRACE_ENABLED + char zSelName[12]; /* Symbolic name of this SELECT use for debugging */ +#endif int addrOpenEphm[2]; /* OP_OpenEphem opcodes related to this select */ u64 nSelectRow; /* Estimated number of result rows */ SrcList *pSrc; /* The FROM clause */ @@ -11715,13 +11868,13 @@ struct Select { #define SF_UsesEphemeral 0x0008 /* Uses the OpenEphemeral opcode */ #define SF_Expanded 0x0010 /* sqlite3SelectExpand() called on this */ #define SF_HasTypeInfo 0x0020 /* FROM subqueries have Table metadata */ - /* 0x0040 NOT USED */ +#define SF_Compound 0x0040 /* Part of a compound query */ #define SF_Values 0x0080 /* Synthesized from VALUES clause */ /* 0x0100 NOT USED */ #define SF_NestedFrom 0x0200 /* Part of a parenthesized FROM clause */ #define SF_MaybeConvert 0x0400 /* Need convertCompoundSelectToSubquery() */ #define SF_Recursive 0x0800 /* The recursive part of a recursive CTE */ -#define SF_Compound 0x1000 /* Part of a compound query */ +#define SF_MinMaxAgg 0x1000 /* Aggregate containing min() or max() */ /* @@ -11949,6 +12102,10 @@ struct Parse { int regRowid; /* Register holding rowid of CREATE TABLE entry */ int regRoot; /* Register holding root page number for new objects */ int nMaxArg; /* Max args passed to user function by sub-program */ +#if SELECTTRACE_ENABLED + int nSelect; /* Number of SELECT statements seen */ + int nSelectIndent; /* How far to indent SELECTTRACE() output */ +#endif #ifndef SQLITE_OMIT_SHARED_CACHE int nTableLock; /* Number of locks in aTableLock */ TableLock *aTableLock; /* Required table locks for shared-cache mode */ @@ -12028,11 +12185,11 @@ struct AuthContext { ** Bitfield flags for P5 value in various opcodes. */ #define OPFLAG_NCHANGE 0x01 /* Set to update db->nChange */ +#define OPFLAG_EPHEM 0x01 /* OP_Column: Ephemeral output is ok */ #define OPFLAG_LASTROWID 0x02 /* Set to update db->lastRowid */ #define OPFLAG_ISUPDATE 0x04 /* This OP_Insert is an sql UPDATE */ #define OPFLAG_APPEND 0x08 /* This is likely to be an append */ #define OPFLAG_USESEEKRESULT 0x10 /* Try to avoid a seek in BtreeInsert() */ -#define OPFLAG_CLEARCACHE 0x20 /* Clear pseudo-table cache in OP_Column */ #define OPFLAG_LENGTHARG 0x40 /* OP_Column only used for length() */ #define OPFLAG_TYPEOFARG 0x80 /* OP_Column only used for typeof() */ #define OPFLAG_BULKCSR 0x01 /* OP_Open** used to open bulk cursor */ @@ -12296,6 +12453,17 @@ struct With { } a[1]; }; +#ifdef SQLITE_DEBUG +/* +** An instance of the TreeView object is used for printing the content of +** data structures on sqlite3DebugPrintf() using a tree-like view. +*/ +struct TreeView { + int iLevel; /* Which level of the tree we are on */ + u8 bLine[100]; /* Draw vertical in column i if bLine[i] is true */ +}; +#endif /* SQLITE_DEBUG */ + /* ** Assuming zIn points to the first byte of a UTF-8 character, ** advance zIn to point to the first byte of the next UTF-8 character. @@ -12323,8 +12491,8 @@ SQLITE_PRIVATE int sqlite3CantopenError(int); /* ** FTS4 is really an extension for FTS3. It is enabled using the -** SQLITE_ENABLE_FTS3 macro. But to avoid confusion we also all -** the SQLITE_ENABLE_FTS4 macro to serve as an alisse for SQLITE_ENABLE_FTS3. +** SQLITE_ENABLE_FTS3 macro. But to avoid confusion we also call +** the SQLITE_ENABLE_FTS4 macro to serve as an alias for SQLITE_ENABLE_FTS3. */ #if defined(SQLITE_ENABLE_FTS4) && !defined(SQLITE_ENABLE_FTS3) # define SQLITE_ENABLE_FTS3 @@ -12361,6 +12529,7 @@ SQLITE_PRIVATE int sqlite3CantopenError(int); # define sqlite3Isxdigit(x) isxdigit((unsigned char)(x)) # define sqlite3Tolower(x) tolower((unsigned char)(x)) #endif +SQLITE_PRIVATE int sqlite3IsIdChar(u8); /* ** Internal function prototypes @@ -12371,15 +12540,15 @@ SQLITE_PRIVATE int sqlite3Strlen30(const char*); SQLITE_PRIVATE int sqlite3MallocInit(void); SQLITE_PRIVATE void sqlite3MallocEnd(void); -SQLITE_PRIVATE void *sqlite3Malloc(int); -SQLITE_PRIVATE void *sqlite3MallocZero(int); -SQLITE_PRIVATE void *sqlite3DbMallocZero(sqlite3*, int); -SQLITE_PRIVATE void *sqlite3DbMallocRaw(sqlite3*, int); +SQLITE_PRIVATE void *sqlite3Malloc(u64); +SQLITE_PRIVATE void *sqlite3MallocZero(u64); +SQLITE_PRIVATE void *sqlite3DbMallocZero(sqlite3*, u64); +SQLITE_PRIVATE void *sqlite3DbMallocRaw(sqlite3*, u64); SQLITE_PRIVATE char *sqlite3DbStrDup(sqlite3*,const char*); -SQLITE_PRIVATE char *sqlite3DbStrNDup(sqlite3*,const char*, int); -SQLITE_PRIVATE void *sqlite3Realloc(void*, int); -SQLITE_PRIVATE void *sqlite3DbReallocOrFree(sqlite3 *, void *, int); -SQLITE_PRIVATE void *sqlite3DbRealloc(sqlite3 *, void *, int); +SQLITE_PRIVATE char *sqlite3DbStrNDup(sqlite3*,const char*, u64); +SQLITE_PRIVATE void *sqlite3Realloc(void*, u64); +SQLITE_PRIVATE void *sqlite3DbReallocOrFree(sqlite3 *, void *, u64); +SQLITE_PRIVATE void *sqlite3DbRealloc(sqlite3 *, void *, u64); SQLITE_PRIVATE void sqlite3DbFree(sqlite3*, void*); SQLITE_PRIVATE int sqlite3MallocSize(void*); SQLITE_PRIVATE int sqlite3DbMallocSize(sqlite3*, void*); @@ -12459,25 +12628,14 @@ SQLITE_PRIVATE void sqlite3DebugPrintf(const char*, ...); SQLITE_PRIVATE void *sqlite3TestTextToPtr(const char*); #endif -/* Output formatting for SQLITE_TESTCTRL_EXPLAIN */ -#if defined(SQLITE_ENABLE_TREE_EXPLAIN) -SQLITE_PRIVATE void sqlite3ExplainBegin(Vdbe*); -SQLITE_PRIVATE void sqlite3ExplainPrintf(Vdbe*, const char*, ...); -SQLITE_PRIVATE void sqlite3ExplainNL(Vdbe*); -SQLITE_PRIVATE void sqlite3ExplainPush(Vdbe*); -SQLITE_PRIVATE void sqlite3ExplainPop(Vdbe*); -SQLITE_PRIVATE void sqlite3ExplainFinish(Vdbe*); -SQLITE_PRIVATE void sqlite3ExplainSelect(Vdbe*, Select*); -SQLITE_PRIVATE void sqlite3ExplainExpr(Vdbe*, Expr*); -SQLITE_PRIVATE void sqlite3ExplainExprList(Vdbe*, ExprList*); -SQLITE_PRIVATE const char *sqlite3VdbeExplanation(Vdbe*); -#else -# define sqlite3ExplainBegin(X) -# define sqlite3ExplainSelect(A,B) -# define sqlite3ExplainExpr(A,B) -# define sqlite3ExplainExprList(A,B) -# define sqlite3ExplainFinish(X) -# define sqlite3VdbeExplanation(X) 0 +#if defined(SQLITE_DEBUG) +SQLITE_PRIVATE TreeView *sqlite3TreeViewPush(TreeView*,u8); +SQLITE_PRIVATE void sqlite3TreeViewPop(TreeView*); +SQLITE_PRIVATE void sqlite3TreeViewLine(TreeView*, const char*, ...); +SQLITE_PRIVATE void sqlite3TreeViewItem(TreeView*, const char*, u8); +SQLITE_PRIVATE void sqlite3TreeViewExpr(TreeView*, const Expr*, u8); +SQLITE_PRIVATE void sqlite3TreeViewExprList(TreeView*, const ExprList*, u8, const char*); +SQLITE_PRIVATE void sqlite3TreeViewSelect(TreeView*, const Select*, u8); #endif @@ -12659,7 +12817,7 @@ SQLITE_PRIVATE void sqlite3CloseSavepoints(sqlite3 *); SQLITE_PRIVATE void sqlite3LeaveMutexAndCloseZombie(sqlite3*); SQLITE_PRIVATE int sqlite3ExprIsConstant(Expr*); SQLITE_PRIVATE int sqlite3ExprIsConstantNotJoin(Expr*); -SQLITE_PRIVATE int sqlite3ExprIsConstantOrFunction(Expr*); +SQLITE_PRIVATE int sqlite3ExprIsConstantOrFunction(Expr*, u8); SQLITE_PRIVATE int sqlite3ExprIsInteger(Expr*, int*); SQLITE_PRIVATE int sqlite3ExprCanBeNull(const Expr*); SQLITE_PRIVATE int sqlite3ExprNeedsNoAffinityChange(const Expr*, char); @@ -12683,6 +12841,11 @@ SQLITE_PRIVATE ExprList *sqlite3ExprListDup(sqlite3*,ExprList*,int); SQLITE_PRIVATE SrcList *sqlite3SrcListDup(sqlite3*,SrcList*,int); SQLITE_PRIVATE IdList *sqlite3IdListDup(sqlite3*,IdList*); SQLITE_PRIVATE Select *sqlite3SelectDup(sqlite3*,Select*,int); +#if SELECTTRACE_ENABLED +SQLITE_PRIVATE void sqlite3SelectSetName(Select*,const char*); +#else +# define sqlite3SelectSetName(A,B) +#endif SQLITE_PRIVATE void sqlite3FuncDefInsert(FuncDefHash*, FuncDef*); SQLITE_PRIVATE FuncDef *sqlite3FindFunction(sqlite3*,const char*,int,int,u8,u8); SQLITE_PRIVATE void sqlite3RegisterBuiltinFunctions(sqlite3*); @@ -12769,38 +12932,23 @@ SQLITE_PRIVATE u64 sqlite3LogEstToInt(LogEst); /* ** Routines to read and write variable-length integers. These used to ** be defined locally, but now we use the varint routines in the util.c -** file. Code should use the MACRO forms below, as the Varint32 versions -** are coded to assume the single byte case is already handled (which -** the MACRO form does). +** file. */ SQLITE_PRIVATE int sqlite3PutVarint(unsigned char*, u64); -SQLITE_PRIVATE int sqlite3PutVarint32(unsigned char*, u32); SQLITE_PRIVATE u8 sqlite3GetVarint(const unsigned char *, u64 *); SQLITE_PRIVATE u8 sqlite3GetVarint32(const unsigned char *, u32 *); SQLITE_PRIVATE int sqlite3VarintLen(u64 v); /* -** The header of a record consists of a sequence variable-length integers. -** These integers are almost always small and are encoded as a single byte. -** The following macros take advantage this fact to provide a fast encode -** and decode of the integers in a record header. It is faster for the common -** case where the integer is a single byte. It is a little slower when the -** integer is two or more bytes. But overall it is faster. -** -** The following expressions are equivalent: -** -** x = sqlite3GetVarint32( A, &B ); -** x = sqlite3PutVarint32( A, B ); -** -** x = getVarint32( A, B ); -** x = putVarint32( A, B ); -** +** The common case is for a varint to be a single byte. They following +** macros handle the common case without a procedure call, but then call +** the procedure for larger varints. */ #define getVarint32(A,B) \ (u8)((*(A)<(u8)0x80)?((B)=(u32)*(A)),1:sqlite3GetVarint32((A),(u32 *)&(B))) #define putVarint32(A,B) \ (u8)(((u32)(B)<(u32)0x80)?(*(A)=(unsigned char)(B)),1:\ - sqlite3PutVarint32((A),(B))) + sqlite3PutVarint((A),(B))) #define getVarint sqlite3GetVarint #define putVarint sqlite3PutVarint @@ -12812,7 +12960,8 @@ SQLITE_PRIVATE int sqlite3IndexAffinityOk(Expr *pExpr, char idx_affinity); SQLITE_PRIVATE char sqlite3ExprAffinity(Expr *pExpr); SQLITE_PRIVATE int sqlite3Atoi64(const char*, i64*, int, u8); SQLITE_PRIVATE int sqlite3DecOrHexToI64(const char*, i64*); -SQLITE_PRIVATE void sqlite3Error(sqlite3*, int, const char*,...); +SQLITE_PRIVATE void sqlite3ErrorWithMsg(sqlite3*, int, const char*,...); +SQLITE_PRIVATE void sqlite3Error(sqlite3*,int); SQLITE_PRIVATE void *sqlite3HexToBlob(sqlite3*, const char *z, int n); SQLITE_PRIVATE u8 sqlite3HexToInt(int h); SQLITE_PRIVATE int sqlite3TwoPartName(Parse *, Token *, Token *, Token **); @@ -12914,7 +13063,7 @@ SQLITE_PRIVATE int sqlite3OpenTempDatabase(Parse *); SQLITE_PRIVATE void sqlite3StrAccumInit(StrAccum*, char*, int, int); SQLITE_PRIVATE void sqlite3StrAccumAppend(StrAccum*,const char*,int); SQLITE_PRIVATE void sqlite3StrAccumAppendAll(StrAccum*,const char*); -SQLITE_PRIVATE void sqlite3AppendSpace(StrAccum*,int); +SQLITE_PRIVATE void sqlite3AppendChar(StrAccum*,int,char); SQLITE_PRIVATE char *sqlite3StrAccumFinish(StrAccum*); SQLITE_PRIVATE void sqlite3StrAccumReset(StrAccum*); SQLITE_PRIVATE void sqlite3SelectDestInit(SelectDest*,int,int); @@ -12934,7 +13083,7 @@ SQLITE_PRIVATE int sqlite3Stat4Column(sqlite3*, const void*, int, int, sqlite3_v /* ** The interface to the LEMON-generated parser */ -SQLITE_PRIVATE void *sqlite3ParserAlloc(void*(*)(size_t)); +SQLITE_PRIVATE void *sqlite3ParserAlloc(void*(*)(u64)); SQLITE_PRIVATE void sqlite3ParserFree(void*, void(*)(void*)); SQLITE_PRIVATE void sqlite3Parser(void*, int, Token, Parse*); #ifdef YYTRACKMAXSTACKDEPTH @@ -13174,10 +13323,17 @@ SQLITE_PRIVATE int sqlite3MemdebugNoType(void*,u8); # define sqlite3MemdebugNoType(X,Y) 1 #endif #define MEMTYPE_HEAP 0x01 /* General heap allocations */ -#define MEMTYPE_LOOKASIDE 0x02 /* Might have been lookaside memory */ +#define MEMTYPE_LOOKASIDE 0x02 /* Heap that might have been lookaside */ #define MEMTYPE_SCRATCH 0x04 /* Scratch allocations */ #define MEMTYPE_PCACHE 0x08 /* Page cache allocations */ -#define MEMTYPE_DB 0x10 /* Uses sqlite3DbMalloc, not sqlite_malloc */ + +/* +** Threading interface +*/ +#if SQLITE_MAX_WORKER_THREADS>0 +SQLITE_PRIVATE int sqlite3ThreadCreate(SQLiteThread**,void*(*)(void*),void*); +SQLITE_PRIVATE int sqlite3ThreadJoin(SQLiteThread*, void**); +#endif #endif /* _SQLITEINT_H_ */ @@ -13195,7 +13351,7 @@ SQLITE_PRIVATE int sqlite3MemdebugNoType(void*,u8); ** ************************************************************************* ** -** This file contains definitions of global variables and contants. +** This file contains definitions of global variables and constants. */ /* An array to map all upper-case characters into their corresponding @@ -13313,6 +13469,13 @@ SQLITE_PRIVATE const unsigned char sqlite3CtypeMap[256] = { }; #endif +/* EVIDENCE-OF: R-02982-34736 In order to maintain full backwards +** compatibility for legacy applications, the URI filename capability is +** disabled by default. +** +** EVIDENCE-OF: R-38799-08373 URI filenames can be enabled or disabled +** using the SQLITE_USE_URI=1 or SQLITE_USE_URI=0 compile-time options. +*/ #ifndef SQLITE_USE_URI # define SQLITE_USE_URI 0 #endif @@ -13792,6 +13955,9 @@ static const char * const azCompileOpt[] = { #ifdef SQLITE_USE_ALLOCA "USE_ALLOCA", #endif +#ifdef SQLITE_USER_AUTHENTICATION + "USER_AUTHENTICATION", +#endif #ifdef SQLITE_WIN32_MALLOC "WIN32_MALLOC", #endif @@ -13816,7 +13982,7 @@ SQLITE_API int sqlite3_compileoption_used(const char *zOptName){ ** linear search is adequate. No need for a binary search. */ for(i=0; i<ArraySize(azCompileOpt); i++){ if( sqlite3StrNICmp(zOptName, azCompileOpt[i], n)==0 - && sqlite3CtypeMap[(unsigned char)azCompileOpt[i][n]]==0 + && sqlite3IsIdChar((unsigned char)azCompileOpt[i][n])==0 ){ return 1; } @@ -13931,7 +14097,6 @@ struct VdbeCursor { #endif i8 iDb; /* Index of cursor database in db->aDb[] (or -1) */ u8 nullRow; /* True if pointing to a row with no data */ - u8 rowidIsValid; /* True if lastRowid is valid */ u8 deferredMoveto; /* A call to sqlite3BtreeMoveto() is needed */ Bool isEphemeral:1; /* True for an ephemeral table */ Bool useRandomRowid:1;/* Generate new record numbers semi-randomly */ @@ -13941,7 +14106,6 @@ struct VdbeCursor { sqlite3_vtab_cursor *pVtabCursor; /* The cursor for a virtual table */ i64 seqCount; /* Sequence counter */ i64 movetoTarget; /* Argument to the deferred sqlite3BtreeMoveto() */ - i64 lastRowid; /* Rowid being deleted by OP_Delete */ VdbeSorter *pSorter; /* Sorter object for OP_SorterOpen cursors */ /* Cached information about the header for the data record that the @@ -13958,6 +14122,7 @@ struct VdbeCursor { u32 szRow; /* Byte available in aRow */ u32 iHdrOffset; /* Offset to next unparsed byte of the header */ const u8 *aRow; /* Data for the current row, if all on one page */ + u32 *aOffset; /* Pointer to aType[nField] */ u32 aType[1]; /* Type values for all entries in the record */ /* 2*nField extra array elements allocated for aType[], beyond the one ** static element declared in the structure. nField total array slots for @@ -14019,25 +14184,28 @@ struct VdbeFrame { ** integer etc.) of the same value. */ struct Mem { - sqlite3 *db; /* The associated database connection */ - char *z; /* String or BLOB value */ - double r; /* Real value */ - union { + union MemValue { + double r; /* Real value used when MEM_Real is set in flags */ i64 i; /* Integer value used when MEM_Int is set in flags */ int nZero; /* Used when bit MEM_Zero is set in flags */ FuncDef *pDef; /* Used only when flags==MEM_Agg */ RowSet *pRowSet; /* Used only when flags==MEM_RowSet */ VdbeFrame *pFrame; /* Used when flags==MEM_Frame */ } u; - int n; /* Number of characters in string value, excluding '\0' */ u16 flags; /* Some combination of MEM_Null, MEM_Str, MEM_Dyn, etc. */ u8 enc; /* SQLITE_UTF8, SQLITE_UTF16BE, SQLITE_UTF16LE */ + int n; /* Number of characters in string value, excluding '\0' */ + char *z; /* String or BLOB value */ + /* ShallowCopy only needs to copy the information above */ + char *zMalloc; /* Space to hold MEM_Str or MEM_Blob if szMalloc>0 */ + int szMalloc; /* Size of the zMalloc allocation */ + u32 uTemp; /* Transient storage for serial_type in OP_MakeRecord */ + sqlite3 *db; /* The associated database connection */ + void (*xDel)(void*);/* Destructor for Mem.z - only valid if MEM_Dyn */ #ifdef SQLITE_DEBUG Mem *pScopyFrom; /* This Mem is a shallow copy of pScopyFrom */ void *pFiller; /* So that sizeof(Mem) is a multiple of 8 */ #endif - void (*xDel)(void *); /* If not null, call this function to delete Mem.z */ - char *zMalloc; /* Dynamic buffer allocated by sqlite3_malloc() */ }; /* One or more of the following flags are set to indicate the validOK @@ -14096,7 +14264,7 @@ struct Mem { #endif /* -** Each auxilliary data pointer stored by a user defined function +** Each auxiliary data pointer stored by a user defined function ** implementation calling sqlite3_set_auxdata() is stored in an instance ** of this structure. All such structures associated with a single VM ** are stored in a linked list headed at Vdbe.pAuxData. All are destroyed @@ -14111,7 +14279,7 @@ struct AuxData { }; /* -** The "context" argument for a installable function. A pointer to an +** The "context" argument for an installable function. A pointer to an ** instance of this structure is the first argument to the routines used ** implement the SQL functions. ** @@ -14124,14 +14292,13 @@ struct AuxData { ** (Mem) which are only defined there. */ struct sqlite3_context { - FuncDef *pFunc; /* Pointer to function information. MUST BE FIRST */ - Mem s; /* The return value is stored here */ + Mem *pOut; /* The return value is stored here */ + FuncDef *pFunc; /* Pointer to function information */ Mem *pMem; /* Memory cell used to store aggregate context */ - CollSeq *pColl; /* Collating sequence */ Vdbe *pVdbe; /* The VM that owns this context */ int iOp; /* Instruction number of OP_Function */ int isError; /* Error code returned by the function. */ - u8 skipFlag; /* Skip skip accumulator loading if true */ + u8 skipFlag; /* Skip accumulator loading if true */ u8 fErrorOrAux; /* isError!=0 or pVdbe->pAuxData modified */ }; @@ -14216,10 +14383,6 @@ struct Vdbe { i64 nStmtDefImmCons; /* Number of def. imm constraints when stmt started */ char *zSql; /* Text of the SQL statement that generated this */ void *pFree; /* Free this when deleting the vdbe */ -#ifdef SQLITE_ENABLE_TREE_EXPLAIN - Explain *pExplain; /* The explainer */ - char *zExplain; /* Explanation of data structures */ -#endif VdbeFrame *pFrame; /* Parent frame */ VdbeFrame *pDelFrame; /* List of frame objects to free on VM reset */ int nFrame; /* Number of frames in pFrame list */ @@ -14244,6 +14407,7 @@ struct Vdbe { SQLITE_PRIVATE void sqlite3VdbeFreeCursor(Vdbe *, VdbeCursor*); void sqliteVdbePopStack(Vdbe*,int); SQLITE_PRIVATE int sqlite3VdbeCursorMoveto(VdbeCursor*); +SQLITE_PRIVATE int sqlite3VdbeCursorRestore(VdbeCursor*); #if defined(SQLITE_DEBUG) || defined(VDBE_PROFILE) SQLITE_PRIVATE void sqlite3VdbePrintOp(FILE*, int, Op*); #endif @@ -14254,8 +14418,8 @@ SQLITE_PRIVATE u32 sqlite3VdbeSerialGet(const unsigned char*, u32, Mem*); SQLITE_PRIVATE void sqlite3VdbeDeleteAuxData(Vdbe*, int, int); int sqlite2BtreeKeyCompare(BtCursor *, const void *, int, int, int *); -SQLITE_PRIVATE int sqlite3VdbeIdxKeyCompare(VdbeCursor*,UnpackedRecord*,int*); -SQLITE_PRIVATE int sqlite3VdbeIdxRowid(sqlite3*, BtCursor *, i64 *); +SQLITE_PRIVATE int sqlite3VdbeIdxKeyCompare(sqlite3*,VdbeCursor*,UnpackedRecord*,int*); +SQLITE_PRIVATE int sqlite3VdbeIdxRowid(sqlite3*, BtCursor*, i64*); SQLITE_PRIVATE int sqlite3VdbeExec(Vdbe*); SQLITE_PRIVATE int sqlite3VdbeList(Vdbe*); SQLITE_PRIVATE int sqlite3VdbeHalt(Vdbe*); @@ -14272,39 +14436,39 @@ SQLITE_PRIVATE void sqlite3VdbeMemSetInt64(Mem*, i64); #else SQLITE_PRIVATE void sqlite3VdbeMemSetDouble(Mem*, double); #endif +SQLITE_PRIVATE void sqlite3VdbeMemInit(Mem*,sqlite3*,u16); SQLITE_PRIVATE void sqlite3VdbeMemSetNull(Mem*); SQLITE_PRIVATE void sqlite3VdbeMemSetZeroBlob(Mem*,int); SQLITE_PRIVATE void sqlite3VdbeMemSetRowSet(Mem*); SQLITE_PRIVATE int sqlite3VdbeMemMakeWriteable(Mem*); -SQLITE_PRIVATE int sqlite3VdbeMemStringify(Mem*, int); +SQLITE_PRIVATE int sqlite3VdbeMemStringify(Mem*, u8, u8); SQLITE_PRIVATE i64 sqlite3VdbeIntValue(Mem*); SQLITE_PRIVATE int sqlite3VdbeMemIntegerify(Mem*); SQLITE_PRIVATE double sqlite3VdbeRealValue(Mem*); SQLITE_PRIVATE void sqlite3VdbeIntegerAffinity(Mem*); SQLITE_PRIVATE int sqlite3VdbeMemRealify(Mem*); SQLITE_PRIVATE int sqlite3VdbeMemNumerify(Mem*); +SQLITE_PRIVATE void sqlite3VdbeMemCast(Mem*,u8,u8); SQLITE_PRIVATE int sqlite3VdbeMemFromBtree(BtCursor*,u32,u32,int,Mem*); SQLITE_PRIVATE void sqlite3VdbeMemRelease(Mem *p); -SQLITE_PRIVATE void sqlite3VdbeMemReleaseExternal(Mem *p); #define VdbeMemDynamic(X) \ (((X)->flags&(MEM_Agg|MEM_Dyn|MEM_RowSet|MEM_Frame))!=0) -#define VdbeMemRelease(X) \ - if( VdbeMemDynamic(X) ) sqlite3VdbeMemReleaseExternal(X); SQLITE_PRIVATE int sqlite3VdbeMemFinalize(Mem*, FuncDef*); SQLITE_PRIVATE const char *sqlite3OpcodeName(int); SQLITE_PRIVATE int sqlite3VdbeMemGrow(Mem *pMem, int n, int preserve); +SQLITE_PRIVATE int sqlite3VdbeMemClearAndResize(Mem *pMem, int n); SQLITE_PRIVATE int sqlite3VdbeCloseStatement(Vdbe *, int); SQLITE_PRIVATE void sqlite3VdbeFrameDelete(VdbeFrame*); SQLITE_PRIVATE int sqlite3VdbeFrameRestore(VdbeFrame *); SQLITE_PRIVATE int sqlite3VdbeTransferError(Vdbe *p); -SQLITE_PRIVATE int sqlite3VdbeSorterInit(sqlite3 *, VdbeCursor *); +SQLITE_PRIVATE int sqlite3VdbeSorterInit(sqlite3 *, int, VdbeCursor *); SQLITE_PRIVATE void sqlite3VdbeSorterReset(sqlite3 *, VdbeSorter *); SQLITE_PRIVATE void sqlite3VdbeSorterClose(sqlite3 *, VdbeCursor *); SQLITE_PRIVATE int sqlite3VdbeSorterRowkey(const VdbeCursor *, Mem *); SQLITE_PRIVATE int sqlite3VdbeSorterNext(sqlite3 *, const VdbeCursor *, int *); -SQLITE_PRIVATE int sqlite3VdbeSorterRewind(sqlite3 *, const VdbeCursor *, int *); -SQLITE_PRIVATE int sqlite3VdbeSorterWrite(sqlite3 *, const VdbeCursor *, Mem *); +SQLITE_PRIVATE int sqlite3VdbeSorterRewind(const VdbeCursor *, int *); +SQLITE_PRIVATE int sqlite3VdbeSorterWrite(const VdbeCursor *, Mem *); SQLITE_PRIVATE int sqlite3VdbeSorterCompare(const VdbeCursor *, Mem *, int, int *); #if !defined(SQLITE_OMIT_SHARED_CACHE) && SQLITE_THREADSAFE>0 @@ -14543,7 +14707,7 @@ SQLITE_API int sqlite3_db_status( } db->pnBytesFreed = 0; - *pHighwater = 0; + *pHighwater = 0; /* IMP: R-64479-57858 */ *pCurrent = nByte; break; @@ -14568,7 +14732,9 @@ SQLITE_API int sqlite3_db_status( sqlite3PagerCacheStat(pPager, op, resetFlag, &nRet); } } - *pHighwater = 0; + *pHighwater = 0; /* IMP: R-42420-56072 */ + /* IMP: R-54100-20147 */ + /* IMP: R-29431-39229 */ *pCurrent = nRet; break; } @@ -14578,7 +14744,7 @@ SQLITE_API int sqlite3_db_status( ** have been satisfied. The *pHighwater is always set to zero. */ case SQLITE_DBSTATUS_DEFERRED_FKS: { - *pHighwater = 0; + *pHighwater = 0; /* IMP: R-11967-56545 */ *pCurrent = db->nDeferredImmCons>0 || db->nDeferredCons>0; break; } @@ -14619,7 +14785,7 @@ SQLITE_API int sqlite3_db_status( ** 1970-01-01 00:00:00 is JD 2440587.5 ** 2000-01-01 00:00:00 is JD 2451544.5 ** -** This implemention requires years to be expressed as a 4-digit number +** This implementation requires years to be expressed as a 4-digit number ** which means that only dates between 0000-01-01 and 9999-12-31 can ** be represented, even though julian day numbers allow a much wider ** range of dates. @@ -16467,7 +16633,7 @@ static int sqlite3MemSize(void *pPrior){ ** ** For this low-level interface, we know that pPrior!=0. Cases where ** pPrior==0 while have been intercepted by higher-level routine and -** redirected to xMalloc. Similarly, we know that nByte>0 becauses +** redirected to xMalloc. Similarly, we know that nByte>0 because ** cases where nByte<=0 will have been intercepted by higher-level ** routines and redirected to xFree. */ @@ -16970,7 +17136,7 @@ SQLITE_PRIVATE void sqlite3MemdebugSetType(void *p, u8 eType){ ** This routine is designed for use within an assert() statement, to ** verify the type of an allocation. For example: ** -** assert( sqlite3MemdebugHasType(p, MEMTYPE_DB) ); +** assert( sqlite3MemdebugHasType(p, MEMTYPE_HEAP) ); */ SQLITE_PRIVATE int sqlite3MemdebugHasType(void *p, u8 eType){ int rc = 1; @@ -16992,7 +17158,7 @@ SQLITE_PRIVATE int sqlite3MemdebugHasType(void *p, u8 eType){ ** This routine is designed for use within an assert() statement, to ** verify the type of an allocation. For example: ** -** assert( sqlite3MemdebugNoType(p, MEMTYPE_DB) ); +** assert( sqlite3MemdebugNoType(p, MEMTYPE_LOOKASIDE) ); */ SQLITE_PRIVATE int sqlite3MemdebugNoType(void *p, u8 eType){ int rc = 1; @@ -17824,7 +17990,7 @@ SQLITE_PRIVATE const sqlite3_mem_methods *sqlite3MemGetMemsys3(void){ ** 1. All memory allocations sizes are rounded up to a power of 2. ** ** 2. If two adjacent free blocks are the halves of a larger block, -** then the two blocks are coalesed into the single larger block. +** then the two blocks are coalesced into the single larger block. ** ** 3. New memory is allocated from the first available free block. ** @@ -19393,6 +19559,16 @@ SQLITE_API int sqlite3_open_file_count = 0; # define SQLITE_OS_WINRT 0 #endif +/* +** For WinCE, some API function parameters do not appear to be declared as +** volatile. +*/ +#if SQLITE_OS_WINCE +# define SQLITE_WIN32_VOLATILE +#else +# define SQLITE_WIN32_VOLATILE volatile +#endif + #endif /* _OS_WIN_H_ */ /************** End of os_win.h **********************************************/ @@ -19473,7 +19649,7 @@ static int winMutex_isNt = -1; /* <0 means "need to query" */ ** of the sqlite3_initialize() and sqlite3_shutdown() processing, the ** "interlocked" magic used here is probably not strictly necessary. */ -static LONG volatile winMutex_lock = 0; +static LONG SQLITE_WIN32_VOLATILE winMutex_lock = 0; SQLITE_API int sqlite3_win32_is_nt(void); /* os_win.c */ SQLITE_API void sqlite3_win32_sleep(DWORD milliseconds); /* os_win.c */ @@ -20041,11 +20217,9 @@ static int mallocWithAlarm(int n, void **pp){ ** Allocate memory. This routine is like sqlite3_malloc() except that it ** assumes the memory subsystem has already been initialized. */ -SQLITE_PRIVATE void *sqlite3Malloc(int n){ +SQLITE_PRIVATE void *sqlite3Malloc(u64 n){ void *p; - if( n<=0 /* IMP: R-65312-04917 */ - || n>=0x7fffff00 - ){ + if( n==0 || n>=0x7fffff00 ){ /* A memory allocation of a number of bytes which is near the maximum ** signed integer value might cause an integer overflow inside of the ** xMalloc(). Hence we limit the maximum size to 0x7fffff00, giving @@ -20054,12 +20228,12 @@ SQLITE_PRIVATE void *sqlite3Malloc(int n){ p = 0; }else if( sqlite3GlobalConfig.bMemstat ){ sqlite3_mutex_enter(mem0.mutex); - mallocWithAlarm(n, &p); + mallocWithAlarm((int)n, &p); sqlite3_mutex_leave(mem0.mutex); }else{ - p = sqlite3GlobalConfig.m.xMalloc(n); + p = sqlite3GlobalConfig.m.xMalloc((int)n); } - assert( EIGHT_BYTE_ALIGNMENT(p) ); /* IMP: R-04675-44850 */ + assert( EIGHT_BYTE_ALIGNMENT(p) ); /* IMP: R-11148-40995 */ return p; } @@ -20072,6 +20246,12 @@ SQLITE_API void *sqlite3_malloc(int n){ #ifndef SQLITE_OMIT_AUTOINIT if( sqlite3_initialize() ) return 0; #endif + return n<=0 ? 0 : sqlite3Malloc(n); +} +SQLITE_API void *sqlite3_malloc64(sqlite3_uint64 n){ +#ifndef SQLITE_OMIT_AUTOINIT + if( sqlite3_initialize() ) return 0; +#endif return sqlite3Malloc(n); } @@ -20099,22 +20279,20 @@ SQLITE_PRIVATE void *sqlite3ScratchMalloc(int n){ assert( n>0 ); sqlite3_mutex_enter(mem0.mutex); + sqlite3StatusSet(SQLITE_STATUS_SCRATCH_SIZE, n); if( mem0.nScratchFree && sqlite3GlobalConfig.szScratch>=n ){ p = mem0.pScratchFree; mem0.pScratchFree = mem0.pScratchFree->pNext; mem0.nScratchFree--; sqlite3StatusAdd(SQLITE_STATUS_SCRATCH_USED, 1); - sqlite3StatusSet(SQLITE_STATUS_SCRATCH_SIZE, n); sqlite3_mutex_leave(mem0.mutex); }else{ - if( sqlite3GlobalConfig.bMemstat ){ - sqlite3StatusSet(SQLITE_STATUS_SCRATCH_SIZE, n); - n = mallocWithAlarm(n, &p); - if( p ) sqlite3StatusAdd(SQLITE_STATUS_SCRATCH_OVERFLOW, n); - sqlite3_mutex_leave(mem0.mutex); - }else{ + sqlite3_mutex_leave(mem0.mutex); + p = sqlite3Malloc(n); + if( sqlite3GlobalConfig.bMemstat && p ){ + sqlite3_mutex_enter(mem0.mutex); + sqlite3StatusAdd(SQLITE_STATUS_SCRATCH_OVERFLOW, sqlite3MallocSize(p)); sqlite3_mutex_leave(mem0.mutex); - p = sqlite3GlobalConfig.m.xMalloc(n); } sqlite3MemdebugSetType(p, MEMTYPE_SCRATCH); } @@ -20192,29 +20370,37 @@ static int isLookaside(sqlite3 *db, void *p){ */ SQLITE_PRIVATE int sqlite3MallocSize(void *p){ assert( sqlite3MemdebugHasType(p, MEMTYPE_HEAP) ); - assert( sqlite3MemdebugNoType(p, MEMTYPE_DB) ); return sqlite3GlobalConfig.m.xSize(p); } SQLITE_PRIVATE int sqlite3DbMallocSize(sqlite3 *db, void *p){ - assert( db!=0 ); - assert( sqlite3_mutex_held(db->mutex) ); - if( isLookaside(db, p) ){ - return db->lookaside.sz; + if( db==0 ){ + assert( sqlite3MemdebugNoType(p, ~MEMTYPE_HEAP) ); + assert( sqlite3MemdebugHasType(p, MEMTYPE_HEAP) ); + return sqlite3MallocSize(p); }else{ - assert( sqlite3MemdebugHasType(p, MEMTYPE_DB) ); - assert( sqlite3MemdebugHasType(p, MEMTYPE_LOOKASIDE|MEMTYPE_HEAP) ); - assert( db!=0 || sqlite3MemdebugNoType(p, MEMTYPE_LOOKASIDE) ); - return sqlite3GlobalConfig.m.xSize(p); + assert( sqlite3_mutex_held(db->mutex) ); + if( isLookaside(db, p) ){ + return db->lookaside.sz; + }else{ + assert( sqlite3MemdebugHasType(p, (MEMTYPE_LOOKASIDE|MEMTYPE_HEAP)) ); + assert( sqlite3MemdebugNoType(p, ~(MEMTYPE_LOOKASIDE|MEMTYPE_HEAP)) ); + return sqlite3GlobalConfig.m.xSize(p); + } } } +SQLITE_API sqlite3_uint64 sqlite3_msize(void *p){ + assert( sqlite3MemdebugNoType(p, ~MEMTYPE_HEAP) ); + assert( sqlite3MemdebugHasType(p, MEMTYPE_HEAP) ); + return (sqlite3_uint64)sqlite3GlobalConfig.m.xSize(p); +} /* ** Free memory previously obtained from sqlite3Malloc(). */ SQLITE_API void sqlite3_free(void *p){ if( p==0 ) return; /* IMP: R-49053-54554 */ - assert( sqlite3MemdebugNoType(p, MEMTYPE_DB) ); assert( sqlite3MemdebugHasType(p, MEMTYPE_HEAP) ); + assert( sqlite3MemdebugNoType(p, ~MEMTYPE_HEAP) ); if( sqlite3GlobalConfig.bMemstat ){ sqlite3_mutex_enter(mem0.mutex); sqlite3StatusAdd(SQLITE_STATUS_MEMORY_USED, -sqlite3MallocSize(p)); @@ -20227,6 +20413,14 @@ SQLITE_API void sqlite3_free(void *p){ } /* +** Add the size of memory allocation "p" to the count in +** *db->pnBytesFreed. +*/ +static SQLITE_NOINLINE void measureAllocationSize(sqlite3 *db, void *p){ + *db->pnBytesFreed += sqlite3DbMallocSize(db,p); +} + +/* ** Free memory that might be associated with a particular database ** connection. */ @@ -20235,7 +20429,7 @@ SQLITE_PRIVATE void sqlite3DbFree(sqlite3 *db, void *p){ if( p==0 ) return; if( db ){ if( db->pnBytesFreed ){ - *db->pnBytesFreed += sqlite3DbMallocSize(db, p); + measureAllocationSize(db, p); return; } if( isLookaside(db, p) ){ @@ -20250,8 +20444,8 @@ SQLITE_PRIVATE void sqlite3DbFree(sqlite3 *db, void *p){ return; } } - assert( sqlite3MemdebugHasType(p, MEMTYPE_DB) ); - assert( sqlite3MemdebugHasType(p, MEMTYPE_LOOKASIDE|MEMTYPE_HEAP) ); + assert( sqlite3MemdebugHasType(p, (MEMTYPE_LOOKASIDE|MEMTYPE_HEAP)) ); + assert( sqlite3MemdebugNoType(p, ~(MEMTYPE_LOOKASIDE|MEMTYPE_HEAP)) ); assert( db!=0 || sqlite3MemdebugNoType(p, MEMTYPE_LOOKASIDE) ); sqlite3MemdebugSetType(p, MEMTYPE_HEAP); sqlite3_free(p); @@ -20260,14 +20454,16 @@ SQLITE_PRIVATE void sqlite3DbFree(sqlite3 *db, void *p){ /* ** Change the size of an existing memory allocation */ -SQLITE_PRIVATE void *sqlite3Realloc(void *pOld, int nBytes){ +SQLITE_PRIVATE void *sqlite3Realloc(void *pOld, u64 nBytes){ int nOld, nNew, nDiff; void *pNew; + assert( sqlite3MemdebugHasType(pOld, MEMTYPE_HEAP) ); + assert( sqlite3MemdebugNoType(pOld, ~MEMTYPE_HEAP) ); if( pOld==0 ){ - return sqlite3Malloc(nBytes); /* IMP: R-28354-25769 */ + return sqlite3Malloc(nBytes); /* IMP: R-04300-56712 */ } - if( nBytes<=0 ){ - sqlite3_free(pOld); /* IMP: R-31593-10574 */ + if( nBytes==0 ){ + sqlite3_free(pOld); /* IMP: R-26507-47431 */ return 0; } if( nBytes>=0x7fffff00 ){ @@ -20278,22 +20474,20 @@ SQLITE_PRIVATE void *sqlite3Realloc(void *pOld, int nBytes){ /* IMPLEMENTATION-OF: R-46199-30249 SQLite guarantees that the second ** argument to xRealloc is always a value returned by a prior call to ** xRoundup. */ - nNew = sqlite3GlobalConfig.m.xRoundup(nBytes); + nNew = sqlite3GlobalConfig.m.xRoundup((int)nBytes); if( nOld==nNew ){ pNew = pOld; }else if( sqlite3GlobalConfig.bMemstat ){ sqlite3_mutex_enter(mem0.mutex); - sqlite3StatusSet(SQLITE_STATUS_MALLOC_SIZE, nBytes); + sqlite3StatusSet(SQLITE_STATUS_MALLOC_SIZE, (int)nBytes); nDiff = nNew - nOld; if( sqlite3StatusValue(SQLITE_STATUS_MEMORY_USED) >= mem0.alarmThreshold-nDiff ){ sqlite3MallocAlarm(nDiff); } - assert( sqlite3MemdebugHasType(pOld, MEMTYPE_HEAP) ); - assert( sqlite3MemdebugNoType(pOld, ~MEMTYPE_HEAP) ); pNew = sqlite3GlobalConfig.m.xRealloc(pOld, nNew); if( pNew==0 && mem0.alarmCallback ){ - sqlite3MallocAlarm(nBytes); + sqlite3MallocAlarm((int)nBytes); pNew = sqlite3GlobalConfig.m.xRealloc(pOld, nNew); } if( pNew ){ @@ -20304,7 +20498,7 @@ SQLITE_PRIVATE void *sqlite3Realloc(void *pOld, int nBytes){ }else{ pNew = sqlite3GlobalConfig.m.xRealloc(pOld, nNew); } - assert( EIGHT_BYTE_ALIGNMENT(pNew) ); /* IMP: R-04675-44850 */ + assert( EIGHT_BYTE_ALIGNMENT(pNew) ); /* IMP: R-11148-40995 */ return pNew; } @@ -20316,6 +20510,13 @@ SQLITE_API void *sqlite3_realloc(void *pOld, int n){ #ifndef SQLITE_OMIT_AUTOINIT if( sqlite3_initialize() ) return 0; #endif + if( n<0 ) n = 0; /* IMP: R-26507-47431 */ + return sqlite3Realloc(pOld, n); +} +SQLITE_API void *sqlite3_realloc64(void *pOld, sqlite3_uint64 n){ +#ifndef SQLITE_OMIT_AUTOINIT + if( sqlite3_initialize() ) return 0; +#endif return sqlite3Realloc(pOld, n); } @@ -20323,10 +20524,10 @@ SQLITE_API void *sqlite3_realloc(void *pOld, int n){ /* ** Allocate and zero memory. */ -SQLITE_PRIVATE void *sqlite3MallocZero(int n){ +SQLITE_PRIVATE void *sqlite3MallocZero(u64 n){ void *p = sqlite3Malloc(n); if( p ){ - memset(p, 0, n); + memset(p, 0, (size_t)n); } return p; } @@ -20335,10 +20536,10 @@ SQLITE_PRIVATE void *sqlite3MallocZero(int n){ ** Allocate and zero memory. If the allocation fails, make ** the mallocFailed flag in the connection pointer. */ -SQLITE_PRIVATE void *sqlite3DbMallocZero(sqlite3 *db, int n){ +SQLITE_PRIVATE void *sqlite3DbMallocZero(sqlite3 *db, u64 n){ void *p = sqlite3DbMallocRaw(db, n); if( p ){ - memset(p, 0, n); + memset(p, 0, (size_t)n); } return p; } @@ -20361,7 +20562,7 @@ SQLITE_PRIVATE void *sqlite3DbMallocZero(sqlite3 *db, int n){ ** In other words, if a subsequent malloc (ex: "b") worked, it is assumed ** that all prior mallocs (ex: "a") worked too. */ -SQLITE_PRIVATE void *sqlite3DbMallocRaw(sqlite3 *db, int n){ +SQLITE_PRIVATE void *sqlite3DbMallocRaw(sqlite3 *db, u64 n){ void *p; assert( db==0 || sqlite3_mutex_held(db->mutex) ); assert( db==0 || db->pnBytesFreed==0 ); @@ -20396,8 +20597,8 @@ SQLITE_PRIVATE void *sqlite3DbMallocRaw(sqlite3 *db, int n){ if( !p && db ){ db->mallocFailed = 1; } - sqlite3MemdebugSetType(p, MEMTYPE_DB | - ((db && db->lookaside.bEnabled) ? MEMTYPE_LOOKASIDE : MEMTYPE_HEAP)); + sqlite3MemdebugSetType(p, + (db && db->lookaside.bEnabled) ? MEMTYPE_LOOKASIDE : MEMTYPE_HEAP); return p; } @@ -20405,7 +20606,7 @@ SQLITE_PRIVATE void *sqlite3DbMallocRaw(sqlite3 *db, int n){ ** Resize the block of memory pointed to by p to n bytes. If the ** resize fails, set the mallocFailed flag in the connection object. */ -SQLITE_PRIVATE void *sqlite3DbRealloc(sqlite3 *db, void *p, int n){ +SQLITE_PRIVATE void *sqlite3DbRealloc(sqlite3 *db, void *p, u64 n){ void *pNew = 0; assert( db!=0 ); assert( sqlite3_mutex_held(db->mutex) ); @@ -20423,15 +20624,14 @@ SQLITE_PRIVATE void *sqlite3DbRealloc(sqlite3 *db, void *p, int n){ sqlite3DbFree(db, p); } }else{ - assert( sqlite3MemdebugHasType(p, MEMTYPE_DB) ); - assert( sqlite3MemdebugHasType(p, MEMTYPE_LOOKASIDE|MEMTYPE_HEAP) ); + assert( sqlite3MemdebugHasType(p, (MEMTYPE_LOOKASIDE|MEMTYPE_HEAP)) ); + assert( sqlite3MemdebugNoType(p, ~(MEMTYPE_LOOKASIDE|MEMTYPE_HEAP)) ); sqlite3MemdebugSetType(p, MEMTYPE_HEAP); - pNew = sqlite3_realloc(p, n); + pNew = sqlite3_realloc64(p, n); if( !pNew ){ - sqlite3MemdebugSetType(p, MEMTYPE_DB|MEMTYPE_HEAP); db->mallocFailed = 1; } - sqlite3MemdebugSetType(pNew, MEMTYPE_DB | + sqlite3MemdebugSetType(pNew, (db->lookaside.bEnabled ? MEMTYPE_LOOKASIDE : MEMTYPE_HEAP)); } } @@ -20442,7 +20642,7 @@ SQLITE_PRIVATE void *sqlite3DbRealloc(sqlite3 *db, void *p, int n){ ** Attempt to reallocate p. If the reallocation fails, then free p ** and set the mallocFailed flag in the database connection. */ -SQLITE_PRIVATE void *sqlite3DbReallocOrFree(sqlite3 *db, void *p, int n){ +SQLITE_PRIVATE void *sqlite3DbReallocOrFree(sqlite3 *db, void *p, u64 n){ void *pNew; pNew = sqlite3DbRealloc(db, p, n); if( !pNew ){ @@ -20472,7 +20672,7 @@ SQLITE_PRIVATE char *sqlite3DbStrDup(sqlite3 *db, const char *z){ } return zNew; } -SQLITE_PRIVATE char *sqlite3DbStrNDup(sqlite3 *db, const char *z, int n){ +SQLITE_PRIVATE char *sqlite3DbStrNDup(sqlite3 *db, const char *z, u64 n){ char *zNew; if( z==0 ){ return 0; @@ -20480,7 +20680,7 @@ SQLITE_PRIVATE char *sqlite3DbStrNDup(sqlite3 *db, const char *z, int n){ assert( (n&0x7fffffff)==n ); zNew = sqlite3DbMallocRaw(db, n+1); if( zNew ){ - memcpy(zNew, z, n); + memcpy(zNew, z, (size_t)n); zNew[n] = 0; } return zNew; @@ -20502,6 +20702,14 @@ SQLITE_PRIVATE void sqlite3SetString(char **pz, sqlite3 *db, const char *zFormat *pz = z; } +/* +** Take actions at the end of an API call to indicate an OOM error +*/ +static SQLITE_NOINLINE int apiOomError(sqlite3 *db){ + db->mallocFailed = 0; + sqlite3Error(db, SQLITE_NOMEM); + return SQLITE_NOMEM; +} /* ** This function must be called before exiting any API function (i.e. @@ -20522,12 +20730,11 @@ SQLITE_PRIVATE int sqlite3ApiExit(sqlite3* db, int rc){ ** is unsafe, as is the call to sqlite3Error(). */ assert( !db || sqlite3_mutex_held(db->mutex) ); - if( db && (db->mallocFailed || rc==SQLITE_IOERR_NOMEM) ){ - sqlite3Error(db, SQLITE_NOMEM, 0); - db->mallocFailed = 0; - rc = SQLITE_NOMEM; + if( db==0 ) return rc & 0xff; + if( db->mallocFailed || rc==SQLITE_IOERR_NOMEM ){ + return apiOomError(db); } - return rc & (db ? db->errMask : 0xff); + return rc & db->errMask; } /************** End of malloc.c **********************************************/ @@ -20548,6 +20755,17 @@ SQLITE_PRIVATE int sqlite3ApiExit(sqlite3* db, int rc){ */ /* +** If the strchrnul() library function is available, then set +** HAVE_STRCHRNUL. If that routine is not available, this module +** will supply its own. The built-in version is slower than +** the glibc version so the glibc version is definitely preferred. +*/ +#if !defined(HAVE_STRCHRNUL) +# define HAVE_STRCHRNUL 0 +#endif + + +/* ** Conversion types fall into various categories as defined by the ** following enumeration. */ @@ -20734,7 +20952,7 @@ SQLITE_PRIVATE void sqlite3VXPrintf( const et_info *infop; /* Pointer to the appropriate info structure */ char *zOut; /* Rendering buffer */ int nOut; /* Size of the rendering buffer */ - char *zExtra; /* Malloced memory used by some conversion */ + char *zExtra = 0; /* Malloced memory used by some conversion */ #ifndef SQLITE_OMIT_FLOATING_POINT int exp, e2; /* exponent of real numbers */ int nsd; /* Number of significant digits returned */ @@ -20757,9 +20975,13 @@ SQLITE_PRIVATE void sqlite3VXPrintf( for(; (c=(*fmt))!=0; ++fmt){ if( c!='%' ){ bufpt = (char *)fmt; - while( (c=(*++fmt))!='%' && c!=0 ){}; +#if HAVE_STRCHRNUL + fmt = strchrnul(fmt, '%'); +#else + do{ fmt++; }while( *fmt && *fmt != '%' ); +#endif sqlite3StrAccumAppend(pAccum, bufpt, (int)(fmt - bufpt)); - if( c==0 ) break; + if( *fmt==0 ) break; } if( (c=(*++fmt))==0 ){ sqlite3StrAccumAppend(pAccum, "%", 1); @@ -20847,7 +21069,6 @@ SQLITE_PRIVATE void sqlite3VXPrintf( break; } } - zExtra = 0; /* ** At this point, variables are initialized as follows: @@ -21138,13 +21359,16 @@ SQLITE_PRIVATE void sqlite3VXPrintf( }else{ c = va_arg(ap,int); } - buf[0] = (char)c; - if( precision>=0 ){ - for(idx=1; idx<precision; idx++) buf[idx] = (char)c; - length = precision; - }else{ - length =1; + if( precision>1 ){ + width -= precision-1; + if( width>1 && !flag_leftjustify ){ + sqlite3AppendChar(pAccum, width-1, ' '); + width = 0; + } + sqlite3AppendChar(pAccum, precision-1, c); } + length = 1; + buf[0] = c; bufpt = buf; break; case etSTRING: @@ -21245,11 +21469,14 @@ SQLITE_PRIVATE void sqlite3VXPrintf( ** the output. */ width -= length; - if( width>0 && !flag_leftjustify ) sqlite3AppendSpace(pAccum, width); + if( width>0 && !flag_leftjustify ) sqlite3AppendChar(pAccum, width, ' '); sqlite3StrAccumAppend(pAccum, bufpt, length); - if( width>0 && flag_leftjustify ) sqlite3AppendSpace(pAccum, width); + if( width>0 && flag_leftjustify ) sqlite3AppendChar(pAccum, width, ' '); - if( zExtra ) sqlite3_free(zExtra); + if( zExtra ){ + sqlite3_free(zExtra); + zExtra = 0; + } }/* End for loop over the format string */ } /* End of function */ @@ -21302,11 +21529,11 @@ static int sqlite3StrAccumEnlarge(StrAccum *p, int N){ } /* -** Append N space characters to the given string buffer. +** Append N copies of character c to the given string buffer. */ -SQLITE_PRIVATE void sqlite3AppendSpace(StrAccum *p, int N){ +SQLITE_PRIVATE void sqlite3AppendChar(StrAccum *p, int N, char c){ if( p->nChar+N >= p->nAlloc && (N = sqlite3StrAccumEnlarge(p, N))<=0 ) return; - while( (N--)>0 ) p->zText[p->nChar++] = ' '; + while( (N--)>0 ) p->zText[p->nChar++] = c; } /* @@ -21317,7 +21544,7 @@ SQLITE_PRIVATE void sqlite3AppendSpace(StrAccum *p, int N){ ** work (enlarging the buffer) using tail recursion, so that the ** sqlite3StrAccumAppend() routine can use fast calling semantics. */ -static void enlargeAndAppend(StrAccum *p, const char *z, int N){ +static void SQLITE_NOINLINE enlargeAndAppend(StrAccum *p, const char *z, int N){ N = sqlite3StrAccumEnlarge(p, N); if( N>0 ){ memcpy(&p->zText[p->nChar], z, N); @@ -21336,11 +21563,11 @@ SQLITE_PRIVATE void sqlite3StrAccumAppend(StrAccum *p, const char *z, int N){ assert( p->accError==0 || p->nAlloc==0 ); if( p->nChar+N >= p->nAlloc ){ enlargeAndAppend(p,z,N); - return; + }else{ + assert( p->zText ); + p->nChar += N; + memcpy(&p->zText[p->nChar-N], z, N); } - assert( p->zText ); - memcpy(&p->zText[p->nChar], z, N); - p->nChar += N; } /* @@ -21437,7 +21664,7 @@ SQLITE_PRIVATE char *sqlite3MPrintf(sqlite3 *db, const char *zFormat, ...){ /* ** Like sqlite3MPrintf(), but call sqlite3DbFree() on zStr after formatting -** the string and before returnning. This routine is intended to be used +** the string and before returning. This routine is intended to be used ** to modify an existing string. For example: ** ** x = sqlite3MPrintf(db, x, "prefix %s suffix", x); @@ -21570,6 +21797,69 @@ SQLITE_PRIVATE void sqlite3DebugPrintf(const char *zFormat, ...){ } #endif +#ifdef SQLITE_DEBUG +/************************************************************************* +** Routines for implementing the "TreeView" display of hierarchical +** data structures for debugging. +** +** The main entry points (coded elsewhere) are: +** sqlite3TreeViewExpr(0, pExpr, 0); +** sqlite3TreeViewExprList(0, pList, 0, 0); +** sqlite3TreeViewSelect(0, pSelect, 0); +** Insert calls to those routines while debugging in order to display +** a diagram of Expr, ExprList, and Select objects. +** +*/ +/* Add a new subitem to the tree. The moreToFollow flag indicates that this +** is not the last item in the tree. */ +SQLITE_PRIVATE TreeView *sqlite3TreeViewPush(TreeView *p, u8 moreToFollow){ + if( p==0 ){ + p = sqlite3_malloc( sizeof(*p) ); + if( p==0 ) return 0; + memset(p, 0, sizeof(*p)); + }else{ + p->iLevel++; + } + assert( moreToFollow==0 || moreToFollow==1 ); + if( p->iLevel<sizeof(p->bLine) ) p->bLine[p->iLevel] = moreToFollow; + return p; +} +/* Finished with one layer of the tree */ +SQLITE_PRIVATE void sqlite3TreeViewPop(TreeView *p){ + if( p==0 ) return; + p->iLevel--; + if( p->iLevel<0 ) sqlite3_free(p); +} +/* Generate a single line of output for the tree, with a prefix that contains +** all the appropriate tree lines */ +SQLITE_PRIVATE void sqlite3TreeViewLine(TreeView *p, const char *zFormat, ...){ + va_list ap; + int i; + StrAccum acc; + char zBuf[500]; + sqlite3StrAccumInit(&acc, zBuf, sizeof(zBuf), 0); + acc.useMalloc = 0; + if( p ){ + for(i=0; i<p->iLevel && i<sizeof(p->bLine)-1; i++){ + sqlite3StrAccumAppend(&acc, p->bLine[i] ? "| " : " ", 4); + } + sqlite3StrAccumAppend(&acc, p->bLine[i] ? "|-- " : "'-- ", 4); + } + va_start(ap, zFormat); + sqlite3VXPrintf(&acc, 0, zFormat, ap); + va_end(ap); + if( zBuf[acc.nChar-1]!='\n' ) sqlite3StrAccumAppend(&acc, "\n", 1); + sqlite3StrAccumFinish(&acc); + fprintf(stdout,"%s", zBuf); + fflush(stdout); +} +/* Shorthand for starting a new tree item that consists of a single label */ +SQLITE_PRIVATE void sqlite3TreeViewItem(TreeView *p, const char *zLabel, u8 moreToFollow){ + p = sqlite3TreeViewPush(p, moreToFollow); + sqlite3TreeViewLine(p, "%s", zLabel); +} +#endif /* SQLITE_DEBUG */ + /* ** variable-argument wrapper around sqlite3VXPrintf(). */ @@ -21709,6 +21999,270 @@ SQLITE_PRIVATE void sqlite3PrngRestoreState(void){ #endif /* SQLITE_OMIT_BUILTIN_TEST */ /************** End of random.c **********************************************/ +/************** Begin file threads.c *****************************************/ +/* +** 2012 July 21 +** +** The author disclaims copyright to this source code. In place of +** a legal notice, here is a blessing: +** +** May you do good and not evil. +** May you find forgiveness for yourself and forgive others. +** May you share freely, never taking more than you give. +** +****************************************************************************** +** +** This file presents a simple cross-platform threading interface for +** use internally by SQLite. +** +** A "thread" can be created using sqlite3ThreadCreate(). This thread +** runs independently of its creator until it is joined using +** sqlite3ThreadJoin(), at which point it terminates. +** +** Threads do not have to be real. It could be that the work of the +** "thread" is done by the main thread at either the sqlite3ThreadCreate() +** or sqlite3ThreadJoin() call. This is, in fact, what happens in +** single threaded systems. Nothing in SQLite requires multiple threads. +** This interface exists so that applications that want to take advantage +** of multiple cores can do so, while also allowing applications to stay +** single-threaded if desired. +*/ + +#if SQLITE_MAX_WORKER_THREADS>0 + +/********************************* Unix Pthreads ****************************/ +#if SQLITE_OS_UNIX && defined(SQLITE_MUTEX_PTHREADS) && SQLITE_THREADSAFE>0 + +#define SQLITE_THREADS_IMPLEMENTED 1 /* Prevent the single-thread code below */ +/* #include <pthread.h> */ + +/* A running thread */ +struct SQLiteThread { + pthread_t tid; /* Thread ID */ + int done; /* Set to true when thread finishes */ + void *pOut; /* Result returned by the thread */ + void *(*xTask)(void*); /* The thread routine */ + void *pIn; /* Argument to the thread */ +}; + +/* Create a new thread */ +SQLITE_PRIVATE int sqlite3ThreadCreate( + SQLiteThread **ppThread, /* OUT: Write the thread object here */ + void *(*xTask)(void*), /* Routine to run in a separate thread */ + void *pIn /* Argument passed into xTask() */ +){ + SQLiteThread *p; + int rc; + + assert( ppThread!=0 ); + assert( xTask!=0 ); + /* This routine is never used in single-threaded mode */ + assert( sqlite3GlobalConfig.bCoreMutex!=0 ); + + *ppThread = 0; + p = sqlite3Malloc(sizeof(*p)); + if( p==0 ) return SQLITE_NOMEM; + memset(p, 0, sizeof(*p)); + p->xTask = xTask; + p->pIn = pIn; + if( sqlite3FaultSim(200) ){ + rc = 1; + }else{ + rc = pthread_create(&p->tid, 0, xTask, pIn); + } + if( rc ){ + p->done = 1; + p->pOut = xTask(pIn); + } + *ppThread = p; + return SQLITE_OK; +} + +/* Get the results of the thread */ +SQLITE_PRIVATE int sqlite3ThreadJoin(SQLiteThread *p, void **ppOut){ + int rc; + + assert( ppOut!=0 ); + if( NEVER(p==0) ) return SQLITE_NOMEM; + if( p->done ){ + *ppOut = p->pOut; + rc = SQLITE_OK; + }else{ + rc = pthread_join(p->tid, ppOut) ? SQLITE_ERROR : SQLITE_OK; + } + sqlite3_free(p); + return rc; +} + +#endif /* SQLITE_OS_UNIX && defined(SQLITE_MUTEX_PTHREADS) */ +/******************************** End Unix Pthreads *************************/ + + +/********************************* Win32 Threads ****************************/ +#if SQLITE_OS_WIN && !SQLITE_OS_WINCE && !SQLITE_OS_WINRT && SQLITE_THREADSAFE>0 + +#define SQLITE_THREADS_IMPLEMENTED 1 /* Prevent the single-thread code below */ +#include <process.h> + +/* A running thread */ +struct SQLiteThread { + void *tid; /* The thread handle */ + unsigned id; /* The thread identifier */ + void *(*xTask)(void*); /* The routine to run as a thread */ + void *pIn; /* Argument to xTask */ + void *pResult; /* Result of xTask */ +}; + +/* Thread procedure Win32 compatibility shim */ +static unsigned __stdcall sqlite3ThreadProc( + void *pArg /* IN: Pointer to the SQLiteThread structure */ +){ + SQLiteThread *p = (SQLiteThread *)pArg; + + assert( p!=0 ); +#if 0 + /* + ** This assert appears to trigger spuriously on certain + ** versions of Windows, possibly due to _beginthreadex() + ** and/or CreateThread() not fully setting their thread + ** ID parameter before starting the thread. + */ + assert( p->id==GetCurrentThreadId() ); +#endif + assert( p->xTask!=0 ); + p->pResult = p->xTask(p->pIn); + + _endthreadex(0); + return 0; /* NOT REACHED */ +} + +/* Create a new thread */ +SQLITE_PRIVATE int sqlite3ThreadCreate( + SQLiteThread **ppThread, /* OUT: Write the thread object here */ + void *(*xTask)(void*), /* Routine to run in a separate thread */ + void *pIn /* Argument passed into xTask() */ +){ + SQLiteThread *p; + + assert( ppThread!=0 ); + assert( xTask!=0 ); + *ppThread = 0; + p = sqlite3Malloc(sizeof(*p)); + if( p==0 ) return SQLITE_NOMEM; + if( sqlite3GlobalConfig.bCoreMutex==0 ){ + memset(p, 0, sizeof(*p)); + }else{ + p->xTask = xTask; + p->pIn = pIn; + p->tid = (void*)_beginthreadex(0, 0, sqlite3ThreadProc, p, 0, &p->id); + if( p->tid==0 ){ + memset(p, 0, sizeof(*p)); + } + } + if( p->xTask==0 ){ + p->id = GetCurrentThreadId(); + p->pResult = xTask(pIn); + } + *ppThread = p; + return SQLITE_OK; +} + +SQLITE_PRIVATE DWORD sqlite3Win32Wait(HANDLE hObject); /* os_win.c */ + +/* Get the results of the thread */ +SQLITE_PRIVATE int sqlite3ThreadJoin(SQLiteThread *p, void **ppOut){ + DWORD rc; + BOOL bRc; + + assert( ppOut!=0 ); + if( NEVER(p==0) ) return SQLITE_NOMEM; + if( p->xTask==0 ){ + assert( p->id==GetCurrentThreadId() ); + rc = WAIT_OBJECT_0; + assert( p->tid==0 ); + }else{ + assert( p->id!=0 && p->id!=GetCurrentThreadId() ); + rc = sqlite3Win32Wait((HANDLE)p->tid); + assert( rc!=WAIT_IO_COMPLETION ); + bRc = CloseHandle((HANDLE)p->tid); + assert( bRc ); + } + if( rc==WAIT_OBJECT_0 ) *ppOut = p->pResult; + sqlite3_free(p); + return (rc==WAIT_OBJECT_0) ? SQLITE_OK : SQLITE_ERROR; +} + +#endif /* SQLITE_OS_WIN && !SQLITE_OS_WINCE && !SQLITE_OS_WINRT */ +/******************************** End Win32 Threads *************************/ + + +/********************************* Single-Threaded **************************/ +#ifndef SQLITE_THREADS_IMPLEMENTED +/* +** This implementation does not actually create a new thread. It does the +** work of the thread in the main thread, when either the thread is created +** or when it is joined +*/ + +/* A running thread */ +struct SQLiteThread { + void *(*xTask)(void*); /* The routine to run as a thread */ + void *pIn; /* Argument to xTask */ + void *pResult; /* Result of xTask */ +}; + +/* Create a new thread */ +SQLITE_PRIVATE int sqlite3ThreadCreate( + SQLiteThread **ppThread, /* OUT: Write the thread object here */ + void *(*xTask)(void*), /* Routine to run in a separate thread */ + void *pIn /* Argument passed into xTask() */ +){ + SQLiteThread *p; + + assert( ppThread!=0 ); + assert( xTask!=0 ); + *ppThread = 0; + p = sqlite3Malloc(sizeof(*p)); + if( p==0 ) return SQLITE_NOMEM; + if( (SQLITE_PTR_TO_INT(p)/17)&1 ){ + p->xTask = xTask; + p->pIn = pIn; + }else{ + p->xTask = 0; + p->pResult = xTask(pIn); + } + *ppThread = p; + return SQLITE_OK; +} + +/* Get the results of the thread */ +SQLITE_PRIVATE int sqlite3ThreadJoin(SQLiteThread *p, void **ppOut){ + + assert( ppOut!=0 ); + if( NEVER(p==0) ) return SQLITE_NOMEM; + if( p->xTask ){ + *ppOut = p->xTask(p->pIn); + }else{ + *ppOut = p->pResult; + } + sqlite3_free(p); + +#if defined(SQLITE_TEST) + { + void *pTstAlloc = sqlite3Malloc(10); + if (!pTstAlloc) return SQLITE_NOMEM; + sqlite3_free(pTstAlloc); + } +#endif + + return SQLITE_OK; +} + +#endif /* !defined(SQLITE_THREADS_IMPLEMENTED) */ +/****************************** End Single-Threaded *************************/ +#endif /* SQLITE_MAX_WORKER_THREADS>0 */ + +/************** End of threads.c *********************************************/ /************** Begin file utf.c *********************************************/ /* ** 2004 April 13 @@ -21909,7 +22463,7 @@ SQLITE_PRIVATE u32 sqlite3Utf8Read( ** desiredEnc. It is an error if the string is already of the desired ** encoding, or if *pMem does not contain a string value. */ -SQLITE_PRIVATE int sqlite3VdbeMemTranslate(Mem *pMem, u8 desiredEnc){ +SQLITE_PRIVATE SQLITE_NOINLINE int sqlite3VdbeMemTranslate(Mem *pMem, u8 desiredEnc){ int len; /* Maximum length of output string in bytes */ unsigned char *zOut; /* Output buffer */ unsigned char *zIn; /* Input iterator */ @@ -22024,12 +22578,13 @@ SQLITE_PRIVATE int sqlite3VdbeMemTranslate(Mem *pMem, u8 desiredEnc){ *z = 0; assert( (pMem->n+(desiredEnc==SQLITE_UTF8?1:2))<=len ); + c = pMem->flags; sqlite3VdbeMemRelease(pMem); - pMem->flags &= ~(MEM_Static|MEM_Dyn|MEM_Ephem); + pMem->flags = MEM_Str|MEM_Term|(c&MEM_AffMask); pMem->enc = desiredEnc; - pMem->flags |= (MEM_Term); pMem->z = (char*)zOut; pMem->zMalloc = pMem->z; + pMem->szMalloc = sqlite3DbMallocSize(pMem->db, pMem->z); translate_out: #if defined(TRANSLATE_TRACE) && defined(SQLITE_DEBUG) @@ -22353,6 +22908,15 @@ SQLITE_PRIVATE int sqlite3Strlen30(const char *z){ } /* +** Set the current error code to err_code and clear any prior error message. +*/ +SQLITE_PRIVATE void sqlite3Error(sqlite3 *db, int err_code){ + assert( db!=0 ); + db->errCode = err_code; + if( db->pErr ) sqlite3ValueSetNull(db->pErr); +} + +/* ** Set the most recent error code and error string for the sqlite ** handle "db". The error code is set to "err_code". ** @@ -22373,18 +22937,18 @@ SQLITE_PRIVATE int sqlite3Strlen30(const char *z){ ** should be called with err_code set to SQLITE_OK and zFormat set ** to NULL. */ -SQLITE_PRIVATE void sqlite3Error(sqlite3 *db, int err_code, const char *zFormat, ...){ +SQLITE_PRIVATE void sqlite3ErrorWithMsg(sqlite3 *db, int err_code, const char *zFormat, ...){ assert( db!=0 ); db->errCode = err_code; - if( zFormat && (db->pErr || (db->pErr = sqlite3ValueNew(db))!=0) ){ + if( zFormat==0 ){ + sqlite3Error(db, err_code); + }else if( db->pErr || (db->pErr = sqlite3ValueNew(db))!=0 ){ char *z; va_list ap; va_start(ap, zFormat); z = sqlite3VMPrintf(db, zFormat, ap); va_end(ap); sqlite3ValueSetStr(db->pErr, -1, z, SQLITE_UTF8, SQLITE_DYNAMIC); - }else if( db->pErr ){ - sqlite3ValueSetNull(db->pErr); } } @@ -22398,12 +22962,12 @@ SQLITE_PRIVATE void sqlite3Error(sqlite3 *db, int err_code, const char *zFormat, ** %T Insert a token ** %S Insert the first element of a SrcList ** -** This function should be used to report any error that occurs whilst +** This function should be used to report any error that occurs while ** compiling an SQL statement (i.e. within sqlite3_prepare()). The ** last thing the sqlite3_prepare() function does is copy the error ** stored by this function into the database handle using sqlite3Error(). -** Function sqlite3Error() should be used during statement execution -** (sqlite3_step() etc.). +** Functions sqlite3Error() or sqlite3ErrorWithMsg() should be used +** during statement execution (sqlite3_step() etc.). */ SQLITE_PRIVATE void sqlite3ErrorMsg(Parse *pParse, const char *zFormat, ...){ char *zMsg; @@ -22436,7 +23000,7 @@ SQLITE_PRIVATE void sqlite3ErrorMsg(Parse *pParse, const char *zFormat, ...){ ** occur. ** ** 2002-Feb-14: This routine is extended to remove MS-Access style -** brackets from around identifers. For example: "[a-b-c]" becomes +** brackets from around identifiers. For example: "[a-b-c]" becomes ** "a-b-c". */ SQLITE_PRIVATE int sqlite3Dequote(char *z){ @@ -22940,7 +23504,7 @@ SQLITE_PRIVATE int sqlite3Atoi(const char *z){ ** bit clear. Except, if we get to the 9th byte, it stores the full ** 8 bits and is the last byte. */ -SQLITE_PRIVATE int sqlite3PutVarint(unsigned char *p, u64 v){ +static int SQLITE_NOINLINE putVarint64(unsigned char *p, u64 v){ int i, j, n; u8 buf[10]; if( v & (((u64)0xff000000)<<32) ){ @@ -22964,28 +23528,17 @@ SQLITE_PRIVATE int sqlite3PutVarint(unsigned char *p, u64 v){ } return n; } - -/* -** This routine is a faster version of sqlite3PutVarint() that only -** works for 32-bit positive integers and which is optimized for -** the common case of small integers. A MACRO version, putVarint32, -** is provided which inlines the single-byte case. All code should use -** the MACRO version as this function assumes the single-byte case has -** already been handled. -*/ -SQLITE_PRIVATE int sqlite3PutVarint32(unsigned char *p, u32 v){ -#ifndef putVarint32 - if( (v & ~0x7f)==0 ){ - p[0] = v; +SQLITE_PRIVATE int sqlite3PutVarint(unsigned char *p, u64 v){ + if( v<=0x7f ){ + p[0] = v&0x7f; return 1; } -#endif - if( (v & ~0x3fff)==0 ){ - p[0] = (u8)((v>>7) | 0x80); - p[1] = (u8)(v & 0x7f); + if( v<=0x3fff ){ + p[0] = ((v>>7)&0x7f)|0x80; + p[1] = v&0x7f; return 2; } - return sqlite3PutVarint(p, v); + return putVarint64(p,v); } /* @@ -23661,12 +24214,11 @@ SQLITE_PRIVATE void sqlite3HashClear(Hash *pH){ /* ** The hashing function. */ -static unsigned int strHash(const char *z, int nKey){ +static unsigned int strHash(const char *z){ unsigned int h = 0; - assert( nKey>=0 ); - while( nKey > 0 ){ - h = (h<<3) ^ h ^ sqlite3UpperToLower[(unsigned char)*z++]; - nKey--; + unsigned char c; + while( (c = (unsigned char)*z++)!=0 ){ + h = (h<<3) ^ h ^ sqlite3UpperToLower[c]; } return h; } @@ -23738,7 +24290,7 @@ static int rehash(Hash *pH, unsigned int new_size){ pH->htsize = new_size = sqlite3MallocSize(new_ht)/sizeof(struct _ht); memset(new_ht, 0, new_size*sizeof(struct _ht)); for(elem=pH->first, pH->first=0; elem; elem = next_elem){ - unsigned int h = strHash(elem->pKey, elem->nKey) % new_size; + unsigned int h = strHash(elem->pKey) % new_size; next_elem = elem->next; insertElement(pH, &new_ht[h], elem); } @@ -23746,28 +24298,33 @@ static int rehash(Hash *pH, unsigned int new_size){ } /* This function (for internal use only) locates an element in an -** hash table that matches the given key. The hash for this key has -** already been computed and is passed as the 4th parameter. +** hash table that matches the given key. The hash for this key is +** also computed and returned in the *pH parameter. */ -static HashElem *findElementGivenHash( +static HashElem *findElementWithHash( const Hash *pH, /* The pH to be searched */ const char *pKey, /* The key we are searching for */ - int nKey, /* Bytes in key (not counting zero terminator) */ - unsigned int h /* The hash for this key. */ + unsigned int *pHash /* Write the hash value here */ ){ HashElem *elem; /* Used to loop thru the element list */ int count; /* Number of elements left to test */ + unsigned int h; /* The computed hash */ if( pH->ht ){ - struct _ht *pEntry = &pH->ht[h]; + struct _ht *pEntry; + h = strHash(pKey) % pH->htsize; + pEntry = &pH->ht[h]; elem = pEntry->chain; count = pEntry->count; }else{ + h = 0; elem = pH->first; count = pH->count; } - while( count-- && ALWAYS(elem) ){ - if( elem->nKey==nKey && sqlite3StrNICmp(elem->pKey,pKey,nKey)==0 ){ + *pHash = h; + while( count-- ){ + assert( elem!=0 ); + if( sqlite3StrICmp(elem->pKey,pKey)==0 ){ return elem; } elem = elem->next; @@ -23810,26 +24367,20 @@ static void removeElementGivenHash( } /* Attempt to locate an element of the hash table pH with a key -** that matches pKey,nKey. Return the data for this element if it is +** that matches pKey. Return the data for this element if it is ** found, or NULL if there is no match. */ -SQLITE_PRIVATE void *sqlite3HashFind(const Hash *pH, const char *pKey, int nKey){ +SQLITE_PRIVATE void *sqlite3HashFind(const Hash *pH, const char *pKey){ HashElem *elem; /* The element that matches key */ unsigned int h; /* A hash on key */ assert( pH!=0 ); assert( pKey!=0 ); - assert( nKey>=0 ); - if( pH->ht ){ - h = strHash(pKey, nKey) % pH->htsize; - }else{ - h = 0; - } - elem = findElementGivenHash(pH, pKey, nKey, h); + elem = findElementWithHash(pH, pKey, &h); return elem ? elem->data : 0; } -/* Insert an element into the hash table pH. The key is pKey,nKey +/* Insert an element into the hash table pH. The key is pKey ** and the data is "data". ** ** If no element exists with a matching key, then a new @@ -23843,20 +24394,14 @@ SQLITE_PRIVATE void *sqlite3HashFind(const Hash *pH, const char *pKey, int nKey) ** If the "data" parameter to this function is NULL, then the ** element corresponding to "key" is removed from the hash table. */ -SQLITE_PRIVATE void *sqlite3HashInsert(Hash *pH, const char *pKey, int nKey, void *data){ +SQLITE_PRIVATE void *sqlite3HashInsert(Hash *pH, const char *pKey, void *data){ unsigned int h; /* the hash of the key modulo hash table size */ HashElem *elem; /* Used to loop thru the element list */ HashElem *new_elem; /* New element added to the pH */ assert( pH!=0 ); assert( pKey!=0 ); - assert( nKey>=0 ); - if( pH->htsize ){ - h = strHash(pKey, nKey) % pH->htsize; - }else{ - h = 0; - } - elem = findElementGivenHash(pH,pKey,nKey,h); + elem = findElementWithHash(pH,pKey,&h); if( elem ){ void *old_data = elem->data; if( data==0 ){ @@ -23864,7 +24409,6 @@ SQLITE_PRIVATE void *sqlite3HashInsert(Hash *pH, const char *pKey, int nKey, voi }else{ elem->data = data; elem->pKey = pKey; - assert(nKey==elem->nKey); } return old_data; } @@ -23872,20 +24416,15 @@ SQLITE_PRIVATE void *sqlite3HashInsert(Hash *pH, const char *pKey, int nKey, voi new_elem = (HashElem*)sqlite3Malloc( sizeof(HashElem) ); if( new_elem==0 ) return data; new_elem->pKey = pKey; - new_elem->nKey = nKey; new_elem->data = data; pH->count++; if( pH->count>=10 && pH->count > 2*pH->htsize ){ if( rehash(pH, pH->count*2) ){ assert( pH->htsize>0 ); - h = strHash(pKey, nKey) % pH->htsize; + h = strHash(pKey) % pH->htsize; } } - if( pH->ht ){ - insertElement(pH, &pH->ht[h], new_elem); - }else{ - insertElement(pH, 0, new_elem); - } + insertElement(pH, pH->ht ? &pH->ht[h] : 0, new_elem); return 0; } @@ -23940,42 +24479,42 @@ SQLITE_PRIVATE const char *sqlite3OpcodeName(int i){ /* 37 */ "AddImm" OpHelp("r[P1]=r[P1]+P2"), /* 38 */ "MustBeInt" OpHelp(""), /* 39 */ "RealAffinity" OpHelp(""), - /* 40 */ "Permutation" OpHelp(""), - /* 41 */ "Compare" OpHelp("r[P1@P3] <-> r[P2@P3]"), - /* 42 */ "Jump" OpHelp(""), - /* 43 */ "Once" OpHelp(""), - /* 44 */ "If" OpHelp(""), - /* 45 */ "IfNot" OpHelp(""), - /* 46 */ "Column" OpHelp("r[P3]=PX"), - /* 47 */ "Affinity" OpHelp("affinity(r[P1@P2])"), - /* 48 */ "MakeRecord" OpHelp("r[P3]=mkrec(r[P1@P2])"), - /* 49 */ "Count" OpHelp("r[P2]=count()"), - /* 50 */ "ReadCookie" OpHelp(""), - /* 51 */ "SetCookie" OpHelp(""), - /* 52 */ "ReopenIdx" OpHelp("root=P2 iDb=P3"), - /* 53 */ "OpenRead" OpHelp("root=P2 iDb=P3"), - /* 54 */ "OpenWrite" OpHelp("root=P2 iDb=P3"), - /* 55 */ "OpenAutoindex" OpHelp("nColumn=P2"), - /* 56 */ "OpenEphemeral" OpHelp("nColumn=P2"), - /* 57 */ "SorterOpen" OpHelp(""), - /* 58 */ "OpenPseudo" OpHelp("P3 columns in r[P2]"), - /* 59 */ "Close" OpHelp(""), - /* 60 */ "SeekLT" OpHelp("key=r[P3@P4]"), - /* 61 */ "SeekLE" OpHelp("key=r[P3@P4]"), - /* 62 */ "SeekGE" OpHelp("key=r[P3@P4]"), - /* 63 */ "SeekGT" OpHelp("key=r[P3@P4]"), - /* 64 */ "Seek" OpHelp("intkey=r[P2]"), - /* 65 */ "NoConflict" OpHelp("key=r[P3@P4]"), - /* 66 */ "NotFound" OpHelp("key=r[P3@P4]"), - /* 67 */ "Found" OpHelp("key=r[P3@P4]"), - /* 68 */ "NotExists" OpHelp("intkey=r[P3]"), - /* 69 */ "Sequence" OpHelp("r[P2]=cursor[P1].ctr++"), - /* 70 */ "NewRowid" OpHelp("r[P2]=rowid"), + /* 40 */ "Cast" OpHelp("affinity(r[P1])"), + /* 41 */ "Permutation" OpHelp(""), + /* 42 */ "Compare" OpHelp("r[P1@P3] <-> r[P2@P3]"), + /* 43 */ "Jump" OpHelp(""), + /* 44 */ "Once" OpHelp(""), + /* 45 */ "If" OpHelp(""), + /* 46 */ "IfNot" OpHelp(""), + /* 47 */ "Column" OpHelp("r[P3]=PX"), + /* 48 */ "Affinity" OpHelp("affinity(r[P1@P2])"), + /* 49 */ "MakeRecord" OpHelp("r[P3]=mkrec(r[P1@P2])"), + /* 50 */ "Count" OpHelp("r[P2]=count()"), + /* 51 */ "ReadCookie" OpHelp(""), + /* 52 */ "SetCookie" OpHelp(""), + /* 53 */ "ReopenIdx" OpHelp("root=P2 iDb=P3"), + /* 54 */ "OpenRead" OpHelp("root=P2 iDb=P3"), + /* 55 */ "OpenWrite" OpHelp("root=P2 iDb=P3"), + /* 56 */ "OpenAutoindex" OpHelp("nColumn=P2"), + /* 57 */ "OpenEphemeral" OpHelp("nColumn=P2"), + /* 58 */ "SorterOpen" OpHelp(""), + /* 59 */ "SequenceTest" OpHelp("if( cursor[P1].ctr++ ) pc = P2"), + /* 60 */ "OpenPseudo" OpHelp("P3 columns in r[P2]"), + /* 61 */ "Close" OpHelp(""), + /* 62 */ "SeekLT" OpHelp("key=r[P3@P4]"), + /* 63 */ "SeekLE" OpHelp("key=r[P3@P4]"), + /* 64 */ "SeekGE" OpHelp("key=r[P3@P4]"), + /* 65 */ "SeekGT" OpHelp("key=r[P3@P4]"), + /* 66 */ "Seek" OpHelp("intkey=r[P2]"), + /* 67 */ "NoConflict" OpHelp("key=r[P3@P4]"), + /* 68 */ "NotFound" OpHelp("key=r[P3@P4]"), + /* 69 */ "Found" OpHelp("key=r[P3@P4]"), + /* 70 */ "NotExists" OpHelp("intkey=r[P3]"), /* 71 */ "Or" OpHelp("r[P3]=(r[P1] || r[P2])"), /* 72 */ "And" OpHelp("r[P3]=(r[P1] && r[P2])"), - /* 73 */ "Insert" OpHelp("intkey=r[P3] data=r[P2]"), - /* 74 */ "InsertInt" OpHelp("intkey=P3 data=r[P2]"), - /* 75 */ "Delete" OpHelp(""), + /* 73 */ "Sequence" OpHelp("r[P2]=cursor[P1].ctr++"), + /* 74 */ "NewRowid" OpHelp("r[P2]=rowid"), + /* 75 */ "Insert" OpHelp("intkey=r[P3] data=r[P2]"), /* 76 */ "IsNull" OpHelp("if r[P1]==NULL goto P2"), /* 77 */ "NotNull" OpHelp("if r[P1]!=NULL goto P2"), /* 78 */ "Ne" OpHelp("if r[P1]!=r[P3] goto P2"), @@ -23984,7 +24523,7 @@ SQLITE_PRIVATE const char *sqlite3OpcodeName(int i){ /* 81 */ "Le" OpHelp("if r[P1]<=r[P3] goto P2"), /* 82 */ "Lt" OpHelp("if r[P1]<r[P3] goto P2"), /* 83 */ "Ge" OpHelp("if r[P1]>=r[P3] goto P2"), - /* 84 */ "ResetCount" OpHelp(""), + /* 84 */ "InsertInt" OpHelp("intkey=P3 data=r[P2]"), /* 85 */ "BitAnd" OpHelp("r[P3]=r[P1]&r[P2]"), /* 86 */ "BitOr" OpHelp("r[P3]=r[P1]|r[P2]"), /* 87 */ "ShiftLeft" OpHelp("r[P3]=r[P2]<<r[P1]"), @@ -23995,70 +24534,67 @@ SQLITE_PRIVATE const char *sqlite3OpcodeName(int i){ /* 92 */ "Divide" OpHelp("r[P3]=r[P2]/r[P1]"), /* 93 */ "Remainder" OpHelp("r[P3]=r[P2]%r[P1]"), /* 94 */ "Concat" OpHelp("r[P3]=r[P2]+r[P1]"), - /* 95 */ "SorterCompare" OpHelp("if key(P1)!=trim(r[P3],P4) goto P2"), + /* 95 */ "Delete" OpHelp(""), /* 96 */ "BitNot" OpHelp("r[P1]= ~r[P1]"), /* 97 */ "String8" OpHelp("r[P2]='P4'"), - /* 98 */ "SorterData" OpHelp("r[P2]=data"), - /* 99 */ "RowKey" OpHelp("r[P2]=key"), - /* 100 */ "RowData" OpHelp("r[P2]=data"), - /* 101 */ "Rowid" OpHelp("r[P2]=rowid"), - /* 102 */ "NullRow" OpHelp(""), - /* 103 */ "Last" OpHelp(""), - /* 104 */ "SorterSort" OpHelp(""), - /* 105 */ "Sort" OpHelp(""), - /* 106 */ "Rewind" OpHelp(""), - /* 107 */ "SorterInsert" OpHelp(""), - /* 108 */ "IdxInsert" OpHelp("key=r[P2]"), - /* 109 */ "IdxDelete" OpHelp("key=r[P2@P3]"), - /* 110 */ "IdxRowid" OpHelp("r[P2]=rowid"), - /* 111 */ "IdxLE" OpHelp("key=r[P3@P4]"), - /* 112 */ "IdxGT" OpHelp("key=r[P3@P4]"), - /* 113 */ "IdxLT" OpHelp("key=r[P3@P4]"), - /* 114 */ "IdxGE" OpHelp("key=r[P3@P4]"), - /* 115 */ "Destroy" OpHelp(""), - /* 116 */ "Clear" OpHelp(""), - /* 117 */ "ResetSorter" OpHelp(""), - /* 118 */ "CreateIndex" OpHelp("r[P2]=root iDb=P1"), - /* 119 */ "CreateTable" OpHelp("r[P2]=root iDb=P1"), - /* 120 */ "ParseSchema" OpHelp(""), - /* 121 */ "LoadAnalysis" OpHelp(""), - /* 122 */ "DropTable" OpHelp(""), - /* 123 */ "DropIndex" OpHelp(""), - /* 124 */ "DropTrigger" OpHelp(""), - /* 125 */ "IntegrityCk" OpHelp(""), - /* 126 */ "RowSetAdd" OpHelp("rowset(P1)=r[P2]"), - /* 127 */ "RowSetRead" OpHelp("r[P3]=rowset(P1)"), - /* 128 */ "RowSetTest" OpHelp("if r[P3] in rowset(P1) goto P2"), - /* 129 */ "Program" OpHelp(""), - /* 130 */ "Param" OpHelp(""), - /* 131 */ "FkCounter" OpHelp("fkctr[P1]+=P2"), - /* 132 */ "FkIfZero" OpHelp("if fkctr[P1]==0 goto P2"), + /* 98 */ "ResetCount" OpHelp(""), + /* 99 */ "SorterCompare" OpHelp("if key(P1)!=trim(r[P3],P4) goto P2"), + /* 100 */ "SorterData" OpHelp("r[P2]=data"), + /* 101 */ "RowKey" OpHelp("r[P2]=key"), + /* 102 */ "RowData" OpHelp("r[P2]=data"), + /* 103 */ "Rowid" OpHelp("r[P2]=rowid"), + /* 104 */ "NullRow" OpHelp(""), + /* 105 */ "Last" OpHelp(""), + /* 106 */ "SorterSort" OpHelp(""), + /* 107 */ "Sort" OpHelp(""), + /* 108 */ "Rewind" OpHelp(""), + /* 109 */ "SorterInsert" OpHelp(""), + /* 110 */ "IdxInsert" OpHelp("key=r[P2]"), + /* 111 */ "IdxDelete" OpHelp("key=r[P2@P3]"), + /* 112 */ "IdxRowid" OpHelp("r[P2]=rowid"), + /* 113 */ "IdxLE" OpHelp("key=r[P3@P4]"), + /* 114 */ "IdxGT" OpHelp("key=r[P3@P4]"), + /* 115 */ "IdxLT" OpHelp("key=r[P3@P4]"), + /* 116 */ "IdxGE" OpHelp("key=r[P3@P4]"), + /* 117 */ "Destroy" OpHelp(""), + /* 118 */ "Clear" OpHelp(""), + /* 119 */ "ResetSorter" OpHelp(""), + /* 120 */ "CreateIndex" OpHelp("r[P2]=root iDb=P1"), + /* 121 */ "CreateTable" OpHelp("r[P2]=root iDb=P1"), + /* 122 */ "ParseSchema" OpHelp(""), + /* 123 */ "LoadAnalysis" OpHelp(""), + /* 124 */ "DropTable" OpHelp(""), + /* 125 */ "DropIndex" OpHelp(""), + /* 126 */ "DropTrigger" OpHelp(""), + /* 127 */ "IntegrityCk" OpHelp(""), + /* 128 */ "RowSetAdd" OpHelp("rowset(P1)=r[P2]"), + /* 129 */ "RowSetRead" OpHelp("r[P3]=rowset(P1)"), + /* 130 */ "RowSetTest" OpHelp("if r[P3] in rowset(P1) goto P2"), + /* 131 */ "Program" OpHelp(""), + /* 132 */ "Param" OpHelp(""), /* 133 */ "Real" OpHelp("r[P2]=P4"), - /* 134 */ "MemMax" OpHelp("r[P1]=max(r[P1],r[P2])"), - /* 135 */ "IfPos" OpHelp("if r[P1]>0 goto P2"), - /* 136 */ "IfNeg" OpHelp("r[P1]+=P3, if r[P1]<0 goto P2"), - /* 137 */ "IfZero" OpHelp("r[P1]+=P3, if r[P1]==0 goto P2"), - /* 138 */ "AggFinal" OpHelp("accum=r[P1] N=P2"), - /* 139 */ "IncrVacuum" OpHelp(""), - /* 140 */ "Expire" OpHelp(""), - /* 141 */ "TableLock" OpHelp("iDb=P1 root=P2 write=P3"), - /* 142 */ "VBegin" OpHelp(""), - /* 143 */ "ToText" OpHelp(""), - /* 144 */ "ToBlob" OpHelp(""), - /* 145 */ "ToNumeric" OpHelp(""), - /* 146 */ "ToInt" OpHelp(""), - /* 147 */ "ToReal" OpHelp(""), - /* 148 */ "VCreate" OpHelp(""), - /* 149 */ "VDestroy" OpHelp(""), - /* 150 */ "VOpen" OpHelp(""), - /* 151 */ "VColumn" OpHelp("r[P3]=vcolumn(P2)"), - /* 152 */ "VNext" OpHelp(""), - /* 153 */ "VRename" OpHelp(""), - /* 154 */ "Pagecount" OpHelp(""), - /* 155 */ "MaxPgcnt" OpHelp(""), - /* 156 */ "Init" OpHelp("Start at P2"), - /* 157 */ "Noop" OpHelp(""), - /* 158 */ "Explain" OpHelp(""), + /* 134 */ "FkCounter" OpHelp("fkctr[P1]+=P2"), + /* 135 */ "FkIfZero" OpHelp("if fkctr[P1]==0 goto P2"), + /* 136 */ "MemMax" OpHelp("r[P1]=max(r[P1],r[P2])"), + /* 137 */ "IfPos" OpHelp("if r[P1]>0 goto P2"), + /* 138 */ "IfNeg" OpHelp("r[P1]+=P3, if r[P1]<0 goto P2"), + /* 139 */ "IfZero" OpHelp("r[P1]+=P3, if r[P1]==0 goto P2"), + /* 140 */ "AggFinal" OpHelp("accum=r[P1] N=P2"), + /* 141 */ "IncrVacuum" OpHelp(""), + /* 142 */ "Expire" OpHelp(""), + /* 143 */ "TableLock" OpHelp("iDb=P1 root=P2 write=P3"), + /* 144 */ "VBegin" OpHelp(""), + /* 145 */ "VCreate" OpHelp(""), + /* 146 */ "VDestroy" OpHelp(""), + /* 147 */ "VOpen" OpHelp(""), + /* 148 */ "VColumn" OpHelp("r[P3]=vcolumn(P2)"), + /* 149 */ "VNext" OpHelp(""), + /* 150 */ "VRename" OpHelp(""), + /* 151 */ "Pagecount" OpHelp(""), + /* 152 */ "MaxPgcnt" OpHelp(""), + /* 153 */ "Init" OpHelp("Start at P2"), + /* 154 */ "Noop" OpHelp(""), + /* 155 */ "Explain" OpHelp(""), }; return azName[i]; } @@ -24575,6 +25111,14 @@ SQLITE_API int sqlite3_open_file_count = 0; #endif /* +** Explicitly call the 64-bit version of lseek() on Android. Otherwise, lseek() +** is the 32-bit version, even if _FILE_OFFSET_BITS=64 is defined. +*/ +#ifdef __ANDROID__ +# define lseek lseek64 +#endif + +/* ** Different Unix systems declare open() in different ways. Same use ** open(const char*,int,mode_t). Others use open(const char*,int,...). ** The difference is important when using a pointer to the function. @@ -24906,7 +25450,7 @@ static int unixMutexHeld(void) { #if defined(SQLITE_TEST) && defined(SQLITE_DEBUG) /* ** Helper function for printing out trace information from debugging -** binaries. This returns the string represetation of the supplied +** binaries. This returns the string representation of the supplied ** integer lock-type. */ static const char *azFileLock(int eFileLock){ @@ -24983,9 +25527,22 @@ static int lockTrace(int fd, int op, struct flock *p){ /* ** Retry ftruncate() calls that fail due to EINTR +** +** All calls to ftruncate() within this file should be made through this wrapper. +** On the Android platform, bypassing the logic below could lead to a corrupt +** database. */ static int robust_ftruncate(int h, sqlite3_int64 sz){ int rc; +#ifdef __ANDROID__ + /* On Android, ftruncate() always uses 32-bit offsets, even if + ** _FILE_OFFSET_BITS=64 is defined. This means it is unsafe to attempt to + ** truncate a file to any size larger than 2GiB. Silently ignore any + ** such attempts. */ + if( sz>(sqlite3_int64)0x7FFFFFFF ){ + rc = SQLITE_OK; + }else +#endif do{ rc = osFtruncate(h,sz); }while( rc<0 && errno==EINTR ); return rc; } @@ -27373,7 +27930,7 @@ static int nfsUnlock(sqlite3_file *id, int eFileLock){ ** NB: If you define USE_PREAD or USE_PREAD64, then it might also ** be necessary to define _XOPEN_SOURCE to be 500. This varies from ** one system to another. Since SQLite does not define USE_PREAD -** any any form by default, we will not attempt to define _XOPEN_SOURCE. +** in any form by default, we will not attempt to define _XOPEN_SOURCE. ** See tickets #2741 and #2681. ** ** To avoid stomping the errno value on a failed read the lastErrno value @@ -27870,7 +28427,7 @@ static int unixTruncate(sqlite3_file *id, i64 nByte){ nByte = ((nByte + pFile->szChunk - 1)/pFile->szChunk) * pFile->szChunk; } - rc = robust_ftruncate(pFile->h, (off_t)nByte); + rc = robust_ftruncate(pFile->h, nByte); if( rc ){ pFile->lastErrno = errno; return unixLogError(SQLITE_IOERR_TRUNCATE, "ftruncate", pFile->zPath); @@ -28005,7 +28562,7 @@ static int fcntlSizeHint(unixFile *pFile, i64 nByte){ } /* -** If *pArg is inititially negative then this is a query. Set *pArg to +** If *pArg is initially negative then this is a query. Set *pArg to ** 1 or 0 depending on whether or not bit mask of pFile->ctrlFlags is set. ** ** If *pArg is 0 or 1, then clear or set the mask bit of pFile->ctrlFlags. @@ -28212,7 +28769,7 @@ static int unixSectorSize(sqlite3_file *id){ ** Return the device characteristics for the file. ** ** This VFS is set up to return SQLITE_IOCAP_POWERSAFE_OVERWRITE by default. -** However, that choice is contraversial since technically the underlying +** However, that choice is controversial since technically the underlying ** file system does not always provide powersafe overwrites. (In other ** words, after a power-loss event, parts of the file that were never ** written might end up being altered.) However, non-PSOW behavior is very, @@ -29184,7 +29741,7 @@ static int unixUnfetch(sqlite3_file *fd, i64 iOff, void *p){ ** looks at the filesystem type and tries to guess the best locking ** strategy from that. ** -** For finder-funtion F, two objects are created: +** For finder-function F, two objects are created: ** ** (1) The real finder-function named "FImpt()". ** @@ -29205,7 +29762,7 @@ static int unixUnfetch(sqlite3_file *fd, i64 iOff, void *p){ ** * An I/O method finder function called FINDER that returns a pointer ** to the METHOD object in the previous bullet. */ -#define IOMETHODS(FINDER, METHOD, VERSION, CLOSE, LOCK, UNLOCK, CKLOCK) \ +#define IOMETHODS(FINDER, METHOD, VERSION, CLOSE, LOCK, UNLOCK, CKLOCK, SHMMAP) \ static const sqlite3_io_methods METHOD = { \ VERSION, /* iVersion */ \ CLOSE, /* xClose */ \ @@ -29220,7 +29777,7 @@ static const sqlite3_io_methods METHOD = { \ unixFileControl, /* xFileControl */ \ unixSectorSize, /* xSectorSize */ \ unixDeviceCharacteristics, /* xDeviceCapabilities */ \ - unixShmMap, /* xShmMap */ \ + SHMMAP, /* xShmMap */ \ unixShmLock, /* xShmLock */ \ unixShmBarrier, /* xShmBarrier */ \ unixShmUnmap, /* xShmUnmap */ \ @@ -29246,16 +29803,18 @@ IOMETHODS( unixClose, /* xClose method */ unixLock, /* xLock method */ unixUnlock, /* xUnlock method */ - unixCheckReservedLock /* xCheckReservedLock method */ + unixCheckReservedLock, /* xCheckReservedLock method */ + unixShmMap /* xShmMap method */ ) IOMETHODS( nolockIoFinder, /* Finder function name */ nolockIoMethods, /* sqlite3_io_methods object name */ - 1, /* shared memory is disabled */ + 3, /* shared memory is disabled */ nolockClose, /* xClose method */ nolockLock, /* xLock method */ nolockUnlock, /* xUnlock method */ - nolockCheckReservedLock /* xCheckReservedLock method */ + nolockCheckReservedLock, /* xCheckReservedLock method */ + 0 /* xShmMap method */ ) IOMETHODS( dotlockIoFinder, /* Finder function name */ @@ -29264,7 +29823,8 @@ IOMETHODS( dotlockClose, /* xClose method */ dotlockLock, /* xLock method */ dotlockUnlock, /* xUnlock method */ - dotlockCheckReservedLock /* xCheckReservedLock method */ + dotlockCheckReservedLock, /* xCheckReservedLock method */ + 0 /* xShmMap method */ ) #if SQLITE_ENABLE_LOCKING_STYLE && !OS_VXWORKS @@ -29275,7 +29835,8 @@ IOMETHODS( flockClose, /* xClose method */ flockLock, /* xLock method */ flockUnlock, /* xUnlock method */ - flockCheckReservedLock /* xCheckReservedLock method */ + flockCheckReservedLock, /* xCheckReservedLock method */ + 0 /* xShmMap method */ ) #endif @@ -29287,7 +29848,8 @@ IOMETHODS( semClose, /* xClose method */ semLock, /* xLock method */ semUnlock, /* xUnlock method */ - semCheckReservedLock /* xCheckReservedLock method */ + semCheckReservedLock, /* xCheckReservedLock method */ + 0 /* xShmMap method */ ) #endif @@ -29299,7 +29861,8 @@ IOMETHODS( afpClose, /* xClose method */ afpLock, /* xLock method */ afpUnlock, /* xUnlock method */ - afpCheckReservedLock /* xCheckReservedLock method */ + afpCheckReservedLock, /* xCheckReservedLock method */ + 0 /* xShmMap method */ ) #endif @@ -29324,7 +29887,8 @@ IOMETHODS( proxyClose, /* xClose method */ proxyLock, /* xLock method */ proxyUnlock, /* xUnlock method */ - proxyCheckReservedLock /* xCheckReservedLock method */ + proxyCheckReservedLock, /* xCheckReservedLock method */ + 0 /* xShmMap method */ ) #endif @@ -29337,7 +29901,8 @@ IOMETHODS( unixClose, /* xClose method */ unixLock, /* xLock method */ nfsUnlock, /* xUnlock method */ - unixCheckReservedLock /* xCheckReservedLock method */ + unixCheckReservedLock, /* xCheckReservedLock method */ + 0 /* xShmMap method */ ) #endif @@ -29446,7 +30011,7 @@ static const sqlite3_io_methods #endif /* OS_VXWORKS && SQLITE_ENABLE_LOCKING_STYLE */ /* -** An abstract type for a pointer to a IO method finder function: +** An abstract type for a pointer to an IO method finder function: */ typedef const sqlite3_io_methods *(*finder_type)(const char*,unixFile*); @@ -29760,7 +30325,7 @@ static UnixUnusedFd *findReusableFd(const char *zPath, int flags){ ** descriptor on the same path, fail, and return an error to SQLite. ** ** Even if a subsequent open() call does succeed, the consequences of - ** not searching for a resusable file descriptor are not dire. */ + ** not searching for a reusable file descriptor are not dire. */ if( 0==osStat(zPath, &sStat) ){ unixInodeInfo *pInode; @@ -29791,7 +30356,7 @@ static UnixUnusedFd *findReusableFd(const char *zPath, int flags){ ** written to *pMode. If an IO error occurs, an SQLite error code is ** returned and the value of *pMode is not modified. ** -** In most cases cases, this routine sets *pMode to 0, which will become +** In most cases, this routine sets *pMode to 0, which will become ** an indication to robust_open() to create the file using ** SQLITE_DEFAULT_FILE_PERMISSIONS adjusted by the umask. ** But if the file being opened is a WAL or regular journal file, then @@ -30160,7 +30725,7 @@ static int unixDelete( if( osUnlink(zPath)==(-1) ){ if( errno==ENOENT #if OS_VXWORKS - || errno==0x380003 + || osAccess(zPath,0)!=0 #endif ){ rc = SQLITE_IOERR_DELETE_NOENT; @@ -30583,7 +31148,7 @@ static int unixGetLastError(sqlite3_vfs *NotUsed, int NotUsed2, char *NotUsed3){ ** proxy path against the values stored in the conch. The conch file is ** stored in the same directory as the database file and the file name ** is patterned after the database file name as ".<databasename>-conch". -** If the conch file does not exist, or it's contents do not match the +** If the conch file does not exist, or its contents do not match the ** host ID and/or proxy path, then the lock is escalated to an exclusive ** lock and the conch file contents is updated with the host ID and proxy ** path and the lock is downgraded to a shared lock again. If the conch @@ -30635,7 +31200,7 @@ static int unixGetLastError(sqlite3_vfs *NotUsed, int NotUsed2, char *NotUsed3){ ** setting the environment variable SQLITE_FORCE_PROXY_LOCKING to 1 will ** force proxy locking to be used for every database file opened, and 0 ** will force automatic proxy locking to be disabled for all database -** files (explicity calling the SQLITE_SET_LOCKPROXYFILE pragma or +** files (explicitly calling the SQLITE_SET_LOCKPROXYFILE pragma or ** sqlite_file_control API is not affected by SQLITE_FORCE_PROXY_LOCKING). */ @@ -32397,9 +32962,9 @@ SQLITE_PRIVATE const sqlite3_mem_methods *sqlite3MemGetWin32(void); ** can manually set this value to 1 to emulate Win98 behavior. */ #ifdef SQLITE_TEST -SQLITE_API LONG volatile sqlite3_os_type = 0; +SQLITE_API LONG SQLITE_WIN32_VOLATILE sqlite3_os_type = 0; #else -static LONG volatile sqlite3_os_type = 0; +static LONG SQLITE_WIN32_VOLATILE sqlite3_os_type = 0; #endif #ifndef SYSCALL @@ -32930,7 +33495,7 @@ static struct win_syscall { #define osWaitForSingleObject ((DWORD(WINAPI*)(HANDLE, \ DWORD))aSyscall[63].pCurrent) -#if SQLITE_OS_WINRT +#if !SQLITE_OS_WINCE { "WaitForSingleObjectEx", (SYSCALL)WaitForSingleObjectEx, 0 }, #else { "WaitForSingleObjectEx", (SYSCALL)0, 0 }, @@ -33042,8 +33607,8 @@ static struct win_syscall { #else { "InterlockedCompareExchange", (SYSCALL)InterlockedCompareExchange, 0 }, -#define osInterlockedCompareExchange ((LONG(WINAPI*)(LONG volatile*, \ - LONG,LONG))aSyscall[76].pCurrent) +#define osInterlockedCompareExchange ((LONG(WINAPI*)(LONG \ + SQLITE_WIN32_VOLATILE*, LONG,LONG))aSyscall[76].pCurrent) #endif /* defined(InterlockedCompareExchange) */ }; /* End of the overrideable system calls */ @@ -33277,6 +33842,16 @@ SQLITE_API void sqlite3_win32_sleep(DWORD milliseconds){ #endif } +#if SQLITE_MAX_WORKER_THREADS>0 && !SQLITE_OS_WINCE && !SQLITE_OS_WINRT && \ + SQLITE_THREADSAFE>0 +SQLITE_PRIVATE DWORD sqlite3Win32Wait(HANDLE hObject){ + DWORD rc; + while( (rc = osWaitForSingleObjectEx(hObject, INFINITE, + TRUE))==WAIT_IO_COMPLETION ){} + return rc; +} +#endif + /* ** Return true (non-zero) if we are running under WinNT, Win2K, WinXP, ** or WinCE. Return false (zero) for Win95, Win98, or WinME. @@ -33304,19 +33879,24 @@ SQLITE_API void sqlite3_win32_sleep(DWORD milliseconds){ ** based on the NT kernel. */ SQLITE_API int sqlite3_win32_is_nt(void){ -#if defined(SQLITE_WIN32_GETVERSIONEX) && SQLITE_WIN32_GETVERSIONEX +#if SQLITE_OS_WINRT + /* + ** NOTE: The WinRT sub-platform is always assumed to be based on the NT + ** kernel. + */ + return 1; +#elif defined(SQLITE_WIN32_GETVERSIONEX) && SQLITE_WIN32_GETVERSIONEX if( osInterlockedCompareExchange(&sqlite3_os_type, 0, 0)==0 ){ -#if !SQLITE_OS_WINRT && defined(SQLITE_WIN32_HAS_WIDE) && \ - defined(NTDDI_VERSION) && NTDDI_VERSION >= NTDDI_WIN8 - OSVERSIONINFOW sInfo; +#if defined(SQLITE_WIN32_HAS_ANSI) + OSVERSIONINFOA sInfo; sInfo.dwOSVersionInfoSize = sizeof(sInfo); - osGetVersionExW(&sInfo); + osGetVersionExA(&sInfo); osInterlockedCompareExchange(&sqlite3_os_type, (sInfo.dwPlatformId == VER_PLATFORM_WIN32_NT) ? 2 : 1, 0); -#elif defined(SQLITE_WIN32_HAS_ANSI) - OSVERSIONINFOA sInfo; +#elif defined(SQLITE_WIN32_HAS_WIDE) + OSVERSIONINFOW sInfo; sInfo.dwOSVersionInfoSize = sizeof(sInfo); - osGetVersionExA(&sInfo); + osGetVersionExW(&sInfo); osInterlockedCompareExchange(&sqlite3_os_type, (sInfo.dwPlatformId == VER_PLATFORM_WIN32_NT) ? 2 : 1, 0); #endif @@ -33325,6 +33905,10 @@ SQLITE_API int sqlite3_win32_is_nt(void){ #elif SQLITE_TEST return osInterlockedCompareExchange(&sqlite3_os_type, 2, 2)==2; #else + /* + ** NOTE: All sub-platforms where the GetVersionEx[AW] functions are + ** deprecated are always assumed to be based on the NT kernel. + */ return 1; #endif } @@ -35101,7 +35685,7 @@ static int winUnlock(sqlite3_file *id, int locktype){ } /* -** If *pArg is inititially negative then this is a query. Set *pArg to +** If *pArg is initially negative then this is a query. Set *pArg to ** 1 or 0 depending on whether or not bit mask of pFile->ctrlFlags is set. ** ** If *pArg is 0 or 1, then clear or set the mask bit of pFile->ctrlFlags. @@ -36115,7 +36699,7 @@ static int winUnfetch(sqlite3_file *fd, i64 iOff, void *p){ }else{ /* FIXME: If Windows truly always prevents truncating or deleting a ** file while a mapping is held, then the following winUnmapfile() call - ** is unnecessary can can be omitted - potentially improving + ** is unnecessary can be omitted - potentially improving ** performance. */ winUnmapfile(pFd); } @@ -37973,88 +38557,71 @@ struct PCache { /********************************** Linked List Management ********************/ -#if !defined(NDEBUG) && defined(SQLITE_ENABLE_EXPENSIVE_ASSERT) -/* -** Check that the pCache->pSynced variable is set correctly. If it -** is not, either fail an assert or return zero. Otherwise, return -** non-zero. This is only used in debugging builds, as follows: -** -** expensive_assert( pcacheCheckSynced(pCache) ); -*/ -static int pcacheCheckSynced(PCache *pCache){ - PgHdr *p; - for(p=pCache->pDirtyTail; p!=pCache->pSynced; p=p->pDirtyPrev){ - assert( p->nRef || (p->flags&PGHDR_NEED_SYNC) ); - } - return (p==0 || p->nRef || (p->flags&PGHDR_NEED_SYNC)==0); -} -#endif /* !NDEBUG && SQLITE_ENABLE_EXPENSIVE_ASSERT */ +/* Allowed values for second argument to pcacheManageDirtyList() */ +#define PCACHE_DIRTYLIST_REMOVE 1 /* Remove pPage from dirty list */ +#define PCACHE_DIRTYLIST_ADD 2 /* Add pPage to the dirty list */ +#define PCACHE_DIRTYLIST_FRONT 3 /* Move pPage to the front of the list */ /* -** Remove page pPage from the list of dirty pages. +** Manage pPage's participation on the dirty list. Bits of the addRemove +** argument determines what operation to do. The 0x01 bit means first +** remove pPage from the dirty list. The 0x02 means add pPage back to +** the dirty list. Doing both moves pPage to the front of the dirty list. */ -static void pcacheRemoveFromDirtyList(PgHdr *pPage){ +static void pcacheManageDirtyList(PgHdr *pPage, u8 addRemove){ PCache *p = pPage->pCache; - assert( pPage->pDirtyNext || pPage==p->pDirtyTail ); - assert( pPage->pDirtyPrev || pPage==p->pDirty ); - - /* Update the PCache1.pSynced variable if necessary. */ - if( p->pSynced==pPage ){ - PgHdr *pSynced = pPage->pDirtyPrev; - while( pSynced && (pSynced->flags&PGHDR_NEED_SYNC) ){ - pSynced = pSynced->pDirtyPrev; + if( addRemove & PCACHE_DIRTYLIST_REMOVE ){ + assert( pPage->pDirtyNext || pPage==p->pDirtyTail ); + assert( pPage->pDirtyPrev || pPage==p->pDirty ); + + /* Update the PCache1.pSynced variable if necessary. */ + if( p->pSynced==pPage ){ + PgHdr *pSynced = pPage->pDirtyPrev; + while( pSynced && (pSynced->flags&PGHDR_NEED_SYNC) ){ + pSynced = pSynced->pDirtyPrev; + } + p->pSynced = pSynced; } - p->pSynced = pSynced; - } - - if( pPage->pDirtyNext ){ - pPage->pDirtyNext->pDirtyPrev = pPage->pDirtyPrev; - }else{ - assert( pPage==p->pDirtyTail ); - p->pDirtyTail = pPage->pDirtyPrev; - } - if( pPage->pDirtyPrev ){ - pPage->pDirtyPrev->pDirtyNext = pPage->pDirtyNext; - }else{ - assert( pPage==p->pDirty ); - p->pDirty = pPage->pDirtyNext; - if( p->pDirty==0 && p->bPurgeable ){ - assert( p->eCreate==1 ); - p->eCreate = 2; + + if( pPage->pDirtyNext ){ + pPage->pDirtyNext->pDirtyPrev = pPage->pDirtyPrev; + }else{ + assert( pPage==p->pDirtyTail ); + p->pDirtyTail = pPage->pDirtyPrev; } + if( pPage->pDirtyPrev ){ + pPage->pDirtyPrev->pDirtyNext = pPage->pDirtyNext; + }else{ + assert( pPage==p->pDirty ); + p->pDirty = pPage->pDirtyNext; + if( p->pDirty==0 && p->bPurgeable ){ + assert( p->eCreate==1 ); + p->eCreate = 2; + } + } + pPage->pDirtyNext = 0; + pPage->pDirtyPrev = 0; } - pPage->pDirtyNext = 0; - pPage->pDirtyPrev = 0; - - expensive_assert( pcacheCheckSynced(p) ); -} - -/* -** Add page pPage to the head of the dirty list (PCache1.pDirty is set to -** pPage). -*/ -static void pcacheAddToDirtyList(PgHdr *pPage){ - PCache *p = pPage->pCache; - - assert( pPage->pDirtyNext==0 && pPage->pDirtyPrev==0 && p->pDirty!=pPage ); - - pPage->pDirtyNext = p->pDirty; - if( pPage->pDirtyNext ){ - assert( pPage->pDirtyNext->pDirtyPrev==0 ); - pPage->pDirtyNext->pDirtyPrev = pPage; - }else if( p->bPurgeable ){ - assert( p->eCreate==2 ); - p->eCreate = 1; - } - p->pDirty = pPage; - if( !p->pDirtyTail ){ - p->pDirtyTail = pPage; - } - if( !p->pSynced && 0==(pPage->flags&PGHDR_NEED_SYNC) ){ - p->pSynced = pPage; + if( addRemove & PCACHE_DIRTYLIST_ADD ){ + assert( pPage->pDirtyNext==0 && pPage->pDirtyPrev==0 && p->pDirty!=pPage ); + + pPage->pDirtyNext = p->pDirty; + if( pPage->pDirtyNext ){ + assert( pPage->pDirtyNext->pDirtyPrev==0 ); + pPage->pDirtyNext->pDirtyPrev = pPage; + }else{ + p->pDirtyTail = pPage; + if( p->bPurgeable ){ + assert( p->eCreate==2 ); + p->eCreate = 1; + } + } + p->pDirty = pPage; + if( !p->pSynced && 0==(pPage->flags&PGHDR_NEED_SYNC) ){ + p->pSynced = pPage; + } } - expensive_assert( pcacheCheckSynced(p) ); } /* @@ -38062,12 +38629,22 @@ static void pcacheAddToDirtyList(PgHdr *pPage){ ** being used for an in-memory database, this function is a no-op. */ static void pcacheUnpin(PgHdr *p){ - PCache *pCache = p->pCache; - if( pCache->bPurgeable ){ + if( p->pCache->bPurgeable ){ if( p->pgno==1 ){ - pCache->pPage1 = 0; + p->pCache->pPage1 = 0; } - sqlite3GlobalConfig.pcache2.xUnpin(pCache->pCache, p->pPage, 0); + sqlite3GlobalConfig.pcache2.xUnpin(p->pCache->pCache, p->pPage, 0); + } +} + +/* +** Compute the number of pages of cache requested. +*/ +static int numberOfCachePages(PCache *p){ + if( p->szCache>=0 ){ + return p->szCache; + }else{ + return (int)((-1024*(i64)p->szCache)/(p->szPage+p->szExtra)); } } @@ -38103,7 +38680,7 @@ SQLITE_PRIVATE int sqlite3PcacheSize(void){ return sizeof(PCache); } ** The caller discovers how much space needs to be allocated by ** calling sqlite3PcacheSize(). */ -SQLITE_PRIVATE void sqlite3PcacheOpen( +SQLITE_PRIVATE int sqlite3PcacheOpen( int szPage, /* Size of every page */ int szExtra, /* Extra space associated with each page */ int bPurgeable, /* True if pages are on backing store */ @@ -38112,76 +38689,75 @@ SQLITE_PRIVATE void sqlite3PcacheOpen( PCache *p /* Preallocated space for the PCache */ ){ memset(p, 0, sizeof(PCache)); - p->szPage = szPage; + p->szPage = 1; p->szExtra = szExtra; p->bPurgeable = bPurgeable; p->eCreate = 2; p->xStress = xStress; p->pStress = pStress; p->szCache = 100; + return sqlite3PcacheSetPageSize(p, szPage); } /* ** Change the page size for PCache object. The caller must ensure that there ** are no outstanding page references when this function is called. */ -SQLITE_PRIVATE void sqlite3PcacheSetPageSize(PCache *pCache, int szPage){ +SQLITE_PRIVATE int sqlite3PcacheSetPageSize(PCache *pCache, int szPage){ assert( pCache->nRef==0 && pCache->pDirty==0 ); - if( pCache->pCache ){ - sqlite3GlobalConfig.pcache2.xDestroy(pCache->pCache); - pCache->pCache = 0; + if( pCache->szPage ){ + sqlite3_pcache *pNew; + pNew = sqlite3GlobalConfig.pcache2.xCreate( + szPage, pCache->szExtra + sizeof(PgHdr), pCache->bPurgeable + ); + if( pNew==0 ) return SQLITE_NOMEM; + sqlite3GlobalConfig.pcache2.xCachesize(pNew, numberOfCachePages(pCache)); + if( pCache->pCache ){ + sqlite3GlobalConfig.pcache2.xDestroy(pCache->pCache); + } + pCache->pCache = pNew; pCache->pPage1 = 0; + pCache->szPage = szPage; } - pCache->szPage = szPage; -} - -/* -** Compute the number of pages of cache requested. -*/ -static int numberOfCachePages(PCache *p){ - if( p->szCache>=0 ){ - return p->szCache; - }else{ - return (int)((-1024*(i64)p->szCache)/(p->szPage+p->szExtra)); - } + return SQLITE_OK; } /* ** Try to obtain a page from the cache. +** +** This routine returns a pointer to an sqlite3_pcache_page object if +** such an object is already in cache, or if a new one is created. +** This routine returns a NULL pointer if the object was not in cache +** and could not be created. +** +** The createFlags should be 0 to check for existing pages and should +** be 3 (not 1, but 3) to try to create a new page. +** +** If the createFlag is 0, then NULL is always returned if the page +** is not already in the cache. If createFlag is 1, then a new page +** is created only if that can be done without spilling dirty pages +** and without exceeding the cache size limit. +** +** The caller needs to invoke sqlite3PcacheFetchFinish() to properly +** initialize the sqlite3_pcache_page object and convert it into a +** PgHdr object. The sqlite3PcacheFetch() and sqlite3PcacheFetchFinish() +** routines are split this way for performance reasons. When separated +** they can both (usually) operate without having to push values to +** the stack on entry and pop them back off on exit, which saves a +** lot of pushing and popping. */ -SQLITE_PRIVATE int sqlite3PcacheFetch( +SQLITE_PRIVATE sqlite3_pcache_page *sqlite3PcacheFetch( PCache *pCache, /* Obtain the page from this cache */ Pgno pgno, /* Page number to obtain */ - int createFlag, /* If true, create page if it does not exist already */ - PgHdr **ppPage /* Write the page here */ + int createFlag /* If true, create page if it does not exist already */ ){ - sqlite3_pcache_page *pPage; - PgHdr *pPgHdr = 0; int eCreate; assert( pCache!=0 ); - assert( createFlag==1 || createFlag==0 ); + assert( pCache->pCache!=0 ); + assert( createFlag==3 || createFlag==0 ); assert( pgno>0 ); - /* If the pluggable cache (sqlite3_pcache*) has not been allocated, - ** allocate it now. - */ - if( !pCache->pCache ){ - sqlite3_pcache *p; - if( !createFlag ){ - *ppPage = 0; - return SQLITE_OK; - } - p = sqlite3GlobalConfig.pcache2.xCreate( - pCache->szPage, pCache->szExtra + sizeof(PgHdr), pCache->bPurgeable - ); - if( !p ){ - return SQLITE_NOMEM; - } - sqlite3GlobalConfig.pcache2.xCachesize(p, numberOfCachePages(pCache)); - pCache->pCache = p; - } - /* eCreate defines what to do if the page does not exist. ** 0 Do not allocate a new page. (createFlag==0) ** 1 Allocate a new page if doing so is inexpensive. @@ -38189,89 +38765,135 @@ SQLITE_PRIVATE int sqlite3PcacheFetch( ** 2 Allocate a new page even it doing so is difficult. ** (createFlag==1 AND !(bPurgeable AND pDirty) */ - eCreate = createFlag==0 ? 0 : pCache->eCreate; - assert( (createFlag*(1+(!pCache->bPurgeable||!pCache->pDirty)))==eCreate ); - pPage = sqlite3GlobalConfig.pcache2.xFetch(pCache->pCache, pgno, eCreate); - if( !pPage && eCreate==1 ){ - PgHdr *pPg; + eCreate = createFlag & pCache->eCreate; + assert( eCreate==0 || eCreate==1 || eCreate==2 ); + assert( createFlag==0 || pCache->eCreate==eCreate ); + assert( createFlag==0 || eCreate==1+(!pCache->bPurgeable||!pCache->pDirty) ); + return sqlite3GlobalConfig.pcache2.xFetch(pCache->pCache, pgno, eCreate); +} - /* Find a dirty page to write-out and recycle. First try to find a - ** page that does not require a journal-sync (one with PGHDR_NEED_SYNC - ** cleared), but if that is not possible settle for any other - ** unreferenced dirty page. - */ - expensive_assert( pcacheCheckSynced(pCache) ); - for(pPg=pCache->pSynced; - pPg && (pPg->nRef || (pPg->flags&PGHDR_NEED_SYNC)); - pPg=pPg->pDirtyPrev - ); - pCache->pSynced = pPg; - if( !pPg ){ - for(pPg=pCache->pDirtyTail; pPg && pPg->nRef; pPg=pPg->pDirtyPrev); - } - if( pPg ){ - int rc; +/* +** If the sqlite3PcacheFetch() routine is unable to allocate a new +** page because new clean pages are available for reuse and the cache +** size limit has been reached, then this routine can be invoked to +** try harder to allocate a page. This routine might invoke the stress +** callback to spill dirty pages to the journal. It will then try to +** allocate the new page and will only fail to allocate a new page on +** an OOM error. +** +** This routine should be invoked only after sqlite3PcacheFetch() fails. +*/ +SQLITE_PRIVATE int sqlite3PcacheFetchStress( + PCache *pCache, /* Obtain the page from this cache */ + Pgno pgno, /* Page number to obtain */ + sqlite3_pcache_page **ppPage /* Write result here */ +){ + PgHdr *pPg; + if( pCache->eCreate==2 ) return 0; + + + /* Find a dirty page to write-out and recycle. First try to find a + ** page that does not require a journal-sync (one with PGHDR_NEED_SYNC + ** cleared), but if that is not possible settle for any other + ** unreferenced dirty page. + */ + for(pPg=pCache->pSynced; + pPg && (pPg->nRef || (pPg->flags&PGHDR_NEED_SYNC)); + pPg=pPg->pDirtyPrev + ); + pCache->pSynced = pPg; + if( !pPg ){ + for(pPg=pCache->pDirtyTail; pPg && pPg->nRef; pPg=pPg->pDirtyPrev); + } + if( pPg ){ + int rc; #ifdef SQLITE_LOG_CACHE_SPILL - sqlite3_log(SQLITE_FULL, - "spill page %d making room for %d - cache used: %d/%d", - pPg->pgno, pgno, - sqlite3GlobalConfig.pcache.xPagecount(pCache->pCache), - numberOfCachePages(pCache)); -#endif - rc = pCache->xStress(pCache->pStress, pPg); - if( rc!=SQLITE_OK && rc!=SQLITE_BUSY ){ - return rc; - } + sqlite3_log(SQLITE_FULL, + "spill page %d making room for %d - cache used: %d/%d", + pPg->pgno, pgno, + sqlite3GlobalConfig.pcache.xPagecount(pCache->pCache), + numberOfCachePages(pCache)); +#endif + rc = pCache->xStress(pCache->pStress, pPg); + if( rc!=SQLITE_OK && rc!=SQLITE_BUSY ){ + return rc; } - - pPage = sqlite3GlobalConfig.pcache2.xFetch(pCache->pCache, pgno, 2); } + *ppPage = sqlite3GlobalConfig.pcache2.xFetch(pCache->pCache, pgno, 2); + return *ppPage==0 ? SQLITE_NOMEM : SQLITE_OK; +} - if( pPage ){ - pPgHdr = (PgHdr *)pPage->pExtra; - - if( !pPgHdr->pPage ){ - memset(pPgHdr, 0, sizeof(PgHdr)); - pPgHdr->pPage = pPage; - pPgHdr->pData = pPage->pBuf; - pPgHdr->pExtra = (void *)&pPgHdr[1]; - memset(pPgHdr->pExtra, 0, pCache->szExtra); - pPgHdr->pCache = pCache; - pPgHdr->pgno = pgno; - } - assert( pPgHdr->pCache==pCache ); - assert( pPgHdr->pgno==pgno ); - assert( pPgHdr->pData==pPage->pBuf ); - assert( pPgHdr->pExtra==(void *)&pPgHdr[1] ); - - if( 0==pPgHdr->nRef ){ - pCache->nRef++; - } - pPgHdr->nRef++; - if( pgno==1 ){ - pCache->pPage1 = pPgHdr; - } +/* +** This is a helper routine for sqlite3PcacheFetchFinish() +** +** In the uncommon case where the page being fetched has not been +** initialized, this routine is invoked to do the initialization. +** This routine is broken out into a separate function since it +** requires extra stack manipulation that can be avoided in the common +** case. +*/ +static SQLITE_NOINLINE PgHdr *pcacheFetchFinishWithInit( + PCache *pCache, /* Obtain the page from this cache */ + Pgno pgno, /* Page number obtained */ + sqlite3_pcache_page *pPage /* Page obtained by prior PcacheFetch() call */ +){ + PgHdr *pPgHdr; + assert( pPage!=0 ); + pPgHdr = (PgHdr*)pPage->pExtra; + assert( pPgHdr->pPage==0 ); + memset(pPgHdr, 0, sizeof(PgHdr)); + pPgHdr->pPage = pPage; + pPgHdr->pData = pPage->pBuf; + pPgHdr->pExtra = (void *)&pPgHdr[1]; + memset(pPgHdr->pExtra, 0, pCache->szExtra); + pPgHdr->pCache = pCache; + pPgHdr->pgno = pgno; + return sqlite3PcacheFetchFinish(pCache,pgno,pPage); +} + +/* +** This routine converts the sqlite3_pcache_page object returned by +** sqlite3PcacheFetch() into an initialized PgHdr object. This routine +** must be called after sqlite3PcacheFetch() in order to get a usable +** result. +*/ +SQLITE_PRIVATE PgHdr *sqlite3PcacheFetchFinish( + PCache *pCache, /* Obtain the page from this cache */ + Pgno pgno, /* Page number obtained */ + sqlite3_pcache_page *pPage /* Page obtained by prior PcacheFetch() call */ +){ + PgHdr *pPgHdr; + + if( pPage==0 ) return 0; + pPgHdr = (PgHdr *)pPage->pExtra; + + if( !pPgHdr->pPage ){ + return pcacheFetchFinishWithInit(pCache, pgno, pPage); } - *ppPage = pPgHdr; - return (pPgHdr==0 && eCreate) ? SQLITE_NOMEM : SQLITE_OK; + if( 0==pPgHdr->nRef ){ + pCache->nRef++; + } + pPgHdr->nRef++; + if( pgno==1 ){ + pCache->pPage1 = pPgHdr; + } + return pPgHdr; } /* ** Decrement the reference count on a page. If the page is clean and the -** reference count drops to 0, then it is made elible for recycling. +** reference count drops to 0, then it is made eligible for recycling. */ -SQLITE_PRIVATE void sqlite3PcacheRelease(PgHdr *p){ +SQLITE_PRIVATE void SQLITE_NOINLINE sqlite3PcacheRelease(PgHdr *p){ assert( p->nRef>0 ); p->nRef--; if( p->nRef==0 ){ - PCache *pCache = p->pCache; - pCache->nRef--; + p->pCache->nRef--; if( (p->flags&PGHDR_DIRTY)==0 ){ pcacheUnpin(p); - }else{ + }else if( p->pDirtyPrev!=0 ){ /* Move the page to the head of the dirty list. */ - pcacheRemoveFromDirtyList(p); - pcacheAddToDirtyList(p); + pcacheManageDirtyList(p, PCACHE_DIRTYLIST_FRONT); } } } @@ -38290,17 +38912,15 @@ SQLITE_PRIVATE void sqlite3PcacheRef(PgHdr *p){ ** page pointed to by p is invalid. */ SQLITE_PRIVATE void sqlite3PcacheDrop(PgHdr *p){ - PCache *pCache; assert( p->nRef==1 ); if( p->flags&PGHDR_DIRTY ){ - pcacheRemoveFromDirtyList(p); + pcacheManageDirtyList(p, PCACHE_DIRTYLIST_REMOVE); } - pCache = p->pCache; - pCache->nRef--; + p->pCache->nRef--; if( p->pgno==1 ){ - pCache->pPage1 = 0; + p->pCache->pPage1 = 0; } - sqlite3GlobalConfig.pcache2.xUnpin(pCache->pCache, p->pPage, 1); + sqlite3GlobalConfig.pcache2.xUnpin(p->pCache->pCache, p->pPage, 1); } /* @@ -38312,7 +38932,7 @@ SQLITE_PRIVATE void sqlite3PcacheMakeDirty(PgHdr *p){ assert( p->nRef>0 ); if( 0==(p->flags & PGHDR_DIRTY) ){ p->flags |= PGHDR_DIRTY; - pcacheAddToDirtyList( p); + pcacheManageDirtyList(p, PCACHE_DIRTYLIST_ADD); } } @@ -38322,7 +38942,7 @@ SQLITE_PRIVATE void sqlite3PcacheMakeDirty(PgHdr *p){ */ SQLITE_PRIVATE void sqlite3PcacheMakeClean(PgHdr *p){ if( (p->flags & PGHDR_DIRTY) ){ - pcacheRemoveFromDirtyList(p); + pcacheManageDirtyList(p, PCACHE_DIRTYLIST_REMOVE); p->flags &= ~(PGHDR_DIRTY|PGHDR_NEED_SYNC); if( p->nRef==0 ){ pcacheUnpin(p); @@ -38361,8 +38981,7 @@ SQLITE_PRIVATE void sqlite3PcacheMove(PgHdr *p, Pgno newPgno){ sqlite3GlobalConfig.pcache2.xRekey(pCache->pCache, p->pPage, p->pgno,newPgno); p->pgno = newPgno; if( (p->flags&PGHDR_DIRTY) && (p->flags&PGHDR_NEED_SYNC) ){ - pcacheRemoveFromDirtyList(p); - pcacheAddToDirtyList(p); + pcacheManageDirtyList(p, PCACHE_DIRTYLIST_FRONT); } } @@ -38403,9 +39022,8 @@ SQLITE_PRIVATE void sqlite3PcacheTruncate(PCache *pCache, Pgno pgno){ ** Close a cache. */ SQLITE_PRIVATE void sqlite3PcacheClose(PCache *pCache){ - if( pCache->pCache ){ - sqlite3GlobalConfig.pcache2.xDestroy(pCache->pCache); - } + assert( pCache->pCache!=0 ); + sqlite3GlobalConfig.pcache2.xDestroy(pCache->pCache); } /* @@ -38514,11 +39132,8 @@ SQLITE_PRIVATE int sqlite3PcachePageRefcount(PgHdr *p){ ** Return the total number of pages in the cache. */ SQLITE_PRIVATE int sqlite3PcachePagecount(PCache *pCache){ - int nPage = 0; - if( pCache->pCache ){ - nPage = sqlite3GlobalConfig.pcache2.xPagecount(pCache->pCache); - } - return nPage; + assert( pCache->pCache!=0 ); + return sqlite3GlobalConfig.pcache2.xPagecount(pCache->pCache); } #ifdef SQLITE_TEST @@ -38534,20 +39149,18 @@ SQLITE_PRIVATE int sqlite3PcacheGetCachesize(PCache *pCache){ ** Set the suggested cache-size value. */ SQLITE_PRIVATE void sqlite3PcacheSetCachesize(PCache *pCache, int mxPage){ + assert( pCache->pCache!=0 ); pCache->szCache = mxPage; - if( pCache->pCache ){ - sqlite3GlobalConfig.pcache2.xCachesize(pCache->pCache, - numberOfCachePages(pCache)); - } + sqlite3GlobalConfig.pcache2.xCachesize(pCache->pCache, + numberOfCachePages(pCache)); } /* ** Free up as much memory as possible from the page cache. */ SQLITE_PRIVATE void sqlite3PcacheShrink(PCache *pCache){ - if( pCache->pCache ){ - sqlite3GlobalConfig.pcache2.xShrink(pCache->pCache); - } + assert( pCache->pCache!=0 ); + sqlite3GlobalConfig.pcache2.xShrink(pCache->pCache); } #if defined(SQLITE_CHECK_PAGES) || defined(SQLITE_DEBUG) @@ -38581,7 +39194,7 @@ SQLITE_PRIVATE void sqlite3PcacheIterateDirty(PCache *pCache, void (*xIter)(PgHd ** This file implements the default page cache implementation (the ** sqlite3_pcache interface). It also contains part of the implementation ** of the SQLITE_CONFIG_PAGECACHE and sqlite3_release_memory() features. -** If the default page cache implementation is overriden, then neither of +** If the default page cache implementation is overridden, then neither of ** these two features are available. */ @@ -38592,7 +39205,7 @@ typedef struct PgFreeslot PgFreeslot; typedef struct PGroup PGroup; /* Each page cache (or PCache) belongs to a PGroup. A PGroup is a set -** of one or more PCaches that are able to recycle each others unpinned +** of one or more PCaches that are able to recycle each other's unpinned ** pages when they are under memory pressure. A PGroup is an instance of ** the following object. ** @@ -38950,7 +39563,7 @@ static int pcache1UnderMemoryPressure(PCache1 *pCache){ ** ** The PCache mutex must be held when this function is called. */ -static int pcache1ResizeHash(PCache1 *p){ +static void pcache1ResizeHash(PCache1 *p){ PgHdr1 **apNew; unsigned int nNew; unsigned int i; @@ -38982,8 +39595,6 @@ static int pcache1ResizeHash(PCache1 *p){ p->apHash = apNew; p->nHash = nNew; } - - return (p->apHash ? SQLITE_OK : SQLITE_NOMEM); } /* @@ -39118,6 +39729,9 @@ static void pcache1Shutdown(void *NotUsed){ memset(&pcache1, 0, sizeof(pcache1)); } +/* forward declaration */ +static void pcache1Destroy(sqlite3_pcache *p); + /* ** Implementation of the sqlite3_pcache.xCreate method. ** @@ -39162,12 +39776,17 @@ static sqlite3_pcache *pcache1Create(int szPage, int szExtra, int bPurgeable){ pCache->szPage = szPage; pCache->szExtra = szExtra; pCache->bPurgeable = (bPurgeable ? 1 : 0); + pcache1EnterMutex(pGroup); + pcache1ResizeHash(pCache); if( bPurgeable ){ pCache->nMin = 10; - pcache1EnterMutex(pGroup); pGroup->nMinPage += pCache->nMin; pGroup->mxPinned = pGroup->nMaxPage + 10 - pGroup->nMinPage; - pcache1LeaveMutex(pGroup); + } + pcache1LeaveMutex(pGroup); + if( pCache->nHash==0 ){ + pcache1Destroy((sqlite3_pcache*)pCache); + pCache = 0; } } return (sqlite3_pcache *)pCache; @@ -39223,6 +39842,95 @@ static int pcache1Pagecount(sqlite3_pcache *p){ return n; } + +/* +** Implement steps 3, 4, and 5 of the pcache1Fetch() algorithm described +** in the header of the pcache1Fetch() procedure. +** +** This steps are broken out into a separate procedure because they are +** usually not needed, and by avoiding the stack initialization required +** for these steps, the main pcache1Fetch() procedure can run faster. +*/ +static SQLITE_NOINLINE PgHdr1 *pcache1FetchStage2( + PCache1 *pCache, + unsigned int iKey, + int createFlag +){ + unsigned int nPinned; + PGroup *pGroup = pCache->pGroup; + PgHdr1 *pPage = 0; + + /* Step 3: Abort if createFlag is 1 but the cache is nearly full */ + assert( pCache->nPage >= pCache->nRecyclable ); + nPinned = pCache->nPage - pCache->nRecyclable; + assert( pGroup->mxPinned == pGroup->nMaxPage + 10 - pGroup->nMinPage ); + assert( pCache->n90pct == pCache->nMax*9/10 ); + if( createFlag==1 && ( + nPinned>=pGroup->mxPinned + || nPinned>=pCache->n90pct + || (pcache1UnderMemoryPressure(pCache) && pCache->nRecyclable<nPinned) + )){ + return 0; + } + + if( pCache->nPage>=pCache->nHash ) pcache1ResizeHash(pCache); + assert( pCache->nHash>0 && pCache->apHash ); + + /* Step 4. Try to recycle a page. */ + if( pCache->bPurgeable && pGroup->pLruTail && ( + (pCache->nPage+1>=pCache->nMax) + || pGroup->nCurrentPage>=pGroup->nMaxPage + || pcache1UnderMemoryPressure(pCache) + )){ + PCache1 *pOther; + pPage = pGroup->pLruTail; + assert( pPage->isPinned==0 ); + pcache1RemoveFromHash(pPage); + pcache1PinPage(pPage); + pOther = pPage->pCache; + + /* We want to verify that szPage and szExtra are the same for pOther + ** and pCache. Assert that we can verify this by comparing sums. */ + assert( (pCache->szPage & (pCache->szPage-1))==0 && pCache->szPage>=512 ); + assert( pCache->szExtra<512 ); + assert( (pOther->szPage & (pOther->szPage-1))==0 && pOther->szPage>=512 ); + assert( pOther->szExtra<512 ); + + if( pOther->szPage+pOther->szExtra != pCache->szPage+pCache->szExtra ){ + pcache1FreePage(pPage); + pPage = 0; + }else{ + pGroup->nCurrentPage -= (pOther->bPurgeable - pCache->bPurgeable); + } + } + + /* Step 5. If a usable page buffer has still not been found, + ** attempt to allocate a new one. + */ + if( !pPage ){ + if( createFlag==1 ) sqlite3BeginBenignMalloc(); + pPage = pcache1AllocPage(pCache); + if( createFlag==1 ) sqlite3EndBenignMalloc(); + } + + if( pPage ){ + unsigned int h = iKey % pCache->nHash; + pCache->nPage++; + pPage->iKey = iKey; + pPage->pNext = pCache->apHash[h]; + pPage->pCache = pCache; + pPage->pLruPrev = 0; + pPage->pLruNext = 0; + pPage->isPinned = 1; + *(void **)pPage->page.pExtra = 0; + pCache->apHash[h] = pPage; + if( iKey>pCache->iMaxKey ){ + pCache->iMaxKey = iKey; + } + } + return pPage; +} + /* ** Implementation of the sqlite3_pcache.xFetch method. ** @@ -39282,9 +39990,7 @@ static sqlite3_pcache_page *pcache1Fetch( unsigned int iKey, int createFlag ){ - unsigned int nPinned; PCache1 *pCache = (PCache1 *)p; - PGroup *pGroup; PgHdr1 *pPage = 0; assert( offsetof(PgHdr1,page)==0 ); @@ -39292,107 +39998,22 @@ static sqlite3_pcache_page *pcache1Fetch( assert( pCache->bPurgeable || pCache->nMin==0 ); assert( pCache->bPurgeable==0 || pCache->nMin==10 ); assert( pCache->nMin==0 || pCache->bPurgeable ); - pcache1EnterMutex(pGroup = pCache->pGroup); + assert( pCache->nHash>0 ); + pcache1EnterMutex(pCache->pGroup); /* Step 1: Search the hash table for an existing entry. */ - if( pCache->nHash>0 ){ - unsigned int h = iKey % pCache->nHash; - for(pPage=pCache->apHash[h]; pPage&&pPage->iKey!=iKey; pPage=pPage->pNext); - } + pPage = pCache->apHash[iKey % pCache->nHash]; + while( pPage && pPage->iKey!=iKey ){ pPage = pPage->pNext; } /* Step 2: Abort if no existing page is found and createFlag is 0 */ if( pPage ){ if( !pPage->isPinned ) pcache1PinPage(pPage); - goto fetch_out; - } - if( createFlag==0 ){ - goto fetch_out; - } - - /* The pGroup local variable will normally be initialized by the - ** pcache1EnterMutex() macro above. But if SQLITE_MUTEX_OMIT is defined, - ** then pcache1EnterMutex() is a no-op, so we have to initialize the - ** local variable here. Delaying the initialization of pGroup is an - ** optimization: The common case is to exit the module before reaching - ** this point. - */ -#ifdef SQLITE_MUTEX_OMIT - pGroup = pCache->pGroup; -#endif - - /* Step 3: Abort if createFlag is 1 but the cache is nearly full */ - assert( pCache->nPage >= pCache->nRecyclable ); - nPinned = pCache->nPage - pCache->nRecyclable; - assert( pGroup->mxPinned == pGroup->nMaxPage + 10 - pGroup->nMinPage ); - assert( pCache->n90pct == pCache->nMax*9/10 ); - if( createFlag==1 && ( - nPinned>=pGroup->mxPinned - || nPinned>=pCache->n90pct - || pcache1UnderMemoryPressure(pCache) - )){ - goto fetch_out; - } - - if( pCache->nPage>=pCache->nHash && pcache1ResizeHash(pCache) ){ - goto fetch_out; + }else if( createFlag ){ + /* Steps 3, 4, and 5 implemented by this subroutine */ + pPage = pcache1FetchStage2(pCache, iKey, createFlag); } - assert( pCache->nHash>0 && pCache->apHash ); - - /* Step 4. Try to recycle a page. */ - if( pCache->bPurgeable && pGroup->pLruTail && ( - (pCache->nPage+1>=pCache->nMax) - || pGroup->nCurrentPage>=pGroup->nMaxPage - || pcache1UnderMemoryPressure(pCache) - )){ - PCache1 *pOther; - pPage = pGroup->pLruTail; - assert( pPage->isPinned==0 ); - pcache1RemoveFromHash(pPage); - pcache1PinPage(pPage); - pOther = pPage->pCache; - - /* We want to verify that szPage and szExtra are the same for pOther - ** and pCache. Assert that we can verify this by comparing sums. */ - assert( (pCache->szPage & (pCache->szPage-1))==0 && pCache->szPage>=512 ); - assert( pCache->szExtra<512 ); - assert( (pOther->szPage & (pOther->szPage-1))==0 && pOther->szPage>=512 ); - assert( pOther->szExtra<512 ); - - if( pOther->szPage+pOther->szExtra != pCache->szPage+pCache->szExtra ){ - pcache1FreePage(pPage); - pPage = 0; - }else{ - pGroup->nCurrentPage -= (pOther->bPurgeable - pCache->bPurgeable); - } - } - - /* Step 5. If a usable page buffer has still not been found, - ** attempt to allocate a new one. - */ - if( !pPage ){ - if( createFlag==1 ) sqlite3BeginBenignMalloc(); - pPage = pcache1AllocPage(pCache); - if( createFlag==1 ) sqlite3EndBenignMalloc(); - } - - if( pPage ){ - unsigned int h = iKey % pCache->nHash; - pCache->nPage++; - pPage->iKey = iKey; - pPage->pNext = pCache->apHash[h]; - pPage->pCache = pCache; - pPage->pLruPrev = 0; - pPage->pLruNext = 0; - pPage->isPinned = 1; - *(void **)pPage->page.pExtra = 0; - pCache->apHash[h] = pPage; - } - -fetch_out: - if( pPage && iKey>pCache->iMaxKey ){ - pCache->iMaxKey = iKey; - } - pcache1LeaveMutex(pGroup); + assert( pPage==0 || pCache->iMaxKey>=iKey ); + pcache1LeaveMutex(pCache->pGroup); return (sqlite3_pcache_page*)pPage; } @@ -39651,7 +40272,7 @@ SQLITE_PRIVATE void sqlite3PcacheStats( ** No INSERTs may occurs after a SMALLEST. An assertion will fail if ** that is attempted. ** -** The cost of an INSERT is roughly constant. (Sometime new memory +** The cost of an INSERT is roughly constant. (Sometimes new memory ** has to be allocated on an INSERT.) The cost of a TEST with a new ** batch number is O(NlogN) where N is the number of elements in the RowSet. ** The cost of a TEST using the same batch number is O(logN). The cost @@ -40043,8 +40664,8 @@ SQLITE_PRIVATE int sqlite3RowSetNext(RowSet *p, i64 *pRowid){ ** Check to see if element iRowid was inserted into the rowset as ** part of any insert batch prior to iBatch. Return 1 or 0. ** -** If this is the first test of a new batch and if there exist entires -** on pRowSet->pEntry, then sort those entires into the forest at +** If this is the first test of a new batch and if there exist entries +** on pRowSet->pEntry, then sort those entries into the forest at ** pRowSet->pForest so that they can be tested. */ SQLITE_PRIVATE int sqlite3RowSetTest(RowSet *pRowSet, int iBatch, sqlite3_int64 iRowid){ @@ -40326,12 +40947,12 @@ SQLITE_PRIVATE int sqlite3WalFramesize(Wal *pWal); ** Definition: Two databases (or the same database at two points it time) ** are said to be "logically equivalent" if they give the same answer to ** all queries. Note in particular the content of freelist leaf -** pages can be changed arbitarily without effecting the logical equivalence +** pages can be changed arbitrarily without affecting the logical equivalence ** of the database. ** ** (7) At any time, if any subset, including the empty set and the total set, ** of the unsynced changes to a rollback journal are removed and the -** journal is rolled back, the resulting database file will be logical +** journal is rolled back, the resulting database file will be logically ** equivalent to the database file at the beginning of the transaction. ** ** (8) When a transaction is rolled back, the xTruncate method of the VFS @@ -40628,7 +41249,7 @@ int sqlite3PagerTrace=1; /* True to enable tracing */ ** ** The exception is when the database file is unlocked as the pager moves ** from ERROR to OPEN state. At this point there may be a hot-journal file -** in the file-system that needs to be rolled back (as part of a OPEN->SHARED +** in the file-system that needs to be rolled back (as part of an OPEN->SHARED ** transition, by the same pager or any other). If the call to xUnlock() ** fails at this point and the pager is left holding an EXCLUSIVE lock, this ** can confuse the call to xCheckReservedLock() call made later as part @@ -40711,7 +41332,7 @@ struct PagerSavepoint { #define SPILLFLAG_NOSYNC 0x04 /* Spill is ok, but do not sync */ /* -** A open page cache is an instance of struct Pager. A description of +** An open page cache is an instance of struct Pager. A description of ** some of the more important member variables follows: ** ** eState @@ -40883,7 +41504,7 @@ struct Pager { /************************************************************************** ** The following block contains those class members that change during - ** routine opertion. Class members not in this block are either fixed + ** routine operation. Class members not in this block are either fixed ** when the pager is first created or else only change when there is a ** significant mode change (such as changing the page_size, locking_mode, ** or the journal_mode). From another view, these class members describe @@ -41928,21 +42549,6 @@ static int writeMasterJournal(Pager *pPager, const char *zMaster){ } /* -** Find a page in the hash table given its page number. Return -** a pointer to the page or NULL if the requested page is not -** already in memory. -*/ -static PgHdr *pager_lookup(Pager *pPager, Pgno pgno){ - PgHdr *p = 0; /* Return value */ - - /* It is not possible for a call to PcacheFetch() with createFlag==0 to - ** fail, since no attempt to allocate dynamic memory will be made. - */ - (void)sqlite3PcacheFetch(pPager->pPCache, pgno, 0, &p); - return p; -} - -/* ** Discard the entire contents of the in-memory page-cache. */ static void pager_reset(Pager *pPager){ @@ -42206,6 +42812,14 @@ static int pager_end_transaction(Pager *pPager, int hasMaster, int bCommit){ rc = SQLITE_OK; }else{ rc = sqlite3OsTruncate(pPager->jfd, 0); + if( rc==SQLITE_OK && pPager->fullSync ){ + /* Make sure the new file size is written into the inode right away. + ** Otherwise the journal might resurrect following a power loss and + ** cause the last transaction to roll back. See + ** https://bugzilla.mozilla.org/show_bug.cgi?id=1072773 + */ + rc = sqlite3OsSync(pPager->jfd, pPager->syncFlags); + } } pPager->journalOff = 0; }else if( pPager->journalMode==PAGER_JOURNALMODE_PERSIST @@ -42234,7 +42848,7 @@ static int pager_end_transaction(Pager *pPager, int hasMaster, int bCommit){ #ifdef SQLITE_CHECK_PAGES sqlite3PcacheIterateDirty(pPager->pPCache, pager_set_pagehash); if( pPager->dbSize==0 && sqlite3PcacheRefCount(pPager->pPCache)>0 ){ - PgHdr *p = pager_lookup(pPager, 1); + PgHdr *p = sqlite3PagerLookup(pPager, 1); if( p ){ p->pageHash = 0; sqlite3PagerUnrefNotNull(p); @@ -42513,7 +43127,7 @@ static int pager_playback_one_page( if( pagerUseWal(pPager) ){ pPg = 0; }else{ - pPg = pager_lookup(pPager, pgno); + pPg = sqlite3PagerLookup(pPager, pgno); } assert( pPg || !MEMDB ); assert( pPager->eState!=PAGER_OPEN || pPg==0 ); @@ -42693,7 +43307,7 @@ static int pager_delmaster(Pager *pPager, const char *zMaster){ rc = sqlite3OsFileSize(pMaster, &nMasterJournal); if( rc!=SQLITE_OK ) goto delmaster_out; nMasterPtr = pVfs->mxPathname+1; - zMasterJournal = sqlite3Malloc((int)nMasterJournal + nMasterPtr + 1); + zMasterJournal = sqlite3Malloc(nMasterJournal + nMasterPtr + 1); if( !zMasterJournal ){ rc = SQLITE_NOMEM; goto delmaster_out; @@ -42762,7 +43376,7 @@ delmaster_out: ** If the file on disk is currently larger than nPage pages, then use the VFS ** xTruncate() method to truncate it. ** -** Or, it might might be the case that the file on disk is smaller than +** Or, it might be the case that the file on disk is smaller than ** nPage pages. Some operating system implementations can get confused if ** you try to truncate a file to some size that is larger than it ** currently is, so detect this case and write a single zero byte to @@ -42821,7 +43435,7 @@ SQLITE_PRIVATE int sqlite3SectorSize(sqlite3_file *pFile){ /* ** Set the value of the Pager.sectorSize variable for the given ** pager based on the value returned by the xSectorSize method -** of the open database file. The sector size will be used used +** of the open database file. The sector size will be used ** to determine the size and alignment of journal header and ** master journal pointers within created journal files. ** @@ -43883,11 +44497,15 @@ SQLITE_PRIVATE int sqlite3PagerSetPagesize(Pager *pPager, u32 *pPageSize, int nR if( rc==SQLITE_OK ){ pager_reset(pPager); - pPager->dbSize = (Pgno)((nByte+pageSize-1)/pageSize); - pPager->pageSize = pageSize; + rc = sqlite3PcacheSetPageSize(pPager->pPCache, pageSize); + } + if( rc==SQLITE_OK ){ sqlite3PageFree(pPager->pTmpSpace); pPager->pTmpSpace = pNew; - sqlite3PcacheSetPageSize(pPager->pPCache, pageSize); + pPager->dbSize = (Pgno)((nByte+pageSize-1)/pageSize); + pPager->pageSize = pageSize; + }else{ + sqlite3PageFree(pNew); } } @@ -44021,7 +44639,7 @@ static int pager_wait_on_lock(Pager *pPager, int locktype){ int rc; /* Return code */ /* Check that this is either a no-op (because the requested lock is - ** already held, or one of the transistions that the busy-handler + ** already held), or one of the transitions that the busy-handler ** may be invoked during, according to the comment above ** sqlite3PagerSetBusyhandler(). */ @@ -44649,8 +45267,8 @@ static int pagerStress(void *p, PgHdr *pPg){ ** a rollback or by user request, respectively. ** ** Spilling is also prohibited when in an error state since that could - ** lead to database corruption. In the current implementaton it - ** is impossible for sqlite3PcacheFetch() to be called with createFlag==1 + ** lead to database corruption. In the current implementation it + ** is impossible for sqlite3PcacheFetch() to be called with createFlag==3 ** while in the error state, hence it is impossible for this routine to ** be called in the error state. Nevertheless, we include a NEVER() ** test for the error state as a safeguard against future changes. @@ -44986,22 +45604,23 @@ act_like_temp_file: testcase( rc!=SQLITE_OK ); } - /* If an error occurred in either of the blocks above, free the - ** Pager structure and close the file. + /* Initialize the PCache object. */ + if( rc==SQLITE_OK ){ + assert( nExtra<1000 ); + nExtra = ROUND8(nExtra); + rc = sqlite3PcacheOpen(szPageDflt, nExtra, !memDb, + !memDb?pagerStress:0, (void *)pPager, pPager->pPCache); + } + + /* If an error occurred above, free the Pager structure and close the file. */ if( rc!=SQLITE_OK ){ - assert( !pPager->pTmpSpace ); sqlite3OsClose(pPager->fd); + sqlite3PageFree(pPager->pTmpSpace); sqlite3_free(pPager); return rc; } - /* Initialize the PCache object. */ - assert( nExtra<1000 ); - nExtra = ROUND8(nExtra); - sqlite3PcacheOpen(szPageDflt, nExtra, !memDb, - !memDb?pagerStress:0, (void *)pPager, pPager->pPCache); - PAGERTRACE(("OPEN %d %s\n", FILEHANDLEID(pPager->fd), pPager->zFilename)); IOTRACE(("OPEN %p %s\n", pPager, pPager->zFilename)) @@ -45188,7 +45807,7 @@ static int hasHotJournal(Pager *pPager, int *pExists){ *pExists = (first!=0); }else if( rc==SQLITE_CANTOPEN ){ /* If we cannot open the rollback journal file in order to see if - ** its has a zero header, that might be due to an I/O error, or + ** it has a zero header, that might be due to an I/O error, or ** it might be due to the race condition described above and in ** ticket #3883. Either way, assume that the journal is hot. ** This might be a false positive. But if it is, then the @@ -45550,7 +46169,6 @@ SQLITE_PRIVATE int sqlite3PagerAcquire( if( pPager->errCode!=SQLITE_OK ){ rc = pPager->errCode; }else{ - if( bMmapOk && pagerUseWal(pPager) ){ rc = sqlite3WalFindFrame(pPager->pWal, pgno, &iFrame); if( rc!=SQLITE_OK ) goto pager_acquire_err; @@ -45565,7 +46183,7 @@ SQLITE_PRIVATE int sqlite3PagerAcquire( if( rc==SQLITE_OK && pData ){ if( pPager->eState>PAGER_READER ){ - (void)sqlite3PcacheFetch(pPager->pPCache, pgno, 0, &pPg); + pPg = sqlite3PagerLookup(pPager, pgno); } if( pPg==0 ){ rc = pagerAcquireMapPage(pPager, pgno, pData, &pPg); @@ -45583,7 +46201,16 @@ SQLITE_PRIVATE int sqlite3PagerAcquire( } } - rc = sqlite3PcacheFetch(pPager->pPCache, pgno, 1, ppPage); + { + sqlite3_pcache_page *pBase; + pBase = sqlite3PcacheFetch(pPager->pPCache, pgno, 3); + if( pBase==0 ){ + rc = sqlite3PcacheFetchStress(pPager->pPCache, pgno, &pBase); + if( rc!=SQLITE_OK ) goto pager_acquire_err; + } + pPg = *ppPage = sqlite3PcacheFetchFinish(pPager->pPCache, pgno, pBase); + if( pPg==0 ) rc = SQLITE_NOMEM; + } } if( rc!=SQLITE_OK ){ @@ -45680,13 +46307,12 @@ pager_acquire_err: ** has ever happened. */ SQLITE_PRIVATE DbPage *sqlite3PagerLookup(Pager *pPager, Pgno pgno){ - PgHdr *pPg = 0; + sqlite3_pcache_page *pPage; assert( pPager!=0 ); assert( pgno!=0 ); assert( pPager->pPCache!=0 ); - assert( pPager->eState>=PAGER_READER && pPager->eState!=PAGER_ERROR ); - sqlite3PcacheFetch(pPager->pPCache, pgno, 0, &pPg); - return pPg; + pPage = sqlite3PcacheFetch(pPager->pPCache, pgno, 0); + return sqlite3PcacheFetchFinish(pPager->pPCache, pgno, pPage); } /* @@ -46023,109 +46649,120 @@ static int pager_write(PgHdr *pPg){ } /* -** Mark a data page as writeable. This routine must be called before -** making changes to a page. The caller must check the return value -** of this function and be careful not to change any page data unless -** this routine returns SQLITE_OK. +** This is a variant of sqlite3PagerWrite() that runs when the sector size +** is larger than the page size. SQLite makes the (reasonable) assumption that +** all bytes of a sector are written together by hardware. Hence, all bytes of +** a sector need to be journalled in case of a power loss in the middle of +** a write. ** -** The difference between this function and pager_write() is that this -** function also deals with the special case where 2 or more pages -** fit on a single disk sector. In this case all co-resident pages -** must have been written to the journal file before returning. -** -** If an error occurs, SQLITE_NOMEM or an IO error code is returned -** as appropriate. Otherwise, SQLITE_OK. +** Usually, the sector size is less than or equal to the page size, in which +** case pages can be individually written. This routine only runs in the exceptional +** case where the page size is smaller than the sector size. */ -SQLITE_PRIVATE int sqlite3PagerWrite(DbPage *pDbPage){ - int rc = SQLITE_OK; - - PgHdr *pPg = pDbPage; - Pager *pPager = pPg->pPager; +static SQLITE_NOINLINE int pagerWriteLargeSector(PgHdr *pPg){ + int rc = SQLITE_OK; /* Return code */ + Pgno nPageCount; /* Total number of pages in database file */ + Pgno pg1; /* First page of the sector pPg is located on. */ + int nPage = 0; /* Number of pages starting at pg1 to journal */ + int ii; /* Loop counter */ + int needSync = 0; /* True if any page has PGHDR_NEED_SYNC */ + Pager *pPager = pPg->pPager; /* The pager that owns pPg */ + Pgno nPagePerSector = (pPager->sectorSize/pPager->pageSize); - assert( (pPg->flags & PGHDR_MMAP)==0 ); - assert( pPager->eState>=PAGER_WRITER_LOCKED ); - assert( pPager->eState!=PAGER_ERROR ); - assert( assert_pager_state(pPager) ); + /* Set the doNotSpill NOSYNC bit to 1. This is because we cannot allow + ** a journal header to be written between the pages journaled by + ** this function. + */ + assert( !MEMDB ); + assert( (pPager->doNotSpill & SPILLFLAG_NOSYNC)==0 ); + pPager->doNotSpill |= SPILLFLAG_NOSYNC; - if( pPager->sectorSize > (u32)pPager->pageSize ){ - Pgno nPageCount; /* Total number of pages in database file */ - Pgno pg1; /* First page of the sector pPg is located on. */ - int nPage = 0; /* Number of pages starting at pg1 to journal */ - int ii; /* Loop counter */ - int needSync = 0; /* True if any page has PGHDR_NEED_SYNC */ - Pgno nPagePerSector = (pPager->sectorSize/pPager->pageSize); - - /* Set the doNotSpill NOSYNC bit to 1. This is because we cannot allow - ** a journal header to be written between the pages journaled by - ** this function. - */ - assert( !MEMDB ); - assert( (pPager->doNotSpill & SPILLFLAG_NOSYNC)==0 ); - pPager->doNotSpill |= SPILLFLAG_NOSYNC; + /* This trick assumes that both the page-size and sector-size are + ** an integer power of 2. It sets variable pg1 to the identifier + ** of the first page of the sector pPg is located on. + */ + pg1 = ((pPg->pgno-1) & ~(nPagePerSector-1)) + 1; - /* This trick assumes that both the page-size and sector-size are - ** an integer power of 2. It sets variable pg1 to the identifier - ** of the first page of the sector pPg is located on. - */ - pg1 = ((pPg->pgno-1) & ~(nPagePerSector-1)) + 1; + nPageCount = pPager->dbSize; + if( pPg->pgno>nPageCount ){ + nPage = (pPg->pgno - pg1)+1; + }else if( (pg1+nPagePerSector-1)>nPageCount ){ + nPage = nPageCount+1-pg1; + }else{ + nPage = nPagePerSector; + } + assert(nPage>0); + assert(pg1<=pPg->pgno); + assert((pg1+nPage)>pPg->pgno); - nPageCount = pPager->dbSize; - if( pPg->pgno>nPageCount ){ - nPage = (pPg->pgno - pg1)+1; - }else if( (pg1+nPagePerSector-1)>nPageCount ){ - nPage = nPageCount+1-pg1; - }else{ - nPage = nPagePerSector; - } - assert(nPage>0); - assert(pg1<=pPg->pgno); - assert((pg1+nPage)>pPg->pgno); - - for(ii=0; ii<nPage && rc==SQLITE_OK; ii++){ - Pgno pg = pg1+ii; - PgHdr *pPage; - if( pg==pPg->pgno || !sqlite3BitvecTest(pPager->pInJournal, pg) ){ - if( pg!=PAGER_MJ_PGNO(pPager) ){ - rc = sqlite3PagerGet(pPager, pg, &pPage); - if( rc==SQLITE_OK ){ - rc = pager_write(pPage); - if( pPage->flags&PGHDR_NEED_SYNC ){ - needSync = 1; - } - sqlite3PagerUnrefNotNull(pPage); + for(ii=0; ii<nPage && rc==SQLITE_OK; ii++){ + Pgno pg = pg1+ii; + PgHdr *pPage; + if( pg==pPg->pgno || !sqlite3BitvecTest(pPager->pInJournal, pg) ){ + if( pg!=PAGER_MJ_PGNO(pPager) ){ + rc = sqlite3PagerGet(pPager, pg, &pPage); + if( rc==SQLITE_OK ){ + rc = pager_write(pPage); + if( pPage->flags&PGHDR_NEED_SYNC ){ + needSync = 1; } + sqlite3PagerUnrefNotNull(pPage); } - }else if( (pPage = pager_lookup(pPager, pg))!=0 ){ - if( pPage->flags&PGHDR_NEED_SYNC ){ - needSync = 1; - } - sqlite3PagerUnrefNotNull(pPage); } + }else if( (pPage = sqlite3PagerLookup(pPager, pg))!=0 ){ + if( pPage->flags&PGHDR_NEED_SYNC ){ + needSync = 1; + } + sqlite3PagerUnrefNotNull(pPage); } + } - /* If the PGHDR_NEED_SYNC flag is set for any of the nPage pages - ** starting at pg1, then it needs to be set for all of them. Because - ** writing to any of these nPage pages may damage the others, the - ** journal file must contain sync()ed copies of all of them - ** before any of them can be written out to the database file. - */ - if( rc==SQLITE_OK && needSync ){ - assert( !MEMDB ); - for(ii=0; ii<nPage; ii++){ - PgHdr *pPage = pager_lookup(pPager, pg1+ii); - if( pPage ){ - pPage->flags |= PGHDR_NEED_SYNC; - sqlite3PagerUnrefNotNull(pPage); - } + /* If the PGHDR_NEED_SYNC flag is set for any of the nPage pages + ** starting at pg1, then it needs to be set for all of them. Because + ** writing to any of these nPage pages may damage the others, the + ** journal file must contain sync()ed copies of all of them + ** before any of them can be written out to the database file. + */ + if( rc==SQLITE_OK && needSync ){ + assert( !MEMDB ); + for(ii=0; ii<nPage; ii++){ + PgHdr *pPage = sqlite3PagerLookup(pPager, pg1+ii); + if( pPage ){ + pPage->flags |= PGHDR_NEED_SYNC; + sqlite3PagerUnrefNotNull(pPage); } } + } + + assert( (pPager->doNotSpill & SPILLFLAG_NOSYNC)!=0 ); + pPager->doNotSpill &= ~SPILLFLAG_NOSYNC; + return rc; +} - assert( (pPager->doNotSpill & SPILLFLAG_NOSYNC)!=0 ); - pPager->doNotSpill &= ~SPILLFLAG_NOSYNC; +/* +** Mark a data page as writeable. This routine must be called before +** making changes to a page. The caller must check the return value +** of this function and be careful not to change any page data unless +** this routine returns SQLITE_OK. +** +** The difference between this function and pager_write() is that this +** function also deals with the special case where 2 or more pages +** fit on a single disk sector. In this case all co-resident pages +** must have been written to the journal file before returning. +** +** If an error occurs, SQLITE_NOMEM or an IO error code is returned +** as appropriate. Otherwise, SQLITE_OK. +*/ +SQLITE_PRIVATE int sqlite3PagerWrite(PgHdr *pPg){ + assert( (pPg->flags & PGHDR_MMAP)==0 ); + assert( pPg->pPager->eState>=PAGER_WRITER_LOCKED ); + assert( pPg->pPager->eState!=PAGER_ERROR ); + assert( assert_pager_state(pPg->pPager) ); + if( pPg->pPager->sectorSize > (u32)pPg->pPager->pageSize ){ + return pagerWriteLargeSector(pPg); }else{ - rc = pager_write(pDbPage); + return pager_write(pPg); } - return rc; } /* @@ -47021,7 +47658,7 @@ SQLITE_PRIVATE int sqlite3PagerMovepage(Pager *pPager, DbPage *pPg, Pgno pgno, i ** for the page moved there. */ pPg->flags &= ~PGHDR_NEED_SYNC; - pPgOld = pager_lookup(pPager, pgno); + pPgOld = sqlite3PagerLookup(pPager, pgno); assert( !pPgOld || pPgOld->nRef==1 ); if( pPgOld ){ pPg->flags |= (pPgOld->flags&PGHDR_NEED_SYNC); @@ -47474,7 +48111,7 @@ SQLITE_PRIVATE int sqlite3PagerCloseWal(Pager *pPager){ ** is empty, return 0. */ SQLITE_PRIVATE int sqlite3PagerWalFramesize(Pager *pPager){ - assert( pPager->eState==PAGER_READER ); + assert( pPager->eState>=PAGER_READER ); return sqlite3WalFramesize(pPager->pWal); } #endif @@ -48058,7 +48695,7 @@ static volatile WalIndexHdr *walIndexHdr(Wal *pWal){ ** The argument to this macro must be of type u32. On a little-endian ** architecture, it returns the u32 value that results from interpreting ** the 4 bytes as a big-endian value. On a big-endian architecture, it -** returns the value that would be produced by intepreting the 4 bytes +** returns the value that would be produced by interpreting the 4 bytes ** of the input value as a little-endian integer. */ #define BYTESWAP32(x) ( \ @@ -48472,7 +49109,7 @@ static int walIndexAppend(Wal *pWal, u32 iFrame, u32 iPage){ assert( idx <= HASHTABLE_NSLOT/2 + 1 ); /* If this is the first entry to be added to this hash-table, zero the - ** entire hash table and aPgno[] array before proceding. + ** entire hash table and aPgno[] array before proceeding. */ if( idx==1 ){ int nByte = (int)((u8 *)&aHash[HASHTABLE_NSLOT] - (u8 *)&aPgno[1]); @@ -49130,7 +49767,7 @@ static int walPagesize(Wal *pWal){ ** database file. ** ** This routine uses and updates the nBackfill field of the wal-index header. -** This is the only routine tha will increase the value of nBackfill. +** This is the only routine that will increase the value of nBackfill. ** (A WAL reset or recovery will revert nBackfill to zero, but not increase ** its value.) ** @@ -49434,7 +50071,7 @@ static int walIndexTryHdr(Wal *pWal, int *pChanged){ ** wal-index from the WAL before returning. ** ** Set *pChanged to 1 if the wal-index header value in pWal->hdr is -** changed by this opertion. If pWal->hdr is unchanged, set *pChanged +** changed by this operation. If pWal->hdr is unchanged, set *pChanged ** to 0. ** ** If the wal-index header is successfully read, return SQLITE_OK. @@ -49638,7 +50275,7 @@ static int walTryBeginRead(Wal *pWal, int *pChanged, int useWal, int cnt){ ** may have been appended to the log before READ_LOCK(0) was obtained. ** When holding READ_LOCK(0), the reader ignores the entire log file, ** which implies that the database file contains a trustworthy - ** snapshoT. Since holding READ_LOCK(0) prevents a checkpoint from + ** snapshot. Since holding READ_LOCK(0) prevents a checkpoint from ** happening, this is usually correct. ** ** However, if frames have been appended to the log (or if the log @@ -50009,7 +50646,6 @@ SQLITE_PRIVATE int sqlite3WalUndo(Wal *pWal, int (*xUndo)(void *, Pgno), void *p } if( iMax!=pWal->hdr.mxFrame ) walCleanupHash(pWal); } - assert( rc==SQLITE_OK ); return rc; } @@ -50306,7 +50942,7 @@ SQLITE_PRIVATE int sqlite3WalFrames( ** ** Padding and syncing only occur if this set of frames complete a ** transaction and if PRAGMA synchronous=FULL. If synchronous==NORMAL - ** or synchonous==OFF, then no padding or syncing are needed. + ** or synchronous==OFF, then no padding or syncing are needed. ** ** If SQLITE_IOCAP_POWERSAFE_OVERWRITE is defined, then padding is not ** needed and only the sync is done. If padding is needed, then the @@ -50609,7 +51245,7 @@ SQLITE_PRIVATE int sqlite3WalFramesize(Wal *pWal){ ** May you share freely, never taking more than you give. ** ************************************************************************* -** This file implements a external (disk-based) database using BTrees. +** This file implements an external (disk-based) database using BTrees. ** For a detailed discussion of BTrees, refer to ** ** Donald E. Knuth, THE ART OF COMPUTER PROGRAMMING, Volume 3: @@ -50735,7 +51371,7 @@ SQLITE_PRIVATE int sqlite3WalFramesize(Wal *pWal){ ** ** The flags define the format of this btree page. The leaf flag means that ** this page has no children. The zerodata flag means that this page carries -** only keys and no data. The intkey flag means that the key is a integer +** only keys and no data. The intkey flag means that the key is an integer ** which is stored in the key size entry of the cell header rather than in ** the payload area. ** @@ -50872,9 +51508,10 @@ typedef struct BtLock BtLock; struct MemPage { u8 isInit; /* True if previously initialized. MUST BE FIRST! */ u8 nOverflow; /* Number of overflow cell bodies in aCell[] */ - u8 intKey; /* True if intkey flag is set */ - u8 leaf; /* True if leaf flag is set */ - u8 hasData; /* True if this page stores data */ + u8 intKey; /* True if table b-trees. False for index b-trees */ + u8 intKeyLeaf; /* True if the leaf of an intKey table */ + u8 noPayload; /* True if internal intKey page (thus w/o data) */ + u8 leaf; /* True if a leaf page */ u8 hdrOffset; /* 100 for page 1. 0 otherwise */ u8 childPtrSize; /* 0 if leaf==1. 4 if leaf==0 */ u8 max1bytePayload; /* min(maxLocal,127) */ @@ -51034,7 +51671,7 @@ struct BtShared { BtLock *pLock; /* List of locks held on this shared-btree struct */ Btree *pWriter; /* Btree with currently open write transaction */ #endif - u8 *pTmpSpace; /* BtShared.pageSize bytes of space for tmp use */ + u8 *pTmpSpace; /* Temp space sufficient to hold a single cell */ }; /* @@ -51055,12 +51692,10 @@ struct BtShared { */ typedef struct CellInfo CellInfo; struct CellInfo { - i64 nKey; /* The key for INTKEY tables, or number of bytes in key */ - u8 *pCell; /* Pointer to the start of cell content */ - u32 nData; /* Number of bytes of data */ - u32 nPayload; /* Total amount of payload */ - u16 nHeader; /* Size of the cell content header in bytes */ - u16 nLocal; /* Amount of payload held locally */ + i64 nKey; /* The key for INTKEY tables, or nPayload otherwise */ + u8 *pPayload; /* Pointer to the start of payload */ + u32 nPayload; /* Bytes of payload */ + u16 nLocal; /* Amount of payload held locally, not on overflow */ u16 iOverflow; /* Offset to overflow page number. Zero if no overflow */ u16 nSize; /* Size of the cell content on the main b-tree page */ }; @@ -51089,6 +51724,11 @@ struct CellInfo { ** ** Fields in this structure are accessed under the BtShared.mutex ** found at self->pBt->mutex. +** +** skipNext meaning: +** eState==SKIPNEXT && skipNext>0: Next sqlite3BtreeNext() is no-op. +** eState==SKIPNEXT && skipNext<0: Next sqlite3BtreePrevious() is no-op. +** eState==FAULT: Cursor fault with skipNext as error code. */ struct BtCursor { Btree *pBtree; /* The Btree to which this cursor belongs */ @@ -51101,7 +51741,8 @@ struct BtCursor { void *pKey; /* Saved key that was cursor last known position */ Pgno pgnoRoot; /* The root page of this tree */ int nOvflAlloc; /* Allocated size of aOverflow[] array */ - int skipNext; /* Prev() is noop if negative. Next() is noop if positive */ + int skipNext; /* Prev() is noop if negative. Next() is noop if positive. + ** Error code if eState==CURSOR_FAULT */ u8 curFlags; /* zero or more BTCF_* flags defined below */ u8 eState; /* One of the CURSOR_XXX constants (see below) */ u8 hints; /* As configured by CursorSetHints() */ @@ -51143,11 +51784,11 @@ struct BtCursor { ** seek the cursor to the saved position. ** ** CURSOR_FAULT: -** A unrecoverable error (an I/O error or a malloc failure) has occurred +** An unrecoverable error (an I/O error or a malloc failure) has occurred ** on a different connection that shares the BtShared cache with this ** cursor. The error has left the cache in an inconsistent state. ** Do nothing else with this cursor. Any attempt to use the cursor -** should return the error code stored in BtCursor.skip +** should return the error code stored in BtCursor.skipNext */ #define CURSOR_INVALID 0 #define CURSOR_VALID 1 @@ -51257,6 +51898,8 @@ struct IntegrityCk { int mxErr; /* Stop accumulating errors when this reaches zero */ int nErr; /* Number of messages written to zErrMsg so far */ int mallocFailed; /* A memory allocation error has occurred */ + const char *zPfx; /* Error message prefix */ + int v1, v2; /* Values for up to two %d fields in zPfx */ StrAccum errMsg; /* Accumulate the error message text here */ }; @@ -51292,7 +51935,7 @@ static void lockBtreeMutex(Btree *p){ ** Release the BtShared mutex associated with B-Tree handle p and ** clear the p->locked boolean. */ -static void unlockBtreeMutex(Btree *p){ +static void SQLITE_NOINLINE unlockBtreeMutex(Btree *p){ BtShared *pBt = p->pBt; assert( p->locked==1 ); assert( sqlite3_mutex_held(pBt->mutex) ); @@ -51303,6 +51946,9 @@ static void unlockBtreeMutex(Btree *p){ p->locked = 0; } +/* Forward reference */ +static void SQLITE_NOINLINE btreeLockCarefully(Btree *p); + /* ** Enter a mutex on the given BTree object. ** @@ -51320,8 +51966,6 @@ static void unlockBtreeMutex(Btree *p){ ** subsequent Btrees that desire a lock. */ SQLITE_PRIVATE void sqlite3BtreeEnter(Btree *p){ - Btree *pLater; - /* Some basic sanity checking on the Btree. The list of Btrees ** connected by pNext and pPrev should be in sorted order by ** Btree.pBt value. All elements of the list should belong to @@ -51346,9 +51990,20 @@ SQLITE_PRIVATE void sqlite3BtreeEnter(Btree *p){ if( !p->sharable ) return; p->wantToLock++; if( p->locked ) return; + btreeLockCarefully(p); +} + +/* This is a helper function for sqlite3BtreeLock(). By moving +** complex, but seldom used logic, out of sqlite3BtreeLock() and +** into this routine, we avoid unnecessary stack pointer changes +** and thus help the sqlite3BtreeLock() routine to run much faster +** in the common case. +*/ +static void SQLITE_NOINLINE btreeLockCarefully(Btree *p){ + Btree *pLater; /* In most cases, we should be able to acquire the lock we - ** want without having to go throught the ascending lock + ** want without having to go through the ascending lock ** procedure that follows. Just be sure not to block. */ if( sqlite3_mutex_try(p->pBt->mutex)==SQLITE_OK ){ @@ -51378,6 +52033,7 @@ SQLITE_PRIVATE void sqlite3BtreeEnter(Btree *p){ } } + /* ** Exit the recursive mutex on a Btree. */ @@ -51553,7 +52209,7 @@ SQLITE_PRIVATE void sqlite3BtreeEnterAll(sqlite3 *db){ ** May you share freely, never taking more than you give. ** ************************************************************************* -** This file implements a external (disk-based) database using BTrees. +** This file implements an external (disk-based) database using BTrees. ** See the header comment on "btreeInt.h" for additional information. ** Including a description of file format and an overview of operation. */ @@ -52030,7 +52686,9 @@ static void invalidateIncrblobCursors( BtShared *pBt = pBtree->pBt; assert( sqlite3BtreeHoldsMutex(pBtree) ); for(p=pBt->pCursor; p; p=p->pNext){ - if( (p->curFlags & BTCF_Incrblob)!=0 && (isClearTable || p->info.nKey==iRow) ){ + if( (p->curFlags & BTCF_Incrblob)!=0 + && (isClearTable || p->info.nKey==iRow) + ){ p->eState = CURSOR_INVALID; } } @@ -52149,7 +52807,7 @@ static int saveCursorPosition(BtCursor *pCur){ ** data. */ if( 0==pCur->apPage[0]->intKey ){ - void *pKey = sqlite3Malloc( (int)pCur->nKey ); + void *pKey = sqlite3Malloc( pCur->nKey ); if( pKey ){ rc = sqlite3BtreeKey(pCur, 0, (int)pCur->nKey, pKey); if( rc==SQLITE_OK ){ @@ -52172,16 +52830,42 @@ static int saveCursorPosition(BtCursor *pCur){ return rc; } +/* Forward reference */ +static int SQLITE_NOINLINE saveCursorsOnList(BtCursor*,Pgno,BtCursor*); + /* ** Save the positions of all cursors (except pExcept) that are open on -** the table with root-page iRoot. Usually, this is called just before cursor -** pExcept is used to modify the table (BtreeDelete() or BtreeInsert()). +** the table with root-page iRoot. "Saving the cursor position" means that +** the location in the btree is remembered in such a way that it can be +** moved back to the same spot after the btree has been modified. This +** routine is called just before cursor pExcept is used to modify the +** table, for example in BtreeDelete() or BtreeInsert(). +** +** Implementation note: This routine merely checks to see if any cursors +** need to be saved. It calls out to saveCursorsOnList() in the (unusual) +** event that cursors are in need to being saved. */ static int saveAllCursors(BtShared *pBt, Pgno iRoot, BtCursor *pExcept){ BtCursor *p; assert( sqlite3_mutex_held(pBt->mutex) ); assert( pExcept==0 || pExcept->pBt==pBt ); for(p=pBt->pCursor; p; p=p->pNext){ + if( p!=pExcept && (0==iRoot || p->pgnoRoot==iRoot) ) break; + } + return p ? saveCursorsOnList(p, iRoot, pExcept) : SQLITE_OK; +} + +/* This helper routine to saveAllCursors does the actual work of saving +** the cursors if and when a cursor is found that actually requires saving. +** The common case is that no cursors need to be saved, so this routine is +** broken out from its caller to avoid unnecessary stack pointer movement. +*/ +static int SQLITE_NOINLINE saveCursorsOnList( + BtCursor *p, /* The first cursor that needs saving */ + Pgno iRoot, /* Only save cursor with this iRoot. Save all if zero */ + BtCursor *pExcept /* Do not save this cursor */ +){ + do{ if( p!=pExcept && (0==iRoot || p->pgnoRoot==iRoot) ){ if( p->eState==CURSOR_VALID ){ int rc = saveCursorPosition(p); @@ -52193,7 +52877,8 @@ static int saveAllCursors(BtShared *pBt, Pgno iRoot, BtCursor *pExcept){ btreeReleaseAllCursorPages(p); } } - } + p = p->pNext; + }while( p ); return SQLITE_OK; } @@ -52278,37 +52963,48 @@ static int btreeRestoreCursorPosition(BtCursor *pCur){ SQLITE_OK) /* -** Determine whether or not a cursor has moved from the position it -** was last placed at. Cursors can move when the row they are pointing -** at is deleted out from under them. +** Determine whether or not a cursor has moved from the position where +** it was last placed, or has been invalidated for any other reason. +** Cursors can move when the row they are pointing at is deleted out +** from under them, for example. Cursor might also move if a btree +** is rebalanced. +** +** Calling this routine with a NULL cursor pointer returns false. +** +** Use the separate sqlite3BtreeCursorRestore() routine to restore a cursor +** back to where it ought to be if this routine returns true. +*/ +SQLITE_PRIVATE int sqlite3BtreeCursorHasMoved(BtCursor *pCur){ + return pCur->eState!=CURSOR_VALID; +} + +/* +** This routine restores a cursor back to its original position after it +** has been moved by some outside activity (such as a btree rebalance or +** a row having been deleted out from under the cursor). ** -** This routine returns an error code if something goes wrong. The -** integer *pHasMoved is set as follows: +** On success, the *pDifferentRow parameter is false if the cursor is left +** pointing at exactly the same row. *pDifferntRow is the row the cursor +** was pointing to has been deleted, forcing the cursor to point to some +** nearby row. ** -** 0: The cursor is unchanged -** 1: The cursor is still pointing at the same row, but the pointers -** returned by sqlite3BtreeKeyFetch() or sqlite3BtreeDataFetch() -** might now be invalid because of a balance() or other change to the -** b-tree. -** 2: The cursor is no longer pointing to the row. The row might have -** been deleted out from under the cursor. +** This routine should only be called for a cursor that just returned +** TRUE from sqlite3BtreeCursorHasMoved(). */ -SQLITE_PRIVATE int sqlite3BtreeCursorHasMoved(BtCursor *pCur, int *pHasMoved){ +SQLITE_PRIVATE int sqlite3BtreeCursorRestore(BtCursor *pCur, int *pDifferentRow){ int rc; - if( pCur->eState==CURSOR_VALID ){ - *pHasMoved = 0; - return SQLITE_OK; - } + assert( pCur!=0 ); + assert( pCur->eState!=CURSOR_VALID ); rc = restoreCursorPosition(pCur); if( rc ){ - *pHasMoved = 2; + *pDifferentRow = 1; return rc; } if( pCur->eState!=CURSOR_VALID || NEVER(pCur->skipNext!=0) ){ - *pHasMoved = 2; + *pDifferentRow = 1; }else{ - *pHasMoved = 1; + *pDifferentRow = 0; } return SQLITE_OK; } @@ -52473,47 +53169,44 @@ static u8 *findOverflowCell(MemPage *pPage, int iCell){ ** are two versions of this function. btreeParseCell() takes a ** cell index as the second argument and btreeParseCellPtr() ** takes a pointer to the body of the cell as its second argument. -** -** Within this file, the parseCell() macro can be called instead of -** btreeParseCellPtr(). Using some compilers, this will be faster. */ static void btreeParseCellPtr( MemPage *pPage, /* Page containing the cell */ u8 *pCell, /* Pointer to the cell text. */ CellInfo *pInfo /* Fill in this structure */ ){ - u16 n; /* Number bytes in cell content header */ + u8 *pIter; /* For scanning through pCell */ u32 nPayload; /* Number of bytes of cell payload */ assert( sqlite3_mutex_held(pPage->pBt->mutex) ); - - pInfo->pCell = pCell; assert( pPage->leaf==0 || pPage->leaf==1 ); - n = pPage->childPtrSize; - assert( n==4-4*pPage->leaf ); - if( pPage->intKey ){ - if( pPage->hasData ){ - assert( n==0 ); - n = getVarint32(pCell, nPayload); - }else{ - nPayload = 0; - } - n += getVarint(&pCell[n], (u64*)&pInfo->nKey); - pInfo->nData = nPayload; + if( pPage->intKeyLeaf ){ + assert( pPage->childPtrSize==0 ); + pIter = pCell + getVarint32(pCell, nPayload); + pIter += getVarint(pIter, (u64*)&pInfo->nKey); + }else if( pPage->noPayload ){ + assert( pPage->childPtrSize==4 ); + pInfo->nSize = 4 + getVarint(&pCell[4], (u64*)&pInfo->nKey); + pInfo->nPayload = 0; + pInfo->nLocal = 0; + pInfo->iOverflow = 0; + pInfo->pPayload = 0; + return; }else{ - pInfo->nData = 0; - n += getVarint32(&pCell[n], nPayload); + pIter = pCell + pPage->childPtrSize; + pIter += getVarint32(pIter, nPayload); pInfo->nKey = nPayload; } pInfo->nPayload = nPayload; - pInfo->nHeader = n; + pInfo->pPayload = pIter; testcase( nPayload==pPage->maxLocal ); testcase( nPayload==pPage->maxLocal+1 ); - if( likely(nPayload<=pPage->maxLocal) ){ + if( nPayload<=pPage->maxLocal ){ /* This is the (easy) common case where the entire payload fits ** on the local page. No overflow is required. */ - if( (pInfo->nSize = (u16)(n+nPayload))<4 ) pInfo->nSize = 4; + pInfo->nSize = nPayload + (u16)(pIter - pCell); + if( pInfo->nSize<4 ) pInfo->nSize = 4; pInfo->nLocal = (u16)nPayload; pInfo->iOverflow = 0; }else{ @@ -52540,18 +53233,16 @@ static void btreeParseCellPtr( }else{ pInfo->nLocal = (u16)minLocal; } - pInfo->iOverflow = (u16)(pInfo->nLocal + n); + pInfo->iOverflow = (u16)(&pInfo->pPayload[pInfo->nLocal] - pCell); pInfo->nSize = pInfo->iOverflow + 4; } } -#define parseCell(pPage, iCell, pInfo) \ - btreeParseCellPtr((pPage), findCell((pPage), (iCell)), (pInfo)) static void btreeParseCell( MemPage *pPage, /* Page containing the cell */ int iCell, /* The cell index. First cell is 0 */ CellInfo *pInfo /* Fill in this structure */ ){ - parseCell(pPage, iCell, pInfo); + btreeParseCellPtr(pPage, findCell(pPage, iCell), pInfo); } /* @@ -52561,8 +53252,9 @@ static void btreeParseCell( ** the space used by the cell pointer. */ static u16 cellSizePtr(MemPage *pPage, u8 *pCell){ - u8 *pIter = &pCell[pPage->childPtrSize]; - u32 nSize; + u8 *pIter = pCell + pPage->childPtrSize; /* For looping over bytes of pCell */ + u8 *pEnd; /* End mark for a varint */ + u32 nSize; /* Size value to return */ #ifdef SQLITE_DEBUG /* The value returned by this function should always be the same as @@ -52573,26 +53265,34 @@ static u16 cellSizePtr(MemPage *pPage, u8 *pCell){ btreeParseCellPtr(pPage, pCell, &debuginfo); #endif + if( pPage->noPayload ){ + pEnd = &pIter[9]; + while( (*pIter++)&0x80 && pIter<pEnd ); + assert( pPage->childPtrSize==4 ); + return (u16)(pIter - pCell); + } + nSize = *pIter; + if( nSize>=0x80 ){ + pEnd = &pIter[9]; + nSize &= 0x7f; + do{ + nSize = (nSize<<7) | (*++pIter & 0x7f); + }while( *(pIter)>=0x80 && pIter<pEnd ); + } + pIter++; if( pPage->intKey ){ - u8 *pEnd; - if( pPage->hasData ){ - pIter += getVarint32(pIter, nSize); - }else{ - nSize = 0; - } - /* pIter now points at the 64-bit integer key value, a variable length ** integer. The following block moves pIter to point at the first byte ** past the end of the key value. */ pEnd = &pIter[9]; while( (*pIter++)&0x80 && pIter<pEnd ); - }else{ - pIter += getVarint32(pIter, nSize); } - testcase( nSize==pPage->maxLocal ); testcase( nSize==pPage->maxLocal+1 ); - if( nSize>pPage->maxLocal ){ + if( nSize<=pPage->maxLocal ){ + nSize += (u32)(pIter - pCell); + if( nSize<4 ) nSize = 4; + }else{ int minLocal = pPage->minLocal; nSize = minLocal + (nSize - minLocal) % (pPage->pBt->usableSize - 4); testcase( nSize==pPage->maxLocal ); @@ -52600,16 +53300,9 @@ static u16 cellSizePtr(MemPage *pPage, u8 *pCell){ if( nSize>pPage->maxLocal ){ nSize = minLocal; } - nSize += 4; - } - nSize += (u32)(pIter - pCell); - - /* The minimum size of any cell is 4 bytes. */ - if( nSize<4 ){ - nSize = 4; + nSize += 4 + (u16)(pIter - pCell); } - - assert( nSize==debuginfo.nSize ); + assert( nSize==debuginfo.nSize || CORRUPT_DB ); return (u16)nSize; } @@ -52632,7 +53325,6 @@ static void ptrmapPutOvflPtr(MemPage *pPage, u8 *pCell, int *pRC){ if( *pRC ) return; assert( pCell!=0 ); btreeParseCellPtr(pPage, pCell, &info); - assert( (info.nData+(pPage->intKey?0:info.nKey))==info.nPayload ); if( info.iOverflow ){ Pgno ovfl = get4byte(&pCell[info.iOverflow]); ptrmapPut(pPage->pBt, ovfl, PTRMAP_OVERFLOW1, pPage->pgno, pRC); @@ -52649,7 +53341,7 @@ static void ptrmapPutOvflPtr(MemPage *pPage, u8 *pCell, int *pRC){ */ static int defragmentPage(MemPage *pPage){ int i; /* Loop counter */ - int pc; /* Address of a i-th cell */ + int pc; /* Address of the i-th cell */ int hdr; /* Offset to the page header */ int size; /* Size of a cell */ int usableSize; /* Number of usable bytes on a page */ @@ -52740,7 +53432,6 @@ static int defragmentPage(MemPage *pPage){ static int allocateSpace(MemPage *pPage, int nByte, int *pIdx){ const int hdr = pPage->hdrOffset; /* Local cache of pPage->hdrOffset */ u8 * const data = pPage->aData; /* Local cache of pPage->aData */ - int nFrag; /* Number of fragmented bytes on pPage */ int top; /* First byte of cell content area */ int gap; /* First byte of gap between cell pointers and cell content */ int rc; /* Integer return code */ @@ -52755,25 +53446,26 @@ static int allocateSpace(MemPage *pPage, int nByte, int *pIdx){ usableSize = pPage->pBt->usableSize; assert( nByte < usableSize-8 ); - nFrag = data[hdr+7]; assert( pPage->cellOffset == hdr + 12 - 4*pPage->leaf ); gap = pPage->cellOffset + 2*pPage->nCell; - top = get2byteNotZero(&data[hdr+5]); - if( gap>top ) return SQLITE_CORRUPT_BKPT; + assert( gap<=65536 ); + top = get2byte(&data[hdr+5]); + if( gap>top ){ + if( top==0 ){ + top = 65536; + }else{ + return SQLITE_CORRUPT_BKPT; + } + } + + /* If there is enough space between gap and top for one more cell pointer + ** array entry offset, and if the freelist is not empty, then search the + ** freelist looking for a free slot big enough to satisfy the request. + */ testcase( gap+2==top ); testcase( gap+1==top ); testcase( gap==top ); - - if( nFrag>=60 ){ - /* Always defragment highly fragmented pages */ - rc = defragmentPage(pPage); - if( rc ) return rc; - top = get2byteNotZero(&data[hdr+5]); - }else if( gap+2<=top ){ - /* Search the freelist looking for a free slot big enough to satisfy - ** the request. The allocation is made from the first free slot in - ** the list that is large enough to accommodate it. - */ + if( gap+2<=top && (data[hdr+1] || data[hdr+2]) ){ int pc, addr; for(addr=hdr+1; (pc = get2byte(&data[addr]))>0; addr=pc){ int size; /* Size of the free slot */ @@ -52786,10 +53478,11 @@ static int allocateSpace(MemPage *pPage, int nByte, int *pIdx){ testcase( x==4 ); testcase( x==3 ); if( x<4 ){ + if( data[hdr+7]>=60 ) goto defragment_page; /* Remove the slot from the free-list. Update the number of ** fragmented bytes within the page. */ memcpy(&data[addr], &data[pc], 2); - data[hdr+7] = (u8)(nFrag + x); + data[hdr+7] += (u8)x; }else if( size+pc > usableSize ){ return SQLITE_CORRUPT_BKPT; }else{ @@ -52803,11 +53496,13 @@ static int allocateSpace(MemPage *pPage, int nByte, int *pIdx){ } } - /* Check to make sure there is enough space in the gap to satisfy - ** the allocation. If not, defragment. + /* The request could not be fulfilled using a freelist slot. Check + ** to see if defragmentation is necessary. */ testcase( gap+2+nByte==top ); if( gap+2+nByte>top ){ +defragment_page: + testcase( pPage->nCell==0 ); rc = defragmentPage(pPage); if( rc ) return rc; top = get2byteNotZero(&data[hdr+5]); @@ -52830,90 +53525,100 @@ static int allocateSpace(MemPage *pPage, int nByte, int *pIdx){ /* ** Return a section of the pPage->aData to the freelist. -** The first byte of the new free block is pPage->aDisk[start] -** and the size of the block is "size" bytes. -** -** Most of the effort here is involved in coalesing adjacent -** free blocks into a single big free block. -*/ -static int freeSpace(MemPage *pPage, int start, int size){ - int addr, pbegin, hdr; - int iLast; /* Largest possible freeblock offset */ - unsigned char *data = pPage->aData; +** The first byte of the new free block is pPage->aData[iStart] +** and the size of the block is iSize bytes. +** +** Adjacent freeblocks are coalesced. +** +** Note that even though the freeblock list was checked by btreeInitPage(), +** that routine will not detect overlap between cells or freeblocks. Nor +** does it detect cells or freeblocks that encrouch into the reserved bytes +** at the end of the page. So do additional corruption checks inside this +** routine and return SQLITE_CORRUPT if any problems are found. +*/ +static int freeSpace(MemPage *pPage, u16 iStart, u16 iSize){ + u16 iPtr; /* Address of ptr to next freeblock */ + u16 iFreeBlk; /* Address of the next freeblock */ + u8 hdr; /* Page header size. 0 or 100 */ + u8 nFrag = 0; /* Reduction in fragmentation */ + u16 iOrigSize = iSize; /* Original value of iSize */ + u32 iLast = pPage->pBt->usableSize-4; /* Largest possible freeblock offset */ + u32 iEnd = iStart + iSize; /* First byte past the iStart buffer */ + unsigned char *data = pPage->aData; /* Page content */ assert( pPage->pBt!=0 ); assert( sqlite3PagerIswriteable(pPage->pDbPage) ); - assert( start>=pPage->hdrOffset+6+pPage->childPtrSize ); - assert( (start + size) <= (int)pPage->pBt->usableSize ); + assert( iStart>=pPage->hdrOffset+6+pPage->childPtrSize ); + assert( iEnd <= pPage->pBt->usableSize ); assert( sqlite3_mutex_held(pPage->pBt->mutex) ); - assert( size>=0 ); /* Minimum cell size is 4 */ + assert( iSize>=4 ); /* Minimum cell size is 4 */ + assert( iStart<=iLast ); + /* Overwrite deleted information with zeros when the secure_delete + ** option is enabled */ if( pPage->pBt->btsFlags & BTS_SECURE_DELETE ){ - /* Overwrite deleted information with zeros when the secure_delete - ** option is enabled */ - memset(&data[start], 0, size); + memset(&data[iStart], 0, iSize); } - /* Add the space back into the linked list of freeblocks. Note that - ** even though the freeblock list was checked by btreeInitPage(), - ** btreeInitPage() did not detect overlapping cells or - ** freeblocks that overlapped cells. Nor does it detect when the - ** cell content area exceeds the value in the page header. If these - ** situations arise, then subsequent insert operations might corrupt - ** the freelist. So we do need to check for corruption while scanning - ** the freelist. + /* The list of freeblocks must be in ascending order. Find the + ** spot on the list where iStart should be inserted. */ hdr = pPage->hdrOffset; - addr = hdr + 1; - iLast = pPage->pBt->usableSize - 4; - assert( start<=iLast ); - while( (pbegin = get2byte(&data[addr]))<start && pbegin>0 ){ - if( pbegin<addr+4 ){ - return SQLITE_CORRUPT_BKPT; + iPtr = hdr + 1; + if( data[iPtr+1]==0 && data[iPtr]==0 ){ + iFreeBlk = 0; /* Shortcut for the case when the freelist is empty */ + }else{ + while( (iFreeBlk = get2byte(&data[iPtr]))>0 && iFreeBlk<iStart ){ + if( iFreeBlk<iPtr+4 ) return SQLITE_CORRUPT_BKPT; + iPtr = iFreeBlk; } - addr = pbegin; - } - if( pbegin>iLast ){ - return SQLITE_CORRUPT_BKPT; - } - assert( pbegin>addr || pbegin==0 ); - put2byte(&data[addr], start); - put2byte(&data[start], pbegin); - put2byte(&data[start+2], size); - pPage->nFree = pPage->nFree + (u16)size; - - /* Coalesce adjacent free blocks */ - addr = hdr + 1; - while( (pbegin = get2byte(&data[addr]))>0 ){ - int pnext, psize, x; - assert( pbegin>addr ); - assert( pbegin <= (int)pPage->pBt->usableSize-4 ); - pnext = get2byte(&data[pbegin]); - psize = get2byte(&data[pbegin+2]); - if( pbegin + psize + 3 >= pnext && pnext>0 ){ - int frag = pnext - (pbegin+psize); - if( (frag<0) || (frag>(int)data[hdr+7]) ){ - return SQLITE_CORRUPT_BKPT; - } - data[hdr+7] -= (u8)frag; - x = get2byte(&data[pnext]); - put2byte(&data[pbegin], x); - x = pnext + get2byte(&data[pnext+2]) - pbegin; - put2byte(&data[pbegin+2], x); - }else{ - addr = pbegin; + if( iFreeBlk>iLast ) return SQLITE_CORRUPT_BKPT; + assert( iFreeBlk>iPtr || iFreeBlk==0 ); + + /* At this point: + ** iFreeBlk: First freeblock after iStart, or zero if none + ** iPtr: The address of a pointer iFreeBlk + ** + ** Check to see if iFreeBlk should be coalesced onto the end of iStart. + */ + if( iFreeBlk && iEnd+3>=iFreeBlk ){ + nFrag = iFreeBlk - iEnd; + if( iEnd>iFreeBlk ) return SQLITE_CORRUPT_BKPT; + iEnd = iFreeBlk + get2byte(&data[iFreeBlk+2]); + iSize = iEnd - iStart; + iFreeBlk = get2byte(&data[iFreeBlk]); } - } - - /* If the cell content area begins with a freeblock, remove it. */ - if( data[hdr+1]==data[hdr+5] && data[hdr+2]==data[hdr+6] ){ - int top; - pbegin = get2byte(&data[hdr+1]); - memcpy(&data[hdr+1], &data[pbegin], 2); - top = get2byte(&data[hdr+5]) + get2byte(&data[pbegin+2]); - put2byte(&data[hdr+5], top); - } - assert( sqlite3PagerIswriteable(pPage->pDbPage) ); + + /* If iPtr is another freeblock (that is, if iPtr is not the freelist + ** pointer in the page header) then check to see if iStart should be + ** coalesced onto the end of iPtr. + */ + if( iPtr>hdr+1 ){ + int iPtrEnd = iPtr + get2byte(&data[iPtr+2]); + if( iPtrEnd+3>=iStart ){ + if( iPtrEnd>iStart ) return SQLITE_CORRUPT_BKPT; + nFrag += iStart - iPtrEnd; + iSize = iEnd - iPtr; + iStart = iPtr; + } + } + if( nFrag>data[hdr+7] ) return SQLITE_CORRUPT_BKPT; + data[hdr+7] -= nFrag; + } + if( iStart==get2byte(&data[hdr+5]) ){ + /* The new freeblock is at the beginning of the cell content area, + ** so just extend the cell content area rather than create another + ** freelist entry */ + if( iPtr!=hdr+1 ) return SQLITE_CORRUPT_BKPT; + put2byte(&data[hdr+1], iFreeBlk); + put2byte(&data[hdr+5], iEnd); + }else{ + /* Insert the new freeblock into the freelist */ + put2byte(&data[iPtr], iStart); + put2byte(&data[iStart], iFreeBlk); + put2byte(&data[iStart+2], iSize); + } + pPage->nFree += iOrigSize; return SQLITE_OK; } @@ -52940,12 +53645,14 @@ static int decodeFlags(MemPage *pPage, int flagByte){ pBt = pPage->pBt; if( flagByte==(PTF_LEAFDATA | PTF_INTKEY) ){ pPage->intKey = 1; - pPage->hasData = pPage->leaf; + pPage->intKeyLeaf = pPage->leaf; + pPage->noPayload = !pPage->leaf; pPage->maxLocal = pBt->maxLeaf; pPage->minLocal = pBt->minLeaf; }else if( flagByte==PTF_ZERODATA ){ pPage->intKey = 0; - pPage->hasData = 0; + pPage->intKeyLeaf = 0; + pPage->noPayload = 0; pPage->maxLocal = pBt->maxLocal; pPage->minLocal = pBt->minLocal; }else{ @@ -53600,7 +54307,8 @@ static int removeFromSharingList(BtShared *pBt){ /* ** Make sure pBt->pTmpSpace points to an allocation of -** MX_CELL_SIZE(pBt) bytes. +** MX_CELL_SIZE(pBt) bytes with a 4-byte prefix for a left-child +** pointer. */ static void allocateTempSpace(BtShared *pBt){ if( !pBt->pTmpSpace ){ @@ -53615,8 +54323,16 @@ static void allocateTempSpace(BtShared *pBt){ ** it into a database page. This is not actually a problem, but it ** does cause a valgrind error when the 1 or 2 bytes of unitialized ** data is passed to system call write(). So to avoid this error, - ** zero the first 4 bytes of temp space here. */ - if( pBt->pTmpSpace ) memset(pBt->pTmpSpace, 0, 4); + ** zero the first 4 bytes of temp space here. + ** + ** Also: Provide four bytes of initialized space before the + ** beginning of pTmpSpace as an area available to prepend the + ** left-child pointer to the beginning of a cell. + */ + if( pBt->pTmpSpace ){ + memset(pBt->pTmpSpace, 0, 8); + pBt->pTmpSpace += 4; + } } } @@ -53624,8 +54340,11 @@ static void allocateTempSpace(BtShared *pBt){ ** Free the pBt->pTmpSpace allocation */ static void freeTempSpace(BtShared *pBt){ - sqlite3PageFree( pBt->pTmpSpace); - pBt->pTmpSpace = 0; + if( pBt->pTmpSpace ){ + pBt->pTmpSpace -= 4; + sqlite3PageFree(pBt->pTmpSpace); + pBt->pTmpSpace = 0; + } } /* @@ -53651,7 +54370,7 @@ SQLITE_PRIVATE int sqlite3BtreeClose(Btree *p){ ** The call to sqlite3BtreeRollback() drops any table-locks held by ** this handle. */ - sqlite3BtreeRollback(p, SQLITE_OK); + sqlite3BtreeRollback(p, SQLITE_OK, 0); sqlite3BtreeLeave(p); /* If there are still other outstanding references to the shared-btree @@ -54093,7 +54812,7 @@ page1_init_failed: ** false then all cursors are counted. ** ** For the purposes of this routine, a cursor is any cursor that -** is capable of reading or writing to the databse. Cursors that +** is capable of reading or writing to the database. Cursors that ** have been tripped into the CURSOR_FAULT state are not counted. */ static int countValidCursors(BtShared *pBt, int wrOnly){ @@ -54119,11 +54838,11 @@ static void unlockBtreeIfUnused(BtShared *pBt){ assert( sqlite3_mutex_held(pBt->mutex) ); assert( countValidCursors(pBt,0)==0 || pBt->inTransaction>TRANS_NONE ); if( pBt->inTransaction==TRANS_NONE && pBt->pPage1!=0 ){ - assert( pBt->pPage1->aData ); + MemPage *pPage1 = pBt->pPage1; + assert( pPage1->aData ); assert( sqlite3PagerRefcount(pBt->pPager)==1 ); - assert( pBt->pPage1->aData ); - releasePage(pBt->pPage1); pBt->pPage1 = 0; + releasePage(pPage1); } } @@ -54557,7 +55276,7 @@ static int allocateBtreePage(BtShared *, MemPage **, Pgno *, Pgno, u8); ** calling this function again), return SQLITE_DONE. Or, if an error ** occurs, return some other error code. ** -** More specificly, this function attempts to re-organize the database so +** More specifically, this function attempts to re-organize the database so ** that the last page of the file currently in use is no longer in use. ** ** Parameter nFin is the number of pages that this database would contain @@ -54565,7 +55284,7 @@ static int allocateBtreePage(BtShared *, MemPage **, Pgno *, Pgno, u8); ** ** If the bCommit parameter is non-zero, this function assumes that the ** caller will keep calling incrVacuumStep() until it returns SQLITE_DONE -** or an error. bCommit is passed true for an auto-vacuum-on-commmit +** or an error. bCommit is passed true for an auto-vacuum-on-commit ** operation, or false for an incremental vacuum. */ static int incrVacuumStep(BtShared *pBt, Pgno nFin, Pgno iLastPg, int bCommit){ @@ -54944,60 +55663,91 @@ SQLITE_PRIVATE int sqlite3BtreeCommit(Btree *p){ /* ** This routine sets the state to CURSOR_FAULT and the error -** code to errCode for every cursor on BtShared that pBtree -** references. -** -** Every cursor is tripped, including cursors that belong -** to other database connections that happen to be sharing -** the cache with pBtree. -** -** This routine gets called when a rollback occurs. -** All cursors using the same cache must be tripped -** to prevent them from trying to use the btree after -** the rollback. The rollback may have deleted tables -** or moved root pages, so it is not sufficient to -** save the state of the cursor. The cursor must be -** invalidated. -*/ -SQLITE_PRIVATE void sqlite3BtreeTripAllCursors(Btree *pBtree, int errCode){ +** code to errCode for every cursor on any BtShared that pBtree +** references. Or if the writeOnly flag is set to 1, then only +** trip write cursors and leave read cursors unchanged. +** +** Every cursor is a candidate to be tripped, including cursors +** that belong to other database connections that happen to be +** sharing the cache with pBtree. +** +** This routine gets called when a rollback occurs. If the writeOnly +** flag is true, then only write-cursors need be tripped - read-only +** cursors save their current positions so that they may continue +** following the rollback. Or, if writeOnly is false, all cursors are +** tripped. In general, writeOnly is false if the transaction being +** rolled back modified the database schema. In this case b-tree root +** pages may be moved or deleted from the database altogether, making +** it unsafe for read cursors to continue. +** +** If the writeOnly flag is true and an error is encountered while +** saving the current position of a read-only cursor, all cursors, +** including all read-cursors are tripped. +** +** SQLITE_OK is returned if successful, or if an error occurs while +** saving a cursor position, an SQLite error code. +*/ +SQLITE_PRIVATE int sqlite3BtreeTripAllCursors(Btree *pBtree, int errCode, int writeOnly){ BtCursor *p; - if( pBtree==0 ) return; - sqlite3BtreeEnter(pBtree); - for(p=pBtree->pBt->pCursor; p; p=p->pNext){ - int i; - sqlite3BtreeClearCursor(p); - p->eState = CURSOR_FAULT; - p->skipNext = errCode; - for(i=0; i<=p->iPage; i++){ - releasePage(p->apPage[i]); - p->apPage[i] = 0; + int rc = SQLITE_OK; + + assert( (writeOnly==0 || writeOnly==1) && BTCF_WriteFlag==1 ); + if( pBtree ){ + sqlite3BtreeEnter(pBtree); + for(p=pBtree->pBt->pCursor; p; p=p->pNext){ + int i; + if( writeOnly && (p->curFlags & BTCF_WriteFlag)==0 ){ + if( p->eState==CURSOR_VALID ){ + rc = saveCursorPosition(p); + if( rc!=SQLITE_OK ){ + (void)sqlite3BtreeTripAllCursors(pBtree, rc, 0); + break; + } + } + }else{ + sqlite3BtreeClearCursor(p); + p->eState = CURSOR_FAULT; + p->skipNext = errCode; + } + for(i=0; i<=p->iPage; i++){ + releasePage(p->apPage[i]); + p->apPage[i] = 0; + } } + sqlite3BtreeLeave(pBtree); } - sqlite3BtreeLeave(pBtree); + return rc; } /* -** Rollback the transaction in progress. All cursors will be -** invalided by this operation. Any attempt to use a cursor -** that was open at the beginning of this operation will result -** in an error. +** Rollback the transaction in progress. +** +** If tripCode is not SQLITE_OK then cursors will be invalidated (tripped). +** Only write cursors are tripped if writeOnly is true but all cursors are +** tripped if writeOnly is false. Any attempt to use +** a tripped cursor will result in an error. ** ** This will release the write lock on the database file. If there ** are no active cursors, it also releases the read lock. */ -SQLITE_PRIVATE int sqlite3BtreeRollback(Btree *p, int tripCode){ +SQLITE_PRIVATE int sqlite3BtreeRollback(Btree *p, int tripCode, int writeOnly){ int rc; BtShared *pBt = p->pBt; MemPage *pPage1; + assert( writeOnly==1 || writeOnly==0 ); + assert( tripCode==SQLITE_ABORT_ROLLBACK || tripCode==SQLITE_OK ); sqlite3BtreeEnter(p); if( tripCode==SQLITE_OK ){ rc = tripCode = saveAllCursors(pBt, 0, 0); + if( rc ) writeOnly = 0; }else{ rc = SQLITE_OK; } if( tripCode ){ - sqlite3BtreeTripAllCursors(p, tripCode); + int rc2 = sqlite3BtreeTripAllCursors(p, tripCode, writeOnly); + assert( rc==SQLITE_OK || (writeOnly==0 && rc2==SQLITE_OK) ); + if( rc2!=SQLITE_OK ) rc = rc2; } btreeIntegrity(p); @@ -55032,7 +55782,7 @@ SQLITE_PRIVATE int sqlite3BtreeRollback(Btree *p, int tripCode){ } /* -** Start a statement subtransaction. The subtransaction can can be rolled +** Start a statement subtransaction. The subtransaction can be rolled ** back independently of the main transaction. You must start a transaction ** before starting a subtransaction. The subtransaction is ended automatically ** if the main transaction commits or rolls back. @@ -55164,6 +55914,10 @@ static int btreeCursor( if( NEVER(wrFlag && (pBt->btsFlags & BTS_READ_ONLY)!=0) ){ return SQLITE_READONLY; } + if( wrFlag ){ + allocateTempSpace(pBt); + if( pBt->pTmpSpace==0 ) return SQLITE_NOMEM; + } if( iTable==1 && btreePagecount(pBt)==0 ){ assert( wrFlag==0 ); iTable = 0; @@ -55266,7 +56020,7 @@ SQLITE_PRIVATE int sqlite3BtreeCloseCursor(BtCursor *pCur){ ** compiler to crash when getCellInfo() is implemented as a macro. ** But there is a measureable speed advantage to using the macro on gcc ** (when less compiler optimizations like -Os or -O0 are used and the -** compiler is not doing agressive inlining.) So we use a real function +** compiler is not doing aggressive inlining.) So we use a real function ** for MSVC and a macro for everything else. Ticket #2457. */ #ifndef NDEBUG @@ -55328,13 +56082,9 @@ SQLITE_PRIVATE int sqlite3BtreeCursorIsValid(BtCursor *pCur){ */ SQLITE_PRIVATE int sqlite3BtreeKeySize(BtCursor *pCur, i64 *pSize){ assert( cursorHoldsMutex(pCur) ); - assert( pCur->eState==CURSOR_INVALID || pCur->eState==CURSOR_VALID ); - if( pCur->eState!=CURSOR_VALID ){ - *pSize = 0; - }else{ - getCellInfo(pCur); - *pSize = pCur->info.nKey; - } + assert( pCur->eState==CURSOR_VALID ); + getCellInfo(pCur); + *pSize = pCur->info.nKey; return SQLITE_OK; } @@ -55353,8 +56103,9 @@ SQLITE_PRIVATE int sqlite3BtreeKeySize(BtCursor *pCur, i64 *pSize){ SQLITE_PRIVATE int sqlite3BtreeDataSize(BtCursor *pCur, u32 *pSize){ assert( cursorHoldsMutex(pCur) ); assert( pCur->eState==CURSOR_VALID ); + assert( pCur->apPage[pCur->iPage]->intKeyLeaf==1 ); getCellInfo(pCur); - *pSize = pCur->info.nData; + *pSize = pCur->info.nPayload; return SQLITE_OK; } @@ -55483,7 +56234,7 @@ static int copyPayload( ** ** If the current cursor entry uses one or more overflow pages and the ** eOp argument is not 2, this function may allocate space for and lazily -** popluates the overflow page-list cache array (BtCursor.aOverflow). +** populates the overflow page-list cache array (BtCursor.aOverflow). ** Subsequent calls use this cache to make seeking to the supplied offset ** more efficient. ** @@ -55505,30 +56256,28 @@ static int accessPayload( ){ unsigned char *aPayload; int rc = SQLITE_OK; - u32 nKey; int iIdx = 0; MemPage *pPage = pCur->apPage[pCur->iPage]; /* Btree page of current entry */ BtShared *pBt = pCur->pBt; /* Btree this cursor belongs to */ #ifdef SQLITE_DIRECT_OVERFLOW_READ - int bEnd; /* True if reading to end of data */ + unsigned char * const pBufStart = pBuf; + int bEnd; /* True if reading to end of data */ #endif assert( pPage ); assert( pCur->eState==CURSOR_VALID ); assert( pCur->aiIdx[pCur->iPage]<pPage->nCell ); assert( cursorHoldsMutex(pCur) ); - assert( eOp!=2 || offset==0 ); /* Always start from beginning for eOp==2 */ + assert( eOp!=2 || offset==0 ); /* Always start from beginning for eOp==2 */ getCellInfo(pCur); - aPayload = pCur->info.pCell + pCur->info.nHeader; - nKey = (pPage->intKey ? 0 : (int)pCur->info.nKey); + aPayload = pCur->info.pPayload; #ifdef SQLITE_DIRECT_OVERFLOW_READ - bEnd = (offset+amt==nKey+pCur->info.nData); + bEnd = offset+amt==pCur->info.nPayload; #endif + assert( offset+amt <= pCur->info.nPayload ); - if( NEVER(offset+amt > nKey+pCur->info.nData) - || &aPayload[pCur->info.nLocal] > &pPage->aData[pBt->usableSize] - ){ + if( &aPayload[pCur->info.nLocal] > &pPage->aData[pBt->usableSize] ){ /* Trying to read or write past the end of the data is an error */ return SQLITE_CORRUPT_BKPT; } @@ -55584,7 +56333,9 @@ static int accessPayload( ** entry for the first required overflow page is valid, skip ** directly to it. */ - if( (pCur->curFlags & BTCF_ValidOvfl)!=0 && pCur->aOverflow[offset/ovflSize] ){ + if( (pCur->curFlags & BTCF_ValidOvfl)!=0 + && pCur->aOverflow[offset/ovflSize] + ){ iIdx = (offset/ovflSize); nextPage = pCur->aOverflow[iIdx]; offset = (offset%ovflSize); @@ -55637,6 +56388,7 @@ static int accessPayload( ** 4) there is no open write-transaction, and ** 5) the database is not a WAL database, ** 6) all data from the page is being read. + ** 7) at least 4 bytes have already been read into the output buffer ** ** then data can be read directly from the database file into the ** output buffer, bypassing the page-cache altogether. This speeds @@ -55648,9 +56400,11 @@ static int accessPayload( && pBt->inTransaction==TRANS_READ /* (4) */ && (fd = sqlite3PagerFile(pBt->pPager))->pMethods /* (3) */ && pBt->pPage1->aData[19]==0x01 /* (5) */ + && &pBuf[-4]>=pBufStart /* (7) */ ){ u8 aSave[4]; u8 *aWrite = &pBuf[-4]; + assert( aWrite>=pBufStart ); /* hence (7) */ memcpy(aSave, aWrite, 4); rc = sqlite3OsRead(fd, aWrite, a+4, (i64)pBt->pageSize*(nextPage-1)); nextPage = get4byte(aWrite); @@ -55685,7 +56439,7 @@ static int accessPayload( /* ** Read part of the key associated with cursor pCur. Exactly -** "amt" bytes will be transfered into pBuf[]. The transfer +** "amt" bytes will be transferred into pBuf[]. The transfer ** begins at "offset". ** ** The caller must ensure that pCur is pointing to a valid row @@ -55762,7 +56516,7 @@ static const void *fetchPayload( assert( pCur->aiIdx[pCur->iPage]<pCur->apPage[pCur->iPage]->nCell ); assert( pCur->info.nSize>0 ); *pAmt = pCur->info.nLocal; - return (void*)(pCur->info.pCell + pCur->info.nHeader); + return (void*)pCur->info.pPayload; } @@ -56005,17 +56759,16 @@ static int moveToRightmost(BtCursor *pCur){ assert( cursorHoldsMutex(pCur) ); assert( pCur->eState==CURSOR_VALID ); - while( rc==SQLITE_OK && !(pPage = pCur->apPage[pCur->iPage])->leaf ){ + while( !(pPage = pCur->apPage[pCur->iPage])->leaf ){ pgno = get4byte(&pPage->aData[pPage->hdrOffset+8]); pCur->aiIdx[pCur->iPage] = pPage->nCell; rc = moveToChild(pCur, pgno); + if( rc ) return rc; } - if( rc==SQLITE_OK ){ - pCur->aiIdx[pCur->iPage] = pPage->nCell-1; - pCur->info.nSize = 0; - pCur->curFlags &= ~BTCF_ValidNKey; - } - return rc; + pCur->aiIdx[pCur->iPage] = pPage->nCell-1; + assert( pCur->info.nSize==0 ); + assert( (pCur->curFlags & BTCF_ValidNKey)==0 ); + return SQLITE_OK; } /* Move the cursor to the first entry in the table. Return SQLITE_OK @@ -56146,7 +56899,7 @@ SQLITE_PRIVATE int sqlite3BtreeMovetoUnpacked( if( pIdxKey ){ xRecordCompare = sqlite3VdbeFindCompare(pIdxKey); - pIdxKey->isCorrupt = 0; + pIdxKey->errCode = 0; assert( pIdxKey->default_rc==1 || pIdxKey->default_rc==0 || pIdxKey->default_rc==-1 @@ -56191,7 +56944,7 @@ SQLITE_PRIVATE int sqlite3BtreeMovetoUnpacked( for(;;){ i64 nCellKey; pCell = findCell(pPage, idx) + pPage->childPtrSize; - if( pPage->hasData ){ + if( pPage->intKeyLeaf ){ while( 0x80 <= *(pCell++) ){ if( pCell>=pPage->aDataEnd ) return SQLITE_CORRUPT_BKPT; } @@ -56239,14 +56992,14 @@ SQLITE_PRIVATE int sqlite3BtreeMovetoUnpacked( ** single byte varint and the record fits entirely on the main ** b-tree page. */ testcase( pCell+nCell+1==pPage->aDataEnd ); - c = xRecordCompare(nCell, (void*)&pCell[1], pIdxKey, 0); + c = xRecordCompare(nCell, (void*)&pCell[1], pIdxKey); }else if( !(pCell[1] & 0x80) && (nCell = ((nCell&0x7f)<<7) + pCell[1])<=pPage->maxLocal ){ /* The record-size field is a 2 byte varint and the record ** fits entirely on the main b-tree page. */ testcase( pCell+nCell+2==pPage->aDataEnd ); - c = xRecordCompare(nCell, (void*)&pCell[2], pIdxKey, 0); + c = xRecordCompare(nCell, (void*)&pCell[2], pIdxKey); }else{ /* The record flows over onto one or more overflow pages. In ** this case the whole cell needs to be parsed, a buffer allocated @@ -56267,10 +57020,13 @@ SQLITE_PRIVATE int sqlite3BtreeMovetoUnpacked( sqlite3_free(pCellKey); goto moveto_finish; } - c = xRecordCompare(nCell, pCellKey, pIdxKey, 0); + c = xRecordCompare(nCell, pCellKey, pIdxKey); sqlite3_free(pCellKey); } - assert( pIdxKey->isCorrupt==0 || c==0 ); + assert( + (pIdxKey->errCode!=SQLITE_CORRUPT || c==0) + && (pIdxKey->errCode!=SQLITE_NOMEM || pCur->pBtree->db->mallocFailed) + ); if( c<0 ){ lwr = idx+1; }else if( c>0 ){ @@ -56280,7 +57036,7 @@ SQLITE_PRIVATE int sqlite3BtreeMovetoUnpacked( *pRes = 0; rc = SQLITE_OK; pCur->aiIdx[pCur->iPage] = (u16)idx; - if( pIdxKey->isCorrupt ) rc = SQLITE_CORRUPT; + if( pIdxKey->errCode ) rc = SQLITE_CORRUPT; goto moveto_finish; } if( lwr>upr ) break; @@ -56335,6 +57091,12 @@ SQLITE_PRIVATE int sqlite3BtreeEof(BtCursor *pCur){ ** was already pointing to the last entry in the database before ** this routine was called, then set *pRes=1. ** +** The main entry point is sqlite3BtreeNext(). That routine is optimized +** for the common case of merely incrementing the cell counter BtCursor.aiIdx +** to the next cell on the current page. The (slower) btreeNext() helper +** routine is called when it is necessary to move to a different page or +** to restore the cursor. +** ** The calling function will set *pRes to 0 or 1. The initial *pRes value ** will be 1 if the cursor being stepped corresponds to an SQL index and ** if this routine could have been skipped if that SQL index had been @@ -56344,20 +57106,18 @@ SQLITE_PRIVATE int sqlite3BtreeEof(BtCursor *pCur){ ** SQLite btree implementation does not. (Note that the comdb2 btree ** implementation does use this hint, however.) */ -SQLITE_PRIVATE int sqlite3BtreeNext(BtCursor *pCur, int *pRes){ +static SQLITE_NOINLINE int btreeNext(BtCursor *pCur, int *pRes){ int rc; int idx; MemPage *pPage; assert( cursorHoldsMutex(pCur) ); - assert( pRes!=0 ); - assert( *pRes==0 || *pRes==1 ); assert( pCur->skipNext==0 || pCur->eState!=CURSOR_VALID ); + assert( *pRes==0 ); if( pCur->eState!=CURSOR_VALID ){ - invalidateOverflowCache(pCur); + assert( (pCur->curFlags & BTCF_ValidOvfl)==0 ); rc = restoreCursorPosition(pCur); if( rc!=SQLITE_OK ){ - *pRes = 0; return rc; } if( CURSOR_INVALID==pCur->eState ){ @@ -56369,7 +57129,6 @@ SQLITE_PRIVATE int sqlite3BtreeNext(BtCursor *pCur, int *pRes){ pCur->eState = CURSOR_VALID; if( pCur->skipNext>0 ){ pCur->skipNext = 0; - *pRes = 0; return SQLITE_OK; } pCur->skipNext = 0; @@ -56387,18 +57146,11 @@ SQLITE_PRIVATE int sqlite3BtreeNext(BtCursor *pCur, int *pRes){ ** page into more than one b-tree structure. */ testcase( idx>pPage->nCell ); - pCur->info.nSize = 0; - pCur->curFlags &= ~(BTCF_ValidNKey|BTCF_ValidOvfl); if( idx>=pPage->nCell ){ if( !pPage->leaf ){ rc = moveToChild(pCur, get4byte(&pPage->aData[pPage->hdrOffset+8])); - if( rc ){ - *pRes = 0; - return rc; - } - rc = moveToLeftmost(pCur); - *pRes = 0; - return rc; + if( rc ) return rc; + return moveToLeftmost(pCur); } do{ if( pCur->iPage==0 ){ @@ -56409,29 +57161,52 @@ SQLITE_PRIVATE int sqlite3BtreeNext(BtCursor *pCur, int *pRes){ moveToParent(pCur); pPage = pCur->apPage[pCur->iPage]; }while( pCur->aiIdx[pCur->iPage]>=pPage->nCell ); - *pRes = 0; if( pPage->intKey ){ - rc = sqlite3BtreeNext(pCur, pRes); + return sqlite3BtreeNext(pCur, pRes); }else{ - rc = SQLITE_OK; + return SQLITE_OK; } - return rc; } + if( pPage->leaf ){ + return SQLITE_OK; + }else{ + return moveToLeftmost(pCur); + } +} +SQLITE_PRIVATE int sqlite3BtreeNext(BtCursor *pCur, int *pRes){ + MemPage *pPage; + assert( cursorHoldsMutex(pCur) ); + assert( pRes!=0 ); + assert( *pRes==0 || *pRes==1 ); + assert( pCur->skipNext==0 || pCur->eState!=CURSOR_VALID ); + pCur->info.nSize = 0; + pCur->curFlags &= ~(BTCF_ValidNKey|BTCF_ValidOvfl); *pRes = 0; + if( pCur->eState!=CURSOR_VALID ) return btreeNext(pCur, pRes); + pPage = pCur->apPage[pCur->iPage]; + if( (++pCur->aiIdx[pCur->iPage])>=pPage->nCell ){ + pCur->aiIdx[pCur->iPage]--; + return btreeNext(pCur, pRes); + } if( pPage->leaf ){ return SQLITE_OK; + }else{ + return moveToLeftmost(pCur); } - rc = moveToLeftmost(pCur); - return rc; } - /* ** Step the cursor to the back to the previous entry in the database. If ** successful then set *pRes=0. If the cursor ** was already pointing to the first entry in the database before ** this routine was called, then set *pRes=1. ** +** The main entry point is sqlite3BtreePrevious(). That routine is optimized +** for the common case of merely decrementing the cell counter BtCursor.aiIdx +** to the previous cell on the current page. The (slower) btreePrevious() +** helper routine is called when it is necessary to move to a different page +** or to restore the cursor. +** ** The calling function will set *pRes to 0 or 1. The initial *pRes value ** will be 1 if the cursor being stepped corresponds to an SQL index and ** if this routine could have been skipped if that SQL index had been @@ -56441,22 +57216,20 @@ SQLITE_PRIVATE int sqlite3BtreeNext(BtCursor *pCur, int *pRes){ ** SQLite btree implementation does not. (Note that the comdb2 btree ** implementation does use this hint, however.) */ -SQLITE_PRIVATE int sqlite3BtreePrevious(BtCursor *pCur, int *pRes){ +static SQLITE_NOINLINE int btreePrevious(BtCursor *pCur, int *pRes){ int rc; MemPage *pPage; assert( cursorHoldsMutex(pCur) ); assert( pRes!=0 ); - assert( *pRes==0 || *pRes==1 ); + assert( *pRes==0 ); assert( pCur->skipNext==0 || pCur->eState!=CURSOR_VALID ); - pCur->curFlags &= ~(BTCF_AtLast|BTCF_ValidOvfl); + assert( (pCur->curFlags & (BTCF_AtLast|BTCF_ValidOvfl|BTCF_ValidNKey))==0 ); + assert( pCur->info.nSize==0 ); if( pCur->eState!=CURSOR_VALID ){ - if( ALWAYS(pCur->eState>=CURSOR_REQUIRESEEK) ){ - rc = btreeRestoreCursorPosition(pCur); - if( rc!=SQLITE_OK ){ - *pRes = 0; - return rc; - } + rc = restoreCursorPosition(pCur); + if( rc!=SQLITE_OK ){ + return rc; } if( CURSOR_INVALID==pCur->eState ){ *pRes = 1; @@ -56467,7 +57240,6 @@ SQLITE_PRIVATE int sqlite3BtreePrevious(BtCursor *pCur, int *pRes){ pCur->eState = CURSOR_VALID; if( pCur->skipNext<0 ){ pCur->skipNext = 0; - *pRes = 0; return SQLITE_OK; } pCur->skipNext = 0; @@ -56479,10 +57251,7 @@ SQLITE_PRIVATE int sqlite3BtreePrevious(BtCursor *pCur, int *pRes){ if( !pPage->leaf ){ int idx = pCur->aiIdx[pCur->iPage]; rc = moveToChild(pCur, get4byte(findCell(pPage, idx))); - if( rc ){ - *pRes = 0; - return rc; - } + if( rc ) return rc; rc = moveToRightmost(pCur); }else{ while( pCur->aiIdx[pCur->iPage]==0 ){ @@ -56493,8 +57262,8 @@ SQLITE_PRIVATE int sqlite3BtreePrevious(BtCursor *pCur, int *pRes){ } moveToParent(pCur); } - pCur->info.nSize = 0; - pCur->curFlags &= ~(BTCF_ValidNKey|BTCF_ValidOvfl); + assert( pCur->info.nSize==0 ); + assert( (pCur->curFlags & (BTCF_ValidNKey|BTCF_ValidOvfl))==0 ); pCur->aiIdx[pCur->iPage]--; pPage = pCur->apPage[pCur->iPage]; @@ -56504,9 +57273,25 @@ SQLITE_PRIVATE int sqlite3BtreePrevious(BtCursor *pCur, int *pRes){ rc = SQLITE_OK; } } - *pRes = 0; return rc; } +SQLITE_PRIVATE int sqlite3BtreePrevious(BtCursor *pCur, int *pRes){ + assert( cursorHoldsMutex(pCur) ); + assert( pRes!=0 ); + assert( *pRes==0 || *pRes==1 ); + assert( pCur->skipNext==0 || pCur->eState!=CURSOR_VALID ); + *pRes = 0; + pCur->curFlags &= ~(BTCF_AtLast|BTCF_ValidOvfl|BTCF_ValidNKey); + pCur->info.nSize = 0; + if( pCur->eState!=CURSOR_VALID + || pCur->aiIdx[pCur->iPage]==0 + || pCur->apPage[pCur->iPage]->leaf==0 + ){ + return btreePrevious(pCur, pRes); + } + pCur->aiIdx[pCur->iPage]--; + return SQLITE_OK; +} /* ** Allocate a new page from the database file. @@ -56747,7 +57532,7 @@ static int allocateBtreePage( memcpy(&aData[8+closest*4], &aData[4+k*4], 4); } put4byte(&aData[4], k-1); - noContent = !btreeGetHasContent(pBt, *pPgno) ? PAGER_GET_NOCONTENT : 0; + noContent = !btreeGetHasContent(pBt, *pPgno)? PAGER_GET_NOCONTENT : 0; rc = btreeGetPage(pBt, *pPgno, ppPage, noContent); if( rc==SQLITE_OK ){ rc = sqlite3PagerWrite((*ppPage)->pDbPage); @@ -56780,7 +57565,7 @@ static int allocateBtreePage( ** here are confined to those pages that lie between the end of the ** database image and the end of the database file. */ - int bNoContent = (0==IfNotOmitAV(pBt->bDoTruncate)) ? PAGER_GET_NOCONTENT : 0; + int bNoContent = (0==IfNotOmitAV(pBt->bDoTruncate))? PAGER_GET_NOCONTENT:0; rc = sqlite3PagerWrite(pBt->pPage1->pDbPage); if( rc ) return rc; @@ -56979,9 +57764,15 @@ static void freePage(MemPage *pPage, int *pRC){ } /* -** Free any overflow pages associated with the given Cell. +** Free any overflow pages associated with the given Cell. Write the +** local Cell size (the number of bytes on the original page, omitting +** overflow) into *pnSize. */ -static int clearCell(MemPage *pPage, unsigned char *pCell){ +static int clearCell( + MemPage *pPage, /* The page that contains the Cell */ + unsigned char *pCell, /* First byte of the Cell */ + u16 *pnSize /* Write the size of the Cell here */ +){ BtShared *pBt = pPage->pBt; CellInfo info; Pgno ovflPgno; @@ -56991,6 +57782,7 @@ static int clearCell(MemPage *pPage, unsigned char *pCell){ assert( sqlite3_mutex_held(pPage->pBt->mutex) ); btreeParseCellPtr(pPage, pCell, &info); + *pnSize = info.nSize; if( info.iOverflow==0 ){ return SQLITE_OK; /* No overflow pages. Return without doing anything */ } @@ -57074,7 +57866,6 @@ static int fillInCell( BtShared *pBt = pPage->pBt; Pgno pgnoOvfl = 0; int nHeader; - CellInfo info; assert( sqlite3_mutex_held(pPage->pBt->mutex) ); @@ -57084,23 +57875,17 @@ static int fillInCell( || sqlite3PagerIswriteable(pPage->pDbPage) ); /* Fill in the header. */ - nHeader = 0; - if( !pPage->leaf ){ - nHeader += 4; - } - if( pPage->hasData ){ - nHeader += putVarint32(&pCell[nHeader], nData+nZero); + nHeader = pPage->childPtrSize; + nPayload = nData + nZero; + if( pPage->intKeyLeaf ){ + nHeader += putVarint32(&pCell[nHeader], nPayload); }else{ - nData = nZero = 0; + assert( nData==0 ); + assert( nZero==0 ); } nHeader += putVarint(&pCell[nHeader], *(u64*)&nKey); - btreeParseCellPtr(pPage, pCell, &info); - assert( info.nHeader==nHeader ); - assert( info.nKey==nKey ); - assert( info.nData==(u32)(nData+nZero) ); - /* Fill in the payload */ - nPayload = nData + nZero; + /* Fill in the payload size */ if( pPage->intKey ){ pSrc = pData; nSrc = nData; @@ -57109,15 +57894,55 @@ static int fillInCell( if( NEVER(nKey>0x7fffffff || pKey==0) ){ return SQLITE_CORRUPT_BKPT; } - nPayload += (int)nKey; + nPayload = (int)nKey; pSrc = pKey; nSrc = (int)nKey; } - *pnSize = info.nSize; - spaceLeft = info.nLocal; + if( nPayload<=pPage->maxLocal ){ + n = nHeader + nPayload; + testcase( n==3 ); + testcase( n==4 ); + if( n<4 ) n = 4; + *pnSize = n; + spaceLeft = nPayload; + pPrior = pCell; + }else{ + int mn = pPage->minLocal; + n = mn + (nPayload - mn) % (pPage->pBt->usableSize - 4); + testcase( n==pPage->maxLocal ); + testcase( n==pPage->maxLocal+1 ); + if( n > pPage->maxLocal ) n = mn; + spaceLeft = n; + *pnSize = n + nHeader + 4; + pPrior = &pCell[nHeader+n]; + } pPayload = &pCell[nHeader]; - pPrior = &pCell[info.iOverflow]; + /* At this point variables should be set as follows: + ** + ** nPayload Total payload size in bytes + ** pPayload Begin writing payload here + ** spaceLeft Space available at pPayload. If nPayload>spaceLeft, + ** that means content must spill into overflow pages. + ** *pnSize Size of the local cell (not counting overflow pages) + ** pPrior Where to write the pgno of the first overflow page + ** + ** Use a call to btreeParseCellPtr() to verify that the values above + ** were computed correctly. + */ +#if SQLITE_DEBUG + { + CellInfo info; + btreeParseCellPtr(pPage, pCell, &info); + assert( nHeader=(int)(info.pPayload - pCell) ); + assert( info.nKey==nKey ); + assert( *pnSize == info.nSize ); + assert( spaceLeft == info.nLocal ); + assert( pPrior == &pCell[info.iOverflow] ); + } +#endif + + /* Write the payload into the local Cell and any extra into overflow pages */ while( nPayload>0 ){ if( spaceLeft==0 ){ #ifndef SQLITE_OMIT_AUTOVACUUM @@ -57258,11 +58083,6 @@ static void dropCell(MemPage *pPage, int idx, int sz, int *pRC){ ** in pTemp or the original pCell) and also record its index. ** Allocating a new entry in pPage->aCell[] implies that ** pPage->nOverflow is incremented. -** -** If nSkip is non-zero, then do not copy the first nSkip bytes of the -** cell. The caller will overwrite them after this function returns. If -** nSkip is non-zero, then pCell may not point to an invalid memory location -** (but pCell+nSkip is always valid). */ static void insertCell( MemPage *pPage, /* Page into which we are copying */ @@ -57279,7 +58099,6 @@ static void insertCell( int ins; /* Index in data[] where new cell pointer is inserted */ int cellOffset; /* Address of first cell pointer in data[] */ u8 *data; /* The content of the whole page */ - int nSkip = (iChild ? 4 : 0); if( *pRC ) return; @@ -57297,7 +58116,7 @@ static void insertCell( assert( sz==cellSizePtr(pPage, pCell) || (sz==8 && iChild>0) ); if( pPage->nOverflow || sz+2>pPage->nFree ){ if( pTemp ){ - memcpy(pTemp+nSkip, pCell+nSkip, sz-nSkip); + memcpy(pTemp, pCell, sz); pCell = pTemp; } if( iChild ){ @@ -57326,7 +58145,7 @@ static void insertCell( assert( idx+sz <= (int)pPage->pBt->usableSize ); pPage->nCell++; pPage->nFree -= (u16)(2 + sz); - memcpy(&data[idx+nSkip], pCell+nSkip, sz-nSkip); + memcpy(&data[idx], pCell, sz); if( iChild ){ put4byte(&data[idx], iChild); } @@ -57349,7 +58168,7 @@ static void insertCell( ** The cells are guaranteed to fit on the page. */ static void assemblePage( - MemPage *pPage, /* The page to be assemblied */ + MemPage *pPage, /* The page to be assembled */ int nCell, /* The number of cells to add to this page */ u8 **apCell, /* Pointers to cell bodies */ u16 *aSize /* Sizes of the cells */ @@ -57825,7 +58644,7 @@ static int balance_nonroot( ** leafData: 1 if pPage holds key+data and pParent holds only keys. */ leafCorrection = apOld[0]->leaf*4; - leafData = apOld[0]->hasData; + leafData = apOld[0]->intKeyLeaf; for(i=0; i<nOld; i++){ int limit; @@ -58015,7 +58834,7 @@ static int balance_nonroot( } /* - ** Put the new pages in accending order. This helps to + ** Put the new pages in ascending order. This helps to ** keep entries in the disk file in order so that a scan ** of the table is a linear scan through the file. That ** in turn helps the operating system to deliver pages @@ -58401,7 +59220,7 @@ static int balance(BtCursor *pCur){ rc = sqlite3PagerWrite(pParent->pDbPage); if( rc==SQLITE_OK ){ #ifndef SQLITE_OMIT_QUICKBALANCE - if( pPage->hasData + if( pPage->intKeyLeaf && pPage->nOverflow==1 && pPage->aiOvfl[0]==pPage->nCell && pParent->pgno!=1 @@ -58410,7 +59229,7 @@ static int balance(BtCursor *pCur){ /* Call balance_quick() to create a new sibling of pPage on which ** to store the overflow cell. balance_quick() inserts a new cell ** into pParent, which may cause pParent overflow. If this - ** happens, the next interation of the do-loop will balance pParent + ** happens, the next iteration of the do-loop will balance pParent ** use either balance_nonroot() or balance_deeper(). Until this ** happens, the overflow cell is stored in the aBalanceQuickSpace[] ** buffer. @@ -58487,7 +59306,7 @@ static int balance(BtCursor *pCur){ ** MovetoUnpacked() to seek cursor pCur to (pKey, nKey) has already ** been performed. seekResult is the search result returned (a negative ** number if pCur points at an entry that is smaller than (pKey, nKey), or -** a positive value if pCur points at an etry that is larger than +** a positive value if pCur points at an entry that is larger than ** (pKey, nKey)). ** ** If the seekResult parameter is non-zero, then the caller guarantees that @@ -58520,7 +59339,8 @@ SQLITE_PRIVATE int sqlite3BtreeInsert( } assert( cursorHoldsMutex(pCur) ); - assert( (pCur->curFlags & BTCF_WriteFlag)!=0 && pBt->inTransaction==TRANS_WRITE + assert( (pCur->curFlags & BTCF_WriteFlag)!=0 + && pBt->inTransaction==TRANS_WRITE && (pBt->btsFlags & BTS_READ_ONLY)==0 ); assert( hasSharedCacheTableLock(p, pCur->pgnoRoot, pCur->pKeyInfo!=0, 2) ); @@ -58553,7 +59373,8 @@ SQLITE_PRIVATE int sqlite3BtreeInsert( /* If the cursor is currently on the last row and we are appending a ** new row onto the end, set the "loc" to avoid an unnecessary btreeMoveto() ** call */ - if( (pCur->curFlags&BTCF_ValidNKey)!=0 && nKey>0 && pCur->info.nKey==nKey-1 ){ + if( (pCur->curFlags&BTCF_ValidNKey)!=0 && nKey>0 + && pCur->info.nKey==nKey-1 ){ loc = -1; } } @@ -58572,9 +59393,8 @@ SQLITE_PRIVATE int sqlite3BtreeInsert( pCur->pgnoRoot, nKey, nData, pPage->pgno, loc==0 ? "overwrite" : "new entry")); assert( pPage->isInit ); - allocateTempSpace(pBt); newCell = pBt->pTmpSpace; - if( newCell==0 ) return SQLITE_NOMEM; + assert( newCell!=0 ); rc = fillInCell(pPage, newCell, pKey, nKey, pData, nData, nZero, &szNew); if( rc ) goto end_insert; assert( szNew==cellSizePtr(pPage, newCell) ); @@ -58591,8 +59411,7 @@ SQLITE_PRIVATE int sqlite3BtreeInsert( if( !pPage->leaf ){ memcpy(newCell, oldCell, 4); } - szOld = cellSizePtr(pPage, oldCell); - rc = clearCell(pPage, oldCell); + rc = clearCell(pPage, oldCell, &szOld); dropCell(pPage, idx, szOld, &rc); if( rc ) goto end_insert; }else if( loc<0 && pPage->nCell>0 ){ @@ -58644,7 +59463,7 @@ end_insert: /* ** Delete the entry that the cursor is pointing to. The cursor -** is left pointing at a arbitrary location. +** is left pointing at an arbitrary location. */ SQLITE_PRIVATE int sqlite3BtreeDelete(BtCursor *pCur){ Btree *p = pCur->pBtree; @@ -58654,6 +59473,7 @@ SQLITE_PRIVATE int sqlite3BtreeDelete(BtCursor *pCur){ unsigned char *pCell; /* Pointer to cell to delete */ int iCellIdx; /* Index of cell to delete */ int iCellDepth; /* Depth of node containing pCell */ + u16 szCell; /* Size of the cell being deleted */ assert( cursorHoldsMutex(pCur) ); assert( pBt->inTransaction==TRANS_WRITE ); @@ -58702,8 +59522,8 @@ SQLITE_PRIVATE int sqlite3BtreeDelete(BtCursor *pCur){ rc = sqlite3PagerWrite(pPage->pDbPage); if( rc ) return rc; - rc = clearCell(pPage, pCell); - dropCell(pPage, iCellIdx, cellSizePtr(pPage, pCell), &rc); + rc = clearCell(pPage, pCell, &szCell); + dropCell(pPage, iCellIdx, szCell, &rc); if( rc ) return rc; /* If the cell deleted was not located on a leaf page, then the cursor @@ -58720,10 +59540,8 @@ SQLITE_PRIVATE int sqlite3BtreeDelete(BtCursor *pCur){ pCell = findCell(pLeaf, pLeaf->nCell-1); nCell = cellSizePtr(pLeaf, pCell); assert( MX_CELL_SIZE(pBt) >= nCell ); - - allocateTempSpace(pBt); pTmp = pBt->pTmpSpace; - + assert( pTmp!=0 ); rc = sqlite3PagerWrite(pLeaf->pDbPage); insertCell(pPage, iCellIdx, pCell-4, nCell+4, pTmp, n, &rc); dropCell(pLeaf, pLeaf->nCell-1, nCell, &rc); @@ -58935,6 +59753,7 @@ static int clearDatabasePage( unsigned char *pCell; int i; int hdr; + u16 szCell; assert( sqlite3_mutex_held(pBt->mutex) ); if( pgno>btreePagecount(pBt) ){ @@ -58950,7 +59769,7 @@ static int clearDatabasePage( rc = clearDatabasePage(pBt, get4byte(pCell), 1, pnChange); if( rc ) goto cleardatabasepage_out; } - rc = clearCell(pPage, pCell); + rc = clearCell(pPage, pCell, &szCell); if( rc ) goto cleardatabasepage_out; } if( !pPage->leaf ){ @@ -59296,11 +60115,11 @@ SQLITE_PRIVATE Pager *sqlite3BtreePager(Btree *p){ */ static void checkAppendMsg( IntegrityCk *pCheck, - char *zMsg1, const char *zFormat, ... ){ va_list ap; + char zBuf[200]; if( !pCheck->mxErr ) return; pCheck->mxErr--; pCheck->nErr++; @@ -59308,8 +60127,9 @@ static void checkAppendMsg( if( pCheck->errMsg.nChar ){ sqlite3StrAccumAppend(&pCheck->errMsg, "\n", 1); } - if( zMsg1 ){ - sqlite3StrAccumAppendAll(&pCheck->errMsg, zMsg1); + if( pCheck->zPfx ){ + sqlite3_snprintf(sizeof(zBuf), zBuf, pCheck->zPfx, pCheck->v1, pCheck->v2); + sqlite3StrAccumAppendAll(&pCheck->errMsg, zBuf); } sqlite3VXPrintf(&pCheck->errMsg, 1, zFormat, ap); va_end(ap); @@ -59342,19 +60162,19 @@ static void setPageReferenced(IntegrityCk *pCheck, Pgno iPg){ /* ** Add 1 to the reference count for page iPage. If this is the second ** reference to the page, add an error message to pCheck->zErrMsg. -** Return 1 if there are 2 ore more references to the page and 0 if +** Return 1 if there are 2 or more references to the page and 0 if ** if this is the first reference to the page. ** ** Also check that the page number is in bounds. */ -static int checkRef(IntegrityCk *pCheck, Pgno iPage, char *zContext){ +static int checkRef(IntegrityCk *pCheck, Pgno iPage){ if( iPage==0 ) return 1; if( iPage>pCheck->nPage ){ - checkAppendMsg(pCheck, zContext, "invalid page number %d", iPage); + checkAppendMsg(pCheck, "invalid page number %d", iPage); return 1; } if( getPageReferenced(pCheck, iPage) ){ - checkAppendMsg(pCheck, zContext, "2nd reference to page %d", iPage); + checkAppendMsg(pCheck, "2nd reference to page %d", iPage); return 1; } setPageReferenced(pCheck, iPage); @@ -59371,8 +60191,7 @@ static void checkPtrmap( IntegrityCk *pCheck, /* Integrity check context */ Pgno iChild, /* Child page number */ u8 eType, /* Expected pointer map type */ - Pgno iParent, /* Expected pointer map parent page number */ - char *zContext /* Context description (used for error msg) */ + Pgno iParent /* Expected pointer map parent page number */ ){ int rc; u8 ePtrmapType; @@ -59381,12 +60200,12 @@ static void checkPtrmap( rc = ptrmapGet(pCheck->pBt, iChild, &ePtrmapType, &iPtrmapParent); if( rc!=SQLITE_OK ){ if( rc==SQLITE_NOMEM || rc==SQLITE_IOERR_NOMEM ) pCheck->mallocFailed = 1; - checkAppendMsg(pCheck, zContext, "Failed to read ptrmap key=%d", iChild); + checkAppendMsg(pCheck, "Failed to read ptrmap key=%d", iChild); return; } if( ePtrmapType!=eType || iPtrmapParent!=iParent ){ - checkAppendMsg(pCheck, zContext, + checkAppendMsg(pCheck, "Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)", iChild, eType, iParent, ePtrmapType, iPtrmapParent); } @@ -59401,8 +60220,7 @@ static void checkList( IntegrityCk *pCheck, /* Integrity checking context */ int isFreeList, /* True for a freelist. False for overflow page list */ int iPage, /* Page number for first page in the list */ - int N, /* Expected number of pages in the list */ - char *zContext /* Context for error messages */ + int N /* Expected number of pages in the list */ ){ int i; int expected = N; @@ -59411,14 +60229,14 @@ static void checkList( DbPage *pOvflPage; unsigned char *pOvflData; if( iPage<1 ){ - checkAppendMsg(pCheck, zContext, + checkAppendMsg(pCheck, "%d of %d pages missing from overflow list starting at %d", N+1, expected, iFirst); break; } - if( checkRef(pCheck, iPage, zContext) ) break; + if( checkRef(pCheck, iPage) ) break; if( sqlite3PagerGet(pCheck->pPager, (Pgno)iPage, &pOvflPage) ){ - checkAppendMsg(pCheck, zContext, "failed to get page %d", iPage); + checkAppendMsg(pCheck, "failed to get page %d", iPage); break; } pOvflData = (unsigned char *)sqlite3PagerGetData(pOvflPage); @@ -59426,11 +60244,11 @@ static void checkList( int n = get4byte(&pOvflData[4]); #ifndef SQLITE_OMIT_AUTOVACUUM if( pCheck->pBt->autoVacuum ){ - checkPtrmap(pCheck, iPage, PTRMAP_FREEPAGE, 0, zContext); + checkPtrmap(pCheck, iPage, PTRMAP_FREEPAGE, 0); } #endif if( n>(int)pCheck->pBt->usableSize/4-2 ){ - checkAppendMsg(pCheck, zContext, + checkAppendMsg(pCheck, "freelist leaf count too big on page %d", iPage); N--; }else{ @@ -59438,10 +60256,10 @@ static void checkList( Pgno iFreePage = get4byte(&pOvflData[8+i*4]); #ifndef SQLITE_OMIT_AUTOVACUUM if( pCheck->pBt->autoVacuum ){ - checkPtrmap(pCheck, iFreePage, PTRMAP_FREEPAGE, 0, zContext); + checkPtrmap(pCheck, iFreePage, PTRMAP_FREEPAGE, 0); } #endif - checkRef(pCheck, iFreePage, zContext); + checkRef(pCheck, iFreePage); } N -= n; } @@ -59454,7 +60272,7 @@ static void checkList( */ if( pCheck->pBt->autoVacuum && N>0 ){ i = get4byte(pOvflData); - checkPtrmap(pCheck, i, PTRMAP_OVERFLOW2, iPage, zContext); + checkPtrmap(pCheck, i, PTRMAP_OVERFLOW2, iPage); } } #endif @@ -59486,7 +60304,6 @@ static void checkList( static int checkTreePage( IntegrityCk *pCheck, /* Context for the sanity check */ int iPage, /* Page number of the page to check */ - char *zParentContext, /* Parent context */ i64 *pnParentMinKey, i64 *pnParentMaxKey ){ @@ -59497,23 +60314,26 @@ static int checkTreePage( u8 *data; BtShared *pBt; int usableSize; - char zContext[100]; char *hit = 0; i64 nMinKey = 0; i64 nMaxKey = 0; - - sqlite3_snprintf(sizeof(zContext), zContext, "Page %d: ", iPage); + const char *saved_zPfx = pCheck->zPfx; + int saved_v1 = pCheck->v1; + int saved_v2 = pCheck->v2; /* Check that the page exists */ pBt = pCheck->pBt; usableSize = pBt->usableSize; if( iPage==0 ) return 0; - if( checkRef(pCheck, iPage, zParentContext) ) return 0; + if( checkRef(pCheck, iPage) ) return 0; + pCheck->zPfx = "Page %d: "; + pCheck->v1 = iPage; if( (rc = btreeGetPage(pBt, (Pgno)iPage, &pPage, 0))!=0 ){ - checkAppendMsg(pCheck, zContext, + checkAppendMsg(pCheck, "unable to get the page. error code=%d", rc); - return 0; + depth = -1; + goto end_of_check; } /* Clear MemPage.isInit to make sure the corruption detection code in @@ -59521,10 +60341,11 @@ static int checkTreePage( pPage->isInit = 0; if( (rc = btreeInitPage(pPage))!=0 ){ assert( rc==SQLITE_CORRUPT ); /* The only possible error from InitPage */ - checkAppendMsg(pCheck, zContext, + checkAppendMsg(pCheck, "btreeInitPage() returns error code %d", rc); releasePage(pPage); - return 0; + depth = -1; + goto end_of_check; } /* Check out all the cells. @@ -59537,23 +60358,23 @@ static int checkTreePage( /* Check payload overflow pages */ - sqlite3_snprintf(sizeof(zContext), zContext, - "On tree page %d cell %d: ", iPage, i); + pCheck->zPfx = "On tree page %d cell %d: "; + pCheck->v1 = iPage; + pCheck->v2 = i; pCell = findCell(pPage,i); btreeParseCellPtr(pPage, pCell, &info); - sz = info.nData; - if( !pPage->intKey ) sz += (int)info.nKey; + sz = info.nPayload; /* For intKey pages, check that the keys are in order. */ - else if( i==0 ) nMinKey = nMaxKey = info.nKey; - else{ - if( info.nKey <= nMaxKey ){ - checkAppendMsg(pCheck, zContext, - "Rowid %lld out of order (previous was %lld)", info.nKey, nMaxKey); + if( pPage->intKey ){ + if( i==0 ){ + nMinKey = nMaxKey = info.nKey; + }else if( info.nKey <= nMaxKey ){ + checkAppendMsg(pCheck, + "Rowid %lld out of order (previous was %lld)", info.nKey, nMaxKey); } nMaxKey = info.nKey; } - assert( sz==info.nPayload ); if( (sz>info.nLocal) && (&pCell[info.iOverflow]<=&pPage->aData[pBt->usableSize]) ){ @@ -59561,10 +60382,10 @@ static int checkTreePage( Pgno pgnoOvfl = get4byte(&pCell[info.iOverflow]); #ifndef SQLITE_OMIT_AUTOVACUUM if( pBt->autoVacuum ){ - checkPtrmap(pCheck, pgnoOvfl, PTRMAP_OVERFLOW1, iPage, zContext); + checkPtrmap(pCheck, pgnoOvfl, PTRMAP_OVERFLOW1, iPage); } #endif - checkList(pCheck, 0, pgnoOvfl, nPage, zContext); + checkList(pCheck, 0, pgnoOvfl, nPage); } /* Check sanity of left child page. @@ -59573,12 +60394,12 @@ static int checkTreePage( pgno = get4byte(pCell); #ifndef SQLITE_OMIT_AUTOVACUUM if( pBt->autoVacuum ){ - checkPtrmap(pCheck, pgno, PTRMAP_BTREE, iPage, zContext); + checkPtrmap(pCheck, pgno, PTRMAP_BTREE, iPage); } #endif - d2 = checkTreePage(pCheck, pgno, zContext, &nMinKey, i==0 ? NULL : &nMaxKey); + d2 = checkTreePage(pCheck, pgno, &nMinKey, i==0?NULL:&nMaxKey); if( i>0 && d2!=depth ){ - checkAppendMsg(pCheck, zContext, "Child page depth differs"); + checkAppendMsg(pCheck, "Child page depth differs"); } depth = d2; } @@ -59586,37 +60407,39 @@ static int checkTreePage( if( !pPage->leaf ){ pgno = get4byte(&pPage->aData[pPage->hdrOffset+8]); - sqlite3_snprintf(sizeof(zContext), zContext, - "On page %d at right child: ", iPage); + pCheck->zPfx = "On page %d at right child: "; + pCheck->v1 = iPage; #ifndef SQLITE_OMIT_AUTOVACUUM if( pBt->autoVacuum ){ - checkPtrmap(pCheck, pgno, PTRMAP_BTREE, iPage, zContext); + checkPtrmap(pCheck, pgno, PTRMAP_BTREE, iPage); } #endif - checkTreePage(pCheck, pgno, zContext, NULL, !pPage->nCell ? NULL : &nMaxKey); + checkTreePage(pCheck, pgno, NULL, !pPage->nCell?NULL:&nMaxKey); } /* For intKey leaf pages, check that the min/max keys are in order ** with any left/parent/right pages. */ + pCheck->zPfx = "Page %d: "; + pCheck->v1 = iPage; if( pPage->leaf && pPage->intKey ){ /* if we are a left child page */ if( pnParentMinKey ){ /* if we are the left most child page */ if( !pnParentMaxKey ){ if( nMaxKey > *pnParentMinKey ){ - checkAppendMsg(pCheck, zContext, + checkAppendMsg(pCheck, "Rowid %lld out of order (max larger than parent min of %lld)", nMaxKey, *pnParentMinKey); } }else{ if( nMinKey <= *pnParentMinKey ){ - checkAppendMsg(pCheck, zContext, + checkAppendMsg(pCheck, "Rowid %lld out of order (min less than parent min of %lld)", nMinKey, *pnParentMinKey); } if( nMaxKey > *pnParentMaxKey ){ - checkAppendMsg(pCheck, zContext, + checkAppendMsg(pCheck, "Rowid %lld out of order (max larger than parent max of %lld)", nMaxKey, *pnParentMaxKey); } @@ -59625,7 +60448,7 @@ static int checkTreePage( /* else if we're a right child page */ } else if( pnParentMaxKey ){ if( nMinKey <= *pnParentMaxKey ){ - checkAppendMsg(pCheck, zContext, + checkAppendMsg(pCheck, "Rowid %lld out of order (min less than parent max of %lld)", nMinKey, *pnParentMaxKey); } @@ -59637,6 +60460,7 @@ static int checkTreePage( data = pPage->aData; hdr = pPage->hdrOffset; hit = sqlite3PageMalloc( pBt->pageSize ); + pCheck->zPfx = 0; if( hit==0 ){ pCheck->mallocFailed = 1; }else{ @@ -59654,7 +60478,8 @@ static int checkTreePage( size = cellSizePtr(pPage, &data[pc]); } if( (int)(pc+size-1)>=usableSize ){ - checkAppendMsg(pCheck, 0, + pCheck->zPfx = 0; + checkAppendMsg(pCheck, "Corruption detected in cell %d on page %d",i,iPage); }else{ for(j=pc+size-1; j>=pc; j--) hit[j]++; @@ -59676,19 +60501,24 @@ static int checkTreePage( if( hit[i]==0 ){ cnt++; }else if( hit[i]>1 ){ - checkAppendMsg(pCheck, 0, + checkAppendMsg(pCheck, "Multiple uses for byte %d of page %d", i, iPage); break; } } if( cnt!=data[hdr+7] ){ - checkAppendMsg(pCheck, 0, + checkAppendMsg(pCheck, "Fragmentation of %d bytes reported as %d on page %d", cnt, data[hdr+7], iPage); } } sqlite3PageFree(hit); releasePage(pPage); + +end_of_check: + pCheck->zPfx = saved_zPfx; + pCheck->v1 = saved_v1; + pCheck->v2 = saved_v2; return depth+1; } #endif /* SQLITE_OMIT_INTEGRITY_CHECK */ @@ -59729,6 +60559,9 @@ SQLITE_PRIVATE char *sqlite3BtreeIntegrityCheck( sCheck.mxErr = mxErr; sCheck.nErr = 0; sCheck.mallocFailed = 0; + sCheck.zPfx = 0; + sCheck.v1 = 0; + sCheck.v2 = 0; *pnErr = 0; if( sCheck.nPage==0 ){ sqlite3BtreeLeave(p); @@ -59748,8 +60581,10 @@ SQLITE_PRIVATE char *sqlite3BtreeIntegrityCheck( /* Check the integrity of the freelist */ + sCheck.zPfx = "Main freelist: "; checkList(&sCheck, 1, get4byte(&pBt->pPage1->aData[32]), - get4byte(&pBt->pPage1->aData[36]), "Main freelist: "); + get4byte(&pBt->pPage1->aData[36])); + sCheck.zPfx = 0; /* Check all the tables. */ @@ -59757,10 +60592,12 @@ SQLITE_PRIVATE char *sqlite3BtreeIntegrityCheck( if( aRoot[i]==0 ) continue; #ifndef SQLITE_OMIT_AUTOVACUUM if( pBt->autoVacuum && aRoot[i]>1 ){ - checkPtrmap(&sCheck, aRoot[i], PTRMAP_ROOTPAGE, 0, 0); + checkPtrmap(&sCheck, aRoot[i], PTRMAP_ROOTPAGE, 0); } #endif - checkTreePage(&sCheck, aRoot[i], "List of tree roots: ", NULL, NULL); + sCheck.zPfx = "List of tree roots: "; + checkTreePage(&sCheck, aRoot[i], NULL, NULL); + sCheck.zPfx = 0; } /* Make sure every page in the file is referenced @@ -59768,7 +60605,7 @@ SQLITE_PRIVATE char *sqlite3BtreeIntegrityCheck( for(i=1; i<=sCheck.nPage && sCheck.mxErr; i++){ #ifdef SQLITE_OMIT_AUTOVACUUM if( getPageReferenced(&sCheck, i)==0 ){ - checkAppendMsg(&sCheck, 0, "Page %d is never used", i); + checkAppendMsg(&sCheck, "Page %d is never used", i); } #else /* If the database supports auto-vacuum, make sure no tables contain @@ -59776,11 +60613,11 @@ SQLITE_PRIVATE char *sqlite3BtreeIntegrityCheck( */ if( getPageReferenced(&sCheck, i)==0 && (PTRMAP_PAGENO(pBt, i)!=i || !pBt->autoVacuum) ){ - checkAppendMsg(&sCheck, 0, "Page %d is never used", i); + checkAppendMsg(&sCheck, "Page %d is never used", i); } if( getPageReferenced(&sCheck, i)!=0 && (PTRMAP_PAGENO(pBt, i)==i && pBt->autoVacuum) ){ - checkAppendMsg(&sCheck, 0, "Pointer map page %d is referenced", i); + checkAppendMsg(&sCheck, "Pointer map page %d is referenced", i); } #endif } @@ -59790,7 +60627,7 @@ SQLITE_PRIVATE char *sqlite3BtreeIntegrityCheck( ** of the integrity check. */ if( NEVER(nRef != sqlite3PagerRefcount(pBt->pPager)) ){ - checkAppendMsg(&sCheck, 0, + checkAppendMsg(&sCheck, "Outstanding page count goes from %d to %d during this analysis", nRef, sqlite3PagerRefcount(pBt->pPager) ); @@ -59986,7 +60823,7 @@ SQLITE_PRIVATE int sqlite3BtreePutData(BtCursor *pCsr, u32 offset, u32 amt, void ** required in case any of them are holding references to an xFetch ** version of the b-tree page modified by the accessPayload call below. ** - ** Note that pCsr must be open on a BTREE_INTKEY table and saveCursorPosition() + ** Note that pCsr must be open on a INTKEY table and saveCursorPosition() ** and hence saveAllCursors() cannot fail on a BTREE_INTKEY table, hence ** saveAllCursors can only return SQLITE_OK. */ @@ -60161,12 +60998,12 @@ static Btree *findBtree(sqlite3 *pErrorDb, sqlite3 *pDb, const char *zDb){ int rc = 0; pParse = sqlite3StackAllocZero(pErrorDb, sizeof(*pParse)); if( pParse==0 ){ - sqlite3Error(pErrorDb, SQLITE_NOMEM, "out of memory"); + sqlite3ErrorWithMsg(pErrorDb, SQLITE_NOMEM, "out of memory"); rc = SQLITE_NOMEM; }else{ pParse->db = pDb; if( sqlite3OpenTempDatabase(pParse) ){ - sqlite3Error(pErrorDb, pParse->rc, "%s", pParse->zErrMsg); + sqlite3ErrorWithMsg(pErrorDb, pParse->rc, "%s", pParse->zErrMsg); rc = SQLITE_ERROR; } sqlite3DbFree(pErrorDb, pParse->zErrMsg); @@ -60179,7 +61016,7 @@ static Btree *findBtree(sqlite3 *pErrorDb, sqlite3 *pDb, const char *zDb){ } if( i<0 ){ - sqlite3Error(pErrorDb, SQLITE_ERROR, "unknown database %s", zDb); + sqlite3ErrorWithMsg(pErrorDb, SQLITE_ERROR, "unknown database %s", zDb); return 0; } @@ -60224,7 +61061,7 @@ SQLITE_API sqlite3_backup *sqlite3_backup_init( sqlite3_mutex_enter(pDestDb->mutex); if( pSrcDb==pDestDb ){ - sqlite3Error( + sqlite3ErrorWithMsg( pDestDb, SQLITE_ERROR, "source and destination must be distinct" ); p = 0; @@ -60235,7 +61072,7 @@ SQLITE_API sqlite3_backup *sqlite3_backup_init( ** sqlite3_backup_finish(). */ p = (sqlite3_backup *)sqlite3MallocZero(sizeof(sqlite3_backup)); if( !p ){ - sqlite3Error(pDestDb, SQLITE_NOMEM, 0); + sqlite3Error(pDestDb, SQLITE_NOMEM); } } @@ -60671,12 +61508,12 @@ SQLITE_API int sqlite3_backup_finish(sqlite3_backup *p){ } /* If a transaction is still open on the Btree, roll it back. */ - sqlite3BtreeRollback(p->pDest, SQLITE_OK); + sqlite3BtreeRollback(p->pDest, SQLITE_OK, 0); /* Set the error code of the destination database handle. */ rc = (p->rc==SQLITE_DONE) ? SQLITE_OK : p->rc; if( p->pDestDb ){ - sqlite3Error(p->pDestDb, rc, 0); + sqlite3Error(p->pDestDb, rc); /* Exit the mutexes and free the backup context structure. */ sqlite3LeaveMutexAndCloseZombie(p->pDestDb); @@ -60849,29 +61686,40 @@ copy_finished: ** this: assert( sqlite3VdbeCheckMemInvariants(pMem) ); */ SQLITE_PRIVATE int sqlite3VdbeCheckMemInvariants(Mem *p){ - /* The MEM_Dyn bit is set if and only if Mem.xDel is a non-NULL destructor - ** function for Mem.z + /* If MEM_Dyn is set then Mem.xDel!=0. + ** Mem.xDel is might not be initialized if MEM_Dyn is clear. */ assert( (p->flags & MEM_Dyn)==0 || p->xDel!=0 ); - assert( (p->flags & MEM_Dyn)!=0 || p->xDel==0 ); + + /* MEM_Dyn may only be set if Mem.szMalloc==0. In this way we + ** ensure that if Mem.szMalloc>0 then it is safe to do + ** Mem.z = Mem.zMalloc without having to check Mem.flags&MEM_Dyn. + ** That saves a few cycles in inner loops. */ + assert( (p->flags & MEM_Dyn)==0 || p->szMalloc==0 ); + + /* Cannot be both MEM_Int and MEM_Real at the same time */ + assert( (p->flags & (MEM_Int|MEM_Real))!=(MEM_Int|MEM_Real) ); + + /* The szMalloc field holds the correct memory allocation size */ + assert( p->szMalloc==0 + || p->szMalloc==sqlite3DbMallocSize(p->db,p->zMalloc) ); /* If p holds a string or blob, the Mem.z must point to exactly ** one of the following: ** ** (1) Memory in Mem.zMalloc and managed by the Mem object ** (2) Memory to be freed using Mem.xDel - ** (3) An ephermal string or blob + ** (3) An ephemeral string or blob ** (4) A static string or blob */ - if( (p->flags & (MEM_Str|MEM_Blob)) && p->z!=0 ){ + if( (p->flags & (MEM_Str|MEM_Blob)) && p->n>0 ){ assert( - ((p->z==p->zMalloc)? 1 : 0) + + ((p->szMalloc>0 && p->z==p->zMalloc)? 1 : 0) + ((p->flags&MEM_Dyn)!=0 ? 1 : 0) + ((p->flags&MEM_Ephem)!=0 ? 1 : 0) + ((p->flags&MEM_Static)!=0 ? 1 : 0) == 1 ); } - return 1; } #endif @@ -60925,7 +61773,7 @@ SQLITE_PRIVATE int sqlite3VdbeChangeEncoding(Mem *pMem, int desiredEnc){ ** blob if bPreserve is true. If bPreserve is false, any prior content ** in pMem->z is discarded. */ -SQLITE_PRIVATE int sqlite3VdbeMemGrow(Mem *pMem, int n, int bPreserve){ +SQLITE_PRIVATE SQLITE_NOINLINE int sqlite3VdbeMemGrow(Mem *pMem, int n, int bPreserve){ assert( sqlite3VdbeCheckMemInvariants(pMem) ); assert( (pMem->flags&MEM_RowSet)==0 ); @@ -60934,24 +61782,28 @@ SQLITE_PRIVATE int sqlite3VdbeMemGrow(Mem *pMem, int n, int bPreserve){ assert( bPreserve==0 || pMem->flags&(MEM_Blob|MEM_Str) ); testcase( bPreserve && pMem->z==0 ); - if( pMem->zMalloc==0 || sqlite3DbMallocSize(pMem->db, pMem->zMalloc)<n ){ + assert( pMem->szMalloc==0 + || pMem->szMalloc==sqlite3DbMallocSize(pMem->db, pMem->zMalloc) ); + if( pMem->szMalloc<n ){ if( n<32 ) n = 32; - if( bPreserve && pMem->z==pMem->zMalloc ){ + if( bPreserve && pMem->szMalloc>0 && pMem->z==pMem->zMalloc ){ pMem->z = pMem->zMalloc = sqlite3DbReallocOrFree(pMem->db, pMem->z, n); bPreserve = 0; }else{ - sqlite3DbFree(pMem->db, pMem->zMalloc); + if( pMem->szMalloc>0 ) sqlite3DbFree(pMem->db, pMem->zMalloc); pMem->zMalloc = sqlite3DbMallocRaw(pMem->db, n); } if( pMem->zMalloc==0 ){ - VdbeMemRelease(pMem); + sqlite3VdbeMemSetNull(pMem); pMem->z = 0; - pMem->flags = MEM_Null; + pMem->szMalloc = 0; return SQLITE_NOMEM; + }else{ + pMem->szMalloc = sqlite3DbMallocSize(pMem->db, pMem->zMalloc); } } - if( pMem->z && bPreserve && pMem->z!=pMem->zMalloc ){ + if( bPreserve && pMem->z && pMem->z!=pMem->zMalloc ){ memcpy(pMem->zMalloc, pMem->z, pMem->n); } if( (pMem->flags&MEM_Dyn)!=0 ){ @@ -60961,15 +61813,37 @@ SQLITE_PRIVATE int sqlite3VdbeMemGrow(Mem *pMem, int n, int bPreserve){ pMem->z = pMem->zMalloc; pMem->flags &= ~(MEM_Dyn|MEM_Ephem|MEM_Static); - pMem->xDel = 0; return SQLITE_OK; } /* -** Make the given Mem object MEM_Dyn. In other words, make it so -** that any TEXT or BLOB content is stored in memory obtained from -** malloc(). In this way, we know that the memory is safe to be -** overwritten or altered. +** Change the pMem->zMalloc allocation to be at least szNew bytes. +** If pMem->zMalloc already meets or exceeds the requested size, this +** routine is a no-op. +** +** Any prior string or blob content in the pMem object may be discarded. +** The pMem->xDel destructor is called, if it exists. Though MEM_Str +** and MEM_Blob values may be discarded, MEM_Int, MEM_Real, and MEM_Null +** values are preserved. +** +** Return SQLITE_OK on success or an error code (probably SQLITE_NOMEM) +** if unable to complete the resizing. +*/ +SQLITE_PRIVATE int sqlite3VdbeMemClearAndResize(Mem *pMem, int szNew){ + assert( szNew>0 ); + assert( (pMem->flags & MEM_Dyn)==0 || pMem->szMalloc==0 ); + if( pMem->szMalloc<szNew ){ + return sqlite3VdbeMemGrow(pMem, szNew, 0); + } + assert( (pMem->flags & MEM_Dyn)==0 ); + pMem->z = pMem->zMalloc; + pMem->flags &= (MEM_Null|MEM_Int|MEM_Real); + return SQLITE_OK; +} + +/* +** Change pMem so that its MEM_Str or MEM_Blob value is stored in +** MEM.zMalloc, where it can be safely written. ** ** Return SQLITE_OK on success or SQLITE_NOMEM if malloc fails. */ @@ -60979,7 +61853,7 @@ SQLITE_PRIVATE int sqlite3VdbeMemMakeWriteable(Mem *pMem){ assert( (pMem->flags&MEM_RowSet)==0 ); ExpandBlob(pMem); f = pMem->flags; - if( (f&(MEM_Str|MEM_Blob)) && pMem->z!=pMem->zMalloc ){ + if( (f&(MEM_Str|MEM_Blob)) && (pMem->szMalloc==0 || pMem->z!=pMem->zMalloc) ){ if( sqlite3VdbeMemGrow(pMem, pMem->n + 2, 1) ){ return SQLITE_NOMEM; } @@ -61023,15 +61897,11 @@ SQLITE_PRIVATE int sqlite3VdbeMemExpandBlob(Mem *pMem){ } #endif - /* -** Make sure the given Mem is \u0000 terminated. +** It is already known that pMem contains an unterminated string. +** Add the zero terminator. */ -SQLITE_PRIVATE int sqlite3VdbeMemNulTerminate(Mem *pMem){ - assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); - if( (pMem->flags & MEM_Term)!=0 || (pMem->flags & MEM_Str)==0 ){ - return SQLITE_OK; /* Nothing to do */ - } +static SQLITE_NOINLINE int vdbeMemAddTerminator(Mem *pMem){ if( sqlite3VdbeMemGrow(pMem, pMem->n+2, 1) ){ return SQLITE_NOMEM; } @@ -61042,20 +61912,34 @@ SQLITE_PRIVATE int sqlite3VdbeMemNulTerminate(Mem *pMem){ } /* +** Make sure the given Mem is \u0000 terminated. +*/ +SQLITE_PRIVATE int sqlite3VdbeMemNulTerminate(Mem *pMem){ + assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); + testcase( (pMem->flags & (MEM_Term|MEM_Str))==(MEM_Term|MEM_Str) ); + testcase( (pMem->flags & (MEM_Term|MEM_Str))==0 ); + if( (pMem->flags & (MEM_Term|MEM_Str))!=MEM_Str ){ + return SQLITE_OK; /* Nothing to do */ + }else{ + return vdbeMemAddTerminator(pMem); + } +} + +/* ** Add MEM_Str to the set of representations for the given Mem. Numbers ** are converted using sqlite3_snprintf(). Converting a BLOB to a string ** is a no-op. ** -** Existing representations MEM_Int and MEM_Real are *not* invalidated. +** Existing representations MEM_Int and MEM_Real are invalidated if +** bForce is true but are retained if bForce is false. ** ** A MEM_Null value will never be passed to this function. This function is ** used for converting values to text for returning to the user (i.e. via ** sqlite3_value_text()), or for ensuring that values to be used as btree ** keys are strings. In the former case a NULL pointer is returned the -** user and the later is an internal programming error. +** user and the latter is an internal programming error. */ -SQLITE_PRIVATE int sqlite3VdbeMemStringify(Mem *pMem, int enc){ - int rc = SQLITE_OK; +SQLITE_PRIVATE int sqlite3VdbeMemStringify(Mem *pMem, u8 enc, u8 bForce){ int fg = pMem->flags; const int nByte = 32; @@ -61067,11 +61951,11 @@ SQLITE_PRIVATE int sqlite3VdbeMemStringify(Mem *pMem, int enc){ assert( EIGHT_BYTE_ALIGNMENT(pMem) ); - if( sqlite3VdbeMemGrow(pMem, nByte, 0) ){ + if( sqlite3VdbeMemClearAndResize(pMem, nByte) ){ return SQLITE_NOMEM; } - /* For a Real or Integer, use sqlite3_mprintf() to produce the UTF-8 + /* For a Real or Integer, use sqlite3_snprintf() to produce the UTF-8 ** string representation of the value. Then, if the required encoding ** is UTF-16le or UTF-16be do a translation. ** @@ -61081,13 +61965,14 @@ SQLITE_PRIVATE int sqlite3VdbeMemStringify(Mem *pMem, int enc){ sqlite3_snprintf(nByte, pMem->z, "%lld", pMem->u.i); }else{ assert( fg & MEM_Real ); - sqlite3_snprintf(nByte, pMem->z, "%!.15g", pMem->r); + sqlite3_snprintf(nByte, pMem->z, "%!.15g", pMem->u.r); } pMem->n = sqlite3Strlen30(pMem->z); pMem->enc = SQLITE_UTF8; pMem->flags |= MEM_Str|MEM_Term; + if( bForce ) pMem->flags &= ~(MEM_Int|MEM_Real); sqlite3VdbeChangeEncoding(pMem, enc); - return rc; + return SQLITE_OK; } /* @@ -61102,59 +61987,90 @@ SQLITE_PRIVATE int sqlite3VdbeMemFinalize(Mem *pMem, FuncDef *pFunc){ int rc = SQLITE_OK; if( ALWAYS(pFunc && pFunc->xFinalize) ){ sqlite3_context ctx; + Mem t; assert( (pMem->flags & MEM_Null)!=0 || pFunc==pMem->u.pDef ); assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); memset(&ctx, 0, sizeof(ctx)); - ctx.s.flags = MEM_Null; - ctx.s.db = pMem->db; + memset(&t, 0, sizeof(t)); + t.flags = MEM_Null; + t.db = pMem->db; + ctx.pOut = &t; ctx.pMem = pMem; ctx.pFunc = pFunc; pFunc->xFinalize(&ctx); /* IMP: R-24505-23230 */ - assert( 0==(pMem->flags&MEM_Dyn) && !pMem->xDel ); - sqlite3DbFree(pMem->db, pMem->zMalloc); - memcpy(pMem, &ctx.s, sizeof(ctx.s)); + assert( (pMem->flags & MEM_Dyn)==0 ); + if( pMem->szMalloc>0 ) sqlite3DbFree(pMem->db, pMem->zMalloc); + memcpy(pMem, &t, sizeof(t)); rc = ctx.isError; } return rc; } /* -** If the memory cell contains a string value that must be freed by -** invoking an external callback, free it now. Calling this function -** does not free any Mem.zMalloc buffer. +** If the memory cell contains a value that must be freed by +** invoking the external callback in Mem.xDel, then this routine +** will free that value. It also sets Mem.flags to MEM_Null. +** +** This is a helper routine for sqlite3VdbeMemSetNull() and +** for sqlite3VdbeMemRelease(). Use those other routines as the +** entry point for releasing Mem resources. */ -SQLITE_PRIVATE void sqlite3VdbeMemReleaseExternal(Mem *p){ +static SQLITE_NOINLINE void vdbeMemClearExternAndSetNull(Mem *p){ assert( p->db==0 || sqlite3_mutex_held(p->db->mutex) ); + assert( VdbeMemDynamic(p) ); if( p->flags&MEM_Agg ){ sqlite3VdbeMemFinalize(p, p->u.pDef); assert( (p->flags & MEM_Agg)==0 ); - sqlite3VdbeMemRelease(p); - }else if( p->flags&MEM_Dyn ){ + testcase( p->flags & MEM_Dyn ); + } + if( p->flags&MEM_Dyn ){ assert( (p->flags&MEM_RowSet)==0 ); assert( p->xDel!=SQLITE_DYNAMIC && p->xDel!=0 ); p->xDel((void *)p->z); - p->xDel = 0; }else if( p->flags&MEM_RowSet ){ sqlite3RowSetClear(p->u.pRowSet); }else if( p->flags&MEM_Frame ){ - sqlite3VdbeMemSetNull(p); + VdbeFrame *pFrame = p->u.pFrame; + pFrame->pParent = pFrame->v->pDelFrame; + pFrame->v->pDelFrame = pFrame; } + p->flags = MEM_Null; } /* -** Release any memory held by the Mem. This may leave the Mem in an -** inconsistent state, for example with (Mem.z==0) and -** (Mem.flags==MEM_Str). +** Release memory held by the Mem p, both external memory cleared +** by p->xDel and memory in p->zMalloc. +** +** This is a helper routine invoked by sqlite3VdbeMemRelease() in +** the unusual case where there really is memory in p that needs +** to be freed. */ -SQLITE_PRIVATE void sqlite3VdbeMemRelease(Mem *p){ - assert( sqlite3VdbeCheckMemInvariants(p) ); - VdbeMemRelease(p); - if( p->zMalloc ){ +static SQLITE_NOINLINE void vdbeMemClear(Mem *p){ + if( VdbeMemDynamic(p) ){ + vdbeMemClearExternAndSetNull(p); + } + if( p->szMalloc ){ sqlite3DbFree(p->db, p->zMalloc); - p->zMalloc = 0; + p->szMalloc = 0; } p->z = 0; - assert( p->xDel==0 ); /* Zeroed by VdbeMemRelease() above */ +} + +/* +** Release any memory resources held by the Mem. Both the memory that is +** free by Mem.xDel and the Mem.zMalloc allocation are freed. +** +** Use this routine prior to clean up prior to abandoning a Mem, or to +** reset a Mem back to its minimum memory utilization. +** +** Use sqlite3VdbeMemSetNull() to release just the Mem.xDel space +** prior to inserting new content into the Mem. +*/ +SQLITE_PRIVATE void sqlite3VdbeMemRelease(Mem *p){ + assert( sqlite3VdbeCheckMemInvariants(p) ); + if( VdbeMemDynamic(p) || p->szMalloc ){ + vdbeMemClear(p); + } } /* @@ -61193,7 +62109,7 @@ static i64 doubleToInt64(double r){ ** If pMem is an integer, then the value is exact. If pMem is ** a floating-point then the value returned is the integer part. ** If pMem is a string or blob, then we make an attempt to convert -** it into a integer and return that. If pMem represents an +** it into an integer and return that. If pMem represents an ** an SQL-NULL value, return 0. ** ** If pMem represents a string value, its encoding might be changed. @@ -61206,11 +62122,10 @@ SQLITE_PRIVATE i64 sqlite3VdbeIntValue(Mem *pMem){ if( flags & MEM_Int ){ return pMem->u.i; }else if( flags & MEM_Real ){ - return doubleToInt64(pMem->r); + return doubleToInt64(pMem->u.r); }else if( flags & (MEM_Str|MEM_Blob) ){ i64 value = 0; assert( pMem->z || pMem->n==0 ); - testcase( pMem->z==0 ); sqlite3Atoi64(pMem->z, &value, pMem->n, pMem->enc); return value; }else{ @@ -61228,7 +62143,7 @@ SQLITE_PRIVATE double sqlite3VdbeRealValue(Mem *pMem){ assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); assert( EIGHT_BYTE_ALIGNMENT(pMem) ); if( pMem->flags & MEM_Real ){ - return pMem->r; + return pMem->u.r; }else if( pMem->flags & MEM_Int ){ return (double)pMem->u.i; }else if( pMem->flags & (MEM_Str|MEM_Blob) ){ @@ -61247,12 +62162,13 @@ SQLITE_PRIVATE double sqlite3VdbeRealValue(Mem *pMem){ ** MEM_Int if we can. */ SQLITE_PRIVATE void sqlite3VdbeIntegerAffinity(Mem *pMem){ + i64 ix; assert( pMem->flags & MEM_Real ); assert( (pMem->flags & MEM_RowSet)==0 ); assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); assert( EIGHT_BYTE_ALIGNMENT(pMem) ); - pMem->u.i = doubleToInt64(pMem->r); + ix = doubleToInt64(pMem->u.r); /* Only mark the value as an integer if ** @@ -61264,11 +62180,9 @@ SQLITE_PRIVATE void sqlite3VdbeIntegerAffinity(Mem *pMem){ ** the second condition under the assumption that addition overflow causes ** values to wrap around. */ - if( pMem->r==(double)pMem->u.i - && pMem->u.i>SMALLEST_INT64 - && pMem->u.i<LARGEST_INT64 - ){ - pMem->flags |= MEM_Int; + if( pMem->u.r==ix && ix>SMALLEST_INT64 && ix<LARGEST_INT64 ){ + pMem->u.i = ix; + MemSetTypeFlag(pMem, MEM_Int); } } @@ -61293,7 +62207,7 @@ SQLITE_PRIVATE int sqlite3VdbeMemRealify(Mem *pMem){ assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); assert( EIGHT_BYTE_ALIGNMENT(pMem) ); - pMem->r = sqlite3VdbeRealValue(pMem); + pMem->u.r = sqlite3VdbeRealValue(pMem); MemSetTypeFlag(pMem, MEM_Real); return SQLITE_OK; } @@ -61313,7 +62227,7 @@ SQLITE_PRIVATE int sqlite3VdbeMemNumerify(Mem *pMem){ if( 0==sqlite3Atoi64(pMem->z, &pMem->u.i, pMem->n, pMem->enc) ){ MemSetTypeFlag(pMem, MEM_Int); }else{ - pMem->r = sqlite3VdbeRealValue(pMem); + pMem->u.r = sqlite3VdbeRealValue(pMem); MemSetTypeFlag(pMem, MEM_Real); sqlite3VdbeIntegerAffinity(pMem); } @@ -61324,18 +62238,80 @@ SQLITE_PRIVATE int sqlite3VdbeMemNumerify(Mem *pMem){ } /* +** Cast the datatype of the value in pMem according to the affinity +** "aff". Casting is different from applying affinity in that a cast +** is forced. In other words, the value is converted into the desired +** affinity even if that results in loss of data. This routine is +** used (for example) to implement the SQL "cast()" operator. +*/ +SQLITE_PRIVATE void sqlite3VdbeMemCast(Mem *pMem, u8 aff, u8 encoding){ + if( pMem->flags & MEM_Null ) return; + switch( aff ){ + case SQLITE_AFF_NONE: { /* Really a cast to BLOB */ + if( (pMem->flags & MEM_Blob)==0 ){ + sqlite3ValueApplyAffinity(pMem, SQLITE_AFF_TEXT, encoding); + assert( pMem->flags & MEM_Str || pMem->db->mallocFailed ); + MemSetTypeFlag(pMem, MEM_Blob); + }else{ + pMem->flags &= ~(MEM_TypeMask&~MEM_Blob); + } + break; + } + case SQLITE_AFF_NUMERIC: { + sqlite3VdbeMemNumerify(pMem); + break; + } + case SQLITE_AFF_INTEGER: { + sqlite3VdbeMemIntegerify(pMem); + break; + } + case SQLITE_AFF_REAL: { + sqlite3VdbeMemRealify(pMem); + break; + } + default: { + assert( aff==SQLITE_AFF_TEXT ); + assert( MEM_Str==(MEM_Blob>>3) ); + pMem->flags |= (pMem->flags&MEM_Blob)>>3; + sqlite3ValueApplyAffinity(pMem, SQLITE_AFF_TEXT, encoding); + assert( pMem->flags & MEM_Str || pMem->db->mallocFailed ); + pMem->flags &= ~(MEM_Int|MEM_Real|MEM_Blob|MEM_Zero); + break; + } + } +} + +/* +** Initialize bulk memory to be a consistent Mem object. +** +** The minimum amount of initialization feasible is performed. +*/ +SQLITE_PRIVATE void sqlite3VdbeMemInit(Mem *pMem, sqlite3 *db, u16 flags){ + assert( (flags & ~MEM_TypeMask)==0 ); + pMem->flags = flags; + pMem->db = db; + pMem->szMalloc = 0; +} + + +/* ** Delete any previous value and set the value stored in *pMem to NULL. +** +** This routine calls the Mem.xDel destructor to dispose of values that +** require the destructor. But it preserves the Mem.zMalloc memory allocation. +** To free all resources, use sqlite3VdbeMemRelease(), which both calls this +** routine to invoke the destructor and deallocates Mem.zMalloc. +** +** Use this routine to reset the Mem prior to insert a new value. +** +** Use sqlite3VdbeMemRelease() to complete erase the Mem prior to abandoning it. */ SQLITE_PRIVATE void sqlite3VdbeMemSetNull(Mem *pMem){ - if( pMem->flags & MEM_Frame ){ - VdbeFrame *pFrame = pMem->u.pFrame; - pFrame->pParent = pFrame->v->pDelFrame; - pFrame->v->pDelFrame = pFrame; - } - if( pMem->flags & MEM_RowSet ){ - sqlite3RowSetClear(pMem->u.pRowSet); + if( VdbeMemDynamic(pMem) ){ + vdbeMemClearExternAndSetNull(pMem); + }else{ + pMem->flags = MEM_Null; } - MemSetTypeFlag(pMem, MEM_Null); } SQLITE_PRIVATE void sqlite3ValueSetNull(sqlite3_value *p){ sqlite3VdbeMemSetNull((Mem*)p); @@ -61352,14 +62328,18 @@ SQLITE_PRIVATE void sqlite3VdbeMemSetZeroBlob(Mem *pMem, int n){ if( n<0 ) n = 0; pMem->u.nZero = n; pMem->enc = SQLITE_UTF8; + pMem->z = 0; +} -#ifdef SQLITE_OMIT_INCRBLOB - sqlite3VdbeMemGrow(pMem, n, 0); - if( pMem->z ){ - pMem->n = n; - memset(pMem->z, 0, n); - } -#endif +/* +** The pMem is known to contain content that needs to be destroyed prior +** to a value change. So invoke the destructor, then set the value to +** a 64-bit integer. +*/ +static SQLITE_NOINLINE void vdbeReleaseAndSetInt64(Mem *pMem, i64 val){ + sqlite3VdbeMemSetNull(pMem); + pMem->u.i = val; + pMem->flags = MEM_Int; } /* @@ -61367,9 +62347,12 @@ SQLITE_PRIVATE void sqlite3VdbeMemSetZeroBlob(Mem *pMem, int n){ ** manifest type INTEGER. */ SQLITE_PRIVATE void sqlite3VdbeMemSetInt64(Mem *pMem, i64 val){ - sqlite3VdbeMemRelease(pMem); - pMem->u.i = val; - pMem->flags = MEM_Int; + if( VdbeMemDynamic(pMem) ){ + vdbeReleaseAndSetInt64(pMem, val); + }else{ + pMem->u.i = val; + pMem->flags = MEM_Int; + } } #ifndef SQLITE_OMIT_FLOATING_POINT @@ -61378,11 +62361,9 @@ SQLITE_PRIVATE void sqlite3VdbeMemSetInt64(Mem *pMem, i64 val){ ** manifest type REAL. */ SQLITE_PRIVATE void sqlite3VdbeMemSetDouble(Mem *pMem, double val){ - if( sqlite3IsNaN(val) ){ - sqlite3VdbeMemSetNull(pMem); - }else{ - sqlite3VdbeMemRelease(pMem); - pMem->r = val; + sqlite3VdbeMemSetNull(pMem); + if( !sqlite3IsNaN(val) ){ + pMem->u.r = val; pMem->flags = MEM_Real; } } @@ -61400,10 +62381,11 @@ SQLITE_PRIVATE void sqlite3VdbeMemSetRowSet(Mem *pMem){ pMem->zMalloc = sqlite3DbMallocRaw(db, 64); if( db->mallocFailed ){ pMem->flags = MEM_Null; + pMem->szMalloc = 0; }else{ assert( pMem->zMalloc ); - pMem->u.pRowSet = sqlite3RowSetInit(db, pMem->zMalloc, - sqlite3DbMallocSize(db, pMem->zMalloc)); + pMem->szMalloc = sqlite3DbMallocSize(db, pMem->zMalloc); + pMem->u.pRowSet = sqlite3RowSetInit(db, pMem->zMalloc, pMem->szMalloc); assert( pMem->u.pRowSet!=0 ); pMem->flags = MEM_RowSet; } @@ -61427,7 +62409,7 @@ SQLITE_PRIVATE int sqlite3VdbeMemTooBig(Mem *p){ #ifdef SQLITE_DEBUG /* -** This routine prepares a memory cell for modication by breaking +** This routine prepares a memory cell for modification by breaking ** its link to a shallow copy and by marking any current shallow ** copies of this cell as invalid. ** @@ -61460,9 +62442,9 @@ SQLITE_PRIVATE void sqlite3VdbeMemAboutToChange(Vdbe *pVdbe, Mem *pMem){ */ SQLITE_PRIVATE void sqlite3VdbeMemShallowCopy(Mem *pTo, const Mem *pFrom, int srcType){ assert( (pFrom->flags & MEM_RowSet)==0 ); - VdbeMemRelease(pTo); + assert( pTo->db==pFrom->db ); + if( VdbeMemDynamic(pTo) ) vdbeMemClearExternAndSetNull(pTo); memcpy(pTo, pFrom, MEMCELLSIZE); - pTo->xDel = 0; if( (pFrom->flags&MEM_Static)==0 ){ pTo->flags &= ~(MEM_Dyn|MEM_Static|MEM_Ephem); assert( srcType==MEM_Ephem || srcType==MEM_Static ); @@ -61477,12 +62459,11 @@ SQLITE_PRIVATE void sqlite3VdbeMemShallowCopy(Mem *pTo, const Mem *pFrom, int sr SQLITE_PRIVATE int sqlite3VdbeMemCopy(Mem *pTo, const Mem *pFrom){ int rc = SQLITE_OK; + assert( pTo->db==pFrom->db ); assert( (pFrom->flags & MEM_RowSet)==0 ); - VdbeMemRelease(pTo); + if( VdbeMemDynamic(pTo) ) vdbeMemClearExternAndSetNull(pTo); memcpy(pTo, pFrom, MEMCELLSIZE); pTo->flags &= ~MEM_Dyn; - pTo->xDel = 0; - if( pTo->flags&(MEM_Str|MEM_Blob) ){ if( 0==(pFrom->flags&MEM_Static) ){ pTo->flags |= MEM_Ephem; @@ -61507,8 +62488,7 @@ SQLITE_PRIVATE void sqlite3VdbeMemMove(Mem *pTo, Mem *pFrom){ sqlite3VdbeMemRelease(pTo); memcpy(pTo, pFrom, sizeof(Mem)); pFrom->flags = MEM_Null; - pFrom->xDel = 0; - pFrom->zMalloc = 0; + pFrom->szMalloc = 0; } /* @@ -61555,7 +62535,8 @@ SQLITE_PRIVATE int sqlite3VdbeMemSetStr( if( nByte<0 ){ assert( enc!=0 ); if( enc==SQLITE_UTF8 ){ - for(nByte=0; nByte<=iLimit && z[nByte]; nByte++){} + nByte = sqlite3Strlen30(z); + if( nByte>iLimit ) nByte = iLimit+1; }else{ for(nByte=0; nByte<=iLimit && (z[nByte] | z[nByte+1]); nByte+=2){} } @@ -61574,14 +62555,17 @@ SQLITE_PRIVATE int sqlite3VdbeMemSetStr( if( nByte>iLimit ){ return SQLITE_TOOBIG; } - if( sqlite3VdbeMemGrow(pMem, nAlloc, 0) ){ + testcase( nAlloc==0 ); + testcase( nAlloc==31 ); + testcase( nAlloc==32 ); + if( sqlite3VdbeMemClearAndResize(pMem, MAX(nAlloc,32)) ){ return SQLITE_NOMEM; } memcpy(pMem->z, z, nAlloc); }else if( xDel==SQLITE_DYNAMIC ){ sqlite3VdbeMemRelease(pMem); pMem->zMalloc = pMem->z = (char *)z; - pMem->xDel = 0; + pMem->szMalloc = sqlite3DbMallocSize(pMem->db, pMem->zMalloc); }else{ sqlite3VdbeMemRelease(pMem); pMem->z = (char *)z; @@ -61613,8 +62597,11 @@ SQLITE_PRIVATE int sqlite3VdbeMemSetStr( ** key is true to get the key or false to get data. The result is written ** into the pMem element. ** -** The pMem structure is assumed to be uninitialized. Any prior content -** is overwritten without being freed. +** The pMem object must have been initialized. This routine will use +** pMem->zMalloc to hold the content from the btree, if possible. New +** pMem->zMalloc space will be allocated if necessary. The calling routine +** is responsible for making sure that the pMem object is eventually +** destroyed. ** ** If this routine fails for any reason (malloc returns NULL or unable ** to read from the disk) then the pMem is left in an inconsistent state. @@ -61631,6 +62618,7 @@ SQLITE_PRIVATE int sqlite3VdbeMemFromBtree( int rc = SQLITE_OK; /* Return code */ assert( sqlite3BtreeCursorIsValid(pCur) ); + assert( !VdbeMemDynamic(pMem) ); /* Note: the calls to BtreeKeyFetch() and DataFetch() below assert() ** that both the BtShared and database handle mutexes are held. */ @@ -61643,54 +62631,50 @@ SQLITE_PRIVATE int sqlite3VdbeMemFromBtree( assert( zData!=0 ); if( offset+amt<=available ){ - sqlite3VdbeMemRelease(pMem); pMem->z = &zData[offset]; pMem->flags = MEM_Blob|MEM_Ephem; pMem->n = (int)amt; - }else if( SQLITE_OK==(rc = sqlite3VdbeMemGrow(pMem, amt+2, 0)) ){ - if( key ){ - rc = sqlite3BtreeKey(pCur, offset, amt, pMem->z); - }else{ - rc = sqlite3BtreeData(pCur, offset, amt, pMem->z); - } - if( rc==SQLITE_OK ){ - pMem->z[amt] = 0; - pMem->z[amt+1] = 0; - pMem->flags = MEM_Blob|MEM_Term; - pMem->n = (int)amt; - }else{ - sqlite3VdbeMemRelease(pMem); + }else{ + pMem->flags = MEM_Null; + if( SQLITE_OK==(rc = sqlite3VdbeMemClearAndResize(pMem, amt+2)) ){ + if( key ){ + rc = sqlite3BtreeKey(pCur, offset, amt, pMem->z); + }else{ + rc = sqlite3BtreeData(pCur, offset, amt, pMem->z); + } + if( rc==SQLITE_OK ){ + pMem->z[amt] = 0; + pMem->z[amt+1] = 0; + pMem->flags = MEM_Blob|MEM_Term; + pMem->n = (int)amt; + }else{ + sqlite3VdbeMemRelease(pMem); + } } } return rc; } -/* This function is only available internally, it is not part of the -** external API. It works in a similar way to sqlite3_value_text(), -** except the data returned is in the encoding specified by the second -** parameter, which must be one of SQLITE_UTF16BE, SQLITE_UTF16LE or -** SQLITE_UTF8. -** -** (2006-02-16:) The enc value can be or-ed with SQLITE_UTF16_ALIGNED. -** If that is the case, then the result must be aligned on an even byte -** boundary. +/* +** The pVal argument is known to be a value other than NULL. +** Convert it into a string with encoding enc and return a pointer +** to a zero-terminated version of that string. */ -SQLITE_PRIVATE const void *sqlite3ValueText(sqlite3_value* pVal, u8 enc){ - if( !pVal ) return 0; - +static SQLITE_NOINLINE const void *valueToText(sqlite3_value* pVal, u8 enc){ + assert( pVal!=0 ); assert( pVal->db==0 || sqlite3_mutex_held(pVal->db->mutex) ); assert( (enc&3)==(enc&~SQLITE_UTF16_ALIGNED) ); assert( (pVal->flags & MEM_RowSet)==0 ); - - if( pVal->flags&MEM_Null ){ - return 0; - } - assert( (MEM_Blob>>3) == MEM_Str ); - pVal->flags |= (pVal->flags & MEM_Blob)>>3; - ExpandBlob(pVal); - if( pVal->flags&MEM_Str ){ - sqlite3VdbeChangeEncoding(pVal, enc & ~SQLITE_UTF16_ALIGNED); + assert( (pVal->flags & (MEM_Null))==0 ); + if( pVal->flags & (MEM_Blob|MEM_Str) ){ + pVal->flags |= MEM_Str; + if( pVal->flags & MEM_Zero ){ + sqlite3VdbeMemExpandBlob(pVal); + } + if( pVal->enc != (enc & ~SQLITE_UTF16_ALIGNED) ){ + sqlite3VdbeChangeEncoding(pVal, enc & ~SQLITE_UTF16_ALIGNED); + } if( (enc & SQLITE_UTF16_ALIGNED)!=0 && 1==(1&SQLITE_PTR_TO_INT(pVal->z)) ){ assert( (pVal->flags & (MEM_Ephem|MEM_Static))!=0 ); if( sqlite3VdbeMemMakeWriteable(pVal)!=SQLITE_OK ){ @@ -61699,8 +62683,7 @@ SQLITE_PRIVATE const void *sqlite3ValueText(sqlite3_value* pVal, u8 enc){ } sqlite3VdbeMemNulTerminate(pVal); /* IMP: R-31275-44060 */ }else{ - assert( (pVal->flags&MEM_Blob)==0 ); - sqlite3VdbeMemStringify(pVal, enc); + sqlite3VdbeMemStringify(pVal, enc, 0); assert( 0==(1&SQLITE_PTR_TO_INT(pVal->z)) ); } assert(pVal->enc==(enc & ~SQLITE_UTF16_ALIGNED) || pVal->db==0 @@ -61712,6 +62695,30 @@ SQLITE_PRIVATE const void *sqlite3ValueText(sqlite3_value* pVal, u8 enc){ } } +/* This function is only available internally, it is not part of the +** external API. It works in a similar way to sqlite3_value_text(), +** except the data returned is in the encoding specified by the second +** parameter, which must be one of SQLITE_UTF16BE, SQLITE_UTF16LE or +** SQLITE_UTF8. +** +** (2006-02-16:) The enc value can be or-ed with SQLITE_UTF16_ALIGNED. +** If that is the case, then the result must be aligned on an even byte +** boundary. +*/ +SQLITE_PRIVATE const void *sqlite3ValueText(sqlite3_value* pVal, u8 enc){ + if( !pVal ) return 0; + assert( pVal->db==0 || sqlite3_mutex_held(pVal->db->mutex) ); + assert( (enc&3)==(enc&~SQLITE_UTF16_ALIGNED) ); + assert( (pVal->flags & MEM_RowSet)==0 ); + if( (pVal->flags&(MEM_Str|MEM_Term))==(MEM_Str|MEM_Term) && pVal->enc==enc ){ + return pVal->z; + } + if( pVal->flags&MEM_Null ){ + return 0; + } + return valueToText(pVal, enc); +} + /* ** Create a new sqlite3_value object. */ @@ -61816,9 +62823,20 @@ static int valueFromExpr( *ppVal = 0; return SQLITE_OK; } - op = pExpr->op; + while( (op = pExpr->op)==TK_UPLUS ) pExpr = pExpr->pLeft; if( NEVER(op==TK_REGISTER) ) op = pExpr->op2; + if( op==TK_CAST ){ + u8 aff = sqlite3AffinityType(pExpr->u.zToken,0); + rc = valueFromExpr(db, pExpr->pLeft, enc, aff, ppVal, pCtx); + testcase( rc!=SQLITE_OK ); + if( *ppVal ){ + sqlite3VdbeMemCast(*ppVal, aff, SQLITE_UTF8); + sqlite3ValueApplyAffinity(*ppVal, affinity, SQLITE_UTF8); + } + return rc; + } + /* Handle negative integers in a single step. This is needed in the ** case when the value is -9223372036854775808. */ @@ -61855,14 +62873,14 @@ static int valueFromExpr( && pVal!=0 ){ sqlite3VdbeMemNumerify(pVal); - if( pVal->u.i==SMALLEST_INT64 ){ - pVal->flags &= ~MEM_Int; - pVal->flags |= MEM_Real; - pVal->r = (double)SMALLEST_INT64; + if( pVal->flags & MEM_Real ){ + pVal->u.r = -pVal->u.r; + }else if( pVal->u.i==SMALLEST_INT64 ){ + pVal->u.r = -(double)SMALLEST_INT64; + MemSetTypeFlag(pVal, MEM_Real); }else{ pVal->u.i = -pVal->u.i; } - pVal->r = -pVal->r; sqlite3ValueApplyAffinity(pVal, affinity, enc); } }else if( op==TK_NULL ){ @@ -61953,7 +62971,7 @@ static void recordFunc( sqlite3_result_error_nomem(context); }else{ aRet[0] = nSerial+1; - sqlite3PutVarint(&aRet[1], iSerial); + putVarint32(&aRet[1], iSerial); sqlite3VdbeSerialPut(&aRet[1+nSerial], argv[0], iSerial); sqlite3_result_blob(context, aRet, nRet, SQLITE_TRANSIENT); sqlite3DbFree(db, aRet); @@ -62170,7 +63188,7 @@ SQLITE_PRIVATE void sqlite3Stat4ProbeFree(UnpackedRecord *pRec){ Mem *aMem = pRec->aMem; sqlite3 *db = aMem[0].db; for(i=0; i<nCol; i++){ - sqlite3DbFree(db, aMem[i].zMalloc); + if( aMem[i].szMalloc ) sqlite3DbFree(db, aMem[i].zMalloc); } sqlite3KeyInfoUnref(pRec->pKeyInfo); sqlite3DbFree(db, pRec); @@ -62230,9 +63248,7 @@ SQLITE_PRIVATE int sqlite3ValueBytes(sqlite3_value *pVal, u8 enc){ ** ************************************************************************* ** This file contains code used for creating, destroying, and populating -** a VDBE (or an "sqlite3_stmt" as it is known to the outside world.) Prior -** to version 2.8.7, all this code was combined into the vdbe.c source file. -** But that file was getting too big so this subroutines were split out. +** a VDBE (or an "sqlite3_stmt" as it is known to the outside world.) */ /* @@ -62916,7 +63932,7 @@ static void freeP4(sqlite3 *db, int p4type, void *p4){ sqlite3ValueFree((sqlite3_value*)p4); }else{ Mem *p = (Mem*)p4; - sqlite3DbFree(db, p->zMalloc); + if( p->szMalloc ) sqlite3DbFree(db, p->zMalloc); sqlite3DbFree(db, p); } break; @@ -62972,7 +63988,8 @@ SQLITE_PRIVATE void sqlite3VdbeChangeToNoop(Vdbe *p, int addr){ } /* -** Remove the last opcode inserted +** If the last opcode is "op" and it is not a jump destination, +** then remove it. Return true if and only if an opcode was removed. */ SQLITE_PRIVATE int sqlite3VdbeDeletePriorOpcode(Vdbe *p, u8 op){ if( (p->nOp-1)>(p->pParse->iFixedOp) && p->aOp[p->nOp-1].opcode==op ){ @@ -63113,7 +64130,7 @@ SQLITE_PRIVATE void sqlite3VdbeSetLineNumber(Vdbe *v, int iLine){ ** routine, then a pointer to a dummy VdbeOp will be returned. That opcode ** is readable but not writable, though it is cast to a writable value. ** The return of a dummy opcode allows the call to continue functioning -** after a OOM fault without having to check to see if the return from +** after an OOM fault without having to check to see if the return from ** this routine is a valid pointer. But because the dummy.opcode is 0, ** dummy will never be written to. This is verified by code inspection and ** by running with Valgrind. @@ -63294,7 +64311,7 @@ static char *displayP4(Op *pOp, char *zTemp, int nTemp){ }else if( pMem->flags & MEM_Int ){ sqlite3_snprintf(nTemp, zTemp, "%lld", pMem->u.i); }else if( pMem->flags & MEM_Real ){ - sqlite3_snprintf(nTemp, zTemp, "%.16g", pMem->r); + sqlite3_snprintf(nTemp, zTemp, "%.16g", pMem->u.r); }else if( pMem->flags & MEM_Null ){ sqlite3_snprintf(nTemp, zTemp, "NULL"); }else{ @@ -63444,16 +64461,16 @@ SQLITE_PRIVATE void sqlite3VdbePrintOp(FILE *pOut, int pc, Op *pOp){ */ static void releaseMemArray(Mem *p, int N){ if( p && N ){ - Mem *pEnd; + Mem *pEnd = &p[N]; sqlite3 *db = p->db; u8 malloc_failed = db->mallocFailed; if( db->pnBytesFreed ){ - for(pEnd=&p[N]; p<pEnd; p++){ - sqlite3DbFree(db, p->zMalloc); - } + do{ + if( p->szMalloc ) sqlite3DbFree(db, p->zMalloc); + }while( (++p)<pEnd ); return; } - for(pEnd=&p[N]; p<pEnd; p++){ + do{ assert( (&p[1])==pEnd || p[0].db==p[1].db ); assert( sqlite3VdbeCheckMemInvariants(p) ); @@ -63475,13 +64492,13 @@ static void releaseMemArray(Mem *p, int N){ testcase( p->flags & MEM_RowSet ); if( p->flags&(MEM_Agg|MEM_Dyn|MEM_Frame|MEM_RowSet) ){ sqlite3VdbeMemRelease(p); - }else if( p->zMalloc ){ + }else if( p->szMalloc ){ sqlite3DbFree(db, p->zMalloc); - p->zMalloc = 0; + p->szMalloc = 0; } p->flags = MEM_Undefined; - } + }while( (++p)<pEnd ); db->mallocFailed = malloc_failed; } } @@ -63644,7 +64661,7 @@ SQLITE_PRIVATE int sqlite3VdbeList( pMem->u.i = pOp->p3; /* P3 */ pMem++; - if( sqlite3VdbeMemGrow(pMem, 32, 0) ){ /* P4 */ + if( sqlite3VdbeMemClearAndResize(pMem, 32) ){ /* P4 */ assert( p->db->mallocFailed ); return SQLITE_ERROR; } @@ -63660,7 +64677,7 @@ SQLITE_PRIVATE int sqlite3VdbeList( pMem++; if( p->explain==1 ){ - if( sqlite3VdbeMemGrow(pMem, 4, 0) ){ + if( sqlite3VdbeMemClearAndResize(pMem, 4) ){ assert( p->db->mallocFailed ); return SQLITE_ERROR; } @@ -63671,7 +64688,7 @@ SQLITE_PRIVATE int sqlite3VdbeList( pMem++; #ifdef SQLITE_ENABLE_EXPLAIN_COMMENTS - if( sqlite3VdbeMemGrow(pMem, 500, 0) ){ + if( sqlite3VdbeMemClearAndResize(pMem, 500) ){ assert( p->db->mallocFailed ); return SQLITE_ERROR; } @@ -63824,13 +64841,13 @@ SQLITE_PRIVATE void sqlite3VdbeRewind(Vdbe *p){ /* ** Prepare a virtual machine for execution for the first time after ** creating the virtual machine. This involves things such -** as allocating stack space and initializing the program counter. +** as allocating registers and initializing the program counter. ** After the VDBE has be prepped, it can be executed by one or more ** calls to sqlite3VdbeExec(). ** -** This function may be called exact once on a each virtual machine. +** This function may be called exactly once on each virtual machine. ** After this routine is called the VM has been "packaged" and is ready -** to run. After this routine is called, futher calls to +** to run. After this routine is called, further calls to ** sqlite3VdbeAddOp() functions are prohibited. This routine disconnects ** the Vdbe from the Parse object that helped generate it so that the ** the Vdbe becomes an independent entity and the Parse object can be @@ -63964,7 +64981,7 @@ SQLITE_PRIVATE void sqlite3VdbeFreeCursor(Vdbe *p, VdbeCursor *pCx){ sqlite3BtreeCloseCursor(pCx->pCursor); } #ifndef SQLITE_OMIT_VIRTUALTABLE - if( pCx->pVtabCursor ){ + else if( pCx->pVtabCursor ){ sqlite3_vtab_cursor *pVtabCursor = pCx->pVtabCursor; const sqlite3_module *pModule = pVtabCursor->pVtab->pModule; p->inVtabMethod = 1; @@ -64007,9 +65024,10 @@ static void closeAllCursors(Vdbe *p){ VdbeFrame *pFrame; for(pFrame=p->pFrame; pFrame->pParent; pFrame=pFrame->pParent); sqlite3VdbeFrameRestore(pFrame); + p->pFrame = 0; + p->nFrame = 0; } - p->pFrame = 0; - p->nFrame = 0; + assert( p->nFrame==0 ); if( p->apCsr ){ int i; @@ -64031,16 +65049,12 @@ static void closeAllCursors(Vdbe *p){ } /* Delete any auxdata allocations made by the VM */ - sqlite3VdbeDeleteAuxData(p, -1, 0); + if( p->pAuxData ) sqlite3VdbeDeleteAuxData(p, -1, 0); assert( p->pAuxData==0 ); } /* -** Clean up the VM after execution. -** -** This routine will automatically close any cursors, lists, and/or -** sorters that were left open. It also deletes the values of -** variables in the aVar[] array. +** Clean up the VM after a single run. */ static void Cleanup(Vdbe *p){ sqlite3 *db = p->db; @@ -64208,7 +65222,7 @@ static int vdbeCommit(sqlite3 *db, Vdbe *p){ /* The complex case - There is a multi-file write-transaction active. ** This requires a master journal file to ensure the transaction is - ** committed atomicly. + ** committed atomically. */ #ifndef SQLITE_OMIT_DISKIO else{ @@ -64715,7 +65729,7 @@ SQLITE_PRIVATE int sqlite3VdbeTransferError(Vdbe *p){ db->mallocFailed = mallocFailed; db->errCode = rc; }else{ - sqlite3Error(db, rc, 0); + sqlite3Error(db, rc); } return rc; } @@ -64778,7 +65792,7 @@ SQLITE_PRIVATE int sqlite3VdbeReset(Vdbe *p){ ** to sqlite3_step(). For consistency (since sqlite3_step() was ** called), set the database error in this case as well. */ - sqlite3Error(db, p->rc, p->zErrMsg ? "%s" : 0, p->zErrMsg); + sqlite3ErrorWithMsg(db, p->rc, p->zErrMsg ? "%s" : 0, p->zErrMsg); sqlite3DbFree(db, p->zErrMsg); p->zErrMsg = 0; } @@ -64856,7 +65870,7 @@ SQLITE_PRIVATE int sqlite3VdbeFinalize(Vdbe *p){ ** from left to right), or ** ** * the corresponding bit in argument mask is clear (where the first -** function parameter corrsponds to bit 0 etc.). +** function parameter corresponds to bit 0 etc.). */ SQLITE_PRIVATE void sqlite3VdbeDeleteAuxData(Vdbe *pVdbe, int iOp, int mask){ AuxData **pp = &pVdbe->pAuxData; @@ -64901,10 +65915,6 @@ SQLITE_PRIVATE void sqlite3VdbeClearObject(sqlite3 *db, Vdbe *p){ sqlite3DbFree(db, p->aColName); sqlite3DbFree(db, p->zSql); sqlite3DbFree(db, p->pFree); -#if defined(SQLITE_ENABLE_TREE_EXPLAIN) - sqlite3DbFree(db, p->zExplain); - sqlite3DbFree(db, p->pExplain); -#endif } /* @@ -64932,6 +65942,57 @@ SQLITE_PRIVATE void sqlite3VdbeDelete(Vdbe *p){ } /* +** The cursor "p" has a pending seek operation that has not yet been +** carried out. Seek the cursor now. If an error occurs, return +** the appropriate error code. +*/ +static int SQLITE_NOINLINE handleDeferredMoveto(VdbeCursor *p){ + int res, rc; +#ifdef SQLITE_TEST + extern int sqlite3_search_count; +#endif + assert( p->deferredMoveto ); + assert( p->isTable ); + rc = sqlite3BtreeMovetoUnpacked(p->pCursor, 0, p->movetoTarget, 0, &res); + if( rc ) return rc; + if( res!=0 ) return SQLITE_CORRUPT_BKPT; +#ifdef SQLITE_TEST + sqlite3_search_count++; +#endif + p->deferredMoveto = 0; + p->cacheStatus = CACHE_STALE; + return SQLITE_OK; +} + +/* +** Something has moved cursor "p" out of place. Maybe the row it was +** pointed to was deleted out from under it. Or maybe the btree was +** rebalanced. Whatever the cause, try to restore "p" to the place it +** is supposed to be pointing. If the row was deleted out from under the +** cursor, set the cursor to point to a NULL row. +*/ +static int SQLITE_NOINLINE handleMovedCursor(VdbeCursor *p){ + int isDifferentRow, rc; + assert( p->pCursor!=0 ); + assert( sqlite3BtreeCursorHasMoved(p->pCursor) ); + rc = sqlite3BtreeCursorRestore(p->pCursor, &isDifferentRow); + p->cacheStatus = CACHE_STALE; + if( isDifferentRow ) p->nullRow = 1; + return rc; +} + +/* +** Check to ensure that the cursor is valid. Restore the cursor +** if need be. Return any I/O error from the restore operation. +*/ +SQLITE_PRIVATE int sqlite3VdbeCursorRestore(VdbeCursor *p){ + if( sqlite3BtreeCursorHasMoved(p->pCursor) ){ + return handleMovedCursor(p); + } + return SQLITE_OK; +} + +/* ** Make sure the cursor p is ready to read or write the row to which it ** was last positioned. Return an error code if an OOM fault or I/O error ** prevents us from positioning the cursor to its correct position. @@ -64946,29 +66007,10 @@ SQLITE_PRIVATE void sqlite3VdbeDelete(Vdbe *p){ */ SQLITE_PRIVATE int sqlite3VdbeCursorMoveto(VdbeCursor *p){ if( p->deferredMoveto ){ - int res, rc; -#ifdef SQLITE_TEST - extern int sqlite3_search_count; -#endif - assert( p->isTable ); - rc = sqlite3BtreeMovetoUnpacked(p->pCursor, 0, p->movetoTarget, 0, &res); - if( rc ) return rc; - p->lastRowid = p->movetoTarget; - if( res!=0 ) return SQLITE_CORRUPT_BKPT; - p->rowidIsValid = 1; -#ifdef SQLITE_TEST - sqlite3_search_count++; -#endif - p->deferredMoveto = 0; - p->cacheStatus = CACHE_STALE; - }else if( p->pCursor ){ - int hasMoved; - int rc = sqlite3BtreeCursorHasMoved(p->pCursor, &hasMoved); - if( rc ) return rc; - if( hasMoved ){ - p->cacheStatus = CACHE_STALE; - if( hasMoved==2 ) p->nullRow = 1; - } + return handleDeferredMoveto(p); + } + if( p->pCursor && sqlite3BtreeCursorHasMoved(p->pCursor) ){ + return handleMovedCursor(p); } return SQLITE_OK; } @@ -65144,17 +66186,18 @@ SQLITE_PRIVATE u32 sqlite3VdbeSerialPut(u8 *buf, Mem *pMem, u32 serial_type){ u64 v; u32 i; if( serial_type==7 ){ - assert( sizeof(v)==sizeof(pMem->r) ); - memcpy(&v, &pMem->r, sizeof(v)); + assert( sizeof(v)==sizeof(pMem->u.r) ); + memcpy(&v, &pMem->u.r, sizeof(v)); swapMixedEndianFloat(v); }else{ v = pMem->u.i; } len = i = sqlite3VdbeSerialTypeLen(serial_type); - while( i-- ){ - buf[i] = (u8)(v&0xFF); + assert( i>0 ); + do{ + buf[--i] = (u8)(v&0xFF); v >>= 8; - } + }while( i ); return len; } @@ -65178,18 +66221,54 @@ SQLITE_PRIVATE u32 sqlite3VdbeSerialPut(u8 *buf, Mem *pMem, u32 serial_type){ #define TWO_BYTE_INT(x) (256*(i8)((x)[0])|(x)[1]) #define THREE_BYTE_INT(x) (65536*(i8)((x)[0])|((x)[1]<<8)|(x)[2]) #define FOUR_BYTE_UINT(x) (((u32)(x)[0]<<24)|((x)[1]<<16)|((x)[2]<<8)|(x)[3]) +#define FOUR_BYTE_INT(x) (16777216*(i8)((x)[0])|((x)[1]<<16)|((x)[2]<<8)|(x)[3]) /* ** Deserialize the data blob pointed to by buf as serial type serial_type ** and store the result in pMem. Return the number of bytes read. +** +** This function is implemented as two separate routines for performance. +** The few cases that require local variables are broken out into a separate +** routine so that in most cases the overhead of moving the stack pointer +** is avoided. */ +static u32 SQLITE_NOINLINE serialGet( + const unsigned char *buf, /* Buffer to deserialize from */ + u32 serial_type, /* Serial type to deserialize */ + Mem *pMem /* Memory cell to write value into */ +){ + u64 x = FOUR_BYTE_UINT(buf); + u32 y = FOUR_BYTE_UINT(buf+4); + x = (x<<32) + y; + if( serial_type==6 ){ + pMem->u.i = *(i64*)&x; + pMem->flags = MEM_Int; + testcase( pMem->u.i<0 ); + }else{ +#if !defined(NDEBUG) && !defined(SQLITE_OMIT_FLOATING_POINT) + /* Verify that integers and floating point values use the same + ** byte order. Or, that if SQLITE_MIXED_ENDIAN_64BIT_FLOAT is + ** defined that 64-bit floating point values really are mixed + ** endian. + */ + static const u64 t1 = ((u64)0x3ff00000)<<32; + static const double r1 = 1.0; + u64 t2 = t1; + swapMixedEndianFloat(t2); + assert( sizeof(r1)==sizeof(t2) && memcmp(&r1, &t2, sizeof(r1))==0 ); +#endif + assert( sizeof(x)==8 && sizeof(pMem->u.r)==8 ); + swapMixedEndianFloat(x); + memcpy(&pMem->u.r, &x, sizeof(x)); + pMem->flags = sqlite3IsNaN(pMem->u.r) ? MEM_Null : MEM_Real; + } + return 8; +} SQLITE_PRIVATE u32 sqlite3VdbeSerialGet( const unsigned char *buf, /* Buffer to deserialize from */ u32 serial_type, /* Serial type to deserialize */ Mem *pMem /* Memory cell to write value into */ ){ - u64 x; - u32 y; switch( serial_type ){ case 10: /* Reserved for future use */ case 11: /* Reserved for future use */ @@ -65216,8 +66295,7 @@ SQLITE_PRIVATE u32 sqlite3VdbeSerialGet( return 3; } case 4: { /* 4-byte signed integer */ - y = FOUR_BYTE_UINT(buf); - pMem->u.i = (i64)*(int*)&y; + pMem->u.i = FOUR_BYTE_INT(buf); pMem->flags = MEM_Int; testcase( pMem->u.i<0 ); return 4; @@ -65230,32 +66308,9 @@ SQLITE_PRIVATE u32 sqlite3VdbeSerialGet( } case 6: /* 8-byte signed integer */ case 7: { /* IEEE floating point */ -#if !defined(NDEBUG) && !defined(SQLITE_OMIT_FLOATING_POINT) - /* Verify that integers and floating point values use the same - ** byte order. Or, that if SQLITE_MIXED_ENDIAN_64BIT_FLOAT is - ** defined that 64-bit floating point values really are mixed - ** endian. - */ - static const u64 t1 = ((u64)0x3ff00000)<<32; - static const double r1 = 1.0; - u64 t2 = t1; - swapMixedEndianFloat(t2); - assert( sizeof(r1)==sizeof(t2) && memcmp(&r1, &t2, sizeof(r1))==0 ); -#endif - x = FOUR_BYTE_UINT(buf); - y = FOUR_BYTE_UINT(buf+4); - x = (x<<32) | y; - if( serial_type==6 ){ - pMem->u.i = *(i64*)&x; - pMem->flags = MEM_Int; - testcase( pMem->u.i<0 ); - }else{ - assert( sizeof(x)==8 && sizeof(pMem->r)==8 ); - swapMixedEndianFloat(x); - memcpy(&pMem->r, &x, sizeof(x)); - pMem->flags = sqlite3IsNaN(pMem->r) ? MEM_Null : MEM_Real; - } - return 8; + /* These use local variables, so do them in a separate routine + ** to avoid having to move the frame pointer in the common case */ + return serialGet(buf,serial_type,pMem); } case 8: /* Integer 0 */ case 9: { /* Integer 1 */ @@ -65265,17 +66320,14 @@ SQLITE_PRIVATE u32 sqlite3VdbeSerialGet( } default: { static const u16 aFlag[] = { MEM_Blob|MEM_Ephem, MEM_Str|MEM_Ephem }; - u32 len = (serial_type-12)/2; pMem->z = (char *)buf; - pMem->n = len; - pMem->xDel = 0; + pMem->n = (serial_type-12)/2; pMem->flags = aFlag[serial_type&1]; - return len; + return pMem->n; } } return 0; } - /* ** This routine is used to allocate sufficient space for an UnpackedRecord ** structure large enough to be used with sqlite3VdbeRecordUnpack() if @@ -65345,17 +66397,17 @@ SQLITE_PRIVATE void sqlite3VdbeRecordUnpack( idx = getVarint32(aKey, szHdr); d = szHdr; u = 0; - while( idx<szHdr && u<p->nField && d<=nKey ){ + while( idx<szHdr && d<=nKey ){ u32 serial_type; idx += getVarint32(&aKey[idx], serial_type); pMem->enc = pKeyInfo->enc; pMem->db = pKeyInfo->db; /* pMem->flags = 0; // sqlite3VdbeSerialGet() will set this for us */ - pMem->zMalloc = 0; + pMem->szMalloc = 0; d += sqlite3VdbeSerialGet(&aKey[d], serial_type, pMem); pMem++; - u++; + if( (++u)>=p->nField ) break; } assert( u<=pKeyInfo->nField + 1 ); p->nField = u; @@ -65369,10 +66421,14 @@ SQLITE_PRIVATE void sqlite3VdbeRecordUnpack( ** sqlite3VdbeSerialGet() and sqlite3MemCompare() functions. It is used ** in assert() statements to ensure that the optimized code in ** sqlite3VdbeRecordCompare() returns results with these two primitives. +** +** Return true if the result of comparison is equivalent to desiredResult. +** Return false if there is a disagreement. */ static int vdbeRecordCompareDebug( int nKey1, const void *pKey1, /* Left key */ - const UnpackedRecord *pPKey2 /* Right key */ + const UnpackedRecord *pPKey2, /* Right key */ + int desiredResult /* Correct answer */ ){ u32 d1; /* Offset into aKey[] of next data element */ u32 idx1; /* Offset into aKey[] of next header element */ @@ -65384,10 +66440,11 @@ static int vdbeRecordCompareDebug( Mem mem1; pKeyInfo = pPKey2->pKeyInfo; + if( pKeyInfo->db==0 ) return 1; mem1.enc = pKeyInfo->enc; mem1.db = pKeyInfo->db; /* mem1.flags = 0; // Will be initialized by sqlite3VdbeSerialGet() */ - VVA_ONLY( mem1.zMalloc = 0; ) /* Only needed by assert() statements */ + VVA_ONLY( mem1.szMalloc = 0; ) /* Only needed by assert() statements */ /* Compilers may complain that mem1.u.i is potentially uninitialized. ** We could initialize it, as shown here, to silence those complaints. @@ -65430,11 +66487,11 @@ static int vdbeRecordCompareDebug( */ rc = sqlite3MemCompare(&mem1, &pPKey2->aMem[i], pKeyInfo->aColl[i]); if( rc!=0 ){ - assert( mem1.zMalloc==0 ); /* See comment below */ + assert( mem1.szMalloc==0 ); /* See comment below */ if( pKeyInfo->aSortOrder[i] ){ rc = -rc; /* Invert the result for DESC sort order. */ } - return rc; + goto debugCompareEnd; } i++; }while( idx1<szHdr1 && i<pPKey2->nField ); @@ -65443,12 +66500,20 @@ static int vdbeRecordCompareDebug( ** the following assert(). If the assert() fails, it indicates a ** memory leak and a need to call sqlite3VdbeMemRelease(&mem1). */ - assert( mem1.zMalloc==0 ); + assert( mem1.szMalloc==0 ); /* rc==0 here means that one of the keys ran out of fields and - ** all the fields up to that point were equal. Return the the default_rc + ** all the fields up to that point were equal. Return the default_rc ** value. */ - return pPKey2->default_rc; + rc = pPKey2->default_rc; + +debugCompareEnd: + if( desiredResult==0 && rc==0 ) return 1; + if( desiredResult<0 && rc<0 ) return 1; + if( desiredResult>0 && rc>0 ) return 1; + if( CORRUPT_DB ) return 1; + if( pKeyInfo->db->mallocFailed ) return 1; + return 0; } #endif @@ -65461,7 +66526,8 @@ static int vdbeRecordCompareDebug( static int vdbeCompareMemString( const Mem *pMem1, const Mem *pMem2, - const CollSeq *pColl + const CollSeq *pColl, + u8 *prcErr /* If an OOM occurs, set to SQLITE_NOMEM */ ){ if( pMem1->enc==pColl->enc ){ /* The strings are already in the correct encoding. Call the @@ -65473,8 +66539,8 @@ static int vdbeCompareMemString( int n1, n2; Mem c1; Mem c2; - memset(&c1, 0, sizeof(c1)); - memset(&c2, 0, sizeof(c2)); + sqlite3VdbeMemInit(&c1, pMem1->db, MEM_Null); + sqlite3VdbeMemInit(&c2, pMem1->db, MEM_Null); sqlite3VdbeMemShallowCopy(&c1, pMem1, MEM_Ephem); sqlite3VdbeMemShallowCopy(&c2, pMem2, MEM_Ephem); v1 = sqlite3ValueText((sqlite3_value*)&c1, pColl->enc); @@ -65484,11 +66550,24 @@ static int vdbeCompareMemString( rc = pColl->xCmp(pColl->pUser, n1, v1, n2, v2); sqlite3VdbeMemRelease(&c1); sqlite3VdbeMemRelease(&c2); + if( (v1==0 || v2==0) && prcErr ) *prcErr = SQLITE_NOMEM; return rc; } } /* +** Compare two blobs. Return negative, zero, or positive if the first +** is less than, equal to, or greater than the second, respectively. +** If one blob is a prefix of the other, then the shorter is the lessor. +*/ +static SQLITE_NOINLINE int sqlite3BlobCompare(const Mem *pB1, const Mem *pB2){ + int c = memcmp(pB1->z, pB2->z, pB1->n>pB2->n ? pB2->n : pB1->n); + if( c ) return c; + return pB1->n - pB2->n; +} + + +/* ** Compare the values contained by the two memory cells, returning ** negative, zero or positive if pMem1 is less than, equal to, or greater ** than pMem2. Sorting order is NULL's first, followed by numbers (integers @@ -65498,7 +66577,6 @@ static int vdbeCompareMemString( ** Two NULL values are considered equal by this function. */ SQLITE_PRIVATE int sqlite3MemCompare(const Mem *pMem1, const Mem *pMem2, const CollSeq *pColl){ - int rc; int f1, f2; int combined_flags; @@ -65526,14 +66604,14 @@ SQLITE_PRIVATE int sqlite3MemCompare(const Mem *pMem1, const Mem *pMem2, const C return 0; } if( (f1&MEM_Real)!=0 ){ - r1 = pMem1->r; + r1 = pMem1->u.r; }else if( (f1&MEM_Int)!=0 ){ r1 = (double)pMem1->u.i; }else{ return 1; } if( (f2&MEM_Real)!=0 ){ - r2 = pMem2->r; + r2 = pMem2->u.r; }else if( (f2&MEM_Int)!=0 ){ r2 = (double)pMem2->u.i; }else{ @@ -65566,18 +66644,14 @@ SQLITE_PRIVATE int sqlite3MemCompare(const Mem *pMem1, const Mem *pMem2, const C assert( !pColl || pColl->xCmp ); if( pColl ){ - return vdbeCompareMemString(pMem1, pMem2, pColl); + return vdbeCompareMemString(pMem1, pMem2, pColl, 0); } /* If a NULL pointer was passed as the collate function, fall through ** to the blob case and use memcmp(). */ } /* Both values must be blobs. Compare using memcmp(). */ - rc = memcmp(pMem1->z, pMem2->z, (pMem1->n>pMem2->n)?pMem2->n:pMem1->n); - if( rc==0 ){ - rc = pMem1->n - pMem2->n; - } - return rc; + return sqlite3BlobCompare(pMem1, pMem2); } @@ -65627,7 +66701,7 @@ static i64 vdbeRecordDecodeInt(u32 serial_type, const u8 *aKey){ ** specified by {nKey1, pKey1} and pPKey2. It returns a negative, zero ** or positive integer if key1 is less than, equal to or ** greater than key2. The {nKey1, pKey1} key must be a blob -** created by th OP_MakeRecord opcode of the VDBE. The pPKey2 +** created by the OP_MakeRecord opcode of the VDBE. The pPKey2 ** key must be a parsed key such as obtained from ** sqlite3VdbeParseRecord. ** @@ -65638,10 +66712,12 @@ static i64 vdbeRecordDecodeInt(u32 serial_type, const u8 *aKey){ ** fields that appear in both keys are equal, then pPKey2->default_rc is ** returned. ** -** If database corruption is discovered, set pPKey2->isCorrupt to non-zero -** and return 0. +** If database corruption is discovered, set pPKey2->errCode to +** SQLITE_CORRUPT and return 0. If an OOM error is encountered, +** pPKey2->errCode is set to SQLITE_NOMEM and, if it is not NULL, the +** malloc-failed flag set on database handle (pPKey2->pKeyInfo->db). */ -SQLITE_PRIVATE int sqlite3VdbeRecordCompare( +static int vdbeRecordCompareWithSkip( int nKey1, const void *pKey1, /* Left key */ UnpackedRecord *pPKey2, /* Right key */ int bSkip /* If true, skip the first field */ @@ -65670,13 +66746,13 @@ SQLITE_PRIVATE int sqlite3VdbeRecordCompare( idx1 = getVarint32(aKey1, szHdr1); d1 = szHdr1; if( d1>(unsigned)nKey1 ){ - pPKey2->isCorrupt = (u8)SQLITE_CORRUPT_BKPT; + pPKey2->errCode = (u8)SQLITE_CORRUPT_BKPT; return 0; /* Corruption */ } i = 0; } - VVA_ONLY( mem1.zMalloc = 0; ) /* Only needed by assert() statements */ + VVA_ONLY( mem1.szMalloc = 0; ) /* Only needed by assert() statements */ assert( pPKey2->pKeyInfo->nField+pPKey2->pKeyInfo->nXField>=pPKey2->nField || CORRUPT_DB ); assert( pPKey2->pKeyInfo->aSortOrder!=0 ); @@ -65696,9 +66772,9 @@ SQLITE_PRIVATE int sqlite3VdbeRecordCompare( }else if( serial_type==7 ){ double rhs = (double)pRhs->u.i; sqlite3VdbeSerialGet(&aKey1[d1], serial_type, &mem1); - if( mem1.r<rhs ){ + if( mem1.u.r<rhs ){ rc = -1; - }else if( mem1.r>rhs ){ + }else if( mem1.u.r>rhs ){ rc = +1; } }else{ @@ -65720,11 +66796,11 @@ SQLITE_PRIVATE int sqlite3VdbeRecordCompare( }else if( serial_type==0 ){ rc = -1; }else{ - double rhs = pRhs->r; + double rhs = pRhs->u.r; double lhs; sqlite3VdbeSerialGet(&aKey1[d1], serial_type, &mem1); if( serial_type==7 ){ - lhs = mem1.r; + lhs = mem1.u.r; }else{ lhs = (double)mem1.u.i; } @@ -65749,14 +66825,16 @@ SQLITE_PRIVATE int sqlite3VdbeRecordCompare( testcase( (d1+mem1.n)==(unsigned)nKey1 ); testcase( (d1+mem1.n+1)==(unsigned)nKey1 ); if( (d1+mem1.n) > (unsigned)nKey1 ){ - pPKey2->isCorrupt = (u8)SQLITE_CORRUPT_BKPT; + pPKey2->errCode = (u8)SQLITE_CORRUPT_BKPT; return 0; /* Corruption */ }else if( pKeyInfo->aColl[i] ){ mem1.enc = pKeyInfo->enc; mem1.db = pKeyInfo->db; mem1.flags = MEM_Str; mem1.z = (char*)&aKey1[d1]; - rc = vdbeCompareMemString(&mem1, pRhs, pKeyInfo->aColl[i]); + rc = vdbeCompareMemString( + &mem1, pRhs, pKeyInfo->aColl[i], &pPKey2->errCode + ); }else{ int nCmp = MIN(mem1.n, pRhs->n); rc = memcmp(&aKey1[d1], pRhs->z, nCmp); @@ -65776,7 +66854,7 @@ SQLITE_PRIVATE int sqlite3VdbeRecordCompare( testcase( (d1+nStr)==(unsigned)nKey1 ); testcase( (d1+nStr+1)==(unsigned)nKey1 ); if( (d1+nStr) > (unsigned)nKey1 ){ - pPKey2->isCorrupt = (u8)SQLITE_CORRUPT_BKPT; + pPKey2->errCode = (u8)SQLITE_CORRUPT_BKPT; return 0; /* Corruption */ }else{ int nCmp = MIN(nStr, pRhs->n); @@ -65796,12 +66874,8 @@ SQLITE_PRIVATE int sqlite3VdbeRecordCompare( if( pKeyInfo->aSortOrder[i] ){ rc = -rc; } - assert( CORRUPT_DB - || (rc<0 && vdbeRecordCompareDebug(nKey1, pKey1, pPKey2)<0) - || (rc>0 && vdbeRecordCompareDebug(nKey1, pKey1, pPKey2)>0) - || pKeyInfo->db->mallocFailed - ); - assert( mem1.zMalloc==0 ); /* See comment below */ + assert( vdbeRecordCompareDebug(nKey1, pKey1, pPKey2, rc) ); + assert( mem1.szMalloc==0 ); /* See comment below */ return rc; } @@ -65814,17 +66888,24 @@ SQLITE_PRIVATE int sqlite3VdbeRecordCompare( /* No memory allocation is ever used on mem1. Prove this using ** the following assert(). If the assert() fails, it indicates a ** memory leak and a need to call sqlite3VdbeMemRelease(&mem1). */ - assert( mem1.zMalloc==0 ); + assert( mem1.szMalloc==0 ); /* rc==0 here means that one or both of the keys ran out of fields and - ** all the fields up to that point were equal. Return the the default_rc + ** all the fields up to that point were equal. Return the default_rc ** value. */ assert( CORRUPT_DB - || pPKey2->default_rc==vdbeRecordCompareDebug(nKey1, pKey1, pPKey2) + || vdbeRecordCompareDebug(nKey1, pKey1, pPKey2, pPKey2->default_rc) || pKeyInfo->db->mallocFailed ); return pPKey2->default_rc; } +SQLITE_PRIVATE int sqlite3VdbeRecordCompare( + int nKey1, const void *pKey1, /* Left key */ + UnpackedRecord *pPKey2 /* Right key */ +){ + return vdbeRecordCompareWithSkip(nKey1, pKey1, pPKey2, 0); +} + /* ** This function is an optimized version of sqlite3VdbeRecordCompare() @@ -65837,8 +66918,7 @@ SQLITE_PRIVATE int sqlite3VdbeRecordCompare( */ static int vdbeRecordCompareInt( int nKey1, const void *pKey1, /* Left key */ - UnpackedRecord *pPKey2, /* Right key */ - int bSkip /* Ignored */ + UnpackedRecord *pPKey2 /* Right key */ ){ const u8 *aKey = &((const u8*)pKey1)[*(const u8*)pKey1 & 0x3F]; int serial_type = ((const u8*)pKey1)[1]; @@ -65847,9 +66927,7 @@ static int vdbeRecordCompareInt( u64 x; i64 v = pPKey2->aMem[0].u.i; i64 lhs; - UNUSED_PARAMETER(bSkip); - assert( bSkip==0 ); assert( (*(u8*)pKey1)<=0x3F || CORRUPT_DB ); switch( serial_type ){ case 1: { /* 1-byte signed integer */ @@ -65899,10 +66977,10 @@ static int vdbeRecordCompareInt( ** (as gcc is clever enough to combine the two like cases). Other ** compilers might be similar. */ case 0: case 7: - return sqlite3VdbeRecordCompare(nKey1, pKey1, pPKey2, 0); + return sqlite3VdbeRecordCompare(nKey1, pKey1, pPKey2); default: - return sqlite3VdbeRecordCompare(nKey1, pKey1, pPKey2, 0); + return sqlite3VdbeRecordCompare(nKey1, pKey1, pPKey2); } if( v>lhs ){ @@ -65912,18 +66990,14 @@ static int vdbeRecordCompareInt( }else if( pPKey2->nField>1 ){ /* The first fields of the two keys are equal. Compare the trailing ** fields. */ - res = sqlite3VdbeRecordCompare(nKey1, pKey1, pPKey2, 1); + res = vdbeRecordCompareWithSkip(nKey1, pKey1, pPKey2, 1); }else{ /* The first fields of the two keys are equal and there are no trailing ** fields. Return pPKey2->default_rc in this case. */ res = pPKey2->default_rc; } - assert( (res==0 && vdbeRecordCompareDebug(nKey1, pKey1, pPKey2)==0) - || (res<0 && vdbeRecordCompareDebug(nKey1, pKey1, pPKey2)<0) - || (res>0 && vdbeRecordCompareDebug(nKey1, pKey1, pPKey2)>0) - || CORRUPT_DB - ); + assert( vdbeRecordCompareDebug(nKey1, pKey1, pPKey2, res) ); return res; } @@ -65935,17 +67009,13 @@ static int vdbeRecordCompareInt( */ static int vdbeRecordCompareString( int nKey1, const void *pKey1, /* Left key */ - UnpackedRecord *pPKey2, /* Right key */ - int bSkip + UnpackedRecord *pPKey2 /* Right key */ ){ const u8 *aKey1 = (const u8*)pKey1; int serial_type; int res; - UNUSED_PARAMETER(bSkip); - assert( bSkip==0 ); getVarint32(&aKey1[1], serial_type); - if( serial_type<12 ){ res = pPKey2->r1; /* (pKey1/nKey1) is a number or a null */ }else if( !(serial_type & 0x01) ){ @@ -65957,7 +67027,7 @@ static int vdbeRecordCompareString( nStr = (serial_type-12) / 2; if( (szHdr + nStr) > nKey1 ){ - pPKey2->isCorrupt = (u8)SQLITE_CORRUPT_BKPT; + pPKey2->errCode = (u8)SQLITE_CORRUPT_BKPT; return 0; /* Corruption */ } nCmp = MIN( pPKey2->aMem[0].n, nStr ); @@ -65967,7 +67037,7 @@ static int vdbeRecordCompareString( res = nStr - pPKey2->aMem[0].n; if( res==0 ){ if( pPKey2->nField>1 ){ - res = sqlite3VdbeRecordCompare(nKey1, pKey1, pPKey2, 1); + res = vdbeRecordCompareWithSkip(nKey1, pKey1, pPKey2, 1); }else{ res = pPKey2->default_rc; } @@ -65983,9 +67053,7 @@ static int vdbeRecordCompareString( } } - assert( (res==0 && vdbeRecordCompareDebug(nKey1, pKey1, pPKey2)==0) - || (res<0 && vdbeRecordCompareDebug(nKey1, pKey1, pPKey2)<0) - || (res>0 && vdbeRecordCompareDebug(nKey1, pKey1, pPKey2)>0) + assert( vdbeRecordCompareDebug(nKey1, pKey1, pPKey2, res) || CORRUPT_DB || pPKey2->pKeyInfo->db->mallocFailed ); @@ -66051,8 +67119,6 @@ SQLITE_PRIVATE int sqlite3VdbeIdxRowid(sqlite3 *db, BtCursor *pCur, i64 *rowid){ u32 lenRowid; /* Size of the rowid */ Mem m, v; - UNUSED_PARAMETER(db); - /* Get the size of the index entry. Only indices entries of less ** than 2GiB are support - anything large must be database corruption. ** Any corruption is detected in sqlite3BtreeParseCellPtr(), though, so @@ -66064,7 +67130,7 @@ SQLITE_PRIVATE int sqlite3VdbeIdxRowid(sqlite3 *db, BtCursor *pCur, i64 *rowid){ assert( (nCellKey & SQLITE_MAX_U32)==(u64)nCellKey ); /* Read in the complete content of the index entry */ - memset(&m, 0, sizeof(m)); + sqlite3VdbeMemInit(&m, db, 0); rc = sqlite3VdbeMemFromBtree(pCur, 0, (u32)nCellKey, 1, &m); if( rc ){ return rc; @@ -66107,7 +67173,7 @@ SQLITE_PRIVATE int sqlite3VdbeIdxRowid(sqlite3 *db, BtCursor *pCur, i64 *rowid){ /* Jump here if database corruption is detected after m has been ** allocated. Free the m object and return SQLITE_CORRUPT. */ idx_rowid_corruption: - testcase( m.zMalloc!=0 ); + testcase( m.szMalloc!=0 ); sqlite3VdbeMemRelease(&m); return SQLITE_CORRUPT_BKPT; } @@ -66124,6 +67190,7 @@ idx_rowid_corruption: ** of the keys prior to the final rowid, not the entire key. */ SQLITE_PRIVATE int sqlite3VdbeIdxKeyCompare( + sqlite3 *db, /* Database connection */ VdbeCursor *pC, /* The cursor to compare against */ UnpackedRecord *pUnpacked, /* Unpacked version of key */ int *res /* Write the comparison result here */ @@ -66142,12 +67209,12 @@ SQLITE_PRIVATE int sqlite3VdbeIdxKeyCompare( *res = 0; return SQLITE_CORRUPT_BKPT; } - memset(&m, 0, sizeof(m)); + sqlite3VdbeMemInit(&m, db, 0); rc = sqlite3VdbeMemFromBtree(pC->pCursor, 0, (u32)nCellKey, 1, &m); if( rc ){ return rc; } - *res = sqlite3VdbeRecordCompare(m.n, m.z, pUnpacked, 0); + *res = sqlite3VdbeRecordCompare(m.n, m.z, pUnpacked); sqlite3VdbeMemRelease(&m); return SQLITE_OK; } @@ -66461,9 +67528,12 @@ SQLITE_API int sqlite3_value_type(sqlite3_value* pVal){ ** The following routines are used by user-defined functions to specify ** the function result. ** -** The setStrOrError() funtion calls sqlite3VdbeMemSetStr() to store the +** The setStrOrError() function calls sqlite3VdbeMemSetStr() to store the ** result as a string or blob but if the string or blob is too large, it ** then sets the error code to SQLITE_TOOBIG +** +** The invokeValueDestructor(P,X) routine invokes destructor function X() +** on value P is not going to be used and need to be destroyed. */ static void setResultStrOrError( sqlite3_context *pCtx, /* Function context */ @@ -66472,10 +67542,26 @@ static void setResultStrOrError( u8 enc, /* Encoding of z. 0 for BLOBs */ void (*xDel)(void*) /* Destructor function */ ){ - if( sqlite3VdbeMemSetStr(&pCtx->s, z, n, enc, xDel)==SQLITE_TOOBIG ){ + if( sqlite3VdbeMemSetStr(pCtx->pOut, z, n, enc, xDel)==SQLITE_TOOBIG ){ sqlite3_result_error_toobig(pCtx); } } +static int invokeValueDestructor( + const void *p, /* Value to destroy */ + void (*xDel)(void*), /* The destructor */ + sqlite3_context *pCtx /* Set a SQLITE_TOOBIG error if no NULL */ +){ + assert( xDel!=SQLITE_DYNAMIC ); + if( xDel==0 ){ + /* noop */ + }else if( xDel==SQLITE_TRANSIENT ){ + /* noop */ + }else{ + xDel((void*)p); + } + if( pCtx ) sqlite3_result_error_toobig(pCtx); + return SQLITE_TOOBIG; +} SQLITE_API void sqlite3_result_blob( sqlite3_context *pCtx, const void *z, @@ -66483,38 +67569,52 @@ SQLITE_API void sqlite3_result_blob( void (*xDel)(void *) ){ assert( n>=0 ); - assert( sqlite3_mutex_held(pCtx->s.db->mutex) ); + assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); setResultStrOrError(pCtx, z, n, 0, xDel); } +SQLITE_API void sqlite3_result_blob64( + sqlite3_context *pCtx, + const void *z, + sqlite3_uint64 n, + void (*xDel)(void *) +){ + assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); + assert( xDel!=SQLITE_DYNAMIC ); + if( n>0x7fffffff ){ + (void)invokeValueDestructor(z, xDel, pCtx); + }else{ + setResultStrOrError(pCtx, z, (int)n, 0, xDel); + } +} SQLITE_API void sqlite3_result_double(sqlite3_context *pCtx, double rVal){ - assert( sqlite3_mutex_held(pCtx->s.db->mutex) ); - sqlite3VdbeMemSetDouble(&pCtx->s, rVal); + assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); + sqlite3VdbeMemSetDouble(pCtx->pOut, rVal); } SQLITE_API void sqlite3_result_error(sqlite3_context *pCtx, const char *z, int n){ - assert( sqlite3_mutex_held(pCtx->s.db->mutex) ); + assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); pCtx->isError = SQLITE_ERROR; pCtx->fErrorOrAux = 1; - sqlite3VdbeMemSetStr(&pCtx->s, z, n, SQLITE_UTF8, SQLITE_TRANSIENT); + sqlite3VdbeMemSetStr(pCtx->pOut, z, n, SQLITE_UTF8, SQLITE_TRANSIENT); } #ifndef SQLITE_OMIT_UTF16 SQLITE_API void sqlite3_result_error16(sqlite3_context *pCtx, const void *z, int n){ - assert( sqlite3_mutex_held(pCtx->s.db->mutex) ); + assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); pCtx->isError = SQLITE_ERROR; pCtx->fErrorOrAux = 1; - sqlite3VdbeMemSetStr(&pCtx->s, z, n, SQLITE_UTF16NATIVE, SQLITE_TRANSIENT); + sqlite3VdbeMemSetStr(pCtx->pOut, z, n, SQLITE_UTF16NATIVE, SQLITE_TRANSIENT); } #endif SQLITE_API void sqlite3_result_int(sqlite3_context *pCtx, int iVal){ - assert( sqlite3_mutex_held(pCtx->s.db->mutex) ); - sqlite3VdbeMemSetInt64(&pCtx->s, (i64)iVal); + assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); + sqlite3VdbeMemSetInt64(pCtx->pOut, (i64)iVal); } SQLITE_API void sqlite3_result_int64(sqlite3_context *pCtx, i64 iVal){ - assert( sqlite3_mutex_held(pCtx->s.db->mutex) ); - sqlite3VdbeMemSetInt64(&pCtx->s, iVal); + assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); + sqlite3VdbeMemSetInt64(pCtx->pOut, iVal); } SQLITE_API void sqlite3_result_null(sqlite3_context *pCtx){ - assert( sqlite3_mutex_held(pCtx->s.db->mutex) ); - sqlite3VdbeMemSetNull(&pCtx->s); + assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); + sqlite3VdbeMemSetNull(pCtx->pOut); } SQLITE_API void sqlite3_result_text( sqlite3_context *pCtx, @@ -66522,9 +67622,25 @@ SQLITE_API void sqlite3_result_text( int n, void (*xDel)(void *) ){ - assert( sqlite3_mutex_held(pCtx->s.db->mutex) ); + assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); setResultStrOrError(pCtx, z, n, SQLITE_UTF8, xDel); } +SQLITE_API void sqlite3_result_text64( + sqlite3_context *pCtx, + const char *z, + sqlite3_uint64 n, + void (*xDel)(void *), + unsigned char enc +){ + assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); + assert( xDel!=SQLITE_DYNAMIC ); + if( enc==SQLITE_UTF16 ) enc = SQLITE_UTF16NATIVE; + if( n>0x7fffffff ){ + (void)invokeValueDestructor(z, xDel, pCtx); + }else{ + setResultStrOrError(pCtx, z, (int)n, enc, xDel); + } +} #ifndef SQLITE_OMIT_UTF16 SQLITE_API void sqlite3_result_text16( sqlite3_context *pCtx, @@ -66532,7 +67648,7 @@ SQLITE_API void sqlite3_result_text16( int n, void (*xDel)(void *) ){ - assert( sqlite3_mutex_held(pCtx->s.db->mutex) ); + assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); setResultStrOrError(pCtx, z, n, SQLITE_UTF16NATIVE, xDel); } SQLITE_API void sqlite3_result_text16be( @@ -66541,7 +67657,7 @@ SQLITE_API void sqlite3_result_text16be( int n, void (*xDel)(void *) ){ - assert( sqlite3_mutex_held(pCtx->s.db->mutex) ); + assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); setResultStrOrError(pCtx, z, n, SQLITE_UTF16BE, xDel); } SQLITE_API void sqlite3_result_text16le( @@ -66550,43 +67666,43 @@ SQLITE_API void sqlite3_result_text16le( int n, void (*xDel)(void *) ){ - assert( sqlite3_mutex_held(pCtx->s.db->mutex) ); + assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); setResultStrOrError(pCtx, z, n, SQLITE_UTF16LE, xDel); } #endif /* SQLITE_OMIT_UTF16 */ SQLITE_API void sqlite3_result_value(sqlite3_context *pCtx, sqlite3_value *pValue){ - assert( sqlite3_mutex_held(pCtx->s.db->mutex) ); - sqlite3VdbeMemCopy(&pCtx->s, pValue); + assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); + sqlite3VdbeMemCopy(pCtx->pOut, pValue); } SQLITE_API void sqlite3_result_zeroblob(sqlite3_context *pCtx, int n){ - assert( sqlite3_mutex_held(pCtx->s.db->mutex) ); - sqlite3VdbeMemSetZeroBlob(&pCtx->s, n); + assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); + sqlite3VdbeMemSetZeroBlob(pCtx->pOut, n); } SQLITE_API void sqlite3_result_error_code(sqlite3_context *pCtx, int errCode){ pCtx->isError = errCode; pCtx->fErrorOrAux = 1; - if( pCtx->s.flags & MEM_Null ){ - sqlite3VdbeMemSetStr(&pCtx->s, sqlite3ErrStr(errCode), -1, + if( pCtx->pOut->flags & MEM_Null ){ + sqlite3VdbeMemSetStr(pCtx->pOut, sqlite3ErrStr(errCode), -1, SQLITE_UTF8, SQLITE_STATIC); } } /* Force an SQLITE_TOOBIG error. */ SQLITE_API void sqlite3_result_error_toobig(sqlite3_context *pCtx){ - assert( sqlite3_mutex_held(pCtx->s.db->mutex) ); + assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); pCtx->isError = SQLITE_TOOBIG; pCtx->fErrorOrAux = 1; - sqlite3VdbeMemSetStr(&pCtx->s, "string or blob too big", -1, + sqlite3VdbeMemSetStr(pCtx->pOut, "string or blob too big", -1, SQLITE_UTF8, SQLITE_STATIC); } /* An SQLITE_NOMEM error. */ SQLITE_API void sqlite3_result_error_nomem(sqlite3_context *pCtx){ - assert( sqlite3_mutex_held(pCtx->s.db->mutex) ); - sqlite3VdbeMemSetNull(&pCtx->s); + assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); + sqlite3VdbeMemSetNull(pCtx->pOut); pCtx->isError = SQLITE_NOMEM; pCtx->fErrorOrAux = 1; - pCtx->s.db->mallocFailed = 1; + pCtx->pOut->db->mallocFailed = 1; } /* @@ -66762,10 +67878,12 @@ SQLITE_API int sqlite3_step(sqlite3_stmt *pStmt){ sqlite3_mutex_enter(db->mutex); v->doingRerun = 0; while( (rc = sqlite3Step(v))==SQLITE_SCHEMA - && cnt++ < SQLITE_MAX_SCHEMA_RETRY - && (rc2 = rc = sqlite3Reprepare(v))==SQLITE_OK ){ + && cnt++ < SQLITE_MAX_SCHEMA_RETRY ){ + int savedPc = v->pc; + rc2 = rc = sqlite3Reprepare(v); + if( rc!=SQLITE_OK) break; sqlite3_reset(pStmt); - v->doingRerun = 1; + if( savedPc>=0 ) v->doingRerun = 1; assert( v->expired==0 ); } if( rc2!=SQLITE_OK ){ @@ -66815,7 +67933,7 @@ SQLITE_API void *sqlite3_user_data(sqlite3_context *p){ */ SQLITE_API sqlite3 *sqlite3_context_db_handle(sqlite3_context *p){ assert( p && p->pFunc ); - return p->s.db; + return p->pOut->db; } /* @@ -66825,7 +67943,7 @@ SQLITE_PRIVATE sqlite3_int64 sqlite3StmtCurrentTime(sqlite3_context *p){ Vdbe *v = p->pVdbe; int rc; if( v->iCurrentTime==0 ){ - rc = sqlite3OsCurrentTimeInt64(p->s.db->pVfs, &v->iCurrentTime); + rc = sqlite3OsCurrentTimeInt64(p->pOut->db->pVfs, &v->iCurrentTime); if( rc ) v->iCurrentTime = 0; } return v->iCurrentTime; @@ -66854,41 +67972,50 @@ SQLITE_PRIVATE void sqlite3InvalidFunction( } /* +** Create a new aggregate context for p and return a pointer to +** its pMem->z element. +*/ +static SQLITE_NOINLINE void *createAggContext(sqlite3_context *p, int nByte){ + Mem *pMem = p->pMem; + assert( (pMem->flags & MEM_Agg)==0 ); + if( nByte<=0 ){ + sqlite3VdbeMemSetNull(pMem); + pMem->z = 0; + }else{ + sqlite3VdbeMemClearAndResize(pMem, nByte); + pMem->flags = MEM_Agg; + pMem->u.pDef = p->pFunc; + if( pMem->z ){ + memset(pMem->z, 0, nByte); + } + } + return (void*)pMem->z; +} + +/* ** Allocate or return the aggregate context for a user function. A new ** context is allocated on the first call. Subsequent calls return the ** same context that was returned on prior calls. */ SQLITE_API void *sqlite3_aggregate_context(sqlite3_context *p, int nByte){ - Mem *pMem; assert( p && p->pFunc && p->pFunc->xStep ); - assert( sqlite3_mutex_held(p->s.db->mutex) ); - pMem = p->pMem; + assert( sqlite3_mutex_held(p->pOut->db->mutex) ); testcase( nByte<0 ); - if( (pMem->flags & MEM_Agg)==0 ){ - if( nByte<=0 ){ - sqlite3VdbeMemReleaseExternal(pMem); - pMem->flags = MEM_Null; - pMem->z = 0; - }else{ - sqlite3VdbeMemGrow(pMem, nByte, 0); - pMem->flags = MEM_Agg; - pMem->u.pDef = p->pFunc; - if( pMem->z ){ - memset(pMem->z, 0, nByte); - } - } + if( (p->pMem->flags & MEM_Agg)==0 ){ + return createAggContext(p, nByte); + }else{ + return (void*)p->pMem->z; } - return (void*)pMem->z; } /* -** Return the auxilary data pointer, if any, for the iArg'th argument to +** Return the auxiliary data pointer, if any, for the iArg'th argument to ** the user-function defined by pCtx. */ SQLITE_API void *sqlite3_get_auxdata(sqlite3_context *pCtx, int iArg){ AuxData *pAuxData; - assert( sqlite3_mutex_held(pCtx->s.db->mutex) ); + assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); for(pAuxData=pCtx->pVdbe->pAuxData; pAuxData; pAuxData=pAuxData->pNext){ if( pAuxData->iOp==pCtx->iOp && pAuxData->iArg==iArg ) break; } @@ -66897,7 +68024,7 @@ SQLITE_API void *sqlite3_get_auxdata(sqlite3_context *pCtx, int iArg){ } /* -** Set the auxilary data pointer and delete function, for the iArg'th +** Set the auxiliary data pointer and delete function, for the iArg'th ** argument to the user-function defined by pCtx. Any previous value is ** deleted by calling the delete function specified when it was set. */ @@ -66910,7 +68037,7 @@ SQLITE_API void sqlite3_set_auxdata( AuxData *pAuxData; Vdbe *pVdbe = pCtx->pVdbe; - assert( sqlite3_mutex_held(pCtx->s.db->mutex) ); + assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); if( iArg<0 ) goto failed; for(pAuxData=pVdbe->pAuxData; pAuxData; pAuxData=pAuxData->pNext){ @@ -66943,7 +68070,7 @@ failed: #ifndef SQLITE_OMIT_DEPRECATED /* -** Return the number of times the Step function of a aggregate has been +** Return the number of times the Step function of an aggregate has been ** called. ** ** This function is deprecated. Do not use it for new code. It is @@ -66992,11 +68119,22 @@ static const Mem *columnNullValue(void){ #if defined(SQLITE_DEBUG) && defined(__GNUC__) __attribute__((aligned(8))) #endif - = {0, "", (double)0, {0}, 0, MEM_Null, 0, + = { + /* .u = */ {0}, + /* .flags = */ MEM_Null, + /* .enc = */ 0, + /* .n = */ 0, + /* .z = */ 0, + /* .zMalloc = */ 0, + /* .szMalloc = */ 0, + /* .iPadding1 = */ 0, + /* .db = */ 0, + /* .xDel = */ 0, #ifdef SQLITE_DEBUG - 0, 0, /* pScopyFrom, pFiller */ + /* .pScopyFrom = */ 0, + /* .pFiller = */ 0, #endif - 0, 0 }; + }; return &nullMem; } @@ -67017,7 +68155,7 @@ static Mem *columnMem(sqlite3_stmt *pStmt, int i){ }else{ if( pVm && ALWAYS(pVm->db) ){ sqlite3_mutex_enter(pVm->db->mutex); - sqlite3Error(pVm->db, SQLITE_RANGE, 0); + sqlite3Error(pVm->db, SQLITE_RANGE); } pOut = (Mem*)columnNullValue(); } @@ -67213,7 +68351,7 @@ SQLITE_API const void *sqlite3_column_decltype16(sqlite3_stmt *pStmt, int N){ /* ** Return the name of the database from which a result column derives. ** NULL is returned if the result column is an expression or constant or -** anything else which is not an unabiguous reference to a database column. +** anything else which is not an unambiguous reference to a database column. */ SQLITE_API const char *sqlite3_column_database_name(sqlite3_stmt *pStmt, int N){ return columnName( @@ -67229,7 +68367,7 @@ SQLITE_API const void *sqlite3_column_database_name16(sqlite3_stmt *pStmt, int N /* ** Return the name of the table from which a result column derives. ** NULL is returned if the result column is an expression or constant or -** anything else which is not an unabiguous reference to a database column. +** anything else which is not an unambiguous reference to a database column. */ SQLITE_API const char *sqlite3_column_table_name(sqlite3_stmt *pStmt, int N){ return columnName( @@ -67245,7 +68383,7 @@ SQLITE_API const void *sqlite3_column_table_name16(sqlite3_stmt *pStmt, int N){ /* ** Return the name of the table column from which a result column derives. ** NULL is returned if the result column is an expression or constant or -** anything else which is not an unabiguous reference to a database column. +** anything else which is not an unambiguous reference to a database column. */ SQLITE_API const char *sqlite3_column_origin_name(sqlite3_stmt *pStmt, int N){ return columnName( @@ -67282,14 +68420,14 @@ static int vdbeUnbind(Vdbe *p, int i){ } sqlite3_mutex_enter(p->db->mutex); if( p->magic!=VDBE_MAGIC_RUN || p->pc>=0 ){ - sqlite3Error(p->db, SQLITE_MISUSE, 0); + sqlite3Error(p->db, SQLITE_MISUSE); sqlite3_mutex_leave(p->db->mutex); sqlite3_log(SQLITE_MISUSE, "bind on a busy prepared statement: [%s]", p->zSql); return SQLITE_MISUSE_BKPT; } if( i<1 || i>p->nVar ){ - sqlite3Error(p->db, SQLITE_RANGE, 0); + sqlite3Error(p->db, SQLITE_RANGE); sqlite3_mutex_leave(p->db->mutex); return SQLITE_RANGE; } @@ -67297,7 +68435,7 @@ static int vdbeUnbind(Vdbe *p, int i){ pVar = &p->aVar[i]; sqlite3VdbeMemRelease(pVar); pVar->flags = MEM_Null; - sqlite3Error(p->db, SQLITE_OK, 0); + sqlite3Error(p->db, SQLITE_OK); /* If the bit corresponding to this variable in Vdbe.expmask is set, then ** binding a new value to this variable invalidates the current query plan. @@ -67339,7 +68477,7 @@ static int bindText( if( rc==SQLITE_OK && encoding!=0 ){ rc = sqlite3VdbeChangeEncoding(pVar, ENC(p->db)); } - sqlite3Error(p->db, rc, 0); + sqlite3Error(p->db, rc); rc = sqlite3ApiExit(p->db, rc); } sqlite3_mutex_leave(p->db->mutex); @@ -67362,6 +68500,20 @@ SQLITE_API int sqlite3_bind_blob( ){ return bindText(pStmt, i, zData, nData, xDel, 0); } +SQLITE_API int sqlite3_bind_blob64( + sqlite3_stmt *pStmt, + int i, + const void *zData, + sqlite3_uint64 nData, + void (*xDel)(void*) +){ + assert( xDel!=SQLITE_DYNAMIC ); + if( nData>0x7fffffff ){ + return invokeValueDestructor(zData, xDel, 0); + }else{ + return bindText(pStmt, i, zData, (int)nData, xDel, 0); + } +} SQLITE_API int sqlite3_bind_double(sqlite3_stmt *pStmt, int i, double rValue){ int rc; Vdbe *p = (Vdbe *)pStmt; @@ -67403,6 +68555,22 @@ SQLITE_API int sqlite3_bind_text( ){ return bindText(pStmt, i, zData, nData, xDel, SQLITE_UTF8); } +SQLITE_API int sqlite3_bind_text64( + sqlite3_stmt *pStmt, + int i, + const char *zData, + sqlite3_uint64 nData, + void (*xDel)(void*), + unsigned char enc +){ + assert( xDel!=SQLITE_DYNAMIC ); + if( nData>0x7fffffff ){ + return invokeValueDestructor(zData, xDel, 0); + }else{ + if( enc==SQLITE_UTF16 ) enc = SQLITE_UTF16NATIVE; + return bindText(pStmt, i, zData, (int)nData, xDel, enc); + } +} #ifndef SQLITE_OMIT_UTF16 SQLITE_API int sqlite3_bind_text16( sqlite3_stmt *pStmt, @@ -67422,7 +68590,7 @@ SQLITE_API int sqlite3_bind_value(sqlite3_stmt *pStmt, int i, const sqlite3_valu break; } case SQLITE_FLOAT: { - rc = sqlite3_bind_double(pStmt, i, pValue->r); + rc = sqlite3_bind_double(pStmt, i, pValue->u.r); break; } case SQLITE_BLOB: { @@ -67525,7 +68693,7 @@ SQLITE_PRIVATE int sqlite3TransferBindings(sqlite3_stmt *pFromStmt, sqlite3_stmt ** Deprecated external interface. Internal/core SQLite code ** should call sqlite3TransferBindings. ** -** Is is misuse to call this routine with statements from different +** It is misuse to call this routine with statements from different ** database connections. But as this is a deprecated interface, we ** will not bother to check for that condition. ** @@ -67669,7 +68837,7 @@ static int findNextHostParameter(const char *zSql, int *pnToken){ ** ALGORITHM: Scan the input string looking for host parameters in any of ** these forms: ?, ?N, $A, @A, :A. Take care to avoid text within ** string literals, quoted identifier names, and comments. For text forms, -** the host parameter index is found by scanning the perpared +** the host parameter index is found by scanning the prepared ** statement for the corresponding OP_Variable opcode. Once the host ** parameter index is known, locate the value in p->aVar[]. Then render ** the value as a literal in place of the host parameter name. @@ -67732,7 +68900,7 @@ SQLITE_PRIVATE char *sqlite3VdbeExpandSql( }else if( pVar->flags & MEM_Int ){ sqlite3XPrintf(&out, 0, "%lld", pVar->u.i); }else if( pVar->flags & MEM_Real ){ - sqlite3XPrintf(&out, 0, "%!.15g", pVar->r); + sqlite3XPrintf(&out, 0, "%!.15g", pVar->u.r); }else if( pVar->flags & MEM_Str ){ int nOut; /* Number of bytes of the string text to include in output */ #ifndef SQLITE_OMIT_UTF16 @@ -67789,121 +68957,6 @@ SQLITE_PRIVATE char *sqlite3VdbeExpandSql( #endif /* #ifndef SQLITE_OMIT_TRACE */ -/***************************************************************************** -** The following code implements the data-structure explaining logic -** for the Vdbe. -*/ - -#if defined(SQLITE_ENABLE_TREE_EXPLAIN) - -/* -** Allocate a new Explain object -*/ -SQLITE_PRIVATE void sqlite3ExplainBegin(Vdbe *pVdbe){ - if( pVdbe ){ - Explain *p; - sqlite3BeginBenignMalloc(); - p = (Explain *)sqlite3MallocZero( sizeof(Explain) ); - if( p ){ - p->pVdbe = pVdbe; - sqlite3_free(pVdbe->pExplain); - pVdbe->pExplain = p; - sqlite3StrAccumInit(&p->str, p->zBase, sizeof(p->zBase), - SQLITE_MAX_LENGTH); - p->str.useMalloc = 2; - }else{ - sqlite3EndBenignMalloc(); - } - } -} - -/* -** Return true if the Explain ends with a new-line. -*/ -static int endsWithNL(Explain *p){ - return p && p->str.zText && p->str.nChar - && p->str.zText[p->str.nChar-1]=='\n'; -} - -/* -** Append text to the indentation -*/ -SQLITE_PRIVATE void sqlite3ExplainPrintf(Vdbe *pVdbe, const char *zFormat, ...){ - Explain *p; - if( pVdbe && (p = pVdbe->pExplain)!=0 ){ - va_list ap; - if( p->nIndent && endsWithNL(p) ){ - int n = p->nIndent; - if( n>ArraySize(p->aIndent) ) n = ArraySize(p->aIndent); - sqlite3AppendSpace(&p->str, p->aIndent[n-1]); - } - va_start(ap, zFormat); - sqlite3VXPrintf(&p->str, SQLITE_PRINTF_INTERNAL, zFormat, ap); - va_end(ap); - } -} - -/* -** Append a '\n' if there is not already one. -*/ -SQLITE_PRIVATE void sqlite3ExplainNL(Vdbe *pVdbe){ - Explain *p; - if( pVdbe && (p = pVdbe->pExplain)!=0 && !endsWithNL(p) ){ - sqlite3StrAccumAppend(&p->str, "\n", 1); - } -} - -/* -** Push a new indentation level. Subsequent lines will be indented -** so that they begin at the current cursor position. -*/ -SQLITE_PRIVATE void sqlite3ExplainPush(Vdbe *pVdbe){ - Explain *p; - if( pVdbe && (p = pVdbe->pExplain)!=0 ){ - if( p->str.zText && p->nIndent<ArraySize(p->aIndent) ){ - const char *z = p->str.zText; - int i = p->str.nChar-1; - int x; - while( i>=0 && z[i]!='\n' ){ i--; } - x = (p->str.nChar - 1) - i; - if( p->nIndent && x<p->aIndent[p->nIndent-1] ){ - x = p->aIndent[p->nIndent-1]; - } - p->aIndent[p->nIndent] = x; - } - p->nIndent++; - } -} - -/* -** Pop the indentation stack by one level. -*/ -SQLITE_PRIVATE void sqlite3ExplainPop(Vdbe *p){ - if( p && p->pExplain ) p->pExplain->nIndent--; -} - -/* -** Free the indentation structure -*/ -SQLITE_PRIVATE void sqlite3ExplainFinish(Vdbe *pVdbe){ - if( pVdbe && pVdbe->pExplain ){ - sqlite3_free(pVdbe->zExplain); - sqlite3ExplainNL(pVdbe); - pVdbe->zExplain = sqlite3StrAccumFinish(&pVdbe->pExplain->str); - sqlite3_free(pVdbe->pExplain); - pVdbe->pExplain = 0; - sqlite3EndBenignMalloc(); - } -} - -/* -** Return the explanation of a virtual machine. -*/ -SQLITE_PRIVATE const char *sqlite3VdbeExplanation(Vdbe *pVdbe){ - return (pVdbe && pVdbe->zExplain) ? pVdbe->zExplain : 0; -} -#endif /* defined(SQLITE_DEBUG) */ - /************** End of vdbetrace.c *******************************************/ /************** Begin file vdbe.c ********************************************/ /* @@ -68052,7 +69105,7 @@ SQLITE_API int sqlite3_found_count = 0; ** already. Return non-zero if a malloc() fails. */ #define Stringify(P, enc) \ - if(((P)->flags&(MEM_Str|MEM_Blob))==0 && sqlite3VdbeMemStringify(P,enc)) \ + if(((P)->flags&(MEM_Str|MEM_Blob))==0 && sqlite3VdbeMemStringify(P,enc,0)) \ { goto no_mem; } /* @@ -68115,11 +69168,12 @@ static VdbeCursor *allocateCursor( sqlite3VdbeFreeCursor(p, p->apCsr[iCur]); p->apCsr[iCur] = 0; } - if( SQLITE_OK==sqlite3VdbeMemGrow(pMem, nByte, 0) ){ + if( SQLITE_OK==sqlite3VdbeMemClearAndResize(pMem, nByte) ){ p->apCsr[iCur] = pCx = (VdbeCursor*)pMem->z; memset(pCx, 0, sizeof(VdbeCursor)); pCx->iDb = iDb; pCx->nField = nField; + pCx->aOffset = &pCx->aType[nField]; if( isBtreeCursor ){ pCx->pCursor = (BtCursor*) &pMem->z[ROUND8(sizeof(VdbeCursor))+2*sizeof(u32)*nField]; @@ -68134,23 +69188,31 @@ static VdbeCursor *allocateCursor( ** do so without loss of information. In other words, if the string ** looks like a number, convert it into a number. If it does not ** look like a number, leave it alone. +** +** If the bTryForInt flag is true, then extra effort is made to give +** an integer representation. Strings that look like floating point +** values but which have no fractional component (example: '48.00') +** will have a MEM_Int representation when bTryForInt is true. +** +** If bTryForInt is false, then if the input string contains a decimal +** point or exponential notation, the result is only MEM_Real, even +** if there is an exact integer representation of the quantity. */ -static void applyNumericAffinity(Mem *pRec){ +static void applyNumericAffinity(Mem *pRec, int bTryForInt){ double rValue; i64 iValue; u8 enc = pRec->enc; - if( (pRec->flags&MEM_Str)==0 ) return; + assert( (pRec->flags & (MEM_Str|MEM_Int|MEM_Real))==MEM_Str ); if( sqlite3AtoF(pRec->z, &rValue, pRec->n, enc)==0 ) return; if( 0==sqlite3Atoi64(pRec->z, &iValue, pRec->n, enc) ){ pRec->u.i = iValue; pRec->flags |= MEM_Int; }else{ - pRec->r = rValue; + pRec->u.r = rValue; pRec->flags |= MEM_Real; + if( bTryForInt ) sqlite3VdbeIntegerAffinity(pRec); } } -#define ApplyNumericAffinity(X) \ - if(((X)->flags&(MEM_Real|MEM_Int))==0){applyNumericAffinity(X);} /* ** Processing is determine by the affinity parameter: @@ -68175,21 +69237,23 @@ static void applyAffinity( char affinity, /* The affinity to be applied */ u8 enc /* Use this text encoding */ ){ - if( affinity==SQLITE_AFF_TEXT ){ + if( affinity>=SQLITE_AFF_NUMERIC ){ + assert( affinity==SQLITE_AFF_INTEGER || affinity==SQLITE_AFF_REAL + || affinity==SQLITE_AFF_NUMERIC ); + if( (pRec->flags & MEM_Int)==0 ){ + if( (pRec->flags & MEM_Real)==0 ){ + if( pRec->flags & MEM_Str ) applyNumericAffinity(pRec,1); + }else{ + sqlite3VdbeIntegerAffinity(pRec); + } + } + }else if( affinity==SQLITE_AFF_TEXT ){ /* Only attempt the conversion to TEXT if there is an integer or real ** representation (blob and NULL do not get converted) but no string ** representation. */ if( 0==(pRec->flags&MEM_Str) && (pRec->flags&(MEM_Real|MEM_Int)) ){ - sqlite3VdbeMemStringify(pRec, enc); - } - pRec->flags &= ~(MEM_Real|MEM_Int); - }else if( affinity!=SQLITE_AFF_NONE ){ - assert( affinity==SQLITE_AFF_INTEGER || affinity==SQLITE_AFF_REAL - || affinity==SQLITE_AFF_NUMERIC ); - ApplyNumericAffinity(pRec); - if( pRec->flags & MEM_Real ){ - sqlite3VdbeIntegerAffinity(pRec); + sqlite3VdbeMemStringify(pRec, enc, 1); } } } @@ -68204,7 +69268,7 @@ SQLITE_API int sqlite3_value_numeric_type(sqlite3_value *pVal){ int eType = sqlite3_value_type(pVal); if( eType==SQLITE_TEXT ){ Mem *pMem = (Mem*)pVal; - applyNumericAffinity(pMem); + applyNumericAffinity(pMem, 0); eType = sqlite3_value_type(pVal); } return eType; @@ -68223,24 +69287,36 @@ SQLITE_PRIVATE void sqlite3ValueApplyAffinity( } /* +** pMem currently only holds a string type (or maybe a BLOB that we can +** interpret as a string if we want to). Compute its corresponding +** numeric type, if has one. Set the pMem->u.r and pMem->u.i fields +** accordingly. +*/ +static u16 SQLITE_NOINLINE computeNumericType(Mem *pMem){ + assert( (pMem->flags & (MEM_Int|MEM_Real))==0 ); + assert( (pMem->flags & (MEM_Str|MEM_Blob))!=0 ); + if( sqlite3AtoF(pMem->z, &pMem->u.r, pMem->n, pMem->enc)==0 ){ + return 0; + } + if( sqlite3Atoi64(pMem->z, &pMem->u.i, pMem->n, pMem->enc)==SQLITE_OK ){ + return MEM_Int; + } + return MEM_Real; +} + +/* ** Return the numeric type for pMem, either MEM_Int or MEM_Real or both or ** none. ** ** Unlike applyNumericAffinity(), this routine does not modify pMem->flags. -** But it does set pMem->r and pMem->u.i appropriately. +** But it does set pMem->u.r and pMem->u.i appropriately. */ static u16 numericType(Mem *pMem){ if( pMem->flags & (MEM_Int|MEM_Real) ){ return pMem->flags & (MEM_Int|MEM_Real); } if( pMem->flags & (MEM_Str|MEM_Blob) ){ - if( sqlite3AtoF(pMem->z, &pMem->r, pMem->n, pMem->enc)==0 ){ - return 0; - } - if( sqlite3Atoi64(pMem->z, &pMem->u.i, pMem->n, pMem->enc)==SQLITE_OK ){ - return MEM_Int; - } - return MEM_Real; + return computeNumericType(pMem); } return 0; } @@ -68343,7 +69419,7 @@ static void memTracePrint(Mem *p){ printf(" i:%lld", p->u.i); #ifndef SQLITE_OMIT_FLOATING_POINT }else if( p->flags & MEM_Real ){ - printf(" r:%g", p->r); + printf(" r:%g", p->u.r); #endif }else if( p->flags & MEM_RowSet ){ printf(" (rowset)"); @@ -68613,7 +69689,7 @@ SQLITE_PRIVATE int sqlite3VdbeExec( assert( pOp->p2<=(p->nMem-p->nCursor) ); pOut = &aMem[pOp->p2]; memAboutToChange(p, pOut); - VdbeMemRelease(pOut); + if( VdbeMemDynamic(pOut) ) sqlite3VdbeMemSetNull(pOut); pOut->flags = MEM_Int; } @@ -68975,7 +70051,7 @@ case OP_Int64: { /* out2-prerelease */ case OP_Real: { /* same as TK_FLOAT, out2-prerelease */ pOut->flags = MEM_Real; assert( !sqlite3IsNaN(*pOp->p4.pReal) ); - pOut->r = *pOp->p4.pReal; + pOut->u.r = *pOp->p4.pReal; break; } #endif @@ -68998,9 +70074,9 @@ case OP_String8: { /* same as TK_STRING, out2-prerelease */ rc = sqlite3VdbeMemSetStr(pOut, pOp->p4.z, -1, SQLITE_UTF8, SQLITE_STATIC); if( rc==SQLITE_TOOBIG ) goto too_big; if( SQLITE_OK!=sqlite3VdbeChangeEncoding(pOut, encoding) ) goto no_mem; - assert( pOut->zMalloc==pOut->z ); + assert( pOut->szMalloc>0 && pOut->zMalloc==pOut->z ); assert( VdbeMemDynamic(pOut)==0 ); - pOut->zMalloc = 0; + pOut->szMalloc = 0; pOut->flags |= MEM_Static; if( pOp->p4type==P4_DYNAMIC ){ sqlite3DbFree(db, pOp->p4.z); @@ -69052,7 +70128,7 @@ case OP_Null: { /* out2-prerelease */ while( cnt>0 ){ pOut++; memAboutToChange(p, pOut); - VdbeMemRelease(pOut); + sqlite3VdbeMemSetNull(pOut); pOut->flags = nullFlag; cnt--; } @@ -69120,7 +70196,6 @@ case OP_Variable: { /* out2-prerelease */ ** for P3 to be less than 1. */ case OP_Move: { - char *zMalloc; /* Holding variable for allocated memory */ int n; /* Number of registers left to copy */ int p1; /* Register to copy from */ int p2; /* Register to copy to */ @@ -69138,17 +70213,12 @@ case OP_Move: { assert( pIn1<=&aMem[(p->nMem-p->nCursor)] ); assert( memIsValid(pIn1) ); memAboutToChange(p, pOut); - VdbeMemRelease(pOut); - zMalloc = pOut->zMalloc; - memcpy(pOut, pIn1, sizeof(Mem)); + sqlite3VdbeMemMove(pOut, pIn1); #ifdef SQLITE_DEBUG if( pOut->pScopyFrom>=&aMem[p1] && pOut->pScopyFrom<&aMem[p1+pOp->p3] ){ pOut->pScopyFrom += p1 - pOp->p2; } #endif - pIn1->flags = MEM_Undefined; - pIn1->xDel = 0; - pIn1->zMalloc = zMalloc; REGISTER_TRACE(p2++, pOut); pIn1++; pOut++; @@ -69453,7 +70523,7 @@ fp_math: if( sqlite3IsNaN(rB) ){ goto arithmetic_result_is_null; } - pOut->r = rB; + pOut->u.r = rB; MemSetTypeFlag(pOut, MEM_Real); if( ((type1|type2)&MEM_Real)==0 && !bIntint ){ sqlite3VdbeIntegerAffinity(pOut); @@ -69518,8 +70588,8 @@ case OP_Function: { apVal = p->apArg; assert( apVal || n==0 ); assert( pOp->p3>0 && pOp->p3<=(p->nMem-p->nCursor) ); - pOut = &aMem[pOp->p3]; - memAboutToChange(p, pOut); + ctx.pOut = &aMem[pOp->p3]; + memAboutToChange(p, ctx.pOut); assert( n==0 || (pOp->p2>0 && pOp->p2+n<=(p->nMem-p->nCursor)+1) ); assert( pOp->p3<pOp->p2 || pOp->p3>=pOp->p2+n ); @@ -69535,65 +70605,29 @@ case OP_Function: { ctx.pFunc = pOp->p4.pFunc; ctx.iOp = pc; ctx.pVdbe = p; - - /* The output cell may already have a buffer allocated. Move - ** the pointer to ctx.s so in case the user-function can use - ** the already allocated buffer instead of allocating a new one. - */ - memcpy(&ctx.s, pOut, sizeof(Mem)); - pOut->flags = MEM_Null; - pOut->xDel = 0; - pOut->zMalloc = 0; - MemSetTypeFlag(&ctx.s, MEM_Null); - + MemSetTypeFlag(ctx.pOut, MEM_Null); ctx.fErrorOrAux = 0; - if( ctx.pFunc->funcFlags & SQLITE_FUNC_NEEDCOLL ){ - assert( pOp>aOp ); - assert( pOp[-1].p4type==P4_COLLSEQ ); - assert( pOp[-1].opcode==OP_CollSeq ); - ctx.pColl = pOp[-1].p4.pColl; - } db->lastRowid = lastRowid; (*ctx.pFunc->xFunc)(&ctx, n, apVal); /* IMP: R-24505-23230 */ - lastRowid = db->lastRowid; - - if( db->mallocFailed ){ - /* Even though a malloc() has failed, the implementation of the - ** user function may have called an sqlite3_result_XXX() function - ** to return a value. The following call releases any resources - ** associated with such a value. - */ - sqlite3VdbeMemRelease(&ctx.s); - goto no_mem; - } + lastRowid = db->lastRowid; /* Remember rowid changes made by xFunc */ /* If the function returned an error, throw an exception */ if( ctx.fErrorOrAux ){ if( ctx.isError ){ - sqlite3SetString(&p->zErrMsg, db, "%s", sqlite3_value_text(&ctx.s)); + sqlite3SetString(&p->zErrMsg, db, "%s", sqlite3_value_text(ctx.pOut)); rc = ctx.isError; } sqlite3VdbeDeleteAuxData(p, pc, pOp->p1); } /* Copy the result of the function into register P3 */ - sqlite3VdbeChangeEncoding(&ctx.s, encoding); - assert( pOut->flags==MEM_Null ); - memcpy(pOut, &ctx.s, sizeof(Mem)); - if( sqlite3VdbeMemTooBig(pOut) ){ + sqlite3VdbeChangeEncoding(ctx.pOut, encoding); + if( sqlite3VdbeMemTooBig(ctx.pOut) ){ goto too_big; } -#if 0 - /* The app-defined function has done something that as caused this - ** statement to expire. (Perhaps the function called sqlite3_exec() - ** with a CREATE TABLE statement.) - */ - if( p->expired ) rc = SQLITE_ABORT; -#endif - - REGISTER_TRACE(pOp->p3, pOut); - UPDATE_MAX_BLOBSIZE(pOut); + REGISTER_TRACE(pOp->p3, ctx.pOut); + UPDATE_MAX_BLOBSIZE(ctx.pOut); break; } @@ -69741,106 +70775,37 @@ case OP_RealAffinity: { /* in1 */ #endif #ifndef SQLITE_OMIT_CAST -/* Opcode: ToText P1 * * * * +/* Opcode: Cast P1 P2 * * * +** Synopsis: affinity(r[P1]) ** -** Force the value in register P1 to be text. -** If the value is numeric, convert it to a string using the -** equivalent of sprintf(). Blob values are unchanged and -** are afterwards simply interpreted as text. +** Force the value in register P1 to be the type defined by P2. +** +** <ul> +** <li value="97"> TEXT +** <li value="98"> BLOB +** <li value="99"> NUMERIC +** <li value="100"> INTEGER +** <li value="101"> REAL +** </ul> ** ** A NULL value is not changed by this routine. It remains NULL. */ -case OP_ToText: { /* same as TK_TO_TEXT, in1 */ +case OP_Cast: { /* in1 */ + assert( pOp->p2>=SQLITE_AFF_NONE && pOp->p2<=SQLITE_AFF_REAL ); + testcase( pOp->p2==SQLITE_AFF_TEXT ); + testcase( pOp->p2==SQLITE_AFF_NONE ); + testcase( pOp->p2==SQLITE_AFF_NUMERIC ); + testcase( pOp->p2==SQLITE_AFF_INTEGER ); + testcase( pOp->p2==SQLITE_AFF_REAL ); pIn1 = &aMem[pOp->p1]; memAboutToChange(p, pIn1); - if( pIn1->flags & MEM_Null ) break; - assert( MEM_Str==(MEM_Blob>>3) ); - pIn1->flags |= (pIn1->flags&MEM_Blob)>>3; - applyAffinity(pIn1, SQLITE_AFF_TEXT, encoding); rc = ExpandBlob(pIn1); - assert( pIn1->flags & MEM_Str || db->mallocFailed ); - pIn1->flags &= ~(MEM_Int|MEM_Real|MEM_Blob|MEM_Zero); - UPDATE_MAX_BLOBSIZE(pIn1); - break; -} - -/* Opcode: ToBlob P1 * * * * -** -** Force the value in register P1 to be a BLOB. -** If the value is numeric, convert it to a string first. -** Strings are simply reinterpreted as blobs with no change -** to the underlying data. -** -** A NULL value is not changed by this routine. It remains NULL. -*/ -case OP_ToBlob: { /* same as TK_TO_BLOB, in1 */ - pIn1 = &aMem[pOp->p1]; - if( pIn1->flags & MEM_Null ) break; - if( (pIn1->flags & MEM_Blob)==0 ){ - applyAffinity(pIn1, SQLITE_AFF_TEXT, encoding); - assert( pIn1->flags & MEM_Str || db->mallocFailed ); - MemSetTypeFlag(pIn1, MEM_Blob); - }else{ - pIn1->flags &= ~(MEM_TypeMask&~MEM_Blob); - } + sqlite3VdbeMemCast(pIn1, pOp->p2, encoding); UPDATE_MAX_BLOBSIZE(pIn1); break; } - -/* Opcode: ToNumeric P1 * * * * -** -** Force the value in register P1 to be numeric (either an -** integer or a floating-point number.) -** If the value is text or blob, try to convert it to an using the -** equivalent of atoi() or atof() and store 0 if no such conversion -** is possible. -** -** A NULL value is not changed by this routine. It remains NULL. -*/ -case OP_ToNumeric: { /* same as TK_TO_NUMERIC, in1 */ - pIn1 = &aMem[pOp->p1]; - sqlite3VdbeMemNumerify(pIn1); - break; -} #endif /* SQLITE_OMIT_CAST */ -/* Opcode: ToInt P1 * * * * -** -** Force the value in register P1 to be an integer. If -** The value is currently a real number, drop its fractional part. -** If the value is text or blob, try to convert it to an integer using the -** equivalent of atoi() and store 0 if no such conversion is possible. -** -** A NULL value is not changed by this routine. It remains NULL. -*/ -case OP_ToInt: { /* same as TK_TO_INT, in1 */ - pIn1 = &aMem[pOp->p1]; - if( (pIn1->flags & MEM_Null)==0 ){ - sqlite3VdbeMemIntegerify(pIn1); - } - break; -} - -#if !defined(SQLITE_OMIT_CAST) && !defined(SQLITE_OMIT_FLOATING_POINT) -/* Opcode: ToReal P1 * * * * -** -** Force the value in register P1 to be a floating point number. -** If The value is currently an integer, convert it. -** If the value is text or blob, try to convert it to an integer using the -** equivalent of atoi() and store 0.0 if no such conversion is possible. -** -** A NULL value is not changed by this routine. It remains NULL. -*/ -case OP_ToReal: { /* same as TK_TO_REAL, in1 */ - pIn1 = &aMem[pOp->p1]; - memAboutToChange(p, pIn1); - if( (pIn1->flags & MEM_Null)==0 ){ - sqlite3VdbeMemRealify(pIn1); - } - break; -} -#endif /* !defined(SQLITE_OMIT_CAST) && !defined(SQLITE_OMIT_FLOATING_POINT) */ - /* Opcode: Lt P1 P2 P3 P4 P5 ** Synopsis: if r[P1]<r[P3] goto P2 ** @@ -69976,15 +70941,35 @@ case OP_Ge: { /* same as TK_GE, jump, in1, in3 */ }else{ /* Neither operand is NULL. Do a comparison. */ affinity = pOp->p5 & SQLITE_AFF_MASK; - if( affinity ){ - applyAffinity(pIn1, affinity, encoding); - applyAffinity(pIn3, affinity, encoding); - if( db->mallocFailed ) goto no_mem; + if( affinity>=SQLITE_AFF_NUMERIC ){ + if( (pIn1->flags & (MEM_Int|MEM_Real|MEM_Str))==MEM_Str ){ + applyNumericAffinity(pIn1,0); + } + if( (pIn3->flags & (MEM_Int|MEM_Real|MEM_Str))==MEM_Str ){ + applyNumericAffinity(pIn3,0); + } + }else if( affinity==SQLITE_AFF_TEXT ){ + if( (pIn1->flags & MEM_Str)==0 && (pIn1->flags & (MEM_Int|MEM_Real))!=0 ){ + testcase( pIn1->flags & MEM_Int ); + testcase( pIn1->flags & MEM_Real ); + sqlite3VdbeMemStringify(pIn1, encoding, 1); + } + if( (pIn3->flags & MEM_Str)==0 && (pIn3->flags & (MEM_Int|MEM_Real))!=0 ){ + testcase( pIn3->flags & MEM_Int ); + testcase( pIn3->flags & MEM_Real ); + sqlite3VdbeMemStringify(pIn3, encoding, 1); + } } - assert( pOp->p4type==P4_COLLSEQ || pOp->p4.pColl==0 ); - ExpandBlob(pIn1); - ExpandBlob(pIn3); + if( pIn1->flags & MEM_Zero ){ + sqlite3VdbeMemExpandBlob(pIn1); + flags1 &= ~MEM_Zero; + } + if( pIn3->flags & MEM_Zero ){ + sqlite3VdbeMemExpandBlob(pIn3); + flags3 &= ~MEM_Zero; + } + if( db->mallocFailed ) goto no_mem; res = sqlite3MemCompare(pIn3, pIn1, pOp->p4.pColl); } switch( pOp->opcode ){ @@ -70009,8 +70994,8 @@ case OP_Ge: { /* same as TK_GE, jump, in1, in3 */ } } /* Undo any changes made by applyAffinity() to the input registers. */ - pIn1->flags = (pIn1->flags&~MEM_TypeMask) | (flags1&MEM_TypeMask); - pIn3->flags = (pIn3->flags&~MEM_TypeMask) | (flags3&MEM_TypeMask); + pIn1->flags = flags1; + pIn3->flags = flags3; break; } @@ -70178,10 +71163,10 @@ case OP_Or: { /* same as TK_OR, in1, in2, out3 */ case OP_Not: { /* same as TK_NOT, in1, out2 */ pIn1 = &aMem[pOp->p1]; pOut = &aMem[pOp->p2]; - if( pIn1->flags & MEM_Null ){ - sqlite3VdbeMemSetNull(pOut); - }else{ - sqlite3VdbeMemSetInt64(pOut, !sqlite3VdbeIntValue(pIn1)); + sqlite3VdbeMemSetNull(pOut); + if( (pIn1->flags & MEM_Null)==0 ){ + pOut->flags = MEM_Int; + pOut->u.i = !sqlite3VdbeIntValue(pIn1); } break; } @@ -70196,10 +71181,10 @@ case OP_Not: { /* same as TK_NOT, in1, out2 */ case OP_BitNot: { /* same as TK_BITNOT, in1, out2 */ pIn1 = &aMem[pOp->p1]; pOut = &aMem[pOp->p2]; - if( pIn1->flags & MEM_Null ){ - sqlite3VdbeMemSetNull(pOut); - }else{ - sqlite3VdbeMemSetInt64(pOut, ~sqlite3VdbeIntValue(pIn1)); + sqlite3VdbeMemSetNull(pOut); + if( (pIn1->flags & MEM_Null)==0 ){ + pOut->flags = MEM_Int; + pOut->u.i = ~sqlite3VdbeIntValue(pIn1); } break; } @@ -70317,7 +71302,6 @@ case OP_Column: { int p2; /* column number to retrieve */ VdbeCursor *pC; /* The VDBE cursor */ BtCursor *pCrsr; /* The BTree cursor */ - u32 *aType; /* aType[i] holds the numeric type of the i-th column */ u32 *aOffset; /* aOffset[i] is offset to start of data for i-th column */ int len; /* The length of the serialized data for the column */ int i; /* Loop counter */ @@ -70330,6 +71314,7 @@ case OP_Column: { u32 szField; /* Number of bytes in the content of a field */ u32 avail; /* Number of bytes of available data */ u32 t; /* A type code from the record header */ + u16 fx; /* pDest->flags value */ Mem *pReg; /* PseudoTable input register */ p2 = pOp->p2; @@ -70340,8 +71325,7 @@ case OP_Column: { pC = p->apCsr[pOp->p1]; assert( pC!=0 ); assert( p2<pC->nField ); - aType = pC->aType; - aOffset = aType + pC->nField; + aOffset = pC->aOffset; #ifndef SQLITE_OMIT_VIRTUALTABLE assert( pC->pVtabCursor==0 ); /* OP_Column never called on virtual table */ #endif @@ -70352,7 +71336,7 @@ case OP_Column: { /* If the cursor cache is stale, bring it up-to-date */ rc = sqlite3VdbeCursorMoveto(pC); if( rc ) goto abort_due_to_error; - if( pC->cacheStatus!=p->cacheCtr || (pOp->p5&OPFLAG_CLEARCACHE)!=0 ){ + if( pC->cacheStatus!=p->cacheCtr ){ if( pC->nullRow ){ if( pCrsr==0 ){ assert( pC->pseudoTableReg>0 ); @@ -70362,7 +71346,7 @@ case OP_Column: { pC->payloadSize = pC->szRow = avail = pReg->n; pC->aRow = (u8*)pReg->z; }else{ - MemSetTypeFlag(pDest, MEM_Null); + sqlite3VdbeMemSetNull(pDest); goto op_column_out; } }else{ @@ -70397,14 +71381,6 @@ case OP_Column: { pC->iHdrOffset = getVarint32(pC->aRow, offset); pC->nHdrParsed = 0; aOffset[0] = offset; - if( avail<offset ){ - /* pC->aRow does not have to hold the entire row, but it does at least - ** need to cover the header of the record. If pC->aRow does not contain - ** the complete header, then set it to zero, forcing the header to be - ** dynamically allocated. */ - pC->aRow = 0; - pC->szRow = 0; - } /* Make sure a corrupt database has not given us an oversize header. ** Do this now to avoid an oversize memory allocation. @@ -70419,15 +71395,32 @@ case OP_Column: { rc = SQLITE_CORRUPT_BKPT; goto op_column_error; } + + if( avail<offset ){ + /* pC->aRow does not have to hold the entire row, but it does at least + ** need to cover the header of the record. If pC->aRow does not contain + ** the complete header, then set it to zero, forcing the header to be + ** dynamically allocated. */ + pC->aRow = 0; + pC->szRow = 0; + } + + /* The following goto is an optimization. It can be omitted and + ** everything will still work. But OP_Column is measurably faster + ** by skipping the subsequent conditional, which is always true. + */ + assert( pC->nHdrParsed<=p2 ); /* Conditional skipped */ + goto op_column_read_header; } /* Make sure at least the first p2+1 entries of the header have been - ** parsed and valid information is in aOffset[] and aType[]. + ** parsed and valid information is in aOffset[] and pC->aType[]. */ if( pC->nHdrParsed<=p2 ){ /* If there is more header available for parsing in the record, try ** to extract additional fields up through the p2+1-th field */ + op_column_read_header: if( pC->iHdrOffset<aOffset[0] ){ /* Make sure zData points to enough of the record to cover the header. */ if( pC->aRow==0 ){ @@ -70442,7 +71435,7 @@ case OP_Column: { zData = pC->aRow; } - /* Fill in aType[i] and aOffset[i] values through the p2-th field. */ + /* Fill in pC->aType[i] and aOffset[i] values through the p2-th field. */ i = pC->nHdrParsed; offset = aOffset[i]; zHdr = zData + pC->iHdrOffset; @@ -70455,7 +71448,7 @@ case OP_Column: { }else{ zHdr += sqlite3GetVarint32(zHdr, &t); } - aType[i] = t; + pC->aType[i] = t; szField = sqlite3VdbeSerialTypeLen(t); offset += szField; if( offset<szField ){ /* True if offset overflows */ @@ -70472,15 +71465,16 @@ case OP_Column: { sMem.flags = MEM_Null; } - /* If we have read more header data than was contained in the header, - ** or if the end of the last field appears to be past the end of the - ** record, or if the end of the last field appears to be before the end - ** of the record (when all fields present), then we must be dealing - ** with a corrupt database. + /* The record is corrupt if any of the following are true: + ** (1) the bytes of the header extend past the declared header size + ** (zHdr>zEndHdr) + ** (2) the entire header was used but not all data was used + ** (zHdr==zEndHdr && offset!=pC->payloadSize) + ** (3) the end of the data extends beyond the end of the record. + ** (offset > pC->payloadSize) */ - if( (zHdr > zEndHdr) + if( (zHdr>=zEndHdr && (zHdr>zEndHdr || offset!=pC->payloadSize)) || (offset > pC->payloadSize) - || (zHdr==zEndHdr && offset!=pC->payloadSize) ){ rc = SQLITE_CORRUPT_BKPT; goto op_column_error; @@ -70495,68 +71489,68 @@ case OP_Column: { if( pOp->p4type==P4_MEM ){ sqlite3VdbeMemShallowCopy(pDest, pOp->p4.pMem, MEM_Static); }else{ - MemSetTypeFlag(pDest, MEM_Null); + sqlite3VdbeMemSetNull(pDest); } goto op_column_out; } } /* Extract the content for the p2+1-th column. Control can only - ** reach this point if aOffset[p2], aOffset[p2+1], and aType[p2] are + ** reach this point if aOffset[p2], aOffset[p2+1], and pC->aType[p2] are ** all valid. */ assert( p2<pC->nHdrParsed ); assert( rc==SQLITE_OK ); assert( sqlite3VdbeCheckMemInvariants(pDest) ); + if( VdbeMemDynamic(pDest) ) sqlite3VdbeMemSetNull(pDest); + t = pC->aType[p2]; if( pC->szRow>=aOffset[p2+1] ){ /* This is the common case where the desired content fits on the original ** page - where the content is not on an overflow page */ - VdbeMemRelease(pDest); - sqlite3VdbeSerialGet(pC->aRow+aOffset[p2], aType[p2], pDest); + sqlite3VdbeSerialGet(pC->aRow+aOffset[p2], t, pDest); }else{ /* This branch happens only when content is on overflow pages */ - t = aType[p2]; if( ((pOp->p5 & (OPFLAG_LENGTHARG|OPFLAG_TYPEOFARG))!=0 && ((t>=12 && (t&1)==0) || (pOp->p5 & OPFLAG_TYPEOFARG)!=0)) || (len = sqlite3VdbeSerialTypeLen(t))==0 ){ - /* Content is irrelevant for the typeof() function and for - ** the length(X) function if X is a blob. So we might as well use - ** bogus content rather than reading content from disk. NULL works - ** for text and blob and whatever is in the payloadSize64 variable - ** will work for everything else. Content is also irrelevant if - ** the content length is 0. */ - zData = t<=13 ? (u8*)&payloadSize64 : 0; - sMem.zMalloc = 0; + /* Content is irrelevant for + ** 1. the typeof() function, + ** 2. the length(X) function if X is a blob, and + ** 3. if the content length is zero. + ** So we might as well use bogus content rather than reading + ** content from disk. NULL will work for the value for strings + ** and blobs and whatever is in the payloadSize64 variable + ** will work for everything else. */ + sqlite3VdbeSerialGet(t<=13 ? (u8*)&payloadSize64 : 0, t, pDest); }else{ - memset(&sMem, 0, sizeof(sMem)); - sqlite3VdbeMemMove(&sMem, pDest); rc = sqlite3VdbeMemFromBtree(pCrsr, aOffset[p2], len, !pC->isTable, - &sMem); + pDest); if( rc!=SQLITE_OK ){ goto op_column_error; } - zData = (u8*)sMem.z; - } - sqlite3VdbeSerialGet(zData, t, pDest); - /* If we dynamically allocated space to hold the data (in the - ** sqlite3VdbeMemFromBtree() call above) then transfer control of that - ** dynamically allocated space over to the pDest structure. - ** This prevents a memory copy. */ - if( sMem.zMalloc ){ - assert( sMem.z==sMem.zMalloc ); - assert( VdbeMemDynamic(pDest)==0 ); - assert( (pDest->flags & (MEM_Blob|MEM_Str))==0 || pDest->z==sMem.z ); - pDest->flags &= ~(MEM_Ephem|MEM_Static); - pDest->flags |= MEM_Term; - pDest->z = sMem.z; - pDest->zMalloc = sMem.zMalloc; + sqlite3VdbeSerialGet((const u8*)pDest->z, t, pDest); + pDest->flags &= ~MEM_Ephem; } } pDest->enc = encoding; op_column_out: - Deephemeralize(pDest); + /* If the column value is an ephemeral string, go ahead and persist + ** that string in case the cursor moves before the column value is + ** used. The following code does the equivalent of Deephemeralize() + ** but does it faster. */ + if( (pDest->flags & MEM_Ephem)!=0 && pDest->z ){ + fx = pDest->flags & (MEM_Str|MEM_Blob); + assert( fx!=0 ); + zData = (const u8*)pDest->z; + len = pDest->n; + if( sqlite3VdbeMemClearAndResize(pDest, len+2) ) goto no_mem; + memcpy(pDest->z, zData, len); + pDest->z[len] = 0; + pDest->z[len+1] = 0; + pDest->flags = fx|MEM_Term; + } op_column_error: UPDATE_MAX_BLOBSIZE(pDest); REGISTER_TRACE(pOp->p3, pDest); @@ -70631,7 +71625,7 @@ case OP_MakeRecord: { ** ------------------------------------------------------------------------ ** ** Data(0) is taken from register P1. Data(1) comes from register P1+1 - ** and so froth. + ** and so forth. ** ** Each type field is a varint representing the serial type of the ** corresponding data element (see sqlite3VdbeSerialType()). The @@ -70671,7 +71665,7 @@ case OP_MakeRecord: { pRec = pLast; do{ assert( memIsValid(pRec) ); - serial_type = sqlite3VdbeSerialType(pRec, file_format); + pRec->uTemp = serial_type = sqlite3VdbeSerialType(pRec, file_format); len = sqlite3VdbeSerialTypeLen(serial_type); if( pRec->flags & MEM_Zero ){ if( nData ){ @@ -70707,9 +71701,9 @@ case OP_MakeRecord: { /* Make sure the output register has a buffer large enough to store ** the new record. The output register (pOp->p3) is not allowed to ** be one of the input registers (because the following call to - ** sqlite3VdbeMemGrow() could clobber the value before it is used). + ** sqlite3VdbeMemClearAndResize() could clobber the value before it is used). */ - if( sqlite3VdbeMemGrow(pOut, (int)nByte, 0) ){ + if( sqlite3VdbeMemClearAndResize(pOut, (int)nByte) ){ goto no_mem; } zNewRecord = (u8 *)pOut->z; @@ -70720,7 +71714,7 @@ case OP_MakeRecord: { assert( pData0<=pLast ); pRec = pData0; do{ - serial_type = sqlite3VdbeSerialType(pRec, file_format); + serial_type = pRec->uTemp; i += putVarint32(&zNewRecord[i], serial_type); /* serial type */ j += sqlite3VdbeSerialPut(&zNewRecord[j], pRec, serial_type); /* content */ }while( (++pRec)<=pLast ); @@ -70730,7 +71724,6 @@ case OP_MakeRecord: { assert( pOp->p3>0 && pOp->p3<=(p->nMem-p->nCursor) ); pOut->n = (int)nByte; pOut->flags = MEM_Blob; - pOut->xDel = 0; if( nZero ){ pOut->u.nZero = nZero; pOut->flags |= MEM_Zero; @@ -70877,11 +71870,18 @@ case OP_Savepoint: { db->isTransactionSavepoint = 0; rc = p->rc; }else{ + int isSchemaChange; iSavepoint = db->nSavepoint - iSavepoint - 1; if( p1==SAVEPOINT_ROLLBACK ){ + isSchemaChange = (db->flags & SQLITE_InternChanges)!=0; for(ii=0; ii<db->nDb; ii++){ - sqlite3BtreeTripAllCursors(db->aDb[ii].pBt, SQLITE_ABORT); + rc = sqlite3BtreeTripAllCursors(db->aDb[ii].pBt, + SQLITE_ABORT_ROLLBACK, + isSchemaChange==0); + if( rc!=SQLITE_OK ) goto abort_due_to_error; } + }else{ + isSchemaChange = 0; } for(ii=0; ii<db->nDb; ii++){ rc = sqlite3BtreeSavepoint(db->aDb[ii].pBt, p1, iSavepoint); @@ -70889,7 +71889,7 @@ case OP_Savepoint: { goto abort_due_to_error; } } - if( p1==SAVEPOINT_ROLLBACK && (db->flags&SQLITE_InternChanges)!=0 ){ + if( isSchemaChange ){ sqlite3ExpirePreparedStatements(db); sqlite3ResetAllSchemasOfConnection(db); db->flags = (db->flags | SQLITE_InternChanges); @@ -71286,7 +72286,7 @@ case OP_OpenWrite: { || p->readOnly==0 ); if( p->expired ){ - rc = SQLITE_ABORT; + rc = SQLITE_ABORT_ROLLBACK; break; } @@ -71346,10 +72346,6 @@ case OP_OpenWrite: { assert( OPFLAG_BULKCSR==BTREE_BULKLOAD ); sqlite3BtreeCursorHints(pCur->pCursor, (pOp->p5 & OPFLAG_BULKCSR)); - /* Since it performs no memory allocation or IO, the only value that - ** sqlite3BtreeCursor() may return is SQLITE_OK. */ - assert( rc==SQLITE_OK ); - /* Set the VdbeCursor.isTable variable. Previous versions of ** SQLite used to check if the root-page flags were sane at this point ** and report database corruption if they were not, but this check has @@ -71433,11 +72429,15 @@ case OP_OpenEphemeral: { break; } -/* Opcode: SorterOpen P1 P2 * P4 * +/* Opcode: SorterOpen P1 P2 P3 P4 * ** ** This opcode works like OP_OpenEphemeral except that it opens ** a transient index that is specifically designed to sort large ** tables using an external merge-sort algorithm. +** +** If argument P3 is non-zero, then it indicates that the sorter may +** assume that a stable sort considering the first P3 fields of each +** key is sufficient to produce the required results. */ case OP_SorterOpen: { VdbeCursor *pCx; @@ -71449,7 +72449,25 @@ case OP_SorterOpen: { pCx->pKeyInfo = pOp->p4.pKeyInfo; assert( pCx->pKeyInfo->db==db ); assert( pCx->pKeyInfo->enc==ENC(db) ); - rc = sqlite3VdbeSorterInit(db, pCx); + rc = sqlite3VdbeSorterInit(db, pOp->p3, pCx); + break; +} + +/* Opcode: SequenceTest P1 P2 * * * +** Synopsis: if( cursor[P1].ctr++ ) pc = P2 +** +** P1 is a sorter cursor. If the sequence counter is currently zero, jump +** to P2. Regardless of whether or not the jump is taken, increment the +** the sequence value. +*/ +case OP_SequenceTest: { + VdbeCursor *pC; + assert( pOp->p1>=0 && pOp->p1<p->nCursor ); + pC = p->apCsr[pOp->p1]; + assert( pC->pSorter ); + if( (pC->seqCount++)==0 ){ + pc = pOp->p2 - 1; + } break; } @@ -71596,11 +72614,12 @@ case OP_SeekGT: { /* jump, in3 */ if( pC->isTable ){ /* The input value in P3 might be of any type: integer, real, string, ** blob, or NULL. But it needs to be an integer before we can do - ** the seek, so covert it. */ + ** the seek, so convert it. */ pIn3 = &aMem[pOp->p3]; - ApplyNumericAffinity(pIn3); + if( (pIn3->flags & (MEM_Int|MEM_Real|MEM_Str))==MEM_Str ){ + applyNumericAffinity(pIn3, 0); + } iKey = sqlite3VdbeIntValue(pIn3); - pC->rowidIsValid = 0; /* If the P3 value could not be converted into an integer without ** loss of information, then special processing is required... */ @@ -71619,7 +72638,7 @@ case OP_SeekGT: { /* jump, in3 */ ** (x > 4.9) -> (x >= 5) ** (x <= 4.9) -> (x < 5) */ - if( pIn3->r<(double)iKey ){ + if( pIn3->u.r<(double)iKey ){ assert( OP_SeekGE==(OP_SeekGT-1) ); assert( OP_SeekLT==(OP_SeekLE-1) ); assert( (OP_SeekLE & 0x0001)==(OP_SeekGT & 0x0001) ); @@ -71628,7 +72647,7 @@ case OP_SeekGT: { /* jump, in3 */ /* If the approximation iKey is smaller than the actual real search ** term, substitute <= for < and > for >=. */ - else if( pIn3->r>(double)iKey ){ + else if( pIn3->u.r>(double)iKey ){ assert( OP_SeekLE==(OP_SeekLT+1) ); assert( OP_SeekGT==(OP_SeekGE+1) ); assert( (OP_SeekLT & 0x0001)==(OP_SeekGE & 0x0001) ); @@ -71636,13 +72655,10 @@ case OP_SeekGT: { /* jump, in3 */ } } rc = sqlite3BtreeMovetoUnpacked(pC->pCursor, 0, (u64)iKey, 0, &res); + pC->movetoTarget = iKey; /* Used by OP_Delete */ if( rc!=SQLITE_OK ){ goto abort_due_to_error; } - if( res==0 ){ - pC->rowidIsValid = 1; - pC->lastRowid = iKey; - } }else{ nField = pOp->p4.i; assert( pOp->p4type==P4_INT32 ); @@ -71672,7 +72688,6 @@ case OP_SeekGT: { /* jump, in3 */ if( rc!=SQLITE_OK ){ goto abort_due_to_error; } - pC->rowidIsValid = 0; } pC->deferredMoveto = 0; pC->cacheStatus = CACHE_STALE; @@ -71684,7 +72699,6 @@ case OP_SeekGT: { /* jump, in3 */ res = 0; rc = sqlite3BtreeNext(pC->pCursor, &res); if( rc!=SQLITE_OK ) goto abort_due_to_error; - pC->rowidIsValid = 0; }else{ res = 0; } @@ -71694,7 +72708,6 @@ case OP_SeekGT: { /* jump, in3 */ res = 0; rc = sqlite3BtreePrevious(pC->pCursor, &res); if( rc!=SQLITE_OK ) goto abort_due_to_error; - pC->rowidIsValid = 0; }else{ /* res might be negative because the table is empty. Check to ** see if this is the case. @@ -71731,7 +72744,6 @@ case OP_Seek: { /* in2 */ pC->nullRow = 0; pIn2 = &aMem[pOp->p2]; pC->movetoTarget = sqlite3VdbeIntValue(pIn2); - pC->rowidIsValid = 0; pC->deferredMoveto = 1; break; } @@ -71917,15 +72929,13 @@ case OP_NotExists: { /* jump, in3 */ res = 0; iKey = pIn3->u.i; rc = sqlite3BtreeMovetoUnpacked(pCrsr, 0, iKey, 0, &res); - pC->lastRowid = pIn3->u.i; - pC->rowidIsValid = res==0 ?1:0; + pC->movetoTarget = iKey; /* Used by OP_Delete */ pC->nullRow = 0; pC->cacheStatus = CACHE_STALE; pC->deferredMoveto = 0; VdbeBranchTaken(res!=0,2); if( res!=0 ){ pc = pOp->p2 - 1; - assert( pC->rowidIsValid==0 ); } pC->seekResult = res; break; @@ -72059,32 +73069,20 @@ case OP_NewRowid: { /* out2-prerelease */ ** it finds one that is not previously used. */ assert( pOp->p3==0 ); /* We cannot be in random rowid mode if this is ** an AUTOINCREMENT table. */ - /* on the first attempt, simply do one more than previous */ - v = lastRowid; - v &= (MAX_ROWID>>1); /* ensure doesn't go negative */ - v++; /* ensure non-zero */ cnt = 0; - while( ((rc = sqlite3BtreeMovetoUnpacked(pC->pCursor, 0, (u64)v, + do{ + sqlite3_randomness(sizeof(v), &v); + v &= (MAX_ROWID>>1); v++; /* Ensure that v is greater than zero */ + }while( ((rc = sqlite3BtreeMovetoUnpacked(pC->pCursor, 0, (u64)v, 0, &res))==SQLITE_OK) && (res==0) - && (++cnt<100)){ - /* collision - try another random rowid */ - sqlite3_randomness(sizeof(v), &v); - if( cnt<5 ){ - /* try "small" random rowids for the initial attempts */ - v &= 0xffffff; - }else{ - v &= (MAX_ROWID>>1); /* ensure doesn't go negative */ - } - v++; /* ensure non-zero */ - } + && (++cnt<100)); if( rc==SQLITE_OK && res==0 ){ rc = SQLITE_FULL; /* IMP: R-38219-53002 */ goto abort_due_to_error; } assert( v>0 ); /* EV: R-40812-03570 */ } - pC->rowidIsValid = 0; pC->deferredMoveto = 0; pC->cacheStatus = CACHE_STALE; } @@ -72189,7 +73187,6 @@ case OP_InsertInt: { pData->z, pData->n, nZero, (pOp->p5 & OPFLAG_APPEND)!=0, seekResult ); - pC->rowidIsValid = 0; pC->deferredMoveto = 0; pC->cacheStatus = CACHE_STALE; @@ -72226,33 +73223,32 @@ case OP_InsertInt: { ** using OP_NotFound prior to invoking this opcode. */ case OP_Delete: { - i64 iKey; VdbeCursor *pC; assert( pOp->p1>=0 && pOp->p1<p->nCursor ); pC = p->apCsr[pOp->p1]; assert( pC!=0 ); assert( pC->pCursor!=0 ); /* Only valid for real tables, no pseudotables */ - iKey = pC->lastRowid; /* Only used for the update hook */ - - /* The OP_Delete opcode always follows an OP_NotExists or OP_Last or - ** OP_Column on the same table without any intervening operations that - ** might move or invalidate the cursor. Hence cursor pC is always pointing - ** to the row to be deleted and the sqlite3VdbeCursorMoveto() operation - ** below is always a no-op and cannot fail. We will run it anyhow, though, - ** to guard against future changes to the code generator. - **/ assert( pC->deferredMoveto==0 ); - rc = sqlite3VdbeCursorMoveto(pC); - if( NEVER(rc!=SQLITE_OK) ) goto abort_due_to_error; +#ifdef SQLITE_DEBUG + /* The seek operation that positioned the cursor prior to OP_Delete will + ** have also set the pC->movetoTarget field to the rowid of the row that + ** is being deleted */ + if( pOp->p4.z && pC->isTable ){ + i64 iKey = 0; + sqlite3BtreeKeySize(pC->pCursor, &iKey); + assert( pC->movetoTarget==iKey ); + } +#endif + rc = sqlite3BtreeDelete(pC->pCursor); pC->cacheStatus = CACHE_STALE; /* Invoke the update-hook if required. */ if( rc==SQLITE_OK && db->xUpdateCallback && pOp->p4.z && pC->isTable ){ db->xUpdateCallback(db->pUpdateArg, SQLITE_DELETE, - db->aDb[pC->iDb].zName, pOp->p4.z, iKey); + db->aDb[pC->iDb].zName, pOp->p4.z, pC->movetoTarget); assert( pC->iDb>=0 ); } if( pOp->p2 & OPFLAG_NCHANGE ) p->nChange++; @@ -72296,6 +73292,7 @@ case OP_SorterCompare: { assert( pOp->p4type==P4_INT32 ); pIn3 = &aMem[pOp->p3]; nKeyCol = pOp->p4.i; + res = 0; rc = sqlite3VdbeSorterCompare(pC, pIn3, nKeyCol, &res); VdbeBranchTaken(res!=0,2); if( res ){ @@ -72304,10 +73301,17 @@ case OP_SorterCompare: { break; }; -/* Opcode: SorterData P1 P2 * * * +/* Opcode: SorterData P1 P2 P3 * * ** Synopsis: r[P2]=data ** ** Write into register P2 the current sorter data for sorter cursor P1. +** Then clear the column header cache on cursor P3. +** +** This opcode is normally use to move a record out of the sorter and into +** a register that is the source for a pseudo-table cursor created using +** OpenPseudo. That pseudo-table cursor is the one that is identified by +** parameter P3. Clearing the P3 column cache as part of this opcode saves +** us from having to issue a separate NullRow instruction to clear that cache. */ case OP_SorterData: { VdbeCursor *pC; @@ -72317,6 +73321,8 @@ case OP_SorterData: { assert( isSorter(pC) ); rc = sqlite3VdbeSorterRowkey(pC, pOut); assert( rc!=SQLITE_OK || (pOut->flags & MEM_Blob) ); + assert( pOp->p1>=0 && pOp->p1<p->nCursor ); + p->apCsr[pOp->p3]->cacheStatus = CACHE_STALE; break; } @@ -72363,16 +73369,20 @@ case OP_RowData: { assert( pC->pseudoTableReg==0 ); assert( pC->pCursor!=0 ); pCrsr = pC->pCursor; - assert( sqlite3BtreeCursorIsValid(pCrsr) ); /* The OP_RowKey and OP_RowData opcodes always follow OP_NotExists or ** OP_Rewind/Op_Next with no intervening instructions that might invalidate - ** the cursor. Hence the following sqlite3VdbeCursorMoveto() call is always - ** a no-op and can never fail. But we leave it in place as a safety. + ** the cursor. If this where not the case, on of the following assert()s + ** would fail. Should this ever change (because of changes in the code + ** generator) then the fix would be to insert a call to + ** sqlite3VdbeCursorMoveto(). */ assert( pC->deferredMoveto==0 ); + assert( sqlite3BtreeCursorIsValid(pCrsr) ); +#if 0 /* Not required due to the previous to assert() statements */ rc = sqlite3VdbeCursorMoveto(pC); - if( NEVER(rc!=SQLITE_OK) ) goto abort_due_to_error; + if( rc!=SQLITE_OK ) goto abort_due_to_error; +#endif if( pC->isTable==0 ){ assert( !pC->isTable ); @@ -72389,7 +73399,8 @@ case OP_RowData: { goto too_big; } } - if( sqlite3VdbeMemGrow(pOut, n, 0) ){ + testcase( n==0 ); + if( sqlite3VdbeMemClearAndResize(pOut, MAX(n,32)) ){ goto no_mem; } pOut->n = n; @@ -72440,14 +73451,14 @@ case OP_Rowid: { /* out2-prerelease */ #endif /* SQLITE_OMIT_VIRTUALTABLE */ }else{ assert( pC->pCursor!=0 ); - rc = sqlite3VdbeCursorMoveto(pC); + rc = sqlite3VdbeCursorRestore(pC); if( rc ) goto abort_due_to_error; - if( pC->rowidIsValid ){ - v = pC->lastRowid; - }else{ - rc = sqlite3BtreeKeySize(pC->pCursor, &v); - assert( rc==SQLITE_OK ); /* Always so because of CursorMoveto() above */ + if( pC->nullRow ){ + pOut->flags = MEM_Null; + break; } + rc = sqlite3BtreeKeySize(pC->pCursor, &v); + assert( rc==SQLITE_OK ); /* Always so because of CursorRestore() above */ } pOut->u.i = v; break; @@ -72466,7 +73477,6 @@ case OP_NullRow: { pC = p->apCsr[pOp->p1]; assert( pC!=0 ); pC->nullRow = 1; - pC->rowidIsValid = 0; pC->cacheStatus = CACHE_STALE; if( pC->pCursor ){ sqlite3BtreeClearCursor(pC->pCursor); @@ -72500,7 +73510,6 @@ case OP_Last: { /* jump */ rc = sqlite3BtreeLast(pCrsr, &res); pC->nullRow = (u8)res; pC->deferredMoveto = 0; - pC->rowidIsValid = 0; pC->cacheStatus = CACHE_STALE; #ifdef SQLITE_DEBUG pC->seekOp = OP_Last; @@ -72560,14 +73569,13 @@ case OP_Rewind: { /* jump */ pC->seekOp = OP_Rewind; #endif if( isSorter(pC) ){ - rc = sqlite3VdbeSorterRewind(db, pC, &res); + rc = sqlite3VdbeSorterRewind(pC, &res); }else{ pCrsr = pC->pCursor; assert( pCrsr ); rc = sqlite3BtreeFirst(pCrsr, &res); pC->deferredMoveto = 0; pC->cacheStatus = CACHE_STALE; - pC->rowidIsValid = 0; } pC->nullRow = (u8)res; assert( pOp->p2>0 && pOp->p2<p->nOp ); @@ -72693,7 +73701,6 @@ next_tail: }else{ pC->nullRow = 1; } - pC->rowidIsValid = 0; goto check_for_interrupt; } @@ -72738,7 +73745,7 @@ case OP_IdxInsert: { /* in2 */ rc = ExpandBlob(pIn2); if( rc==SQLITE_OK ){ if( isSorter(pC) ){ - rc = sqlite3VdbeSorterWrite(db, pC, pIn2); + rc = sqlite3VdbeSorterWrite(pC, pIn2); }else{ nKey = pIn2->n; zKey = pIn2->z; @@ -72809,10 +73816,16 @@ case OP_IdxRowid: { /* out2-prerelease */ pCrsr = pC->pCursor; assert( pCrsr!=0 ); pOut->flags = MEM_Null; - rc = sqlite3VdbeCursorMoveto(pC); - if( NEVER(rc) ) goto abort_due_to_error; - assert( pC->deferredMoveto==0 ); assert( pC->isTable==0 ); + assert( pC->deferredMoveto==0 ); + + /* sqlite3VbeCursorRestore() can only fail if the record has been deleted + ** out from under the cursor. That will never happend for an IdxRowid + ** opcode, hence the NEVER() arround the check of the return value. + */ + rc = sqlite3VdbeCursorRestore(pC); + if( NEVER(rc!=SQLITE_OK) ) goto abort_due_to_error; + if( !pC->nullRow ){ rowid = 0; /* Not needed. Only used to silence a warning. */ rc = sqlite3VdbeIdxRowid(db, pCrsr, &rowid); @@ -72899,7 +73912,7 @@ case OP_IdxGE: { /* jump */ { int i; for(i=0; i<r.nField; i++) assert( memIsValid(&r.aMem[i]) ); } #endif res = 0; /* Not needed. Only used to silence a warning. */ - rc = sqlite3VdbeIdxKeyCompare(pC, &r, &res); + rc = sqlite3VdbeIdxKeyCompare(db, pC, &r, &res); assert( (OP_IdxLE&1)==(OP_IdxLT&1) && (OP_IdxGE&1)==(OP_IdxGT&1) ); if( (pOp->opcode&1)==(OP_IdxLT&1) ){ assert( pOp->opcode==OP_IdxLE || pOp->opcode==OP_IdxLT ); @@ -73651,6 +74664,7 @@ case OP_AggStep: { int i; Mem *pMem; Mem *pRec; + Mem t; sqlite3_context ctx; sqlite3_value **apVal; @@ -73668,23 +74682,15 @@ case OP_AggStep: { assert( pOp->p3>0 && pOp->p3<=(p->nMem-p->nCursor) ); ctx.pMem = pMem = &aMem[pOp->p3]; pMem->n++; - ctx.s.flags = MEM_Null; - ctx.s.z = 0; - ctx.s.zMalloc = 0; - ctx.s.xDel = 0; - ctx.s.db = db; + sqlite3VdbeMemInit(&t, db, MEM_Null); + ctx.pOut = &t; ctx.isError = 0; - ctx.pColl = 0; + ctx.pVdbe = p; + ctx.iOp = pc; ctx.skipFlag = 0; - if( ctx.pFunc->funcFlags & SQLITE_FUNC_NEEDCOLL ){ - assert( pOp>p->aOp ); - assert( pOp[-1].p4type==P4_COLLSEQ ); - assert( pOp[-1].opcode==OP_CollSeq ); - ctx.pColl = pOp[-1].p4.pColl; - } (ctx.pFunc->xStep)(&ctx, n, apVal); /* IMP: R-24505-23230 */ if( ctx.isError ){ - sqlite3SetString(&p->zErrMsg, db, "%s", sqlite3_value_text(&ctx.s)); + sqlite3SetString(&p->zErrMsg, db, "%s", sqlite3_value_text(&t)); rc = ctx.isError; } if( ctx.skipFlag ){ @@ -73692,9 +74698,7 @@ case OP_AggStep: { i = pOp[-1].p1; if( i ) sqlite3VdbeMemSetInt64(&aMem[i], 1); } - - sqlite3VdbeMemRelease(&ctx.s); - + sqlite3VdbeMemRelease(&t); break; } @@ -74144,27 +75148,14 @@ case OP_VColumn: { pModule = pVtab->pModule; assert( pModule->xColumn ); memset(&sContext, 0, sizeof(sContext)); - - /* The output cell may already have a buffer allocated. Move - ** the current contents to sContext.s so in case the user-function - ** can use the already allocated buffer instead of allocating a - ** new one. - */ - sqlite3VdbeMemMove(&sContext.s, pDest); - MemSetTypeFlag(&sContext.s, MEM_Null); - + sContext.pOut = pDest; + MemSetTypeFlag(pDest, MEM_Null); rc = pModule->xColumn(pCur->pVtabCursor, &sContext, pOp->p2); sqlite3VtabImportErrmsg(p, pVtab); if( sContext.isError ){ rc = sContext.isError; } - - /* Copy the result of the function to the P3 register. We - ** do this regardless of whether or not an error occurred to ensure any - ** dynamic allocation in sContext.s (a Mem struct) is released. - */ - sqlite3VdbeChangeEncoding(&sContext.s, encoding); - sqlite3VdbeMemMove(pDest, &sContext.s); + sqlite3VdbeChangeEncoding(pDest, encoding); REGISTER_TRACE(pOp->p3, pDest); UPDATE_MAX_BLOBSIZE(pDest); @@ -74854,7 +75845,7 @@ blob_open_out: if( pBlob && pBlob->pStmt ) sqlite3VdbeFinalize((Vdbe *)pBlob->pStmt); sqlite3DbFree(db, pBlob); } - sqlite3Error(db, rc, (zErr ? "%s" : 0), zErr); + sqlite3ErrorWithMsg(db, rc, (zErr ? "%s" : 0), zErr); sqlite3DbFree(db, zErr); sqlite3ParserReset(pParse); sqlite3StackFree(db, pParse); @@ -74907,7 +75898,7 @@ static int blobReadWrite( if( n<0 || iOffset<0 || (iOffset+n)>p->nByte ){ /* Request is out of range. Return a transient error. */ rc = SQLITE_ERROR; - sqlite3Error(db, SQLITE_ERROR, 0); + sqlite3Error(db, SQLITE_ERROR); }else if( v==0 ){ /* If there is no statement handle, then the blob-handle has ** already been invalidated. Return SQLITE_ABORT in this case. @@ -74987,7 +75978,7 @@ SQLITE_API int sqlite3_blob_reopen(sqlite3_blob *pBlob, sqlite3_int64 iRow){ char *zErr; rc = blobSeekToRow(p, iRow, &zErr); if( rc!=SQLITE_OK ){ - sqlite3Error(db, rc, (zErr ? "%s" : 0), zErr); + sqlite3ErrorWithMsg(db, rc, (zErr ? "%s" : 0), zErr); sqlite3DbFree(db, zErr); } assert( rc!=SQLITE_SCHEMA ); @@ -75004,7 +75995,7 @@ SQLITE_API int sqlite3_blob_reopen(sqlite3_blob *pBlob, sqlite3_int64 iRow){ /************** End of vdbeblob.c ********************************************/ /************** Begin file vdbesort.c ****************************************/ /* -** 2011 July 9 +** 2011-07-09 ** ** The author disclaims copyright to this source code. In place of ** a legal notice, here is a blessing: @@ -75015,42 +76006,196 @@ SQLITE_API int sqlite3_blob_reopen(sqlite3_blob *pBlob, sqlite3_int64 iRow){ ** ************************************************************************* ** This file contains code for the VdbeSorter object, used in concert with -** a VdbeCursor to sort large numbers of keys (as may be required, for -** example, by CREATE INDEX statements on tables too large to fit in main -** memory). +** a VdbeCursor to sort large numbers of keys for CREATE INDEX statements +** or by SELECT statements with ORDER BY clauses that cannot be satisfied +** using indexes and without LIMIT clauses. +** +** The VdbeSorter object implements a multi-threaded external merge sort +** algorithm that is efficient even if the number of elements being sorted +** exceeds the available memory. +** +** Here is the (internal, non-API) interface between this module and the +** rest of the SQLite system: +** +** sqlite3VdbeSorterInit() Create a new VdbeSorter object. +** +** sqlite3VdbeSorterWrite() Add a single new row to the VdbeSorter +** object. The row is a binary blob in the +** OP_MakeRecord format that contains both +** the ORDER BY key columns and result columns +** in the case of a SELECT w/ ORDER BY, or +** the complete record for an index entry +** in the case of a CREATE INDEX. +** +** sqlite3VdbeSorterRewind() Sort all content previously added. +** Position the read cursor on the +** first sorted element. +** +** sqlite3VdbeSorterNext() Advance the read cursor to the next sorted +** element. +** +** sqlite3VdbeSorterRowkey() Return the complete binary blob for the +** row currently under the read cursor. +** +** sqlite3VdbeSorterCompare() Compare the binary blob for the row +** currently under the read cursor against +** another binary blob X and report if +** X is strictly less than the read cursor. +** Used to enforce uniqueness in a +** CREATE UNIQUE INDEX statement. +** +** sqlite3VdbeSorterClose() Close the VdbeSorter object and reclaim +** all resources. +** +** sqlite3VdbeSorterReset() Refurbish the VdbeSorter for reuse. This +** is like Close() followed by Init() only +** much faster. +** +** The interfaces above must be called in a particular order. Write() can +** only occur in between Init()/Reset() and Rewind(). Next(), Rowkey(), and +** Compare() can only occur in between Rewind() and Close()/Reset(). i.e. +** +** Init() +** for each record: Write() +** Rewind() +** Rowkey()/Compare() +** Next() +** Close() +** +** Algorithm: +** +** Records passed to the sorter via calls to Write() are initially held +** unsorted in main memory. Assuming the amount of memory used never exceeds +** a threshold, when Rewind() is called the set of records is sorted using +** an in-memory merge sort. In this case, no temporary files are required +** and subsequent calls to Rowkey(), Next() and Compare() read records +** directly from main memory. +** +** If the amount of space used to store records in main memory exceeds the +** threshold, then the set of records currently in memory are sorted and +** written to a temporary file in "Packed Memory Array" (PMA) format. +** A PMA created at this point is known as a "level-0 PMA". Higher levels +** of PMAs may be created by merging existing PMAs together - for example +** merging two or more level-0 PMAs together creates a level-1 PMA. +** +** The threshold for the amount of main memory to use before flushing +** records to a PMA is roughly the same as the limit configured for the +** page-cache of the main database. Specifically, the threshold is set to +** the value returned by "PRAGMA main.page_size" multipled by +** that returned by "PRAGMA main.cache_size", in bytes. +** +** If the sorter is running in single-threaded mode, then all PMAs generated +** are appended to a single temporary file. Or, if the sorter is running in +** multi-threaded mode then up to (N+1) temporary files may be opened, where +** N is the configured number of worker threads. In this case, instead of +** sorting the records and writing the PMA to a temporary file itself, the +** calling thread usually launches a worker thread to do so. Except, if +** there are already N worker threads running, the main thread does the work +** itself. +** +** The sorter is running in multi-threaded mode if (a) the library was built +** with pre-processor symbol SQLITE_MAX_WORKER_THREADS set to a value greater +** than zero, and (b) worker threads have been enabled at runtime by calling +** sqlite3_config(SQLITE_CONFIG_WORKER_THREADS, ...). +** +** When Rewind() is called, any data remaining in memory is flushed to a +** final PMA. So at this point the data is stored in some number of sorted +** PMAs within temporary files on disk. +** +** If there are fewer than SORTER_MAX_MERGE_COUNT PMAs in total and the +** sorter is running in single-threaded mode, then these PMAs are merged +** incrementally as keys are retreived from the sorter by the VDBE. The +** MergeEngine object, described in further detail below, performs this +** merge. +** +** Or, if running in multi-threaded mode, then a background thread is +** launched to merge the existing PMAs. Once the background thread has +** merged T bytes of data into a single sorted PMA, the main thread +** begins reading keys from that PMA while the background thread proceeds +** with merging the next T bytes of data. And so on. +** +** Parameter T is set to half the value of the memory threshold used +** by Write() above to determine when to create a new PMA. +** +** If there are more than SORTER_MAX_MERGE_COUNT PMAs in total when +** Rewind() is called, then a hierarchy of incremental-merges is used. +** First, T bytes of data from the first SORTER_MAX_MERGE_COUNT PMAs on +** disk are merged together. Then T bytes of data from the second set, and +** so on, such that no operation ever merges more than SORTER_MAX_MERGE_COUNT +** PMAs at a time. This done is to improve locality. +** +** If running in multi-threaded mode and there are more than +** SORTER_MAX_MERGE_COUNT PMAs on disk when Rewind() is called, then more +** than one background thread may be created. Specifically, there may be +** one background thread for each temporary file on disk, and one background +** thread to merge the output of each of the others to a single PMA for +** the main thread to read from. */ +/* +** If SQLITE_DEBUG_SORTER_THREADS is defined, this module outputs various +** messages to stderr that may be helpful in understanding the performance +** characteristics of the sorter in multi-threaded mode. +*/ +#if 0 +# define SQLITE_DEBUG_SORTER_THREADS 1 +#endif +/* +** Private objects used by the sorter +*/ +typedef struct MergeEngine MergeEngine; /* Merge PMAs together */ +typedef struct PmaReader PmaReader; /* Incrementally read one PMA */ +typedef struct PmaWriter PmaWriter; /* Incrementally write one PMA */ +typedef struct SorterRecord SorterRecord; /* A record being sorted */ +typedef struct SortSubtask SortSubtask; /* A sub-task in the sort process */ +typedef struct SorterFile SorterFile; /* Temporary file object wrapper */ +typedef struct SorterList SorterList; /* In-memory list of records */ +typedef struct IncrMerger IncrMerger; /* Read & merge multiple PMAs */ -typedef struct VdbeSorterIter VdbeSorterIter; -typedef struct SorterRecord SorterRecord; -typedef struct FileWriter FileWriter; +/* +** A container for a temp file handle and the current amount of data +** stored in the file. +*/ +struct SorterFile { + sqlite3_file *pFd; /* File handle */ + i64 iEof; /* Bytes of data stored in pFd */ +}; /* -** NOTES ON DATA STRUCTURE USED FOR N-WAY MERGES: +** An in-memory list of objects to be sorted. ** -** As keys are added to the sorter, they are written to disk in a series -** of sorted packed-memory-arrays (PMAs). The size of each PMA is roughly -** the same as the cache-size allowed for temporary databases. In order -** to allow the caller to extract keys from the sorter in sorted order, -** all PMAs currently stored on disk must be merged together. This comment -** describes the data structure used to do so. The structure supports -** merging any number of arrays in a single pass with no redundant comparison -** operations. +** If aMemory==0 then each object is allocated separately and the objects +** are connected using SorterRecord.u.pNext. If aMemory!=0 then all objects +** are stored in the aMemory[] bulk memory, one right after the other, and +** are connected using SorterRecord.u.iNext. +*/ +struct SorterList { + SorterRecord *pList; /* Linked list of records */ + u8 *aMemory; /* If non-NULL, bulk memory to hold pList */ + int szPMA; /* Size of pList as PMA in bytes */ +}; + +/* +** The MergeEngine object is used to combine two or more smaller PMAs into +** one big PMA using a merge operation. Separate PMAs all need to be +** combined into one big PMA in order to be able to step through the sorted +** records in order. ** -** The aIter[] array contains an iterator for each of the PMAs being merged. -** An aIter[] iterator either points to a valid key or else is at EOF. For -** the purposes of the paragraphs below, we assume that the array is actually -** N elements in size, where N is the smallest power of 2 greater to or equal -** to the number of iterators being merged. The extra aIter[] elements are -** treated as if they are empty (always at EOF). +** The aReadr[] array contains a PmaReader object for each of the PMAs being +** merged. An aReadr[] object either points to a valid key or else is at EOF. +** ("EOF" means "End Of File". When aReadr[] is at EOF there is no more data.) +** For the purposes of the paragraphs below, we assume that the array is +** actually N elements in size, where N is the smallest power of 2 greater +** to or equal to the number of PMAs being merged. The extra aReadr[] elements +** are treated as if they are empty (always at EOF). ** ** The aTree[] array is also N elements in size. The value of N is stored in -** the VdbeSorter.nTree variable. +** the MergeEngine.nTree variable. ** ** The final (N/2) elements of aTree[] contain the results of comparing -** pairs of iterator keys together. Element i contains the result of -** comparing aIter[2*i-N] and aIter[2*i-N+1]. Whichever key is smaller, the +** pairs of PMA keys together. Element i contains the result of +** comparing aReadr[2*i-N] and aReadr[2*i-N+1]. Whichever key is smaller, the ** aTree element is set to the index of it. ** ** For the purposes of this comparison, EOF is considered greater than any @@ -75058,34 +76203,34 @@ typedef struct FileWriter FileWriter; ** values), it doesn't matter which index is stored. ** ** The (N/4) elements of aTree[] that precede the final (N/2) described -** above contains the index of the smallest of each block of 4 iterators. -** And so on. So that aTree[1] contains the index of the iterator that +** above contains the index of the smallest of each block of 4 PmaReaders +** And so on. So that aTree[1] contains the index of the PmaReader that ** currently points to the smallest key value. aTree[0] is unused. ** ** Example: ** -** aIter[0] -> Banana -** aIter[1] -> Feijoa -** aIter[2] -> Elderberry -** aIter[3] -> Currant -** aIter[4] -> Grapefruit -** aIter[5] -> Apple -** aIter[6] -> Durian -** aIter[7] -> EOF +** aReadr[0] -> Banana +** aReadr[1] -> Feijoa +** aReadr[2] -> Elderberry +** aReadr[3] -> Currant +** aReadr[4] -> Grapefruit +** aReadr[5] -> Apple +** aReadr[6] -> Durian +** aReadr[7] -> EOF ** ** aTree[] = { X, 5 0, 5 0, 3, 5, 6 } ** ** The current element is "Apple" (the value of the key indicated by -** iterator 5). When the Next() operation is invoked, iterator 5 will +** PmaReader 5). When the Next() operation is invoked, PmaReader 5 will ** be advanced to the next key in its segment. Say the next key is ** "Eggplant": ** -** aIter[5] -> Eggplant +** aReadr[5] -> Eggplant ** -** The contents of aTree[] are updated first by comparing the new iterator -** 5 key to the current key of iterator 4 (still "Grapefruit"). The iterator +** The contents of aTree[] are updated first by comparing the new PmaReader +** 5 key to the current key of PmaReader 4 (still "Grapefruit"). The PmaReader ** 5 value is still smaller, so aTree[6] is set to 5. And so on up the tree. -** The value of iterator 6 - "Durian" - is now smaller than that of iterator +** The value of PmaReader 6 - "Durian" - is now smaller than that of PmaReader ** 5, so aTree[3] is set to 6. Key 0 is smaller than key 6 (Banana<Durian), ** so the value written into element 1 of the array is 0. As follows: ** @@ -75095,97 +76240,246 @@ typedef struct FileWriter FileWriter; ** key comparison operations are required, where N is the number of segments ** being merged (rounded up to the next power of 2). */ +struct MergeEngine { + int nTree; /* Used size of aTree/aReadr (power of 2) */ + SortSubtask *pTask; /* Used by this thread only */ + int *aTree; /* Current state of incremental merge */ + PmaReader *aReadr; /* Array of PmaReaders to merge data from */ +}; + +/* +** This object represents a single thread of control in a sort operation. +** Exactly VdbeSorter.nTask instances of this object are allocated +** as part of each VdbeSorter object. Instances are never allocated any +** other way. VdbeSorter.nTask is set to the number of worker threads allowed +** (see SQLITE_CONFIG_WORKER_THREADS) plus one (the main thread). Thus for +** single-threaded operation, there is exactly one instance of this object +** and for multi-threaded operation there are two or more instances. +** +** Essentially, this structure contains all those fields of the VdbeSorter +** structure for which each thread requires a separate instance. For example, +** each thread requries its own UnpackedRecord object to unpack records in +** as part of comparison operations. +** +** Before a background thread is launched, variable bDone is set to 0. Then, +** right before it exits, the thread itself sets bDone to 1. This is used for +** two purposes: +** +** 1. When flushing the contents of memory to a level-0 PMA on disk, to +** attempt to select a SortSubtask for which there is not already an +** active background thread (since doing so causes the main thread +** to block until it finishes). +** +** 2. If SQLITE_DEBUG_SORTER_THREADS is defined, to determine if a call +** to sqlite3ThreadJoin() is likely to block. Cases that are likely to +** block provoke debugging output. +** +** In both cases, the effects of the main thread seeing (bDone==0) even +** after the thread has finished are not dire. So we don't worry about +** memory barriers and such here. +*/ +struct SortSubtask { + SQLiteThread *pThread; /* Background thread, if any */ + int bDone; /* Set if thread is finished but not joined */ + VdbeSorter *pSorter; /* Sorter that owns this sub-task */ + UnpackedRecord *pUnpacked; /* Space to unpack a record */ + SorterList list; /* List for thread to write to a PMA */ + int nPMA; /* Number of PMAs currently in file */ + SorterFile file; /* Temp file for level-0 PMAs */ + SorterFile file2; /* Space for other PMAs */ +}; + +/* +** Main sorter structure. A single instance of this is allocated for each +** sorter cursor created by the VDBE. +** +** mxKeysize: +** As records are added to the sorter by calls to sqlite3VdbeSorterWrite(), +** this variable is updated so as to be set to the size on disk of the +** largest record in the sorter. +*/ struct VdbeSorter { - i64 iWriteOff; /* Current write offset within file pTemp1 */ - i64 iReadOff; /* Current read offset within file pTemp1 */ - int nInMemory; /* Current size of pRecord list as PMA */ - int nTree; /* Used size of aTree/aIter (power of 2) */ - int nPMA; /* Number of PMAs stored in pTemp1 */ int mnPmaSize; /* Minimum PMA size, in bytes */ int mxPmaSize; /* Maximum PMA size, in bytes. 0==no limit */ - VdbeSorterIter *aIter; /* Array of iterators to merge */ - int *aTree; /* Current state of incremental merge */ - sqlite3_file *pTemp1; /* PMA file 1 */ - SorterRecord *pRecord; /* Head of in-memory record list */ - UnpackedRecord *pUnpacked; /* Used to unpack keys */ + int mxKeysize; /* Largest serialized key seen so far */ + int pgsz; /* Main database page size */ + PmaReader *pReader; /* Readr data from here after Rewind() */ + MergeEngine *pMerger; /* Or here, if bUseThreads==0 */ + sqlite3 *db; /* Database connection */ + KeyInfo *pKeyInfo; /* How to compare records */ + UnpackedRecord *pUnpacked; /* Used by VdbeSorterCompare() */ + SorterList list; /* List of in-memory records */ + int iMemory; /* Offset of free space in list.aMemory */ + int nMemory; /* Size of list.aMemory allocation in bytes */ + u8 bUsePMA; /* True if one or more PMAs created */ + u8 bUseThreads; /* True to use background threads */ + u8 iPrev; /* Previous thread used to flush PMA */ + u8 nTask; /* Size of aTask[] array */ + SortSubtask aTask[1]; /* One or more subtasks */ }; /* -** The following type is an iterator for a PMA. It caches the current key in -** variables nKey/aKey. If the iterator is at EOF, pFile==0. -*/ -struct VdbeSorterIter { - i64 iReadOff; /* Current read offset */ - i64 iEof; /* 1 byte past EOF for this iterator */ - int nAlloc; /* Bytes of space at aAlloc */ - int nKey; /* Number of bytes in key */ - sqlite3_file *pFile; /* File iterator is reading from */ - u8 *aAlloc; /* Allocated space */ - u8 *aKey; /* Pointer to current key */ - u8 *aBuffer; /* Current read buffer */ - int nBuffer; /* Size of read buffer in bytes */ +** An instance of the following object is used to read records out of a +** PMA, in sorted order. The next key to be read is cached in nKey/aKey. +** aKey might point into aMap or into aBuffer. If neither of those locations +** contain a contiguous representation of the key, then aAlloc is allocated +** and the key is copied into aAlloc and aKey is made to poitn to aAlloc. +** +** pFd==0 at EOF. +*/ +struct PmaReader { + i64 iReadOff; /* Current read offset */ + i64 iEof; /* 1 byte past EOF for this PmaReader */ + int nAlloc; /* Bytes of space at aAlloc */ + int nKey; /* Number of bytes in key */ + sqlite3_file *pFd; /* File handle we are reading from */ + u8 *aAlloc; /* Space for aKey if aBuffer and pMap wont work */ + u8 *aKey; /* Pointer to current key */ + u8 *aBuffer; /* Current read buffer */ + int nBuffer; /* Size of read buffer in bytes */ + u8 *aMap; /* Pointer to mapping of entire file */ + IncrMerger *pIncr; /* Incremental merger */ +}; + +/* +** Normally, a PmaReader object iterates through an existing PMA stored +** within a temp file. However, if the PmaReader.pIncr variable points to +** an object of the following type, it may be used to iterate/merge through +** multiple PMAs simultaneously. +** +** There are two types of IncrMerger object - single (bUseThread==0) and +** multi-threaded (bUseThread==1). +** +** A multi-threaded IncrMerger object uses two temporary files - aFile[0] +** and aFile[1]. Neither file is allowed to grow to more than mxSz bytes in +** size. When the IncrMerger is initialized, it reads enough data from +** pMerger to populate aFile[0]. It then sets variables within the +** corresponding PmaReader object to read from that file and kicks off +** a background thread to populate aFile[1] with the next mxSz bytes of +** sorted record data from pMerger. +** +** When the PmaReader reaches the end of aFile[0], it blocks until the +** background thread has finished populating aFile[1]. It then exchanges +** the contents of the aFile[0] and aFile[1] variables within this structure, +** sets the PmaReader fields to read from the new aFile[0] and kicks off +** another background thread to populate the new aFile[1]. And so on, until +** the contents of pMerger are exhausted. +** +** A single-threaded IncrMerger does not open any temporary files of its +** own. Instead, it has exclusive access to mxSz bytes of space beginning +** at offset iStartOff of file pTask->file2. And instead of using a +** background thread to prepare data for the PmaReader, with a single +** threaded IncrMerger the allocate part of pTask->file2 is "refilled" with +** keys from pMerger by the calling thread whenever the PmaReader runs out +** of data. +*/ +struct IncrMerger { + SortSubtask *pTask; /* Task that owns this merger */ + MergeEngine *pMerger; /* Merge engine thread reads data from */ + i64 iStartOff; /* Offset to start writing file at */ + int mxSz; /* Maximum bytes of data to store */ + int bEof; /* Set to true when merge is finished */ + int bUseThread; /* True to use a bg thread for this object */ + SorterFile aFile[2]; /* aFile[0] for reading, [1] for writing */ }; /* -** An instance of this structure is used to organize the stream of records -** being written to files by the merge-sort code into aligned, page-sized -** blocks. Doing all I/O in aligned page-sized blocks helps I/O to go -** faster on many operating systems. +** An instance of this object is used for writing a PMA. +** +** The PMA is written one record at a time. Each record is of an arbitrary +** size. But I/O is more efficient if it occurs in page-sized blocks where +** each block is aligned on a page boundary. This object caches writes to +** the PMA so that aligned, page-size blocks are written. */ -struct FileWriter { +struct PmaWriter { int eFWErr; /* Non-zero if in an error state */ u8 *aBuffer; /* Pointer to write buffer */ int nBuffer; /* Size of write buffer in bytes */ int iBufStart; /* First byte of buffer to write */ int iBufEnd; /* Last byte of buffer to write */ i64 iWriteOff; /* Offset of start of buffer in file */ - sqlite3_file *pFile; /* File to write to */ + sqlite3_file *pFd; /* File handle to write to */ }; /* -** A structure to store a single record. All in-memory records are connected -** together into a linked list headed at VdbeSorter.pRecord using the -** SorterRecord.pNext pointer. +** This object is the header on a single record while that record is being +** held in memory and prior to being written out as part of a PMA. +** +** How the linked list is connected depends on how memory is being managed +** by this module. If using a separate allocation for each in-memory record +** (VdbeSorter.list.aMemory==0), then the list is always connected using the +** SorterRecord.u.pNext pointers. +** +** Or, if using the single large allocation method (VdbeSorter.list.aMemory!=0), +** then while records are being accumulated the list is linked using the +** SorterRecord.u.iNext offset. This is because the aMemory[] array may +** be sqlite3Realloc()ed while records are being accumulated. Once the VM +** has finished passing records to the sorter, or when the in-memory buffer +** is full, the list is sorted. As part of the sorting process, it is +** converted to use the SorterRecord.u.pNext pointers. See function +** vdbeSorterSort() for details. */ struct SorterRecord { - void *pVal; - int nVal; - SorterRecord *pNext; + int nVal; /* Size of the record in bytes */ + union { + SorterRecord *pNext; /* Pointer to next record in list */ + int iNext; /* Offset within aMemory of next record */ + } u; + /* The data for the record immediately follows this header */ }; -/* Minimum allowable value for the VdbeSorter.nWorking variable */ +/* Return a pointer to the buffer containing the record data for SorterRecord +** object p. Should be used as if: +** +** void *SRVAL(SorterRecord *p) { return (void*)&p[1]; } +*/ +#define SRVAL(p) ((void*)((SorterRecord*)(p) + 1)) + +/* The minimum PMA size is set to this value multiplied by the database +** page size in bytes. */ #define SORTER_MIN_WORKING 10 -/* Maximum number of segments to merge in a single pass. */ +/* Maximum number of PMAs that a single MergeEngine can merge */ #define SORTER_MAX_MERGE_COUNT 16 +static int vdbeIncrSwap(IncrMerger*); +static void vdbeIncrFree(IncrMerger *); + /* -** Free all memory belonging to the VdbeSorterIter object passed as the second +** Free all memory belonging to the PmaReader object passed as the ** argument. All structure fields are set to zero before returning. */ -static void vdbeSorterIterZero(sqlite3 *db, VdbeSorterIter *pIter){ - sqlite3DbFree(db, pIter->aAlloc); - sqlite3DbFree(db, pIter->aBuffer); - memset(pIter, 0, sizeof(VdbeSorterIter)); +static void vdbePmaReaderClear(PmaReader *pReadr){ + sqlite3_free(pReadr->aAlloc); + sqlite3_free(pReadr->aBuffer); + if( pReadr->aMap ) sqlite3OsUnfetch(pReadr->pFd, 0, pReadr->aMap); + vdbeIncrFree(pReadr->pIncr); + memset(pReadr, 0, sizeof(PmaReader)); } /* -** Read nByte bytes of data from the stream of data iterated by object p. +** Read the next nByte bytes of data from the PMA p. ** If successful, set *ppOut to point to a buffer containing the data ** and return SQLITE_OK. Otherwise, if an error occurs, return an SQLite ** error code. ** -** The buffer indicated by *ppOut may only be considered valid until the +** The buffer returned in *ppOut is only valid until the ** next call to this function. */ -static int vdbeSorterIterRead( - sqlite3 *db, /* Database handle (for malloc) */ - VdbeSorterIter *p, /* Iterator */ +static int vdbePmaReadBlob( + PmaReader *p, /* PmaReader from which to take the blob */ int nByte, /* Bytes of data to read */ u8 **ppOut /* OUT: Pointer to buffer containing data */ ){ int iBuf; /* Offset within buffer to read from */ int nAvail; /* Bytes of data available in buffer */ + + if( p->aMap ){ + *ppOut = &p->aMap[p->iReadOff]; + p->iReadOff += nByte; + return SQLITE_OK; + } + assert( p->aBuffer ); /* If there is no more data to be read from the buffer, read the next @@ -75204,8 +76498,8 @@ static int vdbeSorterIterRead( } assert( nRead>0 ); - /* Read data from the file. Return early if an error occurs. */ - rc = sqlite3OsRead(p->pFile, p->aBuffer, nRead, p->iReadOff); + /* Readr data from the file. Return early if an error occurs. */ + rc = sqlite3OsRead(p->pFd, p->aBuffer, nRead, p->iReadOff); assert( rc!=SQLITE_IOERR_SHORT_READ ); if( rc!=SQLITE_OK ) return rc; } @@ -75225,11 +76519,13 @@ static int vdbeSorterIterRead( /* Extend the p->aAlloc[] allocation if required. */ if( p->nAlloc<nByte ){ - int nNew = p->nAlloc*2; + u8 *aNew; + int nNew = MAX(128, p->nAlloc*2); while( nByte>nNew ) nNew = nNew*2; - p->aAlloc = sqlite3DbReallocOrFree(db, p->aAlloc, nNew); - if( !p->aAlloc ) return SQLITE_NOMEM; + aNew = sqlite3Realloc(p->aAlloc, nNew); + if( !aNew ) return SQLITE_NOMEM; p->nAlloc = nNew; + p->aAlloc = aNew; } /* Copy as much data as is available in the buffer into the start of @@ -75241,13 +76537,13 @@ static int vdbeSorterIterRead( /* The following loop copies up to p->nBuffer bytes per iteration into ** the p->aAlloc[] buffer. */ while( nRem>0 ){ - int rc; /* vdbeSorterIterRead() return code */ + int rc; /* vdbePmaReadBlob() return code */ int nCopy; /* Number of bytes to copy */ u8 *aNext; /* Pointer to buffer to copy data from */ nCopy = nRem; if( nRem>p->nBuffer ) nCopy = p->nBuffer; - rc = vdbeSorterIterRead(db, p, nCopy, &aNext); + rc = vdbePmaReadBlob(p, nCopy, &aNext); if( rc!=SQLITE_OK ) return rc; assert( aNext!=p->aAlloc ); memcpy(&p->aAlloc[nByte - nRem], aNext, nCopy); @@ -75264,108 +76560,174 @@ static int vdbeSorterIterRead( ** Read a varint from the stream of data accessed by p. Set *pnOut to ** the value read. */ -static int vdbeSorterIterVarint(sqlite3 *db, VdbeSorterIter *p, u64 *pnOut){ +static int vdbePmaReadVarint(PmaReader *p, u64 *pnOut){ int iBuf; - iBuf = p->iReadOff % p->nBuffer; - if( iBuf && (p->nBuffer-iBuf)>=9 ){ - p->iReadOff += sqlite3GetVarint(&p->aBuffer[iBuf], pnOut); + if( p->aMap ){ + p->iReadOff += sqlite3GetVarint(&p->aMap[p->iReadOff], pnOut); }else{ - u8 aVarint[16], *a; - int i = 0, rc; - do{ - rc = vdbeSorterIterRead(db, p, 1, &a); - if( rc ) return rc; - aVarint[(i++)&0xf] = a[0]; - }while( (a[0]&0x80)!=0 ); - sqlite3GetVarint(aVarint, pnOut); + iBuf = p->iReadOff % p->nBuffer; + if( iBuf && (p->nBuffer-iBuf)>=9 ){ + p->iReadOff += sqlite3GetVarint(&p->aBuffer[iBuf], pnOut); + }else{ + u8 aVarint[16], *a; + int i = 0, rc; + do{ + rc = vdbePmaReadBlob(p, 1, &a); + if( rc ) return rc; + aVarint[(i++)&0xf] = a[0]; + }while( (a[0]&0x80)!=0 ); + sqlite3GetVarint(aVarint, pnOut); + } } return SQLITE_OK; } +/* +** Attempt to memory map file pFile. If successful, set *pp to point to the +** new mapping and return SQLITE_OK. If the mapping is not attempted +** (because the file is too large or the VFS layer is configured not to use +** mmap), return SQLITE_OK and set *pp to NULL. +** +** Or, if an error occurs, return an SQLite error code. The final value of +** *pp is undefined in this case. +*/ +static int vdbeSorterMapFile(SortSubtask *pTask, SorterFile *pFile, u8 **pp){ + int rc = SQLITE_OK; + if( pFile->iEof<=(i64)(pTask->pSorter->db->nMaxSorterMmap) ){ + sqlite3_file *pFd = pFile->pFd; + if( pFd->pMethods->iVersion>=3 ){ + rc = sqlite3OsFetch(pFd, 0, (int)pFile->iEof, (void**)pp); + testcase( rc!=SQLITE_OK ); + } + } + return rc; +} /* -** Advance iterator pIter to the next key in its PMA. Return SQLITE_OK if -** no error occurs, or an SQLite error code if one does. +** Attach PmaReader pReadr to file pFile (if it is not already attached to +** that file) and seek it to offset iOff within the file. Return SQLITE_OK +** if successful, or an SQLite error code if an error occurs. */ -static int vdbeSorterIterNext( - sqlite3 *db, /* Database handle (for sqlite3DbMalloc() ) */ - VdbeSorterIter *pIter /* Iterator to advance */ +static int vdbePmaReaderSeek( + SortSubtask *pTask, /* Task context */ + PmaReader *pReadr, /* Reader whose cursor is to be moved */ + SorterFile *pFile, /* Sorter file to read from */ + i64 iOff /* Offset in pFile */ ){ - int rc; /* Return Code */ + int rc = SQLITE_OK; + + assert( pReadr->pIncr==0 || pReadr->pIncr->bEof==0 ); + + if( sqlite3FaultSim(201) ) return SQLITE_IOERR_READ; + if( pReadr->aMap ){ + sqlite3OsUnfetch(pReadr->pFd, 0, pReadr->aMap); + pReadr->aMap = 0; + } + pReadr->iReadOff = iOff; + pReadr->iEof = pFile->iEof; + pReadr->pFd = pFile->pFd; + + rc = vdbeSorterMapFile(pTask, pFile, &pReadr->aMap); + if( rc==SQLITE_OK && pReadr->aMap==0 ){ + int pgsz = pTask->pSorter->pgsz; + int iBuf = pReadr->iReadOff % pgsz; + if( pReadr->aBuffer==0 ){ + pReadr->aBuffer = (u8*)sqlite3Malloc(pgsz); + if( pReadr->aBuffer==0 ) rc = SQLITE_NOMEM; + pReadr->nBuffer = pgsz; + } + if( rc==SQLITE_OK && iBuf ){ + int nRead = pgsz - iBuf; + if( (pReadr->iReadOff + nRead) > pReadr->iEof ){ + nRead = (int)(pReadr->iEof - pReadr->iReadOff); + } + rc = sqlite3OsRead( + pReadr->pFd, &pReadr->aBuffer[iBuf], nRead, pReadr->iReadOff + ); + testcase( rc!=SQLITE_OK ); + } + } + + return rc; +} + +/* +** Advance PmaReader pReadr to the next key in its PMA. Return SQLITE_OK if +** no error occurs, or an SQLite error code if one does. +*/ +static int vdbePmaReaderNext(PmaReader *pReadr){ + int rc = SQLITE_OK; /* Return Code */ u64 nRec = 0; /* Size of record in bytes */ - if( pIter->iReadOff>=pIter->iEof ){ - /* This is an EOF condition */ - vdbeSorterIterZero(db, pIter); - return SQLITE_OK; + + if( pReadr->iReadOff>=pReadr->iEof ){ + IncrMerger *pIncr = pReadr->pIncr; + int bEof = 1; + if( pIncr ){ + rc = vdbeIncrSwap(pIncr); + if( rc==SQLITE_OK && pIncr->bEof==0 ){ + rc = vdbePmaReaderSeek( + pIncr->pTask, pReadr, &pIncr->aFile[0], pIncr->iStartOff + ); + bEof = 0; + } + } + + if( bEof ){ + /* This is an EOF condition */ + vdbePmaReaderClear(pReadr); + testcase( rc!=SQLITE_OK ); + return rc; + } } - rc = vdbeSorterIterVarint(db, pIter, &nRec); if( rc==SQLITE_OK ){ - pIter->nKey = (int)nRec; - rc = vdbeSorterIterRead(db, pIter, (int)nRec, &pIter->aKey); + rc = vdbePmaReadVarint(pReadr, &nRec); + } + if( rc==SQLITE_OK ){ + pReadr->nKey = (int)nRec; + rc = vdbePmaReadBlob(pReadr, (int)nRec, &pReadr->aKey); + testcase( rc!=SQLITE_OK ); } return rc; } /* -** Initialize iterator pIter to scan through the PMA stored in file pFile +** Initialize PmaReader pReadr to scan through the PMA stored in file pFile ** starting at offset iStart and ending at offset iEof-1. This function -** leaves the iterator pointing to the first key in the PMA (or EOF if the +** leaves the PmaReader pointing to the first key in the PMA (or EOF if the ** PMA is empty). +** +** If the pnByte parameter is NULL, then it is assumed that the file +** contains a single PMA, and that that PMA omits the initial length varint. */ -static int vdbeSorterIterInit( - sqlite3 *db, /* Database handle */ - const VdbeSorter *pSorter, /* Sorter object */ +static int vdbePmaReaderInit( + SortSubtask *pTask, /* Task context */ + SorterFile *pFile, /* Sorter file to read from */ i64 iStart, /* Start offset in pFile */ - VdbeSorterIter *pIter, /* Iterator to populate */ + PmaReader *pReadr, /* PmaReader to populate */ i64 *pnByte /* IN/OUT: Increment this value by PMA size */ ){ - int rc = SQLITE_OK; - int nBuf; - - nBuf = sqlite3BtreeGetPageSize(db->aDb[0].pBt); + int rc; - assert( pSorter->iWriteOff>iStart ); - assert( pIter->aAlloc==0 ); - assert( pIter->aBuffer==0 ); - pIter->pFile = pSorter->pTemp1; - pIter->iReadOff = iStart; - pIter->nAlloc = 128; - pIter->aAlloc = (u8 *)sqlite3DbMallocRaw(db, pIter->nAlloc); - pIter->nBuffer = nBuf; - pIter->aBuffer = (u8 *)sqlite3DbMallocRaw(db, nBuf); + assert( pFile->iEof>iStart ); + assert( pReadr->aAlloc==0 && pReadr->nAlloc==0 ); + assert( pReadr->aBuffer==0 ); + assert( pReadr->aMap==0 ); - if( !pIter->aBuffer ){ - rc = SQLITE_NOMEM; - }else{ - int iBuf; - - iBuf = iStart % nBuf; - if( iBuf ){ - int nRead = nBuf - iBuf; - if( (iStart + nRead) > pSorter->iWriteOff ){ - nRead = (int)(pSorter->iWriteOff - iStart); - } - rc = sqlite3OsRead( - pSorter->pTemp1, &pIter->aBuffer[iBuf], nRead, iStart - ); - } - - if( rc==SQLITE_OK ){ - u64 nByte; /* Size of PMA in bytes */ - pIter->iEof = pSorter->iWriteOff; - rc = vdbeSorterIterVarint(db, pIter, &nByte); - pIter->iEof = pIter->iReadOff + nByte; - *pnByte += nByte; - } + rc = vdbePmaReaderSeek(pTask, pReadr, pFile, iStart); + if( rc==SQLITE_OK ){ + u64 nByte; /* Size of PMA in bytes */ + rc = vdbePmaReadVarint(pReadr, &nByte); + pReadr->iEof = pReadr->iReadOff + nByte; + *pnByte += nByte; } if( rc==SQLITE_OK ){ - rc = vdbeSorterIterNext(db, pIter); + rc = vdbePmaReaderNext(pReadr); } return rc; } @@ -75373,135 +76735,330 @@ static int vdbeSorterIterInit( /* ** Compare key1 (buffer pKey1, size nKey1 bytes) with key2 (buffer pKey2, -** size nKey2 bytes). Argument pKeyInfo supplies the collation functions -** used by the comparison. If an error occurs, return an SQLite error code. -** Otherwise, return SQLITE_OK and set *pRes to a negative, zero or positive -** value, depending on whether key1 is smaller, equal to or larger than key2. -** -** If the bOmitRowid argument is non-zero, assume both keys end in a rowid -** field. For the purposes of the comparison, ignore it. Also, if bOmitRowid -** is true and key1 contains even a single NULL value, it is considered to -** be less than key2. Even if key2 also contains NULL values. -** -** If pKey2 is passed a NULL pointer, then it is assumed that the pCsr->aSpace -** has been allocated and contains an unpacked record that is used as key2. -*/ -static void vdbeSorterCompare( - const VdbeCursor *pCsr, /* Cursor object (for pKeyInfo) */ - int nKeyCol, /* Num of columns. 0 means "all" */ +** size nKey2 bytes). Use (pTask->pKeyInfo) for the collation sequences +** used by the comparison. Return the result of the comparison. +** +** Before returning, object (pTask->pUnpacked) is populated with the +** unpacked version of key2. Or, if pKey2 is passed a NULL pointer, then it +** is assumed that the (pTask->pUnpacked) structure already contains the +** unpacked key to use as key2. +** +** If an OOM error is encountered, (pTask->pUnpacked->error_rc) is set +** to SQLITE_NOMEM. +*/ +static int vdbeSorterCompare( + SortSubtask *pTask, /* Subtask context (for pKeyInfo) */ const void *pKey1, int nKey1, /* Left side of comparison */ - const void *pKey2, int nKey2, /* Right side of comparison */ - int *pRes /* OUT: Result of comparison */ + const void *pKey2, int nKey2 /* Right side of comparison */ ){ - KeyInfo *pKeyInfo = pCsr->pKeyInfo; - VdbeSorter *pSorter = pCsr->pSorter; - UnpackedRecord *r2 = pSorter->pUnpacked; - int i; - + UnpackedRecord *r2 = pTask->pUnpacked; if( pKey2 ){ - sqlite3VdbeRecordUnpack(pKeyInfo, nKey2, pKey2, r2); + sqlite3VdbeRecordUnpack(pTask->pSorter->pKeyInfo, nKey2, pKey2, r2); } + return sqlite3VdbeRecordCompare(nKey1, pKey1, r2); +} - if( nKeyCol ){ - r2->nField = nKeyCol; - for(i=0; i<nKeyCol; i++){ - if( r2->aMem[i].flags & MEM_Null ){ - *pRes = -1; - return; +/* +** Initialize the temporary index cursor just opened as a sorter cursor. +** +** Usually, the sorter module uses the value of (pCsr->pKeyInfo->nField) +** to determine the number of fields that should be compared from the +** records being sorted. However, if the value passed as argument nField +** is non-zero and the sorter is able to guarantee a stable sort, nField +** is used instead. This is used when sorting records for a CREATE INDEX +** statement. In this case, keys are always delivered to the sorter in +** order of the primary key, which happens to be make up the final part +** of the records being sorted. So if the sort is stable, there is never +** any reason to compare PK fields and they can be ignored for a small +** performance boost. +** +** The sorter can guarantee a stable sort when running in single-threaded +** mode, but not in multi-threaded mode. +** +** SQLITE_OK is returned if successful, or an SQLite error code otherwise. +*/ +SQLITE_PRIVATE int sqlite3VdbeSorterInit( + sqlite3 *db, /* Database connection (for malloc()) */ + int nField, /* Number of key fields in each record */ + VdbeCursor *pCsr /* Cursor that holds the new sorter */ +){ + int pgsz; /* Page size of main database */ + int i; /* Used to iterate through aTask[] */ + int mxCache; /* Cache size */ + VdbeSorter *pSorter; /* The new sorter */ + KeyInfo *pKeyInfo; /* Copy of pCsr->pKeyInfo with db==0 */ + int szKeyInfo; /* Size of pCsr->pKeyInfo in bytes */ + int sz; /* Size of pSorter in bytes */ + int rc = SQLITE_OK; +#if SQLITE_MAX_WORKER_THREADS==0 +# define nWorker 0 +#else + int nWorker; +#endif + + /* Initialize the upper limit on the number of worker threads */ +#if SQLITE_MAX_WORKER_THREADS>0 + if( sqlite3TempInMemory(db) || sqlite3GlobalConfig.bCoreMutex==0 ){ + nWorker = 0; + }else{ + nWorker = db->aLimit[SQLITE_LIMIT_WORKER_THREADS]; + } +#endif + + /* Do not allow the total number of threads (main thread + all workers) + ** to exceed the maximum merge count */ +#if SQLITE_MAX_WORKER_THREADS>=SORTER_MAX_MERGE_COUNT + if( nWorker>=SORTER_MAX_MERGE_COUNT ){ + nWorker = SORTER_MAX_MERGE_COUNT-1; + } +#endif + + assert( pCsr->pKeyInfo && pCsr->pBt==0 ); + szKeyInfo = sizeof(KeyInfo) + (pCsr->pKeyInfo->nField-1)*sizeof(CollSeq*); + sz = sizeof(VdbeSorter) + nWorker * sizeof(SortSubtask); + + pSorter = (VdbeSorter*)sqlite3DbMallocZero(db, sz + szKeyInfo); + pCsr->pSorter = pSorter; + if( pSorter==0 ){ + rc = SQLITE_NOMEM; + }else{ + pSorter->pKeyInfo = pKeyInfo = (KeyInfo*)((u8*)pSorter + sz); + memcpy(pKeyInfo, pCsr->pKeyInfo, szKeyInfo); + pKeyInfo->db = 0; + if( nField && nWorker==0 ) pKeyInfo->nField = nField; + pSorter->pgsz = pgsz = sqlite3BtreeGetPageSize(db->aDb[0].pBt); + pSorter->nTask = nWorker + 1; + pSorter->bUseThreads = (pSorter->nTask>1); + pSorter->db = db; + for(i=0; i<pSorter->nTask; i++){ + SortSubtask *pTask = &pSorter->aTask[i]; + pTask->pSorter = pSorter; + } + + if( !sqlite3TempInMemory(db) ){ + pSorter->mnPmaSize = SORTER_MIN_WORKING * pgsz; + mxCache = db->aDb[0].pSchema->cache_size; + if( mxCache<SORTER_MIN_WORKING ) mxCache = SORTER_MIN_WORKING; + pSorter->mxPmaSize = mxCache * pgsz; + + /* If the application has not configure scratch memory using + ** SQLITE_CONFIG_SCRATCH then we assume it is OK to do large memory + ** allocations. If scratch memory has been configured, then assume + ** large memory allocations should be avoided to prevent heap + ** fragmentation. + */ + if( sqlite3GlobalConfig.pScratch==0 ){ + assert( pSorter->iMemory==0 ); + pSorter->nMemory = pgsz; + pSorter->list.aMemory = (u8*)sqlite3Malloc(pgsz); + if( !pSorter->list.aMemory ) rc = SQLITE_NOMEM; } } - assert( r2->default_rc==0 ); } - *pRes = sqlite3VdbeRecordCompare(nKey1, pKey1, r2, 0); + return rc; } +#undef nWorker /* Defined at the top of this function */ /* -** This function is called to compare two iterator keys when merging -** multiple b-tree segments. Parameter iOut is the index of the aTree[] -** value to recalculate. +** Free the list of sorted records starting at pRecord. */ -static int vdbeSorterDoCompare(const VdbeCursor *pCsr, int iOut){ - VdbeSorter *pSorter = pCsr->pSorter; - int i1; - int i2; - int iRes; - VdbeSorterIter *p1; - VdbeSorterIter *p2; - - assert( iOut<pSorter->nTree && iOut>0 ); +static void vdbeSorterRecordFree(sqlite3 *db, SorterRecord *pRecord){ + SorterRecord *p; + SorterRecord *pNext; + for(p=pRecord; p; p=pNext){ + pNext = p->u.pNext; + sqlite3DbFree(db, p); + } +} - if( iOut>=(pSorter->nTree/2) ){ - i1 = (iOut - pSorter->nTree/2) * 2; - i2 = i1 + 1; - }else{ - i1 = pSorter->aTree[iOut*2]; - i2 = pSorter->aTree[iOut*2+1]; +/* +** Free all resources owned by the object indicated by argument pTask. All +** fields of *pTask are zeroed before returning. +*/ +static void vdbeSortSubtaskCleanup(sqlite3 *db, SortSubtask *pTask){ + sqlite3DbFree(db, pTask->pUnpacked); + pTask->pUnpacked = 0; +#if SQLITE_MAX_WORKER_THREADS>0 + /* pTask->list.aMemory can only be non-zero if it was handed memory + ** from the main thread. That only occurs SQLITE_MAX_WORKER_THREADS>0 */ + if( pTask->list.aMemory ){ + sqlite3_free(pTask->list.aMemory); + pTask->list.aMemory = 0; + }else +#endif + { + assert( pTask->list.aMemory==0 ); + vdbeSorterRecordFree(0, pTask->list.pList); + } + pTask->list.pList = 0; + if( pTask->file.pFd ){ + sqlite3OsCloseFree(pTask->file.pFd); + pTask->file.pFd = 0; + pTask->file.iEof = 0; } + if( pTask->file2.pFd ){ + sqlite3OsCloseFree(pTask->file2.pFd); + pTask->file2.pFd = 0; + pTask->file2.iEof = 0; + } +} - p1 = &pSorter->aIter[i1]; - p2 = &pSorter->aIter[i2]; +#ifdef SQLITE_DEBUG_SORTER_THREADS +static void vdbeSorterWorkDebug(SortSubtask *pTask, const char *zEvent){ + i64 t; + int iTask = (pTask - pTask->pSorter->aTask); + sqlite3OsCurrentTimeInt64(pTask->pSorter->db->pVfs, &t); + fprintf(stderr, "%lld:%d %s\n", t, iTask, zEvent); +} +static void vdbeSorterRewindDebug(const char *zEvent){ + i64 t; + sqlite3OsCurrentTimeInt64(sqlite3_vfs_find(0), &t); + fprintf(stderr, "%lld:X %s\n", t, zEvent); +} +static void vdbeSorterPopulateDebug( + SortSubtask *pTask, + const char *zEvent +){ + i64 t; + int iTask = (pTask - pTask->pSorter->aTask); + sqlite3OsCurrentTimeInt64(pTask->pSorter->db->pVfs, &t); + fprintf(stderr, "%lld:bg%d %s\n", t, iTask, zEvent); +} +static void vdbeSorterBlockDebug( + SortSubtask *pTask, + int bBlocked, + const char *zEvent +){ + if( bBlocked ){ + i64 t; + sqlite3OsCurrentTimeInt64(pTask->pSorter->db->pVfs, &t); + fprintf(stderr, "%lld:main %s\n", t, zEvent); + } +} +#else +# define vdbeSorterWorkDebug(x,y) +# define vdbeSorterRewindDebug(y) +# define vdbeSorterPopulateDebug(x,y) +# define vdbeSorterBlockDebug(x,y,z) +#endif - if( p1->pFile==0 ){ - iRes = i2; - }else if( p2->pFile==0 ){ - iRes = i1; - }else{ - int res; - assert( pCsr->pSorter->pUnpacked!=0 ); /* allocated in vdbeSorterMerge() */ - vdbeSorterCompare( - pCsr, 0, p1->aKey, p1->nKey, p2->aKey, p2->nKey, &res - ); - if( res<=0 ){ - iRes = i1; - }else{ - iRes = i2; - } +#if SQLITE_MAX_WORKER_THREADS>0 +/* +** Join thread pTask->thread. +*/ +static int vdbeSorterJoinThread(SortSubtask *pTask){ + int rc = SQLITE_OK; + if( pTask->pThread ){ +#ifdef SQLITE_DEBUG_SORTER_THREADS + int bDone = pTask->bDone; +#endif + void *pRet = SQLITE_INT_TO_PTR(SQLITE_ERROR); + vdbeSorterBlockDebug(pTask, !bDone, "enter"); + (void)sqlite3ThreadJoin(pTask->pThread, &pRet); + vdbeSorterBlockDebug(pTask, !bDone, "exit"); + rc = SQLITE_PTR_TO_INT(pRet); + assert( pTask->bDone==1 ); + pTask->bDone = 0; + pTask->pThread = 0; } + return rc; +} - pSorter->aTree[iOut] = iRes; - return SQLITE_OK; +/* +** Launch a background thread to run xTask(pIn). +*/ +static int vdbeSorterCreateThread( + SortSubtask *pTask, /* Thread will use this task object */ + void *(*xTask)(void*), /* Routine to run in a separate thread */ + void *pIn /* Argument passed into xTask() */ +){ + assert( pTask->pThread==0 && pTask->bDone==0 ); + return sqlite3ThreadCreate(&pTask->pThread, xTask, pIn); } /* -** Initialize the temporary index cursor just opened as a sorter cursor. +** Join all outstanding threads launched by SorterWrite() to create +** level-0 PMAs. */ -SQLITE_PRIVATE int sqlite3VdbeSorterInit(sqlite3 *db, VdbeCursor *pCsr){ - int pgsz; /* Page size of main database */ - int mxCache; /* Cache size */ - VdbeSorter *pSorter; /* The new sorter */ - char *d; /* Dummy */ +static int vdbeSorterJoinAll(VdbeSorter *pSorter, int rcin){ + int rc = rcin; + int i; - assert( pCsr->pKeyInfo && pCsr->pBt==0 ); - pCsr->pSorter = pSorter = sqlite3DbMallocZero(db, sizeof(VdbeSorter)); - if( pSorter==0 ){ - return SQLITE_NOMEM; + /* This function is always called by the main user thread. + ** + ** If this function is being called after SorterRewind() has been called, + ** it is possible that thread pSorter->aTask[pSorter->nTask-1].pThread + ** is currently attempt to join one of the other threads. To avoid a race + ** condition where this thread also attempts to join the same object, join + ** thread pSorter->aTask[pSorter->nTask-1].pThread first. */ + for(i=pSorter->nTask-1; i>=0; i--){ + SortSubtask *pTask = &pSorter->aTask[i]; + int rc2 = vdbeSorterJoinThread(pTask); + if( rc==SQLITE_OK ) rc = rc2; } - - pSorter->pUnpacked = sqlite3VdbeAllocUnpackedRecord(pCsr->pKeyInfo, 0, 0, &d); - if( pSorter->pUnpacked==0 ) return SQLITE_NOMEM; - assert( pSorter->pUnpacked==(UnpackedRecord *)d ); + return rc; +} +#else +# define vdbeSorterJoinAll(x,rcin) (rcin) +# define vdbeSorterJoinThread(pTask) SQLITE_OK +#endif + +/* +** Allocate a new MergeEngine object capable of handling up to +** nReader PmaReader inputs. +** +** nReader is automatically rounded up to the next power of two. +** nReader may not exceed SORTER_MAX_MERGE_COUNT even after rounding up. +*/ +static MergeEngine *vdbeMergeEngineNew(int nReader){ + int N = 2; /* Smallest power of two >= nReader */ + int nByte; /* Total bytes of space to allocate */ + MergeEngine *pNew; /* Pointer to allocated object to return */ + + assert( nReader<=SORTER_MAX_MERGE_COUNT ); + + while( N<nReader ) N += N; + nByte = sizeof(MergeEngine) + N * (sizeof(int) + sizeof(PmaReader)); - if( !sqlite3TempInMemory(db) ){ - pgsz = sqlite3BtreeGetPageSize(db->aDb[0].pBt); - pSorter->mnPmaSize = SORTER_MIN_WORKING * pgsz; - mxCache = db->aDb[0].pSchema->cache_size; - if( mxCache<SORTER_MIN_WORKING ) mxCache = SORTER_MIN_WORKING; - pSorter->mxPmaSize = mxCache * pgsz; + pNew = sqlite3FaultSim(100) ? 0 : (MergeEngine*)sqlite3MallocZero(nByte); + if( pNew ){ + pNew->nTree = N; + pNew->pTask = 0; + pNew->aReadr = (PmaReader*)&pNew[1]; + pNew->aTree = (int*)&pNew->aReadr[N]; } + return pNew; +} - return SQLITE_OK; +/* +** Free the MergeEngine object passed as the only argument. +*/ +static void vdbeMergeEngineFree(MergeEngine *pMerger){ + int i; + if( pMerger ){ + for(i=0; i<pMerger->nTree; i++){ + vdbePmaReaderClear(&pMerger->aReadr[i]); + } + } + sqlite3_free(pMerger); } /* -** Free the list of sorted records starting at pRecord. +** Free all resources associated with the IncrMerger object indicated by +** the first argument. */ -static void vdbeSorterRecordFree(sqlite3 *db, SorterRecord *pRecord){ - SorterRecord *p; - SorterRecord *pNext; - for(p=pRecord; p; p=pNext){ - pNext = p->pNext; - sqlite3DbFree(db, p); +static void vdbeIncrFree(IncrMerger *pIncr){ + if( pIncr ){ +#if SQLITE_MAX_WORKER_THREADS>0 + if( pIncr->bUseThread ){ + vdbeSorterJoinThread(pIncr->pTask); + if( pIncr->aFile[0].pFd ) sqlite3OsCloseFree(pIncr->aFile[0].pFd); + if( pIncr->aFile[1].pFd ) sqlite3OsCloseFree(pIncr->aFile[1].pFd); + } +#endif + vdbeMergeEngineFree(pIncr->pMerger); + sqlite3_free(pIncr); } } @@ -75509,29 +77066,34 @@ static void vdbeSorterRecordFree(sqlite3 *db, SorterRecord *pRecord){ ** Reset a sorting cursor back to its original empty state. */ SQLITE_PRIVATE void sqlite3VdbeSorterReset(sqlite3 *db, VdbeSorter *pSorter){ - if( pSorter->aIter ){ - int i; - for(i=0; i<pSorter->nTree; i++){ - vdbeSorterIterZero(db, &pSorter->aIter[i]); - } - sqlite3DbFree(db, pSorter->aIter); - pSorter->aIter = 0; + int i; + (void)vdbeSorterJoinAll(pSorter, SQLITE_OK); + assert( pSorter->bUseThreads || pSorter->pReader==0 ); +#if SQLITE_MAX_WORKER_THREADS>0 + if( pSorter->pReader ){ + vdbePmaReaderClear(pSorter->pReader); + sqlite3DbFree(db, pSorter->pReader); + pSorter->pReader = 0; } - if( pSorter->pTemp1 ){ - sqlite3OsCloseFree(pSorter->pTemp1); - pSorter->pTemp1 = 0; +#endif + vdbeMergeEngineFree(pSorter->pMerger); + pSorter->pMerger = 0; + for(i=0; i<pSorter->nTask; i++){ + SortSubtask *pTask = &pSorter->aTask[i]; + vdbeSortSubtaskCleanup(db, pTask); + } + if( pSorter->list.aMemory==0 ){ + vdbeSorterRecordFree(0, pSorter->list.pList); } - vdbeSorterRecordFree(db, pSorter->pRecord); - pSorter->pRecord = 0; - pSorter->iWriteOff = 0; - pSorter->iReadOff = 0; - pSorter->nInMemory = 0; - pSorter->nTree = 0; - pSorter->nPMA = 0; - pSorter->aTree = 0; + pSorter->list.pList = 0; + pSorter->list.szPMA = 0; + pSorter->bUsePMA = 0; + pSorter->iMemory = 0; + pSorter->mxKeysize = 0; + sqlite3DbFree(db, pSorter->pUnpacked); + pSorter->pUnpacked = 0; } - /* ** Free any cursor components allocated by sqlite3VdbeSorterXXX routines. */ @@ -75539,54 +77101,110 @@ SQLITE_PRIVATE void sqlite3VdbeSorterClose(sqlite3 *db, VdbeCursor *pCsr){ VdbeSorter *pSorter = pCsr->pSorter; if( pSorter ){ sqlite3VdbeSorterReset(db, pSorter); - sqlite3DbFree(db, pSorter->pUnpacked); + sqlite3_free(pSorter->list.aMemory); sqlite3DbFree(db, pSorter); pCsr->pSorter = 0; } } +#if SQLITE_MAX_MMAP_SIZE>0 +/* +** The first argument is a file-handle open on a temporary file. The file +** is guaranteed to be nByte bytes or smaller in size. This function +** attempts to extend the file to nByte bytes in size and to ensure that +** the VFS has memory mapped it. +** +** Whether or not the file does end up memory mapped of course depends on +** the specific VFS implementation. +*/ +static void vdbeSorterExtendFile(sqlite3 *db, sqlite3_file *pFd, i64 nByte){ + if( nByte<=(i64)(db->nMaxSorterMmap) && pFd->pMethods->iVersion>=3 ){ + int rc = sqlite3OsTruncate(pFd, nByte); + if( rc==SQLITE_OK ){ + void *p = 0; + sqlite3OsFetch(pFd, 0, (int)nByte, &p); + sqlite3OsUnfetch(pFd, 0, p); + } + } +} +#else +# define vdbeSorterExtendFile(x,y,z) +#endif + /* ** Allocate space for a file-handle and open a temporary file. If successful, -** set *ppFile to point to the malloc'd file-handle and return SQLITE_OK. -** Otherwise, set *ppFile to 0 and return an SQLite error code. +** set *ppFd to point to the malloc'd file-handle and return SQLITE_OK. +** Otherwise, set *ppFd to 0 and return an SQLite error code. */ -static int vdbeSorterOpenTempFile(sqlite3 *db, sqlite3_file **ppFile){ - int dummy; - return sqlite3OsOpenMalloc(db->pVfs, 0, ppFile, +static int vdbeSorterOpenTempFile( + sqlite3 *db, /* Database handle doing sort */ + i64 nExtend, /* Attempt to extend file to this size */ + sqlite3_file **ppFd +){ + int rc; + rc = sqlite3OsOpenMalloc(db->pVfs, 0, ppFd, SQLITE_OPEN_TEMP_JOURNAL | SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | - SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE, &dummy + SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE, &rc ); + if( rc==SQLITE_OK ){ + i64 max = SQLITE_MAX_MMAP_SIZE; + sqlite3OsFileControlHint(*ppFd, SQLITE_FCNTL_MMAP_SIZE, (void*)&max); + if( nExtend>0 ){ + vdbeSorterExtendFile(db, *ppFd, nExtend); + } + } + return rc; +} + +/* +** If it has not already been allocated, allocate the UnpackedRecord +** structure at pTask->pUnpacked. Return SQLITE_OK if successful (or +** if no allocation was required), or SQLITE_NOMEM otherwise. +*/ +static int vdbeSortAllocUnpacked(SortSubtask *pTask){ + if( pTask->pUnpacked==0 ){ + char *pFree; + pTask->pUnpacked = sqlite3VdbeAllocUnpackedRecord( + pTask->pSorter->pKeyInfo, 0, 0, &pFree + ); + assert( pTask->pUnpacked==(UnpackedRecord*)pFree ); + if( pFree==0 ) return SQLITE_NOMEM; + pTask->pUnpacked->nField = pTask->pSorter->pKeyInfo->nField; + pTask->pUnpacked->errCode = 0; + } + return SQLITE_OK; } + /* ** Merge the two sorted lists p1 and p2 into a single list. ** Set *ppOut to the head of the new list. */ static void vdbeSorterMerge( - const VdbeCursor *pCsr, /* For pKeyInfo */ + SortSubtask *pTask, /* Calling thread context */ SorterRecord *p1, /* First list to merge */ SorterRecord *p2, /* Second list to merge */ SorterRecord **ppOut /* OUT: Head of merged list */ ){ SorterRecord *pFinal = 0; SorterRecord **pp = &pFinal; - void *pVal2 = p2 ? p2->pVal : 0; + void *pVal2 = p2 ? SRVAL(p2) : 0; while( p1 && p2 ){ int res; - vdbeSorterCompare(pCsr, 0, p1->pVal, p1->nVal, pVal2, p2->nVal, &res); + res = vdbeSorterCompare(pTask, SRVAL(p1), p1->nVal, pVal2, p2->nVal); if( res<=0 ){ *pp = p1; - pp = &p1->pNext; - p1 = p1->pNext; + pp = &p1->u.pNext; + p1 = p1->u.pNext; pVal2 = 0; }else{ *pp = p2; - pp = &p2->pNext; - p2 = p2->pNext; + pp = &p2->u.pNext; + p2 = p2->u.pNext; if( p2==0 ) break; - pVal2 = p2->pVal; + pVal2 = SRVAL(p2); } } *pp = p1 ? p1 : p2; @@ -75594,27 +77212,41 @@ static void vdbeSorterMerge( } /* -** Sort the linked list of records headed at pCsr->pRecord. Return SQLITE_OK -** if successful, or an SQLite error code (i.e. SQLITE_NOMEM) if an error -** occurs. +** Sort the linked list of records headed at pTask->pList. Return +** SQLITE_OK if successful, or an SQLite error code (i.e. SQLITE_NOMEM) if +** an error occurs. */ -static int vdbeSorterSort(const VdbeCursor *pCsr){ +static int vdbeSorterSort(SortSubtask *pTask, SorterList *pList){ int i; SorterRecord **aSlot; SorterRecord *p; - VdbeSorter *pSorter = pCsr->pSorter; + int rc; + + rc = vdbeSortAllocUnpacked(pTask); + if( rc!=SQLITE_OK ) return rc; aSlot = (SorterRecord **)sqlite3MallocZero(64 * sizeof(SorterRecord *)); if( !aSlot ){ return SQLITE_NOMEM; } - p = pSorter->pRecord; + p = pList->pList; while( p ){ - SorterRecord *pNext = p->pNext; - p->pNext = 0; + SorterRecord *pNext; + if( pList->aMemory ){ + if( (u8*)p==pList->aMemory ){ + pNext = 0; + }else{ + assert( p->u.iNext<sqlite3MallocSize(pList->aMemory) ); + pNext = (SorterRecord*)&pList->aMemory[p->u.iNext]; + } + }else{ + pNext = p->u.pNext; + } + + p->u.pNext = 0; for(i=0; aSlot[i]; i++){ - vdbeSorterMerge(pCsr, p, aSlot[i], &p); + vdbeSorterMerge(pTask, p, aSlot[i], &p); aSlot[i] = 0; } aSlot[i] = p; @@ -75623,42 +77255,43 @@ static int vdbeSorterSort(const VdbeCursor *pCsr){ p = 0; for(i=0; i<64; i++){ - vdbeSorterMerge(pCsr, p, aSlot[i], &p); + vdbeSorterMerge(pTask, p, aSlot[i], &p); } - pSorter->pRecord = p; + pList->pList = p; sqlite3_free(aSlot); - return SQLITE_OK; + assert( pTask->pUnpacked->errCode==SQLITE_OK + || pTask->pUnpacked->errCode==SQLITE_NOMEM + ); + return pTask->pUnpacked->errCode; } /* -** Initialize a file-writer object. +** Initialize a PMA-writer object. */ -static void fileWriterInit( - sqlite3 *db, /* Database (for malloc) */ - sqlite3_file *pFile, /* File to write to */ - FileWriter *p, /* Object to populate */ - i64 iStart /* Offset of pFile to begin writing at */ +static void vdbePmaWriterInit( + sqlite3_file *pFd, /* File handle to write to */ + PmaWriter *p, /* Object to populate */ + int nBuf, /* Buffer size */ + i64 iStart /* Offset of pFd to begin writing at */ ){ - int nBuf = sqlite3BtreeGetPageSize(db->aDb[0].pBt); - - memset(p, 0, sizeof(FileWriter)); - p->aBuffer = (u8 *)sqlite3DbMallocRaw(db, nBuf); + memset(p, 0, sizeof(PmaWriter)); + p->aBuffer = (u8*)sqlite3Malloc(nBuf); if( !p->aBuffer ){ p->eFWErr = SQLITE_NOMEM; }else{ p->iBufEnd = p->iBufStart = (iStart % nBuf); p->iWriteOff = iStart - p->iBufStart; p->nBuffer = nBuf; - p->pFile = pFile; + p->pFd = pFd; } } /* -** Write nData bytes of data to the file-write object. Return SQLITE_OK +** Write nData bytes of data to the PMA. Return SQLITE_OK ** if successful, or an SQLite error code if an error occurs. */ -static void fileWriterWrite(FileWriter *p, u8 *pData, int nData){ +static void vdbePmaWriteBlob(PmaWriter *p, u8 *pData, int nData){ int nRem = nData; while( nRem>0 && p->eFWErr==0 ){ int nCopy = nRem; @@ -75669,7 +77302,7 @@ static void fileWriterWrite(FileWriter *p, u8 *pData, int nData){ memcpy(&p->aBuffer[p->iBufEnd], &pData[nData-nRem], nCopy); p->iBufEnd += nCopy; if( p->iBufEnd==p->nBuffer ){ - p->eFWErr = sqlite3OsWrite(p->pFile, + p->eFWErr = sqlite3OsWrite(p->pFd, &p->aBuffer[p->iBufStart], p->iBufEnd - p->iBufStart, p->iWriteOff + p->iBufStart ); @@ -75683,43 +77316,44 @@ static void fileWriterWrite(FileWriter *p, u8 *pData, int nData){ } /* -** Flush any buffered data to disk and clean up the file-writer object. -** The results of using the file-writer after this call are undefined. +** Flush any buffered data to disk and clean up the PMA-writer object. +** The results of using the PMA-writer after this call are undefined. ** Return SQLITE_OK if flushing the buffered data succeeds or is not ** required. Otherwise, return an SQLite error code. ** ** Before returning, set *piEof to the offset immediately following the ** last byte written to the file. */ -static int fileWriterFinish(sqlite3 *db, FileWriter *p, i64 *piEof){ +static int vdbePmaWriterFinish(PmaWriter *p, i64 *piEof){ int rc; if( p->eFWErr==0 && ALWAYS(p->aBuffer) && p->iBufEnd>p->iBufStart ){ - p->eFWErr = sqlite3OsWrite(p->pFile, + p->eFWErr = sqlite3OsWrite(p->pFd, &p->aBuffer[p->iBufStart], p->iBufEnd - p->iBufStart, p->iWriteOff + p->iBufStart ); } *piEof = (p->iWriteOff + p->iBufEnd); - sqlite3DbFree(db, p->aBuffer); + sqlite3_free(p->aBuffer); rc = p->eFWErr; - memset(p, 0, sizeof(FileWriter)); + memset(p, 0, sizeof(PmaWriter)); return rc; } /* -** Write value iVal encoded as a varint to the file-write object. Return +** Write value iVal encoded as a varint to the PMA. Return ** SQLITE_OK if successful, or an SQLite error code if an error occurs. */ -static void fileWriterWriteVarint(FileWriter *p, u64 iVal){ +static void vdbePmaWriteVarint(PmaWriter *p, u64 iVal){ int nByte; u8 aByte[10]; nByte = sqlite3PutVarint(aByte, iVal); - fileWriterWrite(p, aByte, nByte); + vdbePmaWriteBlob(p, aByte, nByte); } /* -** Write the current contents of the in-memory linked-list to a PMA. Return -** SQLITE_OK if successful, or an SQLite error code otherwise. +** Write the current contents of in-memory linked-list pList to a level-0 +** PMA in the temp file belonging to sub-task pTask. Return SQLITE_OK if +** successful, or an SQLite error code otherwise. ** ** The format of a PMA is: ** @@ -75730,76 +77364,246 @@ static void fileWriterWriteVarint(FileWriter *p, u64 iVal){ ** Each record consists of a varint followed by a blob of data (the ** key). The varint is the number of bytes in the blob of data. */ -static int vdbeSorterListToPMA(sqlite3 *db, const VdbeCursor *pCsr){ +static int vdbeSorterListToPMA(SortSubtask *pTask, SorterList *pList){ + sqlite3 *db = pTask->pSorter->db; int rc = SQLITE_OK; /* Return code */ - VdbeSorter *pSorter = pCsr->pSorter; - FileWriter writer; + PmaWriter writer; /* Object used to write to the file */ - memset(&writer, 0, sizeof(FileWriter)); +#ifdef SQLITE_DEBUG + /* Set iSz to the expected size of file pTask->file after writing the PMA. + ** This is used by an assert() statement at the end of this function. */ + i64 iSz = pList->szPMA + sqlite3VarintLen(pList->szPMA) + pTask->file.iEof; +#endif - if( pSorter->nInMemory==0 ){ - assert( pSorter->pRecord==0 ); - return rc; + vdbeSorterWorkDebug(pTask, "enter"); + memset(&writer, 0, sizeof(PmaWriter)); + assert( pList->szPMA>0 ); + + /* If the first temporary PMA file has not been opened, open it now. */ + if( pTask->file.pFd==0 ){ + rc = vdbeSorterOpenTempFile(db, 0, &pTask->file.pFd); + assert( rc!=SQLITE_OK || pTask->file.pFd ); + assert( pTask->file.iEof==0 ); + assert( pTask->nPMA==0 ); } - rc = vdbeSorterSort(pCsr); + /* Try to get the file to memory map */ + if( rc==SQLITE_OK ){ + vdbeSorterExtendFile(db, pTask->file.pFd, pTask->file.iEof+pList->szPMA+9); + } - /* If the first temporary PMA file has not been opened, open it now. */ - if( rc==SQLITE_OK && pSorter->pTemp1==0 ){ - rc = vdbeSorterOpenTempFile(db, &pSorter->pTemp1); - assert( rc!=SQLITE_OK || pSorter->pTemp1 ); - assert( pSorter->iWriteOff==0 ); - assert( pSorter->nPMA==0 ); + /* Sort the list */ + if( rc==SQLITE_OK ){ + rc = vdbeSorterSort(pTask, pList); } if( rc==SQLITE_OK ){ SorterRecord *p; SorterRecord *pNext = 0; - fileWriterInit(db, pSorter->pTemp1, &writer, pSorter->iWriteOff); - pSorter->nPMA++; - fileWriterWriteVarint(&writer, pSorter->nInMemory); - for(p=pSorter->pRecord; p; p=pNext){ - pNext = p->pNext; - fileWriterWriteVarint(&writer, p->nVal); - fileWriterWrite(&writer, p->pVal, p->nVal); - sqlite3DbFree(db, p); + vdbePmaWriterInit(pTask->file.pFd, &writer, pTask->pSorter->pgsz, + pTask->file.iEof); + pTask->nPMA++; + vdbePmaWriteVarint(&writer, pList->szPMA); + for(p=pList->pList; p; p=pNext){ + pNext = p->u.pNext; + vdbePmaWriteVarint(&writer, p->nVal); + vdbePmaWriteBlob(&writer, SRVAL(p), p->nVal); + if( pList->aMemory==0 ) sqlite3_free(p); } - pSorter->pRecord = p; - rc = fileWriterFinish(db, &writer, &pSorter->iWriteOff); + pList->pList = p; + rc = vdbePmaWriterFinish(&writer, &pTask->file.iEof); } + vdbeSorterWorkDebug(pTask, "exit"); + assert( rc!=SQLITE_OK || pList->pList==0 ); + assert( rc!=SQLITE_OK || pTask->file.iEof==iSz ); return rc; } /* +** Advance the MergeEngine to its next entry. +** Set *pbEof to true there is no next entry because +** the MergeEngine has reached the end of all its inputs. +** +** Return SQLITE_OK if successful or an error code if an error occurs. +*/ +static int vdbeMergeEngineStep( + MergeEngine *pMerger, /* The merge engine to advance to the next row */ + int *pbEof /* Set TRUE at EOF. Set false for more content */ +){ + int rc; + int iPrev = pMerger->aTree[1];/* Index of PmaReader to advance */ + SortSubtask *pTask = pMerger->pTask; + + /* Advance the current PmaReader */ + rc = vdbePmaReaderNext(&pMerger->aReadr[iPrev]); + + /* Update contents of aTree[] */ + if( rc==SQLITE_OK ){ + int i; /* Index of aTree[] to recalculate */ + PmaReader *pReadr1; /* First PmaReader to compare */ + PmaReader *pReadr2; /* Second PmaReader to compare */ + u8 *pKey2; /* To pReadr2->aKey, or 0 if record cached */ + + /* Find the first two PmaReaders to compare. The one that was just + ** advanced (iPrev) and the one next to it in the array. */ + pReadr1 = &pMerger->aReadr[(iPrev & 0xFFFE)]; + pReadr2 = &pMerger->aReadr[(iPrev | 0x0001)]; + pKey2 = pReadr2->aKey; + + for(i=(pMerger->nTree+iPrev)/2; i>0; i=i/2){ + /* Compare pReadr1 and pReadr2. Store the result in variable iRes. */ + int iRes; + if( pReadr1->pFd==0 ){ + iRes = +1; + }else if( pReadr2->pFd==0 ){ + iRes = -1; + }else{ + iRes = vdbeSorterCompare(pTask, + pReadr1->aKey, pReadr1->nKey, pKey2, pReadr2->nKey + ); + } + + /* If pReadr1 contained the smaller value, set aTree[i] to its index. + ** Then set pReadr2 to the next PmaReader to compare to pReadr1. In this + ** case there is no cache of pReadr2 in pTask->pUnpacked, so set + ** pKey2 to point to the record belonging to pReadr2. + ** + ** Alternatively, if pReadr2 contains the smaller of the two values, + ** set aTree[i] to its index and update pReadr1. If vdbeSorterCompare() + ** was actually called above, then pTask->pUnpacked now contains + ** a value equivalent to pReadr2. So set pKey2 to NULL to prevent + ** vdbeSorterCompare() from decoding pReadr2 again. + ** + ** If the two values were equal, then the value from the oldest + ** PMA should be considered smaller. The VdbeSorter.aReadr[] array + ** is sorted from oldest to newest, so pReadr1 contains older values + ** than pReadr2 iff (pReadr1<pReadr2). */ + if( iRes<0 || (iRes==0 && pReadr1<pReadr2) ){ + pMerger->aTree[i] = (int)(pReadr1 - pMerger->aReadr); + pReadr2 = &pMerger->aReadr[ pMerger->aTree[i ^ 0x0001] ]; + pKey2 = pReadr2->aKey; + }else{ + if( pReadr1->pFd ) pKey2 = 0; + pMerger->aTree[i] = (int)(pReadr2 - pMerger->aReadr); + pReadr1 = &pMerger->aReadr[ pMerger->aTree[i ^ 0x0001] ]; + } + } + *pbEof = (pMerger->aReadr[pMerger->aTree[1]].pFd==0); + } + + return (rc==SQLITE_OK ? pTask->pUnpacked->errCode : rc); +} + +#if SQLITE_MAX_WORKER_THREADS>0 +/* +** The main routine for background threads that write level-0 PMAs. +*/ +static void *vdbeSorterFlushThread(void *pCtx){ + SortSubtask *pTask = (SortSubtask*)pCtx; + int rc; /* Return code */ + assert( pTask->bDone==0 ); + rc = vdbeSorterListToPMA(pTask, &pTask->list); + pTask->bDone = 1; + return SQLITE_INT_TO_PTR(rc); +} +#endif /* SQLITE_MAX_WORKER_THREADS>0 */ + +/* +** Flush the current contents of VdbeSorter.list to a new PMA, possibly +** using a background thread. +*/ +static int vdbeSorterFlushPMA(VdbeSorter *pSorter){ +#if SQLITE_MAX_WORKER_THREADS==0 + pSorter->bUsePMA = 1; + return vdbeSorterListToPMA(&pSorter->aTask[0], &pSorter->list); +#else + int rc = SQLITE_OK; + int i; + SortSubtask *pTask = 0; /* Thread context used to create new PMA */ + int nWorker = (pSorter->nTask-1); + + /* Set the flag to indicate that at least one PMA has been written. + ** Or will be, anyhow. */ + pSorter->bUsePMA = 1; + + /* Select a sub-task to sort and flush the current list of in-memory + ** records to disk. If the sorter is running in multi-threaded mode, + ** round-robin between the first (pSorter->nTask-1) tasks. Except, if + ** the background thread from a sub-tasks previous turn is still running, + ** skip it. If the first (pSorter->nTask-1) sub-tasks are all still busy, + ** fall back to using the final sub-task. The first (pSorter->nTask-1) + ** sub-tasks are prefered as they use background threads - the final + ** sub-task uses the main thread. */ + for(i=0; i<nWorker; i++){ + int iTest = (pSorter->iPrev + i + 1) % nWorker; + pTask = &pSorter->aTask[iTest]; + if( pTask->bDone ){ + rc = vdbeSorterJoinThread(pTask); + } + if( rc!=SQLITE_OK || pTask->pThread==0 ) break; + } + + if( rc==SQLITE_OK ){ + if( i==nWorker ){ + /* Use the foreground thread for this operation */ + rc = vdbeSorterListToPMA(&pSorter->aTask[nWorker], &pSorter->list); + }else{ + /* Launch a background thread for this operation */ + u8 *aMem = pTask->list.aMemory; + void *pCtx = (void*)pTask; + + assert( pTask->pThread==0 && pTask->bDone==0 ); + assert( pTask->list.pList==0 ); + assert( pTask->list.aMemory==0 || pSorter->list.aMemory!=0 ); + + pSorter->iPrev = (u8)(pTask - pSorter->aTask); + pTask->list = pSorter->list; + pSorter->list.pList = 0; + pSorter->list.szPMA = 0; + if( aMem ){ + pSorter->list.aMemory = aMem; + pSorter->nMemory = sqlite3MallocSize(aMem); + }else if( pSorter->list.aMemory ){ + pSorter->list.aMemory = sqlite3Malloc(pSorter->nMemory); + if( !pSorter->list.aMemory ) return SQLITE_NOMEM; + } + + rc = vdbeSorterCreateThread(pTask, vdbeSorterFlushThread, pCtx); + } + } + + return rc; +#endif /* SQLITE_MAX_WORKER_THREADS!=0 */ +} + +/* ** Add a record to the sorter. */ SQLITE_PRIVATE int sqlite3VdbeSorterWrite( - sqlite3 *db, /* Database handle */ - const VdbeCursor *pCsr, /* Sorter cursor */ + const VdbeCursor *pCsr, /* Sorter cursor */ Mem *pVal /* Memory cell containing record */ ){ VdbeSorter *pSorter = pCsr->pSorter; int rc = SQLITE_OK; /* Return Code */ SorterRecord *pNew; /* New list element */ - assert( pSorter ); - pSorter->nInMemory += sqlite3VarintLen(pVal->n) + pVal->n; + int bFlush; /* True to flush contents of memory to PMA */ + int nReq; /* Bytes of memory required */ + int nPMA; /* Bytes of PMA space required */ - pNew = (SorterRecord *)sqlite3DbMallocRaw(db, pVal->n + sizeof(SorterRecord)); - if( pNew==0 ){ - rc = SQLITE_NOMEM; - }else{ - pNew->pVal = (void *)&pNew[1]; - memcpy(pNew->pVal, pVal->z, pVal->n); - pNew->nVal = pVal->n; - pNew->pNext = pSorter->pRecord; - pSorter->pRecord = pNew; - } + assert( pSorter ); - /* See if the contents of the sorter should now be written out. They - ** are written out when either of the following are true: + /* Figure out whether or not the current contents of memory should be + ** flushed to a PMA before continuing. If so, do so. + ** + ** If using the single large allocation mode (pSorter->aMemory!=0), then + ** flush the contents of memory to a new PMA if (a) at least one value is + ** already in memory and (b) the new value will not fit in memory. + ** + ** Or, if using separate allocations for each record, flush the contents + ** of memory to a PMA if either of the following are true: ** ** * The total memory allocated for the in-memory list is greater ** than (page-size * cache-size), or @@ -75807,161 +77611,778 @@ SQLITE_PRIVATE int sqlite3VdbeSorterWrite( ** * The total memory allocated for the in-memory list is greater ** than (page-size * 10) and sqlite3HeapNearlyFull() returns true. */ - if( rc==SQLITE_OK && pSorter->mxPmaSize>0 && ( - (pSorter->nInMemory>pSorter->mxPmaSize) - || (pSorter->nInMemory>pSorter->mnPmaSize && sqlite3HeapNearlyFull()) - )){ -#ifdef SQLITE_DEBUG - i64 nExpect = pSorter->iWriteOff - + sqlite3VarintLen(pSorter->nInMemory) - + pSorter->nInMemory; + nReq = pVal->n + sizeof(SorterRecord); + nPMA = pVal->n + sqlite3VarintLen(pVal->n); + if( pSorter->mxPmaSize ){ + if( pSorter->list.aMemory ){ + bFlush = pSorter->iMemory && (pSorter->iMemory+nReq) > pSorter->mxPmaSize; + }else{ + bFlush = ( + (pSorter->list.szPMA > pSorter->mxPmaSize) + || (pSorter->list.szPMA > pSorter->mnPmaSize && sqlite3HeapNearlyFull()) + ); + } + if( bFlush ){ + rc = vdbeSorterFlushPMA(pSorter); + pSorter->list.szPMA = 0; + pSorter->iMemory = 0; + assert( rc!=SQLITE_OK || pSorter->list.pList==0 ); + } + } + + pSorter->list.szPMA += nPMA; + if( nPMA>pSorter->mxKeysize ){ + pSorter->mxKeysize = nPMA; + } + + if( pSorter->list.aMemory ){ + int nMin = pSorter->iMemory + nReq; + + if( nMin>pSorter->nMemory ){ + u8 *aNew; + int nNew = pSorter->nMemory * 2; + while( nNew < nMin ) nNew = nNew*2; + if( nNew > pSorter->mxPmaSize ) nNew = pSorter->mxPmaSize; + if( nNew < nMin ) nNew = nMin; + + aNew = sqlite3Realloc(pSorter->list.aMemory, nNew); + if( !aNew ) return SQLITE_NOMEM; + pSorter->list.pList = (SorterRecord*)( + aNew + ((u8*)pSorter->list.pList - pSorter->list.aMemory) + ); + pSorter->list.aMemory = aNew; + pSorter->nMemory = nNew; + } + + pNew = (SorterRecord*)&pSorter->list.aMemory[pSorter->iMemory]; + pSorter->iMemory += ROUND8(nReq); + pNew->u.iNext = (int)((u8*)(pSorter->list.pList) - pSorter->list.aMemory); + }else{ + pNew = (SorterRecord *)sqlite3Malloc(nReq); + if( pNew==0 ){ + return SQLITE_NOMEM; + } + pNew->u.pNext = pSorter->list.pList; + } + + memcpy(SRVAL(pNew), pVal->z, pVal->n); + pNew->nVal = pVal->n; + pSorter->list.pList = pNew; + + return rc; +} + +/* +** Read keys from pIncr->pMerger and populate pIncr->aFile[1]. The format +** of the data stored in aFile[1] is the same as that used by regular PMAs, +** except that the number-of-bytes varint is omitted from the start. +*/ +static int vdbeIncrPopulate(IncrMerger *pIncr){ + int rc = SQLITE_OK; + int rc2; + i64 iStart = pIncr->iStartOff; + SorterFile *pOut = &pIncr->aFile[1]; + SortSubtask *pTask = pIncr->pTask; + MergeEngine *pMerger = pIncr->pMerger; + PmaWriter writer; + assert( pIncr->bEof==0 ); + + vdbeSorterPopulateDebug(pTask, "enter"); + + vdbePmaWriterInit(pOut->pFd, &writer, pTask->pSorter->pgsz, iStart); + while( rc==SQLITE_OK ){ + int dummy; + PmaReader *pReader = &pMerger->aReadr[ pMerger->aTree[1] ]; + int nKey = pReader->nKey; + i64 iEof = writer.iWriteOff + writer.iBufEnd; + + /* Check if the output file is full or if the input has been exhausted. + ** In either case exit the loop. */ + if( pReader->pFd==0 ) break; + if( (iEof + nKey + sqlite3VarintLen(nKey))>(iStart + pIncr->mxSz) ) break; + + /* Write the next key to the output. */ + vdbePmaWriteVarint(&writer, nKey); + vdbePmaWriteBlob(&writer, pReader->aKey, nKey); + assert( pIncr->pMerger->pTask==pTask ); + rc = vdbeMergeEngineStep(pIncr->pMerger, &dummy); + } + + rc2 = vdbePmaWriterFinish(&writer, &pOut->iEof); + if( rc==SQLITE_OK ) rc = rc2; + vdbeSorterPopulateDebug(pTask, "exit"); + return rc; +} + +#if SQLITE_MAX_WORKER_THREADS>0 +/* +** The main routine for background threads that populate aFile[1] of +** multi-threaded IncrMerger objects. +*/ +static void *vdbeIncrPopulateThread(void *pCtx){ + IncrMerger *pIncr = (IncrMerger*)pCtx; + void *pRet = SQLITE_INT_TO_PTR( vdbeIncrPopulate(pIncr) ); + pIncr->pTask->bDone = 1; + return pRet; +} + +/* +** Launch a background thread to populate aFile[1] of pIncr. +*/ +static int vdbeIncrBgPopulate(IncrMerger *pIncr){ + void *p = (void*)pIncr; + assert( pIncr->bUseThread ); + return vdbeSorterCreateThread(pIncr->pTask, vdbeIncrPopulateThread, p); +} +#endif + +/* +** This function is called when the PmaReader corresponding to pIncr has +** finished reading the contents of aFile[0]. Its purpose is to "refill" +** aFile[0] such that the PmaReader should start rereading it from the +** beginning. +** +** For single-threaded objects, this is accomplished by literally reading +** keys from pIncr->pMerger and repopulating aFile[0]. +** +** For multi-threaded objects, all that is required is to wait until the +** background thread is finished (if it is not already) and then swap +** aFile[0] and aFile[1] in place. If the contents of pMerger have not +** been exhausted, this function also launches a new background thread +** to populate the new aFile[1]. +** +** SQLITE_OK is returned on success, or an SQLite error code otherwise. +*/ +static int vdbeIncrSwap(IncrMerger *pIncr){ + int rc = SQLITE_OK; + +#if SQLITE_MAX_WORKER_THREADS>0 + if( pIncr->bUseThread ){ + rc = vdbeSorterJoinThread(pIncr->pTask); + + if( rc==SQLITE_OK ){ + SorterFile f0 = pIncr->aFile[0]; + pIncr->aFile[0] = pIncr->aFile[1]; + pIncr->aFile[1] = f0; + } + + if( rc==SQLITE_OK ){ + if( pIncr->aFile[0].iEof==pIncr->iStartOff ){ + pIncr->bEof = 1; + }else{ + rc = vdbeIncrBgPopulate(pIncr); + } + } + }else #endif - rc = vdbeSorterListToPMA(db, pCsr); - pSorter->nInMemory = 0; - assert( rc!=SQLITE_OK || (nExpect==pSorter->iWriteOff) ); + { + rc = vdbeIncrPopulate(pIncr); + pIncr->aFile[0] = pIncr->aFile[1]; + if( pIncr->aFile[0].iEof==pIncr->iStartOff ){ + pIncr->bEof = 1; + } } return rc; } /* -** Helper function for sqlite3VdbeSorterRewind(). +** Allocate and return a new IncrMerger object to read data from pMerger. +** +** If an OOM condition is encountered, return NULL. In this case free the +** pMerger argument before returning. */ -static int vdbeSorterInitMerge( - sqlite3 *db, /* Database handle */ - const VdbeCursor *pCsr, /* Cursor handle for this sorter */ - i64 *pnByte /* Sum of bytes in all opened PMAs */ +static int vdbeIncrMergerNew( + SortSubtask *pTask, /* The thread that will be using the new IncrMerger */ + MergeEngine *pMerger, /* The MergeEngine that the IncrMerger will control */ + IncrMerger **ppOut /* Write the new IncrMerger here */ ){ - VdbeSorter *pSorter = pCsr->pSorter; - int rc = SQLITE_OK; /* Return code */ - int i; /* Used to iterator through aIter[] */ - i64 nByte = 0; /* Total bytes in all opened PMAs */ + int rc = SQLITE_OK; + IncrMerger *pIncr = *ppOut = (IncrMerger*) + (sqlite3FaultSim(100) ? 0 : sqlite3MallocZero(sizeof(*pIncr))); + if( pIncr ){ + pIncr->pMerger = pMerger; + pIncr->pTask = pTask; + pIncr->mxSz = MAX(pTask->pSorter->mxKeysize+9,pTask->pSorter->mxPmaSize/2); + pTask->file2.iEof += pIncr->mxSz; + }else{ + vdbeMergeEngineFree(pMerger); + rc = SQLITE_NOMEM; + } + return rc; +} + +#if SQLITE_MAX_WORKER_THREADS>0 +/* +** Set the "use-threads" flag on object pIncr. +*/ +static void vdbeIncrMergerSetThreads(IncrMerger *pIncr){ + pIncr->bUseThread = 1; + pIncr->pTask->file2.iEof -= pIncr->mxSz; +} +#endif /* SQLITE_MAX_WORKER_THREADS>0 */ - /* Initialize the iterators. */ - for(i=0; i<SORTER_MAX_MERGE_COUNT; i++){ - VdbeSorterIter *pIter = &pSorter->aIter[i]; - rc = vdbeSorterIterInit(db, pSorter, pSorter->iReadOff, pIter, &nByte); - pSorter->iReadOff = pIter->iEof; - assert( rc!=SQLITE_OK || pSorter->iReadOff<=pSorter->iWriteOff ); - if( rc!=SQLITE_OK || pSorter->iReadOff>=pSorter->iWriteOff ) break; + + +/* +** Recompute pMerger->aTree[iOut] by comparing the next keys on the +** two PmaReaders that feed that entry. Neither of the PmaReaders +** are advanced. This routine merely does the comparison. +*/ +static void vdbeMergeEngineCompare( + MergeEngine *pMerger, /* Merge engine containing PmaReaders to compare */ + int iOut /* Store the result in pMerger->aTree[iOut] */ +){ + int i1; + int i2; + int iRes; + PmaReader *p1; + PmaReader *p2; + + assert( iOut<pMerger->nTree && iOut>0 ); + + if( iOut>=(pMerger->nTree/2) ){ + i1 = (iOut - pMerger->nTree/2) * 2; + i2 = i1 + 1; + }else{ + i1 = pMerger->aTree[iOut*2]; + i2 = pMerger->aTree[iOut*2+1]; } - /* Initialize the aTree[] array. */ - for(i=pSorter->nTree-1; rc==SQLITE_OK && i>0; i--){ - rc = vdbeSorterDoCompare(pCsr, i); + p1 = &pMerger->aReadr[i1]; + p2 = &pMerger->aReadr[i2]; + + if( p1->pFd==0 ){ + iRes = i2; + }else if( p2->pFd==0 ){ + iRes = i1; + }else{ + int res; + assert( pMerger->pTask->pUnpacked!=0 ); /* from vdbeSortSubtaskMain() */ + res = vdbeSorterCompare( + pMerger->pTask, p1->aKey, p1->nKey, p2->aKey, p2->nKey + ); + if( res<=0 ){ + iRes = i1; + }else{ + iRes = i2; + } } - *pnByte = nByte; - return rc; + pMerger->aTree[iOut] = iRes; } /* -** Once the sorter has been populated, this function is called to prepare -** for iterating through its contents in sorted order. +** Allowed values for the eMode parameter to vdbeMergeEngineInit() +** and vdbePmaReaderIncrMergeInit(). +** +** Only INCRINIT_NORMAL is valid in single-threaded builds (when +** SQLITE_MAX_WORKER_THREADS==0). The other values are only used +** when there exists one or more separate worker threads. */ -SQLITE_PRIVATE int sqlite3VdbeSorterRewind(sqlite3 *db, const VdbeCursor *pCsr, int *pbEof){ - VdbeSorter *pSorter = pCsr->pSorter; - int rc; /* Return code */ - sqlite3_file *pTemp2 = 0; /* Second temp file to use */ - i64 iWrite2 = 0; /* Write offset for pTemp2 */ - int nIter; /* Number of iterators used */ - int nByte; /* Bytes of space required for aIter/aTree */ - int N = 2; /* Power of 2 >= nIter */ +#define INCRINIT_NORMAL 0 +#define INCRINIT_TASK 1 +#define INCRINIT_ROOT 2 - assert( pSorter ); +/* Forward reference. +** The vdbeIncrMergeInit() and vdbePmaReaderIncrMergeInit() routines call each +** other (when building a merge tree). +*/ +static int vdbePmaReaderIncrMergeInit(PmaReader *pReadr, int eMode); - /* If no data has been written to disk, then do not do so now. Instead, - ** sort the VdbeSorter.pRecord list. The vdbe layer will read data directly - ** from the in-memory list. */ - if( pSorter->nPMA==0 ){ - *pbEof = !pSorter->pRecord; - assert( pSorter->aTree==0 ); - return vdbeSorterSort(pCsr); +/* +** Initialize the MergeEngine object passed as the second argument. Once this +** function returns, the first key of merged data may be read from the +** MergeEngine object in the usual fashion. +** +** If argument eMode is INCRINIT_ROOT, then it is assumed that any IncrMerge +** objects attached to the PmaReader objects that the merger reads from have +** already been populated, but that they have not yet populated aFile[0] and +** set the PmaReader objects up to read from it. In this case all that is +** required is to call vdbePmaReaderNext() on each PmaReader to point it at +** its first key. +** +** Otherwise, if eMode is any value other than INCRINIT_ROOT, then use +** vdbePmaReaderIncrMergeInit() to initialize each PmaReader that feeds data +** to pMerger. +** +** SQLITE_OK is returned if successful, or an SQLite error code otherwise. +*/ +static int vdbeMergeEngineInit( + SortSubtask *pTask, /* Thread that will run pMerger */ + MergeEngine *pMerger, /* MergeEngine to initialize */ + int eMode /* One of the INCRINIT_XXX constants */ +){ + int rc = SQLITE_OK; /* Return code */ + int i; /* For looping over PmaReader objects */ + int nTree = pMerger->nTree; + + /* eMode is always INCRINIT_NORMAL in single-threaded mode */ + assert( SQLITE_MAX_WORKER_THREADS>0 || eMode==INCRINIT_NORMAL ); + + /* Verify that the MergeEngine is assigned to a single thread */ + assert( pMerger->pTask==0 ); + pMerger->pTask = pTask; + + for(i=0; i<nTree; i++){ + if( SQLITE_MAX_WORKER_THREADS>0 && eMode==INCRINIT_ROOT ){ + /* PmaReaders should be normally initialized in order, as if they are + ** reading from the same temp file this makes for more linear file IO. + ** However, in the INCRINIT_ROOT case, if PmaReader aReadr[nTask-1] is + ** in use it will block the vdbePmaReaderNext() call while it uses + ** the main thread to fill its buffer. So calling PmaReaderNext() + ** on this PmaReader before any of the multi-threaded PmaReaders takes + ** better advantage of multi-processor hardware. */ + rc = vdbePmaReaderNext(&pMerger->aReadr[nTree-i-1]); + }else{ + rc = vdbePmaReaderIncrMergeInit(&pMerger->aReadr[i], INCRINIT_NORMAL); + } + if( rc!=SQLITE_OK ) return rc; } - /* Write the current in-memory list to a PMA. */ - rc = vdbeSorterListToPMA(db, pCsr); - if( rc!=SQLITE_OK ) return rc; + for(i=pMerger->nTree-1; i>0; i--){ + vdbeMergeEngineCompare(pMerger, i); + } + return pTask->pUnpacked->errCode; +} - /* Allocate space for aIter[] and aTree[]. */ - nIter = pSorter->nPMA; - if( nIter>SORTER_MAX_MERGE_COUNT ) nIter = SORTER_MAX_MERGE_COUNT; - assert( nIter>0 ); - while( N<nIter ) N += N; - nByte = N * (sizeof(int) + sizeof(VdbeSorterIter)); - pSorter->aIter = (VdbeSorterIter *)sqlite3DbMallocZero(db, nByte); - if( !pSorter->aIter ) return SQLITE_NOMEM; - pSorter->aTree = (int *)&pSorter->aIter[N]; - pSorter->nTree = N; +/* +** Initialize the IncrMerge field of a PmaReader. +** +** If the PmaReader passed as the first argument is not an incremental-reader +** (if pReadr->pIncr==0), then this function is a no-op. Otherwise, it serves +** to open and/or initialize the temp file related fields of the IncrMerge +** object at (pReadr->pIncr). +** +** If argument eMode is set to INCRINIT_NORMAL, then all PmaReaders +** in the sub-tree headed by pReadr are also initialized. Data is then loaded +** into the buffers belonging to pReadr and it is set to +** point to the first key in its range. +** +** If argument eMode is set to INCRINIT_TASK, then pReadr is guaranteed +** to be a multi-threaded PmaReader and this function is being called in a +** background thread. In this case all PmaReaders in the sub-tree are +** initialized as for INCRINIT_NORMAL and the aFile[1] buffer belonging to +** pReadr is populated. However, pReadr itself is not set up to point +** to its first key. A call to vdbePmaReaderNext() is still required to do +** that. +** +** The reason this function does not call vdbePmaReaderNext() immediately +** in the INCRINIT_TASK case is that vdbePmaReaderNext() assumes that it has +** to block on thread (pTask->thread) before accessing aFile[1]. But, since +** this entire function is being run by thread (pTask->thread), that will +** lead to the current background thread attempting to join itself. +** +** Finally, if argument eMode is set to INCRINIT_ROOT, it may be assumed +** that pReadr->pIncr is a multi-threaded IncrMerge objects, and that all +** child-trees have already been initialized using IncrInit(INCRINIT_TASK). +** In this case vdbePmaReaderNext() is called on all child PmaReaders and +** the current PmaReader set to point to the first key in its range. +** +** SQLITE_OK is returned if successful, or an SQLite error code otherwise. +*/ +static int vdbePmaReaderIncrMergeInit(PmaReader *pReadr, int eMode){ + int rc = SQLITE_OK; + IncrMerger *pIncr = pReadr->pIncr; - do { - int iNew; /* Index of new, merged, PMA */ + /* eMode is always INCRINIT_NORMAL in single-threaded mode */ + assert( SQLITE_MAX_WORKER_THREADS>0 || eMode==INCRINIT_NORMAL ); + + if( pIncr ){ + SortSubtask *pTask = pIncr->pTask; + sqlite3 *db = pTask->pSorter->db; + + rc = vdbeMergeEngineInit(pTask, pIncr->pMerger, eMode); + + /* Set up the required files for pIncr. A multi-theaded IncrMerge object + ** requires two temp files to itself, whereas a single-threaded object + ** only requires a region of pTask->file2. */ + if( rc==SQLITE_OK ){ + int mxSz = pIncr->mxSz; +#if SQLITE_MAX_WORKER_THREADS>0 + if( pIncr->bUseThread ){ + rc = vdbeSorterOpenTempFile(db, mxSz, &pIncr->aFile[0].pFd); + if( rc==SQLITE_OK ){ + rc = vdbeSorterOpenTempFile(db, mxSz, &pIncr->aFile[1].pFd); + } + }else +#endif + /*if( !pIncr->bUseThread )*/{ + if( pTask->file2.pFd==0 ){ + assert( pTask->file2.iEof>0 ); + rc = vdbeSorterOpenTempFile(db, pTask->file2.iEof, &pTask->file2.pFd); + pTask->file2.iEof = 0; + } + if( rc==SQLITE_OK ){ + pIncr->aFile[1].pFd = pTask->file2.pFd; + pIncr->iStartOff = pTask->file2.iEof; + pTask->file2.iEof += mxSz; + } + } + } - for(iNew=0; - rc==SQLITE_OK && iNew*SORTER_MAX_MERGE_COUNT<pSorter->nPMA; - iNew++ +#if SQLITE_MAX_WORKER_THREADS>0 + if( rc==SQLITE_OK && pIncr->bUseThread ){ + /* Use the current thread to populate aFile[1], even though this + ** PmaReader is multi-threaded. The reason being that this function + ** is already running in background thread pIncr->pTask->thread. */ + assert( eMode==INCRINIT_ROOT || eMode==INCRINIT_TASK ); + rc = vdbeIncrPopulate(pIncr); + } +#endif + + if( rc==SQLITE_OK + && (SQLITE_MAX_WORKER_THREADS==0 || eMode!=INCRINIT_TASK) ){ - int rc2; /* Return code from fileWriterFinish() */ - FileWriter writer; /* Object used to write to disk */ - i64 nWrite; /* Number of bytes in new PMA */ + rc = vdbePmaReaderNext(pReadr); + } + } + return rc; +} - memset(&writer, 0, sizeof(FileWriter)); +#if SQLITE_MAX_WORKER_THREADS>0 +/* +** The main routine for vdbePmaReaderIncrMergeInit() operations run in +** background threads. +*/ +static void *vdbePmaReaderBgInit(void *pCtx){ + PmaReader *pReader = (PmaReader*)pCtx; + void *pRet = SQLITE_INT_TO_PTR( + vdbePmaReaderIncrMergeInit(pReader,INCRINIT_TASK) + ); + pReader->pIncr->pTask->bDone = 1; + return pRet; +} - /* If there are SORTER_MAX_MERGE_COUNT or less PMAs in file pTemp1, - ** initialize an iterator for each of them and break out of the loop. - ** These iterators will be incrementally merged as the VDBE layer calls - ** sqlite3VdbeSorterNext(). - ** - ** Otherwise, if pTemp1 contains more than SORTER_MAX_MERGE_COUNT PMAs, - ** initialize interators for SORTER_MAX_MERGE_COUNT of them. These PMAs - ** are merged into a single PMA that is written to file pTemp2. - */ - rc = vdbeSorterInitMerge(db, pCsr, &nWrite); - assert( rc!=SQLITE_OK || pSorter->aIter[ pSorter->aTree[1] ].pFile ); - if( rc!=SQLITE_OK || pSorter->nPMA<=SORTER_MAX_MERGE_COUNT ){ - break; +/* +** Use a background thread to invoke vdbePmaReaderIncrMergeInit(INCRINIT_TASK) +** on the PmaReader object passed as the first argument. +** +** This call will initialize the various fields of the pReadr->pIncr +** structure and, if it is a multi-threaded IncrMerger, launch a +** background thread to populate aFile[1]. +*/ +static int vdbePmaReaderBgIncrInit(PmaReader *pReadr){ + void *pCtx = (void*)pReadr; + return vdbeSorterCreateThread(pReadr->pIncr->pTask, vdbePmaReaderBgInit, pCtx); +} +#endif + +/* +** Allocate a new MergeEngine object to merge the contents of nPMA level-0 +** PMAs from pTask->file. If no error occurs, set *ppOut to point to +** the new object and return SQLITE_OK. Or, if an error does occur, set *ppOut +** to NULL and return an SQLite error code. +** +** When this function is called, *piOffset is set to the offset of the +** first PMA to read from pTask->file. Assuming no error occurs, it is +** set to the offset immediately following the last byte of the last +** PMA before returning. If an error does occur, then the final value of +** *piOffset is undefined. +*/ +static int vdbeMergeEngineLevel0( + SortSubtask *pTask, /* Sorter task to read from */ + int nPMA, /* Number of PMAs to read */ + i64 *piOffset, /* IN/OUT: Readr offset in pTask->file */ + MergeEngine **ppOut /* OUT: New merge-engine */ +){ + MergeEngine *pNew; /* Merge engine to return */ + i64 iOff = *piOffset; + int i; + int rc = SQLITE_OK; + + *ppOut = pNew = vdbeMergeEngineNew(nPMA); + if( pNew==0 ) rc = SQLITE_NOMEM; + + for(i=0; i<nPMA && rc==SQLITE_OK; i++){ + i64 nDummy; + PmaReader *pReadr = &pNew->aReadr[i]; + rc = vdbePmaReaderInit(pTask, &pTask->file, iOff, pReadr, &nDummy); + iOff = pReadr->iEof; + } + + if( rc!=SQLITE_OK ){ + vdbeMergeEngineFree(pNew); + *ppOut = 0; + } + *piOffset = iOff; + return rc; +} + +/* +** Return the depth of a tree comprising nPMA PMAs, assuming a fanout of +** SORTER_MAX_MERGE_COUNT. The returned value does not include leaf nodes. +** +** i.e. +** +** nPMA<=16 -> TreeDepth() == 0 +** nPMA<=256 -> TreeDepth() == 1 +** nPMA<=65536 -> TreeDepth() == 2 +*/ +static int vdbeSorterTreeDepth(int nPMA){ + int nDepth = 0; + i64 nDiv = SORTER_MAX_MERGE_COUNT; + while( nDiv < (i64)nPMA ){ + nDiv = nDiv * SORTER_MAX_MERGE_COUNT; + nDepth++; + } + return nDepth; +} + +/* +** pRoot is the root of an incremental merge-tree with depth nDepth (according +** to vdbeSorterTreeDepth()). pLeaf is the iSeq'th leaf to be added to the +** tree, counting from zero. This function adds pLeaf to the tree. +** +** If successful, SQLITE_OK is returned. If an error occurs, an SQLite error +** code is returned and pLeaf is freed. +*/ +static int vdbeSorterAddToTree( + SortSubtask *pTask, /* Task context */ + int nDepth, /* Depth of tree according to TreeDepth() */ + int iSeq, /* Sequence number of leaf within tree */ + MergeEngine *pRoot, /* Root of tree */ + MergeEngine *pLeaf /* Leaf to add to tree */ +){ + int rc = SQLITE_OK; + int nDiv = 1; + int i; + MergeEngine *p = pRoot; + IncrMerger *pIncr; + + rc = vdbeIncrMergerNew(pTask, pLeaf, &pIncr); + + for(i=1; i<nDepth; i++){ + nDiv = nDiv * SORTER_MAX_MERGE_COUNT; + } + + for(i=1; i<nDepth && rc==SQLITE_OK; i++){ + int iIter = (iSeq / nDiv) % SORTER_MAX_MERGE_COUNT; + PmaReader *pReadr = &p->aReadr[iIter]; + + if( pReadr->pIncr==0 ){ + MergeEngine *pNew = vdbeMergeEngineNew(SORTER_MAX_MERGE_COUNT); + if( pNew==0 ){ + rc = SQLITE_NOMEM; + }else{ + rc = vdbeIncrMergerNew(pTask, pNew, &pReadr->pIncr); } + } + if( rc==SQLITE_OK ){ + p = pReadr->pIncr->pMerger; + nDiv = nDiv / SORTER_MAX_MERGE_COUNT; + } + } + + if( rc==SQLITE_OK ){ + p->aReadr[iSeq % SORTER_MAX_MERGE_COUNT].pIncr = pIncr; + }else{ + vdbeIncrFree(pIncr); + } + return rc; +} + +/* +** This function is called as part of a SorterRewind() operation on a sorter +** that has already written two or more level-0 PMAs to one or more temp +** files. It builds a tree of MergeEngine/IncrMerger/PmaReader objects that +** can be used to incrementally merge all PMAs on disk. +** +** If successful, SQLITE_OK is returned and *ppOut set to point to the +** MergeEngine object at the root of the tree before returning. Or, if an +** error occurs, an SQLite error code is returned and the final value +** of *ppOut is undefined. +*/ +static int vdbeSorterMergeTreeBuild( + VdbeSorter *pSorter, /* The VDBE cursor that implements the sort */ + MergeEngine **ppOut /* Write the MergeEngine here */ +){ + MergeEngine *pMain = 0; + int rc = SQLITE_OK; + int iTask; + +#if SQLITE_MAX_WORKER_THREADS>0 + /* If the sorter uses more than one task, then create the top-level + ** MergeEngine here. This MergeEngine will read data from exactly + ** one PmaReader per sub-task. */ + assert( pSorter->bUseThreads || pSorter->nTask==1 ); + if( pSorter->nTask>1 ){ + pMain = vdbeMergeEngineNew(pSorter->nTask); + if( pMain==0 ) rc = SQLITE_NOMEM; + } +#endif - /* Open the second temp file, if it is not already open. */ - if( pTemp2==0 ){ - assert( iWrite2==0 ); - rc = vdbeSorterOpenTempFile(db, &pTemp2); + for(iTask=0; rc==SQLITE_OK && iTask<pSorter->nTask; iTask++){ + SortSubtask *pTask = &pSorter->aTask[iTask]; + assert( pTask->nPMA>0 || SQLITE_MAX_WORKER_THREADS>0 ); + if( SQLITE_MAX_WORKER_THREADS==0 || pTask->nPMA ){ + MergeEngine *pRoot = 0; /* Root node of tree for this task */ + int nDepth = vdbeSorterTreeDepth(pTask->nPMA); + i64 iReadOff = 0; + + if( pTask->nPMA<=SORTER_MAX_MERGE_COUNT ){ + rc = vdbeMergeEngineLevel0(pTask, pTask->nPMA, &iReadOff, &pRoot); + }else{ + int i; + int iSeq = 0; + pRoot = vdbeMergeEngineNew(SORTER_MAX_MERGE_COUNT); + if( pRoot==0 ) rc = SQLITE_NOMEM; + for(i=0; i<pTask->nPMA && rc==SQLITE_OK; i += SORTER_MAX_MERGE_COUNT){ + MergeEngine *pMerger = 0; /* New level-0 PMA merger */ + int nReader; /* Number of level-0 PMAs to merge */ + + nReader = MIN(pTask->nPMA - i, SORTER_MAX_MERGE_COUNT); + rc = vdbeMergeEngineLevel0(pTask, nReader, &iReadOff, &pMerger); + if( rc==SQLITE_OK ){ + rc = vdbeSorterAddToTree(pTask, nDepth, iSeq++, pRoot, pMerger); + } + } } if( rc==SQLITE_OK ){ - int bEof = 0; - fileWriterInit(db, pTemp2, &writer, iWrite2); - fileWriterWriteVarint(&writer, nWrite); - while( rc==SQLITE_OK && bEof==0 ){ - VdbeSorterIter *pIter = &pSorter->aIter[ pSorter->aTree[1] ]; - assert( pIter->pFile ); +#if SQLITE_MAX_WORKER_THREADS>0 + if( pMain!=0 ){ + rc = vdbeIncrMergerNew(pTask, pRoot, &pMain->aReadr[iTask].pIncr); + }else +#endif + { + assert( pMain==0 ); + pMain = pRoot; + } + }else{ + vdbeMergeEngineFree(pRoot); + } + } + } + + if( rc!=SQLITE_OK ){ + vdbeMergeEngineFree(pMain); + pMain = 0; + } + *ppOut = pMain; + return rc; +} - fileWriterWriteVarint(&writer, pIter->nKey); - fileWriterWrite(&writer, pIter->aKey, pIter->nKey); - rc = sqlite3VdbeSorterNext(db, pCsr, &bEof); +/* +** This function is called as part of an sqlite3VdbeSorterRewind() operation +** on a sorter that has written two or more PMAs to temporary files. It sets +** up either VdbeSorter.pMerger (for single threaded sorters) or pReader +** (for multi-threaded sorters) so that it can be used to iterate through +** all records stored in the sorter. +** +** SQLITE_OK is returned if successful, or an SQLite error code otherwise. +*/ +static int vdbeSorterSetupMerge(VdbeSorter *pSorter){ + int rc; /* Return code */ + SortSubtask *pTask0 = &pSorter->aTask[0]; + MergeEngine *pMain = 0; +#if SQLITE_MAX_WORKER_THREADS + sqlite3 *db = pTask0->pSorter->db; +#endif + + rc = vdbeSorterMergeTreeBuild(pSorter, &pMain); + if( rc==SQLITE_OK ){ +#if SQLITE_MAX_WORKER_THREADS + assert( pSorter->bUseThreads==0 || pSorter->nTask>1 ); + if( pSorter->bUseThreads ){ + int iTask; + PmaReader *pReadr = 0; + SortSubtask *pLast = &pSorter->aTask[pSorter->nTask-1]; + rc = vdbeSortAllocUnpacked(pLast); + if( rc==SQLITE_OK ){ + pReadr = (PmaReader*)sqlite3DbMallocZero(db, sizeof(PmaReader)); + pSorter->pReader = pReadr; + if( pReadr==0 ) rc = SQLITE_NOMEM; + } + if( rc==SQLITE_OK ){ + rc = vdbeIncrMergerNew(pLast, pMain, &pReadr->pIncr); + if( rc==SQLITE_OK ){ + vdbeIncrMergerSetThreads(pReadr->pIncr); + for(iTask=0; iTask<(pSorter->nTask-1); iTask++){ + IncrMerger *pIncr; + if( (pIncr = pMain->aReadr[iTask].pIncr) ){ + vdbeIncrMergerSetThreads(pIncr); + assert( pIncr->pTask!=pLast ); + } + } + for(iTask=0; rc==SQLITE_OK && iTask<pSorter->nTask; iTask++){ + PmaReader *p = &pMain->aReadr[iTask]; + assert( p->pIncr==0 || p->pIncr->pTask==&pSorter->aTask[iTask] ); + if( p->pIncr ){ + if( iTask==pSorter->nTask-1 ){ + rc = vdbePmaReaderIncrMergeInit(p, INCRINIT_TASK); + }else{ + rc = vdbePmaReaderBgIncrInit(p); + } + } + } } - rc2 = fileWriterFinish(db, &writer, &iWrite2); - if( rc==SQLITE_OK ) rc = rc2; + pMain = 0; + } + if( rc==SQLITE_OK ){ + rc = vdbePmaReaderIncrMergeInit(pReadr, INCRINIT_ROOT); } + }else +#endif + { + rc = vdbeMergeEngineInit(pTask0, pMain, INCRINIT_NORMAL); + pSorter->pMerger = pMain; + pMain = 0; } + } - if( pSorter->nPMA<=SORTER_MAX_MERGE_COUNT ){ - break; + if( rc!=SQLITE_OK ){ + vdbeMergeEngineFree(pMain); + } + return rc; +} + + +/* +** Once the sorter has been populated by calls to sqlite3VdbeSorterWrite, +** this function is called to prepare for iterating through the records +** in sorted order. +*/ +SQLITE_PRIVATE int sqlite3VdbeSorterRewind(const VdbeCursor *pCsr, int *pbEof){ + VdbeSorter *pSorter = pCsr->pSorter; + int rc = SQLITE_OK; /* Return code */ + + assert( pSorter ); + + /* If no data has been written to disk, then do not do so now. Instead, + ** sort the VdbeSorter.pRecord list. The vdbe layer will read data directly + ** from the in-memory list. */ + if( pSorter->bUsePMA==0 ){ + if( pSorter->list.pList ){ + *pbEof = 0; + rc = vdbeSorterSort(&pSorter->aTask[0], &pSorter->list); }else{ - sqlite3_file *pTmp = pSorter->pTemp1; - pSorter->nPMA = iNew; - pSorter->pTemp1 = pTemp2; - pTemp2 = pTmp; - pSorter->iWriteOff = iWrite2; - pSorter->iReadOff = 0; - iWrite2 = 0; + *pbEof = 1; } - }while( rc==SQLITE_OK ); + return rc; + } + + /* Write the current in-memory list to a PMA. When the VdbeSorterWrite() + ** function flushes the contents of memory to disk, it immediately always + ** creates a new list consisting of a single key immediately afterwards. + ** So the list is never empty at this point. */ + assert( pSorter->list.pList ); + rc = vdbeSorterFlushPMA(pSorter); - if( pTemp2 ){ - sqlite3OsCloseFree(pTemp2); + /* Join all threads */ + rc = vdbeSorterJoinAll(pSorter, rc); + + vdbeSorterRewindDebug("rewind"); + + /* Assuming no errors have occurred, set up a merger structure to + ** incrementally read and merge all remaining PMAs. */ + assert( pSorter->pReader==0 ); + if( rc==SQLITE_OK ){ + rc = vdbeSorterSetupMerge(pSorter); + *pbEof = 0; } - *pbEof = (pSorter->aIter[pSorter->aTree[1]].pFile==0); + + vdbeSorterRewindDebug("rewinddone"); return rc; } @@ -75972,63 +78393,27 @@ SQLITE_PRIVATE int sqlite3VdbeSorterNext(sqlite3 *db, const VdbeCursor *pCsr, in VdbeSorter *pSorter = pCsr->pSorter; int rc; /* Return code */ - if( pSorter->aTree ){ - int iPrev = pSorter->aTree[1];/* Index of iterator to advance */ - rc = vdbeSorterIterNext(db, &pSorter->aIter[iPrev]); - if( rc==SQLITE_OK ){ - int i; /* Index of aTree[] to recalculate */ - VdbeSorterIter *pIter1; /* First iterator to compare */ - VdbeSorterIter *pIter2; /* Second iterator to compare */ - u8 *pKey2; /* To pIter2->aKey, or 0 if record cached */ - - /* Find the first two iterators to compare. The one that was just - ** advanced (iPrev) and the one next to it in the array. */ - pIter1 = &pSorter->aIter[(iPrev & 0xFFFE)]; - pIter2 = &pSorter->aIter[(iPrev | 0x0001)]; - pKey2 = pIter2->aKey; - - for(i=(pSorter->nTree+iPrev)/2; i>0; i=i/2){ - /* Compare pIter1 and pIter2. Store the result in variable iRes. */ - int iRes; - if( pIter1->pFile==0 ){ - iRes = +1; - }else if( pIter2->pFile==0 ){ - iRes = -1; - }else{ - vdbeSorterCompare(pCsr, 0, - pIter1->aKey, pIter1->nKey, pKey2, pIter2->nKey, &iRes - ); - } - - /* If pIter1 contained the smaller value, set aTree[i] to its index. - ** Then set pIter2 to the next iterator to compare to pIter1. In this - ** case there is no cache of pIter2 in pSorter->pUnpacked, so set - ** pKey2 to point to the record belonging to pIter2. - ** - ** Alternatively, if pIter2 contains the smaller of the two values, - ** set aTree[i] to its index and update pIter1. If vdbeSorterCompare() - ** was actually called above, then pSorter->pUnpacked now contains - ** a value equivalent to pIter2. So set pKey2 to NULL to prevent - ** vdbeSorterCompare() from decoding pIter2 again. */ - if( iRes<=0 ){ - pSorter->aTree[i] = (int)(pIter1 - pSorter->aIter); - pIter2 = &pSorter->aIter[ pSorter->aTree[i ^ 0x0001] ]; - pKey2 = pIter2->aKey; - }else{ - if( pIter1->pFile ) pKey2 = 0; - pSorter->aTree[i] = (int)(pIter2 - pSorter->aIter); - pIter1 = &pSorter->aIter[ pSorter->aTree[i ^ 0x0001] ]; - } - - } - *pbEof = (pSorter->aIter[pSorter->aTree[1]].pFile==0); + assert( pSorter->bUsePMA || (pSorter->pReader==0 && pSorter->pMerger==0) ); + if( pSorter->bUsePMA ){ + assert( pSorter->pReader==0 || pSorter->pMerger==0 ); + assert( pSorter->bUseThreads==0 || pSorter->pReader ); + assert( pSorter->bUseThreads==1 || pSorter->pMerger ); +#if SQLITE_MAX_WORKER_THREADS>0 + if( pSorter->bUseThreads ){ + rc = vdbePmaReaderNext(pSorter->pReader); + *pbEof = (pSorter->pReader->pFd==0); + }else +#endif + /*if( !pSorter->bUseThreads )*/ { + assert( pSorter->pMerger->pTask==(&pSorter->aTask[0]) ); + rc = vdbeMergeEngineStep(pSorter->pMerger, pbEof); } }else{ - SorterRecord *pFree = pSorter->pRecord; - pSorter->pRecord = pFree->pNext; - pFree->pNext = 0; - vdbeSorterRecordFree(db, pFree); - *pbEof = !pSorter->pRecord; + SorterRecord *pFree = pSorter->list.pList; + pSorter->list.pList = pFree->u.pNext; + pFree->u.pNext = 0; + if( pSorter->list.aMemory==0 ) vdbeSorterRecordFree(db, pFree); + *pbEof = !pSorter->list.pList; rc = SQLITE_OK; } return rc; @@ -76043,14 +78428,21 @@ static void *vdbeSorterRowkey( int *pnKey /* OUT: Size of current key in bytes */ ){ void *pKey; - if( pSorter->aTree ){ - VdbeSorterIter *pIter; - pIter = &pSorter->aIter[ pSorter->aTree[1] ]; - *pnKey = pIter->nKey; - pKey = pIter->aKey; + if( pSorter->bUsePMA ){ + PmaReader *pReader; +#if SQLITE_MAX_WORKER_THREADS>0 + if( pSorter->bUseThreads ){ + pReader = pSorter->pReader; + }else +#endif + /*if( !pSorter->bUseThreads )*/{ + pReader = &pSorter->pMerger->aReadr[pSorter->pMerger->aTree[1]]; + } + *pnKey = pReader->nKey; + pKey = pReader->aKey; }else{ - *pnKey = pSorter->pRecord->nVal; - pKey = pSorter->pRecord->pVal; + *pnKey = pSorter->list.pList->nVal; + pKey = SRVAL(pSorter->list.pList); } return pKey; } @@ -76063,7 +78455,7 @@ SQLITE_PRIVATE int sqlite3VdbeSorterRowkey(const VdbeCursor *pCsr, Mem *pOut){ void *pKey; int nKey; /* Sorter key to copy into pOut */ pKey = vdbeSorterRowkey(pSorter, &nKey); - if( sqlite3VdbeMemGrow(pOut, nKey, 0) ){ + if( sqlite3VdbeMemClearAndResize(pOut, nKey) ){ return SQLITE_NOMEM; } pOut->n = nKey; @@ -76078,22 +78470,48 @@ SQLITE_PRIVATE int sqlite3VdbeSorterRowkey(const VdbeCursor *pCsr, Mem *pOut){ ** passed as the first argument currently points to. For the purposes of ** the comparison, ignore the rowid field at the end of each record. ** +** If the sorter cursor key contains any NULL values, consider it to be +** less than pVal. Even if pVal also contains NULL values. +** ** If an error occurs, return an SQLite error code (i.e. SQLITE_NOMEM). ** Otherwise, set *pRes to a negative, zero or positive value if the ** key in pVal is smaller than, equal to or larger than the current sorter ** key. +** +** This routine forms the core of the OP_SorterCompare opcode, which in +** turn is used to verify uniqueness when constructing a UNIQUE INDEX. */ SQLITE_PRIVATE int sqlite3VdbeSorterCompare( const VdbeCursor *pCsr, /* Sorter cursor */ Mem *pVal, /* Value to compare to current sorter key */ - int nKeyCol, /* Only compare this many fields */ + int nKeyCol, /* Compare this many columns */ int *pRes /* OUT: Result of comparison */ ){ VdbeSorter *pSorter = pCsr->pSorter; + UnpackedRecord *r2 = pSorter->pUnpacked; + KeyInfo *pKeyInfo = pCsr->pKeyInfo; + int i; void *pKey; int nKey; /* Sorter key to compare pVal with */ + if( r2==0 ){ + char *p; + r2 = pSorter->pUnpacked = sqlite3VdbeAllocUnpackedRecord(pKeyInfo,0,0,&p); + assert( pSorter->pUnpacked==(UnpackedRecord*)p ); + if( r2==0 ) return SQLITE_NOMEM; + r2->nField = nKeyCol; + } + assert( r2->nField==nKeyCol ); + pKey = vdbeSorterRowkey(pSorter, &nKey); - vdbeSorterCompare(pCsr, nKeyCol, pVal->z, pVal->n, pKey, nKey, pRes); + sqlite3VdbeRecordUnpack(pKeyInfo, nKey, pKey, r2); + for(i=0; i<nKeyCol; i++){ + if( r2->aMem[i].flags & MEM_Null ){ + *pRes = -1; + return SQLITE_OK; + } + } + + *pRes = sqlite3VdbeRecordCompare(pVal->n, pVal->z, r2); return SQLITE_OK; } @@ -76384,7 +78802,7 @@ typedef struct FileChunk FileChunk; ** ** The size chosen is a little less than a power of two. That way, ** the FileChunk object will have a size that almost exactly fills -** a power-of-two allocation. This mimimizes wasted space in power-of-two +** a power-of-two allocation. This minimizes wasted space in power-of-two ** memory allocators. */ #define JOURNAL_CHUNKSIZE ((int)(1024-sizeof(FileChunk*))) @@ -76634,7 +79052,7 @@ SQLITE_PRIVATE int sqlite3MemJournalSize(void){ /* ** Walk an expression tree. Invoke the callback once for each node -** of the expression, while decending. (In other words, the callback +** of the expression, while descending. (In other words, the callback ** is invoked before visiting children.) ** ** The return value from the callback should be one of the WRC_* @@ -77091,6 +79509,10 @@ static int lookupName( if( pMatch ){ pExpr->iTable = pMatch->iCursor; pExpr->pTab = pMatch->pTab; + assert( (pMatch->jointype & JT_RIGHT)==0 ); /* RIGHT JOIN not (yet) supported */ + if( (pMatch->jointype & JT_LEFT)!=0 ){ + ExprSetProperty(pExpr, EP_CanBeNull); + } pSchema = pExpr->pTab->pSchema; } } /* if( pSrcList ) */ @@ -77490,9 +79912,7 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){ pExpr->iTable = pDef->zName[0]=='u' ? 62 : 938; } } - } #ifndef SQLITE_OMIT_AUTHORIZATION - if( pDef ){ auth = sqlite3AuthCheck(pParse, SQLITE_FUNCTION, 0, pDef->zName, 0); if( auth!=SQLITE_OK ){ if( auth==SQLITE_DENY ){ @@ -77503,9 +79923,9 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){ pExpr->op = TK_NULL; return WRC_Prune; } +#endif if( pDef->funcFlags & SQLITE_FUNC_CONSTANT ) ExprSetProperty(pExpr,EP_Constant); } -#endif if( is_agg && (pNC->ncFlags & NC_AllowAgg)==0 ){ sqlite3ErrorMsg(pParse, "misuse of aggregate function %.*s()", nId,zId); pNC->nErr++; @@ -77528,7 +79948,13 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){ pExpr->op2++; pNC2 = pNC2->pNext; } - if( pNC2 ) pNC2->ncFlags |= NC_HasAgg; + assert( pDef!=0 ); + if( pNC2 ){ + assert( SQLITE_FUNC_MINMAX==NC_MinMaxAgg ); + testcase( (pDef->funcFlags & SQLITE_FUNC_MINMAX)!=0 ); + pNC2->ncFlags |= NC_HasAgg | (pDef->funcFlags & SQLITE_FUNC_MINMAX); + + } pNC->ncFlags |= NC_AllowAgg; } /* FIX ME: Compute pExpr->affinity based on the expected return @@ -77889,7 +80315,7 @@ static int resolveOrderGroupBy( } /* -** Resolve names in the SELECT statement p and all of its descendents. +** Resolve names in the SELECT statement p and all of its descendants. */ static int resolveSelectStep(Walker *pWalker, Select *p){ NameContext *pOuterNC; /* Context that contains this SELECT */ @@ -77993,7 +80419,8 @@ static int resolveSelectStep(Walker *pWalker, Select *p){ assert( (p->selFlags & SF_Aggregate)==0 ); pGroupBy = p->pGroupBy; if( pGroupBy || (sNC.ncFlags & NC_HasAgg)!=0 ){ - p->selFlags |= SF_Aggregate; + assert( NC_MinMaxAgg==SF_MinMaxAgg ); + p->selFlags |= SF_Aggregate | (sNC.ncFlags&NC_MinMaxAgg); }else{ sNC.ncFlags &= ~NC_AllowAgg; } @@ -78121,7 +80548,7 @@ SQLITE_PRIVATE int sqlite3ResolveExprNames( NameContext *pNC, /* Namespace to resolve expressions in. */ Expr *pExpr /* The expression to be analyzed. */ ){ - u8 savedHasAgg; + u16 savedHasAgg; Walker w; if( pExpr==0 ) return 0; @@ -78134,8 +80561,8 @@ SQLITE_PRIVATE int sqlite3ResolveExprNames( pParse->nHeight += pExpr->nHeight; } #endif - savedHasAgg = pNC->ncFlags & NC_HasAgg; - pNC->ncFlags &= ~NC_HasAgg; + savedHasAgg = pNC->ncFlags & (NC_HasAgg|NC_MinMaxAgg); + pNC->ncFlags &= ~(NC_HasAgg|NC_MinMaxAgg); memset(&w, 0, sizeof(w)); w.xExprCallback = resolveExprStep; w.xSelectCallback = resolveSelectStep; @@ -78150,9 +80577,8 @@ SQLITE_PRIVATE int sqlite3ResolveExprNames( } if( pNC->ncFlags & NC_HasAgg ){ ExprSetProperty(pExpr, EP_Agg); - }else if( savedHasAgg ){ - pNC->ncFlags |= NC_HasAgg; } + pNC->ncFlags |= savedHasAgg; return ExprHasProperty(pExpr, EP_Error); } @@ -78252,7 +80678,7 @@ SQLITE_PRIVATE void sqlite3ResolveSelfReference( ** affinity of that column is returned. Otherwise, 0x00 is returned, ** indicating no affinity for the expression. ** -** i.e. the WHERE clause expresssions in the following statements all +** i.e. the WHERE clause expressions in the following statements all ** have an affinity: ** ** CREATE TABLE t1(a); @@ -78731,7 +81157,7 @@ SQLITE_PRIVATE void sqlite3ExprAttachSubtrees( } /* -** Allocate a Expr node which joins as many as two subtrees. +** Allocate an Expr node which joins as many as two subtrees. ** ** One or both of the subtrees can be NULL. Return a pointer to the new ** Expr node. Or, if an OOM error occurs, set pParse->db->mallocFailed, @@ -78841,7 +81267,7 @@ SQLITE_PRIVATE Expr *sqlite3ExprFunction(Parse *pParse, ExprList *pList, Token * ** ** Wildcards of the form ":aaa", "@aaa", or "$aaa" are assigned the same number ** as the previous instance of the same wildcard. Or if this is the first -** instance of the wildcard, the next sequenial variable number is +** instance of the wildcard, the next sequential variable number is ** assigned. */ SQLITE_PRIVATE void sqlite3ExprAssignVarNumber(Parse *pParse, Expr *pExpr){ @@ -78976,7 +81402,7 @@ static int exprStructSize(Expr *p){ ** During expression analysis, extra information is computed and moved into ** later parts of teh Expr object and that extra information might get chopped ** off if the expression is reduced. Note also that it does not work to -** make a EXPRDUP_REDUCE copy of a reduced expression. It is only legal +** make an EXPRDUP_REDUCE copy of a reduced expression. It is only legal ** to reduce a pristine expression tree from the parser. The implementation ** of dupedExprStructSize() contain multiple assert() statements that attempt ** to enforce this constraint. @@ -79045,7 +81471,7 @@ static int dupedExprSize(Expr *p, int flags){ ** is not NULL then *pzBuffer is assumed to point to a buffer large enough ** to store the copy of expression p, the copies of p->u.zToken ** (if applicable), and the copies of the p->pLeft and p->pRight expressions, -** if any. Before returning, *pzBuffer is set to the first byte passed the +** if any. Before returning, *pzBuffer is set to the first byte past the ** portion of the buffer copied into by this function. */ static Expr *exprDup(sqlite3 *db, Expr *p, int flags, u8 **pzBuffer){ @@ -79299,6 +81725,7 @@ SQLITE_PRIVATE Select *sqlite3SelectDup(sqlite3 *db, Select *p, int flags){ pNew->addrOpenEphm[1] = -1; pNew->nSelectRow = p->nSelectRow; pNew->pWith = withDup(db, p->pWith); + sqlite3SelectSetName(pNew, p->zSelName); return pNew; } #else @@ -79441,32 +81868,40 @@ SQLITE_PRIVATE void sqlite3ExprListDelete(sqlite3 *db, ExprList *pList){ /* ** These routines are Walker callbacks. Walker.u.pi is a pointer ** to an integer. These routines are checking an expression to see -** if it is a constant. Set *Walker.u.pi to 0 if the expression is +** if it is a constant. Set *Walker.u.i to 0 if the expression is ** not constant. ** ** These callback routines are used to implement the following: ** -** sqlite3ExprIsConstant() -** sqlite3ExprIsConstantNotJoin() -** sqlite3ExprIsConstantOrFunction() +** sqlite3ExprIsConstant() pWalker->u.i==1 +** sqlite3ExprIsConstantNotJoin() pWalker->u.i==2 +** sqlite3ExprIsConstantOrFunction() pWalker->u.i==3 or 4 ** +** The sqlite3ExprIsConstantOrFunction() is used for evaluating expressions +** in a CREATE TABLE statement. The Walker.u.i value is 4 when parsing +** an existing schema and 3 when processing a new statement. A bound +** parameter raises an error for new statements, but is silently converted +** to NULL for existing schemas. This allows sqlite_master tables that +** contain a bound parameter because they were generated by older versions +** of SQLite to be parsed by newer versions of SQLite without raising a +** malformed schema error. */ static int exprNodeIsConstant(Walker *pWalker, Expr *pExpr){ - /* If pWalker->u.i is 3 then any term of the expression that comes from + /* If pWalker->u.i is 2 then any term of the expression that comes from ** the ON or USING clauses of a join disqualifies the expression ** from being considered constant. */ - if( pWalker->u.i==3 && ExprHasProperty(pExpr, EP_FromJoin) ){ + if( pWalker->u.i==2 && ExprHasProperty(pExpr, EP_FromJoin) ){ pWalker->u.i = 0; return WRC_Abort; } switch( pExpr->op ){ /* Consider functions to be constant if all their arguments are constant - ** and either pWalker->u.i==2 or the function as the SQLITE_FUNC_CONST + ** and either pWalker->u.i==3 or 4 or the function as the SQLITE_FUNC_CONST ** flag. */ case TK_FUNCTION: - if( pWalker->u.i==2 || ExprHasProperty(pExpr,EP_Constant) ){ + if( pWalker->u.i>=3 || ExprHasProperty(pExpr,EP_Constant) ){ return WRC_Continue; } /* Fall through */ @@ -79480,6 +81915,19 @@ static int exprNodeIsConstant(Walker *pWalker, Expr *pExpr){ testcase( pExpr->op==TK_AGG_COLUMN ); pWalker->u.i = 0; return WRC_Abort; + case TK_VARIABLE: + if( pWalker->u.i==4 ){ + /* Silently convert bound parameters that appear inside of CREATE + ** statements into a NULL when parsing the CREATE statement text out + ** of the sqlite_master table */ + pExpr->op = TK_NULL; + }else if( pWalker->u.i==3 ){ + /* A bound parameter in a CREATE statement that originates from + ** sqlite3_prepare() causes an error */ + pWalker->u.i = 0; + return WRC_Abort; + } + /* Fall through */ default: testcase( pExpr->op==TK_SELECT ); /* selectNodeIsConstant will disallow */ testcase( pExpr->op==TK_EXISTS ); /* selectNodeIsConstant will disallow */ @@ -79520,7 +81968,7 @@ SQLITE_PRIVATE int sqlite3ExprIsConstant(Expr *p){ ** an ON or USING clause. */ SQLITE_PRIVATE int sqlite3ExprIsConstantNotJoin(Expr *p){ - return exprIsConst(p, 3); + return exprIsConst(p, 2); } /* @@ -79532,8 +81980,9 @@ SQLITE_PRIVATE int sqlite3ExprIsConstantNotJoin(Expr *p){ ** is considered a variable but a single-quoted string (ex: 'abc') is ** a constant. */ -SQLITE_PRIVATE int sqlite3ExprIsConstantOrFunction(Expr *p){ - return exprIsConst(p, 2); +SQLITE_PRIVATE int sqlite3ExprIsConstantOrFunction(Expr *p, u8 isInit){ + assert( isInit==0 || isInit==1 ); + return exprIsConst(p, 3+isInit); } /* @@ -79600,7 +82049,8 @@ SQLITE_PRIVATE int sqlite3ExprCanBeNull(const Expr *p){ return 0; case TK_COLUMN: assert( p->pTab!=0 ); - return p->iColumn>=0 && p->pTab->aCol[p->iColumn].notNull==0; + return ExprHasProperty(p, EP_CanBeNull) || + (p->iColumn>=0 && p->pTab->aCol[p->iColumn].notNull==0); default: return 1; } @@ -79771,7 +82221,7 @@ static int sqlite3InRhsIsConstant(Expr *pIn){ ** ** If the RHS of the IN operator is a list or a more complex subquery, then ** an ephemeral table might need to be generated from the RHS and then -** pX->iTable made to point to the ephermeral table instead of an +** pX->iTable made to point to the ephemeral table instead of an ** existing table. ** ** The inFlags parameter must contain exactly one of the bits @@ -79901,7 +82351,7 @@ SQLITE_PRIVATE int sqlite3FindInIndex(Parse *pParse, Expr *pX, u32 inFlags, int ** and IN_INDEX_NOOP is an allowed reply ** and the RHS of the IN operator is a list, not a subquery ** and the RHS is not contant or has two or fewer terms, - ** then it is not worth creating an ephermeral table to evaluate + ** then it is not worth creating an ephemeral table to evaluate ** the IN operator so return IN_INDEX_NOOP. */ if( eType==0 @@ -80043,7 +82493,6 @@ SQLITE_PRIVATE int sqlite3CodeSubselect( assert( (pExpr->iTable&0x0000FFFF)==pExpr->iTable ); pSelect->iLimit = 0; testcase( pSelect->selFlags & SF_Distinct ); - pSelect->selFlags &= ~SF_Distinct; testcase( pKeyInfo==0 ); /* Caused by OOM in sqlite3KeyInfoAlloc() */ if( sqlite3Select(pParse, pSelect, &dest) ){ sqlite3KeyInfoUnref(pKeyInfo); @@ -80142,6 +82591,7 @@ SQLITE_PRIVATE int sqlite3CodeSubselect( sqlite3SelectDestInit(&dest, 0, ++pParse->nMem); if( pExpr->op==TK_SELECT ){ dest.eDest = SRT_Mem; + dest.iSdst = dest.iSDParm; sqlite3VdbeAddOp2(v, OP_Null, 0, dest.iSDParm); VdbeComment((v, "Init subquery result")); }else{ @@ -80661,16 +83111,9 @@ SQLITE_PRIVATE void sqlite3ExprCacheAffinityChange(Parse *pParse, int iStart, in ** over to iTo..iTo+nReg-1. Keep the column cache up-to-date. */ SQLITE_PRIVATE void sqlite3ExprCodeMove(Parse *pParse, int iFrom, int iTo, int nReg){ - int i; - struct yColCache *p; assert( iFrom>=iTo+nReg || iFrom+nReg<=iTo ); sqlite3VdbeAddOp3(pParse->pVdbe, OP_Move, iFrom, iTo, nReg); - for(i=0, p=pParse->aColCache; i<SQLITE_N_COLCACHE; i++, p++){ - int x = p->iReg; - if( x>=iFrom && x<iFrom+nReg ){ - p->iReg += iTo-iFrom; - } - } + sqlite3ExprCacheRemove(pParse, iFrom, nReg); } #if defined(SQLITE_DEBUG) || defined(SQLITE_COVERAGE_TEST) @@ -80825,26 +83268,13 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) #ifndef SQLITE_OMIT_CAST case TK_CAST: { /* Expressions of the form: CAST(pLeft AS token) */ - int aff, to_op; inReg = sqlite3ExprCodeTarget(pParse, pExpr->pLeft, target); - assert( !ExprHasProperty(pExpr, EP_IntValue) ); - aff = sqlite3AffinityType(pExpr->u.zToken, 0); - to_op = aff - SQLITE_AFF_TEXT + OP_ToText; - assert( to_op==OP_ToText || aff!=SQLITE_AFF_TEXT ); - assert( to_op==OP_ToBlob || aff!=SQLITE_AFF_NONE ); - assert( to_op==OP_ToNumeric || aff!=SQLITE_AFF_NUMERIC ); - assert( to_op==OP_ToInt || aff!=SQLITE_AFF_INTEGER ); - assert( to_op==OP_ToReal || aff!=SQLITE_AFF_REAL ); - testcase( to_op==OP_ToText ); - testcase( to_op==OP_ToBlob ); - testcase( to_op==OP_ToNumeric ); - testcase( to_op==OP_ToInt ); - testcase( to_op==OP_ToReal ); if( inReg!=target ){ sqlite3VdbeAddOp2(v, OP_SCopy, inReg, target); inReg = target; } - sqlite3VdbeAddOp1(v, to_op, inReg); + sqlite3VdbeAddOp2(v, OP_Cast, target, + sqlite3AffinityType(pExpr->u.zToken, 0)); testcase( usedAsColumnCache(pParse, inReg, inReg) ); sqlite3ExprCacheAffinityChange(pParse, inReg, 1); break; @@ -81000,7 +83430,7 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) } /* Attempt a direct implementation of the built-in COALESCE() and - ** IFNULL() functions. This avoids unnecessary evalation of + ** IFNULL() functions. This avoids unnecessary evaluation of ** arguments past the first non-NULL argument. */ if( pDef->funcFlags & SQLITE_FUNC_COALESCE ){ @@ -81439,7 +83869,7 @@ SQLITE_PRIVATE void sqlite3ExprCodeFactorable(Parse *pParse, Expr *pExpr, int ta } /* -** Generate code that evalutes the given expression and puts the result +** Generate code that evaluates the given expression and puts the result ** in register target. ** ** Also make a copy of the expression results into another "cache" register @@ -81462,90 +83892,86 @@ SQLITE_PRIVATE void sqlite3ExprCodeAndCache(Parse *pParse, Expr *pExpr, int targ exprToRegister(pExpr, iMem); } -#if defined(SQLITE_ENABLE_TREE_EXPLAIN) +#ifdef SQLITE_DEBUG /* ** Generate a human-readable explanation of an expression tree. */ -SQLITE_PRIVATE void sqlite3ExplainExpr(Vdbe *pOut, Expr *pExpr){ - int op; /* The opcode being coded */ +SQLITE_PRIVATE void sqlite3TreeViewExpr(TreeView *pView, const Expr *pExpr, u8 moreToFollow){ const char *zBinOp = 0; /* Binary operator */ const char *zUniOp = 0; /* Unary operator */ + pView = sqlite3TreeViewPush(pView, moreToFollow); if( pExpr==0 ){ - op = TK_NULL; - }else{ - op = pExpr->op; + sqlite3TreeViewLine(pView, "nil"); + sqlite3TreeViewPop(pView); + return; } - switch( op ){ + switch( pExpr->op ){ case TK_AGG_COLUMN: { - sqlite3ExplainPrintf(pOut, "AGG{%d:%d}", + sqlite3TreeViewLine(pView, "AGG{%d:%d}", pExpr->iTable, pExpr->iColumn); break; } case TK_COLUMN: { if( pExpr->iTable<0 ){ /* This only happens when coding check constraints */ - sqlite3ExplainPrintf(pOut, "COLUMN(%d)", pExpr->iColumn); + sqlite3TreeViewLine(pView, "COLUMN(%d)", pExpr->iColumn); }else{ - sqlite3ExplainPrintf(pOut, "{%d:%d}", + sqlite3TreeViewLine(pView, "{%d:%d}", pExpr->iTable, pExpr->iColumn); } break; } case TK_INTEGER: { if( pExpr->flags & EP_IntValue ){ - sqlite3ExplainPrintf(pOut, "%d", pExpr->u.iValue); + sqlite3TreeViewLine(pView, "%d", pExpr->u.iValue); }else{ - sqlite3ExplainPrintf(pOut, "%s", pExpr->u.zToken); + sqlite3TreeViewLine(pView, "%s", pExpr->u.zToken); } break; } #ifndef SQLITE_OMIT_FLOATING_POINT case TK_FLOAT: { - sqlite3ExplainPrintf(pOut,"%s", pExpr->u.zToken); + sqlite3TreeViewLine(pView,"%s", pExpr->u.zToken); break; } #endif case TK_STRING: { - sqlite3ExplainPrintf(pOut,"%Q", pExpr->u.zToken); + sqlite3TreeViewLine(pView,"%Q", pExpr->u.zToken); break; } case TK_NULL: { - sqlite3ExplainPrintf(pOut,"NULL"); + sqlite3TreeViewLine(pView,"NULL"); break; } #ifndef SQLITE_OMIT_BLOB_LITERAL case TK_BLOB: { - sqlite3ExplainPrintf(pOut,"%s", pExpr->u.zToken); + sqlite3TreeViewLine(pView,"%s", pExpr->u.zToken); break; } #endif case TK_VARIABLE: { - sqlite3ExplainPrintf(pOut,"VARIABLE(%s,%d)", - pExpr->u.zToken, pExpr->iColumn); + sqlite3TreeViewLine(pView,"VARIABLE(%s,%d)", + pExpr->u.zToken, pExpr->iColumn); break; } case TK_REGISTER: { - sqlite3ExplainPrintf(pOut,"REGISTER(%d)", pExpr->iTable); + sqlite3TreeViewLine(pView,"REGISTER(%d)", pExpr->iTable); break; } case TK_AS: { - sqlite3ExplainExpr(pOut, pExpr->pLeft); + sqlite3TreeViewLine(pView,"AS %Q", pExpr->u.zToken); + sqlite3TreeViewExpr(pView, pExpr->pLeft, 0); + break; + } + case TK_ID: { + sqlite3TreeViewLine(pView,"ID %Q", pExpr->u.zToken); break; } #ifndef SQLITE_OMIT_CAST case TK_CAST: { /* Expressions of the form: CAST(pLeft AS token) */ - const char *zAff = "unk"; - switch( sqlite3AffinityType(pExpr->u.zToken, 0) ){ - case SQLITE_AFF_TEXT: zAff = "TEXT"; break; - case SQLITE_AFF_NONE: zAff = "NONE"; break; - case SQLITE_AFF_NUMERIC: zAff = "NUMERIC"; break; - case SQLITE_AFF_INTEGER: zAff = "INTEGER"; break; - case SQLITE_AFF_REAL: zAff = "REAL"; break; - } - sqlite3ExplainPrintf(pOut, "CAST-%s(", zAff); - sqlite3ExplainExpr(pOut, pExpr->pLeft); - sqlite3ExplainPrintf(pOut, ")"); + sqlite3TreeViewLine(pView,"CAST %Q", pExpr->u.zToken); + sqlite3TreeViewExpr(pView, pExpr->pLeft, 0); break; } #endif /* SQLITE_OMIT_CAST */ @@ -81569,6 +83995,7 @@ SQLITE_PRIVATE void sqlite3ExplainExpr(Vdbe *pOut, Expr *pExpr){ case TK_LSHIFT: zBinOp = "LSHIFT"; break; case TK_RSHIFT: zBinOp = "RSHIFT"; break; case TK_CONCAT: zBinOp = "CONCAT"; break; + case TK_DOT: zBinOp = "DOT"; break; case TK_UMINUS: zUniOp = "UMINUS"; break; case TK_UPLUS: zUniOp = "UPLUS"; break; @@ -81578,8 +84005,8 @@ SQLITE_PRIVATE void sqlite3ExplainExpr(Vdbe *pOut, Expr *pExpr){ case TK_NOTNULL: zUniOp = "NOTNULL"; break; case TK_COLLATE: { - sqlite3ExplainExpr(pOut, pExpr->pLeft); - sqlite3ExplainPrintf(pOut,".COLLATE(%s)",pExpr->u.zToken); + sqlite3TreeViewLine(pView, "COLLATE %Q", pExpr->u.zToken); + sqlite3TreeViewExpr(pView, pExpr->pLeft, 0); break; } @@ -81591,41 +84018,36 @@ SQLITE_PRIVATE void sqlite3ExplainExpr(Vdbe *pOut, Expr *pExpr){ }else{ pFarg = pExpr->x.pList; } - if( op==TK_AGG_FUNCTION ){ - sqlite3ExplainPrintf(pOut, "AGG_FUNCTION%d:%s(", + if( pExpr->op==TK_AGG_FUNCTION ){ + sqlite3TreeViewLine(pView, "AGG_FUNCTION%d %Q", pExpr->op2, pExpr->u.zToken); }else{ - sqlite3ExplainPrintf(pOut, "FUNCTION:%s(", pExpr->u.zToken); + sqlite3TreeViewLine(pView, "FUNCTION %Q", pExpr->u.zToken); } if( pFarg ){ - sqlite3ExplainExprList(pOut, pFarg); + sqlite3TreeViewExprList(pView, pFarg, 0, 0); } - sqlite3ExplainPrintf(pOut, ")"); break; } #ifndef SQLITE_OMIT_SUBQUERY case TK_EXISTS: { - sqlite3ExplainPrintf(pOut, "EXISTS("); - sqlite3ExplainSelect(pOut, pExpr->x.pSelect); - sqlite3ExplainPrintf(pOut,")"); + sqlite3TreeViewLine(pView, "EXISTS-expr"); + sqlite3TreeViewSelect(pView, pExpr->x.pSelect, 0); break; } case TK_SELECT: { - sqlite3ExplainPrintf(pOut, "("); - sqlite3ExplainSelect(pOut, pExpr->x.pSelect); - sqlite3ExplainPrintf(pOut, ")"); + sqlite3TreeViewLine(pView, "SELECT-expr"); + sqlite3TreeViewSelect(pView, pExpr->x.pSelect, 0); break; } case TK_IN: { - sqlite3ExplainPrintf(pOut, "IN("); - sqlite3ExplainExpr(pOut, pExpr->pLeft); - sqlite3ExplainPrintf(pOut, ","); + sqlite3TreeViewLine(pView, "IN"); + sqlite3TreeViewExpr(pView, pExpr->pLeft, 1); if( ExprHasProperty(pExpr, EP_xIsSelect) ){ - sqlite3ExplainSelect(pOut, pExpr->x.pSelect); + sqlite3TreeViewSelect(pView, pExpr->x.pSelect, 0); }else{ - sqlite3ExplainExprList(pOut, pExpr->x.pList); + sqlite3TreeViewExprList(pView, pExpr->x.pList, 0, 0); } - sqlite3ExplainPrintf(pOut, ")"); break; } #endif /* SQLITE_OMIT_SUBQUERY */ @@ -81645,13 +84067,10 @@ SQLITE_PRIVATE void sqlite3ExplainExpr(Vdbe *pOut, Expr *pExpr){ Expr *pX = pExpr->pLeft; Expr *pY = pExpr->x.pList->a[0].pExpr; Expr *pZ = pExpr->x.pList->a[1].pExpr; - sqlite3ExplainPrintf(pOut, "BETWEEN("); - sqlite3ExplainExpr(pOut, pX); - sqlite3ExplainPrintf(pOut, ","); - sqlite3ExplainExpr(pOut, pY); - sqlite3ExplainPrintf(pOut, ","); - sqlite3ExplainExpr(pOut, pZ); - sqlite3ExplainPrintf(pOut, ")"); + sqlite3TreeViewLine(pView, "BETWEEN"); + sqlite3TreeViewExpr(pView, pX, 1); + sqlite3TreeViewExpr(pView, pY, 1); + sqlite3TreeViewExpr(pView, pZ, 0); break; } case TK_TRIGGER: { @@ -81662,15 +84081,14 @@ SQLITE_PRIVATE void sqlite3ExplainExpr(Vdbe *pOut, Expr *pExpr){ ** is set to the column of the pseudo-table to read, or to -1 to ** read the rowid field. */ - sqlite3ExplainPrintf(pOut, "%s(%d)", + sqlite3TreeViewLine(pView, "%s(%d)", pExpr->iTable ? "NEW" : "OLD", pExpr->iColumn); break; } case TK_CASE: { - sqlite3ExplainPrintf(pOut, "CASE("); - sqlite3ExplainExpr(pOut, pExpr->pLeft); - sqlite3ExplainPrintf(pOut, ","); - sqlite3ExplainExprList(pOut, pExpr->x.pList); + sqlite3TreeViewLine(pView, "CASE"); + sqlite3TreeViewExpr(pView, pExpr->pLeft, 1); + sqlite3TreeViewExprList(pView, pExpr->x.pList, 0, 0); break; } #ifndef SQLITE_OMIT_TRIGGER @@ -81682,55 +84100,57 @@ SQLITE_PRIVATE void sqlite3ExplainExpr(Vdbe *pOut, Expr *pExpr){ case OE_Fail: zType = "fail"; break; case OE_Ignore: zType = "ignore"; break; } - sqlite3ExplainPrintf(pOut, "RAISE-%s(%s)", zType, pExpr->u.zToken); + sqlite3TreeViewLine(pView, "RAISE %s(%Q)", zType, pExpr->u.zToken); break; } #endif + default: { + sqlite3TreeViewLine(pView, "op=%d", pExpr->op); + break; + } } if( zBinOp ){ - sqlite3ExplainPrintf(pOut,"%s(", zBinOp); - sqlite3ExplainExpr(pOut, pExpr->pLeft); - sqlite3ExplainPrintf(pOut,","); - sqlite3ExplainExpr(pOut, pExpr->pRight); - sqlite3ExplainPrintf(pOut,")"); + sqlite3TreeViewLine(pView, "%s", zBinOp); + sqlite3TreeViewExpr(pView, pExpr->pLeft, 1); + sqlite3TreeViewExpr(pView, pExpr->pRight, 0); }else if( zUniOp ){ - sqlite3ExplainPrintf(pOut,"%s(", zUniOp); - sqlite3ExplainExpr(pOut, pExpr->pLeft); - sqlite3ExplainPrintf(pOut,")"); + sqlite3TreeViewLine(pView, "%s", zUniOp); + sqlite3TreeViewExpr(pView, pExpr->pLeft, 0); } + sqlite3TreeViewPop(pView); } -#endif /* defined(SQLITE_ENABLE_TREE_EXPLAIN) */ +#endif /* SQLITE_DEBUG */ -#if defined(SQLITE_ENABLE_TREE_EXPLAIN) +#ifdef SQLITE_DEBUG /* ** Generate a human-readable explanation of an expression list. */ -SQLITE_PRIVATE void sqlite3ExplainExprList(Vdbe *pOut, ExprList *pList){ +SQLITE_PRIVATE void sqlite3TreeViewExprList( + TreeView *pView, + const ExprList *pList, + u8 moreToFollow, + const char *zLabel +){ int i; - if( pList==0 || pList->nExpr==0 ){ - sqlite3ExplainPrintf(pOut, "(empty-list)"); - return; - }else if( pList->nExpr==1 ){ - sqlite3ExplainExpr(pOut, pList->a[0].pExpr); + pView = sqlite3TreeViewPush(pView, moreToFollow); + if( zLabel==0 || zLabel[0]==0 ) zLabel = "LIST"; + if( pList==0 ){ + sqlite3TreeViewLine(pView, "%s (empty)", zLabel); }else{ - sqlite3ExplainPush(pOut); + sqlite3TreeViewLine(pView, "%s", zLabel); for(i=0; i<pList->nExpr; i++){ - sqlite3ExplainPrintf(pOut, "item[%d] = ", i); - sqlite3ExplainPush(pOut); - sqlite3ExplainExpr(pOut, pList->a[i].pExpr); - sqlite3ExplainPop(pOut); - if( pList->a[i].zName ){ + sqlite3TreeViewExpr(pView, pList->a[i].pExpr, i<pList->nExpr-1); +#if 0 + if( pList->a[i].zName ){ sqlite3ExplainPrintf(pOut, " AS %s", pList->a[i].zName); } if( pList->a[i].bSpanIsTab ){ sqlite3ExplainPrintf(pOut, " (%s)", pList->a[i].zSpan); } - if( i<pList->nExpr-1 ){ - sqlite3ExplainNL(pOut); - } +#endif } - sqlite3ExplainPop(pOut); } + sqlite3TreeViewPop(pView); } #endif /* SQLITE_DEBUG */ @@ -81794,7 +84214,7 @@ SQLITE_PRIVATE int sqlite3ExprCodeExprList( ** x>=y AND x<=z ** ** Code it as such, taking care to do the common subexpression -** elementation of x. +** elimination of x. */ static void exprCodeBetween( Parse *pParse, /* Parsing and code generating context */ @@ -82531,7 +84951,7 @@ SQLITE_PRIVATE int sqlite3GetTempReg(Parse *pParse){ ** purpose. ** ** If a register is currently being used by the column cache, then -** the dallocation is deferred until the column cache line that uses +** the deallocation is deferred until the column cache line that uses ** the register becomes stale. */ SQLITE_PRIVATE void sqlite3ReleaseTempReg(Parse *pParse, int iReg){ @@ -82758,8 +85178,8 @@ static void renameTriggerFunc( UNUSED_PARAMETER(NotUsed); /* The principle used to locate the table name in the CREATE TRIGGER - ** statement is that the table name is the first token that is immediatedly - ** preceded by either TK_ON or TK_DOT and immediatedly followed by one + ** statement is that the table name is the first token that is immediately + ** preceded by either TK_ON or TK_DOT and immediately followed by one ** of TK_WHEN, TK_BEGIN or TK_FOR. */ if( zSql ){ @@ -83450,7 +85870,7 @@ exit_begin_add_column: ** not possible to enable both STAT3 and STAT4 at the same time. If they ** are both enabled, then STAT4 takes precedence. ** -** For most applications, sqlite_stat1 provides all the statisics required +** For most applications, sqlite_stat1 provides all the statistics required ** for the query planner to make good choices. ** ** Format of sqlite_stat1: @@ -83801,8 +86221,9 @@ static void stat4Destructor(void *pOld){ ** original WITHOUT ROWID table as N==K as a special case. ** ** This routine allocates the Stat4Accum object in heap memory. The return -** value is a pointer to the the Stat4Accum object encoded as a blob (i.e. -** the size of the blob is sizeof(void*) bytes). +** value is a pointer to the Stat4Accum object. The datatype of the +** return value is BLOB, but it is really just a pointer to the Stat4Accum +** object. */ static void statInit( sqlite3_context *context, @@ -83880,8 +86301,11 @@ static void statInit( } #endif - /* Return a pointer to the allocated object to the caller */ - sqlite3_result_blob(context, p, sizeof(p), stat4Destructor); + /* Return a pointer to the allocated object to the caller. Note that + ** only the pointer (the 2nd parameter) matters. The size of the object + ** (given by the 3rd parameter) is never used and can be any positive + ** value. */ + sqlite3_result_blob(context, p, sizeof(*p), stat4Destructor); } static const FuncDef statInitFuncdef = { 2+IsStat34, /* nArg */ @@ -84207,7 +86631,7 @@ static const FuncDef statPushFuncdef = { ** Implementation of the stat_get(P,J) SQL function. This routine is ** used to query statistical information that has been gathered into ** the Stat4Accum object by prior calls to stat_push(). The P parameter -** is a BLOB which is decoded into a pointer to the Stat4Accum objects. +** has type BLOB but it is really just a pointer to the Stat4Accum object. ** The content to returned is determined by the parameter J ** which is one of the STAT_GET_xxxx values defined above. ** @@ -84611,7 +87035,8 @@ static void analyzeOneTable( /* Add the entry to the stat1 table. */ callStatGet(v, regStat4, STAT_GET_STAT1, regStat1); - sqlite3VdbeAddOp4(v, OP_MakeRecord, regTabname, 3, regTemp, "aaa", 0); + assert( "BBB"[0]==SQLITE_AFF_TEXT ); + sqlite3VdbeAddOp4(v, OP_MakeRecord, regTabname, 3, regTemp, "BBB", 0); sqlite3VdbeAddOp2(v, OP_NewRowid, iStatCur, regNewRowid); sqlite3VdbeAddOp3(v, OP_Insert, iStatCur, regTemp, regNewRowid); sqlite3VdbeChangeP5(v, OPFLAG_APPEND); @@ -84674,7 +87099,8 @@ static void analyzeOneTable( sqlite3VdbeAddOp2(v, OP_Count, iTabCur, regStat1); jZeroRows = sqlite3VdbeAddOp1(v, OP_IfNot, regStat1); VdbeCoverage(v); sqlite3VdbeAddOp2(v, OP_Null, 0, regIdxname); - sqlite3VdbeAddOp4(v, OP_MakeRecord, regTabname, 3, regTemp, "aaa", 0); + assert( "BBB"[0]==SQLITE_AFF_TEXT ); + sqlite3VdbeAddOp4(v, OP_MakeRecord, regTabname, 3, regTemp, "BBB", 0); sqlite3VdbeAddOp2(v, OP_NewRowid, iStatCur, regNewRowid); sqlite3VdbeAddOp3(v, OP_Insert, iStatCur, regTemp, regNewRowid); sqlite3VdbeChangeP5(v, OPFLAG_APPEND); @@ -84845,7 +87271,7 @@ static void decodeIntArray( #ifdef SQLITE_ENABLE_STAT3_OR_STAT4 if( z==0 ) z = ""; #else - if( NEVER(z==0) ) z = ""; + assert( z!=0 ); #endif for(i=0; *z && i<nOut; i++){ v = 0; @@ -84854,16 +87280,14 @@ static void decodeIntArray( z++; } #ifdef SQLITE_ENABLE_STAT3_OR_STAT4 - if( aOut ){ - aOut[i] = v; - }else + if( aOut ) aOut[i] = v; + if( aLog ) aLog[i] = sqlite3LogEst(v); #else assert( aOut==0 ); UNUSED_PARAMETER(aOut); + assert( aLog!=0 ); + aLog[i] = sqlite3LogEst(v); #endif - { - aLog[i] = sqlite3LogEst(v); - } if( *z==' ' ) z++; } #ifndef SQLITE_ENABLE_STAT3_OR_STAT4 @@ -84924,8 +87348,17 @@ static int analysisLoader(void *pData, int argc, char **argv, char **NotUsed){ z = argv[2]; if( pIndex ){ + int nCol = pIndex->nKeyCol+1; +#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 + tRowcnt * const aiRowEst = pIndex->aiRowEst = (tRowcnt*)sqlite3MallocZero( + sizeof(tRowcnt) * nCol + ); + if( aiRowEst==0 ) pInfo->db->mallocFailed = 1; +#else + tRowcnt * const aiRowEst = 0; +#endif pIndex->bUnordered = 0; - decodeIntArray((char*)z, pIndex->nKeyCol+1, 0, pIndex->aiRowLogEst, pIndex); + decodeIntArray((char*)z, nCol, aiRowEst, pIndex->aiRowLogEst, pIndex); if( pIndex->pPartIdxWhere==0 ) pTable->nRowLogEst = pIndex->aiRowLogEst[0]; }else{ Index fakeIdx; @@ -84984,25 +87417,38 @@ static void initAvgEq(Index *pIdx){ pIdx->aAvgEq[nCol] = 1; } for(iCol=0; iCol<nCol; iCol++){ + int nSample = pIdx->nSample; int i; /* Used to iterate through samples */ tRowcnt sumEq = 0; /* Sum of the nEq values */ - tRowcnt nSum = 0; /* Number of terms contributing to sumEq */ tRowcnt avgEq = 0; - tRowcnt nDLt = pFinal->anDLt[iCol]; + tRowcnt nRow; /* Number of rows in index */ + i64 nSum100 = 0; /* Number of terms contributing to sumEq */ + i64 nDist100; /* Number of distinct values in index */ + + if( !pIdx->aiRowEst || iCol>=pIdx->nKeyCol || pIdx->aiRowEst[iCol+1]==0 ){ + nRow = pFinal->anLt[iCol]; + nDist100 = (i64)100 * pFinal->anDLt[iCol]; + nSample--; + }else{ + nRow = pIdx->aiRowEst[0]; + nDist100 = ((i64)100 * pIdx->aiRowEst[0]) / pIdx->aiRowEst[iCol+1]; + } /* Set nSum to the number of distinct (iCol+1) field prefixes that - ** occur in the stat4 table for this index before pFinal. Set - ** sumEq to the sum of the nEq values for column iCol for the same - ** set (adding the value only once where there exist dupicate - ** prefixes). */ - for(i=0; i<(pIdx->nSample-1); i++){ - if( aSample[i].anDLt[iCol]!=aSample[i+1].anDLt[iCol] ){ + ** occur in the stat4 table for this index. Set sumEq to the sum of + ** the nEq values for column iCol for the same set (adding the value + ** only once where there exist duplicate prefixes). */ + for(i=0; i<nSample; i++){ + if( i==(pIdx->nSample-1) + || aSample[i].anDLt[iCol]!=aSample[i+1].anDLt[iCol] + ){ sumEq += aSample[i].anEq[iCol]; - nSum++; + nSum100 += 100; } } - if( nDLt>nSum ){ - avgEq = (pFinal->anLt[iCol] - sumEq)/(nDLt - nSum); + + if( nDist100>nSum100 ){ + avgEq = ((i64)100 * (nRow - sumEq))/(nDist100 - nSum100); } if( avgEq==0 ) avgEq = 1; pIdx->aAvgEq[iCol] = avgEq; @@ -85254,6 +87700,11 @@ SQLITE_PRIVATE int sqlite3AnalysisLoad(sqlite3 *db, int iDb){ rc = loadStat4(db, sInfo.zDatabase); db->lookaside.bEnabled = lookasideEnabled; } + for(i=sqliteHashFirst(&db->aDb[iDb].pSchema->idxHash);i;i=sqliteHashNext(i)){ + Index *pIdx = sqliteHashData(i); + sqlite3_free(pIdx->aiRowEst); + pIdx->aiRowEst = 0; + } #endif if( rc==SQLITE_NOMEM ){ @@ -85475,6 +87926,15 @@ static void attachFunc( rc = sqlite3Init(db, &zErrDyn); sqlite3BtreeLeaveAll(db); } +#ifdef SQLITE_USER_AUTHENTICATION + if( rc==SQLITE_OK ){ + u8 newAuth = 0; + rc = sqlite3UserAuthCheckLogin(db, zName, &newAuth); + if( newAuth<db->auth.authLevel ){ + rc = SQLITE_AUTH_USER; + } + } +#endif if( rc ){ int iDb = db->nDb - 1; assert( iDb>=2 ); @@ -85917,7 +88377,7 @@ SQLITE_API int sqlite3_set_authorizer( void *pArg ){ sqlite3_mutex_enter(db->mutex); - db->xAuth = xAuth; + db->xAuth = (sqlite3_xauth)xAuth; db->pAuthArg = pArg; sqlite3ExpirePreparedStatements(db); sqlite3_mutex_leave(db->mutex); @@ -85952,7 +88412,11 @@ SQLITE_PRIVATE int sqlite3AuthReadCol( char *zDb = db->aDb[iDb].zName; /* Name of attached database */ int rc; /* Auth callback return code */ - rc = db->xAuth(db->pAuthArg, SQLITE_READ, zTab,zCol,zDb,pParse->zAuthContext); + rc = db->xAuth(db->pAuthArg, SQLITE_READ, zTab,zCol,zDb,pParse->zAuthContext +#ifdef SQLITE_USER_AUTHENTICATION + ,db->auth.zAuthUser +#endif + ); if( rc==SQLITE_DENY ){ if( db->nDb>2 || iDb!=0 ){ sqlite3ErrorMsg(pParse, "access to %s.%s.%s is prohibited",zDb,zTab,zCol); @@ -86052,7 +88516,11 @@ SQLITE_PRIVATE int sqlite3AuthCheck( if( db->xAuth==0 ){ return SQLITE_OK; } - rc = db->xAuth(db->pAuthArg, code, zArg1, zArg2, zArg3, pParse->zAuthContext); + rc = db->xAuth(db->pAuthArg, code, zArg1, zArg2, zArg3, pParse->zAuthContext +#ifdef SQLITE_USER_AUTHENTICATION + ,db->auth.zAuthUser +#endif + ); if( rc==SQLITE_DENY ){ sqlite3ErrorMsg(pParse, "not authorized"); pParse->rc = SQLITE_AUTH; @@ -86251,6 +88719,17 @@ SQLITE_PRIVATE void sqlite3FinishCoding(Parse *pParse){ while( sqlite3VdbeDeletePriorOpcode(v, OP_Close) ){} sqlite3VdbeAddOp0(v, OP_Halt); +#if SQLITE_USER_AUTHENTICATION + if( pParse->nTableLock>0 && db->init.busy==0 ){ + sqlite3UserAuthInit(db); + if( db->auth.authLevel<UAUTH_User ){ + pParse->rc = SQLITE_AUTH_USER; + sqlite3ErrorMsg(pParse, "user not authenticated"); + return; + } + } +#endif + /* The cookie mask contains one bit for each database file open. ** (Bit 0 is for main, bit 1 is for temp, and so forth.) Bits are ** set for each database that is used. Generate code to start a @@ -86366,6 +88845,16 @@ SQLITE_PRIVATE void sqlite3NestedParse(Parse *pParse, const char *zFormat, ...){ pParse->nested--; } +#if SQLITE_USER_AUTHENTICATION +/* +** Return TRUE if zTable is the name of the system table that stores the +** list of users and their access credentials. +*/ +SQLITE_PRIVATE int sqlite3UserAuthTable(const char *zTable){ + return sqlite3_stricmp(zTable, "sqlite_user")==0; +} +#endif + /* ** Locate the in-memory structure that describes a particular database ** table given the name of that table and (optionally) the name of the @@ -86381,16 +88870,21 @@ SQLITE_PRIVATE void sqlite3NestedParse(Parse *pParse, const char *zFormat, ...){ SQLITE_PRIVATE Table *sqlite3FindTable(sqlite3 *db, const char *zName, const char *zDatabase){ Table *p = 0; int i; - int nName; assert( zName!=0 ); - nName = sqlite3Strlen30(zName); /* All mutexes are required for schema access. Make sure we hold them. */ assert( zDatabase!=0 || sqlite3BtreeHoldsAllMutexes(db) ); +#if SQLITE_USER_AUTHENTICATION + /* Only the admin user is allowed to know that the sqlite_user table + ** exists */ + if( db->auth.authLevel<UAUTH_Admin && sqlite3UserAuthTable(zName)!=0 ){ + return 0; + } +#endif for(i=OMIT_TEMPDB; i<db->nDb; i++){ int j = (i<2) ? i^1 : i; /* Search TEMP before MAIN */ if( zDatabase!=0 && sqlite3StrICmp(zDatabase, db->aDb[j].zName) ) continue; assert( sqlite3SchemaMutexHeld(db, j, 0) ); - p = sqlite3HashFind(&db->aDb[j].pSchema->tblHash, zName, nName); + p = sqlite3HashFind(&db->aDb[j].pSchema->tblHash, zName); if( p ) break; } return p; @@ -86430,6 +88924,12 @@ SQLITE_PRIVATE Table *sqlite3LocateTable( } pParse->checkSchema = 1; } +#if SQLITE_USER_AUTHENICATION + else if( pParse->db->auth.authLevel<UAUTH_User ){ + sqlite3ErrorMsg(pParse, "user not authenticated"); + p = 0; + } +#endif return p; } @@ -86473,7 +88973,6 @@ SQLITE_PRIVATE Table *sqlite3LocateTableItem( SQLITE_PRIVATE Index *sqlite3FindIndex(sqlite3 *db, const char *zName, const char *zDb){ Index *p = 0; int i; - int nName = sqlite3Strlen30(zName); /* All mutexes are required for schema access. Make sure we hold them. */ assert( zDb!=0 || sqlite3BtreeHoldsAllMutexes(db) ); for(i=OMIT_TEMPDB; i<db->nDb; i++){ @@ -86482,7 +88981,7 @@ SQLITE_PRIVATE Index *sqlite3FindIndex(sqlite3 *db, const char *zName, const cha assert( pSchema ); if( zDb && sqlite3StrICmp(zDb, db->aDb[j].zName) ) continue; assert( sqlite3SchemaMutexHeld(db, j, 0) ); - p = sqlite3HashFind(&pSchema->idxHash, zName, nName); + p = sqlite3HashFind(&pSchema->idxHash, zName); if( p ) break; } return p; @@ -86499,6 +88998,9 @@ static void freeIndex(sqlite3 *db, Index *p){ sqlite3ExprDelete(db, p->pPartIdxWhere); sqlite3DbFree(db, p->zColAff); if( p->isResized ) sqlite3DbFree(db, p->azColl); +#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 + sqlite3_free(p->aiRowEst); +#endif sqlite3DbFree(db, p); } @@ -86510,13 +89012,11 @@ static void freeIndex(sqlite3 *db, Index *p){ */ SQLITE_PRIVATE void sqlite3UnlinkAndDeleteIndex(sqlite3 *db, int iDb, const char *zIdxName){ Index *pIndex; - int len; Hash *pHash; assert( sqlite3SchemaMutexHeld(db, iDb, 0) ); pHash = &db->aDb[iDb].pSchema->idxHash; - len = sqlite3Strlen30(zIdxName); - pIndex = sqlite3HashInsert(pHash, zIdxName, len, 0); + pIndex = sqlite3HashInsert(pHash, zIdxName, 0); if( ALWAYS(pIndex) ){ if( pIndex->pTable->pIndex==pIndex ){ pIndex->pTable->pIndex = pIndex->pNext; @@ -86676,7 +89176,7 @@ SQLITE_PRIVATE void sqlite3DeleteTable(sqlite3 *db, Table *pTable){ if( !db || db->pnBytesFreed==0 ){ char *zName = pIndex->zName; TESTONLY ( Index *pOld = ) sqlite3HashInsert( - &pIndex->pSchema->idxHash, zName, sqlite3Strlen30(zName), 0 + &pIndex->pSchema->idxHash, zName, 0 ); assert( db==0 || sqlite3SchemaMutexHeld(db, 0, pIndex->pSchema) ); assert( pOld==pIndex || pOld==0 ); @@ -86719,8 +89219,7 @@ SQLITE_PRIVATE void sqlite3UnlinkAndDeleteTable(sqlite3 *db, int iDb, const char assert( sqlite3SchemaMutexHeld(db, iDb, 0) ); testcase( zTabName[0]==0 ); /* Zero-length table names are allowed */ pDb = &db->aDb[iDb]; - p = sqlite3HashInsert(&pDb->pSchema->tblHash, zTabName, - sqlite3Strlen30(zTabName),0); + p = sqlite3HashInsert(&pDb->pSchema->tblHash, zTabName, 0); sqlite3DeleteTable(db, p); db->flags |= SQLITE_InternChanges; } @@ -87244,7 +89743,7 @@ SQLITE_PRIVATE char sqlite3AffinityType(const char *zIn, u8 *pszEst){ ** estimate is scaled so that the size of an integer is 1. */ if( pszEst ){ *pszEst = 1; /* default size is approx 4 bytes */ - if( aff<=SQLITE_AFF_NONE ){ + if( aff<SQLITE_AFF_NUMERIC ){ if( zChar ){ while( zChar[0] ){ if( sqlite3Isdigit(zChar[0]) ){ @@ -87303,7 +89802,7 @@ SQLITE_PRIVATE void sqlite3AddDefaultValue(Parse *pParse, ExprSpan *pSpan){ p = pParse->pNewTable; if( p!=0 ){ pCol = &(p->aCol[p->nCol-1]); - if( !sqlite3ExprIsConstantOrFunction(pSpan->pExpr) ){ + if( !sqlite3ExprIsConstantOrFunction(pSpan->pExpr, db->init.busy) ){ sqlite3ErrorMsg(pParse, "default value of column [%s] is not constant", pCol->zName); }else{ @@ -87615,8 +90114,8 @@ static char *createTableStmt(sqlite3 *db, Table *p){ zStmt[k++] = '('; for(pCol=p->aCol, i=0; i<p->nCol; i++, pCol++){ static const char * const azType[] = { - /* SQLITE_AFF_TEXT */ " TEXT", /* SQLITE_AFF_NONE */ "", + /* SQLITE_AFF_TEXT */ " TEXT", /* SQLITE_AFF_NUMERIC */ " NUM", /* SQLITE_AFF_INTEGER */ " INT", /* SQLITE_AFF_REAL */ " REAL" @@ -87628,15 +90127,15 @@ static char *createTableStmt(sqlite3 *db, Table *p){ k += sqlite3Strlen30(&zStmt[k]); zSep = zSep2; identPut(zStmt, &k, pCol->zName); - assert( pCol->affinity-SQLITE_AFF_TEXT >= 0 ); - assert( pCol->affinity-SQLITE_AFF_TEXT < ArraySize(azType) ); - testcase( pCol->affinity==SQLITE_AFF_TEXT ); + assert( pCol->affinity-SQLITE_AFF_NONE >= 0 ); + assert( pCol->affinity-SQLITE_AFF_NONE < ArraySize(azType) ); testcase( pCol->affinity==SQLITE_AFF_NONE ); + testcase( pCol->affinity==SQLITE_AFF_TEXT ); testcase( pCol->affinity==SQLITE_AFF_NUMERIC ); testcase( pCol->affinity==SQLITE_AFF_INTEGER ); testcase( pCol->affinity==SQLITE_AFF_REAL ); - zType = azType[pCol->affinity - SQLITE_AFF_TEXT]; + zType = azType[pCol->affinity - SQLITE_AFF_NONE]; len = sqlite3Strlen30(zType); assert( pCol->affinity==SQLITE_AFF_NONE || pCol->affinity==sqlite3AffinityType(zType, 0) ); @@ -87720,7 +90219,7 @@ static int hasColumn(const i16 *aiCol, int nCol, int x){ ** no rowid btree for a WITHOUT ROWID. Instead, the canonical ** data storage is a covering index btree. ** (2) Bypass the creation of the sqlite_master table entry -** for the PRIMARY KEY as the the primary key index is now +** for the PRIMARY KEY as the primary key index is now ** identified by the sqlite_master table entry of the table itself. ** (3) Set the Index.tnum of the PRIMARY KEY Index object in the ** schema to the rootpage from the main table. @@ -87741,7 +90240,7 @@ static void convertToWithoutRowidTable(Parse *pParse, Table *pTab){ Vdbe *v = pParse->pVdbe; /* Convert the OP_CreateTable opcode that would normally create the - ** root-page for the table into a OP_CreateIndex opcode. The index + ** root-page for the table into an OP_CreateIndex opcode. The index ** created will become the PRIMARY KEY index. */ if( pParse->addrCrTab ){ @@ -88042,8 +90541,7 @@ SQLITE_PRIVATE void sqlite3EndTable( Table *pOld; Schema *pSchema = p->pSchema; assert( sqlite3SchemaMutexHeld(db, iDb, 0) ); - pOld = sqlite3HashInsert(&pSchema->tblHash, p->zName, - sqlite3Strlen30(p->zName),p); + pOld = sqlite3HashInsert(&pSchema->tblHash, p->zName, p); if( pOld ){ assert( p==pOld ); /* Malloc must have failed inside HashInsert() */ db->mallocFailed = 1; @@ -88154,7 +90652,7 @@ SQLITE_PRIVATE int sqlite3ViewGetColumnNames(Parse *pParse, Table *pTable){ int nErr = 0; /* Number of errors encountered */ int n; /* Temporarily holds the number of cursors assigned */ sqlite3 *db = pParse->db; /* Database connection for malloc errors */ - int (*xAuth)(void*,int,const char*,const char*,const char*,const char*); + sqlite3_xauth xAuth; /* Saved xAuth pointer */ assert( pTable ); @@ -88693,7 +91191,7 @@ SQLITE_PRIVATE void sqlite3CreateForeignKey( assert( sqlite3SchemaMutexHeld(db, 0, p->pSchema) ); pNextTo = (FKey *)sqlite3HashInsert(&p->pSchema->fkeyHash, - pFKey->zTo, sqlite3Strlen30(pFKey->zTo), (void *)pFKey + pFKey->zTo, (void *)pFKey ); if( pNextTo==pFKey ){ db->mallocFailed = 1; @@ -88756,7 +91254,7 @@ static void sqlite3RefillIndex(Parse *pParse, Index *pIndex, int memRootPage){ int iPartIdxLabel; /* Jump to this label to skip a row */ Vdbe *v; /* Generate code into this virtual machine */ KeyInfo *pKey; /* KeyInfo for index */ - int regRecord; /* Register holding assemblied index record */ + int regRecord; /* Register holding assembled index record */ sqlite3 *db = pParse->db; /* The database connection */ int iDb = sqlite3SchemaToIndex(db, pIndex->pSchema); @@ -88781,7 +91279,7 @@ static void sqlite3RefillIndex(Parse *pParse, Index *pIndex, int memRootPage){ /* Open the sorter cursor if we are to use one. */ iSorter = pParse->nTab++; - sqlite3VdbeAddOp4(v, OP_SorterOpen, iSorter, 0, 0, (char*) + sqlite3VdbeAddOp4(v, OP_SorterOpen, iSorter, 0, pIndex->nKeyCol, (char*) sqlite3KeyInfoRef(pKey), P4_KEYINFO); /* Open the table. Loop through all rows of the table, inserting index @@ -88812,7 +91310,7 @@ static void sqlite3RefillIndex(Parse *pParse, Index *pIndex, int memRootPage){ }else{ addr2 = sqlite3VdbeCurrentAddr(v); } - sqlite3VdbeAddOp2(v, OP_SorterData, iSorter, regRecord); + sqlite3VdbeAddOp3(v, OP_SorterData, iSorter, regRecord, iIdx); sqlite3VdbeAddOp3(v, OP_IdxInsert, iIdx, regRecord, 1); sqlite3VdbeChangeP5(v, OPFLAG_USESEEKRESULT); sqlite3ReleaseTempReg(pParse, regRecord); @@ -88969,6 +91467,10 @@ SQLITE_PRIVATE Index *sqlite3CreateIndex( assert( pTab!=0 ); assert( pParse->nErr==0 ); if( sqlite3StrNICmp(pTab->zName, "sqlite_", 7)==0 + && db->init.busy==0 +#if SQLITE_USER_AUTHENTICATION + && sqlite3UserAuthTable(pTab->zName)==0 +#endif && sqlite3StrNICmp(&pTab->zName[7],"altertab_",9)!=0 ){ sqlite3ErrorMsg(pParse, "table %s may not be indexed", pTab->zName); goto exit_create_index; @@ -89130,7 +91632,7 @@ SQLITE_PRIVATE Index *sqlite3CreateIndex( pParse->checkSchema = 1; goto exit_create_index; } - assert( pTab->nCol<=0x7fff && j<=0x7fff ); + assert( j<=0x7fff ); pIndex->aiColumn[i] = (i16)j; if( pListItem->pExpr ){ int nColl; @@ -89241,8 +91743,7 @@ SQLITE_PRIVATE Index *sqlite3CreateIndex( Index *p; assert( sqlite3SchemaMutexHeld(db, 0, pIndex->pSchema) ); p = sqlite3HashInsert(&pIndex->pSchema->idxHash, - pIndex->zName, sqlite3Strlen30(pIndex->zName), - pIndex); + pIndex->zName, pIndex); if( p ){ assert( p==pIndex ); /* Malloc must have failed */ db->mallocFailed = 1; @@ -89357,7 +91858,7 @@ exit_create_index: ** Fill the Index.aiRowEst[] array with default information - information ** to be used when we have not run the ANALYZE command. ** -** aiRowEst[0] is suppose to contain the number of elements in the index. +** aiRowEst[0] is supposed to contain the number of elements in the index. ** Since we do not know, guess 1 million. aiRowEst[1] is an estimate of the ** number of rows in the table that match any particular value of the ** first column of the index. aiRowEst[2] is an estimate of the number @@ -89736,7 +92237,7 @@ SQLITE_PRIVATE void sqlite3SrcListDelete(sqlite3 *db, SrcList *pList){ ** if this is the first term of the FROM clause. pTable and pDatabase ** are the name of the table and database named in the FROM clause term. ** pDatabase is NULL if the database name qualifier is missing - the -** usual case. If the term has a alias, then pAlias points to the +** usual case. If the term has an alias, then pAlias points to the ** alias token. If the term is a subquery, then pSubquery is the ** SELECT statement that the subquery encodes. The pTable and ** pDatabase parameters are NULL for subqueries. The pOn and pUsing @@ -90499,7 +93000,7 @@ SQLITE_PRIVATE int sqlite3CheckCollSeq(Parse *pParse, CollSeq *pColl){ ** ** Each pointer stored in the sqlite3.aCollSeq hash table contains an ** array of three CollSeq structures. The first is the collation sequence -** prefferred for UTF-8, the second UTF-16le, and the third UTF-16be. +** preferred for UTF-8, the second UTF-16le, and the third UTF-16be. ** ** Stored immediately after the three collation sequences is a copy of ** the collation sequence name. A pointer to this string is stored in @@ -90511,11 +93012,11 @@ static CollSeq *findCollSeqEntry( int create /* Create a new entry if true */ ){ CollSeq *pColl; - int nName = sqlite3Strlen30(zName); - pColl = sqlite3HashFind(&db->aCollSeq, zName, nName); + pColl = sqlite3HashFind(&db->aCollSeq, zName); if( 0==pColl && create ){ - pColl = sqlite3DbMallocZero(db, 3*sizeof(*pColl) + nName + 1 ); + int nName = sqlite3Strlen30(zName); + pColl = sqlite3DbMallocZero(db, 3*sizeof(*pColl) + nName + 1); if( pColl ){ CollSeq *pDel = 0; pColl[0].zName = (char*)&pColl[3]; @@ -90526,7 +93027,7 @@ static CollSeq *findCollSeqEntry( pColl[2].enc = SQLITE_UTF16BE; memcpy(pColl[0].zName, zName, nName); pColl[0].zName[nName] = 0; - pDel = sqlite3HashInsert(&db->aCollSeq, pColl[0].zName, nName, pColl); + pDel = sqlite3HashInsert(&db->aCollSeq, pColl[0].zName, pColl); /* If a malloc() failure occurred in sqlite3HashInsert(), it will ** return the pColl pointer to be deleted (because it wasn't added @@ -90926,7 +93427,7 @@ SQLITE_PRIVATE void sqlite3MaterializeView( Parse *pParse, /* Parsing context */ Table *pView, /* View definition */ Expr *pWhere, /* Optional WHERE clause to be added */ - int iCur /* Cursor number for ephemerial table */ + int iCur /* Cursor number for ephemeral table */ ){ SelectDest dest; Select *pSel; @@ -91084,7 +93585,7 @@ SQLITE_PRIVATE void sqlite3DeleteFrom( int addrBypass = 0; /* Address of jump over the delete logic */ int addrLoop = 0; /* Top of the delete loop */ int addrDelete = 0; /* Jump directly to the delete logic */ - int addrEphOpen = 0; /* Instruction to open the Ephermeral table */ + int addrEphOpen = 0; /* Instruction to open the Ephemeral table */ #ifndef SQLITE_OMIT_TRIGGER int isView; /* True if attempting to delete from a view */ @@ -91164,7 +93665,7 @@ SQLITE_PRIVATE void sqlite3DeleteFrom( sqlite3BeginWriteOperation(pParse, 1, iDb); /* If we are trying to delete from a view, realize that view into - ** a ephemeral table. + ** an ephemeral table. */ #if !defined(SQLITE_OMIT_VIEW) && !defined(SQLITE_OMIT_TRIGGER) if( isView ){ @@ -91218,7 +93719,7 @@ SQLITE_PRIVATE void sqlite3DeleteFrom( iRowSet = ++pParse->nMem; sqlite3VdbeAddOp2(v, OP_Null, 0, iRowSet); }else{ - /* For a WITHOUT ROWID table, create an ephermeral table used to + /* For a WITHOUT ROWID table, create an ephemeral table used to ** hold all primary keys for rows to be deleted. */ pPk = sqlite3PrimaryKeyIndex(pTab); assert( pPk!=0 ); @@ -91302,10 +93803,11 @@ SQLITE_PRIVATE void sqlite3DeleteFrom( ** triggers. */ if( !isView ){ + testcase( IsVirtual(pTab) ); sqlite3OpenTableAndIndices(pParse, pTab, OP_OpenWrite, iTabCur, aToOpen, &iDataCur, &iIdxCur); - assert( pPk || iDataCur==iTabCur ); - assert( pPk || iIdxCur==iDataCur+1 ); + assert( pPk || IsVirtual(pTab) || iDataCur==iTabCur ); + assert( pPk || IsVirtual(pTab) || iIdxCur==iDataCur+1 ); } /* Set up a loop over the rowids/primary-keys that were found in the @@ -91313,9 +93815,10 @@ SQLITE_PRIVATE void sqlite3DeleteFrom( */ if( okOnePass ){ /* Just one row. Hence the top-of-loop is a no-op */ - assert( nKey==nPk ); /* OP_Found will use an unpacked key */ + assert( nKey==nPk ); /* OP_Found will use an unpacked key */ + assert( !IsVirtual(pTab) ); if( aToOpen[iDataCur-iTabCur] ){ - assert( pPk!=0 ); + assert( pPk!=0 || pTab->pSelect!=0 ); sqlite3VdbeAddOp4Int(v, OP_NotFound, iDataCur, addrBypass, iKey, nKey); VdbeCoverage(v); } @@ -91391,7 +93894,7 @@ delete_from_cleanup: return; } /* Make sure "isView" and other macros defined above are undefined. Otherwise -** thely may interfere with compilation of other functions in this file +** they may interfere with compilation of other functions in this file ** (or in another file, if this file becomes part of the amalgamation). */ #ifdef isView #undef isView @@ -91685,7 +94188,7 @@ SQLITE_PRIVATE void sqlite3ResolvePartIdxLabel(Parse *pParse, int iLabel){ ** May you share freely, never taking more than you give. ** ************************************************************************* -** This file contains the C-language implementions for many of the SQL +** This file contains the C-language implementations for many of the SQL ** functions of SQLite. (Some function, and in particular the date and ** time functions, are implemented separately.) */ @@ -91696,7 +94199,10 @@ SQLITE_PRIVATE void sqlite3ResolvePartIdxLabel(Parse *pParse, int iLabel){ ** Return the collating function associated with a function. */ static CollSeq *sqlite3GetFuncCollSeq(sqlite3_context *context){ - return context->pColl; + VdbeOp *pOp = &context->pVdbe->aOp[context->iOp-1]; + assert( pOp->opcode==OP_CollSeq ); + assert( pOp->p4type==P4_COLLSEQ ); + return pOp->p4.pColl; } /* @@ -91999,13 +94505,14 @@ static void substrFunc( for(z2=z; *z2 && p2; p2--){ SQLITE_SKIP_UTF8(z2); } - sqlite3_result_text(context, (char*)z, (int)(z2-z), SQLITE_TRANSIENT); + sqlite3_result_text64(context, (char*)z, z2-z, SQLITE_TRANSIENT, + SQLITE_UTF8); }else{ if( p1+p2>len ){ p2 = len-p1; if( p2<0 ) p2 = 0; } - sqlite3_result_blob(context, (char*)&z[p1], (int)p2, SQLITE_TRANSIENT); + sqlite3_result_blob64(context, (char*)&z[p1], (u64)p2, SQLITE_TRANSIENT); } } @@ -92064,7 +94571,7 @@ static void *contextMalloc(sqlite3_context *context, i64 nByte){ sqlite3_result_error_toobig(context); z = 0; }else{ - z = sqlite3Malloc((int)nByte); + z = sqlite3Malloc(nByte); if( !z ){ sqlite3_result_error_nomem(context); } @@ -92240,10 +94747,12 @@ struct compareInfo { ** whereas only characters less than 0x80 do in ASCII. */ #if defined(SQLITE_EBCDIC) -# define sqlite3Utf8Read(A) (*((*A)++)) -# define GlobUpperToLower(A) A = sqlite3UpperToLower[A] +# define sqlite3Utf8Read(A) (*((*A)++)) +# define GlobUpperToLower(A) A = sqlite3UpperToLower[A] +# define GlobUpperToLowerAscii(A) A = sqlite3UpperToLower[A] #else -# define GlobUpperToLower(A) if( !((A)&~0x7f) ){ A = sqlite3UpperToLower[A]; } +# define GlobUpperToLower(A) if( A<=0x7f ){ A = sqlite3UpperToLower[A]; } +# define GlobUpperToLowerAscii(A) A = sqlite3UpperToLower[A] #endif static const struct compareInfo globInfo = { '*', '?', '[', 0 }; @@ -92256,7 +94765,7 @@ static const struct compareInfo likeInfoAlt = { '%', '_', 0, 0 }; /* ** Compare two UTF-8 strings for equality where the first string can -** potentially be a "glob" expression. Return true (1) if they +** potentially be a "glob" or "like" expression. Return true (1) if they ** are the same and false (0) if they are different. ** ** Globbing rules: @@ -92276,11 +94785,18 @@ static const struct compareInfo likeInfoAlt = { '%', '_', 0, 0 }; ** "[a-z]" matches any single lower-case letter. To match a '-', make ** it the last character in the list. ** -** This routine is usually quick, but can be N**2 in the worst case. +** Like matching rules: +** +** '%' Matches any sequence of zero or more characters ** -** Hints: to match '*' or '?', put them in "[]". Like this: +*** '_' Matches any one character ** -** abc[*]xyz Matches "abc*xyz" only +** Ec Where E is the "esc" character and c is any other +** character, including '%', '_', and esc, match exactly c. +** +** The comments through this routine usually assume glob matching. +** +** This routine is usually quick, but can be N**2 in the worst case. */ static int patternCompare( const u8 *zPattern, /* The glob pattern */ @@ -92288,17 +94804,25 @@ static int patternCompare( const struct compareInfo *pInfo, /* Information about how to do the compare */ u32 esc /* The escape character */ ){ - u32 c, c2; - int invert; - int seen; - u8 matchOne = pInfo->matchOne; - u8 matchAll = pInfo->matchAll; - u8 matchSet = pInfo->matchSet; - u8 noCase = pInfo->noCase; - int prevEscape = 0; /* True if the previous character was 'escape' */ + u32 c, c2; /* Next pattern and input string chars */ + u32 matchOne = pInfo->matchOne; /* "?" or "_" */ + u32 matchAll = pInfo->matchAll; /* "*" or "%" */ + u32 matchOther; /* "[" or the escape character */ + u8 noCase = pInfo->noCase; /* True if uppercase==lowercase */ + const u8 *zEscaped = 0; /* One past the last escaped input char */ + + /* The GLOB operator does not have an ESCAPE clause. And LIKE does not + ** have the matchSet operator. So we either have to look for one or + ** the other, never both. Hence the single variable matchOther is used + ** to store the one we have to look for. + */ + matchOther = esc ? esc : pInfo->matchSet; while( (c = sqlite3Utf8Read(&zPattern))!=0 ){ - if( c==matchAll && !prevEscape ){ + if( c==matchAll ){ /* Match "*" */ + /* Skip over multiple "*" characters in the pattern. If there + ** are also "?" characters, skip those as well, but consume a + ** single character of the input string for each "?" skipped */ while( (c=sqlite3Utf8Read(&zPattern)) == matchAll || c == matchOne ){ if( c==matchOne && sqlite3Utf8Read(&zString)==0 ){ @@ -92306,86 +94830,98 @@ static int patternCompare( } } if( c==0 ){ - return 1; - }else if( c==esc ){ - c = sqlite3Utf8Read(&zPattern); - if( c==0 ){ - return 0; - } - }else if( c==matchSet ){ - assert( esc==0 ); /* This is GLOB, not LIKE */ - assert( matchSet<0x80 ); /* '[' is a single-byte character */ - while( *zString && patternCompare(&zPattern[-1],zString,pInfo,esc)==0 ){ - SQLITE_SKIP_UTF8(zString); + return 1; /* "*" at the end of the pattern matches */ + }else if( c==matchOther ){ + if( esc ){ + c = sqlite3Utf8Read(&zPattern); + if( c==0 ) return 0; + }else{ + /* "[...]" immediately follows the "*". We have to do a slow + ** recursive search in this case, but it is an unusual case. */ + assert( matchOther<0x80 ); /* '[' is a single-byte character */ + while( *zString + && patternCompare(&zPattern[-1],zString,pInfo,esc)==0 ){ + SQLITE_SKIP_UTF8(zString); + } + return *zString!=0; } - return *zString!=0; } - while( (c2 = sqlite3Utf8Read(&zString))!=0 ){ + + /* At this point variable c contains the first character of the + ** pattern string past the "*". Search in the input string for the + ** first matching character and recursively contine the match from + ** that point. + ** + ** For a case-insensitive search, set variable cx to be the same as + ** c but in the other case and search the input string for either + ** c or cx. + */ + if( c<=0x80 ){ + u32 cx; if( noCase ){ - GlobUpperToLower(c2); - GlobUpperToLower(c); - while( c2 != 0 && c2 != c ){ - c2 = sqlite3Utf8Read(&zString); - GlobUpperToLower(c2); - } + cx = sqlite3Toupper(c); + c = sqlite3Tolower(c); }else{ - while( c2 != 0 && c2 != c ){ - c2 = sqlite3Utf8Read(&zString); - } + cx = c; + } + while( (c2 = *(zString++))!=0 ){ + if( c2!=c && c2!=cx ) continue; + if( patternCompare(zPattern,zString,pInfo,esc) ) return 1; + } + }else{ + while( (c2 = sqlite3Utf8Read(&zString))!=0 ){ + if( c2!=c ) continue; + if( patternCompare(zPattern,zString,pInfo,esc) ) return 1; } - if( c2==0 ) return 0; - if( patternCompare(zPattern,zString,pInfo,esc) ) return 1; } return 0; - }else if( c==matchOne && !prevEscape ){ - if( sqlite3Utf8Read(&zString)==0 ){ - return 0; - } - }else if( c==matchSet ){ - u32 prior_c = 0; - assert( esc==0 ); /* This only occurs for GLOB, not LIKE */ - seen = 0; - invert = 0; - c = sqlite3Utf8Read(&zString); - if( c==0 ) return 0; - c2 = sqlite3Utf8Read(&zPattern); - if( c2=='^' ){ - invert = 1; - c2 = sqlite3Utf8Read(&zPattern); - } - if( c2==']' ){ - if( c==']' ) seen = 1; + } + if( c==matchOther ){ + if( esc ){ + c = sqlite3Utf8Read(&zPattern); + if( c==0 ) return 0; + zEscaped = zPattern; + }else{ + u32 prior_c = 0; + int seen = 0; + int invert = 0; + c = sqlite3Utf8Read(&zString); + if( c==0 ) return 0; c2 = sqlite3Utf8Read(&zPattern); - } - while( c2 && c2!=']' ){ - if( c2=='-' && zPattern[0]!=']' && zPattern[0]!=0 && prior_c>0 ){ + if( c2=='^' ){ + invert = 1; c2 = sqlite3Utf8Read(&zPattern); - if( c>=prior_c && c<=c2 ) seen = 1; - prior_c = 0; - }else{ - if( c==c2 ){ - seen = 1; + } + if( c2==']' ){ + if( c==']' ) seen = 1; + c2 = sqlite3Utf8Read(&zPattern); + } + while( c2 && c2!=']' ){ + if( c2=='-' && zPattern[0]!=']' && zPattern[0]!=0 && prior_c>0 ){ + c2 = sqlite3Utf8Read(&zPattern); + if( c>=prior_c && c<=c2 ) seen = 1; + prior_c = 0; + }else{ + if( c==c2 ){ + seen = 1; + } + prior_c = c2; } - prior_c = c2; + c2 = sqlite3Utf8Read(&zPattern); } - c2 = sqlite3Utf8Read(&zPattern); - } - if( c2==0 || (seen ^ invert)==0 ){ - return 0; - } - }else if( esc==c && !prevEscape ){ - prevEscape = 1; - }else{ - c2 = sqlite3Utf8Read(&zString); - if( noCase ){ - GlobUpperToLower(c); - GlobUpperToLower(c2); - } - if( c!=c2 ){ - return 0; + if( c2==0 || (seen ^ invert)==0 ){ + return 0; + } + continue; } - prevEscape = 0; } + c2 = sqlite3Utf8Read(&zString); + if( c==c2 ) continue; + if( noCase && c<0x80 && c2<0x80 && sqlite3Tolower(c)==sqlite3Tolower(c2) ){ + continue; + } + if( c==matchOne && zPattern!=zEscaped && c2!=0 ) continue; + return 0; } return *zString==0; } @@ -92715,7 +95251,7 @@ static void charFunc( *zOut++ = 0x80 + (u8)(c & 0x3F); } \ } - sqlite3_result_text(context, (char*)z, (int)(zOut-z), sqlite3_free); + sqlite3_result_text64(context, (char*)z, zOut-z, sqlite3_free, SQLITE_UTF8); } /* @@ -93165,6 +95701,7 @@ static void minmaxStep( sqlite3SkipAccumulatorLoad(context); } }else{ + pBest->db = sqlite3_context_db_handle(context); sqlite3VdbeMemCopy(pBest, pArg); } } @@ -93312,7 +95849,7 @@ SQLITE_PRIVATE int sqlite3IsLikeFunction(sqlite3 *db, Expr *pExpr, int *pIsNocas } /* -** All all of the FuncDef structures in the aBuiltinFunc[] array above +** All of the FuncDef structures in the aBuiltinFunc[] array above ** to the global function hash table. This occurs at start-time (as ** a consequence of calling sqlite3_initialize()). ** @@ -93336,10 +95873,12 @@ SQLITE_PRIVATE void sqlite3RegisterGlobalFunctions(void){ FUNCTION(trim, 2, 3, 0, trimFunc ), FUNCTION(min, -1, 0, 1, minmaxFunc ), FUNCTION(min, 0, 0, 1, 0 ), - AGGREGATE(min, 1, 0, 1, minmaxStep, minMaxFinalize ), + AGGREGATE2(min, 1, 0, 1, minmaxStep, minMaxFinalize, + SQLITE_FUNC_MINMAX ), FUNCTION(max, -1, 1, 1, minmaxFunc ), FUNCTION(max, 0, 1, 1, 0 ), - AGGREGATE(max, 1, 1, 1, minmaxStep, minMaxFinalize ), + AGGREGATE2(max, 1, 1, 1, minmaxStep, minMaxFinalize, + SQLITE_FUNC_MINMAX ), FUNCTION2(typeof, 1, 0, 0, typeofFunc, SQLITE_FUNC_TYPEOF), FUNCTION2(length, 1, 0, 0, lengthFunc, SQLITE_FUNC_LENGTH), FUNCTION(instr, 2, 0, 0, instrFunc ), @@ -93369,6 +95908,9 @@ SQLITE_PRIVATE void sqlite3RegisterGlobalFunctions(void){ FUNCTION(sqlite_version, 0, 0, 0, versionFunc ), FUNCTION(sqlite_source_id, 0, 0, 0, sourceidFunc ), FUNCTION(sqlite_log, 2, 0, 0, errlogFunc ), +#if SQLITE_USER_AUTHENTICATION + FUNCTION(sqlite_crypt, 2, 0, 0, sqlite3CryptFunc ), +#endif #ifndef SQLITE_OMIT_COMPILEOPTION_DIAGS FUNCTION(sqlite_compileoption_used,1, 0, 0, compileoptionusedFunc ), FUNCTION(sqlite_compileoption_get, 1, 0, 0, compileoptiongetFunc ), @@ -93389,8 +95931,8 @@ SQLITE_PRIVATE void sqlite3RegisterGlobalFunctions(void){ AGGREGATE(sum, 1, 0, 0, sumStep, sumFinalize ), AGGREGATE(total, 1, 0, 0, sumStep, totalFinalize ), AGGREGATE(avg, 1, 0, 0, sumStep, avgFinalize ), - /* AGGREGATE(count, 0, 0, 0, countStep, countFinalize ), */ - {0,SQLITE_UTF8|SQLITE_FUNC_COUNT,0,0,0,countStep,countFinalize,"count",0,0}, + AGGREGATE2(count, 0, 0, 0, countStep, countFinalize, + SQLITE_FUNC_COUNT ), AGGREGATE(count, 1, 0, 0, countStep, countFinalize ), AGGREGATE(group_concat, 1, 0, 0, groupConcatStep, groupConcatFinalize), AGGREGATE(group_concat, 2, 0, 0, groupConcatStep, groupConcatFinalize), @@ -93597,7 +96139,7 @@ SQLITE_PRIVATE void sqlite3RegisterGlobalFunctions(void){ ** ** 4) No parent key columns were provided explicitly as part of the ** foreign key definition, and the PRIMARY KEY of the parent table -** consists of a a different number of columns to the child key in +** consists of a different number of columns to the child key in ** the child table. ** ** then non-zero is returned, and a "foreign key mismatch" error loaded @@ -94083,8 +96625,7 @@ static void fkScanChildren( ** table). */ SQLITE_PRIVATE FKey *sqlite3FkReferences(Table *pTab){ - int nName = sqlite3Strlen30(pTab->zName); - return (FKey *)sqlite3HashFind(&pTab->pSchema->fkeyHash, pTab->zName, nName); + return (FKey *)sqlite3HashFind(&pTab->pSchema->fkeyHash, pTab->zName); } /* @@ -94762,7 +97303,7 @@ SQLITE_PRIVATE void sqlite3FkDelete(sqlite3 *db, Table *pTab){ }else{ void *p = (void *)pFKey->pNextTo; const char *z = (p ? pFKey->pNextTo->zTo : pFKey->zTo); - sqlite3HashInsert(&pTab->pSchema->fkeyHash, z, sqlite3Strlen30(z), p); + sqlite3HashInsert(&pTab->pSchema->fkeyHash, z, p); } if( pFKey->pNextTo ){ pFKey->pNextTo->pPrevTo = pFKey->pPrevTo; @@ -94845,13 +97386,13 @@ SQLITE_PRIVATE void sqlite3OpenTable( ** ** Character Column affinity ** ------------------------------ -** 'a' TEXT -** 'b' NONE -** 'c' NUMERIC -** 'd' INTEGER -** 'e' REAL +** 'A' NONE +** 'B' TEXT +** 'C' NUMERIC +** 'D' INTEGER +** 'F' REAL ** -** An extra 'd' is appended to the end of the string to cover the +** An extra 'D' is appended to the end of the string to cover the ** rowid that appears as the last column in every index. ** ** Memory for the buffer containing the column index affinity string @@ -94900,11 +97441,11 @@ SQLITE_PRIVATE const char *sqlite3IndexAffinityStr(Vdbe *v, Index *pIdx){ ** ** Character Column affinity ** ------------------------------ -** 'a' TEXT -** 'b' NONE -** 'c' NUMERIC -** 'd' INTEGER -** 'e' REAL +** 'A' NONE +** 'B' TEXT +** 'C' NUMERIC +** 'D' INTEGER +** 'E' REAL */ SQLITE_PRIVATE void sqlite3TableAffinity(Vdbe *v, Table *pTab, int iReg){ int i; @@ -95199,7 +97740,7 @@ static int xferOptimization( ** The 4th template is used if the insert statement takes its ** values from a SELECT but the data is being inserted into a table ** that is also read as part of the SELECT. In the third form, -** we have to use a intermediate table to store the results of +** we have to use an intermediate table to store the results of ** the select. The template is like this: ** ** X <- A @@ -95364,7 +97905,7 @@ SQLITE_PRIVATE void sqlite3Insert( regAutoinc = autoIncBegin(pParse, iDb, pTab); /* Allocate registers for holding the rowid of the new row, - ** the content of the new row, and the assemblied row record. + ** the content of the new row, and the assembled row record. */ regRowid = regIns = pParse->nMem+1; pParse->nMem += pTab->nCol + 1; @@ -95816,7 +98357,7 @@ insert_cleanup: } /* Make sure "isView" and other macros defined above are undefined. Otherwise -** thely may interfere with compilation of other functions in this file +** they may interfere with compilation of other functions in this file ** (or in another file, if this file becomes part of the amalgamation). */ #ifdef isView #undef isView @@ -95932,7 +98473,7 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks( int ix; /* Index loop counter */ int nCol; /* Number of columns */ int onError; /* Conflict resolution strategy */ - int j1; /* Addresss of jump instruction */ + int j1; /* Address of jump instruction */ int seenReplace = 0; /* True if REPLACE is used to resolve INT PK conflict */ int nPkField; /* Number of fields in PRIMARY KEY. 1 for ROWID tables */ int ipkTop = 0; /* Top of the rowid change constraint check */ @@ -96336,7 +98877,7 @@ SQLITE_PRIVATE void sqlite3CompleteInsertion( Index *pIdx; /* An index being inserted or updated */ u8 pik_flags; /* flag values passed to the btree insert */ int regData; /* Content registers (after the rowid) */ - int regRec; /* Register holding assemblied record for the table */ + int regRec; /* Register holding assembled record for the table */ int i; /* Loop counter */ u8 bAffinityDone = 0; /* True if OP_Affinity has been run already */ @@ -96401,6 +98942,9 @@ SQLITE_PRIVATE void sqlite3CompleteInsertion( ** For a WITHOUT ROWID table, *piDataCur will be somewhere in the range ** of *piIdxCurs, depending on where the PRIMARY KEY index appears on the ** pTab->pIndex list. +** +** If pTab is a virtual table, then this routine is a no-op and the +** *piDataCur and *piIdxCur values are left uninitialized. */ SQLITE_PRIVATE int sqlite3OpenTableAndIndices( Parse *pParse, /* Parsing context */ @@ -96419,9 +98963,9 @@ SQLITE_PRIVATE int sqlite3OpenTableAndIndices( assert( op==OP_OpenRead || op==OP_OpenWrite ); if( IsVirtual(pTab) ){ - assert( aToOpen==0 ); - *piDataCur = 0; - *piIdxCur = 1; + /* This routine is a no-op for virtual tables. Leave the output + ** variables *piDataCur and *piIdxCur uninitialized so that valgrind + ** can detect if they are used by mistake in the caller. */ return 0; } iDb = sqlite3SchemaToIndex(pParse->db, pTab->pSchema); @@ -96458,7 +99002,7 @@ SQLITE_PRIVATE int sqlite3OpenTableAndIndices( ** The following global variable is incremented whenever the ** transfer optimization is used. This is used for testing ** purposes only - to make sure the transfer optimization really -** is happening when it is suppose to. +** is happening when it is supposed to. */ SQLITE_API int sqlite3_xferopt_count; #endif /* SQLITE_TEST */ @@ -96525,7 +99069,7 @@ static int xferCompatibleIndex(Index *pDest, Index *pSrc){ ** INSERT INTO tab1 SELECT * FROM tab2; ** ** The xfer optimization transfers raw records from tab2 over to tab1. -** Columns are not decoded and reassemblied, which greatly improves +** Columns are not decoded and reassembled, which greatly improves ** performance. Raw index records are transferred in the same way. ** ** The xfer optimization is only attempted if tab1 and tab2 are compatible. @@ -96853,7 +99397,7 @@ SQLITE_API int sqlite3_exec( if( zSql==0 ) zSql = ""; sqlite3_mutex_enter(db->mutex); - sqlite3Error(db, SQLITE_OK, 0); + sqlite3Error(db, SQLITE_OK); while( rc==SQLITE_OK && zSql[0] ){ int nCol; char **azVals = 0; @@ -96911,7 +99455,7 @@ SQLITE_API int sqlite3_exec( rc = SQLITE_ABORT; sqlite3VdbeFinalize((Vdbe *)pStmt); pStmt = 0; - sqlite3Error(db, SQLITE_ABORT, 0); + sqlite3Error(db, SQLITE_ABORT); goto exec_out; } } @@ -96934,14 +99478,14 @@ exec_out: sqlite3DbFree(db, azCols); rc = sqlite3ApiExit(db, rc); - if( rc!=SQLITE_OK && ALWAYS(rc==sqlite3_errcode(db)) && pzErrMsg ){ + if( rc!=SQLITE_OK && pzErrMsg ){ int nErrMsg = 1 + sqlite3Strlen30(sqlite3_errmsg(db)); *pzErrMsg = sqlite3Malloc(nErrMsg); if( *pzErrMsg ){ memcpy(*pzErrMsg, sqlite3_errmsg(db), nErrMsg); }else{ rc = SQLITE_NOMEM; - sqlite3Error(db, SQLITE_NOMEM, 0); + sqlite3Error(db, SQLITE_NOMEM); } }else if( pzErrMsg ){ *pzErrMsg = 0; @@ -97003,7 +99547,7 @@ typedef struct sqlite3_api_routines sqlite3_api_routines; ** WARNING: In order to maintain backwards compatibility, add new ** interfaces to the end of this structure only. If you insert new ** interfaces in the middle of this structure, then older different -** versions of SQLite will not be able to load each others' shared +** versions of SQLite will not be able to load each other's shared ** libraries! */ struct sqlite3_api_routines { @@ -97225,11 +99769,28 @@ struct sqlite3_api_routines { const char *(*uri_parameter)(const char*,const char*); char *(*vsnprintf)(int,char*,const char*,va_list); int (*wal_checkpoint_v2)(sqlite3*,const char*,int,int*,int*); + /* Version 3.8.7 and later */ + int (*auto_extension)(void(*)(void)); + int (*bind_blob64)(sqlite3_stmt*,int,const void*,sqlite3_uint64, + void(*)(void*)); + int (*bind_text64)(sqlite3_stmt*,int,const char*,sqlite3_uint64, + void(*)(void*),unsigned char); + int (*cancel_auto_extension)(void(*)(void)); + int (*load_extension)(sqlite3*,const char*,const char*,char**); + void *(*malloc64)(sqlite3_uint64); + sqlite3_uint64 (*msize)(void*); + void *(*realloc64)(void*,sqlite3_uint64); + void (*reset_auto_extension)(void); + void (*result_blob64)(sqlite3_context*,const void*,sqlite3_uint64, + void(*)(void*)); + void (*result_text64)(sqlite3_context*,const char*,sqlite3_uint64, + void(*)(void*), unsigned char); + int (*strglob)(const char*,const char*); }; /* ** The following macros redefine the API routines so that they are -** redirected throught the global sqlite3_api structure. +** redirected through the global sqlite3_api structure. ** ** This header file is also used by the loadext.c source file ** (part of the main SQLite library - not an extension) so that @@ -97442,6 +100003,19 @@ struct sqlite3_api_routines { #define sqlite3_uri_parameter sqlite3_api->uri_parameter #define sqlite3_uri_vsnprintf sqlite3_api->vsnprintf #define sqlite3_wal_checkpoint_v2 sqlite3_api->wal_checkpoint_v2 +/* Version 3.8.7 and later */ +#define sqlite3_auto_extension sqlite3_api->auto_extension +#define sqlite3_bind_blob64 sqlite3_api->bind_blob64 +#define sqlite3_bind_text64 sqlite3_api->bind_text64 +#define sqlite3_cancel_auto_extension sqlite3_api->cancel_auto_extension +#define sqlite3_load_extension sqlite3_api->load_extension +#define sqlite3_malloc64 sqlite3_api->malloc64 +#define sqlite3_msize sqlite3_api->msize +#define sqlite3_realloc64 sqlite3_api->realloc64 +#define sqlite3_reset_auto_extension sqlite3_api->reset_auto_extension +#define sqlite3_result_blob64 sqlite3_api->result_blob64 +#define sqlite3_result_text64 sqlite3_api->result_text64 +#define sqlite3_strglob sqlite3_api->strglob #endif /* SQLITE_CORE */ #ifndef SQLITE_CORE @@ -97835,7 +100409,20 @@ static const sqlite3_api_routines sqlite3Apis = { sqlite3_uri_int64, sqlite3_uri_parameter, sqlite3_vsnprintf, - sqlite3_wal_checkpoint_v2 + sqlite3_wal_checkpoint_v2, + /* Version 3.8.7 and later */ + sqlite3_auto_extension, + sqlite3_bind_blob64, + sqlite3_bind_text64, + sqlite3_cancel_auto_extension, + sqlite3_load_extension, + sqlite3_malloc64, + sqlite3_msize, + sqlite3_realloc64, + sqlite3_reset_auto_extension, + sqlite3_result_blob64, + sqlite3_result_text64, + sqlite3_strglob }; /* @@ -98194,7 +100781,7 @@ SQLITE_PRIVATE void sqlite3AutoLoadExtensions(sqlite3 *db){ sqlite3_mutex_leave(mutex); zErrmsg = 0; if( xInit && (rc = xInit(db, &zErrmsg, &sqlite3Apis))!=0 ){ - sqlite3Error(db, rc, + sqlite3ErrorWithMsg(db, rc, "automatic extension loading failed: %s", zErrmsg); go = 0; } @@ -98266,14 +100853,15 @@ SQLITE_PRIVATE void sqlite3AutoLoadExtensions(sqlite3 *db){ #define PragTyp_TABLE_INFO 30 #define PragTyp_TEMP_STORE 31 #define PragTyp_TEMP_STORE_DIRECTORY 32 -#define PragTyp_WAL_AUTOCHECKPOINT 33 -#define PragTyp_WAL_CHECKPOINT 34 -#define PragTyp_ACTIVATE_EXTENSIONS 35 -#define PragTyp_HEXKEY 36 -#define PragTyp_KEY 37 -#define PragTyp_REKEY 38 -#define PragTyp_LOCK_STATUS 39 -#define PragTyp_PARSER_TRACE 40 +#define PragTyp_THREADS 33 +#define PragTyp_WAL_AUTOCHECKPOINT 34 +#define PragTyp_WAL_CHECKPOINT 35 +#define PragTyp_ACTIVATE_EXTENSIONS 36 +#define PragTyp_HEXKEY 37 +#define PragTyp_KEY 38 +#define PragTyp_REKEY 39 +#define PragTyp_LOCK_STATUS 40 +#define PragTyp_PARSER_TRACE 41 #define PragFlag_NeedSchema 0x01 static const struct sPragmaNames { const char *const zName; /* Name of pragma */ @@ -98623,6 +101211,10 @@ static const struct sPragmaNames { /* ePragFlag: */ 0, /* iArg: */ 0 }, #endif + { /* zName: */ "threads", + /* ePragTyp: */ PragTyp_THREADS, + /* ePragFlag: */ 0, + /* iArg: */ 0 }, #if !defined(SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS) { /* zName: */ "user_version", /* ePragTyp: */ PragTyp_HEADER_VALUE, @@ -98670,7 +101262,7 @@ static const struct sPragmaNames { /* iArg: */ SQLITE_WriteSchema|SQLITE_RecoveryMode }, #endif }; -/* Number of pragmas: 56 on by default, 69 total. */ +/* Number of pragmas: 57 on by default, 70 total. */ /* End of the automatically generated pragma table. ***************************************************************************/ @@ -99597,6 +102189,12 @@ SQLITE_PRIVATE void sqlite3Pragma( ** in auto-commit mode. */ mask &= ~(SQLITE_ForeignKeys); } +#if SQLITE_USER_AUTHENTICATION + if( db->auth.authLevel==UAUTH_User ){ + /* Do not allow non-admin users to modify the schema arbitrarily */ + mask &= ~(SQLITE_WriteSchema); + } +#endif if( sqlite3GetBoolean(zRight, 0) ){ db->flags |= mask; @@ -100478,6 +103076,26 @@ SQLITE_PRIVATE void sqlite3Pragma( break; } + /* + ** PRAGMA threads + ** PRAGMA threads = N + ** + ** Configure the maximum number of worker threads. Return the new + ** maximum, which might be less than requested. + */ + case PragTyp_THREADS: { + sqlite3_int64 N; + if( zRight + && sqlite3DecOrHexToI64(zRight, &N)==SQLITE_OK + && N>=0 + ){ + sqlite3_limit(db, SQLITE_LIMIT_WORKER_THREADS, (int)(N&0x7fffffff)); + } + returnSingleInt(pParse, "threads", + sqlite3_limit(db, SQLITE_LIMIT_WORKER_THREADS, -1)); + break; + } + #if defined(SQLITE_DEBUG) || defined(SQLITE_TEST) /* ** Report the current state of file logs for all databases @@ -100894,7 +103512,7 @@ static int sqlite3InitOne(sqlite3 *db, int iDb, char **pzErrMsg){ db->aDb[iDb].zName, zMasterName); #ifndef SQLITE_OMIT_AUTHORIZATION { - int (*xAuth)(void*,int,const char*,const char*,const char*,const char*); + sqlite3_xauth xAuth; xAuth = db->xAuth; db->xAuth = 0; #endif @@ -100960,6 +103578,7 @@ SQLITE_PRIVATE int sqlite3Init(sqlite3 *db, char **pzErrMsg){ int commit_internal = !(db->flags&SQLITE_InternChanges); assert( sqlite3_mutex_held(db->mutex) ); + assert( db->init.busy==0 ); rc = SQLITE_OK; db->init.busy = 1; for(i=0; rc==SQLITE_OK && i<db->nDb; i++){ @@ -100975,8 +103594,8 @@ SQLITE_PRIVATE int sqlite3Init(sqlite3 *db, char **pzErrMsg){ ** schema may contain references to objects in other databases. */ #ifndef SQLITE_OMIT_TEMPDB - if( rc==SQLITE_OK && ALWAYS(db->nDb>1) - && !DbHasProperty(db, 1, DB_SchemaLoaded) ){ + assert( db->nDb>1 ); + if( rc==SQLITE_OK && !DbHasProperty(db, 1, DB_SchemaLoaded) ){ rc = sqlite3InitOne(db, 1, pzErrMsg); if( rc ){ sqlite3ResetOneSchema(db, 1); @@ -101159,7 +103778,7 @@ static int sqlite3Prepare( rc = sqlite3BtreeSchemaLocked(pBt); if( rc ){ const char *zDb = db->aDb[i].zName; - sqlite3Error(db, rc, "database schema is locked: %s", zDb); + sqlite3ErrorWithMsg(db, rc, "database schema is locked: %s", zDb); testcase( db->flags & SQLITE_ReadUncommitted ); goto end_prepare; } @@ -101176,7 +103795,7 @@ static int sqlite3Prepare( testcase( nBytes==mxLen ); testcase( nBytes==mxLen+1 ); if( nBytes>mxLen ){ - sqlite3Error(db, SQLITE_TOOBIG, "statement too long"); + sqlite3ErrorWithMsg(db, SQLITE_TOOBIG, "statement too long"); rc = sqlite3ApiExit(db, SQLITE_TOOBIG); goto end_prepare; } @@ -101243,10 +103862,10 @@ static int sqlite3Prepare( } if( zErrMsg ){ - sqlite3Error(db, rc, "%s", zErrMsg); + sqlite3ErrorWithMsg(db, rc, "%s", zErrMsg); sqlite3DbFree(db, zErrMsg); }else{ - sqlite3Error(db, rc, 0); + sqlite3Error(db, rc); } /* Delete any TriggerPrg structures allocated while parsing this statement. */ @@ -101468,6 +104087,20 @@ SQLITE_API int sqlite3_prepare16_v2( */ /* +** Trace output macros +*/ +#if SELECTTRACE_ENABLED +/***/ int sqlite3SelectTrace = 0; +# define SELECTTRACE(K,P,S,X) \ + if(sqlite3SelectTrace&(K)) \ + sqlite3DebugPrintf("%*s%s.%p: ",(P)->nSelectIndent*2-2,"",(S)->zSelName,(S)),\ + sqlite3DebugPrintf X +#else +# define SELECTTRACE(K,P,S,X) +#endif + + +/* ** An instance of the following object is used to record information about ** how to process the DISTINCT keyword, to simplify passing that information ** into the selectInnerLoop() routine. @@ -101579,6 +104212,18 @@ SQLITE_PRIVATE Select *sqlite3SelectNew( return pNew; } +#if SELECTTRACE_ENABLED +/* +** Set the name of a Select object +*/ +SQLITE_PRIVATE void sqlite3SelectSetName(Select *p, const char *zName){ + if( p && zName ){ + sqlite3_snprintf(sizeof(p->zSelName), p->zSelName, "%s", zName); + } +} +#endif + + /* ** Delete the given Select structure and all of its substructures. */ @@ -101908,28 +104553,43 @@ static KeyInfo *keyInfoFromExprList( ); /* -** Insert code into "v" that will push the record in register regData -** into the sorter. +** Generate code that will push the record in registers regData +** through regData+nData-1 onto the sorter. */ static void pushOntoSorter( Parse *pParse, /* Parser context */ SortCtx *pSort, /* Information about the ORDER BY clause */ Select *pSelect, /* The whole SELECT statement */ - int regData /* Register holding data to be sorted */ + int regData, /* First register holding data to be sorted */ + int nData, /* Number of elements in the data array */ + int nPrefixReg /* No. of reg prior to regData available for use */ ){ - Vdbe *v = pParse->pVdbe; - int nExpr = pSort->pOrderBy->nExpr; - int regRecord = ++pParse->nMem; - int regBase = pParse->nMem+1; - int nOBSat = pSort->nOBSat; - int op; + Vdbe *v = pParse->pVdbe; /* Stmt under construction */ + int bSeq = ((pSort->sortFlags & SORTFLAG_UseSorter)==0); + int nExpr = pSort->pOrderBy->nExpr; /* No. of ORDER BY terms */ + int nBase = nExpr + bSeq + nData; /* Fields in sorter record */ + int regBase; /* Regs for sorter record */ + int regRecord = ++pParse->nMem; /* Assembled sorter record */ + int nOBSat = pSort->nOBSat; /* ORDER BY terms to skip */ + int op; /* Opcode to add sorter record to sorter */ - pParse->nMem += nExpr+2; /* nExpr+2 registers allocated at regBase */ - sqlite3ExprCacheClear(pParse); - sqlite3ExprCodeExprList(pParse, pSort->pOrderBy, regBase, 0); - sqlite3VdbeAddOp2(v, OP_Sequence, pSort->iECursor, regBase+nExpr); - sqlite3ExprCodeMove(pParse, regData, regBase+nExpr+1, 1); - sqlite3VdbeAddOp3(v, OP_MakeRecord, regBase+nOBSat, nExpr+2-nOBSat,regRecord); + assert( bSeq==0 || bSeq==1 ); + if( nPrefixReg ){ + assert( nPrefixReg==nExpr+bSeq ); + regBase = regData - nExpr - bSeq; + }else{ + regBase = pParse->nMem + 1; + pParse->nMem += nBase; + } + sqlite3ExprCodeExprList(pParse, pSort->pOrderBy, regBase, SQLITE_ECEL_DUP); + if( bSeq ){ + sqlite3VdbeAddOp2(v, OP_Sequence, pSort->iECursor, regBase+nExpr); + } + if( nPrefixReg==0 ){ + sqlite3ExprCodeMove(pParse, regData, regBase+nExpr+bSeq, nData); + } + + sqlite3VdbeAddOp3(v, OP_MakeRecord, regBase+nOBSat, nBase-nOBSat, regRecord); if( nOBSat>0 ){ int regPrevKey; /* The first nOBSat columns of the previous row */ int addrFirst; /* Address of the OP_IfNot opcode */ @@ -101940,12 +104600,17 @@ static void pushOntoSorter( regPrevKey = pParse->nMem+1; pParse->nMem += pSort->nOBSat; - nKey = nExpr - pSort->nOBSat + 1; - addrFirst = sqlite3VdbeAddOp1(v, OP_IfNot, regBase+nExpr); VdbeCoverage(v); + nKey = nExpr - pSort->nOBSat + bSeq; + if( bSeq ){ + addrFirst = sqlite3VdbeAddOp1(v, OP_IfNot, regBase+nExpr); + }else{ + addrFirst = sqlite3VdbeAddOp1(v, OP_SequenceTest, pSort->iECursor); + } + VdbeCoverage(v); sqlite3VdbeAddOp3(v, OP_Compare, regPrevKey, regBase, pSort->nOBSat); pOp = sqlite3VdbeGetOp(v, pSort->addrSortIndex); if( pParse->db->mallocFailed ) return; - pOp->p2 = nKey + 1; + pOp->p2 = nKey + nData; pKI = pOp->p4.pKeyInfo; memset(pKI->aSortOrder, 0, pKI->nField); /* Makes OP_Jump below testable */ sqlite3VdbeChangeP4(v, -1, (char*)pKI, P4_KEYINFO); @@ -101957,7 +104622,7 @@ static void pushOntoSorter( sqlite3VdbeAddOp2(v, OP_Gosub, pSort->regReturn, pSort->labelBkOut); sqlite3VdbeAddOp1(v, OP_ResetSorter, pSort->iECursor); sqlite3VdbeJumpHere(v, addrFirst); - sqlite3VdbeAddOp3(v, OP_Move, regBase, regPrevKey, pSort->nOBSat); + sqlite3ExprCodeMove(pParse, regBase, regPrevKey, pSort->nOBSat); sqlite3VdbeJumpHere(v, addrJmp); } if( pSort->sortFlags & SORTFLAG_UseSorter ){ @@ -102079,6 +104744,7 @@ static void selectInnerLoop( int eDest = pDest->eDest; /* How to dispose of results */ int iParm = pDest->iSDParm; /* First argument to disposal method */ int nResultCol; /* Number of result columns */ + int nPrefixReg = 0; /* Number of extra registers before regResult */ assert( v ); assert( pEList!=0 ); @@ -102094,6 +104760,11 @@ static void selectInnerLoop( nResultCol = pEList->nExpr; if( pDest->iSdst==0 ){ + if( pSort ){ + nPrefixReg = pSort->pOrderBy->nExpr; + if( !(pSort->sortFlags & SORTFLAG_UseSorter) ) nPrefixReg++; + pParse->nMem += nPrefixReg; + } pDest->iSdst = pParse->nMem+1; pParse->nMem += nResultCol; }else if( pDest->iSdst+nResultCol > pParse->nMem ){ @@ -102210,10 +104881,10 @@ static void selectInnerLoop( case SRT_DistFifo: case SRT_Table: case SRT_EphemTab: { - int r1 = sqlite3GetTempReg(pParse); + int r1 = sqlite3GetTempRange(pParse, nPrefixReg+1); testcase( eDest==SRT_Table ); testcase( eDest==SRT_EphemTab ); - sqlite3VdbeAddOp3(v, OP_MakeRecord, regResult, nResultCol, r1); + sqlite3VdbeAddOp3(v, OP_MakeRecord, regResult, nResultCol, r1+nPrefixReg); #ifndef SQLITE_OMIT_CTE if( eDest==SRT_DistFifo ){ /* If the destination is DistFifo, then cursor (iParm+1) is open @@ -102228,7 +104899,7 @@ static void selectInnerLoop( } #endif if( pSort ){ - pushOntoSorter(pParse, pSort, p, r1); + pushOntoSorter(pParse, pSort, p, r1+nPrefixReg, 1, nPrefixReg); }else{ int r2 = sqlite3GetTempReg(pParse); sqlite3VdbeAddOp2(v, OP_NewRowid, iParm, r2); @@ -102236,7 +104907,7 @@ static void selectInnerLoop( sqlite3VdbeChangeP5(v, OPFLAG_APPEND); sqlite3ReleaseTempReg(pParse, r2); } - sqlite3ReleaseTempReg(pParse, r1); + sqlite3ReleaseTempRange(pParse, r1, nPrefixReg+1); break; } @@ -102254,7 +104925,7 @@ static void selectInnerLoop( ** ORDER BY in this case since the order of entries in the set ** does not matter. But there might be a LIMIT clause, in which ** case the order does matter */ - pushOntoSorter(pParse, pSort, p, regResult); + pushOntoSorter(pParse, pSort, p, regResult, 1, nPrefixReg); }else{ int r1 = sqlite3GetTempReg(pParse); sqlite3VdbeAddOp4(v, OP_MakeRecord, regResult,1,r1, &pDest->affSdst, 1); @@ -102280,9 +104951,9 @@ static void selectInnerLoop( case SRT_Mem: { assert( nResultCol==1 ); if( pSort ){ - pushOntoSorter(pParse, pSort, p, regResult); + pushOntoSorter(pParse, pSort, p, regResult, 1, nPrefixReg); }else{ - sqlite3ExprCodeMove(pParse, regResult, iParm, 1); + assert( regResult==iParm ); /* The LIMIT clause will jump out of the loop for us */ } break; @@ -102294,10 +104965,7 @@ static void selectInnerLoop( testcase( eDest==SRT_Coroutine ); testcase( eDest==SRT_Output ); if( pSort ){ - int r1 = sqlite3GetTempReg(pParse); - sqlite3VdbeAddOp3(v, OP_MakeRecord, regResult, nResultCol, r1); - pushOntoSorter(pParse, pSort, p, r1); - sqlite3ReleaseTempReg(pParse, r1); + pushOntoSorter(pParse, pSort, p, regResult, nResultCol, nPrefixReg); }else if( eDest==SRT_Coroutine ){ sqlite3VdbeAddOp1(v, OP_Yield, pDest->iSDParm); }else{ @@ -102440,7 +105108,7 @@ SQLITE_PRIVATE int sqlite3KeyInfoIsWriteable(KeyInfo *p){ return p->nRef==1; } ** then the KeyInfo structure is appropriate for initializing a virtual ** index to implement a DISTINCT test. ** -** Space to hold the KeyInfo structure is obtain from malloc. The calling +** Space to hold the KeyInfo structure is obtained from malloc. The calling ** function is responsible for seeing that this structure is eventually ** freed. */ @@ -102577,46 +105245,58 @@ static void generateSortTail( int addr; int addrOnce = 0; int iTab; - int pseudoTab = 0; ExprList *pOrderBy = pSort->pOrderBy; int eDest = pDest->eDest; int iParm = pDest->iSDParm; int regRow; int regRowid; int nKey; + int iSortTab; /* Sorter cursor to read from */ + int nSortData; /* Trailing values to read from sorter */ + int i; + int bSeq; /* True if sorter record includes seq. no. */ +#ifdef SQLITE_ENABLE_EXPLAIN_COMMENTS + struct ExprList_item *aOutEx = p->pEList->a; +#endif if( pSort->labelBkOut ){ sqlite3VdbeAddOp2(v, OP_Gosub, pSort->regReturn, pSort->labelBkOut); sqlite3VdbeAddOp2(v, OP_Goto, 0, addrBreak); sqlite3VdbeResolveLabel(v, pSort->labelBkOut); - addrOnce = sqlite3CodeOnce(pParse); VdbeCoverage(v); } iTab = pSort->iECursor; - regRow = sqlite3GetTempReg(pParse); if( eDest==SRT_Output || eDest==SRT_Coroutine ){ - pseudoTab = pParse->nTab++; - sqlite3VdbeAddOp3(v, OP_OpenPseudo, pseudoTab, regRow, nColumn); regRowid = 0; + regRow = pDest->iSdst; + nSortData = nColumn; }else{ regRowid = sqlite3GetTempReg(pParse); + regRow = sqlite3GetTempReg(pParse); + nSortData = 1; } nKey = pOrderBy->nExpr - pSort->nOBSat; if( pSort->sortFlags & SORTFLAG_UseSorter ){ int regSortOut = ++pParse->nMem; - int ptab2 = pParse->nTab++; - sqlite3VdbeAddOp3(v, OP_OpenPseudo, ptab2, regSortOut, nKey+2); + iSortTab = pParse->nTab++; + if( pSort->labelBkOut ){ + addrOnce = sqlite3CodeOnce(pParse); VdbeCoverage(v); + } + sqlite3VdbeAddOp3(v, OP_OpenPseudo, iSortTab, regSortOut, nKey+1+nSortData); if( addrOnce ) sqlite3VdbeJumpHere(v, addrOnce); addr = 1 + sqlite3VdbeAddOp2(v, OP_SorterSort, iTab, addrBreak); VdbeCoverage(v); codeOffset(v, p->iOffset, addrContinue); - sqlite3VdbeAddOp2(v, OP_SorterData, iTab, regSortOut); - sqlite3VdbeAddOp3(v, OP_Column, ptab2, nKey+1, regRow); - sqlite3VdbeChangeP5(v, OPFLAG_CLEARCACHE); + sqlite3VdbeAddOp3(v, OP_SorterData, iTab, regSortOut, iSortTab); + bSeq = 0; }else{ - if( addrOnce ) sqlite3VdbeJumpHere(v, addrOnce); addr = 1 + sqlite3VdbeAddOp2(v, OP_Sort, iTab, addrBreak); VdbeCoverage(v); codeOffset(v, p->iOffset, addrContinue); - sqlite3VdbeAddOp3(v, OP_Column, iTab, nKey+1, regRow); + iSortTab = iTab; + bSeq = 1; + } + for(i=0; i<nSortData; i++){ + sqlite3VdbeAddOp3(v, OP_Column, iSortTab, nKey+bSeq+i, regRow+i); + VdbeComment((v, "%s", aOutEx[i].zName ? aOutEx[i].zName : aOutEx[i].zSpan)); } switch( eDest ){ case SRT_Table: @@ -102645,17 +105325,9 @@ static void generateSortTail( } #endif default: { - int i; assert( eDest==SRT_Output || eDest==SRT_Coroutine ); testcase( eDest==SRT_Output ); testcase( eDest==SRT_Coroutine ); - for(i=0; i<nColumn; i++){ - assert( regRow!=pDest->iSdst+i ); - sqlite3VdbeAddOp3(v, OP_Column, pseudoTab, i, pDest->iSdst+i); - if( i==0 ){ - sqlite3VdbeChangeP5(v, OPFLAG_CLEARCACHE); - } - } if( eDest==SRT_Output ){ sqlite3VdbeAddOp2(v, OP_ResultRow, pDest->iSdst, nColumn); sqlite3ExprCacheAffinityChange(pParse, pDest->iSdst, nColumn); @@ -102665,9 +105337,10 @@ static void generateSortTail( break; } } - sqlite3ReleaseTempReg(pParse, regRow); - sqlite3ReleaseTempReg(pParse, regRowid); - + if( regRowid ){ + sqlite3ReleaseTempReg(pParse, regRow); + sqlite3ReleaseTempReg(pParse, regRowid); + } /* The bottom of the loop */ sqlite3VdbeResolveLabel(v, addrContinue); @@ -102962,7 +105635,7 @@ static void generateColumnNames( } /* -** Given a an expression list (which is really the list of expressions +** Given an expression list (which is really the list of expressions ** that form the result set of a SELECT statement) compute appropriate ** column names for a table that would hold the expression list. ** @@ -103035,7 +105708,7 @@ static int selectColumnsFromExprList( } /* Make sure the column name is unique. If the name is not unique, - ** append a integer to the name so that it becomes unique. + ** append an integer to the name so that it becomes unique. */ nName = sqlite3Strlen30(zName); for(j=cnt=0; j<i; j++){ @@ -104519,7 +107192,7 @@ static void substSelect( ** ** SELECT x+y AS a FROM t1 WHERE z<100 AND a>5 ** -** The code generated for this simpification gives the same result +** The code generated for this simplification gives the same result ** but only has to scan the data once. And because indices might ** exist on the table t1, a complete scan of the data might be ** avoided. @@ -104552,8 +107225,10 @@ static void substSelect( ** (9) The subquery does not use LIMIT or the outer query does not use ** aggregates. ** -** (10) The subquery does not use aggregates or the outer query does not -** use LIMIT. +** (**) Restriction (10) was removed from the code on 2005-02-05 but we +** accidently carried the comment forward until 2014-09-15. Original +** text: "The subquery does not use aggregates or the outer query does not +** use LIMIT." ** ** (11) The subquery and the outer query do not both have ORDER BY clauses. ** @@ -104616,6 +107291,11 @@ static void substSelect( ** parent to a compound query confuses the code that handles ** recursive queries in multiSelect(). ** +** (24) The subquery is not an aggregate that uses the built-in min() or +** or max() functions. (Without this restriction, a query like: +** "SELECT x FROM (SELECT max(y), x FROM t1)" would not necessarily +** return the value X for which Y was maximal.) +** ** ** In this routine, the "p" parameter is a pointer to the outer query. ** The subquery is p->pSrc->a[iFrom]. isAgg is true if the outer query @@ -104663,7 +107343,7 @@ static int flattenSubquery( pSubSrc = pSub->pSrc; assert( pSubSrc ); /* Prior to version 3.1.2, when LIMIT and OFFSET had to be simple constants, - ** not arbitrary expresssions, we allowed some combining of LIMIT and OFFSET + ** not arbitrary expressions, we allowed some combining of LIMIT and OFFSET ** because they could be computed at compile-time. But when LIMIT and OFFSET ** became arbitrary expressions, we were forced to add restrictions (13) ** and (14). */ @@ -104688,8 +107368,14 @@ static int flattenSubquery( if( pSub->pLimit && (p->selFlags & SF_Distinct)!=0 ){ return 0; /* Restriction (21) */ } - if( pSub->selFlags & SF_Recursive ) return 0; /* Restriction (22) */ - if( (p->selFlags & SF_Recursive) && pSub->pPrior ) return 0; /* (23) */ + testcase( pSub->selFlags & SF_Recursive ); + testcase( pSub->selFlags & SF_MinMaxAgg ); + if( pSub->selFlags & (SF_Recursive|SF_MinMaxAgg) ){ + return 0; /* Restrictions (22) and (24) */ + } + if( (p->selFlags & SF_Recursive) && pSub->pPrior ){ + return 0; /* Restriction (23) */ + } /* OBSOLETE COMMENT 1: ** Restriction 3: If the subquery is a join, make sure the subquery is @@ -104763,6 +107449,8 @@ static int flattenSubquery( } /***** If we reach this point, flattening is permitted. *****/ + SELECTTRACE(1,pParse,p,("flatten %s.%p from term %d\n", + pSub->zSelName, pSub, iFrom)); /* Authorize the subquery */ pParse->zAuthContext = pSubitem->zName; @@ -104815,6 +107503,7 @@ static int flattenSubquery( p->pLimit = 0; p->pOffset = 0; pNew = sqlite3SelectDup(db, p, 0); + sqlite3SelectSetName(pNew, pSub->zSelName); p->pOffset = pOffset; p->pLimit = pLimit; p->pOrderBy = pOrderBy; @@ -104827,6 +107516,9 @@ static int flattenSubquery( if( pPrior ) pPrior->pNext = pNew; pNew->pNext = p; p->pPrior = pNew; + SELECTTRACE(2,pParse,p, + ("compound-subquery flattener creates %s.%p as peer\n", + pNew->zSelName, pNew)); } if( db->mallocFailed ) return 1; } @@ -104956,8 +107648,23 @@ static int flattenSubquery( pParent->pHaving = substExpr(db, pParent->pHaving, iParent, pSub->pEList); } if( pSub->pOrderBy ){ + /* At this point, any non-zero iOrderByCol values indicate that the + ** ORDER BY column expression is identical to the iOrderByCol'th + ** expression returned by SELECT statement pSub. Since these values + ** do not necessarily correspond to columns in SELECT statement pParent, + ** zero them before transfering the ORDER BY clause. + ** + ** Not doing this may cause an error if a subsequent call to this + ** function attempts to flatten a compound sub-query into pParent + ** (the only way this can happen is if the compound sub-query is + ** currently part of pSub->pSrc). See ticket [d11a6e908f]. */ + ExprList *pOrderBy = pSub->pOrderBy; + for(i=0; i<pOrderBy->nExpr; i++){ + pOrderBy->a[i].u.x.iOrderByCol = 0; + } assert( pParent->pOrderBy==0 ); - pParent->pOrderBy = pSub->pOrderBy; + assert( pSub->pPrior==0 ); + pParent->pOrderBy = pOrderBy; pSub->pOrderBy = 0; }else if( pParent->pOrderBy ){ substExprList(db, pParent->pOrderBy, iParent, pSub->pEList); @@ -105003,6 +107710,13 @@ static int flattenSubquery( */ sqlite3SelectDelete(db, pSub1); +#if SELECTTRACE_ENABLED + if( sqlite3SelectTrace & 0x100 ){ + sqlite3DebugPrintf("After flattening:\n"); + sqlite3TreeViewSelect(0, p, 0); + } +#endif + return 1; } #endif /* !defined(SQLITE_OMIT_SUBQUERY) || !defined(SQLITE_OMIT_VIEW) */ @@ -105049,7 +107763,7 @@ static u8 minMaxQuery(AggInfo *pAggInfo, ExprList **ppMinMax){ /* ** The select statement passed as the first argument is an aggregate query. -** The second argment is the associated aggregate-info object. This +** The second argument is the associated aggregate-info object. This ** function tests if the SELECT is of the form: ** ** SELECT count(*) FROM <tbl> @@ -105379,10 +108093,10 @@ static void selectPopWith(Walker *pWalker, Select *p){ ** fill pTabList->a[].pSelect with a copy of the SELECT statement ** that implements the view. A copy is made of the view's SELECT ** statement so that we can freely modify or delete that statement -** without worrying about messing up the presistent representation +** without worrying about messing up the persistent representation ** of the view. ** -** (3) Add terms to the WHERE clause to accomodate the NATURAL keyword +** (3) Add terms to the WHERE clause to accommodate the NATURAL keyword ** on joins and the ON and USING clause of joins. ** ** (4) Scan the list of columns in the result set (pEList) looking @@ -105473,6 +108187,7 @@ static int selectExpander(Walker *pWalker, Select *p){ if( sqlite3ViewGetColumnNames(pParse, pTab) ) return WRC_Abort; assert( pFrom->pSelect==0 ); pFrom->pSelect = sqlite3SelectDup(db, pTab->pSelect, 0); + sqlite3SelectSetName(pFrom->pSelect, pTab->zName); sqlite3WalkSelect(pWalker, pFrom->pSelect); } #endif @@ -106007,6 +108722,13 @@ SQLITE_PRIVATE int sqlite3Select( } if( sqlite3AuthCheck(pParse, SQLITE_SELECT, 0, 0, 0) ) return 1; memset(&sAggInfo, 0, sizeof(sAggInfo)); +#if SELECTTRACE_ENABLED + pParse->nSelectIndent++; + SELECTTRACE(1,pParse,p, ("begin processing:\n")); + if( sqlite3SelectTrace & 0x100 ){ + sqlite3TreeViewSelect(0, p, 0); + } +#endif assert( p->pOrderBy==0 || pDest->eDest!=SRT_DistFifo ); assert( p->pOrderBy==0 || pDest->eDest!=SRT_Fifo ); @@ -106163,6 +108885,10 @@ SQLITE_PRIVATE int sqlite3Select( if( p->pPrior ){ rc = multiSelect(pParse, p, pDest); explainSetInteger(pParse->iSelectId, iRestoreSelectId); +#if SELECTTRACE_ENABLED + SELECTTRACE(1,pParse,p,("end compound-select processing\n")); + pParse->nSelectIndent--; +#endif return rc; } #endif @@ -106208,8 +108934,9 @@ SQLITE_PRIVATE int sqlite3Select( sSort.iECursor = pParse->nTab++; sSort.addrSortIndex = sqlite3VdbeAddOp4(v, OP_OpenEphemeral, - sSort.iECursor, sSort.pOrderBy->nExpr+2, 0, - (char*)pKeyInfo, P4_KEYINFO); + sSort.iECursor, sSort.pOrderBy->nExpr+1+pEList->nExpr, 0, + (char*)pKeyInfo, P4_KEYINFO + ); }else{ sSort.addrSortIndex = -1; } @@ -106340,7 +109067,7 @@ SQLITE_PRIVATE int sqlite3Select( sNC.pSrcList = pTabList; sNC.pAggInfo = &sAggInfo; sAggInfo.mnReg = pParse->nMem+1; - sAggInfo.nSortingColumn = pGroupBy ? pGroupBy->nExpr+1 : 0; + sAggInfo.nSortingColumn = pGroupBy ? pGroupBy->nExpr : 0; sAggInfo.pGroupBy = pGroupBy; sqlite3ExprAnalyzeAggList(&sNC, pEList); sqlite3ExprAnalyzeAggList(&sNC, sSort.pOrderBy); @@ -106433,8 +109160,8 @@ SQLITE_PRIVATE int sqlite3Select( groupBySort = 1; nGroupBy = pGroupBy->nExpr; - nCol = nGroupBy + 1; - j = nGroupBy+1; + nCol = nGroupBy; + j = nGroupBy; for(i=0; i<sAggInfo.nColumn; i++){ if( sAggInfo.aCol[i].iSorterColumn>=j ){ nCol++; @@ -106444,8 +109171,7 @@ SQLITE_PRIVATE int sqlite3Select( regBase = sqlite3GetTempRange(pParse, nCol); sqlite3ExprCacheClear(pParse); sqlite3ExprCodeExprList(pParse, pGroupBy, regBase, 0); - sqlite3VdbeAddOp2(v, OP_Sequence, sAggInfo.sortingIdx,regBase+nGroupBy); - j = nGroupBy+1; + j = nGroupBy; for(i=0; i<sAggInfo.nColumn; i++){ struct AggInfo_col *pCol = &sAggInfo.aCol[i]; if( pCol->iSorterColumn>=j ){ @@ -106498,12 +109224,11 @@ SQLITE_PRIVATE int sqlite3Select( addrTopOfLoop = sqlite3VdbeCurrentAddr(v); sqlite3ExprCacheClear(pParse); if( groupBySort ){ - sqlite3VdbeAddOp2(v, OP_SorterData, sAggInfo.sortingIdx, sortOut); + sqlite3VdbeAddOp3(v, OP_SorterData, sAggInfo.sortingIdx, sortOut,sortPTab); } for(j=0; j<pGroupBy->nExpr; j++){ if( groupBySort ){ sqlite3VdbeAddOp3(v, OP_Column, sortPTab, j, iBMem+j); - if( j==0 ) sqlite3VdbeChangeP5(v, OPFLAG_CLEARCACHE); }else{ sAggInfo.directMode = 1; sqlite3ExprCode(pParse, pGroupBy->a[j].pExpr, iBMem+j); @@ -106762,103 +109487,106 @@ select_end: sqlite3DbFree(db, sAggInfo.aCol); sqlite3DbFree(db, sAggInfo.aFunc); +#if SELECTTRACE_ENABLED + SELECTTRACE(1,pParse,p,("end processing\n")); + pParse->nSelectIndent--; +#endif return rc; } -#if defined(SQLITE_ENABLE_TREE_EXPLAIN) +#ifdef SQLITE_DEBUG /* ** Generate a human-readable description of a the Select object. */ -static void explainOneSelect(Vdbe *pVdbe, Select *p){ - sqlite3ExplainPrintf(pVdbe, "SELECT "); - if( p->selFlags & (SF_Distinct|SF_Aggregate) ){ - if( p->selFlags & SF_Distinct ){ - sqlite3ExplainPrintf(pVdbe, "DISTINCT "); - } - if( p->selFlags & SF_Aggregate ){ - sqlite3ExplainPrintf(pVdbe, "agg_flag "); - } - sqlite3ExplainNL(pVdbe); - sqlite3ExplainPrintf(pVdbe, " "); - } - sqlite3ExplainExprList(pVdbe, p->pEList); - sqlite3ExplainNL(pVdbe); +SQLITE_PRIVATE void sqlite3TreeViewSelect(TreeView *pView, const Select *p, u8 moreToFollow){ + int n = 0; + pView = sqlite3TreeViewPush(pView, moreToFollow); + sqlite3TreeViewLine(pView, "SELECT%s%s", + ((p->selFlags & SF_Distinct) ? " DISTINCT" : ""), + ((p->selFlags & SF_Aggregate) ? " agg_flag" : "") + ); + if( p->pSrc && p->pSrc->nSrc ) n++; + if( p->pWhere ) n++; + if( p->pGroupBy ) n++; + if( p->pHaving ) n++; + if( p->pOrderBy ) n++; + if( p->pLimit ) n++; + if( p->pOffset ) n++; + if( p->pPrior ) n++; + sqlite3TreeViewExprList(pView, p->pEList, (n--)>0, "result-set"); if( p->pSrc && p->pSrc->nSrc ){ int i; - sqlite3ExplainPrintf(pVdbe, "FROM "); - sqlite3ExplainPush(pVdbe); + pView = sqlite3TreeViewPush(pView, (n--)>0); + sqlite3TreeViewLine(pView, "FROM"); for(i=0; i<p->pSrc->nSrc; i++){ struct SrcList_item *pItem = &p->pSrc->a[i]; - sqlite3ExplainPrintf(pVdbe, "{%d,*} = ", pItem->iCursor); - if( pItem->pSelect ){ - sqlite3ExplainSelect(pVdbe, pItem->pSelect); - if( pItem->pTab ){ - sqlite3ExplainPrintf(pVdbe, " (tabname=%s)", pItem->pTab->zName); - } + StrAccum x; + char zLine[100]; + sqlite3StrAccumInit(&x, zLine, sizeof(zLine), 0); + sqlite3XPrintf(&x, 0, "{%d,*}", pItem->iCursor); + if( pItem->zDatabase ){ + sqlite3XPrintf(&x, 0, " %s.%s", pItem->zDatabase, pItem->zName); }else if( pItem->zName ){ - sqlite3ExplainPrintf(pVdbe, "%s", pItem->zName); + sqlite3XPrintf(&x, 0, " %s", pItem->zName); + } + if( pItem->pTab ){ + sqlite3XPrintf(&x, 0, " tabname=%Q", pItem->pTab->zName); } if( pItem->zAlias ){ - sqlite3ExplainPrintf(pVdbe, " (AS %s)", pItem->zAlias); + sqlite3XPrintf(&x, 0, " (AS %s)", pItem->zAlias); } if( pItem->jointype & JT_LEFT ){ - sqlite3ExplainPrintf(pVdbe, " LEFT-JOIN"); + sqlite3XPrintf(&x, 0, " LEFT-JOIN"); + } + sqlite3StrAccumFinish(&x); + sqlite3TreeViewItem(pView, zLine, i<p->pSrc->nSrc-1); + if( pItem->pSelect ){ + sqlite3TreeViewSelect(pView, pItem->pSelect, 0); } - sqlite3ExplainNL(pVdbe); + sqlite3TreeViewPop(pView); } - sqlite3ExplainPop(pVdbe); + sqlite3TreeViewPop(pView); } if( p->pWhere ){ - sqlite3ExplainPrintf(pVdbe, "WHERE "); - sqlite3ExplainExpr(pVdbe, p->pWhere); - sqlite3ExplainNL(pVdbe); + sqlite3TreeViewItem(pView, "WHERE", (n--)>0); + sqlite3TreeViewExpr(pView, p->pWhere, 0); + sqlite3TreeViewPop(pView); } if( p->pGroupBy ){ - sqlite3ExplainPrintf(pVdbe, "GROUPBY "); - sqlite3ExplainExprList(pVdbe, p->pGroupBy); - sqlite3ExplainNL(pVdbe); + sqlite3TreeViewExprList(pView, p->pGroupBy, (n--)>0, "GROUPBY"); } if( p->pHaving ){ - sqlite3ExplainPrintf(pVdbe, "HAVING "); - sqlite3ExplainExpr(pVdbe, p->pHaving); - sqlite3ExplainNL(pVdbe); + sqlite3TreeViewItem(pView, "HAVING", (n--)>0); + sqlite3TreeViewExpr(pView, p->pHaving, 0); + sqlite3TreeViewPop(pView); } if( p->pOrderBy ){ - sqlite3ExplainPrintf(pVdbe, "ORDERBY "); - sqlite3ExplainExprList(pVdbe, p->pOrderBy); - sqlite3ExplainNL(pVdbe); + sqlite3TreeViewExprList(pView, p->pOrderBy, (n--)>0, "ORDERBY"); } if( p->pLimit ){ - sqlite3ExplainPrintf(pVdbe, "LIMIT "); - sqlite3ExplainExpr(pVdbe, p->pLimit); - sqlite3ExplainNL(pVdbe); + sqlite3TreeViewItem(pView, "LIMIT", (n--)>0); + sqlite3TreeViewExpr(pView, p->pLimit, 0); + sqlite3TreeViewPop(pView); } if( p->pOffset ){ - sqlite3ExplainPrintf(pVdbe, "OFFSET "); - sqlite3ExplainExpr(pVdbe, p->pOffset); - sqlite3ExplainNL(pVdbe); - } -} -SQLITE_PRIVATE void sqlite3ExplainSelect(Vdbe *pVdbe, Select *p){ - if( p==0 ){ - sqlite3ExplainPrintf(pVdbe, "(null-select)"); - return; + sqlite3TreeViewItem(pView, "OFFSET", (n--)>0); + sqlite3TreeViewExpr(pView, p->pOffset, 0); + sqlite3TreeViewPop(pView); } - sqlite3ExplainPush(pVdbe); - while( p ){ - explainOneSelect(pVdbe, p); - p = p->pNext; - if( p==0 ) break; - sqlite3ExplainNL(pVdbe); - sqlite3ExplainPrintf(pVdbe, "%s\n", selectOpName(p->op)); + if( p->pPrior ){ + const char *zOp = "UNION"; + switch( p->op ){ + case TK_ALL: zOp = "UNION ALL"; break; + case TK_INTERSECT: zOp = "INTERSECT"; break; + case TK_EXCEPT: zOp = "EXCEPT"; break; + } + sqlite3TreeViewItem(pView, zOp, (n--)>0); + sqlite3TreeViewSelect(pView, p->pPrior, 0); + sqlite3TreeViewPop(pView); } - sqlite3ExplainPrintf(pVdbe, "END"); - sqlite3ExplainPop(pVdbe); + sqlite3TreeViewPop(pView); } - -/* End of the structure debug printing code -*****************************************************************************/ -#endif /* defined(SQLITE_ENABLE_TREE_EXPLAIN) */ +#endif /* SQLITE_DEBUG */ /************** End of select.c **********************************************/ /************** Begin file table.c *******************************************/ @@ -106892,10 +109620,10 @@ SQLITE_PRIVATE void sqlite3ExplainSelect(Vdbe *pVdbe, Select *p){ typedef struct TabResult { char **azResult; /* Accumulated output */ char *zErrMsg; /* Error message text, if an error occurs */ - int nAlloc; /* Slots allocated for azResult[] */ - int nRow; /* Number of rows in the result */ - int nColumn; /* Number of columns in the result */ - int nData; /* Slots used in azResult[]. (nRow+1)*nColumn */ + u32 nAlloc; /* Slots allocated for azResult[] */ + u32 nRow; /* Number of rows in the result */ + u32 nColumn; /* Number of columns in the result */ + u32 nData; /* Slots used in azResult[]. (nRow+1)*nColumn */ int rc; /* Return code from sqlite3_exec() */ } TabResult; @@ -106921,7 +109649,7 @@ static int sqlite3_get_table_cb(void *pArg, int nCol, char **argv, char **colv){ if( p->nData + need > p->nAlloc ){ char **azNew; p->nAlloc = p->nAlloc*2 + need; - azNew = sqlite3_realloc( p->azResult, sizeof(char*)*p->nAlloc ); + azNew = sqlite3_realloc64( p->azResult, sizeof(char*)*p->nAlloc ); if( azNew==0 ) goto malloc_failed; p->azResult = azNew; } @@ -106936,7 +109664,7 @@ static int sqlite3_get_table_cb(void *pArg, int nCol, char **argv, char **colv){ if( z==0 ) goto malloc_failed; p->azResult[p->nData++] = z; } - }else if( p->nColumn!=nCol ){ + }else if( (int)p->nColumn!=nCol ){ sqlite3_free(p->zErrMsg); p->zErrMsg = sqlite3_mprintf( "sqlite3_get_table() called with two or more incompatible queries" @@ -107045,7 +109773,7 @@ SQLITE_API int sqlite3_get_table( ** This routine frees the space the sqlite3_get_table() malloced. */ SQLITE_API void sqlite3_free_table( - char **azResult /* Result returned from from sqlite3_get_table() */ + char **azResult /* Result returned from sqlite3_get_table() */ ){ if( azResult ){ int i, n; @@ -107189,7 +109917,7 @@ SQLITE_PRIVATE void sqlite3BeginTrigger( ** ^^^^^^^^ ** ** To maintain backwards compatibility, ignore the database - ** name on pTableName if we are reparsing our of SQLITE_MASTER. + ** name on pTableName if we are reparsing out of SQLITE_MASTER. */ if( db->init.busy && iDb!=1 ){ sqlite3DbFree(db, pTableName->a[0].zDatabase); @@ -107242,8 +109970,7 @@ SQLITE_PRIVATE void sqlite3BeginTrigger( goto trigger_cleanup; } assert( sqlite3SchemaMutexHeld(db, iDb, 0) ); - if( sqlite3HashFind(&(db->aDb[iDb].pSchema->trigHash), - zName, sqlite3Strlen30(zName)) ){ + if( sqlite3HashFind(&(db->aDb[iDb].pSchema->trigHash),zName) ){ if( !noErr ){ sqlite3ErrorMsg(pParse, "trigger %T already exists", pName); }else{ @@ -107386,13 +110113,12 @@ SQLITE_PRIVATE void sqlite3FinishTrigger( Trigger *pLink = pTrig; Hash *pHash = &db->aDb[iDb].pSchema->trigHash; assert( sqlite3SchemaMutexHeld(db, iDb, 0) ); - pTrig = sqlite3HashInsert(pHash, zName, sqlite3Strlen30(zName), pTrig); + pTrig = sqlite3HashInsert(pHash, zName, pTrig); if( pTrig ){ db->mallocFailed = 1; }else if( pLink->pSchema==pLink->pTabSchema ){ Table *pTab; - int n = sqlite3Strlen30(pLink->table); - pTab = sqlite3HashFind(&pLink->pTabSchema->tblHash, pLink->table, n); + pTab = sqlite3HashFind(&pLink->pTabSchema->tblHash, pLink->table); assert( pTab!=0 ); pLink->pNext = pTab->pTrigger; pTab->pTrigger = pLink; @@ -107551,7 +110277,6 @@ SQLITE_PRIVATE void sqlite3DropTrigger(Parse *pParse, SrcList *pName, int noErr) int i; const char *zDb; const char *zName; - int nName; sqlite3 *db = pParse->db; if( db->mallocFailed ) goto drop_trigger_cleanup; @@ -107562,13 +110287,12 @@ SQLITE_PRIVATE void sqlite3DropTrigger(Parse *pParse, SrcList *pName, int noErr) assert( pName->nSrc==1 ); zDb = pName->a[0].zDatabase; zName = pName->a[0].zName; - nName = sqlite3Strlen30(zName); assert( zDb!=0 || sqlite3BtreeHoldsAllMutexes(db) ); for(i=OMIT_TEMPDB; i<db->nDb; i++){ int j = (i<2) ? i^1 : i; /* Search TEMP before MAIN */ if( zDb && sqlite3StrICmp(db->aDb[j].zName, zDb) ) continue; assert( sqlite3SchemaMutexHeld(db, j, 0) ); - pTrigger = sqlite3HashFind(&(db->aDb[j].pSchema->trigHash), zName, nName); + pTrigger = sqlite3HashFind(&(db->aDb[j].pSchema->trigHash), zName); if( pTrigger ) break; } if( !pTrigger ){ @@ -107591,8 +110315,7 @@ drop_trigger_cleanup: ** is set on. */ static Table *tableOfTrigger(Trigger *pTrigger){ - int n = sqlite3Strlen30(pTrigger->table); - return sqlite3HashFind(&pTrigger->pTabSchema->tblHash, pTrigger->table, n); + return sqlite3HashFind(&pTrigger->pTabSchema->tblHash, pTrigger->table); } @@ -107664,7 +110387,7 @@ SQLITE_PRIVATE void sqlite3UnlinkAndDeleteTrigger(sqlite3 *db, int iDb, const ch assert( sqlite3SchemaMutexHeld(db, iDb, 0) ); pHash = &(db->aDb[iDb].pSchema->trigHash); - pTrigger = sqlite3HashInsert(pHash, zName, sqlite3Strlen30(zName), 0); + pTrigger = sqlite3HashInsert(pHash, zName, 0); if( ALWAYS(pTrigger) ){ if( pTrigger->pSchema==pTrigger->pTabSchema ){ Table *pTab = tableOfTrigger(pTrigger); @@ -108515,7 +111238,7 @@ SQLITE_PRIVATE void sqlite3Update( } /* If we are trying to update a view, realize that view into - ** a ephemeral table. + ** an ephemeral table. */ #if !defined(SQLITE_OMIT_VIEW) && !defined(SQLITE_OMIT_TRIGGER) if( isView ){ @@ -108619,8 +111342,8 @@ SQLITE_PRIVATE void sqlite3Update( /* Top of the update loop */ if( okOnePass ){ - if( aToOpen[iDataCur-iBaseCur] ){ - assert( pPk!=0 ); + if( aToOpen[iDataCur-iBaseCur] && !isView ){ + assert( pPk ); sqlite3VdbeAddOp4Int(v, OP_NotFound, iDataCur, labelBreak, regKey, nKey); VdbeCoverageNeverTaken(v); } @@ -108676,7 +111399,7 @@ SQLITE_PRIVATE void sqlite3Update( } /* Populate the array of registers beginning at regNew with the new - ** row data. This array is used to check constaints, create the new + ** row data. This array is used to check constants, create the new ** table and index records, and as the values for any new.* references ** made by triggers. ** @@ -108856,7 +111579,7 @@ update_cleanup: return; } /* Make sure "isView" and other macros defined above are undefined. Otherwise -** thely may interfere with compilation of other functions in this file +** they may interfere with compilation of other functions in this file ** (or in another file, if this file becomes part of the amalgamation). */ #ifdef isView #undef isView @@ -108869,7 +111592,7 @@ update_cleanup: /* ** Generate code for an UPDATE of a virtual table. ** -** The strategy is that we create an ephemerial table that contains +** The strategy is that we create an ephemeral table that contains ** for each row to be changed: ** ** (A) The original rowid of that row. @@ -108877,7 +111600,7 @@ update_cleanup: ** (C) The content of every column in the row. ** ** Then we loop over this ephemeral table and for each row in -** the ephermeral table call VUpdate. +** the ephemeral table call VUpdate. ** ** When finished, drop the ephemeral table. ** @@ -109050,7 +111773,7 @@ static int execExecSql(sqlite3 *db, char **pzErrMsg, const char *zSql){ ** step (3) requires additional temporary disk space approximately equal ** to the size of the original database for the rollback journal. ** Hence, temporary disk space that is approximately 2x the size of the -** orginal database is required. Every page of the database is written +** original database is required. Every page of the database is written ** approximately 3 times: Once for step (2) and twice for step (3). ** Two writes per page are required in step (3) because the original ** database content must be written into the rollback journal prior to @@ -109377,7 +112100,7 @@ static int createModule( sqlite3_mutex_enter(db->mutex); nName = sqlite3Strlen30(zName); - if( sqlite3HashFind(&db->aModule, zName, nName) ){ + if( sqlite3HashFind(&db->aModule, zName) ){ rc = SQLITE_MISUSE_BKPT; }else{ Module *pMod; @@ -109390,7 +112113,7 @@ static int createModule( pMod->pModule = pModule; pMod->pAux = pAux; pMod->xDestroy = xDestroy; - pDel = (Module *)sqlite3HashInsert(&db->aModule,zCopy,nName,(void*)pMod); + pDel = (Module *)sqlite3HashInsert(&db->aModule,zCopy,(void*)pMod); assert( pDel==0 || pDel==pMod ); if( pDel ){ db->mallocFailed = 1; @@ -109759,9 +112482,8 @@ SQLITE_PRIVATE void sqlite3VtabFinishParse(Parse *pParse, Token *pEnd){ Table *pOld; Schema *pSchema = pTab->pSchema; const char *zName = pTab->zName; - int nName = sqlite3Strlen30(zName); assert( sqlite3SchemaMutexHeld(db, 0, pSchema) ); - pOld = sqlite3HashInsert(&pSchema->tblHash, zName, nName, pTab); + pOld = sqlite3HashInsert(&pSchema->tblHash, zName, pTab); if( pOld ){ db->mallocFailed = 1; assert( pTab==pOld ); /* Malloc must have failed inside HashInsert() */ @@ -109854,6 +112576,7 @@ static int vtabCallConstructor( }else if( ALWAYS(pVTable->pVtab) ){ /* Justification of ALWAYS(): A correct vtab constructor must allocate ** the sqlite3_vtab object if successful. */ + memset(pVTable->pVtab, 0, sizeof(pVTable->pVtab[0])); pVTable->pVtab->pModule = pMod->pModule; pVTable->nRef = 1; if( sCtx.pTab ){ @@ -109927,7 +112650,7 @@ SQLITE_PRIVATE int sqlite3VtabCallConnect(Parse *pParse, Table *pTab){ /* Locate the required virtual table module */ zMod = pTab->azModuleArg[0]; - pMod = (Module*)sqlite3HashFind(&db->aModule, zMod, sqlite3Strlen30(zMod)); + pMod = (Module*)sqlite3HashFind(&db->aModule, zMod); if( !pMod ){ const char *zModule = pTab->azModuleArg[0]; @@ -109995,7 +112718,7 @@ SQLITE_PRIVATE int sqlite3VtabCallCreate(sqlite3 *db, int iDb, const char *zTab, /* Locate the required virtual table module */ zMod = pTab->azModuleArg[0]; - pMod = (Module*)sqlite3HashFind(&db->aModule, zMod, sqlite3Strlen30(zMod)); + pMod = (Module*)sqlite3HashFind(&db->aModule, zMod); /* If the module has been registered and includes a Create method, ** invoke it now. If the module has not been registered, return an @@ -110034,7 +112757,7 @@ SQLITE_API int sqlite3_declare_vtab(sqlite3 *db, const char *zCreateTable){ sqlite3_mutex_enter(db->mutex); if( !db->pVtabCtx || !(pTab = db->pVtabCtx->pTab) ){ - sqlite3Error(db, SQLITE_MISUSE, 0); + sqlite3Error(db, SQLITE_MISUSE); sqlite3_mutex_leave(db->mutex); return SQLITE_MISUSE_BKPT; } @@ -110062,7 +112785,7 @@ SQLITE_API int sqlite3_declare_vtab(sqlite3 *db, const char *zCreateTable){ } db->pVtabCtx->pTab = 0; }else{ - sqlite3Error(db, SQLITE_ERROR, (zErr ? "%s" : 0), zErr); + sqlite3ErrorWithMsg(db, SQLITE_ERROR, (zErr ? "%s" : 0), zErr); sqlite3DbFree(db, zErr); rc = SQLITE_ERROR; } @@ -110423,7 +113146,7 @@ SQLITE_API int sqlite3_vtab_config(sqlite3 *db, int op, ...){ } va_end(ap); - if( rc!=SQLITE_OK ) sqlite3Error(db, rc, 0); + if( rc!=SQLITE_OK ) sqlite3Error(db, rc); sqlite3_mutex_leave(db->mutex); return rc; } @@ -110630,7 +113353,7 @@ static int whereLoopResize(sqlite3*, WhereLoop*, int); ** 1. Then using those as a basis to compute the N best WherePath objects ** of length 2. And so forth until the length of WherePaths equals the ** number of nodes in the FROM clause. The best (lowest cost) WherePath -** at the end is the choosen query plan. +** at the end is the chosen query plan. */ struct WherePath { Bitmask maskLoop; /* Bitmask of all WhereLoop objects in this path */ @@ -111263,11 +113986,6 @@ static int allowedOp(int op){ } /* -** Swap two objects of type TYPE. -*/ -#define SWAP(TYPE,A,B) {TYPE t=A; A=B; B=t;} - -/* ** Commute a comparison operator. Expressions of the form "X op Y" ** are converted into "Y op X". ** @@ -111599,7 +114317,7 @@ static int isLikeOrGlob( ** value of the variable means there is no need to invoke the LIKE ** function, then no OP_Variable will be added to the program. ** This causes problems for the sqlite3_bind_parameter_name() - ** API. To workaround them, add a dummy OP_Variable here. + ** API. To work around them, add a dummy OP_Variable here. */ int r1 = sqlite3GetTempReg(pParse); sqlite3ExprCodeTarget(pParse, pRight, r1); @@ -111719,7 +114437,7 @@ static void transferJoinMarkings(Expr *pDerived, Expr *pBase){ ** appropriate for indexing exist. ** ** All examples A through E above satisfy case 2. But if a term -** also statisfies case 1 (such as B) we know that the optimizer will +** also satisfies case 1 (such as B) we know that the optimizer will ** always prefer case 1, so in that case we pretend that case 2 is not ** satisfied. ** @@ -111877,7 +114595,7 @@ static void exprAnalyzeOrTerm( } if( (chngToIN & getMask(&pWInfo->sMaskSet, pOrTerm->leftCursor))==0 ){ /* This term must be of the form t1.a==t2.b where t2 is in the - ** chngToIN set but t1 is not. This term will be either preceeded + ** chngToIN set but t1 is not. This term will be either preceded ** or follwed by an inverted copy (t2.b==t1.a). Skip this term ** and use its inversion. */ testcase( pOrTerm->wtFlags & TERM_COPIED ); @@ -112288,7 +115006,7 @@ static void exprAnalyze( } /* -** This function searches pList for a entry that matches the iCol-th column +** This function searches pList for an entry that matches the iCol-th column ** of index pIdx. ** ** If such an expression is found, its index in pList->a[] is returned. If @@ -112811,7 +115529,7 @@ static void whereKeyStats( assert( pRec->nField>0 && iCol<pIdx->nSampleCol ); do{ iTest = (iMin+i)/2; - res = sqlite3VdbeRecordCompare(aSample[iTest].n, aSample[iTest].p, pRec, 0); + res = sqlite3VdbeRecordCompare(aSample[iTest].n, aSample[iTest].p, pRec); if( res<0 ){ iMin = iTest+1; }else{ @@ -112826,16 +115544,16 @@ static void whereKeyStats( if( res==0 ){ /* If (res==0) is true, then sample $i must be equal to pRec */ assert( i<pIdx->nSample ); - assert( 0==sqlite3VdbeRecordCompare(aSample[i].n, aSample[i].p, pRec, 0) + assert( 0==sqlite3VdbeRecordCompare(aSample[i].n, aSample[i].p, pRec) || pParse->db->mallocFailed ); }else{ /* Otherwise, pRec must be smaller than sample $i and larger than ** sample ($i-1). */ assert( i==pIdx->nSample - || sqlite3VdbeRecordCompare(aSample[i].n, aSample[i].p, pRec, 0)>0 + || sqlite3VdbeRecordCompare(aSample[i].n, aSample[i].p, pRec)>0 || pParse->db->mallocFailed ); assert( i==0 - || sqlite3VdbeRecordCompare(aSample[i-1].n, aSample[i-1].p, pRec, 0)<0 + || sqlite3VdbeRecordCompare(aSample[i-1].n, aSample[i-1].p, pRec)<0 || pParse->db->mallocFailed ); } #endif /* ifdef SQLITE_DEBUG */ @@ -113038,7 +115756,7 @@ static int whereRangeSkipScanEst( ** number of rows that the index scan is expected to visit without ** considering the range constraints. If nEq is 0, this is the number of ** rows in the index. Assuming no error occurs, *pnOut is adjusted (reduced) -** to account for the range contraints pLower and pUpper. +** to account for the range constraints pLower and pUpper. ** ** In the absence of sqlite_stat4 ANALYZE data, or if such data cannot be ** used, a single range inequality reduces the search space by a factor of 4. @@ -113089,6 +115807,10 @@ static int whereRangeScanEst( tRowcnt iLower; tRowcnt iUpper; + if( pRec ){ + testcase( pRec->nField!=pBuilder->nRecValid ); + pRec->nField = pBuilder->nRecValid; + } if( nEq==p->nKeyCol ){ aff = SQLITE_AFF_INTEGER; }else{ @@ -113106,18 +115828,26 @@ static int whereRangeScanEst( iUpper = a[0] + a[1]; } + assert( pLower==0 || (pLower->eOperator & (WO_GT|WO_GE))!=0 ); + assert( pUpper==0 || (pUpper->eOperator & (WO_LT|WO_LE))!=0 ); + assert( p->aSortOrder!=0 ); + if( p->aSortOrder[nEq] ){ + /* The roles of pLower and pUpper are swapped for a DESC index */ + SWAP(WhereTerm*, pLower, pUpper); + } + /* If possible, improve on the iLower estimate using ($P:$L). */ if( pLower ){ int bOk; /* True if value is extracted from pExpr */ Expr *pExpr = pLower->pExpr->pRight; - assert( (pLower->eOperator & (WO_GT|WO_GE))!=0 ); rc = sqlite3Stat4ProbeSetValue(pParse, p, &pRec, pExpr, aff, nEq, &bOk); if( rc==SQLITE_OK && bOk ){ tRowcnt iNew; whereKeyStats(pParse, p, pRec, 0, a); - iNew = a[0] + ((pLower->eOperator & WO_GT) ? a[1] : 0); + iNew = a[0] + ((pLower->eOperator & (WO_GT|WO_LE)) ? a[1] : 0); if( iNew>iLower ) iLower = iNew; nOut--; + pLower = 0; } } @@ -113125,14 +115855,14 @@ static int whereRangeScanEst( if( pUpper ){ int bOk; /* True if value is extracted from pExpr */ Expr *pExpr = pUpper->pExpr->pRight; - assert( (pUpper->eOperator & (WO_LT|WO_LE))!=0 ); rc = sqlite3Stat4ProbeSetValue(pParse, p, &pRec, pExpr, aff, nEq, &bOk); if( rc==SQLITE_OK && bOk ){ tRowcnt iNew; whereKeyStats(pParse, p, pRec, 1, a); - iNew = a[0] + ((pUpper->eOperator & WO_LE) ? a[1] : 0); + iNew = a[0] + ((pUpper->eOperator & (WO_GT|WO_LE)) ? a[1] : 0); if( iNew<iUpper ) iUpper = iNew; nOut--; + pUpper = 0; } } @@ -113146,10 +115876,8 @@ static int whereRangeScanEst( if( nNew<nOut ){ nOut = nNew; } - pLoop->nOut = (LogEst)nOut; - WHERETRACE(0x10, ("range scan regions: %u..%u est=%d\n", + WHERETRACE(0x10, ("STAT4 range scan: %u..%u est=%d\n", (u32)iLower, (u32)iUpper, nOut)); - return SQLITE_OK; } }else{ int bDone = 0; @@ -113160,8 +115888,8 @@ static int whereRangeScanEst( #else UNUSED_PARAMETER(pParse); UNUSED_PARAMETER(pBuilder); -#endif assert( pLower || pUpper ); +#endif assert( pUpper==0 || (pUpper->wtFlags & TERM_VNULL)==0 ); nNew = whereRangeAdjust(pLower, nOut); nNew = whereRangeAdjust(pUpper, nNew); @@ -113176,6 +115904,12 @@ static int whereRangeScanEst( nOut -= (pLower!=0) + (pUpper!=0); if( nNew<10 ) nNew = 10; if( nNew<nOut ) nOut = nNew; +#if defined(WHERETRACE_ENABLED) + if( pLoop->nOut>nOut ){ + WHERETRACE(0x10,("Range scan lowers nOut from %d to %d\n", + pLoop->nOut, nOut)); + } +#endif pLoop->nOut = (LogEst)nOut; return rc; } @@ -113288,7 +116022,7 @@ static int whereInScanEst( if( rc==SQLITE_OK ){ if( nRowEst > nRow0 ) nRowEst = nRow0; *pnRow = nRowEst; - WHERETRACE(0x10,("IN row estimate: est=%g\n", nRowEst)); + WHERETRACE(0x10,("IN row estimate: est=%d\n", nRowEst)); } assert( pBuilder->nRecValid==nRecValid ); return rc; @@ -113624,9 +116358,8 @@ static void explainAppendTerm( /* ** Argument pLevel describes a strategy for scanning table pTab. This -** function returns a pointer to a string buffer containing a description -** of the subset of table rows scanned by the strategy in the form of an -** SQL expression. Or, if all rows are scanned, NULL is returned. +** function appends text to pStr that describes the subset of table +** rows scanned by the strategy in the form of an SQL expression. ** ** For example, if the query: ** @@ -113636,49 +116369,37 @@ static void explainAppendTerm( ** string similar to: ** ** "a=? AND b>?" -** -** The returned pointer points to memory obtained from sqlite3DbMalloc(). -** It is the responsibility of the caller to free the buffer when it is -** no longer required. */ -static char *explainIndexRange(sqlite3 *db, WhereLoop *pLoop, Table *pTab){ +static void explainIndexRange(StrAccum *pStr, WhereLoop *pLoop, Table *pTab){ Index *pIndex = pLoop->u.btree.pIndex; u16 nEq = pLoop->u.btree.nEq; u16 nSkip = pLoop->u.btree.nSkip; int i, j; Column *aCol = pTab->aCol; i16 *aiColumn = pIndex->aiColumn; - StrAccum txt; - if( nEq==0 && (pLoop->wsFlags & (WHERE_BTM_LIMIT|WHERE_TOP_LIMIT))==0 ){ - return 0; - } - sqlite3StrAccumInit(&txt, 0, 0, SQLITE_MAX_LENGTH); - txt.db = db; - sqlite3StrAccumAppend(&txt, " (", 2); + if( nEq==0 && (pLoop->wsFlags&(WHERE_BTM_LIMIT|WHERE_TOP_LIMIT))==0 ) return; + sqlite3StrAccumAppend(pStr, " (", 2); for(i=0; i<nEq; i++){ char *z = aiColumn[i] < 0 ? "rowid" : aCol[aiColumn[i]].zName; if( i>=nSkip ){ - explainAppendTerm(&txt, i, z, "="); + explainAppendTerm(pStr, i, z, "="); }else{ - if( i ) sqlite3StrAccumAppend(&txt, " AND ", 5); - sqlite3StrAccumAppend(&txt, "ANY(", 4); - sqlite3StrAccumAppendAll(&txt, z); - sqlite3StrAccumAppend(&txt, ")", 1); + if( i ) sqlite3StrAccumAppend(pStr, " AND ", 5); + sqlite3XPrintf(pStr, 0, "ANY(%s)", z); } } j = i; if( pLoop->wsFlags&WHERE_BTM_LIMIT ){ char *z = aiColumn[j] < 0 ? "rowid" : aCol[aiColumn[j]].zName; - explainAppendTerm(&txt, i++, z, ">"); + explainAppendTerm(pStr, i++, z, ">"); } if( pLoop->wsFlags&WHERE_TOP_LIMIT ){ char *z = aiColumn[j] < 0 ? "rowid" : aCol[aiColumn[j]].zName; - explainAppendTerm(&txt, i, z, "<"); + explainAppendTerm(pStr, i, z, "<"); } - sqlite3StrAccumAppend(&txt, ")", 1); - return sqlite3StrAccumFinish(&txt); + sqlite3StrAccumAppend(pStr, ")", 1); } /* @@ -113702,11 +116423,13 @@ static void explainOneScan( struct SrcList_item *pItem = &pTabList->a[pLevel->iFrom]; Vdbe *v = pParse->pVdbe; /* VM being constructed */ sqlite3 *db = pParse->db; /* Database handle */ - char *zMsg; /* Text to add to EQP output */ int iId = pParse->iSelectId; /* Select id (left-most output column) */ int isSearch; /* True for a SEARCH. False for SCAN. */ WhereLoop *pLoop; /* The controlling WhereLoop object */ u32 flags; /* Flags that describe this loop */ + char *zMsg; /* Text to add to EQP output */ + StrAccum str; /* EQP output string */ + char zBuf[100]; /* Initial space for EQP output string */ pLoop = pLevel->pWLoop; flags = pLoop->wsFlags; @@ -113716,54 +116439,70 @@ static void explainOneScan( || ((flags&WHERE_VIRTUALTABLE)==0 && (pLoop->u.btree.nEq>0)) || (wctrlFlags&(WHERE_ORDERBY_MIN|WHERE_ORDERBY_MAX)); - zMsg = sqlite3MPrintf(db, "%s", isSearch?"SEARCH":"SCAN"); + sqlite3StrAccumInit(&str, zBuf, sizeof(zBuf), SQLITE_MAX_LENGTH); + str.db = db; + sqlite3StrAccumAppendAll(&str, isSearch ? "SEARCH" : "SCAN"); if( pItem->pSelect ){ - zMsg = sqlite3MAppendf(db, zMsg, "%s SUBQUERY %d", zMsg,pItem->iSelectId); + sqlite3XPrintf(&str, 0, " SUBQUERY %d", pItem->iSelectId); }else{ - zMsg = sqlite3MAppendf(db, zMsg, "%s TABLE %s", zMsg, pItem->zName); + sqlite3XPrintf(&str, 0, " TABLE %s", pItem->zName); } if( pItem->zAlias ){ - zMsg = sqlite3MAppendf(db, zMsg, "%s AS %s", zMsg, pItem->zAlias); + sqlite3XPrintf(&str, 0, " AS %s", pItem->zAlias); } - if( (flags & (WHERE_IPK|WHERE_VIRTUALTABLE))==0 - && ALWAYS(pLoop->u.btree.pIndex!=0) - ){ - const char *zFmt; - Index *pIdx = pLoop->u.btree.pIndex; - char *zWhere = explainIndexRange(db, pLoop, pItem->pTab); + if( (flags & (WHERE_IPK|WHERE_VIRTUALTABLE))==0 ){ + const char *zFmt = 0; + Index *pIdx; + + assert( pLoop->u.btree.pIndex!=0 ); + pIdx = pLoop->u.btree.pIndex; assert( !(flags&WHERE_AUTO_INDEX) || (flags&WHERE_IDX_ONLY) ); if( !HasRowid(pItem->pTab) && IsPrimaryKeyIndex(pIdx) ){ - zFmt = zWhere ? "%s USING PRIMARY KEY%.0s%s" : "%s%.0s%s"; + if( isSearch ){ + zFmt = "PRIMARY KEY"; + } }else if( flags & WHERE_AUTO_INDEX ){ - zFmt = "%s USING AUTOMATIC COVERING INDEX%.0s%s"; + zFmt = "AUTOMATIC COVERING INDEX"; }else if( flags & WHERE_IDX_ONLY ){ - zFmt = "%s USING COVERING INDEX %s%s"; + zFmt = "COVERING INDEX %s"; }else{ - zFmt = "%s USING INDEX %s%s"; + zFmt = "INDEX %s"; + } + if( zFmt ){ + sqlite3StrAccumAppend(&str, " USING ", 7); + sqlite3XPrintf(&str, 0, zFmt, pIdx->zName); + explainIndexRange(&str, pLoop, pItem->pTab); } - zMsg = sqlite3MAppendf(db, zMsg, zFmt, zMsg, pIdx->zName, zWhere); - sqlite3DbFree(db, zWhere); }else if( (flags & WHERE_IPK)!=0 && (flags & WHERE_CONSTRAINT)!=0 ){ - zMsg = sqlite3MAppendf(db, zMsg, "%s USING INTEGER PRIMARY KEY", zMsg); - + const char *zRange; if( flags&(WHERE_COLUMN_EQ|WHERE_COLUMN_IN) ){ - zMsg = sqlite3MAppendf(db, zMsg, "%s (rowid=?)", zMsg); + zRange = "(rowid=?)"; }else if( (flags&WHERE_BOTH_LIMIT)==WHERE_BOTH_LIMIT ){ - zMsg = sqlite3MAppendf(db, zMsg, "%s (rowid>? AND rowid<?)", zMsg); + zRange = "(rowid>? AND rowid<?)"; }else if( flags&WHERE_BTM_LIMIT ){ - zMsg = sqlite3MAppendf(db, zMsg, "%s (rowid>?)", zMsg); - }else if( ALWAYS(flags&WHERE_TOP_LIMIT) ){ - zMsg = sqlite3MAppendf(db, zMsg, "%s (rowid<?)", zMsg); + zRange = "(rowid>?)"; + }else{ + assert( flags&WHERE_TOP_LIMIT); + zRange = "(rowid<?)"; } + sqlite3StrAccumAppendAll(&str, " USING INTEGER PRIMARY KEY "); + sqlite3StrAccumAppendAll(&str, zRange); } #ifndef SQLITE_OMIT_VIRTUALTABLE else if( (flags & WHERE_VIRTUALTABLE)!=0 ){ - zMsg = sqlite3MAppendf(db, zMsg, "%s VIRTUAL TABLE INDEX %d:%s", zMsg, + sqlite3XPrintf(&str, 0, " VIRTUAL TABLE INDEX %d:%s", pLoop->u.vtab.idxNum, pLoop->u.vtab.idxStr); } #endif - zMsg = sqlite3MAppendf(db, zMsg, "%s", zMsg); +#ifdef SQLITE_EXPLAIN_ESTIMATED_ROWS + if( pLoop->nOut>=10 ){ + sqlite3XPrintf(&str, 0, " (~%llu rows)", sqlite3LogEstToInt(pLoop->nOut)); + }else{ + sqlite3StrAccumAppend(&str, " (~1 row)", 9); + } +#endif + zMsg = sqlite3StrAccumFinish(&str); sqlite3VdbeAddOp4(v, OP_Explain, iId, iLevel, iFrom, zMsg, P4_DYNAMIC); } } @@ -114305,7 +117044,7 @@ static Bitmask codeOneLoopStart( ** B: <after the loop> ** ** Added 2014-05-26: If the table is a WITHOUT ROWID table, then - ** use an ephermeral index instead of a RowSet to record the primary + ** use an ephemeral index instead of a RowSet to record the primary ** keys of the rows we have already seen. ** */ @@ -114356,7 +117095,7 @@ static Bitmask codeOneLoopStart( } /* Initialize the rowset register to contain NULL. An SQL NULL is - ** equivalent to an empty rowset. Or, create an ephermeral index + ** equivalent to an empty rowset. Or, create an ephemeral index ** capable of holding primary keys in the case of a WITHOUT ROWID. ** ** Also initialize regReturn to contain the address of the instruction @@ -114417,8 +117156,9 @@ static Bitmask codeOneLoopStart( ** eliminating duplicates from other WHERE clauses, the action for each ** sub-WHERE clause is to to invoke the main loop body as a subroutine. */ - wctrlFlags = WHERE_OMIT_OPEN_CLOSE | WHERE_AND_ONLY | - WHERE_FORCE_TABLE | WHERE_ONETABLE_ONLY; + wctrlFlags = WHERE_OMIT_OPEN_CLOSE + | WHERE_FORCE_TABLE + | WHERE_ONETABLE_ONLY; for(ii=0; ii<pOrWc->nTerm; ii++){ WhereTerm *pOrTerm = &pOrWc->a[ii]; if( pOrTerm->leftCursor==iCur || (pOrTerm->eOperator & WO_AND)!=0 ){ @@ -114430,6 +117170,7 @@ static Bitmask codeOneLoopStart( pOrExpr = pAndExpr; } /* Loop through table entries that match term pOrTerm. */ + WHERETRACE(0xffff, ("Subplan for OR-clause:\n")); pSubWInfo = sqlite3WhereBegin(pParse, pOrTab, pOrExpr, 0, 0, wctrlFlags, iCovCur); assert( pSubWInfo || pParse->nErr || db->mallocFailed ); @@ -114649,21 +117390,26 @@ static Bitmask codeOneLoopStart( return pLevel->notReady; } -#if defined(WHERETRACE_ENABLED) && defined(SQLITE_ENABLE_TREE_EXPLAIN) +#ifdef WHERETRACE_ENABLED /* -** Generate "Explanation" text for a WhereTerm. +** Print the content of a WhereTerm object */ -static void whereExplainTerm(Vdbe *v, WhereTerm *pTerm){ - char zType[4]; - memcpy(zType, "...", 4); - if( pTerm->wtFlags & TERM_VIRTUAL ) zType[0] = 'V'; - if( pTerm->eOperator & WO_EQUIV ) zType[1] = 'E'; - if( ExprHasProperty(pTerm->pExpr, EP_FromJoin) ) zType[2] = 'L'; - sqlite3ExplainPrintf(v, "%s ", zType); - sqlite3ExplainExpr(v, pTerm->pExpr); +static void whereTermPrint(WhereTerm *pTerm, int iTerm){ + if( pTerm==0 ){ + sqlite3DebugPrintf("TERM-%-3d NULL\n", iTerm); + }else{ + char zType[4]; + memcpy(zType, "...", 4); + if( pTerm->wtFlags & TERM_VIRTUAL ) zType[0] = 'V'; + if( pTerm->eOperator & WO_EQUIV ) zType[1] = 'E'; + if( ExprHasProperty(pTerm->pExpr, EP_FromJoin) ) zType[2] = 'L'; + sqlite3DebugPrintf("TERM-%-3d %p %s cursor=%-3d prob=%-3d op=0x%03x\n", + iTerm, pTerm, zType, pTerm->leftCursor, pTerm->truthProb, + pTerm->eOperator); + sqlite3TreeViewExpr(0, pTerm->pExpr, 0); + } } -#endif /* WHERETRACE_ENABLED && SQLITE_ENABLE_TREE_EXPLAIN */ - +#endif #ifdef WHERETRACE_ENABLED /* @@ -114679,8 +117425,8 @@ static void whereLoopPrint(WhereLoop *p, WhereClause *pWC){ sqlite3DebugPrintf(" %12s", pItem->zAlias ? pItem->zAlias : pTab->zName); if( (p->wsFlags & WHERE_VIRTUALTABLE)==0 ){ - const char *zName; - if( p->u.btree.pIndex && (zName = p->u.btree.pIndex->zName)!=0 ){ + const char *zName; + if( p->u.btree.pIndex && (zName = p->u.btree.pIndex->zName)!=0 ){ if( strncmp(zName, "sqlite_autoindex_", 17)==0 ){ int i = sqlite3Strlen30(zName) - 1; while( zName[i]!='_' ) i--; @@ -114701,29 +117447,18 @@ static void whereLoopPrint(WhereLoop *p, WhereClause *pWC){ sqlite3DebugPrintf(" %-19s", z); sqlite3_free(z); } - sqlite3DebugPrintf(" f %05x N %d", p->wsFlags, p->nLTerm); + if( p->wsFlags & WHERE_SKIPSCAN ){ + sqlite3DebugPrintf(" f %05x %d-%d", p->wsFlags, p->nLTerm,p->u.btree.nSkip); + }else{ + sqlite3DebugPrintf(" f %05x N %d", p->wsFlags, p->nLTerm); + } sqlite3DebugPrintf(" cost %d,%d,%d\n", p->rSetup, p->rRun, p->nOut); -#ifdef SQLITE_ENABLE_TREE_EXPLAIN - /* If the 0x100 bit of wheretracing is set, then show all of the constraint - ** expressions in the WhereLoop.aLTerm[] array. - */ - if( p->nLTerm && (sqlite3WhereTrace & 0x100)!=0 ){ /* WHERETRACE 0x100 */ + if( p->nLTerm && (sqlite3WhereTrace & 0x100)!=0 ){ int i; - Vdbe *v = pWInfo->pParse->pVdbe; - sqlite3ExplainBegin(v); for(i=0; i<p->nLTerm; i++){ - WhereTerm *pTerm = p->aLTerm[i]; - if( pTerm==0 ) continue; - sqlite3ExplainPrintf(v, " (%d) #%-2d ", i+1, (int)(pTerm-pWC->a)); - sqlite3ExplainPush(v); - whereExplainTerm(v, pTerm); - sqlite3ExplainPop(v); - sqlite3ExplainNL(v); + whereTermPrint(p->aLTerm[i], i); } - sqlite3ExplainFinish(v); - sqlite3DebugPrintf("%s", sqlite3VdbeExplanation(v)); } -#endif } #endif @@ -115036,7 +117771,7 @@ static int whereLoopInsert(WhereLoopBuilder *pBuilder, WhereLoop *pTemplate){ ** than pTemplate, so just ignore pTemplate */ #if WHERETRACE_ENABLED /* 0x8 */ if( sqlite3WhereTrace & 0x8 ){ - sqlite3DebugPrintf("ins-noop: "); + sqlite3DebugPrintf(" skip: "); whereLoopPrint(pTemplate, pBuilder->pWC); } #endif @@ -115052,10 +117787,10 @@ static int whereLoopInsert(WhereLoopBuilder *pBuilder, WhereLoop *pTemplate){ #if WHERETRACE_ENABLED /* 0x8 */ if( sqlite3WhereTrace & 0x8 ){ if( p!=0 ){ - sqlite3DebugPrintf("ins-del: "); + sqlite3DebugPrintf("replace: "); whereLoopPrint(p, pBuilder->pWC); } - sqlite3DebugPrintf("ins-new: "); + sqlite3DebugPrintf(" add: "); whereLoopPrint(pTemplate, pBuilder->pWC); } #endif @@ -115079,7 +117814,7 @@ static int whereLoopInsert(WhereLoopBuilder *pBuilder, WhereLoop *pTemplate){ *ppTail = pToDel->pNextLoop; #if WHERETRACE_ENABLED /* 0x8 */ if( sqlite3WhereTrace & 0x8 ){ - sqlite3DebugPrintf("ins-del: "); + sqlite3DebugPrintf(" delete: "); whereLoopPrint(pToDel, pBuilder->pWC); } #endif @@ -115105,14 +117840,16 @@ static int whereLoopInsert(WhereLoopBuilder *pBuilder, WhereLoop *pTemplate){ ** the number of output rows by a factor of 10 and each additional term ** reduces the number of output rows by sqrt(2). */ -static void whereLoopOutputAdjust(WhereClause *pWC, WhereLoop *pLoop){ +static void whereLoopOutputAdjust( + WhereClause *pWC, /* The WHERE clause */ + WhereLoop *pLoop, /* The loop to adjust downward */ + LogEst nRow /* Number of rows in the entire table */ +){ WhereTerm *pTerm, *pX; Bitmask notAllowed = ~(pLoop->prereq|pLoop->maskSelf); int i, j; + int nEq = 0; /* Number of = constraints not within likely()/unlikely() */ - if( !OptimizationEnabled(pWC->pWInfo->pParse->db, SQLITE_AdjustOutEst) ){ - return; - } for(i=pWC->nTerm, pTerm=pWC->a; i>0; i--, pTerm++){ if( (pTerm->wtFlags & TERM_VIRTUAL)!=0 ) break; if( (pTerm->prereqAll & pLoop->maskSelf)==0 ) continue; @@ -115124,9 +117861,21 @@ static void whereLoopOutputAdjust(WhereClause *pWC, WhereLoop *pLoop){ if( pX->iParent>=0 && (&pWC->a[pX->iParent])==pTerm ) break; } if( j<0 ){ - pLoop->nOut += (pTerm->truthProb<=0 ? pTerm->truthProb : -1); + if( pTerm->truthProb<=0 ){ + pLoop->nOut += pTerm->truthProb; + }else{ + pLoop->nOut--; + if( pTerm->eOperator&WO_EQ ) nEq++; + } } } + /* TUNING: If there is at least one equality constraint in the WHERE + ** clause that does not have a likelihood() explicitly assigned to it + ** then do not let the estimated number of output rows exceed half + ** the number of rows in the table. */ + if( nEq && pLoop->nOut>nRow-10 ){ + pLoop->nOut = nRow - 10; + } } /* @@ -115172,6 +117921,7 @@ static int whereLoopAddBtreeIndex( LogEst saved_nOut; /* Original value of pNew->nOut */ int iCol; /* Index of the column in the table */ int rc = SQLITE_OK; /* Return code */ + LogEst rSize; /* Number of rows in the table */ LogEst rLogSize; /* Logarithm of table size */ WhereTerm *pTop = 0, *pBtm = 0; /* Top and bottom range constraints */ @@ -115201,7 +117951,8 @@ static int whereLoopAddBtreeIndex( saved_prereq = pNew->prereq; saved_nOut = pNew->nOut; pNew->rSetup = 0; - rLogSize = estLog(pProbe->aiRowLogEst[0]); + rSize = pProbe->aiRowLogEst[0]; + rLogSize = estLog(rSize); /* Consider using a skip-scan if there are no WHERE clause constraints ** available for the left-most terms of the index, and if the average @@ -115214,8 +117965,7 @@ static int whereLoopAddBtreeIndex( ** On the other hand, the extra seeks could end up being significantly ** more expensive. */ assert( 42==sqlite3LogEst(18) ); - if( pTerm==0 - && saved_nEq==saved_nSkip + if( saved_nEq==saved_nSkip && saved_nEq+1<pProbe->nKeyCol && pProbe->aiRowLogEst[saved_nEq+1]>=42 /* TUNING: Minimum for skip-scan */ && (rc = whereLoopResize(db, pNew, pNew->nLTerm+1))==SQLITE_OK @@ -115226,9 +117976,20 @@ static int whereLoopAddBtreeIndex( pNew->aLTerm[pNew->nLTerm++] = 0; pNew->wsFlags |= WHERE_SKIPSCAN; nIter = pProbe->aiRowLogEst[saved_nEq] - pProbe->aiRowLogEst[saved_nEq+1]; + if( pTerm ){ + /* TUNING: When estimating skip-scan for a term that is also indexable, + ** multiply the cost of the skip-scan by 2.0, to make it a little less + ** desirable than the regular index lookup. */ + nIter += 10; assert( 10==sqlite3LogEst(2) ); + } pNew->nOut -= nIter; + /* TUNING: Because uncertainties in the estimates for skip-scan queries, + ** add a 1.375 fudge factor to make skip-scan slightly less likely. */ + nIter += 5; whereLoopAddBtreeIndex(pBuilder, pSrc, pProbe, nIter + nInMul); pNew->nOut = saved_nOut; + pNew->u.btree.nEq = saved_nEq; + pNew->u.btree.nSkip = saved_nSkip; } for(; rc==SQLITE_OK && pTerm!=0; pTerm = whereScanNext(&scan)){ u16 eOp = pTerm->eOperator; /* Shorthand for pTerm->eOperator */ @@ -115371,7 +118132,7 @@ static int whereLoopAddBtreeIndex( nOutUnadjusted = pNew->nOut; pNew->rRun += nInMul + nIn; pNew->nOut += nInMul + nIn; - whereLoopOutputAdjust(pBuilder->pWC, pNew); + whereLoopOutputAdjust(pBuilder->pWC, pNew, rSize); rc = whereLoopInsert(pBuilder, pNew); if( pNew->wsFlags & WHERE_COLUMN_RANGE ){ @@ -115421,6 +118182,7 @@ static int indexMightHelpWithOrderBy( Expr *pExpr = sqlite3ExprSkipCollate(pOB->a[ii].pExpr); if( pExpr->op!=TK_COLUMN ) return 0; if( pExpr->iTable==iCursor ){ + if( pExpr->iColumn<0 ) return 1; for(jj=0; jj<pIndex->nKeyCol; jj++){ if( pExpr->iColumn==pIndex->aiColumn[jj] ) return 1; } @@ -115578,13 +118340,21 @@ static int whereLoopAddBtree( pNew->nLTerm = 1; pNew->aLTerm[0] = pTerm; /* TUNING: One-time cost for computing the automatic index is - ** approximately 7*N*log2(N) where N is the number of rows in - ** the table being indexed. */ - pNew->rSetup = rLogSize + rSize + 28; assert( 28==sqlite3LogEst(7) ); + ** estimated to be X*N*log2(N) where N is the number of rows in + ** the table being indexed and where X is 7 (LogEst=28) for normal + ** tables or 1.375 (LogEst=4) for views and subqueries. The value + ** of X is smaller for views and subqueries so that the query planner + ** will be more aggressive about generating automatic indexes for + ** those objects, since there is no opportunity to add schema + ** indexes on subqueries and views. */ + pNew->rSetup = rLogSize + rSize + 4; + if( pTab->pSelect==0 && (pTab->tabFlags & TF_Ephemeral)==0 ){ + pNew->rSetup += 24; + } ApplyCostMultiplier(pNew->rSetup, pTab->costMult); /* TUNING: Each index lookup yields 20 rows in the table. This ** is more than the usual guess of 10 rows, since we have no way - ** of knowning how selective the index will ultimately be. It would + ** of knowing how selective the index will ultimately be. It would ** not be unreasonable to make this value much larger. */ pNew->nOut = 43; assert( 43==sqlite3LogEst(20) ); pNew->rRun = sqlite3LogEstAdd(rLogSize,pNew->nOut); @@ -115600,7 +118370,8 @@ static int whereLoopAddBtree( */ for(; rc==SQLITE_OK && pProbe; pProbe=pProbe->pNext, iSortIdx++){ if( pProbe->pPartIdxWhere!=0 - && !whereUsablePartialIndex(pNew->iTab, pWC, pProbe->pPartIdxWhere) ){ + && !whereUsablePartialIndex(pSrc->iCursor, pWC, pProbe->pPartIdxWhere) ){ + testcase( pNew->iTab!=pSrc->iCursor ); /* See ticket [98d973b8f5] */ continue; /* Partial index inappropriate for this query */ } rSize = pProbe->aiRowLogEst[0]; @@ -115624,7 +118395,7 @@ static int whereLoopAddBtree( /* TUNING: Cost of full table scan is (N*3.0). */ pNew->rRun = rSize + 16; ApplyCostMultiplier(pNew->rRun, pTab->costMult); - whereLoopOutputAdjust(pWC, pNew); + whereLoopOutputAdjust(pWC, pNew, rSize); rc = whereLoopInsert(pBuilder, pNew); pNew->nOut = rSize; if( rc ) break; @@ -115660,7 +118431,7 @@ static int whereLoopAddBtree( pNew->rRun = sqlite3LogEstAdd(pNew->rRun, rSize+16); } ApplyCostMultiplier(pNew->rRun, pTab->costMult); - whereLoopOutputAdjust(pWC, pNew); + whereLoopOutputAdjust(pWC, pNew, rSize); rc = whereLoopInsert(pBuilder, pNew); pNew->nOut = rSize; if( rc ) break; @@ -115867,7 +118638,6 @@ static int whereLoopAddOr(WhereLoopBuilder *pBuilder, Bitmask mExtra){ struct SrcList_item *pItem; pWC = pBuilder->pWC; - if( pWInfo->wctrlFlags & WHERE_AND_ONLY ) return SQLITE_OK; pWCEnd = pWC->a + pWC->nTerm; pNew = pBuilder->pNew; memset(&sSum, 0, sizeof(sSum)); @@ -115888,6 +118658,7 @@ static int whereLoopAddOr(WhereLoopBuilder *pBuilder, Bitmask mExtra){ sSubBuild.pOrderBy = 0; sSubBuild.pOrSet = &sCur; + WHERETRACE(0x200, ("Begin processing OR-clause %p\n", pTerm)); for(pOrTerm=pOrWC->a; pOrTerm<pOrWCEnd; pOrTerm++){ if( (pOrTerm->eOperator & WO_AND)!=0 ){ sSubBuild.pWC = &pOrTerm->u.pAndInfo->wc; @@ -115902,6 +118673,15 @@ static int whereLoopAddOr(WhereLoopBuilder *pBuilder, Bitmask mExtra){ continue; } sCur.n = 0; +#ifdef WHERETRACE_ENABLED + WHERETRACE(0x200, ("OR-term %d of %p has %d subterms:\n", + (int)(pOrTerm-pOrWC->a), pTerm, sSubBuild.pWC->nTerm)); + if( sqlite3WhereTrace & 0x400 ){ + for(i=0; i<sSubBuild.pWC->nTerm; i++){ + whereTermPrint(&sSubBuild.pWC->a[i], i); + } + } +#endif #ifndef SQLITE_OMIT_VIRTUALTABLE if( IsVirtual(pItem->pTab) ){ rc = whereLoopAddVirtual(&sSubBuild, mExtra); @@ -115910,6 +118690,9 @@ static int whereLoopAddOr(WhereLoopBuilder *pBuilder, Bitmask mExtra){ { rc = whereLoopAddBtree(&sSubBuild, mExtra); } + if( rc==SQLITE_OK ){ + rc = whereLoopAddOr(&sSubBuild, mExtra); + } assert( rc==SQLITE_OK || sCur.n==0 ); if( sCur.n==0 ){ sSum.n = 0; @@ -115954,6 +118737,7 @@ static int whereLoopAddOr(WhereLoopBuilder *pBuilder, Bitmask mExtra){ pNew->prereq = sSum.a[i].prereq; rc = whereLoopInsert(pBuilder, pNew); } + WHERETRACE(0x200, ("End processing OR-clause %p\n", pTerm)); } } return rc; @@ -116013,7 +118797,7 @@ static int whereLoopAddAll(WhereLoopBuilder *pBuilder){ ** strict. With GROUP BY and DISTINCT the only requirement is that ** equivalent rows appear immediately adjacent to one another. GROUP BY ** and DISTINCT do not require rows to appear in any particular order as long -** as equivelent rows are grouped together. Thus for GROUP BY and DISTINCT +** as equivalent rows are grouped together. Thus for GROUP BY and DISTINCT ** the pOrderBy terms can be matched in any order. With ORDER BY, the ** pOrderBy terms must be matched in strict left-to-right order. */ @@ -116197,7 +118981,7 @@ static i8 wherePathSatisfiesOrderBy( isMatch = 1; break; } - if( isMatch && (pWInfo->wctrlFlags & WHERE_GROUPBY)==0 ){ + if( isMatch && (wctrlFlags & WHERE_GROUPBY)==0 ){ /* Make sure the sort order is compatible in an ORDER BY clause. ** Sort order is irrelevant for a GROUP BY clause. */ if( revSet ){ @@ -116662,12 +119446,15 @@ static int wherePathSolver(WhereInfo *pWInfo, LogEst nRowEst){ if( (pWInfo->wctrlFlags & WHERE_SORTBYGROUP) && pWInfo->nOBSat==pWInfo->pOrderBy->nExpr ){ - Bitmask notUsed = 0; + Bitmask revMask = 0; int nOrder = wherePathSatisfiesOrderBy(pWInfo, pWInfo->pOrderBy, - pFrom, 0, nLoop-1, pFrom->aLoop[nLoop-1], ¬Used + pFrom, 0, nLoop-1, pFrom->aLoop[nLoop-1], &revMask ); assert( pWInfo->sorted==0 ); - pWInfo->sorted = (nOrder==pWInfo->pOrderBy->nExpr); + if( nOrder==pWInfo->pOrderBy->nExpr ){ + pWInfo->sorted = 1; + pWInfo->revMask = revMask; + } } } @@ -117020,23 +119807,16 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( /* Construct the WhereLoop objects */ WHERETRACE(0xffff,("*** Optimizer Start ***\n")); +#if defined(WHERETRACE_ENABLED) /* Display all terms of the WHERE clause */ -#if defined(WHERETRACE_ENABLED) && defined(SQLITE_ENABLE_TREE_EXPLAIN) if( sqlite3WhereTrace & 0x100 ){ int i; - Vdbe *v = pParse->pVdbe; - sqlite3ExplainBegin(v); for(i=0; i<sWLB.pWC->nTerm; i++){ - sqlite3ExplainPrintf(v, "#%-2d ", i); - sqlite3ExplainPush(v); - whereExplainTerm(v, &sWLB.pWC->a[i]); - sqlite3ExplainPop(v); - sqlite3ExplainNL(v); + whereTermPrint(&sWLB.pWC->a[i], i); } - sqlite3ExplainFinish(v); - sqlite3DebugPrintf("%s", sqlite3VdbeExplanation(v)); } #endif + if( nTabList!=1 || whereShortCut(&sWLB)==0 ){ rc = whereLoopAddAll(&sWLB); if( rc ) goto whereBeginError; @@ -117563,7 +120343,7 @@ struct AttachKey { int type; Token key; }; ** unary TK_ISNULL or TK_NOTNULL expression. */ static void binaryToUnaryIfNull(Parse *pParse, Expr *pY, Expr *pA, int op){ sqlite3 *db = pParse->db; - if( db->mallocFailed==0 && pY->op==TK_NULL ){ + if( pY && pA && pY->op==TK_NULL ){ pA->op = (u8)op; sqlite3ExprDelete(db, pA->pRight); pA->pRight = 0; @@ -118790,9 +121570,9 @@ static void yyGrowStack(yyParser *p){ ** A pointer to a parser. This pointer is used in subsequent calls ** to sqlite3Parser and sqlite3ParserFree. */ -SQLITE_PRIVATE void *sqlite3ParserAlloc(void *(*mallocProc)(size_t)){ +SQLITE_PRIVATE void *sqlite3ParserAlloc(void *(*mallocProc)(u64)){ yyParser *pParser; - pParser = (yyParser*)(*mallocProc)( (size_t)sizeof(yyParser) ); + pParser = (yyParser*)(*mallocProc)( (u64)sizeof(yyParser) ); if( pParser ){ pParser->yyidx = -1; #ifdef YYTRACKMAXSTACKDEPTH @@ -119822,9 +122602,6 @@ static void yy_reduce( { SelectDest dest = {SRT_Output, 0, 0, 0, 0, 0}; sqlite3Select(pParse, yymsp[0].minor.yy3, &dest); - sqlite3ExplainBegin(pParse->pVdbe); - sqlite3ExplainSelect(pParse->pVdbe, yymsp[0].minor.yy3); - sqlite3ExplainFinish(pParse->pVdbe); sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy3); } break; @@ -119881,6 +122658,30 @@ static void yy_reduce( case 118: /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ { yygotominor.yy3 = sqlite3SelectNew(pParse,yymsp[-6].minor.yy14,yymsp[-5].minor.yy65,yymsp[-4].minor.yy132,yymsp[-3].minor.yy14,yymsp[-2].minor.yy132,yymsp[-1].minor.yy14,yymsp[-7].minor.yy381,yymsp[0].minor.yy476.pLimit,yymsp[0].minor.yy476.pOffset); +#if SELECTTRACE_ENABLED + /* Populate the Select.zSelName[] string that is used to help with + ** query planner debugging, to differentiate between multiple Select + ** objects in a complex query. + ** + ** If the SELECT keyword is immediately followed by a C-style comment + ** then extract the first few alphanumeric characters from within that + ** comment to be the zSelName value. Otherwise, the label is #N where + ** is an integer that is incremented with each SELECT statement seen. + */ + if( yygotominor.yy3!=0 ){ + const char *z = yymsp[-8].minor.yy0.z+6; + int i; + sqlite3_snprintf(sizeof(yygotominor.yy3->zSelName), yygotominor.yy3->zSelName, "#%d", + ++pParse->nSelect); + while( z[0]==' ' ) z++; + if( z[0]=='/' && z[1]=='*' ){ + z += 2; + while( z[0]==' ' ) z++; + for(i=0; sqlite3Isalnum(z[i]); i++){} + sqlite3_snprintf(sizeof(yygotominor.yy3->zSelName), yygotominor.yy3->zSelName, "%.*s", i, z); + } + } +#endif /* SELECTRACE_ENABLED */ } break; case 120: /* values ::= VALUES LP nexprlist RP */ @@ -121347,7 +124148,7 @@ SQLITE_PRIVATE int sqlite3KeywordCode(const unsigned char *z, int n){ ** end result. ** ** Ticket #1066. the SQL standard does not allow '$' in the -** middle of identfiers. But many SQL implementations do. +** middle of identifiers. But many SQL implementations do. ** SQLite will allow '$' in identifiers for compatibility. ** But the feature is undocumented. */ @@ -121372,6 +124173,7 @@ SQLITE_PRIVATE const char sqlite3IsEbcdicIdChar[] = { }; #define IdChar(C) (((c=C)>=0x42 && sqlite3IsEbcdicIdChar[c-0x40])) #endif +SQLITE_PRIVATE int sqlite3IsIdChar(u8 c){ return IdChar(c); } /* @@ -121668,7 +124470,7 @@ SQLITE_PRIVATE int sqlite3RunParser(Parse *pParse, const char *zSql, char **pzEr pParse->zTail = zSql; i = 0; assert( pzErrMsg!=0 ); - pEngine = sqlite3ParserAlloc((void*(*)(size_t))sqlite3Malloc); + pEngine = sqlite3ParserAlloc(sqlite3Malloc); if( pEngine==0 ){ db->mallocFailed = 1; return SQLITE_NOMEM; @@ -121863,7 +124665,7 @@ SQLITE_PRIVATE const char sqlite3IsEbcdicIdChar[]; ** a statement. ** ** (4) CREATE The keyword CREATE has been seen at the beginning of a -** statement, possibly preceeded by EXPLAIN and/or followed by +** statement, possibly preceded by EXPLAIN and/or followed by ** TEMP or TEMPORARY ** ** (5) TRIGGER We are in the middle of a trigger definition that must be @@ -121873,7 +124675,7 @@ SQLITE_PRIVATE const char sqlite3IsEbcdicIdChar[]; ** the end of a trigger definition. ** ** (7) END We've seen the ";END" of the ";END;" that occurs at the end -** of a trigger difinition. +** of a trigger definition. ** ** Transitions between states above are determined by tokens extracted ** from the input. The following tokens are significant: @@ -121916,7 +124718,7 @@ SQLITE_API int sqlite3_complete(const char *zSql){ }; #else /* If triggers are not supported by this compile then the statement machine - ** used to detect the end of a statement is much simplier + ** used to detect the end of a statement is much simpler */ static const u8 trans[3][3] = { /* Token: */ @@ -122642,6 +125444,11 @@ SQLITE_API int sqlite3_config(int op, ...){ break; } + /* EVIDENCE-OF: R-55548-33817 The compile-time setting for URI filenames + ** can be changed at start-time using the + ** sqlite3_config(SQLITE_CONFIG_URI,1) or + ** sqlite3_config(SQLITE_CONFIG_URI,0) configuration calls. + */ case SQLITE_CONFIG_URI: { sqlite3GlobalConfig.bOpenUri = va_arg(ap, int); break; @@ -123018,7 +125825,7 @@ static int sqlite3Close(sqlite3 *db, int forceZombie){ ** SQLITE_BUSY if the connection can not be closed immediately. */ if( !forceZombie && connectionIsBusy(db) ){ - sqlite3Error(db, SQLITE_BUSY, "unable to close due to unfinalized " + sqlite3ErrorWithMsg(db, SQLITE_BUSY, "unable to close due to unfinalized " "statements or unfinished backups"); sqlite3_mutex_leave(db->mutex); return SQLITE_BUSY; @@ -123091,6 +125898,16 @@ SQLITE_PRIVATE void sqlite3LeaveMutexAndCloseZombie(sqlite3 *db){ for(j=0; j<db->nDb; j++){ struct Db *pDb = &db->aDb[j]; if( pDb->pBt ){ + if( pDb->pSchema ){ + /* Must clear the KeyInfo cache. See ticket [e4a18565a36884b00edf] */ + sqlite3BtreeEnter(pDb->pBt); + for(i=sqliteHashFirst(&pDb->pSchema->idxHash); i; i=sqliteHashNext(i)){ + Index *pIdx = sqliteHashData(i); + sqlite3KeyInfoUnref(pIdx->pKeyInfo); + pIdx->pKeyInfo = 0; + } + sqlite3BtreeLeave(pDb->pBt); + } sqlite3BtreeClose(pDb->pBt); pDb->pBt = 0; if( j!=1 ){ @@ -123148,9 +125965,13 @@ SQLITE_PRIVATE void sqlite3LeaveMutexAndCloseZombie(sqlite3 *db){ sqlite3HashClear(&db->aModule); #endif - sqlite3Error(db, SQLITE_OK, 0); /* Deallocates any cached error strings. */ + sqlite3Error(db, SQLITE_OK); /* Deallocates any cached error strings. */ sqlite3ValueFree(db->pErr); sqlite3CloseExtensions(db); +#if SQLITE_USER_AUTHENTICATION + sqlite3_free(db->auth.zAuthUser); + sqlite3_free(db->auth.zAuthPW); +#endif db->magic = SQLITE_MAGIC_ERROR; @@ -123173,13 +125994,15 @@ SQLITE_PRIVATE void sqlite3LeaveMutexAndCloseZombie(sqlite3 *db){ /* ** Rollback all database files. If tripCode is not SQLITE_OK, then -** any open cursors are invalidated ("tripped" - as in "tripping a circuit +** any write cursors are invalidated ("tripped" - as in "tripping a circuit ** breaker") and made to return tripCode if there are any further -** attempts to use that cursor. +** attempts to use that cursor. Read cursors remain open and valid +** but are "saved" in case the table pages are moved around. */ SQLITE_PRIVATE void sqlite3RollbackAll(sqlite3 *db, int tripCode){ int i; int inTrans = 0; + int schemaChange; assert( sqlite3_mutex_held(db->mutex) ); sqlite3BeginBenignMalloc(); @@ -123190,6 +126013,7 @@ SQLITE_PRIVATE void sqlite3RollbackAll(sqlite3 *db, int tripCode){ ** the database rollback and schema reset, which can cause false ** corruption reports in some cases. */ sqlite3BtreeEnterAll(db); + schemaChange = (db->flags & SQLITE_InternChanges)!=0 && db->init.busy==0; for(i=0; i<db->nDb; i++){ Btree *p = db->aDb[i].pBt; @@ -123197,7 +126021,7 @@ SQLITE_PRIVATE void sqlite3RollbackAll(sqlite3 *db, int tripCode){ if( sqlite3BtreeIsInTrans(p) ){ inTrans = 1; } - sqlite3BtreeRollback(p, tripCode); + sqlite3BtreeRollback(p, tripCode, !schemaChange); } } sqlite3VtabRollback(db); @@ -123581,7 +126405,7 @@ SQLITE_PRIVATE int sqlite3CreateFunc( p = sqlite3FindFunction(db, zFunctionName, nName, nArg, (u8)enc, 0); if( p && (p->funcFlags & SQLITE_FUNC_ENCMASK)==enc && p->nArg==nArg ){ if( db->nVdbeActive ){ - sqlite3Error(db, SQLITE_BUSY, + sqlite3ErrorWithMsg(db, SQLITE_BUSY, "unable to delete/modify user-function due to active statements"); assert( !db->mallocFailed ); return SQLITE_BUSY; @@ -123919,10 +126743,10 @@ SQLITE_API int sqlite3_wal_checkpoint_v2( } if( iDb<0 ){ rc = SQLITE_ERROR; - sqlite3Error(db, SQLITE_ERROR, "unknown database: %s", zDb); + sqlite3ErrorWithMsg(db, SQLITE_ERROR, "unknown database: %s", zDb); }else{ rc = sqlite3Checkpoint(db, iDb, eMode, pnLog, pnCkpt); - sqlite3Error(db, rc, 0); + sqlite3Error(db, rc); } rc = sqlite3ApiExit(db, rc); sqlite3_mutex_leave(db->mutex); @@ -124077,7 +126901,7 @@ SQLITE_API const void *sqlite3_errmsg16(sqlite3 *db){ }else{ z = sqlite3_value_text16(db->pErr); if( z==0 ){ - sqlite3Error(db, db->errCode, sqlite3ErrStr(db->errCode)); + sqlite3ErrorWithMsg(db, db->errCode, sqlite3ErrStr(db->errCode)); z = sqlite3_value_text16(db->pErr); } /* A malloc() may have failed within the call to sqlite3_value_text16() @@ -124164,7 +126988,6 @@ static int createCollation( ){ CollSeq *pColl; int enc2; - int nName = sqlite3Strlen30(zName); assert( sqlite3_mutex_held(db->mutex) ); @@ -124189,7 +127012,7 @@ static int createCollation( pColl = sqlite3FindCollSeq(db, (u8)enc2, zName, 0); if( pColl && pColl->xCmp ){ if( db->nVdbeActive ){ - sqlite3Error(db, SQLITE_BUSY, + sqlite3ErrorWithMsg(db, SQLITE_BUSY, "unable to delete/modify collation sequence due to active statements"); return SQLITE_BUSY; } @@ -124203,7 +127026,7 @@ static int createCollation( ** to be called. */ if( (pColl->enc & ~SQLITE_UTF16_ALIGNED)==enc2 ){ - CollSeq *aColl = sqlite3HashFind(&db->aCollSeq, zName, nName); + CollSeq *aColl = sqlite3HashFind(&db->aCollSeq, zName); int j; for(j=0; j<3; j++){ CollSeq *p = &aColl[j]; @@ -124223,7 +127046,7 @@ static int createCollation( pColl->pUser = pCtx; pColl->xDel = xDel; pColl->enc = (u8)(enc2 | (enc & SQLITE_UTF16_ALIGNED)); - sqlite3Error(db, SQLITE_OK, 0); + sqlite3Error(db, SQLITE_OK); return SQLITE_OK; } @@ -124245,6 +127068,7 @@ static const int aHardLimit[] = { SQLITE_MAX_LIKE_PATTERN_LENGTH, SQLITE_MAX_VARIABLE_NUMBER, /* IMP: R-38091-32352 */ SQLITE_MAX_TRIGGER_DEPTH, + SQLITE_MAX_WORKER_THREADS, }; /* @@ -124280,6 +127104,9 @@ static const int aHardLimit[] = { #if SQLITE_MAX_TRIGGER_DEPTH<1 # error SQLITE_MAX_TRIGGER_DEPTH must be at least 1 #endif +#if SQLITE_MAX_WORKER_THREADS<0 || SQLITE_MAX_WORKER_THREADS>50 +# error SQLITE_MAX_WORKER_THREADS must be between 0 and 50 +#endif /* @@ -124313,7 +127140,8 @@ SQLITE_API int sqlite3_limit(sqlite3 *db, int limitId, int newLimit){ SQLITE_MAX_LIKE_PATTERN_LENGTH ); assert( aHardLimit[SQLITE_LIMIT_VARIABLE_NUMBER]==SQLITE_MAX_VARIABLE_NUMBER); assert( aHardLimit[SQLITE_LIMIT_TRIGGER_DEPTH]==SQLITE_MAX_TRIGGER_DEPTH ); - assert( SQLITE_LIMIT_TRIGGER_DEPTH==(SQLITE_N_LIMIT-1) ); + assert( aHardLimit[SQLITE_LIMIT_WORKER_THREADS]==SQLITE_MAX_WORKER_THREADS ); + assert( SQLITE_LIMIT_WORKER_THREADS==(SQLITE_N_LIMIT-1) ); if( limitId<0 || limitId>=SQLITE_N_LIMIT ){ @@ -124371,7 +127199,7 @@ SQLITE_PRIVATE int sqlite3ParseUri( assert( *pzErrMsg==0 ); if( ((flags & SQLITE_OPEN_URI) || sqlite3GlobalConfig.bOpenUri) - && nUri>=5 && memcmp(zUri, "file:", 5)==0 + && nUri>=5 && memcmp(zUri, "file:", 5)==0 /* IMP: R-57884-37496 */ ){ char *zOpt; int eState; /* Parser state when parsing URI */ @@ -124601,7 +127429,9 @@ static int openDatabase( testcase( (1<<(flags&7))==0x02 ); /* READONLY */ testcase( (1<<(flags&7))==0x04 ); /* READWRITE */ testcase( (1<<(flags&7))==0x40 ); /* READWRITE | CREATE */ - if( ((1<<(flags&7)) & 0x46)==0 ) return SQLITE_MISUSE_BKPT; + if( ((1<<(flags&7)) & 0x46)==0 ){ + return SQLITE_MISUSE_BKPT; /* IMP: R-65497-44594 */ + } if( sqlite3GlobalConfig.bCoreMutex==0 ){ isThreadsafe = 0; @@ -124660,10 +127490,12 @@ static int openDatabase( assert( sizeof(db->aLimit)==sizeof(aHardLimit) ); memcpy(db->aLimit, aHardLimit, sizeof(db->aLimit)); + db->aLimit[SQLITE_LIMIT_WORKER_THREADS] = SQLITE_DEFAULT_WORKER_THREADS; db->autoCommit = 1; db->nextAutovac = -1; db->szMmap = sqlite3GlobalConfig.szMmap; db->nextPagesize = 0; + db->nMaxSorterMmap = 0x7FFFFFFF; db->flags |= SQLITE_ShortColNames | SQLITE_EnableTrigger | SQLITE_CacheSpill #if !defined(SQLITE_DEFAULT_AUTOMATIC_INDEX) || SQLITE_DEFAULT_AUTOMATIC_INDEX | SQLITE_AutoIndex @@ -124708,7 +127540,7 @@ static int openDatabase( rc = sqlite3ParseUri(zVfs, zFilename, &flags, &db->pVfs, &zOpen, &zErrMsg); if( rc!=SQLITE_OK ){ if( rc==SQLITE_NOMEM ) db->mallocFailed = 1; - sqlite3Error(db, rc, zErrMsg ? "%s" : 0, zErrMsg); + sqlite3ErrorWithMsg(db, rc, zErrMsg ? "%s" : 0, zErrMsg); sqlite3_free(zErrMsg); goto opendb_out; } @@ -124720,13 +127552,14 @@ static int openDatabase( if( rc==SQLITE_IOERR_NOMEM ){ rc = SQLITE_NOMEM; } - sqlite3Error(db, rc, 0); + sqlite3Error(db, rc); goto opendb_out; } + sqlite3BtreeEnter(db->aDb[0].pBt); db->aDb[0].pSchema = sqlite3SchemaGet(db, db->aDb[0].pBt); + sqlite3BtreeLeave(db->aDb[0].pBt); db->aDb[1].pSchema = sqlite3SchemaGet(db, 0); - /* The default safety_level for the main database is 'full'; for the temp ** database it is 'NONE'. This matches the pager layer defaults. */ @@ -124744,7 +127577,7 @@ static int openDatabase( ** database schema yet. This is delayed until the first time the database ** is accessed. */ - sqlite3Error(db, SQLITE_OK, 0); + sqlite3Error(db, SQLITE_OK); sqlite3RegisterBuiltinFunctions(db); /* Load automatic extensions - extensions that have been registered @@ -124801,7 +127634,7 @@ static int openDatabase( SQLITE_DEFAULT_LOCKING_MODE); #endif - if( rc ) sqlite3Error(db, rc, 0); + if( rc ) sqlite3Error(db, rc); /* Enable the lookaside-malloc subsystem */ setupLookaside(db, 0, sqlite3GlobalConfig.szLookaside, @@ -125013,9 +127846,9 @@ SQLITE_API int sqlite3_get_autocommit(sqlite3 *db){ } /* -** The following routines are subtitutes for constants SQLITE_CORRUPT, +** The following routines are substitutes for constants SQLITE_CORRUPT, ** SQLITE_MISUSE, SQLITE_CANTOPEN, SQLITE_IOERR and possibly other error -** constants. They server two purposes: +** constants. They serve two purposes: ** ** 1. Serve as a convenient place to set a breakpoint in a debugger ** to detect when version error conditions occurs. @@ -125163,7 +127996,7 @@ error_out: zColumnName); rc = SQLITE_ERROR; } - sqlite3Error(db, rc, (zErrMsg?"%s":0), zErrMsg); + sqlite3ErrorWithMsg(db, rc, (zErrMsg?"%s":0), zErrMsg); sqlite3DbFree(db, zErrMsg); rc = sqlite3ApiExit(db, rc); sqlite3_mutex_leave(db->mutex); @@ -125329,7 +128162,7 @@ SQLITE_API int sqlite3_test_control(int op, ...){ ** IMPORTANT: Changing the PENDING byte from 0x40000000 results in ** an incompatible database file format. Changing the PENDING byte ** while any database connection is open results in undefined and - ** dileterious behavior. + ** deleterious behavior. */ case SQLITE_TESTCTRL_PENDING_BYTE: { rc = PENDING_BYTE; @@ -125484,22 +128317,6 @@ SQLITE_API int sqlite3_test_control(int op, ...){ break; } -#if defined(SQLITE_ENABLE_TREE_EXPLAIN) - /* sqlite3_test_control(SQLITE_TESTCTRL_EXPLAIN_STMT, - ** sqlite3_stmt*,const char**); - ** - ** If compiled with SQLITE_ENABLE_TREE_EXPLAIN, each sqlite3_stmt holds - ** a string that describes the optimized parse tree. This test-control - ** returns a pointer to that string. - */ - case SQLITE_TESTCTRL_EXPLAIN_STMT: { - sqlite3_stmt *pStmt = va_arg(ap, sqlite3_stmt*); - const char **pzRet = va_arg(ap, const char**); - *pzRet = sqlite3VdbeExplanation((Vdbe*)pStmt); - break; - } -#endif - /* sqlite3_test_control(SQLITE_TESTCTRL_NEVER_CORRUPT, int); ** ** Set or clear a flag that indicates that the database file is always well- @@ -125528,6 +128345,13 @@ SQLITE_API int sqlite3_test_control(int op, ...){ break; } + /* sqlite3_test_control(SQLITE_TESTCTRL_SORTER_MMAP, db, nMax); */ + case SQLITE_TESTCTRL_SORTER_MMAP: { + sqlite3 *db = va_arg(ap, sqlite3*); + db->nMaxSorterMmap = va_arg(ap, int); + break; + } + /* sqlite3_test_control(SQLITE_TESTCTRL_ISINIT); ** ** Return SQLITE_OK if SQLite has been initialized and SQLITE_ERROR if @@ -125537,7 +128361,6 @@ SQLITE_API int sqlite3_test_control(int op, ...){ if( sqlite3GlobalConfig.isInit==0 ) rc = SQLITE_ERROR; break; } - } va_end(ap); #endif /* SQLITE_OMIT_BUILTIN_TEST */ @@ -125811,7 +128634,7 @@ SQLITE_API int sqlite3_unlock_notify( leaveMutex(); assert( !db->mallocFailed ); - sqlite3Error(db, rc, (rc?"database is deadlocked":0)); + sqlite3ErrorWithMsg(db, rc, (rc?"database is deadlocked":0)); sqlite3_mutex_leave(db->mutex); return rc; } @@ -129953,6 +132776,7 @@ static int fts3FilterMethod( /* In case the cursor has been used before, clear it now. */ sqlite3_finalize(pCsr->pStmt); sqlite3_free(pCsr->aDoclist); + sqlite3_free(pCsr->aMatchinfo); sqlite3Fts3ExprFree(pCsr->pExpr); memset(&pCursor[1], 0, sizeof(Fts3Cursor)-sizeof(sqlite3_vtab_cursor)); @@ -131263,7 +134087,7 @@ static int fts3EvalIncrPhraseNext( bMaxSet = 1; } } - assert( rc!=SQLITE_OK || a[p->nToken-1].bIgnore==0 ); + assert( rc!=SQLITE_OK || (p->nToken>=1 && a[p->nToken-1].bIgnore==0) ); assert( rc!=SQLITE_OK || bMaxSet ); /* Keep advancing iterators until they all point to the same document */ @@ -133380,7 +136204,7 @@ static int getNextToken( /* Set variable i to the maximum number of bytes of input to tokenize. */ for(i=0; i<n; i++){ if( sqlite3_fts3_enable_parentheses && (z[i]=='(' || z[i]==')') ) break; - if( z[i]=='*' || z[i]=='"' ) break; + if( z[i]=='"' ) break; } *pnConsumed = i; diff --git a/src/3rdparty/sqlite/sqlite3.h b/src/3rdparty/sqlite/sqlite3.h index 9879f80d40..c31f126dbb 100644 --- a/src/3rdparty/sqlite/sqlite3.h +++ b/src/3rdparty/sqlite/sqlite3.h @@ -107,9 +107,9 @@ extern "C" { ** [sqlite3_libversion_number()], [sqlite3_sourceid()], ** [sqlite_version()] and [sqlite_source_id()]. */ -#define SQLITE_VERSION "3.8.6" -#define SQLITE_VERSION_NUMBER 3008006 -#define SQLITE_SOURCE_ID "2014-08-15 11:46:33 9491ba7d738528f168657adb43a198238abde19e" +#define SQLITE_VERSION "3.8.7.4" +#define SQLITE_VERSION_NUMBER 3008007 +#define SQLITE_SOURCE_ID "2014-12-09 01:34:36 f66f7a17b78ba617acde90fc810107f34f1a1f2e" /* ** CAPI3REF: Run-Time Library Version Numbers @@ -497,6 +497,7 @@ SQLITE_API int sqlite3_exec( #define SQLITE_NOTICE_RECOVER_WAL (SQLITE_NOTICE | (1<<8)) #define SQLITE_NOTICE_RECOVER_ROLLBACK (SQLITE_NOTICE | (2<<8)) #define SQLITE_WARNING_AUTOINDEX (SQLITE_WARNING | (1<<8)) +#define SQLITE_AUTH_USER (SQLITE_AUTH | (1<<8)) /* ** CAPI3REF: Flags For File Open Operations @@ -2099,7 +2100,7 @@ SQLITE_API int sqlite3_busy_handler(sqlite3*, int(*)(void*,int), void*); ** turns off all busy handlers. ** ** ^(There can only be a single busy handler for a particular -** [database connection] any any given moment. If another busy handler +** [database connection] at any given moment. If another busy handler ** was defined (using [sqlite3_busy_handler()]) prior to calling ** this routine, that other busy handler is cleared.)^ ** @@ -2303,6 +2304,10 @@ SQLITE_API char *sqlite3_vsnprintf(int,char*,const char*, va_list); ** sqlite3_malloc() is zero or negative then sqlite3_malloc() returns ** a NULL pointer. ** +** ^The sqlite3_malloc64(N) routine works just like +** sqlite3_malloc(N) except that N is an unsigned 64-bit integer instead +** of a signed 32-bit integer. +** ** ^Calling sqlite3_free() with a pointer previously returned ** by sqlite3_malloc() or sqlite3_realloc() releases that memory so ** that it might be reused. ^The sqlite3_free() routine is @@ -2314,24 +2319,38 @@ SQLITE_API char *sqlite3_vsnprintf(int,char*,const char*, va_list); ** might result if sqlite3_free() is called with a non-NULL pointer that ** was not obtained from sqlite3_malloc() or sqlite3_realloc(). ** -** ^(The sqlite3_realloc() interface attempts to resize a -** prior memory allocation to be at least N bytes, where N is the -** second parameter. The memory allocation to be resized is the first -** parameter.)^ ^ If the first parameter to sqlite3_realloc() +** ^The sqlite3_realloc(X,N) interface attempts to resize a +** prior memory allocation X to be at least N bytes. +** ^If the X parameter to sqlite3_realloc(X,N) ** is a NULL pointer then its behavior is identical to calling -** sqlite3_malloc(N) where N is the second parameter to sqlite3_realloc(). -** ^If the second parameter to sqlite3_realloc() is zero or +** sqlite3_malloc(N). +** ^If the N parameter to sqlite3_realloc(X,N) is zero or ** negative then the behavior is exactly the same as calling -** sqlite3_free(P) where P is the first parameter to sqlite3_realloc(). -** ^sqlite3_realloc() returns a pointer to a memory allocation -** of at least N bytes in size or NULL if sufficient memory is unavailable. +** sqlite3_free(X). +** ^sqlite3_realloc(X,N) returns a pointer to a memory allocation +** of at least N bytes in size or NULL if insufficient memory is available. ** ^If M is the size of the prior allocation, then min(N,M) bytes ** of the prior allocation are copied into the beginning of buffer returned -** by sqlite3_realloc() and the prior allocation is freed. -** ^If sqlite3_realloc() returns NULL, then the prior allocation -** is not freed. -** -** ^The memory returned by sqlite3_malloc() and sqlite3_realloc() +** by sqlite3_realloc(X,N) and the prior allocation is freed. +** ^If sqlite3_realloc(X,N) returns NULL and N is positive, then the +** prior allocation is not freed. +** +** ^The sqlite3_realloc64(X,N) interfaces works the same as +** sqlite3_realloc(X,N) except that N is a 64-bit unsigned integer instead +** of a 32-bit signed integer. +** +** ^If X is a memory allocation previously obtained from sqlite3_malloc(), +** sqlite3_malloc64(), sqlite3_realloc(), or sqlite3_realloc64(), then +** sqlite3_msize(X) returns the size of that memory allocation in bytes. +** ^The value returned by sqlite3_msize(X) might be larger than the number +** of bytes requested when X was allocated. ^If X is a NULL pointer then +** sqlite3_msize(X) returns zero. If X points to something that is not +** the beginning of memory allocation, or if it points to a formerly +** valid memory allocation that has now been freed, then the behavior +** of sqlite3_msize(X) is undefined and possibly harmful. +** +** ^The memory returned by sqlite3_malloc(), sqlite3_realloc(), +** sqlite3_malloc64(), and sqlite3_realloc64() ** is always aligned to at least an 8 byte boundary, or to a ** 4 byte boundary if the [SQLITE_4_BYTE_ALIGNED_MALLOC] compile-time ** option is used. @@ -2359,8 +2378,11 @@ SQLITE_API char *sqlite3_vsnprintf(int,char*,const char*, va_list); ** [sqlite3_free()] or [sqlite3_realloc()]. */ SQLITE_API void *sqlite3_malloc(int); +SQLITE_API void *sqlite3_malloc64(sqlite3_uint64); SQLITE_API void *sqlite3_realloc(void*, int); +SQLITE_API void *sqlite3_realloc64(void*, sqlite3_uint64); SQLITE_API void sqlite3_free(void*); +SQLITE_API sqlite3_uint64 sqlite3_msize(void*); /* ** CAPI3REF: Memory Allocator Statistics @@ -2647,9 +2669,9 @@ SQLITE_API void sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*); ** an English language description of the error following a failure of any ** of the sqlite3_open() routines. ** -** ^The default encoding for the database will be UTF-8 if -** sqlite3_open() or sqlite3_open_v2() is called and -** UTF-16 in the native byte order if sqlite3_open16() is used. +** ^The default encoding will be UTF-8 for databases created using +** sqlite3_open() or sqlite3_open_v2(). ^The default encoding for databases +** created using sqlite3_open16() will be UTF-16 in the native byte order. ** ** Whether or not an error occurs when it is opened, resources ** associated with the [database connection] handle should be released by @@ -2737,13 +2759,14 @@ SQLITE_API void sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*); ** then it is interpreted as an absolute path. ^If the path does not begin ** with a '/' (meaning that the authority section is omitted from the URI) ** then the path is interpreted as a relative path. -** ^On windows, the first component of an absolute path -** is a drive specification (e.g. "C:"). +** ^(On windows, the first component of an absolute path +** is a drive specification (e.g. "C:").)^ ** ** [[core URI query parameters]] ** The query component of a URI may contain parameters that are interpreted ** either by SQLite itself, or by a [VFS | custom VFS implementation]. -** SQLite interprets the following three query parameters: +** SQLite and its built-in [VFSes] interpret the +** following query parameters: ** ** <ul> ** <li> <b>vfs</b>: ^The "vfs" parameter may be used to specify the name of @@ -2778,11 +2801,9 @@ SQLITE_API void sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*); ** a URI filename, its value overrides any behavior requested by setting ** SQLITE_OPEN_PRIVATECACHE or SQLITE_OPEN_SHAREDCACHE flag. ** -** <li> <b>psow</b>: ^The psow parameter may be "true" (or "on" or "yes" or -** "1") or "false" (or "off" or "no" or "0") to indicate that the +** <li> <b>psow</b>: ^The psow parameter indicates whether or not the ** [powersafe overwrite] property does or does not apply to the -** storage media on which the database file resides. ^The psow query -** parameter only works for the built-in unix and Windows VFSes. +** storage media on which the database file resides. ** ** <li> <b>nolock</b>: ^The nolock parameter is a boolean query parameter ** which if set disables file locking in rollback journal modes. This @@ -3078,6 +3099,10 @@ SQLITE_API int sqlite3_limit(sqlite3*, int id, int newVal); ** ** [[SQLITE_LIMIT_TRIGGER_DEPTH]] ^(<dt>SQLITE_LIMIT_TRIGGER_DEPTH</dt> ** <dd>The maximum depth of recursion for triggers.</dd>)^ +** +** [[SQLITE_LIMIT_WORKER_THREADS]] ^(<dt>SQLITE_LIMIT_WORKER_THREADS</dt> +** <dd>The maximum number of auxiliary worker threads that a single +** [prepared statement] may start.</dd>)^ ** </dl> */ #define SQLITE_LIMIT_LENGTH 0 @@ -3091,6 +3116,7 @@ SQLITE_API int sqlite3_limit(sqlite3*, int id, int newVal); #define SQLITE_LIMIT_LIKE_PATTERN_LENGTH 8 #define SQLITE_LIMIT_VARIABLE_NUMBER 9 #define SQLITE_LIMIT_TRIGGER_DEPTH 10 +#define SQLITE_LIMIT_WORKER_THREADS 11 /* ** CAPI3REF: Compiling An SQL Statement @@ -3364,18 +3390,18 @@ typedef struct sqlite3_context sqlite3_context; ** If the fourth parameter to sqlite3_bind_blob() is negative, then ** the behavior is undefined. ** If a non-negative fourth parameter is provided to sqlite3_bind_text() -** or sqlite3_bind_text16() then that parameter must be the byte offset +** or sqlite3_bind_text16() or sqlite3_bind_text64() then +** that parameter must be the byte offset ** where the NUL terminator would occur assuming the string were NUL ** terminated. If any NUL characters occur at byte offsets less than ** the value of the fourth parameter then the resulting string value will ** contain embedded NULs. The result of expressions involving strings ** with embedded NULs is undefined. ** -** ^The fifth argument to sqlite3_bind_blob(), sqlite3_bind_text(), and -** sqlite3_bind_text16() is a destructor used to dispose of the BLOB or +** ^The fifth argument to the BLOB and string binding interfaces +** is a destructor used to dispose of the BLOB or ** string after SQLite has finished with it. ^The destructor is called -** to dispose of the BLOB or string even if the call to sqlite3_bind_blob(), -** sqlite3_bind_text(), or sqlite3_bind_text16() fails. +** to dispose of the BLOB or string even if the call to bind API fails. ** ^If the fifth argument is ** the special value [SQLITE_STATIC], then SQLite assumes that the ** information is in static, unmanaged space and does not need to be freed. @@ -3383,6 +3409,14 @@ typedef struct sqlite3_context sqlite3_context; ** SQLite makes its own private copy of the data immediately, before ** the sqlite3_bind_*() routine returns. ** +** ^The sixth argument to sqlite3_bind_text64() must be one of +** [SQLITE_UTF8], [SQLITE_UTF16], [SQLITE_UTF16BE], or [SQLITE_UTF16LE] +** to specify the encoding of the text in the third parameter. If +** the sixth argument to sqlite3_bind_text64() is not one of the +** allowed values shown above, or if the text encoding is different +** from the encoding specified by the sixth parameter, then the behavior +** is undefined. +** ** ^The sqlite3_bind_zeroblob() routine binds a BLOB of length N that ** is filled with zeroes. ^A zeroblob uses a fixed amount of memory ** (just an integer to hold its size) while it is being processed. @@ -3403,6 +3437,9 @@ typedef struct sqlite3_context sqlite3_context; ** ** ^The sqlite3_bind_* routines return [SQLITE_OK] on success or an ** [error code] if anything goes wrong. +** ^[SQLITE_TOOBIG] might be returned if the size of a string or BLOB +** exceeds limits imposed by [sqlite3_limit]([SQLITE_LIMIT_LENGTH]) or +** [SQLITE_MAX_LENGTH]. ** ^[SQLITE_RANGE] is returned if the parameter ** index is out of range. ^[SQLITE_NOMEM] is returned if malloc() fails. ** @@ -3410,12 +3447,16 @@ typedef struct sqlite3_context sqlite3_context; ** [sqlite3_bind_parameter_name()], and [sqlite3_bind_parameter_index()]. */ SQLITE_API int sqlite3_bind_blob(sqlite3_stmt*, int, const void*, int n, void(*)(void*)); +SQLITE_API int sqlite3_bind_blob64(sqlite3_stmt*, int, const void*, sqlite3_uint64, + void(*)(void*)); SQLITE_API int sqlite3_bind_double(sqlite3_stmt*, int, double); SQLITE_API int sqlite3_bind_int(sqlite3_stmt*, int, int); SQLITE_API int sqlite3_bind_int64(sqlite3_stmt*, int, sqlite3_int64); SQLITE_API int sqlite3_bind_null(sqlite3_stmt*, int); -SQLITE_API int sqlite3_bind_text(sqlite3_stmt*, int, const char*, int n, void(*)(void*)); +SQLITE_API int sqlite3_bind_text(sqlite3_stmt*,int,const char*,int,void(*)(void*)); SQLITE_API int sqlite3_bind_text16(sqlite3_stmt*, int, const void*, int, void(*)(void*)); +SQLITE_API int sqlite3_bind_text64(sqlite3_stmt*, int, const char*, sqlite3_uint64, + void(*)(void*), unsigned char encoding); SQLITE_API int sqlite3_bind_value(sqlite3_stmt*, int, const sqlite3_value*); SQLITE_API int sqlite3_bind_zeroblob(sqlite3_stmt*, int, int n); @@ -4164,7 +4205,7 @@ SQLITE_API SQLITE_DEPRECATED int sqlite3_memory_alarm(void(*)(void*,sqlite3_int6 ** object results in undefined behavior. ** ** ^These routines work just like the corresponding [column access functions] -** except that these routines take a single [protected sqlite3_value] object +** except that these routines take a single [protected sqlite3_value] object ** pointer instead of a [sqlite3_stmt*] pointer and an integer column number. ** ** ^The sqlite3_value_text16() interface extracts a UTF-16 string @@ -4411,6 +4452,10 @@ typedef void (*sqlite3_destructor_type)(void*); ** set the return value of the application-defined function to be ** a text string which is represented as UTF-8, UTF-16 native byte order, ** UTF-16 little endian, or UTF-16 big endian, respectively. +** ^The sqlite3_result_text64() interface sets the return value of an +** application-defined function to be a text string in an encoding +** specified by the fifth (and last) parameter, which must be one +** of [SQLITE_UTF8], [SQLITE_UTF16], [SQLITE_UTF16BE], or [SQLITE_UTF16LE]. ** ^SQLite takes the text result from the application from ** the 2nd parameter of the sqlite3_result_text* interfaces. ** ^If the 3rd parameter to the sqlite3_result_text* interfaces @@ -4454,6 +4499,7 @@ typedef void (*sqlite3_destructor_type)(void*); ** the [sqlite3_context] pointer, the results are undefined. */ SQLITE_API void sqlite3_result_blob(sqlite3_context*, const void*, int, void(*)(void*)); +SQLITE_API void sqlite3_result_blob64(sqlite3_context*,const void*,sqlite3_uint64,void(*)(void*)); SQLITE_API void sqlite3_result_double(sqlite3_context*, double); SQLITE_API void sqlite3_result_error(sqlite3_context*, const char*, int); SQLITE_API void sqlite3_result_error16(sqlite3_context*, const void*, int); @@ -4464,6 +4510,8 @@ SQLITE_API void sqlite3_result_int(sqlite3_context*, int); SQLITE_API void sqlite3_result_int64(sqlite3_context*, sqlite3_int64); SQLITE_API void sqlite3_result_null(sqlite3_context*); SQLITE_API void sqlite3_result_text(sqlite3_context*, const char*, int, void(*)(void*)); +SQLITE_API void sqlite3_result_text64(sqlite3_context*, const char*,sqlite3_uint64, + void(*)(void*), unsigned char encoding); SQLITE_API void sqlite3_result_text16(sqlite3_context*, const void*, int, void(*)(void*)); SQLITE_API void sqlite3_result_text16le(sqlite3_context*, const void*, int,void(*)(void*)); SQLITE_API void sqlite3_result_text16be(sqlite3_context*, const void*, int,void(*)(void*)); @@ -6160,12 +6208,13 @@ SQLITE_API int sqlite3_test_control(int op, ...); #define SQLITE_TESTCTRL_ISKEYWORD 16 #define SQLITE_TESTCTRL_SCRATCHMALLOC 17 #define SQLITE_TESTCTRL_LOCALTIME_FAULT 18 -#define SQLITE_TESTCTRL_EXPLAIN_STMT 19 +#define SQLITE_TESTCTRL_EXPLAIN_STMT 19 /* NOT USED */ #define SQLITE_TESTCTRL_NEVER_CORRUPT 20 #define SQLITE_TESTCTRL_VDBE_COVERAGE 21 #define SQLITE_TESTCTRL_BYTEORDER 22 #define SQLITE_TESTCTRL_ISINIT 23 -#define SQLITE_TESTCTRL_LAST 23 +#define SQLITE_TESTCTRL_SORTER_MMAP 24 +#define SQLITE_TESTCTRL_LAST 24 /* ** CAPI3REF: SQLite Runtime Status @@ -6356,12 +6405,12 @@ SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int r ** the current value is always zero.)^ ** ** [[SQLITE_DBSTATUS_CACHE_USED]] ^(<dt>SQLITE_DBSTATUS_CACHE_USED</dt> -** <dd>This parameter returns the approximate number of of bytes of heap +** <dd>This parameter returns the approximate number of bytes of heap ** memory used by all pager caches associated with the database connection.)^ ** ^The highwater mark associated with SQLITE_DBSTATUS_CACHE_USED is always 0. ** ** [[SQLITE_DBSTATUS_SCHEMA_USED]] ^(<dt>SQLITE_DBSTATUS_SCHEMA_USED</dt> -** <dd>This parameter returns the approximate number of of bytes of heap +** <dd>This parameter returns the approximate number of bytes of heap ** memory used to store the schema for all databases associated ** with the connection - main, temp, and any [ATTACH]-ed databases.)^ ** ^The full amount of memory used by the schemas is reported, even if the @@ -6370,7 +6419,7 @@ SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int r ** ^The highwater mark associated with SQLITE_DBSTATUS_SCHEMA_USED is always 0. ** ** [[SQLITE_DBSTATUS_STMT_USED]] ^(<dt>SQLITE_DBSTATUS_STMT_USED</dt> -** <dd>This parameter returns the approximate number of of bytes of heap +** <dd>This parameter returns the approximate number of bytes of heap ** and lookaside memory used by all prepared statements associated with ** the database connection.)^ ** ^The highwater mark associated with SQLITE_DBSTATUS_STMT_USED is always 0. |